(57)【要約】  拡張なりきり発話組生成装置には、I個のなりきり発話組i=(ti(1),ti(2))(i=1,…,I)が記憶されている第一記憶部１と、J個の非なりきり発話組j=(t'j(1),t'j(2))(j=1,…,J)が記憶されている第二記憶部２と、第一記憶部１から読み込んだ各なりきり発話組iの第二発話ti(2)と同一又は類似の第二発話t'j(2)に対応する非なりきり発話組jを第二記憶部２から１個以上選択する非なりきり発話組選択部３と、選択された各非なりきり発話組jの第一発話t'j(1)と、各なりきり発話組iの第二発話ti(2)とを対応付けて拡張なりきり発話組とする拡張なりきり発話組生成部４と、を備えている。
2019208161.tif 000002
【特許請求の範囲】
【請求項１】
第一発話ti(1)と、前記第一発話ti(1)に対応付けられている、前記第一発話ti(1)に対して所定の人格になりきって行われた第二発話ti(2)という２個の発話をなりきり発話組iとし、Iを所定の正の整数として、I個のなりきり発話組i=(ti(1),ti(2))(i=1,…,I)が記憶されている第一記憶部と、
第一発話t'j(1)と、前記第一発話t'j(1)に対応付けられている、前記第一発話t'j(1)に対して行われた第二発話t'j(2)という２個の発話を非なりきり発話組とし、Jを所定の正の整数として、J個の非なりきり発話組j=(t'j(1),t'j(2))(j=1,…,J)が記憶されている第二記憶部と、
前記第一記憶部から読み込んだ各なりきり発話組iの第二発話ti(2)と同一又は類似の第二発話t'j(2)に対応する非なりきり発話組jを前記第二記憶部から１個以上選択する非なりきり発話組選択部と、
前記選択された各非なりきり発話組jの第一発話t'j(1)と、前記各なりきり発話組iの第二発話ti(2)とを対応付けて拡張なりきり発話組とする拡張なりきり発話組生成部と、
を含む拡張なりきり発話組生成装置。
【請求項２】
請求項１の拡張なりきり発話組生成装置であって、
前記第二発話ti(2)と同一又は類似の第二発話t'j(2)は、前記第二発話ti(2)との類似度が所定の基準を超える第二発話t'j(2)である、
拡張なりきり発話組生成装置。
【請求項３】
請求項１又は２の拡張なりきり発話組生成装置であって、
前記拡張なりきり発話組生成部は、前記第一記憶部に記憶されている第二発話ti(2)の中の同一の第二発話ti(2)の数が多いほど前記同一の第二発話ti(2)を含む拡張なりきり発話組に大きな重みを付与する、及び／又は、前記拡張なりきり発話組生成部により生成される拡張なりきり発話組の中の同一の拡張なりきり発話組の数が多いほど前記同一の拡張なりきり発話組に大きな重みを付与する重み付与部を含む、
拡張なりきり発話組生成装置。
【請求項４】
請求項１から３の何れかの拡張なりきり発話組生成装置により生成された拡張なりきり発話組が少なくとも記憶されている記憶部と、
前記記憶部に記憶されている拡張なりきり発話組を用いて、入力された発話に対応する応答発話を生成する応答発話生成部と、
を含む対話装置。
【請求項５】
第一記憶部には、第一発話ti(1)と、前記第一発話ti(1)に対応付けられている、前記第一発話ti(1)に対して所定の人格になりきって行われた第二発話ti(2)という２個の発話をなりきり発話組iとし、Iを所定の正の整数として、I個のなりきり発話組i=(ti(1),ti(2))(i=1,…,I)が記憶されているとし、
第二記憶部には、第一発話t'j(1)と、前記第一発話t'j(1)に対応付けられている、前記第一発話t'j(1)に対して行われた第二発話t'j(2)という２個の発話を非なりきり発話組とし、Jを所定の正の整数として、J個の非なりきり発話組j=(t'j(1),t'j(2))(j=1,…,J)が記憶されているとし、
非なりきり発話組選択部が、前記第一記憶部から読み込んだ各なりきり発話組iの第二発話ti(2)と同一又は類似の第二発話t'j(2)に対応する非なりきり発話組jを前記第二記憶部から１個以上選択する非なりきり発話組選択ステップと、
拡張なりきり発話組生成部が、前記選択された各非なりきり発話組jの第一発話t'j(1)と、前記各なりきり発話組iの第二発話ti(2)とを対応付けて拡張なりきり発話組とする拡張なりきり発話組生成ステップと、
を含む拡張なりきり発話組生成方法。
【請求項６】
記憶部には、請求項１から３の何れかの拡張なりきり発話組生成装置により生成された拡張なりきり発話組が少なくとも記憶されているとして、
応答発話生成部が、前記記憶部に記憶されている拡張なりきり発話組を少なくとも用いて、入力された発話に対応する応答の発話を生成する応答発話生成ステップと、
を含む対話方法。
【請求項７】
請求項１から３の何れかの拡張なりきり発話組生成装置又は請求項４の対話装置の各部としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、いわゆる用例ベース対話システムの技術（用例ベース対話システムで用いられる用例を生成する技術を含む。）に関する。
【背景技術】
【０００２】
従来のタスク指向の対話とは異なり、対話そのものを目的とする雑談対話システムの需要が高まっている。雑談対話システムは、単に人間の対話相手になるのみでなく、エンタテインメントやカウンセリングへの応用や、対話を通したユーザとシステム間の信頼関係の構築への貢献も期待されている。【０００３】
雑談対話システムの娯楽性や親近感をより高める取り組みとして、雑談対話システムが特定のキャラクタや歴史上の人物等の所定の人格になりきってユーザの質問や雑談に応える「なりきり対話システム」が存在する（例えば、特許文献１参照。）。【０００４】
なりきり対話システムは、作業者が所定の人格になりきって質問に答えることにより収集された質問応答データを用いている。品質の高い質問応答データを収集するために、例えば非特許文献１に記載された方法が用いられている（例えば、非特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１０３０１８号公報
【非特許文献】
【０００６】
【非特許文献１】東中竜一郎、（外２名）、“対話システムのための「なりきり質問応答」を用いた質問応答ペアの収集とその応用”、言語処理学会、第16回年次大会発表論文集、2010年3月
【発明の概要】
【発明が解決しようとする課題】
【０００７】
非特許文献１の方法による質問応答データの収集では、複数の作業者からデータを集めることができるため、時間当たりの収集効率が良く、作業者１人当たりのコストは低い。【０００８】
しかし、なりきり対話システムが多様な質問応答、雑談に対応できるように、質問応答データを収集するには依然として大きなコストがかかる。【０００９】
これを解決する試みとして、既存の雑談対話システムと、文を特定のキャラクタや人物の話し方への変換する処理とを組み合わせる手法が提案されている。【００１０】
しかし、この手法では、応答の内容は雑談対話システムに依存しており、対話行為や発話の内容に話者らしさが反映されない可能性があった。【００１１】
この発明は、所定の人格らしさを反映した対話を行う対話装置を従来よりも低コストで実現するための拡張なりきり発話組生成装置、所定の人格らしさを反映した対話を行う対話装置、これらの方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
この発明の一態様による拡張なりきり発話組生成装置によれば、第一発話ti(1)と、第一発話ti(1)に対応付けられている、第一発話ti(1)に対して所定の人格になりきって行われた第二発話ti(2)という２個の発話をなりきり発話組iとし、Iを所定の正の整数として、I個のなりきり発話組i=(ti(1),ti(2))(i=1,…,I)が記憶されている第一記憶部と、第一発話t'j(1)と、第一発話t'j(1)に対応付けられている、第一発話t'j(1)に対して行われた第二発話t'j(2)という２個の発話を非なりきり発話組とし、Jを所定の正の整数として、J個の非なりきり発話組j=(t'j(1),t'j(2))(j=1,…,J)が記憶されている第二記憶部と、第一記憶部から読み込んだ各なりきり発話組iの第二発話ti(2)と同一又は類似の第二発話t'j(2)に対応する非なりきり発話組jを第二記憶部から１個以上選択する非なりきり発話組選択部と、選択された各非なりきり発話組jの第一発話t'j(1)と、各なりきり発話組iの第二発話ti(2)とを対応付けて拡張なりきり発話組とする拡張なりきり発話組生成部と、を備えている。【００１３】
この発明の一態様による対話装置によれば、請求項１から３の何れかの拡張なりきり発話組生成装置により生成された拡張なりきり発話組が少なくとも記憶されている記憶部と、記憶部に記憶されている拡張なりきり発話組を用いて、入力された発話に対応する応答発話を生成する応答発話生成部と、を備えている。
【発明の効果】
【００１４】
非なりきり発話組を用いて、なりきり発話組を拡張した拡張なりきり発話組を生成することにより、そのなりきり発話組を利用可能な発話機会のバリエーションを低コストで増やすことができる。これにより、所定の人格らしさを反映した対話を行う対話装置を従来よりも低コストで実現することができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、拡張なりきり発話組生成装置の機能構成の例を示す図である。
【図２】図２は、拡張なりきり発話組生成方法の処理手続きの例を示す図である。
【図３】図３は、第一発話及び第二発話のIDの例を示す図である。
【図４】図４は、第一記憶部１に記憶されているなりきり発話組の例を示す図である。
【図５】図５は、対話装置の機能構成の例を示す図である。
【図６】図６は、対話方法の処理手続きの例を示す図である。
【図７】図７は、記憶部１９０に記憶されている発話組の例を示す図である。
【発明を実施するための形態】
【００１６】
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【００１７】
[拡張なりきり発話組生成装置及び方法]
拡張なりきり発話組生成装置は、図１に示すように、第一記憶部１、第二記憶部２、なりきり発話組選択部３、拡張なりきり発話組生成部４及び記憶部５を例えば備えている。
【００１８】
拡張なりきり発話組生成方法は、拡張なりきり発話組生成装置の各構成部が、以下に説明する及び図２に示すステップＳ３からステップＳ４の処理を行うことにより例えば実現される。
【００１９】
以下、拡張なりきり発話組生成装置の各構成部について説明する。
【００２０】
<第一記憶部１>
第一記憶部１には、I個のなりきり発話組i=(ti(1),ti(2))(i=1,…,I)が記憶されている。
【００２１】
Iは、所定の正の整数である。例えば、Iは、２以上の整数である。なりきり発話組iは、第一発話ti(1)と、第一発話ti(1)に対応付けられている、第一発話ti(1)に対して所定の人格になりきって行われた第二発話ti(2)という２個の発話である。
【００２２】
例えば、第一発話は質問の発話であり、第二発話はその質問に対する応答の発話である。
【００２３】
なお、なりきり発話組iは、第一発話ti(1)及び第二発話ti(2)を識別するための発話IDと共に、第一記憶部１に記憶されていてもよい。
【００２４】
第一発話ti(1)及び第二発話ti(2)の例は、（ti(1),ti(2)）=（「好きな食べ物は何ですか？」,「食えれば何でもよいわ！」）である。第一発話ti(1)及び第二発話ti(2)の他の例は、（ti(1),ti(2)）=（「金ヶ崎退き口の戦いはどうでしたか？」,「さすがのワシも死を覚悟するほどであった」）である。
【００２５】
第一記憶部１に記憶させるなりきり発話組の収集は、例えば以下のようにウェブサイトを通して行われる。まず、実在する有名人（歴史上の人物、俳優、ナレーター等）、架空のキャラクタ（小説やアニメの登場人物等）等の所定の人格をテーマにしてなりきりによるやり取りを質問応答の形式で行ってもらう趣旨のウェブサイトを構築する。そして、このウェブサイトにおいて、複数人（例えば５０人程度かそれ以上）に、所定の質問に対する所定の人格になりきった回答を投稿してもらう。また、回答の投稿のみでなく、質問自体も投稿をしてもらい、以降に回答を投稿する人に対しては、投稿された質問も所定の質問に含めるようにしてもよい。所定の質問とその質問に対して投稿された各回答との組が、なりきり発話組の候補となる。なお、第二発話ti(2)である回答を識別するために各回答にはIDが付与される。
【００２６】
そして、「所定の質問とその質問に対して投稿された各回答との組」のうち、例えば、ある発話組(以下、第一の発話組)の「回答の文字列」と類似又は同一である「回答の文字列」を有する、第一の発話組とは異なる第二の発話組が存在する場合に、第一の発話組および第二の発話組のそれぞれが「なりきり発話組」として第一記憶部１に記憶されてもよい。あるいは、例えば、第一の発話組の「所定の質問」とその質問に対して投稿された「回答」それぞれについて、第一の発話組の「所定の質問の文字列」と類似又は同一である「所定の質問の文字列」を有し、かつ、第一の発話組の「回答の文字列」と類似又は同一である「回答の文字列」を有する、第一の発話組とは異なる第二の発話組が存在する場合に、第一の発話組および第二の発話組のそれぞれが「なりきり発話組」として第一記憶部１に記憶されてもよい。要は、「所定の質問とその質問に対して投稿された各回答との組」のうち、「回答」が類似又は同一の組、または、「質問」と「回答」の両方が類似又は同一の組が２以上存在する発話組が「なりきり発話組」として第一記憶部１に記憶されてもよい。ここで、類似とは、文字列同士の類似度が所定の基準を満たすことである。例えば、「回答」が類似するとは、任意の二つの回答の文字列間の類似度が所定の基準を超えることである。例えば、「質問」と「回答」の両方が類似するとは、任意の二つの所定の質問の文字列間の類似度Aと、その二つの所定の質問それぞれに対応する二つの回答の文字列間の類似度Bとを加算平均(または二乗平均)した値が所定の基準を超える、または、類似度Aと類似度Bの双方が所定の基準を超えることである。類似度の定義及び例は、後述する。このように、なりきり発話組の候補の中に、「回答」が類似又は同一、または、「質問」と「回答」の両方が類似又は同一のなりきり発話組の候補が存在するなりきり発話組の候補を「なりきり発話組」とすることで、誤ったデータを学習させるなど悪意を持って回答されたデータを除外することができる。これにより、データの正確性を向上させることができる。
【００２７】
なお、投稿された各回答の所定の人格らしさについての評価が投票可能となっていてもよい。投稿された第二発話ti(2)である回答の所定の人格らしさについての評価は、その第二発話ti(2)のなりきり発話組iと共に第一記憶部１に記憶される。
【００２８】
「所定の質問とこのようにして投稿された各回答との組」のうち、類似又は同一の組の個数がカウントされた「データ個数」が、なりきり発話組に紐づけられて第一記憶部１に記憶されてもよい。
【００２９】
なお、上記のウェブサイトで集められた直後のなりきり発話組の候補の第一発話ti(1)及び第二発話ti(2)を識別するためのIDは、例えば図３及び以下に説明するように付与されている。まず、第一発話ti(1)及び第二発話ti(2)を含めた発話のそれぞれに対して発話IDが付与されている。また、発話が第二発話ti(2)である場合には、質問元IDが更に付与されている。発話が第一発話ti(1)である場合には、その発話は質問そのものであるため、質問元IDは付与されていない。このため、図３では、発話が第一発話ti(1)である場合の質問元IDの欄に「None」と記載している。なお、第一発話ti(1)及び第二発話ti(2)は、一対一の対応しか取ることができないので、同じ発話内容である複数の第二発話ti(2)に対して異なる質問元IDが付与されている場合もある。図３では、「食えれば何でもよいわ！」という同じ発話内容である、発話IDが3,4の第二発話ti(2)に対して、それぞれ1,2の質問元IDが付与されている。
【００３０】
上記のように、なりきり発話組の候補の中に２回以上登場したものがなりきり発話組として第一記憶部１に記憶されるが、その際に、なりきり発話組iの第一発話ti(1)及び第二発話ti(2)を識別するための発話IDは、例えば図４に示すように付与される。図４では、なりきり発話組に新たに１から始まる発話IDが付与されている。
【００３１】
後述するステップＳ３以降の処理は、第二発話ti(2)ごとに行われる。
【００３２】
<第二記憶部２>
第二記憶部２には、J個の非なりきり発話組j=(t'j(1),t'j(2))(j=1,…,J)が記憶されている。
【００３３】
Jは、所定の正の整数である。例えば、Jは、２以上の整数である。
【００３４】
非なりきり発話組は、第一発話t'j(1)と、第一発話t'j(1)に対応付けられている、第一発話t'j(1)に対して行われた第二発話t'j(2)という２個の発話である。
【００３５】
第一発話t'j(1)及び第二発話t'j(2)の例は、（t'j(1),t'j(2)）=（「今日の晩御飯何がいい？」,「食えれば何でもいいわ！」）である。第一発話t'j(1)及び第二発話t'j(2)の他の例は、（t'j(1),t'j(2)）=（「昨日の地震、怖かったね」,「さすがの俺も死にそうだった」）である。
【００３６】
なお、非なりきり発話組jについての情報は、例えばTwitter(登録商標)等の対話のやり取りがテキストで表されているwebサイトから得ることができる。
【００３７】
<非なりきり発話組選択部３>
非なりきり発話組選択部３には、第一記憶部１から読み込まれたなりきり発話組iの第二発話ti(2)と、第二記憶部２から読み込まれた非なりきり発話組jとが入力される。
【００３８】
非なりきり発話組選択部３は、第一記憶部１から読み込んだ各なりきり発話組iの第二発話ti(2)と同一又は類似の第二発話t'j(2)に対応する非なりきり発話組jを第二記憶部２から１個以上選択する（ステップＳ３）。
【００３９】
選択された非なりきり発話組jは、拡張なりきり発話組生成部４に出力される。
【００４０】
例えば、nを１以上J以下の正の整数として、第二発話ti(2)と同一又類似の第二発話t'j(2)に対応する非なりきり発話組として、n個の非なりきり発話組(t'1(1),t'1(2)),…,(t'n(1),t'n(2))が選択される。
【００４１】
第二発話ti(2)と同一又は類似の第二発話t'j(2)とは、第二発話ti(2)との類似度が所定の基準を超える第二発話t'j(2)である。
【００４２】
類似度は、レーベンシュタイン距離、正規化レーベンシュタイン距離、COS類似度、WordMoversDistance等の発話を構成する文字列同士の近さを表す指標である。類似度は、文字列同士の近さを表す指標であればよく、レーベンシュタイン距離、正規化レーベンシュタイン距離、COS類似度、WordMoversDistanceに限るものではない。
【００４３】
所定の基準を超えるとは、値が小さいほど似ていることを表す類似度を用いる場合には、類似度が所定の基準値より小さいことであり、値が大きいほど似ていることを表す類似度を用いる場合には類似度が所定の基準値より大きいことである。
【００４４】
以下、類似度が正規化レーベンシュタイン距離である場合を例に挙げて説明する。
【００４５】
レーベンシュタイン距離は、１文字の挿入、削除、置換によって、一方の文字列をもう一方の文字列に変形するのに必要な操作の最小回数である。１文字の挿入及び１文字の削除は１回の操作とカウントされ、１文字の置換は２回の操作とカウントされる。これに対して、正規化レーベンシュタイン距離は、レーベンシュタイン距離を、２個の文字列の中の長い方の文字列の文字数で割った値である。すなわち、文字列rと文字列r'の正規化レーベンシュタイン距離NLD(r,r')は、NLD(r,r')=(rとr'のレーベンシュタイン距離)/max(|r|,|r'|)である。ここで、|r|は文字列rの文字数であり、|r'|は文字列r'の文字数である。正規化レーベンシュタイン距離は、０以上１以下の値となる。レーベンシュタイン距離及び正規化レーベンシュタイン距離は、値が小さいほど似ていることを表す。
【００４６】
例えば、２個の文字列r,r'が、r=「ice cream」,r'=「dry ice」であったとする。この場合、２個の文字列r,r'のレーベンシュタイン距離及び正規化レーベンシュタイン距離は、以下のようにして求めることができる。「ice cream」という文字列は、以下に示す削除と挿入により「dry ice」という文字列にすることができる。
【００４７】
“ice cream”
↓“m”を削除
“ice crea”
↓“a”を削除
“ice cre”
↓“e”を削除
“ice cr"
↓“r”を削除
“ice c”
↓“c”を削除
“ice ”
↓“e”の後ろの空白を削除
“ice”
↓“d”を１文字目前に挿入
“dice”
↓“r”を２文字目前に挿入
“drice”
↓“y”を３文字目前に挿入
“dryice”
↓空白を４文字目前に挿入
“dry ice”
【００４８】
このように、「ice cream」という文字列は、６回の削除と４回の挿入という１０回の操作により、「dry ice」という文字列にすることができる。このため、「ice cream」という文字列と「dry ice」という文字列のレーベンシュタイン距離は１０となる。
【００４９】
「ice cream」という文字列rの文字数|r|は９であり、「dry ice」という文字列r'の文字数|r'|は７である。このため、正規化レーベンシュタイン距離NLD(r,r')=(rとr'のレーベンシュタイン距離)/max(|r|,|r'|)=10/max(9,7)=10/9≒1.11…となる。正規化レーベンシュタイン距離は０に近いほど似ていることを表すことを考慮すると、「ice cream」という文字列と「dry ice」という文字列は、ほとんど似ていないことがわかる。
【００５０】
２個の文字列r,r'が、r=「chocolate-covered donut」,r'=「chocolate-topped donut」であるとする。この場合、「chocolate-covered donut」という文字列は、11文字目の「c」の削除、12文字目の「v」の削除、12文字目の「e」という３文字の削除、11文字目の前に「t」の挿入、13文字目の前に「p」、13文字目の前に「p」の挿入、という６回の操作により、「chocolate-topped donut」という文字列にすることができる。また、「chocolate-covered donut」という文字列の文字数は23であり、「chocolate-topped donut」という文字列の文字数は22である。このため、この場合、正規化レーベンシュタイン距離NLD(r,r')=6/23=0.26…となる。このため、「chocolate-covered donut」という文字列と「chocolate-topped donut」という文字列とは、比較的似ていることがわかる。
【００５１】
類似度として正規化レーベンシュタイン距離を用いた場合には、非なりきり発話組選択部３は、第二発話ti(2)との正規化レーベンシュタイン距離が、所定の基準値よりも小さい第二発話t'j(2)に対応する非なりきり発話組jを第二記憶部２から１個以上選択する。この場合の所定の基準値は、０より大きく１より小さい数であり、例えば0.1である。
【００５２】
例えば、第二発話ti(2)=「食えれば何でもよいわ！」であり、所定の基準値=0.2であるとする。また、記憶部２に、（t'j(1),t'j(2)）=（「今日の晩御飯何がいい？」,「食えれば何でもいいわ！」）という非なりきり発話組jが記憶されているとする。
【００５３】
まず、日本語の場合について説明する。
「食えれば何でもよいわ！」という文字列は、８文字目の「よ」の削除、８文字目前に「い」の挿入という２回の操作により、又は、８文字目の「よ」を「い」にする置換という１回の操作により、「食えれば何でもいいわ！」という文字列にすることができる。このため、「食えれば何でもよいわ！」という文字列と「食えれば何でもいいわ！」という文字列のレーベンシュタイン距離は、２となる。また、「食えれば何でもいいわ！」という文字列の文字数及び「食えれば何でもよいわ！」という文字列の文字数は、11である。このため、「食えれば何でもよいわ！」という文字列と「食えれば何でもいいわ！」という文字列の正規化レーベンシュタイン距離は2/11≒0.18となる。0.18<0.2であるため、非なりきり発話組選択部３は、第二発話ti(2)=「食えれば何でもよいわ！」との正規化レーベンシュタイン距離が、所定の基準値0.2よりも小さい第二発話t'j(2)に対応する非なりきり発話組jとして、（t'j(1),t'j(2)）=（「今日の晩御飯何がいい？」,「食えれば何でもいいわ！」）という非なりきり発話組jを選択する。
次に、英語の場合について説明する。
「I'd eat anything as long as it's edible !」という文字列は、３文字目の「d」の削除、３文字目前に「l」の挿入、３文字目前に「l」の挿入という３回の操作により、「I'll eat anything as long as it's edible !」という文字列にすることができる。このため、「I'd eat anything as long as it's edible !」という文字列と「I'll eat anything as long as it's edible !」という文字列のレーベンシュタイン距離は、３となる。また、「I'll eat anything as long as it's edible !」という文字列の文字数は42であり、「I'd eat anything as long as it's edible !」という文字列の文字数は、41である。このため、「I'd eat anything as long as it's edible !」という文字列と「I'll eat anything as long as it's edible !」という文字列の正規化レーベンシュタイン距離は3/42≒0.071となる。0.071<0.2であるため、非なりきり発話組選択部３は、第二発話ti(2)=「I'd eat anything as long as it's edible !」との正規化レーベンシュタイン距離が、所定の基準値0.2よりも小さい第二発話t'j(2)に対応する非なりきり発話組jとして、（t'j(1),t'j(2)）=（「今日の晩御飯何がいい？」,「I'll eat anything as long as it's edible !」）という非なりきり発話組jを選択する。
【００５４】
第一記憶部１に記憶されている第二発話ti(2)に所定の人格らしさについての評価が付与されている場合には、非なりきり発話組選択部３は、所定の人格らしさについての評価が高い第二発話ti(2)のなりきり発話組iを優先して用いて、上述のステップＳ３の処理を行ってもよい。例えば、非なりきり発話組選択部３は、所定の人格らしさについての評価が所定の基準値以上の第二発話ti(2)のなりきり発話組iに対してのみ、上述のステップＳ３の処理を行ってもよい。
【００５５】
<拡張なりきり発話組生成部４>
拡張なりきり発話組生成部４には、非なりきり発話組選択部３で選択された１個以上の非なりきり発話組が入力される。
【００５６】
拡張なりきり発話組生成部４は、非なりきり発話組選択部３で選択された各非なりきり発話組jの第一発話t'j(1)と、なりきり発話組iの第二発話ti(2)とを対応付けて拡張なりきり発話組(t'j(1), ti(2))とし、出力する。
【００５７】
生成された拡張なりきり発話組は、記憶部５に記憶される。生成された拡張なりきり発話組を記憶部５に記憶する処理を行うタイミングは、任意である。すなわち、生成された拡張なりきり発話組を記憶部５に記憶する処理は、拡張なりきり発話組が生成される度ごとに行われてもよいし、ある第二発話ti(2)に対する１個以上の拡張なりきり発話組の全てが生成された後に行われてもよいし、複数の第二発話ti(2)のそれぞれに対する１個以上の拡張なりきり発話組の全てが生成された後に一回だけ行われてもよい。
【００５８】
例えば、非なりきり発話組選択部３で、第二発話ti(2)と同一又類似の第二発話t'j(2)に対応する非なりきり発話組jとしてn個の非なりきり発話組(t'1(1),t'1(2)),…,(t'n(1),t'n(2))が選択されたとする。この場合、各t'j(1)とti(2)とを対応付けることにより、n個の拡張なりきり発話組(t'1(1),ti(2)),…,(t'n(1),ti(2))が生成される。
【００５９】
例えば、非なりきり発話組選択部３で、第二発話ti(2)=「食えれば何でもよいわ！」と同一又類似の第二発話t'j(2)に対応する非なりきり発話組jとして、（t'j(1),t'j(2)）=（「小腹がすいたら何食べる？」,「食えれば何でもいいわ！」）という１個の非なりきり発話組が選択されたとする。この場合、第一発話t'j(1)=「小腹がすいたら何食べる？」と第二発話ti(2)=「食えれば何でもよいわ！」とを対応付けることにより、(t'j(1),ti(2))=(「小腹がすいたら何食べる？」,「食えれば何でもよいわ！」)という１個の拡張なりきり発話組が生成される。
【００６０】
これまで提案されていた対話システムを高品質化する手法では、第一発話に対する応答である第二発話の妥当性を考えていた。これに対して、上記の実施形態の手法では、第二発話ti(2)でカバーすることができる第一発話の範囲を拡大することを考えている。この点で、上記の実施形態の手法は、これまで提案されていた手法と異なる。
【００６１】
このようにして、第二発話ti(2)でカバーすることができる第一発話の範囲を拡大しても、応答である第二発話は、所定の人格になりきったなりきり発話組の第二発話ti(2)そのものであるため、所定の人格らしさは失われないという長所がある。
【００６２】
[拡張なりきり発話組生成装置及び方法の変形例]
[変形例１]
拡張なりきり発話組生成部４は、第一記憶部１に記憶されている第二発話ti(2)の中で同一の第二発話ti(2)の数が多いほど、その同一の第二発話ti(2)を含む拡張なりきり発話組に大きな重みを付与する重み付与部４１を備えていてもよい。
【００６３】
この場合、後述する対話装置及び方法では、付与された重みが大きい拡張なりきり発話組が優先して用いられる。
【００６４】
第一記憶部１に記憶されている第二発話ti(2)の中の同一の第二発話ti(2)の数が多いほど、その同一の第二発話ti(2)は所定の人格らしさが高いと言える。このため、第一記憶部１に記憶されている第二発話ti(2)の中の同一の第二発話ti(2)の数が多いほど、その同一の第二発話ti(2)を含む拡張なりきり発話組に大きな重みを付与し、対話装置及び方法で優先して用いられるようにすることで、対話装置及び方法により生成される発話の所定の人格らしさが高まる。
【００６５】
例えば、第一記憶部１に記憶されている第二発話ti(2)の中に、「食えれば何でもよいわ！」という第二発話ti(2)が10回登場し、「甘いものなら何でもよいわ！」という第二発話ti(2)が３回登場し、「かすていらはうまい！」という第二発話ti(2)が１回登場したとする。
【００６６】
この場合、fを所定の非減少関数として、重み付与部４１は、「甘いものなら何でもよいわ！」という第二発話ti(2)を含む拡張なりきり発話組にf(10)の重みを付与し、「甘いものなら何でもよいわ！」という第二発話ti(2)を含む拡張なりきり発話組にf(3)の重みを付与し、「かすていらはうまい！」という第二発話ti(2)を含む拡張なりきり発話組にf(1)の重みを付与してもよい。
【００６７】
[変形例２]
拡張なりきり発話組生成部４は、拡張なりきり発話組生成部４により生成される拡張なりきり発話組の中の同一の拡張なりきり発話組の数が多いほど、その同一の拡張なりきり発話組に大きな重みを付与する重み付与部４１を備えていてもよい。
【００６８】
この場合、後述する対話装置及び方法では、付与された重みが大きい拡張なりきり発話組が優先して用いられる。
【００６９】
拡張なりきり発話組生成部４により生成される拡張なりきり発話組の中の同一の拡張なりきり発話組の数が多いほど、その同一の拡張なりきり発話組は応答としても正当度合いが高いと言える。このため、拡張なりきり発話組生成部４により生成される拡張なりきり発話組の中の同一の拡張なりきり発話組の数が多いほど、その同一の拡張なりきり発話組に大きな重みを付与し、対話装置及び方法で優先して用いられるようにすることで、対話装置及び方法により生成される発話の正当度合いが高まる。
【００７０】
[変形例３]
変形例１及び２を組み合わせてもよい。
【００７１】
すなわち、拡張なりきり発話組生成部４は、第一記憶部１に記憶されている第二発話ti(2)の中で同一の第二発話ti(2)の数が多いほど、その同一の第二発話ti(2)を含む拡張なりきり発話組に大きな重みを付与し、かつ、拡張なりきり発話組生成部４により生成される拡張なりきり発話組の中の同一の拡張なりきり発話組の数が多いほど、その同一の拡張なりきり発話組に大きな重みを付与する重み付与部４１を備えていてもよい。
【００７２】
変形例１及び２を組み合わせることにより、変形例１及び２の両方の効果を得ることができる。すなわち、変形例１及び２を組み合わせることにより、対話装置及び方法により生成される発話の所定の人格らしさ及び正当度合いが高まる。
【００７３】
[対話装置及び方法]
以下、対話装置及び方法の実施の形態について説明する。対話装置及び方法は、拡張なりきり発話組生成装置及び方法により生成された拡張なりきり発話組を少なくとも用いて、入力された質問である発話に対する応答の発話を生成して出力する。
【００７４】
対話装置は、図５に示すように、拡張なりきり発話組生成装置及び方法により生成された拡張なりきり発話組が少なくとも記憶されている記憶部１９０と、記憶部１９０に記憶されている拡張なりきり発話組を少なくとも用いて入力された発話に対応する応答の発話を生成する応答発話生成部１００と、出力部１４０とを例えば備えている。応答発話生成部１００は、入力部１１０と、質問検索部１２０と、回答選択部１３０とを例えば備えている。
【００７５】
対話方法は、対話装置の各構成部が、以下に説明する及び図６に示すステップＳ１１０からステップＳ１４０の処理を行うことにより例えば実現される。
【００７６】
記憶部１９０には、質問に対する回答に個性を有する複数の実体に対する質問と回答の組合せ＜質問，回答＞が、実体に紐付けて記録されている。ここで、実体とは、人格のことである。＜質問，回答＞として、拡張なりきり発話組生成装置の第一記憶部１に記憶されていたなりきり発話組と、拡張なりきり発話組生成装置及び方法により生成された拡張なりきり発話組とが記憶部１９０に記憶されているとする。例えば、図７に示すように、記憶部１９０には、なりきり発話組と拡張なりきり発話組を含む発話組が、発話IDと共に記憶されている。図７の例では、発話ID=1,2,4,6、なりきり発話組に由来する発話組であり、発話ID=3,5が、拡張なりきり発話組に由来する発話組である。
【００７７】
入力部１１０には、少なくとも質問と質問の対象となる実体を特定する情報が入力される（ステップＳ１１０）。質問検索部１２０は、記憶部１９０に質問の対象の実体（指定された実体）に対する同様の質問が記録されているかを確認する（ステップＳ１２１）。同様の質問とは、適した回答が得られる質問を意味しており、例えば閾値以上の類似度の質問とすればよい。類似度として、レーベンシュタイン距離、正規化レーベンシュタイン距離、COS類似度、WordMoversDistance等の文字列同士の近さを表す指標を用いることができる。ここで用いる類似度は、上述の拡張なりきり発話組の生成に用いた指標と同一でなくてよい。質問の対象の実体に対する質問が記録されている場合（ステップＳ１２１がＹｅｓの場合）、質問検索部１２０は入力された質問と同様の＜質問，回答＞を出力する（ステップＳ１２２）。
【００７８】
記憶部１９０に質問を受けた実体に対する質問が記録されていない場合（ステップＳ１２１がＮｏの場合）、質問検索部１２０は、以下の(Case1)から(Case3)の何れかの処理を行う。
【００７９】
(Case1)では、質問検索部１２０は、１単語でも記録されていれば回答を出力するというものである。すなわち、質問検索部１２０は、入力された質問に含まれる何れかの単語列を含む質問が、記憶部１９０の中に記録されている指定された実体に対応する質問の中にあれば、その質問に対応する＜質問，回答＞を出力する。
【００８０】
(Case2)は、質問検索部１２０が、一般的な既存の一問一答システムで回答するというものである。
【００８１】
(Case3)は、質問検索部１２０が、記憶部１９０に記録された質問の対象の実体以外の実体に対する質問の中から最も類似度の高い質問を検索し、＜質問，回答＞を出力するというものである（ステップＳ１２３）。さらに具体的に説明すると、記憶部１９０に蓄積された質問のうち入力部１１０から受け取った実体以外の実体に紐付けられた質問Ｑ’について、質問Ｑと質問Ｑ’の類似度を算出する。類似度の計算には、それぞれの質問に含まれる単語のセットのCOS類似度sim(Q,Q')を例えば用いることができる。類似度として、COS類似度以外にも、レーベンシュタイン距離、正規化レーベンシュタイン距離等の文字を単位とする距離尺度を用いてもよい。
【００８２】
質問検索部１２０は、類似度の値が最も大きい質問を含むペア＜質問，回答＞を出力する。
【００８３】
回答選択部１３０は、質問検索部１２０が出力した＜質問，回答＞の回答を、質問に対する回答として選択する（ステップＳ１３１）。
【００８４】
出力部１４０は、選択された回答の発話を出力する（ステップＳ１４０）。出力された回答の発話は、ユーザに提示される。
【００８５】
なお、入力された１つの質問に対して複数の回答が対応している場合がある。回答選択部１３０は、ステップＳ１２２の処理の後に、入力された１つの質問に対して回答が複数あるかを確認し、回答が１つしかない場合、その回答を入力された質問に対する回答とする。入力された１つの質問に対して回答が複数ある場合、回答選択部１３０は、それらの回答のいずれかを入力された質問に対する回答とする。この場合は、どの回答も質問の対象の実体の回答として記録されているものであるため、例えばランダムにいずれかを選ぶこととすればよい。拡張なりきり発話組に重みが付与されている場合には、最も重みの大きな回答を選ぶこととしてもよい。
【００８６】
また、回答選択部１３０は、ステップＳ１２３の後（ステップＳ１２１がＮｏの場合）も、入力された１つの質問に対して回答が複数あるかを確認し、回答が１つしかない場合、その回答を入力された質問に対する回答とする。入力された１つの質問に対して回答が複数ある場合、回答選択部１３０は、例えばランダムにいずれかを選ぶこととすればよい。第一記憶部１になりきり発話組のデータ個数が記憶されており、拡張なりきり発話組に当該データ個数が継承されている場合には、データ個数が最も大きな回答を選ぶこととしてもよい。データ個数が多い回答は、質問に対する回答としての汎用性が高いものと考えられるためである。
【００８７】
なお、対話装置及び方法は、付与された重みが大きい拡張なりきり発話組を優先して用いてもよい。例えば、付与された重みが所定の基準値以上の拡張なりきり発話組のみを用いて、上述のステップＳ１１０からステップＳ１４０の処理を行ってもよい。
【００８８】
なお、対話装置及び方法は、同じ質問に対して、複数の回答があり得た場合に、一度応答に使用した拡張なりきり発話組の重みを下げることにより、重複した応答を避けてもよい。
【００８９】
例えば、「好きな食べ物はなんですか？」と聞かれたときに、最も高い重みが付与された(「今日の晩御飯何がいい？」,「食えれば何でもよいわ！」)という拡張なりきり発話組が既に用いられていたとする。この場合、(「今日の晩御飯何がいい？」,「食えれば何でもよいわ！」)という拡張なりきり発話組が用いられた時点で、(「今日の晩御飯何がいい？」,「食えれば何でもよいわ！」)という拡張なりきり発話組に付与された重みを下げる。これにより、(「今日の晩御飯何がいい？」,「食えれば何でもよいわ！」)という拡張なりきり発話組に付与された重みを下げて以降に「好きな食べ物はなんですか？」と聞かれたときに、最も高い重みが付与されていた発話組を用いて回答を生成することにより、「甘いものなら何でもよいわ！」という第二発話ti(2)を含む対話の中で未使用の拡張なりきり発話組、すなわち、使用済みの「今日の晩御飯何がいい？」,「食えれば何でもよいわ！」という拡張なりきり発話組以外の拡張なりきり発話組が用いられやすいようにしてもよい。
【００９０】
このように、対話システム及び方法は、拡張なりきり発話組に付与された重みを調整可能であってもよい。
【００９１】
[他の変形例]
以上、この発明の実施の形態及び変形例について説明したが、具体的な構成は、これらの実施の形態及び変形例に限られるものではなく、この発明の趣旨を逸脱しない範囲で適宜設計の変更等があっても、この発明に含まれることはいうまでもない。
【００９２】
実施の形態及び変形例において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【００９３】
[プログラム、記録媒体]
上記説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【００９４】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００９５】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００９６】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００９７】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【００９８】
[実験結果]
提案手法による効果を確認するために、事例分析と定性評価、実際の対話システムへの組み込みによる主観評価を行った。
【００９９】
なりきりの対象である所定の人物は、小説・アニメの登場人物であるとする。
【０１００】
例えば、なりきりの対象である所定の人物が徳川家康の場合、第一記憶部１に記憶されているなりきり発話組の例は、(ti(1),ti(2))=(「鳴かぬなら、鳴くまで待とう？」,「ホトトギス」)、(ti(1),ti(2))=(「好きな食べ物はなんですか？」,「鯛が好きじゃ」)、(ti(1),ti(2))=(「埋蔵金はどこにありますか？」,「秘密じゃ」)であるとする。
【０１０１】
第二記憶部２に記憶されている非なりきり発話組の例は、(t'i(1),t'i(2))=(「好きな鳥は？」,「ホトトギス〜」)、(t'i(1),t'i(2))=(「寿司で好きなネタは？」,「鯛が好き！」)、(t'i(1),t'i(2))=(「今日の模試の点数何点だった？」,「秘密じゃん」)であるとする。
【０１０２】
提案手法により、例えば、(「好きな鳥は？」,「ホトトギス」)、(「寿司で好きなネタは？」,「鯛が好きじゃ」)、(「今日の模試の点数何点だった？」,「秘密じゃ」)という拡張なりきり発話組が得られた。
【０１０３】
提案手法によって、なりきり発話組の第二発話と、その第二発話が利用可能な非なりきり発話組の第一発話が対となった拡張なりきり発話組が得られているのがわかる。例えば、(「好きな鳥は？」,「ホトトギス」)という拡張なりきり発話組は、(ti(1),ti(2))=(「鳴かぬなら、鳴くまで待とう？」,「ホトトギス」)というなりきり発話組の第二発話と、(t'i(1),t'i(2))=(「好きな鳥は？」,「ホトトギス〜」)という非なりきり発話組の第一発話とを対にしたものである。
【０１０４】
これらの事例から、なりきり発話組の中の比較的汎用性の高い第二発話が、なりきり発話組に存在しない第一発話と組み合わせられ、新たな用例として拡張なりきり発話組とされていることがわかる。
【０１０５】
元となったなりきり発話組の中でも汎用性の高い第二発話と、多様な第一発話が対応づけられることによって、より多様な場面でなりきり発話組の第二発話が利用され、先行研究で課題となっていたユーザの入力に対して適切な第二発話が見つからないケースを減少させる効果が期待される。
【０１０６】
さらに、提案手法により、小説・アニメの登場人物をなりきりの対象とした実験を行った。なりきり発話組の候補の個数が1万3669個であり、データ個数２個以上のなりきり発話組の個数が311個であったのに対して、これらを元にして、121万個の拡張なりきり発話組が得られた。このように、なりきり発話組の個数の約100倍の個数の拡張なりきり発話組が得られた。また、単語の種類数においても、なりきり発話組の発話の単語の種類が6136語であるのに対して、拡張なりきり発話組の発話の単語の種類は15万3000語と増加した。
【０１０７】
主観評価実験では、２個の対話システムを構築し、その出力について26名の被験者が評価を行った。主観評価の際には、用例の拡張の際に元にしたなりきり発話組の評価条件を踏まえ、テストデータ（なりきり発話組から抜き出した50個のデータであり、これは拡張用例および対話システムの学習時には用いられない）の第一発話を入力として、出力文をそれぞれの対話システムから取得し、第一発話に対する第二発話の自然性とキャラクタ性について評価した。
【０１０８】
実験に用いた対話システムは、全文検索とリランキングを用いた用例ベース対話システムである。まず、ユーザの入力文に対して最も近い第一発話をもつ用例を全文検索を用いて取得した。この全文検索にはLucene 2を利用した。さらに用例の質問タイプや全文検索の一致度などを用いて、第二発話をリランキングし、最も得点の高いものを出力した。２つの対話システムの違いは利用している全文検索の対象およびリランキングの学習データで、一方の対話システム（以下、「なりきり対話システム」とする。）ではなりきり発話組のみを利用し、他方の対話システム（以下、「拡張なりきり対話システム」とする。）ではなりきり発話組と拡張なりきり発話組の両方を用いた。
【０１０９】
なりきり対話システムでは、3.04ポイントの自然性が得られ、3.15ポイントのキャラクタ性が得られた。これに対して、拡張なりきり対話システムでは、3.23ポイントの自然性が得られ、3.24ポイントのキャラクタ性が得られた。このように、拡張なりきり対話組を用いた場合の方が、高い自然性、キャラクタ性の評価が得られた。特に、自然性の評価はなりきり発話組のみを用いた場合に比べて、拡張なりきり発話組を用いた場合は有意に高くなった（Steel-Dwass法による検定、p<0.05）。これらの実験結果から、拡張なりきり発話組は、なりきり発話組のみを用いた場合と同程度のキャラクタ性を維持したまま、より自然な応答を可能にすることがわかった。
【符号の説明】
【０１１０】
１ 第一記憶部
２ 第二記憶部
３ 発話組選択部
４ 発話組生成部
５ 記憶部
【図１】
2019208161.tif 000003
【図２】
2019208161.tif 000004
【図３】
2019208161.tif 000005
【図４】
2019208161.tif 000006
【図５】
2019208161.tif 000007
【図６】
2019208161.tif 000008
【図７】
2019208161.tif 000009
【手続補正書】
【提出日】令和2年10月13日(2020.10.13)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
この発明の一態様による対話装置によれば、前記の拡張なりきり発話組生成装置により生成された拡張なりきり発話組が少なくとも記憶されている記憶部と、記憶部に記憶されている拡張なりきり発話組を用いて、入力された発話に対応する応答発話を生成する応答発話生成部と、を備えている。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００６６
【補正方法】変更
【補正の内容】
【００６６】
この場合、fを所定の非減少関数として、重み付与部４１は、「食えれば何でもよいわ！」という第二発話ti(2)を含む拡張なりきり発話組にf(10)の重みを付与し、「甘いものなら何でもよいわ！」という第二発話ti(2)を含む拡張なりきり発話組にf(3)の重みを付与し、「かすていらはうまい！」という第二発話ti(2)を含む拡張なりきり発話組にf(1)の重みを付与してもよい。
【国際調査報告】
2019208161.tif 000010
2019208161.tif 000011