(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-12
(45)【発行日】2024-07-23
(54)【発明の名称】対話システムのためのデータ処理方法、装置、機器および媒体
(51)【国際特許分類】
G06F 16/90 20190101AFI20240716BHJP
G06F 40/56 20200101ALI20240716BHJP
【FI】
G06F16/90 100
G06F40/56
(21)【出願番号】P 2022163581
(22)【出願日】2022-10-11
【審査請求日】2022-10-11
(31)【優先権主張番号】202111555101.1
(32)【優先日】2021-12-17
(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)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】苑 浩
(72)【発明者】
【氏名】胡 江鷺
(72)【発明者】
【氏名】孫 輝豊
(72)【発明者】
【氏名】孫 叔埼
(72)【発明者】
【氏名】常 月
(72)【発明者】
【氏名】李 ▲ティン▼▲ティン▼
【審査官】原 秀人
(56)【参考文献】
【文献】国際公開第2019/093239(WO,A1)
【文献】中国特許出願公開第113282736(CN,A)
【文献】中国特許出願公開第113407699(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06F 40/20-40/58
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのタスク名と、各タスク名に対応する少なくとも1つのタスク属性とを含む、事前に設定されたタスク記述を取得することと、
読解技術に基づいてユーザとの現在の対話内容から前記タスク記述に対応する答えを抽出することと、
前記答えと事前に生成された対話のフローとに応じて前記ユーザとの対話を完了することと、を含
み、
前記答えと事前に生成された対話のフローとに応じて前記ユーザとの対話を完了することは、
前記答えを事前に生成された対話のフローに充填し、充填された対話のフローに基づいて対話ポリシーを決定し、そのうち、前記対話のフローは、現在に応じて抽出された答えがタスク実行条件を満たすか否かを確認するために使用され、前記対話ポリシーは、答えが前記タスク実行条件を満たさないときに明確化によってタスク実行条件を満たす答えを取得するために使用されることと、
前記対話ポリシーに応じて対話返信情報を生成して前記ユーザに返すことと、を含み、
前記対話ポリシーに応じて対話返信情報を生成して前記ユーザに返すことは、
前記対話ポリシーと事前に前記対話のフローの実行ポイントに設定された返信テンプレートとに応じて第1の対話返信情報セットを生成することと、
前記対話ポリシーに応じて、事前にトレーニングされた対話モデルを利用して第2の対話返信情報セットを生成することと、
事前にトレーニングされたスコアリングモデルを利用して前記第1の対話返信情報セットと第2の対話返信情報セットとの各対話返信情報についてスコアリングすることと、
前記スコアリングの結果に応じて前記ユーザに返す対話返信情報を決定することと、を含む、
対話システムのためのデータ処理方法。
【請求項2】
前記読解技術に基づいてユーザとの現在の対話内容から前記タスク記述に対応する答えを抽出することは、
読解技術に基づいて、今回の対話における前記ユーザとの対話履歴、ユーザの現在のqueryおよび前記タスク記述を事前にトレーニングされた重要情報抽出モデルの入力情報とし、前記重要情報抽出モデルを利用して前記タスク記述に対応する答えを抽出することを含む、
請求項1に記載の対話システムのためのデータ処理方法。
【請求項3】
前記重要情報抽出モデルは、具体的には、
前記入力情報に応じて4つの分類を実行して、前記4つの分類の結果は、現在の対話内容にタスク名が表れているか否か、又はタスク属性が表れているか否かを示すことと、
前記4つの分類の結果が現在の対話内容にタスク属性が表れていることに応答し、前記入力情報におけるユーザの現在のqueryに対してシーケンスタギングを実行し、前記シーケンスタギングの結果は、タスク属性に対応する答えの前記ユーザの現在のqueryでの位置を示すことと、
前記4つの分類の結果と前記シーケンスタギングの結果に応じて前記タスク記述に対応する答えを決定することと、のために使用される、
請求項2に記載の対話システムのためのデータ処理方法。
【請求項4】
前記重要情報抽出モデルの本体は、事前トレーニングセマンティクス認識モデルによって実現される、
請求項2に記載の対話システムのためのデータ処理方法。
【請求項5】
前記重要情報抽出モデルをトレーニングするトレーニングサンプルデータは、対話履歴と、対話状態とを含み、前記対話状態に存在する意図とワードスロットとは、それぞれタスク名とタスク属性との正例とし、前記対話状態に存在しない意図とワードスロットとは、それぞれタスク名とタスク属性との負例とする、
請求項2に記載の対話システムのためのデータ処理方法。
【請求項6】
前記対話ポリシーは、さらに、
前記答えがタスク実行条件を満たさず、かつ明確化の回数が事前に設定された上限値に達すると、対話を終了することと、
前記答えがタスク実行条件を満たすと、対話を終了することと、のために使用される、
請求項
1に記載の対話システムのためのデータ処理方法。
【請求項7】
前記対話のフローは、前記タスク記述に応じて生成される、
請求項
1に記載の対話システムのためのデータ処理方法。
【請求項8】
前記タスク記述は、前記タスク名とタスク属性の複数の見本をさらに含む、
請求項1に記載の対話システムのためのデータ処理方法。
【請求項9】
少なくとも1つのタスク名と、各タスク名に対応する少なくとも1つのタスク属性とを含む、事前に設定されたタスク記述を取得するために使用されるタスク記述取得モジュールと、
読解技術に基づいてユーザとの現在の対話内容から前記タスク記述に対応する答えを抽出するために使用される読解モジュールと、
前記答えと事前に生成された対話のフローとに応じて前記ユーザとの対話を完了するために使用される対話モジュールと、を含
み、
前記対話モジュールは、
前記答えを事前に生成された対話のフローに充填し、充填された対話のフローに基づいて対話ポリシーを決定し、そのうち、前記対話のフローは、現在に応じて抽出された答えがタスク実行条件を満たすか否かを確認するために使用され、前記対話ポリシーは、答えが前記タスク実行条件を満たさないときに明確化によってタスク実行条件を満たす答えを取得するために使用されることと、
前記対話ポリシーに応じて対話返信情報を生成して前記ユーザに返すことと、によって、
前記答えと事前に生成された対話のフローに応じて前記ユーザとの対話を完了するために使用され、
前記対話モジュールは、
前記対話ポリシーと事前に前記対話のフローの実行ポイントに設定された返信テンプレートとに応じて第1の対話返信情報セットを生成することと、
前記対話ポリシーに応じて、事前にトレーニングされた対話モデルを利用して第2の対話返信情報セットを生成することと、
事前にトレーニングされたスコアリングモデルを利用して前記第1の対話返信情報セットと第2の対話返信情報セットとの各対話返信情報についてスコアリングすることと、
前記スコアリングの結果に応じて前記ユーザに返す対話返信情報を決定することと、によって、
前記対話ポリシーに応じて対話返信情報を生成して前記ユーザに返すために使用される、
対話システムのためのデータ処理装置。
【請求項10】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信接続するメモリとを含み、
前記メモリには、前記少なくとも1つのプロセッサが実行可能な指令が記憶され、前記指令が前記少なくとも1つのプロセッサに実行されることにより、前記少なくとも1つのプロセッサが請求項1~
8のうちのいずれか一項に記載の対話システムのためのデータ処理方法を実行できる、
電子機器。
【請求項11】
コンピュータ指令が記憶された非一時的なコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータ指令は、コンピュータに請求項1~
8のうちのいずれか一項に記載の対話システムのためのデータ処理方法を実行させるために使用される、
コンピュータ指令が記憶された非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項12】
プロセッサに実行されると、請求項1~
8のうちのいずれか一項に記載の対話システムのためのデータ処理方法を実現する、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、データ処理技術分野に関し、特に、人工知能、自然言語処理、音声技術およびディープラーニング技術分野に関し、具体的には、対話システムのためのデータ処理方法、装置、機器、媒体およびプログラムに関する。
【背景技術】
【0002】
タスク型対話システムは、様々な実際の場面でますます応用されており、商品の購入やチケットの予約など、異なる場面におけるニーズを、セルフサービスの音声対話の方式によって、便利かつ迅速に実現できるようになってきている。
【0003】
従来のタスク型対話システムは、通常、pipelineの方式に基づいて実現され、このような対話システムは、複数のモジュールに区画され、各モジュールは、異なるサブタスクを担当し、全体として協力して対話目標を完了する。しかしながら、このようなシステムの構築は複雑で、モジュール毎に個別のトレーニングと設定が必要であるため、開発者の参加が多く必要で、一般の開発者にとっては敷居が高く、学習に使用する一定のコストが必要で、データコストも必要であり(初期段階でのデータコストは開発者にとってより高価である)、開発の効率が低い。
【発明の概要】
【0004】
本開示は、対話システムのためのデータ処理方法、装置、機器、媒体およびプログラムを提供する。
【0005】
本開示の一態様によれば、
少なくとも1つのタスク名と、各タスク名に対応する少なくとも1つのタスク属性とを含む、事前に設定されたタスク記述を取得することと、
読解技術に基づいてユーザとの現在の対話内容からタスク記述に対応する答えを抽出することと、
答えと事前に生成された対話のフローとに応じてユーザとの対話を完了することと、
を含む、対話システムのためのデータ処理方法を提供する。
【0006】
本開示の別の態様によれば、
少なくとも1つのタスク名と、各タスク名に対応する少なくとも1つのタスク属性とを含む、事前に設定されたタスク記述を取得するために使用されるタスク記述取得モジュールと、
読解技術に基づいてユーザとの現在の対話内容からタスク記述に対応する答えを抽出するために使用される読解モジュールと、
答えと事前に生成された対話のフローに応じてユーザとの対話を完了するために使用される対話モジュールと、
を含む、対話システムのためのデータ処理装置を提供する。
【0007】
本開示の別の態様によれば、
少なくとも1つのプロセッサと、
少なくとも1つのプロセッサと通信接続するメモリとを含み、
メモリには、少なくとも1つのプロセッサが実行可能な指令が記憶され、指令が少なくとも1つのプロセッサに実行されることにより、少なくとも1つのプロセッサが本開示のいずれかの実施例に記載の対話システムのためのデータ処理方法を実行できる、電子機器を提供する。
【0008】
本開示の別の態様によれば、コンピュータ指令が記憶された非一時的なコンピュータ読み取り可能な記憶媒体を提供し、コンピュータ指令は、コンピュータに本開示のいずれかの実施例に記載の対話システムのためのデータ処理方法を実行させるために使用される。
【0009】
本開示の別の態様によれば、プロセッサに実行されると、本開示のいずれかの実施例に記載の対話システムのためのデータ処理方法を実現する、コンピュータプログラムを提供する。
【0010】
(0001)、(0002)、(0003)、(0004)、(0005)、(0006)、(0007)、(0008)、(0009)
本部分が記述する内容は本開示の実施例の鍵となる特徴又は重要特徴を示すことを趣旨としたものではなく、本開示の範囲を制限するために使用するものでもないことを理解すべきである。以下の明細書により本開示の他の特徴が容易に理解できるようになる。
(0001)、(0002)、(0003)、(0004)、(0005)、(0006)、(0007)、(0008)、(0009)、(0010)
【図面の簡単な説明】
【0011】
図面は本態様をより良く理解するために使用されており、本開示を限定するものではない。
【
図1】本開示実施例に係る対話システムのためのデータ処理方法の模式図である。
【
図2】本開示実施例に係る対話システムのためのデータ処理方法の模式図である。
【
図3】本開示実施例における答えを抽出することの例示的な模式図である。
【
図4】本開示実施例に係る対話システムのためのデータ処理方法の模式図である。
【
図5】本開示実施例における対話のフローを生成することの模式図である。
【
図6】本開示実施例における対話ポリシーを決定することの例示的な模式図である。
【
図7】本開示実施例に係る対話システムのためのデータ処理装置の模式図である。
【
図8】本開示実施例に係る対話システムのためのデータ処理方法を実現するための電子機器のブロック図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して本開示の例示的な実施例について説明する。理解を容易にするために、本開示実施例の様々な詳細が含まれているが、それらは単に例示にすぎないと考えるべきである。したがって、当業者は、本開示の範囲および精神から逸脱せず、ここで記述した実施例に様々な変更および修正を行うことができることを認識すべきである。同様に、わかりやすく簡潔にするために、以下の記述では、よく知られている機能と構造の記述が省略されている。
【0013】
図1は、本開示実施例に係る対話システムのためのデータ処理方法のフローチャートの模式図であり、本実施例は、構築された対話システムを利用してユーザとの対話タスクを完了する場合に適用されることができ、データ処理技術分野に関して、特に人工知能、自然言語処理、音声技術およびディープラーニング技術分野に関する。この方法は、対話システムのためのデータ処理装置によって実行されることができ、この装置は、ソフトウェアおよび/又はハードウェアの方式で実現され、コンピュータ機器又はサーバなどの電子機器に配置されることが好ましい。
図1に示すように、具体的には、この方法は、以下のS101~S103を含む。
【0014】
S101において、少なくとも1つのタスク名と各タスク名に対応する少なくとも1つのタスク属性を含む、事前に設定されたタスク記述を取得する。
【0015】
開発者が対話システムを構築する意図は、即ち、対話システムがユーザのあるタスクを完了することに役立つことを期待しているからである。本開示実施例では、開発者が対話システムを構築する際に、タスク名とそのタスク属性を含む、タスクに関するタスク記述を事前に設定する必要がある。例えば、タスク名は「飲み物を注文する」であれば、対応するタスク属性は「飲み物の種類」、「温度」および「杯数」などを含むことができる。そのうち、設定されるタスクの数は複数であってもよく、これにより、構築が成功した対話システムは、複数のタスクの対話を完了することができる。
【0016】
S102において、読解技術に基づいてユーザとの現在の対話内容からタスク記述に対応する答えを抽出する。
【0017】
そのうち、現在の対話内容は、今回の対話を開始してから対話システムとユーザとの間で今まで発生した対話内容を含むことができ、対話システムのユーザへの返信情報とユーザが出力したqueryを含む。対話内容は、音声データであってもよく、テキストデータであってもよい。
【0018】
本開示実施例では、読解技術に基づいてユーザとの現在の対話内容からタスク記述に対応する答えを抽出する。タスク記述に対応する答えは、即ち、ユーザが完了したいタスク名が何であるかと、それに対応するタスク属性がそれぞれ何であるかである。例えば、ユーザは「飲み物を注文」したいか、ユーザが注文したい飲み物はミルクティーかジュースか、常温か氷入りか、および何杯注文するかなどである。対話システムはタスク記述に対応する答えを抽出して、あるタスクを実行するための全部のタスク属性を取得した後に、対応するタスクを実行して対話を終了することができる。
【0019】
S103において、答えと事前に生成された対話のフローに応じてユーザとの対話を完了する。
【0020】
対話のフローは、対話システムを構築する際に生成され、抽出された答えに応じて対話ポリシーを決めるために使用され、現在、タスクを実行して対話を終了するか否か、又は明確化によってタスク記述の答えを収集し続けるかを決定することを含む。対話ポリシーがあれば、この対話ポリシーに基づいて対応する対話返信情報を生成してユーザに返すことができる。複数の対話プロセスにより、対話システムがタスク実行条件を満たす答えを収集すると、タスクを実行して現在の対話を終了することができる。
【0021】
なお、従来の技術では、対話システムを構築するには、通常、使用する場面に応じて大量の意図データを取得して意図認識モデルをトレーニングして、意図認識モデルによってユーザの入力に対して意図認識を実行し、そしてユーザ意図に応じて対話を完了する必要がある。これは開発者に対して高い技術要求を提出し、ある程度の学習と使用のコストが必要であるだけでなく、高いデータコストも必要であり、特に初期段階でのデータコストは開発者にとってより高価であるため、多くの開発者が自分の対話システムを迅速に構築することは困難で、対話システムを構築する開発コストが高く、かつ非効率である。
【0022】
本開示実施例の技術態様は、従来の技術と異なり、本開示の対話システムはタスク記述に基づく対話システムであり、大量の意図データを取得して意図認識モデルをトレーニングする必要がなく、タスク記述を事前に設定すれば、対話システムの構築を実現でき、構築の対話システムによって読解技術に基づいてユーザ現在の対話内容からタスク記述の答えを抽出し、答えと事前に生成された対話のフローに応じてユーザとの対話を完了する。開発者にとって、対話システムを構築するデータコストが低く、かつ入門が簡単であるため、対話システムの開発効率を向上させた。
【0023】
図2は、本開示実施例に係る対話システムのためのデータ処理方法のフローチャートの模式図であり、本実施例は、上記の実施例に基づいてさらに最適化する。
図2に示すように、具体的には、この方法は、以下のS201~S203を含む。
【0024】
S201において、少なくとも1つのタスク名と各タスク名に対応する少なくとも1つのタスク属性を含む、事前に設定されたタスク記述を取得する。
【0025】
S202において、読解技術に基づいて、今回の対話におけるユーザとの対話履歴、ユーザの現在のqueryおよびタスク記述を事前にトレーニングされた重要情報抽出モデルの入力情報とし、前記重要情報抽出モデルを利用してタスク記述に対応する答えを抽出する。
【0026】
そのうち、重要情報抽出モデルは、事前にトレーニングされた、読解技術に基づいてユーザ対話内容から答えを抽出するためのモデルである。モデルに入力されるデータは、対話履歴、ユーザの現在のquery(現在、ユーザが入力したテキスト又は音声である)およびタスク記述を含む。そのうち、対話履歴は、今回の対話の開始からユーザの現在のqueryまでの対話システムとユーザとの間の対話内容を含む。ユーザの現在のqueryは、即ち、ユーザが前回の対話システムの対話返信情報について出力した対話であり、新たなユーザの現在のqueryを取得するごとに、前の対話履歴、このユーザの現在のqueryおよび開発者の事前に設定したタスク記述をモデルに入力し、モデルによって認識され、その中から現在の答えを抽出する。その後、対話システムは、現在の答えに応じて再び応答し、生成された対話返信情報をユーザに再び返す。このように、ユーザとの複数の対話プロセスにおいて、タスク実行条件を満たすまで答えを収集し続ける。
【0027】
また、タスク記述は、タスク名とタスク属性の複数の見本とを含むことができ、例えば、「飲み物の種類」のタスク属性については、その見本は「ジュース」、「ミルクティー」又は「コーラ」などの例であってもよい。このように、見本とタスク名、タスク属性はともに情報抽出の目標となり、モデルが答えを抽出する的確性をさらに向上させる。
【0028】
1つの実施形態では、具体的には、重要情報抽出モデルは、
入力情報に応じて4つの分類を実行して、前記4つの分類の結果は、現在の対話内容にタスク名が表れているか否か、又はタスク属性が表れているか否かを示すことと、
4つの分類の結果が現在の対話内容にタスク属性が表れていることに応答し、入力情報におけるユーザの現在のqueryに対してシーケンスタギングを実行し、前記シーケンスタギングの結果は、タスク属性に対応する答えのユーザの現在のqueryでの位置を示すことと、
4つの分類の結果とシーケンスタギングの結果に応じてタスク記述に対応する答えを決定することと、のために使用される。
【0029】
1つの実施形態では、仮に、事前に設定されたタスク記述において、タスク名は「チケットを予約する」と「音楽を聴く」とを含み、「チケットを予約する」のタスク属性は「出発地」、「目的地」、「日付」および「座席」を含み、「音楽を聴く」のタスク属性は「曲名」と「歌手名」とを含む。今回の対話内容を開始させた後に、ユーザが「明日北京行きの電車の切符を予約するのを手伝って」と言った場合、重要情報抽出モデルは、先ず4つの分類を実行し、現在の対話内容にタスク名の「チケットを予約する」は表れているが、タスク名の「音楽を聴く」は表れていなく、「チケットを予約する」に関するタスク属性は表れているが、「音楽を聴く」に関するタスク属性は表れていないことを認識する。次に、ユーザの現在のqueryに対してシーケンスタギングを実行し、タスク属性に対応する答えのユーザの現在のqueryでの位置をタギングし、位置に応じて北京をタスク属性の「目的地」、明日をタスク属性の「日付」として抽出できる。そこで、タスク名は「チケットを予約する」であり、「目的地」は北京であり、「日付」は明日であり、これらを現在抽出した答えとする。
【0030】
さらに、重要情報抽出モデルの本体は事前トレーニングセマンティクス認識モデルを採用することができる。このセマンティクス認識モデルは、例えば、事前トレーニングモデルernieであってもよい。事前トレーニングセマンティクス認識モデルは、強いセマンティクス認識能力を有し、これに基づいて適応性トレーニングを実行すると、現在の場面に適用される重要情報抽出モデルを得ることができ、開発の効率を向上させる。そのうち、重要情報抽出モデルをトレーニングするためのトレーニングサンプルデータは、従来の対話カスタマイズプラットフォームからの大規模なログ又は他の対話サンプルであってもよく、対話履歴と対話状態とを含み、対話状態に存在する意図とワードスロットとはそれぞれタスク名とタスク属性との正例とし、対話状態に存在しない意図とワードスロットとはそれぞれタスク名とタスク属性との負例とする。また、正サンプルと負サンプルとの比率を均衡させるために、複数の負例に対してサンプリングを実行することができる。
【0031】
図3は、本開示実施例における答えの抽出を示した例示的な模式図である。図から分かるように、対話履歴からタスク記述に対応する答えを抽出することができる。そのうち、「はい」は対話内容に「飲み物を注文する」というタスク名が表れていることを示し、そこで「飲み物を注文する」というタスクのタスク属性に関する答えが抽出される。「ミルクティー」、「ホット」および「二杯」はそれぞれ対応するタスク属性の答えを示す。最終的に抽出された答えに応じてユーザのための飲み物を注文するタスクを完了できる。
【0032】
S203において、答えと事前に生成された対話のフローに応じてユーザとの対話を完了する。
【0033】
本開示実施例の技術態様は、読解技術に基づいて、対話履歴、ユーザの現在のqueryおよびタスク記述を事前にトレーニングされた重要情報抽出モデルの入力情報とし、重要情報抽出モデルを利用してタスク記述に対応する答えを抽出し、最後に答えと事前に生成された対話のフローに応じてユーザとの対話を完了できる。本開示実施例の対話システムを構築するプロセスでは、重要情報抽出モデルは読解技術に基づいて対話内容からタスク記述に対応する答えを抽出するため、従来の技術の意図認識モデルと異なり、開発者が大量の意図データを取得してトレーニングする必要がなく、タスク記述を事前に設定すれば対話システムの構築を実現できる。そのため、開発者にとって、タスク記述に基づく対話システムを構築するデータコストが低く、ゼロサンプルのコールドスタートの問題を解決し、かつ設定コストが低く、入門が簡単であり、対話システムの開発効率を全体的に向上させた。
【0034】
図4は、本開示実施例に係る対話システムのためのデータ処理方法の模式図であり、本実施例は、上記の実施例に基づいてさらに最適化する。
図4に示すように、具体的には、この方法は、以下のS401~S404を含む。
【0035】
S401において、少なくとも1つのタスク名と各タスク名に対応する少なくとも1つのタスク属性を含む、事前に設定されたタスク記述を取得する。
【0036】
S402において、読解技術に基づいてユーザとの現在の対話内容からタスク記述に対応する答えを抽出する。
【0037】
S403において、答えを事前に生成された対話のフローに充填し、充填された対話のフローに基づいて対話ポリシーを決定し、そのうち、対話のフローは現在に応じて抽出された答えがタスク実行条件を満たすか否かを確認するために使用され、対話ポリシーは答えがタスク実行条件を満たさないときに明確化によってタスク実行条件を満たす答えを取得するために使用される。
【0038】
対話システムでは、答えを抽出した後に答えと事前に生成された対話のフローに応じて対話ポリシーを決定する必要があり、対話ポリシーに応じて対話返信情報を生成してユーザに返す。そのうち、対話のフローは、現在に応じて抽出された答えがタスク実行条件を満たすか否かを確認するために使用され、条件を満たすと、対話ポリシーは締め言葉を生成してから対話を終了してもよく、条件を満たさないと、タスク実行条件を満たすために、さらに答えを収集する必要があるため、明確化によってタスク実行条件を満たす答えを取得する必要がある。
【0039】
本開示実施例では、対話のフローは、タスク記述に応じて生成される。
図5は本開示実施例における対話のフローの生成を示した模式図である。図面に示すように、設定されたタスク記述には複数のタスク名を含むことができ、例えば、タスク名a、タスク名bおよびタスク名cを含み、異なるタスク名に対応して複数のタスク属性i-jを含む。対話内容にタスク名aが示されていると認識すると、タスク名aに対応する各タスク属性を収集し続け、タスク属性が取得されなかった場合、明確化によって再び取得することができる。タスクのフローにおいてタスク名aの全部のタスクと属性が取得されると、タスク実行条件を満たすと判断し、対話のフローを終了してタスクを実行する。そのため、対話ポリシーは答えがタスク実行条件を満たした際に対話を終了するためにも使用される。また、無限ループに入ることを回避するために、明確化の回数について上限値を設定することもでき、即ち、答えがタスク実行条件を満たさず、かつ明確化の回数が事前に設定された上限値に達すると、対話を終了する。
【0040】
対話システムの開発効率をさらに向上させるために、本開示実施例の対話のフローは開発者が事前に設定されたタスク記述に応じて、Schema Guided(ルールに基づくスキーマガイド)技術に基づいて自動的に生成されることができる。従来の技術における開発者がグラフィカルインターフェースによって対話のフローチャートをカスタマイズする必要がある態様と異なり、本開示実施例では開発者がカスタマイズに参加する必要がなくタスク記述を設定するだけで自動的な構築を実現でき、自動化度合いがより高い。
【0041】
図6は、本開示実施例における対話ポリシーの決定を示す例示的な模式図である。図に示すように、設定されたタスク記述では、タスク名は「電車のチケットを予約する」であり、対応するタスク属性は「時間」、「出発地」、「目的地」および「座席タイプ」を含む。答えが抽出された後には、答えを事前に生成された対話のフローに充填し、タスク実行条件を満たすか否かを判断し、満たさないと、タスク記述に対応する答えがタスク実行条件を満たすまで明確化によってタスク属性を収集し続ける。
【0042】
図6では、ユーザが「電車のチケットを一枚予約する」と言った場合、対話システムは、この対話内容からタスク名の「電車のチケットを予約する」が表れているが、いずれかのタスク属性が表れていないことを抽出できる。すると、対話ポリシーはユーザに「どの日に予約を入れますか?」という問題を提出し、タスク属性の「時間」の答えを収集するために使用される。ユーザが「明日、北京行き」と言った場合、対話システムはその中からタスク属性の「時間」が明日であって、「目的地」が北京であることを抽出することができ、すると、対話ポリシーはタスク属性の「出発地」を収集し続け、「どこから出発しますか?」と言う。ユーザが「天津から行く」と言った場合、対話システムはタスク属性の「出発地」が天津であることを抽出し、対話ポリシーは引き続きタスク属性の「座席タイプ」の答えを収集する必要があり、すると、「どんな座席タイプが必要ですか?」と聞く。しかしユーザが「北京は暑いですか?」と返した場合、対話システムは対話内容にいずのタスク属性も表れていないことを認識し、すると「どんな座席タイプを予約したいですか?」と明確化し、ユーザが「ハード席でいい」と答えると、対話システムはタスク属性の「座席タイプ」の答えがハード席であることを抽出する。全てのタスク名とタスク属性の答えがタスクフローに充填され、タスク実行条件が満たされると、チケットを予約するというタスクを実行した後に、「明日、天津から北京へのハード席チケットを予約しました。楽しい旅をお祈りします」を締め言葉としてユーザに返信することができ、現在の対話を終了する。
【0043】
S404において、対話ポリシーに応じて対話返信情報を生成してユーザに返す。
【0044】
具体的には、対話返信情報を生成することは、
対話ポリシーと事前に対話のフローの実行ポイントに設定された返信テンプレートに応じて第1の対話返信情報セットを生成することと、
対話ポリシーに応じて、事前にトレーニングされた対話モデルを利用して第2の対話返信情報セットを生成することと、
事前にトレーニングされたスコアリングモデルを利用して第1の対話返信情報セットと第2の対話返信情報セットとの各対話返信情報についてスコアリングすることと、
スコアリングの結果に応じて前記ユーザに返す対話返信情報を決定することと、を含むことができる。
【0045】
そのうち、一つ目の方式はSchema Guidedに基づいて対話返信情報を生成し、開発者は事前に対話のフローのフロー実行ポイントに返信テンプレートを設定し、対話システムは対話ポリシーと返信テンプレートに応じて第1の対話返信情報セットを生成し、二つ目の方式は対話ポリシーに応じて、事前にトレーニングされた対話モデルを利用して第2の対話返信情報セットを生成する。そのうち、対話モデルは制御可能なテキスト生成フレームに基づいて生成され、例えば、大規模潜在変数対話モデルPLATOを使用し、Finetuneに基づくPLATOモデルはよりスムーズ、多様な返信を生成することができる。
【0046】
Schema Guidedに基づく生成ポリシーは制御可能で簡単で、タスクとの相関性が強いが、融通が利かず、形式が固定されており、全ての場面に適しているとは限らない。モデルの生成ポリシーに基づいて生成された返信はスムーズで多様性は強いが、相関性と制御可能性は弱い。そのため、本開示実施例のタスク記述に基づく対話システムは上記の二種類の生成ポリシーを同時に採用し、二種類のポリシーの利点を組み合わせ、事前にトレーニングされたスコアリングモデルにより、二種類のポリシーが生成した複数の返信情報を統一的にスコアリングし、総合的に相関性と円滑性を考慮し、スコアリングの結果に応じて最も適切な対話返信情報を選ぶ。そのうち、スコアリングモデルはLSTM/GRU(Long Short-Term Memory/ Gated Recurrent Unit)をメインネットワーク構成として使用し、データはクラウドソーシングの形式でタギングされ、従来のトレーニング方法でモデルトレーニングを実行することができるため、ここでは説明を省略する。
【0047】
本開示実施例の技術態様では、開発者は、タスク記述を設定するだけで、自動的に対話のフローを生成することができ、対話プロセスで、読解技術に基づいて対話履歴内容からタスク記述に対応する答えを抽出し、答えと事前に生成された対話のフローに応じて対話ポリシーを決定し、最後に対話ポリシーに応じて対話返信情報を得て、ユーザとの対話を完了する。したがって、本開示実施例の対話システムはタスク記述に基づく対話システムであり、開発者にとって、対話システムを構築するデータコストが低く、ゼロサンプルのコールドスタートの問題を解決し、かつ設定コストが低く、入門が簡単であり、対話システムの開発効率を全体的に向上させた。全体の対話システムの自動化度が高く、箱から出してすぐに使える。対話理解、対話ポリシーおよび対話生成については、開発者がカスタマイズに参加する必要がなく、システム全体は、開発者がタスク記述を提供した後に、自動的に構築して完成することができる。さらに、開発者が複数のタスク場面を拡張するには複数のタスク記述を提供すればよく、構成を追加する必要がなく、拡張がよりフレキシブルである。
【0048】
図7は、本開示実施例に係る対話システムのためのデータ処理装置の構造模式図であり、本実施例は、構築された対話システムを利用してユーザとの対話タスクを完了する場合に適用されることができ、データ処理技術分野に関して、特に人工知能、自然言語処理、音声技術およびディープラーニング技術分野に関する。この装置は、本開示のいずれかの実施例に記載の対話システムのためのデータ処理方法を実現できる。
図7に示すように、具体的には、この装置700は、
タスク記述取得モジュール701と、読解モジュール702と、対話モジュール703とを含む。
【0049】
記述取得モジュール701は、事前に設定されたタスク記述を取得するために使用され、前記タスク記述は、少なくとも1つのタスク名と各タスク名に対応する少なくとも1つのタスク属性を含む。
【0050】
読解モジュール702は、読解技術に基づいてユーザとの現在の対話内容から前記タスク記述に対応する答えを抽出するために使用される。
【0051】
対話モジュール703は、前記答えと事前に生成された対話のフローに応じて前記ユーザとの対話を完了するために使用される。
【0052】
好ましくは、前記読解モジュール702は、具体的には、
読解技術に基づいて、今回の対話における前記ユーザとの対話履歴、ユーザの現在のqueryおよび前記タスク記述を事前にトレーニングされた重要情報抽出モデルの入力情報とし、前記重要情報抽出モデルを利用して前記タスク記述に対応する答えを抽出するために使用される。
【0053】
好ましくは、前記重要情報抽出モデルは、具体的には、
前記入力情報に応じて4つの分類を実行して、前記4つの分類の結果は、現在の対話内容にタスク名が表れているか否か、又はタスク属性が表れているか否かを示すことと、
前記4つの分類の結果が現在の対話内容にタスク属性が表れていることに応答し、前記入力情報におけるユーザの現在のqueryに対してシーケンスタギングを実行し、前記シーケンスタギングの結果は、タスク属性に対応する答えの前記ユーザの現在のqueryでの位置を示すことと、
前記4つの分類の結果と前記シーケンスタギングの結果に応じて前記タスク記述に対応する答えを決定することと、のために使用される。
【0054】
好ましくは、前記重要情報抽出モデルの本体は、事前トレーニングセマンティクス認識モデルによって実現される。
【0055】
好ましくは、前記重要情報抽出モデルをトレーニングするトレーニングサンプルデータは、対話履歴と対話状態とを含み、前記対話状態に存在する意図とワードスロットとはそれぞれタスク名とタスク属性との正例とし、前記対話状態に存在しない意図とワードスロットとはそれぞれタスク名とタスク属性との負例とする。
【0056】
好ましくは、対話モジュール703は、対話ポリシー決定ユニットと対話返信情報生成ユニットと、を含む。
【0057】
対話ポリシー決定ユニットは、前記答えを事前に生成された対話のフローに充填し、充填された対話のフローに基づいて対話ポリシーを決定し、そのうち、前記対話のフローは、現在に応じて抽出された答えがタスク実行条件を満たすか否かを確認するために使用され、前記対話ポリシーは、答えがタスク実行条件を満たさないときに明確化によってタスク実行条件を満たす答えを取得するために使用される。
【0058】
対話返信情報生成ユニットは、前記対話ポリシーに応じて対話返信情報を生成して前記ユーザに返すために使用される。
【0059】
好ましくは、前記対話ポリシーは、さらに、
前記答えがタスク実行条件を満たさず、かつ明確化の回数が事前に設定された上限値に達すると、対話を終了することと、
前記答えがタスク実行条件を満たすと、対話を終了することと、のために使用される。
【0060】
好ましくは、前記対話返信情報生成ユニットは、具体的には、
前記対話ポリシーと事前に前記対話のフローの実行ポイントに設定された返信テンプレートに応じて第1の対話返信情報セットを生成することと、
前記対話ポリシーに応じて、事前にトレーニングされた対話モデルを利用して第2の対話返信情報セットを生成することと、
事前にトレーニングされたスコアリングモデルを利用して前記第1の対話返信情報セットと第2の対話返信情報セットとの各対話返信情報についてスコアリングすることと、
前記スコアリングの結果に応じて前記ユーザに返す対話返信情報を決定することと、のために使用される。
【0061】
好ましくは、前記対話のフローは、前記タスク記述に応じて生成される。
【0062】
好ましくは、前記タスク記述は、前記タスク名とタスク属性の複数の見本をさらに含む。
【0063】
上記の製品は、本開示の任意の実施例に係る方法を実行でき、方法を実行することに対応する機能モジュールと有益な効果とを備える。
【0064】
本開示の技術態様では、関連するユーザ個人情報の収集、記憶、使用、加工、転送、提供および開示などの処理は、何れも関連する法律法規の規定に適合し、公序良俗に違反しない。
【0065】
本開示の実施例によれば、本開示は、電子機器、読み取り可能な記憶媒体およびコンピュータプログラムをさらに提供する。
【0066】
図8は、本開示の実施例を実施するために使用されることができる例示的な電子機器800の模式的なブロック図を示している。電子機器は、例えば、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、大型コンピュータ、およびその他の適切なコンピュータなど、さまざまな形式のデジタルコンピュータを表すことを目的とする。電子機器は、例えば、パーソナルデジタル処理、セルラ電話機、スマートフォン、ウェアラブルデバイス、および他の類似のコンピューティングデバイスなど、さまざまな形式のモバイル機器を表すこともできる。本明細書に示された構成要素、それらの接続と関係、およびそれらの機能は、単なる例であり、本明細書において記載されるおよび/又は請求される本開示の実現を制限することを意図するものではない。
【0067】
図8に示すように、機器800は、計算ユニット801を含み、読み取り専用メモリ(ROM)802に記憶されたコンピュータプログラム又は記憶ユニット808からランダムアクセスメモリ(RAM)803にロードされたコンピュータプログラムに応じて、様々な適切な動作と処理を実行することができる。RAM 803には、機器800の操作に必要な様々なプログラムとデータを記憶することもできる。計算ユニット801、ROM 802およびRAM 803は、バス804によって互いに接続されている。入出力(I/O)インタフェース805もバス804に接続されている。
【0068】
機器800における複数の構成要素は、I/Oインタフェース805に接続され、例えばキーボード、マウスなどの入力ユニット806と、例えば様々なタイプのディスプレー、スピーカーなどの出力ユニット807と、例えば磁気ディスク、光ディスクなどの記憶ユニット808と、例えばネットワークカード、モデム、無線通信トランシーバーなどの通信ユニット809と、を含む。通信ユニット809は、機器800が例えばインターネットなどのコンピュータネットワークおよび/又は様々な電気通信ネットワークによって、他の機器と情報/データを交換することを可能にする。
【0069】
計算ユニット801は、処理と計算能力を有する様々な汎用および/又は専用処理コンポーネントであってもよい。計算ユニット801のいくつかの例は、中央処理ユニット(CPU)と、グラフィックス処理ユニット(GPU)と、様々な専用の人工知能(AI)計算チップ、機械学習モデルアルゴリズムを実行する様々な計算ユニットと、デジタル信号プロセッサ(DSP)と、任意の適切なプロセッサ、コントローラ、マイクロコントローラなど、を含むが、これらに限定されない。計算ユニット801は、上記に記載の各方法と処理を実行し、例えば対話システムのためのデータ処理方法を実行する。例えば、いくつかの実施例では、対話システムのためのデータ処理方法は、コンピュータソフトウェアプログラムとして実現されることができ、有形的に機械読み取り可能な媒体例えば記憶ユニット808に含まれる。いくつかの実施例では、コンピュータプログラムの一部又は全部がROM 802および/又は通信ユニット809を介して機器800にロードおよび/又はインストールされることができる。コンピュータプログラムがRAM803にロードされて計算ユニット801によって実行されると、上記に記載の対話システムのためのデータ処理方法の1つ又は複数のステップを実行することができる。あるいは、他の実施例では、計算ユニット801は、他のいずれかの適切な手段(例えば、ファームウェアによって)により、対話システムのためのデータ処理方法を実行するように構成される。
【0070】
本明細書における上記に記載のシステムと技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、専用集積回路(ASIC)、専用標準製品(ASSP)、システムオンチップのシステム(SOC)、複雑なプログラマブルロジックデバイス(CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/又はこれらの組み合わせで実現されることができる。これらの様々な実施形態は、以下を含んでもよく、1つ又は複数のコンピュータプログラムで実施され、この1つ又は複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムで実行および/又は解釈され、このプログラマブルプロセッサは、専用又は汎用なプログラマブルプロセッサであってもよく、記憶システム、少なくとも1つの入力装置、および少なくとも1つの出力装置からデータと指令を受信し、さらにデータと指令をこの記憶システム、その少なくとも1つの入力装置、およびその少なくとも1つの出力装置に送信することができる。
【0071】
本開示の方法を実施するためのプログラムコードは、1つ又は複数のプログラミング言語の任意の組み合わせで書くことができる。これらのプログラムコードは、汎用コンピュータ、専用コンピュータ又は他のプログラマブルデータ処理装置のプロセッサ又はコントローラに提供されることができ、プログラムコードがプロセッサ又はコントローラによって実行されると、フローチャートおよび/又はブロック図における所定の機能/操作が実施される。プログラムコードは、完全に機械で実行されてもよく、部分的に機械で実行されてもよく、独立ソフトウェアパッケージとして、部分的に機械で実行されて部分的に在リモート機械で実行され、又は完全にリモート機械又はサーバで実行されてもよい。
【0072】
本開示のコンテキストでは、機械読み取り可能な媒体は、有形的な媒体であってもよく、指令実行システム、装置又は機器に使用され、又は指令実行システム、装置又は機器と組み合わせて使用されるプログラムを含む又は記憶することができる。機械読み取り可能な媒体は、機械読み取り可能な信号媒体又は機械読み取り可能な格納媒体であってもよい。機械読み取り可能な媒体は、電子の、磁性の、光学の、電磁気の、赤外線の、又は半導体システム、装置又は機器、あるいは上記内容の任意の適切な組み合わせを含むことができるが、これらに限定されない。機械読み取り可能な記憶媒体のより具体的な例は、1つ又は複数の線に基づく電気的な接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能なプログラム可能な読み取り専用メモリ(EPROM又はフラッシュメモリ)、光ファイバー、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、光学格納機器、磁気格納機器、又は上記内容の任意の適切な組み合わせを含む。
【0073】
ユーザとのインタラクションを提供するために、コンピュータでここに記載のシステムと技術を実施することができ、このコンピュータは、ユーザへ情報を表示するための表示装置(例えば、CRT(ブラウン管)又はLCD(液晶ディスプレー)モニター)と、キーボードとポインティング装置(例えば、マウス又はトラックボール)とを有し、ユーザは、このキーボードとこのポインティング装置により、入力をコンピュータに提供する。他の種類の装置は、ユーザとのインタラクションを提供するために使用されることもでき、例えば、ユーザに提供するフィードバックは、任意の形式の感覚フィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、任意の形式(声入力、音声入力、又は触覚入力)によってユーザからの入力を受信することができる。
【0074】
ここに記載のシステムと技術は、バックエンド構成要素を含む計算システム(例えば、データサーバとして)、又はミドルウェア構成要素を含む計算システム(例えば、アプリケーションサーバ)、又はフロントエンド構成要素を含む計算システム(例えば、グラフィカルユーザインタフェース又はネットワークブラウザを有するユーザコンピュータであり、ユーザは、このグラフィカルユーザインタフェース又はこのネットワークブラウザにより、ここに記載のシステムと技術の実施形態とインタラクションする)、あるいはこのバックエンド構成要素、ミドルウェア構成要素、又はフロントエンド構成要素の任意の組み合わせを含む計算システムに実施される。任意の形式又は媒体のデジタルデータ通信(例えば、通信ネットワーク)により、システムの構成要素を互いに接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、ブロックチェーンネットワーク、およびインターネットを含む。
【0075】
コンピュータシステムは、クライアントとサーバとを含むことができる。クライアントとサーバは、通常互いから離れて通常通信ネットワークによってインタラクションする。対応するコンピュータで互いにクライアント-サーバ関係を有するコンピュータプログラムが実行されることにより、クライアントとサーバとの関係が生じる。サーバはクラウドサーバであってもよく、クラウドサーバはクラウド計算サーバ又はクラウドホストとも呼ばれ、クラウド計算サービスシステムにおけるホスト製品であり、従来の物理ホストとVPSサービスで存在した管理が難しくビジネス拡張性が弱いという欠点を解決する。サーバは、分散システムのサーバであってもよく、又はブロックチェーンと組み合わせたサーバであってもよい。
【0076】
人工知能は、コンピュータに人間の何らかの思考過程および知的行動(例えば、学習、推理、思考、計画など)をシミュレートさせることを研究する科目であり、ハードウェアレベルの技術もあれば、ソフトウェアレベルの技術もある。人工知能のハードウェア技術は、一般的にセンサ、人工知能専用チップ、クラウドコンピューティング、分散ストレージ、ビッグデータ処理などの技術を含み、人工知能のソフトウェア技術は、主にコンピュータ視覚技術、音声認識技術、自然言語処理技術および機械学習/ディープラーニング技術、ビッグデータ処理技術、ナレッジグラフ技術などのいくつかの大きな方向を含む。
【0077】
クラウドコンピューティング(cloud computing)とは、ネットワークを介して、柔軟に拡張可能な共有の物理又は仮想リソースプールにアクセスし、リソースがサーバ、オペレーティングシステム、ネットワーク、ソフトウェア、アプリケーション及び記憶機器などを含んでもよく、オンデマンド、セルフサービスの方式で展開及び管理することができる技術アーキテクチャを指す。クラウドコンピューティング技術により、人工知能、ブロックチェーンなどの技術応用、モデルトレーニングに対して効率的で強力なデータ処理能力を提供することができる。
【0078】
理解すべきは、上記で示した様々な形式のフローを使用して、ステップを改めて並べ替え、追加又は削除することができる。例えば、本開示に記載の各ステップは、並行して実行されてもよく順次実行されてもよく異なる順序で実行されてもよくて、本開示が提供する技術態様の所望の結果を実現できる限り、本明細書はここでは制限しない。
【0079】
上記具体的な実施形態は、本開示保護範囲に対する制限を構成するものではない。当業者が理解すべきは、デザイン要求および他の要因に応じて、様々な修正、組み合わせ、サブ組み合わせおよび置換を行うことできる。本開示の精神と原則内で行われる任意の修正、均等置換および改良などは、すべて本開示の保護範囲内に含まれるべきである。