(57)【特許請求の範囲】
【請求項１】
発話と、前記発話に対する次の発話候補の各々とに基づいて、前記発話候補の各々について、前記発話の次の発話としての評価値を算出し、前記評価値に基づいて前記発話候補をランキングする発話候補評価部と、
前記発話候補の各々について、前記発話との間の論理的な繋がりを表す接続関係を判定する接続関係判定部と、
前記発話候補評価部によるランキング結果と、前記接続関係判定部による前記発話候補の各々についての判定結果とに基づいて、前記発話候補の何れかを、前記発話に対する次の発話として出力する発話判定部と、
を含む発話選択装置。
【請求項２】
前記発話判定部は、前記接続関係判定部によって前記接続関係があると判定された前記発話候補のうち、前記発話候補評価部によるランキング結果において最上位の発話候補を、前記発話に対する次の発話として出力する請求項１に記載の発話選択装置。
【請求項３】
前記接続関係判定部は、前記発話候補の各々について、前記発話との間の論理的な繋がりを表す接続関係のタイプを判定し、
前記発話判定部は、前記接続関係判定部によって、指定された前記接続関係のタイプであると判定された前記発話候補のうち、前記発話候補評価部によるランキング結果において最上位の発話候補を、前記発話に対する次の発話として出力する請求項２に記載の発話選択装置。
【請求項４】
発話候補評価部が、発話と、前記発話に対する次の発話候補の各々とに基づいて、前記発話候補の各々について、前記発話の次の発話としての評価値を算出し、前記評価値に基づいて前記発話候補をランキングするステップと、
接続関係判定部が、前記発話候補の各々について、前記発話との間の論理的な繋がりを表す接続関係を判定するステップと、
発話判定部が、前記発話候補評価部によるランキング結果と、前記接続関係判定部による前記発話候補の各々についての判定結果とに基づいて、前記発話候補の何れかを、前記発話に対する次の発話として出力するステップと、
を含む発話選択方法。
【請求項５】
前記発話判定部が判定するステップは、前記接続関係判定部によって前記接続関係があると判定された前記発話候補のうち、前記発話候補評価部によるランキング結果において最上位の発話候補を、前記発話に対する次の発話として出力する請求項４に記載の発話選択方法。
【請求項６】
前記接続関係判定部が判定するステップは、前記発話候補の各々について、前記発話との間の論理的な繋がりを表す接続関係のタイプを判定し、
前記発話判定部が判定するステップは、前記接続関係判定部によって、指定された前記接続関係のタイプであると判定された前記発話候補のうち、前記発話候補評価部によるランキング結果において最上位の発話候補を、前記発話に対する次の発話として出力する請求項５に記載の発話選択方法。
【請求項７】
コンピュータを、請求項１〜請求項３のいずれか１項に記載の発話選択装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、発話選択装置、方法、及びプログラムに係り、特に、ユーザの発話に対して適切な応答を返すための発話選択装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
音声やテキストを入出力として、ユーザと対話を行う対話システムでは、ユーザの発話内容に応じた返答をシステムが自動的に生成する。対話システムは、発話解析部、対話制御部、及び発話生成部を含み、ユーザ発話は発話解析部で解析され、発話の話題やユーザの意図を明らかにする。対話制御部では、発話解析部で得られた情報を参考に、システムの返答となる発話を選択するための指針を決定する。そして、発話生成部では、発話候補データベースに予め保存していた大量の発話候補文の中から最も次発話に妥当な発話を選択する。発話生成部で選択された発話が、実際に対話システムが行う発話となる。
【０００３】
非特許文献１では、対話システムの発話を決定に、その前の発話の単語の結束性（単語の語彙的な関係性）を評価指標として採用することで、話題的に繋がりのある発話を優先的に発話できるようにしている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ryuichiro Higashinaka，Kenji Imamura，Toyomi Meguro ，Chiaki Miyazaki，Nozomi Kobayashi，Hiroaki Sugiyama，Toru Hirano， Toshiro Makino and Yoshihiro Matsuo．Towards an Open Domain Conversational System Fully Based on Natural Language Processing．Proceedings of the 25th International Conference on Computational Linguistics (COLING 2014)．pp.928-939．2014）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、非特許文献１の単語の結束性に基づく対話システムでは、直前の発話との単語の語彙的な関係性に基づいて発話が決定されるが、語彙的な繋がりだけに着目しても直前の発話と意味が繋がる発話をするとは限らず、対話システムが支離滅裂な発話をしてしまうという課題があった。例えば、「ラーメンが好きです」というユーザの発話に対して、「スープを温めています」という返答は「ラーメン」と「スープ」という語彙的な繋がりが存在するため結束性の評価では高い返答となる。しかし、この2発話は明らかに意味が繋がっておらず、ユーザから見れば対話システムが妥当な返答をしていないと判断されてしまう。
【０００６】
対話システムにおいて、対話システムがユーザから見て意味不明な返答をしてしまうことは対話システムの満足度低下に繋がり、対話システムを利用しなくなってしまう原因となる。そのため、ユーザの発話に対して妥当な発話を返答することは対話システムにとって大きな課題となっている。
【０００７】
本発明は、上記問題点を解決するために成されたものであり、ユーザの発話に対して、適切な応答をすることができる発話選択装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、第１の発明に係る発話選択装置は、発話と、前記発話に対する次の発話候補の各々とに基づいて、前記発話候補の各々について、前記発話の次の発話としての評価値を算出し、前記評価値に基づいて前記発話候補をランキングする発話候補評価部と、前記発話候補の各々について、前記発話との間の論理的な繋がりを表す接続関係を判定する接続関係判定部と、前記発話候補評価部によるランキング結果と、前記接続関係判定部による前記発話候補の各々についての判定結果とに基づいて、前記発話候補の何れかを、前記発話に対する次の発話として出力する発話判定部と、を含んで構成されている。
【０００９】
また、第１の発明に係る発話選択装置において、前記発話判定部は、前記接続関係判定部によって前記接続関係があると判定された前記発話候補のうち、前記発話候補評価部によるランキング結果において最上位の発話候補を、前記発話に対する次の発話として出力するようにしてもよい。
【００１０】
前記接続関係判定部は、前記発話候補の各々について、前記発話との間の論理的な繋がりを表す接続関係のタイプを判定し、前記発話判定部は、前記接続関係判定部によって、指定された前記接続関係のタイプであると判定された前記発話候補のうち、前記発話候補評価部によるランキング結果において最上位の発話候補を、前記発話に対する次の発話として出力するようにしてもよい。
【００１１】
第２の発明に係る発話選択方法は、発話候補評価部が、発話と、前記発話に対する次の発話候補の各々とに基づいて、前記発話候補の各々について、前記発話の次の発話としての評価値を算出し、前記評価値に基づいて前記発話候補をランキングするステップと、接続関係判定部が、前記発話候補の各々について、前記発話との間の論理的な繋がりを表す接続関係を判定するステップと、発話判定部が、前記発話候補評価部によるランキング結果と、前記接続関係判定部による前記発話候補の各々についての判定結果とに基づいて、前記発話候補の何れかを、前記発話に対する次の発話として出力するステップと、を含んで実行することを特徴とする。
【００１２】
また、第２の発明に係る発話選択方法において、前記発話判定部が判定するステップは、前記接続関係判定部によって前記接続関係があると判定された前記発話候補のうち、前記発話候補評価部によるランキング結果において最上位の発話候補を、前記発話に対する次の発話として出力するようにしてもよい。
【００１３】
また、第２の発明に係る発話選択方法において、前記接続関係判定部が判定するステップは、前記発話候補の各々について、前記発話との間の論理的な繋がりを表す接続関係のタイプを判定し、前記発話判定部が判定するステップは、前記接続関係判定部によって、指定された前記接続関係のタイプであると判定された前記発話候補のうち、前記発話候補評価部によるランキング結果において最上位の発話候補を、前記発話に対する次の発話として出力するようにしてもよい。
【００１４】
第３の発明に係るプログラムは、コンピュータを、上記第１の発明に係る発話選択装置の各部として機能させるためのプログラムである。
【発明の効果】
【００１５】
本発明の発話選択装置、方法、及びプログラムによれば、発話候補の各々について、発話の次の発話としての評価値を算出し、評価値に基づいて発話候補をランキングし、発話候補の各々について、発話との間の論理的な繋がりを表す接続関係を判定し、ランキング結果と、発話候補の各々についての判定結果とに基づいて、発話候補の何れかを、発話に対する次の発話として出力することにより、ユーザの発話に対して、適切な応答をすることができる、という効果が得られる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施の形態に係る発話選択装置の構成を示すブロック図である。
【図２】本発明の第１の実施の形態に係る発話選択装置における発話選択処理ルーチンを示すフローチャートである。
【図３】本発明の第１の実施の形態に係る手法の実験例を示す図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００１８】
＜本発明の実施の形態に係る概要＞
【００１９】
まず、本発明の実施の形態における概要を説明する。
【００２０】
本発明の実施の形態に係る発話選択装置では、対話システムの発話選択の際に直前発話と発話候補の接続関係を確認することで、直前のユーザ発話との意味が繋がる発話を選択する。接続関係とは「だから〜」、「なので〜」という接続詞で表現される関係であり、発話間の論理的な繋がりを示す関係である。
【００２１】
また、本発明の実施の形態に係る発話選択装置では、対話システムの全ての発話候補について、まず直前発話との結束性を評価し、評価値を発話ランキングスコアとして、最もスコアが高い発話候補を一つ選択する。そして選択した発話と直前の発話との接続関係を確認し、接続関係が存在する発話はそのまま発話を行い、接続関係が存在しない場合は選択した発話候補を棄却し、発話ランキングスコアが次点の発話候補を選択し、再び接続関係を確認する。この作業を接続関係が存在する発話候補が選択されるまで繰り返す。これにより選択された発話候補は直前発話と語彙的な繋がりが強く、かつ、直前発話と接続関係を持つ発話候補が選択され、実際に対話システムが出力する発話となる。
【００２２】
また、本発明の実施の形態に係る発話選択装置を用いた対話システムでは、直前のユーザ発話に対して接続関係が存在する発話を行うようになる。接続関係とは、発話間の論理的な繋がり（因果関係、対比関係など）を示す関係であるため、接続関係が存在する発話間には、意味的な繋がりが存在していることになる。そのため、「語彙的な関係性はあるが、直前発話と意味がつながらない発話」をしてしまうという対話システムの課題を本発明の実施の形態により解決できるようになる。例えば、「ラーメンが好き」という発話に対して「美味しいラーメン店を紹介して」という発話は「ラーメンが好き（だったら）美味しいラーメン店を紹介して」という因果関係に関する接続関係が存在しており、この２発話間には意味的な繋がりが存在している。
【００２３】
以上のように、本発明の実施の形態に係る発話選択装置は、対話システムにおける発話を直前発話との接続関係により確認するための装置である。接続関係の有無を確認することで直前発話と意味的繋がりを持つ発話をすることができる。また、接続関係のタイプを指定することで直前発話に対して、意味的に狙った返答を返すことも可能になる。例えば「ラーメンが好き」という発話に対して「美味しいラーメン店を紹介して」などの因果関係にある発話や「味噌ラーメンが美味しいですよね」といった例示関係にある返答をすると、対話中の話題をより深堀りする方向に対話を進めることができる。一方で「ラーメンは体によくありません」の様に、直前発話に対して逆接的な返答をした場合は議論するような対話になる。このように接続関係を指定することで、直前発話に対してどのような返答をするかということを、意味的な繋がりから制御することが可能になる。これは、対話システムの性格付けや対話プランに沿って対話を進めたい場合などに効果を発揮するものである。
【００２４】
＜本発明の第１の実施の形態に係る発話選択装置の構成＞
【００２５】
次に、本発明の第１の実施の形態に係る発話選択装置の構成について説明する。図１に示すように、本発明の第１の実施の形態に係る発話選択装置１００は、ＣＰＵと、ＲＡＭと、後述する発話選択処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。この発話選択装置１００は、機能的には図１に示すように入力部１０と、演算部２０と、出力部５０とを備えている。
【００２６】
入力部１０は、対話システムにおける直前のユーザからの発話（以下、ユーザ発話と称する）を受け付ける。
【００２７】
演算部２０は、発話解析部２６と、対話制御部２８と、発話生成部３０とを含んで構成されている。
【００２８】
発話解析部２６は、入力部１０により受け付けたユーザ発話を形態素解析すると共に、話題やユーザの意図等を解析する。
【００２９】
対話制御部２８は、発話解析部２６で得られた解析結果に基づいて、システムの返答となる発話を選択するための指針を決定する。例えば、ユーザ発話に対応する発話候補データベース４０を決定する。
【００３０】
発話生成部３０は、発話候補評価部３２と、接続関係判定部３４と、発話判定部３６と、発話候補データベース４０とを備えている。
【００３１】
発話候補データベース４０には、複数の発話候補が格納されている。例えば、発話候補データベース４０は、対話システムが発話する発話の文そのものが、テキスト形式で格納されているデータベースである。例えば、マイクロブログの投稿記事などＷｅｂ上に公開されている様々な発話の文書集合を、発話に対するキーワード一致により全文検索可能にしたもの等を格納しておけばよい。
【００３２】
発話候補評価部３２は、発話解析部２６により解析されたユーザ発話と、発話候補データベース４０から選択された当該発話に対する次の発話候補の各々とに基づいて、発話候補の各々について、ユーザ発話の次の発話としての評価値を算出し、評価値に基づいて発話候補をランキングする。
【００３３】
発話候補評価部３２では、具体的には、対話制御部２８により決定された指針に基づいて、発話候補データベース４０における発話候補を選択し、選択した発話候補を評価する。発話候補を評価するための具体的な手法としては、上記非特許文献１に記載されている単語の結束性を用いたランキング手法を用いて、評価値を発話ランキングスコアとし、発話ランキングスコアが上位から順に発話候補をランキングする。なお、発話候補がランキングとして出力されるものであれば具体的な手法は問わない。例えば、発話文を概念ベクトルに変換しそのベクトルの類似度によって発話を決定する手法についても、類似度によって発話候補をランキング化できるため、手法を適用することができる。
【００３４】
接続関係判定部３４は、発話候補データベース４０から選択された発話候補の各々について、発話との間の論理的な繋がりを表す接続関係を判定する。
【００３５】
接続関係判定部３４では、具体的には、発話候補データベース４０から選択された発話候補中の何れか一つの発話候補とユーザ発話とを入力として、「接続関係あり（接続関係ラベル）」または「接続関係なし」を出力する。ここで、接続関係とは、発話間の論理的な繋がりであり、一般的には接続詞によって繋ぐことが出来る関係である。例えば、因果関係は「だから〜」、「なので〜」という接続詞で表現される関係である。
【００３６】
ここで接続関係ラベルの体系は、自然言語処理の研究分野において、様々な分類体系が提案されている。非特許文献２では、階層化された１２種の接続関係ラベルを提案している他、非特許文献３では日本語に関する８種の接続関係ラベルを提案している。
【００３７】
[非特許文献２]：Rashmi Prasad, Nikhil Dinesh, Alan Lee, Eleni Miltsakaki,Livio Robaldo, Aravind Joshi, and Bonnie Webber. The Penn Discourse TreeBank 2.0. Proceedings of the sixth international conference on Language Resources and Evaluation (LREC 2008), 2008.）
【００３８】
[非特許文献３]：山本和英, 齋藤真実. 用例利用型による文間接続関係の同定. 自然言語処理, Vol. 15, No. 3, pp. 21{51, 2008．）
【００３９】
接続関係判定部３４では、本実施の形態においては、上記非特許文献３の接続関係ラベルの体系に従って、接続関係を判定する。接続関係判定手法については「だから」や「例えば」の様に接続詞や「〜ので」「〜とか」のような接続助詞の有無によって接続詞を判定する手法の他、非特許文献４の様に機械学習を用いた自動推定による接続関係判定手法を適用する。例えば、接続関係ラベル毎のスコアを算出し、算出したスコアが閾値以上となる接続関係ラベルを出力し、全ての接続関係ラベルのスコアが閾値未満であれば接続関係ラベルを出力しない。
【００４０】
[非特許文献４]：Ziheng Lin, Min-Yen Kan, and Hwee Tou Ng. A PDTB-styled end-to-end discourse parser. Cambridge University Press, pp. 151-184, 2014.）
【００４１】
接続関係判定部３４は、発話候補の各々について、上記の接続関係判定手法により、接続関係を判定した結果、何らかの接続関係を示すラベルが出力された場合は、当該発話候補の接続関係を「接続関係あり」とし、接続関係ラベルが何も出力されない場合（または「接続関係なし」のラベルが出力された場合）は「接続判定なし」とする。
【００４２】
なお、接続関係判定部３４では、本実施の形態では上記の接続関係判定手法を用いるが、接続関係の判定手法は本実施の形態で用いる手法に限定されるものではない。また、接続関係判定のために用いる接続関係ラベルの体系も特に限定されるものではない。
【００４３】
発話判定部３６は、発話候補評価部３２によるランキング結果と、接続関係判定部３４による発話候補の各々についての判定結果とに基づいて、接続関係判定部３４によって接続関係があると判定された発話候補のうち、発話候補評価部３２によるランキング結果において最上位の発話候補を、発話に対する次の発話として出力する。
【００４４】
発話判定部３６は、具体的には、まず発話候補評価部３２においてユーザ発話に対する発話ランキングスコアが最上位（ランキング１位）の発話候補を選択する。ここで選択した発話候補が、接続関係判定部３４における判定結果において、ユーザ発話との接続関係が存在すると判定されている場合には、そのまま発話ランキングスコアにおいて最上位の発話候補を対話システムからユーザに対する発話として採用する。発話ランキングスコアが最上位の発話と直前のユーザ発話との間に接続関係が存在しない場合は、このランキング最上位の発話候補を棄却する。次に、発話ランキングスコアが次点（ランキング２位）の発話を選択し、上記のランキング結果が最上位の発話と同様に接続関係の確認を行う。上記の処理を接続関係が存在する発話が発見されるまで繰り返し行う。
【００４５】
また、発話判定部３６では、直前のユーザ発話との接続関係を持つ発話候補を発見するまで発話候補をランキング順に確認していくが、ランキング下位の発話に関しては、接続関係以前に直前のユーザ発話との話題の関連性が非常に低くなっていることから、対話システムの返答として相応しくない発話である可能性が高い。そのため、接続関係の判定に加えて、発話ランキングスコアに対する閾値を設定しておき、選択した発話ランキングスコアが次点の発話候補の発話ランキングスコアが設定した閾値よりも低い場合はそれ以降の発話候補に対しては接続関係による発話判定は行わず、一度棄却した発話ランキングスコアが最上位の発話候補を最終的な発話として採用する。閾値の設定については、発話候補評価部３２で採用したランキングのランキング算出法によって任意で設定する。例えば、コサイン距離による類似度を評価関数に採用した場合は、全発話候補と直前発話との類似度の平均値０．４を５０％上回る０．６に設定するといった決め方が可能である。このように平均値など統計的観点から設定する他、実際の対話システムの出力を確認しながら、対話システムの返答が最適になる閾値を探索的に決定する手法なども適用可能である。また、閾値をランキング結果の一定の順位とし、例えばランキング２０位までは接続関係を確認し、それ以降はランキング結果が最上位の発話を採用するという手法をとることも可能である。
【００４６】
＜本発明の実施の形態に係る発話選択装置の作用＞
【００４７】
次に、本発明の実施の形態に係る発話選択装置１００の作用について説明する。入力部１０においてユーザ発話を受け付けると、発話選択装置１００は、図２に示す発話選択処理ルーチンを実行する。
【００４８】
まず、ステップＳ９６では、入力部１０により受け付けたユーザ発話を解析する。
【００４９】
次に、ステップＳ９８では、ステップＳ９６で解析されたユーザ発話に基づいて、発話を選択するための指針を決定する。
【００５０】
ステップＳ１００では、ステップＳ９６により解析されたユーザ発話と、ステップＳ９８で決定された指針に基づいて発話候補データベース４０から選択された当該発話に対する次の発話候補の各々とに基づいて、発話候補の各々について、ユーザ発話の次の発話としての評価値を算出し、評価値に基づいて発話候補をランキングする。
【００５１】
ステップＳ１０２では、発話候補データベース４０から選択された発話候補の各々について、接続関係を判定する。
【００５２】
ステップＳ１０４では、ステップＳ１００におけるランキング結果が最上位の発話候補を選択する。
【００５３】
ステップＳ１０６では、ステップＳ１０４又はステップＳ１０８により選択されている発話候補について、ユーザ発話との接続関係が存在するかを判定し、接続関係が存在すればステップＳ１１４へ移行し、接続関係が存在しなければステップＳ１０８へ移行する。
【００５４】
ステップＳ１０８では、ステップＳ１００におけるランキング結果が次点の発話候補を選択する。
【００５５】
ステップＳ１１０では、ステップＳ１０８で選択された発話候補の評価値が予め定めた閾値未満かを判定し、閾値未満であればステップＳ１１２へ移行し、閾値未満でなければステップＳ１０６へ戻って接続関係が存在するかを判定する。
【００５６】
ステップＳ１１２では、ステップＳ１００のランキング結果において最上位の発話候補をシステムの発話として出力部５０により出力して処理を終了する。
【００５７】
ステップＳ１１４では、ステップＳ１０４又はステップＳ１０８により選択されている発話候補をシステムの発話として出力部５０により出力して処理を終了する。
【００５８】
以上説明したように、第１の実施の形態に係る発話選択装置によれば、発話候補の各々について、ユーザ発話の次の発話としての評価値を算出し、評価値に基づいて発話候補をランキングし、発話候補の各々について、ユーザ発話との間の論理的な繋がりを表す接続関係を判定し、ランキング結果と、発話候補の各々についての判定結果とに基づいて、接続関係があると判定された発話候補のうち、ランキング結果において最上位の発話候補を出力することにより、ユーザの発話に対して、適切な応答をすることができる。
【００５９】
＜本発明の第２の実施の形態に係る発話選択装置の構成＞
【００６０】
次に、本発明の第２の実施の形態に係る発話選択装置の構成について説明する。なお、第１の実施の形態に係る発話選択装置１００と同一となる部分については、同一符号を付して詳細な説明を省略する。
【００６１】
上記第１の実施の形態では、接続関係を「接続関係あり」と「接続関係なし」の２値により判定していたが、第２の実施の形態では、接続関係ラベルのタイプを判定する点が異なっている。
【００６２】
上記図１に示すように、本発明の第２の実施の形態に係る発話選択装置１００は、ＣＰＵと、ＲＡＭと、後述する発話選択処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。この発話選択装置１００は、機能的には図１に示すように入力部１０と、演算部２０と、出力部５０とを備えている。
【００６３】
第２の実施の形態に係る演算部２０は、発話解析部２６と、対話制御部２８と、発話生成部３０とを含んで構成されている。
【００６４】
第２の実施の形態に係る対話制御部２８は、発話解析部２６で得られた解析結果に基づいて、システムの返答となる発話を選択するための指針を決定する。例えば、ユーザ発話に対応する発話候補データベース４０を決定する。また、これまでの対話内容やユーザ発話から、次の発話候補とすべき接続関係ラベルのタイプを指定する。これにより対話システムのシステム発話を接続関係ラベルに基づいて制御することが可能である。
【００６５】
発話生成部３０は、発話候補評価部３２と、接続関係判定部３４と、発話判定部３６と、発話候補データベース４０とを含んで構成されている。
【００６６】
第２の実施の形態に係る接続関係判定部３４は、発話候補の各々について、ユーザ発話との間の論理的な繋がりを表す接続関係ラベルのタイプを判定する。
【００６７】
第２の実施の形態に係る接続関係判定部３４では、具体的には、発話候補の各々について、接続関係の判定において、「因果関係」、「展開関係」「対比関係」など具体的な接続関係の種類を判定し、当該発話候補の接続関係ラベルとして出力する。
【００６８】
第２の実施の形態に係る発話判定部３６は、接続関係判定部３４によって、対話制御部２８で指定された接続関係ラベルのタイプであると判定された発話候補のうち、発話候補評価部３２によるランキング結果において最上位の発話候補を、発話に対する次の発話として出力する。
【００６９】
また、上記図２に示す第２の実施の形態に係る発話選択処理ルーチンでは、ステップＳ１０２において、ステップＳ１００でランキングされた発話候補の各々について、接続関係ラベルのタイプを判定するように置き換えて実行すればよい。
【００７０】
また、上記ステップＳ１０６において、ステップＳ１０４又はステップＳ１０８により選択されている発話候補について、指定された接続関係ラベルのタイプであるかを判定し、指定した接続関係ラベルのタイプであればステップＳ１１４へ移行し、指定した接続関係ラベルのタイプでなければステップＳ１０８へ移行するように置き換えて実行すればよい。このようにすることで直前のユーザ発話に対する発話に適した接続関係ラベルのタイプを持つ発話候補が選ばれるまで発話判定部３６が動作することになる。
【００７１】
なお、第２の実施の形態における発話選択装置１００の他の構成及び作用は第１の実施の形態と同様であるため詳細な説明を省略する。
【００７２】
以上説明したように、第２の実施の形態に係る発話選択装置によれば、発話候補の各々について、ユーザ発話の次の発話としての評価値を算出し、評価値に基づいて発話候補をランキングし、発話候補の各々について、接続関係ラベルのタイプを判定し、ランキング結果と、発話候補の各々についての判接続関係ラベルのタイプとに基づいて、発話候補の何れかを、ユーザ発話に対する次の発話として出力することにより、ユーザの発話に対して、適切な応答をすることができる。
【００７３】
＜実験例＞
【００７４】
図３に本発明の第１の実施の形態における発話選択装置１００に係る手法を適用した発話選択の例を示す。この例でのユーザ発話は「ラーメンが好きです」であり、発話候補評価部３２では「スープを温めています」、「味噌ラーメンは美味しいですね」、「麺が伸びてしまいます」という３つの発話候補が発話ランキングスコアの「高い順に提示される。まず、発話ランキングスコアが一番高い「スープを温めています」が接続関係判定部３４に送られユーザ発話「ラーメンが好きです」との接続関係を判定する。接続関係判定を行った結果「接続関係なし」のラベルが出力される。この結果から発話判定部３６では「棄却」と判断され、「スープを温めています」は一度捨てられる。次にランキング次点の「味噌ラーメンは美味しいですね」を接続関係判定部３４に送り、再び「ラーメンが好きです」との接続関係を判定する。２回目の接続関係判定部３４では、発話と発話候補との間には接続関係が存在すると判定されているため、発話判定部３６では「採用」と判断され、実際に対話システムの発話「味噌ラーメンは美味しいですね」として出力される。
【００７５】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【００７６】
例えば、上述した実施の形態では、ランキング上位の発話候補から順に、接続関係の有無を判定して、発話候補を選択する場合を例に説明したが、これに限定されるものではなく、例えば、接続関係を有する度合いを示すスコアと、発話候補の評価値とを重み付け加算したスコアに応じてランキングし、最上位の発話候補を選択するようにしてもよい。
【符号の説明】
【００７７】
１０   入力部
２０   演算部
２６   発話解析部
２８   対話制御部
３０   発話生成部
３２   発話候補評価部
３４   接続関係判定部
３６   発話判定部
４０   発話候補データベース
５０   出力部
１００ 発話選択装置
【図１】
0006343586.tif 000002
【図２】
0006343586.tif 000003
【図３】
0006343586.tif 000004