(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022051504
(43)【公開日】2022-03-31
(54)【発明の名称】半構造化データ内のエンティティを整合させるためのディープニューラルネットワーク
(51)【国際特許分類】
G06F 16/2458 20190101AFI20220324BHJP
G06N 3/08 20060101ALI20220324BHJP
G06F 16/215 20190101ALI20220324BHJP
【FI】
G06F16/2458
G06N3/08
G06F16/215
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2021110004
(22)【出願日】2021-07-01
(31)【優先権主張番号】17/025,845
(32)【優先日】2020-09-18
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
2.3GPP
(71)【出願人】
【識別番号】300015447
【氏名又は名称】エスアーペー エスエー
【住所又は居所原語表記】Dietmar-Hopp-Allee 16, 69190 Walldorf, Germany
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】マティアス・フランク
(72)【発明者】
【氏名】ホアン-ヴュ・グエン
(72)【発明者】
【氏名】シュテファン・クラウス・バウアー
(72)【発明者】
【氏名】アレクセイ・ストレリツォフ
(72)【発明者】
【氏名】ヤスミーン・マンカド
(72)【発明者】
【氏名】コルドゥラ・グダー
(72)【発明者】
【氏名】コンラッド・シェンク
(72)【発明者】
【氏名】フィリップ・ルーカス・ヤムシコフ
(72)【発明者】
【氏名】ロヒット・クマール・グプタ
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175EA03
5B175HB03
(57)【要約】 (修正有)
【課題】半構造化データ内のエンティティを整合させるシステム、方法及び非一時的機械可読媒体を提供する。
【解決手段】システム100は、エンティティの候補対同士の間の整合並びに対応する整合についてそのディープニューラルネットワークがどの程度確信しているかを反映する信頼スコアを決定するためにディープニューラルネットワークを利用する。ディープニューラルネットワークは、複数の表内のエンティティを整合させるために使用される先行技術の機械学習モデルの欠点である、機械学習モデルに対する特徴がハンドクラフトされた場合に必要とされることになるドメイン知識を必要とせずに、これらの整合を見出す。したがって、ディープニューラルネットワークは、同じタスクを実行するように設計された先行技術の機械学習モデルの機能を改善する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
システムであって、
少なくとも1つのハードウェアプロセッサと、
命令を記憶した非一時的コンピュータ可読媒体と
を備え、前記命令が、前記少なくとも1つのハードウェアプロセッサによって実行されると、前記少なくとも1つのハードウェアプロセッサに、
第1の表内の第1のエンティティを取得することであって、前記第1のエンティティが、複数のフィールドに対する値を含む、取得することと、
前記複数のフィールドのうちの1つまたは複数のフィールド内の前記値を1つまたは複数のトークンにトークン化することと、
入力のためのn次元空間内の座標のセットを生成するために、前記1つまたは複数のトークンの各々を第1の機械学習アルゴリズムによってトレーニングされた埋め込み機械学習モデルに渡し、前記1つまたは複数のトークンの各々に対する座標を備えた埋め込みを生み出すことと、
前記1つまたは複数のトークンに対する、および前記第1のエンティティ内の前記複数のフィールドのうちの前記1つまたは複数のフィールドの各々に対する前記埋め込みを連結して第1の行列にすることと、
前記第1のエンティティに対する起源フィールドシーケンスを構築することであって、前記起源フィールドシーケンスが、前記第1のエンティティ内の前記複数のフィールドのうちの前記1つまたは複数のフィールドの各々に対する前記1つまたは複数のトークンの各々に対する、そこからトークンが生成された前記値に対応するフィールドの識別を含む、構築することと、
前記起源フィールドシーケンス内の各値に対する座標のセットを生成するために、前記起源フィールドシーケンス内の各値を前記埋め込み機械学習モデルに渡すことと、
前記起源フィールドシーケンス内の各値に対する前記埋め込みを連結して第2の行列にすることと、
第3の行列を作成するために、前記第1の行列および前記第2の行列を積み重ねることと、
前記第1のエンティティを埋め込みのその独自の行列によって表される第2のエンティティと比較するために、前記第3の行列を分解可能アテンションニューラルネットワークに渡すことと
を含む動作を実行させる
システム。
【請求項2】
前記動作が、
第2の表内の第2のエンティティを取得することであって、前記第2のエンティティが、複数のフィールドに対する値を含む、取得することと、
前記第2のエンティティ内の前記複数のフィールドのうちの1つまたは複数のフィールドの各々の中の前記値を1つまたは複数のトークンにトークン化することと、
前記1つまたは複数のトークンの各々を前記埋め込み機械学習モデルに渡し、前記第2のエンティティの前記1つまたは複数のトークンの各々に対する座標のセットを備えた埋め込みを生み出すことと、
前記1つまたは複数のトークンの各々に対する、および前記第2のエンティティ内の前記複数のフィールドのうちの前記1つまたは複数のフィールドの各々に対する、前記埋め込みを連結して第4の行列にすることと、
前記第2のエンティティに対する起源フィールドシーケンスを構築することであって、前記起源フィールドシーケンスが、前記第2のエンティティ内の前記複数のフィールドのうちの前記1つまたは複数のフィールドの各々に対する前記1つまたは複数のトークンの各々に対する、そこからトークンが生成された前記値に対応するフィールドの識別を含む、構築することと、
前記第2のエンティティに対する前記起源フィールドシーケンス内の各値に対する座標のセットを生成するために、前記第2のエンティティに対する前記起源フィールドシーケンス内の各値を前記埋め込み機械学習モデルに渡すことと、
前記第2のエンティティに対する前記起源フィールドシーケンス内の各値に対する前記埋め込みを連結して第5の行列にすることと、
第6の行列を作成するために、前記第4の行列および前記第5の行列を積み重ねることであって、前記第6の行列が、前記分解可能アテンションニューラルネットワークによって前記第3の行列と比較される、積み重ねることと
をさらに含む、請求項1に記載のシステム。
【請求項3】
前記動作が、前記分解可能アテンションニューラルネットワークの出力を分類器モジュールに渡すことであって、前記分類器モジュールが、マルチクラス出力を有する高密度ニューラルネットワークを備える、渡すことをさらに含む、請求項2に記載のシステム。
【請求項4】
前記マルチクラス出力が、整合、部分整合、および整合なしに対する別個のクラスを含む、請求項3に記載のシステム。
【請求項5】
前記動作が、前記第1のエンティティ内の前記複数のフィールドを3つのフィールドカテゴリ、すなわち、テキストベースフィールド、カテゴリフィールド、および数値/日付フィールドに分割することであって、前記複数のフィールドのうちの前記1つまたは複数のフィールドが、前記テキストベースフィールドである、分割することをさらに含む、請求項1に記載のシステム。
【請求項6】
前記動作が、前記カテゴリフィールドの前記値を、第1のフィードフォーワードニューラルネットワークがその後に続いている第2の埋め込み機械学習モデルに渡すことをさらに含む、請求項5に記載のシステム。
【請求項7】
前記動作が、前記数値/日付フィールド内の値を正規化し、前記正規化された値を第2のフィードフォーワードニューラルネットワークに渡すことをさらに含む、請求項6に記載のシステム。
【請求項8】
方法であって、
第1の表内の第1のエンティティを取得するステップであって、前記第1のエンティティが、複数のフィールドに対する値を含む、取得するステップと、
前記複数のフィールドのうちの1つまたは複数のフィールド内の前記値を1つまたは複数のトークンにトークン化するステップと、
入力のためのn次元空間内の座標のセットを生成するために、前記1つまたは複数のトークンの各々を第1の機械学習アルゴリズムによってトレーニングされた埋め込み機械学習モデルに渡し、前記1つまたは複数のトークンの各々に対する座標を備えた埋め込みを生み出すステップと、
前記1つまたは複数のトークンに対する、および前記第1のエンティティ内の前記複数のフィールドのうちの前記1つまたは複数のフィールドの各々に対する前記埋め込みを連結して第1の行列にするステップと、
前記第1のエンティティに対する起源フィールドシーケンスを構築するステップであって、前記起源フィールドシーケンスが、前記第1のエンティティ内の前記複数のフィールドのうちの前記1つまたは複数のフィールドの各々に対する前記1つまたは複数のトークンの各々に対する、そこからトークンが生成された前記値に対応するフィールドの識別を含む、構築するステップと、
前記起源フィールドシーケンス内の各値に対する座標のセットを生成するために、前記起源フィールドシーケンス内の各値を前記埋め込み機械学習モデルに渡すステップと、
前記起源フィールドシーケンス内の各値に対する前記埋め込みを連結して第2の行列にするステップと、
第3の行列を作成するために、前記第1の行列および前記第2の行列を積み重ねるステップと、
前記第1のエンティティを埋め込みのその独自の行列によって表される第2のエンティティと比較するために、前記第3の行列を分解可能アテンションニューラルネットワークに渡すステップと
を含む、方法。
【請求項9】
第2の表内の第2のエンティティを取得するステップであって、前記第2のエンティティが、複数のフィールドに対する値を含む、取得するステップと、
前記第2のエンティティ内の前記複数のフィールドのうちの1つまたは複数のフィールドの各々の中の前記値を1つまたは複数のトークンにトークン化するステップと、
前記1つまたは複数のトークンの各々を前記埋め込み機械学習モデルに渡し、前記第2のエンティティの前記1つまたは複数のトークンの各々に対する座標のセットを備えた埋め込みを生み出すステップと、
前記1つまたは複数のトークンの各々に対する、および前記第2のエンティティ内の前記複数のフィールドのうちの前記1つまたは複数のフィールドの各々に対する、前記埋め込みを連結して第4の行列にするステップと、
前記第2のエンティティに対する起源フィールドシーケンスを構築するステップであって、前記起源フィールドシーケンスが、前記第2のエンティティ内の前記複数のフィールドのうちの前記1つまたは複数のフィールドの各々に対する前記1つまたは複数のトークンの各々に対する、そこからトークンが生成された前記値に対応するフィールドの識別を含む、構築するステップと、
前記第2のエンティティに対する前記起源フィールドシーケンス内の各値に対する座標のセットを生成するために、前記第2のエンティティに対する前記起源フィールドシーケンス内の各値を前記埋め込み機械学習モデルに渡すステップと、
前記第2のエンティティに対する前記起源フィールドシーケンス内の各値に対する前記埋め込みを連結して第5の行列にするステップと、
第6の行列を作成するために、前記第4の行列および前記第5の行列を積み重ねるステップであって、前記第6の行列が、前記分解可能アテンションニューラルネットワークによって前記第3の行列と比較される、積み重ねるステップと
をさらに含む、請求項8に記載の方法。
【請求項10】
前記分解可能アテンションニューラルネットワークの出力を分類器モジュールに渡すステップであって、前記分類器モジュールが、マルチクラス出力を有する高密度ニューラルネットワークを備える、渡すステップをさらに含む、請求項9に記載の方法。
【請求項11】
前記マルチクラス出力が、整合、部分整合、および整合なしに対する別個のクラスを含む、請求項10に記載の方法。
【請求項12】
前記第1のエンティティ内の前記複数のフィールドを3つのフィールドカテゴリ、すなわち、テキストベースフィールド、カテゴリフィールド、および数値/日付フィールドに分割するステップであって、前記複数のフィールドのうちの前記1つまたは複数のフィールドが、前記テキストベースフィールドである、分割するステップをさらに含む、請求項8に記載の方法。
【請求項13】
前記カテゴリフィールドの前記値を、第1のフィードフォーワードニューラルネットワークがその後に続いている第2の埋め込み機械学習モデルに渡すステップをさらに含む、請求項12に記載の方法。
【請求項14】
前記数値/日付フィールド内の値を正規化し、前記正規化された値を第2のフィードフォーワードニューラルネットワークに渡すステップをさらに含む、請求項13に記載の方法。
【請求項15】
命令を記憶した非一時的機械可読媒体であって、前記命令が、1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
第1の表内の第1のエンティティを取得することであって、前記第1のエンティティが、複数のフィールドに対する値を含む、取得することと、
前記複数のフィールドのうちの1つまたは複数のフィールド内の前記値を1つまたは複数のトークンにトークン化することと、
入力のためのn次元空間内の座標のセットを生成するために、前記1つまたは複数のトークンの各々を第1の機械学習アルゴリズムによってトレーニングされた埋め込み機械学習モデルに渡し、前記1つまたは複数のトークンの各々に対する座標を備えた埋め込みを生み出すことと、
前記1つまたは複数のトークンに対する、および前記第1のエンティティ内の前記複数のフィールドのうちの前記1つまたは複数のフィールドの各々に対する前記埋め込みを連結して第1の行列にすることと、
前記第1のエンティティに対する起源フィールドシーケンスを構築することであって、前記起源フィールドシーケンスが、前記第1のエンティティ内の前記複数のフィールドのうちの前記1つまたは複数のフィールドの各々に対する前記1つまたは複数のトークンの各々に対する、そこからトークンが生成された前記値に対応するフィールドの識別を含む、構築することと、
前記起源フィールドシーケンス内の各値に対する座標のセットを生成するために、前記起源フィールドシーケンス内の各値を前記埋め込み機械学習モデルに渡すことと、
前記起源フィールドシーケンス内の各値に対する前記埋め込みを連結して第2の行列にすることと、
第3の行列を作成するために、前記第1の行列および前記第2の行列を積み重ねることと、
前記第1のエンティティを埋め込みのその独自の行列によって表される第2のエンティティと比較するために、前記第3の行列を分解可能アテンションニューラルネットワークに渡すことと
を含む動作を実行させる、非一時的機械可読媒体。
【請求項16】
前記動作が、
第2の表内の第2のエンティティを取得することであって、前記第2のエンティティが、複数のフィールドに対する値を含む、取得することと、
前記第2のエンティティ内の前記複数のフィールドのうちの1つまたは複数のフィールドの各々の中の前記値を1つまたは複数のトークンにトークン化することと、
前記1つまたは複数のトークンの各々を前記埋め込み機械学習モデルに渡し、前記第2のエンティティの前記1つまたは複数のトークンの各々に対する座標のセットを備えた埋め込みを生み出すことと、
前記1つまたは複数のトークンの各々に対する、および前記第2のエンティティ内の前記複数のフィールドのうちの前記1つまたは複数のフィールドの各々に対する、前記埋め込みを連結して第4の行列にすることと、
前記第2のエンティティに対する起源フィールドシーケンスを構築することであって、前記起源フィールドシーケンスが、前記第2のエンティティ内の前記複数のフィールドのうちの前記1つまたは複数のフィールドの各々に対する前記1つまたは複数のトークンの各々に対する、そこからトークンが生成された前記値に対応するフィールドの識別を含む、構築することと、
前記第2のエンティティに対する前記起源フィールドシーケンス内の各値に対する座標のセットを生成するために、前記第2のエンティティに対する前記起源フィールドシーケンス内の各値を前記埋め込み機械学習モデルに渡すことと、
前記第2のエンティティに対する前記起源フィールドシーケンス内の各値に対する前記埋め込みを連結して第5の行列にすることと、
第6の行列を作成するために、前記第4の行列および前記第5の行列を積み重ねることであって、前記第6の行列が、前記分解可能アテンションニューラルネットワークによって前記第3の行列と比較される、積み重ねることと
をさらに含む、請求項15に記載の非一時的機械可読媒体。
【請求項17】
前記動作が、前記分解可能アテンションニューラルネットワークの出力を分類器モジュールに渡すことであって、前記分類器モジュールが、マルチクラス出力を有する高密度ニューラルネットワークを備える、渡すことをさらに含む、請求項16に記載の非一時的機械可読媒体。
【請求項18】
前記マルチクラス出力が、整合、部分整合、および整合なしに対する別個のクラスを含む、請求項17に記載の非一時的機械可読媒体。
【請求項19】
前記動作が、前記第1のエンティティ内の前記複数のフィールドを3つのフィールドカテゴリ、すなわち、テキストベースフィールド、カテゴリフィールド、および数値/日付フィールドに分割することであって、前記複数のフィールドのうちの前記1つまたは複数のフィールドが、前記テキストベースフィールドである、分割することをさらに含む、請求項15に記載の非一時的機械可読媒体。
【請求項20】
前記動作が、前記カテゴリフィールドの前記値を、第1のフィードフォーワードニューラルネットワークがその後に続いている第2の埋め込み機械学習モデルに渡すことをさらに含む、請求項19に記載の非一時的機械可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本書は、一般に、機械学習に関する。より詳細には、本書は、半構造化データ内のエンティティを整合させるためのディープニューラルネットワークに関する。
【背景技術】
【0002】
データベースは、通常、各行が異なるエンティティを表す状態で、表内にデータを記憶する。エンティティは、たとえば、ユーザ、文書、組織、ロケーションなどを含めて、データセット内の任意の要素であってよいが、多くのタイプのデータ記憶装置内で、表内の各行は、異なるエンティティに対応する。表が、たとえば、文書の表である場合、各行は、異なる文書を表す。データ記憶装置内で生じ得る1つの問題は、複数の表にわたってエンティティを整合させることができないことである。たとえば、それぞれの表内に記憶されたデータは、正規化されない可能性があり、したがって、異なる表は、同じエンティティに関する情報を2つの異なる方法で記憶している可能性があるため、1つの表内のエンティティが別の表内に列挙されたのと同じエンティティであるかどうかを決定することは困難であり得る。たとえば、顧客を対象とする製品カタログは、コンポーネントサプライヤを対象とする製品カタログ内の同じ情報とは異なるフォーマットで記憶された製品に関する情報を含有し得る。場合によっては、情報の2つの異なるフォーマットを調整するために、異なる表内のエンティティ間の整合を識別することが有益であり得る。他の場合には、この整合を使用して、記憶サイズを低減するために2度列挙されることが意図されないエンティティを重複排除することができる。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】BERKHAHN, FELIX, et al., "Entity Embeddings of Categorical Variables", arXiv:1604.06737v1 [cs.LG], (22 Apr 2016), 1-9
【非特許文献2】PARIKH, ANKUR, et al., "A Decomposable Attention Model for Natural Language Inference", arXiv:1606.01933v2 [cs.CL], (25 Sep 2016), 7 pgs
【発明の概要】
【課題を解決するための手段】
【0004】
本開示は、同様の参照番号が同様の要素を示す、添付の図面の図において、限定ではなく、例として示される。
【図面の簡単な説明】
【0005】
【
図1】1つの例示的な実施形態による、表内のエンティティを整合させるために機械学習を使用するためのシステムを示すブロック図である。
【
図2】1つの例示的な実施形態による、シーケンス処理動作の一例を示す図である。
【
図3】1つの例示的な実施形態による、機械学習モデルを使用して表内のエンティティを整合させる方法を示す流れ図である。
【
図4】上記で説明したデバイスのいずれか1つまたは複数の上に設置され得るソフトウェアのアーキテクチャを示すブロック図である。
【
図5】1つの例示的な実施形態による、本明細書で論じる方法論のうちのいずれか1つまたは複数を機械に実行させるための命令のセットが実行され得る、コンピュータシステムの形態の機械の図表示である。
【発明を実施するための形態】
【0006】
続く説明は、例示的なシステム、方法、技法、命令シーケンス、および計算機プログラム製品について論じる。以下の説明において、説明のために、本主題の様々な例示的な実施形態の理解をもたらすために、多数の詳細な説明が記載される。しかしながら、本主題の様々な例示的な実施形態がこれらの特定の詳細なしに実践され得ることは当業者に明らかになるであろう。
【0007】
1つの例示的な実施形態では、エンティティの候補対同士の間の整合、ならびに対応する整合についてそのディープニューラルネットワークがどの程度確信しているかを反映する信頼スコアを決定するために、ディープニューラルネットワークが利用され得る。ディープニューラルネットワークは、複数の表内のエンティティを整合させるために使用される先行技術の機械学習モデルの欠点である、機械学習モデルに対する特徴がハンドクラフトされた(handcrafted)場合に必要とされることになるドメイン知識を必要とせずに、これらの整合を見出すことがやはり可能である。実際に、場合によっては、ユーザが工学的特徴の全体集合を定義することは不可能な場合があり(専門用語のセマンティックおよび正確な使用法が、国にわたって、かつ組織にわたって、異なり得る場合など)、先行技術を使用不可能にする。したがって、ディープニューラルネットワークは、同じタスクを実行するように設計された先行技術の機械学習モデルの機能を改善する。具体的には、ディープニューラルネットワークは、表形式フィールドと整合を定義するパターンの関係を履歴データのみから学習し、その文脈とは無関係に、この手法を包括的かつ適用可能にする。
【0008】
表自体が半構造化と見なされ得る。表内のいくつかのフィールドは、構造化データを含有し得る(すなわち、これらのフィールドは、金額、容量、および数量などの日付/数値などのクリアタイプ、または国コードまたは通貨コードなどのカテゴリ値を有する)。表内の他のフィールドは、品目説明、参照番号、銀行取引明細書メモ通知、企業名、など、非構造化テキストタイプフィールドである。これらのテキストフィールドのいくつかに対してフォーマット規約が存在し得るが、フィールド内のデータは、一般に、ユーザによって入力され、したがって、コンテンツはかなり異なり得る。たとえば、銀行振込み支払いメモフィールドの場合、送り状番号を含有することもあり、含有しないこともあり、参照番号は、先行するゼロを有することもあり、有さないこともあり、企業名は、その企業の所在市を含有することもあり、含有しないこともある、などである。これらの非構造化フィールドは、多くの場合、整合するエンティティを見出すために必要な情報の大部分を搬送する。
【0009】
1つの解決策は、「金額がエンティティ同士の間で整合し、送り状番号が銀行支払いメモフィールド内に含有されている場合、整合する」など、異なる表からのエンティティを調整するために基本的な自動化形態を使用することである。そのような規則ベースの自動化は、それらのフィールドの各々の中のデータタイプに関する知識およびそれらの対応する意味を用いてプログラムされなければならないという点で、そのような自動化は、柔軟性に欠ける。より高い程度の自動化は、「ファジー」データに対処し、履歴データからのパターンに適応し得る機械学習手法を使用して達成され得る。
【0010】
機械学習手法は、ペアワイズ整合スコアリングを使用することによってタスクを機械学習問題と定義する。具体的には、機械学習モデルfは、品目が整合である確率スコア
【0011】
【0012】
(または、より一般的に、マルチクラス確率スコア(たとえば、「整合なし」、「1対1整合」、「部分整合」))を出力するように、履歴データからのエンティティの対
【0013】
【0014】
(ここで、
【0015】
【0016】
は、2つのエンティティの各々の表形式データを表す)、およびクラス標示
【0017】
【0018】
(たとえば、「整合」または「整合なし」)に対してトレーニングされる:
【0019】
【0020】
トレーニングデータは、標示された対
【0021】
【0022】
の形態であってよく、ここで、
【0023】
【0024】
は、標示を符号化するインジケータベクトルであり、Cは、出力クラスの数である。テスト時点で、エンティティの対(a,b)が受信され、目標は、正確な標示yを予測することである。留意すべきは、トレーニングデータについてこの項で具体的に述べるが、このデータは、ニューラルネットワーク全体を一緒にトレーニングするために使用されることである。
【0025】
トレーニングデータは、どのエンティティが整合すると見なされるかを指定する履歴データから取得される。次いで、これらの肯定的な例(「1対1整合」、または「部分整合」を構成する対)およびクラスの否定的な例(整合なし)の生成された対からトレーニングデータが構築される。
【0026】
所与のエンティティ
【0027】
【0028】
に対する整合を見出すために、すべてのM個の関連する候補対
【0029】
【0030】
がスコアリングされ、結果がアグリゲートされ、そのモデルがどの程度確実にその結果に基づくかを反映する信頼スコアととともに、最良の整合(または、部分整合の組合せ)が出力として選定される。
【0031】
この問題に対する先行技術の機械学習手法は、工学的特徴、または表のフィールド同士の間の他のタイプの事前に割当てられた関係に依存した。しかしながら、先に述べたように、この手法は、ドメイン知識が利用可能ではないエリアにおいて機能しない。これは、たとえば、モデル作成者がモデルのユーザとは異なる場合によく発生する。ソフトウェア組織は、たとえば、モデルを作成し得るが、モデルはそのソフトウェア組織が知らないか、またはあまり詳しくない業界(たとえば、ヘルスケア業界、またはスプリンクラーコンポーネント製造業者)によって使用されることがある。
【0032】
1つの例示的な実施形態では、機械学習モデルとしてディープニューラルネットワークが利用され、表内のフィールドの意味または表内のフィールド同士の間の関係のドメイン知識がトレーニング中に必要とされないような形でトレーニングされる。
【0033】
図1は、1つの例示的な実施形態による、表内のエンティティを整合させるために機械学習を使用するためのシステム100を示すブロック図である。ここで、アプリケーションサーバ102は、一連の構成要素を実行して、整合を実行する。いくつかの例示的な実施形態では、アプリケーションサーバ102は、クラウドベースであってよい。組織のデータ収集物104は、その組織に関する多くの異なる文書表(数千または数百万の可能性がある)を包含し得る。これらの表のうちの1つまたは複数は、機械学習構成要素106に渡されてよく、機械学習構成要素106は、表間の整合するエンティティを識別するように活動する。その発生に先立って、機械学習構成要素106内のディープニューラルネットワーク108は、トレーニングデータ110を使用してトレーニングされてよく、トレーニングデータ110は、整合を識別する標示(完全、すなわち、1対1整合、もしくは、単一の支払いがいくつかの異なる送り状に対応するなど、部分整合、のいずれか、またはその逆)を有するエンティティを備えたサンプル表であり得る。フィールドグルーパー(grouper)112は、トレーニングデータ110からの各表内のフィールドを3つの異なるフィールドタイプのうちの1つにグループ化するように活動し得る。第1のフィールドタイプは、
【0034】
【0035】
と表されるテキスト様(text-like)フィールド、
【0036】
【0037】
と表されるカテゴリフィールド、
【0038】
【0039】
と表される数値およびデータフィールドである。ディープニューラルネットワーク108は、これらのフィールドタイプの各々に対して、別個のニューラルネットワーク120A、120B、120Cを備える。
【0040】
テキスト様フィールドは、名称、送り状番号、など、非構造化テキストを含有するフィールドである。カテゴリフィールドは、国キー、通貨コード、など、カテゴリ識別を含有するフィールドである。数値特徴は、構造化された番号および日付を含有するフィールドである。
【0041】
画像部分それ自体はテキストではないが、この部分はテキストを含有し得る。したがって、画像内のテキストを識別するために、画像部分に対して光学文字認識を実行することができる。文書ファイルのファイルフォーマットに応じて、光学文字認識は、文書のテキスト部分に対して実行されてもよい(いくつかのファイルフォーマットでは、テキスト部分は、テキスト可読形態ですでに記憶されており、したがって、光学文字認識を必要としない)。
【0042】
カテゴリフィールドの場合、ニューラルネットワーク120Bは、各フィールドの値をn次元空間のベクトルに変換するカテゴリ埋め込みモデルを備える(この文脈で、ベクトルは、値の1次元アレイであるか、またはn次元空間で協働することを意味する)。この変換は、トレーニング可能な埋め込みルックアップ(embedding-lookup)を使用して実行される。具体的には、関数近似問題において、カテゴリ変数のエンティティ埋め込みであるユークリッド空間にカテゴリ変数がマッピングされる。このマッピングそれ自体がニューラルネットワークによって学習される。次いで、この埋め込みの後に、高密度フィードフォーワード(dense feed forward)ニューラルネットワークが続く。
【0043】
数値フィールドの場合、これらのフィールドは、日付またはタイムスタンプを、いくつかの固定された日付および時間以来の日/秒など、数値尺度に変換することによって、正規化され得る。
【0044】
随意の例示的な実施形態では、数値フィールドおよびカテゴリフィールドは、それらのテキスト表現を(それらを数値入力およびカテゴリ入力として維持することによって、またはそれらのテキスト表現のみを使用することによって、のいずれかによって)テキストベクトルに添付することによってなど、テキストフィールドとして扱われ得る。
【0045】
異なる表形式フィールドからの一連のテキストストリングを表すテキスト様フィールドは、トークン化される。1つの例示的な実施形態では、各ユニコード文字はトークンであるが、他の実施形態では、ワードベースまたはサブワードベースのトークナイザが使用され得る。具体的には、一連の動作は、ニューラルネットワーク120A内のシーケンスプロセッサ122によって実行され得る。具体的には、シーケンスプロセッサ122は、エンティティのテキストフィールド
【0046】
【0047】
をトークン化し、連結して、それぞれ、長さlaおよびlbの入力シーケンス
【0048】
【0049】
および
【0050】
【0051】
を形成する。これらのシーケンスは、次いで、トレーニング可能な埋め込みルックアップを介して(次元kemb,textの)フロートベクトル(float vectors)のシーケンスに変換される。トレーニング可能な埋め込みルックアップに対する代替実装形態では、トークン化がワードベースである場合、事前にトレーニングされたワード埋め込みルックアップが使用され得る。
【0052】
トークンの第2のシーケンスは、文字(またはワードもしくはサブワード)の各々の元のシーケンス内のどの表形式フィールドが生じたかに関する情報を符号化するために生成される。第2のトレーニング可能な埋め込みルックアップは、それをkemb,field次元ベクトルの長さlaのシーケンスに変換するために使用される。
【0053】
これらの2つのシーケンスは、次いで、ベクトル次元に沿って積み重ねられ、k次元ベクトルの長さlaのシーケンス(k=kemb,text+kemb,field)を形成する。
【0054】
積み重ねられたシーケンスは、次いで、シーケンス間モジュール124によって、場合によっては、積み重ねられたシーケンスを先行するゼロでパディングして、固定長にすることによって、処理される。1つの例示的な実施形態では、多層1d畳み込みネットワークが利用されるが、他の例示的な実施形態では、再帰型ニューラルネットワークまたはセルフアテンション(self-attention)/トランスフォーマモジュールが可能である。シーケンス間モジュール124は、本発明者らが、
【0055】
【0056】
と示す、k'次元ベクトルの長さl'aのシーケンスを出力する。類似の処理をテキストフィールド
【0057】
【0058】
に適用し、第2の事前処理されたシーケンス
【0059】
【0060】
を取得する。注記として、シーケンス間モジュール124は、トレーニング可能なマッピング関数FAおよびFBと示すことができ、
【0061】
【0062】
である。使用事例に応じて、トレーニング可能なパラメータのうちのいくつかがFAとFBの間で共有され得る。すべてのパラメータが共有される場合、FA=FBを有することになる。
【0063】
トークンレベル埋め込みルックアップは、個々のトークン同士の間の対応をモデル形成し得る(たとえば、「a」は、「A」、「α」、および「a'」に類似する)。トークンシーケンスを起源フィールド情報(field-of-origin information)で拡張することにより、モデルは、表形式フィールド同士の間の関係を学習することが可能である。たとえば、銀行取引明細書と送り状の整合タスクにおいて、送り状番号フィールドと支払通知の間の共通番号列は整合を示し得るが、送り状番号と支払金額または郵便番号の間の共通番号列は、偶然であり得、何の意味も有さない。
【0064】
シーケンス間動作におけるさらなる処理は、アルゴリズムが、トークンの文脈をモデル形成し(たとえば、先行する0はあまり重要でない場合がある)、マルチトークンシーケンスの対応を学習することを可能にする(たとえば、「Volkswagen」は、「VW」および(日本語など)外国語アルファベットの対応する言語に対応し得る)を可能にする。
【0065】
具体的には、分解可能アテンションおよびアグリゲーション構成要素(decomposable attention and aggregation component)126は、分解可能アテンションを利用して、シーケンスのアラインメントおよび比較を実行する。
【0066】
図2は、1つの例示的な実施形態による、シーケンス処理動作の一例を示す図である。この図は、エンティティのテキスト様フィールド200が、どのようにトークン化され、連結されて第1のシーケンス202になり、次いで、対応するトークンが存在するフィールドのフィールド位置を示す第2のシーケンス204が生成されるかを示す。第1のシーケンス202と第2のシーケンス204は両方とも、次いで、それぞれ、埋め込み206および208にマッピングされる。行列として記憶され得る埋め込み206および208は、次いで、一緒に積み重ねられ、行列210にアラインメントされる。シーケンス間モジュールは、次いで、k'次元ベクトル212を出力する。
【0067】
k'次元ベクトル
【0068】
【0069】
(ベクトル212と同一)は、次いで、分解可能アテンションおよびアグリゲーション構成要素126に渡され、分解可能アテンションおよびアグリゲーション構成要素126は、以下のように動作する:
【0070】
コアモデルは、一緒にトレーニングされる、以下の3つの構成要素を備える:
【0071】
アテンション。第1に、ニューラルアテンション(neural attention)の変形態を使用して、
【0072】
【0073】
の要素をソフトアラインメントし、この問題をアラインメントされたサブフレーズの比較に分解する。
【0074】
比較。第2に、それぞれのアラインメントされたサブフレーズを別個に比較して、aに対するベクトル
【0075】
【0076】
およびbに対するベクトル
【0077】
【0078】
のセットを生み出す。各v1,iは、aiとbの中のその(ソフトに)アラインメントされたサブフレーズの非線形結合である(かつ、v2,jと類似する)。
【0079】
アグリゲーション。最後に、前のステップからのセット
【0080】
【0081】
をアグリゲーションし、その結果を使用して、標示
【0082】
【0083】
を予測する。
【0084】
本発明者らは、最初に、関数F'によって計算された、
【0085】
【0086】
のように分解する非正規化アテンション重みeijを取得する。この分解は、F'laxlb回別個に適用することに関連付けられることになる二次複雑性(quadratic complexity)を回避する。代わりに、FA/Bのla+lb適用のみが必要とされる。
これらのアテンション重みは、
【0087】
【0088】
のように正規化され、ここで、βiは、
【0089】
【0090】
に(ソフトに)アラインメントされた
【0091】
【0092】
内のサブフレーズであり、αjに対しても同様である。
【0093】
次に、アラインメントされたフレーズ
【0094】
【0095】
は、この場合もフィードフォーワードネットワークである関数Gを使用して別個に比較される:
【0096】
【0097】
式中、角括弧[.,.]は、連結を示す。この場合、線形数の品目のみが存在し、前のステップにおいて行われたように分解を適用する必要はないことに留意されたい。したがって、Gは、
【0098】
【0099】
とβiの両方を一緒に考慮に入れることができる。
【0100】
この時、2つのセットの比較ベクトル
【0101】
【0102】
が存在する。最初に、システムは、平均、最大プーリング、または総和など、何らかの種類のプーリングによって各セットに対してアグリゲートし得:
【0103】
【0104】
最終分類器Hによってその結果をフィードし、最終分類器Hはフィードフォーワードネットワークであり、その後に線形レイヤが続く:
【0105】
【0106】
式中、
【0107】
【0108】
は、各クラスに対する予測された(非正規化)スコアを表し、結果的に、予測されるクラスは、
【0109】
【0110】
によって与えられる。
【0111】
トレーニングのために、ドロップアウト正規化(dropout regularization)とともにマルチクラスクロスエントロピー損失が使用され得る:
【0112】
【0113】
ここで、θ
F、θ
G、θ
Hは、それぞれ、関数F
A/B、G、およびHの学習可能パラメータを示す。
図1を再度参照すると、最終分類器モジュール128は、マルチクラス出力を有する高密度ニューラルネットワークを備える。最終分類器モジュール128は、前のモジュールのすべての出力を受信し、そのモデルがトレーニングされたクラスに対する確率を生み出す。
【0114】
整合利用モジュール130は、次いで、最終分類器モジュール128の出力、ならびに信頼スコアを利用して、エンティティを整合(もしくは、部分的に整合させる、または整合なし)に関する1つまたは複数の活動を実行し得る。たとえば、整合するエンティティは、調整のためにグラフィカルユーザインターフェース内でユーザに提示され得る。代替として、整合するエンティティは、自動的に調整され得、これは、それが他のエンティティに整合することに基づいて、エンティティのうちの1つに対して活動が実行されることを意味する。一例として、入金を表すエンティティは、部分的または完全に、のいずれかで、その支払いが適用されるべき送り状を表すエンティティに整合され得る。調整は、次いで、その支払いをその送り状に適用し、その支払いがその送り状に適用されていることを関連する当事者が知るように、そのプロセスの記録を作成することを必要とする。
【0115】
代替として、調整のために最終分類器モジュール128の出力を使用するのではなく、整合利用モジュール130は、複製のためにその出力を利用し得る。具体的には、たとえば、整合するエンティティが、冗長な表の中、または同じ表の中にすら出現する場合、それらのエンティティのうちの1つは、除去され得、かつ/または、他のエンティティは何らかの形で重複または冗長と見なされるため、他のエンティティ内に結合され得る。
【0116】
図3は、1つの例示的な実施形態による、機械学習モデルを使用して表内のエンティティを整合させる方法300を示す流れ図である。この方法300は、第1のエンティティを第2のエンティティと比較して、それが整合であるかどうかを決定することに関して説明される。実際には、整合または部分整合を識別するために、いくつかの例示的な実施形態では、方法300は、検査されている表内のエンティティの様々な組合せに対して繰り返され得る。たとえば、表#1が10個のエンティティを有し、表#2が8個のエンティティを有する場合、表#1および表#2からのエンティティの80個の異なる組合せが検査され得る。いくつかの例示的な実施形態では、同じ表からのエンティティが互いと比較され、結果として、さらに多くの組合せが試験されてもよい。
【0117】
2個のエンティティの各々に対してループが開始される。動作302において、複数のフィールドに対する値を含む、対応するエンティティを取得する。動作304において、これらのフィールドを、テキストベースフィールドに対して1つ、カテゴリフィールドに対して1つ、および数値/日付フィールドに対して1つのカテゴリに分割する。動作306において、テキストベースフィールドに対する値をトークン化する。動作308において、入力に対するn次元空間内の座標のセットを生成し、1つまたは複数のトークンの各々に対する座標のセットを備えた埋め込みを生み出すために、トークンの各々を第1の機械学習アルゴリズムによってトレーニングされた埋め込み機械学習モデルに渡す。動作310において、1つまたは複数のトークンの各々に対する埋め込みを連結して第1の行列にする。
【0118】
動作312において、エンティティに対する起源フィールドシーケンスを構築する。起源フィールドシーケンスは、テキストベースフィールドの各々に対する1つまたは複数のトークンの各々に対する、そこからトークンが生成された値に対応するテキストベースフィールドの識別を含む。動作314において、起源フィールドシーケンス内の各値に対する座標のセットを生成するために、起源フィールドシーケンス内の各値を埋め込み機械学習モデル内に渡す。動作316において、起源フィールドシーケンス内の各値に対する埋め込みを連結して第2の行列にする。
【0119】
動作318において、第3の行列を作成するために、第1の行列および第2の行列を積み重ねる。動作320において、k'次元ベクトルのシーケンスを出力するマルチレイヤ1d畳み込みネットワークに第3の行列を渡す。動作322において、エンティティが第1のエンティティであったか、または第2のエンティティであったかを決定する。それが第1のエンティティであった場合、方法300は、第2のエンティティに対して動作302をループバックする。それが第2のエンティティであった場合、動作324において、テキストベースフィールドに基づいて第1のエンティティを第2のエンティティと比較するために、k'次元ベクトルを分解可能アテンションニューラルネットワークに渡す。動作326において、カテゴリフィールドに基づいて第1のエンティティを第2のエンティティと比較するために、第1のフィードフォーワードニューラルネットワークを使用する。動作328において、数値/日付フィールドを正規化し、数値/日付フィールドに基づいて第1のエンティティを第2のエンティティと比較するために、第2のフィードフォーワードニューラルネットワークに対する入力として使用する。
【0120】
動作330において、分類器モジュールは、次いで、動作324、326、および328の出力を結合し、第1のエンティティおよび第2のエンティティの結合にクラスを適用する。このクラスは、整合、整合なし、または部分整合などの標示を含み得る。この分類は、動作324、326、および328の中の信頼値出力に少なくとも部分的に基づき得る。次いで、ニューラルネットワークの出力(対を整合/部分整合/整合なしクラスに分類する)を規則ベースの論理に対する入力として使用して、(たとえば、信頼性しきい値を適用することによって)最終的に提案される単一整合またはマルチ整合を構築する。
【実施例0121】
システムであって、
少なくとも1つのハードウェアプロセッサと、
命令を記憶した非一時的コンピュータ可読媒体と
を備え、命令が、少なくとも1つのハードウェアプロセッサによって実行されると、少なくとも1つのハードウェアプロセッサに、
第1の表内の第1のエンティティを取得することであって、第1のエンティティが、複数のフィールドに対する値を含む、取得することと、
複数のフィールドのうちの1つまたは複数のフィールド内の値を1つまたは複数のトークンにトークン化することと、
入力のためのn次元空間内の座標のセットを生成するために、1つまたは複数のトークンの各々を第1の機械学習アルゴリズムによってトレーニングされた埋め込み機械学習モデルに渡し、1つまたは複数のトークンの各々に対する座標を備えた埋め込みを生み出すことと、
1つまたは複数のトークンに対する、および第1のエンティティ内の複数のフィールドのうちの1つまたは複数のフィールドの各々に対する埋め込みを連結して第1の行列にすることと、
第1のエンティティに対する起源フィールドシーケンスを構築することであって、起源フィールドシーケンスが、第1のエンティティ内の複数のフィールドのうちの1つまたは複数のフィールドの各々に対する1つまたは複数のトークンの各々に対する、そこからトークンが生成された値に対応するフィールドの識別を含む、構築することと、
起源フィールドシーケンス内の各値に対する座標のセットを生成するために、起源フィールドシーケンス内の各値を埋め込み機械学習モデルに渡すことと、
起源フィールドシーケンス内の各値に対する埋め込みを連結して第2の行列にすることと、
第3の行列を作成するために、第1の行列および第2の行列を積み重ねることと、
第1のエンティティを埋め込みのその独自の行列によって表される第2のエンティティと比較するために、第3の行列を分解可能アテンションニューラルネットワークに渡すことと
を含む動作を実行させる
システム。