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

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

▶ ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツングの特許一覧

特開2024-102021言語モデルを含む知識ベースを動作させるための装置、及び、コンピュータ実装された方法
<>
  • 特開-言語モデルを含む知識ベースを動作させるための装置、及び、コンピュータ実装された方法 図1
  • 特開-言語モデルを含む知識ベースを動作させるための装置、及び、コンピュータ実装された方法 図2
  • 特開-言語モデルを含む知識ベースを動作させるための装置、及び、コンピュータ実装された方法 図3
  • 特開-言語モデルを含む知識ベースを動作させるための装置、及び、コンピュータ実装された方法 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024102021
(43)【公開日】2024-07-30
(54)【発明の名称】言語モデルを含む知識ベースを動作させるための装置、及び、コンピュータ実装された方法
(51)【国際特許分類】
   G06N 5/04 20230101AFI20240723BHJP
【FI】
G06N5/04
【審査請求】未請求
【請求項の数】14
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024005420
(22)【出願日】2024-01-17
(31)【優先権主張番号】10 2023 200 347.3
(32)【優先日】2023-01-18
(33)【優先権主張国・地域又は機関】DE
(71)【出願人】
【識別番号】390023711
【氏名又は名称】ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング
【氏名又は名称原語表記】ROBERT BOSCH GMBH
【住所又は居所原語表記】Stuttgart, Germany
(74)【代理人】
【識別番号】100114890
【弁理士】
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【弁理士】
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【弁理士】
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【弁理士】
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100162880
【弁理士】
【氏名又は名称】上島 類
(72)【発明者】
【氏名】ハイケ アーデル-ヴー
(72)【発明者】
【氏名】荒木 淳
(72)【発明者】
【氏名】コウスタファ ゴスワミ
(72)【発明者】
【氏名】ルーカス ランゲ
(57)【要約】      (修正有)
【課題】言語モデルを含む知識ベースを動作させるための装置及びコンピュータ実装される方法を提供する。
【解決手段】方法は、言語モデル108を含む知識ベース106に第2のドメインの入力文sを提供し、トークナイザ202を用いて入力文sをトークンtへとトークン化し、変換器204を用いてトークンtを文埋め込みSsに変換し、第1のドメインのプロンプトを表している第1の埋め込みの集合pgを提供し、第2の埋め込みの集合pdを提供する。第2の埋め込みの集合は、第1の埋め込みの集合pgと、第2のドメインのキーワードを表している埋め込みの集合k1・・・knとを含み、第1の埋め込みの集合pg及び第2の埋め込みの集合pdに依存してプロンプトpを決定し、変換器204を用いてトークンt及びプロンプトpのうちの少なくとも1つを知識ベース106の出力oに変換する。
【選択図】図2
【特許請求の範囲】
【請求項1】
言語モデル(108)を含む知識ベース(106)を動作させるためのコンピュータ実装された方法であって、
前記言語モデル(108)は、第1のドメインのために事前訓練されており、かつ、トークナイザ(202)及び変換器(204)を含む、
方法において、当該方法は、
第2のドメインの入力文(s)を提供すること(302)と、
前記トークナイザ(202)を用いて前記入力文(s)をトークン(t)へとトークン化すること(304)と、
前記変換器(204)を用いて前記トークン(t)を文埋め込み(Ss)に変換すること(306)と、
前記第1のドメインのプロンプトを表している第1の埋め込みの集合(pg)を提供すること(308)と、
第2の埋め込みの集合(pd)を提供すること(310)であって、前記第2の埋め込みの集合は、前記第1の埋め込みの集合(pg)と、前記第2のドメインのキーワードを表している埋め込みの集合(k1,・・・,kn)とを含む、こと(310)と、
前記第1の埋め込みの集合(pg)及び前記第2の埋め込みの集合(pd)に依存してプロンプト(p)を決定すること(312)と、
前記変換器(204)を用いて前記トークン(t)及び前記プロンプト(p)のうちの少なくとも1つを前記知識ベース(106)の出力(o)に変換すること(314)と、
を含む、ことを特徴とする方法。
【請求項2】
前記知識ベース(106)は、分類器(206)を含み、
当該方法は、
前記分類器(206)を用いて前記出力の分類(c)を決定すること(316)と、
前記分類に依存して、前記トークンのうちの少なくとも1つのためのラベルを決定すること(318)、又は、
前記分類(c)に依存して、特に前記トークン(t)のうちの少なくとも1つのための前記ラベルに依存して、前記トークン(t)のうちの前記少なくとも1つに対応する前記知識ベース(106)の、特に知識グラフのエントリを決定すること(318)、又は、
前記分類(c)に依存して、前記トークン(t)のうちの少なくとも2つのトークンの関係を決定すること(318)と、
を含む、請求項1に記載の方法。
【請求項3】
前記プロンプト(p)を決定すること(312)は、前記第1の埋め込みの集合(pg)と前記第2の埋め込みの集合(pd)との和を決定することを含む、
請求項1又は2に記載の方法。
【請求項4】
前記和を決定することは、第1の重み(g1)を用いて前記第1の埋め込みの集合(pg)を重み付けすること、及び/又は、第2の重み(1-g1)を用いて前記第2の埋め込みの集合(pd)を重み付けすることを含む、
請求項3に記載の方法。
【請求項5】
当該方法は、
前記文埋め込み(Ss)に依存して前記第1の重み(g1)を決定すること、及び/又は、
前記文埋め込み(Ss)に依存して前記第2の重み(1-g1)を決定すること
を含む、請求項4に記載の方法。
【請求項6】
前記第1の重み(g1)を決定することは、第1の重み付け係数(Wg)を用いて前記文埋め込み(Ss)を重み付けすることを含む、
請求項5に記載の方法。
【請求項7】
前記第2の埋め込みの集合(pd)を提供すること(310)は、前記第1の埋め込みの集合(pg)と、前記キーワードを表している埋め込みの集合(k1,・・・,kn)との順序を決定することを含む、
請求項1乃至6のいずれか一項に記載の方法。
【請求項8】
前記順序を決定することは、
前記キーワードを表している埋め込みの集合(k1,・・・,kn)の前に、前記第1の埋め込みの集合(v1,・・・,vm)を配置すること、及び/又は、
前記キーワードを表している埋め込みの集合(k1,・・・,kn)の後に、前記第1の埋め込みの集合(v1,・・・,vm)を配置すること
を含む、請求項7に記載の方法。
【請求項9】
前記第2の埋め込みの集合(pd)を決定することは、前記キーワードを表している埋め込みの集合(k1,・・・,kn)の前に配置された前記第1の埋め込みの集合(pg)と、前記キーワードを表している埋め込みの集合(k1,・・・,kn)の後に配置された前記第1の埋め込みの集合(pg)との重み付き和を決定することを含む、
又は
前記順序を決定することは、
前記文埋め込み(Ss)に依存して第2の重み(g2)を決定することと、
前記第2の重み(g2)が条件を満たしているかどうかを決定することと、
前記第2の重み(g2)が前記条件を満たしている場合に、前記キーワードを表している埋め込みの集合(k1,・・・,kn)の前に、前記第1の埋め込みの集合(v1,・・・,vm)を配置すること、若しくは、
前記第2の重み(g2)が前記条件を満たしていない場合に、前記キーワードを表している埋め込みの集合(k1,・・・,kn)の後に、前記第1の埋め込みの集合(v1,・・・,vm)を配置することと、
を含む、請求項7又は8に記載の方法。
【請求項10】
前記第2の重み(g2)を決定することは、第2の重み付け係数(Wd)を用いて前記文埋め込み(Ss)を重み付けすることを含む、
請求項9に記載の方法。
【請求項11】
当該方法は、
前記第1の埋め込みの集合(v1,・・・,vm)、前記キーワードを表している埋め込みの集合(k1,・・・,kn)、前記第1の重み付け係数(Wg)、及び/又は、前記第2の重み付け係数(Wd)を、特に一様分布からランダムに初期化すること(402)と、
前記第1の埋め込みの集合(v1,・・・,vm)、前記キーワードを表している埋め込みの集合(k1,・・・,kn)、前記第1の重み付け係数(Wg)、及び/又は、前記第2の重み付け係数(Wd)を訓練するための訓練データを提供すること(404)と、
特に前記言語モデルを静的に保持しながら、前記第1の埋め込みの集合(v1,・・・,vm)、前記キーワードを表している埋め込みの集合(k1,・・・,kn)、前記第1の重み付け係数(Wg)、及び/又は、前記第2の重み付け係数(Wd)を訓練すること(406)と、
を含む、請求項6又は10に記載の方法。
【請求項12】
前記第2の埋め込みの集合((v1,・・・,vm,k1,・・・,kn);(k1,・・・,kn,v1,・・・,vm))を提供すること(310)は、前記キーワードを表している埋め込みの集合(k1,・・・,kn)を、前記第2のドメインの文書における各々の単語頻度、及び/又は、前記第2のドメインの文書の集合における各々の逆単語頻度、及び/又は、前記第1のドメインの文書における各々の単語頻度に依存して決定することを含む、
請求項1乃至11のいずれか一項に記載の方法。
【請求項13】
言語モデル(108)を含む知識ベース(106)を動作させるための装置(100)であって、
前記言語モデル(108)は、第1のドメインのために事前訓練されており、かつ、トークナイザ(202)及び変換器(204)を含む、
装置(100)において、
当該装置(100)は、少なくとも1つのプロセッサ(102)と、少なくとも1つの非一時的なストレージ(104)とを含み、
前記少なくとも1つのプロセッサ(102)は、前記少なくとも1つのプロセッサ(102)によって実行された場合に、請求項1乃至12のいずれか一項に記載の方法のステップを前記少なくとも1つのプロセッサ(102)に実行させるための命令を処理するように構成されており、
前記少なくとも1つのストレージ(104)は、前記命令及び前記知識ベース(106)を格納するように構成されている、
ことを特徴とする装置(100)。
【請求項14】
第1のドメインのために事前訓練された言語モデル(108)を含む知識ベース(106)を動作させるためのコンピュータプログラムにおいて、
当該コンピュータプログラムは、コンピュータによって実行された場合に、請求項1乃至12のいずれか一項に記載の方法を前記コンピュータに実施させるためのコンピュータ可読命令を含む、
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
背景
本発明は、言語モデルを含む知識ベースを動作させるための装置、及び、コンピュータ実装された方法に関する。
【背景技術】
【0002】
事前訓練済みの言語モデルは、プロンプトとともに使用されて、プロンプトに対する応答を提供することができる。
【0003】
「Gao, Tianyu, Adam Fisch, and Danqi Chen著、“Making Pre-trained Language Models Better Few-shot Learners.” Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 1: Long Papers). 2021」及び「Liu, Xiao等著、“P-Tuning: Prompt Tuning Can Be Comparable to Fine-tuning Across Scales and Tasks.” Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers). 2022」は、この目的のためにハードプロンプト又はソフトプロンプトを使用することを開示している。
【0004】
しかしながら、これらの方法は、双方ともドメイン固有の状況に合わせて調整されておらず、したがって、ドメイン固有のテキスト及び情報抽出タスクに対して十分に機能するためには、ドメイン固有の事前訓練済み言語モデル(pre-trained language model:PLM)を必要とする。しかしながら、そのようなドメイン固有のPLMは、このようなドメイン固有のPLMを事前訓練するための十分なドメイン固有のデータを見出すことが困難である場合があるので、入手が困難である可能性がある。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Gao, Tianyu, Adam Fisch, and Danqi Chen著、“Making Pre-trained Language Models Better Few-shot Learners.” Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 1: Long Papers). 2021
【非特許文献2】Liu, Xiao等著、“P-Tuning: Prompt Tuning Can Be Comparable to Fine-tuning Across Scales and Tasks.” Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers). 2022
【発明の概要】
【発明が解決しようとする課題】
【0006】
発明の開示
言語モデルを含む知識ベースを動作させるための独立請求項に記載された装置、及び、コンピュータ実装された方法は、一般ドメインPLMを、特定のドメインに動的に適応させることが可能である。
【課題を解決するための手段】
【0007】
言語モデルを含む知識ベースを動作させるための本方法において、言語モデルは、第1のドメインのために事前訓練されており、かつ、トークナイザ及び変換器を含む。本方法は、第2のドメインの入力文を提供することと、トークナイザを用いて入力文をトークンへとトークン化することと、変換器を用いてトークンを文埋め込みに変換することと、第1のドメインのプロンプトを表している第1の埋め込みの集合を提供することと、第2の埋め込みの集合を提供することであって、第2の埋め込みの集合は、第1の埋め込みの集合と、第2のドメインのキーワードを表している埋め込みの集合とを含む、ことと、第1の埋め込みの集合及び第2の埋め込みの集合に依存してプロンプトを決定することと、変換器を用いてトークン及びプロンプトのうちの少なくとも1つを知識ベースの出力に変換することと、を含む。プロンプトは、ソフトプロンプト、例えば、ベクトルのシーケンスである。本方法は、ドメイン固有のキーワードに関連するベクトルのシーケンスを用いてソフトプロンプトを拡張する。これにより、ドメイン固有の知識が得られるように一般ドメインPLMをより効果的にプロンプトすることが可能となる。このようにして知識ベースを動作させることにより、リソース消費が削減される。なぜなら、この知識ベースは、第2のドメインのための追加的な事前訓練済みの言語モデルのためのストレージを必要としないからである。このことにより、第1のドメインのために事前学習された言語モデルを、如何なる追加的な事前学習済みの言語モデルも用いることなく、第2のドメイン又はさらなるドメインのために使用することが可能となる。
【0008】
1つの実施形態においては、知識ベースは、分類器を含み、本方法は、分類器を用いて出力の分類を決定することと、分類に依存して、トークンのうちの少なくとも1つのためのラベルを決定すること、又は、分類に依存して、特にトークンのうちの少なくとも1つのためのラベルに依存して、トークンのうちの少なくとも1つに対応する知識ベースの、特に知識グラフのエントリを決定すること、又は、分類に依存して、トークンのうちの少なくとも2つのトークンの関係を決定することと、を含む。このことは、第2のドメインに対する知識ベース拡充又は関係分類を目的としたトークン分類又はエンティティ抽出を、第1のドメインのための事前訓練済みの言語モデルに基づいて、第2のドメインの追加的な言語モデルを必要とすることなく実行することに相当する。
【0009】
プロンプトを決定することは、第1の埋め込みの集合と第2の埋め込みの集合との和を決定することを含み得る。このことにより、キーワードを表している埋め込みを効率的に考慮することが可能となる。
【0010】
和を決定することは、第1の重みを用いて第1の埋め込みの集合を重み付けすること、及び/又は、第2の重みを用いて第2の埋め込みの集合を重み付けすることを含み得る。このことにより、第1のドメインの埋め込みの影響力に関連して、第2のドメインのためのキーワードの影響力に影響を及ぼすことが可能となる。
【0011】
本方法は、文埋め込みに依存して第1の重みを決定すること、及び/又は、文埋め込みに依存して第2の重みを決定することを含み得る。このことは、入力文に対するこれらの重みの深さを調整し、第2のドメインに関する出力の結果をより良好にする。
【0012】
第1の重みを決定することは、第1の重み付け係数を用いて文埋め込みを重み付けすることを含み得る。第1の重み付け係数により、重み付けを調整することが可能となる。
【0013】
第2の埋め込みの集合を提供することは、第1の埋め込みの集合と、キーワードを表している埋め込みの集合との順序を決定することを含み得る。このことにより、第2のドメインに関する出力の結果を改善するために順序を調整することが可能となる。
【0014】
順序を決定することは、キーワードを表している埋め込みの集合の前に、第1の埋め込みの集合を配置すること、及び/又は、キーワードを表している埋め込みの集合の後に、第1の埋め込みの集合を配置することを含み得る。計算上、このことは、第2のドメインに関する出力の結果を改善するために順序を調整する非常に効率的な手法である。このことにより、計算リソースが節約され、計算リソースが制限されている装置において、例えば組み込み装置において、言語モデルを使用することが可能となる。
【0015】
第2の埋め込みの集合を決定することは、キーワードを表している埋め込みの集合の前に配置された第1の埋め込みの集合と、キーワードを表している埋め込みの集合の後に配置された第1の埋め込みの集合との重み付き和を決定することを含み得る。順序を決定することは、文埋め込みに依存して第2の重みを決定することと、第2の重みが条件を満たしているかどうかを決定することと、第2の重みが条件を満たしている場合に、キーワードを表している埋め込みの集合の前に、第1の埋め込みの集合を配置すること、又は、第2の重みが条件を満たしていない場合に、キーワードを表している埋め込みの集合の後に、第1の埋め込みの集合を配置することと、を含み得る。このことは、入力文に依存して順序を調整し、第2のドメインに関する出力の結果をより良好にする。
【0016】
第2の重みを決定することは、第2の重み付け係数を用いて文埋め込みを重み付けすることを含み得る。第2の重み付け係数により、重み付けを調整することが可能となる。
【0017】
訓練のために、本方法は、第1の埋め込みの集合、キーワードを表している埋め込みの集合、第1の重み付け係数、及び/又は、第2の重み付け係数を、特に一様分布からランダムに初期化することと、第1の埋め込みの集合、キーワードを表している埋め込みの集合、第1の重み付け係数、及び/又は、第2の重み付け係数を訓練するための訓練データを提供することと、特に言語モデルを静的に保持しながら、第1の埋め込みの集合、キーワードを表している埋め込みの集合、第1の重み付け係数、及び/又は、第2の重み付け係数を訓練することと、を含み得る。このことは、非常にリソース効率的な訓練である。
【0018】
第2の埋め込みの集合を提供することは、キーワードを表している埋め込みの集合を、第2のドメインの文書における各々の単語頻度、及び/又は、第2のドメインの文書の集合における各々の逆単語頻度、及び/又は、第1のドメインの文書における各々の単語頻度に依存して決定することを含み得る。
【0019】
言語モデルを含む知識ベースを動作させるための装置であって、言語モデルは、第1のドメインのために事前訓練されており、かつ、トークナイザ及び変換器を含む、本装置は、少なくとも1つのプロセッサと、少なくとも1つの、特に非一時的なストレージとを含み、少なくとも1つのプロセッサは、少なくとも1つのプロセッサによって実行された場合に、本方法のステップを少なくとも1つのプロセッサに実施させるための命令を処理するように構成されており、少なくとも1つのストレージは、命令及び知識ベースを格納するように構成されている。本装置は、本方法の利点に対応する利点を有する。
【0020】
第1のドメインのために事前訓練された言語モデルを含む知識ベースを動作させるためのコンピュータプログラムは、コンピュータによって実行された場合に、本方法をコンピュータに実施させるためのコンピュータ可読命令を含む。本プログラムは、本方法の利点に対応する利点を有する。
【0021】
さらなる実施形態は、以下の説明及び図面から導出される。
【図面の簡単な説明】
【0022】
図1】言語モデルを含む知識ベースを動作させるための装置の概略図である。
図2】知識ベースの概略図である。
図3】知識ベースを動作させるための方法のステップを含むフローチャートである。
図4】知識ベースを訓練するための方法のステップを含むフローチャートである。
【発明を実施するための形態】
【0023】
図1は、装置100を概略的に示している。装置100は、少なくとも1つのプロセッサ102と、少なくとも1つのメモリ104とを含む。装置100は、知識ベース106を含む。知識ベース106は、言語モデル108を含む。言語モデル108は、第1のドメインのために事前訓練されている。本例においては、第1のドメインは、一般ドメインである。この文脈における一般とは、一般ドメインのテキストの内容が、ある一定の特定のトピックに限定されていないということを意味し得る。この文脈における特定のトピックとは、この特定のトピックに関するテキストの内容が、技術的分野内のテキストであるということを意味し得る。特定のトピックの1つの例は、材料科学である。
【0024】
少なくとも1つのプロセッサ102は、命令を処理するように構成されている。少なくとも1つのストレージ104は、命令を格納するように構成されている。少なくとも1つのストレージ104は、知識ベース106及び言語モデル108を格納するように構成されている。
【0025】
言語モデル108は、変換器に基づく、ベースのマスクされた言語モデルであるものとしてよく、例えば、「Devlin等著: BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. NAACL 2019」に記載されているようなBERTであるものとしてよい。
【0026】
図2は、知識ベース106を概略的に示している。
【0027】
言語モデル108は、トークナイザ202及び変換器204を含む。
【0028】
トークナイザ202は、トークンtを決定するように構成されている。トークンtは、分類トークンCLSを含み得る。
【0029】
変換器204は、トークンt及びプロンプトpのうちの少なくとも1つに依存して、知識ベース106の出力oを決定するように構成されている。変換器204は、分類トークンCLSに依存して出力を決定するように構成可能である。
【0030】
知識ベース106は、任意選択肢として分類器206を含む。分類器206は、出力oのための分類cを決定するように構成されている。
【0031】
知識ベース106は、第1のゲート208及び第2のゲート210を含む。
【0032】
第1のゲート208は、一般ドメインのプロンプトpgを表している第1の埋め込みの集合
pg=v1,・・・,vm
を受け取るように構成されている。
【0033】
第1のゲート208は、第2の埋め込みの集合pdを受け取るように構成されている。
【0034】
第1のゲート208は、プロンプトpを出力するように構成されている。
【0035】
1つの実施形態においては、第1のゲート208は、第1の埋め込みの集合pgの出力、すなわち、p=pgと、第2の埋め込みの集合pdの出力、すなわち、p=pdとの間でスイッチングを行うように構成されている。
【0036】
1つの実施形態においては、第1のゲート208は、p=pg又はp=pdのいずれかを出力するために、第1の重みg1に依存してスイッチングを行うように構成されている。
【0037】
1つの実施形態においては、第1のゲート208は、第1の埋め込みの集合pg及び第2の埋め込みの集合pdに依存して出力プロンプトpを決定するように構成されている。
【0038】
第1のゲート208は、例えば第1の重みg1に依存してプロンプトp:
p=g1 pg+(1-g1)pd
を決定するように構成されている。
【0039】
第2のゲート210は、第2の重みg2に依存して第2の埋め込みの集合pdを提供するように構成されている。
【0040】
1つの実施形態においては、第2のゲート210は、
pd=v1,・・・,vm,k1,・・・,kn
又は
pd=k1,・・・,kn,v1,・・・,vm
のいずれかを出力するために、第2の重みg2に依存してスイッチングを行うように構成されている。
【0041】
第2のゲート210は、例えば第2の重みg2に依存して第2の埋め込みの集合pd:
pd=g2(v1,・・・,vm,k1,・・・,kn)+(1-g2)(k1,・・・,kn,v1,・・・,vm)
を決定するように構成されている。
【0042】
1つの例によれば、知識ベース106は、知識グラフを含む。
【0043】
知識グラフは、例えば互いに素の集合N_C,N_P,N_Eに基づいており、ここで、N_Cは、クラス名を含む集合であり、N_Pは、プロパティ名を含む集合であり、N_Eは、エンティティ名を含む集合である。知識グラフは、例えば事実(fact)を含む。事実は、例えば、C(s)及びp(s,o)の形式の二値の三つ組(binary triple)であり、ここで、C∈N_C、p(s,o)∈N_P、かつ、s,o∈N_Eである。
【0044】
集合N_Cは、例えば、100超、1000超、10000超、又は、100000超のクラス名を含む。集合N_Pは、例えば、100超、1000超、10000超、又は、100000超のプロパティ名を含む。集合N_Eは、例えば、100超、1000超、10000超、又は、100000超のエンティティ名を含む。集合N_C、N_P、N_Eは、それぞれ数千又は数百万のクラス名、プロパティ名及びエンティティ名を含み得る。
【0045】
少なくとも1つのプロセッサ102は、少なくとも1つのプロセッサ102によって実行された場合に、知識ベース106を動作させるためのコンピュータ実装された方法のステップを少なくとも1つのプロセッサ102に実施させるための命令を処理するように構成されている。
【0046】
少なくとも1つのストレージ104は、命令及び知識ベース106を格納するように構成されている。
【0047】
知識ベース106を動作させるためのコンピュータプログラムは、例えば、少なくとも1つのプロセッサ102を含むコンピュータによって実行された場合に、本方法をコンピュータに実施させるためのコンピュータ可読命令を含む。
【0048】
図3は、本方法のステップを示している。
【0049】
コンピュータ実装された方法は、ステップ302を含む。
【0050】
ステップ302は、第2のドメインの入力文sを提供することを含む。第2のドメインは、第1のドメインとは異なる。本例においては、第2のドメインは、特定のドメインであり、すなわち、特定のトピック、例えば材料科学に関連する特定のドメインである。
【0051】
本方法は、ステップ304を含む。
【0052】
ステップ304は、トークナイザ202を用いて入力文sをトークンtへとトークン化することを含む。
【0053】
本方法は、ステップ306を含む。
【0054】
ステップ306は、変換器204を用いてトークンtを文埋め込みSsに変換することを含む。
【0055】
本方法は、ステップ308を含む。
【0056】
ステップ308は、第1のドメインのプロンプトを表している第1の埋め込みの集合pgを提供することを含む。
【0057】
本方法は、ステップ310を含む。
【0058】
ステップ310は、第2の埋め込みの集合pdを提供することを含む。
【0059】
第2の埋め込みの集合pdは、第1の埋め込みの集合pgと、第2のドメインのキーワードを表している埋め込みの集合k1,・・・,knとを含む。
【0060】
キーワードを表している埋め込みの集合k1,・・・,knは、第2のドメインの文書における各々の単語頻度に依存して決定可能である。キーワードを表している埋め込みの集合k1,・・・,knは、第2のドメインの文書の集合における各々の逆単語頻度に依存して決定可能である。キーワードを表している埋め込みの集合k1,・・・,knは、第1のドメインの文書における各々の単語頻度に依存して決定可能である。
【0061】
1つの例においては、第2の埋め込みの集合pdを提供することは、第2の埋め込みの集合pd内における第1の埋め込みの集合pgと、キーワードを表している埋め込みの集合k1,・・・,knとの順序を決定することを含む。
【0062】
順序を決定することは、キーワードを表している埋め込みの集合k1,・・・,knの前に、第1の埋め込みの集合pg=v1,・・・,vmを配置することを含み得る。
【0063】
順序を決定することは、キーワードを表している埋め込みの集合k1,・・・,knの後に、第1の埋め込みの集合pg=v1,・・・,vmを配置することを含み得る。
【0064】
順序を決定することは、第2の重みg2が条件を満たしているかどうかを決定することと、第2の重みg2が条件を満たしている場合に、キーワードを表している埋め込みの集合k1,・・・,knの前に、第1の埋め込みの集合pg=v1,・・・,vmを配置すること、又は、第2の重みg2が条件を満たしていない場合に、キーワードを表している埋め込みの集合k1,・・・,knの後に、第1の埋め込みの集合pg=v1,・・・,vmを配置することと、を含み得る。
【0065】
1つの実施形態においては、埋め込みの集合pdは、キーワードを表している埋め込みの集合k1,・・・,knの前に配置された第1の埋め込みの集合pg=v1,・・・,vmと、キーワードを表している埋め込みの集合k1,・・・,knの後に配置された第1の埋め込みの集合pg=v1,・・・,vmとの重み付き和:
pd=g2(v1,・・・,vm,k1,・・・,kn)+(1-g2)(k1,・・・,kn,v1,・・・,vm)
として提供される。
【0066】
1つの実施例においては、第2の重みg2は、文埋め込みSsに依存して決定される。例えば、第2の重みg2は、第2の重み付け係数Wdを用いて、
g2=σ(Wd Ss)
のように決定され、ここで、σは、第2の重みg2を0から1までの範囲内に保持するためのシグモイド関数である。シグモイド関数は、任意選択肢である。
【0067】
プロンプトpを決定することは、第1の埋め込みの集合pgと、第2の埋め込みの集合pdとの和を決定することを含み得る。和を決定することは、第1の重みg1を用いて第1の埋め込みの集合pgを重み付けすることを含み得る。和を決定することは、第1の重みに依存している第2の重みを用いて、例えば1-g1を用いて第2の埋め込みの集合pdを重み付けすることを含み得る。1つの実施例によれば、プロンプトpは、
p=g1 pg+(1-g1)pd
のように決定される。
【0068】
1つの実施例においては、第1の重みg1は、文埋め込みSsに依存して決定される。例えば、第1の重みg1は、第1の重み付け係数Wgを用いて、
g1=σ(Wg Ss)
のように決定され、ここで、σは、第1の重みg1を0から1までの範囲内に保持するためのシグモイド関数である。シグモイド関数は、任意選択肢である。
【0069】
本方法は、ステップ312を含む。
【0070】
ステップ312は、第1の埋め込みの集合pg及び第2の埋め込みの集合pdに依存してプロンプトpを決定することを含む。
【0071】
本方法は、ステップ314を含む。
【0072】
ステップ314は、変換器204を用いてトークンt及びプロンプトpのうちの少なくとも1つを知識ベース106の出力oに変換することを含む。
【0073】
任意選択肢として、本方法は、ステップ316を含み得る。
【0074】
ステップ316は、分類器206を用いて出力oの分類cを決定することを含む。
【0075】
任意選択肢として、本方法は、ステップ318を含む。
【0076】
1つの実施形態においては、ステップ318は、分類cに依存して、トークンtのうちの少なくとも1つのためのラベルを決定することを含む。
【0077】
ステップ318は、1つの実施形態においては、分類cに依存して、トークンtのうちの少なくとも1つに対応する知識ベース106のエントリを決定することを含む。
【0078】
例えば、分類cに依存して、トークンtのうちの少なくとも1つに対応する知識グラフのためのエントリが決定される。例えば、エントリは、トークンtのうちの少なくとも1つのためのラベルに依存して決定される。
【0079】
1つの実施形態においては、ステップ318は、分類cに依存して、トークンtのうちの少なくとも2つのトークンの関係を決定することを含む。
【0080】
図4は、訓練のための方法のステップを示している。
【0081】
本方法は、ステップ402を含む。
【0082】
ステップ402は、第1の埋め込みの集合pg、例えばベクトルv1,・・・,vmを初期化することを含む。
【0083】
ステップ402は、キーワードを表している埋め込みの集合、例えばベクトルk1,・・・,knを初期化することを含む。
【0084】
ステップ402は、第1の重み付け係数、例えば行列Wgを初期化することを含む。
【0085】
ステップ402は、第2の重み付け係数、例えば行列Wdを初期化することを含む。
【0086】
ベクトル又は行列は、例えば一様分布から、例えばランダムに初期化される。
【0087】
本方法は、ステップ404を含む。
【0088】
ステップ404は、訓練データを提供することを含む。
【0089】
本方法は、ステップ406を含む。
【0090】
ステップ406は、特に言語モデル204を静的に保持しながら、第1の埋め込みの集合pg=v1,・・・,vm、キーワードを表している埋め込みの集合k1,・・・,kn、第1の重み付け係数Wg、及び/又は、第2の重み付け係数Wdを訓練することを含む。
【0091】
訓練は、ハイパーパラメータとしてm及びnを使用する。これらのハイパーパラメータも、同様に学習可能である。
【0092】
その後、本方法は、ステップ302に進むものとしてよい。
図1
図2
図3
図4
【手続補正書】
【提出日】2024-03-28
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
言語モデル(108)を含む知識ベース(106)を動作させるためのコンピュータ実装された方法であって、
前記言語モデル(108)は、第1のドメインのために事前訓練されており、かつ、トークナイザ(202)及び変換器(204)を含む、
方法において、当該方法は、
第2のドメインの入力文(s)を提供すること(302)と、
前記トークナイザ(202)を用いて前記入力文(s)をトークン(t)へとトークン化すること(304)と、
前記変換器(204)を用いて前記トークン(t)を文埋め込み(Ss)に変換すること(306)と、
前記第1のドメインのプロンプトを表している第1の埋め込みの集合(pg)を提供すること(308)と、
第2の埋め込みの集合(pd)を提供すること(310)であって、前記第2の埋め込みの集合は、前記第1の埋め込みの集合(pg)と、前記第2のドメインのキーワードを表している埋め込みの集合(k1,・・・,kn)とを含む、こと(310)と、
前記第1の埋め込みの集合(pg)及び前記第2の埋め込みの集合(pd)に依存してプロンプト(p)を決定すること(312)と、
前記変換器(204)を用いて前記トークン(t)及び前記プロンプト(p)のうちの少なくとも1つを前記知識ベース(106)の出力(o)に変換すること(314)と、
を含む、ことを特徴とする方法。
【請求項2】
前記知識ベース(106)は、分類器(206)を含み、
当該方法は、
前記分類器(206)を用いて前記出力の分類(c)を決定すること(316)と、
前記分類に依存して、前記トークンのうちの少なくとも1つのためのラベルを決定すること(318)、又は、
前記分類(c)に依存して、特に前記トークン(t)のうちの少なくとも1つのための前記ラベルに依存して、前記トークン(t)のうちの前記少なくとも1つに対応する前記知識ベース(106)の、特に知識グラフのエントリを決定すること(318)、又は、
前記分類(c)に依存して、前記トークン(t)のうちの少なくとも2つのトークンの関係を決定すること(318)と、
を含む、請求項1に記載の方法。
【請求項3】
前記プロンプト(p)を決定すること(312)は、前記第1の埋め込みの集合(pg)と前記第2の埋め込みの集合(pd)との和を決定することを含む、
請求項1又は2に記載の方法。
【請求項4】
前記和を決定することは、第1の重み(g1)を用いて前記第1の埋め込みの集合(pg)を重み付けすること、及び/又は、第2の重み(1-g1)を用いて前記第2の埋め込みの集合(pd)を重み付けすることを含む、
請求項3に記載の方法。
【請求項5】
当該方法は、
前記文埋め込み(Ss)に依存して前記第1の重み(g1)を決定すること、及び/又は、
前記文埋め込み(Ss)に依存して前記第2の重み(1-g1)を決定すること
を含む、請求項4に記載の方法。
【請求項6】
前記第1の重み(g1)を決定することは、第1の重み付け係数(Wg)を用いて前記文埋め込み(Ss)を重み付けすることを含む、
請求項5に記載の方法。
【請求項7】
前記第2の埋め込みの集合(pd)を提供すること(310)は、前記第1の埋め込みの集合(pg)と、前記キーワードを表している埋め込みの集合(k1,・・・,kn)との順序を決定することを含む、
請求項に記載の方法。
【請求項8】
前記順序を決定することは、
前記キーワードを表している埋め込みの集合(k1,・・・,kn)の前に、前記第1の埋め込みの集合(v1,・・・,vm)を配置すること、及び/又は、
前記キーワードを表している埋め込みの集合(k1,・・・,kn)の後に、前記第1の埋め込みの集合(v1,・・・,vm)を配置すること
を含む、請求項7に記載の方法。
【請求項9】
前記第2の埋め込みの集合(pd)を提供すること(310)は、前記キーワードを表している埋め込みの集合(k1,・・・,kn)の前に配置された前記第1の埋め込みの集合(pg)と、前記キーワードを表している埋め込みの集合(k1,・・・,kn)の後に配置された前記第1の埋め込みの集合(pg)との重み付き和を決定することを含む、
又は
前記順序を決定することは、
前記文埋め込み(Ss)に依存して第2の重み(g2)を決定することと、
前記第2の重み(g2)が条件を満たしているかどうかを決定することと、
前記第2の重み(g2)が前記条件を満たしている場合に、前記キーワードを表している埋め込みの集合(k1,・・・,kn)の前に、前記第1の埋め込みの集合(v1,・・・,vm)を配置すること、若しくは、
前記第2の重み(g2)が前記条件を満たしていない場合に、前記キーワードを表している埋め込みの集合(k1,・・・,kn)の後に、前記第1の埋め込みの集合(v1,・・・,vm)を配置することと、
を含む、請求項7又は8に記載の方法。
【請求項10】
前記第2の重み(g2)を決定することは、第2の重み付け係数(Wd)を用いて前記文埋め込み(Ss)を重み付けすることを含む、
請求項9に記載の方法。
【請求項11】
当該方法は、
前記第1の埋め込みの集合(v1,・・・,vm)、前記キーワードを表している埋め込みの集合(k1,・・・,kn)、前記第1の重み付け係数(Wg)、及び/又は、前記第2の重み付け係数(Wd)を、特に一様分布からランダムに初期化すること(402)と、
前記第1の埋め込みの集合(v1,・・・,vm)、前記キーワードを表している埋め込みの集合(k1,・・・,kn)、前記第1の重み付け係数(Wg)、及び/又は、前記第2の重み付け係数(Wd)を訓練するための訓練データを提供すること(404)と、
特に前記言語モデルを静的に保持しながら、前記第1の埋め込みの集合(v1,・・・,vm)、前記キーワードを表している埋め込みの集合(k1,・・・,kn)、前記第1の重み付け係数(Wg)、及び/又は、前記第2の重み付け係数(Wd)を訓練すること(406)と、
を含む、請求項に記載の方法。
【請求項12】
前記第2の埋め込みの集合((v1,・・・,vm,k1,・・・,kn);(k1,・・・,kn,v1,・・・,vm))を提供すること(310)は、前記キーワードを表している埋め込みの集合(k1,・・・,kn)を、前記第2のドメインの文書における各々の単語頻度、及び/又は、前記第2のドメインの文書の集合における各々の逆単語頻度、及び/又は、前記第1のドメインの文書における各々の単語頻度に依存して決定することを含む、
請求項に記載の方法。
【請求項13】
言語モデル(108)を含む知識ベース(106)を動作させるための装置(100)であって、
前記言語モデル(108)は、第1のドメインのために事前訓練されており、かつ、トークナイザ(202)及び変換器(204)を含む、
装置(100)において、
当該装置(100)は、少なくとも1つのプロセッサ(102)と、少なくとも1つの非一時的なストレージ(104)とを含み、
前記少なくとも1つのプロセッサ(102)は、前記少なくとも1つのプロセッサ(102)によって実行された場合に、請求項に記載の方法のステップを前記少なくとも1つのプロセッサ(102)に実行させるための命令を処理するように構成されており、
前記少なくとも1つのストレージ(104)は、前記命令及び前記知識ベース(106)を格納するように構成されている、
ことを特徴とする装置(100)。
【請求項14】
第1のドメインのために事前訓練された言語モデル(108)を含む知識ベース(106)を動作させるためのコンピュータプログラムにおいて、
当該コンピュータプログラムは、コンピュータによって実行された場合に、請求項に記載の方法を前記コンピュータに実施させるためのコンピュータ可読命令を含む、
ことを特徴とするコンピュータプログラム。
【外国語明細書】