(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-12-14
(54)【発明の名称】ダイアログモデルを生成する方法、デバイス及びコンピュータプログラム
(51)【国際特許分類】
G06F 16/90 20190101AFI20231207BHJP
G06F 40/44 20200101ALI20231207BHJP
【FI】
G06F16/90 100
G06F40/44
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023532261
(86)(22)【出願日】2021-12-16
(85)【翻訳文提出日】2023-05-26
(86)【国際出願番号】 US2021063791
(87)【国際公開番号】W WO2022177630
(87)【国際公開日】2022-08-25
(32)【優先日】2021-02-22
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ソン,リンフェン
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA01
5B175EA01
(57)【要約】
ニューラルネットワークベースのオープンドメインダイアログモデルを生成する方法は、ダイアログモデルとの会話を有するデバイスから入力発話を受信するステップと、ダイアログモデルから入力発話に対する複数の候補回答を取得するステップと、参照なしディスクリミネータに基づいて候補回答に対する複数のディスクリミネータスコアを決定するステップと、候補回答に関連付けられる複数の品質スコアを決定するステップと、品質スコアに基づいてダイアログモデルをトレーニングするステップとを含む。
【特許請求の範囲】
【請求項1】
プロセッサによって実行される方法であって、
ダイアログモデルとの会話を有するデバイスからの入力発話を受け取るステップと、
前記ダイアログモデルから、前記入力発話に対する複数の候補回答を取得するステップであって、前記複数の候補回答は、第1候補回答と第2候補回答を備える、ステップと、
前記第1候補回答に対する複数のディスクリミネータスコアを決定するステップであって、前記複数のディスクリミネータスコアは、前記第1候補回答に対応する情報と、前記会話の履歴に対応するコンテキスト情報とに基づいて、前記第1候補回答の品質を評価する、複数のディスクリミネータによって提供される、ステップと、
前記第2候補回答に対する複数のディスクリミネータスコアを決定するステップであって、前記複数のディスクリミネータスコアは、前記第2候補回答に対応する情報と、前記会話の前記履歴に対応する前記コンテキスト情報とに基づいて、前記第2候補回答の品質を評価する、前記複数のディスクリミネータによって提供される、ステップと、
前記第1候補回答に関連付けられる第1品質スコアを決定するステップであって、前記第1品質スコアは、前記第1候補回答に対応する前記複数のディスクリミネータスコアの加重和に基づいている、ステップと、
前記第2候補回答に関連付けられる第2品質スコアを決定するステップであって、前記第2品質スコアは、前記第2候補回答に対応する前記複数のディスクリミネータスコアの加重和に基づいている、ステップと、
前記第1品質スコア又は前記第2品質スコアのうちの少なくとも1つに基づいて、前記ダイアログモデルをトレーニングするステップと、
を含む、方法。
【請求項2】
前記複数のディスクリミネータは、前記第1候補回答に対応する情報と、前記会話の履歴に対応する前記コンテキスト情報のみに基づいて、前記候補回答を評価する、
請求項1に記載の方法。
【請求項3】
前記複数のディスクリミネータのうちの少なくとも1つは、前記候補回答の正規化逆関数文書頻度を決定することによって、前記候補回答の特異性を評価する、
請求項1に記載の方法。
【請求項4】
前記複数のディスクリミネータのうちの少なくとも1つは、前記候補回答が、前記会話中に前記ダイアログモデルによって出力された以前の候補回答と矛盾する確率を計算することによって、前記候補回答の整合性を評価する、
請求項1に記載の方法。
【請求項5】
前記複数のディスクリミネータのうちの少なくとも1つは、前記コンテキスト情報に基づいて前記候補回答のパープレキシティを決定することによって、前記候補回答の流暢性を評価する、
請求項1に記載の方法。
【請求項6】
前記複数のディスクリミネータのうちの少なくとも1つは、前記候補回答の表現ベクトルと前記コンテキスト情報の表現ベクトルとの間の余弦類似性を計算することによって、前記候補回答が前記会話に関連するかどうかを評価する、
請求項1に記載の方法。
【請求項7】
前記ダイアログモデルは、前記候補回答の中で最も高い品質スコアとランダムに選択された候補回答の品質スコアとを有する、前記候補回答の中の候補回答の品質スコアに基づいてトレーニングされる、
請求項1に記載の方法。
【請求項8】
前記ダイアログモデルをトレーニングするステップは、
前記第1品質スコア又は前記第2品質スコアのうちの前記少なくとも1つに基づいて、強化学習ベースの目標を決定するステップと、
トークンレベルの交差エントロピー損失に基づいて前記候補回答を評価する交差エントロピーベースの目標を決定するステップと、
前記強化学習ベースの目標と前記交差エントロピーベースの目標との組合せに基づいて、最終的なトレーニング目標を決定するステップと、
を含む、請求項1に記載の方法。
【請求項9】
プログラムコードとニューラルネットワークベースのオープンドメインダイアログモデルとを記憶するように構成される少なくとも1つのメモリと、
前記プログラムコードを読み取り、前記プログラムコードによって指示されるように動作するよう構成される少なくとも1つのプロセッサと、を備えるデバイスであって、前記プログラムコードは、
前記少なくとも1つのプロセッサに、ダイアログモデルとの会話を有するデバイスからの入力発話を受け取らせるように構成される受信コードと、
前記少なくとも1つのプロセッサに、前記ダイアログモデルから、前記入力発話に対する複数の候補回答を取得させるように構成される取得コードであって、前記複数の候補回答は、第1候補回答と第2候補回答を備える、取得コードと、
前記少なくとも1つのプロセッサに、前記第1候補回答に対する複数のディスクリミネータスコアを決定させるように構成される第1決定コードであって、前記複数のディスクリミネータスコアは、前記第1候補回答に対応する情報と、前記会話の履歴に対応するコンテキスト情報とに基づいて、前記第1候補回答の品質を評価する、複数のディスクリミネータによって提供される、第1決定コードと、
前記少なくとも1つのプロセッサに、前記第2候補回答に対する複数のディスクリミネータスコアを決定させるように構成される第2決定コードであって、前記複数のディスクリミネータスコアは、前記第2候補回答に対応する情報と、前記会話の前記履歴に対応する前記コンテキスト情報とに基づいて、前記第2候補回答の品質を評価する、前記複数のディスクリミネータによって提供される、第2決定コードと、
前記少なくとも1つのプロセッサに、前記第1候補回答に関連付けられる第1品質スコアを決定させるように構成される第3決定コードであって、前記第1品質スコアは、前記第1候補回答に対応する前記複数のディスクリミネータスコアの加重和に基づいている、第3決定コードと、
前記少なくとも1つのプロセッサに、前記第2候補回答に関連付けられる第2品質スコアを決定させるように構成される第4決定コードであって、前記第2品質スコアは、前記第2候補回答に対応する前記複数のディスクリミネータスコアの加重和に基づいている、第4決定コードと、
前記少なくとも1つのプロセッサに、前記第1品質スコア又は前記第2品質スコアのうちの少なくとも1つに基づいて、前記ダイアログモデルをトレーニングさせるように構成されるトレーニングコードと、
を含む、デバイス。
【請求項10】
前記複数のディスクリミネータは、前記第1候補回答に対応する情報と、前記会話の履歴に対応する前記コンテキスト情報のみに基づいて、前記候補回答を評価する、
請求項9に記載のデバイス。
【請求項11】
前記トレーニングコードは、前記少なくとも1つのプロセッサに、前記候補回答の中で最も高い品質スコアとランダムに選択された候補回答の品質スコアとを有する、前記候補回答の中の候補回答の品質スコアに基づいて、前記ダイアログモデルをトレーニングさせるように更に構成される、
請求項9に記載のデバイス。
【請求項12】
前記トレーニングコードは、前記少なくとも1つのプロセッサに、
前記第1品質スコア又は前記第2品質スコアのうちの前記少なくとも1つに基づいて、強化学習ベースの目標を決定させ、
トークンレベルの交差エントロピー損失に基づいて前記候補回答を評価する交差エントロピーベースの目標を決定させ、
前記強化学習ベースの目標と前記交差エントロピーベースの目標との組合せに基づいて、最終的なトレーニング目標を決定させる、
ように更に構成される、請求項9に記載のデバイス。
【請求項13】
前記複数のディスクリミネータのうちの少なくとも1つは、前記候補回答の正規化逆関数文書頻度を決定することによって、前記候補回答の特異性を評価し、
前記複数のディスクリミネータのうちの少なくとも1つは、前記候補回答が、前記会話中に前記ダイアログモデルによって出力された以前の候補回答と矛盾する確率を計算することによって、前記候補回答の整合性を評価し、
前記複数のディスクリミネータのうちの少なくとも1つは、前記コンテキスト情報に基づいて前記候補回答のパープレキシティを決定することによって、前記候補回答の流暢性を評価し、
前記複数のディスクリミネータのうちの少なくとも1つは、前記候補回答の表現ベクトルと前記コンテキスト情報の表現ベクトルとの間の余弦類似性を計算することによって、前記候補回答が前記会話に関連するかどうかを評価する、
請求項9に記載のデバイス。
【請求項14】
1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、請求項1乃至8のうちのいずれか一項に記載の方法を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
1.分野
本開示は、ダイアログモデルを生成することに関し、より具体的には、参照なしディスクリミネータ(reference-free discriminator)に基づいてニューラルネットワークベースのダイアログモデルをトレーニングすることに関する。
【背景技術】
【0002】
2.関連分野の説明
ダイアログ応答生成は、ダイアログ履歴を所与として、魅力的で筋の通った応答を生成することを目的とする。主に商業的な需要の高まりにより、研究の関心が高まっている。ますます強力なニューラルモデルが提案されており、そのようなモデルでは、トークンレベルの交差エントロピー損失(token-level cross-entropy loss)を使用して、各ダイアログコンテキストに対する人間の注釈付き回答の可能性を最大化している。しかしながら、ダイアログ応答生成では、無意味な又は非論理的な応答を生成することのような重大な失敗が頻繁に観察される。
【0003】
この問題を解決するために、初期の取り組みでは、より豊富な機能のために外部の知識を利用する。しかしながら、それらは、所与のコンテキストに対して1つのゴールドレスポンス(典型的には人間によって選択される)を想定しているが、ダイアログコンテキストごとに異なる意味を有する様々な有効な応答が存在する可能性があるため、任意の潜在的なエラー伝播を無視している。その結果、誤った知識の取得による問題に直面する可能性がある。最近、モデルが十分な(おそらく数十億の)インスタンスを確認するときに、上記の問題を大幅に軽減することができるという仮説に基づいて、大規模なトレーニングが解決策として提案されている。しかしながら、この解決策は、新しいトピック、単語及びスローガンを導入し続ける言語のますますの急速な進化によって異議が唱えられている。さらに、大規模なトレーニングは時間を消費し、かつリソースのコストがかかり、したがって、持続可能な方向性ではない可能性がある。
【発明の概要】
【0004】
いくつかの可能な実装によると、(好ましくは、ニューラルネットワークベースのオープンドメインダイアログモデル(open-domain dialogue model)を生成する)方法は、ダイアログモデルとの会話を有するデバイスからの入力発話を受け取るステップ(ここで、そこからの入力発話が受け取られるデバイスは、第1デバイスであり、ダイアログモデルは、第1デバイスとの会話通信において第2デバイス上で実行/実施される)と;ダイアログモデルから(すなわち、ダイアログモデルが実行されている第2デバイスから)、入力発話に対する複数の候補回答を取得するステップであって、複数の候補回答は、第1候補回答と第2候補回答を備える、ステップと;第1候補回答に対する複数のディスクリミネータスコア(discriminator scores)を決定するステップであって、複数のディスクリミネータスコアは、第1候補回答に対応する情報と、会話の履歴に対応するコンテキスト情報(contextual information)とに基づいて、第1候補回答の品質を評価する複数のディスクリミネータ(discriminators)によって提供される、ステップと;第2候補回答に対する複数のディスクリミネータスコアを決定するステップであって、複数のディスクリミネータスコアは、第2候補回答に対応する情報と、会話の履歴に対応するコンテキスト情報とに基づいて、第2候補回答の品質を評価する前記複数のディスクリミネータによって提供される、ステップと;第1候補回答に関連付けられる第1品質スコアを決定するステップであって、第1品質スコアは、第1候補回答に対応する複数のディスクリミネータスコアの加重和に基づいている、ステップと;第2候補回答に関連付けられる第2品質スコアを決定するステップであって、第2品質スコアは、第2候補回答に対応する複数のディスクリミネータスコアの加重和に基づいている、ステップと;記第1品質スコア又は第2品質スコアのうちの少なくとも1つに基づいて、ダイアログモデルをトレーニングするステップと;を含み得る。
【0005】
いくつかの可能な実装によると、デバイスは、プログラムコードとニューラルネットワークベースのオープンドメインダイアログモデルとを記憶するように構成される少なくとも1つのメモリと、プログラムコードを読み取り、プログラムコードによって指示されるように動作するよう構成される少なくとも1つのプロセッサとを備え得る。プログラムコードは、少なくとも1つのプロセッサに、ダイアログモデルとの会話を有するデバイスからの入力発話を受け取らせるように構成される受信コードと;少なくとも1つのプロセッサに、ダイアログモデルから、入力発話に対する複数の候補回答を取得させるように構成される取得コードであって、複数の候補回答は、第1候補回答と第2候補回答を備える、取得コードと;少なくとも1つのプロセッサに、第1候補回答に対する複数のディスクリミネータスコアを決定させるように構成される第1決定コードであって、複数のディスクリミネータスコアは、第1候補回答に対応する情報と、会話の履歴に対応するコンテキスト情報とに基づいて、第1候補回答の品質を評価する複数のディスクリミネータによって提供される、第1決定コードと;少なくとも1つのプロセッサに、第2候補回答に対する複数のディスクリミネータスコアを決定させるように構成される第2決定コードであって、複数のディスクリミネータスコアは、第2候補回答に対応する情報と、会話の履歴に対応するコンテキスト情報とに基づいて、第2候補回答の品質を評価する複数のディスクリミネータによって提供される、第2決定コードと;少なくとも1つのプロセッサに、第1候補回答に関連付けられる第1品質スコアを決定させるように構成される第3決定コードであって、第1品質スコアは、第1候補回答に対応する複数のディスクリミネータスコアの加重和に基づいている、第3決定コードと;少なくとも1つのプロセッサに、第2候補回答に関連付けられる第2品質スコアを決定させるように構成される第4決定コードであって、第2品質スコアは、第2候補回答に対応する複数のディスクリミネータスコアの加重和に基づいている、第4決定コードと;少なくとも1つのプロセッサに、第1品質スコア又は第2品質スコアのうちの少なくとも1つに基づいて、ダイアログモデルをトレーニングさせるように構成されるトレーニングコードと;を含み得る。
【0006】
いくつかの可能な実装によると、非一時的なコンピュータ読取可能媒体は命令を記憶し、命令は、モバイルデバイスの1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに:ダイアログモデルとの会話を有するデバイスからの入力発話を受け取らせ;ダイアログモデルから、入力発話に対する複数の候補回答を取得させ、複数の候補回答は、第1候補回答と第2候補回答を備え;第1候補回答に対する複数のディスクリミネータスコアを決定させ、複数のディスクリミネータスコアは、第1候補回答に対応する情報と、会話の履歴に対応するコンテキスト情報とに基づいて、第1候補回答の品質を評価する複数のディスクリミネータによって提供され;第2候補回答に対する複数のディスクリミネータスコアを決定させ、複数のディスクリミネータスコアは、第2候補回答に対応する情報と、会話の履歴に対応するコンテキスト情報とに基づいて、第2候補回答の品質を評価する複数のディスクリミネータによって提供され;第1候補回答に関連付けられる第1品質スコアを決定させ、第1品質スコアは、第1候補回答に対応する複数のディスクリミネータスコアの加重和に基づいており;第2候補回答に関連付けられる第2品質スコアを決定させ、第2品質スコアは、第2候補回答に対応する複数のディスクリミネータスコアの加重和に基づいており;第1品質スコア又は第2品質スコアのうちの少なくとも1つに基づいて、ダイアログモデルをトレーニングさせる;1つ以上の命令を含み得る。
【図面の簡単な説明】
【0007】
本開示の上記及び他の側面、特徴及び実施形態の態様は、添付図面と併せて考慮される以下の説明からより明らかになるであろう。
【0008】
【
図1】本明細書で説明される例示的な実装の概要の図である。
【0009】
【
図2】本明細書で説明されるシステム及び/又は方法が実装され得る例示的な環境の図である。
【0010】
【
図3】
図2の1つ以上のデバイスの例示的な構成要素の図である。
【0011】
【
図4】ニューラルネットワークベースのオープンドメインダイアログモデルを生成する方法の例示的なプロセスのフローチャートである。
【発明を実施するための形態】
【0012】
例示的な実施形態の以下の詳細な説明は、添付図面を参照する。異なる図面における同じ参照番号は、同じ又は類似の要素を識別し得る。
【0013】
前述の開示は、例示及び説明を提供するが、網羅的であること又は開示される正確な形式に実装を限定することは意図されていない。修正及び変形は、上記の開示に照らして可能であるか又は実装の実践から得られることがある。
【0014】
本明細書に記載されるシステム及び/又は方法は、異なる形式のハードウェア、ファームウェア又はハードウェアとソフトウェアの組合せで実装されてもよいことは明らかであろう。これらのシステム及び/又は方法を実装するために使用される実際の特別な制御ハードウェア又はソフトウェアコードは、実装を制限するものではない。したがって、システム及び/又は方法の動作及び挙動を、本明細書において、特定のソフトウェアコードを参照することなく記載したが、ソフトウェア及びハードウェアは、本明細書における記載に基づいてシステム及び/又は方法を実装するように設計され得ることが理解される。
【0015】
機能の特定の組合せが特許請求の範囲に記載され、かつ/又は明細書に開示されているが、これらの組合せは、可能な実装の開示を限定するように意図されていない。実際、これらの機能の多くは、特許請求の範囲に具体的に記載されていないか、かつ/又は明細書に開示されていない方法で組み合わされてもよい。以下に列挙されている各従属請求項は、1つの請求項のみに直接従属することがあるが、可能な実装の開示は、請求項のセット内の他のすべての請求項と組み合わせて各従属請求項を含む。
【0016】
本明細書で使用される要素、動作又は指示は、そのように明示的に記載されていない限り、重要又は不可欠であると解釈されるべきではない。また、本明細書で使用されるとき、冠詞「a」及び「an」は1つ以上のアイテムを含むように意図されており、「1つ又は複数」と交換可能に使用されてよい。1つのアイテムのみが意図される場合、用語「1つの(one)」又は類似の言葉が使用される。また、本明細書で使用されるとき、「有する(has)」、「有する(have)」、「有している(having)」、「含む(include)」、「含んでいる(including)」等の用語は、オープンエンドの用語であるように意図される。さらに、「に基づいて(based on)」というフレーズは、別段の明示がされていない限り、「に少なくとも部分的に基づいて」を意味するように意図される。
【0017】
図1は、ニューラルネットワークベースのダイアログモデルをトレーニングするための方法の実施形態の概要の図である。方法100は、サーバ、デスクトップコンピュータ、ハンドヘルドコンピューティングデバイス又はそれらの組合せのようなプラットフォーム上で実行され得る。
【0018】
図1に示されるように、動作102において、会話からの発話(utterance)が、プラットフォームによって取得され得る。発話は、「ゲームをプレイしたいですか」のようなテキスト文字列であってよい。発話は、プラットフォームと通信する外部デバイスから受信されてもよい。
【0019】
動作104において、取得された発話に基づいて、ダイアログモデルは、取得された発話に対する一連の候補回答を生成し得る。
図1に示されるように、1番目からN番目までの候補回答が生成され得る。一実施形態によると、ダイアログモデルはビーム探索アルゴリズムを使用してよい。
【0020】
動作106において、1番目からN番目までの参照なしディスクリミネータスコアが、プラットフォームによって決定され得る。各参照なしディスクリミネータスコアは、別個の参照なしディスクリミネータに対応し得る。参照なしディスクリミネータは、候補回答の入力と会話履歴に基づいて、それらのそれぞれの参照なしディスクリミネータスコアを計算し得る。一実施形態によると、参照なしディスクリミネータは、候補回答と会話履歴のみを考慮し、いかなる外部知識も考慮しなくてよい。
【0021】
一実施形態によると、ディスクリミネータの各々は補完的要因(complimentary factors)に基づくことがある。補完的要因は、候補回答の特異性(specificity)、候補回答の整合性(consistency)、候補回答の流暢性(fluency)及び候補回答の関連性(relatedness)を含み得る。例えば
図1を参照すると、第1参照なしディスクリミネータスコアは、候補回答の特異性を示してよく、第2参照なしディスクリミネータスコアは、以前の回答との回答の整合性を示してよく、追加の参照なしディスクリミネータスコアは、他の補完的要因又は既に考慮されている補完的要因の他の側面を考慮してよい。
【0022】
図1は、第1候補回答のみに対して取得されている参照なしディスクリミネータスコアを示す。しかしながら、参照なしディスクリミネータは、1番目からN番目の候補回答の各々に対して取得され得る。
【0023】
動作108において、第1候補回答に対応する参照なしディスクリミネータスコアの各々に基づいて、第1候補回答の加重和が生成され得る。例えば第1候補回答に対応する各参照なしディスクリミネータスコアに、経験的データに基づいて一定の重みを与えることができ、その後、各重み付けされた参照なしディスクリミネータスコアを合計して、候補回答に対する加重和を取得することができる。一実施形態によると、加重和は、動作104において生成された各候補回答について生成され得る。
【0024】
動作110において、ダイアログモデルは、第1候補回答に対応する加重和に基づいてトレーニングされ得る。例えばトレーニングアルゴリズムは、第1候補回答の加重和を組み込む損失関数に基づいてよい。一実施形態によると、ダイアログモデルは、動作104において生成された複数の候補回答に対応する加重和に基づいてトレーニングされ得る。
【0025】
このようにして、本明細書におけるいくつかの実装は、あまりリソース集約的でないトレーニングに基づいて、より有意で、論理的かつ関連性の高い回答を生成するダイアログモデルを提供する。
【0026】
図2は、本明細書で説明されるシステム及び/又は方法が実装され得る例示的な環境200の図である。
図2に示されるように、環境200は、ユーザデバイス210、プラットフォーム220及びネットワーク230を含み得る。環境200のデバイスは、有線接続、無線接続又は有線接続と無線接続の組合せを介して相互接続し得る。
【0027】
ユーザデバイス210は、プラットフォーム220に関連付けられる情報を受信、生成、記憶、処理及び/又は提供することが可能な1つ以上のデバイスを含む。例えばユーザデバイス210は、コンピューティングデバイス(例えばデスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ハンドヘルドコンピュータ、スマートスピーカ、サーバ等)、携帯電話(例えばスマートフォン、無線電話等)、ウェアラブルデバイス(例えば1対のスマートグラス又はスマートウォッチ)又は同様のデバイスを含み得る。いくつかの実装では、ユーザデバイス210は、プラットフォーム220から情報を受信し、かつ/又はプラットフォームへ情報を送信し得る。
【0028】
プラットフォーム220は、本明細書の他の箇所で説明される、参照なしディスクリミネータを使用してダイアログモデルをトレーニングすることが可能な1つ以上のデバイスを含む。いくつかの実装では、プラットフォーム220は、クラウドサーバ又はクラウドサーバのグループを含んでよい。いくつかの実装では、プラットフォーム220は、特定のニーズに応じて特定のソフトウェア構成要素がスワップイン又はスワップアウトされ得るように、モジュール式であるように設計されてよい。そのため、プラットフォーム220は、異なる用途のために容易かつ/又は迅速に再構成されることができる。
【0029】
いくつかの実装では、示されているように、プラットフォーム220は、クラウドコンピューティング環境222においてホストされてよい。特に、本明細書で説明される実装は、クラウドコンピューティング環境222内でホストされるものとしてプラットフォーム220を説明するが、いくつかの実装では、プラットフォーム220は、クラウドベースではない(すなわち、クラウドコンピューティング環境の外部で実装され得る)か、部分的にクラウドベースであってもよい。
【0030】
クラウドコンピューティング環境222は、プラットフォーム220をホストする環境を含む。クラウドコンピューティング環境222は、プラットフォーム220をホストするシステム及び/又はデバイスの物理的な位置及び構成に関するエンドユーザ(例えばユーザデバイス210)の知識を必要としない計算、ソフトウェア、データアクセス、ストレージ等のサービスを提供し得る。示されているように、クラウドコンピューティング環境222は、コンピューティングリソース224のグループ(集合的に「コンピューティングリソース224(複数)」と呼ばれ、個々に「コンピューティングリソース224(単数)」と呼ばれる)を含んでよい。
【0031】
コンピューティングリソース224は、1つ以上のパーソナルコンピュータ、ワークステーションコンピュータ、サーバデバイス又は他のタイプの計算及び/又は通信デバイスを含む。いくつかの実装では、コンピューティングリソース224はプラットフォーム220をホストし得る。クラウドリソースは、コンピューティングリソース224内で実行する計算インスタンス、コンピューティングリソース224で提供されるストレージデバイス、コンピューティングリソース224で提供されるデータ転送デバイス等を含み得る。いくつかの実装では、コンピューティングリソース224は、有線接続、無線接続又は有線接続と無線接続の組合せを介して他のコンピューティングリソース224と通信し得る。
【0032】
図2に更に示されるように、コンピューティングリソース224は、1つ以上のアプリケーション(「APP」)224-1、1つ以上の仮想マシン(「VM」)224-2、仮想化ストレージ(「VS」)224-3、1つ以上のハイパーバイザ(「HYP」)224-4等のようなクラウドリソースのグループを含む。
【0033】
アプリケーション224-1は、ユーザデバイス210及び/又はセンサデバイスに提供され得るか又はこれらによってアクセスされ得る、1つ以上のソフトウェアアプリケーションを含む。アプリケーション224-1は、ユーザデバイス210でソフトウェアアプリケーションをインストールして実行する必要をなくすことができる。例えばアプリケーション224-1は、プラットフォーム220に関連付けられるソフトウェア及び/又はクラウドコンピューティング環境222を介して提供することが可能な任意の他のソフトウェアを含み得る。いくつかの実装では、あるアプリケーション224-1が、仮想マシン224-2を介して、1つ以上の他のアプリケーション224-1に情報を送信/1つ以上の他のアプリケーション224-1から情報を受信し得る。
【0034】
仮想マシン224-2は、物理マシンのようにプログラムを実行するマシン(例えばコンピュータ)のソフトウェア実装を含む。仮想マシン224-2は、仮想マシン224-2による任意の実マシンへの使用と対応の程度に応じて、システム仮想マシン又はプロセス仮想マシンのいずれかであり得る。システム仮想マシンは、完全なオペレーティングシステム(「OS」)の実行をサポートする完全なシステムプラットフォームを提供し得る。プロセス仮想マシンは、単一のプログラムを実行してよく、単一のプロセスをサポートし得る。いくつかの実装では、仮想マシン224-2は、ユーザ(例えばユーザデバイス210)の代わりに実行してよく、データ管理、同期又は長時間のデータ転送のような、クラウドコンピューティング環境222のインフラストラクチャを管理し得る。
【0035】
仮想化ストレージ224-3は、コンピューティングリソース224のストレージシステム又はデバイス内で仮想化技術を使用する、1つ以上のストレージシステム及び/又は1つ以上のデバイスを含む。いくつかの実装では、ストレージシステムのコンテキスト内では、仮想化のタイプは、ブロック仮想化とファイル仮想化を含み得る。ブロック仮想化は、物理ストレージや異種構造に関係なくストレージシステムにアクセスすることができるように、物理ストレージからの論理ストレージの抽象化(又は分離)を指すことがある。この分離は、ストレージシステムの管理者に、該管理者がエンドユーザのためのストレージを管理する方法に柔軟性を持たせることを可能にし得る。ファイル仮想化は、ファイルレベルでアクセスされるデータと、ファイルが物理的に記憶される場所との間の依存関係をなくすことができる。これは、ストレージ使用の最適化、サーバの統合及び/又は非中断ファイル移動の性能を可能にし得る。
【0036】
ハイパーバイザ224-4は、複数のオペレーティングシステム(例えば「ゲストオペレーティングシステム」)が、コンピューティングリソース224のようなホストコンピュータ上で同時に実行することを可能にする、ハードウェア仮想化技術を提供し得る。ハイパーバイザ224-4は、仮想オペレーティングシステムプラットフォームをゲストオペレーティングシステムに提示してよく、ゲストオペレーティングシステムの実行を管理し得る。様々なオペレーティングシステムの複数のインスタンスが、仮想化されたハードウェアリソースを共有し得る。
【0037】
ネットワーク230は、1つ以上の有線及び/又は無線ネットワークを含む。例えばネットワーク230は、セルラネットワーク(例えば第5世代(5G)ネットワーク、長期進化(LTE)ネットワーク、第3世代(3G)ネットワーク、符号分割多元接続(CDMA)ネットワーク等)、パブリックランドモバイルネットワーク(PLMN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、電話ネットワーク(例えば公衆交換電話網(PSTN))、プライベートネットワーク、アドホックネットワーク、イントラネット、インターネット、光ファイバーベース(fiber optic-based)のネットワーク等及び/又はこれら又は他のタイプのネットワークの組合せを含み得る。
【0038】
図2に示されるデバイス及びネットワークの数及び配置は、一例として提供される。実際には、
図2に示されるものよりも、追加のデバイス及び/又はネットワーク、より少ないデバイス及び/又はネットワーク、異なるデバイス及び/又はネットワーク、あるいは異なるように配置されるデバイス及び/又はネットワークが存在し得る。さらに、
図2に示される2つ以上のデバイスが単一のデバイス内で実装されてもよく、あるいは
図2に示される単一のデバイスが、複数の分散デバイスとして実装されてもよい。追加又は代替として、環境200のデバイスのセット(例えば1つ以上のデバイス)は、環境200のデバイスの別のセットによって実行されるものとして説明される1つ以上の機能を実行してもよい。
【0039】
図3は、デバイス300の例示的な構成要素の図である。デバイス300は、ユーザデバイス210及び/又はプラットフォーム220に対応してよい。
図3に示されるように、デバイス300は、バス310、プロセッサ320、メモリ330、ストレージ構成要素340、入力構成要素350、出力構成要素360及び通信インタフェース370を含み得る。
【0040】
バス310は、デバイス300の構成要素間の通信を可能にする構成要素を含む。プロセッサ320は、ハードウェア、ファームウェア又はハードウェアとソフトウェアの組合せで実装される。プロセッサ320は、中央処理ユニット(CPU)、グラフィクス処理ユニット(GPU)、高速処理ユニット(APU)、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)又は別のタイプの処理構成要素である。いくつかの実装では、プロセッサ320は、機能を実行するようにプログラムされることが可能な1つ以上のプロセッサを含む。メモリ330は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、並びに/あるいはプロセッサ320による使用のために情報及び/又は命令を記憶する別のタイプの動的又は静的ストレージデバイス(例えばフラッシュメモリ、磁気メモリ及び/又は光メモリ)を含む。
【0041】
ストレージ構成要素340は、デバイス300の動作及び使用に関連する情報及び/又はソフトウェアを記憶する。例えばストレージ構成要素340は、ハードディスク(例えば磁気ディスク、光ディスク、光磁気ディスク及び/又はソリッドステートディスク)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、フロッピーディスク、カートリッジ、磁気テープ及び/又は別のタイプの非一時的なコンピュータ読取可能な媒体を、対応するドライブとともに含んでよい。
【0042】
入力構成要素350は、デバイス300が、ユーザ入力を介するなどして情報を受け取ることを可能にする構成要素(例えばタッチスクリーンディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチ及び/又はマイク)を含む。追加又は代替として、入力構成要素350は、情報を感知するためのセンサ(例えば全地球測位システム(GPS)構成要素、加速度計、ジャイロスコープ及び/又はアクチュエータ)を含んでよい。出力構成要素360は、デバイス300からの出力情報を提供する構成要素(例えばディスプレイ、スピーカ及び/又は1つ以上の発光ダイオード(LED))を含む。
【0043】
通信インタフェース370は、デバイス300が有線接続、無線接続又は有線接続と無線接続の組合せを介するなどして他のデバイスと通信することを可能にする、トランシーバのような構成要素(例えばトランシーバ及び/又は個別のレシーバとトランスミッタ)を含む。通信インタフェース370は、デバイス300が別のデバイスから情報を受信し、かつ/又は別のデバイスに情報を提供することを可能にし得る。例えば通信インタフェース370は、イーサネット(登録商標)インタフェース、光インタフェース、同軸インタフェース、赤外線インタフェース、無線周波数(RF)インタフェース、ユニバーサルシリアルバス(USB)インタフェース、Wi-Fiインタフェース、セルラネットワークインタフェース等を含み得る。
【0044】
デバイス300は、本明細書で説明される1つ以上のプロセスを実行し得る。デバイス300は、メモリ330及び/又はストレージ構成要素340のような、非一時的コンピュータ読取可能媒体によって記憶されるソフトウェア命令をプロセッサ320が実行することに応答して、これらのプロセスを実行し得る。コンピュータ読取可能媒体は、本明細書では非一時的メモリデバイスとして定義される。メモリデバイスは、単一の物理ストレージデバイス内のメモリ空間又は複数の物理ストレージデバイスに広がるメモリ空間を含む。
【0045】
ソフトウェア命令は、別のコンピュータ読取可能媒体から又は通信インタフェース370を介して別のデバイスから、メモリ330及び/又はストレージ構成要素340に読み込まれてよい。実行されると、メモリ330及び/又はストレージ構成要素340に記憶されたソフトウェア命令は、プロセッサ320に、本明細書で説明される1つ以上のプロセスを実行させることができる。追加又は代替として、本明細書で説明される1つ以上のプロセスを実行するために、ハードワイヤード回路が、ソフトウェア命令の代わりに又はソフトウェア命令と組み合わせて使用されてよい。したがって、本明細書で説明される実装は、ハードウェア回路とソフトウェアのいずれかの特定の組合せに限定されない。
【0046】
図3に示される構成要素の数及び配置は一例として提供される。実際には、デバイス300は、
図3に示されるものよりも、追加の構成要素、より少ない構成要素、異なる構成要素又は異なるように配置される構成要素を含んでよい。追加又は代替として、デバイス300の構成要素のセット(例えば1つ以上の構成要素)は、デバイス300の構成要素の別のセットによって実行されるものとして説明される1つ以上の機能を実行してもよい。
【0047】
図4は、参照なしディスクリミネータに基づいてダイアログモデルを生成するための例示的なプロセス400のフローチャートである。いくつかの実装では、
図4の1つ以上のプロセスブロックは、プラットフォーム220によって実行されてよい。いくつかの実装では、
図4の1つ以上のプロセスブロックは、ユーザデバイス210のような、プラットフォーム220とは別であるかこれを含む別のデバイス又はデバイスのグループによって実行されてもよい。
【0048】
図4に示されるように、プロセス400は入力発話を受け取ることを含み得る(ブロック410)。入力発話は、テキスト文字列の形式であってよい。
【0049】
例えばプラットフォーム220は、ユーザ又はトレーニングセットから「ゲームをプレイしたいですか」という入力発話を受け取ることがある。入力発話は、ダイアログ又は会話の一部であってよい。
【0050】
図4に更に示されるように、プロセス400は、候補回答の各々についてディスクリミネータスコアを決定することを含み得る(ブロック420)。
【0051】
プラットフォーム220は、良好な回答の補完的要因を定量化するディスクリミネータに基づいて、ディスクリミネータスコアを決定してよい。良好な回答は、有意で論理的かつ関連性のある回答であり得る。ディスクリミネータは、それらが外部の知識を考慮せず、むしろ現在の会話又はダイアログ履歴の候補回答及びコンテキスト情報を考慮することを意味する、参照なし(reference-free)であってよい。
【0052】
計算の無駄を最小限に抑えることができる、良好な回答に対する補完的要因を選択して重複を最小限に抑えることができる。例えば要因は、候補回答の特異性、以前に出力された回答と候補回答の整合性、候補回答の流暢性及び候補回答の関連性を含み得る。ディスクリミネータは、良好な回答の補完的要因のうちの1つに対応し得る。
【0053】
一実施形態によると、ディスクリミネータspecuを使用して、単語正規化逆文書頻度(NIDF:normalized inverse document frequency)値の平均として、候補回答uについての特異性スコアを計算することができる。
【0054】
単語wについてのNIDF値は、単語wの逆文書頻度(IDF)に基づいてよい。単語wのIDFは、IDF(w)=log(|U|/|Uw|)として定義され、ここで、|U|は、生成された候補回答のセット内の候補回答の数であり、|Uw|は、wを含む候補回答の数である。
【0055】
NIDFは、以下の式1に基づいて決定され得る:
【0056】
【0057】
式1において、min_idfは、候補回答の最小IDF値を表し、max_idfは、候補回答の最大IDF値を表す。
【0058】
ディスクリミネータspec
uは、以下の式2を使用して決定され得る:
【数2】
【0059】
引数c(コンテキスト情報)は、他のディスクリミネータとの整合性のために含まれているが、specuを決定する際には考慮されない。すなわち、specu(u,c)は、コンテキスト情報(例えば会話又はダイアログ履歴)を考慮せずに、候補回答を考慮する。
【0060】
一実施形態によると、ディスクリミネータspecuは、コンテキスト情報cを考慮することによって、候補回答uについての特異性スコアを計算するために使用され得る。ディスクリミネータspeccは、以下の式3を使用して決定され得る:
【0061】
【0062】
式3に示されるように、speccは、候補回答uとコンテキスト情報cの両方に現れている単語wのみを考慮する。
【0063】
ディスクリミネータspecuとspeccは両方とも、ダイアログモデルが、詳細で魅力的な回答を生成することを促進することができる。例えば「ボウリングに行きませんか?(how about going for come bowling?)」という発話に応答して、ディスクリミネータspecu及びspeccは、ダイアログモデルが、「わかりません(I don’t know)」のような一般的で意味のない候補回答を使用することを抑制することができる。
【0064】
一実施形態によると、ディスクリミネータconsは、候補回答が、会話中にダイアログモデルによって出力された以前の回答と矛盾するかどうかを評価することができる。したがって、ディスクリミネータconsは整合性補完的要因に基づいている。
【0065】
ディスクリミネータconsは、言語理解のための深層双方向変換(deep bidirectional transforms)の事前トレーニングに基づいてよい。例えばディスクリミネータconsは、RoBERTaモデルのような最適化されたBERT事前トレーニングアプローチに基づいてよい。RoBERTaモデルは、Multi-Genre Natural Language Inference(MNLI)データセットのようなデータセットでファインチューニングされてよい。MNLIデータセットは、各文のペア間の以下の3つの可能な関係、すなわち、矛盾(contradictory)、含意(entail)及び中立(neutral)を考慮する。
【0066】
例えば会話中の人が「犬が大好きである」と述べた場合、その人が「犬が怖いので、普段は犬に近づかないようにしている」とも述べる可能性は低い。したがって、ディスクリミネータconsは、候補回答uが、会話中又は現在のダイアログセッション中のダイアログモデルの以前の回答と矛盾しない確率を計算することによって、候補回答uとコンテキスト情報cを考慮して、整合性ディスクリミネータスコアを生成する。
【0067】
一実施形態によると、ディスクリミネータfluは、候補回答が流暢で自然であるかどうかを判断する。したがって、ディスクリミネータfluは流暢性補完的要因に基づいている。
【0068】
ディスクリミネータfluは、チューニング可能なニューラル会話生成モデルに基づいてよい。例えばディスクリミネータfluは、ダイアログ生成事前トレーニングトランスフォーマ(dialogue generative pre-training transformer)DialoGPTのような、会話応答の生成のためのチューニング可能なギガワードスケールのニューラルネットワークモデルに基づいてよい。
【0069】
ディスクリミネータfluは、コンテキスト情報cを所与として、各生成されるターン(turn)uのパープレキシティ(perplexity)を得て、流暢性ディスクリミネータスコアを生成する。
【0070】
一実施形態によると、ディスクリミネータrelsは、生成された回答がダイアログモデルとどの程度関連しているかを測る。したがって、ディスクリミネータrelsは関連性補完的要因に基づいている。
【0071】
ディスクリミネータrelsは、文レベルの意味的類似性に焦点を当てることがある。例えばディスクリミネータrelsは、候補回答uの表現ベクトルとコンテキストcの表現ベクトルとの間の余弦類似性(cosine similarity)に基づいてよいが、これは、すべての層において左右のコンテキストの両方を共同で条件付けすることによって、ラベルのないテキストから深層双方向表現を事前トレーニングする、言語表現モデルによって生成される。例えば候補回答uの表現ベクトルとコンテキストcの表現ベクトルとの間の余弦類似性は、すべての層において左右のコンテキストの両方を共同で条件付けすることによって、ラベルのないテキストから深層双方向表現を事前トレーニングするように設計されるBERT(Bidirectional Encoder Representations from Transforms)のようなモデルによって生成され得る。
【0072】
図4に更に示されるように、プロセス400は、ディスクリミネータスコアに基づいて候補回答の各々について品質スコアを決定することを更に含み得る(ブロック440)。候補回答uについての品質スコアは、候補回答uのディスクリミネータスコアの加重和に基づいてもよい。例えばプラットフォーム220は、以下の報酬関数(reward function)式[4]に基づいて、コンテキストcにおける候補回答uの品質スコアr(u,c)を決定し得る:
【0073】
【0074】
式4において、dj(u,c)はディスクリミネータスコアを表し、|d|はディスクリミネータの量を表し、Φjはディスクリミネータに与えられる重みを表す。ディスクリミネータスコアに与えられる重みΦは、経験的証拠に基づいて決定され得る。例えば各ディスクリミネータスコアには、実験を通して決定される特定の重みΦが与えられ得る。各ディスクリミネータに対する重みΦは、そのディスクリミネータに対してのみ決定され得る。したがって、異なる重みΦが各ディスクリミネータに対応し得る。一実施形態によると、重みΦは異なる状況に対して最適化され得る。
【0075】
図4に更に示されるように、プロセス400は、品質スコアに基づいてダイアログモデルをトレーニングすることを更に含み得る(ブロック450)。
【0076】
例えばプラットフォーム220は、ダイアログモデルをトレーニングするために自己批判(self-critical)トレーニングアルゴリズムを使用し得る。このアルゴリズムは、ポリシー勾配(policy-gradient)強化学習(RL:reinforcement learning)アルゴリズムであり得る。トレーニングのための損失関数は、式5に示されている。
【0077】
【0078】
式5において、
【数6】
は貪欲復号によって生成されるベースライン候補回答である。一実施形態によると、
【数7】
は最も高いディスクリミネータスコアを有する候補回答である。式5では、u
sは、現在のモデル分布によるサンプル発話である。一実施形態によると、u
sは、生成された候補回答のリストからランダムに選択された候補回答である。したがって、r(・,・)は、式4に示される報酬関数に基づく品質スコアを表す。
【0079】
式5では、|us|は、サンプリングされた発話usの長さを表す。前述のように、wは候補回答内の単語を表し、cは、会話又はダイアログ履歴のようなコンテキスト情報を表す。
【0080】
一実施形態によると、自己批判トレーニングアルゴリズムは、ベースラインアルゴリズムによる強化(reinforce)の特別なケースであり得る。
【0081】
一実施形態によると、上記のRLベースの目標lrlを、交差エントロピーベースの目標lceと組み合わせて、式6に示される最終的なトレーニング目標を生成し得る:
【0082】
【0083】
式6では、λは経験的に決定され得る。一実施形態によると、λは経験的に0.7に設定され得る。
【0084】
交差エントロピーベースの目標lceは、人間の注釈付き回答に基づいてトークンレベルの交差エントロピー損失を決定し得る。
【0085】
図4はプロセス400の例示的なブロックを示しているが、いくつかの実装では、プロセス400は、
図4に示されているものよりも、追加のブロック、より少ないブロック、異なるブロック又は異なるように配置されるブロックを含んでもよい。追加又は代替として、プロセス400のブロックのうちの2つ以上を並行して実行してもよい。
【0086】
前述の開示は、例示及び説明を提供するが、網羅的であること又は開示される正確な形式に実装を限定することは意図されていない。修正及び変形は、上記の開示に照らして可能であるか又は実装の実践から得られることがある。
【0087】
本明細書で使用されるとき、構成要素という用語は、ハードウェア、ファームウェア又はハードウェアとソフトウェアの組合せとして広く解釈されるように意図される。
【0088】
本明細書で説明されるシステム及び/又は方法は、異なる形式のハードウェア、ファームウェア又はハードウェアとソフトウェアの組合せで実装されてもよいことは明らかであろう。これらのシステム及び/又は方法を実装するために使用される実際の特殊な制御ハードウェア又はソフトウェアコードは、実装を限定するものではない。したがって、システム及び/又は方法の動作及び挙動は、特定のソフトウェアコードを参照することなく本明細書で説明されたが、ソフトウェア及びハードウェアは、本明細書における説明に基づいてシステム及び/又は方法を実装するように設計されてよいことが理解される。
【0089】
機能の特定の組合せが特許請求の範囲に記載され、かつ/又は明細書に開示されているが、これらの組合せは、可能な実装の開示を限定するように意図されていない。実際、これらの機能の多くは、特許請求の範囲に具体的に記載されていないか、かつ/又は明細書に開示されていない方法で組み合わされてもよい。以下に列挙されている各従属請求項は、1つの請求項のみに直接従属することがあるが、可能な実装の開示は、請求項のセット内の他のすべての請求項と組み合わせて各従属請求項を含む。
【0090】
本明細書で使用される要素、動作又は指示は、そのように明示的に記載されていない限り、重要又は不可欠であると解釈されるべきではない。また、本明細書で使用されるとき、冠詞「a」及び「an」は1つ以上のアイテムを含むように意図されており、「1つ又は複数」と交換可能に使用されてよい。さらに、本明細書で使用されるとき、「セット」という用語は、1つ以上のアイテム(例えば関連するアイテム、関連しないアイテム、関連するアイテムと関連しないアイテムの組合せ等)を含むように意図され、「1つ又は複数」と交換可能に使用されてよい。1つのアイテムのみが意図される場合、用語「1つの(one)」又は類似の言葉が使用される。また、本明細書で使用されるとき、「有する(has)」、「有する(have)」、「有している(having)」等の用語は、オープンエンドの用語であるように意図される。さらに、「に基づいて(based on)」というフレーズは、別段の明示がされていない限り、「に少なくとも部分的に基づいて」を意味するように意図される。
【国際調査報告】