(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-05-26
(45)【発行日】2025-06-03
(54)【発明の名称】情報処理装置、情報処理方法及び情報処理プログラム
(51)【国際特許分類】
G06F 16/2455 20190101AFI20250527BHJP
【FI】
G06F16/2455
(21)【出願番号】P 2024502726
(86)(22)【出願日】2022-02-28
(86)【国際出願番号】 JP2022008227
(87)【国際公開番号】W WO2023162206
(87)【国際公開日】2023-08-31
【審査請求日】2024-07-30
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【氏名又は名称】家入 健
(72)【発明者】
【氏名】林 勝悟
(72)【発明者】
【氏名】小山田 昌史
(72)【発明者】
【氏名】草野 元紀
【審査官】早川 学
(56)【参考文献】
【文献】特開2019-185244(JP,A)
【文献】米国特許出願公開第2017/0091274(US,A1)
【文献】米国特許出願公開第2021/0374186(US,A1)
【文献】米国特許出願公開第2021/0374164(US,A1)
【文献】特開2021-174300(JP,A)
【文献】特表2022-510818(JP,A)
【文献】LI, Yuliang et al.,Deep Entity Matching with Pre-Trained Language Models,Cornell University,2020年09月02日,pp.1-15,[検索日 2022.05.02], Internet:<URL: https://arxiv.org/pdf/2004.00584.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
レコード対を取得する取得手段と、
前記レコード対を変換することによって変換済レコード対を生成する変換手段と、
前記変換済レコード対をモデルに入力することによって、前記変換済レコード対に関する類似度を算出する類似度算出手段と、
前記類似度算出手段が算出した類似度を出力する出力手段と
を備え
、
前記変換手段は、前記レコード対の特徴に応じて複数のモデル候補からモデルを選択し、選択したモデルの入力に対応する形式に当該レコード対を変換することによって前記変換済レコード対を生成する、
情報処理装置。
【請求項2】
レコード対を取得する取得手段と、
前記レコード対を変換することによって変換済レコード対を生成する変換手段と、
前記変換済レコード対をモデルに入力することによって、前記変換済レコード対に関する類似度を算出する類似度算出手段と、
前記類似度算出手段が算出した類似度を出力する出力手段と、
を備え、
前記モデルには、画像分類モデルが含まれており、
前記変換手段による変換処理には、前記レコード対を画像に変換することによって前記変換済レコード対を生成する処理が含まれ
る
情報処理装置。
【請求項3】
レコード対を取得する取得手段と、
前記レコード対を変換することによって変換済レコード対を生成する変換手段と、
前記変換済レコード対をモデルに入力することによって、前記変換済レコード対に関する類似度を算出する類似度算出手段と、
前記類似度算出手段が算出した類似度を出力する出力手段と、
を備え、
前記モデルには、音声分類モデルが含まれており、
前記変換手段による変換処理には、前記レコード対を音声に変換することによって前記変換済レコード対を生成する処理が含まれ
る
情報処理装置。
【請求項4】
レコード対を取得する取得手段と、
前記レコード対を変換することによって変換済レコード対を生成する変換手段と、
前記変換済レコード対をモデルに入力することによって、前記変換済レコード対に関する類似度を算出する類似度算出手段と、
前記類似度算出手段が算出した類似度を出力する出力手段と、
を備え、
前記モデルには、グラフ分類モデルが含まれており、
前記変換手段による変換処理には、前記レコード対をグラフに変換することによって前記変換済レコード対を生成する処理が含まれる
、
情報処理装置。
【請求項5】
レコード対を取得する取得手段と、
前記レコード対を変換することによって変換済レコード対を生成する変換手段と、
前記変換済レコード対をモデルに入力することによって、前記変換済レコード対に関する類似度を算出する類似度算出手段と、
前記類似度算出手段が算出した類似度を出力する出力手段と、
を備え、
前記取得手段は、補助レコードを更に取得し、
前記変換手段は、前記補助レコードを変換することによって変換済補助レコードを生成し、
前記類似度算出手段は、前記変換済レコード対及び前記変換済補助レコードを前記モデルに入力することによって、前記変換済レコード対に関する類似度を算出す
る
情報処理装置。
【請求項6】
前記モデルには、質問文と応答文とを入力とする質問応答モデルが含まれており、
前記変換手段は、前記レコード対に含まれる一方のレコードを質問文に変換し、前記レコード対に含まれる他方のレコード及び前記補助レコードの各々を応答文に変換することによって前記変換済レコード対を生成する
請求項
5に記載の情報処理装置。
【請求項7】
レコード対を取得する取得手段と、
前記レコード対を変換することによって変換済レコード対を生成する変換手段と、
前記変換済レコード対をモデルに入力することによって、前記変換済レコード対に関する類似度を算出する類似度算出手段と、
前記類似度算出手段が算出した類似度を出力する出力手段と、
を備え、
前記類似度算出手段は、前記レコード対に関して複数の類似度を算出し、
前記出力手段は、前記複数の類似度を統合して得られる統合後の類似度を出力し、
前記モデルは、当該モデルに入力される2つの要素の互いの入れ替えに対して非対称性を有するモデルであり、
前記類似度算出手段は、
前記モデルに対して、前記レコード対に含まれる2つのレコードを互いに入れ替えずに入力することによって第1の類似度を算出し、
前記モデルに対して、前記レコード対に含まれる2つのレコードを互いに入れ替えてから入力することによって第2の類似度を算出す
る
情報処理装置。
【請求項8】
少なくとも1つのプロセッサが、
レコード対を取得することと、
前記レコード対を変換することによって変換済レコード対を生成することと、
前記変換済レコード対をモデルに入力することによって、前記変換済レコード対に関する類似度を算出することと、
前記算出した類似度を出力することと
を含
み、
前記変換済レコード対を生成する工程において、前記少なくとも1つのプロセッサが、前記レコード対の特徴に応じて複数のモデル候補からモデルを選択し、選択したモデルの入力に対応する形式に当該レコード対を変換することによって前記変換済レコード対を生成する、
情報処理方法。
【請求項9】
コンピュータに、
レコード対を取得する取得処理と、
前記レコード対を変換することによって変換済レコード対を生成する変換処理と、
前記変換済レコード対をモデルに入力することによって、前記変換済レコード対に関する類似度を算出する類似度算出処理と、
前記類似度算出処理において算出した類似度を出力する出力処理と
を実行させ、
前記変換処理は、前記レコード対の特徴に応じて複数のモデル候補からモデルを選択し、選択したモデルの入力に対応する形式に当該レコード対を変換することによって前記変換済レコード対を生成する、
情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【0002】
異なるデータセットに格納されたレコードから同一の又は類似するレコードの組み合わせを特定して対応付ける処理が行われている。このような処理は名寄せ処理とも呼ばれる。名寄せ処理によりテーブルの一元管理及びデータの拡張等が可能となる。名寄せ処理を行う技術として、機械学習によるマッチングを行う技術がある。例えば、特許文献1には、レコード対の類似度を計算する類似度関数を複数用いてレコード対の類似度を計算し、訓練データを用いた教師あり機械学習により類似度の重みを学習する装置が記載されている。ここで、訓練データは、レコードの組み合わせとそれらが同一であるかどうかを示すラベルが付与されたデータセットである。また、非特許文献1には、教師あり機械学習により名寄せを行うDITTOと呼ばれる技術が記載されている。また、非特許文献2には、訓練データを用いない教師なし機械学習によりレコードを照合するZeroERと呼ばれる技術が記載されている。
【0003】
また、近年、機械学習により生成されるモデルとして言語モデル(例えば、非特許文献3~5)及び画像分類モデル(例えば、非特許文献6)等が提案されている。
【先行技術文献】
【特許文献】
【0004】
【非特許文献】
【0005】
【文献】Yuliang Li, et. al.,Deep Entity Matching with Pre-Trained Language Models,PVLDB 2021
【文献】Renzhi Wu, et. al.,ZeroER: Entity Resolution using Zero Labeled Examples,SIGMOD, 2020
【文献】Yinhan Liu, et. al.,RoBERTa: A Robustly Optimized BERT Pretraining Approach,arXiv 2019
【文献】Sinong Wang, et. al.,Entailment as Few-Shot Learner,arXiv 2021
【文献】Siddhant Garg, et. al.,TANDA: Transfer and Adapt Pre-Trained Transformer Models for Answer Sentence Selection,AAAI 2020
【文献】Kaiming He, et. al.,Deep Residual Learning for Image Recognition,CVPR 2016
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、教師あり機械学習は多量の訓練データを必要とするため、特許文献1及び非特許文献1に記載の技術においては、訓練データの収集のためのコスト及び時間がかさんでしまい、また異質データに対応できないという問題があった。ここで、異質データとは、レコードの組み合わせであり、データの形式が同一でないものを指す。また、非特許文献2に記載の教師なし機械学習であるZeroERでは、訓練データは不要であるものの、属性がアライメントされている必要があるため、属性が異なる異質データに対し適用できない、という問題があった。
【0007】
本発明の一態様は、上記の問題に鑑みてなされたものであり、その目的の一例は、レコード対の類似度を算出する技術として、レコード対に関する訓練データを必要とせず、かつ、異質データにも対応可能な技術を提供することである。
【課題を解決するための手段】
【0008】
本発明の一側面に係る情報処理装置は、レコード対を取得する取得手段と、前記レコード対を変換することによって変換済レコード対を生成する変換手段と、前記変換済レコード対をモデルに入力することによって、前記変換済レコード対に関する類似度を算出する類似度算出手段と、前記類似度算出手段が算出した類似度を出力する出力手段とを備える。
【0009】
本発明の一側面に係る情報処理方法は、少なくとも1つのプロセッサが、レコード対を取得することと、前記レコード対を変換することによって変換済レコード対を生成することと、前記変換済レコード対をモデルに入力することによって、前記変換済レコード対に関する類似度を算出することと、前記算出した類似度を出力することとを含む。
【0010】
本発明の一側面に係る情報処理プログラムは、コンピュータに、レコード対を取得する取得処理と、前記レコード対を変換することによって変換済レコード対を生成する変換処理と、前記変換済レコード対をモデルに入力することによって、前記変換済レコード対に関する類似度を算出する類似度算出処理と、前記類似度算出処理において算出した類似度を出力する出力処理とを実行させる。
【発明の効果】
【0011】
本発明の一態様によれば、レコード対の類似度を算出する技術として、レコード対に関する訓練データを必要とせず、かつ、異質データにも対応可能な技術を提供することができる。
【図面の簡単な説明】
【0012】
【
図1】例示的実施形態1に係る情報処理装置の構成を示すブロック図である。
【
図2】例示的実施形態1に係る情報処理方法の流れを示すフロー図である。
【
図3】例示的実施形態2に係る情報処理装置の構成を示すブロック図である。
【
図4】例示的実施形態2に係るレコードが含まれるデータの具体例を示す図である。
【
図5】例示的実施形態2に係る情報処理装置が行う処理の流れの概要を示す図である。
【
図6】例示的実施形態2に係る同一性の判定結果の具体例を示す図である。
【
図7】例示的実施形態2に係る情報処理方法の流れを示すフロー図である。
【
図8】例示的実施形態2に係る文書の含意関係を概略的に示す図である。
【
図9】例示的実施形態2に係る変換部により変換された画像の一例を示す図である。
【
図10】例示的実施形態3に係る情報処理装置の構成を示すブロック図である。
【
図11】例示的実施形態3に係る情報処理方法の流れを示すフロー図である。
【
図12】例示的実施形態3に係る質問応答モデルを用いた類似度の算出処理の概念図である。
【
図13】例示的実施形態4に係る情報処理装置の構成を示すブロック図である。
【
図14】例示的実施形態4に係る類似度算出部が算出する類似度の具体例を示す図である。
【
図15】例示的実施形態4に係る類似度算出部が算出する類似度の具体例を示す図である。
【
図16】例示的実施形態5に係る情報処理装置の構成を示すブロック図である。
【
図17】例示的実施形態5に係る画面表示の具体例を示す図である。
【
図19】グラフデータベースの一例を示す図である。
【
図20】学習済み変換器をモデルの出力の前後に設けた構成を概略的に示す図である。
【
図21】各例示的実施形態に係る情報処理装置として機能するコンピュータの構成を示すブロック図である。
【発明を実施するための形態】
【0013】
〔例示的実施形態1〕
本発明の第1の例示的実施形態について、図面を参照して詳細に説明する。本例示的実施形態は、後述する例示的実施形態の基本となる形態である。
【0014】
<情報処理装置1の構成>
本例示的実施形態に係る情報処理装置1の構成について、
図1を参照して説明する。
図1は、情報処理装置1の構成を示すブロック図である。情報処理装置1は、レコード同士の類似度を算出する装置である。ここで、レコードは、類似度の算出対象であるデータの単位である。レコードが含まれるデータとしては、例えば、テーブルデータ等の構造データ、JSON(JavaScript Object Notation:登録商標)又はXML(Extensible Markup Language)等のデータ記述言語で記述された半構造データ、及び自然言語で記された文書を表す非構造データが挙げられる。レコードは一例として、テーブルの行であり、テーブルの列に対応する1又は複数の属性名及び属性値のセットを含む。また、レコードはグラフデータであってもよい。
【0015】
情報処理装置1は、取得部11、変換部12、類似度算出部13及び出力部14を備える。
【0016】
(取得部11)
取得部11は、レコード対を取得する。レコード対はレコードのセットであり、一例として、第1のテーブルに含まれるレコードと、第2のテーブルに含まれるレコードとのセットである。第1のテーブル及び第2のテーブルは、一例として、事業者の顧客情報を保存したテーブル、又は、商品情報を保存したテーブルである。ただし、第1のテーブル及び第2のテーブルは上述した例に限られず、他のテーブルであってもよい。また、第1のテーブルと第2のテーブルとは同じであってもよく、また、異なっていてもよい。
【0017】
レコード対に含まれる複数のレコードは、データ形式がそれぞれ異なっていてもよい。より具体的には例えば、レコードがテーブルの行である場合、レコードに含まれる属性名のうちの一部が異なっていてもよく、また、レコードに含まれる全ての属性名が異なっていてもよい。
【0018】
取得部11は、記憶装置からレコード対を読み出すことによりレコード対を取得してもよく、また、通信インタフェースを介して接続された他の装置からレコード対を受信することによりレコード対を取得してもよい。また、取得部11は、入出力インタフェースを介して入力装置から入力されたレコード対を取得してもよい。
【0019】
(変換部12)
変換部12は、上記レコード対を変換することによって変換済レコード対を生成する。変換部12は、一例として、レコード対に含まれるレコードを文書、画像、音声又はグラフを表すデータに変換する。より具体的には、変換部12は、一例として、レコードを肯定文又は質問文に変換する。ただし、変換部12がレコード対を変換する手法は上述した例に限られず、変換部12は他の手法によりレコード対を変換してもよい。
【0020】
(類似度算出部13)
類似度算出部13は、上記変換済レコード対をモデルに入力することによって、上記変換済レコード対に関する類似度を算出する。ここで、モデルは、類似度を算出するためのモデルであり、一例として、一般に公開されて任意のユーザが利用可能なモデルである。モデルは、機械学習により生成されたモデルであってもよく、また、人間が作成したルールベースのモデルであってもよい。具体的には、モデルは一例として、文書分類モデル、画像分類モデル、音声分類モデル、又はグラフ分類モデルである。文書分類モデルは、文書データを分類するモデルである。画像分類モデルは、画像データを分類するモデルである。音声分類モデルは、音声データを分類するモデルである。グラフ分類モデルは、グラフデータを分類するモデルである。
【0021】
文書分類モデルとしては、例えば、文書埋め込みモデル、含意認識モデル、言い換え予測モデル、質問応答モデル、及びマスク言語モデルが挙げられる。文書埋め込みモデルは、文書又は単語をベクトル空間に埋め込むモデルである。含意認識モデルは、複数の文書の含意関係を予測するモデルである。言い換え予測モデルは、2つの文書が言い換え表現かどうかを予測するモデルである。質問応答モデルは、質問に対し与えられた文書の中から回答を抽出し出力するモデルである。マスク言語モデルは、文書内のマスクに当てはまる単語を予測するためのモデルである。
【0022】
画像分類モデルとしては、例えば、画像埋め込みモデルが挙げられる。画像埋め込みモデルは、画像データをベクトル空間に埋め込むモデルである。音声分類モデルとしては、例えば、音声埋め込みモデルが挙げられる。音声埋め込みモデルは、音声データをベクトル空間に埋め込むモデルである。
【0023】
上記モデルの入力は、一例として、テキストデータ、画像データ、音声データ、グラフ、及びベクトルの少なくともいずれかを含む。上記モデルの出力は、一例として、ベクトル、又は確信度を示すスコアを含む。スコアは、一例として、文書の包含関係に関する確信度を示すスコア、又は、言い換え表現であるかの確信度を示すスコアである。ただし、モデルの入力及び出力は上述した例に限られず、他の情報を含んでいてもよい。
【0024】
上記モデルが機械学習により生成される場合、上記モデルとして、例えば、非特許文献3~5に記載の言語モデル、非特許文献6に記載の画像分類モデル、又は音声データを分類する音声分類モデル等が挙げられるが、これらに限られない。また、上記モデルは、情報処理装置1のメモリに記憶されていてもよいし、情報処理装置1と通信可能な他の装置に記憶されていてもよい。
【0025】
類似度は、レコード対に含まれるレコード同士の類似の度合いに関する情報であり、一例として、ベクトル対のコサイン類似度である。また、類似度は、モデルが出力するスコアから算出される値であってもよい。
【0026】
(出力部14)
出力部14は、類似度算出部13が算出した類似度を出力する。出力部14は、一例として、類似度を記憶装置に書き込むことにより出力してもよく、また、通信インタフェースを介して他の装置に類似度を送信することにより類似度を出力してもよい。また、出力部14は、入出力インタフェースを介して接続された出力装置(図示略)に類似度を出力してもよい。出力装置は、一例として、ディスプレイ、プリンタ、プロジェクタ又はスピーカである。
【0027】
出力部14が出力する類似度は、例えばテーブルの統合処理、又は情報検索処理に用いられる。テーブルの統合処理の場合、類似度算出部13が算出した類似度に基づき同一であると予測されたレコードを連携することで、複数のテーブルを統合しデータの一元管理を行うことができる。また、情報検索において、検索キーとするレコード(例えば、ユーザにより指定されたレコード)と、所定のテーブルに登録された他の任意のレコードとのレコード対について類似度算出部13が類似度の算出を行ってもよい。この場合、類似度算出部13が算出した類似度に基づき同一であると予測されたレコード対に含まれるレコードを、検索結果として情報処理装置1が出力してもよい。これにより、検索キーであるレコードと連携されていないテーブルにおいても、検索キーによる検索処理が可能となる。
【0028】
<情報処理装置1の効果>
以上のように、本例示的実施形態に係る情報処理装置1においては、レコード対を取得する取得部11と、上記レコード対を変換することによって変換済レコード対を生成する変換部12と、上記変換済レコード対をモデルに入力することによって、上記変換済レコード対に関する類似度を算出する類似度算出部13と、類似度算出部13が算出した類似度を出力する出力部14とを備える構成が採用されている。このため、本例示的実施形態に係る情報処理装置1によれば、レコード対の類似度を算出する技術として、レコード対に関する訓練データを必要とせず、かつ、異質データにも対応可能な技術を提供できるという効果が得られる。
【0029】
<情報処理プログラム>
上述の情報処理装置1の機能は、プログラムによって実現することもできる。本例示的実施形態に係る情報処理プログラムは、コンピュータに、レコード対を取得する取得処理と、上記レコード対を変換することによって変換済レコード対を生成する変換処理と、上記変換済レコード対をモデルに入力することによって、上記変換済レコード対に関する類似度を算出する類似度算出処理と、上記類似度算出処理において算出した類似度を出力する出力処理とを実行させる。
【0030】
<情報処理方法S1の流れ>
本例示的実施形態に係る情報処理方法S1の流れについて、
図2を参照して説明する。
図2は、情報処理方法S1の流れを示すフロー図である。情報処理方法S1における各ステップの実行主体は、情報処理装置1が備えるプロセッサであってもよいし、他の装置が備えるプロセッサであってもよく、各ステップの実行主体がそれぞれ異なる装置に設けられたプロセッサであってもよい。
【0031】
ステップS11では、少なくとも1つのプロセッサが、レコード対を取得する。ステップS12では、少なくとも1つのプロセッサが、上記レコード対を変換することによって変換済レコード対を生成する。ステップS13では、少なくとも1つのプロセッサが、上記変換済レコード対をモデルに入力することによって、上記変換済レコード対に関する類似度を算出する。ステップS14では、少なくとも1つのプロセッサが、上記算出した類似度を出力する。
【0032】
<情報処理方法S1の効果>
以上のように、本例示的実施形態に係る情報処理方法S1においては、少なくとも1つのプロセッサが、レコード対を取得することと、上記レコード対を変換することによって変換済レコード対を生成することと、上記変換済レコード対をモデルに入力することによって、上記変換済レコード対に関する類似度を算出することと、上記算出した類似度を出力することとを含む構成が採用されている。このため、本例示的実施形態に係る情報処理方法S1によれば、レコード対の類似度を算出する技術として、レコード対に関する訓練データを必要とせず、かつ、異質データにも対応可能な技術を提供できるという効果が得られる。
【0033】
〔例示的実施形態2〕
本発明の第2の例示的実施形態について、図面を参照して詳細に説明する。なお、例示的実施形態1にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付し、その説明を繰り返さない。
【0034】
<情報処理装置1Aの概要>
図3は、本例示的実施形態に係る情報処理装置1Aの構成を示すブロック図である。情報処理装置1Aは、レコード同士の同一性を判定する機能を有する。レコードが含まれるデータは、一例として、テーブルデータ等の構造データ、JSON又はXML等のデータ記述言語で記述された半構造データ、又は、自然言語で記された文書を表す非構造データである。
【0035】
図4は、レコードが含まれるデータの具体例を示す図である。
図4において、データD1はテーブルである。この場合、レコードはテーブルの各行である。また、
図4において、データD2は、マークアップ言語等のデータ記述言語で記述された半構造データである。この場合、レコードは一例としてウェブページである。データD3は、自然言語で記された文書を表す非構造データである。この場合、レコードは一例として、所定のファイル形式で生成されたファイルである。
【0036】
ここで、本例示的実施形態に係る情報処理装置1Aが行う処理の概要について、
図5を参照しつつ説明する。
図5は、情報処理装置1Aが行う処理の流れの概要を示す図である。情報処理装置1Aは、大別して(i)レコード対の生成処理、(ii)類似度の算出処理、及び(iii)同一性の判定処理、を行う。
【0037】
(i)レコード対の生成処理において、情報処理装置1Aは、複数のレコードeを含む第1データxと、複数のレコードe´を含む第2データx´とからレコード対を生成する。情報処理装置1Aは一例として、第1データxに含まれるレコードeと第2データx´に含まれるレコードe´との全ての組み合わせを生成する。また、情報処理装置1Aは、レコード対の生成において、ブロッキングと呼ばれる技術により第1データxのレコードeについての第2データx´の同一性判定の候補をしぼってもよい。
【0038】
(ii)類似度の算出処理において、情報処理装置1Aは、レコード対に含まれるレコード同士の類似度を算出する。本例示的実施形態において、情報処理装置1Aは、レコードを変換した変換済レコード対をモデルに入力することにより類似度を算出する。類似度の算出処理の詳細については後述する。
【0039】
(iii)同一性の判定処理において、情報処理装置1Aは、算出した類似度に基づき、レコード対に含まれるレコード同士の同一性を判定する。一例として、情報処理装置1Aは、類似度が閾値以上である場合にレコード同士が同一であると判定する。ただし、同一性の判定の手法は上述した手法に限定されず、情報処理装置1Aは他の手法によりレコード同士の同一性を判定してもよい。
【0040】
図6は、同一性の判定結果の具体例を示す図である。
図6において、テーブルTBL1は第1データxの一例であり、複数の行及び複数の列を含む。また、テーブルTBL2は第2データx´の一例であり、複数の行及び複数の列を含む。テーブルTBL1及びテーブルTBL2において、レコードはテーブルの行である。テーブルTBL1はレコードl1、l2、l3及びl4を含み、テーブルTBL2はレコードr1、r2、r3を含む。
【0041】
図6の例では、情報処理装置1Aは、上記(i)~(iii)の処理により、レコードl1とレコードr2とが同一であると判定し、レコードl2とレコードr3とが同一であると判定し、レコードl3とレコードr1とが同一であると判定する。
【0042】
<情報処理装置1Aの構成>
情報処理装置1Aは、
図3に示すように、制御部10A、記憶部20A、通信部30A及び入出力部40Aを備える。
【0043】
(通信部30A)
通信部30Aは、情報処理装置1Aの外部の装置と通信回線を介して通信する。通信回線の具体的構成は本例示的実施形態を限定するものではないが、通信回線は一例として、無線LAN(Local Area Network)、有線LAN、WAN(Wide Area Network)、公衆回線網、モバイルデータ通信網、又は、これらの組み合わせである。通信部30Aは、制御部10Aから供給されたデータを他の装置に送信したり、他の装置から受信したデータを制御部10Aに供給したりする。
【0044】
(入出力部40A)
入出力部40Aには、キーボード、マウス、ディスプレイ、プリンタ、タッチパネル等の入出力機器が接続される。入出力部40Aは、接続された入力機器から情報処理装置1Aに対する各種の情報の入力を受け付ける。また、入出力部40Aは、制御部10Aの制御の下、接続された出力機器に各種の情報を出力する。入出力部40Aとしては、例えばUSB(Universal Serial Bus)などのインタフェースが挙げられる。
【0045】
(制御部10A)
制御部10Aは、
図3に示すように、取得部11、変換部12、類似度算出部13、出力部14、同一性判定部15A及び統合部16Aを備える。
【0046】
(取得部11)
本例示的実施形態において、取得部11は、レコードeを含む第1データxとレコードe´を含む第2データx´とから、レコードeとレコードe´を含むレコード対を生成する。ただし、取得部11がレコード対を生成する処理を行わなくてもよい。取得部11は、一例として、記憶部20A又は他の外部記憶装置からレコード対を読み出すことにより取得してもよく、また、通信部30Aを介して他の装置から受信されるレコード対を取得してもよい。また、取得部11は、入出力部40Aに接続された入力装置から入力されるレコード対を取得してもよい。
【0047】
(変換部12)
変換部12は、レコード対を変換することによって変換済レコード対を生成する。変換部12は一例として、レコード対に含まれるレコードを文書データ、画像データ、音声データ又はグラフに変換する。変換部12が実行する変換処理については後述する。
【0048】
(類似度算出部13)
類似度算出部13は、上記変換済レコード対をモデルMAに入力することによって、上記変換済レコード対に関する類似度sを算出する。類似度sは、レコード対に含まれるレコード同士の類似の度合いに関する情報であり、一例として、ベクトル対のコサイン類似度、又は、モデルMAが出力するスコアに基づき計算される値である。類似度算出部13が類似度sを算出する処理の詳細については後述する。
【0049】
(出力部14)
出力部14は、類似度算出部13が算出した類似度sを出力する。出力部14は、一例として、類似度を記憶部20Aに書き込むことにより出力する。ただし、出力部14が類似度を出力する手法は上述した例に限定されず、他の手法により類似度sを出力してもよい。一例として、出力部14は、通信部30Aを介して接続された他の装置に類似度を送信してもよく、また、入出力部40Aを介して接続された出力装置に類似度を出力してもよい。
【0050】
(同一性判定部15A)
同一性判定部15Aは、類似度sに基づきレコード対に含まれるレコード同士の同一性を判定する。一例として、同一性判定部15Aは、類似度sが閾値以上である場合にレコード同士が同一であると判定する。また、同一性判定部15Aは、類似度の上位x個のレコード対を同一と判定する、といったように、レコード対を類似度の高い順位ソートした場合の順位に基づき同一性を判定してもよい。また、同一性判定部15Aは、一例として、安定結婚問題アルゴリズム等のマッチングアルゴリズムを適用して同一性を判定してもよい。
【0051】
また、同一性判定部15Aが同一性を判定する手法は上述した例に限られず、同一性判定部15Aは他の手法により同一性の判定を行ってもよい。一例として、同一性判定部15Aは、機械学習により生成された予測モデルにレコード対と類似度とを入力することによりレコード対の同一性予測を行ってもよい。この場合、予測モデルの入力は、一例として、レコード対と類似度とを含む。また、予測モデルの出力は、一例として、同一性の予測結果を含む。この場合、予測モデルの機械学習の手法は限定されず、一例として、決定木ベース、線形回帰、又はニューラルネットワークの手法が用いられてもよく、また、これらのうちの2以上の手法が用いられてもよい。
【0052】
(統合部16A)
統合部16Aは、同一性判定部15Aの判定結果に基づき、第1データxと第2データx´とを統合する。統合部16Aは、一例として、レコード数を増やす、及び/又はデータの属性数を増やすことにより第1データxと第2データx´とを統合する。統合部16Aが実行するデータ統合としては、例えば、(i)エンティティ統合、(ii)データクレンジング、(iii)スキーママッチング、が挙げられる。(i)エンティティ統合は、同一のレコード集合が与えられたときに異なる属性とその値の表記を統一することをいう。(ii)データクレンジングは、社名、住所、局番等の記載形式の違い(「(株)」と「株式会社」、等)を統一することをいう。(iii)スキーママッチングは、表記が異なる複数の属性のアライメント(マッチング)をとることをいう。
【0053】
(記憶部20A)
記憶部20Aには、第1データx及び第2データx´が記憶されるとともに、類似度算出部13が算出する類似度sが記憶される。また、記憶部20Aには、モデルMAが記憶される。なお、モデルMAが記憶部20Aに記憶されているとは、モデルMAを規定するパラメータが記憶部20Aに記憶されていることをいう。
【0054】
(モデルMA)
モデルMAは、類似度を算出するためのモデルであり、一例として、一般に公開されて任意のユーザが利用可能なモデルである。モデルMAは、機械学習により生成されたモデルであってもよく、また、人間が作成したルールベースのモデルであってもよい。
【0055】
モデルMAは一例として、文書分類モデル、画像分類モデル、音声分類モデル及びグラフ分類モデルの少なくともいずれかを含む。文書分類モデルとしては例えば、文書埋め込みモデル、含意認識モデル、言い換え予測モデル、及びマスク言語モデルが挙げられる。画像分類モデルとしては例えば、画像データをベクトル空間に埋め込む画像埋め込みモデルが挙げられる。音声分類モデルとしては例えば、音声データをベクトル空間に埋め込む音声埋め込みモデルが挙げられる。
【0056】
モデルMAの入力は、一例として、文書データ、画像データ、音声データ、グラフ、及びベクトルの少なくともいずれかを含む。モデルMAの出力は、一例として、ベクトル及びスコアの少なくともいずれかを含む。
【0057】
(文書分類モデルの例1:文書埋め込みモデル)
文書埋め込みモデルは、文書又は単語をベクトル空間に埋め込むモデルである。文書埋め込みモデルは、一例として非特許文献3に記載されたRoBERTaにより生成される。文書埋め込みモデルの入力は、一例として文書又は単語(例えば、「老人男性が公園で歩いている。」という文)である。出力は、一例としてベクトルである。
【0058】
(文書分類モデルの例2:含意認識モデル)
含意認識モデルは「文書1であれば文書2である」という含意関係かどうかを予測するモデルである。含意認識モデルは、一例として非特許文献4に記載された技術により生成される。含意認識モデルの入力は、一例として2つの文書である。2つの文書は、例えば、「老人男性が公園で歩いている」という文書1、及び「男性が公園にいる」という文書2である。この場合、文書2は文書1を含意する。
図8は、文書の含意関係を概略的に示す図である。
図8の例では、文書2が文書1を含意する。
【0059】
また、含意認識モデルの出力は、一例として含意性スコアである。含意性スコアは、含意関係の確信度を示す数値であり、例えば0~1の実数である。含意性スコアは、一例として、値が大きいほど、含意関係の確信度が高いことを示す。
【0060】
(文書分類モデルの例3:言い換え予測モデル)
言い換え予測モデルは、2つの文書が言い換え表現かどうかを予測するモデルである。言い換え予測モデルは、一例として非特許文献3に記載されたRoBERTaにより生成される。言い換え予測モデルの入力は、一例として2つの文書である。2つの文書は例えば「NECはITの会社である。」という文書1、及び「日本電気株式会社はIT事業を行っている。」という文書2である。モデルの出力は、一例として、言い換えスコアを含む。言い換えスコアは、2つの文書が言い換え表現であることの確信度を示すスコアであり、一例として、0~1の実数である。言い換えスコアは、一例として、値が大きいほど2つの文書が言い換え表現であることの確信度が高いことを示す。
【0061】
(文書分類モデルの例4:マスク言語モデル)
マスク言語モデルは、文書内のマスクに当てはまる単語を予測するモデルである。マスク言語モデルは、一例として例えば非特許文献3に記載されたRoBERTaにより生成されたモデルである。文書分類モデルの入力は、一例として、文書(例えば、「このピザはとても美味しい。私はこのピザが[mask]。」という文)である。モデルの出力は、単語(例えば、「好き」)とスコアとを含む。スコアは、その単語がマスクに当てはまる確信度を示す値であり、一例として、0~1の実数である。
【0062】
(画像分類モデル)
画像分類モデルは、画像を分類するモデルである。画像分類モデルは、一例として非特許文献6に記載された技術により生成されたモデルである。画像分類モデルの入力は、一例として、画像(例えば、犬の画像)である。また、モデルの中間出力は、一例として、画像のベクトル表現であり、モデルの出力は、一例として、ラベル(例えば、「犬」を示すラベル)とスコアである。スコアはラベルの確信度を示す値であり、例えば0~1の実数である。本例示的実施形態では、類似度算出部13は、画像のベクトル表現を利用して類似度sを算出する。
【0063】
(音声分類モデル)
音声分類モデルは、音声を分類するモデルである。音声分類モデルの入力は、一例として音声データ(例えば犬の鳴き声)である。モデルの中間出力は、一例として音声のベクトル表現であり、モデルの出力は、一例としてラベル(例えば、音声が犬の鳴き声であることを示すラベル)とスコアである。スコアはラベルの確信度を示す値であり、例えば0~1の実数である。本例示的実施形態では、類似度算出部13は、中間出力である音声のベクトル表現を利用して類似度sを算出する。
【0064】
(グラフ分類モデル)
グラフ分類モデルは、グラフを分類するモデルである。グラフ分類モデルの入力は、一例としてグラフデータ(例えば顔の特徴を表すグラフ)である。モデルの中間出力は、一例としてグラフのベクトル表現であり、モデルの出力は、一例としてラベル(例えば人物を示すラベル)とスコアである。スコアはラベルの確信度を示す値であり、例えば0~1の実数である。本例示的実施形態では、類似度算出部13は、中間出力であるグラフのベクトル表現を利用して類似度sを算出する。
【0065】
<情報処理方法S100Aの流れ>
図7は、情報処理装置1Aが実行する情報処理方法S100Aの流れを示すフロー図である。なお、情報処理方法S100Aに含まれるステップのうち、一部のステップは並行して又は順序を換えて実行されてもよい。また、既に説明した内容についてはその説明を繰り返さない。
【0066】
(ステップS101)
ステップS101において、取得部11は、モデルMAを読み込む。本例示的実施形態において、モデルMAは、複数のモデル候補から選択されたものである。複数のモデル候補は、一例として、文書埋め込みモデル、含意認識モデル等の文書分類モデル、画像分類モデル、及び音声分類モデルの少なくともいずれかを含む。モデルMAの選択は、一例としてユーザ操作に基づき行われてもよく、また、所定のアルゴリズムに従って行われてもよい。モデルMAは、ひとつのモデルであってもよく、また、複数のモデルの集合であってもよい。
【0067】
(ステップS102)
ステップS102において、取得部11は、レコード対を読み込む。レコード対に含まれるレコードeとレコードe´とは、一例として、
e=((a_j,v_j))_{j=1,…,d},
e´=((a´_j,v´_j))_{j=1,…,d´}
と表される。ここで、属性名a_j∈A_jであり、A_jは、一例として文字列空間である。属性値v_j∈V_jであり、V_jは、一例として文字列空間又は実数空間である。この例で、
図6のレコードl1は、
l1=((title, sims 2 glamour life stuff pack),(manufacturer, aspyr media),(price, 24.99))であり、レコードr2は、
r2=((title, aspyr media inc sims 2 glamour life stuff pack),(price, NaN))
である。
【0068】
本例示的実施形態において、取得部11は、第1データx及び第2データx´からレコード対を生成する。取得部11は、一例として、第1データxに含まれるレコードeと第2データx´に含まれるレコードe´の全ての組み合わせを生成する。また、取得部11は、レコード対の生成において、ブロッキングと呼ばれる技術により第1データxのレコードeについての第2データx´の同一性判定の候補をしぼってもよい。
【0069】
(ステップS103)
ステップS103において、変換部12は、レコード対(e,e´)をモデルMAの入力に対応する形式に変換することによって変換済レコード対を生成する。一例として、モデルMAには、文書分類モデルが含まれており、変換部12による変換処理には、レコード対(e,e´)を文書に変換することによって変換済レコード対を生成する処理が含まれる。また、一例として、モデルMAには、画像分類モデルが含まれており、変換部12による変換処理には、レコード対(e,e´)を画像に変換することによって変換済レコード対を生成する処理が含まれる。また、一例として、モデルMAには、音声分類モデルが含まれており、変換部12による変換処理には、レコード対を音声に変換することによって変換済レコード対を生成する処理が含まれる。また、一例として、モデルMAには、グラフ分類モデルが含まれており、変換部12による変換処理には、レコード対をグラフに変換することによって変換済レコード対を生成する処理が含まれる。
【0070】
(ステップS104)
ステップS104において、類似度算出部13は、変換済レコード対をモデルMAに入力することによって、変換済レコード対に関する類似度sを算出する。
【0071】
(ステップS101~S104の処理例1~5)
ここで、ステップS101~S104の処理例として、処理例1~5を説明する。処理例1は、文書埋め込みモデルを用いる場合の処理例である。処理例2は、画像分類モデルを用いる場合の処理例である。処理例3は、音声分類モデルを用いる場合の処理例である。処理例4は、含意認識モデルを用いる場合の処理例である。処理例5は、言い換え予測モデルを用いる場合の処理例である。
【0072】
(処理例1:文書埋め込みモデル)
この例では、ステップS101において、取得部11は、文書埋め込みモデルを読み込む。また、ステップS103において、変換部12は、レコード対(e,e´)を文書対(t,t´)に変換する。変換部12は、一例として、
e=((title, sims 2 glamour life stuff pack),(manufacturer, aspyr media),(price, 24.99))
e´=((title, aspyr media inc sims 2 glamour life stuff pack),(price, NaN))
であるレコードeとレコードe´とを含むレコード対(e,e´)を、
t=“Title is sims 2 glamour life stuff pack. Manufacturer is aspyr media. Price is 24.99.”
t´=“Title is aspyr media inc sims 2 glamour life stuff pack.”
である文書t及び文書t´を含む文書対(t,t´)に変換する。
【0073】
また、ステップS104において、類似度算出部13は、文書埋め込みモデルにより文書対(t,t´)をベクトル対(v,v´)に変換する。ここで、v=M(t),v´=M(t´)である。また、類似度算出部13は、ベクトル対(v,v´)から類似度sを算出する。類似度sは、一例として、s=exp(-||v-v´||/c)であり、ここでc>0である。また、類似度sは、コサイン類似度s=v^Tv´/(||v|| ||v´||)であってもよい。ここで、^Tは転置を表す記号である。
【0074】
(処理例2:画像埋め込みモデル)
この例では、ステップS101において、取得部11は、画像埋め込みモデルを読み込む。ステップS103において、変換部12は、レコード対(e,e´)を画像対(i,i´)に変換する。
【0075】
図9は、変換部12により変換された画像の一例を示す図である。変換部12は、一例として、
e=((title, sims 2 glamour life stuff pack),(manufacturer, aspyr media),(price, 24.99))
e´=((title, aspyr media inc sims 2 glamour life stuff pack),(price, NaN))
であるレコードeとレコードe´とを含むレコード対(e,e´)を、
図9に示す画像i、i´に変換する。
【0076】
また、ステップS104において、類似度算出部13は、画像埋め込みモデルにより画像対(i,i´)をベクトル対(v,v´)に変換する。ここで、v=M(i),v´=M(i´)である。更に、類似度算出部13は、ベクトル対(v,v´)から類似度sを算出する。類似度sは、一例として、=exp(-||v-v´||/c)であり、ここで、c>0である。
【0077】
画像埋め込みモデルを用いる場合において、変換部12は、1つのレコードを1つの画像に変換してもよく、また、レコードに含まれる要素(例えば、単語)ごとに画像変換を行ってもよい。変換部12が要素ごとに画像変換する場合、類似度算出部13は、要素ごとの画像の集合を用いて類似度sを算出する。また、要素ごとに画像変換を行う場合において、変換部12は、レコードの欠損値については画像変換しないようにしてもよい。
【0078】
(処理例3:音声埋め込みモデル)
この例では、ステップS101において、取得部11は、音声埋め込みモデルを読み込む。また、ステップS103において、変換部12は、レコード対(e,e´)を音声対(i,i´)に変換する。変換部12は、一例として、
e=((title, sims 2 glamour life stuff pack),(manufacturer, aspyr media),(price, 24.99))
e´=((title, aspyr media inc sims 2 glamour life stuff pack),(price, NaN))
であるレコードeとレコードe´とを含むレコード対(e,e´)を、レコードeを読み上げた音声を表す音声データiと、レコードe´を読み上げた音声を表す音声データi´とに変換する。
【0079】
また、ステップS104において、類似度算出部13は、音声埋め込みモデルにより音声データ対(i,i´)をベクトル対(v,v´)に変換する。ここで、v=M(i),v´=M(i´)である。更に、類似度算出部13は、ベクトル対(v,v´)から類似度sを算出する。類似度sは、一例として、=exp(-||v-v´||/c)であり、ここで、c>0である。
【0080】
(処理例4:含意認識モデル)
この例では、ステップS101において、取得部11は、含意認識モデルを読み込む。また、ステップS103において、変換部12は、レコード対(e,e´)を文書対(t,t´)に変換する。
【0081】
変換部12は、一例として、
レコードe=((a_j,v_j))_{j=1,…,d}を、
文書t=「a_1 is v_1.… a_d is v_d.」に変換する。ただし、変換部12は欠損値を文書tに含めない。
【0082】
変換部12は、一例として、
e=((title, sims 2 glamour life stuff pack),(manufacturer, aspyr media),(price, 24.99))
e´=((title, aspyr media inc sims 2 glamour life stuff pack),(price, NaN))
であるレコードeとレコードe´とを含むレコード対(e,e´)を、
t=“Title is sims 2 glamour life stuff pack. Manufacturer is aspyr media. Price is 24.99.”
t´=“Title is aspyr media inc sims 2 glamour life stuff pack.”
である文書tと文書t´とを含む文書対(t,t´)に変換する。
【0083】
また、ステップS104において、類似度算出部13は、含意認識モデルを用いて文書対(t,t´)の含意性スコアを計算する。更に、類似度算出部13は、含意性スコアを用いて類似度sを算出する。類似度sは、一例として、s=M(t,t´)×M(t´,t)である。換言すると、類似度sは、「文書tであれば文書t´である」という含意関係の含意性スコアM(t,t´)と、「文書t´であれば文書tである」という含意関係の含意性スコアM(t´,t)との乗算値である。ただし、類似度sは上述した例に限られず、他の値であってもよい。類似度sは、例えば、含意性スコアM(t,t´)と含意性スコアM(t´,t)のうちの最大値、又は、含意性スコアM(t,t´)と含意性スコアM(t´,t)との和であってもよい。
【0084】
レコード対(e,e´)に含まれるレコードeとレコードe´とが同一であれば、e⊂e´かつe´⊂eである。この処理例では、類似度算出部13はこの関係を利用して類似性の算出を行う。
【0085】
(処理例5:言い換え予測モデル)
この例では、ステップS101において、取得部11は言い換え予測モデルを読み込む。また、ステップS103において、変換部12は、レコード対(e,e´)を文書対(t,t´)に変換する。
【0086】
変換部12は、一例として、
レコードe=((a_j,v_j))_{j=1,…,d}を、
文書t=「v_1 … v_d」に変換する。ただし、変換部12は欠損値を文書に含めない。
【0087】
変換部12は、一例として、
e=((title, sims 2 glamour life stuff pack),(manufacturer, aspyr media),(price, 24.99))
e´=((title, aspyr media inc sims 2 glamour life stuff pack),(price, NaN))
であるレコードeとレコードe´とを含むレコード対(e,e´)を、
t=“sims 2 glamour life stuff pack aspyr media 24.99”
t´=“aspyr media inc sims 2 glamour life stuff pack”
である文書tと文書t´とを含む文書対(t,t´)に変換する。
【0088】
また、ステップS104において、類似度算出部13は、言い換え予測モデルを用いて文書対(t,t´)の言い換えスコアを計算し、計算した言い換えスコアをレコード対の類似度sとする。すなわち、この処理例では、類似度算出部13は、レコード対を言い換え表現かを問う形式に落とし込むことにより、類似度sを算出する。
【0089】
(ステップS105・S106)
ステップS105において、出力部14は、類似度算出部13が算出した類似度sを出力する。出力部14は、一例として、類似度sを記憶部20Aに書き込むことにより出力する。ステップS106において、同一性判定部15Aは、類似度sに基づきレコード対に含まれるレコード同士の同一性を判定する。
【0090】
(ステップS107)
ステップS106において、統合部16Aは、同一性判定部15Aの判定結果を参照して、第1データxと第2データx´とから統合済データを生成する。統合済データは、一例として、同一性判定部15Aが同一であると判定したレコード対に含まれるレコード同士を統合したレコードを含む。
【0091】
<情報処理装置1Aの効果>
ところで、近年、自然言語処理及び画像処理分野の様々なタスク(テキスト分類、質問応答、画像分類など)に対して、巨大データセットで訓練された高精度なモデル(推論モデル)が公開され、応用されている。例えば、教師あり機械学習の名寄せモデルであるDITTO(非特許文献1を参照。)は、BERT(Bidirectional Encoder Representations from Transformers)の事前学習済み言語モデルを部分的に応用している。しかしながら、タスクによりデータの形式は様々であるため、既存の推論モデルだけで名寄せを行うことはできなかった。特に、想定されていない属性を含むレコードについて既存の推論モデルで名寄せを行うことはできなかった。
【0092】
それに対し本例示的実施形態によれば、情報処理装置1Aはレコード対をモデルMAの入力に対応する形式に変換してモデルMAに入力することによってレコード対に関する類似度sを算出する。レコードを変換して名寄せタスクを自然言語処理分野又は画像処理分野等のタスクに落とし込むことにより、大量のデータで学習された推論モデルの活用を可能にする。すなわち、本例示的実施形態によれば、モデルMAの訓練データを必要とすることなく、かつ、様々な属性を有するレコードについて同一性を判定することができる。
【0093】
また、本例示的実施形態に係る情報処理装置1Aにおいては、モデルMAは、複数のモデル候補から選択されたものであり、変換部12は、レコード対(e,e´)をモデルMAの入力に対応する形式に変換することによって変換済レコード対を生成する構成が採用されている。変換部12がレコード対を変換することにより、レコード対はモデルMAに入力可能な形式のデータとなる。すなわち、類似度の算出対象であるレコードがどのような属性を含む場合であっても、類似度算出部13はモデルMAに変換済レコード対を入力することにより類似度sを算出することができる。これにより、本例示的実施形態に係る情報処理装置1Aによれば、モデルMAの訓練データを必要とすることなく、モデルMAを用いて様々な属性を有するレコードについて類似度を算出することができるという効果が得られる。
【0094】
また、本例示的実施形態に係る情報処理装置1Aにおいては、モデルMAには、文書分類モデルが含まれており、変換部12による変換処理には、レコード対を文書に変換することによって変換済レコード対を生成する処理が含まれるという構成が採用されている。このため、本例示的実施形態に係る情報処理装置1Aによれば、文書分類モデルであるモデルMAを訓練することなく、モデルMAを用いて様々な属性を有するレコードの類似度を算出できるという効果が得られる。
【0095】
また、本例示的実施形態に係る情報処理装置1Aにおいては、モデルMAには、画像分類モデルが含まれており、変換部12による変換処理には、レコード対を画像に変換することによって変換済レコード対を生成する処理が含まれるという構成が採用されている。情報処理装置1Aがレコード対を画像に変換することにより、文字としては異なるが表記が似ているレコード同士の類似度をより好適に算出できる。例えば、「glamour」という単語を含むレコードと「glqmour」という単語を含むレコードの場合、レコードに含まれる文字列は異なっているものの、文字の形状が類似しているため、高い類似度が算出される。このように、本例示的実施形態に係る情報処理装置1Aによれば、例示的実施形態1に係る情報処理装置1の奏する効果に加えて、文字の形状の類似の度合いを反映した類似度を算出できるという効果が得られる。
【0096】
また、本例示的実施形態に係る情報処理装置1Aにおいては、モデルMAには、音声分類モデルが含まれており、変換部12による変換処理には、レコード対を音声に変換することによって変換済レコード対を生成する処理が含まれるという構成が採用されている。情報処理装置1Aがレコード対を音声に変換することにより、文字としては異なるが音素が似ているレコード同士の類似度をより好適に算出できる。例えば、「glamour」という単語を含むレコードと「glamar」という単語を含むレコードの場合、レコードに含まれる文字列は異なっているものの、単語の発音が類似しているため、高い類似度が算出される。このように、本例示的実施形態に係る情報処理装置1Aによれば、例示的実施形態1に係る情報処理装置1の奏する効果に加えて、音の類似度の度合いを反映した類似度を算出できるという効果が得られる。
【0097】
また、本例示的実施形態に係る情報処理装置1Aにおいては、モデルMAには、グラフ分類モデルが含まれており、変換部12による変換処理には、レコード対をグラフに変換することによって変換済レコード対を生成する処理が含まれるという構成が採用されている。情報処理装置1Aがレコード対をグラフに変換することにより、グラフ分類モデルであるモデルMAを訓練することなく、モデルMAを用いて様々な属性を有するレコードの類似度を算出できるという効果が得られる。
【0098】
〔例示的実施形態3〕
本発明の第3の例示的実施形態について、図面を参照して詳細に説明する。なお、例示的実施形態1~2にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付記し、その説明を繰り返さない。
【0099】
<情報処理装置1Bの構成>
図10は、本例示的実施形態に係る情報処理装置1Bの構成を示すブロック図である。情報処理装置1Bの制御部10Bは、取得部11B、変換部12B、類似度算出部13B、出力部14、同一性判定部15A、及び統合部16Aを備える。また、記憶部20Bは、第1データx、第2データx´及び類似度sに加えてモデルMBを記憶する。
【0100】
取得部11Bは、レコード対(e,e´)に加えて、補助レコードを更に取得する。補助レコードは、レコード対(e,e´)の類似度を計算するために用いられる補助的なレコードである。補助レコードは、一例として、第1データxに含まれるレコードであってレコード対(e,e´)に含まれるレコードe以外のレコードである。また、補助レコードは、一例として、第2データx´に含まれるレコードであってレコード対(e,e´)に含まれるレコードe´以外のレコードである。
【0101】
変換部12Bは、取得部11Bが取得したレコード対を変換して変換済レコード対を生成する。また、変換部12Bは、補助レコードを変換することによって変換済補助レコードを生成する。変換部12Bは、一例として、補助レコードを文書、画像、音声、又はグラフを表すデータに変換する。
【0102】
より具体的には、変換部12Bは、一例として、レコード対(e,e´)に含まれる一方のレコードeを質問文に変換し、レコード対(e,e´)に含まれる他方のレコードe及び補助レコードの各々を応答文に変換することによって上記変換済レコード対を生成する。
【0103】
類似度算出部13Bは、変換済レコード対及び変換済補助レコードをモデルMBに入力することによって、変換済レコード対に関する類似度を算出する。モデルMBは、一例として、質問文と応答文とを入力とする質問応答モデルを含む。
【0104】
(質問応答モデル)
質問応答モデルは、質問文に対し与えられた文書の中から回答文を抽出して出力するモデルである。質問応答モデルは、一例として非特許文献5に記載されたTANDAと呼ばれる技術により生成されたモデルである。質問応答モデルの入力は、一例として、質問文と、文書とを含む。質問文は、一例として「NECの本社はどこですか?」という文である。文書は、一例として「日本電気株式会社(にっぽんでんき、英: NEC Corporation)は、東京都港区芝五丁目に本社を置く住友グループの電機メーカー。日経平均株価の構成銘柄の一つ。」という文書である。
【0105】
モデルの出力は、一例として、回答文及びスコアを含む。回答文は、一例として「東京都港区芝五丁目」という文である。スコアは一例として、0~1の実数である。ここで、モデルの出力を求める際に、各単語のスコアが計算されてもよい。例えば、質問応答モデルにより、日本電気株式会社」のスコア「0.1」、「住友グループ」のスコア「0.02」、及び「日経平均株価」のスコア「0.08」が計算される。
【0106】
<情報処理方法S100Bの流れ>
図11は、情報処理装置1Bが実行する情報処理方法S100Bの流れを示すフロー図である。なお、一部のステップは並行して、又は順序を換えて実行されてもよい。また、既に説明した内容についてはその説明を繰り返さない。
【0107】
情報処理方法S100Bは、ステップS101B、ステップS102、ステップS102B、ステップS103B、ステップS104B、ステップS105、ステップS106、及びステップS107を含む。
【0108】
ステップS101Bにおいて、取得部11BはモデルMBを読み込む。ステップS102Bにおいて、取得部11Bは補助レコードを読み込む。
【0109】
ステップS103Bにおいて、変換部12Bは、レコード対を変換することによって変換済レコード対を生成するとともに、補助レコードを変換することによって変換済補助レコードを生成する。ステップS104Bにおいて、類似度算出部13Bは、変換済レコード対及び変換済補助レコードをモデルMBに入力することによって、変換済レコード対に関する類似度を算出する。
【0110】
(ステップS101~S104Bの処理例6:質問応答モデル)
ここで、ステップS101からS104Bの処理例として、質問応答モデルを用いる場合の処理例を説明する。この例では、ステップS101において、類似度算出部13Bは、質問応答モデルを読み込む。また、ステップS102及びS102Bにおいて、取得部11Bは、レコード対(e,e´)及び補助レコードR={e_1,…,e_k}(kは自然数)を読み込む。補助レコードRは、一例として、第2データx´に含まれる全てのレコードの集合である。ただし、補助レコードRは上述した例に限られず、他のレコードの集合であってもよい。例えば、補助レコードRは、第2データx´から乱択アルゴリズムにより選択されたレコードの集合であってもよい。また、補助レコードRは、第2データx´からレコードeと共通する単語を含むレコードを抽出したレコード集合等、ブロッキングされたレコード集合であってもよい。
【0111】
この処理例において、補助レコードRは、レコード対(e,e´)に含まれるレコードe´を含む。補助レコードは、一例として、
図6のテーブルTBL2のレコードr1~r3の集合、すなわち、
R={((title, adobe photoshop elements 4.0 photo-editing software for mac), (price, 85.95)), ((title, aspyr media inc sims 2 glamour life stuff pack), (price, NaN)), ((title, final-draft final draft av 2.5 screenwriting software mac/win screen writing software), (price, 199.95))}
である。
【0112】
この処理例では、ステップS103Bにおいて、変換部12Bは、レコードeと補助レコードR(e´∈R)とを変換する。より具体的には、変換部12Bは、レコードeを質問文q=T1(e)に変換する。ここで、質問文qは、いわゆる5W1Hのオープンクエスチョン型が好ましい。また、変換部12Bは、補助レコードRを複数の回答文を含む文書に変換する。
【0113】
変換部12Bは、一例として、レコードe=((a_1, v_1),…,(a_d, v_d))を、
T1(e)=“What is characterized as v_1 of a_1, … and v_d of a_d?’’
に変換する。また、変換部12Bは、補助レコードR={e_1,…,e_k}を、文書T2(R)=“T3(e_1). T3(e_2). … T3(e_k).’’
に変換する。ここで、文書T2(R)に含まれる回答文T3(e_j)(1≦j≦k)は、
T3(e_j)=``{ID of e_j} is characterized as v_1 of a_1, …, and v_d of a_d’’
である。ここで、{ID of e_j}は、レコードe_j∈Rに割り当てられる固有のIDである。ただし、変換部12Bは、変換の際に欠損値を文書に含めない。
【0114】
変換部12Bは、一例として、
e=((title, sims 2 glamour life stuff pack),(manufacturer, aspyr media),(price, 24.99))
を、
q=“What is characterized as title of sims 2 glamour life stuff pack, manufacturer of aspyr media, and price of 24.99?”
に変換する。また、補助レコードR={((title, adobe photoshop elements 4.0 photo-editing software for mac), (price, 85.95)), ((title, aspyr media inc sims 2 glamour life stuff pack), (price, NaN)), ((title, final-draft final draft av 2.5 screenwriting software mac/win screen writing software), (price, 199.95))}
を、文書c=“r1 is characterized as title of adobe photoshop elements 4.0 photo-editing software for mac and price of 85.95. r2 is characterized as title of aspyr media inc sims 2 glamour life stuff pack. r3 is characterized as title of final-draft final draft av 2.5 screenwriting software mac/win screen writing software and price of 199.95.”
に変換する。
【0115】
また、ステップS104Bにおいて、類似度算出部13Bは、質問応答モデルに質問文qと文書cとを入力する。質問応答モデルは、入力された質問文qの回答が文書cから抽出した回答文T3(e_j)(1≦j≦k)である確信度を示すスコアを出力する。類似度算出部13Bは、質問応答モデルが出力したスコアに基づき類似度sを算出する。類似度sは、一例として、MB(q,c,{ID of e´})、すなわちレコード対(e,e´)に含まれるレコードe´が回答文である確信度である。ただし、類似度sはこの例に限られず、類似度算出部13Bは他の手法により類似度sを算出してもよい。類似度算出部13Bは、一例として、レコードeを質問文にした際のスコアと、レコードe´を質問文にした際のスコアとの和を類似度としてもよい。
【0116】
図12は、質問応答モデルを用いた類似度の算出処理の概念図である。
図12の例では、変換部12Bがレコードeと補助レコードRとを質問文と文書に変換し、類似度算出部13Bが質問文と文書とを質問応答モデルであるモデルMBに入力することにより、類似度sを算出する。このように、本処理例では、情報処理装置1Bは、レコードを質問応答の形式に落とし込むことによって、レコードの類似度を算出する。
【0117】
<情報処理装置1Bの効果>
以上のように、本例示的実施形態に係る情報処理装置1Bにおいては、取得部11Bは補助レコードを更に取得し、変換部12Bは補助レコードを変換することによって変換済補助レコードを生成し、類似度算出部13Bは上記変換済レコード対及び上記変換済補助レコードをモデルMBに入力することによって、上記変換済レコード対に関する類似度を算出する構成が採用されている。このため、本例示的実施形態に係る情報処理装置1Bによれば、モデルMBを訓練することなく、モデルMBを用いて様々な属性を有するレコードについて類似度を算出できるという効果が得られる。
【0118】
また、本例示的実施形態に係る情報処理装置1Bにおいては、モデルMBには、質問文と応答文とを入力とする質問応答モデルが含まれており、変換部12Bは、上記レコード対に含まれる一方のレコードを質問文に変換し、上記レコード対に含まれる他方のレコード及び上記補助レコードの各々を応答文に変換することによって上記変換済レコード対を生成するという構成が採用されている。このため、本例示的実施形態に係る情報処理装置1Bによれば、質問応答モデルを訓練することなく、様々な属性を有するレコードについて質疑応答モデルを用いて類似度を算出できるという効果が得られる。
【0119】
〔例示的実施形態4〕
本発明の第4の例示的実施形態について、図面を参照して詳細に説明する。なお、例示的実施形態1~3にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付記し、その説明を繰り返さない。
【0120】
<情報処理装置1Cの構成>
図13は、本例示的実施形態に係る情報処理装置1Cの構成を示すブロック図である。情報処理装置1Cの制御部10Cは、取得部11、変換部12、類似度算出部13C、類似度統合部17C、出力部14C、同一性判定部15A及び統合部16Aを備える。また、記憶部20Cは、第1データx、第2データx´及び類似度sに加えてモデルMCを記憶する。
【0121】
(類似度算出部13C)
類似度算出部13Cは、ひとつのレコード対(e,e´)に関して複数の類似度siを算出する。類似度算出部13Cは、一例として、モデルMCに対して、レコード対(e,e´)に含まれる2つのレコードを互いに入れ替えずに入力することによって第1の類似度s1を算出する。また、類似度算出部13Cは、モデルMCに対して、レコード対(e,e´)に含まれる2つのレコードを互いに入れ替えてから入力することによって第2の類似度s2を算出する。
【0122】
上述の例示的実施形態2で説明した処理例4~5、及び例示的実施形態3で説明した処理例6では、レコード対(e,e´)の類似度は、レコード対(e´,e)の類似度と異なる。そこで、本例示的実施形態では、類似度算出部13Cは、レコード対(e,e´)の類似度とレコード対(e´,e)の類似度とをそれぞれ算出し、それらの類似度を参照して同一性を判定する。
【0123】
ただし、類似度算出部13Cが複数の類似度siを算出する手法は上述した例に限られず、類似度算出部13Cは他の手法により複数の類似度siを算出してもよい。例えば、類似度算出部13Cは複数のモデルを用いて複数の類似度siを算出してもよい。この場合、例えば、変換部12が1つのレコード対に対して複数の変換を施し、類似度算出部13Cが変換後のレコード対をそれぞれのモデル(文書分類モデル、画像分類モデル、・・・)に入力することにより、複数の類似度siを算出してもよい。
【0124】
また、類似度算出部13Cは、ひとつのレコード対を複数の変換方法で変換することにより複数の変換済レコード対を生成し、複数の変換済レコード対をひとつのモデルに入力することにより、複数の類似度siを算出してもよい。
【0125】
(類似度統合部17C)
類似度統合部17Cは、複数の類似度siを統合して統合後の類似度sとする。類似度統合部17Cは、一例として、複数の類似度siの平均又は加重平均をとることによって統合後の類似度sを算出する。ただし、類似度統合部17Cが複数の類似度siを統合する手法は上述した例に限られず、類似度統合部17Cは他の手法により統合後の類似度sを算出してもよい。例えば、類似度統合部17Cは、複数の類似度siの総和又は積算値を統合後の類似度sとしてもよい。
【0126】
本明細書において、類似度統合部17Cは、対象レコード対に関する複数の類似度siに基づき、当該対象レコード対に関する同一性を判定する構成であるともいえる。
【0127】
(出力部14C)
出力部14Cは、上記複数の類似度siを統合して得られる統合後の類似度sを出力する。出力部14Cは、一例として、記憶部20Cに類似度sを書き込むことにより出力する。
【0128】
(モデルMC)
モデルMCは、類似度を算出するためのモデルである。モデルMCは、一例として、当該モデルに入力される2つの要素の互いの入れ替えに対して非対称性を有するモデルである。モデルMCは、一例として、含意認識モデル、言い換え予測モデル、及び質問応答モデルの少なくともいずれかひとつを含む。
【0129】
図14は、類似度算出部13Cが算出する類似度siの具体例を示す図である。
図14において、レコード対(L1,R1)について類似度算出部13Cが算出した第1の類似度s1は「9」であり、2つのレコードを互いに入れ替えたレコード対(R1,L1)について類似度算出部13Cが算出した第2の類似度s2は「10」である。このように、類似度算出部13Cはひとつのレコード対について第1の類似度s1と第2の類似度s2とを算出し、同一性判定部15Aは第1の類似度s1と第2の類似度s2とが共に他のレコード対と比較して最も高ければレコードが同一であると判定する。
図14の例では、同一性判定部15Aは、レコードL1とレコードR1が同一であると判定するとともに、レコードL2とレコードR3が同一であると判定する。
【0130】
図15は、類似度算出部13Cが算出する類似度siの他の例を示す図である。
図15において、類似度統合部17Cは、双方向の類似度を集約する。類似度統合部17Cは、一例として、レコード対(L1,R1)の類似度s1と、レコード対(R1,L1)の類似度s2との和を類似度sとする。
図15の例では、レコード対(L1,R1)の類似度sは「10」と「9」の和、すなわち「19」であり、レコード対(L1,R2)の類似度sは「9」と「7」の和、すなわち「16」である。また、レコード対(L2,R2)の類似度sは「9」と「4」との和、すなわち「13」であり、レコード対(L2,R3)の類似度sは「8」と「8」との和、すなわち「16」である。
【0131】
図15の例では、同一性判定部15Aは、
図14の例と同様に、レコードL1とレコードR1が同一であると判定するとともに、レコードL2とレコードR3が同一であると判定する。この例では更に、同一性判定部15Aは、同一であると判定したレコード対の中で類似度sが所定の閾値以上であるレコード対についても、同一であると判定する。ここで、閾値は例えば、同一であると判定されたレコード対の類似度sのうちの最小値(
図15の例では、「13」)である。閾値は、同一と非同一の割合が既知であるなら、その割合に基づいて決められてもよい。
図15の例において閾値が「13」である場合、同一性判定部15Aは、類似度sが「13」以上であるレコード対、すなわち類似度sが「16」であるレコード対(L1,R2)についてもレコード同士が同一であると判定する。
【0132】
<情報処理装置1Cの効果>
以上のように、本例示的実施形態に係る情報処理装置1Cにおいては、類似度算出部13Cは、上記レコード対に関して複数の類似度siを算出し、出力部14Cは、複数の類似度siを統合して得られる統合後の類似度sを出力する構成が採用されている。このため、本例示的実施形態に係る情報処理装置1Cによれば、レコード対の類似度sをより精度よく算出できるという効果が得られる。
【0133】
また、本例示的実施形態に係る情報処理装置1Cにおいては、モデルMCは、当該モデルに入力される2つの要素の互いの入れ替えに対して非対称性を有するモデルであり、類似度算出部13Cは、モデルMCに対して、レコード対(e,e´)に含まれる2つのレコードを互いに入れ替えずに入力することによって第1の類似度s1を算出し、モデルMCに対して、レコード対(e,e´)に含まれる2つのレコードを互いに入れ替えてから入力することによって第2の類似度s2を算出する構成が採用されている。このため、本例示的実施形態に係る情報処理装置1Cによれば、第1の類似度s1と第2の類似度s2とを統合することにより、レコードの類似度sをより精度よく算出できるという効果が得られる。
【0134】
〔例示的実施形態5〕
本発明の第5の例示的実施形態について、図面を参照して詳細に説明する。なお、例示的実施形態1~3にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付記し、その説明を繰り返さない。
【0135】
<情報処理装置1Dの構成>
図16は、本例示的実施形態に係る情報処理装置1Dの構成を示すブロック図である。情報処理装置1Dの制御部10Dは、取得部11、変換部12、類似度算出部13、出力部14、同一性判定部15A及び検索結果出力部18Dを備える。
【0136】
本例示的実施形態に係る取得部11は、レコード対(e,e´)に含まれる第1のレコードeとして、ユーザからの入力データを取得する。ユーザからの入力データは、一例として、入出力部40Aに接続された入力装置(例えば、キーボード、マウス、等)により入力される。
【0137】
また、取得部11は、レコード対(e,e´)に含まれる第2のレコードe´として、対象データに含まれる複数のレコードの1つを取得する。対象データは、検索対象のデータであり、一例として、1又は複数のテーブルを含む。
【0138】
同一性判定部15Aは、第1のレコードeと、対象データに含まれる複数のレコードの各々とのレコード対に対して同一性予測を行う。
【0139】
検索結果出力部18Dは、類似度算出部13が算出した類似度sに基づき、入力データに基づく検索結果であって、対象データを検索対象とする検索結果を出力する。検索結果出力部18Dは、一例として、同一性判定部15Aの判定結果を参照して、入力データに基づく検索結果であって、対象データを検索対象とする検索結果を出力する。検索結果出力部18Dは、一例として、入出力部40Aに接続された出力装置(ディスプレイ、プリンタ、等)に検索結果を出力する。また、検索結果出力部18Dは、通信部30Aを介して接続された他の装置に検索結果を送信することにより、検索結果を出力してもよい。また、検索結果出力部18Dは、検索結果を記憶部20A又は外部記憶装置に記憶することにより検索結果を出力してもよい。
【0140】
図17は、検索結果出力部18Dが出力する画面表示の具体例を示す図である。
図17の例で、入力データは、ユーザがテキストボックス51に入力する文字列であり、対象データは複数のレコードを有するテーブルT1及びテーブルT2である。同一性判定部15Aは、ユーザの入力データである第1のレコードeと、テーブルT1に含まれるレコード及びテーブルT2に含まれるレコードe´の各々とのレコード対に対して同一性を判定する。
【0141】
図17の例において、検索結果出力部18Dは、同一性判定部15Aの判定結果を参照して、入力データに基づく検索結果53、及び検索結果54を出力する。検索結果53は、「ポテチ」の文字列を入力データとして、テーブルT1から検索された検索結果である。検索結果54は、「ポテチ」の文字列を入力データとして、テーブルT2から検索された検索結果である。
【0142】
<情報処理装置1Dの効果>
以上のように、本例示的実施形態に係る情報処理装置1Dにおいては、同一性判定部15Aの判定結果を参照して、入力データに基づく検索結果であって、対象データを検索対象とする検索結果を出力する構成が採用されている。このため、本例示的実施形態に係る情報処理装置1Dによれば、例示的実施形態1に係る情報処理装置1の奏する効果に加えて、入力データに基づく対象データからの検索をより好適に行うことができるという効果が得られる。
【0143】
情報処理装置1Dは、以下のようにも記載され得る。
ユーザからの入力データと、対象データに含まれる複数のレコードの1つとをレコード対として取得する取得手段と、
前記レコード対を変換することによって変換済レコード対を生成する変換手段と、
前記変換済レコード対をモデルに入力することによって、変換済レコード対に関する類似度を算出する類似度算出手段と、
前記類似度算出手段が算出した類似度を参照して、前記入力データに基づく検索結果であって、前記対象データを検索対象とする検索結果を出力する出力手段と、
を備えている情報処理装置。
【0144】
〔変形例〕
<変形例1>
上述の各例示的実施形態では、情報処理装置1、1A、1B、1C、1D(以下「情報処理装置1等」という)は、第1データxに含まれるレコードeと第2データx´に含まれるレコードe´との同一性を判定した。情報処理装置1等が判定の対象とする複数のレコードはそれぞれ異なるデータに含まれるレコードであってもよく、また、共通のデータに含まれるレコードであってもよい。換言すると、情報処理装置1等は、1つのデータベースから同一のレコードを探し出す処理を実行してもよい。また、上述の例示的実施形態では、第1データxと第2データx´とを統合する場合について説明したが、情報処理装置1等は3つ以上のデータを統合してもよい。
【0145】
<変形例2>
上述の各例示的実施形態において、情報処理装置1等が複数のモデル候補からモデルMA、MB、MC(以下「モデルM」という)を選択してもよく、また、ユーザが複数のモデル候補からモデルMを選択してもよい。情報処理装置1等がモデルMを選択するアルゴリズムは限定されないが、一例として、情報処理装置1等はルールベースでモデルMを選択してもよい。例えば、情報処理装置1等はレコード対の特徴に応じてモデルMを選択してもよい。ここで、レコード対の特徴は、一例として、レコード対に含まれるレコードの属性、レコードのデータサイズ、レコードが属するデータベースの種別、データベースの属性を含む。
【0146】
<変形例3>
上述の各例示的実施形態において、レコードe、e´が含まれるデータは、JSON又はXML等の半構造データであってもよい。半構造データに上記例示的実施形態に係る情報処理装置を適用することにより、書類データ又はウェブページの同一性判定を行うことができる。例えば、住宅情報を提供する住宅情報サイトにおいては、同一の物件についてのウェブページが複数作成されている場合がある。この場合、ウェブページについて同一性判定を行うことにより、ウェブページを物件ごとにまとめることができる。
【0147】
この例において、レコードは一例として、対象であるサイトに含まれるウェブページである。例えば、レコードe={id1: value1, id2: {id2-1: value2-1, id2-2: value2-1}, id3: value3}
である場合、変換後の文書は、一例として、
“id1 is value1. id2-1 of id2 is value2-1. id2-2 of id2 is value2-1. id3 is value3.”
である。
【0148】
<変形例4>
また、本明細書に係るレコードは、例えば
図18に示すようなグラフデータであってもよい。
図18は、グラフデータの一例を示す図である。グラフデータに本明細書に係る情報処理装置1等を適用することにより、例えば顔照合を行うことができる。例えば、レコードが
図18に示すグラフである場合、変換後の文書は、一例として、
“1 and 2 are linked. 1 and 4 are linked. 2 and 3 are linked. 2 and 4 are linked.”
である。
【0149】
<変形例5>
また、レコードが含まれるデータは、例えば
図19に示すようなグラフデータベースであってもよい。グラフデータベースに本明細書に係る情報処理装置1等を適用することにより、例えば異なるSNS(Social Networking Service)のコミュニティの同一性を判定することができ、例えば犯罪組織の調査に応用できる。この例で、グラフデータベースが
図19に示すものである場合、変換後の文書は一例として、
“Taro of age 23 follows Sakura of age 26. Taro of age 23 follows Emi of age 25. Sakura of age 26 follows Emi of age 25. Sakura of age 26 wrote via smartphone tweet of text “I’m sleepy.” date 20XX/YY/ZZ. Emi of age 25 follows Sakura of age 26. Emi of age 25 follows Taro of age 23.”
である。
【0150】
<変形例6>
上述の各例示的実施形態において、情報処理装置1等がモデルMを学習する学習フェーズを実行する構成であってもよい。モデルMの機械学習の手法は限定されないが、一例として、決定木ベース、線形回帰、又はニューラルネットワークの手法が用いられてもよく、また、これらのうちの2以上の手法が用いられてもよい。
【0151】
<変形例7>
上述の各例示的実施形態において、モデルMの出力の前後に、学習可能なパラメータを備えた変換器を加える構成としてもよい。
図20は、学習可能なパラメータを備えた学習済み変換器121、122をモデルMの出力の前後に設けた構成を概略的に示す図である。学習済み変換器121、122は学習可能なパラメータを備え、学習部(図示略)が訓練データを用いてレコード変換の仕方(文章の作り方又は補助レコードの数、等)、及び/又は、変換のパラメータを最適化するモデルである。学習済み変換器121、122を設けることにより、レコードの類似度をより精度よく算出することができる。
【0152】
学習済み変換器121、122の機械学習の手法は限定されないが、一例として、決定木ベース、線形回帰、又はニューラルネットワークの手法が用いられてもよく、また、これらのうちの2以上の手法が用いられてもよい。また、学習済み変換器121、122は能動学習により生成されたモデルであってもよい。
【0153】
〔ソフトウェアによる実現例〕
情報処理装置1、1A、1B、1C、1Dの一部又は全部の機能は、集積回路(ICチップ)等のハードウェアによって実現してもよいし、ソフトウェアによって実現してもよい。
【0154】
後者の場合、情報処理装置1、1A、1B、1C、1Dは、例えば、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータによって実現される。このようなコンピュータの一例(以下、コンピュータCと記載する)を
図18に示す。コンピュータCは、少なくとも1つのプロセッサC1と、少なくとも1つのメモリC2と、を備えている。メモリC2には、コンピュータCを情報処理装置1、1A、1B、1C、1Dとして動作させるためのプログラムPが記録されている。コンピュータCにおいて、プロセッサC1は、プログラムPをメモリC2から読み取って実行することにより、情報処理装置1、1A、1B、1C、1Dの各機能が実現される。
【0155】
プロセッサC1としては、例えば、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、DSP(Digital Signal Processor)、MPU(Micro Processing Unit)、FPU(Floating point number Processing Unit)、PPU(Physics Processing Unit)、マイクロコントローラ、又は、これらの組み合わせなどを用いることができる。メモリC2としては、例えば、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又は、これらの組み合わせなどを用いることができる。
【0156】
なお、コンピュータCは、プログラムPを実行時に展開したり、各種データを一時的に記憶したりするためのRAM(Random Access Memory)を更に備えていてもよい。また、コンピュータCは、他の装置との間でデータを送受信するための通信インタフェースを更に備えていてもよい。また、コンピュータCは、キーボードやマウス、ディスプレイやプリンタなどの入出力機器を接続するための入出力インタフェースを更に備えていてもよい。
【0157】
また、プログラムPは、コンピュータCが読み取り可能な、一時的でない有形の記録媒体Mに記録することができる。このような記録媒体Mとしては、例えば、テープ、ディスク、カード、半導体メモリ、又はプログラマブルな論理回路などを用いることができる。コンピュータCは、このような記録媒体Mを介してプログラムPを取得することができる。また、プログラムPは、伝送媒体を介して伝送することができる。このような伝送媒体としては、例えば、通信ネットワーク、又は放送波などを用いることができる。コンピュータCは、このような伝送媒体を介してプログラムPを取得することもできる。
【0158】
〔付記事項1〕
本発明は、上述した実施形態に限定されるものでなく、請求項に示した範囲で種々の変更が可能である。例えば、上述した実施形態に開示された技術的手段を適宜組み合わせて得られる実施形態についても、本発明の技術的範囲に含まれる。
【0159】
〔付記事項2〕
上述した実施形態の一部又は全部は、以下のようにも記載され得る。ただし、本発明は、以下の記載する態様に限定されるものではない。
(付記1)
レコード対を取得する取得手段と、
前記レコード対を変換することによって変換済レコード対を生成する変換手段と、
前記変換済レコード対をモデルに入力することによって、前記変換済レコード対に関する類似度を算出する類似度算出手段と、
前記類似度算出手段が算出した類似度を出力する出力手段と、
を備えている情報処理装置。
【0160】
(付記2)
前記モデルは、複数のモデル候補から選択されたものであり、
前記変換手段は、前記レコード対を前記モデルの入力に対応する形式に変換することによって前記変換済レコード対を生成する、
付記1に記載の情報処理装置。
【0161】
(付記3)
前記モデルには、文書分類モデルが含まれており、
前記変換手段による変換処理には、前記レコード対を文書に変換することによって前記変換済レコード対を生成する処理が含まれる、
付記1又は2に記載の情報処理装置。
【0162】
(付記4)
前記モデルには、画像分類モデルが含まれており、
前記変換手段による変換処理には、前記レコード対を画像に変換することによって前記変換済レコード対を生成する処理が含まれる、
付記1から3の何れか1つに記載の情報処理装置。
【0163】
(付記5)
前記モデルには、音声分類モデルが含まれており、
前記変換手段による変換処理には、前記レコード対を音声に変換することによって前記変換済レコード対を生成する処理が含まれる、
付記1から4の何れか1つに記載の情報処理装置。
【0164】
(付記6)
前記モデルには、グラフ分類モデルが含まれており、
前記変換手段による変換処理には、前記レコード対をグラフに変換することによって前記変換済レコード対を生成する処理が含まれる、
付記1から5の何れか1つに記載の情報処理装置。
【0165】
(付記7)
前記取得手段は、補助レコードを更に取得し、
前記変換手段は、前記補助レコードを変換することによって変換済補助レコードを生成し、
前記類似度算出手段は、前記変換済レコード対及び前記変換済補助レコードを前記モデルに入力することによって、前記変換済レコード対に関する類似度を算出する、
付記1から6の何れか1つに記載の情報処理装置。
【0166】
(付記8)
前記モデルには、質問文と応答文とを入力とする質問応答モデルが含まれており、
前記変換手段は、前記レコード対に含まれる一方のレコードを質問文に変換し、前記レコード対に含まれる他方のレコード及び前記補助レコードの各々を応答文に変換することによって前記変換済レコード対を生成する、
付記7に記載の情報処理装置。
【0167】
(付記9)
前記類似度算出手段は、前記レコード対に関して複数の類似度を算出し、
前記出力手段は、前記複数の類似度を統合して得られる統合後の類似度を出力する、
付記1から8の何れか1つに記載の情報処理装置。
【0168】
(付記10)
前記モデルは、当該モデルに入力される2つの要素の互いの入れ替えに対して非対称性を有するモデルであり、
前記類似度算出手段は、
前記モデルに対して、前記レコード対に含まれる2つのレコードを互いに入れ替えずに入力することによって第1の類似度を算出し、
前記モデルに対して、前記レコード対に含まれる2つのレコードを互いに入れ替えてから入力することによって第2の類似度を算出する、
付記9に記載の情報処理装置。
【0169】
(付記11)
少なくとも1つのプロセッサが、
レコード対を取得することと、
前記レコード対を変換することによって変換済レコード対を生成することと、
前記変換済レコード対をモデルに入力することによって、前記変換済レコード対に関する類似度を算出することと、
前記算出した類似度を出力することと、
を含む情報処理方法。
【0170】
(付記12)
コンピュータに、
レコード対を取得する取得処理と、
前記レコード対を変換することによって変換済レコード対を生成する変換処理と、
前記変換済レコード対をモデルに入力することによって、前記変換済レコード対に関する類似度を算出する類似度算出処理と、
前記類似度算出処理において算出した類似度を出力する出力処理と、
を実行させる情報処理プログラム。
【0171】
(付記13)
ユーザからの入力データと、対象データに含まれる複数のレコードの1つとをレコード対として取得する取得手段と、
前記レコード対を変換することによって変換済レコード対を生成する変換手段と、
前記変換済レコード対をモデルに入力することによって、変換済レコード対に関する類似度を算出する類似度算出手段と、
前記類似度算出手段が算出した類似度を参照して、前記入力データに基づく検索結果であって、前記対象データを検索対象とする検索結果を出力する出力手段と、
を備えている情報処理装置。
【0172】
〔付記事項3〕
上述した実施形態の一部又は全部は、更に、以下のように表現することもできる。
【0173】
少なくとも1つのプロセッサを備え、前記プロセッサは、レコード対を取得する取得処理と、前記レコード対を変換することによって変換済レコード対を生成する変換処理と、前記変換済レコード対をモデルに入力することによって、前記変換済レコード対に関する類似度を算出する類似度算出処理と、前記類似度算出処理において算出した類似度を出力する出力処理とを実行する情報処理装置。
【0174】
なお、この情報処理装置は、更にメモリを備えていてもよく、このメモリには、前記取得処理と、前記変換処理と、前記類似度算出処理と、前記出力処理とを前記プロセッサに実行させるためのプログラムが記憶されていてもよい。また、このプログラムは、コンピュータ読み取り可能な一時的でない有形の記録媒体に記録されていてもよい。
【符号の説明】
【0175】
1、1A、1B、1C、1D 情報処理装置
11、11B 取得部
12、12B 変換部
13、13B、13C 類似度算出部
14、14C 出力部
16A 統合部