(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024129098
(43)【公開日】2024-09-26
(54)【発明の名称】プログラム及び情報処理方法
(51)【国際特許分類】
G10L 15/10 20060101AFI20240918BHJP
G10L 15/22 20060101ALI20240918BHJP
【FI】
G10L15/10 500Z
G10L15/10 500T
G10L15/22 300Z
【審査請求】有
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2024105889
(22)【出願日】2024-07-01
(62)【分割の表示】P 2020144656の分割
【原出願日】2020-08-28
(71)【出願人】
【識別番号】519088797
【氏名又は名称】ウェルヴィル株式会社
(74)【代理人】
【識別番号】110004222
【氏名又は名称】弁理士法人創光国際特許事務所
(72)【発明者】
【氏名】樽井 俊行
(57)【要約】 (修正有)
【課題】対話を要談と雑談とに分類するプログラム及び情報処理方法を提供する。
【解決手段】方法は、文脈単位に分割された発話の文脈が質問文脈でない場合、分割された文脈が提案文脈か否かを判定するステップと、分割された文脈が提案文脈でない場合、分割された文脈が意見文脈か否かを判定するステップと、分割された文脈が質問文脈であるか、分割された文脈が提案文脈であるか又は分割された文脈が意見文脈である場合、文脈の動作主格が二人称か否かを判定するステップと、文脈の動作主格が二人称でない場合、文脈の目的格が、対話が行われている場や場面において予め定められたドメインに含まれるものと一致するか否かを判定するステップと、文脈の目的格がドメインに一致する場合、分割された文脈は要談であると決定するステップと、を含む。
【選択図】
図6
【特許請求の範囲】
【請求項1】
コンピュータに、
発話の音声データを取得する機能と、
前記音声データを解析して、前記発話を文脈単位に分割する機能と、
分割された文脈が質問文脈でない場合、分割された文脈が提案文脈か否かを判定する機能と、
分割された文脈が提案文脈でない場合、分割された文脈が意見文脈か否かを判定する機能と、
分割された文脈が質問文脈であるか、分割された文脈が提案文脈であるか、又は分割された文脈が意見文脈である場合、文脈の動作主格が二人称か否かを判定する機能と、
文脈の動作主格が二人称でない場合、文脈の目的格が、対話が行われている場や場面において予め定められたドメインに含まれるものと一致するか否かを判定する機能と、
文脈の目的格がドメインに一致する場合、分割された文脈は要談であると決定する機能と、
分割された文脈が意見文脈でないか、文脈の動作主格が二人称であるか、又は文脈の目的格が、対話が行われている場や場面において予め定められたドメインに含まれるものと一致しない場合、分割された文脈は雑談であると決定する機能と、
を実現させるプログラム。
【請求項2】
前記コンピュータに、
前記発話が要談に分類された場合、
前記文脈それぞれから質問に関する文脈と依頼に関する文脈とを抽出する機能と、
抽出された質問に関する文脈と依頼に関する文脈とのそれぞれについて、当該文脈を前記要談の対象とするドメイン毎にあらかじめ定められたいずれかの特徴型に分類する機能と、
抽出した質問に関する文脈及び依頼に関する文脈それぞれについて、分類された前記特徴型に基づいて応答文を生成する機能と、
抽出した質問に関する文脈及び依頼に関する文脈それぞれの応答文を順に出力する機能と、
をさらに実現させる請求項1に記載のプログラム。
【請求項3】
前記コンピュータに、
抽出された質問に関する文脈と依頼に関する文脈とのそれぞれについて、要談用の応答文を生成するための情報がそろっているか否かを判定する機能と、
応答文を生成するための情報が不足していると判定された場合、当該情報を問い合わせるための応答文を生成する機能と、
をさらに実現させる請求項1又は2に記載のプログラム。
【請求項4】
前記コンピュータに、
前記発話が雑談に分類された場合、
前記発話の発話者毎に機械学習によって生成された対話モデルを取得する機能と、
分割された文脈それぞれに前記対話モデルを適用することで、各文脈に対する応答文を生成する機能と、
生成された前記応答文を出力する機能と、
をさらに実現させる請求項1から3のいずれか1項に記載のプログラム。
【請求項5】
前記コンピュータに、
前記発話の発話者に固有の話題に関する文脈を特定する機能と、
前記固有の話題に関連する質問であって前記発話者に関する情報を引き出すための質問を含む応答文を生成する機能と、
前記質問を含む応答文と、前記質問を含む応答文に対する前記発話者の回答とを対応づけて、前記対話モデルの学習データとして記憶部に保存する機能と、
をさらに実現させる請求項4に記載のプログラム。
【請求項6】
プロセッサが、
発話の音声データを取得するステップと、
前記音声データを解析して、前記発話を文脈単位に分割するステップと、
分割された文脈が質問文脈でない場合、分割された文脈が提案文脈か否かを判定するステップと、
分割された文脈が提案文脈でない場合、分割された文脈が意見文脈か否かを判定するステップと、
分割された文脈が質問文脈であるか、分割された文脈が提案文脈であるか、又は分割された文脈が意見文脈である場合、文脈の動作主格が二人称か否かを判定するステップと、
文脈の動作主格が二人称でない場合、文脈の目的格が、対話が行われている場や場面において予め定められたドメインに含まれるものと一致するか否かを判定するステップと、
文脈の目的格がドメインに一致する場合、分割された文脈は要談であると決定するステップと、
分割された文脈が意見文脈でないか、文脈の動作主格が二人称であるか、又は文脈の目的格が、対話が行われている場や場面において予め定められたドメインに含まれるものと一致しない場合、分割された文脈は雑談であると決定するステップと、
を実行する情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はプログラム及び情報処理方法に関し、特に、アバターに人間と対話させるための技術に関する。
【背景技術】
【0002】
人型ロボットが話者の顔を識別して話者のプロファイルに基づいて会話を行い、さらに会話を行いながらユーザの新たな情報を入手し、得られた情報に基づいてプロファイルを更新し、その後の対話中に当該情報を用いる技術が提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
人同士が行う対話は、大きく分けると要談と雑談とに分類できる。要談は、主にビジネスにおける交渉やカスタマーセンターにおける対応等、典型的には対応の当事者の少なくとも一方は業務として対話を行うものであり、例えば依頼、質問、提案、意見等、明確な伝達事項が存在する対話である。一方、雑談は、挨拶や世間話等、明確な伝達事項は存在せず、対話を行う者同士の状況に依存して進行する対話である。上記のようにユーザのプロファイルに基づく対話は雑談には好適であるが、要談の対話には必ずしも向いていない。
【0005】
本発明はこれらの点に鑑みてなされたものであり、対話を要談と雑談とに分類する技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の第1の態様は、プログラムである。このプログラムは、コンピュータに、発話の音声データを取得する機能と、前記音声データを解析して、前記発話を文脈単位に分割する機能と、分割された文脈が質問文脈でない場合、分割された文脈が提案文脈か否かを判定する機能と、分割された文脈が提案文脈でない場合、分割された文脈が意見文脈か否かを判定する機能と、分割された文脈が質問文脈であるか、分割された文脈が提案文脈であるか、又は分割された文脈が意見文脈である場合、文脈の動作主格が二人称か否かを判定する機能と、文脈の動作主格が二人称でない場合、文脈の目的格が、対話が行われている場や場面において予め定められたドメインに含まれるものと一致するか否かを判定する機能と、文脈の目的格がドメインに一致する場合、分割された文脈は要談であると決定する機能と、分割された文脈が意見文脈でないか、文脈の動作主格が二人称であるか、又は文脈の目的格が、対話が行われている場や場面において予め定められたドメインに含まれるものと一致しない場合、分割された文脈は雑談であると決定する機能と、を実現させてもよい。
【0007】
前記プログラムは、前記コンピュータに、前記発話が要談に分類された場合、前記文脈それぞれから質問に関する文脈と依頼に関する文脈とを抽出する機能と、抽出された質問に関する文脈と依頼に関する文脈とのそれぞれについて、当該文脈を前記要談の対象とするドメイン毎にあらかじめ定められたいずれかの特徴型に分類する機能と、抽出した質問に関する文脈及び依頼に関する文脈それぞれについて、分類された前記特徴型に基づいて応答文を生成する機能と、抽出した質問に関する文脈及び依頼に関する文脈それぞれの応答文を順に出力する機能と、をさらに実現させる。
【0008】
前記プログラムは、前記コンピュータに、抽出された質問に関する文脈と依頼に関する文脈とのそれぞれについて、要談用の応答文を生成するための情報がそろっているか否かを判定する機能と、応答文を生成するための情報が不足していると判定された場合、当該情報を問い合わせるための応答文を生成する機能と、さらに実現させてもよい。
【0009】
前記プログラムは、前記コンピュータに、前記発話が雑談に分類された場合、前記発話の発話者毎に機械学習によって生成された対話モデルを取得する機能と、分割された文脈それぞれに前記対話モデルを適用することで、各文脈に対する応答文を生成する機能と、生成された前記応答文を出力する機能と、をさらに実現させてもよい。
【0010】
前記プログラムは、前記コンピュータに、前記発話の発話者に固有の話題に関する文脈を特定する機能と、前記固有の話題に関連する質問であって前記発話者に関する情報を引き出すための質問を含む応答文を生成する機能と、前記質問を含む応答文と、前記質問を含む応答文に対する前記発話者の回答とを対応づけて、前記対話モデルの学習データとして記憶部に保存する機能と、をさらに実現させてもよい。
【0011】
本発明の第2の態様は、情報処理方法である。この方法において、プロセッサが、発話の音声データを取得するステップと、前記音声データを解析して、前記発話を文脈単位に分割するステップと、分割された文脈が質問文脈でない場合、分割された文脈が提案文脈か否かを判定するステップと、分割された文脈が提案文脈でない場合、分割された文脈が意見文脈か否かを判定するステップと、分割された文脈が質問文脈であるか、分割された文脈が提案文脈であるか、又は分割された文脈が意見文脈である場合、文脈の動作主格が二人称か否かを判定するステップと、文脈の動作主格が二人称でない場合、文脈の目的格が、対話が行われている場や場面において予め定められたドメインに含まれるものと一致するか否かを判定するステップと、文脈の目的格がドメインに一致する場合、分割された文脈は要談であると決定するステップと、分割された文脈が意見文脈でないか、文脈の動作主格が二人称であるか、又は文脈の目的格が、対話が行われている場や場面において予め定められたドメインに含まれるものと一致しない場合、分割された文脈は雑談であると決定するステップと、を実行する。
【0012】
上記のプログラムを提供するため、あるいはプログラムの一部をアップデートするために、このプログラムを記録したコンピュータ読み取り可能な記録媒体が提供されてもよく、また、このプログラムが通信回線で伝送されてもよい。
【0013】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0014】
本発明によれば、対話を要談と雑談とに分類する技術を提供することができる。
【図面の簡単な説明】
【0015】
【
図1】本発明の実施の形態に係る応答生成装置の概要を説明するための図である。
【
図2】実施の形態に係る応答生成装置の機能構成を模式的に示す図である。
【
図3】実施の形態に係る応答文生成部の内部構造を模式的に示す図である。
【
図4】実施の形態に係る発話分類部の内部構成を模式的に示す図である。
【
図5】実施の形態に係る意味分類部が分類する意味カテゴリーの一例を表形式で示す図である。
【
図6】実施の形態に係る決定部が実行する決定処理の流れを説明するためのフローチャートである。
【
図7】実施の形態に係る要談応答文生成部の内部構成を模式的に示す図である。
【
図8】実施の形態に係る特徴型分類部が分類する特徴型を表形式で示す図である。
【
図9】実施の形態に係る雑談応答文生成部の内部構成を模式的に示す図である。
【
図10】実施の形態に係る応答生成装置が実行する情報処理の流れを説明するためのフローチャートである。
【発明を実施するための形態】
【0016】
<実施の形態の概要>
図1は、本発明の実施の形態に係る応答生成装置1の概要を説明するための図である。
図1を参照して、本発明の実施の概要を述べる。
【0017】
本発明の実施の形態に係る応答生成装置1は、アバターAに組み込まれた自動応答装置であり、発話者Uの発話に対して自動で応答するための装置である。実施の形態に係る応答生成装置1は、発話者Uの発話の音声データを解析して、発話を要談と雑談とのいずれかに分類する。実施の形態に係る応答生成装置1は、分類結果に応じて要談モード及び雑談モードそれぞれの専用の対話エンジンを選択し、応答文を生成する。これにより、本発明の実施の形態に係る応答生成装置1は、要談に要求される伝達事項を抽出し、発話者Uの要望に応えることができる。なお、
図1は応答生成装置1が人型のロボットであるアバターAに組み込まれた場合を例示しているが、応答生成装置1は、電話等の音声通話の自動応答や、いわゆるチャットボット等として利用されてもよい。
【0018】
<実施の形態に係る応答生成装置1の機能構成>
図2は、実施の形態に係る応答生成装置1の機能構成を模式的に示す図である。応答生成装置1は、記憶部2と制御部3とを備える。
図2において、矢印は主なデータの流れを示しており、
図2に示していないデータの流れがあってもよい。
図2において、各機能ブロックはハードウェア(装置)単位の構成ではなく、機能単位の構成を示している。そのため、
図2に示す機能ブロックは単一の装置内に実装されてもよく、あるいは複数の装置内に分かれて実装されてもよい。機能ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてもよい。
【0019】
記憶部2は、応答生成装置1を実現するコンピュータのBIOS(Basic Input Output System)等を格納するROM(Read Only Memory)や応答生成装置1の作業領域となるRAM(Random Access Memory)、OS(Operating System)やアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するHDD(Hard Disk Drive)やSSD(Solid State Drive)等の大容量記憶装置である。
【0020】
制御部3は、応答生成装置1のCPU(Central Processing Unit)やGPU(Graphics Processing Unit)等のプロセッサであり、記憶部2に記憶されたプログラムを実行することによって取得部30、発話分類部31、応答文生成部32、及び出力部33として機能する。
【0021】
なお、
図2は、応答生成装置1が単一の装置で構成されている場合の例を示している。しかしながら、応答生成装置1は、例えばクラウドコンピューティングシステムのように複数のプロセッサやメモリ等の計算リソースによって実現されてもよい。この場合、制御部3を構成する各部は、複数の異なるプロセッサの中の少なくともいずれかのプロセッサがプログラムを実行することによって実現される。
【0022】
取得部30は、発話者Uの発話の音声データを取得する。音声データは、マイクロフォン等のデバイスによってアナログ/デジタル変換されたデジタルデータであり、発話の音声の波形データである。
【0023】
発話分類部31は、取得部30が取得した音声データを解析して、発話者Uの発話を要談と雑談とのいずれかに分類する。応答文生成部32は、発話が要談に分類された場合、発話に対する要談用の応答文を生成する。また、応答文生成部32は、発話が雑談に分類された場合、発話に対する雑談用の応答文を生成する。
【0024】
図3は、実施の形態に係る応答文生成部32の内部構造を模式的に示す図である。
図3に示すように、応答文生成部32は、要談応答文生成部320と雑談応答文生成部321とを備える。応答文生成部32の要談応答文生成部320は、発話が要談に分類された場合、発話に対する要談用の応答文を生成する。同様に、応答文生成部32の雑談応答文生成部321は、発話が雑談に分類された場合、発話に対する雑談用の応答文を生成する。
【0025】
図2の説明に戻り、出力部33は、応答文生成部32が生成した応答文を出力用のユーザインタフェースに出力する。出力部33は、出力用のユーザインタフェースがモニタ装置である場合には、応答文を文字列としてモニタ装置に出力する。出力部33は、出力用のユーザインタフェースがスピーカ等の音声出力である場合、図示しない音声合成部を介して応答文を音声に変換して出力する。なお、
図1に示すように応答生成装置1がアバターAに搭載されているような場合には、出力部33は、応答文を変換した文字列又は音声による出力に加えて、あるいはこれに替えて、応答文を表情や手話のような表現に変換して出力してもよい。
【0026】
このように、実施の形態に係る応答生成装置1は、発話者Uの発話が用談か雑談かを分類した後に、分類に応じて応答文を生成するので、雑談のみならず、要談に対応して応答文を生成することができる。
【0027】
図4は、実施の形態に係る発話分類部31の内部構成を模式的に示す図である。発話分類部31は、文節分割部310、意味分類部311、文脈分割部312、発話種類特定部313、及び決定部314を備える。
図4を参照して、対話が要談又は雑談のいずれかに分類する手法についてより詳細に説明する。
【0028】
文節分割部310は、取得部30が取得した音声データを解析して、発話を文節に分割する。文節分割部310は、既知の音声テキスト変換技術を用いて音声データをテキストデータに変換した後、既知の形態素解析技術を用いてテキストデータを形態素に分解し、さらに既知の係り受け解析を利用して文節に分解する。
【0029】
意味分類部311は、文節分割部310が分割した文節それぞれを、その文節の意味を示す複数の意味カテゴリーのいずれかに分類する。
図5は、実施の形態に係る意味分類部311が分類する意味カテゴリーの一例を表形式で示す図である。
図5に示すように、複数の意味カテゴリーそれぞれには意味識別子が割り当てられており、記憶部2に格納されている。意味分類部311は、例えば、文節分割部310が分割した文節が「私は」や「子犬が」のように主格をしている場合、その文節の意味カテゴリーを主格に分類する。このように、意味分類部311は、文節分割部310が分割した全ての文節に対して意味カテゴリーを割り当てる。
【0030】
文脈分割部312は、文節それぞれの意味カテゴリーに基づいて、発話を文脈単位に分割する。ここで、文脈とは、発話文を構成する文節同士の意味的関連のまとまりを表す。一例として、発話文が「私は、フライドポテトと、チーズバーガーと、ホットコーヒーをください。あ、ホットコーヒーでなくてアイスでお願いします。」であったとする。この場合、文脈分割部312が分割して得られる最終的な文脈は「私(発話者U)は、フライドポテトをください。」、「私は、チーズバーガーをください。」、及び「私は、アイスコーヒーをください。」の3つとなる。
【0031】
決定部314は、分割された文脈それぞれに含まれる文節の意味カテゴリーに基づいて発話が要談と雑談とのいずれに分類されるかを決定する。上記の「私は、フライドポテトをください。」の例は典型的な依頼文脈であり、発話者Uの明確な伝達事項が存在する。また、フライドポテトの要求という意味からハンバーガーショップにおける売買契約に付随する発話である。この場合、決定部314は、「私は、ポテトをください。」を要談に分類する。
【0032】
図6は、実施の形態に係る決定部314が実行する決定処理の流れを説明するためのフローチャートである。決定部314は、まず、分割された文脈が依頼文脈か否かを判定する。分割された文脈が依頼文脈でない場合(S2のNo)、決定部314は、分割された文脈が質問文脈か否かを判定する。分割された文脈が質問文脈でない場合(S4のNo)、決定部314は、分割された文脈が提案文脈か否かを判定する。
【0033】
分割された文脈が提案文脈でない場合(S6のNo)、決定部314は、分割された文脈が意見文脈か否かを判定する。分割された文脈が意見文脈でない場合(S8のNo)、決定部314は、分割された文脈は雑談であると決定する(S10)。
【0034】
分割された文脈が質問文脈である場合(S4のYes)、分割された文脈が提案文脈である場合(S6のYes)、又は、分割された文脈が意見文脈である場合(S8のYes)、決定部314は、文脈の動作主格が二人称か否かを判定する。
【0035】
文脈の動作主格が二人称である場合(S12のYes)、決定部314は、分割された文脈は雑談であると決定する(S10)。文脈の動作主格が二人称でない場合(S12のNo)、決定部314は、文脈の目的格が、対話が行われている場や場面において予め定められたドメインに含まれるものと一致するか否かを判定する。ここで「ドメイン」は要談が行われる場や場面を意味し、例えば、レストランにおける食事の注文、タクシーにおける行き先の伝達、自動車事故の受付、商品の価格交渉等、種々の場や場面が存在する。
【0036】
文脈の目的格がドメインに一致しない場合(S14のNo)、決定部314は、分割された文脈は雑談であると決定する(S10)。文脈の目的格がドメインに一致する場合(S14のYes)、又は分割された文脈が依頼文脈である場合(S2のYes)、決定部314は、分割された文脈は要談であると決定する(S16)。
【0037】
なお、要談と雑談との決定に先立って、発話種類特定部313が、分割された文脈それぞれに含まれる文節の意味カテゴリーに基づいて、各文脈の発話種類を特定してもよい。例えば、上記の「私は、フライドポテトをください。」の例では、主格(私)が発する、依頼(ください)の文脈であり、対象は(フライドポテト)であり、発話種類「依頼文脈」と特定する。発話種類は、依頼文脈の他、質問文脈、回答文脈、挨拶文脈、相槌文脈、提案文脈、意見文脈等が挙げられる。これにより、決定部314における要談・雑談の決定の精度を向上することができる。このように、発話分類部31は、発話に含まれる文脈の意味や発話種類を解析することで、発話が要談か否かを精度よく分類することができる。
【0038】
なお、
図6に示した決定処理の流れは一例にすぎず、当該決定処理の趣旨を逸脱しない範囲で変更することができる。例えば、決定部314は、必ずしも質問文脈であるか、提案文脈であるか、意見文脈であるかの判定を順次行うものでなく、これらの判定を同時に行ってもよいし、動作主格は二人称であるか、目的格はドメインと一致するかの判定を別個に行わず同時に行ってもよい。また、決定部314は、依頼文脈・質問文脈・提案文脈・意見文脈のいずれであるか、あるいはこれらに該当しないか、という判定と、動作主格は二人称であるか、目的格はドメインと一致するか、という判定を順次判定するものでなく、これら判定要素を組み合わせて総合的に判定するものでもよいし、さらに、決定部314は、他の判定要素を含めて判定するようにしてもよいし、他の判定要素にその一部の判定要素を置き換えて判定してもよい。
【0039】
続いて、要談における応答文の生成について説明する。
図7は、実施の形態に係る要談応答文生成部320の内部構成を模式的に示す図である。要談応答文生成部320は、文脈抽出部3200、特徴型分類部3201、文生成部3202、情報判定部3203、通知部3204、及び記録部3205を備える。
【0040】
上述したように、「要談」は、依頼、質問、提案、意見等、明確な伝達事項が存在する対話である。中でも、店舗における購入や、タクシーの乗車、カスタマーセンターにおける質問や対応依頼等、依頼及び質問は要談の中心的な役割を担う。そこで、要談に係る対話に応答するために、文脈抽出部3200は、文脈それぞれから質問に関する文脈と依頼に関する文脈とを抽出する。
【0041】
特徴型分類部3201は、抽出された質問に関する文脈と依頼に関する文脈とのそれぞれについて、あらかじめ定められたいずれかの特徴型に分類する。特に、特徴型分類部3201は、その文脈を要談の対象とするドメイン毎に文脈を特徴型に分類してもよい。
【0042】
ここで、「特徴型」とは、要談における応答文を生成するために、要談の文脈をあらかじめ複数の型に分類したものである。発話者Uの発話の文脈は種々存在するが、要談においては明確な伝達事項が存在するため、発話が想定しているドメイン(例えば、発話が行われる業務等)を特定すれば、発話者Uの発話パターンを決定できる。
【0043】
図8は、実施の形態に係る特徴型分類部3201が分類する特徴型を表形式で示す図である。
図8に示すように、特徴型分類部3201は、文脈を5つの項目から構成される特徴型に分類する。各項目には、型識別子が付与されている。例えば、家電等を販売するドメインにおいてなされた発話者Uの発話から文脈抽出部3200が抽出した文脈が「一番安い商品はどれでしょうか?」であったとする。この場合、特徴型分類部3201は、特徴型種類を質問の回答が単品の回答を期待している「単品説明」、7W3H1Y定数を程度を意味する「How」、定数分類要素を「金額」、肯定否定を「肯定」、個別特性要素を「一番安い」とする。
【0044】
文生成部3202は、抽出した質問に関する文脈及び依頼に関する文脈それぞれについて、分類された特徴型に基づいて応答文を生成する。上述の例では、文生成部3202は、家電等を販売するドメインにおける全商品の中から一番安い商品の商品名と単価金額と記述する応答文を生成する。出力部33は、抽出した質問に関する文脈及び依頼に関する文脈それぞれの応答文を順に出力する。このように、要談応答文生成部320は、要談の文脈の特徴型に応じて応答文を生成するため、要談に対して適切な応答文を生成できる。
【0045】
上述したように、「要談」は、依頼、質問、提案、意見等、明確な伝達事項が存在する対話である。このため、要談応答文生成部320は、発話者Uの伝達事項を全て捉えることで、はじめて応答文を生成できる。これはすなわち、要談応答文生成部320は、発話者Uの伝達事項を全て捉え終わるまでは、発話者Uから伝達事項を引き出す必要があることを意味する。
【0046】
そこで、情報判定部3203は、抽出された質問に関する文脈と依頼に関する文脈とのそれぞれについて、要談用の応答文を生成するための情報がそろっているか否かを判定する。例えば、ファーストフードを小売りするドメインにおいてなされた発話者Uの発話から文脈抽出部3200が抽出した文脈の一つが「フライドポテトください。」であったとする。この場合、定数分類要素は「サイズ」であるが、個別特性要素(サイズを示すS、M、又はLのいずれか)が不明である。この場合、情報判定部3203は、応答文を生成するための情報が不足していると判定する。
【0047】
文生成部3202は、応答文を生成するための情報が不足していると判定された場合、その情報を問い合わせるための応答文を生成する。上述の例では、文生成部3202は、フライドポテトのサイズを問い合わせるための応答文を生成する。これにより、応答生成装置1は、要談における発話者Uの伝達事項を漏れなく引き出すための応答文を作成することができる。
【0048】
上述したように、要談においては明確な伝達事項が存在するため、発話が想定しているドメインを特定すれば、発話者Uの発話パターンを決定でき、応答生成装置1の管理者は、あらかじめ特徴型を準備することができる。しかしながら、事前に全てのパターンを準備できるとは限らず、発話者Uとの会話の中で分類できないパターンが生じる可能性があることは否定できない。
【0049】
そこで、通知部3204は、特徴型分類部3201によって文脈がいずれの特徴型にも分類できないと判定された場合、発話の発話者Uとの会話を引き継ぐオペレータに通知する。記録部3205は、オペレータの発話とその発話に対する発話者Uの応答とを、文脈と紐づけて記憶部2に記録する。これにより、応答生成装置1は、オペレータの発話の補完により発話者Uとの会話を完結することができる上、オペレータの発話とその発話に対する発話者Uの応答とに基づいて特徴型をアップデートすることができ、以後の同様の内容の対話においてオペレータの発話に頼ることなく発話者Uとの会話を完結することができるようになる。
【0050】
要談においては発話者Uの明確な伝達事項があるので、応答生成装置1の最終目的は発話者Uの伝達事項を引き出して発話者Uの確認を得ることとも言える。そこで、要談応答文生成部320の文生成部3202は、制御部3が要談用の応答文の出力を終えた後に、発話の発話者Uに依頼された事項を復唱するための応答文を作成する。この応答文を制御部3が出力することにより、応答生成装置1は、発話者Uの伝達事項を発話者Uに確認することができる。
【0051】
以上、要談における応答文の生成について説明した。続いて、
図9を参照して、雑談における応答文の生成について説明する。
【0052】
図9は、実施の形態に係る雑談応答文生成部321の内部構成を模式的に示す図である。雑談応答文生成部321は、発話者特定部3210、モデル取得部3211、文生成部3212、文脈特定部3213、質問文生成部3214、及び学習データ保存部3215を備える。
【0053】
雑談は要談とは異なり、挨拶や世間話等、ビジネスにおける対話のような明確な伝達事項は存在せず、対話を行う者同士の状況に依存して進行する対話である。したがって、発話の内容は発話者Uの趣味や好みに関連することも多くあるので、応答生成装置1が雑談に応答するために発話者Uを特定することは有用である。
【0054】
そこで、発話者特定部3210は、発話分類部31中の文脈分割部312によって分割された文脈それぞれに含まれる文節の意味カテゴリーに基づいて、発話者Uを特定する。例えば、発話者特定部3210は、文節に含まれる意味カテゴリーの主格が「私」であり、主格の後に人物の固有名詞が現れた場合、発話者Uがその固有名詞の人物であると推定する。別の例として、文節に含まれる意味カテゴリーの主格が「私の住所」であり、その後に地名が現れた場合、発話者特定部3210は、発話者Uが同地名の地に住む人物であると推定する。
【0055】
モデル取得部3211は、発話者特定部3210が特定した発話者U毎に、機械学習によって生成された対話モデルを記憶部2から読み出して取得する。記憶部2には、あらかじめ複数の発話者Uそれぞれについて、発話者U固有の雑談対話モデルが格納されている。既知の技術のため詳細は省略するが、雑談対話モデルは、例えば、全ての発話者Uに共通の一般対話モデルをBERT(Bidirectional Encoder Representations from Transformers)等の機械学習手法を用いて作成し、かつ各発話者Uに固有の雑談対話モデルをTransformerによるファインテューニングであらかじめ作成しておけばよい。なお、一般対話モデルは、例えばインターネット上のニュースや各種SNS(Social Networking Service)、オンライン百科事典等の情報を用いて機械学習によって生成すればよい。
【0056】
文生成部3212は、分割された文脈それぞれにモデル取得部3211が取得した対話モデルを適用することで、各文脈に対する応答文を生成する。このように、発話者U毎に対話モデルを用意することにより、応答生成装置1は、各発話者Uに閉じた個人だけの情報に基づいて応答文を作成することができる。
【0057】
ここで、発話者Uに閉じた個人だけの情報は、要談における特徴型とは異なり、あらかじめ情報を用意しておくことは困難な場合がある。したがって、応答生成装置1は、発話者Uとの対話の中で発話者Uに固有の話題を収集し、学習するのが現実的である。
【0058】
そこで、文脈特定部3213は、分割された文脈それぞれに含まれる文節の意味カテゴリーに基づいて、発話者に固有の話題に関する文脈を特定する。例えば、発話者Uの発話から文脈抽出部3200が抽出した文脈が「私の好きな動物は猫」であったとする。この文脈の主格は「私」すなわち発話者Uであり、動作が「好き」であるため、文脈特定部3213は、発話者Uの個人的な好みを示す文脈と判定する。
【0059】
また、発話者Uとの雑談においては、応答生成装置1は、発話者Uに固有の情報を積極的に収集してもよい。このため、質問文生成部3214は、発話者Uに固有の話題に関連する質問であって発話者Uに関する情報を引き出すための質問を含む応答文を生成する。例えば、上述の「私の好きな動物は猫」という文脈に関連して、質問文生成部3214は、発話者Uの好みに関する質問として、「好きな料理はなんですか」、「旅行に行くならどこですか」、「どんな乗り物が好きですか」、「旅行に行くなら誰と行きますか」等の質問を生成する。さらに、「旅行に行くなら誰と行きますか」という質問に対して発話者Uが「家族と行きたい」という返答を返したとすると、質問文生成部3214はさらに「家族構成はどうですか」、「子供は何が得意ですか」等、発話者Uに固有の話題に関連する質問をさらに生成してもよい。
【0060】
学習データ保存部3215は、質問文生成部3214が生成した質問を含む応答文と、質問を含む応答文に対す発話者Uの回答とを対応づけて、対話モデルの学習データとして記憶部2に保存する。これにより、例えば応答生成装置1は、発話者U固有の雑談対話モデルを再学習するための学習データを蓄積することができる。例えば、応答生成装置1の管理者は、発話者Uの固有の話題に関連する質問を含む応答文に対して発話者Uが過去に回答した情報を用いて再学習することにより、発話者U固有の雑談対話モデルを更新することができる。
【0061】
<応答生成装置1が実行する情報処理方法の処理フロー>
図10は、実施の形態に係る応答生成装置1が実行する情報処理の流れを説明するためのフローチャートである。本フローチャートにおける処理は、例えば応答生成装置1が起動したときに開始する。
【0062】
取得部30は、発話者Uの発話の音声データを取得する(S22)。発話分類部31は、取得部30が取得した音声データを解析して、発話を要談と雑談とのいずれかに分類する(S24)。
【0063】
応答文生成部32は、発話が要談に分類された場合(S26のYes)、発話に対する要談用の応答文を生成する(S28)。応答文生成部32は、発話が雑談に分類された場合(S26のNo)、発話に対する雑談用の応答文を生成する(S30)。出力部33は、応答文生成部32が生成した応答文を出力する(S32)。
【0064】
<実施の形態に係る応答生成装置1が奏する効果>
以上説明したように、実施の形態に係る応答生成装置1によれば、対話を要談と雑談とに分類する技術を提供することができる。
【0065】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の全部又は一部は、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果をあわせ持つ。
【符号の説明】
【0066】
1・・・応答生成装置
2・・・記憶部
3・・・制御部
30・・・取得部
31・・・発話分類部
310・・・文節分割部
311・・・意味分類部
312・・・文脈分割部
313・・・発話種類特定部
314・・・決定部
32・・・応答文生成部
320・・・要談応答文生成部
3200・・・文脈抽出部
3201・・・特徴型分類部
3202・・・文生成部
3203・・・情報判定部
3204・・・通知部
3205・・・記録部
321・・・雑談応答文生成部
3210・・・発話者特定部
3211・・・モデル取得部
3212・・・文生成部
3213・・・文脈特定部
3214・・・質問文生成部
3215・・・学習データ保存部
33・・・出力部