(57)【要約】      （修正有）【課題】人間の編集を必要としない正確な翻訳を生成する方法を提供する。【解決手段】システム２００において、方法は、大規模な第１のテキストコーパスから生成された既存の第１のベクトルモデルからベクトルを変換し、相対的に小さい第２の新しいテキストコーパスから生成された第２のベクトルモデルからもベクトルを変換して、結合されたベクトルモデルを生成する。【効果】第１のテキストコーパスに対するアクセス又は再トレーニングが不要となることが有利な効果である。【選択図】図２
2019139748.tif 000002
【特許請求の範囲】
【請求項１】
第１のベクトルモデルを受信するステップであって、前記第１のベクトルモデルが、第１のコーパスに対してトレーニングされた第１のニューラルネットワークから生成され、前記第１のニューラルネットワークが複数の隠れノードを含んでおり、前記第１のベクトルモデルが複数の第１の基底ベクトルによって定義されたベクトル空間にわたる、当該受信するステップと、
第２のニューラルネットワークを第２のコーパスに対してトレーニングして第２のベクトルモデルを生成するステップであって、前記第２のニューラルネットワークが、前記第１のニューラルネットワークに含まれているのと同じ複数の隠れノードを含んでおり、前記第２のベクトルモデルが複数の第２の基底ベクトルによって定義されたベクトル空間にわたる、当該生成するステップと、
前記複数の第２の基底ベクトルを前記複数の第１の基底ベクトルに変換する変換行列を決定するステップと、
前記変換行列を使用して、前記第１のベクトルモデル及び前記第２のベクトルモデルを結合されたベクトルモデルに変換するステップと、
を含む、コンピュータ化された方法。
【請求項２】
前記第１のベクトルモデル内の第１の複数のベクトルが、前記第２のベクトルモデルによってやはり埋め込まれている複数の単語の埋め込みから生成され、
前記第２のベクトルモデル内の第２の複数のベクトルが、前記第１の複数のベクトルに対応し、
前記第１のベクトルモデル及び前記第２のベクトルモデルを結合されたベクトルモデルに変換するステップが、前記第１の複数のベクトルのベクトルごとに、
前記ベクトルに係数を掛けて加重ベクトルを形成することと、
前記第２の複数のベクトルのうちの前記対応するベクトルに、前記変換行列を掛けて、変換されたベクトルを形成することと、
前記加重ベクトル及び前記変換されたベクトルを合計して第１の変換されたベクトルを形成することと、
を含む、請求項１に記載のコンピュータ化された方法。
【請求項３】
前記第２のベクトルモデルが、前記第１のベクトルモデルによって埋め込まれていない単語から生成される第３の複数のベクトルをさらに含んでおり、
前記第１のベクトルモデル及び前記第２のベクトルモデルを結合されたベクトルモデルに変換するステップが、
前記第３の複数のベクトルの各ベクトルに、前記変換行列を掛けて、第２の変換されたベクトルを形成すること、
をさらに含む、
請求項２に記載のコンピュータ化された方法。
【請求項４】
前記第１のベクトルモデルがＷｏｒｄ２Ｖｅｃベクトルモデルである、請求項１に記載のコンピュータ化された方法。
【請求項５】
前記第１のベクトルモデルが公有のベクトルモデルである、請求項１に記載のコンピュータ化された方法。
【請求項６】
前記複数の第１の基底ベクトルの各第１の基底ベクトルが、前記複数の第２の基底ベクトルの各第２の基底ベクトルと直交する、請求項１に記載のコンピュータ化された方法。
【請求項７】
前記変換行列を決定するステップが、最小二乗法を使用して一連の方程式を解くことを含んでいる、請求項１に記載のコンピュータ化された方法。
【請求項８】
前記第１の複数のベクトルのベクトルごとに、前記ベクトルに前記係数を掛けて前記加重ベクトルを形成することが、前記ベクトルに係数（ｒ／ｒ＋１）を掛けることを含んでおり、
ｒが、前記第２のコーパスの第２のコーパスサイズに対する、前記第１のコーパスの第１のコーパスサイズの比率である、請求項２に記載のコンピュータ化された方法。
【請求項９】
ｒが５００に等しい、請求項８に記載のコンピュータ化された方法。
【請求項１０】
前記第１の複数のベクトルのベクトルごとに、前記第２の複数のベクトルのうちの前記対応するベクトルに前記変換行列を掛けて前記変換されたベクトルを形成することが、前記第２の複数のベクトルのうちの前記対応するベクトルに前記変換行列及び係数（１／ｒ＋１）を掛けて前記変換されたベクトルを形成すること、
を含んでいる、請求項８に記載のコンピュータ化された方法。
【請求項１１】
第１のベクトルモデルを格納するように構成されたメモリであって、前記第１のベクトルモデルが、第１のコーパスに対してトレーニングされた第１のニューラルネットワークから生成され、前記第１のニューラルネットワークが複数の隠れノードを含んでおり、前記第１のベクトルモデルが複数の第１の基底ベクトルによって定義されたベクトル空間にわたる、当該メモリと、
第２のニューラルネットワークを第２のコーパスに対してトレーニングして新しいベクトルモデルを生成するように構成されたベクトルトレーニングモジュールであって、前記第２のニューラルネットワークが、前記第１のニューラルネットワークに含まれているのと同じ複数の隠れノードを含んでおり、第２のベクトルモデルが複数の第２の基底ベクトルによって定義されたベクトル空間にわたる、当該ベクトルトレーニングモジュールと、
前記複数の第２の基底ベクトルを前記複数の第１の基底ベクトルに変換するための変換行列を決定するように構成されており、前記変換行列を使用して、前記第１のベクトルモデル及び前記第２のベクトルモデルを結合されたベクトルモデルに変換するように構成されている、変換モジュールと、
を備える、コンピュータ化されたシステム。
【請求項１２】
前記第１のベクトルモデル内の第１の複数のベクトルが、前記第２のベクトルモデルによって埋め込まれている複数の単語の埋め込みから生成され、
前記第２のベクトルモデル内の第２の複数のベクトルが、前記第１の複数のベクトルに対応し、
前記変換モジュールが、前記第１の複数のベクトルのベクトルごとに、
加重ベクトルを形成するための、前記ベクトルと係数の乗算と、
変換されたベクトルを形成するための、前記第２の複数のベクトルのうちの前記対応するベクトルと前記変換行列の乗算と、
第１の変換されたベクトルを形成するための、前記加重ベクトル及び前記変換されたベクトルの合計、によって、
前記第１のベクトルモデル及び前記第２のベクトルモデルを変換するように構成されている、請求項１１に記載のコンピュータ化されたシステム。
【請求項１３】
前記第２のベクトルモデルが、前記第１のベクトルモデルによって埋め込まれていない単語から生成される第３の複数のベクトル、をさらに含んでおり、
前記変換モジュールが、前記第３の複数のベクトルの各ベクトルに、前記変換行列を掛けて、第２の変換されたベクトルを形成するようにさらに構成されている、請求項１２に記載のコンピュータ化されたシステム。
【請求項１４】
前記第１のベクトルモデルがＷｏｒｄ２Ｖｅｃベクトルモデルである、請求項１１に記載のコンピュータ化されたシステム。
【請求項１５】
前記第１のベクトルモデルが公有のベクトルモデルである、請求項１１に記載のコンピュータ化されたシステム。
【請求項１６】
前記複数の第１の基底ベクトルにおける各第１の基底ベクトルが、前記複数の第２の基底ベクトルにおける各第２の基底ベクトルと直交する、請求項１１に記載のコンピュータ化されたシステム。
【請求項１７】
前記変換モジュールが、最小二乗法に従って一連の方程式の解によって前記変換行列を決定するように構成されている、請求項１１に記載のコンピュータ化されたシステム。
【請求項１８】
前記第１の複数のベクトルのベクトルごとに、前記加重ベクトルを形成するための、前記ベクトルと前記係数の前記乗算が、前記ベクトルと係数（ｒ／ｒ＋１）の乗算を含んでおり、
ｒが、前記第２のコーパスの第２のコーパスサイズに対する、前記第１のコーパスの第１のコーパスサイズの比率である、請求項１２に記載のコンピュータ化されたシステム。
【請求項１９】
ｒが５００に等しい、請求項１８に記載のコンピュータ化されたシステム。
【請求項２０】
前記第１の複数のベクトルのベクトルごとに、前記変換されたベクトルを形成するための、前記第２の複数のベクトルのうちの前記対応するベクトルと前記変換行列の前記乗算が、
前記変換されたベクトルを形成するための、前記第２の複数のベクトルのうちの前記対応するベクトルと前記変換行列及び係数（１／ｒ＋１）との乗算、
を含んでいる、請求項１８に記載のコンピュータ化されたシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
[0002]本出願は、自然言語処理に関連し、より詳細には、第１のテキストコーパスから生成された第１のベクトルモデル及び第２のテキストコーパスから生成された第２のベクトルモデルからの新しいベクトルモデルの組み立てに関連する。
【０００２】
［関連出願の相互参照］
[0001]本出願は、２０１８年２月８日に出願された米国特許仮出願第６２／６２８，１７７号に対する優先権及びその恩恵を請求し、この特許仮出願の内容は、全体的に本明細書に包含される。
【背景技術】
【０００３】
[0003]Ｃ＋＋などのプログラミング言語は、厳密に曖昧さがなく、正確である。しかし、自然言語は、曖昧さがないということはなく、正確でもない。例えば、「得る（ｇｅｔ）」という単語は、ある文脈では取得するということを意味し、別の文脈では理解するということを意味する場合がある。機械が自然言語を処理できるようにするために、初期のアプローチは、機械が文法規則の適用を試みる意味的アプローチを試みた。しかし、そのようなアプローチは、ほとんど実行不可能であった。例えば、文法規則を使用する機械翻訳は、翻訳されたテキストにおいて、滑稽と言ってよいような誤りをもたらした。しかし、最新の自然言語処理は、はるかに強力であり、人間の編集をほとんど又は全く必要としないことのあるかなり正確な翻訳を生成する。
【０００４】
[0004]そのような結果を得るために、最新の自然言語処理は、単語又は語句をベクトルとして表す（埋め込む）。埋め込まれているのは、１つの単語であることもあれば、複数の単語であることもあるため、埋め込まれているシンボルはトークンとして示されてよく、各トークンは少なくとも１つの単語を表す。例えば、テキストコーパスからＮ個のトークンが埋め込まれており、Ｎが２以上の正の整数であると仮定する。次に、各トークンは、Ｎ次元ベクトル内の１つの次元に割り当てられてもよい（ワンホットエンコーディング）。さまざまなトークンから得られた入力ベクトルは、ニューラルネットワークをトレーニングするために使用される。図１に、１つの例としてＷｏｒｄ２Ｖｅｃニューラルネットワーク１００が示されており、このニューラルネットワークは、複数のＤ個のノード（Ｗｏｒｄ２Ｖｅｃモデルの場合、Ｄは約３００である）を含んでいる単一隠れ層を使用して、Ｇｏｏｇｌｅによって開発された。Ｎ個の入力ノードの範囲は、第１の入力ノードＩ１〜第Ｎの入力ノードＩＮである。Ｄ個の隠れノードの範囲は、第１の隠れノードＨ１〜第Ｄの隠れノードＨＤである。Ｎ個の出力ノードは、Ｎ個の入力ノードに類似しており、したがってその範囲は、第１の出力ノードＯ１〜第Ｎの出力ノードＯＮである。コーパスに対してトレーニングした後に得られるＷｏｒｄ２Ｖｅｃニューラルネットワーク係数は、対応するコーパスのベクトルモデルとして示される［Ｎ  Ｘ  Ｄ］行列（Ｎ行及びＤ列）を形成する。Ｎ個の各ワンホット入力ベクトルは、［Ｎ  Ｘ  Ｄ］行列内のＤ次元のベクトルにマッピングされ、ベクトルモデルを形成する。興味深いことに、この行列自体は、対象となるニューラルネットワークではなく、代わりに、ベクトルモデル内のベクトルである。特に、類似する文脈及び意味を持っている単語は、Ｄ次元のＮ個のベクトルによって形成されたＤ次元空間内でクラスターを形成する傾向がある。プロセッサは、この空間的類似性を使用して、文書を分析し、人間のような方法で「理解する」ことができる。例えば、プロセッサは、文書の文脈を構文解析して、類似する文書をユーザに提案すること、文書を翻訳すること、ユーザの質問を理解することなどを実行できる。
【０００５】
[0005]このように、単語の埋め込みを使用する自然言語プログラミング（ＮＬＰ：ｎａｔｕｒａｌ  ｌａｎｇｕａｇｅ  ｐｒｏｇｒａｍｍｉｎｇ）は非常に強力であるが、正確な結果を実現するために、かなり大きいコーパスを必要とする。例えば、Ｗｏｒｄ２Ｖｅｃモデルは、１０００憶個を超える単語のコーパスに対してトレーニングされた。ＮＬＰ研究者は、そのような比較的に巨大なサードパーティのコーパスを利用できない。さらに、そのコーパスが公開された場合でも、そのような巨大なコーパスに対するニューラルネットワークのトレーニングは、多大な時間を必要とし、高価である。さらに、言語は絶え間なく変化している。例えば、「フェイクニュース」や「ジカウイルス」などの用語の最近の発達を考慮する。新しい言語の終わりのないストリームを使用して元のコーパスを拡張することは、生成されるコーパスの巨大なサイズのため、実行不可能になる。
【０００６】
[0006]したがって、単語の埋め込みのベクトルモデルを素早く更新又は拡張する能力に対する必要性が、従来技術において存在する。
【発明の概要】
【０００７】
[0007]元のコーパスから生成された既存のベクトルモデルが、別のベクトルモデルからのベクトルと結合され、元のコーパスへのアクセスも元のコーパスの使用も必要とせずに、結合されたベクトルモデルを形成することができる、方法及びシステムが開示される。特に、既存のモデルからのベクトル、及び次に追加のベクトルモデルからのベクトルを、結合されたベクトルモデルを形成するベクトルに変換できるように、変換が提供される。この結果は、元のコーパスが著しく大きいのに対して、新しいコーパスを相対的に小さくすることができるため、非常に有利である。代わりに、元のコーパスを新しいコーパスと結合して、結合されたコーパスを形成し、結合されたコーパスに対してニューラルネットワークをトレーニングして、結合されたベクトルモデルを生成するのは、非常に厄介であろう。しかし、本明細書で開示される変換は、そのような厄介なトレーニングを取り除き、既存のベクトルモデルからのベクトル、及び新しいベクトルモデルからのベクトルを、結合されたベクトルモデルのベクトルに単に変換することによって、新しいベクトルモデルに対応する新しいコーパスを介した既存のベクトルモデルの拡張を可能にする。
【０００８】
[0008]これらの有利な特徴は、以下の詳細な説明の検討を通じてさらによく理解することができる。
【図面の簡単な説明】
【０００９】
【図１】Ｗｏｒｄ２Ｖｅｃニューラルネットワークを示す図である。
【図２】本開示の態様に記載された、コンピュータ化されたベクトル変換及び組み立てシステムのブロック図である。
【図３】図２に示されたモジュールを実装するための例示的なコンピュータシステムを示す図である。
【発明を実施するための形態】
【００１０】
[0012]コンピュータ化されたベクトルモデル変換及び組み立てシステム２００が、図２に示されている。システム２００は、例えばＷｏｒｄ２Ｖｅｃモデルによって実践されている、単一隠れ層ニューラルネットワークの使用を含む。しかし、本明細書で開示されるベクトル変換技術を、２つ以上の隠れ層を含む深層ニューラルネットワークに容易に適用できるということが、理解されるであろう。したがって、Ｗｏｒｄ２Ｖｅｃモデルの使用を含んでいる以下の説明は、他の単語埋め込み生成モデルが利用されてもよいということが理解されるように、単なる例示である。前述したように、Ｗｏｒｄ２Ｖｅｃモデルは、相対的に大きいサードパーティのコーパス２０５に対してトレーニングされる。そのようなサードパーティのコーパス２０５は、既に存在しており、非常に大きいものである可能性がある。そのような大きいコーパスに対してニューラルネットワークをトレーニングすることは、有利であるが、かなりの量の時間及び計算リソースを伴う。さらに、ＮＬＰ研究者は、そのようなサードパーティのコーパスにアクセスできないことがある。アクセス権限が付与されている場合でも、そのようなサードパーティのコーパスを、追加のコーパスで更新し、その後、生成された改善後のコーパスに対して対応するニューラルネットワークをトレーニングすることは、時間及び計算コストの観点から法外に高額になるであろう。しかし、ベクトル変換システム２００は、そのような大規模な改善後のコーパスに対するトレーニングを必要としないにもかかわらず、相対的に大きいサードパーティのコーパス２０５からの恩恵が維持される。
【００１１】
[0013]既存のサードパーティのコーパス２０５は、Ｗｏｒｄ２Ｖｅｃニューラルネットワークを、Ｗｏｒｄ２Ｖｅｃベクトルトレーニングモジュール２１０においてトレーニングし、既存のトレーニング済みのベクトルモデル２１５を生成する。複数のＮ個のベクトルがベクトルモデル２１５内に存在し、Ｎは２以上の正の整数である。それらのＮ個のベクトルは、既存のコーパス２０５から選択されたＮ個のトークンに対応する。各ベクトルは、Ｗｏｒｄ２Ｖｅｃモデル内の隠れノードの数である、Ｄの次元性を有している。生成されたベクトルモデル２１５は、公有であることが理想的である。公有でない場合、本明細書で開示されたベクトル変換を実践するために、アクセス権限を取得することが必要になる。既存のベクトルモデル２１５は、膨大なコーパス２０５から恩恵を受けるが、前述したように、言語は絶え間なく変化している。さらに、期間が固定されている場合でも、使用できるすべてのテキストを含むことができるコーパスは、存在しない。したがって、ベクトルモデル２１５は、新しいコーパス（又は、新しい複数のコーパス）２２０を使用し、新しいニューラルネットワークトレーニングモジュール２２５を新しいコーパス２２０に対してトレーニングして、新しいベクトルモデル２３０を生成することによって、改善されてもよい。新しいニューラルネットワークの入力ノードの数は、コーパス２２０から埋め込まれている単語（トークン）の数によって決まる。以下の説明では、複数の入力ノードは、２以上の正の整数Ｍによって表される。一般に、Ｍは、Ｗｏｒｄ２Ｖｅｃモデルの入力ノードの数Ｎに等しくない。しかし、新しいニューラルネットワークは、同じ数Ｄの隠れノードを含んでいる。したがって、新しいベクトルモデル２３０を形成するＭ個のベクトルは、新しいベクトルモデル２３０がＭ×Ｄ行列を形成するように、Ｄの次元性を有する。
【００１２】
[0014]前述したように、トレーニング済みのベクトルモデル２１５は、トレーニング済みのベクトルモデル２１５において表されるコーパス２０５内の単語又は語句ごとに、ベクトルを含む。例えば、単語Ａがモデル２１５内のベクトルＡにマッピングされ、単語ＢがベクトルＢにマッピングされる、などとなる。したがって、埋め込まれる１０，０００個の単語が存在する場合、ベクトルモデル２１５は１０，０００個の対応するベクトルを含む。ベクトルモデル２１５内の各ベクトルの次元性Ｄは、対応するニューラルネットワーク内の隠れノードの数によって決まる。Ｗｏｒｄ２Ｖｅｃモデルを使用する一実施形態では、ベクトルモデル２１５内の各ベクトルは、約３００の次元性を有する。そのようなベクトル空間の各次元は、単位基底ベクトルによって表されてもよい。したがって、Ｗｏｒｄ２Ｖｅｃの実施形態のベクトルモデル２１５の場合、ベクトル空間にわたって３００個の単位基底ベクトルが存在することになる。
【００１３】
[0015]新しいベクトルモデル２３０の次元性は、既存のトレーニング済みのベクトルモデル１１５の次元性に一致する。したがって、Ｗｏｒｄ２Ｖｅｃの実施形態では、新しいベクトルモデル２３０のベクトル空間も、３００個の単位基底ベクトルによって表される。しかし、出願者は、トレーニング済みの（既存の）ベクトルモデル２１５の単位基底ベクトルとは対照的な、新しいベクトルモデル２３０を定義する単位基底ベクトルに関する次の興味深い特徴を発見した。具体的には、出願者は、新しいベクトルモデル２３０の単位基底ベクトルが、既存のベクトルモデル２１５の単位基底ベクトルと、事実上常に直交するということを発見した。出願者は、そのような直交性の数学的証明を含めないが、このことは、反復試験において観察されており、したがって、真実であるということがヒューリスティックに示されている。この注目に値する結果は、ｗｏｒｄ２ｖｅｃの対称なニューラルネットワークアーキテクチャ、及び通常は疑似ランダムシーディングに応じて極小点で終了するｗｏｒｄ２ｖｅｃの確率的勾配降下（ＳＧＤ：ｓｔｏｃｈａｓｔｉｃ  ｇｒａｄｉｅｎｔ  ｄｅｓｃｅｎｄ）トレーニング手順から生じると考えられる。何がこのような結果を引き起こすかにかかわらず、本明細書では、組み立てられたベクトルモデル２４０を作成するために、得られた直交性が、ベクトル変換及び組み立てモジュール２３５において利用される（組み立てられたベクトルモデル２４０は、新しいコーパス２２０及びサードパーティのコーパス２０５の効果的な組み合わせから生成されるため、結合されたベクトルモデルとして示されてもよい）。言い換えると、組み立てられたベクトルモデル２４０は、対応するニューラルネットワークを、サードパーティのコーパス２０５と新しいコーパス２２０の組み合わせから生成される結合されたコーパスに対してトレーニングした結果と同等である。しかし、そのようなトレーニングは、そのような結合されたコーパスの相対的なサイズを考えると、時間及び計算能力に関して問題がある。さらに、時間及び計算リソースを前提としたとしても、サードパーティのコーパス２０５が通常はパブリックアクセスで利用できないため、そのようなトレーニングは、特定のＮＬＰ研究者にとって不可能な作業である。ベクトル変換及び組み立てモジュール２３５は、ベクトルモデル２１５及び２３０が結合されて組み立てられたベクトルモデル２４０を形成できるように、ベクトルモデル２１５及び２３０のベクトルを変換することによって、このような問題を解決する。
【００１４】
[0016]ここで、この有利なベクトル変換及び組み立てについて、さらに詳細に説明する。前述したように、ニューラルネットワークのトレーニング２１０のために、Ｎ個の対応するトークンがコーパス２０５から選択されたため、既存のベクトルモデル２１５にはＮ個のベクトルが存在している。したがって、Ｗｏｒｄ２ＶｅｃモデルのニューラルネットワークはＮ個の入力ノードを含む。加えて、このニューラルネットワークは複数のＤ個の隠れノードを含んでいるため、ベクトルモデル２１５内の各ベクトルは、Ｄ次元を有している。したがって、ベクトルモデル２１５のベクトル空間は、第１の単位基底ベクトル〜第Ｄの単位基底ベクトルの範囲にわたる複数のＤ個の単位基底ベクトルによって表されてもよい。
【００１５】
[0017]新しいコーパス２２０はＭ個のベクトルを含む。一般に、新しいコーパス２２０と比較してコーパス２０５のサイズが大きいため、ＭはＮよりも小さくなる。Ｍ個のベクトルに関しては、それらのうちのＰ個が、コーパス２０５から既存のモデル２１５に埋め込まれているのと同じ単語を対象にする。したがって、既存のモデル２１５内のベクトルは、新しいモデル２３０と共有されている単語に関するＰ個のベクトル、及び新しいモデル２３０と共有されていない単語に関する（Ｎ−Ｐ）個のベクトルに分割されてもよい。同様に、新しいモデル２３０内のベクトルは、既存のモデル２１５と共有されている単語に関するＰ個のベクトル、及び既存のモデル２１５と共有されていない単語に関する（Ｍ−Ｐ）個のベクトルに分割されてもよい。したがって、既存のベクトルモデル２１５内のベクトルは、次のように表されてもよい。
【数１】
2019139748.tif 000003
【００１６】
[0018]同様に、新しいベクトルモデル２３０内のベクトルは、次のように表されてもよい。
【数２】
2019139748.tif 000004
【００１７】
[0019]両方のモデルのベクトル空間は、複数のＤ個の単位基底ベクトルによって定義される。特に、既存のモデル２１５のベクトル空間が、次のように表されてもよい。
【数３】
2019139748.tif 000005
一方、新しいモデル２３０のベクトル空間が、次のように表されてもよい。
【数４】
2019139748.tif 000006
【００１８】
[0020]１つのベクトルモデルから次のベクトルモデルへの基底ベクトルの直交性を前提として、同じ単語に関して、モデル２１５及び２３０内のＰ個のベクトルが互いに直交しており、このことが、次のドット積によって表されてもよい。
【数５】
2019139748.tif 000007
【００１９】
[0021]ここで、ベクトル変換及び組み立てモジュール２３５において適用される変換について説明する。この変換に関しては、新しいベクトルモデル２３０の単位基底ベクトルを次のように既存のモデル２１５の単位基底ベクトルに回転させる行列Ｔが存在する。
【数６】
2019139748.tif 000008
【００２０】
[0022]２つのモデル間の基底ベクトルの直交性を前提として、行列［Ｔ］は次の特性を有する。
【数７】
2019139748.tif 000009
【００２１】
[0023]この特性は、次の制約と結合される。
【数８】
2019139748.tif 000010
その結果、［Ｔ］の行列要素を決定するために最小二乗法によって容易に解かれる一連の方程式が得られる。代替として、両方のモデルのＰ個の共通の単語のセットからＤ個の単語を選択し、方程式（２）を使用して、次元Ｄ２の連立一次方程式を形成することができ、この連立一次方程式が解かれ、方程式（１）によって直交化される列を含む行列を得て、行列［Ｔ］の係数を取得する。
【００２２】
[0024]行列［Ｔ］がどのように導出されるかにかかわらず、次に、この変換行列は、２つのモデルを、結合された又は組み立てられたモデル２４０に組み立てるために使用することができ、この結合された又は組み立てられたモデル２４０は、次のように表されてもよい。
【数９】
2019139748.tif 000011
ここで、
【数１０】
2019139748.tif 000012
である。
【００２３】
[0025]係数ｒは、新しいコーパス２２０のトークンの数と比較した、既存のコーパス２０５のコーパスサイズ（トークンの数）の比率によって定義される。既存のモデル２１５を生成するためのコーパス２０５のトークンサイズが未知であるなら、既存のモデル２１５内の共通の単語（Ｐ個の共有された単語）がより良い精度を有していると考えられる場合に、係数ｒが大きい数（例えば、５００）として選択され得る、ということに注意する。代替として、コーパスサイズが同等である場合、ｒの推定値が減らされてもよい。
【００２４】
[0026]方程式（４）は、Ｐ個の共有された単語がそれぞれ、既存のモデル２１５及び新しいモデル２３０の両方からの寄与があるベクトルにマッピングされるべきであるという点において、直感的に理にかなっている。方程式（５）も、新しいモデル２３０によって共有されていない、既存のモデル２１５によって埋め込まれた単語には、新しいモデル２３０からの寄与がないようにするべきであるという点において、直感的である。最後に、方程式（６）も、既存のモデル２１５からのベクトルの寄与がないように、既存のモデル２１５によって共有されていない、新しいモデル２３０によって埋め込まれた単語に対処するという点において、直感的である。
【００２５】
[0027]一例として、係数ｒを５００として、健康に関するニュースから選択された新しいコーパスを使用して、システム２００が試験された。トレーニング済みのベクトルモデルと、結合されたモデルとの間で共通の単語が、類似するベクトルにマッピングされるべきであるということが期待されるであろう。したがって、新しいモデルの精度を試験するための１つの方法は、さまざまな共有された単語に関して、既存のベクトル及び結合されたベクトルのコサイン類似度を決定することである。完全性のために、既存のモデル内のみの単語のベクトル間のコサイン類似度も、結合されたモデル内の対応するベクトルと比較されるが、そのような既存のベクトルと結合されたベクトルとの間に差がないはずであるということが、方程式（５）から知られる。最後に、コサイン類似度は、方程式（６）などによって対処される古いモデルと共有されない単語に関して、新しいモデル内のベクトルと、結合されたモデル内の対応するベクトルとの間でも試験される。結果として得られたコサイン類似度の分散は、次の通りである。
【表１】
2019139748.tif 000013
【００２６】
[0028]期待された通りに、Ｗｏｒｄ２Ｖｅｃモデル内のみにある単語の対に関して、差はない。同様に、やはり期待された通りに、共有された単語の対に関して、相対的に小さい差が存在する。新しいモデル（この例では、健康モデル）内のみにある単語の対に関して、より大きいコサイン類似度の分散が存在しており、この分散は、変換行列［Ｔ］が厳密に正規直交していないということに起因する。
【００２７】
[0029]元のＷｏｒｄ２Ｖｅｃモデルを上回ることが期待される結合されたモデルにおける「健康の理解」の改善を示すために、「ｍｅｄｉｃａｌ」と「ｈｅａｌｔｈ」の間のコサイン類似度が、一例になるであろう。元のＷｏｒｄ２Ｖｅｃモデルでは、これらの単語のコサイン類似度は０．５４であった。しかし、この類似度は、結合されたモデルでは０．６７に増加する。最後に、「ｚｉｋａ」と「ｂｌｏｏｄ」の間の類似度について考える。Ｗｏｒｄ２Ｖｅｃモデルコーパスはｚｉｋａを含んでいなかったため、この場合、ｚｉｋａとｂｌｏｏｄの間にはコサイン類似度があり得ない。結合されたモデルの場合、この類似度は、単語ｂｌｏｏｄとｚｉｋａ  ｖｉｒｕｓの間の強い関連性を前提として、期待された通りに０．７４になる。
【００２８】
[0030]ここで、モジュール２２５及び２３５を実装するための、図３に示されているコンピュータシステム３００について説明する。これらのモジュールが、１つ又は複数のコンピュータを使用して実装されてもよく、或いは代わりに、構成されたＦＰＧＡ又はＡＳＩＣ（複数可）を使用してインスタンス化されてもよいということが、理解されるであろう。管理者は、ディスプレイ３１１、キーボード３０４、及び視聴覚Ｉ／Ｏ３０５を使用して、システム３００を構成してもよい。システム３００は、バス３０２を介して命令のメモリ３１４に結合された少なくとも１つのプロセッサを含む。バス３０２は、ネットワークインターフェイス３０６及び通信リンク３１８を介して、インターネットなどのネットワーク３５０にも結合される。このようにして、コーパス１２０は、システム３００によってネットワーク３５０から容易に受信されてもよい。本明細書において説明されたさまざまなモジュールを実装するためにプロセッサ３１２によって実行される、メモリ３１４に格納される命令は、Ｊａｖａ（登録商標）又はその他の適切なプログラミング言語で記述されてもよい。
【００２９】
[0031]以上の説明は、当業者が、本開示の範囲から逸脱することなく、本開示のデバイスの材料、装置、構成、及び使用方法において、並びにこれらに対して、多数の変更、置き換え、及び変形を行うことができるということを理解するように、例示された。この観点から、本開示の範囲は、本明細書において示され、説明された特定の実施形態が、本開示の単にいくつかの例であるため、それらの実施形態の範囲に限定されるべきでなく、むしろ、以下に添付された特許請求の範囲及びそれらと機能的に同等のものの範囲と完全に等しいものであるべきである。
【図１】
2019139748.tif 000014
【図２】
2019139748.tif 000015
【図３】
2019139748.tif 000016
【外国語明細書】
2019139748000001.pdf