(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023156240
(43)【公開日】2023-10-24
(54)【発明の名称】量子乱数生成器による自然言語処理
(51)【国際特許分類】
G06F 40/56 20200101AFI20231017BHJP
G06F 40/216 20200101ALI20231017BHJP
G06F 16/90 20190101ALI20231017BHJP
【FI】
G06F40/56
G06F40/216
G06F16/90 100
【審査請求】有
【請求項の数】15
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023060550
(22)【出願日】2023-04-04
(31)【優先権主張番号】22167932
(32)【優先日】2022-04-12
(33)【優先権主張国・地域又は機関】EP
(71)【出願人】
【識別番号】521124319
【氏名又は名称】テラ クアンタム アーゲー
【氏名又は名称原語表記】TERRA QUANTUM AG
(74)【代理人】
【識別番号】100109210
【弁理士】
【氏名又は名称】新居 広守
(72)【発明者】
【氏名】レソヴィク・ゴルデイ
(72)【発明者】
【氏名】マルチェンコ・アルチェミー
(72)【発明者】
【氏名】ヴィノコール・ヴァレリー
(72)【発明者】
【氏名】マリノフスキー・ヴラジーミル
(72)【発明者】
【氏名】ホルジー・キリール
(72)【発明者】
【氏名】イグナートフ・フェドール
(72)【発明者】
【氏名】マトレノク・セメン
(72)【発明者】
【氏名】キーラコシャーン・ダヴィト
(72)【発明者】
【氏名】チェレンチェフ・ヴラジーミル
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175EA01
5B175GC03
(57)【要約】 (修正有)
【課題】既存のチャットボットの制限を取り除くとともに、人間との会話により近いユーザ体験を提示するチャットボットを提供できる自然言語処理のための方法及びシステムを提供する。
【解決手段】自然言語処理のための方法は、自然言語を含むサンプルを受けるステップS10と、サンプルを処理して、複数の応答仮説を生成し、複数の信頼値を生成し、各応答仮説が対応する信頼値と関連付けられるステップS12と、応答を選択し、量子乱数生成器によって、対応する信頼値に少なくとも部分的に基づき、複数の応答仮説の中からランダムに応答を選択することを含むステップS14と、を含む。
【選択図】
図2
【特許請求の範囲】
【請求項1】
自然言語を含むサンプル(18)を受けるステップと、
前記サンプル(18)を処理するステップであって、複数の応答仮説(20;20a~20e)を生成するステップと、複数の信頼値(22;22a~22e)を生成するステップとを含み、各応答仮説(20;20a~20e)が、対応する信頼値(22;22a-22e)と関連付けられる、ステップと、
応答(28)を選択するステップであって、量子乱数生成器(24)によって、前記対応する信頼値(22;22a~22e)に少なくとも部分的に基づき、前記複数の応答仮説(20;20a~20e)の中からランダムに前記応答(28)を選択することを含む、ステップと、
を含む、自然言語処理のための方法。
【請求項2】
前記応答(28)を選択するステップは、前記それぞれの信頼値(22;22a~22e)に基づく対応する重みを伴う前記複数の応答仮説(20;20a~20e)における確率分布を生成するステップと、前記量子乱数生成器(24)によって前記対応する重みに従って前記複数の応答仮説(20;20a~20e)の中からランダムに選択するステップとを含む、請求項1に記載の方法。
【請求項3】
前記応答(28)を選択するステップは、前記対応する信頼値(22;22a~22e)を所定の閾値と比較するステップと、前記対応する信頼値(22;22a~22e)が前記所定の閾値よりも小さい場合に、前記量子乱数生成器(24)によって、前記対応する信頼値(22;22a~22e)に少なくとも部分的に基づき、前記複数の応答仮説(20;20a~20e)の中からランダムに前記応答(28)を選択するステップとを含む、請求項1に記載の方法。
【請求項4】
前記対応する信頼値(22;22a~22e)が前記所定の閾値以上である場合に、前記対応する信頼値(22;22a~22e)に少なくとも部分的に基づき、前記複数の応答仮説(20;20a~20e)の中から確定的に前記応答(28)を選択するステップを含む、請求項3に記載の方法。
【請求項5】
前記応答(28)を選択するステップは、所定の基準に従って前記応答仮説(20;20a~20e)を予め選択するステップを含み、前記予め選択するステップは、任意選択的に、前記所定の基準に従って応答仮説(20;20a~20e)を破棄するステップを含み得る、請求項1に記載の方法。
【請求項6】
前記複数の応答仮説(20;20a~20e)を生成するステップは、前記量子乱数生成器(24)によって前記複数の応答仮説(20;20a~20e)の少なくとも一部を生成するステップを含む、請求項1に記載の方法。
【請求項7】
前記複数の応答仮説(20;20a~20e)を生成するステップは、特に前記量子乱数生成器(24)によって、前記応答仮説(20;20a~20e)の単語をランダムに選択するステップを含む、請求項1に記載の方法。
【請求項8】
前記サンプル(18)に注釈を付ける、特に、前記複数の応答仮説(20;20a~20e)を生成するとともに前記複数の信頼値(22;22a~22e)を生成する前に前記サンプル(18)に注釈を付けるステップを更に含む、請求項1に記載の方法。
【請求項9】
コンピュータ読み取り可能な命令を含むコンピュータプログラムであって、前記命令は、コンピュータで読み取られるときに、前記コンピュータに請求項1から8のいずれか一項に記載の方法を実施させる、コンピュータプログラム。
【請求項10】
自然言語を含むサンプル(18)を受信するようになっている受信ユニット(12)と、
前記サンプル(18)を処理するようになっている処理ユニット(14)であって、複数の応答仮説(20;20a~20e)を生成するとともに、複数の信頼値(22;22a~22e)を生成するようになっており、各応答仮説(20;20a~20e)が、対応する信頼値(22;22a~22e)と関連付けられる、処理ユニット(14)と、
応答(28)を選択するようになっている選択ユニット(16)であって、量子乱数生成器(24)によって、前記対応する信頼値(22;22a~22e)に少なくとも部分的に基づき、前記複数の応答仮説(20;20a~20e)の中からランダムに前記応答(28)を選択するようになっている、選択ユニット(16)と、
を備える、自然言語処理のためのシステム(10;10’)。
【請求項11】
前記選択ユニット(16)は、前記信頼値(22;22a~22e)に基づく対応する重みを伴う前記複数の応答仮説(20;20a~20e)における確率分布を生成するようになっており、前記選択ユニット(16)は、更に、前記量子乱数生成器(24)によって前記対応する重みに従って前記複数の応答仮説(20;20a~20e)の中からランダムに選択するようになっている、請求項10に記載のシステム(10;10’)。
【請求項12】
前記選択ユニット(16)は、前記対応する信頼値(22;22a~22e)を所定の閾値と比較するようになっており、更に、前記対応する信頼値(22;22a~22e)が前記所定の閾値よりも小さい場合に、前記量子乱数生成器(24)によって、前記対応する信頼値(22;22a~22e)に少なくとも部分的に基づき、前記複数の応答仮説(20;20a~20e)の中からランダムに前記応答(28)を選択するようになっている、請求項10に記載のシステム(10;10’)。
【請求項13】
前記選択ユニット(16)は、所定の基準に従って前記応答仮説(20;20a~20e)を予め選択するようになっており、特に、前記選択ユニット(16)は、前記所定の基準に従って応答仮説(20;20a~20e)を破棄するようになっている、請求項10に記載のシステム(10;10’)。
【請求項14】
前記処理ユニット(14)は、前記量子乱数生成器(24)によって前記複数の応答仮説(20;20a~20e)の少なくとも一部を生成するようになっている、請求項10に記載のシステム(10;10’)。
【請求項15】
前記サンプル(18)に注釈を付ける、特に、前記複数の応答仮説(20;20a~20e)を生成するとともに前記複数の信頼値(22;22a~22e)を生成する前に前記サンプル(18)に注釈を付けるようになっているアノテータユニット(30)を更に備える、請求項10から14のいずれか一項に記載のシステム(10;10’)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、量子乱数生成器を使用する自然言語処理のための技術に関し、特に、量子乱数生成器によって会話型チャットボットを作成するための技術に関する。
【背景技術】
【0002】
チャットロボット(又はチャットボット)は、テキスト又は音声入力などの自然言語入力を使用して人間の会話をシミュレートするデバイスである。チャットボットは、自動化された顧客サポート又は情報取得を含む様々な実用的なタスクを実行するために、ダイアログシステムに実装される場合がある。従来、多くの洗練されたチャットボットは、人工知能及び深層ニューラルネットワークなどの機械学習技術を利用し、確率的技術を使用することができる。最終的な目標は、人間と会話するのに似た体験をユーザに提示することであるが、現在のチャットボットは全て、依然として大きな制限があり、その目標には達していない。特に、多くの既存のチャットボットは、基礎となるアルゴリズムを明らかにし、ユーザの要求が人間によってではなく機械によって処理されているという印象をユーザに与えるアーチファクトを顕在化する。
【発明の概要】
【発明が解決しようとする課題】
【0003】
最新技術を考慮すると、既存のチャットボットの制限を取り除くとともに、人間との会話により近いユーザ体験を提示するチャットボットを提供する、自然言語処理技術が依然として必要とされている。
【0004】
この目的は、独立請求項1に記載の自然言語処理のための方法、及び独立請求項10に記載の自然言語処理のためのシステムによって達成される。従属請求項は、好ましい実施形態に関する。
【課題を解決するための手段】
【0005】
第1の態様において、本開示は、自然言語処理のための方法に関し、該方法は、自然言語を含むサンプルを受けるステップと、サンプルを処理するステップであって、複数の応答仮説を生成するステップと、複数の信頼値を生成するステップとを含み、各応答仮説が、対応する信頼値と関連付けられる、ステップと、応答を選択するステップであって、量子乱数生成器によって、対応する信頼値に少なくとも部分的に基づき、複数の応答仮説の中からランダムに応答を選択することを含む、ステップとを含む。
【0006】
量子物体は、真のランダム性の唯一のキャリアを構成することが知られており、量子乱数生成器は、真に予測不可能な挙動を示すことができる。複数の応答仮説の中から応答を選択する際に量子乱数生成器を使用することは、自然言語処理の能力を大幅に向上させることができ、特に、チャットボットが、反復パターンを回避する応答を出力できるようにするとともに、応答挙動及び人間の対話パートナーの自由意志を従来の自然言語処理技術で達成できるものよりもはるかに良好に真似ることができるようにする。
【0007】
本開示との関連で、量子乱数生成器は、量子物理プロセスから乱数を生成することができるハードウェア乱数生成器を示すことができる。特に、量子乱数生成器は、量子物理プロセスを実施するようになっているとともに、更に、量子物理プロセスに基づいて乱数を導出するようになっているハードウェアデバイスであってもよい。
【0008】
量子物理学は、特定の物理現象が基本的にランダムであり、原理的に予測することができないと予測する。これらの現象は、核崩壊、ショットノイズ、又は半透過ミラーを通過する光子を含み得る。一般に、本開示に係る量子乱数生成器では、真の予測不可能性を示す全ての量子現象を使用することができる。量子光学プロセスは、実装が非常に便利であることが多く、取り扱いが比較的容易であり、したがって、多くの実際的に関連するシナリオのための量子乱数生成器の良好な例を提供する。
【0009】
本開示との関連で使用することができる量子乱数生成器の基本及び例示的なシステムの概要は、M.Herrero-Collantes、J.C.Garcia-Escartin、「Quantum Random Number Generators」、Reviews of Modern Physics89(2017)015004(Cornell preprint server,arXiv:1604.03304からも入手可能である)において見出すことができる。
【0010】
一実施形態によれば、応答を選択するステップは、量子乱数生成器から乱数を受信することを含む。
【0011】
特に、応答を選択するステップは、対応する信頼値及び受信した乱数に少なくとも部分的に基づいて、複数の応答仮説の中からランダムに応答を選択することを含むことができる。
【0012】
一実施形態によれば、応答を選択するステップは、量子乱数生成器を呼び出すこと、又は量子乱数生成器に照会することを含む。
【0013】
量子乱数生成器の呼び出し又は照会に応じて、量子乱数生成器は、複数の応答仮説の中から応答をランダムに選択する際に使用することができる少なくとも1つの乱数を出力することができる。
【0014】
他の実施形態において、量子乱数生成器は、能動的に呼び出されたり照会されたりすることなく乱数を提供することができる。例えば、量子乱数生成器は、規則的な時間間隔で1つの乱数又は複数の乱数を提供することができる。
【0015】
特に、応答を選択するステップは、一定の時間間隔で量子乱数生成器から少なくとも1つの乱数を受信することを含むことができる。
【0016】
一実施形態によれば、応答を選択するステップは、それぞれの信頼値に基づく対応する重みを伴う複数の応答仮説の確率分布を生成することを含む。
【0017】
それぞれの重みは、それらが基づいているそれぞれの信頼値に比例して選択され得る。特に、それぞれの重みは、合計が1になるように信頼値を正規化することによって信頼値から選択されてもよい。
【0018】
応答を選択するステップは、量子乱数生成器によって対応する重みに従ってランダムに複数の応答仮説の中から選択することを更に含むことができる。
【0019】
一実施形態によれば、応答を選択するステップは、対応する信頼値を所定の閾値と比較するステップと、対応する信頼値が所定の閾値よりも小さい場合に、量子乱数生成器によって、対応する信頼値に少なくとも部分的に基づき、複数の応答仮説の中から応答をランダムに選択するステップとを含む。
【0020】
特に、方法は、対応する信頼値が所定の閾値よりも小さい場合にのみ、量子乱数生成器によって、対応する信頼値に少なくとも部分的に基づき、複数の応答仮説の中から応答をランダムに選択するステップを伴うことができる。
【0021】
このようにして、全てのそれぞれの信頼値、又は全ての対応する重みが所定の閾値より小さい場合にのみ、複数の応答仮説の中から応答をランダムに選択することができる。
【0022】
複数の応答仮説のうちの少なくとも1つが所定の閾値以上の対応する信頼値又は対応する重みを有する場合、応答は、応答仮説のこのサブセットの中から確定的に選択され得る。
【0023】
特に、この場合、応答は、最大の信頼値又は最大の重みを有する応答仮説として選択され得る。
【0024】
したがって、一実施形態によれば、方法は、対応する信頼値が所定の閾値以上である場合に、対応する信頼値に少なくとも部分的に基づき、複数の応答仮説の中から確定的に応答を選択するステップを含む。
【0025】
これらの技術は、応答を選択するための決定論的方法と確率論的方法とのバランスをとることができ、非常に高い信頼値を伴う応答が優先されることを保証することができる。
【0026】
一実施形態によれば、応答を選択するステップは、所定の基準に従って複数の応答仮説を予め選択するステップを含むことができる。
【0027】
複数の応答仮説を予め選択するステップは、所定の基準に従って応答仮説を破棄するステップを含んでもよい。
【0028】
例えば、許容可能な応答の適合性要件に適合しない毒性応答又は応答が破棄されてもよい。
【0029】
予め選択するステップは、それぞれの応答仮説の信頼値又は重みを下げる、特に、それぞれの応答仮説の信頼値又は重みを0に設定するステップを含み得る。
【0030】
本開示との関連で、自然言語は、書かれたテキスト及び/又は音声信号を含む、言語を表わす任意の形式の言語又は信号を含むことができる。
【0031】
サンプルは、自然言語の任意の文字列又は単語を表わすと理解されてもよく、電子データ処理の影響を受けやすい任意の形式で提供されてもよい。例えば、サンプルは、人間のユーザがチャットボットと会話するときに発することができる発言又は質問を表わすことができる。
【0032】
特に、方法は、人間のユーザからサンプルを受けることを含み得る。
【0033】
一実施形態によれば、サンプルは注釈付きサンプルであり得る。
【0034】
本開示との関連で、サンプルが自然言語処理(NLP)モデルによって処理される場合には、サンプルが注釈付きサンプルと称される場合があり、その出力は、応答を直接生成するのではなく、応答候補の生成又は応答の選択を支援することができる。
【0035】
特に、方法は、サンプルに注釈を付けるステップを含んでもよい。
【0036】
一実施形態によれば、複数の応答仮説を生成し、複数の信頼値を生成する前に、サンプルに注釈を付けることができる。
【0037】
サンプルに注釈を付けるステップは、スペリング前処理及び/又は文セグメント化を含むことができる。
【0038】
本開示との関連で、応答仮説は、サンプルに対する応答の候補を表わす。
【0039】
信頼値は、対応する応答仮説がサンプルに対する有意な応答である確率又は尤度を表わすことができる。
【0040】
一実施形態によれば、方法は、選択された応答を返すステップ、特に選択された応答を人間のユーザに返すステップを更に含むことができる。
【0041】
複数の応答仮説は、任意の応答生成技術、特に任意の自然言語処理技術によって生成されてもよい。
【0042】
一実施形態によれば、サンプルを処理するステップは、少なくとも2つの異なる応答生成技術によって複数の応答仮説を生成するステップを含み得る。
【0043】
異なる応答生成技術は、任意選択的に、確率的応答生成技術及び/又は決定論的応答生成技術を含むことができる。
【0044】
特に、サンプルを処理するステップは、ニューラルネットワークによって複数の応答仮説の少なくとも一部を生成することを含み得る。
【0045】
異なる応答生成技術のいずれかは、1つ又は複数の応答仮説を生成することができ、方法は、その後、これらの応答仮説の中から選択することができる。
【0046】
一実施形態によれば、複数の応答仮説を生成するステップは、量子乱数生成器によって複数の応答仮説の少なくとも一部を生成することを含むことができる。
【0047】
このように、量子乱数生成器の優れた特性は、複数の応答仮説から応答を選択する際に利用できるだけでなく、そもそも応答仮説を生成する際にも利用できる。
【0048】
一実施形態によれば、複数の応答仮説を生成するステップは、特に量子乱数生成器によって、応答仮説の単語をランダムに選択することを含む。
【0049】
一実施形態では、複数の応答仮説を生成するステップは、量子乱数生成器から乱数を受信するステップと、受信した乱数に基づいて複数の応答仮説の少なくとも一部を生成するステップとを含む。
【0050】
複数の応答仮説を生成するステップは、量子乱数生成器を照会又は呼び出すことを含み得る。
【0051】
他の実施形態において、量子乱数生成器は、能動的に呼び出されたり照会されたりすることなく乱数を提供することができる。例えば、量子乱数生成器は、規則的な時間間隔で1つの乱数又は複数の乱数を提供することができる。
【0052】
特に、複数の応答仮説を生成するステップは、一定の時間間隔で量子乱数生成器から少なくとも1つの乱数を受信することを含むことができる。
【0053】
一実施形態によれば、方法は、コンピュータ実装方法であってもよい。
【0054】
第2の態様において、本開示は、コンピュータプログラム、又はコンピュータ可読命令を含むコンピュータプログラムプロダクトに関し、命令は、コンピュータ上で読み取られるときに、上記の特徴の一部又は全部を有する方法をコンピュータに実施させる。
【0055】
コンピュータプログラムプロダクトは、コンピュータ可読媒体であってもよく、又はコンピュータ可読媒体を備えてもよい。
【0056】
第3の態様において、本開示は、自然言語処理のためのシステムに関し、該システムは、自然言語を含むサンプルを受信するようになっている受信ユニットと、サンプルを処理するようになっている処理ユニットであって、複数の応答仮説を生成するとともに、複数の信頼値を生成するようになっており、各応答仮説が、対応する信頼値と関連付けられる、処理ユニットと、応答を選択するようになっている選択ユニットであって、量子乱数生成器によって、対応する信頼値に少なくとも部分的に基づき、複数の応答仮説の中からランダムに応答を選択するようになっている、選択ユニットとを備える。
【0057】
一実施形態によれば、システム、特に選択ユニットは、量子乱数生成器に結合し、量子乱数生成器から乱数を受信するようになっている。
【0058】
選択ユニットは、対応する信頼値及び受信された乱数に少なくとも部分的に基づき、複数の応答仮説の中から応答をランダムに選択するようになっていてもよい。
【0059】
一実施形態によれば、選択ユニットは、量子乱数生成器を呼び出す又は照会するようになっている。
【0060】
他の実施形態において、量子乱数生成器は、能動的に呼び出されたり照会されたりすることなく、システム、特に選択ユニットに乱数を提供することができる。例えば、量子乱数生成器は、規則的な時間間隔で1つの乱数又は複数の乱数を提供することができる。
【0061】
したがって、システム、特に選択ユニットは、量子乱数生成器に結合し、一定の時間間隔で量子乱数生成器から少なくとも1つの乱数を受信するようになっていてもよい。
【0062】
一実施形態では、システムは量子乱数生成器を備えてもよい。
【0063】
一実施形態によれば、選択ユニットは、信頼値に基づく対応する重みを伴う複数の応答仮説の確率分布を生成するようになっており、選択ユニットは、更に、量子乱数生成器によって対応する重みに従って複数の応答仮説の中からランダムに選択するようになっている。
【0064】
選択ユニットは、対応する信頼値を所定の閾値と比較するようになっていてもよく、更に、対応する信頼値が所定の閾値よりも小さい場合に、量子乱数生成器によって、対応する信頼値に少なくとも部分的に基づき、複数の応答仮説の中から応答をランダムに選択するようになっていてもよい。
【0065】
特に、選択ユニットは、対応する信頼値が所定の閾値よりも小さい場合にのみ、量子乱数生成器によって、対応する信頼値に少なくとも部分的に基づき、複数の応答仮説の中から応答をランダムに選択するようになっていてもよい。
【0066】
一実施形態によれば、選択ユニットは、対応する信頼値が所定の閾値以上である場合、対応する信頼値に少なくとも部分的に基づき、複数の応答仮説の中から確定的に応答を選択するようになっている。
【0067】
一実施形態において、選択ユニットは、所定の基準に従って応答仮説を予め選択するようになっていてもよい。特に、選択ユニットは、所定の基準に従って応答仮説を破棄するようになっていてもよい。
【0068】
一実施形態によれば、システムは、選択された応答を返すようになっている出力ユニットを更に備えてもよい。
【0069】
一実施形態において、処理ユニットは、異なる応答生成技術によって複数の応答仮説を生成するようになっていてもよく、異なる応答生成技術は、任意選択的に、確率的応答生成技術及び/又は決定論的応答生成技術を含んでもよい。
【0070】
一実施形態によれば、処理ユニットは、複数の応答仮説の少なくとも一部を生成するようになっているニューラルネットワークを備えてもよい。
【0071】
一実施形態において、処理ユニットは、量子乱数生成器によって複数の応答仮説の少なくとも一部を生成するようになっている。
【0072】
特に、処理ユニットは、特に量子乱数生成器によって、応答仮説の単語をランダムに選択するようになっていてもよい。
【0073】
一実施形態によれば、処理ユニットは、量子乱数生成器から乱数を受信するようになっていてもよい。
【0074】
特に、処理ユニットは、更に、受信した乱数に基づいて複数の応答仮説の少なくとも一部を生成するようになっていてもよい。
【0075】
一実施形態において、処理ユニットは、量子乱数生成器を照会又は呼び出すようになっていてもよい。
【0076】
他の実施形態において、量子乱数生成器は、能動的に呼び出されたり照会されたりすることなく、処理ユニットに乱数を提供することができる。例えば、量子乱数生成器は、規則的な時間間隔で1つの乱数又は複数の乱数を提供することができる。
【0077】
したがって、処理ユニットは、一定の時間間隔で量子乱数生成器から少なくとも1つの乱数を受信するようになっていてもよい。
【0078】
一実施形態によれば、量子乱数生成器は、通信回線によって選択ユニット及び/又は処理ユニットに接続される。
【0079】
システムは、サンプルに注釈を付ける、特に、複数の応答仮説を生成するとともに複数の信頼値を生成する前にサンプルに注釈を付けるようになっているアノテータユニットを更に備えてもよい。
【0080】
一実施形態によれば、受信ユニット及び/又は処理ユニット及び/又は選択ユニット及び/又は出力ユニット及び/又はアノテータユニットは、ハードウェアで実装されてもよい。他の実施形態において、受信ユニット及び/又は処理ユニット及び/又は選択ユニット及び/又は出力ユニット及び/又はアノテータユニットは、ソフトウェア又はファームウェアで実装されてもよい。更なる他の実施形態において、受信ユニット及び/又は処理ユニット及び/又は選択ユニット及び/又は出力ユニット及び/又はアノテータユニットは、部分的にハードウェアで、部分的にソフトウェア又はファームウェアで実装されてもよい。
【0081】
幾つかの実施形態において、受信ユニット及び/又は処理ユニット及び/又は選択ユニット及び/又は出力ユニット及び/又はアノテータユニットは、互いに通信可能に結合され得る別個のスタンドアロンユニットである。他の実施形態において、これらのユニットのうちの少なくとも2つは、共通のユニットに組み込まれてもよい。
【図面の簡単な説明】
【0082】
本開示の特徴及びそれに関連する利点は、添付図面に関連する典型的な実施形態の詳細な説明から最も良く理解される。
【
図1】一実施形態に係る自然言語処理のためのシステムの概略図である。
【
図2】一実施形態に係る自然言語処理のための方法を示すフロー図である。
【
図3】一実施形態に係る自然言語処理のためのシステムの具体的な実装形態の概略図である。
【
図4】一実施形態に係る応答仮説を生成するための技術を示す。
【
図5】一実施形態に係る複数の応答仮説の中から応答を選択する方法を示す決定木である。
【発明を実施するための形態】
【0083】
ここで、本開示の技術を、主に、書かれたテキスト、音声又は他の信号の形態などの自然言語を含むサンプルをユーザから受信し、サンプルを処理し、ユーザに出力することができる応答を生成するチャットボットシステム10、10’の例に関連して説明する。しかしながら、本開示の技術は、自然言語処理又は情報処理一般の様々な他のコンテキストにも適用され得る。
【0084】
図1は、一実施形態に係る自然言語処理のためのシステム10の概略図である。システム10は、受信ユニット12と、受信ユニット12に通信可能に結合された処理ユニット14と、処理ユニット14に通信可能に結合された選択ユニット16とを備える。
【0085】
受信ユニット12は、自然言語を含むサンプル18を受信するようになっている。例えば、サンプル18は、人間のユーザ(図示せず)から受信されてもよく、書かれたテキストの形態の自然言語を含んでもよい。これらの例において、受信ユニット12は、キーボード又は何らかの他の種類のテキスト入力インタフェースを有する入力フロントエンドを備えることができる。他の実施形態において、サンプル18は、音声信号の形態の自然言語を含むことができ、受信ユニット12は、音声マイク又は何らかの他の形態の音声入力インタフェースを備えることができる。更なる実施形態では、サンプル18は、外部データ処理ユニット(図示せず)から受信されてもよく、自然言語を表すテキスト又は音声を表わすデータ信号を含んでもよい。
【0086】
図1に示される処理ユニット14は、受信ユニット12からサンプル18を受信するようになっていてもよく、サンプル18を処理するようになっている。特に、処理ユニットは、複数の応答仮説20を生成し、複数の信頼値22を生成するようになっており、各応答仮説20は、対応する信頼値22と関連付けられる。
【0087】
一実施形態によれば、応答仮説20は、サンプル18に対する応答の候補を表わすことができる。応答仮説20は、人工知能及び機械学習を含む様々な異なる(決定論的又は確率的)応答生成技術によって生成され得る。信頼値22は、所定の基準に従って、対応する応答仮説20がサンプル18に対する有意な応答である確率又は尤度を表わすことができる。
【0088】
図1に更に示されるように、選択ユニット16は、データ接続26を介して量子乱数生成器24に通信可能に結合され得る。本開示との関連で、量子乱数生成器24は、量子光学プロセスなどの量子物理プロセスから乱数を生成するようになっていてもよいハードウェア乱数生成器として理解され得る。例えば、量子乱数生成器24において、光子は、レーザによって生成されてもよく、ビームスプリッタを介して送信されてもよく、それにより、光子は、それらが光子検出器によって検出され得る2つの異なる出力分岐のうちの一方になり得る。所与の分岐で光子が検出される確率は、ビームスプリッタの特性に依存するが、量子物理の法則は、個々の光子について、光子がどの出力分岐で検出されるかを予測することはできない。したがって、結果は、物理学の現在の状態に応じて、基本レベルで確率的である。したがって、出力値「0」を第1の出力分岐に割り当て、出力値「1」を第2の出力分岐に割り当てると、一連の2進数乱数が得られる。基礎となる確率分布は、ビームスプリッタの特性に依存する。例えば、ビームスプリッタが50/50ビームスプリッタである場合、バイナリ出力数のシーケンスは独立しており、同一に分布している(i.i.d.)。真のランダム性を示し且つ本開示に係る量子乱数生成器24に使用することができる他の物理的プロセスは、半導体における電子占有数の変化を含む。
【0089】
本開示との関連で使用することができる異なる量子乱数生成器は、M.Herrero-Collantes、J.C.Garcia-Escartin、「Quantum Random Number Generators」、Reviews of Modern Physics89(2017)015004(arXiv:1604.03304)、及びそこに引用されている参考文献に記載されている。
【0090】
幾つかの実施形態において、量子乱数生成器24は、システム10の外部のユニットであってもよく、データ接続26によって選択ユニット16に通信可能に結合されてもよい。他の実施形態において、量子乱数生成器24は、システム10の一部を形成してもよく、又は選択ユニット16に組み込まれてもよい。
【0091】
選択ユニット16は、複数の応答仮説20及び複数の関連する信頼値22を受信するようになっていてもよく、量子乱数生成器24によって対応する信頼値22に少なくとも部分的に基づいて、複数の応答仮説20の中からランダムに応答28を選択するようになっていてもよい。例えば、選択ユニット16は、データ接続26を介して量子乱数生成器24を呼び出す又は照会するようになっていてもよい。照会に応じて、量子乱数生成器24は、データ接続26を介して選択ユニット16に乱数又は複数の乱数を提供することができ、選択ユニット16は、対応する信頼値22及び受信した乱数に少なくとも部分的に基づいて複数の応答仮説20の中からランダムに選択することができる。
【0092】
システム10は、更に、サンプル18に対する応答として、選択された応答28をユーザに出力するようになっていてもよい。
【0093】
図2は、チャットボットシステム10に関連して前述した方法など、一実施形態に係る自然言語処理のための方法を示すフロー図である。
【0094】
第1のステップS10において、自然言語を含むサンプルが受けられる。
【0095】
後続の第2のステップS12において、方法は、受信されたサンプルを処理するステップを含み、サンプルを処理するステップは、複数の応答仮説を生成するステップと、複数の信頼値を生成するステップとを含み、各応答仮説は対応する信頼値と関連付けられる。
【0096】
後続の第3のステップS14において、方法は、応答を選択するステップであって、量子乱数生成器によって対応する信頼値に少なくとも部分的に基づいて、複数の応答仮説の中からランダムに応答を選択するステップを含む、ステップを含む。
【0097】
図1及び
図2に関連して前述したプロセスを繰り返すことにより、チャットボットシステム10は、複数回の発言及び応答を含む対話にユーザと共に入ることができる。チャットボットシステム10が量子乱数生成器24に依存することは、チャットボットシステム10によって生成された応答28が、古典的な(擬似)乱数生成器ではシミュレートできない真のランダム性及び予測不可能な挙動の要素を含み、したがって人間の会話パートナーの自由意思を反映することができることを保証する。
【0098】
図3は、自然言語処理のためのシステム10’を更なる詳細レベルで示す概略図である。
【0099】
システム10’は、一般に、
図1及び
図2に関連して前述したシステム10に対応し、対応する要素は同じ参照番号を有する。
【0100】
特に、システム10’は、
図1に関連して前述したように、自然言語を含むサンプル18を受信するようになっている受信ユニット12と、処理ユニット14と、データ接続26によって量子乱数生成器24に接続される選択ユニット16とを備える。
【0101】
しかしながら、システム10’は、受信ユニット12の下流側であって処理ユニット14の上流側にアノテータユニット30を更に備える。アノテータユニット30は、受信ユニット12からサンプル18を受信し、サンプル18に注釈を付けるようになっている。例えば、アノテータユニット30は、受信ユニット12からサンプル18を受信してサンプル18を前処理するようになっていてもよい、スペリングユニット30a及びセグメント化ユニット30bを備え得る。
【0102】
スペリングユニット30aは、入力サンプル18内のタイプミスを修正するなどのために、スペリング前処理するようになっていてもよい。スペリングユニット30aは、Moscow Institute of Physics and TechnologyのNeural Networks and Deep Learning Lab(http://docs.deeppavlov.ai/en/0.17.0/features/models/spelling_correction.html参照)によって開発されたオープンソースの会話型AIフレームワークであるDeepPavlov.aiによって提供される自動スペリング補正パイプラインを利用することができる。しかしながら、他のタイプミス修正技術も同様に使用されてもよい。
【0103】
セグメント化ユニット30bは、文の分割に適用されてもよく、特に、サンプル18の入力テキストを個々の文に分割するようになっていてもよい。更に、セグメント化ユニット30bは、名前付きエンティティ認識(NER)のための技術を実装して、サンプル18内のトークンを、人物名、数量表現、パーセンテージ表現、位置の名前、及び/又は組織などの所定のカテゴリに分類することができる。これらの技術に関する更なる情報は、DeepPavlov.ai(http://docs.deeppavlov.ai/en/0.17.0/features/models/ner.html#ner-based-model-for-sentence-boundary-detection-task参照)から入手できる。しかしながら、文セグメント化のための他の技術も同様に使用されてもよい。
【0104】
アノテータユニット30は、結果として得られる注釈付きサンプル32を処理ユニット14に提供することができる。
図1及び
図2に関連して前述したように、処理ユニット14は、注釈付きサンプル32を処理するようになっており、処理ユニット14は、複数の応答仮説20a~20e及び対応する信頼値22a~22eを生成するようになっている。
【0105】
そのために、処理ユニット14は、複数の仮説生成ユニット34aから34eを備えてもよく、仮説生成ユニット34a~34eのそれぞれは、少なくとも1つ、場合によっては複数の応答仮説20aから20eを生成するようになっていてもよい。仮説生成ユニット34a~34eは、入力サンプル18及びその注釈から導出された応答又は応答のセットを生成するための異なる技能、すなわち異なる決定論的又は確率的アルゴリズムを実装することができる。
【0106】
図3に示される例において、処理ユニット14は、5つの異なる仮説生成ユニット34a~34eを備えるが、これは例示に過ぎず、処理ユニット14は、一般に、任意の数の仮説生成ユニットを備えていてもよい。
【0107】
第1の仮説生成ユニット34aは、https://code.google.com/archive/p/aiml-en-us-foundation-alice/でGoogle Code Archiveから入手可能なFree A.L.I.C.E.AIMLチャットボットセットに相当しし、第1の応答仮説20aを生成してもよい。
【0108】
同様に、仮説生成ユニット34bは、‘‘ELIZA-A Computer Program for the Study of Natural Language Communication Between Man And Machine’’、Communications of the ACM,volume9,Number1(1966年1月)pp.36-45でJoseph Weizenbaumにより更に詳細に説明されているEliza chatbotに相当し、第2の応答仮説20bを生成してもよい。
【0109】
第3の仮説生成ユニット34cは、Wikipediaのエントリに基づいて質問に答えるオープン・ドメイン質問応答(ODQA)モデルを実装してもよい。ODQAアルゴリズムに関する更なる情報は、DeepPavlov.ai,http://docs.deeppavlov.ai/en/0.17.0/features/skills/odqa.htmlから入手可能である。しかしながら、Wikipedia又は他のオンライン百科事典から情報を検索するための他の技術も同様に使用することができる。サンプル質問18に応答して、第3の仮説生成ユニット34cは、第3の応答仮説20cを出力する。
【0110】
第4の仮説生成ユニット34dは、ウィキデータ知識ベースに基づいて任意の質問に回答するようになっている知識ベース質問回答(KBQA)モデルを実装してもよい。KBQA技術に関する更なる情報は、DeepPavlov.ai,http://docs.deeppavlov.ai/en/0.17.0/features/models/kbqa.htmlで入手可能である。
図3に示されるように、仮説生成ユニット34dは、いずれもサンプル18に適合する2つの応答仮説20d,20d’を出力してもよい。
【0111】
第5の仮説生成ユニット34eは、深層学習技術を用いて第5の応答仮説20eとしての人型テキストを生成する自己回帰言語モデルである生成事前学習変換器(GPT)に基づく仮説生成技術を採用してもよい。これらの技術は、https://arxiv.org/abs/1908.09203でCornell大学プレプリントサーバ(2019年11月13日)から入手可能な、I.Solaimanらの「Release Strategies and the Social Impact of Language Models」に更に詳細に記載されている。
【0112】
一般に、任意の数の仮説生成ユニットを処理ユニット14に採用することができ、仮説生成ユニットのそれぞれは、少なくとも1つの応答仮説を生成するために異なるアルゴリズムを実装することができる。仮説生成ユニットは、決定論的手法と確率論的手法の両方を用いてもよい。複数の仮説生成ユニット34a~34eのうちの1つ以上が確率的技法を使用してそれぞれの応答仮説20a~20eを生成する場合、それらは、幾つかの実施形態では、量子乱数生成器24などの量子乱数生成器を利用することができる。
【0113】
特に、仮説生成ユニット34eの技術は、
図4に関連して以下で更に詳細に説明するように、ランダム性のソースとして量子乱数生成器24を組み込むために従来のGPTを超えて拡張され得る。
【0114】
例えば、仮説生成ユニット34eは、量子乱数生成器24を呼び出したり照会したりしてもよく、選択ユニット16に関して
図1を参照して前述したのと実質的に同じ方法で量子乱数生成器24から量子乱数を受信してもよい。特に、仮説生成ユニット34eは、応答仮説20eを生成する際に、量子乱数生成部24から受けた乱数を用いて、確率分布に従ってランダムに単語又は文字を選択してもよい。
【0115】
図4は、仮説生成ユニット34eがトークン予測モデルによって応答仮説20eを反復的に生成し得る方法を示す概略フロー図である。(この場合には3であるが、一般には任意の整数数の)トークンのシーケンス<T
0,T
1,T
2>が前のステップで既に選択されていると仮定すると、トークン<T
0,T
1,T
2>は、トークンの入力シーケンス<T
0,T
1,T
2>に依存する分布F(t
3)を計算するためにGPTモデルを実装するGPTモジュール36のための入力として使用される。分布F(t
3)は、後続のトークンT
3が選択され得るシンボル及びシンボル群のコンフィグレーション空間における分布である。この文脈で選択することができるGPTモジュール36の特定の実装は、Cornell preprint server arXiv:1911.00536 v 3(2020年5月2日)から入手可能である、Y.Zhangらによる「DialoGPT:会話応答生成のための大規模生成事前訓練」に更に詳細に記載されているように、Microsoftから入手可能なDialoGPTモジュールである。分布F(t
3)に従って後続のトークンT
3を選択するために、GPTモジュール36は量子乱数生成器24を呼び出すことができる。特に、GPTモジュール36は、量子乱数生成器24に照会し、引き換えに量子乱数生成器24から乱数又は複数の乱数を受信し得る。ここで、GPTモジュール36は、乱数を使用して、分布F(t
3)に従ってトークンT
3をサンプリングすることができる。反復的に生成されたトークンのシーケンス<T
0、T
1、T
2、T
3、...、T
M>は、応答仮説20eに対応する。
【0116】
任意選択的に、分布F(t3)は、https://arxiv.org/abs/1908.09203でCornell大学プレプリントサーバ(2019年11月13日)から入手可能である、I.Solaimanらの「Release Strategies and the Social Impact of Language Models」に記載されている温度技術を使用することによって形状シフトされてもよい。
【0117】
図3に戻って、処理ユニット14は、複数の仮説生成ユニット34a~34eによって生成された複数の応答仮説20a~20eを受信するようになっている仮説アノテータユニット38を更に備える。仮説アノテータユニット38は、複数の応答仮説20a~20eのそれぞれに信頼値22a~22eを割り当てるようになっていてもよい。
【0118】
特に、仮説アノテータユニット38は、複数の応答仮説20a~20eを符号化してi=1、...、n個の応答仮説20a~20eのそれぞれに0と1との間の実数c
iを割り当てるようになっているテキストエンコーダユニット38aを備えることができる。数c
iは、信頼値22a~22e、すなわち、対応する応答仮説iがサンプル18に対する適切な応答である確率を表わすことができる。
図3に関連して前述した例では、n=6であるが、一般に、nは任意の正の整数を表わすことができる。
【0119】
一実施形態によれば、Cornell大学プレプリントサーバarXiv:1911.03688(2020年4月29日)からも入手可能な、Association for Computational Linguistics,EMNLP 2020,pp.2161-2174の研究結果である、M.Hendersonらの「ConverRT:Efficient and Accurate Conversational Representations from Transformers」に更に詳細に記載されているように、テキストエンコーダユニット38aをPolyAI文符号化モデルConveRTとして選択することができる。しかしながら、代わりに異なる評価モデルを使用することもできる。
【0120】
仮説アノテータ38はまた、任意選択的に、応答仮説20a~20eにおける嫌悪、傷害、脅威などのレベルを測定するようになっているDeepPavlovベースの回帰モデルを実装することができる毒性ユニット38bを備えることができる。毒性ユニット38bは、各i=1、...、nに関して、対応する実数tiを応答仮説20a~20eのそれぞれに割り当てるようになっていてもよい。数tiは、応答仮説20a~20eの毒性値を表わし得る。
【0121】
図3に更に示すように、仮説アノテータユニット38は、対応する応答仮説20a~20eのタプル、並びに対応する信頼値c
i及び毒性t
iを選択ユニット16に提供する。
【0122】
図1及び
図2に関連して前述したように、選択ユニット16は、データ接続26を介して選択ユニット16に接続された量子乱数生成器24を呼び出すことによって、関連する信頼値22a~22eに基づいて複数の応答仮説20a~20eの中から応答28をランダムに選択するようになっている。
【0123】
例示的な一実施態様では、選択ユニット16は、確率重み
【数1】
を各信頼値c
i,i=1,...,nに対して割り当てるようになっていてもよい。次いで、選択ユニット16は、量子乱数生成器24を呼び出すことによって確率分布(p
i)
iに従って複数の応答仮説20a~20eの中からサンプリングするようになっていてもよい。
【0124】
幾つかの実施形態では、同じダイアログで先に回答された仮説生成ユニット34a~34eからの仮説の確率を高めることなどによって、確率分布(pi)iを修正するために更なる規則を追加することができる。
【0125】
図3に関連して前述した実施形態の実施において、選択ユニット16は、所定の閾値Tより高い毒性値t
iを有する応答仮説20a~20eを毒性として分類するようになっていてもよく、それらの信頼値c
iを0に設定することによって毒性応答仮説20a~20eを破棄するようになっていてもよく、それにより、これらの応答仮説20a~20eが応答28として選択されるのを効果的に防止する。例えば、応答仮説「私は貴方が嫌い」は、毒性ユニット38bによって高い毒性値が割り当てられてもよく、したがって、毒性として分類されてもよく、応答仮説20a~20eのセットから除外されてもよい。
【0126】
図3に関連して前述した実施形態の別の変形例において、選択ユニット16は、信頼値c
iを所定の閾値dと比較するようになっていてもよく、更に、c
i>dを満たす応答仮説のサブセット20a~20eを決定するようになっていてもよい。このサブセットが空でない場合、応答28は、最大の信頼値c
iを有する応答仮説としてサブセットの中でのみ選択され得る。この技術は、処理ユニット14が高い信頼度で正確な応答を決定することができるサンプルについて、その応答が確定的に選択されることを保証することができる。
【0127】
一方、c
i>dを満たす応答仮説20a~20eのサブセットが空である場合、選択ユニット16は、
図3に関連して前述したように、量子乱数生成器24を呼び出すことによって、応答仮説20a~20eの中からランダムに応答28を選択するようになっていてもよい。
【0128】
選択ユニット16のロジックに実装される決定木を示すフロー図が
図5に示される。
【0129】
図5のフロー図は、毒性基準に従った応答仮説20a~20eの事前選択と、所定の閾値dよりも大きい信頼値c
iを有する残りの応答仮説20a~20eの中からの決定論的選択との両方を実施し、この例ではd=0.97である。信頼値がc
i>d=0.97を満たさない場合に限り、応答28は、確率分布における重みとして式(1)にしたがった正規化された信頼値を使用して、量子乱数生成器24を呼び出すことによってランダムに選択される。
【0130】
選択ユニット16が量子乱数生成器24を呼び出すことによってサンプル18に対する応答28をランダムに選択するようになっていると仮定すると、システム10’が次にどのように応答するかを予測することは本質的に不可能である。更なる結果として、システム10’は、応答の変動性を示し、通常は異なる方法で同じダイアログに応答し、これは、自由な人が応答する方法を反映することができる。同時に、正しい応答を高い確率で識別できるサンプル18を確定的に回答することができ、それにより、チャットボットの信頼性を高めることができる。
【0131】
幾つかの実施形態において、選択ユニット16は、代替として、応答仮説20a~20eの中から選択するために、ニューラルネットワーク、勾配ブースティング(J.H.フリードマン:グリーディ関数近似:勾配ブースティング機械.統計年報29(5)(2001)pp.1189-1232)、ランダムフォレスト(T.K.Ho:ランダムデシジョンフォレスト.第3回国際文書解析認識会議予稿集(1995)pp.278-282)、又は別の機械学習アルゴリズムなどのツリーベースの方法を実装するようになっていてもよく、ニューラルネットワークは、量子乱数生成器24を呼び出してもよい。
【0132】
例えば、選択ユニット16は、コンテキスト及び各想定し得る応答を符号化するベクトルを使用することができる。これらのテンソルを使用して、コンテキストに対応するベクトルと訓練可能なグラム行列を有する特定の応答との内積を計算することによって、コンテキストと各所与の応答との間のコサイン類似性を見つけることができる。コンテキスト及び想定し得る応答を符号化するコサイン類似度及びベクトルは、入力として機械学習アルゴリズムに提供され得る。選択ユニット16の出力にSoftMax関数を適用して、何らかの回答が選択される必要がある確率をレンダリングすることができる。機械学習アルゴリズムの訓練可能なパラメータは、特に、予測確率分布と真の分布との間の距離を表わす損失関数を最小化することによって最適化され得る。例えば、交差エントロピー損失を使用することができる。
【0133】
図3に戻ると、出力ユニット40は、テキスト信号もしくは音声信号の形態、又は任意の他のフォーマットなどで、選択された応答28をユーザに返すようになっていてもよい。その後、対話は、ユーザが別のサンプル18を用いてチャットボットシステム10’を提示することで継続することができる。
【0134】
応答28を選択する際、及び任意選択的に複数の応答仮説20a~20eを生成する際にも量子乱数生成器24を使用することにより、幾つかのシード状態における予想される期間よりも短いこと、大量の生成された数の分布の均一性の欠如、出力シーケンスの寸法分布である連続値の相関、又は特定の値が発生する位置間の距離が真のランダムシーケンス分布とは異なる分布であることを含む、従来の擬似乱数生成器の潜在的な問題の多くを解決することができる。
【0135】
本開示の技術は、これらのパターンを回避しうる。また、これらの技術は、自由意志を有する人間が行うように、チャットボットシステム10、10’が同じ対話に異なる方法で応答するという意味で可変性を示すことを確実にすることができる。
【0136】
実施形態及び図面の説明は、本開示の技術及びそれに関連する利点を例示するために役立つにすぎず、限定を意味すると理解されるべきではない。本開示の範囲は、添付の特許請求の範囲から決定されるべきである。
【符号の説明】
【0137】
10,10’ 自然言語処理システム;チャットボットシステム
12 受信ユニット
14 処理ユニット
16 選択ユニット
18 サンプル
20;20a~20e 複数の応答仮説
22;22a~22e 複数の信頼値
24 量子乱数生成器
26 データ接続
28 選択された応答
30 アノテータユニット
30a スペリングユニット
30b 分割ユニット
32 注釈付きサンプル
34a~34e 仮説生成ユニット
36 仮説生成ユニット34eのGPTモジュール
38 仮説アノテータユニット
38a テキストエンコーダユニット
38b 毒性ユニット
40 出力ユニット
【外国語明細書】