(57)【要約】【課題】対話相手が違和感を覚えることなく話題を遷移する。【解決手段】対話制御装置１０の判定部２２１は、対話相手からの発話に対して応答可能か否か判定する。作成部２２２は、判定部２２１が応答可能でないと判定した場合、次の話題につなげるための応答文を作成する。発話部２２３は、作成部２２２が作成した応答文を発話する。【選択図】図１
2020038397.tif 000002
【特許請求の範囲】
【請求項１】
対話相手からの発話に対して応答可能か否か判定する判定手段と、
前記判定手段が応答可能でないと判定した場合、次の話題につなげるための応答文を作成する作成手段と、
前記作成手段が作成した次の話題につなげるための応答文を発話する発話手段と、
を備えたことを特徴とする対話制御装置。
【請求項２】
前記作成手段は、前記次の話題につなげるための応答文として、話題転換を前記対話相手に示唆する文を作成する、
ことを特徴とする請求項１に記載の対話制御装置。
【請求項３】
前記話題転換を前記対話相手に示唆する文は、不知又は詫びを表明する文である、
ことを特徴とする請求項２に記載の対話制御装置。
【請求項４】
前記話題転換を前記対話相手に示唆する文は、不知又は詫びを表明する文の後に、次の話題に転換するための話題転換用の応答文が続く文である、
ことを特徴とする請求項３に記載の対話制御装置。
【請求項５】
前記判定手段は、前記対話相手からの発話中に所定のキーワードが含まれる場合に応答可能と判定し、該キーワードが含まれない場合に応答可能でないと判定し、
前記作成手段は、前記判定手段が応答可能と判定した場合、前記キーワードに関連付けされた応答文を作成する、
ことを特徴とする請求項１乃至４の何れか一項に記載の対話制御装置。
【請求項６】
前記作成手段は、前記判定手段が応答可能でないと判定した場合、前記次の話題につなげるための応答文に加えて、該次の話題に転換するための話題転換用の応答文を作成し、
前記発話手段は、前記次の話題につなげるため応答文の発話に続けて、前記話題転換用の応答文を発話する、
ことを特徴とする請求項１乃至５の何れか一項に記載の対話制御装置。
【請求項７】
前記作成手段は、話題転換を相手に示唆する文を記憶する前置用ＤＢ、話題転換前に発話され次の話題につなげるための文を記憶する話題転換用ＤＢの少なくとも１つを参照して、応答文を作成する、
ことを特徴とする請求項１に記載の対話制御装置。
【請求項８】
前記作成手段は、前記判定手段が応答可能でないと判定した場合、前記前置用ＤＢを参照して、話題を転換することを示す応答文を作成する、
ことを特徴とする請求項７に記載の対話制御装置。
【請求項９】
前記作成手段は、前記判定手段が応答可能でないと判定した場合、前記話題転換用ＤＢを参照して、話題を転換した応答文を作成する、
ことを特徴とする請求項７に記載の対話制御装置。
【請求項１０】
前記作成手段は、応答用ＤＢ、前置用ＤＢ、話題転換用ＤＢの少なくとも１つを参照して応答文を作成し、
前記判定手段が応答可能でないと判定した場合、前記作成手段は、前記前置用ＤＢを参照して作成した前置用文と、前記話題転換用ＤＢを参照して作成した話題転換用文とを、
この順番で並べた応答文を作成する、
ことを特徴とする請求項１に記載の対話制御装置。
【請求項１１】
話題毎にその話題に関連する名詞又は形容詞であるキーワードを対応づけて記憶したキーワードテーブルをさらに備え、
前記作成手段は、前記キーワードテーブルに記憶されているキーワードを多く含む会話へ誘導するように話題転換用の応答文を作成する、
ことを特徴とする請求項１に記載の対話制御装置。
【請求項１２】
前記話題転換用の応答文により転換される前記次の話題は、前記対話相手からの発話中に含まれる単語に関連する話題である、
ことを特徴とする請求項６又は１１に記載の対話制御装置。
【請求項１３】
前記対話制御装置は、さらに、
前記発話手段による発話に対して前記対話相手から所定時間内に応答があったか否か判定する時間判定手段と、
前記発話手段による発話内容が応答に時間を要する内容か否か判定する内容判定手段と、
前記時間判定手段と前記内容判定手段との判定結果に応じて、前記対話相手に対話継続意思を確認する意思確認手段と、
を備えたことを特徴とする請求項１に記載の対話制御装置。
【請求項１４】
前記意思確認手段は、前記時間判定手段が前記所定時間内に応答がないと判定し、かつ、前記内容判定手段が前記発話内容が応答に時間を要さない内容と判定した場合、前記対話継続意思を確認する、
ことを特徴とする請求項１３に記載の対話制御装置。
【請求項１５】
前記意思確認手段は、前記発話がオープン・クエスチョンであるか、クローズド・クエスチョンであるかによって、前記所定時間を変える、
ことを特徴とする請求項１３又は１４に記載の対話制御装置。
【請求項１６】
前記作成手段は、前記意思確認手段が前記対話継続意思を確認した結果、前記対話相手が対話を継続する意思を示した場合、前記次の話題に転換するための話題転換用の応答文を作成する、
ことを特徴とする請求項１３乃至１５の何れか一項に記載の対話制御装置。
【請求項１７】
前記意思確認手段は、前記時間判定手段が前記所定時間内に応答があると判定した場合、又は、前記時間判定手段が前記所定時間内に応答がないと判定すると同時に前記内容判定手段が前記発話内容が応答に時間を要する内容と判定した場合、前記対話継続意思を確認せず、
前記判定手段は、前記意思確認手段が前記対話継続意思を確認しない場合、前記対話相手からの応答に対して応答可能か否か判定する、
ことを特徴とする請求項１３乃至１６の何れか一項に記載の対話制御装置。
【請求項１８】
コンピュータが、
対話相手からの発話に対する応答文を作成する応答文作成ステップと、
前記応答文作成ステップで作成した応答文を発話する発話ステップと、
前記対話相手からの発話に対して応答可能か否か判定する判定ステップと、
を実行し、
前記応答文作成ステップでは、前記判定ステップにおいて応答可能でないと判定した場合、次の話題につなげるための応答文を作成する、
対話制御方法。
【請求項１９】
ユーザである対話相手と対話を行う対話制御装置のコンピュータを、
前記対話相手からの発話に対する応答文を作成する応答文作成手段と、
前記応答文作成手段が作成した応答文を発話する発話手段と、
前記対話相手からの発話に対して応答可能か否か判定する判定手段と、
して機能させ、
前記応答文作成手段は、前記判定手段が応答可能でないと判定した場合、次の話題につなげるための応答文を作成する、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話制御装置、対話制御方法及びプログラムに関する。
【背景技術】
【０００２】
近時、人間と機械との間でインタラクティブな対話を実現する技術が浸透してきている。人間と機械がコミュニケーションを伴った対話をするためには、人工知能（ＡＩ：Artificial Intelligence）の技術、音声認識技術が必要であるが、単に文脈を分析して応答するだけでは、コミュニケーションをはかることはできない。人間の感情を推定する技術等が必要である。
【０００３】
例えば、特許文献１には、自然な話題遷移を行う技術が開示されている。具体的には、特許文献１には、話題が語り尽くされたかどうかを示す指標となる各項目（いつ、どこで、誰が、どうしたかなど）が話されたか否かに応じて、話題を遷移する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−１８８７８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、対話制御装置は対話相手と対話中、対話相手が発した内容に応答できない場合、唐突に話題を変えたり、意味不明な受け答えをすることがある。話しの脈絡から逸脱した別の話しへ急に転換されると対話相手は違和感を覚えるという問題がある。
【０００６】
この点、上記特許文献１は、単に対話の進捗状況（話題が語り尽くされたかどうか）に応じて話題を遷移させるだけで、上記問題を解決するための具体的な解決手段を開示していない。
そこで、本発明は、上記問題を解決するためになされたものであり、対話相手が違和感を覚えることなく話題を遷移する対話制御装置等を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の対話制御装置は、
対話相手からの発話に対して応答可能か否か判定する判定手段と、
前記判定手段が応答可能でないと判定した場合、次の話題につなげるための応答文を作成する作成手段と、
前記作成手段が作成した次の話題につなげるための応答文を発話する発話手段と、
を備えたことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、対話相手が違和感を覚えることなく話題を遷移することができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る対話制御装置の構成を示すブロック図である。
【図２】キーワードテーブルの一例を示す図である。
【図３】応答文テンプレートの一例を示す図である。
【図４】前置用テンプレートの一例を示す図である。
【図５】話題転換用テンプレートの一例を示す図である。
【図６】対話相手が応答に要する時間の目安の一例を示す図である。
【図７】継続意思確認用のテンプレートの一例を示す図である。
【図８】対話制御処理のフローチャートの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図１を参照しながら、本発明の実施形態に係る対話制御装置の概要について説明する。この対話制御装置１０は、対話相手との物理インターフェイスとして、対話相手の音声を収音するマイク４０、対話相手に音声出力するスピーカ４１、対話相手を撮影するカメラ４２を備えている。
対話制御装置１０は、マイク４０の音声とカメラ４２の画像とから感情推定を行って、推定した感情に応じた話題による対話を、スピーカ４１を通して行う。
【００１１】
なお、対話エンジンである対話制御装置１０をロボットに適用してもよい。この対話制御装置１０は、人との対話を必要とする、およそ全ての場面に適用可能な人工知能であって、適用範囲はカーナビ、スマホの対話型アプリ、デジタルの２次元キャラクタなど幅広い。また、以下の説明において、「対話」、「会話」、「コミュニケーション」の各用語は、自然言語でインタラクティブに情報のやりとりをするという意味で全て同義であるものとする。
【００１２】
対話制御装置１０は、対話相手との物理インターフェイス（マイク４０、スピーカ４１、カメラ４２）に加えて、制御部２０と記憶部３０とを備える。
【００１３】
制御部２０は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory)、ＲＡＭ（Random Access Memory）などで構成される。制御部２０は、ＲＯＭに記憶されたプログラム（例えば、後述する対話制御処理に係るプログラム）を実行することにより、各部（判定部２２１、作成部２２２、発話部２２３、時間判定部２２４、内容判定部２２５、意思確認部２２６）の機能を実現する。
【００１４】
記憶部３０は、ハードディスクやフラッシュメモリなどの不揮発性メモリであって、データベース（対話用ＤＢ（Data Base）３２）とキーワードテーブル３１とを記憶する。これらについては後述する。
【００１５】
さて、次に、制御部２０の機能について説明する。
制御部２０は、機能として、判定部２２１、作成部２２２、発話部２２３、時間判定部２２４、内容判定部２２５、意思確認部２２６を備える。
【００１６】
判定部２２１は、対話相手からの発話に対して応答可能か否か判定する。具体的には、判定部２２１は、対話相手からの発話をテキスト化して複数の単語（名詞、形容詞、動詞、助詞など）に形態素解析後、その複数の単語中にキーワードがあるか否かにより、応答可能か否か判定する。キーワードの有無は、図２のキーワードテーブル３１を用いて行う。
【００１７】
このキーワードテーブル３１は、単語辞書などに基づいて作成され、話題毎に名詞ワードと形容詞ワードを対応付けたものである。名詞ワードは話題に関連する名詞を、形容詞ワードは話題に関連する形容詞を、それぞれ示す。
【００１８】
図２に示すキーワードはごく一部であって、実際は各話題につき対話に必要な数万キーワードを用意しておく。また、キーワード毎に上下関係（野菜であれば、上位概念たる野菜が下位概念たるキャベツ、タマネギを含むなど）と、類似関係（うどんとラーメンは麺類で類似するなど）と、を対応付けておく。また、判定部２２１は、対話相手から不知の単語が発話された場合、その単語を新たなキーワードとして追加して学習していくとよい。
【００１９】
判定部２２１は、音声認識によりテキスト化された対話相手の音声を形態素解析した結果、単語（名詞・形容詞）がキーワード（名詞ワード・形容詞ワード）と合致する場合、すなわち対話相手からの発話中にキーワードが含まれる場合、応答可能と判定する。一方、対話相手からの発話中にキーワードが含まれない場合、応答可能でないと判定する。
【００２０】
なお、応答可能なケースを増やすために、制御部２０は、話題を特定して最初に対話相手に発話するとよい。例えば、話題「食べ物」であれば「食べ物について話しましょう。」や話題「動物」であれば「動物について話しましょう。」といった具合に、なるべくキーワードを拾えるように予め話題を特定して対話を開始するとよい。この実施形態では、話題毎にキーワードを対応付けているので、話題を特定しないと対話制御装置１０の応答可能性が下がるからである。
【００２１】
さて、図１に戻って、作成部２２２は、対話相手に応答するための応答文を作成する。応答文としては、１）判定部２２１が応答可能と判定した場合、すなわちキーワードが含まれると判定した場合の応答文と、２）判定部２２１が応答可能でないと判定した場合、すなわちキーワードが含まれないと判定した場合の応答文と、がある。
【００２２】
作成部２２２は、応答可能な１）の場合、応答用ＤＢ３２１が記憶する応答文テンプレートに基づいて応答文を作成する。この応答用ＤＢ３２１は、話題毎に複数の異なる応答文テンプレートを記憶したデータベースである。応答文テンプレートは、例えばＸＭＬ（Extensible Markup Language）などのマークアップ言語で記述することができる。具体的には、ＡＩＭＬ（Artificial Intelligence Markup Language）で記述しておき、作成部２２２は、対話相手の発話中にキーワード（名詞ワード・形容詞ワード）が含まれる場合は、そのキーワードを用いた応答用のテンプレートを作成する。
【００２３】
図３に話題「天気」の応答文テンプレートのバリエーションの一例を示す。応答文テンプレートは、対話相手の発話中にキーワードテーブル３１が含むキーワードがあれば、そのキーワード（名詞ワード・形容詞ワード）をあてはめて応答する形式となっている。なお、類似ワードとはキーワードテーブル３１において類似関係にあるキーワード（季節である春夏秋冬など）をいう。カテゴリの種別（共感、自己開示、情報提供、質問）は一例であって、これ以上の種別を設けてもよい。
【００２４】
例えば、話題「天気」について対話相手の発話中に「夏」というキーワードがあった場合、作成部２２２は、共感用の応答文テンプレートとして「夏は暑いですよね。同感です。」や自己開示用の応答文テンプレートとして「私は、夏よりも冬の方が好きです。」、質問文テンプレートとして「どうして夏が好きなんですか？」といった具合に応答することになる。これらテンプレートのうち、何れのカテゴリを選ぶかはランダムで選択するか、あるいは対話履歴からの文脈や優先順位に応じて選択すればよい。また、選択に際して、一度選択済みの応答文テンプレートは、対話中で再度選択しないようにする。
【００２５】
ここで、情報提供とは、インターネットでの検索結果に係る情報を提供する際のテンプレートである。この情報提供に係る情報（降水確率や最高気温など）は、作成部２２２が対話相手からの検索要求をトリガとして又は対話中の適宜なタイミングで能動的に取得する。そして、作成部２２２は、取得した情報を情報提供用の応答テンプレートに当てはめて発話する。なお、場所の固有名詞は、対話相手からの発話中に場所の名称が含まれていれば、それを当てはめればよい。
【００２６】
なお、１つの応答文テンプレートは、汎用性を高める観点から複数のキーワードで共通して用いるようにしているが、これに限らない。特定のキーワードに対応する独自の応答文を対応付けてもよい。例えば、話題「動物」の名詞ワード「ライオン」に、「タテガミがあるのは雄のライオンだけなんですよね。」や「ライオンって百獣の王なんですよね。」といった具合にライオン独自の応答文テンプレートを複数対応付けておき、ランダムに選択して発話してもよい。
【００２７】
このように、作成部２２２は、応答可能である上記１）の場合、キーワードを用いた応答文テンプレートを使用して、一問一答ではない、少なくとも数ターンの対話を話題毎に行う。一方、作成部２２２は、応答可能でない上記２）の場合、次の話題につなげるための応答文と、次の話題に転換するための話題転換用の応答文と、を作成する。具体的には、作成部２２２は、前置用ＤＢ３２２が記憶する前置用テンプレートと、話題転換用ＤＢ３２３が記憶する話題転換用テンプレートと、を用いて応答文を作成する。図４に前置用テンプレートのバリエーションの一例を、図５に話題転換用テンプレートのバリエーションの一例を、それぞれ示す。
【００２８】
図４に示すように、次の話題につなげるための前置用テンプレートには、不知と詫びを表明するテンプレートがある。この次の話題につなげるための応答文、すなわち前置用テンプレートは、話題転換を対話相手に示唆する文である。その文の一例として、この実施形態では、不知と詫びを表明するテンプレートを用いる。また、不知を表明する前に詫びを入れるようにする。例えば、話題「天気」について、対話相手から名詞「エルニーニョ現象」が発話され、キーワードとしてその名詞ワードを含まない場合、「すみません。エルニーニョ現象については詳しくありません。」や「ごめんなさい。エルニーニョ現象については聞いたことがありません。」といった具合になる。
【００２９】
一方、作成部２２２は、次の話題につなげるための応答文に続いて、図５を参照して、話題転換用の応答文を作成する。ここでいう話題転換用の応答文とは、話題転換前に発話される次の話題につなげるための応答文に続く、その次の話題に転換するための応答文である。ここで話題転換とは、キーワードテーブル３１中の話題を変更することの他、対話中の話題の中で別話題に変更することも含む。すなわち、対話中の話題が「天気」だとすると、「天気」から別話題（例えば、「動物」）に変更することの他、「天気」の中で別話題（例えば、今日の天気の話題から季節の話題）に変更することも含む。
【００３０】
ここで、図５に、話題転換用テンプレートのバリエーションを示す。話題転換の際に用いる名詞ワードは、不知の単語に関連するものがよい。例えば、話題「天気」について、対話相手から名詞「花粉」が発話され、キーワードとしてその名詞ワードを含まない場合、不知の単語「花粉」に関連する名詞ワードを選択して話題を転換するとよい。不知の単語「花粉」は名詞ワード「花」を含むので、作成部２２２は、名詞ワードとして「花」を選択して、「ところで、花について興味がありますか。」などと話題転換を行う。
【００３１】
これに限らず、「花」について現在ホットな話題をインターネットにアクセスして検索して、「花」についてホットな話題の名詞ワードを選択してもよい。例えば、「花」について検索した結果、桜の開花について多数ヒットすれば、作成部２２２は、名詞ワードとして「桜」と「満開」を選択して、「それはさておき、今日は桜が満開らしいですよ。」などと話題転換を行う。
このように、対話相手からの発話中に不知の単語があっても、その単語に関連する名詞ワードを選択して話題を転換するようにする。しかし、上記「エルニーニョ現象」のように、不知の単語と関連する名詞ワードの選択が困難な場合は、関連性を考慮せずに名詞ワード（例えば、同一話題「天気」の中でまだ発話されていないキーワード、あるいは全くの別話題「動物」など）を選択して、話題転換用の応答文を作成すればよい。
【００３２】
以上、作成部２２２は、応答可能な上記１）の場合、対話相手の音声に含まれるキーワード（名詞ワード・形容詞ワード）を用いた応答文を応答文テンプレートに基づいて作成する。一方、作成部２２２は、応答不能な上記２）の場合、次の話題につなげるための応答文（詫びと不知とからなる応答文）と話題転換用の応答文とを前置用テンプレート及び話題転換用テンプレートに基づいて作成する。
【００３３】
さて、図１に戻って、発話部２２３は、作成部２２２が作成した応答文をスピーカ４１により発話する。具体的には、発話部２２３は、応答可能な上記１）の場合、キーワードに関連付けされた応答文を発話する。一方、発話部２２３は、応答不能な上記２）の場合、次の話題につなげるための応答文と話題転換用の応答文を順に発話する。
【００３４】
次に、時間判定部２２４は、発話部２２３による発話に対して対話相手から所定時間内に応答があったか否か判定する。所定時間は対話相手からの応答が遅いか否かを測る尺度となる時間であって、例えば、５秒である。
【００３５】
内容判定部２２５は、発話部２２３による発話内容が応答に時間を要する内容か否か判定する。この判定は、図６の対話相手が応答に要する時間の目安に基づいて行う。すなわち、図６のテーブルでは、図３の応答文テンプレートのカテゴリ（共感、自己開示、情報提供、質問）に応じて、対話相手が応答に要する時間の長短が対応付けられる。一般的に、質問は、対話相手が考える必要があるので応答時間が長くなる。また、話題転換のカテゴリについては、対話相手が転換後の話題について興味があるか否か（話したいか否か）は、Ｙｅｓ又はＮｏで応答できるクローズド・クエスチョンであるから応答時間の目安は短く設定される。
【００３６】
次に、意思確認部２２６は、時間判定部２２４と内容判定部２２５との判定結果に応じて、対話相手に対話継続意思を確認する。対話継続意思を確認する場合は、時間判定部２２４が所定時間内に応答がないと判定し、かつ、内容判定部２２５が発話内容が応答に時間を要さない内容と判定した場合である。例えば、対話制御装置１０の発話内容が応答に時間がかからない自己開示であるにもかかわらず、対話相手の応答時間が５秒以上かかった場合などである。
【００３７】
意思確認部２２６は、対話継続意思を確認する場合、確認用ＤＢ３２４が記憶する図７の継続意思確認用のテンプレートを参照して、応答文作成後、スピーカ４１を介して発話する。
一方、対話継続意思を確認しない場合は、ａ）時間判定部２２４が所定時間内に応答があると判定した場合、又は、ｂ）時間判定部２２４が所定時間内に応答がないと判定すると同時に内容判定部２２５が発話内容が応答に時間を要する内容と判定した場合、の何れか一方である。
【００３８】
以上、複数のテンプレートを参照しながら、対話制御装置１０の制御部２０の機能について説明した。以下では、これら各機能による対話制御処理について、図８のフローチャートを参照しながら説明する。この対話制御処理は、対話制御装置１０の対話機能がオンされた状態で、カメラ４２が対話相手を捉えたことをトリガに開始される。
【００３９】
まず、制御部２０は、話題を選択して発話する（ステップＳ１０）。このステップにおいて、応答可能性を高めるためにキーワードテーブル（この実施形態では一例であるキーワードテーブル３１）の各話題の何れかに対話のトピックを絞る。例えば、制御部２０は、ランダムに選択した話題「食べ物」について、「食べ物について話しましょう。」と発話する。
【００４０】
次に、判定部２２１は、対話相手からの発話を音声認識して（ステップＳ１１）、対話相手の発話に対して応答可能か否か判定する（ステップＳ１２）。ここでは、判定部２２１は、テキスト化した音声を形態素解析して、キーワードテーブル３１が含むキーワード（名詞ワード・形容詞ワード）があるか否か判定する。
【００４１】
なお、音声認識した結果、対話相手から「その話題については興味がない。」「この話題については話したくない。」などと明らかに選択した話題について話す意思がなければ、制御部２０は、ステップＳ１０に戻って再度話題を選択する、あるいは話題を選択せずに対話相手が何か発話するまで待機すればよい。
【００４２】
さて、ここで、対話相手の発話に対して応答可能な場合（ステップＳ１２；Ｙｅｓ）、すなわち発話中にキーワードが含まれている場合、作成部２２２は、キーワードに関連付けされた応答文を作成する（ステップＳ１３）。例えば、話題「食べ物」について、対話相手から名詞ワード「ラーメン」が発話された場合、作成部２２２は、共感用の応答文テンプレートで「ラーメンおいしいですよね。私も好きです。」、自己開示用の応答文テンプレートで「ラーメンよりうどんの方が好きです。」、質問用の応答文テンプレートで「何味のラーメンが好きですか。」といった具合に応答文を作成する。何れの応答文を作成するかは、対話履歴や優先順位、文脈に応じて作成すればよい。
【００４３】
一方、対話相手の発話に対して応答可能でない場合（ステップＳ１２；Ｎｏ）、すなわち発話中にキーワードが含まれていない場合、作成部２２２は、次の話題につなげるための応答文を作成し（ステップＳ１４）、続いて話題転換用の応答文を作成する（ステップＳ１５）。例えば、話題「食べ物」について、不知の単語「アボガド」が発話された場合、作成部２２２は、前置用テンプレートと話題転換用のテンプレートにより、例えば、「ごめんなさい。アボガドについては詳しくありません。」「ところで、動物について興味ありますか。」と応答文を作成する。なお、不知の単語「アボガド」については関連する名詞ワードの選択が困難なので関連性を考慮せずに次の話題である別の話題「動物」に話題転換している。
【００４４】
ステップＳ１３又はステップＳ１５の後、発話部２２３は、作成した応答文を発話する（ステップＳ１６）。続いて、時間判定部２２４は、対話相手から所定時間内に応答があったか否か判定する（ステップＳ１７）。ここで、対話相手から所定時間内に応答があれば（ステップＳ１７；Ｙｅｓ）、ステップＳ１１に戻って対話相手からの発話を音声認識して対話を続ける。
【００４５】
ここでの対話相手からの発話は、単なる相づちやＹｅｓ・Ｎｏの回答である可能性がある。例えば、「ラーメンおいしいですよね。私も好きです」に対して「へーそうなんだ。」や「動物について興味ありますか。」に対して「興味あるよ。」といった類いの回答である。この場合、キーワードの有無判定ができないので、対話制御装置１０は適宜ポーズを入れて対話相手にさらなる発話を促すか、あるいは質問等を行って対話相手からの発話を促すようにするとよい。
【００４６】
一方、対話相手から所定時間内に応答がなければ（ステップＳ１７；Ｎｏ）、内容判定部２２５は、ステップＳ１６の発話が応答に時間のかかる内容か否か判定する（ステップＳ１８）。ここでは、内容判定部２２５は、図６のテーブルを参照して、発話内容が応答に時間がかかるか否か判定する。すなわち、上記例では、質問である「何味のラーメンが好きですか。」以外の共感・自己開示・話題転換の発話に対する応答は時間がかからないと判定する。
【００４７】
ここで、ステップＳ１６の発話が応答に時間のかかる内容であれば（ステップＳ１８；Ｙｅｓ）、ステップＳ１１に戻る。対話制御装置１０から「何味のラーメンが好きですか。」との質問に対して、所定時間経過後（例えば、５秒経過後）に対話相手から応答があったような場合である。
一方、ステップＳ１６の発話が応答に時間のかかる内容でなければ（ステップＳ１８；Ｎｏ）、意思確認部２２６は、対話継続意思を確認する（ステップＳ１９）。例えば、共感用の応答文テンプレート「ラーメンおいしいですよね。私も好きです。」や話題転換用の応答文テンプレート「ところで、動物について興味ありますか。」で応答した後、所定時間経過内に応答がなかった場合である。例えば、対話相手が沈黙した場合や対話相手から所定時間経過後に「動物は興味ないな。」などと応答があった場合である。
【００４８】
このような場合、意思確認部２２６は、図７の継続意思確認用のテンプレートに基づいて、例えば、「会話を続けたいですか。」と発話し、対話を継続するか否か判定する（ステップＳ２０）。対話相手から「会話を続けたくない。」など会話を継続しない意思表示があれば、対話を継続しないと判定して（ステップＳ２０；Ｎｏ）、処理を終了する。一方、対話相手から「会話を続けたい。」など会話を継続する意思表示があれば、対話を継続すると判定して（ステップＳ２０；Ｙｅｓ）、ステップＳ１５に戻って、作成部２２２は、次の話題に転換するための話題転換用の応答文を作成する。ここでは、既出の話題（上記例だと、「食べ物」と「動物」）以外の話題で話題転換を図るようにする。これにより、ステップＳ１６において、発話部２２３は、意思確認部２２６が対話継続意思を確認した結果、対話相手が対話を継続する意思を示した場合、次の話題に転換するための話題転換用の応答文を発話する。
【００４９】
以上が対話制御装置１０による対話制御処理である。以下では、この対話制御処理による具体例１を参照しつつ説明する。なお、対話は、図１の対話制御装置１０と対話相手との間で行われることを想定し、対話は時系列に沿って（１）（２）などと符号を付す。
【００５０】
（具体例１）
（１）対話制御装置１０：「天気について話しをしましょう。」
（２）対話相手：「いいよ。今日って涼しい？」
（３）対話制御装置１０：「今日の最高気温は、○○℃です。」
（４）対話相手：「今日も涼しいね。」
（５）対話制御装置１０：「最近、涼しいですよね。」
【００５１】
（６）対話相手：「そうだね。今日って花粉が多いかな？」
（７）対話制御装置１０：「すみません。花粉については詳しくありません。」
（８）対話制御装置１０：「それはさておき、今日は桜が満開らしいですよ。」
（９）対話相手：「そうなんだ、花見に行きたいな。」
（１０）対話制御装置１０：「ごめんなさい。花見については聞いたことがありません。」
【００５２】
（１１）対話制御装置１０：「ところで、花について興味ありますか。」
（１２）対話相手：「あまり興味ないな・・・」
（１３）対話制御装置１０：「会話を続けたいですか？」
（１４）対話相手：「うん。」
（１５）対話制御装置１０：「ところで、・・・」
【００５３】
（１５）以降も対話は続く。この具体例１では、（１）において話題「天気」を選択して発話し、（３）において対話相手からの質問をトリガに検索した結果（最高気温）を情報提供し、（５）において対話相手からの形容詞ワード「涼しい」を用いて共感を示す。ここまでは、対話相手からの発話に対して応答可能な例である（ステップＳ１１乃至１３、１６及び１７のループ）。
【００５４】
（７）において対話相手からの発話された名詞ワード「花粉」はキーワードに含まれないので、次の話題につなげるための応答文で詫びと不知を表明する。続いて、（８）において不知の単語「花粉」に関連する話題「花」であって、かつ、現在ホットな話題である桜満開を用いて話題転換を行う（ステップＳ１４乃至ステップＳ１６）。
【００５５】
続いて、（１０）において対話相手から発話された名詞ワード「花見」はキーワードに含まれないので、次の話題につなげるための応答文で詫びと不知を表明する。続いて、（１１）において不知の単語「花見」に関連する話題「花」について話題転換を行う。ここまでは、対話相手からの発話に対して応答可能でない場合である（ステップＳ１１、１２、１４乃至１７のループ）。
【００５６】
続いて、（１１）における「花」の話題転換に対して、（１２）で対話相手からの発話「あまり興味ないな・・・」が所定時間経過後の応答であったとする（ステップＳ１７及びステップＳ１８で何れもＮｏ）。このため、（１３）において対話相手に対話継続意思を確認し（ステップＳ１９）、（１４）で対話相手が継続意思を示したので、対話制御装置１０は、話題「天気」「花」以外の話題で話題転換を行って対話を続ける。
【００５７】
以上、この対話制御装置１０によれば、各機能（判定部２２１、作成部２２２、発話部２２３）を備えたことにより、対話相手からの発話に応答可能でない場合、次の話題につなげるための応答文を発話する。このため、唐突に話題を変えたり、意味不明な受け答えをすることがない。したがって、対話相手からすると話しの脈絡から逸脱した別の話しへ急に転換されることがないので、対話相手が違和感を覚えずに話題を遷移することができるという効果を奏する。
【００５８】
また、作成部２２２は、次の話題につなげるための応答文として、話題転換を対話相手に示唆する文を作成する。この実施形態では、一例として、不知又は詫びを表明する応答文を作成する。詫びを入れることで対話相手の心情を害さないようにしつつ不知を表明することで対話相手が話題変更を推測できる。このため、前置きとして話題転換前にワンクッション入れることで、対話制御装置１０にとって都合がいい話題に変更することができる。
【００５９】
また、作成部２２２は、判定部２２１が応答可能と判定した場合、すなわち対話相手の発話中にキーワードが含まれていると判定した場合、キーワードに関連付けされた応答文を作成する。このため、キーワードが含まれている場合、対話相手は対話制御装置１０との会話を数ターン楽しむことができる。
【００６０】
また、作成部２２２は、判定部２２１が応答可能でないと判定した場合、対話相手からの発話中に含まれる単語（特に、不知の単語）に関連する話題に転換するための話題転換用の応答文を作成する。このため、対話相手からすると自然な流れで関連する別話題に変更されるので、対話相手に違和感を感じさせることなく話題転換をすることができる。また、別話題の変更に際して、その話題の中でも現在旬な話題に関連するキーワード（上述の例だと「桜」と「満開」）を選択して話題転換するようにしている。このため、対話相手が気になる最新の話題に切り替えることができるので、対話相手が飽きずに会話を楽しむことができる。
【００６１】
また、対話制御装置１０は、各機能（時間判定部２２４、内容判定部２２５、意思確認部２２６）を備えたことにより、時間判定部２２４と内容判定部２２５の判定結果に応じて、対話相手に対話継続意思を確認するようにしている。すなわち、意思確認部２２６は、対話制御装置１０の発話内容が応答に時間を要さない内容であるにも関わらず、対話相手の応答が遅い（所定時間内に応答がない）場合に、対話継続意思を確認する。
【００６２】
ここで、対話相手の応答が遅い場合として、対話相手が応答内容を考えなければならない場合がある。すなわち、対話制御装置１０が対話相手にＹｅｓ又はＮｏで回答できないような質問（オープン・クエスチョン）をするような場合、対話相手はいったん考えてから応答する必要がある。この場合、対話相手の応答が遅いからといって即座に対話継続意思を確認すると対話相手の心情を害する。本発明によれば、対話相手の応答が遅い場合でも対話制御装置１０の発話内容が応答に時間を要するか否かに応じて対話継続意思の確認を行う。このため、単に応答が遅いと即座に対話継続意思を確認する場合よりも精度よく、かつ対話相手の心情を害さずに確認を行うことができる。
【００６３】
以上で実施形態の説明を終了するが、上記実施形態は一例であり、対話制御装置１０の構成や対話制御処理の内容などが上記実施形態で説明したものに限られないことはもちろんである。
【００６４】
上述した実施形態においては、対話制御装置１０の応答可能性を高める観点から、制御部２０は最初に話題を特定した上で対話を開始するようにしたが、これに限られない。例えば、話題を選択して発話するステップＳ１０をスキップして、対話相手からの発話を音声認識してもよい。この場合、対話相手が話題に関連しない発話をして応答可能性が下がったとしても、前置きした上で話題転換するので対話相手が違和感を覚えることなく、対話を継続することができる。
【００６５】
上述した実施形態においては、キーワードテーブル３１は話題毎に名詞ワード・形容詞ワードを対応付けるようにしたが、これに限られない。例えば、話題毎に動詞ワード（数学であれば動詞「解く」など）を対応付けておき、この動詞を用いた応答文テンプレートを用意しておいてもよい。また、話題毎のキーワードに限らず、日常的に行うシナリオ毎にキーワードを対応付けて対話制御装置１０の対話のバリエーションを増やしてもよい。例えば、シナリオ「あいさつ」に、キーワード「おはよう。」「こんにちは。」「こんばんは。」を対応付けておき、それらに関連付けられた応答文テンプレート（「おはよう」に対して「おはようございます。」など）を用意しておくとよい。
【００６６】
また、上述した実施形態においては、図６に示すようにカテゴリに応じて対話相手が応答に要する時間の長短を設定したが、これに限られない。図６は一例であって、さらに細かく長短を設定してもよい。例えば、カテゴリ「質問」についてオープン・クエスチョンであれば「長」、クローズド・クエスチョンであれば「短」、を対応付けてもよい。また、共感や自己開示の内容によっては、時間を長く設定してもよい。要は、時間の長短の設定は、対話制御装置１０の発話内容で定まる設計事項である。
【００６７】
また、「対話」は音声を使用して互いに応答する例を説明したが、キーボードとディスプレイを使用して文字による対話を行うようにしても良い。例えば、対話制御装置１０をＰＣなどに組み込んで、ユーザ（対話相手）とＰＣ（対話制御装置１０）の間で上述したような具体例１の会話を文字によるチャット感覚で楽しむようにしてもよい。この場合、音声の韻律による感情推定ができないが、カメラ４２を利用した対話相手の表情、対話文章の内容（感情の良し悪しを示す単語による感情推定）、あるいはキーボードタッチの速度や力強さなどから感情推定を行うことが可能である。
【００６８】
また、この発明の対話制御装置１０の各機能は、通常のＰＣ等のコンピュータによっても実施することができる。具体的には、上記実施形態では、対話制御装置１０が行う対話制御処理のプログラムが、制御部２０のＲＯＭに予め記憶されているものとして説明した。しかし、プログラムを、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＤＶＤ（Digital Versatile Disc）及びＭＯ（Magneto-Optical Disc）等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータにインストールすることにより、上述の各機能を実現することができるコンピュータを構成してもよい。さらに、この発明の対話制御装置１０をロボットに搭載すれば、コミュニケーション機能を備えたロボットを実現できる。
【００６９】
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【００７０】
（付記１）
対話相手からの発話に対して応答可能か否か判定する判定手段と、
前記判定手段が応答可能でないと判定した場合、次の話題につなげるための応答文を発話する発話手段と、
を備えたことを特徴とする対話制御装置。
【００７１】
（付記２）
前記判定手段が応答可能でないと判定した場合、前記次の話題につなげるための応答文を作成する作成手段をさらに備え、
前記発話手段は、前記作成手段が作成した前記応答文を発話する、
ことを特徴とする付記１に記載の対話制御装置。
【００７２】
（付記３）
前記作成手段は、前記次の話題につなげるための応答文として、話題転換を前記対話相手に示唆する文を作成する、
ことを特徴とする付記２に記載の対話制御装置。
【００７３】
（付記４）
前記話題転換を対話相手に示唆する文は、不知又は詫びを表明する文である、
ことを特徴とする付記３に記載の対話制御装置。
【００７４】
（付記５）
前記判定手段は、前記対話相手からの発話中にキーワードが含まれる場合に応答可能と判定し、該キーワードが含まれない場合に応答可能でないと判定し、
前記作成手段は、前記判定手段が応答可能と判定した場合、前記キーワードに関連付けされた応答文を作成する、
ことを特徴とする付記２乃至４の何れか一つに記載の対話制御装置。
【００７５】
（付記６）
前記作成手段は、前記判定手段が応答可能でないと判定した場合、前記次の話題につなげるための応答文に加えて、該次の話題に転換するための話題転換用の応答文を作成し、
前記発話手段は、前記次の話題につなげるため応答文の発話に続けて、前記話題転換用の応答文を発話する、
ことを特徴とする付記２乃至５の何れか一つに記載の対話制御装置。
【００７６】
（付記７）
前記話題転換用の応答文により転換する前記次の話題は、前記対話相手からの発話中に含まれる単語に関連する話題である、
ことを特徴とする付記６に記載の対話制御装置。
【００７７】
（付記８）
前記対話制御装置は、さらに、
前記発話手段による発話に対して前記対話相手から所定時間内に応答があったか否か判定する時間判定手段と、
前記発話手段による発話内容が応答に時間を要する内容か否か判定する内容判定手段と、
前記時間判定手段と前記内容判定手段との判定結果に応じて、前記対話相手に対話継続意思を確認する意思確認手段と、
を備えたことを特徴とする付記１乃至７の何れか一つに記載の対話制御装置。
【００７８】
（付記９）
前記意思確認手段は、前記時間判定手段が前記所定時間内に応答がないと判定し、かつ、前記内容判定手段が前記発話内容が応答に時間を要さない内容と判定した場合、前記対話継続意思を確認する、
ことを特徴とする付記８に記載の対話制御装置。
【００７９】
（付記１０）
前記発話手段は、前記意思確認手段が前記対話継続意思を確認した結果、前記対話相手が対話を継続する意思を示した場合、前記次の話題に転換するための話題転換用の応答文を発話する、
ことを特徴とする付記８又は９に記載の対話制御装置。
【００８０】
（付記１１）
前記意思確認手段は、前記時間判定手段が前記所定時間内に応答があると判定した場合、又は、前記時間判定手段が前記所定時間内に応答がないと判定すると同時に前記内容判定手段が前記発話内容が応答に時間を要する内容と判定した場合、前記対話継続意思を確認せず、
前記判定手段は、前記意思確認手段が前記対話継続意思を確認しない場合、前記対話相手からの応答に対して応答可能か否か判定する、
ことを特徴とする付記８乃至１０の何れか一つに記載の対話制御装置。
【００８１】
（付記１２）
対話相手からの発話に対して応答可能か否か判定する判定ステップと、
前記判定ステップにおいて応答可能でないと判定した場合、次の話題につなげるための応答文を発話する発話ステップと、
を備えたことを特徴とする対話制御方法。
【００８２】
（付記１３）
コンピュータを、
対話相手からの発話に対して応答可能か否か判定する判定手段、
前記判定手段が応答可能でないと判定した場合、次の話題につなげるための応答文を発話する発話手段、
として機能させるためのプログラム。
【符号の説明】
【００８３】
１０…対話制御装置、２０…制御部、２２１…判定部、２２２…作成部、２２３…発話部、２２４…時間判定部、２２５…内容判定部、２２６…意思確認部、３０…記憶部、３１…キーワードテーブル、３２…対話用ＤＢ、３２１…応答用ＤＢ、３２２…前置用ＤＢ、３２３…話題転換用ＤＢ、３２４…確認用ＤＢ、４０…マイク、４１…スピーカ、４２…カメラ
【図１】
2020038397.tif 000003
【図２】
2020038397.tif 000004
【図３】
2020038397.tif 000005
【図４】
2020038397.tif 000006
【図５】
2020038397.tif 000007
【図６】
2020038397.tif 000008
【図７】
2020038397.tif 000009
【図８】
2020038397.tif 000010
【手続補正書】
【提出日】令和1年12月23日(2019.12.23)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
上記目的を達成するため、本発明の対話制御装置は、
対話相手からの発話に対する応答文を作成する応答文作成手段と、
前記応答文作成手段が作成した応答文を出力する出力手段と、
前記出力手段による出力に対して前記対話相手から所定時間内に応答があったか否か判定する時間判定手段と、
前記出力手段による出力内容が応答に時間を要する内容か否か判定する内容判定手段と、
前記時間判定手段と前記内容判定手段との判定結果に応じて、前記対話相手に対話継続意思を確認する意思確認手段と、
を備えたことを特徴とする。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００４５
【補正方法】変更
【補正の内容】
【００４５】
ここでの対話相手からの発話は、単なる相づちやＹｅｓ・Ｎｏの回答である可能性がある。例えば、「ラーメンおいしいですよね。私も好きです。」に対して「へーそうなんだ。」や「動物について興味ありますか。」に対して「興味あるよ。」といった類いの回答である。この場合、キーワードの有無判定ができないので、対話制御装置１０は適宜ポーズを入れて対話相手にさらなる発話を促すか、あるいは質問等を行って対話相手からの発話を促すようにするとよい。
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
対話相手からの発話に対する応答文を作成する応答文作成手段と、
前記応答文作成手段が作成した応答文を出力する出力手段と、
前記出力手段による出力に対して前記対話相手から所定時間内に応答があったか否か判定する時間判定手段と、
前記出力手段による出力内容が応答に時間を要する内容か否か判定する内容判定手段と、
前記時間判定手段と前記内容判定手段との判定結果に応じて、前記対話相手に対話継続意思を確認する意思確認手段と、
を備えたことを特徴とする対話制御装置。
【請求項２】
前記意思確認手段は、前記時間判定手段が、前記所定時間内に応答がないと判定し、かつ、前記内容判定手段が、前記出力内容が応答に時間を要さない内容と判定した場合、前記対話継続意思を確認する、
ことを特徴とする請求項１に記載の対話制御装置。
【請求項３】
前記意思確認手段は、前記出力がオープン・クエスチョンであるか、クローズド・クエスチョンであるかによって、前記所定時間を変える、
ことを特徴とする請求項１又は２に記載の対話制御装置。
【請求項４】
前記応答文作成手段は、前記意思確認手段が前記対話継続意思を確認した結果、前記対話相手が対話を継続する意思を示した場合、次の話題に転換するための話題転換用の応答文を作成する、
ことを特徴とする請求項１乃至３のいずれか１項に記載の対話制御装置。
【請求項５】
前記意思確認手段は、前記時間判定手段が、前記所定時間内に応答があると判定した場合、又は、前記時間判定手段が、前記所定時間内に応答がないと判定すると同時に前記内容判定手段が、前記出力内容が応答に時間を要する内容と判定した場合、前記対話継続意思を確認せず、
前記意思確認手段が前記対話継続意思を確認しない場合、前記対話相手からの応答に対して応答可能か否かを、前記対話相手の応答の発話中に所定のキーワードが含まれるか否かに基づいて判定する判定手段を更に備える、
ことを特徴とする請求項１乃至４の何れか一項に記載の対話制御装置。
【請求項６】
コンピュータが、
対話相手からの発話に対する応答文を作成する応答文作成ステップと、
前記応答文作成ステップで作成した応答文を出力する出力ステップと、
前記出力ステップによる出力に対して前記対話相手から所定時間内に応答があったか否か判定する時間判定ステップと、
前記出力ステップによる出力内容が応答に時間を要する内容か否か判定する内容判定ステップと、
前記時間判定ステップと前記内容判定ステップとの判定結果に応じて、前記対話相手に対話継続意思を確認する意思確認ステップと、
を実行する対話制御方法。
【請求項７】
ユーザである対話相手と対話を行う対話制御装置のコンピュータを、
前記対話相手からの発話に対する応答文を作成する応答文作成手段、
前記応答文作成手段が作成した応答文を出力する出力手段、
前記出力手段による出力に対して前記対話相手から所定時間内に応答があったか否か判定する時間判定手段、
前記出力手段による出力内容が応答に時間を要する内容か否か判定する内容判定手段、
前記時間判定手段と前記内容判定手段との判定結果に応じて、前記対話相手に対話継続意思を確認する意思確認手段、
として機能させるプログラム。