JP7327647B2 - 発話生成装置、発話生成方法、プログラム - Google Patents

発話生成装置、発話生成方法、プログラム Download PDF

Info

Publication number
JP7327647B2
JP7327647B2 JP2022508637A JP2022508637A JP7327647B2 JP 7327647 B2 JP7327647 B2 JP 7327647B2 JP 2022508637 A JP2022508637 A JP 2022508637A JP 2022508637 A JP2022508637 A JP 2022508637A JP 7327647 B2 JP7327647 B2 JP 7327647B2
Authority
JP
Japan
Prior art keywords
experience
utterance
context
understanding result
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022508637A
Other languages
English (en)
Other versions
JPWO2021186525A1 (ja
Inventor
宏美 成松
弘晃 杉山
雅博 水上
庸浩 有本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2021186525A1 publication Critical patent/JPWO2021186525A1/ja
Application granted granted Critical
Publication of JP7327647B2 publication Critical patent/JP7327647B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Description

特許法第30条第2項適用 (1)ウェブサイトの掲載日 2019年5月27日 ウェブサイトのアドレス https://www.kecl.ntt.co.jp/openhouse/2019/ (2)発行日 2019年9月1日 刊行物 NTT技術ジャーナル Vol.31 No.9 p22~25 (3)展示日 2019年11月12日~15日(公知日:2019年11月12日) 展示会名、開催場所 NTT R&Dフォーラム2019 NTT武蔵野研究開発センタ(東京都武蔵野市緑町3-9-11) (4)ウェブサイトの掲載日 2019年11月14日 ウェブサイトのアドレス https://www.ntt-review.jp/archive/ntttechnical.php?contents=ntr201911fa5.html https://www.ntt-review.jp/archive_ja/2019/201911.html (5)発行日 2019年11月20日 刊行物 人工知能学会 第87回言語・音声理解と対話処理研究会資料(第10回対話システムシンポジウム)SIG-SLUD-B902-14 p68-73 (6)発行日 2019年11月20日 刊行物 人工知能学会 第87回言語・音声理解と対話処理研究会資料(第10回対話システムシンポジウム)SIG-SLUD-B902-12 p58-61
本発明は、発話を生成する技術に関する。
現在、ユーザと対話するシステムの実現に向けた研究が盛んに行われている。例えば、非特許文献1に記載の方法では、発話とその応答のペアを大規模に学習させることにより、ユーザとシステムとの対話を実現する。しかし、この方法では、システムが少しずれた応答をしてしまうことがあり、ユーザにシステムが理解していないことが伝わってしまうという問題がある。
そこで、システムがユーザの発話を理解していることをユーザに示すために、“直前のユーザの発話の一部を繰り返す”という方法を用いることがある(非特許文献2参照)。この方法は、人と人とのコミュニケーションにおいて用いられる方法を模倣したものであり、その有効性も知られている(非特許文献3参照)。
目黒 豊美, 杉山 弘晃, 東中 竜一郎, 南 泰浩, "ルールベース発話生成と統計的発話生成の融合に基づく対話システムの構築", 人工知能学会全国大会論文集第28回全国大会, 一般社団法人 人工知能学会, 2014. Ryuichiro Higashinaka, Kohji Dohsaka, and Hideki Isozaki, "Effects of self-disclosure and empathy in human-computer dialogue,"2008 IEEE Spoken Language Technology Workshop, IEEE, 2008. Tatsuya Kawahara, "Spoken dialogue system for a human-like conversational robot ERICA," 9th International Workshop on Spoken Dialogue System Technology, Springer, Singapore, 2019.
確かに、非特許文献2に記載の方法は、ユーザに発話を理解していることを示す有効な方法ではある。しかし、この方法では、不適切な発話の一部を取り上げ繰り返してしまうことがあり、その場合、ユーザに“理解していない”という印象を与えてしまうという問題がある。また、この方法では、システムは文脈をそもそも理解しているわけではないため、直前の発話よりも前の発話についての内容が反映されない応答をしてしまうという問題もある。
そこで本発明では、対話の文脈を示すデータを生成し、対話の文脈を示すデータに基づいて発話を生成する技術を提供することを目的とする。
本発明の一態様は、体験の時期を示す項目である体験時期と、体験の場所を示す項目である体験場所と、体験を共有した者を示す項目である体験者と、体験の内容を示す項目である体験内容と、体験に関する感想を示す項目である体験感想とを含むデータ構造を文脈クラス、文脈クラスに含まれる項目(以下、文脈項目という)である体験時期、体験場所、体験者、体験内容、体験感想と、体験に関する感想の根拠を示す項目である体験感想理由とを含むデータ構造を体験クラス、発話の生成に用いるテンプレート(以下、発話テンプレートという)を識別するための情報(以下、テンプレートIDという)と、発話テンプレートと、発話テンプレートの種別を示す発話カテゴリと、発話テンプレートの焦点を示す文脈項目(以下、焦点項目という)とを含むデータ構造を発話テンプレートクラスとし、体験クラスのデータから構成される体験データベースと、発話テンプレートクラスのデータから構成される発話テンプレートデータベースとを記録する記録部と、ユーザの発話を表す入力テキストから抽出される、文脈項目とその値の組を含むデータ(以下、フレーズという)を要素とする集合であるフレーズ集合を生成するフレーズ抽出部と、前記フレーズ集合を用いて、現時点における対話の文脈を示す文脈クラスのデータ(以下、更新前文脈理解結果という)から、最新の対話の文脈を示す文脈クラスのデータ(以下、更新後文脈理解結果という)を生成する文脈理解結果更新部と、前記更新後文脈理解結果と体験データベースに含まれる体験クラスのデータとの間で計算される類似度に基づいて1以上の体験クラスのデータを類似体験として選択し、前記更新前文脈理解結果と前記更新後文脈理解結果とを用いて発話テンプレートデータベースから発話テンプレートクラスのデータを発話テンプレート候補として選択する対話制御部と、前記更新後文脈理解結果と前記類似体験と前記発話テンプレート候補とを用いて、前記入力テキストに対する応答となる発話を表す出力テキストを生成する発話生成部と、を含む。
本発明によれば、対話の文脈を示すデータに基づいて発話を生成することが可能となる。
従来の対話システムにおける対話の例を示す図である。 本願発明に基づく対話システムで目指す対話の例を示す図である。 本願発明のアプローチを説明する図である。 本願発明のアプローチを説明する図である。 発話テンプレートの一例を示す図である。 発話生成装置100の構成を示すブロック図である。 発話生成装置100の動作を示すフローチャートである。 文脈理解結果の一例を示す図である。 類似度を説明する図である。 発話テンプレートから発話を生成する際に用いる更新後文脈理解結果と類似体験の一例を示す図である。 発話テンプレートから発話を生成する際に用いる更新後文脈理解結果と類似体験の一例を示す図である。 本発明の実施形態における各装置を実現するコンピュータの機能構成の一例を示す図である。
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
各実施形態の説明に先立って、この明細書における表記方法について説明する。
^(キャレット)は上付き添字を表す。例えば、xy^zはyzがxに対する上付き添字であり、xy^zはyzがxに対する下付き添字であることを表す。また、_(アンダースコア)は下付き添字を表す。例えば、xy_zはyzがxに対する上付き添字であり、xy_zはyzがxに対する下付き添字であることを表す。
ある文字xに対する^xや~xのような上付き添え字の”^”や”~”は、本来”x”の真上に記載されるべきであるが、明細書の記載表記の制約上、^xや~xと記載しているものである。
<技術的背景>
ここでは、まず、従来の対話システムにおける対話においてユーザがどのような経緯で対話システムの対話能力に疑念をいだくようになるかについて、例を用いて説明する。そして、次に、本願発明に基づく対話システムで目指す対話の例について説明し、その実現のために採用するアプローチについて説明する。
(従来の対話システムにおける対話の例)
図1は、一問一答ベースの雑談対話システムにおける対話の例を示す。図1では、便宜上、ユーザの発話について、U1, U2, …、対話システムの発話について、S1, S2, …といった符号を付している。また、ユーザの発話中にある括弧はユーザの内心を描写したものである。
図1の対話では、対話システムは、S2において、“たこ焼きといえば大阪だね。大阪には行ったことがある?”と発話している。しかし、ユーザは、U1において、“夏休みに大阪行ったよ。”と発話している。そのため、対話システムは、過去に言及があった内容について質問をしていることになり、ユーザがその理解力に疑問を感じる一因になっている。
また、対話システムは、S3において、“いいね。大阪は道頓堀が賑やか。”と発話し、突然道頓堀に話題をふっている。つまり、対話システムは、その時点の文脈である、たこ焼きの話題からずれた発話をしていることになり、これもユーザがその理解力に疑問を感じる一因になっている。
さらに、対話システムは、S4において、特に理由を提示することもなく、“道頓堀もいいね。”と発話している。そのため、ユーザは対話システムが共感を示してくれているように感じることができなくなり、最終的に無言になっている。
上記対話では、対話システムは文脈を理解することなく、発話を繰り返しているため、既に言及した内容に関する質問をしてしまったり、対話の流れに沿わない不自然な発話をしてしまったりしている。そのため、ユーザが対話システムに対話能力がないと感じ、対話システムによる発話への信用が低下する結果を招いている。
(本願発明に基づく対話システムで目指す対話の例)
図2は、本願発明に基づく対話システムで目指す対話の例を示す。図2では、図1と同様、便宜上、ユーザの発話について、U1, U2, …、対話システムの発話について、S1, S2, …といった符号を付している。
図2の対話では、対話システムは、S1において、“大阪、いいね。海遊館とか行った?”と発話している。対話システムは、相槌をうった後、具体的な観光施設の名前を挙げ文脈に整合した質問をしている。
また、対話システムは、S2において、“行けなくて残念だったね。たこ焼きとか食べた?”と発話し、対話システムは、文脈に沿って話題を展開するような発話をしている。
さらに、対話システムは、S3において、“いいよね。僕も食べたよ。熱々とろとろで美味しかった。”と発話し、対話システムは、ユーザが気持ちを理解している感じることができるような共感を示す発話をしている。
上記対話では、対話システムは、文脈を踏まえて発話することにより、対話全体を通して、ユーザの気持ちを理解した発話、あるいは、対話システムは気持ちが理解できる相手であるとユーザに感じてもらえるような発話をしている。
(本願発明のアプローチ)
本願発明では、対話の文脈を“いつ”、“どこで”、“誰と”、“何を”、“感想”という構造で理解するとともに、当該構造を包含する構造を有する体験に関するデータベース(以下、体験データベースという)を用いることで、共感を示す発話や文脈に沿った質問をするアプローチを採用する。以下、図を用いて説明する。
図3、図4は、ある対話において、対話システムがどのように文脈を理解し、その結果どのような発話をしているのかを示した図である。図3、図4においても、便宜上、ユーザの発話について、U1, U2, …、対話システムの発話について、S1, S2, …といった符号を付している。さらに、図3、図4では、対話システムが理解した文脈(以下、文脈理解結果という)については、C1, C2, …、体験を示すデータ(以下、体験データという)については、E1, E2, …といった符号を付している。
図3の対話では、ユーザは、U1において、“夏休みにたこ焼き食べたよ。”と発話している。それに対し、対話システムは当該発話を文脈理解結果C1として理解する。そして、対話システムは、文脈理解結果C1の項目“どこで”が空であることから、S1において“どこで食べたの?”という発話をしている。
そして、ユーザは、S1の応答となるU2において、“大阪で食べたよ。”と発話している。対話システムは、文脈理解結果C1をふまえた上で、ユーザの新たな発話U2を文脈理解結果C2として理解する。そして、対話システムは、体験データベースを用いて、文脈理解結果C2に類似する体験データE1を検索結果として得、S2において“僕もなんばで友達と食べたよ。たこ焼き美味しいよね。”と発話し、体験を根拠とした共感をユーザに示している。
さらに、図4の対話では、ユーザは、対話システムによる発話S2に対する応答として、U3において、“食べたんだね。美味しいよね。”と発話している。対話システムは、文脈理解結果C2をふまえた上で、ユーザの新たな発話U3を文脈理解結果C3として理解する。そして、対話システムは、体験データベースを用いて、文脈理解結果C3に類似する体験データE2を検索結果として得、S3において“夏に大阪だと、海遊館とか行った?”と発話し、“夏”、“大阪”という文脈にそった質問をユーザにしている。
<第1実施形態>
発話生成装置100は、対話中のユーザの発話に対する応答となる発話を生成する。その際、発話生成装置100は、ユーザとの対話の流れである文脈を理解するために、文脈クラスと呼ぶデータ構造を用い、文脈クラスのデータである文脈理解結果を生成する。ここで、文脈クラスは、体験の時期を示す項目である体験時期と、体験の場所を示す項目である体験場所と、体験を共有した者を示す項目である体験者と、体験の内容を示す項目である体験内容と、体験に関する感想を示す項目である体験感想とを含むデータ構造である。体験時期、体験場所、体験者、体験内容、体験感想は、<技術的背景>で説明した“いつ”、“どこで”、“誰と”、“何をした”、“感想”の5つの項目にそれぞれ対応する。
また、発話生成装置100は、自らがあたかも体験したり、体験を伝え聞いたりしたかのような発話を生成するために、体験データベースを用いる。ここで、体験データベースとは、体験クラスのデータから構成されるデータベースであり、体験クラスとは、文脈クラスに含まれる項目(以下、文脈項目という)である体験時期、体験場所、体験者、体験内容、体験感想と、体験に関する感想の根拠を示す項目である体験感想理由とを含むデータ構造のことである。
また、発話生成装置100は、発話を生成するために、発話テンプレートデータベースを用いる。ここで、発話テンプレートとは、発話のひな型となるテンプレートのことである。また、発話テンプレートデータベースとは、発話テンプレートクラスのデータから構成されるデータベースであり、発話テンプレートクラスとは、発話テンプレートを識別するための情報(以下、テンプレートIDという)と、発話テンプレートと、発話テンプレートの種別を示す発話カテゴリと、発話テンプレートの焦点を示す文脈項目(以下、焦点項目という)とを含むデータ構造のことである。
図5は、発話テンプレートデータベースの一例を示す。ここで、テンプレートIDは単にIDと略記している。図5の発話テンプレートクラスは、テンプレートID、発話テンプレート、発話カテゴリ、焦点項目の他、発話テンプレートの口調を示す口調ラベルと、感想の種別を示す感想カテゴリとを含む。
発話カテゴリの値には、質問、事前共感、関連質問、共感がある。事前共感とは、ユーザの体験に類似する自らの体験がある場合に後の発話にて自らの体験に基づいた発話するために、事前にユーザに共感を示すための発話のことである。ここで、ユーザの体験に類似する自らの体験がある場合とは、後述する、類似度が所定の閾値より大きいかそれ以上である類似体験がある場合のことである。
データベース発話カテゴリの値が関連質問または共感である場合、発話テンプレートは少なくとも1つ以上の文脈項目に関する補充欄がある。ここで、類似体験の体験時期、類似体験の体験場所、類似体験の体験者、類似体験の体験内容、類似体験の体験感想、類似体験の体験感想理由といった補充欄には、発話テンプレートから発話を生成する際に、後述する類似体験における体験時期、体験場所、体験者、体験内容、体験感想、体験感想理由の値が設定される。また、文脈理解結果の体験時期、文脈理解結果の体験場所、文脈理解結果の体験者、文脈理解結果の体験内容、文脈理解結果の体験感想といった補充欄には、発話テンプレートから発話を生成する際に、文脈理解結果における体験時期、体験場所、体験者、体験内容、体験感想、体験感想理由の値が設定される。
例えば、図5のテンプレートIDが3の発話テンプレートには、類似体験の体験場所、類似体験の体験内容、類似体験の体験感想理由、類似体験の体験感想の4つの補充欄がある。また、テンプレートIDが7の発話テンプレートには、文脈理解結果の体験感想、類似体験の体験感想理由、類似体験の体験感想の3つの補充欄がある。
一方、発話カテゴリの値が質問または事前共感である場合、発話テンプレートには文脈項目に関する補充欄はないことがある。図5のテンプレートIDが0, 1, 2の発話テンプレートは、いずれもその発話カテゴリの値が質問であるが、補充欄はない。それに対して、図5のテンプレートIDが8, 9, 10, 11の発話テンプレートは、その発話カテゴリの値が質問または事前共感であるが、それぞれ1つの補充欄があるものとなっている。
また、感想カテゴリの値には、肯定、否定がある。
以下、図6~図7を参照して発話生成装置100を説明する。図6は、発話生成装置100の構成を示すブロック図である。図7は、発話生成装置100の動作を示すフローチャートである。図6に示すように発話生成装置100は、初期化部110と、発話入力部120と、フレーズ抽出部130と、文脈理解結果更新部140と、対話制御部150と、発話生成部160と、発話出力部170と、記録部190を含む。記録部190は、発話生成装置100の処理に必要な情報を適宜記録する構成部である。記録部190は、体験データベースと発話テンプレートデータベースをあらかじめ記録しておく。また、記録部190には、ユーザとの対話の履歴を記録するために、ユーザの発話に相当する入力テキストと発話生成装置100の発話に相当する出力テキストとを時系列に記録するデータベース(以下、発話履歴データベースという)を記録するようにしてもよい。なお、発話履歴データベースに出力テキストを記録する際、当該出力テキストの生成に用いたテンプレートIDをあわせて記録するようにしてもよい。
図7に従い発話生成装置100の動作について説明する。
S110において、初期化部110は、ユーザとの対話を開始するために必要な初期化処理を行う。初期化処理は、例えば、発話生成装置100を起動する信号を対話開始の合図として開始されるのでもよいし、ユーザによる最初の発話を対話開始の合図として開始されるのでもよい。この初期化処理では、例えば、文脈理解結果が初期化される。具体的には、文脈理解結果の各文脈項目の値を、例えば、”NULL”のような空を示す値にする。
S120において、発話入力部120は、ユーザの発話を入力とし、ユーザの発話から、ユーザの発話を表すテキスト(以下、入力テキストという)を生成し、出力する。ユーザの発話のデータ形式には、任意のものを用いることができ、ユーザの発話は、例えば、テキスト、音声(音声信号)、バイナリデータとすることができる。ユーザの発話がテキストとして入力される場合、発話入力部120は、当該テキストをそのまま入力テキストとする。また、ユーザの発話が音声として入力される場合、発話入力部120は、所定の音声認識技術を用いて音声認識を行い、音声認識結果を入力テキストとして生成する。なお、音声認識技術には、音声から当該音声に対応するテキストを生成することができる任意のものを用いることができる。また、音声認識結果として複数の候補が得られる場合、発話入力部120は、当該候補とその信頼度の組をリストとしたものをフレーズ抽出部130の入力となるように出力してもよい。この場合、フレーズ抽出部130は、信頼度が最も高い候補を用いて、フレーズ抽出処理を実行するが、フレーズの抽出に失敗する場合には、次点の候補を用いて、フレーズ抽出処理を実行する。
S130において、フレーズ抽出部130は、S120で生成した入力テキストを入力とし、入力テキストから抽出される、文脈項目とその値の組を含むデータ(以下、フレーズという)を要素とする集合であるフレーズ集合を生成し、出力する。例えば、入力テキストが“道頓堀でたこ焼きを食べたよ”である場合、フレーズ抽出部130は、{(体験場所, ‘道頓堀’), (体験内容, ‘たこ焼きを食べた’)}をフレーズ集合として生成する。この例では、フレーズを(体験内容, ‘たこ焼きを食べた’)のように、文脈項目とその値の組としたが、その他の付随情報を含むようにしてもよい。例えば、(体験内容, [4:11], ‘たこ焼きを食べた’)のように、文脈項目と文字列の区間と当該文脈項目の値としてもよい。ここで、文字列の区間とは、入力テキストに含まれる文字を頭から順に0, 1, …と数えるものとし、当該文字列の最初の文字の位置と最後の文字の位置の組のことである。
なお、フレーズ抽出部130が体験感想とその値の組を含むフレーズを要素するフレーズ集合を生成する場合、フレーズ抽出部130は、入力テキストの感想カテゴリ、つまり、肯定なのか否定なのかを特定し、出力するようにしてもよい。この場合、発話生成部160は、入力テキストの感想カテゴリに基づいて、適切な相槌(例えば、“いいね”や“そっか”)を発話として生成することができる。
S140において、文脈理解結果更新部140は、S130で生成したフレーズ集合を入力とし、フレーズ集合を用いて、現時点における対話の文脈を示す文脈クラスのデータ(以下、更新前文脈理解結果という)から、最新の対話の文脈を示す文脈クラスのデータ(以下、更新後文脈理解結果という)を生成し、出力する。その際、文脈理解結果更新部140は、例えば、記録部190に記録している更新前文脈理解結果を読み出し、更新後文脈理解結果を記録部190に書き出す。この更新後文脈理解結果は、今回処理対象となっている入力テキストの次に発話生成装置100が生成する入力テキストが処理対象となったときの、更新前文脈理解結果となる。
以下、文脈理解結果の更新処理について詳しく説明する。
(1)文脈理解結果更新部140は、フレーズ集合の要素であるフレーズを1つ取り出す。
(2)文脈理解結果更新部140は、取り出したフレーズに含まれる文脈項目に対応する更新前文脈理解結果の文脈項目の値が空を示す値である場合は、フレーズに含まれる文脈項目の値を更新後文脈理解結果の文脈項目の値として書き出す。一方、文脈理解結果更新部140は、取り出したフレーズに含まれる文脈項目に対応する更新前文脈理解結果の文脈項目の値が空を示す値でない(すなわち、既に文脈項目の値が書き込まれている)場合は、フレーズに含まれる文脈項目の値を更新後文脈理解結果の文脈項目に追記する形で書き出す。
(3)文脈データ更新部140は、(1)、(2)の処理を繰り返し、フレーズ集合のすべての要素についての処理が終わったら、更新後文脈理解結果を記録部190に書き出し、処理を終了する。
例えば、フレーズ集合が{(体験場所, ‘道頓堀’), (体験内容, ‘たこ焼きを食べた’)}であり、更新前文脈理解結果が図8(a)のデータである場合、文脈理解結果更新部140は、図8(b)の更新後文脈理解結果を生成する。
S150において、対話制御部150は、記録部190に記録している更新前文脈理解結果とS140で生成した更新後文脈理解結果を入力とし、更新前文脈理解結果と更新後文脈理解結果とを用いて、類似体験と発話テンプレート候補を選択し、出力する。具体的には、対話制御部150は、更新後文脈理解結果と体験データベースに含まれる体験クラスのデータとの間で計算される類似度に基づいて1以上の体験クラスのデータを類似体験として選択する。また、対話制御部150は、更新前文脈理解結果と更新後文脈理解結果とを用いて発話テンプレートデータベースから発話テンプレートクラスのデータを発話テンプレート候補として選択する。
以下、類似体験の選択処理と発話テンプレート候補の選択処理について説明する。まず、類似体験の選択処理について詳しく説明する。
(類似体験の選択方法)
(1)対話制御部150は、体験データベースに含まれる体験クラスのデータを1つ取り出す。
(2)対話制御部150は、更新後文脈理解結果と取り出した体験クラスのデータとの類似度を計算する。類似度は、例えば、更新後文脈理解結果と体験クラスのデータにおける文脈項目ごとの文字列としての一致率に基づいて計算することができ、一致率が所定の割合(例えば、0.9)より大きいかそれ以上である文脈項目の数が多い体験クラスのデータの類似度の値が高くなるようにしてもよい(図9参照)。なお、文字列としての一致率の代わりに、形態素の列としての一致率を用いるようにしてもよい。ここで、形態素の列としての一致率とは、更新後文脈理解結果の文脈項目の文字列、体験クラスのデータにおける文脈項目の文字列をそれぞれ形態素解析して得られる2つの形態素の列に基づいて計算される一致率のことをいう。形態素の列としての一致率を用いる理由は、例えば、“東京都”と“京都”のように異なる場所を示す文字列であっても、文字列としては一致率が高くなってしまう場合もあり、このような場合でも形態素の列としては一致率は低くなり、誤判断を回避できるためである。また、すべての文脈項目について一致率を計算する代わりに、体験場所と体験内容の2つの文脈項目についてのみ一致率を計算するようにしてもよい。体験場所と体験内容の2つの文脈項目のみを用いて類似度を計算する理由は、場所と内容が体験を考えるうえで特に有益なものであり、体験場所と体験内容の2つの文脈項目を用いて計算される類似度が高い体験に基づく発話は、その他の文脈項目も用いて計算される類似度が高い体験に基づく発話よりもユーザの共感が得やすい(つまり、システムが共感したことをユーザにわかってもらいやすい)と考えられるからである。
(3)対話制御部150は、(1)、(2)の処理を繰り返し、体験データベースに含まれるすべての体験クラスのデータについての処理が終了した場合、類似度が大きい順に1以上の体験クラスのデータを類似体験として選択し出力後、処理を終了する。また、対話制御部150は、出力に際して、類似体験にあわせて当該類似体験の類似度を出力するようにしてもよい。
次に、発話テンプレート候補の選択処理について詳しく説明する。
(発話テンプレート候補の選択方法)
(1)対話制御部150は、更新前文脈理解結果と更新後文脈理解結果とに基づいて、更新された文脈理解結果の文脈項目を特定する。例えば、対話制御部150は、更新前文脈理解結果と更新後文脈理解結果の文脈項目を文字列として比較することで更新された文脈理解結果の文脈項目を特定することができる。
(2)対話制御部150は、更新された文脈理解結果の文脈項目に応じた方法により、発話テンプレート候補を選択する。以下、いくつか例を示す。これらの例は、いずれも、対話制御部150が、文脈理解結果の更新に関する条件判断を行い、その判断結果に応じた処理を実行する例となっている。
(2-1)対話制御部150が、更新前文脈理解結果と更新後文脈理解結果とに基づいて文脈理解結果の体験感想が更新されたと判断した場合
更新後文脈理解結果の体験場所の値が空を示す値であるときは、対話制御部150は、発話カテゴリが質問であり、焦点項目が体験場所を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。更新後文脈理解結果の体験内容の値が空を示す値であるときは、対話制御部150は、発話カテゴリが質問であり、焦点項目が体験内容を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。更新後文脈理解結果の体験場所の値、体験内容の値がいずれも空を示す値でないときは、対話制御部150は、発話カテゴリが共感であり、焦点項目が少なくとも体験場所、体験内容のいずれか一方を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。
なお、対話制御部150は、更新後文脈理解結果の体験場所の値、体験内容の値がいずれも空を示す値でない場合に選択した発話テンプレート候補が過去の発話において用いられたものでないかを発話履歴データベースを用いてチェックするようにしてもよい。選択した発話テンプレート候補が過去の発話において用いられたものである場合、対話制御部150は、発話カテゴリが質問であり、更新後文脈理解結果の文脈項目の値が空を示す値である発話テンプレートクラスのデータを発話テンプレート候補として選択するとよい。
(2-2)更新前文脈理解結果と更新後文脈理解結果とに基づいて文脈理解結果の体験内容が更新されたと判断した場合
類似度が所定の閾値より大きいかそれ以上である類似体験があるときは、対話制御部150は、発話カテゴリが事前共感である発話テンプレートクラスのデータを発話テンプレート候補として選択する。それ以外のときは、対話制御部150は、以下の3つの場合に応じて、処理を実行する。更新後文脈理解結果の体験場所の値が空を示す値であるときは、対話制御部150は、発話カテゴリが質問であり、焦点項目が体験場所を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。更新後文脈理解結果の体験感想の値が空を示す値であるときは、対話制御部150は、発話カテゴリが質問であり、焦点項目が体験感想を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。更新後文脈理解結果の体験場所の値、体験感想の値がいずれも空を示す値でないときは、対話制御部150は、発話カテゴリが共感であり、焦点項目が少なくとも体験場所、体験感想のいずれか一方を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。
なお、対話制御部150は、(2-1)と同様、選択した発話テンプレート候補が過去の発話において用いられたものでないかを発話履歴データベースを用いてチェックするようにしてもよい。
(2-3)更新前文脈理解結果と更新後文脈理解結果とに基づいて文脈理解結果の体験場所が更新されたと判断した場合
類似度が所定の閾値より大きいかそれ以上である類似体験があるときは、対話制御部150は、発話カテゴリが事前共感である発話テンプレートクラスのデータを発話テンプレート候補として選択する。それ以外のときは、対話制御部150は、以下の3つの場合に応じて、処理を実行する。更新後文脈理解結果の体験内容の値が空を示す値であるときは、対話制御部150は、発話カテゴリが質問であり、焦点項目が体験内容を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。更新後文脈理解結果の体験感想の値が空を示す値であるときは、対話制御部150は、発話カテゴリが質問であり、焦点項目が体験感想を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。更新後文脈理解結果の体験内容の値、体験感想の値がいずれも空を示す値でないときは、対話制御部150は、発話カテゴリが共感であり、焦点項目が少なくとも体験内容、体験感想のいずれか一方を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。
なお、対話制御部150は、(2-1)と同様、選択した発話テンプレート候補が過去の発話において用いられたものでないかを発話履歴データベースを用いてチェックするようにしてもよい。
(2-4)更新前文脈理解結果と更新後文脈理解結果とに基づいて文脈理解結果の体験時期が更新されたと判断した場合
更新後文脈理解結果の体験場所の値、体験内容の値がいずれも空を示す値でないときは、対話制御部150は、発話カテゴリが質問であり、焦点項目が体験時期と体験感想を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。更新後文脈理解結果の体験場所の値が空を示す値であるときは、対話制御部150は、発話カテゴリが関連質問であり、焦点項目が体験場所を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。更新後文脈理解結果の体験内容の値が空を示す値であるときは、対話制御部150は、発話カテゴリが関連質問であり、焦点項目が体験内容を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。
なお、対話制御部150は、(2-1)と同様、選択した発話テンプレート候補が過去の発話において用いられたものでないかを発話履歴データベースを用いてチェックするようにしてもよい。
(2-5)更新前文脈理解結果と更新後文脈理解結果とに基づいて文脈理解結果の体験者が更新されたと判断した場合
更新後文脈理解結果の体験場所の値、体験内容の値がいずれも空を示す値でないときは、対話制御部150は、発話カテゴリが質問であり、焦点項目が体験者と体験感想を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。更新後文脈理解結果の体験場所の値が空を示す値であるときは、対話制御部150は、発話カテゴリが関連質問であり、焦点項目が体験場所を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。更新後文脈理解結果の体験内容の値が空を示す値であるときは、対話制御部150は、発話カテゴリが関連質問であり、焦点項目が体験内容を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する。
なお、対話制御部150は、(2-1)と同様、選択した発話テンプレート候補が過去の発話において用いられたものでないかを発話履歴データベースを用いてチェックするようにしてもよい。
(2-6)対話制御部150が更新後文脈理解結果と体験データベースに含まれる体験クラスのデータにおける体験場所、または、体験内容の文字列または形態素の列としての一致率に基づいて計算される類似度を用いており、更新前文脈理解結果と更新後文脈理解結果とに基づいて文脈理解結果の体験場所が更新されたと判断した場合
対話制御部150は、発話カテゴリが共感であり、発話テンプレートには類似体験の体験場所、類似体験の体験感想、類似体験の体験感想理由に関する補充欄がある発話テンプレートクラスのデータを発話テンプレート候補として選択する。
なお、対話制御部150は、(2-1)と同様、選択した発話テンプレート候補が過去の発話において用いられたものでないかを発話履歴データベースを用いてチェックするようにしてもよい。
(2-7)対話制御部150が更新後文脈理解結果と体験データベースに含まれる体験クラスのデータにおける体験場所、または、体験内容の文字列または形態素の列としての一致率に基づいて計算される類似度を用いており、更新前文脈理解結果と更新後文脈理解結果とに基づいて文脈理解結果の体験内容が更新されたと判断した場合
対話制御部150は、発話カテゴリが共感であり、発話テンプレートには類似体験の体験内容、類似体験の体験感想、類似体験の体験感想理由に関する補充欄がある発話テンプレートクラスのデータを発話テンプレート候補として選択する。
なお、対話制御部150は、(2-1)と同様、選択した発話テンプレート候補が過去の発話において用いられたものでないかを発話履歴データベースを用いてチェックするようにしてもよい。
以上説明した(2-1)~(2-7)の各処理は、例えば、“(2-1)→(2-2)→(2-3)→(2-4)→(2-5)→(2-6)→(2-7)”のように、予め定めた順序に従い、文脈理解結果の更新に関する条件判断の結果に基づいて、処理を実行するようにしてもよい。
(3)対話制御部150は、発話テンプレート候補を出力する。なお、(1)の処理において特定された文脈理解結果の文脈項目が2以上ある場合、対話制御部150は、テンプレートを適用する順番を示す優先度を計算し、発話テンプレート候補とあわせて優先度を出力するようにしてもよい。また、優先度を出力する代わりに、対話制御部150は、発話テンプレート候補をリストにして出力することとし、当該リストでの出現順を優先度に対応させるようにしてもよい。
以下、優先度の計算方法について説明する。対話制御部150は、例えば、類似体験を用いて発話を生成する発話テンプレート(つまり、発話カテゴリが共感または関連質問である発話テンプレート)の優先度が高くなるように優先度を計算する。また、対話制御部150は、例えば、発話カテゴリが質問である発話テンプレートと発話カテゴリが共感である発話テンプレートができる限り交互に用いられるように、発話履歴データベースを用いて優先度を計算する。
S160において、発話生成部160は、記録部190に記録している更新後文脈理解結果とS150で選択した類似体験と発話テンプレート候補とを入力とし、更新後文脈理解結果と類似体験と発話テンプレート候補とを用いて、入力テキストに対する応答となる発話を表す出力テキストを生成、出力する。
以下、発話生成処理について詳しく説明する。
(1)発話テンプレート候補の発話カテゴリが共感である場合
発話生成部160は、類似体験の文脈項目、更新後文脈理解結果の文脈項目に基づいて発話テンプレート候補の補充欄を補充したうえで、出力テキストを生成する。つまり、発話生成部160は、発話テンプレート候補の補充欄に対応する文脈項目の値を設定する。例えば、更新後文脈理解結果が図10(a)のデータであり、類似体験が図10(b)のデータである場合、発話生成部160は、発話テンプレート“私も[類似体験の体験場所]で[類似体験の体験内容]よ。[類似体験の体験感想理由]ので[類似体験の体験感想]よ。”から発話“私もなんばでたこ焼きを食べたよ。熱々だったので美味しかったよ。”を生成する。
なお、類似度が所定の閾値より大きいかそれ以上である類似体験がある場合に限り、例えば、“私も[類似体験の体験場所]で[類似体験の体験内容]よ。[類似体験の体験感想理由]ので[類似体験の体験感想]よね。”のような、発話カテゴリが事前共感である発話テンプレート候補を用いるようにしてもよい。発話を生成する際、補充欄を文脈項目の文言のまま埋めてしまうと、“私もなんばでたこ焼きを食べたよ。熱々だったので美味しかったよね。”という不自然な文になることもあるため、“私もなんばでたこ焼きを食べたよ。熱々で美味しいよね。”という自然な文になるように変換する必要がある。当該変換を実現するための一例は、例えば、「だったので→で」、「しかったよね→しいよね」のような変換ルールを事前に作成しておくことである。これらの変換ルールに基づいて文字列置換を実行することで、自然な文を生成することが可能となる。
(2)発話テンプレート候補の発話カテゴリが関連質問である場合
発話生成部160は、類似体験の文脈項目、更新後文脈理解結果の文脈項目に基づいて発話テンプレート候補の補充欄を補充したうえで、出力テキストを生成する。つまり、発話生成部160は、発話テンプレート候補の補充欄に対応する文脈項目の値を設定する。例えば、更新後文脈理解結果が図11(a)のデータであり、類似体験が図11(b)のデータである場合、発話生成部160は、発話テンプレート“私も[類似体験の体験時期]に[類似体験の体験内容]よ。もしかして[類似体験の体験場所]とか行った?”から発話“私も7月に大阪行ったよ。もしかして海遊館とか行った?”を生成する。
(3)発話テンプレート候補の発話カテゴリが質問または事前共感である場合
発話テンプレート候補に補充欄がある場合は、発話生成部160は、類似体験の文脈項目、更新後文脈理解結果の文脈項目に基づいて発話テンプレート候補の補充欄を補充したうえで、出力テキストを生成する。また、発話テンプレート候補に補充欄がない場合は、発話生成部160は、類似体験、文脈理解結果を用いることなく、発話テンプレート候補そのものを出力テキストとする。
なお、S150の説明における(2-6)、(2-7)の場合、発話生成部160は、類似体験の体験場所、体験感想、体験感想理由に基づいて発話テンプレート候補から出力テキストを生成する。
S170において、発話出力部170は、S160で生成した出力テキストを入力とし、出力テキストから、ユーザの発話に対する応答となる発話(以下、出力データという)を生成、出力し、処理の制御をS120に戻す。発話出力部170は、出力テキストをそのまま出力データとして出力してもよいし、音声変換により出力テキストから生成される音声(音声信号)を出力データとして出力してもよい。すなわち、出力データのデータ形式には、人間が理解することができる任意のデータ形式を用いることができる。
本発明の実施形態によれば、対話の文脈を示すデータに基づいて発話を生成することが可能となる。
<補記>
図12は、上述の各装置を実現するコンピュータの機能構成の一例を示す図である。上述の各装置における処理は、記録部2020に、コンピュータを上述の各装置として機能させるためのプログラムを読み込ませ、制御部2010、入力部2030、出力部2040などに動作させることで実施できる。
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD-ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくこととしてもよい)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。
ハードウェアエンティティでは、外部記憶装置(あるいはROMなど)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(上記、…部、…手段などと表した各構成部)を実現する。
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
既述のように、上記実施形態において説明したハードウェアエンティティ(本発明の装置)における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD-RAM(Random Access Memory)、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP-ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
上述の本発明の実施形態の記載は、例証と記載の目的で提示されたものである。網羅的であるという意思はなく、開示された厳密な形式に発明を限定する意思もない。変形やバリエーションは上述の教示から可能である。実施形態は、本発明の原理の最も良い例証を提供するために、そして、この分野の当業者が、熟考された実際の使用に適するように本発明を色々な実施形態で、また、色々な変形を付加して利用できるようにするために、選ばれて表現されたものである。すべてのそのような変形やバリエーションは、公正に合法的に公平に与えられる幅にしたがって解釈された添付の請求項によって定められた本発明のスコープ内である。

Claims (8)

  1. 体験の時期を示す項目である体験時期と、体験の場所を示す項目である体験場所と、体験を共有した者を示す項目である体験者と、体験の内容を示す項目である体験内容と、体験に関する感想を示す項目である体験感想とを含むデータ構造を文脈クラス、文脈クラスに含まれる項目(以下、文脈項目という)である体験時期、体験場所、体験者、体験内容、体験感想と、体験に関する感想の根拠を示す項目である体験感想理由とを含むデータ構造を体験クラス、発話の生成に用いるテンプレート(以下、発話テンプレートという)を識別するための情報(以下、テンプレートIDという)と、発話テンプレートと、発話テンプレートの種別を示す発話カテゴリと、発話テンプレートの焦点を示す文脈項目(以下、焦点項目という)とを含むデータ構造を発話テンプレートクラスとし、
    体験クラスのデータから構成される体験データベースと、発話テンプレートクラスのデータから構成される発話テンプレートデータベースとを記録する記録部と、
    ユーザの発話を表す入力テキストから抽出される、文脈項目とその値の組を含むデータ(以下、フレーズという)を要素とする集合であるフレーズ集合を生成するフレーズ抽出部と、
    前記フレーズ集合を用いて、現時点における対話の文脈を示す文脈クラスのデータ(以下、更新前文脈理解結果という)から、最新の対話の文脈を示す文脈クラスのデータ(以下、更新後文脈理解結果という)を生成する文脈理解結果更新部と、
    前記更新後文脈理解結果と体験データベースに含まれる体験クラスのデータとの間で計算される類似度に基づいて1以上の体験クラスのデータを類似体験として選択し、前記更新前文脈理解結果と前記更新後文脈理解結果とを用いて発話テンプレートデータベースから発話テンプレートクラスのデータを発話テンプレート候補として選択する対話制御部と、
    前記更新後文脈理解結果と前記類似体験と前記発話テンプレート候補とを用いて、前記入力テキストに対する応答となる発話を表す出力テキストを生成する発話生成部と、
    を含む発話生成装置。
  2. 請求項1に記載の発話生成装置であって、
    前記対話制御部は、
    前記更新前文脈理解結果と前記更新後文脈理解結果とに基づいて文脈理解結果の体験感想が更新されたと判断した場合において、
    前記更新後文脈理解結果の体験場所の値が空を示す値であるときは、発話カテゴリが質問であり、焦点項目が体験場所を含む発話テンプレートクラスのデータを発話テンプレート候補として選択し、
    前記更新後文脈理解結果の体験内容の値が空を示す値であるときは、発話カテゴリが質問であり、焦点項目が体験内容を含む発話テンプレートクラスのデータを発話テンプレート候補として選択し、
    前記更新後文脈理解結果の体験場所の値、体験内容の値がいずれも空を示す値でないときは、発話カテゴリが共感であり、焦点項目が少なくとも体験場所、体験内容のいずれか一方を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する
    ことを特徴とする発話生成装置。
  3. 請求項1に記載の発話生成装置であって、
    前記対話制御部は、
    前記更新前文脈理解結果と前記更新後文脈理解結果とに基づいて文脈理解結果の体験内容が更新されたと判断した場合において、
    類似度が所定の閾値より大きいかそれ以上である類似体験があるときは、発話カテゴリが事前共感である発話テンプレートクラスのデータを発話テンプレート候補として選択し、
    それ以外のときは、更新後文脈理解結果の体験場所の値が空を示す値であれば、発話カテゴリが質問であり、焦点項目が体験場所を含む発話テンプレートクラスのデータを発話テンプレート候補として選択し、更新後文脈理解結果の体験感想の値が空を示す値であれば、発話カテゴリが質問であり、焦点項目が体験感想を含む発話テンプレートクラスのデータを発話テンプレート候補として選択し、更新後文脈理解結果の体験場所の値、体験感想の値がいずれも空を示す値でないのであれば、発話カテゴリが共感であり、焦点項目が少なくとも体験場所、体験感想のいずれか一方を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する
    ことを特徴とする発話生成装置。
  4. 請求項1に記載の発話生成装置であって、
    前記対話制御部は、
    前記更新前文脈理解結果と前記更新後文脈理解結果とに基づいて文脈理解結果の体験場所が更新されたと判断した場合において、
    類似度が所定の閾値より大きいかそれ以上である類似体験があるときは、発話カテゴリが事前共感である発話テンプレートクラスのデータを発話テンプレート候補として選択し、
    それ以外のときは、更新後文脈理解結果の体験内容の値が空を示す値であれば、発話カテゴリが質問であり、焦点項目が体験内容を含む発話テンプレートクラスのデータを発話テンプレート候補として選択し、更新後文脈理解結果の体験感想の値が空を示す値であれば、発話カテゴリが質問であり、焦点項目が体験感想を含む発話テンプレートクラスのデータを発話テンプレート候補として選択し、更新後文脈理解結果の体験内容の値、体験感想の値がいずれも空を示す値でないのであれば、発話カテゴリが共感であり、焦点項目が少なくとも体験内容、体験感想のいずれか一方を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する
    ことを特徴とする発話生成装置。
  5. 請求項1に記載の発話生成装置であって、
    前記対話制御部は、
    前記更新前文脈理解結果と前記更新後文脈理解結果とに基づいて文脈理解結果の体験時期が更新されたと判断した場合において、
    前記更新後文脈理解結果の体験場所の値、体験内容の値がいずれも空を示す値でないときは、発話カテゴリが質問であり、焦点項目が体験時期と体験感想を含む発話テンプレートクラスのデータを発話テンプレート候補として選択し、
    前記更新後文脈理解結果の体験場所の値が空を示す値であるときは、発話カテゴリが関連質問であり、焦点項目が体験場所を含む発話テンプレートクラスのデータを発話テンプレート候補として選択し、
    前記更新後文脈理解結果の体験内容の値が空を示す値であるときは、発話カテゴリが関連質問であり、焦点項目が体験内容を含む発話テンプレートクラスのデータを発話テンプレート候補として選択する
    ことを特徴とする発話生成装置。
  6. 請求項1に記載の発話生成装置であって、
    前記対話制御部は、
    前記更新後文脈理解結果と体験データベースに含まれる体験クラスのデータにおける体験場所、または、体験内容の文字列または形態素の列としての一致率に基づいて計算される類似度を用いるものであり、
    前記更新前文脈理解結果と前記更新後文脈理解結果とに基づいて文脈理解結果の体験場所が更新されたと判断した場合は、発話カテゴリが共感であり、発話テンプレートには類似体験の体験場所、類似体験の体験感想、類似体験の体験感想理由に関する補充欄がある発話テンプレートクラスのデータを発話テンプレート候補として選択し、
    前記発話生成部は、
    前記類似体験の体験場所、体験感想、体験感想理由に基づいて前記発話テンプレート候補から前記出力テキストを生成する
    ことを特徴とする発話生成装置。
  7. 体験の時期を示す項目である体験時期と、体験の場所を示す項目である体験場所と、体験を共有した者を示す項目である体験者と、体験の内容を示す項目である体験内容と、体験に関する感想を示す項目である体験感想とを含むデータ構造を文脈クラス、文脈クラスに含まれる項目(以下、文脈項目という)である体験時期、体験場所、体験者、体験内容、体験感想と、体験に関する感想の根拠を示す項目である体験感想理由とを含むデータ構造を体験クラス、発話の生成に用いるテンプレート(以下、発話テンプレートという)を識別するための情報(以下、テンプレートIDという)と、発話テンプレートと、発話テンプレートの種別を示す発話カテゴリと、発話テンプレートの焦点を示す文脈項目(以下、焦点項目という)とを含むデータ構造を発話テンプレートクラスとし、
    体験クラスのデータから構成される体験データベースと、発話テンプレートクラスのデータから構成される発話テンプレートデータベースとを記録する記録部を含む発話生成装置が、ユーザの発話を表す入力テキストから抽出される、文脈項目とその値の組を含むデータ(以下、フレーズという)を要素とする集合であるフレーズ集合を生成するフレーズ抽出ステップと、
    前記発話生成装置が、前記フレーズ集合を用いて、現時点における対話の文脈を示す文脈クラスのデータ(以下、更新前文脈理解結果という)から、最新の対話の文脈を示す文脈クラスのデータ(以下、更新後文脈理解結果という)を生成する文脈理解結果更新ステップと、
    前記発話生成装置が、前記更新後文脈理解結果と体験データベースに含まれる体験クラスのデータとの間で計算される類似度に基づいて1以上の体験クラスのデータを類似体験として選択し、前記更新前文脈理解結果と前記更新後文脈理解結果とを用いて発話テンプレートデータベースから発話テンプレートクラスのデータを発話テンプレート候補として選択する対話制御ステップと、
    前記発話生成装置が、前記更新後文脈理解結果と前記類似体験と前記発話テンプレート候補とを用いて、前記入力テキストに対する応答となる発話を表す出力テキストを生成する発話生成ステップと、
    を含む発話生成方法。
  8. 請求項1ないし6のいずれか1項に記載の発話生成装置としてコンピュータを機能させるためのプログラム。
JP2022508637A 2020-03-17 2020-03-17 発話生成装置、発話生成方法、プログラム Active JP7327647B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/011614 WO2021186525A1 (ja) 2020-03-17 2020-03-17 発話生成装置、発話生成方法、プログラム

Publications (2)

Publication Number Publication Date
JPWO2021186525A1 JPWO2021186525A1 (ja) 2021-09-23
JP7327647B2 true JP7327647B2 (ja) 2023-08-16

Family

ID=77770965

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022508637A Active JP7327647B2 (ja) 2020-03-17 2020-03-17 発話生成装置、発話生成方法、プログラム

Country Status (3)

Country Link
US (1) US20230140480A1 (ja)
JP (1) JP7327647B2 (ja)
WO (1) WO2021186525A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240020115A1 (en) * 2022-07-14 2024-01-18 Dell Products L.P. Smart online documentation

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002023783A (ja) * 2000-07-13 2002-01-25 Fujitsu Ltd 対話処理システム

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
北川智裕 他,"自己開示発話を取り入れた雑談型対話システムの提案",第113回 知識ベースシステム研究会資料,2018年02月20日,pp.13-18
成松宏美 他,"文脈を理解して話す雑談対話システム",NTT技術ジャーナル,2019年09月01日,Vol.31,No.9,pp.22-25
成松宏美 他,"自らの体験に基づき雑談する対話システム",第87回 言語・音声理解と対話処理研究会資料,2019年11月20日,pp.68-73
杉山弘晃 他,"文脈に沿った発話理解・生成を行うドメイン特化型雑談対話システムの実験的検討",第84回 言語・音声理解と対話処理研究会資料,2018年11月15日,pp.118-123
藤堂祐樹 他,"複数の対話エージェントを用いた雑談指向の音声対話システム",電子情報通信学会論文誌D,2016年02月01日,Vol.J99-D, No.2,pp.188-200

Also Published As

Publication number Publication date
WO2021186525A1 (ja) 2021-09-23
JPWO2021186525A1 (ja) 2021-09-23
US20230140480A1 (en) 2023-05-04

Similar Documents

Publication Publication Date Title
Sproat et al. RNN approaches to text normalization: A challenge
Korpusik et al. Spoken language understanding for a nutrition dialogue system
JP7315065B2 (ja) 質問生成装置、質問生成方法及びプログラム
US20100125459A1 (en) Stochastic phoneme and accent generation using accent class
JP7230576B2 (ja) 生成装置、学習装置、生成方法及びプログラム
JP7205839B2 (ja) データ生成モデル学習装置、潜在変数生成モデル学習装置、翻訳データ生成装置、データ生成モデル学習方法、潜在変数生成モデル学習方法、翻訳データ生成方法、プログラム
JP2020166672A (ja) 翻訳方法、翻訳プログラム及び学習方法
WO2020170906A1 (ja) 生成装置、学習装置、生成方法及びプログラム
CN112185361A (zh) 一种语音识别模型训练方法、装置、电子设备及存储介质
Cai et al. HITS-based attentional neural model for abstractive summarization
KR101929509B1 (ko) 형태소 합성 장치 및 방법
JP7327647B2 (ja) 発話生成装置、発話生成方法、プログラム
Simske et al. Functional Applications of Text Analytics Systems
JP2018084627A (ja) 言語モデル学習装置およびそのプログラム
KR102284903B1 (ko) 입력 시퀀스 생성 방법 및 장치
WO2024069978A1 (ja) 生成装置、学習装置、生成方法、学習方法、及びプログラム
Roque Language technology enables a poetics of interactive generation
JP2023071771A (ja) データ生成モデル学習装置、データ生成装置、データ生成モデル学習方法、データ生成方法、プログラム
JP7044245B2 (ja) 対話システム補強装置及びコンピュータプログラム
Shi et al. The design and implementation of intelligent english learning chabot based on transfer learning technology
JP2017059082A (ja) 情報提供装置、情報提供方法および情報提供プログラム
Gibbon et al. Spoken Language Characterization
US20240119261A1 (en) Discrete token processing using diffusion models
Tran et al. Learning student intents and named entities in the education domain
KR102261411B1 (ko) 채팅 모델 학습 방법 및 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220802

A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A801

Effective date: 20220802

A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20220802

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230704

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230717

R150 Certificate of patent or registration of utility model

Ref document number: 7327647

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150