(57)【要約】【課題】ユーザと会話を行うシステムにおいて、会話の継続性及び話題の転換の自然さを向上させる。【解決手段】会話提供装置は、仮想的な人格とユーザとを会話させる。また、複数の話者の台詞を含む会話形式の部分的シナリオを複数記憶するシナリオ記憶部と、部分的シナリオを用いてユーザに対する仮想的な人格の発言を出力する会話制御部とを備え、会話制御部は、仮想的な人格の発言又はユーザの発言と、部分的シナリオに含まれる台詞との類似度に基づいて、仮想的な人格の発言又はユーザの発言に対する応答を部分的シナリオから抽出する。【選択図】図５
2018181018.tif 000002
【特許請求の範囲】
【請求項１】
仮想的な人格とユーザとを会話させる会話提供装置であって、
複数の話者の台詞を含む会話形式の部分的シナリオを複数記憶するシナリオ記憶部と、
前記部分的シナリオを用いて前記ユーザに対する前記仮想的な人格の発言を出力する会話制御部と、
を備え、
前記会話制御部は、前記仮想的な人格の発言又は前記ユーザの発言と、前記部分的シナリオに含まれる台詞との類似度に基づいて、前記仮想的な人格の発言又は前記ユーザの発言に対する応答を前記部分的シナリオから抽出する
会話提供装置。
【請求項２】
前記会話提供装置は、選択肢から前記ユーザに自身の発言を選択させる形式により、前記仮想的な人格と前記ユーザとを会話させ、
前記会話制御部は、
前記シナリオ記憶部から読み出した第１の部分的シナリオに含まれる台詞と、当該第１の部分的シナリオに類似する第２の部分的シナリオに含まれる台詞とを、前記選択肢として前記ユーザに提示すると共にいずれかを選択させ、
前記ユーザが選択した台詞を含む部分的シナリオにおいて、選択された台詞に対する応答として記述された台詞を、前記仮想的な人格の発言として出力する
請求項１に記載の会話提供装置。
【請求項３】
前記会話制御部は、
前記シナリオ記憶部から読み出した前記第１の部分的シナリオに含まれる第１の話者の第１の台詞を、前記仮想的な人格の発言として出力し、
前記第１の部分的シナリオにおいて前記第１の話者の第１の台詞に対する応答として記述された第２の話者の第１の台詞に含まれる単語に基づいて、前記シナリオ記憶部から前記第２の話者の第１の台詞に類似する他の部分的シナリオに含まれる第２の話者の第２の台詞を抽出し、
前記第２の話者の第１の台詞と、前記第２の話者の第２の台詞とを含む選択肢を前記ユーザに提示すると共にいずれかを選択させる
請求項２に記載の会話提供装置。
【請求項４】
前記会話制御部は、
前記第２の話者の第１の台詞、及び前記シナリオ記憶部に記憶されている他の部分的シナリオに含まれる台詞に対し形態素解析を行い、各台詞に含まれる単語の分散表現に基づいて、前記第１の部分的シナリオにおける前記第２の話者の第１の台詞に類似する他の部分的シナリオに含まれる第２の話者の第２の台詞を抽出する
請求項３に記載の会話提供装置。
【請求項５】
前記第２の話者の第２の台詞は、前記他の部分的シナリオにおける最後の台詞以外から抽出される
請求項４に記載の会話提供装置。
【請求項６】
前記会話提供装置は、前記ユーザに発言を自由入力させる形式により、前記仮想的な人格と前記ユーザとを会話させ、
前記会話制御部は、
前記ユーザが入力した発言に類似する台詞及び当該台詞が記述されている前記部分的シナリオを抽出し、
抽出された前記部分的シナリオにおいて、抽出された前記台詞に対する応答として記
述されている台詞を、前記ユーザが入力した発言に対する前記仮想的な人格の応答として出力する
請求項１に記載の会話提供装置。
【請求項７】
前記会話制御部は、前記仮想的な人格の発言又は前記ユーザの第１の発言、及びこれに応答する第２の発言の組み合わせと、前記部分的シナリオに含まれる２つの台詞の組合せとの類似度に基づいて、前記第２の発言に対する応答を前記部分的シナリオから抽出する
請求項１に記載の会話提供装置。
【請求項８】
前記部分的シナリオは、話の筋道が一貫するように予め記述されている
請求項１から７のいずれか一項に記載の会話提供装置。
【請求項９】
コンピュータが、仮想的な人格とユーザとを会話させる会話提供方法であって、
複数の話者の台詞を含む会話形式の部分的シナリオを複数記憶するシナリオ記憶部に記憶された前記部分的シナリオを用いて、前記仮想的な人格の発言又は前記ユーザの発言と、前記部分的シナリオに含まれる台詞との類似度に基づいて、前記仮想的な人格の発言又は前記ユーザの発言に対する応答を前記部分的シナリオから抽出するステップと、
抽出された応答を出力するステップと、
を含む会話提供方法。
【請求項１０】
コンピュータが、仮想的な人格とユーザとを会話させる処理をコンピュータに実行させるプログラムであって、
複数の話者の台詞を含む会話形式の部分的シナリオを複数記憶するシナリオ記憶部に記憶された前記部分的シナリオを用いて、前記仮想的な人格の発言又は前記ユーザの発言と、前記部分的シナリオに含まれる台詞との類似度に基づいて、前記仮想的な人格の発言又は前記ユーザの発言に対する応答を前記部分的シナリオから抽出するステップと、
抽出された応答を出力するステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、会話提供装置、会話提供方法及びプログラムに関する。
【背景技術】
【０００２】
従来、ユーザとの間で情報提供や雑談等の対話を行う様々なチャットボットやソフトウェアエージェントが提案されている。
【０００３】
例えば、固定的な対話ノードの間に動的対話ノードの挿入行動を制御する対話プログラムが提案されている（例えば、特許文献１）
【０００４】
また、疑似人物同士の会話がなされる場に、前記疑似人物の一つが抽出した前記話題情報に関する会話の進行度合いに応じて前記複数の疑似人物の会話における役割を変更し、この変更前後の疑似人物同士の会話を利用者に対して見せるようにしたことにより、会話の進行に合わせて人格の役割が変更され利用者から見て変化に富んだ会話空間がシステム中に生成されるという技術も提案されている（例えば、特許文献２）。
【０００５】
また、エージェントの感情および欲求から構成される内部状態を保持し、ユーザの感情、エージェントの感情に基づいてユーザの感情を考慮した応答を行うことができるエージェントインターフェース装置を実現するという技術も提案されている（例えば、特許文献３）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１５−１２５１９８号公報
【特許文献２】特開２００３−３２３３８８号公報
【特許文献３】特開２００５−２２２３３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来、会話のバリエーションを増やすための様々な技術が提案されていた。しかしながら、何らかのテーマで雑談を行う場合、同じような発言を繰り返したり、話題を切り替える際に文脈が不自然になったりするような、対話破綻に陥り易いという問題があった。
【０００８】
そこで、本発明は、ユーザと会話を行うシステムにおいて、会話の継続性及び話題の転換の自然さを向上させることを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る会話提供装置は、仮想的な人格とユーザとを会話させる。また、複数の話者の台詞を含む会話形式の部分的シナリオを複数記憶するシナリオ記憶部と、部分的シナリオを用いてユーザに対する仮想的な人格の発言を出力する会話制御部とを備え、会話制御部は、仮想的な人格の発言又はユーザの発言と、部分的シナリオに含まれる台詞との類似度に基づいて、仮想的な人格の発言又はユーザの発言に対する応答を部分的シナリオから抽出する。
【００１０】
台詞の類似度に基づいて予め用意された部分的シナリオから応答を抽出することで、対話の内容や話題の転換の自然さを担保することができる。また、過去の話題の内容に基づいて発言を生成するような場合と異なり、部分的シナリオを連結することにより、何らか
の話題から抜け出せなくなるような対話破綻が生じることを抑制できる。すなわち、会話の継続性及び話題の転換の自然さを向上させることができる。
【００１１】
また、会話提供装置は、選択肢からユーザに自身の発言を選択させる形式により、仮想的な人格とユーザとを会話させ、会話制御部は、シナリオ記憶部から読み出した第１の部分的シナリオに含まれる台詞と、当該第１の部分的シナリオに類似する第２の部分的シナリオに含まれる台詞とを、選択肢としてユーザに提示すると共にいずれかを選択させ、ユーザが選択した台詞を含む部分的シナリオにおいて、選択された台詞に対する応答として記述された台詞を、仮想的な人格の発言として出力するようにしてもよい。このようにすれば、複数の選択肢は進行中の会話の流れに沿ったものとなり、会話の流れの自然さを向上させることができる。
【００１２】
また、会話制御部は、シナリオ記憶部から読み出した第１の部分的シナリオに含まれる第１の話者の第１の台詞を、仮想的な人格の発言として出力し、第１の部分的シナリオにおいて第１の話者の第１の台詞に対する応答として記述された第２の話者の第１の台詞に含まれる単語に基づいて、シナリオ記憶部から第２の話者の第１の台詞に類似する他の部分的シナリオに含まれる第２の話者の第２の台詞を抽出し、第２の話者の第１の台詞と、第２の話者の第２の台詞とを含む選択肢をユーザに提示すると共にいずれかを選択させるようにしてもよい。具体的には、このような構成にすることで、複数の選択肢は進行中の会話の流れに沿ったものとなる。
【００１３】
また、会話制御部は、第２の話者の第１の台詞、及びシナリオ記憶部に記憶されている他の部分的シナリオに含まれる台詞に対し形態素解析を行い、各台詞に含まれる単語の分散表現に基づいて、第１の部分的シナリオにおける第２の話者の第１の台詞に類似する他の部分的シナリオに含まれる第２の話者の第２の台詞を抽出するようにしてもよい。このようにすれば、単語やこれを含む台詞間の意味的な距離を算出することができ、比較できるようになる。
【００１４】
また、第２の話者の第２の台詞は、他の部分的シナリオにおける最後の台詞以外から抽出されるようにしてもよい。本発明に係る会話提供装置は、後の処理において、他の部分的シナリオにおける最後の台詞を、ユーザが選択した応答に対する仮想的な人格の応答として利用するため、上述のように他の部分的シナリオにおける最後の台詞以外から抽出することが好ましい。
【００１５】
また、会話提供装置は、ユーザに発言を自由入力させる形式により、仮想的な人格とユーザとを会話させ、会話制御部は、ユーザが入力した発言に類似する台詞及び当該台詞が記述されている部分的シナリオを抽出し、抽出された部分的シナリオにおいて、抽出された台詞に対する応答として記述されている台詞を、ユーザが入力した発言に対する仮想的な人格の応答として出力するようにしてもよい。このようにすれば、ユーザが自由入力した発言に対しても、予め用意された部分的シナリオから類似度に基づいて応答を抽出することで、対話の内容や話題の転換の自然さをある程度担保することができる。
【００１６】
また、会話制御部は、仮想的な人格の発言又はユーザの第１の発言、及びこれに応答する第２の発言の組み合わせと、部分的シナリオに含まれる２つの台詞の組合せとの類似度に基づいて、第２の発言に対する応答を部分的シナリオから抽出するようにしてもよい。２つの発言の組合せに対して類似度を評価することにより、より大きな文脈で類似するか否かを判断することができ、より適切な応答を抽出できるようになる。
【００１７】
また、部分的シナリオは、話の筋道が一貫するように予め記述されているようにしてもよい。このような部分的シナリオを予め用意しておくことにより、会話の継続性及び話題
の転換の自然さを向上させることができる。
【００１８】
なお、課題を解決するための手段に記載の内容は、本発明の課題や技術的思想を逸脱しない範囲で可能な限り組み合わせることができる。また、課題を解決するための手段の内容は、コンピュータ等の装置若しくは複数の装置を含むシステム、コンピュータが実行する方法、又はコンピュータに実行させるプログラムとして提供することができる。なお、プログラムを保持する記録媒体を提供するようにしてもよい。
【発明の効果】
【００１９】
ユーザと会話を行うシステムにおいて、会話の継続性及び話題の転換の自然さを向上させることができる。
【図面の簡単な説明】
【００２０】
【図１】システム全体の構成の一例を示す図である。
【図２】ユーザ端末及び会話提供サーバの構成の一例を示すブロック図である。
【図３】ユーザインターフェースの一例を示す図である。
【図４】会話提供サーバの記憶装置に予め記憶されているシナリオの一例を示す図である。
【図５】会話提供処理の一例を示す処理フロー図である。
【図６】類似シナリオ抽出処理の一例を示す処理フロー図である。
【図７】進行中の部分的シナリオ及び記憶装置に格納されているその他の部分的シナリオの一例を示す図である。
【発明を実施するための形態】
【００２１】
以下、図面を参照して本発明を実施するための形態について説明する。なお、実施形態の構成は例示であり、本発明は実施形態に示す構成に限定されない。
【００２２】
＜システム構成＞
図１は、実施形態に係るシステム全体の一例を示す図である。本システムは、コンピュータによって発言が出力され、ユーザ（本発明に係る「第１の話者」に相当する）と会話を行う仮想的な人格（本発明に係る「第２の話者」に相当する）を提供する。また、会話の内容は雑談を含み、例えばユーザが本システムの利用を中断するまで会話を継続する。本システムは、ユーザ端末１と、会話提供サーバ２とを含み、これらがネットワーク３を解して接続されている。ネットワーク３は、インターネット等の通信網であり、ネットワーク３に接続されたコンピュータは様々なプロトコルに基づいて相互に通信できるものとする。ユーザ端末１は、スマートフォンやタブレット、ＰＣ（Personal Computer）等の
コンピュータであり、本実施形態に係るプログラム（ソフトウェア、又はアプリケーションとも呼ぶ）を実行することにより、本実施形態に係る会話提供システムのユーザインターフェースとして機能する。なお、ユーザ端末１は、ネットワーク３に複数接続されていてもよい。会話提供サーバ２は、一般的なコンピュータであり、本実施形態に係るプログラムを実行することにより、仮想的な人格の発言をユーザ端末１へネットワーク３を介して出力すると共に、ユーザ端末１からユーザの応答を取得する処理を繰り返す。なお、ユーザの発言は、会話提供サーバ２が出力する選択肢の中からユーザが選択することにより、ユーザ端末１に入力され、ネットワーク３を介して会話提供サーバ２へ送信される。
【００２３】
＜装置構成＞
図２は、ユーザ端末１及び会話提供サーバ２の構成の一例を示すブロック図である。
【００２４】
ユーザ端末１は、一般的なコンピュータであり、入出力インターフェース（Ｉ／Ｆ）１１と、記憶装置１２と、通信インターフェース（Ｉ／Ｆ）１３と、プロセッサ１４と、バ
ス１５とを備えている。入出力Ｉ／Ｆ１１は、例えばタッチパネル等のユーザインターフェースである。入出力Ｉ／Ｆ１１は、ユーザに対し仮想的人格の発言を表示したり、ユーザの応答の選択肢を表示させたりすると共に、ユーザの操作に基づいてユーザの応答の選択を受け付ける。記憶装置１２は、ＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）等の主記憶装置及びＨＤＤ（Hard-disk Drive）やＳＳＤ（Solid State Drive）、フラッシュメモリ等の補助記憶装置（二次記憶装置）である。主記憶装置は、プロセッサが読み出したプログラムや受信する台詞のデータを一時的に記憶したり、プロセッサの作業領域を確保したりする。補助記憶装置は、プロセッサが実行するプログラムを記憶したりする。通信Ｉ／Ｆ１３は、例えば携帯電話の基地局や無線ＬＡＮ（Local Area Network）のアクセスポイントと通信を行うネットワークモジュールであり、所定のプロトコルに基づき通信を行う。プロセッサ１４は、ＣＰＵ（Central Processing Unit）等の演
算処理装置であり、プログラムを実行することにより本実施の形態に係る各処理を行う。図２の例では、プロセッサ１４内に機能ブロックを示している。具体的には、プロセッサ１４は、入出力制御部１４１として機能する。入出力制御部１４１は、仮想的な人格の発言を入出力Ｉ／Ｆ１１に表示させると共に、入出力Ｉ／Ｆ１１を介してユーザの応答の入力を受け付ける。以上のような構成要素が、バス１５を介して接続されている。
【００２５】
また、会話提供サーバ２も、一般的なコンピュータであり、入出力Ｉ／Ｆ２１と、記憶装置２２と、通信Ｉ／Ｆ２３と、プロセッサ２４と、バス２５とを備えている。入出力Ｉ／Ｆ２１は、例えばキーボードやマウス、ディスプレイ等のユーザインターフェースである。記憶装置２２は、ＲＡＭやＲＯＭ等の主記憶装置及びＨＤＤやＳＳＤ、フラッシュメモリ等の補助記憶装置である。主記憶装置は、プロセッサが読み出したプログラムや補助記憶装置に格納されているシナリオのデータを一時的に記憶したり、プロセッサの作業領域を確保したりする。補助記憶装置は、プロセッサが実行するプログラムを記憶したりする。通信Ｉ／Ｆ２３は、例えば有線のネットワークカード等であり、所定のプロトコルに基づき通信を行う。プロセッサ２４は、ＣＰＵ等の演算処理装置であり、プログラムを実行することにより本実施の形態に係る各処理を行う。図２に示すように、プロセッサ２４は、会話制御部２４１として機能する。会話制御部２４１は、予め用意されたシナリオを用いてユーザに対する仮想的な人格の発言と、発言に対するユーザの応答の選択肢とを出力する。以上のような構成要素が、バス１５を介して接続されている。
【００２６】
＜ユーザインターフェース＞
図３は、ユーザ端末１の入出力Ｉ／Ｆ１１に表示される画像の一例を示す図である。図３の例では、タッチパネルである入出力Ｉ／Ｆ１１に、仮想的な人格を表す画像１１１と、ユーザを表す画像１１２と、仮想的な人格の発言を表す吹出し１１３と、ユーザの応答の選択肢を表す３つの吹出し１１４（１１４ａ〜１１４ｃ）とが表示されている。ユーザは、例えばこのような選択肢の中から自身の発言をタップして選択することにより、仮想的な人格との会話を行うことができる。なお、選択肢の数は複数であり、３には限られない。
【００２７】
＜シナリオ（部分的シナリオ）＞
図４は、会話提供サーバ２の記憶装置２２に予め記憶されているシナリオの一例を示す図である。本実施形態では、図４に示すような、複数の人物による会話形式の台詞を複数含むシナリオが、会話提供サーバ２の記憶装置２２に予め複数記憶されているものとする。なお、シナリオに含まれる各行には台詞が記述されており、各行の冒頭に付されたアルファベットＡ及びＢは、各行に記述された台詞を発する人物を表す。便宜上、同一の人物に割り当てられた連続する台詞を、１つの発言と呼ぶものとする。図４の例では、人物Ｂの発言２２１（１つ目の発言）と、これに応答する人物Ａの発言２２２（２つ目の発言）と、これにさらに応答する人物Ｂの発言２２３（３つ目の発言）とが記述されている。１つの発言は、１行以上の台詞を含む。１行は１文であってもよく、１行には何らかの意図
を表す台詞が記述される。また、各行の間で話題が転換されてもよいが、話の筋道が一貫するように記述されるものとする。図４に示すような、脈絡のある３〜４程度の発言を含むやりとりを１つの単位として記述しておき、これを「部分的シナリオ」とも呼ぶものとする。本実施形態では、部分的シナリオの少なくとも一部を、仮想的な人格とユーザとのそれまでの会話に連結することにより、会話を継続的に行う。
【００２８】
＜会話提供処理＞
図５は、本システムにおいて実行される会話提供処理の一例を示す処理フロー図である。まず、会話提供サーバ２の会話制御部２４１は、何らかの条件に基づき、初期的な部分的シナリオを選択する（図５：Ｓ１）。本ステップでは、会話を開始するための任意の部分的シナリオが選択される。例えば、記憶装置２２に格納された複数の部分的シナリオの中から、図４に示した部分的シナリオが選択されたものとする。
【００２９】
そして、会話制御部２４１は、仮想的人格の発言を１つ出力する（図５：Ｓ２）。本ステップでは、例えば部分的シナリオの初めに記述されている発言２２１を仮想的人格の発言として、ユーザ端末１に送信する。図４の例では、人物Ｂの台詞「最近雨ばっかりで嫌になるよ」及び「そろそろ梅雨入りかなあ」が、通信Ｉ／Ｆ２３を介してユーザ端末１に送信される。
【００３０】
一方、ユーザ端末１の入出力制御部１４１は、通信Ｉ／Ｆ１３を介して仮想的人格の発言を受信すると、受信した発言を入出力Ｉ／Ｆ１１に出力させる（図５：Ｓ３）。本ステップでは、仮想的人格の発言「最近雨ばっかりで嫌になるよ」及び「そろそろ梅雨入りかなあ」が、例えば順に図３の吹出し１１３に表示される。
【００３１】
また、会話提供サーバ２の会話制御部２４１は、類似シナリオ抽出処理を行う（図５：Ｓ４）。
【００３２】
図６は、類似シナリオ抽出処理の一例を示す処理フロー図である。会話提供サーバ２の会話制御部２４１は、進行中の部分的シナリオについて形態素解析を行う（図６：Ｓ１１）。本ステップでは、例えば、先にユーザ端末１に台詞が出力されたシナリオ１において、ユーザ端末１に出力された仮想的人格の発言に応答する発言として記述されている台詞「そうね、ここ最近雨続きね」に対し、形態素解析を行い、品詞に分解する。
【００３３】
また、会話制御部２４１は、会話提供サーバ２の記憶装置２２に記憶されている他の部分的シナリオについて形態素解析を行う（図６：Ｓ１２）。本ステップでは、記憶装置２２に記憶されている進行中の部分的シナリオ以外の部分的シナリオに含まれる台詞に対し、形態素解析を行い、品詞に分解する。
【００３４】
そして、会話制御部２４１は、特徴ベクトルに基づいて進行中の部分的シナリオ（本発明における「第１の部分的シナリオ」に相当する）と類似する部分的シナリオ（本発明における「第２の部分的シナリオ」に相当する）を抽出する（図６：Ｓ１３）。本ステップでは、各台詞に含まれる単語を用いてテキストマイニングを行い、類似する部分的シナリオや、類似する台詞を抽出する。例えば、既存の部分的シナリオを対象として、ディープラーニングのようなニューラルネットワークを利用した機械学習を行い、周辺の文脈から出現しそうな単語を推定したり、ある単語から文脈に出現する他の単語を推定したりするための予測モデルを生成しておく。テキストマイニングには、既存の様々な技術を利用することができ、類義語や活用形を同一の単語として扱うようにしてもよい。
【００３５】
例えば、FastTextやWord2Vec、ＣＢＯＷ（Continuous Bag-of-Words）、Skip-gram Ｗ
ＭＤ（Word Mover's Distance）、コサイン類似度等のような技術を用いることができる
。ＷＭＤを利用する場合、例えば２つの台詞に含まれる似た意味の単語同士を対応付け、各対応付けについて分散表現の距離をコストとして算出し、２つの台詞間のコストの総和を２つの台詞間の距離とする。そして、距離が近い台詞ほど類似度が高いと判断する。コサイン類似度を利用する場合、各台詞に含まれる単語の分散表現を生成し、進行中の部分的シナリオにおいて仮想的人格の発言に応答する発言として記述されている台詞に含まれる単語と、コサイン類似度の高い単語を含む台詞を抽出する。また、単語は、特に名詞を用いて類似度を算出するようにしてもよい。以上のようなテキストマイニング技術を用いて、進行中のシナリオにおいて仮想的人格の発言に応答する発言として記述されている台詞「そうね、ここ最近雨続きね」との類似度が高いものから順に所定数の台詞を抽出する。
【００３６】
このとき、さらに１つ前の発言である仮想的人格の発言についても類似度の算出に用いるようにしてもよい。すなわち、ある発言（仮想的人格の発言）、及びこれに対する応答という２つの台詞からなるやり取りに対して、類似する２つの台詞からなるやり取りを、例えばＷＭＤを用いて部分的シナリオの中から抽出する。このようにすれば、より長い文脈の類似する部分的シナリオに基づいてその後の発言を決定することができるため、より自然な応答が抽出できる。
【００３７】
本ステップにおいて、例えば、２つの台詞が選択肢として抽出されるものとする。
【００３８】
図７は、進行中の部分的シナリオ及び記憶装置２２に格納されているその他の部分的シナリオの一例を示す図である。図７には、シナリオ１〜５が例示されており、シナリオ１は図４にも示した進行中のシナリオである。また、シナリオ２〜５は、何らかの話題に関する部分的シナリオである。なお、シナリオ２には、４つ目の発言２２４及び５つ目の発言２２５が含まれており、シナリオ４には、４つ目の発言２２４が含まれている。
【００３９】
進行中のシナリオにおいて仮想的人格の発言（図７：実線の角丸長方形）に応答する発言として記述されている台詞であるシナリオ１の「そうね、ここ最近雨続きね」は、図６のＳ１１において品詞に分解される。シナリオ２〜５に含まれる台詞は、図６のＳ１２において品詞に分解される。また、シナリオ２の台詞「お昼から雨なんだって」と、シナリオ３の台詞「曇ってきたね、雨が降るのかな」が、類似する台詞として抽出されたものとする。そして、進行中のシナリオにおいて仮想的人格の発言に応答する発言として記述されている台詞およびこれに類似すると判断された所定数の台詞（図７：破線の角丸長方形）がユーザの応答の選択肢として抽出される。なお、シナリオ４及び５からは、類似する台詞が抽出されなかったものとする。
【００４０】
その後、類似シナリオ抽出処理を終了し、図５の処理に戻る。なお、図６に示した処理のうち、形態素解析（Ｓ１１、Ｓ１２）、及び類似度の台詞間の類似度の算出は、記憶装置２２に格納されている部分的シナリオに含まれる台詞のすべての組合せについて予め実行しておき、類似シナリオ抽出処理においては、進行中のシナリオにおいて仮想的人格の発言に応答する発言として記述されている台詞およびこれとの間で類似度の高い台詞を抽出する処理のみを行うようにしてもよい。
【００４１】
会話制御部２４１は、ユーザの応答の選択肢を出力する（図５：Ｓ５）。本ステップでは、会話制御部２４１は、通信Ｉ／Ｆ２３を介し、図６のＳ１３において抽出された台詞をユーザ端末１へ送信する。
【００４２】
一方、ユーザ端末１の入出力制御部１４１は、通信Ｉ／Ｆ１３を介してユーザの応答の選択肢を受信すると、受信した選択肢を入出力Ｉ／Ｆ１１に表示させる（図５：Ｓ６）。本ステップでは、図７に示したシナリオ１の「そうね、ここ最近雨続きね」、シナリオ２
の台詞「お昼から雨なんだって」、及びシナリオ３の台詞「曇ってきたね、雨が降るのかな」が、図３の吹出し１１４ａ〜１１４ｃに表示される。
【００４３】
そして、入出力制御部１４１は、入出力Ｉ／Ｆ１１を介してユーザの操作を受け付け、ユーザの応答の選択の入力を受けると共に、選択された応答をユーザの発言として入出力Ｉ／Ｆ１１に表示させる（図５：Ｓ７）。本ステップでは、図３の吹出し１１４ａ〜１１４ｃのいずれかをユーザがタップすると、タップされた吹出しの台詞がユーザの応答として表示される。また、入出力制御部１４１は、いずれの応答が選択されたかを示す情報を、通信Ｉ／Ｆ１３を介して会話提供サーバ２へ送信する。なお、ここでは、選択肢のうち、シナリオ３の台詞「曇ってきたね、雨が降るのかな」がユーザによって選択されたものとする。
【００４４】
その後、会話提供サーバ２の会話制御部２４１は、ユーザに選択された応答に応じて仮想的人格のさらなる応答を決定する（図５：Ｓ８）。本ステップでは、ユーザが選択した台詞を含む部分的シナリオにおいて、当該台詞に対する応答として記述された台詞を、仮想的な人格の発言として抽出する。図７の例では、シナリオ３において人物Ａの台詞「曇ってきたね、雨が降るのかな」に対する応答として記述されている、人物Ｂの台詞「そうみたいだね」及び「でも今夜には晴れるみたいだよ」（図７：一点鎖線の角丸長方形）が仮想的な人格の発言に決定される。
【００４５】
そして、図５のＳ２に戻り、処理を繰り返す。すなわち、会話制御部２４１は、Ｓ８
において決定された仮想的な人格の発言を、通信Ｉ／Ｆ２３を介してユーザ端末１へ送信する。
【００４６】
＜効果＞
本実施形態によれば、脈絡のあるやりとりを記述した部分的シナリオを連結し、連結した複数の部分的シナリオに基づいて、仮想的な人格の発言と、ユーザの応答の選択肢とを出力する。また、ユーザの応答の選択肢は、いわゆる人工知能を用いて類似度が高いと評価された台詞であり、いずれを選択されても話の筋道が一貫するようになる。また、選択されたユーザの応答に対するさらなる仮想的な人格の応答は、部分的シナリオにおいて予め脈絡のあるやりとりとして記述されたシナリオ通りの台詞であり、話の筋道は一貫するようになっている。したがって、話題が転換される場合であっても、予め準備された部分的シナリオの中で自然に話題が変わるか、ユーザが選択肢を選ぶことにより話題を変えるかによって行われるため、話の流れは自然なものとなる。また、部分的シナリオを連結することにより、話が続けられるため、会話の継続性も向上する。
【００４７】
＜変形例＞
図７に示したように、部分的シナリオに登場する人物Ａ、人物Ｂは、それぞれユーザ、仮想的な人格に割り当てるようにしてもよい。すなわち、図６のＳ１３においては、部分的シナリオにおいて、ユーザの発言である人物Ａの台詞の中から、ユーザの応答の選択肢を抽出する。このようにすれば、予め準備される部分的シナリオにおいて、ユーザ、及び仮想的な人格について何らかの性格付けをして台詞の内容や口調を記述しておくことができる。
【００４８】
一方、部分的シナリオに登場する人物Ａ、人物Ｂを区別せずに、ユーザの応答の選択肢を抽出するようにしてもよい。このような態様であっても、予め用意された部分的シナリオを連結することによって、会話の継続性及び話題の転換の自然さを向上させることができる。
【００４９】
また、ユーザの応答の選択肢の抽出は、部分的シナリオにおける先頭の発言に限らず、
部分的シナリオにおける２番目以降に記述された発言を対象としてもよい。なお、部分的シナリオにおいて、ユーザの応答に係る発言の後に、応答として記述された発言を仮想的な人格の発言として利用するため、部分的シナリオにおける最後の発言は、ユーザの応答の選択肢として抽出する対象としない。すなわち、Ｓ１３におけるユーザの応答の選択肢は、部分的シナリオに記述された最後の発言以外の発言から抽出される。
【００５０】
また、ユーザの応答の選択肢の抽出は、進行中のシナリオにおいて仮想的人格の発言に応答する発言として記述されている台詞でなく、進行中のシナリオにおける過去の発言に基づいて類似する台詞を抽出するようにしてもよい。
【００５１】
また、選択肢からユーザに自身の発言を選択させる形式のユーザインターフェースでなく、発言の内容をユーザに自由入力させるようにしてもよい。この場合、ユーザが入力した発言と類似する台詞を部分的シナリオの中から抽出し、部分的シナリオにおいて抽出された類似する台詞に対する応答として記述されている台詞を、仮想的な人格の次の発言として出力させる。
【００５２】
また、ユーザが自由入力した発言と、その前の仮想的人格の発言との組み合わせについて、類似する台詞の組合せを部分的シナリオの中から抽出し、部分的シナリオにおいて抽出された台詞の組み合わせに対しさらに応答するかたちで記述されている台詞を、仮想的人格の次の発言として出力するようにしてもよい。
【００５３】
＜その他＞
本発明は上述の処理を実行するコンピュータプログラムを含む。さらに、当該プログラムを記録した、コンピュータ読み取り可能な記録媒体も、本発明の範疇に属する。当該プログラムが記録された記録媒体については、コンピュータに、この記録媒体のプログラムを読み込ませて実行させることにより、上述の処理が可能となる。
【００５４】
ここで、コンピュータ読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータから読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータから取り外し可能なものとしては、フレキシブルディスク、光磁気ディスク、光ディスク、磁気テープ、メモリカード等がある。また、コンピュータに固定された記録媒体としては、ハードディスクドライブやＲＯＭ等がある。
【符号の説明】
【００５５】
１    ：ユーザ端末
１１  ：入出力Ｉ／Ｆ
１２  ：記憶装置
１３  ：通信Ｉ／Ｆ
１４  ：プロセッサ
１４１：入出力制御部
１５  ：バス
２    ：会話提供サーバ
２１  ：入出力Ｉ／Ｆ
２２  ：記憶装置
２３  ：通信Ｉ／Ｆ
２４  ：プロセッサ
２４１：会話制御部
２５  ：バス
３    ：ネットワーク
【図１】
2018181018.tif 000003
【図２】
2018181018.tif 000004
【図３】
2018181018.tif 000005
【図４】
2018181018.tif 000006
【図５】
2018181018.tif 000007
【図６】
2018181018.tif 000008
【図７】
2018181018.tif 000009