(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024093613
(43)【公開日】2024-07-09
(54)【発明の名称】情報処理システム、情報処理方法、プログラム
(51)【国際特許分類】
G06F 16/28 20190101AFI20240702BHJP
【FI】
G06F16/28
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022210121
(22)【出願日】2022-12-27
(71)【出願人】
【識別番号】390002761
【氏名又は名称】キヤノンマーケティングジャパン株式会社
(71)【出願人】
【識別番号】592135203
【氏名又は名称】キヤノンITソリューションズ株式会社
(74)【代理人】
【識別番号】100189751
【弁理士】
【氏名又は名称】木村 友輔
(74)【代理人】
【識別番号】100227857
【弁理士】
【氏名又は名称】中山 圭
(72)【発明者】
【氏名】中山 正明
(72)【発明者】
【氏名】四條 信太郎
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175AA02
5B175DA10
5B175FB03
5B175HB03
(57)【要約】
【課題】 単一列の情報ではマッピングすることが難しい列について、適切なマッピングを行う仕組みを提供すること
【解決手段】 第1の表および第2の表のそれぞれにおける日付データに係る複数のデータ列について、日付の順序関係を特定する第1の特定手段と、
前記第1の特定手段により特定された順序関係に基づき、第1の表におけるデータ列と第2の表におけるデータ列との対応関係を特定する第2の特定手段と、
を備えることを特徴とする情報処理システム。
【選択図】
図1
【特許請求の範囲】
【請求項1】
第1の表および第2の表のそれぞれにおける日付データに係る複数のデータ列について、日付の順序関係を特定する第1の特定手段と、
前記第1の特定手段により特定された順序関係に基づき、第1の表におけるデータ列と第2の表におけるデータ列との対応関係を特定する第2の特定手段と、
を備えることを特徴とする情報処理システム。
【請求項2】
前記第1の表から日付型の列の数を取得する取得手段と、
前記第2の表から前記取得手段により取得した数の日付データを含むレコードを抽出する抽出手段と、
を備え、
前記第2の特定手段は、前記第1の表における日付データに係る列の日付の順序関係と、前記第2の表から抽出されたレコードとにおける日付の順序関係とに基づき、第1の表におけるデータ列と第2の表におけるデータ列との対応関係を特定することを特徴とする請求項1に記載の情報処理システム。
【請求項3】
第1の表および第2の表のそれぞれにおける日付データに係る複数のデータ列について、日付の順序関係を示す順序情報に変換する変換手段をさらに備えることを特徴とする請求項1に記載の情報処理システム。
【請求項4】
前記第2の特定手段は、前記変換手段による変換結果をヒストグラム化して、ヒストグラムの類似関係に基づき第1の表におけるデータ列と第2の表におけるデータ列との対応関係を特定することを特徴とする請求項3に記載の情報処理システム。
【請求項5】
前記第1の表は、EDIにおける自社形式のデータであり、前記第2の表はEDIにおける標準形式のデータであることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理システム。
【請求項6】
情報処理システムの第1の特定手段が、第1の表および第2の表のそれぞれにおける日付データに係る複数のデータ列について、日付の順序関係を特定する第1の特定工程と、
前記情報処理システムの第2の特定手段が、前記第1の特定工程により特定された順序関係に基づき、第1の表におけるデータ列と第2の表におけるデータ列との対応関係を特定する第2の特定工程と、
を備えることを特徴とする情報処理方法。
【請求項7】
コンピュータを、
第1の表および第2の表のそれぞれにおける日付データに係る複数のデータ列について、日付の順序関係を特定する第1の特定手段と、
前記第1の特定手段により特定された順序関係に基づき、第1の表におけるデータ列と第2の表におけるデータ列との対応関係を特定する第2の特定手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、情報処理方法、プログラムに関する。
【背景技術】
【0002】
企業間の受発注業務等の取り引きは、EDIを用いて行われることが多くなっており、EDIでは、各種データの形式を自社形式から、標準形式に変換して行われることが多い。データを自社形式から標準形式へ変換するにあたって、データ列の対応関係を定義(マッピング)する必要がある。マッピング処理を手作業で行うのはユーザ負荷が大きいため、自動でのマッピングが望まれている。
【0003】
2つの表形式データの列の対応関係を自動で判別する技術は、スキーママッチング技術と呼ばれている。スキーママッチング技術は、EDIでの利用の他、データベースの統合や機械学習用データ作成などにも用いられる技術である。
【0004】
スキーママッチング技術は、スキーマ情報(列名、列の型など)や列の値の情報(共通値の有無、数値の分布など)を利用した方法がある。
【0005】
しかしながら、単一列の値からだけではどちらに対応付けをすべきか区別できない場合が存在する。
【0006】
特許文献1では、単一列の値だけでは対応付けできない列に対して、複数列を考慮することで対応付けさせる手法が開示されている。
【先行技術文献】
【特許文献】
【0007】
【発明の開示】
【発明が解決しようとする課題】
【0008】
特許文献1は、対応付けを行う2表間で、カラムペアの「相関ルール」が変化しないことを前提にしている。
【0009】
単一列の値だけでは対応付けできない具体例として、日付型の列がある。例えば、「2022/04/22」が「発注日」なのか、「納品日」なのかは、その値だけでは判断不可能である。また日付型の列について、他の列と相関ルールが見出せないこともあり、特許文献1の手法によって解決できないケースもある。
【0010】
そこで、本発明は単一列の情報ではマッピングすることが難しい列について、適切なマッピングを行う仕組みを提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明は、第1の表および第2の表のそれぞれにおける日付データに係る複数のデータ列について、日付の順序関係を特定する第1の特定手段と、
前記第1の特定手段により特定された順序関係に基づき、第1の表におけるデータ列と第2の表におけるデータ列との対応関係を特定する第2の特定手段と、
を備えることを特徴とする。
【発明の効果】
【0012】
本発明によれば、単一列の情報ではマッピングすることが難しい列について、適切なマッピングを行うことが可能となる。
【図面の簡単な説明】
【0013】
【
図1】本発明の情報処理システムの構成の一例を示す図
【
図2】クライアント端末101、サーバ装置102として適用可能な情報処理装置のハードウェア構成の一例を示すブロック図
【
図3】自社形式データと標準形式データとのマッピング処理を示すフローチャート
【
図5】自社形式データのアップロード画面の一例を示す図
【
図6】ステップS104の処理の詳細を示すフローチャート
【
図11】ヒストグラムインターセクションの定義を示した図
【
図13】マッピング結果に対する修正受付画面の一例
【発明を実施するための形態】
【0014】
図1は本発明の情報処理システムの構成例を示す図である。
【0015】
図1に示す通り、クライアント端末101とサーバ装置102とが通信可能に接続されている。
【0016】
クライアント端末101は、ユーザからの操作や指示を受け付け、当該指示に基づく要求をサーバ装置102等に送信する機能を備える。また、サーバ装置102等から取得した情報を表示部に表示する等によりユーザに通知する機能を備える。
【0017】
サーバ装置102は、クライアント端末101から取得した要求に基づき、各種情報をクライアント端末101に送信する。
【0018】
図2は、本発明のクライアント端末101、サーバ装置102として適用可能な情報処理装置のハードウェア構成の一例を示すブロック図である。
【0019】
図2に示すように、情報処理装置は、システムバス200を介してCPU(Central Processing Unit)201、ROM(Read Only Memory)202、RAM(Random Access Memory)203、記憶装置204、入力コントローラ205、音声コントローラ206、ビデオコントローラ207、メモリコントローラ208、よび通信I/Fコントローラ209が接続される。
【0020】
CPU201は、システムバス200に接続される各デバイスやコントローラを統括的に制御する。
【0021】
ROM202あるいは外部メモリ213は、CPU201が実行する制御プログラムであるBIOS(Basic Input/Output System)やOS(Operating System)や、本情報処理方法を実現するためのコンピュータ読み取り実行可能なプログラムおよび必要な各種データ(データテーブルを含む)を保持している。
【0022】
RAM203は、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ213からRAM203にロードし、ロードしたプログラムを実行することで各種動作を実現する。
【0023】
入力コントローラ205は、キーボード210や不図示のマウス等のポインティングデバイス等の入力装置からの入力を制御する。入力装置がタッチパネルの場合、ユーザがタッチパネルに表示されたアイコンやカーソルやボタンに合わせて押下(指等でタッチ)することにより、各種の指示を行うことができることとする。
【0024】
また、タッチパネルは、マルチタッチスクリーンなどの、複数の指でタッチされた位置を検出することが可能なタッチパネルであってもよい。
【0025】
ビデオコントローラ207は、ディスプレイ212などの外部出力装置への表示を制御する。ディスプレイは本体と一体になったノート型パソコンのディスプレイも含まれるものとする。なお、外部出力装置はディスプレイに限ったものははく、例えばプロジェクタであってもよい。また、前述のタッチ操作を受け付け可能な装置については、入力装置も提供する。
【0026】
なおビデオコントローラ207は、表示制御を行うためのビデオメモリ(VRAM)を制御することが可能で、ビデオメモリ領域としてRAM203の一部を利用することもできるし、別途専用のビデオメモリを設けることも可能である。
【0027】
メモリコントローラ208は、外部メモリ213へのアクセスを制御する。外部メモリとしては、ブートプログラム、各種アプリケーション、フォントデータ、ユーザファイル、編集ファイル、および各種データ等を記憶する外部記憶装置(ハードディスク)、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等を利用可能である。
【0028】
通信I/Fコントローラ209は、ネットワークを介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信やISDNなどの電話回線、および携帯電話の4G回線、5G回線等を用いた通信が可能である。
【0029】
尚、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ212上での表示を可能としている。また、CPU201は、ディスプレイ212上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0030】
図3は、EDIシステムにおいて、標準形式-自社形式のサンプルファイルを用いた自動マッピングを行うフローチャートである。
図3のフローチャートに示す各処理はサーバ装置102のCPU201が所定の制御プログラムを読み出して実行する処理である。
【0031】
ステップS101では、標準形式のサンプルファイルを取得する。標準形式は、会社に依存しない共通形式のファイルであり、予めサンプルファイルをEDIシステムに組み込んでおくものとする。その標準形式のサンプルファイルをメモリに読み込む。
【0032】
図4の右図が標準形式のサンプルファイルに相当する。標準形式のサンプルファイルは多様な会社のデータの集合であるため、レコード毎に利用していない列も存在する(Noneの部分)。
【0033】
ステップS102では、自社形式のサンプルファイルをアップロードする。自社形式は、標準形式と異なり、会社特有の形式のため、予めサンプルファイルをEDIシステムに組み込んでおくことができない。そのため、ユーザが自社形式のサンプルファイルをアップロードし、サンプルファイルをメモリに読み込む。
図4の左図が自社形式のサンプルファイルに相当する。
【0034】
図5にサンプルファイルのアップロード画面の一例を示す。
【0035】
ステップS103では、ステップS101、ステップS102で用意した2表のサンプルファイルを用いて、単一列の値情報による自動マッピングを行う。
【0036】
ステップS103のように単一列の値情報による自動マッピングだと、
図4の例のように自社形式サンプルファイルの日付型列1と日付型列2が、標準形式サンプルファイルの日付型のどの列に対応するか(発注日に対応するのか、最終納品先納品日に対応するのか、計上日に対応するのか)の区別はできない。
【0037】
そこで、ステップS104において、日付型の順序関係を利用したマッピングを行う。ステップS104の詳細について、
図6のフローチャートで説明する。
【0038】
ステップS201では、自社形式のサンプルファイルから、日付型の列の抽出と日付型列数の取得を行う。このステップのイメージ図を
図7に示す。
【0039】
図7の左表のように自社形式のファイルは様々な項目のデータから構成され、それぞれの項目の情報は、文字列型(商品名のような文字列で表現される情報)や日付型、数値型(商品コードのように数値で表現される情報)などがある。そのなかから日付型の項目の列を抽出し、抽出された列数を取得する。
【0040】
図7では、2つの日付型の列が抽出された例を示している。
【0041】
ステップS202では、標準形式のサンプルファイルから日付型の列を抽出し、また、レコード毎に欠損を除いた日付型列の列数が自社形式サンプルファイルの日付型列数と等しいレコードを抽出する。
【0042】
【0043】
図8の上表が標準形式のファイルの例である。この標準形式のファイルから日付型の列を抽出したのが左下表である。「発注日」「最終納品先納品日」「計上日」の3つの列が抽出されている。
【0044】
この3つの列の情報のうち、ステップS201で取得した日付型列数と同じ数のデータを含むレコードを抽出する。すなわち、本実施例では「発注日」「最終納品先納品日」「計上日」の3つの列のうち、2つの列にデータがあり残り1つの列はNoneとなっている(データが欠損している)レコードを抽出する。
【0045】
抽出された結果が右下表である。左下表における「発注日」が「2021-03-25」のレコードは3つの列すべてにデータが存在するため抽出されず、残りの3つのレコードが抽出されている。
【0046】
ステップS203では、自社形式/標準形式のサンプルファイルの日付型列を順序情報に変換する。すなわち、レコード単位で見た時に一番早い日時を0、その次の日時を1、その次の日時を2、の様に数値を割り当てる。
【0047】
この時、欠損値(None)は-1を割り当てることとする。このステップのイメージ図を
図9に示す。
【0048】
図9の上の2つの表は自社形式ファイルのデータである。各レコードについて、日付型列1と日付型列2の日付を順序情報に変換したのが右上表である。例えば1レコード目については、日付型列1が「2022-04-22」であり日付型列2が「2022-04-23」であるため、日付型列1の方が順序が早いため、日付型列1を「0」に日付型列2を「1」に変換している。同様に他のレコードも変換する。
【0049】
図9の下の2つの表は標準形式ファイルのデータである。こちらも自社形式ファイルと同様に、各レコードの日付情報について、その順序に応じたデータに変換する。なお、None(データが存在しない)については「-1」とする。
【0050】
ステップS204では、自社形式/標準形式のサンプルファイルの順序情報に変換した日付型列同士のヒストグラムの類似度を算出しスコア化する。このスコアが高い列同士をマッピングさせる。このステップのイメージ図を
図10に示す。
【0051】
ヒストグラムの類似度の一つとして、ヒストグラムインターセクションが考えられる。ヒストグラムインターセクションの定義を
図11に示す。
【0052】
ヒストグラムインターセクションは、正規化した二つのヒストグラムを重なり部分で、0-1の範囲をとり、大きい値をとるほど類似したヒストグラムと考えられる。
【0053】
図10の場合には、自社形式サンプルファイルの「日付型列1」は、全ての値が「0」であるため、「-1」の正規化後頻度が0、「0」の正規化後頻度が1、「1」の正規化後頻度が0となる。
【0054】
同様に標準形式サンプルファイルの「発注日」も、全ての値が0であるため、「1」の正規化後頻度が0、「0」の正規化後頻度が1、「1」の正規化後頻度が0となる。
【0055】
そのため、「日付型列1」と「発注日」のヒストグラムインターセクションは1(0+1+0=1)となる。
【0056】
自社形式サンプルファイルの「日付型列2」は、全ての値が「1」であるため、「-1」の正規化後頻度が0、「0」の正規化後頻度が0、「1」の正規化後頻度が1となる。
【0057】
標準形式サンプルファイルの「最終納品先納品日」も、「-1」の正規化後頻度が0.33、「0」の正規化後頻度が0、「1」の正規化後頻度が0.66となる。
【0058】
そのため、「日付型列2」と「最終納品先納品日」のヒストグラムインターセクションは0.66(0+0+0.66=0.66)となる。
【0059】
全ての列の組み合わせで、ヒストグラムインターセクションを計算し、値が大きな列同士をマッピングさせる。
【0060】
図10の場合には、「日付型列1」と「発注日」、「日付型列2」と「最終納品先納品日」をマッピングすることができる。
【0061】
【0062】
ステップS105では、クライアント端末101の表示部に自動マッピングの結果を表示するよう制御する。自動マッピング結果の表示画面は、
図12の様に自社形式の各列名、当該列の値サンプル、システムによるマッピング結果が表示される。
【0063】
ステップS106では、システムによるマッピング結果を修正するか否かの指示を受け付ける。
【0064】
修正する指示を受けつけた場合(S106:Yes)は処理をステップS108に移行し、受け付けていない場合(S106:No)は、本フローチャートの処理を終了する。
【0065】
ステップS107では、マッピング結果の修正を受け付ける。
【0066】
修正は、
図13の様にシステムによるマッピング結果をクリックし、プルダウンリストから選択するUI等が考えられる。修正後、ステップS104に移行する。
修正後、ステップS105に移行し、S106でマッピングの修正が必要ないと判断されるまで、ステップS105~ステップS107の処理が繰り返される。
【0067】
以上、実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0068】
また、本発明におけるプログラムは、
図3に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は
図3の処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは
図3の各装置の処理方法ごとのプログラムであってもよい。
【0069】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【0070】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【0071】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、DVD-ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。
【0072】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0073】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0074】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0075】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【0076】
101 クライアント端末
102 サーバ装置
103 LAN