(57)【要約】【課題】適切な応答文を出力することができる応答システム、及び応答内容制御方法を提供する。【解決手段】本発明の一態様にかかる応答システムは、入力された入力文に対する応答文を出力する応答システムであって、入力文を入力するマイク３１と、マイクに入力された入力文の言語情報を理解する言語理解部１２と、言語情報に応じた応答候補文を決定する対話管理部１３と、応答候補文に基づいて応答文を生成する応答文生成部１４と、応答文生成部１４で生成された応答文を出力するスピーカ３２と、を有している。そして、対話管理部１３は、禁止文が記憶されている禁止文データベース１６を参照して応答候補文と禁止文との類似度を算出する。また、対話管理部１３は、類似度と判定値との比較結果に応じて応答候補文の出力を制限する。【選択図】  図１
2009037458.tif 000002
【特許請求の範囲】
【請求項１】
入力された入力文に対する応答文を出力する応答システムであって、
入力文を入力する入力部と、
前記入力部に入力された入力文の言語情報を理解する言語理解部と、
前記言語情報に応じた応答候補文を決定する管理部と、
前記応答候補文に基づいて応答文を生成する応答文生成部と、
前記応答文生成部で生成された応答文を出力する出力部と、を備え、
前記管理部が、禁止文が記憶されている禁止文データベースを参照することにより、前記応答候補文と前記禁止文との類似度を算出し、前記類似度に基づいて前記応答候補文の出力を制限する応答システム。
【請求項２】
前記管理部が、前記類似度に基づいて前記応答候補文の判定値を算出し、前記判定値としきい値との比較結果に基づいて、前記応答候補文の出力を制限するか否かを判定する請求項１に記載の応答システム。
【請求項３】
前記応答候補文をネットワーク上で更新される情報に基づいて決定することを特徴とする請求項２に記載の応答システム。
【請求項４】
前記禁止文データベースに記憶されている禁止文が複数の形態素を含むことを特徴とする請求項１乃至３のいずれか１項に記載の応答システム。
【請求項５】
前記応答候補文、及び前記発話禁止文を形態素解析し、前記応答候補文に含まれる形態素と、前記発話禁止文に含まれる形態素とを比較して、前記形態素の一致数に応じて前記類似度を算出する請求項１乃至４のいずれか一項に記載の応答システム。
【請求項６】
前記形態素の一致数が、特定の品詞において形態素が一致する数であることを特徴とする請求項５に記載の応答システム。
【請求項７】
入力された音声データに対する応答文を発話する応答システムであって、
入力された音声データに対して音声認識処理を行う音声認識部と、
前記音声認識処理された音声データの言語情報を理解する言語理解部と、
前記言語情報に応じた応答候補文を決定するとともに、禁止文が記憶されている禁止文データベースを参照することによって前記応答候補文の内容に応じて前記応答候補文の発話を制限する対話管理部と、を備える応答システム。
【請求項８】
入力された入力文に対して出力される応答文の内容を制御する応答内容制御方法であって、
入力された入力文の言語情報を理解するステップと、
前記言語情報に応じた応答候補文を決定するステップと、
前記類似度から決定された判定値としきい値とを比較するステップと、を備え、
禁止文が記憶されている禁止文データベースを参照することにより、前記応答候補文と前記禁止文との類似度を算出し、前記類似度に基づいて前記応答候補文の出力を制限する応答内容制御方法。
【請求項９】
前記類似度に基づいて前記応答候補文の判定値を算出し、前記判定値としきい値との比較結果に基づいて、前記応答候補文の出力を制限するか否かを判定する請求項８に記載の応答内容制御方法。
【請求項１０】
前記応答候補文をネットワーク上で更新される情報に基づいて決定することを特徴とする請求項８、又は９に記載の応答内容制御方法。
【請求項１１】
前記禁止文データベースに記憶されている禁止文が複数の形態素を含むことを特徴とする請求項８乃至１０のいずれか１項に記載の応答内容制御方法。
【請求項１２】
前記応答候補文と前記禁止文を形態素解析し、前記応答候補文に含まれる形態素と、前記禁止文に含まれる形態素とを比較して、形態素の一致数に応じて前記類似度を算出する請求項８乃至１１のいずれか１項に記載の応答内容制御方法。
【請求項１３】
前記形態素の一致数が、特定の品詞での形態素の一致数であることを特徴とする請求項１２に記載の応答内容制御方法。
【請求項１４】
入力された音声データに対して発話される応答文の内容を制御する応答内容制御方法であって、
入力された音声データに対して音声認識処理を行うステップと、
前記音声認識処理されたデータの言語情報を理解するステップと、
前記言語情報に応じて応答候補文を決定するステップと、
禁止文が記憶されている禁止文データベースを参照して、前記応答候補文の内容に応じて前記応答候補文の発話を制限するステップと、を備えるステップと、を備える応答内容制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は応答システム、及び応答内容制御方法に関し、特に詳しくは、入力された言語情報に対して応答する応答システム、及びその応答内容を制御する応答内容制御方法に関する。
【背景技術】
【０００２】
近年、マイクに入力した音声に対して音声認識処理を行い、その音声認識結果に対して対話する音声対話システムが開発されている（非特許文献１）。また、展示施設などにおいて、施設の案内をさせる音声対話ロボットが開発されている。
【０００３】
このような、音声対話処理では、例えば、入力した音声に対して音声認識処理を行い、音声データをテキストデータに変換する。そして、そのテキストデータを言語理解モジュールにおいて処理するとともに、対話管理部で情報検索を行い、応答文を生成する。
【非特許文献１】「音声対話システム」  河原達也・荒木雅弘共著  オーム社  （平成１８年１０月１５日発行）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、展示施設において、音声対話システムを利用する場合、利用者に対して適切でない応答をする場合があるという問題点がある。すなわち、車両展示施設などで、施設利用者に対して好ましくないような応答文を発話してしまうことがある。この問題点について、図１０を用いて説明する。図１０は、利用者が発話した質問に対して、音声対話ロボットが応答する様子を模式的に示す図である。
【０００５】
車両展示施設において、車両整備などで時間をもてあました利用者１０５が音声対話ロボット１０４に対して最新ニュースを問い合わせたとする。ここでは、施設の利用者１０５が音声対話ロボット１０４に対して「最新ニュースを教えて」と質問している。このとき、音声対話ロボット１０４は、インターネットを介してニュースをダウンロードして、インターネット上の最新ニュースを読み上げる。
【０００６】
ここでは、音声対話ロボット１０４が、利用者１０５に対して、「隣家の飼い犬の鳴き声がうるさいといって、その犬を殺す事件が長野でありました。」という応答文を発話している。このような、残虐なニュースなどが発話された場合、利用者１０５が不快な気分となってしまう。
【０００７】
このように、従来の音声対話ロボット１０４では、利用者を不快にさせるような不適切な応答をしてしまうおそれがある。このような、問題点は、音声を発話する音声対話ロボットに限らず、応答文をモニタ上などに出力する応答システムにおいても発生する。
【０００８】
本発明は、かかる課題を解決するためになされたものであり、適切な応答文を出力することができる応答システム、及び応答内容制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の第１の態様にかかる応答システムは、入力された入力文に対する応答文を出力する応答システムであって、入力文を入力する入力部と、前記入力部に入力された入力文の言語情報を理解する言語理解部と、前記言語情報に応じた応答候補文を決定する管理部と、前記応答候補文に基づいて応答文を生成する応答文生成部と、前記応答文生成部で生成された応答文を出力する出力部と、を備え、前記管理部が、禁止文が記憶されている禁止文データベースを参照することにより、前記応答候補文と前記禁止文との類似度を算出し、前記類似度に基づいて前記応答候補文の出力を制限するものである。これにより、不適切な内容の応答文の出力が制限されるため、適切な応答文を出力することができる。
【００１０】
本発明の第２の態様にかかる応答システムは、上記の応答システムであって、前記管理部が、前記類似度に基づいて前記応答候補文の判定値を算出し、前記判定値としきい値との比較結果に基づいて、前記応答候補文の出力を制限するか否かを判定するものである。これにより、不適切な内容の応答文の出力を確実に制限することができる。
【００１１】
本発明の第３の態様にかかる応答システムは、上記の応答システムであって、前記応答候補文をネットワーク上で更新される情報に基づいて決定することを特徴とするものである。内容が未確定な応答候補文が決定される場合であっても、適切な応答文を生成することができる。
【００１２】
本発明の第４の態様にかかる応答システムは、上記の応答システムであって、前記禁止文データベースに記憶されている禁止文が複数の形態素を含むことを特徴とするものである。これにより、不適切な応答候補文の出力を簡便かつ確実に制限することができる。
【００１３】
本発明の第５の態様にかかる応答システムは、上記の応答システムであって、前記応答候補文、及び前記発話禁止文を形態素解析し、前記応答候補文に含まれる形態素と、前記発話禁止文に含まれる形態素とを比較して、前記形態素の一致数に応じて前記類似度を算出するものである。これにより、不適切な応答候補文の出力を簡便かつ確実に制限することができる。
【００１４】
本発明の第６の態様にかかる応答システムは、上記の応答システムであって、前記形態素の一致数が、特定の品詞において形態素が一致する数であることを特徴とするものである。これにより、不適切な応答候補文の出力を簡便かつ確実に制限することができる。
【００１５】
本発明の第７の態様にかかる応答システムは、入力された音声データに対する応答文を発話する応答システムであって、入力された音声データに対して音声認識処理を行う音声認識部と、前記音声認識処理された音声データの言語情報を理解する言語理解部と、前記言語情報に応じた応答候補文を決定するとともに、禁止文が記憶されている禁止文データベースを参照することによって前記応答候補文の内容に応じて前記応答候補文の発話を制限する対話管理部と、を備えるものである。これにより、不適切な内容の応答文の出力が制限されるため、適切な応答文を出力することができる。
【００１６】
本発明の第８の態様にかかる応答内容制御方法は、上記の応答内容制御方法であって、入力された入力文に対して出力される応答文の内容を制御する応答内容制御方法であって、入力された入力文の言語情報を理解するステップと、前記言語情報に応じた応答候補文を決定するステップと、前記類似度から決定された判定値としきい値とを比較するステップと、を備え、禁止文が記憶されている禁止文データベースを参照することにより、前記応答候補文と前記禁止文との類似度を算出し、前記類似度に基づいて前記応答候補文の出力を制限するものである。これにより、不適切な内容の応答文の出力が制限されるため、適切な応答文を出力することができる。
【００１７】
本発明の第９の態様にかかる応答内容制御方法は、上記の応答内容制御方法であって、前記類似度に基づいて前記応答候補文の判定値を算出し、前記判定値としきい値との比較結果に基づいて、前記応答候補文の出力を制限するか否かを判定するものである。これにより、不適切な内容の応答文の出力を確実に制限することができる。
【００１８】
本発明の第１０の態様にかかる応答内容制御方法は、上記の応答内容制御方法であって、前記応答候補文をネットワーク上で更新される情報に基づいて決定することを特徴とするものである。内容が未確定な応答候補文が決定される場合であっても、適切な応答文を生成することができる。
【００１９】
本発明の第１１の態様にかかる応答内容制御方法は、上記の応答内容制御方法であって、前記禁止文データベースに記憶されている禁止文が複数の形態素を含むことを特徴とするものである。これにより、不適切な応答候補文の出力を簡便かつ確実に制限することができる。
【００２０】
本発明の第１２の態様にかかる応答内容制御方法は、上記の応答内容制御方法であって、前記応答候補文と前記禁止文を形態素解析し、前記応答候補文に含まれる形態素と、前記禁止文に含まれる形態素とを比較して、形態素の一致数に応じて前記類似度を算出するものである。これにより、不適切な応答候補文の出力を簡便かつ確実に制限することができる。
【００２１】
本発明の第１３の態様にかかる応答内容制御方法は、上記の応答内容制御方法であって、前記形態素の一致数が、特定の品詞での形態素の一致数であることを特徴とするものである。これにより、不適切な応答候補文の出力を簡便かつ確実に制限することができる。
【００２２】
本発明の第１４の態様にかかる応答内容制御方法は、上記の応答内容制御方法であって、入力された音声データに対して発話される応答文の内容を制御する応答内容制御方法であって、入力された音声データに対して音声認識処理を行うステップと、前記音声認識処理されたデータの言語情報を理解するステップと、前記言語情報に応じて応答候補文を決定するステップと、禁止文が記憶されている禁止文データベースを参照して、前記応答候補文の内容に応じて前記応答候補文の発話を制限するステップと、を備えるステップと、を備えるものである。これにより、不適切な内容の応答文の出力が制限されるため、適切な応答文を出力することができる。
【発明の効果】
【００２３】
本発明によれば、適切な応答文を出力することができる応答システム、及び応答内容制御方法を提供することを提供することを目的とする。
【発明を実施するための最良の形態】
【００２４】
本実施の形態にかかる応答システムは、入力された入力文に対する応答文を出力する応答システムである。そして、応答システムは、入力文を入力する入力部と、前記入力部に入力された入力文の言語情報を理解する言語理解部と、前記言語情報に応じた応答候補文を決定する管理部と、前記判定値がしきい値よりも低い応答候補文に基づいて応答文を生成する応答文生成部と、前記応答文生成部で生成された応答文を出力する出力部と、を有している。そして、管理部は、禁止文が記憶されている禁止文データベースを参照することにより、前記応答候補文と前記禁止文との類似度を算出している。さらに、管理部は、前記類似度に基づいて前記応答候補文の出力を制限している。
【００２５】
本実施の形態にかかる応答システムを用いた応答ロボット１００について図１を用いて説明する。図１は、応答ロボット１００の構成を示すブロック図である。応答ロボットは、処理コンピュータ１０と、マイク３１と、スピーカ３２と、モータ３３とを有している。ここでは、応答ロボット１００がヒューマノイド型の音声対話ロボットであるとして説明する。また、応答ロボット１００は、例えば、車両展示施設などで利用されているとする。そして、発話者１０２が発話すると、応答ロボット１００は自律的に対話を行う。
【００２６】
マイク３１は、発話者１０２が発話した音声を取得する。すなわち、発話された文が、マイク３１によって受音される。この発話文には、言語情報が含まれている。例えば、発話文には、応答ロボット１００に対する質問や要求などを示す言語情報が含まれている。従って、マイク３１は、言語情報を含む入力文を入力する入力部となる。マイク３１として、例えば、複数のマイクロフォンを有するマイクロフォンアレイを用いてもよい。
【００２７】
マイク３１に入力された入力文の音声データは、処理コンピュータ１０によって処理される。処理コンピュータ１０は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、通信用のインターフェースなどを有し、応答ロボット１００の各種動作を制御する。そして、処理コンピュータ１０は、例えばＲＯＭに格納された制御プログラムに従って各種の制御を実行する。すなわち、処理コンピュータ１０は、応答ロボット１００を制御する制御部となり、音声対話プログラムを実行する。これにより、入力された言語情報の質問や要求に応答する応答文が生成される。すなわち、応答文に対応する出力データを生成する。なお、処理コンピュータ１０の構成に付いては、後述する。また、処理コンピュータ１０は物理的に単一な構成に限られるものではない。
【００２８】
そして、処理コンピュータ１０によって生成された応答文に対応する音声データがスピーカ３２から出力される。これにより、応答ロボット１００が応答文を読み上げる。すなわち、応答文を外部へ所定の方向および大きさで出力するこのように、スピーカ３２からは、処理コンピュータ１０で生成された応答文に対応する出力データを出力する出力部となる。また、処理コンピュータ１０は、インターネット１０３に接続されている。そして、処理コンピュータ１０は、インターネット１０３上の情報データをダウンロードする。
【００２９】
モータ３３は、応答文を出力する際に、各部位を動作させる。例えば、モータ３３は、ヒューマノイド型ロボットの、口唇、首、腕、足、関節、車輪などを動作させる。これにより、応答する際に、手振り、身振りなどの所定の動作が実施される。
【００３０】
処理コンピュータ１０は、音声認識部１１、言語理解部１２、対話管理部１３、応答文生成部１４、音声合成部１５、発話禁止文データベース１６、質問応答データベース１７、及びモータ制御部２０を有している。
【００３１】
音声認識部１１は、音声認識処理を行う。音声認識部１１は、例えば、入力文の音声データをテキストデータに変換する。これにより、テキスト形式の入力データが生成される。すなわち、音声データを単語列、文字列に変換する。例えば、音声認識部１１は、言語モデルと音響モデルを用いてデコードする。さらに、音声認識部１１は、形態素解析を行う。すなわち、音声認識結果のテキストを形態素に分割し、それぞれの形態素に品詞情報を付加する。なお、音声認識処理を行う前に、雑音除去処理などを行ってもよい。このような音声認識処理は、所定の音声認識エンジンを用いて実施することができる。
【００３２】
言語理解部１２は、音声認識されたデータに対して言語理解処理を行う。これにより、入力文の言語情報が理解される。すなわち、言語理解部１２は、入力文における質問、要求等の内容を理解する。例えば、テキストデータに対して係りうけ解析などを行う。各形態素がどの形態素にかかっているかが解析される。例えば、名詞（例えば、主語や主語等）や形容動詞がどの動詞に係っているかが判別される。あるいは、形容詞がどの名詞に係っているか判別される。また、言語理解処理において、所定の概念モデルを用いてもよい。言語理解処理については、公知の処理方法を用いることができる。
【００３３】
対話管理部１３は、対話管理を行う。例えば、言語理解された質問に対して、質問応答データベース１７を参照して、発話候補文を決定する。質問応答データベース１７には、質問に応答する回答文がデータベースとして記憶されている。例えば、（１）質問文Ａ「トイレはどこですか？」に対する回答文として「右斜め前です。」、（２）質問文Ｂ「あなたの名前は？」に対する回答文として、「私の名前はＡＡＡです。」などが記憶されている。すなわち、質問応答データベース１７には、質問文と回答文とが対応付けられて記憶されている。そして、対話管理部１３は、入力されたテキスト文に最も近い質問文を選択する。質問応答データベース１７の中で最も近い質問文に対応する回答文を発話候補文として選択する。これにより、入力文の内容に応じて発話候補文が決定される。
【００３４】
さらに、対話管理部１３は、特定の発話に対して、知能処理を行う。例えば、インターネット情報を求める質問に対しては、インターネット１０３からテキスト情報を取得する。発話者が発した質問が、「なにか最新ニュースを教えて」の場合、インターネットからニュースを取得する。具体的には、インターネット１０３から情報を取得して、ｈｔｍｌのタグ情報を用いて、記事の部分を抜き出す。これにより、ニュースのテキストデータがダウンロードされる。そして、このニュースのテキスト文を発話候補文とする。
【００３５】
このように、「なにか最新ニュースを教えて」という発話が発話者１０１によってなされた場合、対話管理部１３は、最新ニュースをインターネット１０３からダウンロードする。最新ニュースは、例えば、ポータルサイトからダウンロードされる。具体的には、ヤフーニュースをダウンロードして、最新ニュースとすることができる。そして、最新ニュースを発話候補文とする。
【００３６】
さらに、対話管理部１３は、発話候補文に対して、類似度計算、及び発話判定を行なう。例えば、対話管理部１３は、発話禁止文データベース１６を参照して、発話禁止文と発話候補文の類似度を計算する。なお、発話禁止文データベース１６には、１以上の発話禁止文が記憶されている。そして、それぞれの発話禁止文と発話候補文の類似度を算出する。その類似度に基づいて判定値を算出し、発話判定を行なう。具体的には、対話管理部１３は、判定値としきい値とを比較して、その比較結果に基づいて応答候補文の出力を制限するか否かを判定する。すなわち、対話管理部１３は、発話候補文が発話に適しているかを判定する。発話判定によって、発話候補文が発話に適していないと判定された場合、発話候補文を変更する。例えば、発話に適していないと判定された発話候補文とは異なる文を発話候補文とする。具体的には、最新ニュースの次に新しいニュースを発話候補文とする。そして、類似度、及び判定値を求めて、発話判定を行なう。そして、発話に適した発話候補文になるまで、処理を繰り返す。すなわち、発話に適したニュースが現れるまで、同様の処理を繰り返す。
【００３７】
このように、対話管理部１３は、入力文の言語情報に応じて発話候補文を決定する。そして、対話管理部１３は、発話禁止文データベース１６を参照して、発話候補文の内容に応じて発話候補文の出力を制限する。すなわち、発話禁止文データベース１６の内容に基づいて、発話候補文の内容が不適切と判断された場合、発話候補文の発話を禁じる。なお、対話管理部１３における処理は、上記の処理に限られるものではない。例えば、発話者１０１が発話した内容をそのまま言い返すような処理を行ってもよい。すなわち、発話者１０１が発話した文をそのまま発話候補文としてもよい。発話候補文の選定は、特に限定されるものではない。
【００３８】
応答文生成部１４は、発話候補文に基づいて応答文を生成する。例えば、最新ニュースに定形文を加えたものを応答文として生成する。例えば、最新ニュースの前に「インターネットの情報です」という定形文を追加したり、最新ニュースの後に、「というニュースがありました。」というような定形文を追加したりする。もちろん、上記の例と異なる定形文でもよく、定形文がなくてもよい。さらには、発話候補文を適宜、変形してもよい。応答文生成部１４は、発話判定結果によっては、応答候補文の出力が制限された状態で、応答文を生成する。
【００３９】
音声合成部１５は、応答文に対して音声合成処理を行う。これにより、テキスト形式であった応答文のデータが、音声形式のデータ（例えば、ＷＡＶデータ等）に変換される。そして、音声合成部で合成された音声データは、スピーカ３２によって出力される。音声合成処理には、公知の方法を用いることができる。このようにして、定形文と組み合わされた最新ニュースが読み上げられる。
【００４０】
次に、図２を用いて、本実施の形態にかかる応答ロボット１００の制御方法について説明する。図２は、本実施の形態にかかる発話内容の制御方法を示すフローチャートである。ここでは、主として、対話管理部１３での処理について説明する。まず、応答ロボット１００が発話候補文を確定する（ステップＳ１０１）。言語理解部１２で理解された言語情報に基づいて、発話候補文が決定される。上記のように、インターネット１０３からダウンロードした最新ニュースを発話候補文とする。
【００４１】
次に、発話禁止文データベース１６に記憶されている発話禁止文と、発話候補文との類似度Ａｉ（ｉ＝１、２・・・ｍ）を算出する（ステップＳ１０２）。ここで、ｍは発話禁止文データベースに記憶されている発話禁止文の数である。すなわち、発話禁止文データベース１６にｍ個の発話禁止文が登録されているとする。この場合、ｍ個の類似度が算出される。すなわち、発話禁止文データベース１６に記憶されている全発話禁止文に対して、類似度をそれぞれ算出する。発話禁止文は、完全な文に限らず、単語であってもよい。
【００４２】
類似度は、例えば、図２の式１によって算出される。式１において、関数Ｆ（ｘ，ｙ）は形態素ｘと形態素ｙとが、一致したときに１を返し、それ以外のときに０を返す関数である。また、Ｂｋ（ｋ＝１、・・・・Ｌ）は発話候補文の形態素であり、Ｌは発話候補文の形態素数である。すなわち、発話候補文には、Ｌ個の形態素が含まれている。さらに、Ｃｉｊ（ｉ＝１、２・・・ｍ、ｊ＝１、２・・・ｎｉ）は発話禁止文データベースの形態素である。但し、ｎｉはｉ番目の発話禁止文の形態素数である。すなわち、ｉ番目の発話禁止文には、ｎｉ個の形態素が含まれている。
【００４３】
このように、関数Ｆ（Ｂｋ、Ｃｉｊ）は、発話候補文の形態素が発話禁止文に含まれる場合、１を返し、発話候補文の形態素が発話禁止文に含まれない場合、０を返す。従って、１つの発話禁止文におけるＦ（Ｂｋ、Ｃｉｊ）の合計が、その禁止文における形態素の一致数となる。すなわち、式１は、発話禁止文と発話候補文との間の形態素の一致数を発話禁止文の形態素数で割った値を示す。ここで、形態素の一致数とは、発話候補文と発話禁止文とで共通する形態素の数となる。そして、発話候補文の形態素と発話禁止文の形態素の一致数に基づいて、発話候補文に対するその発話禁止文の類似度が算出される。すなわち、発話候補文に含まれる形態素のうち発話禁止文に含まれる形態素と一致する形態素の数を求める。そして、形態素の一致数を発話禁止文の形態素数で割ることにより、類似度Ａｉが算出される。全ての発話禁止文に対して、類似度を算出する。
【００４４】
また、特定の品詞に着目して、類似度を決定してもよい。すなわち、特定品詞の形態素の一致数に基づいて、類似度を算出してもよい。例えば、名詞、動詞、形容詞のみに着目した場合、名詞、動詞、形容詞の形態素が一致したときに、１を返す。助詞、連体詞、助動詞などの他の形態素は、カウントされない。この場合、Ｐｉは、ｉ番目の発話禁止文における特定の品詞（名詞、動詞、形容詞）の形態素の数となる。ここでは、特定の品詞以外の形態素はカウントされない。なお、着目する品詞は、名詞、動詞、形容詞に限定されるものではない。例えば、名詞、動詞のみについて着目してもよい。このように、発話候補文と発話禁止文とで共通する、特定品詞の形態素数を一致数としてもよい。さらに、各品詞に対して重み付けを行ってもよい。
【００４５】
このようにして、各発話禁止文に対して類似度Ａｉを求める。類似度Ａｉは、発話禁止文と発話候補文とがどの程度類似しているかを示す尺度となる。従って、発話禁止文と類似度が高い発話候補文は、発話に不適切な内容を含んでいるおそれがある。
【００４６】
そして、類似度Ａｉに基づいて判定値を算出し、判定値としきい値を比較する（ステップＳ１０３）。ここでは、判定値をＡｉの最大値としているため、判定値＝ＭＡＸ（Ａｉ）となる。すなわち、全ての類似度の中でも最も大きい値を判定値とする。そして、判定値と予め定められたしきい値とを比較する。
【００４７】
判定値がしきい値Ｚを超えていない場合、発話候補文の内容でロボットに発話させる（ステップＳ１０４）。すなわち、発話候補文に基づいて応答文を生成する。例えば、上記のように、定形文に最新ニュースを組み合わせた文を応答文とする。そして、その応答文をスピーカ３２から出力する。判定値がしきい値Ｚを越えていない場合、発話候補文が全ての発話禁止文に類似していないため、発話に不適切な内容ではないと判定される。このため、発話候補文に基づいて応答文を生成して、出力する。
【００４８】
判定値がしきい値Ｚを超えている場合、発話候補文の内容でロボットに発話させない（ステップＳ１０５）。すなわち、判定値がしきい値Ｚ以上場合、発話に不適切な内容が含まれていると推測される。そのため、その発話候補文を発話させない。発話候補文の出力が制限された状態で、発話文を生成する。判定値としきい値Ｚの比較結果に基づいて、発話候補文の発話が制限されるか否かが判定される。そして、出力が制限された発話候補文以外の発話候補文に基づいて応答文が生成される。これにより、不適切なニュースなどが出力されるのを防ぐことができる。また、上記のように、別のニュースを応答候補文とすることで、適切な内容のニュースを発話させることが可能になる。すなわち、判定値がしきい値Ｚ以下となるニュースを応答候補文とすることができる。
【００４９】
ここで、類似度の計算例について、図３乃至図５を用いて詳細に説明する。図３〜図５は、類似度計算を説明するための図である。ここで、図３乃至図５では、発話候補文、及び発話禁止文を変えて類似度を算出している。図３乃至図５では、左側に発話候補文を示し、右側に発話禁止文を示している。
【００５０】
まず、図３での類似度計算例について説明する。ここで、「殺す（動詞）」が発話禁止文となっている。すなわち、発話候補文には、「殺す（動詞）」が含まれる。従って、類似度Ａ１＝１／１＝１となる。また、名詞、動詞、形容詞に着目して、類似度を算出する。発話候補文には、「殺す（動詞）」が含まれている。この場合、「殺す（動詞）」の形態素が発話禁止文、及び発話候補文の両方に含まれる。従って、発話候補文と発話禁止文との間で、１つの形態素が一致する。すなわち、形態素の一致数は１となり、式１の分子は１となる。さらに、発話禁止文の形態素のうち、特定の品詞の形態素数は１つである。従って、式１の分母は１となる。よって、類似度Ａ１＝１／１＝１となる。
【００５１】
次に、図４での類似度計算例について説明する。図４の計算例では、発話候補文が図３の計算例と同じであり、発話禁止文が変わっている。ここで、「うるさいから出て行って」という発話禁止文に対して類似度を計算する。また、名詞、動詞、形容詞に着目して、類似度を算出する。発話候補文には、「うるさい（形容詞）」が含まれている。この場合、「うるさい（形容詞）」の形態素が発話禁止文、及び発話候補文の両方に含まれる。従って、発話候補文と発話禁止文との間で、１つの形態素が一致する。すなわち、形態素の一致数は１となり、式１の分子は１となる。さらに、発話禁止文の形態素のうち、特定の品詞の形態素数は３つである。従って、式１の分母は３となる。よって、類似度Ａ２＝１／３＝０．３３となる。
【００５２】
次に、図５での類似度計算例について説明する。この計算例は、対話管理部１３が、発話者の発話を記憶して、あるタイミングでそのまま言い返す機能を持っている場合の例である。例えば、発話者の過去の発話である「うるさいから出ていって」を発話候補文としている。また、発話禁止文として、「うるさいから出ていって」という文が発話禁止文データベース１６に登録されている。この場合、「うるさい（形容詞）」、「出（動詞）」、「いっ（動詞）」の３形態素が一致するため、一致数は３となる。また、特定の品詞に着目した場合の全形態素数も３である。よって、類似度Ａ２＝３／３＝１となる。従って、他の発話候補文に基づいて、応答文を生成する。
【００５３】
過去に応答ロボット１００が発話した文で、お客様に失礼な文を発話禁止文データベース１６に追加しておくことが好ましい。すなわち、応答ロボット１００が発話した文のログを確認して、不適切な文を発話禁止文データベース１６に追加する。こうすることによって、応答ロボット１００は、その失礼な文に類似する文を発話しないようになる。よって、発話内容を適切に制御することができる。
【００５４】
このように制御することで、適切な内容の文を発話させることができる。例えば、図１０に示したニュースが最新ニュースであった場合、そのニュースの発話が禁止される。そして、図６に示すような適切なニュースを読み上げることができる。これにより、不適切な内容の出力が制限され、対話者が不快な気分になるのを防ぐことができる。
【００５５】
なお、上記の例では、インターネットニュースを読み上げる例について説明したが、本実施の形態はこれに限られるものではない。例えば、現在の交通情報などを発話させてもよい。具体的には、車両展示施設などにおいて、お客様が交通情報を問い合わせた場合、図７のような内容の応答文を発話する。さらには、通訳ロボットにおいても、本制御方法を利用可能である。すなわち、翻訳して欲しくない内容を発話禁止文として登録すればよい。この場合、処理コンピュータ１０に翻訳ソフトなどを組み込む。もちろん、本制御方法は、日本語に限らず、英語などの他の言語を出力するものに対しても利用可能である。
【００５６】
なお、上記の例では、類似度Ａｉの最大値を判定値としたが、これ以外の値を判定値としてもよい。例えば、類似度Ａｉの平均値を判定値としてもよい。すなわち、発話禁止文が１０個ある場合、それら１０個に対して算出された類似度Ａｉの平均値を判定値とする。また、上からｓ番目（ｓは２以上の整数）の類似度を判定値としてもよく、上から１番目からｓ番目までの類似度の平均値を判定値としてもよい。例えば、上から５番目の類似度を判定値としてもよく、上位５個の類似度の平均値を判定値としてもよい。
【００５７】
このように、最大値以外の値を判定値としてもよい。これにより、正確な発話判定を行なうことができる。例えば、適切な内容の文が発話禁止文データベース１６に登録された場合、適切な内容の発話候補文の発話が制限されてしまう。最大値以外を用いることで、適切な内容の発話禁止文との類似度が偶然に高くなったとしても、発話が禁止されなくなる。よって、適切な内容を発話することができる。また、発話禁止文の登録数を増やした場合でも、正確に判定することができる。従って、発話禁止文の選定、登録を容易に行うことができる。このように、類似度に基づいた判定値を用いることで、発話判定を正確に行なうことができる。
【００５８】
発話禁止文には、１以上の形態素が含まれていればよいが、２以上の形態素を設けることが好ましい。すなわち、２以上の形態素を含む発話禁止文を発話禁止文データベース１６に登録することが好ましい。２以上の形態素を含む発話禁止文と発話候補文を比較することによって、より正確に類似度を算出することができる。これについて、図８を用いて説明する。図８は形態素が１つの発話禁止文しかない例を示す図である。図８では、発話禁止文に１つの形態素しか含まれないため、発話禁止文データベースをＮＧワードデータベースとして示している。そして、ＮＧワードデータベースには、例えば、「バカ」、「アホ」、「殺す」、「出」が登録されている。図８において、左側にＮＧワードデータベースが示され、右側に発話候補文１〜３が示されている。発話候補文１、２は、発話させたくない文例であり、発話候補文３は発話させたい文例である。
【００５９】
例えば、発話候補文１の場合、「バカ」の言葉が一致するため、発話が禁止される。同様に発話候補文２の場合、「出」が一致するため、発話が禁止される。実際は発話させたい発話候補文３の場合であっても、「出」が一致するため、発話が禁止されてしまう。従って、発話させたい文と、発話させたくない文の判別が困難になってしまう。すなわち、１形態素しか発話禁止文に含まれない場合、ＮＧワードに一致する形態素が発話候補文に存在するか否かしか判別できない。このため、上記の類似度という尺度が算出できなくなる。
【００６０】
このため、発話禁止文に形態素が１つしかない場合、発話禁止文データベース１６の設計が困難になる。すなわち、発話禁止文データベース１６に登録する単語の選定が困難になる。また、登録した単語によっては、思わぬところで弊害が発生するおそれがある。すなわち、発話させたい文も発話が禁止されてしまうことがある。なお、名詞、形容詞、動詞などの特定の品詞に着目することによって、不適切な内容の発話を確実に制限することができる。
【００６１】
さらに、応答ロボット１００では、発話禁止文データベース１６の設計、及びメンテナンスなどを容易に行うことができる。例えば、応答ロボット１００が、発話内容の過去ログから、発話禁止文データベース１６に発話禁止文を登録することが可能である。すなわち、発話内容の過去ログを参照して、実際に発話した内容から不適切な内容を含む発話文を発話禁止文として登録する。これにより、簡便に発話禁止文データベース１６を作成することができる。
【００６２】
また、応答ロボット１００が行うタスクに近い文章のテストセットで、しきい値を調整することができる。これにより、しきち値の調整を容易に行うことができる。例えば、適切な応答候補文と、不適切な応答候補文を予め作成したテストセットを用意する。具体的には、不適切な応答候補文と、適切な応答候補文とを５０ずつ用意する。そして、それぞれの応答候補文に対して類似度を算出し、判定値を求める。適切な応答文を出力し、不適切な応答文の出力が制限されるような、しきい値を設定する。このようにすることで、しきい値の設定を容易に行うことができる。しきい値を調整することによって、不適切な内容の発話を確実に制限し、適切な内容を確実に発話することができる。
【００６３】
例えば、自動車のショールームにおいて、応答ロボットが展示されている自動車に関する質問に対して応答するロボットであるとする。自動車のショールームにおいて、想定される質問に対する応答文を予めテストセットとして用意する。そして、それぞれの応答文と発話禁止文データベース１６に登録されている発話禁止文を比較する。不適切な応答文での判定値がしきい値以上となり、適切な内容での判定値がしきい値よりも小さくなるように、しきい値を設定する。このようにすることで、発話候補文の出力を制限するか否かの判定を確実かつ簡便に行なうことができる。
【００６４】
次に、図９を用いて、本実施の形態にかかる応答ロボット１００の別の制御方法について説明する。図９は、本実施の形態にかかる発話内容制御方法の別の態様を示すフローチャートである。まず、音声の入力があるか否かを判定する（ステップＳ２０１）。例えば、マイク３１の入力に基づいて、音声入力の有無を判定することができる。そして、音声認識処理を行う（ステップＳ２０２）。ここでは、上記のように、音声認識部１１が音声認識処理を行い、音声データをテキストデータに変換する。
【００６５】
そして、音声認識部１２が音声認識処理結果に基づいて、言語理解処理を行う（ステップＳ２０３）。その言語理解処理結果に基づいて、対話管理処理を行う（ステップＳ２０４）。その後、対話管理処理の結果に基づいて、発話候補文を確定する（ステップＳ２０５）。そして、発話候補文と、発話禁止文とを比較して、類似度を算出する（ステップＳ２０６）。そして、類似度の最大値を判定値として、しきい値Ｚと比較する（ステップＳ２０７）。判定値がしきい値Ｚよりも小さい場合、発話候補文の内容を応答文と確定する
（ステップＳ２０８）。なお、これらの処理工程については、上記の処理コンピュータ１０による処理と同様であるため、詳細な説明を省略する。
【００６６】
判定値がしきい値Ｚ以上の場合、応答文を変更する（ステップＳ２０９）。ここでは、応答ロボット１００が発話者に対して、「申し訳ありませんが、別の質問をお願いします。」という応答文を生成する。そして、上記の通り、応答文のテキストデータに対して、音声合成処理を行う（ステップＳ２１０）。そして、音声を出力する。応答ロボット１００は、このような処理を繰り返す。これにより、簡便に、適切な内容を出力することができる。また、しきい値が判定よりも小さい場合、応答ロボット１００が、発話者の対話に対して、質問を返している。これにより、簡便に発話内容を確定することができる。
【００６７】
なお、上記の応答文は、スピーカから音声データとして出力されなくでもよい。例えば、表示画面上などに表示することによって、発話者に対して出力してもよい。また、入力についても、音声入力に限られるものではない。例えば、キーボード、ポインティングデバイス、タッチパネル等を用いて、テキスト入力して、応答する応答システムであっても適用可能である。このように、データの入出力は音声データを用いたものに限られるものではない。もちろん、本実施の形態にかかる応答システムの適用は、ロボットへの適用に限られるものではない。また、応答候補文や発話禁止文などは、主語、及び述語を有する完全な文でなくてもよく、詞や単語でもよい。
【００６８】
上記のように、応答ロボット１００は、インターネット１０３などのネットワーク上で更新される情報（例えば、最新ニュース）をダウンロードして、応答候補文としている。このような場合、応答候補文の内容が未確定である。すなわち、上記の応答ロボット１００は、カーナビゲーションシステムなどと異なり、予め定められた内容を発話するわけではない。応答ロボット１００は、不確定な内容を発話するための知能処理を行っている。このため、従来の制御方法では、状況によっては、不適切な内容が出力されてしまうことがある。本実施の形態による制御方法では、出力される応答文の内容が不適切な場合、その出力を制限する。応答文の内容が不適切な場合、応答ロボット１００は、例えば、別の応答候補文から応答文を生成する。従って、簡便に適切な内容の応答文を出力することができる。
【図面の簡単な説明】
【００６９】
【図１】本発明の実施の形態にかかる応答システムを有する応答ロボットの構成を示すブロック図である。
【図２】本発明の実施の形態にかかる応答内容制御方法を示すフローチャートである。
【図３】本実施の形態において、応答内容を制御するための処理例を示す図である。
【図４】本実施の形態において、応答内容を制御するための処理例を示す図である。
【図５】本実施の形態において、応答内容を制御するための処理例を示す図である。
【図６】本発明の実施の形態にかかる応答システムを有するロボットが応答している様子を模式的に示す図である。
【図７】本発明の実施の形態にかかる応答システムを有するロボットが応答している様子を模式的に示す図である。
【図８】好適な発話禁止文の例を説明するための図である。
【図９】本発明の実施の形態にかかる別の応答内容制御方法を示すフローチャートである。
【図１０】従来の応答システムを有するロボットが応答している様子を模式的に示す図である。
【符号の説明】
【００７０】
１０  処理コンピュータ、１１  音声認識部、１２  言語理解部、１３  対話管理部、
１４  応答文生成部、１５  音声合成部、１６  発話禁止文データベース、
１７  質問応答データベース、２０  モータ制御部、
３１  マイク、３２  スピーカ、３３  各モータ、
１００  応答ロボット、１０１  発話者、１０３  インターネット、
１０４  音声対話ロボット、１０５  施設利用者
【図１】
2009037458.tif 000003
【図２】
2009037458.tif 000004
【図３】
2009037458.tif 000005
【図４】
2009037458.tif 000006
【図５】
2009037458.tif 000007
【図６】
2009037458.tif 000008
【図７】
2009037458.tif 000009
【図８】
2009037458.tif 000010
【図９】
2009037458.tif 000011
【図１０】
2009037458.tif 000012