(57)【要約】  入力メッセージに対して、応答メッセージを自動生成する会話制御プログラムにおいて、時系列順に表示された各メッセージのうち、特定の入力メッセージを他の入力メッセージに変更する指示を受け付けると、前記他の入力メッセージと、前記他の入力メッセージに対する応答メッセージとを時系列順に表示する、処理をコンピュータに実行させる。
2019163079.tif 000002
【特許請求の範囲】
【請求項１】
入力メッセージに対して、応答メッセージを自動生成する会話制御プログラムにおいて、
時系列順に表示された各メッセージのうち、特定の入力メッセージを他の入力メッセージに変更する指示を受け付けると、前記他の入力メッセージと、前記他の入力メッセージに対する応答メッセージとを時系列順に表示する、
処理をコンピュータに実行させることを特徴とする会話制御プログラム。
【請求項２】
前記他の入力メッセージの入力中は、前記特定の入力メッセージに先行するメッセージ及び／又は前記特定の入力メッセージに後続するメッセージを非表示とする制御を行わない、
ことを特徴とする請求項１記載の会話制御プログラム。
【請求項３】
前記他の入力メッセージは、前記特定の入力メッセージ、又は、前記特定の入力メッセージに先行するメッセージに関連づけて記憶される、
ことを特徴とする請求項１記載の会話制御プログラム。
【請求項４】
前記他の入力メッセージと、前記他の入力メッセージに対する応答メッセージとが時系列順に表示される際に、前記特定の入力メッセージに先行する応答メッセージ及び／又は先行する応答メッセージと該先行する応答メッセージに対応する先行する入力メッセージとを表示する、
ことを特徴とする請求項１記載の会話制御プログラム。
【請求項５】
前記他の入力メッセージと、前記他の入力メッセージに対する応答メッセージとが時系列順に表示される際に、前記特定の入力メッセージに先行するメッセージは表示させない、
ことを特徴とする請求項１記載の会話制御プログラム。
【請求項６】
前記他の入力メッセージに対する応答メッセージは、前記他の入力メッセージと、前記特定の入力メッセージに先行するメッセージとに基づいて、生成される、
ことを特徴とする請求項１記載の会話制御プログラム。
【請求項７】
前記他の入力メッセージと、前記他の入力メッセージに対する応答メッセージとを時系列順に表示した後に、前記特定の入力メッセージに対する応答メッセージを含む、前記特定の入力メッセージに後続するメッセージの表示への切り替えを受け付ける、
ことを特徴とする請求項１記載の会話制御プログラム。
【請求項８】
前記切り替えにより表示されるメッセージのうち、前記特定の入力メッセージについて、他の入力メッセージが存在すること示す表示を行う、
ことを特徴とする請求項７記載の会話制御プログラム。
【請求項９】
前記切り替えにより表示されるメッセージのうち、前記特定の入力メッセージについて、他の入力メッセージの数を示す表示を行う、
ことを特徴とする請求項７記載の会話制御プログラム。
【請求項１０】
前記入力メッセージに、
時系列順に表示された各メッセージに含まれる内容と同様の内容が含まれる場合に、前記内容についての応答メッセージを要求するか否かを問い合わせるメッセージを表示させる、
ことを特徴とする請求項１記載の会話制御プログラム。
【請求項１１】
コンピュータによる、入力メッセージに対して、応答メッセージを自動生成する会話制御方法であって、コンピュータが、
時系列順に表示された各メッセージのうち、特定の入力メッセージを他の入力メッセージに変更する指示を受け付けると、前記他の入力メッセージと、前記他の入力メッセージに対する応答メッセージとを時系列順に表示する、
ことを特徴とする会話制御方法。
【請求項１２】
入力メッセージに対して、応答メッセージを自動生成する会話制御装置において、
時系列順に表示された各メッセージのうち、特定の入力メッセージを他の入力メッセージに変更する指示を受け付ける入力受付部と、
前記他の入力メッセージと、前記他の入力メッセージに対する応答メッセージとを時系列順に表示する表示制御部と、
を有することを特徴とする会話制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、会話制御プログラム、会話制御方法及び会話制御装置に関する。
【背景技術】
【０００２】
従来から、人工知能を活用した技術の一つとして、想定される質問に回答する自動会話プログラム（チャットボット）が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２０５５５２号公報
【特許文献２】特開２０１３−６５２７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
人同士の会話では、それぞれが会話の流れを記憶しているため、過去の会話が繰り返された場合でも、既に答えた回答以外の新たな回答をすることができる。これに対し、チャットボットは、過去の会話が繰り返されると過去と同じ回答を返すため、チャットボットから新たな回答を得るためには、過去の会話を遡り、過去の質問の内容を変えて再度質問する必要がある。【０００５】
また、従来では、チャットでの質問と回答は、全て時系列順に表示される。このため、過去の質問を変更した場合、内容が変更された過去の質問とそれに対する回答は、最新の会話として表示され、過去の会話として表示された質問のうち、どの質問から派生したものであるかを表示することができない。【０００６】
１つの側面では、本発明は、チャットの視認性を向上させることを目的としている。
【課題を解決するための手段】
【０００７】
一つ態様では、入力メッセージに対して、応答メッセージを自動生成する会話制御プログラムにおいて、時系列順に表示された各メッセージのうち、特定の入力メッセージを他の入力メッセージに変更する指示を受け付けると、前記他の入力メッセージと、前記他の入力メッセージに対する応答メッセージとを時系列順に表示する、処理をコンピュータに実行させる。【０００８】
上記各処理は、上記各処理を実現する機能部、各処理を実現する手順としても良く、各処理をコンピュータに実行させるプログラムを記憶したコンピュータ読み取り可能な記憶媒体とすることもできる。
【発明の効果】
【０００９】
チャットの視認性を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】第一の実施形態の会話制御システムのシステム構成の一例を示す図である。
【図２】第一の実施形態の会話制御装置のハードウェア構成の一例を示す図である。
【図３】第一の実施形態の会話制御装置の機能を説明する図である。
【図４】第一の実施形態の会話データベースの一例を示す図である。
【図５】第一の実施形態の会話制御装置の動作を説明するフローチャートである。
【図６】第一の実施形態の端末装置の表示例を示す第一の図である。
【図７】第一の実施形態の端末装置の表示例を示す第二の図である。
【図８】第一の実施形態の端末装置の表示例を示す第三の図である。
【図９】第二の実施形態の会話制御装置の機能を説明する図である。
【図１０】第二の実施形態の会話制御装置の動作を説明するフローチャートである。
【図１１】第二の実施形態の端末装置の表示例を示す図である。
【発明を実施するための形態】
【００１１】
（第一の実施形態）
以下に図面を参照して、第一の実施形態について説明する。図１は、第一の実施形態の会話制御システムのシステム構成の一例を示す図である。
【００１２】
本実施形態の会話制御システム１００は、会話制御装置２００と、端末装置３００とを有する。会話制御装置２００と端末装置３００とは、ネットワーク等を介して接続される。
【００１３】
また、本実施形態の会話制御システム１００において、会話制御装置２００は、ボットエンジン４００ともネットワーク等を介して接続され、通信を行う。
【００１４】
ボットエンジン４００は、入力されるメッセージを通じて、自動的に会話を行う自動会話プログラムがインストールされたコンピュータである。メッセージは、音声として入力されても良いし、テキストデータとして入力されても良い。
【００１５】
本実施形態では、ボットエンジン４００は、会話制御装置２００を介して端末装置３００からメッセージが入力されると、このメッセージに対して応答するメッセージを出力する。ボットエンジン４００から出力されたメッセージは、会話制御装置２００を介して端末装置３００に表示される。本実施形態の会話制御システム１００では、このようにして、端末装置３００とボットエンジン４００とのチャットを実現する。尚、チャットとは、インターネットを含むコンピュータネットワーク上のデータ通信回線を利用したリアルタイムのコミュニケーションを意味する。
【００１６】
本実施形態の会話制御装置２００は、会話制御処理部２１０と、会話データベース２２０と、を有する。
【００１７】
本実施形態の会話制御処理部２１０は、端末装置３００とボットエンジン４００との会話を制御する。尚、本実施形態における端末装置３００とボットエンジン４００との会話とは、端末装置３００とボットエンジン４００とのメッセージのやりとりを示す。
【００１８】
本実施形態の会話データベース２２０は、端末装置３００とボットエンジン４００との会話の履歴を示す情報が格納される。
【００１９】
尚、本実施形態では、端末装置３００から入力されるメッセージと、ボットエンジン４００から応答されるメッセージは、音声で示されても良いし、テキストデータで示されても良い。また、本実施形態では、メッセージのやりとりが音声で行われた場合、会話制御装置２００、端末装置３００、又はボットエンジン４００の何れが有する音声認識機能によって、メッセージがテキストデータとされて、端末装置３００に表示される。
【００２０】
以下の説明では、端末装置３００に入力されるメッセージを入力メッセージと呼び、ボットエンジン４００が入力メッセージに応答して出力するメッセージを応答メッセージと呼ぶ。具体的には、例えば、端末装置３００において入力される入力メッセージは、ボットエンジン４００に対する質問であり、ボットエンジン４００から出力される応答メッセージは、質問に対する回答である。
【００２１】
入力メッセージと応答メッセージとを示すテキストデータは、会話の履歴を示す情報として、端末装置３００において、時系列に表示される。
【００２２】
本実施形態の会話制御処理部２１０は、端末装置３００に表示された入力メッセージのうち、ある入力メッセージを他のメッセージに変更する指示を受けると、端末装置３００に、他のメッセージと、他のメッセージに対する応答メッセージとを時系列に表示させる。
【００２３】
言い換えれば、本実施形態は、端末装置３００に表示された会話の履歴を参照して、過去の入力メッセージの内容を変更することで、変更された入力メッセージから会話の履歴を分岐させる。
【００２４】
本実施形態では、このように、過去の会話におけるメッセージ（質問）の内容を変更したところから、会話の履歴を分岐させることで、チャット上の質問と応答をツリー状の履歴として表示させることができ、チャットの視認性を向上させることができる。
【００２５】
以下に、本実施形態の会話制御装置２００について説明する。図２は、第一の実施形態の会話制御装置のハードウェア構成の一例を示す図である。
【００２６】
本実施形態の会話制御装置２００は、それぞれバスＢで相互に接続されている入力装置２１、出力装置２２、ドライブ装置２３、補助記憶装置２４、メモリ装置２５、演算処理装置２６及びインターフェース装置２７を含む。
【００２７】
入力装置２１は、各種の情報の入力を行うための装置であり、例えばキーボードやポインティングデバイス等により実現される。出力装置２２は、各種の情報の出力を行うためものであり、例えばディスプレイ等により実現される。インターフェース装置２７は、ＬＡＮカード等を含み、ネットワークに接続する為に用いられる。
【００２８】
会話制御処理部２２０等を実現する会話制御プログラムは、会話制御装置２００を制御する各種プログラムの少なくとも一部である。会話制御プログラムは例えば記憶媒体２８の配布やネットワークからのダウンロード等によって提供される。会話制御プログラムを記録した記憶媒体２８は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的、電気的或いは磁気的に記録する記憶媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記憶媒体を用いることができる。
【００２９】
また、会話制御プログラムは、会話制御プログラムを記録した記憶媒体２８がドライブ装置２３にセットされると、記憶媒体２８からドライブ装置２３を介して補助記憶装置２４にインストールされる。ネットワークからダウンロードされた会話制御プログラムは、インターフェース装置２７を介して補助記憶装置２４にインストールされる。
【００３０】
補助記憶装置２４は、インストールされた会話制御プログラムを格納すると共に、会話データベース２１０等の必要なファイル、データ等を格納する。メモリ装置２５は、会話制御装置２００の起動時に補助記憶装置２４から会話制御プログラムを読み出して格納する。そして、演算処理装置２６はメモリ装置２５に格納された会話制御プログラムに従って、後述するような各種処理を実現している。
【００３１】
次に、図３を参照して、本実施形態の会話制御装置２００の機能について説明する。図３は、第一の実施形態の会話制御装置の機能を説明する図である。
【００３２】
本実施形態の会話制御装置２００の会話制御処理部２１０は、入力受付部２１１、応答要求部２１２、応答出力部２１３、履歴情報生成部２１４、表示制御部２１５を有する。
【００３３】
入力受付部２１１は、会話制御装置２００に対する各種の情報の入力を受け付ける。具体的には、入力受付部２１１は、端末装置３００において入力された入力メッセージや、端末装置３００において入力されたメッセージの変更指示等を受け付ける。
【００３４】
応答要求部２１２は、入力受付部２１１が受け付けた入力メッセージをボットエンジン４００に送信し、応答メッセージを要求する。
【００３５】
応答出力部２１３は、応答要求部２１２からの要求によってボットエンジン４００から取得した応答メッセージを端末装置３００に出力する。
【００３６】
履歴情報生成部２１４は、会話制御処理部２１０が仲介した会話の履歴を示す履歴情報を生成し、会話データベース２２０に格納する。履歴情報生成部２１４が生成する履歴情報の詳細は後述する。
【００３７】
表示制御部２１５は、端末装置３００における表示を制御する。具体的には、表示制御部２１５は、端末装置３００に表示させる画面データを生成しても良いし、端末装置３００からのアクセスを受けて、画面を表示させるためのデータの格納場所を示す情報を端末装置３００に通知しても良い。
【００３８】
次に、図４を参照して、本実施形態の履歴情報生成部２１４が生成する履歴情報について説明する。図４は、第一の実施形態の会話データベースの一例を示す図である。本実施形態の会話データベース２２０は、例えば、端末装置３００毎に設けられる。
【００３９】
本実施形態の会話データベース２２０は、情報の項目として、会話ＩＤ、シーケンスＩＤ、日時、選択肢、分岐ＩＤ、メッセージ内容を有する。会話データベース２２０では、項目「シーケンスＩＤ」と、項目「日時」、「選択肢」、「分岐ＩＤ」、「メッセージ内容」とが対応付けられており、項目「シーケンスＮｏ．」は、項目「会話ＩＤ」と対応付けられている。本実施形態の履歴情報とは、会話データベース２２０において、項目「会話ＩＤ」の値と、項目「会話ＩＤ」と対応付けられた他の項目の値とを含む情報である。
【００４０】
項目「会話ＩＤ」の値は、端末装置３００がボットエンジン４００との会話を開始してから終了するまでの一連のメッセージのやりとり毎に付与される。
【００４１】
項目「シーケンスＩＤ」の値は、端末装置３００から入力された入力メッセージのそれぞれと、ボットエンジン４００が出力される応答メッセージのそれぞれとを特定するための識別子である。項目「シーケンスＩＤ」の値は、会話制御処理部２１０が入力メッセージと応答メッセージとを受け付ける度に、各メッセージに付与される。
【００４２】
また、本実施形態では、端末装置３００から入力された入力メッセージに対しては、項目「シーケンスＩＤ」の値に「Ｑ」という文字を含め、ボットエンジン４００から出力された応答メッセージの項目「シーケンスＩＤ」の値に「Ａ」という文字を含めても良い。このようにすれば、シーケンスＩＤによって特定されるメッセージが、入力メッセージであるか、応答メッセージであるかを示すことができる。尚、メッセージが入力メッセージであるか、応答メッセージであるかは、他の方法によって特定されても良い。
【００４３】
項目「日時」の値は、対応するシーケンスＩＤによって特定される入力メッセージ又は応答メッセージを会話制御処理部２１０が受け付けた日時を示す。
【００４４】
項目「選択肢」の値は、メッセージに含まれる選択肢を示す。より具体的には、項目「選択肢」の値は、ボットエンジン４００から出力される応答メッセージにおいて、入力メッセージが示す質問の回答としての選択肢を示すものであっても良い。
【００４５】
項目「分岐ＩＤ」の値は、入力メッセージに含まれる質問毎に、この質問に関する入力メッセージ及び応答メッセージに付与される。言い換えれば、項目「分岐ＩＤ」の値は、過去に入力された入力メッセージが変更される度に、異なる値が付与される。
【００４６】
項目「メッセージ内容」の値は、入力メッセージやと応答メッセージの内容を示す。
【００４７】
図４では、例えば、端末ＩＤ「１」の端末装置３００とボットエンジン４００との会話ＩＤ「０１」の会話のうち、シーケンスＩＤ「Ｑ１」の入力メッセージに対して、シーケンスＩＤ「Ａ１」の応答メッセージを受け付けたことがわかる。
【００４８】
また、シーケンスＩＤ「Ａ１」の応答メッセージには、選択肢として「ａ，ｂ，ｃ」が含まれることがわかる。
【００４９】
次に、図５を参照して、本実施形態の会話制御装置２００の動作について説明する。図５は、第一の実施形態の会話制御装置の動作を説明するフローチャートである。
【００５０】
本実施形態の会話制御装置２００は、会話制御処理部２１０の入力受付部２１１により、端末装置３００から入力メッセージを受け付けたか否かを判定する（ステップＳ５０１）。ステップＳ５０１において、入力メッセージを受け付けない場合、会話制御処理部２１０は、入力メッセージを受け付けるまで待機する。
【００５１】
ステップＳ５０１において、入力メッセージを受け付けると、会話制御処理部２１０は、履歴情報生成部２１４により、入力メッセージを含む履歴情報を会話データベース２２０に格納する（ステップＳ５０２）。具体的には、履歴情報生成部２１４は、会話ＩＤを付与し、入力メッセージにシーケンスＩＤと分岐ＩＤとを付与し、入力メッセージと、シーケンスＩＤと、入力メッセージを受け付けた日時を示す情報と、分岐ＩＤとを会話ＩＤと対応付けて履歴情報とし、会話データベース２２０に格納する。
【００５２】
続いて、会話制御処理部２１０は、応答要求部２１２により、ボットエンジン４００に対して応答メッセージの要求を行う（ステップＳ５０３）。会話制御処理部２１０は、ボットエンジン４００から応答メッセージを受信すると、表示制御部２１５により、受信した応答メッセージを端末装置３００の会話用画面に表示させる（ステップＳ５０４）。
【００５３】
続いて、会話制御処理部２１０は、履歴情報生成部２１４により、応答メッセージを含む履歴情報を会話データベース２２０に格納する（ステップＳ５０５）。具体的には、履歴情報生成部２１４は、応答メッセージにシーケンスＩＤと分岐ＩＤを付与し、シーケンスＩＤと、応答メッセージと、応答メッセージを受信した日時を示す情報と、分岐ＩＤとを、ステップＳ５０２で付与された会話ＩＤと対応付けて履歴情報とし、会話データベース２２０に格納する。
【００５４】
尚、このとき、履歴情報生成部２１４は、応答メッセージに選択肢が含まれる場合には、選択肢を抽出し、シーケンスＩＤと対応付けて履歴情報に含める。また、ここで付与される分岐ＩＤは、この応答メッセージに先行して入力された入力メッセージに付与された分岐ＩＤと同じ値である。
【００５５】
続いて、会話制御処理部２１０は、入力受付部２１１により、過去に入力された入力メッセージのうち、特定の入力メッセージの選択を受け付けた否かを判定する（ステップＳ５０６）。ステップＳ５０６において、選択を受け付けない場合、会話制御処理部２１０は、後述するステップＳ５１４へ進む。
【００５６】
ステップＳ５０６において、選択を受け付けた場合、会話制御処理部２１０は、表示制御部２１５により、会話制御処理部２１０から、最初に入力された入力メッセージから、選択された入力メッセージまでの各メッセージを含む履歴情報を会話制御処理部２１０から取得する（ステップＳ５０７）。
【００５７】
続いて、会話制御処理部２１０は、表示制御部２１５により、新たな会話用画面を表示させるためのデータを生成する（ステップＳ５０８）。
【００５８】
続いて、会話制御処理部２１０は、入力受付部２１１により、選択された入力メッセージに対する内容の変更を受け付けたか否かを判定する（ステップＳ５０９）。より具体的には、入力受付部２１１は、選択されたメッセージそのものが変更されたか否かを判定している。
【００５９】
ステップＳ５０９において、内容の変更を受け付けない場合、会話制御処理部２１０は、後述するステップＳ５１５へ進む。
【００６０】
ステップＳ５０９において、内容の変更を受け付けた場合、会話制御処理部２１０は、内容が変更された入力メッセージを含む履歴情報を会話データベース２２０に格納する（ステップＳ５１０）。
【００６１】
このとき、履歴情報生成部２１４は、選択された入力メッセージと対応する分岐ＩＤと値の異なる分岐ＩＤを、内容が変更された入力メッセージと対応付ける。
【００６２】
続いて、会話制御処理部２１０は、応答要求部２１２により、内容が変更された入力メッセージに対する応答メッセージをボットエンジン４００に対して要求する（ステップＳ５１１）。
【００６３】
続いて、会話制御処理部２１０は、表示制御部２１５により、端末装置３００に、内容が変更された入力メッセージを含む新たな会話用画面を表示させ、応答出力部２１３により、ボットエンジン４００から受信した応答メッセージをこの会話用画面に表示させる（ステップＳ５１２）。
【００６４】
続いて、会話制御処理部２１０は、履歴情報生成部２１４により、応答メッセージを含む履歴情報を会話データベース２２０に格納する（ステップＳ５１３）。
【００６５】
ここでは、応答メッセージに付与される分岐ＩＤの値は、内容が変更された入力メッセージに付与された分岐ＩＤと同じ値である。
【００６６】
続いて、会話制御処理部２１０は、入力受付部２１１により、会話の終了の指示を受け付けたか否かを判定する（ステップＳ５１４）。ステップＳ５１４において、会話の終了の指示を受け付けない場合、会話制御処理部２１０は、ステップＳ５０１へ戻る。
【００６７】
ステップＳ５１４において、会話の終了の指示を受け付けた場合、会話制御処理部２１０は、処理を終了する。
【００６８】
ステップＳ５０９において、入力メッセージの変更を受け付けない場合、入力受付部２１１は、先行する応答メッセージに含まれる選択肢において、選択された選択肢が変更されたか否かを判定する（ステップＳ５１５）。具体的には、入力受付部２１１は、例えば、選択された入力メッセージでは、先行して表示された応答メッセージに含まれる選択肢のうち、第一の選択肢を選択していた場合に、第一の選択肢が、他の選択肢に変更されたか否かを判定している。
【００６９】
ステップＳ５１５において、選択肢が変更されない場合、会話制御処理部２１０は、ステップＳ５０９へ戻る。
【００７０】
ステップＳ５１５において、選択肢が変更された場合、会話制御処理部２１０は、応答要求部２１２により、選択肢毎の回答を保持しているか否かを判定する（ステップＳ５１６）。具体的には、応答要求部２１２は、選択された入力メッセージに先行した応答メッセージに含まれる選択肢毎の回答を示す情報を受信済みであるか否かを判定する。
【００７１】
ステップＳ５１６において、選択肢毎の回答を保持していない場合、会話制御処理部２１０は、ステップＳ５１１へ進む。
【００７２】
ステップＳ５１６において、選択肢毎の回答を保持している場合、応答出力部２１３は、新たに選択された選択肢と対応する回答を応答メッセージとして端末装置３００に表示させ（ステップＳ５１７）、ステップＳ５１３へ進む。
【００７３】
このように、本実施形態では、過去の会話において入力された入力メッセージが選択されて、内容が変更されると、新たな会話用画面を生成し、変更された内容に関する会話は、新たな会話用画面に表示させる。
【００７４】
したがって、本実施形態によれば、入力メッセージの内容が変更された会話が分岐される度に、分岐に対応した会話用画面を表示させることで、チャットにおける質問と応答をツリー状の履歴とすることができ、チャットの視認性を向上させることができる。
【００７５】
以下に、本実施形態の端末装置３００に表示例について説明する。図６は、第一の実施形態の端末装置の表示例を示す第一の図である。
【００７６】
図６に示す画面６１は、端末装置３００に表示された会話用画面を示す。画面６１には、入力メッセージ６１１と、入力メッセージ６１１に対する応答メッセージ６１２と、入力メッセージ６１３と、入力メッセージ６１３に対する応答メッセージ６１４とが時系列順に表示されている。また、画面６１には、入力メッセージの入力欄６２１と、入力メッセージの送信するためのボタン６２２とが表示されている。
【００７７】
本実施形態では、入力欄６２１にメッセージが入力され、ボタン６２２が操作されると、入力されたメッセージが入力メッセージとして会話制御装置２００に送信される。
【００７８】
また、本実施形態では、例えば、画面６１において、入力メッセージ６１３が選択され、入力メッセージ６１３の内容が入力メッセージ６１３Ａに変更されると、画面６１が画面６２に遷移する。
【００７９】
画面６２では、入力メッセージ６１３の内容を変更した入力メッセージ６１３Ａが表示されている。本実施形態では、入力メッセージ６１３Ａが会話制御装置２００に送信されると、画面６２には、ボットエンジン４００からの応答メッセージ６１５が入力メッセージ６１３Ａの応答として表示される。
【００８０】
つまり、画面６２は、入力メッセージ６１３Ａに対する応答メッセージ６１５を含む、新たな会話用画面である。
【００８１】
また、図６の画面６２では、入力メッセージ６１３Ａの入力中は、選択された入力メッセージ６１３よりも前に、先行して入力された入力メッセージ６１１、応答メッセージ６１２を、非表示とする。
【００８２】
したがって、本実施形態によれば、画面６２が、入力中の新たな入力メッセージ６１３Ａを表示させる新たな会話用画面であることがわかる。
【００８３】
また、本実施形態では、図６の画面６２において、入力メッセージ６１３Ａや応答メッセージ６１５が表示された後も、過去に入力された入力メッセージ６１１及び応答メッセージ６１２を非表示とする。
【００８４】
本実施形態では、過去に入力されたメッセージ群を非表示することで、画面６２を、入力メッセージ６１３Ａに関する会話用画面とすることができる。
【００８５】
さらに、本実施形態の会話制御装置２００は、端末装置３００において、画面６２をフリックする操作等を受け付けると、端末装置３００に表示された画面６２を画面６１に切り替えても良い。尚、端末装置３００における、画面を切り替えるための操作は、フリックに限定されず、例えば、スワイプする操作であっても良いし、画面の切り替え用に表示されたボタンに対する操作であっても良い。
【００８６】
図７は、第一の実施形態の端末装置の表示例を示す第二の図である。図７では、入力メッセージ６１３Ａが入力された後も、画面６１において入力メッセージ６１３より前に入力され、表示されている入力メッセージ６１１と応答メッセージ６１２を表示させる例を示している。
【００８７】
図７の画面６４では、入力メッセージ６１３Ａと応答メッセージ６１５が表示されており、入力メッセージ６１３Ａに先行して、入力メッセージ６１１と応答メッセージ６１２も表示されている。
【００８８】
図７の例では、入力メッセージ６１３と共に、過去の会話の履歴を示すメッセージ群Ｍ（入力メッセージ６１１、応答メッセージ６１２）が表示されるため、どのような会話の流れがあったかを容易に把握させることができる。
【００８９】
図８は、第一の実施形態の端末装置の表示例を示す第三の図である。図８の例では、画面８１に、入力メッセージ８１１として、「○○市へは何で行く？」という質問が表示されている。
【００９０】
この場合、履歴情報生成部２１４は、入力欄８２１に、に入力メッセージ８１１が入力され、ボタン８２２が操作されると、開始された会話に対して会話ＩＤ「０１」を付与し、入力メッセージ８１１に、シーケンスＩＤ「Ｑ１」、分岐ＩＤ「１」を付与する。そして、履歴情報生成部２１４は、入力メッセージ８１１、入力メッセージ８１１を端末装置３００から受信した日時、シーケンスＩＤ「Ｑ１」、分岐ＩＤ「１」を会話ＩＤ「０１」と対応付けた履歴情報２２１を生成して、会話データベース２２０に格納する（図４参照）。
【００９１】
画面８１では、入力メッセージ８１１に対して、応答メッセージ８１２として、「ａ．電車  ｂ．バス  ｃ．タクシー」が表示されている。
【００９２】
この場合、会話制御処理部２１０の履歴情報生成部２１４は、ボットエンジン４００から受信した応答メッセージ８１２に、シーケンスＩＤ「Ａ１」、分岐ＩＤ「１」を付与する。また、履歴情報生成部２１４は、応答メッセージ８１２から、３つの選択肢「ａ，ｂ，ｃ」を抽出する。そして、履歴情報生成部２１４は、応答メッセージ８１２をボットエンジン４００から受信した日時、シーケンスＩＤ「Ａ１」、選択肢「ａ，ｂ，ｃ」、分岐ＩＤ「１」を会話ＩＤ「０１」と対応付けた履歴情報２２２を生成して、会話データベース２２０に格納する（図４参照）。
【００９３】
また、画面８１では、応答メッセージ８１２に対して、選択肢ａを選択することを示す入力メッセージ８１３が表示されている。
【００９４】
この場合、履歴情報生成部２１４は、入力メッセージ８１３が入力されると、入力メッセージ８１３に、シーケンスＩＤ「Ｑ２」、分岐ＩＤ「１」を付与する。そして、履歴情報生成部２１４は、入力メッセージ８１３、入力メッセージ８１３を端末装置３００から受信した日時、シーケンスＩＤ「Ｑ２」、選択肢「ａ」、分岐ＩＤ「１」を会話ＩＤ「０１」と対応付けた履歴情報２２３を生成して、会話データベース２２０に格納する（図４参照）。
【００９５】
画面８１では、この入力メッセージ８１３に対する応答メッセージ８１４が表示されている。
【００９６】
また、画面８１では、入力メッセージ８１３と対応付けて、マーク８３０が表示されている。マーク８３０は、入力メッセージ８１３が選択されて、入力メッセージ８１３から変更された入力メッセージの数を示している。
【００９７】
画面８１では、マーク８３０は２つのアスタリスクを含む。これは、入力メッセージ８１３を選択して、入力メッセージ８１３を変更した他の入力メッセージが２つあることを示している。言い換えれば、マーク８３０は、入力メッセージ８１３から分岐した別の会話が２種類あることを示している。
【００９８】
画面８２、画面８３は、画面８１において入力メッセージ８１３が選択され、先行する応答メッセージ８１２で提示された３つの選択肢から、選択する選択肢を変更した場合に表示される会話用画面の例である。
【００９９】
画面８２では、選択する選択肢をａからｂに変更した入力メッセージ８１３ａと、入力メッセージ８１３ａに対する応答メッセージ８１５とが表示されている。ここでも、入力メッセージ８１３ａと対応付けてマーク８３０が表示される。
【０１００】
本実施形態の履歴情報生成部２１４は、入力メッセージ８１３ａが入力されると、入力メッセージ８１３ａに、シーケンスＩＤ「Ｑ２′」、分岐ＩＤ「２」を付与する。そして、履歴情報生成部２１４は、入力メッセージ８１３ａ、入力メッセージ８１３ａを端末装置３００から受信した日時、シーケンスＩＤ「Ｑ２′」、選択肢「ｂ」、分岐ＩＤ「２」を会話ＩＤ「０１」と対応付けた履歴情報２２４を生成して、会話データベース２２０に格納する（図４参照）。
【０１０１】
このように、本実施形態では、入力メッセージ８１３から変更された入力メッセージ８１３ａに対して、入力メッセージ８１１に付与された分岐ＩＤの値とは、値の異なる分岐ＩＤを付与する。また、本実施形態では、入力メッセージ８１３ａに対する応答メッセージ８１５についても、分岐ＩＤ「２」を付与する。こ
本実施形態では、このように、選択された入力メッセージから分岐した入力メッセージには、選択された入力メッセージと対応する分岐ＩＤと異なる分岐ＩＤを付与する。また、本実施形態では、異なる分岐ＩＤが付与された入力メッセージ及び応答メッセージを、１つの会話ＩＤで紐付けて格納する。
【０１０２】
したがって、本実施形態の履歴情報は、１つの会話の中で、どの入力メッセージからどのように分岐したのかを示す情報としての役割も果たすことになる。言い換えれば、本実施形態の履歴情報は、会話をツリー状の構造として示すための情報である。
【０１０３】
画面８３では、選択する選択肢をａからｃに変更した入力メッセージ８１３ｂと、入力メッセージ８１３ｂに対する応答メッセージ８１６とが表示されている。ここでも、入力メッセージ８１３ｂと対応付けてマーク８３０が表示される。
【０１０４】
本実施形態では、例えば、画面８１に対するフリック操作を受け付けると、端末装置３００に表示させる画面を画面８１から画面８２に切り替えても良い。また、画面８２に対するフリック操作を受け付けると、フリック操作が示す方向に応じて、端末装置３００に表示させる画面を画面８２から画面８１又は画面８３に切り替えても良い。
【０１０５】
また、本実施形態では、画面８３に対するフリック操作を受け付けると、端末装置３００に表示させる画面を画面８３から画面８２に切り替えても良い。
【０１０６】
また、本実施形態では、変更された入力メッセージに対する応答メッセージは、選択された入力メッセージと、選択された入力メッセージに先行するメッセージとに基づいて、生成されることがわかる。
【０１０７】
尚、図８に示すマーク８３０は、画面に表示されている入力メッセージから分岐された入力メッセージの数と同数のアスタリスクとしたが、これに限定されない。マーク８３０は、例えば、分岐している入力メッセージの数を示す数字であっても良いし、入力メッセージの数を示す数と同数の何らかのマークであっても良い。
【０１０８】
本実施形態では、マーク８３０を表示させることで、どの入力メッセージから会話が分岐しているかを示すことができる。また、本実施形態では、マーク８３０と対応付けて表示されている入力メッセージを選択してフリック操作等を行うことで、この入力メッセージから分岐した他の会話用画面に表示を切り替えることができる。このため、本実施形態によれば、質問と回答の履歴を容易に遡ることができる。
【０１０９】
以上のように、本実施形態によれば、チャットの視認性を向上させることができる。
【０１１０】
（第二の実施形態）
以下に図面を参照して、第二の実施形態について説明する。第二の実施形態では、入力メッセージに、過去の会話の内容が含まれているか否かを判定する点が、第一の実施形態と相違する。よって、以下の第二の実施形態の説明では、第一の実施形態との相違点についてのみ説明し、第一の実施形態と同様の機能構成を有するものには、第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
【０１１１】
図９は、第二の実施形態の会話制御装置の機能を説明する図である。本実施形態の会話制御装置２００Ａは、会話制御処理部２１０Ａを有する。
【０１１２】
本実施形態の会話制御処理部２１０Ａは、入力受付部２１１、応答要求部２１２、応答出力部２１３、履歴情報生成部２１４、表示制御部２１５、内容判定部２１６を有する。
【０１１３】
本実施形態の内容判定部２１６は、入力メッセージに、先行する入力メッセージと応答メッセージの何れかに含まれる内容と同様の内容が含まれるか否かを判定する。
【０１１４】
図１０は、第二の実施形態の会話制御装置の動作を説明するフローチャートである。
【０１１５】
図１０のステップＳ１００１とステップＳ１００２の処理は、図５のステップＳ５０１とステップＳ５０２の処理と同様であるから説明を省略する。
【０１１６】
ステップＳ１００２に続いて、会話制御処理部２１０Ａは、内容判定部２１６により、入力メッセージに、過去の会話の内容が含まれるか否かを判定する（ステップＳ１００３）。具体的には、内容判定部２１６は、新たに入力された入力メッセージに、過去に表示された応答メッセージに含まれる単語と同様の単語が含まれるとき、先行する入力メッセージと応答メッセージの何れかに含まれる内容と同様の内容が含まれると判定しても良い。
【０１１７】
ステップＳ１００３において、過去の会話の内容が含まれない場合、会話制御処理部２１０Ａは、図５のステップＳ５０２へ進む。
【０１１８】
ステップＳ１００３において、過去の会話の内容が含まれる場合、会話制御処理部２１０Ａは、表示制御部２１５により、過去の会話の内容について、再度会話を行うか否かを問い合わせるメッセージを端末装置３００に表示させる（ステップＳ１００４）。具体的には、表示制御部２１５は、内容判定部２１６により、過去のメッセージに含まれると判定された単語について、会話を行うか否かを問い合わせるメッセージを端末装置３００に表示させても良い。
【０１１９】
続いて、会話制御処理部２１０Ａは、履歴情報生成部２１４により、ステップＳ１００４で生成したメッセージにシーケンスＩＤと分岐ＩＤを付与し、シーケンスＩＤと、メッセージと、メッセージを送信した日時を示す情報と、分岐ＩＤとを、ステップＳ１００２で付与された会話ＩＤと対応付けて履歴情報とし、会話データベース２２０に格納する。
【０１２０】
続いて、会話制御処理部２１０Ａは、入力受付部２１１により、端末装置３００からの応答を受け付ける（ステップＳ１００６）。そして、会話制御処理部２１０Ａは、ステップＳ１００５において、過去の内容について会話を行わないことを示す応答を受けた場合、図５のステップＳ５０２へ進む。
【０１２１】
また、会話制御処理部２１０Ａは、ステップＳ１００５において、過去の内容について会話を行うことを示す応答を受けた場合、表示制御部２１５により、新たな会話用画面データを生成する（ステップＳ１００７）。
【０１２２】
続いて、会話制御処理部２１０Ａは、応答要求部２１２により、過去の内容についての応答をボットエンジン４００に対して要求する（ステップＳ１００８）。
【０１２３】
続いて、会話制御処理部２１０Ａは、ボットエンジン４００から応答メッセージを受信すると、応答出力部２１３により、応答メッセージを端末装置３００に表示させ（ステップＳ１００９）、ステップＳ１０１０へ進む。
【０１２４】
ステップＳ１０１０とステップＳ１０１１の処理は、図５のステップＳ５１３とステップＳ５１４の処理と同様であるから、説明を省略する。
【０１２５】
図１１は、第二の実施形態の端末装置の表示例を示す図である。図１１に示す画面１１０は、端末装置３００に表示された会話用画面を示す。画面１１０には、入力メッセージ１１１である「○○について教えて下さい。」と、入力メッセージ１１１に対する応答メッセージ１１２である「○○とは、△と□です。」とが表示されている。また、画面１１０では、入力メッセージ１１３である「□は、・・・ですか？」と、入力メッセージ１１３に対する応答メッセージ１１４である「そうです。」と、が表示されている。
【０１２６】
さらに、画面１１０には、入力メッセージ１１５である「そういえば、△については・・・・」が表示されている。また、画面１１０には、入力欄１２１と送信ボタン１２２とが表示されている。
【０１２７】
画面１１０において、入力メッセージ１１５には、入力メッセージ１１１の応答メッセージ１１２に含まれる「△」という言葉が含まれる。
【０１２８】
したがって、本実施形態では、画面１１０Ａに示すように、入力メッセージ１１５に続いて、過去の会話の内容について、会話を行うか否かを問い合わせるメッセージ１１６を表示させる。画面１１０Ａでは、メッセージ１１６として、「△について会話しますか？」が表示されている。
【０１２９】
この問い合わせに対し、画面１１０Ａでは、入力欄１２１に「はい」と入力されており、ボタン１２２が操作されると、会話制御処理部２１０Ａは、新たな会話用画面である画面１１０Ｂを端末装置３００に表示させる。言い換えれば、本実施形態では、過去の会話の内容について、会話を行うことを示す入力メッセージが入力されると、新たな会話用画面である画面１１０Ｂを端末装置３００に表示させる。
【０１３０】
次に、会話制御処理部２１０Ａは、ボットエンジン４００に対して、「△」についての応答の要求を行い、ボットエンジン４００から取得した応答メッセージ１１７を画面１１０Ｂに表示させる。
【０１３１】
画面１１０Ｂでは、応答メッセージ１１７として、「△とは・・・」というメッセージが表示されており、過去の応答メッセージ１１２で登場した「△」という単語に対しての会話を開始することができる。
【０１３２】
また、本実施形態では、応答メッセージ１１７を含む履歴情報を生成する際に、応答メッセージ１１７に付与される分岐ＩＤの値を、入力メッセージ１１１〜１１６に付与された分岐ＩＤと異なる値となる。
【０１３３】
つまり、本実施形態によれば、入力メッセージに過去の会話の内容が含まれる場合に、この入力メッセージから会話を分岐させるか否かを問い合わせ、分岐させることを示す指示を受けて、会話を分岐させる。
【０１３４】
また、図８の画面１１０Ｂでは、応答メッセージ１１７に先行して表示されている入力メッセージ及び応答メッセージを含むメッセージ群Ｍ１を表示させているが、メッセージ群Ｍ１は、非表示としても良い。
【０１３５】
このようにすれば、過去の会話の内容について、再度会話を行う場合でも、会話の分岐として管理することができる。
【０１３６】
本発明は、具体的に開示された実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１３７】
１００  会話制御システム
２００  会話制御装置
２１０、２１０Ａ  会話制御処理部
２１１  入力受付部
２１２  応答要求部
２１３  応答出力部
２１４  履歴情報生成部
２１５  表示制御部
２１６  内容判定部
２２０  会話データベース
３００  端末装置
４００  ボットエンジン
【図１】
2019163079.tif 000003
【図２】
2019163079.tif 000004
【図３】
2019163079.tif 000005
【図４】
2019163079.tif 000006
【図５】
2019163079.tif 000007
【図６】
2019163079.tif 000008
【図７】
2019163079.tif 000009
【図８】
2019163079.tif 000010
【図９】
2019163079.tif 000011
【図１０】
2019163079.tif 000012
【図１１】
2019163079.tif 000013
【国際調査報告】
2019163079.tif 000014
2019163079.tif 000015
2019163079.tif 000016
2019163079.tif 000017