(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-17
(45)【発行日】2023-04-25
(54)【発明の名称】対話生成方法、装置、電子機器及び記憶媒体
(51)【国際特許分類】
G06F 16/90 20190101AFI20230418BHJP
【FI】
G06F16/90 100
(21)【出願番号】P 2021154686
(22)【出願日】2021-09-22
【審査請求日】2021-09-22
(31)【優先権主張番号】202011553157.9
(32)【優先日】2020-12-24
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】Beijing Baidu Netcom Science Technology Co., Ltd.
【住所又は居所原語表記】2/F Baidu Campus, No.10, Shangdi 10th Street, Haidian District, Beijing 100085, China
(74)【代理人】
【識別番号】110000578
【氏名又は名称】名古屋国際弁理士法人
(72)【発明者】
【氏名】ワン ファン
(72)【発明者】
【氏名】バオ スーチー
(72)【発明者】
【氏名】ファン シンシェン
(72)【発明者】
【氏名】ウ ファ
(72)【発明者】
【氏名】ヘ ジンジョウ
【審査官】原 秀人
(56)【参考文献】
【文献】特開2006-039120(JP,A)
【文献】特開2016-071050(JP,A)
【文献】特開2017-203808(JP,A)
【文献】欧州特許出願公開第03244403(EP,A2)
【文献】特開2017-010517(JP,A)
【文献】米国特許出願公開第2016/0379106(US,A1)
【文献】特開2013-205523(JP,A)
【文献】特開2015-102957(JP,A)
【文献】奥井 颯平 外,PLSTMによるチャットボット対話の精度検証,2019年度人工知能学会全国大会(第33回) [online],日本,一般社団法人人工知能学会,2019年07月01日,pp. 1-3
【文献】西尾 友佑 外,ユーザの発話履歴を考慮した会話文の自動生成,言語処理学会第18回年次大会 発表論文集,日本,言語処理学会,2012年05月07日,pp. 646-649
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06F 40/56
(57)【特許請求の範囲】
【請求項1】
対話生成方法であって、
現在の対話、及び前記現在の対話の履歴対話を取得するステップと、
前記履歴対話の中から複数の参照履歴対話を選択し、一時記憶対話集合に追加するステップと、
前記現在の対話と前記一時記憶対話集合に基づいて、前記現在の対話の返信メッセージを生成するステップと、を含
み、
前記現在の対話はrtであり、前記履歴対話はr1,・・・,rt-1であり、ここで、tは当時時間であり、前記履歴対話の中から複数の参照履歴対話を選択し、一時記憶対話集合に追加するステップは、
第1の予め設定された数wに応じて、前記履歴対話の中から対話rt-w-rt-1を選択して一時記憶対話集合に追加するステップと、
記憶選択ポリシーモデルに基づいて、対話r1-rt-w-1から複数の対話を選択して前記一時記憶対話集合に追加するステップであって、n>wであり、nは、前記一時記憶対話集合における対話の最大数を示すステップと、を含む、
ことを特徴する対話生成方法。
【請求項2】
前記現在の対話と前記一時記憶対話集合に基づいて、前記現在の対話の返信メッセージを生成するステップは、
前記現在の対話と前記一時記憶対話集合を生成モデルに入力して、前記返信メッセージを生成するステップを含む、
ことを特徴とする請求項
1に記載の方法。
【請求項3】
前記生成モデルと前記記憶選択ポリシーモデルと共にトレーニングして取得される、
ことを特徴とする請求項
2に記載の方法。
【請求項4】
前記記憶選択ポリシーモデルに基づいて、対話r1-rt-w-1から複数の対話を選択して前記一時記憶対話集合に追加するステップは、
前記対話r1-rt-w-1から未処理の第1の候補対話を選択するステップと、
前記記憶選択ポリシーモデル、前記一時記憶対話集合、および前記第1の候補対話に基づいて、前記第1の候補対話の確率を生成するステップと、
前記第1の候補対話の確率に基づいて、前記第1の候補対話が予め設定された追加条件を満たすと判定する場合、前記第1の候補対話を前記一時記憶対話集合に追加するステップと、を含む、
ことを特徴とする請求項
1に記載の方法。
【請求項5】
前記一時記憶対話集合における対話の数がnより小さく、且つ対話r1-rt-w-1において未処理の対話がある場合、対話r1-rt-w-1の中から未処理の第2の候補対話を選択するステップと、
前記記憶選択ポリシーモデル、前記一時記憶対話集合、および前記第2の候補対話に基づいて、前記第2の候補対話の確率を生成するステップと、
前記第2の候補対話の確率に基づいて、前記第2の候補対話が予め設定された追加条件を満たすと判定する場合、前記第2の候補対話を前記一時記憶対話集合に追加するステップと、を含む、
ことを特徴する請求項
4に記載の方法。
【請求項6】
前記一時記憶対話集合において、対話の数がn以上であり、または対話r1-rt-w-1において未処理の対話がある場合、候補対話の選択を中止するステップを含む、
ことを特徴する請求項
5に記載の方法。
【請求項7】
前記生成モデルと前記記憶選択ポリシーモデルのトレーニングプロセスは、
サンプル対話及び対応するサンプル履歴対話を含むサンプルデータを複数取得し、
ランダム摂動分布を前記記憶選択ポリシーモデルに追加し、
各サンプルデータをそれぞれ記憶選択ポリシーモデルと生成モデルに入力して、前記記憶選択ポリシーモデルが出力するサンプル対話予測確率、及び前記生成モデルが出力するサンプル対話返信メッセージを取得し、
前記サンプル対話返信メッセージと前記生成モデルの損失関数を組み合わせて、前記生成モデルに対して係数調整を行うステップと、
前記損失関数、前記サンプル対話予測確率、および前記記憶選択ポリシーモデルのターゲット関数を組み合わせて、前記記憶選択ポリシーモデルに対して係数調整を行うことである、
ことを特徴とする請求項
3に記載の方法。
【請求項8】
対話生成装置であって、
現在の対話、及び前記現在の対話の履歴対話を取得するための取得モジュールと、
前記履歴対話の中から複数の参照履歴対話を選択し、一時記憶対話集合に追加するための選択モジュールと、
前記現在の対話と前記一時記憶対話集合に基づいて、前記現在の対話の返信メッセージを生成するための生成モジュールと、を含
み、
前記現在の対話はrtであり、前記履歴対話はr1,・・・,rt-1であり、ここで、tは当時時間であり、前記選択モジュールは第1の選択ユニットと第2の選択ユニットを含み、
前記第1の選択ユニットは第1の予め設定された数wに応じて、前記履歴対話の中から対話rt-w-rt-1を選択して一時記憶対話集合に追加することに用いられ、
前記第2の選択ユニットは記憶選択ポリシーモデルに基づいて、対話r1-rt-w-1から複数の対話を選択して前記一時記憶対話集合に追加し、n>wであり、nは、前記一時記憶対話集合における対話の最大数を示すことに用いられる、
ことを特徴する対話生成装置。
【請求項9】
前記生成モジュールは、具体的に
前記現在の対話と前記一時記憶対話集合を生成モデルに入力して、前記返信メッセージを生成することに用いられる、
ことを特徴する請求項
8に記載の装置。
【請求項10】
前記生成モデルと前記記憶選択ポリシーモデルと共にトレーニングして取得される、
ことを特徴とする請求項
9に記載の装置。
【請求項11】
前記第2の選択ユニットは、具体的に、
前記対話r1-rt-w-1から未処理の第1の候補対話を選択し、
前記記憶選択ポリシーモデル、前記一時記憶対話集合、および前記第1の候補対話に基づいて、前記第1の候補対話の確率を生成し、
前記第1の候補対話の確率に基づいて、前記第1の候補対話が予め設定された追加条件を満たすと判定する場合、前記第1の候補対話を前記一時記憶対話集合に追加することに用いられる、
ことを特徴する請求項
8に記載の装置。
【請求項12】
前記第2の選択ユニットは、具体的に、
前記一時記憶対話集合における対話の数がnより小さく、且つ前記対話r1-rt-w-1において未処理の対話がある場合、前記対話r1-rt-w-1の中から未処理の第2の候補対話を選択し、
前記記憶選択ポリシーモデル、前記一時記憶対話集合、および前記第2の候補対話に基づいて、前記第2の候補対話の確率を生成し、
前記第2の候補対話の確率に基づいて、前記第2の候補対話が予め設定された追加条件を満たすと判定する場合、前記第2の候補対話を前記一時記憶対話集合に追加することにも用いられる、
ことを特徴する請求項
11に記載の装置。
【請求項13】
前記第2の選択ユニットは、具体的に
前記一時記憶対話集合において、対話の数がn以上であり、または対話r1-rt-w-1において未処理の対話がある場合、候補対話の選択を中止することに用いられる、
ことを特徴する請求項
12に記載の装置。
【請求項14】
前記生成モデルと前記記憶選択ポリシーモデルのトレーニングプロセスは、
サンプル対話及び対応するサンプル履歴対話を含むサンプルデータを複数取得し、
ランダム摂動分布を前記記憶選択ポリシーモデルに追加し、
各サンプルデータをそれぞれ記憶選択ポリシーモデルと生成モデルに入力して、前記記憶選択ポリシーモデルが出力するサンプル対話予測確率、及び前記生成モデルが出力するサンプル対話返信メッセージを取得し、
サンプル対話返信メッセージと生成モデルの損失関数とを組み合わせて、生成モデルに対して係数調整を行い、
前記損失関数、前記サンプル対話予測確率、および前記記憶選択ポリシーモデルのターゲット関数を組み合わせて、前記記憶選択ポリシーモデルに対して係数調整を行うことである、
ことを特徴とする請求項
10に記載の
装置。
【請求項15】
電子機器であって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信可能に接続されたメモリと、を備え、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、前記命令は、前記少なくとも1つのプロセッサが、前記少なくとも1つのプロセッサによって実行される場合、請求項1~
7のいずれか一項に記載の方法を実行させる、
ことを特徴とする電子機器。
【請求項16】
コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータ命令は、前記コンピュータに請求項1~
7のいずれか一項に記載の方法を実行させることに用いられる、
ことを特徴とする非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項17】
コンピュータプログラムを提供し、前記コンピュータプログラムはプロセッサによって実行される場合、請求項1~
7のいずれか一項に記載の方法を実現する、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願はコンピュータ技術分野に関し、特に音声技術分野、深層学習技術分野、人工知能技術分野に関する。特に対話生成方法、装置、電子機器及び記憶媒体に関する。
【背景技術】
【0002】
現在のエンドツーエンドモデルに基づく対話システムは、エンドツーエンドモデルが対話を処理する時、マルチラウンドの対話の前文を符号化し、且つ現在の対話と併せて、復号して現在の対話に対する返信メッセージを取得する必要がある。上記方法では、すべての全文を1回で符号化する必要があり、符号が長くて計算量が多い。しかしながら、モデルが処理できる符号長や計算量が限られているため、モデルは対話のラウンド数が多いシーンには適応しにくく、適用性が悪いことをもたらす。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本開示は対話生成方法、装置、電子機器及び記憶媒体を提供する。
【課題を解決するための手段】
【0004】
本開示の1態様によれば、現在の対話、及び現在の対話の履歴対話を取得するステップと、前記履歴対話の中から複数の参照履歴対話を選択し、一時記憶対話集合に追加するステップと、前記現在の対話及び一時記憶対話集合に基づいて、前記現在の対話の返信メッセージを生成するステップと、を含む対話生成方法を提供する。
【0005】
本開示の別の態様によれば、現在の対話、及び現在の対話の履歴対話を取得するための取得モジュールと、前記履歴対話の中から複数の参照履歴対話を選択し、一時記憶対話集合に追加するための選択モジュールと、前記現在の対話及び一時記憶対話集合に基づいて、前記現在の対話の返信メッセージを生成するための生成モジュールとを含む対話生成装置を提供する。
【0006】
第3態様によれば、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサと通信可能に接続されるメモリと、を含む電子機器を提供し、前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、前記命令は、前記少なくとも1つのプロセッサが上記に記載の対話生成方法を実行できるように、前記少なくとも1つのプロセッサによって実行される。
【0007】
第4態様によれば、コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体を提供し、前記コンピュータ命令は、前記コンピュータに上記の対話生成方法実行させることに用いられる。
【0008】
第5態様によれば、コンピュータプログラムを提供し、前記コンピュータプログラムはプロセッサによって実行される場合、上記に記載の対話生成方法を実現する。
【0009】
なお、この部分に記載されている内容は、本開示の実施例の主要なまたは重要な特徴を特定することを意図しておらず、本開示の範囲を限定することも意図していないことを理解されたい。本開示の他の特徴は、以下の明細書を通して容易に理解される。
【図面の簡単な説明】
【0010】
図面は、本技術案をよりよく理解するために使用され、本開示を限定するものではない。
【
図3】現在の対話の返信メッセージを生成する概略図である。
【
図6】本出願の実施例の対話生成方法を実現するための電子機器のブロック図である。
【発明を実施するための形態】
【0011】
以下、図面と組み合わせて本出願の例示的な実施例を説明し、理解を容易にするためにその中には本出願の実施例の様々な詳細事項が含まれており、それらは単なる例示的なものと見なされるべきである。したがって、当業者は、本出願の範囲及び精神から逸脱することなく、ここで説明される実施例に対して様々な変更と修正を行うことができることを認識されたい。同様に、明確及び簡潔にするために、以下の説明では、周知の機能及び構造の説明を省略する。
【0012】
以下、図面に記載の本出願の実施例の対話生成方法、装置、電子機器及び記憶媒体を参照する。
【0013】
図1は本出願の第1の実施例に係る概略図である。なお、本出願の実施例の実行本体は対話生成装置であり、該装置はハードウェアデバイスおよび/またはハードウェアにおけるソフトウェアなどであってもよい。
【0014】
図1に示すように、対話生成方法の具体的な実現プロセスは以下のステップ101~ステップ103を含む、
【0015】
ステップ101、現在の対話、及び現在の対話の履歴対話を取得する。
【0016】
本出願の実施例では、現在の対話は、ユーザが対話生成装置と対話する時、現在入力されている対話、例えばユーザによって提起された質問などであってもよい。ここで、対話生成装置は現在の対話を取得する方式は、対話生成装置がリアルタイムに音声収集を行い、収集されたユーザの現在音声を取得し、または、対話生成装置が接続された音声収集装置を介してユーザの現在音声を取得することができ、次に現在音声を現在の対話とし、または現在音声の音声認識結果を現在の対話とするものであってもよい。
【0017】
本出願の実施例では、現在の対話の履歴対話とは、現在の対話を収集する時点の前に、対話生成装置が収集、記憶した対話を指す。
【0018】
ステップ102、履歴対話の中から複数の参照履歴対話を選択し、一時記憶対話集合に追加する。
【0019】
本出願の実施例では、対話生成装置が参照履歴対話を選択する方式は、例えば、ランダムに選択したり、履歴対話の収集時点に基づいて選択したり、履歴対話と現在の対話との関連性などに基づいて選択したり、履歴対話の収集時点と現在の対話との関連性などを組み合わせて選択したりすることができ、実際の必要に応じて選択方法を決定することができる。
【0020】
本出願の実施例では、参照履歴対話の数は、対話生成装置の性能など、または対話生成装置が採用するモデルの性能、計算量、要求などに応じて設定することができる。
【0021】
ステップ103、現在の対話と一時記憶対話集合に基づいて、現在の対話の返信メッセージを生成する。
【0022】
本出願の実施例では、対話生成装置が、現在の対話の返信メッセージを生成する方式は、現在の対話と一時記憶対話集合を生成モデルに入力して、返信メッセージを生成するものであってもよい。ここで、生成モデルは、例えばTransformerモデルなどであっても良い。
【0023】
以上により、現在の対話、及び現在の対話の履歴対話を取得し、履歴対話の中から複数の参考履歴対話を選択し、一時記憶対話集合に追加し、及び現在の対話と一時記憶対話集合に基づいて現在の対話の返信メッセージを生成することにより、処理する必要がある履歴対話の処理を減少させ、履歴対話に対する符号長を短縮し、計算量を減少させ、計算時間を減少させることができて、したがって、対話生成装置が対話のラウンド数が多いシーンに適応することができ、適応性が良い。
【0024】
図2は本出願の第2の実施例に係る概略図である。なお、本出願の実施例の実行本体は対話生成装置であり、該装置はハードウェアデバイスおよび/またはハードウェアにおけるソフトウェアなどであってもよい。
【0025】
図2に示すように、対話生成方法の具体的な実現プロセスは以下のステップ201~ステップ204を含む。
【0026】
ステップ201、現在の対話、及び現在の対話の履歴対話を取得し、ここで、現在の対話はrtであり、履歴対話はr1,・・・,rt-1であり、ここで、tは当時時間である。
【0027】
本出願の実施例では、現在の対話は、ユーザが対話生成装置と対話する時、現在入力されている対話、例えばユーザに提起された質問などであってもよい。履歴対話は、現在の対話を収集する時点の前に、ユーザに入力された対話、または、現在の対話を収集する時点の前に、ユーザによって入力された対話および対話生成装置による当該対話に対する返事であっても良い。ここで、履歴対話のラウンドはマルチラウンドであっても良い。
【0028】
ステップ202、第1の予め設定された数wに応じて、履歴対話の中から対話rt-w-rt-1を選択して一時記憶対話集合に追加する。
【0029】
本出願の実施例において、現在の対話との時間差が小さい履歴対話は、現在の対話との関連性が一般的に大きいため、現在の対話との時間差が小さいw個の対話を直接一時記憶対話集合に追加する一方、現在の対話との時間差が大きい履歴対話に対しては、現在の対話との関連性が一般的に小さいため、選択的に一時記憶対話集合に追加することができる。
【0030】
また、履歴対話の合計数がw以下である場合、選択せずに、すべての履歴対話を一時記憶対話集合に追加することができる。
【0031】
ステップ203、記憶選択ポリシーモデルに基づいて、対話r1-rt-w-1から複数の対話を選択して一時記憶対話集合に追加して、ここで、n>wであり、nは、前記一時記憶対話集合における対話の最大数を示す。
【0032】
本出願の実施例では、対話生成装置が対話r1-rt-w-1から複数の対話を選択する方式は、例えば、ランダムに選択したり、履歴対話の収集時点に基づいて選択したり、履歴対話と現在の対話との関連性などに基づいて選択したり、履歴対話の収集時点と現在の対話との関連性などを組み合わせて選択したりすることができ、実際の必要に応じて選択方法を決定することができる。
【0033】
ステップ204、現在の対話と一時記憶対話集合に基づいて、現在の対話の返信メッセージを生成する。
【0034】
本出願の実施例では、対話生成装置は、現在の対話の返信メッセージを生成する方式は、現在の対話と一時記憶対話集合を生成モデルに入力して、返信メッセージを生成するものであってもよい。生成モデルは、例えば、Transformerモデルなどであってもよく、生成モデルの採用によって、現在の対話の返信メッセージの生成効率をさらに向上させることができる。
【0035】
本出願の実施例では、現在の対話の返信情報を生成する概略図は
図3に示すとおりである。
図3において、対話r
t-w-r
t-1を一時記憶対話集合に追加し、記憶選択ポリシーモデルに基づいて対話r
1-r
t-w-1から複数の対話を一時記憶対話集合に追加し、その後Transformerモデルは一時記憶対話集合と現在の対話を組み合わせて現在の対話の返信メッセージを生成する。
【0036】
以上により、現在の対話、及び現在の対話の履歴対話を取得し、現在の対話はrtであり、履歴対話はr1,・・・,rt-1であり、tは当時時間であり、第1の予め設定された数wに応じて、履歴対話の中から対話rt-w-rt-1を選択して一時記憶対話集合に追加し、記憶選択ポリシーモデルに基づいて、対話r1-rt-w-1から複数の対話を選択して一時記憶対話集合に追加し(n>w)、現在の対話と一時記憶対話集合に基づいて、現在の対話の返信メッセージを生成し、以上により、選択された参照一時対話の正確性を向上させ、返信メッセージの生成効率を確保した場合に、処理する必要がある履歴対話の処理を減少させ、履歴対話に対する符号長を短縮し、計算量を減少させ、計算時間を減少させ、対話生成装置が対話のラウンド数が多いシーンに適応することができ、適応性が良い。
【0037】
図4は本出願の第3の実施例に係る概略図である。
図4に示すように、対話生成方法の具体的な実現プロセスは以下のステップ401~ステップ411を含む。
【0038】
ステップ401、現在の対話、及び現在の対話の履歴対話を取得し、ここで、現在の対話はrtであり、履歴対話はr1,・・・,rt-1であり、ここで、tは当時時間である。
【0039】
ステップ402、第1の予め設定された数wに応じて、履歴対話の中から対話rt-w-rt-1を選択して一時記憶対話集合に追加する。
【0040】
上記の2つのステップの詳細な説明は、
図1または
図2に示す実施例を参照してもよく、ここでは詳細には説明しない。
【0041】
ステップ403、対話r1-rt-w-1から未処理の第1の候補対話を選択する。
【0042】
本出願の実施例では、第1の候補対話の選択方法は、例えば、ランダムに選択し、または、一番早い時間点、例えばr1から選択し、または、一番遅い時間点、例えばrt-w-1から選択するものであってもよい。
【0043】
ここで、第1候補対話は1つの対話を特徴づけることができ、複数の対話を特徴づけることもできる。複数の対話、例えば2つの対話を特徴づける場合、対話r1-rt-w-1から1回につき2つの対話を選択することができ、例えば、r1とr2から開始する。実際の必要に応じて、選択する必要がある候補対話の数、及び選択方法を決定することができる。
【0044】
ステップ404、記憶選択ポリシーモデル、一時記憶対話集合、および第1の候補対話に基づいて、第1の候補対話の確率を生成する。
【0045】
本出願の実施例では、記憶選択ポリシーモデルは、一時記憶対話集合及び第1の候補対話に基づいて、第1の候補対話の確率を生成することに用いられる。ここで、記憶選択ポリシーモデルの計算式は、以下の式(1)から式(3)に示すようにすることができる。
【0046】
【0047】
ここで、rτは第1の候補対話を示し、ここで、τはt-w-1から0までの値をとる。fは記憶選択ポリシーモデルを示す。f(TM,rτ)は記憶選択ポリシーモデルによって計算して取得される第1の候補対話の確率である。TMは一時記憶対話集合を示す。v(rτ)は第1の候補対話に対応するベクトルを示す。W1、W2、b1、b2はfモデルのパラメータである。
【0048】
ここで、第1候補対話に対応するベクトルの取得方式は、第1候補対話を生成モデルの符号化部分に入力して、第1候補対話に対応するベクトルを取得するものであってもよい。ここで、生成モデルは、現在の対話の返信メッセージを生成するためのモデルである。
【0049】
ステップ405において、第1の候補対話の確率に基づいて、第1の候補対話が予め設定された追加条件を満たすと判定する場合、第1の候補対話を一時記憶対話集合に追加する。
【0050】
本出願の実施例では、予め設定された追加条件は、例えば、第1の候補対話の確率が予め設定された確率閾値以上であるものであってもよい。予め意設定された追加条件は、例えば、第1の候補対話の確率に応じて、第1の候補対話および対話r1-rt-w-1における他の対話をサンプリングし、サンプリングして第1の候補対話が得られた場合、第1の候補対話が予め設定された追加条件を満たすと判定し、サンプリングして第1の候補対話が得られなかった場合、第1の候補対話が予め設定された参加条件を満たしていないと判定することであっても良い。
【0051】
ステップ406、一時記憶対話集合における対話の数がnより小さいかどうか、及び対話r1-rt-w-1において未処理の対話があるかどうかを判断する。満たす場合、ステップ407を実行し、満たさない場合、ステップ410を実行する。
【0052】
ここで、nは、一時記憶対話集合における対話の最大数を示す。
【0053】
ステップ407、一時記憶対話集合における対話の数がnより小さく、且つ対話r1-rt-w-1において未処理の対話がある場合、対話r1-rt-w-1の中から未処理の第2の候補対話を選択する。
【0054】
ステップ408、記憶選択ポリシーモデル、一時記憶対話集合、および第2の候補対話に基づいて、第2の候補対話の確率を生成する。
【0055】
ステップ409、第2の候補対話の確率に基づいて、第2の候補対話が予め設定された追加条件を満たすと判定する場合、第2の候補対話を一時記憶対話集合に追加し、その後にステップ406を実行する。
【0056】
ステップ410、一時記憶対話集合において、対話の数がn以上であり、または対話r1-rt-w-1において未処理の対話がある場合、候補対話の選択を中止する。
【0057】
ステップ411、現在の対話と一時記憶対話集合に基づいて、現在の対話の返信メッセージを生成する。
【0058】
本出願の実施例では、対話生成装置は、現在の対話の返信メッセージを生成する方式は、現在の対話と一時記憶対話集合を生成モデルに入力して、返信メッセージを生成するものであってもよい。ここで、生成モデルは、例えばTransformerモデルなどであっても良い。
【0059】
本出願の実施例では、記憶選択ポリシーモデルと生成モデルは、同時にトレーニングして取得されることができることにより、トレーニングコストを削減し、トレーニングによって取得されたモデルの精度を向上させる。ここで、記憶選択ポリシーモデルおよび生成モデルのトレーニングプロセスは、例えば、複数のサンプルデータを取得し、サンプルデータがサンプル対話、及び対応するサンプル履歴対話を含み、ランダム摂動分布を記憶選択ポリシーモデルに追加し、各サンプルデータをそれぞれ記憶選択ポリシーモデルと生成モデルに入力して、記憶選択ポリシーモデルが出力するサンプル対話予測確率、及び生成モデルが出力するサンプル対話返信メッセージを取得し、サンプル対話返信メッセージと生成モデルの損失関数を組み合わせて、生成モデルに対して係数調整を行い、損失関数、サンプル対話予測確率、および記憶選択ポリシーモデルのターゲット関数を組み合わせて、記憶選択ポリシーモデルに対して係数調整を行うことであってもよい。
【0060】
ここで、ランダム摂動分布は、例えば、期待値が0である正規分布であっても良い。生成モデルの損失関数の式は、例えば以下の式(4)に示すようにしても良い。記憶選択ポリシーモデルのターゲット関数の式は、例えば以下の式(5)に示すようしても良い。
【0061】
【0062】
ここで、NLLは生成モデルの損失関数を示す。Gは生成モデルを示す。G(rt|TM)は生成モデルが出力するサンプル対話返信メッセージを示す。f(TM,rt)はサンプル対話予測確率を示す。Eは複数のサンプル会話情報の期待を示す。
【0063】
以上により、現在の対話、及び現在の対話の履歴対話を取得し、ここで、現在の対話がrtであり、履歴対話がr1,・・・,rt-1であり、ここで、tが当時時間であり、第1の予め設定された数wに応じて、履歴対話の中から対話rt-w-rt-1を選択して一時記憶対話集合に追加し、対話r1-rt-w-1の中から未処理の第1の候補対話を選択し、記憶選択ポリシーモデル、一時記憶対話集合、および第1の候補対話に基づいて、第1の候補対話の確率を生成し、第1の候補対話の確率に基づいて、第1の候補対話が予め設定された追加条件を満たすと判定する場合、第1の候補対話を一時記憶対話集合に追加し、一時記憶対話集合における対話の数がn以上でなり、または対話r1-rt-w-1において未処理の対話が存在しないようになるまで、上記ステップを繰り返して、現在の対話と一時記憶対話集合に基づいて現在の対話の返信メッセージを生成し、以上により、記憶選択ポリシーモデルと併せて履歴対話の中から複数の参照履歴対話を選択することができ、選択して取得された参照履歴対話の確率が高いため、返信メッセージの生成効率を確保した場合に、履歴対話に対応する符号長を短縮し、計算量を減少させ、計算時間を減少させることができ、対話生成装置が対話のラウンド数が多いシーンに適応することができ、適応性が良い。
【0064】
上記実施例を実現するために、本出願の実施例は、対話生成装置も提供する。
【0065】
図5は本出願の第4の実施例に係る概略図である。
図5に示すように、この対話生成装置500は、取得モジュール510、選択モジュール520、及び生成モジュール530を含む。
【0066】
取得モジュール510は、現在の対話、及び前記現在の対話の履歴対話を取得することに用いられる。
【0067】
選択モジュール520は、前記履歴対話の中から複数の参照履歴対話を選択し、一時記憶対話集合に追加することに用いられる。
【0068】
生成モジュール530、前記現在の対話と前記一時記憶対話集合に基づいて、前記現在の対話の返信メッセージを生成することに用いられる。
【0069】
本出願の実施例の1つの可能な実現形態として、ここで、前記現在の対話はrtであり、前記履歴対話はr1,・・・,rt-1であり、ここで、tは当時時間であり、前記選択モジュール520は、第1の選択ユニットと第2の選択ユニットを含む。前記第1の選択ユニットは、第1の予め設定された数wに従って、前記履歴対話から対話rt-w-rt-1を選択して前記一時記憶対話集合に追加することに用いられる。前記第2の選択ユニットは記憶選択ポリシーモデルに従って対話r1-rt-w-1から複数の対話を選択して前記一時対話集合に追加することに用いられる(n>w)。
【0070】
本出願の1つの可能な実現形態として、前記生成モジュール530は、具体的に前記現在の対話と前記一時記憶対話集合を生成モデルに入力して、前記返信メッセージを生成することに用いられる。
【0071】
本出願の実施例の1つの可能な実現形態として、前記生成モデルと前記記憶選択ポリシーモデルと共にトレーニングして取得される。
【0072】
本出願の実施例の1つの可能な実現形態として、前記第2の選択ユニットは、具体的に、前記対話r1-rt-w-1から未処理の第1の候補対話を選択し、前記記憶選択ポリシーモデルに基づいて、前記一時記憶対話集合、および前記第1候補対話を選択して、前記第の1候補対話の確率を生成し、前記第1の候補対話の確率に基づいて、前記第1の候補対話が予め設定された追加条件を満たすと判定する場合、前記第1の候補会話を前記一時記憶対話集合に追加することに用いられる。
【0073】
本出願の実施例の1つの可能な実現形態として、前記第2の選択ユニットは、具体的に、一時記憶対話集合における対話の数がn以下であり、且つ前記対話r1-rt-w-1において未処理の対話がある場合、前記対話r1-rt-w-1から未処理の第2の候補対話を選択し、前記に基づいて記憶選択ポリシーモデル、前記一時記憶対話集合、および前記第2候補対話を選択して、前記第2の候補対話の確率を生成し、前記第2の候補対話の確率に基づいて、前記第2の候補対話が予め設定された追加条件を満たすと判定する場合、前記第2の候補会話を前記一時記憶対話集合に追加することにも用いられる。
【0074】
本出願の実施例の1つの可能な実現形態として、前記第2の選択ユニットは、具体的に、前記一時記憶対話集合における対話の数がn以上でなり、または前記対話r1-rt-w-1において未処理の対話がある場合、候補対話の選択を中止することにも用いられる。
【0075】
本出願の実施例の1つの可能な実現形態として、前記生成モデルと前記記憶選択ポリシーモデルのトレーニングプロセスは、サンプル対話及び対応するサンプル履歴対話を含むサンプルデータを複数取得し、ランダム摂動分布を前記記憶選択ポリシーモデルに追加し、各サンプルデータをそれぞれ記憶選択ポリシーモデルと生成モデルに入力して、前記記憶選択ポリシーモデルが出力するサンプル対話予測確率、及び前記生成モデルが出力するサンプル対話返信メッセージを取得し、前記サンプル対話返信メッセージと前記生成モデルの損失関数を組み合わせて、前記生成モデルに対して係数調整を行い、前記損失関数、前記サンプル対話予測確率、および前記記憶選択ポリシーモデルのターゲット関数を組み合わせて、前記記憶選択ポリシーモデルに対して係数調整を行うことである。
【0076】
本出願の実施例によれば、本出願は、電子機器及び読み取り可能な記憶媒体をさらに提供する。
【0077】
図6に示すように、本出願の実施例に係る対話生成方法の電子機器のブロック図である。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、大型コンピュータ、及び他の適切なコンピュータなどの様々な形式のデジタルコンピュータを表すことを目的とする。電子機器は、パーソナルデジタル処理、携帯電話、スマートフォン、ウェアラブルデバイス、他の同様のコンピューティングデバイスなどの様々な形式のモバイルデバイスを表すこともできる。本明細書で示されるコンポーネント、それらの接続と関係、及びそれらの機能は単なる例であり、本明細書の説明及び/又は要求される本出願の実現を制限することを意図したものではない。
【0078】
図6示すように、当該電子機器は、1つ又は複数のプロセッサ601と、メモリ602と、高速インターフェース及び低速インターフェースを含む各コンポーネントを接続するためのインターフェースと、を含む。各コンポーネントは、異なるバスで相互に接続され、共通のマザーボードに取り付けられるか、又は必要に応じて他の方式で取り付けることができる。外部入力/出力装置(インターフェースに結合されたディスプレイデバイスなど)にGUIの図形情報をディスプレイするようにメモリに記憶されている命令を含むプロセッサは、電子機器内で実行される命令を処理することができる。他の実施形態では、必要があれば、複数のプロセッサ及び/又は複数のバスを、複数のメモリとともに使用することができる。同様に、複数の電子機器を接続することができ、各電子機器は、必要な操作(例えば、サーバアレイ、ブレードサーバ、又はマルチプロセッサシステムとする)の一部を提供することができる。
図6では、1つのプロセッサ601を例とする。
【0079】
メモリ602は、本出願により提供される非一時的なコンピュータ読み取り可能な記憶媒体である。ここで、前記メモリには、少なくとも1つのプロセッサによって実行される命令を記憶して、前記少なくとも1つのプロセッサが本出願により提供される対話生成方法を実行することができるようにする。本出願の非一時的なコンピュータ読み取り可能な記憶媒体は、コンピュータが本出願により提供される対話生成方法を実行するためのコンピュータ命令を記憶する。
【0080】
メモリ602は、非一時的なコンピュータ読み取り可能な記憶媒体として、本出願の実施例における対話生成方法に対応するプログラム命令/モジュール(例えば、
図5に示す取得モジュール510、選択モジュール520、生成モジュール530)のような、非一時的なソフトウェアプログラム、非一時的なコンピュータ実行可能なプログラム及びモジュールを記憶するために用いられる。プロセッサ601は、メモリ602に記憶されている非一時的なソフトウェアプログラム、命令及びモジュールを実行することによって、サーバの様々な機能アプリケーション及びデータ処理を実行し、すなわち上記の方法の実施例における対話生成方法を実現する。
【0081】
メモ602は、プログラム記憶領域とデータ記憶領域とを含むことができ、プログラム記憶領域は、オペレーティングシステム、少なくとも1つの機能に必要なアプリケーションを記憶することができ、データ記憶領域は、対話生成方法を実行する電子機器の使用によって作成されたデータなどを記憶することができる。また、メモリ602は、高速ランダムアクセスメモリを含むことができ、非一時的なメモリをさらに含むことができ、例えば、少なくとも1つのディスクストレージデバイス、フラッシュメモリデバイス、又は他の非一時的なソリッドステートストレージデバイスである。いくつかの実施例では、メモリ602は、プロセッサ601に対して遠隔に設定されたメモリを含むことができ、これらの遠隔メモリは、ネットワークを介してテストを実行する電子機器に接続されることができる。上記ネットワークの例は、インターネット、イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク、及びその組み合わせを含むが、これらに限定されない。
【0082】
対話生成方法を実行する電子機器は、入力装置603と出力装置604とをさらに含むことができる。プロセッサ601、メモリ602、入力装置603、及6出力装置604は、バス又は他の方式を介して接続することができ、
図6では、バスを介して接続することを例とする。
【0083】
入力装置603は、入力された数字又は文字情報を受信することができ、及びテストを実行する電子機器のユーザ設定及び機能制御に関するキー信号入力を生成することができ、例えば、タッチスクリーン、キーパッド、マウス、トラックパッド、タッチパッド、ポインティンデバイス、1つ又は複数のマウスボタン、トラックボール、ジョイスティックなどの入力装置である。出力装置604は、ディスプレイデバイス、補助照明デバイス(例えば、LED)、及び触覚フィードバックデバイス(例えば、振動モータ)などを含むことができる。当該ディスプレイデバイスは、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、及びプラズマディスプレイを含むことができるが、これらに限定されない。いくつかの実施形態では、ディスプレイデバイスは、タッチスクリーンであってもよい。
【0084】
本明細書で説明されるシステムと技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、特定用途向けASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせで実現することができる。これらの様々な実施形態は、1つ又は複数のコンピュータプログラムで実施されることを含むことができ、当該1つ又は複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを含むプログラム可能なシステムで実行及び/又は解釈することができ、当該プログラマブルプロセッサは、特定用途向け又は汎用プログラマブルプロセッサであってもよく、ストレージシステム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータ及び命令を受信し、データ及び命令を当該ストレージシステム、当該少なくとも1つの入力装置、及び当該少なくとも1つの出力装置に伝送することができる。
【0085】
これらのコンピューティングプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、又はコードとも呼ばれる)は、プログラマブルプロセッサの機械命令、高度のプロセス及び/又は対象指向プログラミング言語、及び/又はアセンブリ/機械言語でこれらのコンピューティングプログラムを実施することを含む。本明細書で使用されるように、「機械読み取り可能な媒体」及び「コンピュータ読み取り可能な媒体」という用語は、機械命令及び/又はデータをプログラマブルプロセッサに提供するために使用される任意のコンピュータプログラム製品、機器、及び/又は装置(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指し、機械読み取り可能な信号である機械命令を受信する機械読み取り可能な媒体を含む。「機械読み取り可能な信号」という用語は、機械命令及び/又はデータをプログラマブルプロセッサに提供するための任意の信号を指す。
【0086】
ユーザとのインタラクションを提供するために、ここで説明されているシステム及び技術をコンピュータ上で実施することができ、当該コンピュータは、ユーザに情報を表示するためのディスプレイ装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、キーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを有し、ユーザは、当該キーボード及び当該ポインティングデバイスによって入力をコンピュータに提供することができる。他の種類の装置は、ユーザとのインタラクションを提供するために用いられることもでき、例えば、ユーザに提供されるフィードバックは、任意の形式のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、任意の形式(音響入力と、音声入力と、触覚入力とを含む)でユーザからの入力を受信することができる。
【0087】
ここで説明されるシステム及び技術は、バックエンドコンポーネントを含むコンピューティングシステム(例えば、データサーバとする)、又はミドルウェアコンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバー)、又はフロントエンドコンポーネントを含むコンピューティングシステム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータ、ユーザは、当該グラフィカルユーザインタフェース又は当該ウェブブラウザによってここで説明されるシステム及び技術の実施形態とインタラクションする)、又はこのようなバックエンドコンポーネントと、ミドルウェアコンポーネントと、フロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムで実施することができる。任意の形式又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によってシステムのコンポーネントを相互に接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)と、ワイドエリアネットワーク(WAN)と、インターネットとを含む。
【0088】
コンピュータシステムは、クライアントとサーバとを含むことができる。クライアントとサーバは、一般に、互いに離れており、通常に通信ネットワークを介してインタラクションする。対応するコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムによってクライアントとサーバとの関係が生成される。サーバはクラウドサーバであっても良い、クラウドコンピューティングサーバまたはクラウドホストとも呼ばれ、クラウドコンピューティングサービスシステムにおける1つのホスト製品であり、従来の物理ホストとVPSサービスに存在する管理の難しさ、業務拡張性の弱い欠陥を解決した。サーバは分散システムのサーバであっても良い、ブロックチェーンを組み込んだサーバであっても良い。
【0089】
上記に示される様々な形式のフローを使用して、ステップを並べ替え、追加、又は削除することができることを理解されたい。例えば、本出願に記載されている各ステップは、並列に実行されてもよいし、順次的に実行されてもよいし、異なる順序で実行されてもよいが、本出願で開示されている技術案の所望の結果を実現することができれば、本明細書では限定されない。
【0090】
上記具体的な実施形態は、本出願の保護範囲を限定するものではない。当業者は、設計要件と他の要因に応じて、様々な修正、組み合わせ、サブコンビネーション、及び代替を行うことができる。任意の本出願の精神と原則内で行われる修正、同等の置換、及び改善などは、いずれも本出願の保護範囲内に含まれなければならない。