IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ コリブラ エヌブイの特許一覧

特表2023-521764単語編集距離埋め込みの方法及びシステム
<>
  • 特表-単語編集距離埋め込みの方法及びシステム 図1
  • 特表-単語編集距離埋め込みの方法及びシステム 図2
  • 特表-単語編集距離埋め込みの方法及びシステム 図3
  • 特表-単語編集距離埋め込みの方法及びシステム 図4
  • 特表-単語編集距離埋め込みの方法及びシステム 図5
  • 特表-単語編集距離埋め込みの方法及びシステム 図6
  • 特表-単語編集距離埋め込みの方法及びシステム 図7
  • 特表-単語編集距離埋め込みの方法及びシステム 図8
  • 特表-単語編集距離埋め込みの方法及びシステム 図9
  • 特表-単語編集距離埋め込みの方法及びシステム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-05-25
(54)【発明の名称】単語編集距離埋め込みの方法及びシステム
(51)【国際特許分類】
   G06N 3/02 20060101AFI20230518BHJP
【FI】
G06N3/02
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022561420
(86)(22)【出願日】2020-10-16
(85)【翻訳文提出日】2022-11-28
(86)【国際出願番号】 IB2020059737
(87)【国際公開番号】W WO2021205221
(87)【国際公開日】2021-10-14
(31)【優先権主張番号】63/008,552
(32)【優先日】2020-04-10
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Blu-ray
(71)【出願人】
【識別番号】522060009
【氏名又は名称】コリブラ エヌブイ
【氏名又は名称原語表記】COLLIBRA NV
(74)【代理人】
【識別番号】100107364
【弁理士】
【氏名又は名称】斉藤 達也
(72)【発明者】
【氏名】タンデッキ,ミカエル
(72)【発明者】
【氏名】マエス,ミカエル
(72)【発明者】
【氏名】フィリピアク,アンナ
(57)【要約】
単語のバッチ内の単語を分類する一システムが、ニューラルネットワーク(NN)を使用して複数の辞書単語のそれぞれに対する辞書ベクトルを作成することと、各辞書ベクトルを、関連付けられた辞書単語に対応する分類インジケータとともに記憶することと、NNを使用して、分類の為に、単語のバッチ内の各単語に対する単語ベクトルを作成することと、を少なくとも1つのプロセッサに行わせる命令を記憶する少なくとも1つのメモリデバイスを含んでよい。各単語ベクトルに対する最も近いマッチング辞書ベクトルが見つかり、各単語ベクトルに対する最も近いマッチング辞書ベクトルの分類インジケータが報告される。
【特許請求の範囲】
【請求項1】
単語のバッチ内の単語を分類するシステムであって、
少なくとも1つのメモリデバイスであって、
ニューラルネットワーク(NN)を使用して複数の辞書単語のそれぞれに対する辞書ベクトルを作成するステップと、
各辞書ベクトルを、前記関連付けられた辞書単語に対応する分類インジケータとともに記憶するステップと、
前記NNを使用して、分類の為に、単語のバッチ内の各単語に対する単語ベクトルを作成するステップと、
各単語ベクトルに対する1つ以上の最も近いマッチング辞書ベクトルを見つけるステップと、
前記バッチ内の各単語ベクトルに対する前記1つ以上の最も近いマッチング辞書ベクトルの前記分類インジケータを報告するステップと、
を少なくとも1つのプロセッサに実施させる命令を記憶する前記少なくとも1つのメモリデバイス
を含むシステム。
【請求項2】
前記辞書単語及び前記バッチ内の前記単語は、30文字×長さ50の行列にエンコードされる、請求項1に記載のシステム。
【請求項3】
前記NNは畳み込みニューラルネットワークである、請求項1に記載のシステム。
【請求項4】
各単語ベクトルは、前記バッチ内の前記対応する単語を記憶することなく作成される、請求項1に記載のシステム。
【請求項5】
類似度検索を容易にする為に、各辞書ベクトル及び対応する分類インジケータにインデックスが付けられる、請求項1に記載のシステム。
【請求項6】
前記1つ以上の最も近いマッチング辞書ベクトルのそれぞれは、関連付けられたスコアを有し、前記バッチ内の各単語ベクトルに対する前記1つ以上の最も近いマッチング辞書ベクトルの前記分類インジケータを報告する前記ステップは、
前記バッチ内の各単語について、分類インジケータごとに最高スコアを選択するステップと、
分類インジケータごとに前記選択された最高スコアを平均するステップと、
を含む、
請求項1に記載のシステム。
【請求項7】
前記NNをトレーニングするステップであって、
複数のトレーニング単語の複数のペアについての類似度メトリックを計算するステップと、
前記NN及び前記NNのツインを使用して、トレーニング単語の前記複数のペアのそれぞれに対するトレーニングベクトルのペアを作成するステップと、
各ペアのトレーニングベクトル間のコサイン類似度を計算するステップと、
トレーニング単語の各ペアについての前記類似度メトリックと前記コサイン類似度とを比較し、前記比較に基づいて前記NNを調節するステップと、
を含む、前記NNをトレーニングする前記ステップを更に含む、
請求項1に記載のシステム。
【請求項8】
前記トレーニング単語は前記辞書単語を含む、請求項7に記載のシステム。
【請求項9】
前記類似度メトリックは、1小さいレーベンシュタイン編集距離を、前記ペア内の最長単語の長さで割ったものに等しい、請求項7に記載のシステム。
【請求項10】
前記コサイン類似度は、トレーニングベクトルの前記ペアのドット積をそれらのユークリッドノルムの積で割ることによって計算される、請求項7に記載のシステム。
【請求項11】
単語のバッチ内の単語を分類するシステムであって、
少なくとも1つのメモリデバイスであって、
畳み込みニューラルネットワーク(CNN)をトレーニングするステップであって、
複数のトレーニング単語のそれぞれを行列形式にエンコードするステップと、
前記複数のトレーニング単語の複数のペアについての類似度メトリックを計算するステップと、
前記CNN及び前記CNNのツインを使用して、前記複数のペアに対応するエンコード済みトレーニング単語の各ペアに対するトレーニングベクトルのペアを作成するステップと、
各ペアのトレーニングベクトル間のコサイン類似度を計算するステップと、
トレーニング単語の各ペアについての前記類似度メトリックと前記コサイン類似度とを比較し、前記比較に基づいて前記CNNを調節するステップと、
前記トレーニング済みCNNを記憶するステップと、
を含む、前記CNNをトレーニングする前記ステップと、
複数の辞書単語のそれぞれを行列形式にエンコードするステップと、
前記トレーニング済みCNNを使用して、前記複数のエンコード済み辞書単語のそれぞれに対する辞書ベクトルを作成するステップと、
各辞書ベクトルを、前記関連付けられた辞書単語に対応する分類インジケータとともに記憶するステップと、
単語のバッチ内の各単語を分類の為に行列形式にエンコードするステップと、
前記トレーニング済みCNNを使用して、前記バッチ内の各エンコード済み単語に対する単語ベクトルを作成するステップと、
各単語ベクトルに対する1つ以上の最も近いマッチング辞書ベクトルを見つけるステップと、
前記バッチ内の各単語ベクトルに対する前記1つ以上の最も近いマッチング辞書ベクトルの前記分類インジケータを報告するステップと、
を少なくとも1つのプロセッサに実施させる命令を記憶する前記少なくとも1つのメモリデバイス
を含むシステム。
【請求項12】
前記トレーニング単語は前記辞書単語を含む、請求項11に記載のシステム。
【請求項13】
前記類似度メトリックは、1小さいレーベンシュタイン編集距離を、前記ペア内の最長単語の長さで割ったものに等しい、請求項11に記載のシステム。
【請求項14】
前記コサイン類似度は、トレーニングベクトルの前記ペアのドット積をそれらのユークリッドノルムの積で割ることによって計算される、請求項11に記載のシステム。
【請求項15】
前記トレーニング単語、前記辞書単語、及び前記バッチ内の前記単語は、30文字×長さ50の行列にエンコードされる、請求項11に記載のシステム。
【請求項16】
各単語ベクトルは、前記バッチ内の前記対応する単語を記憶することなく作成される、請求項11に記載のシステム。
【請求項17】
類似度検索を容易にする為に、各辞書ベクトル及び対応する分類インジケータにインデックスが付けられる、請求項11に記載のシステム。
【請求項18】
前記1つ以上の最も近いマッチング辞書ベクトルのそれぞれは、関連付けられたスコアを有し、前記バッチ内の各単語ベクトルに対する前記1つ以上の最も近いマッチング辞書ベクトルの前記分類インジケータを報告する前記ステップは、
前記バッチ内の各単語について、分類インジケータごとに最高スコアを選択するステップと、
分類インジケータごとに前記選択された最高スコアを平均するステップと、
を含む、
請求項11に記載のシステム。
【請求項19】
単語のバッチ内の単語を分類するシステムであって、
少なくとも1つのメモリデバイスであって、
ニューラルネットワーク(NN)をトレーニングするステップであって、
複数のトレーニング単語の複数のペアについての類似度メトリックを計算するステップであって、前記類似度メトリックは、1小さいレーベンシュタイン編集距離を、前記ペア内の最長単語の長さで割ったものに等しい、前記類似度メトリックを計算する前記ステップと、
前記NN及び前記NNのツインを使用して、トレーニング単語の前記複数のペアのそれぞれに対するトレーニングベクトルのペアを作成するステップと、
各ペアのトレーニングベクトル間のコサイン類似度を計算するステップと、
トレーニング単語の各ペアについての前記類似度メトリックと前記コサイン類似度とを比較し、前記比較に基づいて前記NNを調節するステップと、
を含む、前記NNをトレーニングする前記ステップと、
前記トレーニング済みNNを使用して、複数の辞書単語のそれぞれに対する辞書ベクトルを作成するステップと、
各辞書ベクトルを、前記関連付けられた辞書単語に対応する分類インジケータとともに記憶するステップと、
前記トレーニング済みNNを使用して、分類の為に、単語のバッチ内の各単語に対する単語ベクトルを作成するステップと、
各単語ベクトルに対する1つ以上の最も近いマッチング辞書ベクトルを見つけるステップと、
前記バッチ内の各単語ベクトルに対する前記1つ以上の最も近いマッチング辞書ベクトルの前記分類インジケータを報告するステップと、
を少なくとも1つのプロセッサに実施させる命令を記憶する前記少なくとも1つのメモリデバイス
を含むシステム。
【請求項20】
前記コサイン類似度は、トレーニングベクトルの前記ペアのドット積をそれらのユークリッドノルムの積で割ることによって計算される、請求項19に記載のシステム。
【請求項21】
前記1つ以上の最も近いマッチング辞書ベクトルのそれぞれは、関連付けられたスコアを有し、前記バッチ内の各単語ベクトルに対する前記1つ以上の最も近いマッチング辞書ベクトルの前記分類インジケータを報告する前記ステップは、
前記バッチ内の各単語について、分類インジケータごとに最高スコアを選択するステップと、
分類インジケータごとに前記選択された最高スコアを平均するステップと、
を含む、
請求項19に記載のシステム。
【請求項22】
前記トレーニング単語、前記辞書単語、及び前記バッチ内の前記単語は、30文字×長さ50の行列にエンコードされ、その後、対応するベクトルが前記NNによって作成される、請求項19に記載のシステム。
【請求項23】
前記NNは畳み込みニューラルネットワークである、請求項22に記載のシステム。
【請求項24】
各単語ベクトルは、前記バッチ内の前記対応する単語を記憶することなく作成される、請求項23に記載のシステム。
【請求項25】
類似度検索を容易にする為に、各辞書ベクトル及び対応する分類インジケータにインデックスが付けられる、請求項24に記載のシステム。
【請求項26】
前記トレーニング単語は前記辞書単語を含む、請求項25に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、参照により開示内容が完全な形で本明細書に組み込まれている、2020年4月10日に出願された米国特許仮出願第63/008,552号の優先権の利益を主張するものである。
【0002】
本特許出願はテキスト類似度計算に関し、特に単語編集距離埋め込みに関する。
【背景技術】
【0003】
個人情報を取り扱う企業は、それが従業員情報であれ医療データであれ金融情報であれ、その情報を保護し、その使用を制限することを求められる。更に、集めたデータは全て、匿名化されて必要な期間だけ記憶することになっている。各国政府は、個人情報保護を支援する為の努力の一環として、欧州連合の一般データ保護規則(General Data Protection Regulation (GDPR))等の規則を制定している。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、上記従来の技術における課題を解決するためになされたものである。
【課題を解決するための手段】
【0005】
本明細書に記載のシステム及び方法は、後述の「発明を実施するための形態」を添付図面と併せて参照することにより、よりよく理解されるであろう。添付図面では、類似の参照符号は、同一の要素又は機能的に類似した要素を示す。
【0006】
本明細書で示した各見出しは便宜上のものに過ぎず、必ずしも実施形態の範囲に影響を及ぼすものではない。更に、図面は必ずしも正確な縮尺では描かれていない。例えば、図面内の要素のうちの幾つかの要素の寸法が、実施形態の理解向上に役立つように拡大又は縮小されている場合がある。更に、本開示の技術は様々な修正形態及び代替形態に適用できるが、特定の実施形態を例として図面に示し、以下で詳細に説明する。しかしながら、説明する実施形態を不必要に限定することは意図していない。むしろ実施形態は、本開示の範囲に収まるあらゆる修正形態、組み合わせ、等価形態、及び代替形態を包含することを意図している。
【図面の簡単な説明】
【0007】
図1】本技術の幾つかの実施態様による、プロセッサベースの単語編集距離埋め込みシステムの動作方法を示すフロー図である。
図2】本技術の幾つかの実施態様に従って、単語を分類する為にニューラルネットワークをトレーニングする方法を示すフロー図である。
図3】本技術の幾つかの実施態様に従って単語をエンコードする為の2次元行列を示す。
図4】本技術の幾つかの実施態様による、ツイン畳み込みニューラルネットワークを有するトレーニングアーキテクチャの概略図である。
図5】本技術の幾つかの実施態様に従って単語を分類する際に使用される単語ベクトルインデックスをセットアップする方法を示すフロー図である。
図6】辞書単語埋め込み及び関連付けられたクラス及び閾値を示すチャートである。
図7】本技術の幾つかの実施態様に従って単語を分類する方法を示すフロー図である。
図8】幾つかの実施態様が動作可能な装置の概要を示すブロック図である。
図9】幾つかの実施態様が動作可能な環境の概要を示すブロック図である。
図10】幾つかの実施態様において、本開示の技術を採用するシステムで使用可能な構成要素を示すブロック図である。
【発明を実施するための形態】
【0008】
ここからは、上記で紹介したシステム及び方法の様々な実施例を詳細に説明していく。以下の説明では、これらの実施例の十分な理解が得られ、実用的な説明になるように、具体的な詳細を示す。しかしながら、当業者であれば理解されるように、本明細書に記載の手法及び技術は、これらの詳細の多くがなくても実施可能である。同様にこれも当業者であれば理解されるように、本技術は、本明細書に詳細には記載していない他の多くの特徴も包含しうる。更に、重要な説明が不必要に曖昧になるのを避ける為に、以下では、幾つかのよく知られた構造又は機能については詳細には図示又は説明していない場合がある。
【0009】
以下で使用される術語は、たとえそれが実施形態の幾つかの特定の実施例の詳細説明とともに使用される場合でも、その最も広範な合理的解釈がなされるべきである。実際、以下では幾つかの用語がより強調される場合があるが、何らかの制限的解釈がなされることを意図された術語があれば、それは、このセクションでそのように解釈すべきと明白且つ具体的に定義される。
【0010】
新規なニューラルネットワーク及び類似検索アーキテクチャを使用して未知の単語を分類する方法及びシステムを開示する。個人情報保護の文脈では、個人情報がネットワーク内で伝送されているか且つ/又はネットワーク外で伝送されているかを監視することが望ましい。本開示の技術は、それらの伝送の中の単語をセキュアに匿名化し、それらを様々なクラス辞書(例えば、国、名前、民族、言語、宗教、性別、配偶者の有無等)の中の単語と比較して、伝送されている情報のクラスを特定することによって、伝送を監視することを可能にする。有利なことに、本開示の技術は、元の単語を一度も保存せずに単語をセキュアに匿名化及び分類する。
【0011】
幾つかの実施形態では、単語ベースの辞書データセットのベクトルのペア間の距離が、対応する単語同士の間の編集距離ベースのメトリックを近似するように、ニューラルネットワークをトレーニング及び再トレーニングする。トレーニングは、トレーニングされたニューラルネットワークにより全ての辞書単語に対するベクトルを作成することと、それらのベクトルを特定化構造内に記憶することと、を含む。次に、マッチングアルゴリズムが全ての単語に対するベクトルをバッチプロセスで作成する。これは、各単語に対する最近傍マッチを見つけることと、最も近い辞書マッチまでの距離に基づくスコアを適用して各単語の分類を決定することと、を含む。
【0012】
図1は、本技術の幾つかの実施態様に従ってデータのバッチ(例えば、単語)を分類する、プロセッサベースの単語編集距離埋め込みシステムの動作方法100を示す高レベルフロー図である。本方法は、単語のペアによりニューラルネットワーク(NN)をトレーニングするステップ102を含んでよく、これは、対応するベクトル同士の間の距離が、それらの単語の間の編集距離ベースのメトリックに近くなるように行われる。ステップ104で、辞書単語の選択用のベクトルが、トレーニング済みNNにより作成される。結果として得られたベクトルがステップ106で記憶されてよい。次にステップ108で、分類される単語のバッチ内の全ての単語に対してベクトルが作成される。ステップ110で、バッチ内の各単語に対する最も近いマッチが決定される。幾つかの実施形態では、ステップ112で、バッチ内の各単語に対して、関連付けられた最も近いマッチまでの距離に基づくスコアが適用されてよい。
【0013】
図2は、本技術の幾つかの実施態様に従って単語を分類する為にニューラルネットワークをトレーニングする方法200を示す。幾つかの実施形態では、ニューラルネットワークは畳み込みニューラルネットワーク(CNN)であってよい。CNNをトレーニングすることは、例えば、ステップ202で、複数のトレーニング単語のそれぞれを行列形式(図3)にエンコードすることを含んでよい。トレーニング単語は、特定のクラス(例えば、国、名前、民族、言語、宗教、性別、配偶者の有無等)に属する単語の辞書を含んでよい。トレーニング辞書は、ベース辞書、フル英語辞書、及び非単語辞書(これは、辞書のようなタイプのいかなるデータにも似ていないデータを含む)を含んでよい。
【0014】
ステップ204で、CNN及びCNNのツイン(図4)を使用して、エンコード済みトレーニング単語の複数のペアに対してトレーニングベクトルのペアが作成される。それらのペアは、単語編集距離が大きい場合のトレーニングの為にトレーニング辞書からランダムに選択されてよく、単語編集距離が小さい場合のトレーニングの為には、単語にノイズを加えることによってペアが作成されてよい。
【0015】
ステップ206で、複数のトレーニング単語の複数のペアのそれぞれに対して類似度メトリック(SM)が計算される。SMの計算は、編集距離(ED)(例えば、レーベンシュタインED)に基づいて次のように行われてよい。
SM(単語1,単語2)=1-ED(単語1,単語2)/最大(長さ(単語1),長さ(単語2))
幾つかの実施形態では、SMは、単語のエンコード済み形態に基づいてよい。
【0016】
ステップ208で、トレーニング単語の各ペアに関して類似度メトリックとコサイン類似度とが比較され、この比較に基づいてCNNが調節されて(例えば、重みが調節されて)、ペア間のコサイン類似度が類似度メトリックと一致するように駆動される。ユークリッド距離の代わりにベクトル間のコサイン類似度を使用することにより、計算時間が短縮され、計算精度が向上する。CNNがトレーニングされたら、ステップ210でトレーニング済みCNNが記憶される。幾つかの実施形態では、コサイン類似度は、ベクトルのペアのドット積をそれらのユークリッドノルムの積で割ることによって計算されてよい。
【0017】
従来のレーベンシュタインEDではなく上述の類似度メトリックを使用することにより、検索が改善される。これは2つの例で示すことができる。2つの2文字コード、PL及びPSと、2つの単語PolandとRolandである。これらのペアは両方とも、ED=1である。但し、値1は第1のペアへの影響が格段に大きい。それによって単語の半分が変化するからである。従って、編集距離の誤差が「1」前後であれば、EDの使用は、長い単語に比べて短い単語において精度が格段に低い。これに対して本開示の類似度メトリックは、長いペア(特に編集距離の大きいペア)に対して精度が低下するが、これは本開示のシステムでは許容可能である。それは、ある程度の範囲内で単語を検索する為であり、厳密な距離値は、大きすぎなければさほど重要ではない為である。幾つかの実施形態では、マッチを受け入れる最小類似度閾値は0.7である。
【0018】
図3は、本技術の幾つかの実施態様に従って単語(例えば「Poland」)をエンコードする為の2次元行列220を示す。本開示の2次元行列は、参照によって完全な形で本明細書に組み込まれている、ルイス・ゴメス(Lluis Gomez)、マーシャル・ルシニョール(Marcal Rusinol)、及びディモステニス・カラザス(Dimosthenis Karatzas)著「文字列によるクエリの単語スポッティングの為のレーベンシュタインスペースの深い埋め込み(LSDE)(LSDE: Levenshtein Space Deep Embedding for Query-by-string Word Spotting)」(文書解析と認識に関する国際会議(ICDAR)2017)に記載のものに似ている。行列220は、26個の英字及び4個の特殊文字を含む第1の次元222と、文字列内の文字位置を含む第2の次元224と、を含む。文字位置の数は、例えば、50に限定されてよく、それによって30×50行列が得られる。なお、以下で概説するように、行列220は、英文字及び非英文字、並びに「空」文字をエンコードすることが可能である。
【0019】
データセット内の各文字は、次のようにグループ分けされてよい。
1 英文字 - 英文字は標準化され
【数1】
、それによって26個の基本英字が得られる。
2 数字 - 全ての数字に対して、「#」で表される1つの「バッグ」が作成される。
3 区切り文字 - 全ての区切り文字に対して、「-」(例えば、' '、'-'、'_'、'.'、','、':'、'/')で表される1つの「バッグ」が作成される。但し、これらの文字のいずれかが閾値最小回数より多くデータセット内に出現する場合には、その文字は区切り文字として扱われる。
4 「空」位置は「*」で表される。
5 データセット内に出現する回数が閾値最小回数より少ない文字は排除されて「?」で表される。
【0020】
図4は、本技術の幾つかの実施態様による、ツイン畳み込みニューラルネットワークを有するトレーニングアーキテクチャ300の概略図である。ツインのCNN302(1)及び302(2)は、同じ構造及び同じ重みを有する。ツインCNNへの入力は同じ30×50行列304であり、例えば、図3に関して上述した行列である。幾つかの実施形態では、CNNは、サイズが30×3の64個のカーネル306との畳み込み層308と、128個の出力ニューロンを有する完全接続層310と、を適用する。単語1及び単語2に対応するベクトルの各ペアに対してコサイン類似度312が計算され、これが、エンコード済みの単語1と単語2との間の類似度メトリックと比較されて、「損失」316が導出される。CNNは、ベクトル間のコサイン類似度距離がそれらの元の単語の類似度メトリックと同等になるような、単語(例えば、文字列)のベクトル形式への最適変換を学習するように駆動される。言い換えると、損失316はゼロに向かって駆動される。
【0021】
図5は、本技術の幾つかの実施態様に従って単語を分類する際に使用される単語ベクトルインデックスをセットアップする方法400を示すフロー図である。図2~4に関して上述されたようにCNNがトレーニングされた後、ステップ402で、複数の辞書単語が行列形式(例えば、図3に関して上述された行列)にエンコードされる。幾つかの実施形態では、CNNのトレーニングに使用される辞書単語は、分類に使用される辞書単語を含んでよい。ステップ404で、複数のエンコード済み辞書単語のそれぞれに対する辞書ベクトルが、トレーニング済みCNNを使用して作成される。ステップ406で、結果として得られた辞書ベクトルが、関連付けられた辞書単語に対応するクラスとともに記憶される。ステップ408で、効率的な検索の為に辞書単語ベクトルにインデックスが付けられてよい。幾つかの実施形態では、ベクトルのインデックス付けは、フェイスブック人工知能類似度検索(FAISS)技法に従って行われる。図6は、辞書単語ベクトル埋め込み426及び関連付けられたクラス428及び閾値430のデータ構造の一例420を示す。例えば、国辞書422は様々な国の名前を含み、名前辞書424は様々なファーストネームを含む。個々の国及びファーストネームは、ベクトル埋め込み426に対応する。クラスコード428は、国については「0」であり、名前については「1」である。データ構造420は、クラスコード及びクラス閾値の、各ベクトル埋め込みへのマッピング430を含む。幾つかの実施形態では、各クラスに対する閾値は、誤検出が最小限になるように実験的に決定されてよい。
【0022】
図7は、本技術の幾つかの実施態様に従って単語を分類する方法500を示すフロー図である。CNNがトレーニングされ、辞書単語インデックスが準備されたら、単語のバッチ内の関心対象単語が分類されて、バッチ内のそれらの単語が何らかのセンシティブなクラスのデータ(例えば、個人情報)に該当するかどうかが判定されてよい。ステップ502で、単語のバッチが分類の為に受け取られるが、記憶はされない。ステップ504で、受け取られた単語が行列形式にエンコードされる。これは、例えば、図3に関して上述された技法を用いて行われる。ステップ506で、複数のエンコード済みバッチ単語のそれぞれに対する単語ベクトルが、トレーニング済みCNNを使用して作成される。ステップ508で、バッチ内の結果として得られた各単語ベクトルに対する最も近いマッチ及びスコアが、辞書単語ベクトルのインデックスにおいて見つけられる。これは、(例えば、FAISSライブラリを使用して)最近傍を検索することにより、行われる。FAISSは、効率的な類似度検索と高密度ベクトルのクラスタリングの為のライブラリである。これは、任意のサイズのベクトルの集合の中で検索を行うアルゴリズムを含む。ステップ510で、単語のバッチに対応する各クラスに関する平均結果が報告される。
【0023】
ステップ510は、2つの単語、Holand及びCubaを含むバッチの例で説明できる。各単語に対して、最も近い4つのマッチと対応するスコアとが次のように検索される。
Holand - Holand、Poland、Roland、Holland
Cuba - Cuba、Coby、Curt、Aruba
【0024】
各マッチは、次のように、クラス及び検索されたスコアに関連付けられている。
Holand - Holand(ラストネーム - 1.0)、Poland(国 - 0.8)、Roland(ファーストネーム - 0.8)、Holland(国 - 0.8)
Cuba - Cuba(国 - 1.0)、Coby(ファーストネーム - 0.5)、Curt(ファーストネーム - 0.5)、Aruba(国 - 0.6)
【0025】
バッチ内の各単語に対して、各クラスの最高スコアが次のように選択される。
Holand - ラストネーム:1.0、国:0.8、ファーストネーム:0.8
Cuba - 国:1.0、ファーストネーム:0.5
【0026】
次のクラス閾値が与えられる。
国:0.8
ラストネーム:0.8
ファーストネーム:0.7
【0027】
上記閾値は、各クラスの最高スコアに適用される。スコアは、次のように、対応する閾値以上であればそのままにされ、その閾値未満であれば0として扱われる。
Holand - ラストネーム:1.0、国:0.8、ファーストネーム:0.8
Cuba - 国:1.0、ファーストネーム:0
【0028】
次に、各クラスの結果が次のように平均される。
ラストネーム:(1+0)/2=0.5
国:(0.8+1)/2=0.9
ファーストネーム:(0.8+0)/2=0.4
【0029】
そして、この結果が次のように報告される。
国:0.9
ラストネーム:0.5
ファーストネーム:0.4
【0030】
報告された結果は、元のデータを記憶することも曝すこともなく、データの特定の分類(例えば、国、ラストネーム、及びファーストネーム)がシステム上で伝送されている可能性をユーザに示すことが可能である。
適切なシステム
【0031】
本明細書に開示の技法は、専用ハードウェア(例えば、回路)として、又はソフトウェア及び/又はファームウェアで適切にプログラムされたプログラム可能回路として、又は専用回路とプログラム可能回路の組み合わせとして埋め込まれてよい。従って、実施形態は、命令が記憶されたマシン可読媒体を含んでよく、この命令は、コンピュータ、マイクロプロセッサ、プロセッサ、及び/又はマイクロコントローラ(又は他の電子装置)にプロセスを実施させる為に使用されてよい。マシン可読媒体としては、光ディスク、コンパクトディスク読み出し専用メモリ(CD-ROM)、光磁気ディスクROM、ランダムアクセスメモリ(RAM)、消去可能プログラム可能読み出し専用メモリ(EPROM)、電気的消去可能プログラム可能読み出し専用メモリ(EEPROM)、磁気カード又は光カード、フラッシュメモリ、又は他のタイプの、電子的命令の記憶に適する媒体/マシン可読媒体があってよく、これらに限定されない。
【0032】
以下では図面を参照して、幾つかの実施態様について詳細に論じる。図8は、本開示技術の幾つかの実施態様が動作可能な装置の概要を示すブロック図である。これらの装置は、リスクスコア及び関連するプライシング及び/又はリスク比を決定する装置700のハードウェア構成要素を含んでよい。装置700は、CPU(プロセッサ)710に入力を与えてアクションを通知する1つ以上の入力装置720を含んでよい。アクションは、典型的には、ハードウェアコントローラによって仲介され、ハードウェアコントローラは、入力装置から受け取った信号を解釈し、通信プロトコルを使用して情報をCPU710に伝達する。入力装置720は、例えば、マウス、キーボード、タッチスクリーン、赤外線センサ、タッチパッド、ウェアラブル入力装置、カメラベース又は画像ベースの入力装置、マイクロホン、又は他のユーザ入力装置を含む。
【0033】
CPU710は、1つの処理ユニットであってよく、又は1つの装置内にあるか複数の装置に分散している複数の処理ユニットであってよい。CPU710は、他のハードウェアデバイスと結合されてよく、例えば、PCIバス又はSCSIバス等のバスを使用して結合されてよい。CPU710は、デバイス用(例えば、ディスプレイ730用)のハードウェアコントローラと通信してよい。ディスプレイ730は、テキスト及びグラフィックスを表示する為に使用されてよい。幾つかの実施例では、ディスプレイ730は、グラフィックス及びテキストの視覚的フィードバックをユーザに提供する。幾つかの実施態様では、ディスプレイ730は入力装置をディスプレイの一部として含む。これは、例えば、入力装置がタッチスクリーンである場合、或いは視線方向監視システムを備えている場合である。幾つかの実施態様では、ディスプレイと入力装置は別々である。ディスプレイデバイスの例として、LCDディスプレイスクリーン、LEDディスプレイスクリーン、投射ディスプレイ、ホログラフィックディスプレイ、又は拡張現実ディスプレイ(例えば、ヘッドアップディスプレイデバイス又はヘッドマウントデバイス)等がある。他のI/Oデバイス740、例えば、ネットワークカード、ビデオカード、オーディオカード、USB、ファイアワイヤ又は他の外部デバイス、カメラ、プリンタ、スピーカ、CD-ROMドライブ、DVDドライブ、ディスクドライブ、又はBlu-Rayデバイスもプロセッサに結合されてよい。
【0034】
幾つかの実施態様では、装置700は又、無線又は有線でネットワークノードと通信することが可能な通信デバイスを含む。通信デバイスは、(例えば、TCP/IPプロトコルを使用して)ネットワーク経由で別のデバイス又はサーバと通信することが可能である。装置700は、通信デバイスを利用して、動作を複数のネットワークデバイスに分散させてよい。
【0035】
CPU710はメモリ750にアクセスできる。メモリは、揮発性記憶及び不揮発性記憶の為の様々なハードウェアデバイスのうちの1つ以上を含み、読み出し専用メモリ及び書き込み可能メモリの両方を含んでよい。例えば、メモリは、ランダムアクセスメモリ(RAM)、CPUレジスタ、読み出し専用メモリ(ROM)、及び書き込み可能不揮発性メモリ(例えば、フラッシュメモリ、ハードドライブ、フロッピーディスク、CD、DVD、磁気記憶デバイス、テープドライブ、デバイスバッファ等)を含んでよい。メモリは、元のハードウェアから分離された伝搬信号ではない。従って、メモリは非一時的である。メモリ750はプログラムメモリ760を含んでよく、これは、プログラム及びソフトウェア、例えば、オペレーティングシステム762、単語編集距離埋め込みプラットフォーム764、及び他のアプリケーションプログラム766を記憶する。メモリ750は又、データメモリ770を含んでよく、データメモリ770は、プログラムメモリ760又は装置700の任意の要素に提供されてよいデータベース情報等を含んでよい。
【0036】
幾つかの実施態様は、他の多数の汎用又は専用のコンピューティングシステムの環境又は構成で動作可能である。本技術での使用に適しうる、よく知られたコンピューティングシステム、環境、及び/又は構成の例として、パーソナルコンピュータ、サーバコンピュータ、手持ち式又はラップトップデバイス、セルラ電話、携帯電話、ウェアラブル電子機器、ゲーミングコンソール、タブレットデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能民生用電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステム又はデバイスのいずれかを含む分散コンピューティング環境等があり、これらに限定されない。
【0037】
図9は、本開示技術の幾つかの実施態様が動作可能な環境800の概要を示すブロック図である。環境800は1つ以上のクライアントコンピューティング装置805A~Dを含んでよく、それらの例が装置700を含んでよい。クライアントコンピューティング装置805は、ネットワーク830経由での1つ以上のリモートコンピュータ(例えば、サーバコンピューティング装置810)との論理接続を使用して、ネットワーク環境で動作可能である。
【0038】
幾つかの実施態様では、サーバコンピューティング装置810はエッジサーバであってよく、これは、クライアント要求を受け取り、それらの要求の実現の為に他のサーバ(例えば、サーバ820A~C)を連係して働かせる。サーバコンピューティング装置810及び820は、装置700等のコンピューティングシステムを含んでよい。各サーバコンピューティング装置810及び820は論理的には単一サーバとして示されているが、サーバコンピューティング装置は、それぞれが、同じ物理的位置又は地理的に異なる複数の物理的位置にある複数のコンピューティング装置を包含する分散コンピューティング環境であってよい。幾つかの実施態様では、各サーバコンピューティング装置820はサーバのグループに相当する。
【0039】
クライアントコンピューティング装置805及びサーバコンピューティング装置810及び820は、それぞれが、他のサーバ/クライアント装置に対するサーバ又はクライアントとして働いてよい。サーバ810はデータベース815に接続してよい。サーバ820A~Cは、それぞれが、対応するデータベース825A~Cに接続してよい。上述のように、各サーバ820は、サーバのグループに相当してよく、それらのサーバのそれぞれがデータベースを共有してよく、又はそれぞれ自身のデータベースを有してよい。データベース815及び825は、情報を倉庫に入れて(例えば、記憶して)よい。データベース815及び825は、論理的には単一ユニットとして示されているが、それぞれが複数のコンピューティング装置を包含する分散コンピューティング環境であってよく、又はそれぞれが対応するサーバの中にあってよく、又は同じ物理的位置又は地理的に異なる複数の物理的位置にあってよい。
【0040】
ネットワーク830はローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)であってよいが、他の有線又は無線のネットワークであってもよい。ネットワーク830は、インターネット又は他の何らかの公衆ネットワーク又はプライベートネットワークであってよい。クライアントコンピューティング装置805は、ネットワークインタフェースを介して(例えば、有線又は無線の通信で)ネットワーク830に接続されてよい。サーバ810とサーバ820との間の接続は独立した接続として示されているが、これらの接続は、任意の種類のローカルネットワーク、ワイドエリアネットワーク、有線ネットワーク、又は無線ネットワークであってよく、これにはネットワーク830又は独立した公衆ネットワーク又はプライベートネットワークが含まれる。
【0041】
図10は、幾つかの実施態様において、本開示の技術を採用するシステムで使用可能な構成要素900を示すブロック図である。構成要素900は、ハードウェア902、汎用ソフトウェア920、及び専用構成要素940を含む。上述のように、本開示の技術を実施するシステムは、処理ユニット904(例えば、CPU、GPU、APU等)、作業メモリ906、記憶メモリ908、及び入出力デバイス910を含む様々なハードウェアを使用してよい。構成要素900は、クライアントコンピューティング装置805等のクライアントコンピューティング装置に実装されてよく、又はサーバコンピューティング装置810又は820等のサーバコンピューティング装置に実装されてよい。
【0042】
汎用ソフトウェア920は様々なアプリケーションを含んでよく、これにはオペレーティングシステム922、ローカルプログラム924、及び基本入出力システム(BIOS)926が含まれる。専用構成要素940は、汎用ソフトウェアアプリケーション920の副構成要素(例えば、ローカルプログラム924)であってよい。専用構成要素940は、準備モジュール944、トレーニングモジュール946、マッチングモジュール948、及びデータの転送及び専用構成要素の制御に使用可能な構成要素(例えば、インタフェース942)を含んでよい。幾つかの実施態様では、構成要素900は、複数のコンピューティング装置に分散したコンピューティングシステムにあってよく、又は専用構成要素940のうちの1つ以上を実行するサーバベースのアプリケーションに対するインタフェースであってよい。
【0043】
当業者であれば理解されるように、上述の図8~10、及び上述の各フロー図において示した各構成要素は、様々な形で変更されてよい。例えば、論理の順序が並べ替えられてよく、サブステップが並行して実施されてよく、図示された論理が省略されてよく、他の論理が含まれてよい等々。幾つかの実施態様では、上述の構成要素のうちの1つ以上が、本明細書に記載のプロセスのうちの1つ以上を実行してよい。
【0044】
特定の実施形態を例として図面に示し、詳細に説明してきたが、他の実施形態も可能である。例えば、幾つかの実施形態では、単語のバッチ内の単語を分類する一システムが、ニューラルネットワーク(NN)を使用して複数の辞書単語のそれぞれに対する辞書ベクトルを作成することと、各辞書ベクトルを、関連付けられた辞書単語に対応する分類インジケータとともに記憶することと、NNを使用して、分類の為に、単語のバッチ内の各単語に対する単語ベクトルを作成することと、を少なくとも1つのプロセッサに行わせる命令を記憶する少なくとも1つのメモリデバイスを含んでよい。各単語ベクトルに対する最も近いマッチング辞書ベクトルが見つかり、各単語ベクトルに対する最も近いマッチング辞書ベクトルの分類インジケータが報告される。
【0045】
幾つかの実施形態では、辞書単語及びバッチ内の単語は、30文字×長さ50の行列にエンコードされる。幾つかの実施形態では、NNは畳み込みニューラルネットワークである。幾つかの実施形態では、各単語ベクトルは、バッチ内の対応する単語を記憶することなく作成される。幾つかの実施形態では、類似度検索を容易にする為に、各辞書ベクトル及び対応する分類インジケータにインデックスが付けられる。幾つかの実施形態では、このシステムは更に、NNをトレーニングすることを含んでよく、これは、複数のトレーニング単語の複数のペアについての類似度メトリックを計算することと、NN及びNNのツインを使用して、トレーニング単語の複数のペアのそれぞれに対してトレーニングベクトルのペアを作成することと、各ペアのトレーニングベクトル間のコサイン類似度を計算することと、トレーニング単語の各ペアについての類似度メトリックとコサイン類似度とを比較し、その比較に基づいてNNを調節することと、を含む。幾つかの実施形態では、トレーニング単語は辞書単語を含む。幾つかの実施形態では、類似度メトリックは、1小さいレーベンシュタイン編集距離を、ペア内の最長単語の長さで割ったものに等しい。幾つかの実施形態では、コサイン類似度は、トレーニングベクトルのペアのドット積をそれらのユークリッドノルムの積で割ることによって計算される。幾つかの実施形態では、1つ以上の最も近いマッチング辞書ベクトルのそれぞれは、関連付けられたスコアを有し、バッチ内の各単語ベクトルに対する1つ以上の最も近いマッチング辞書ベクトルの分類インジケータを報告することは、バッチ内の各単語について、分類インジケータごとに最高スコアを選択することと、分類インジケータごとに選択された最高スコアを平均することと、を含む。
【0046】
別の代表的な実施形態では、単語のバッチ内の単語を分類する一システムが、畳み込みニューラルネットワーク(CNN)をトレーニングすることと、複数の辞書単語のそれぞれを行列形式にエンコードすることと、トレーニング済みCNNを使用して、複数のエンコード済み辞書単語のそれぞれに対する辞書ベクトルを作成することと、各辞書ベクトルを、関連付けられた辞書単語に対応する分類インジケータとともに記憶することと、単語のバッチ内の各単語を分類の為に行列形式にエンコードすることと、トレーニング済みCNNを使用して、バッチ内の各エンコード済み単語に対する単語ベクトルを作成することと、各単語ベクトルに対する最も近いマッチング辞書ベクトルを見つけることと、バッチ内の各単語ベクトルに対する最も近いマッチング辞書ベクトルの分類インジケータを報告することと、を少なくとも1つのプロセッサに行わせる命令を記憶する少なくとも1つのメモリデバイスを含んでよい。CNNをトレーニングすることは、複数のトレーニング単語のそれぞれを行列形式にエンコードすることと、複数のトレーニング単語の複数のペアについての類似度メトリックを計算することと、CNN及びCNNのツインを使用して、複数のペアに対応するエンコード済みトレーニング単語の各ペアに対するトレーニングベクトルのペアを作成することと、各ペアのトレーニングベクトル間のコサイン類似度を計算することと、トレーニング単語の各ペアについての類似度メトリックとコサイン類似度とを比較し、その比較に基づいてCNNを調節することと、トレーニング済みCNNを記憶することと、を含んでよい。
【0047】
別の代表的な実施形態では、単語のバッチ内の単語を分類する一システムが、ニューラルネットワーク(NN)をトレーニングすることと、トレーニング済みNNを使用して、複数の辞書単語のそれぞれに対する辞書ベクトルを作成することと、各辞書ベクトルを、関連付けられた辞書単語に対応する分類インジケータとともに記憶することと、トレーニング済みNNを使用して、分類の為に、単語のバッチ内の各単語に対する単語ベクトルを作成することと、各単語ベクトルに対する最も近いマッチング辞書ベクトルを見つけることと、バッチ内の各単語ベクトルに対する最も近いマッチング辞書ベクトルの分類インジケータを報告することと、を少なくとも1つのプロセッサに行わせる命令を記憶する少なくとも1つのメモリデバイスを含んでよい。
【0048】
NNをトレーニングすることは、複数のトレーニング単語の複数のペアについての類似度メトリックを計算すること(類似度メトリックは、1小さいレーベンシュタイン編集距離を、ペア内の最長単語の長さで割ったものに等しい)と、NN及びNNのツインを使用して、トレーニング単語の複数のペアのそれぞれに対するトレーニングベクトルのペアを作成することと、各ペアのトレーニングベクトル間のコサイン類似度を計算することと、トレーニング単語の各ペアについての類似度メトリックとコサイン類似度とを比較し、その比較に基づいてNNを調節することと、を含んでよい。
【0049】
以下の実施例は、本技術の更なる実施形態を提供する。
実施例
実施例1
単語のバッチ内の単語を分類するシステムであって、
少なくとも1つのメモリデバイスであって、
ニューラルネットワーク(NN)を使用して複数の辞書単語のそれぞれに対する辞書ベクトルを作成するステップと、
各辞書ベクトルを、前記関連付けられた辞書単語に対応する分類インジケータとともに記憶するステップと、
前記NNを使用して、分類の為に、単語のバッチ内の各単語に対する単語ベクトルを作成するステップと、
各単語ベクトルに対する1つ以上の最も近いマッチング辞書ベクトルを見つけるステップと、
前記バッチ内の各単語ベクトルに対する前記1つ以上の最も近いマッチング辞書ベクトルの前記分類インジケータを報告するステップと、
を少なくとも1つのプロセッサに実施させる命令を記憶する前記少なくとも1つのメモリデバイス
を含むシステム。
実施例2
前記辞書単語及び前記バッチ内の前記単語は、30文字×長さ50の行列にエンコードされる、実施例1に記載のシステム。
実施例3
前記NNは畳み込みニューラルネットワークである、実施例1又は2に記載のシステム。
実施例4
各単語ベクトルは、前記バッチ内の前記対応する単語を記憶することなく作成される、実施例1~3のいずれか1つに記載のシステム。
実施例5
類似度検索を容易にする為に、各辞書ベクトル及び対応する分類インジケータにインデックスが付けられる、実施例1~4のいずれか1つに記載のシステム。
実施例6
前記1つ以上の最も近いマッチング辞書ベクトルのそれぞれは、関連付けられたスコアを有し、前記バッチ内の各単語ベクトルに対する前記1つ以上の最も近いマッチング辞書ベクトルの前記分類インジケータを報告する前記ステップは、
前記バッチ内の各単語について、分類インジケータごとに最高スコアを選択するステップと、
分類インジケータごとに前記選択された最高スコアを平均するステップと、
を含む、
実施例1~5のいずれか1つに記載のシステム。
実施例7
前記NNをトレーニングするステップであって、
複数のトレーニング単語の複数のペアについての類似度メトリックを計算するステップと、
前記NN及び前記NNのツインを使用して、トレーニング単語の前記複数のペアのそれぞれに対するトレーニングベクトルのペアを作成するステップと、
各ペアのトレーニングベクトル間のコサイン類似度を計算するステップと、
トレーニング単語の各ペアについての前記類似度メトリックと前記コサイン類似度とを比較し、前記比較に基づいて前記NNを調節するステップと、
を含む、前記NNをトレーニングする前記ステップを更に含む、
実施例1~6のいずれか1つに記載のシステム。
実施例8
前記トレーニング単語は前記辞書単語を含む、実施例7に記載のシステム。
実施例9
前記類似度メトリックは、1小さいレーベンシュタイン編集距離を、前記ペア内の最長単語の長さで割ったものに等しい、実施例7又は8に記載のシステム。
実施例10
前記コサイン類似度は、トレーニングベクトルの前記ペアのドット積をそれらのユークリッドノルムの積で割ることによって計算される、実施例7~9のいずれか1つに記載のシステム。
実施例11
単語のバッチ内の単語を分類するシステムであって、
少なくとも1つのメモリデバイスであって、
畳み込みニューラルネットワーク(CNN)をトレーニングするステップであって、
複数のトレーニング単語のそれぞれを行列形式にエンコードするステップと、
前記複数のトレーニング単語の複数のペアについての類似度メトリックを計算するステップと、
前記CNN及び前記CNNのツインを使用して、前記複数のペアに対応するエンコード済みトレーニング単語の各ペアに対するトレーニングベクトルのペアを作成するステップと、
各ペアのトレーニングベクトル間のコサイン類似度を計算するステップと、
トレーニング単語の各ペアについての前記類似度メトリックと前記コサイン類似度とを比較し、前記比較に基づいて前記CNNを調節するステップと、
前記トレーニング済みCNNを記憶するステップと、
を含む、前記CNNをトレーニングする前記ステップと、
複数の辞書単語のそれぞれを行列形式にエンコードするステップと、
前記トレーニング済みCNNを使用して、前記複数のエンコード済み辞書単語のそれぞれに対する辞書ベクトルを作成するステップと、
各辞書ベクトルを、前記関連付けられた辞書単語に対応する分類インジケータとともに記憶するステップと、
単語のバッチ内の各単語を分類の為に行列形式にエンコードするステップと、
前記トレーニング済みCNNを使用して、前記バッチ内の各エンコード済み単語に対する単語ベクトルを作成するステップと、
各単語ベクトルに対する1つ以上の最も近いマッチング辞書ベクトルを見つけるステップと、
前記バッチ内の各単語ベクトルに対する前記1つ以上の最も近いマッチング辞書ベクトルの前記分類インジケータを報告するステップと、
を少なくとも1つのプロセッサに実施させる命令を記憶する前記少なくとも1つのメモリデバイス
を含むシステム。
実施例12
前記トレーニング単語は前記辞書単語を含む、実施例11に記載のシステム。
実施例13
前記類似度メトリックは、1小さいレーベンシュタイン編集距離を、前記ペア内の最長単語の長さで割ったものに等しい、実施例11又は12に記載のシステム。
実施例14
前記コサイン類似度は、トレーニングベクトルの前記ペアのドット積をそれらのユークリッドノルムの積で割ることによって計算される、実施例11~13のいずれか1つに記載のシステム。
実施例15
前記トレーニング単語、前記辞書単語、及び前記バッチ内の前記単語は、30文字×長さ50の行列にエンコードされる、実施例11~14のいずれか1つに記載のシステム。
実施例16
各単語ベクトルは、前記バッチ内の前記対応する単語を記憶することなく作成される、実施例11~15のいずれか1つに記載のシステム。
実施例17
類似度検索を容易にする為に、各辞書ベクトル及び対応する分類インジケータにインデックスが付けられる、実施例11~16のいずれか1つに記載のシステム。
実施例18
前記1つ以上の最も近いマッチング辞書ベクトルのそれぞれは、関連付けられたスコアを有し、前記バッチ内の各単語ベクトルに対する前記1つ以上の最も近いマッチング辞書ベクトルの前記分類インジケータを報告する前記ステップは、
前記バッチ内の各単語について、分類インジケータごとに最高スコアを選択するステップと、
分類インジケータごとに前記選択された最高スコアを平均するステップと、
を含む、
実施例11~17のいずれか1つに記載のシステム。
実施例19
単語のバッチ内の単語を分類するシステムであって、
少なくとも1つのメモリデバイスであって、
ニューラルネットワーク(NN)をトレーニングするステップであって、
複数のトレーニング単語の複数のペアについての類似度メトリックを計算するステップであって、前記類似度メトリックは、1小さいレーベンシュタイン編集距離を、前記ペア内の最長単語の長さで割ったものに等しい、前記類似度メトリックを計算する前記ステップと、
前記NN及び前記NNのツインを使用して、トレーニング単語の前記複数のペアのそれぞれに対するトレーニングベクトルのペアを作成するステップと、
各ペアのトレーニングベクトル間のコサイン類似度を計算するステップと、
トレーニング単語の各ペアについての前記類似度メトリックと前記コサイン類似度とを比較し、前記比較に基づいて前記NNを調節するステップと、
を含む、前記NNをトレーニングする前記ステップと、
前記トレーニング済みNNを使用して、複数の辞書単語のそれぞれに対する辞書ベクトルを作成するステップと、
各辞書ベクトルを、前記関連付けられた辞書単語に対応する分類インジケータとともに記憶するステップと、
前記トレーニング済みNNを使用して、分類の為に、単語のバッチ内の各単語に対する単語ベクトルを作成するステップと、
各単語ベクトルに対する1つ以上の最も近いマッチング辞書ベクトルを見つけるステップと、
前記バッチ内の各単語ベクトルに対する前記1つ以上の最も近いマッチング辞書ベクトルの前記分類インジケータを報告するステップと、
を少なくとも1つのプロセッサに実施させる命令を記憶する前記少なくとも1つのメモリデバイス
を含むシステム。
実施例20
前記コサイン類似度は、トレーニングベクトルの前記ペアのドット積をそれらのユークリッドノルムの積で割ることによって計算される、実施例19に記載のシステム。
実施例21
前記1つ以上の最も近いマッチング辞書ベクトルのそれぞれは、関連付けられたスコアを有し、前記バッチ内の各単語ベクトルに対する前記1つ以上の最も近いマッチング辞書ベクトルの前記分類インジケータを報告する前記ステップは、
前記バッチ内の各単語について、分類インジケータごとに最高スコアを選択するステップと、
分類インジケータごとに前記選択された最高スコアを平均するステップと、
を含む、
実施例19又は20に記載のシステム。
実施例22
前記トレーニング単語、前記辞書単語、及び前記バッチ内の前記単語は、30文字×長さ50の行列にエンコードされ、その後、対応するベクトルが前記NNによって作成される、実施例19~21のいずれか1つに記載のシステム。
実施例23
前記NNは畳み込みニューラルネットワークである、実施例19~22のいずれか1つに記載のシステム。
実施例24
各単語ベクトルは、前記バッチ内の前記対応する単語を記憶することなく作成される、実施例19~24のいずれか1つに記載のシステム。
実施例25
類似度検索を容易にする為に、各辞書ベクトル及び対応する分類インジケータにインデックスが付けられる、実施例19~24のいずれか1つに記載のシステム。
実施例26
前記トレーニング単語は前記辞書単語を含む、実施例19~25のいずれか1つに記載のシステム。
注記
【0050】
上述の説明及び図面は例示的であり、限定として解釈されるべきではない。本開示の十分な理解が得られるように、多数の具体的詳細を説明した。但し、場合によっては、説明が曖昧になるのを避ける為に、よく知られた詳細については説明していない。更に、それらの実施形態の範囲から逸脱しない限り、様々な修正が行われてよい。
【0051】
本明細書での「一実施形態(one embodiment)」又は「一実施形態(an embodiment)」への参照は、その実施形態に関して説明されている特定の特徴、構造、又は特性が本開示の少なくとも1つの実施形態に含まれることを意味する。本明細書の様々な場所での「一実施形態では(in one embodiment)」という語句の出現は、必ずしも全てが同じ実施形態を参照するものではなく、他の実施形態に対して相互に排他的な別個又は代替の実施形態を参照するものでもない。更に、説明した様々な特徴は、幾つかの実施形態によって示されていて、他の実施形態によって示されていない場合がある。同様に、説明した様々な要件は、幾つかの実施形態に対する要件であって、他の実施形態に対する要件ではない場合がある。
【0052】
本明細書で使用している用語は一般に、当該技術分野において、本開示の文脈内において、並びに各用語が使用されている特定の文脈において、その通常の意味を有する。当然のことながら、同じ事柄が2つ以上の言い方で語られることがあってよい。従って、本明細書に記載の用語のうちの任意の1つ以上について別の言い回しや同義語が使用される場合があり、用語が本明細書において詳述又は議論されるかどうかにかかわらず、何らかの特別な意味が与えられることはない。幾つかの用語については同義語が与えられている。1つ以上の同義語の記述は、他の同義語の使用を排除しない。本明細書の任意の場所での実施例の使用は、本明細書に記載の任意の用語の例を含めて、あくまで例示であって、本開示の、又は任意の例示的用語の範囲及び意味を更に限定することを意図するものではない。同様に、本開示は、本明細書において与えられている様々な実施形態に限定されない。特に定義されない限り、本明細書で使用されるあらゆる技術用語及び科学用語の意味は、本開示が属する当該技術分野の当業者によって一般的に理解される意味と同じである。矛盾する場合には、定義を含む本文書が支配する。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
【国際調査報告】