(57)【要約】【課題】複数の回答が存在する質問に対して、好適な回答を提示できる可能性を高めることができる応答シナリオ生成装置を実現する。【解決手段】情報処理装置（１）であって、制御部（１０）は、入力部（２）から第１の質問文を取得し、上記第１の質問文と、過去の質問に関するデータとを参照して、１又は複数の第２の質問文を特定し、上記１又は複数の第２の質問文のうち、少なくとも何れかを含む応答シナリオを生成する。【選択図】図１
2019128914.tif 000002
【特許請求の範囲】
【請求項１】
入力部と、記憶部と、制御部とを備えている情報処理装置であって、
上記制御部は、
入力部から第１の質問文を取得し、
上記第１の質問文と、上記記憶部が記憶する過去の質問に関するデータとを参照して、上記第１の質問文に関連した１又は複数の第２の質問文を特定し、
上記１又は複数の第２の質問文のうち、少なくとも何れかを含む応答シナリオを生成する
ことを特徴とする情報処理装置。
【請求項２】
上記応答シナリオは、
上記１又は複数の質問文に対応する１又は複数の回答文の少なくとも何れかを葉ノードとして含む木構造である
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
上記制御部は、
上記第２の質問文のそれぞれが、上記第１の質問文に対する関連度が高いほど、ユーザに対して優先的に提示されるように応答シナリオを生成する
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
上記制御部は、
上記記憶部が記憶する過去の質問に関するデータを参照して、ユーザによる質問の頻度が他の質問文よりも高い頻出質問文を特定し、
上記頻出質問文が、ユーザに対して優先的に提示されるように応答シナリオを生成する
ことを特徴とする請求項１から３までの何れか１項に記載の情報処理装置。
【請求項５】
装置によって実行される応答シナリオ生成方法であって、
第１の質問文を取得する取得ステップと、
上記第１の質問文と、過去の質問に関するデータとを参照して、上記第１の質問文に関連した１又は複数の第２の質問文を特定する特定ステップと、
上記１又は複数の第２の質問文のうち、少なくとも何れかを含む応答シナリオを生成する生成ステップと
を含むことを特徴とする応答シナリオ生成方法。
【請求項６】
請求項１から４までの何れか１項に記載の情報処理装置としてコンピュータを機能させるための制御プログラムであって、上記制御部としてコンピュータを機能させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の一様態は、情報処理装置、応答シナリオ生成方法、及び制御プログラムに関する。
【背景技術】
【０００２】
従来、ユーザの質問に対して、対応する回答を提示できる装置が存在する。また、対応する回答が存在しない場合に、上記質問と関連度が高い回答を選択し、提示可能な技術が公知である。
【０００３】
以下の特許文献１では、ユーザの問合わせに対して、類似度が高い過去の質問の回答を、当該問合わせに対する回答として生成する回答自動生成システムが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２５２４８４号公報（２０１２年１２月２０日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述のような従来技術は、ユーザの質問に対して複数の回答が想定される場合に、ユーザが求めている回答だけを提示することが難しいという問題がある。
【０００６】
本発明の一様態は、上記の問題に鑑みてなされたものであり、複数の回答が存在する質問に対して、好適な回答を提示できる可能性を高めることができる情報処理装置を実現することを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明の一態様に係る情報処理装置は、入力部と、記憶部と、制御部とを備えている情報処理装置であって、上記制御部は、入力部から第１の質問文を取得し、上記第１の質問文と、上記記憶部が記憶する過去の質問に関するデータとを参照して、上記第１の質問文に関連した１又は複数の第２の質問文を特定し、上記１又は複数の第２の質問文のうち、少なくとも何れかを含む応答シナリオを生成する。
【発明の効果】
【０００８】
本発明の一態様によれば、複数の回答が存在する質問に対して、好適な回答を提示できる可能性を高めることができる情報処理装置を実現できる。
【図面の簡単な説明】
【０００９】
【図１】実施形態１に係る応答シナリオ生成装置の機能ブロック図である。
【図２】実施形態に係る処理の流れを示すフローチャートである。
【図３】応答シナリオ生成装置が備える各部材間におけるデータの流れを示す図である。
【図４】質問文等の文例、話題語、述語、及び当該話題語が属するカテゴリの一例を示す図である。
【図５】質問文等の文例、話題語、述語、及び当該話題語が属するカテゴリの一例を示す図である。
【図６】応答シナリオ生成処理に係るスタックの一例を示す図である。
【図７】質問及び回答の一例並びに単文及び話題語の一例を示す図である。
【図８】補足質問文と、想定される答えとの一例を示す図である。
【図９】チャットボットの動作例を示す図である。
【図１０】応答シナリオのデータ構造の一例を示す図である。
【図１１】応答シナリオを示す木構造の一部の一例を示す図である。
【図１２】話題語、関連度、関連文の数、及びカテゴリの一例を示す図である。
【図１３】実施形態２に係る処理を示す概略図である。
【図１４】応答シナリオ生成装置またはサーバとして利用可能なコンピュータの構成を例示したブロック図である。
【発明を実施するための形態】
【００１０】
本発明の実施形態について、図１〜図１４に基づいて説明すれば以下の通りである。
【００１１】
〔実施形態１〕
以下、本発明の一実施形態について、図１〜図１２に基づいて説明する。
【００１２】
本実施形態においては、応答シナリオ生成装置１（情報処理装置１）が、応答シナリオを生成する構成の一例について説明する。
【００１３】
〔１．応答シナリオ生成装置１の構成〕
図１に基づいて本実施形態に係る応答シナリオ生成装置１の構成について説明する。応答シナリオ生成装置１は、ユーザの質問（第１の質問文）に対する回答（回答文）を提示するまでの応答シナリオを生成する装置である。ここで、応答シナリオとは、入力されるユーザの質問に対して、問いかけを行い、上記問いかけに対するユーザの返答に対して、更なる問いかけ又は当該ユーザの質問に対する回答を行う手順を規定したデータ又はデータ構造自体を意味する。応答シナリオのデータ構造は、例えば木構造であり、節に位置するノードが、問いかけに対応し、節に位置するノードからの枝が、ユーザの返答に対応し、葉ノードが、上述した回答に対応する。また、根ノードは、当該ユーザからの質問でもよいし、当該質問に対して最初になされる問いかけでもよい。なお、応答シナリオの一例については後述する。
【００１４】
図１は、本実施形態に係る応答シナリオ生成装置１の機能ブロック図である。図１に示す通り、応答シナリオ生成装置１は、取得部２（入力部２）、制御部１０、記憶部４、及び出力部３を備えている。
【００１５】
取得部２は、ユーザからの質問文、又は問いかけに対するユーザの返答を取得する。また、取得部２は、マイク又はキーボード等の入力デバイスを備えていてもよい。制御部１０は、応答シナリオ生成装置１全体を統括する制御装置であって、質問文解析部１１、関連文選択部１２、質問文生成部１３、及びシナリオ生成部１４を備えている。
【００１６】
質問文解析部１１は、入力されたユーザの質問文から話題語と当該話題語に対応する述語とを抽出する。上述した話題語についての詳細は後述する。関連文選択部１２は、入力された検索ワードに応じた関連文であって、質問文に関連する関連文を抽出する。質問文生成部１３は、関連文選択部１２が抽出した関連文から、ユーザへの質問文である補足質問文（第２の質問文）を生成する。
シナリオ生成部１４は、ユーザの質問文から回答文までのシナリオを生成する。
【００１７】
記憶部４は、各種データを保存する記憶装置である。出力部３は、ユーザに対する質問又は回答を提示又は出力する。また、出力部３は、表示パネル又はスピーカを備えていてもよい。
【００１８】
なお、応答シナリオ生成装置１が備える各部材は単数であることに限定されず、各部材を複数備える構成でもよい。
【００１９】
〔２．処理の流れ〕
本実施形態における処理の流れについて図１〜図１４に基づいてステップごとに説明する。図２は、本実施形態に係る処理の流れを示すフローチャートである。また、図３は、応答シナリオ生成装置１が備える各部材間におけるデータの流れを示す図である。
【００２０】
（Ｓ１０１）
ステップＳ１０１において、取得部２は、ユーザからの質問文を取得する。当該質問文のデータ形式は、例えば音声形式等の任意の形式でよい。また、当該質問文の取得元は特定の場所に限定されない。当該データがテキストデータ以外のデータである場合には、取得部２が、又は後述するステップＳ１０２において制御部１０が、当該データをテキストデータに変換する。取得部２は、ユーザからの質問文を制御部１０に出力する。
【００２１】
（Ｓ１０２）
続いて、ステップＳ１０２において、質問文解析部１１は、入力された質問文から、当該質問文の主語または目的語である話題語と、当該話題語に対応する述語とを抽出する。
【００２２】
質問文解析部１１は、例えば形態素解析等を用いて、当該質問文を単語毎に分解し、話題語と述語とを抽出する。また、質問文解析部１１は、記憶部４を参照して、分解した各単語に対して、ふりがなを付してもよい。また、各単語に対し、何れのカテゴリに属するかの属性を設定してもよい。また、図４及び図５は、質問文等の文例、話題語、述語、及び当該話題語が属するカテゴリの一例を示す図である。
【００２３】
一例として、質問文が「電源を入れても画面が映らない」という文である場合、話題語は「画面」、述語は「映らない」となる。話題語及び述語は質問文の主節の主語または目的語、及び述語である。なお、末尾が否定語になっている動詞を述語とし、対応する主語を話題語として特定する構成でもよい。また、質問文解析部１１は、例えば「〜〜は〜〜であるが」という、末尾が逆接となっている節は従属節と判断してもよい。
【００２４】
上述したように、質問文解析部１１（制御部１０）は、ユーザの質問文（第１の質問文）から形態素解析によりキーワード、つまり話題語及び述語を抽出する。
また、質問文解析部１１は、話題語及び述語の類義語や同義語、略語、通称など（以下、関連語と呼ぶ）を記憶部４から取得する。例えば、話題語「画面」の同義語としては、「スクリーン」等が挙げられる。
【００２５】
なお、当該質問文に主語または目的語、つまり話題語となる単語が含まれていない場合、質問文解析部１１は、話題語の抽出を行わない。
【００２６】
（Ｓ１０３）
続いて、ステップＳ１０３において、制御部１０は、応答シナリオ生成処理における履歴を取得する。
【００２７】
図６は、応答シナリオ生成処理に係るスタックの一例を示す図である。当該履歴を示すデータは、記憶部４に格納された、図６に示すようなスタックにより実現される。図６のスタックにおいて、最も上位に格納されたデータ、換言すると最後に格納されたデータが、応答シナリオ生成処理において、次いでなされる処理の対象となるデータを表す。また、本ステップＳ１０３への遷移が１回目である場合においては、当該スタックにデータは格納されていない状態である。
【００２８】
（Ｓ１０４）
続いて、ステップＳ１０４において、制御部１０は、ステップＳ１０３において上述したスタックを参照し、応答シナリオ生成処理の現時点においてなされている処理が、ユーザに対する質問及び返答に係る一連の処理の途中であるか否かを判定する。上述した、処理の途中である状態とは、具体的には、例えば図６に示す例において、「電源ランプは点滅していますか」という問い返しに対するユーザの返答が「はい」と「いいえ」とが存在する場合において、「いいえ」に対応する回答を設定する処理が終了しており、「はい」に対応する回答をまだ設定していない場合等が挙げられる。
【００２９】
（Ｓ１０５）
ステップＳ１０５において、質問文解析部１１は、入力された質問文に、当該質問文の話題語が含まれているか否かを判定する。当該質問文に話題語が含まれている場合、質問文解析部１１は、ステップＳ１０２において上述した話題語、述語、及び当該話題語及び述語の関連語を検索ワードとして、関連文選択部１２に出力する。そしてステップＳ１０７へ遷移する。
【００３０】
当該質問文に話題語が含まれていない場合は、ステップＳ１０８へ遷移する。
【００３１】
（Ｓ１０６）
ステップＳ１０６において、制御部１０は、ステップＳ１０４において上述した、途中の処理を行う為の巻き戻しを行う。具体的には、例えば図６に示す例において、制御部１０は、ユーザからの返答候補である「はい」を示すデータと、対応する問い返しである「電源ランプは点滅していますか」を示すデータとをスタックから取り除き、以降の処理に用いる。
【００３２】
（Ｓ１０７）
ステップ１０７において、関連文選択部１２は、ユーザの質問文に関連する関連文を抽出する。
【００３３】
当初より記憶部４には、関連文の候補となる質問であって、ユーザからの、想定し得る質問と、各質問に対する回答とが、例えばＭｙＳＱＬ（登録商標）を用いたデータベース形式で格納されているものとする。
【００３４】
ステップＳ１０５において上述した検索ワードが、「画面」、「スクリーン」、及び「映らない」である場合、関連文選択部１２は、「画面」又は「スクリーン」を含み、且つ「映らない」を含む質問を、上記データベースから抽出する。
【００３５】
図７の（ａ）は、上述した検索ワードを用いて、関連文選択部１２が抽出した質問及び回答の一例を示す図である。（ａ）に示すように、各質問項目はそれぞれ上記検索ワードに由来する、画面が映らない旨の文章を含んでいる。
【００３６】
関連文選択部１２は、（ａ）の各質問項目から、上記文章つまり画面が映らない旨の記載を除いた単文と、当該単文の話題語とを抽出する。図７の（ｂ）は、単文と話題語との一例を示す図である。なお、当該単文及び話題語の抽出は、ステップＳ１０２において説明したような、例えば形態素解析等による方法を用いてもよい。
【００３７】
関連文選択部１２は、ユーザの質問文の話題語と（ｂ）の話題語それぞれとの関連度を算出する。
【００３８】
関連文選択部１２が、上記関連度を算出する方法は特定の方法に限定されない。例えば、ステップＳ１０２において上述したような、単語に割り当てるカテゴリが階層構造を有しており、関連文選択部１２は、各単語に割り当てられたカテゴリに基づき、階層構造において一方のカテゴリから他方のカテゴリへ到達するまでのパス数から関連度を算出してもよい。あるいは、関連文選択部１２は、各単語をベクトル化して、ベクトル空間における各々の距離を算出し、当該距離に応じて関連度を設定する構成でもよい。
【００３９】
関連文選択部１２は、上記関連度が最も高い話題語を含む単文、例えば（ｂ）の「電源ランプは点滅する。」を質問文生成部１３に出力し、当該単文に対応する質問である「画面が映らない。電源ランプは点滅する。」に対する回答である「点検が必要です。」を、シナリオ生成部１４に出力する。
【００４０】
なお、本ステップＳ１０７へ遷移するのが２回目以降である場合には、関連文選択部１２は、前回までに用いた検索ワードに加え、スタックを介してフィードバックされた後述する補足質問文の話題語、述語、若しくはそれらの関連語、又はそれらの組み合わせを抽出し、検索ワードとして用いても構わない。
【００４１】
また、ステップＳ１０６から本ステップへ遷移した場合であって、ユーザの返答候補に対してなされるべき回答が存在する場合には、関連文を抽出する必要は無い。例えば、ユーザに対する問い返しである「電源ランプは点滅していますか」に対する回答候補「はい」に対する応答を設定する場合、即ち「画面が映らない。電源ランプは点滅する。」場合には、図７の（ａ）に示すように「点検が必要です。」という回答が適切であるので、当該回答をシナリオ生成部１４に出力する。
【００４２】
本ステップにおいて上述した処理を行い、続いて、ステップＳ１０９へ遷移する。
【００４３】
（Ｓ１０８）
ステップＳ１０８において、制御部１０は、予め設定された所定の回答をシナリオ生成部１４に出力する。当該回答の一例としては、例えば「質問が解析できませんでした。」等の回答が挙げられる。
【００４４】
（Ｓ１０９）
ステップＳ１０９において、シナリオ生成部１４は、入力されたデータに応じた判定を行う。入力されたデータが、回答文、つまり図７の（ａ）における回答である場合は、ステップＳ１１０へ遷移し、入力されたデータが、ステップＳ１０７において上述した単文である場合はステップＳ１１１へ遷移する。
【００４５】
（Ｓ１１０）
ステップＳ１１０において、シナリオ生成部１４は、処理対象である、ユーザの返答に対する回答を取得する。ユーザの返答に対する回答とは、例えば図７の（ａ）における回答に示す項目である。
【００４６】
（Ｓ１１１）
ステップＳ１１１において、質問文生成部１３は、入力された関連文（単文）から、ユーザに対する質問である補足質問文と、当該補足質問文に対して想定される答えとを生成する。図８は、補足質問文と、想定される答えとの一例を示す図である。
【００４７】
なお、質問文生成部１３が入力された関連文から補足質問文を生成する方法、換言すると、当該関連文を質問形式に変換する方法は、特定の方法に限定されない。例えば、記憶部４が、動詞と当該動詞の疑問形との対応関係を記録したデータベースを有しており、質問文生成部１３が、上記データベースを参照して補足質問文を生成する構成でもよい。
【００４８】
質問文生成部１３は、生成した補足説明文と、当該補足説明文に対して想定される答えとをシナリオ生成部１４へ出力する。なお、図３における質問文生成部１３から関連文選択部１２へのフィードバックは、ステップＳ１０３において上述したスタックを介して間接的に行われる。
【００４９】
また、本ステップまでの処理を行うことにより、ユーザの質問に対して問いかけを行うチャットボットを実現することができる。図９は、上述したチャットボットの動作例を示す図である。図９に示すチャットボットは、Ｑ＆Ａデータ、つまり想定されるユーザの質問と、当該質問に対応する回答とを参照し、ユーザの質問に対して問いかけを行うことができる。また、図６に示すスタックにおけるチャットボット１とは、上述した動作に由来する記載である。
【００５０】
（Ｓ１１２）
ステップＳ１１２において、シナリオ生成部１４は、ステップＳ１１０において上述した回答、又はステップＳ１１１において上述した補足質問文を応答シナリオに追加する。
【００５１】
図１０は、シナリオ生成部１４が生成する応答シナリオのデータ構造の一例を示す図である。
【００５２】
図１０に示すように、応答シナリオのデータ構造は、ユーザの質問文を根ノードとし、各回答を葉ノードとする木構造となっている。なお、ユーザの質問文に直接接続された、最初の補足質問文を根ノードと解釈してもよい。回答又は質問文を応答シナリオに追加するとは、図１０により例示する木構造において、処理対象であるユーザの返答を示す枝に対して、回答又は質問文を示すノードを接続すると言い換えることもできる。
【００５３】
また、ユーザの質問文に対して高い関連度を有する補足質問文ほど、応答シナリオの浅い位置のノードに配置されることになる。換言すると、制御部１０（応答シナリオ生成装置１）は、第２の質問文（補足質問文）のそれぞれが、第１の質問文（ユーザの質問文）に対する関連度が高いほど、ユーザに対して優先的に提示されるように応答シナリオを生成する。上記の構成によれば、第１の質問文（ユーザの質問文）に関連した順にユーザに対する問いかけが行われることとなり、ユーザが混乱しづらくなる効果を奏する。
【００５４】
また、木構造が所定の深さになっても適切な回答が該当しない場合には、例えば、図１０のノード３２に対応するデフォルトの回答「サポートまでお問い合わせください」のように、予め設定された回答を応答シナリオに追加する。
【００５５】
（Ｓ１１３）
続いて、ステップＳ１１３において、制御部１０は、記憶部４に格納されたスタックを、現時点における処理を示すように更新する。
【００５６】
（Ｓ１１４）
続いて、ステップＳ１１４において、シナリオ生成部１４は、応答シナリオが完成したか否かを判定する。
【００５７】
なお、応答シナリオが完成した状態とは、例えば図１０のように、応答シナリオを示す木構造の全ての葉ノードに、ユーザに対する回答が設定された状態を意味する。
【００５８】
また、応答シナリオは、上記応答シナリオに含まれるステップＳ１０７において上述した１又は複数の質問文に対応する１又は複数の回答文の少なくとも何れかを葉ノードとして含む木構造であるとも言える。
上記の構成によれば、情報処理装置１（応答シナリオ生成装置１）は、当該葉ノードに対応する回答文に至る応答シナリオを生成できる。応答シナリオが完成した場合は、ステップＳ１１５へ遷移し、完成していない場合は、ステップＳ１０３へ遷移する。
【００５９】
（Ｓ１１５）
ステップＳ１１５において、応答シナリオ生成装置１は、完成した応答シナリオを用いて、ユーザの質問に対して順次問いかけを行い、回答を提示する。具体的には、出力部３が、図１０に示した各質問文を順にユーザに対して問いかけを行い、取得部２がユーザの返答を取得する工程を、図１０の葉ノードに位置する回答を行うまで繰り返す。出力部３が表示パネルを備える場合には、各補足質問文及び回答を画面に表示し、出力部３がスピーカを備える場合には、各補足質問文及び回答を音声データに変換してユーザに対する問いかけ又は回答を行う。
【００６０】
上述したように、本実施形態に係る情報処理装置１（応答シナリオ生成装置１）は、入力部２（取得部２）と、記憶部４と、制御部１０とを備えている情報処理装置１であって、制御部１０は、入力部２から第１の質問文（ユーザの質問文）を取得し、上記第１の質問文と、記憶部４が記憶する過去の質問に関するデータとを参照して、上記第１の質問文に関連した１又は複数の第２の質問文（補足質問文）を特定し、上記１又は複数の第２の質問文のうち、少なくとも何れかを含む応答シナリオを生成する。
【００６１】
上記の構成によれば、複数の回答が存在する質問に対して、好適な回答を提示できる可能性を高めることができる応答シナリオ生成装置１を実現できる。
【００６２】
＜実施形態１に係る付記事項＞
取得部２又は質問文解析部１１は、前処理として、入力されたユーザの質問文から例えば感嘆詞等の不用な語を除去してもよい。
【００６３】
ステップＳ１０２において、質問文解析部１１が、入力された質問文から抽出する単語は、必ずしも主語と述語との組み合わせでなくともよい。例えば、目的語と述語との組み合わせであってもよい。
【００６４】
また、ステップＳ１０７において、関連文選択部１２が抽出した関連文が、例えば２個又は３個と少ない場合には、続いて、応答シナリオ生成装置１は、図７の（ａ）に示すような、関連文（質問）と当該関連文に対応する回答とをユーザに対して提示する構成でもよい。
【００６５】
また、必ずしも応答シナリオ生成装置１が、応答シナリオを用いてユーザへの質問の問いかけと回答の提示とを行う構成、つまり実施形態１のステップＳ１１５において上述したような構成であることを要しない。例えば、制御部１０が、応答シナリオを図１には図示しない外部の装置へ出力部３を介して出力し、上記装置が、応答シナリオを用いてユーザへの質問の問いかけと回答の提示とを行う構成でもよい。
【００６６】
また、応答シナリオ生成装置１は、応答シナリオの生成と並行して出力部３を介してユーザへの回答又は質問の問いかけを行ってもよい。換言すると、応答シナリオ生成装置１は、応答シナリオが完全に完成するよりも先に、生成済みの部分を用いてユーザへの回答又は質問の問いかけを行う構成でもよい。
【００６７】
また、関連文選択部１２は、ユーザの質問文に関連する複数の関連文であって、優先度が付与された複数の関連文を質問文生成部１３にまとめて出力し、当該複数の関連文と対応する複数の回答をシナリオ生成部１４にまとめて出力してもよい。上記の構成においては、シナリオ生成部１４は、関連文選択部１２から入力された複数の回答と、質問文生成部１３から入力された複数の補足質問文及び当該補足質問文に対して想定される答えとから応答シナリオをまとめて生成する。シナリオ生成部１４は、補足質問文、つまり疑問形に修正された関連文の優先度を参照して、当該優先度が高い補足質問文ほど早い段階でユーザに対して問いかけが行われるように応答シナリオを生成する。換言すると、シナリオ生成部１４は、当該優先度が高い補足質問文ほど、応答シナリオを示す木構造において浅い位置のノードに対応付けを行う。
【００６８】
また、制御部１０が、記憶部４から取得する各種データは、取得部２を介して当該各種データを格納する外部サーバから取得する構成でもよい。
【００６９】
また、応答シナリオを示す木構造において、補足質問文を示すノードの子ノードに、必ずしもユーザに対する回答を示すノードが含まれない構成でもよい。図１１は、応答シナリオを示す木構造の一部の一例を示す図である。図１１に示すように、「音声は出ますか？」という補足疑問文を示すノードに対しては、他の補足疑問文を示すノード２つが接続されている。また、図１１に示す応答シナリオを生成する過程において、関連文選択部１２は、例えば「音声」及び「出る」を検索ワードに含む検索結果からノード４２に対応する関連文を、「音声」及び「出ない」を検索ワードに含む検索結果からノード４３に対応する関連文を選択しても構わない。
【００７０】
また、例えば、図１１に示す応答シナリオにおいて、ノード４１に対して接続する補足質問文を選択する場合に、関連文選択部１２は、多くの関連文に含まれる話題語を含む関連文のうち、１つを選択する構成でもよい。図１２は、話題語、ステップＳ１０７において上述した関連度（ｓｃｏｒｅ）、当該話題語が含まれる関連文の数、及び当該話題語が属するカテゴリの一例を示す図である。関連文選択部１２は、関連度、含まれる関連文の数、又はその両方を参照して話題語を選択、即ち当該話題語を含む関連文を選択してもよい。
【００７１】
また、ステップＳ１１１において上述した補足質問文と、当該補足質問文に対して想定される答えとは、図２のフローチャートに基づく処理とは別に、質問文生成部１３が事前に生成して記憶部４に格納する構成でもよい。上記の構成の場合、制御部１０が、ステップＳ１１１に相当する処理において、当該補足質問文と、当該補足質問文に対して想定される答えとを参照して以降の処理に用いる。
【００７２】
なお、上述した各付記事項は、後述する各実施形態に対しても適宜の適用が可能である。
【００７３】
〔実施形態２〕
本発明の第２の実施形態について、図１、図７、及び図１３に基づいて以下に説明する。なお便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、説明を省略する。
【００７４】
本実施形態においては、応答シナリオ生成装置１が、所謂「よくある質問（頻出質問文）」を抽出する構成についてステップごとに説明する。なお、図１３は、本実施形態に係る処理を示す概略図である。
【００７５】
本実施形態においても図１に示す構成を用いる。ただし、質問文解析部１１は、以下、本実施形態において示す処理を行う機能を有する。
【００７６】
（Ｓ２０１）
ステップＳ２０１において、質問文解析部１１は、記憶部４から図７の（ａ）に示すような、質問と回答との対を示すデータを取得する。なお、当該データは、例えばユーザにより、応答シナリオ生成装置１に入力されるような構成でもよい。次いで質問文解析部１１は、取得した全質問を形態素解析により単語毎に分割し、そのうち特定の品詞、例えば名詞及び動詞等の単語だけを抽出する。なお、本ステップ及び以降のステップの一部又は全部においては、必ずしも各処理を行うのが質問文解析部１１であるということを要しない。なお、本ステップにおける処理は、図１３における前処理に相当する。
【００７７】
（Ｓ２０２）
続いて、ステップＳ２０２において、質問文解析部１１は、ステップＳ２０１において抽出した単語毎に識別子となるＩＤを付与する。上記の場合において、出現頻度が所定の数よりも少ない単語は、以降の処理に用いない構成でもよい。なお、本ステップから後述するステップＳ２０６までの処理は、図１３におけるクラスタリングに相当する。
【００７８】
（Ｓ２０３）
続いて、ステップＳ２０３において、質問文解析部１１は、ステップＳ２０２においてＩＤを付与した単語が、各質問中において出現する回数をカウントする。次いで質問文解析部１１は、質問毎に、各単語の出現回数を要素とするベクトルを生成する。また、当該ベクトルの生成においては、例えばＴＦ−ＩＤＦ（Term Frequency-Inverse Document Frequency）による重みづけを行っても構わない。
【００７９】
（Ｓ２０４）
続いて、ステップＳ２０４において、質問文解析部１１は、ステップＳ２０３において生成した各質問に対応するベクトルを、クラスタリングにより所定の数のグループに分類する。なお、上述したクラスタリングにおいては、例えば、「コンピュータ」と「プログラム」とのように高い共起関係にある単語をそれぞれ含む質問を同じグループに分類してもよいし、あるいは、階層クラスタリング等の任意の手法を用いてよい。
【００８０】
（Ｓ２０５）
続いて、ステップＳ２０５において、質問文解析部１１は、ステップＳ２０４において上述したグループ毎に、当該グループを代表する複数の単語を抽出する。なお、質問文解析部１１が当該単語を抽出する過程においては、各グループにおける中心ベクトルを参照し、より中心に近い単語を順に選択する構成でもよい。上記の構成においては、グループ内に含まれる単語のベクトルの平均や重心等を中心ベクトルとして用いる。
【００８１】
（Ｓ２０６）
続いて、ステップＳ２０６において、質問文解析部１１は、ステップＳ２０５において抽出した複数の単語を組み合わせる。なお、各単語の組み合わせ方は全単語の組でもいいし、あるいは名詞と動詞との組であってもよい。質問文解析部１１は、各単語の組合せを含む質問の数が多い組み合わせを選択し、当該組み合わせを含む質問のうち１つをよくある質問として選択する。具体的な例を挙げると、対象となるグループ内において、含まれる質問の数が多い単語の組み合わせが「ランプ、点滅」である場合、質問文解析部１１は、当該グループに含まれる「ランプが点滅している」「電源ランプ点滅」「ランプが点滅し、動かない」等の質問のうち何れか１つをよくある質問として選択する。以上が本実施形態における処理の流れである。なお、図１３における応答シナリオ生成とは、当該よくある質問を用いた応答シナリオ生成処理であって、実施形態１において上述した応答シナリオ生成処理を意味する。
【００８２】
本実施形態において上述したよくある質問の抽出と、実施形態１において上述した応答シナリオの生成とを複合させることにより、応答シナリオ生成装置１は、よくある質問に対する応答シナリオを予め準備することができる 。上記の場合においては、応答シナリオ生成装置１は、ユーザの質問を生成済みの何れかの応答シナリオに対応付けることにより、速やかにユーザに対する応答シナリオの提示を行うことができる。
【００８３】
また、応答シナリオ生成装置１は、本実施形態において生成した応答シナリオの根ノードに対応するよくある質問を疑問形に適宜修正し、別の応答シナリオの一部として使用する構成でもよい。上記の構成においては、上記よくある質問に対応するノードを、当該応答シナリオのなるべく浅い位置に優先的に配置してもよい。
【００８４】
制御部１０（応答シナリオ生成装置１）は、記憶部４が記憶する過去の質問に関するデータを参照して、ユーザによる質問の頻度が他の質問文よりも高い頻出質問文（よくある質問）を特定し、上記頻出質問文が、ユーザに対して優先的に提示されるように応答シナリオを生成してもよい。
【００８５】
上記の構成においても、応答シナリオ生成装置１は、速やかにユーザに対する応答シナリオの提示を行うことができる。
【００８６】
〔実施形態３〕
本発明の第３の実施形態について、図１に基づいて以下に説明する。なお便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、説明を省略する。
【００８７】
本実施形態においては、応答シナリオを生成する処理が、サーバ上で実現される構成について説明する。
【００８８】
本実施形態においても図１に示す構成を用いる。ただし、図１には図示しない端末装置であって、ユーザと相対する端末装置とは別のサーバが、応答シナリオ生成装置１を備える。あるいは、応答シナリオ生成装置１自体が、クライアントである上記端末装置に対するサーバとして機能する構成でもよい。また、本実施形態において、取得部２及び出力部３は、当該端末装置等の外部の装置との通信処理を行う機能を有する。以下、本実施形態と実施形態１との相違点について説明する。
【００８９】
本実施形態においては、実施形態１のステップＳ１０１に相当する工程において、取得部２は、クライアントである端末装置からネットワークを介してユーザの質問文を取得する点が、実施形態１とは異なる。また、ステップＳ１１５においては、出力部３は、上記端末装置又はその他の装置に対してネットワークを介してシナリオ生成部１４が生成した応答シナリオを出力し、上記端末装置又はその他の装置が、上記応答シナリオを用いてユーザに対する回答及び各質問の問いかけを行う。
【００９０】
上記の構成によれば、クライアントである端末装置が特に複数である場合に、端末装置の各々が、応答シナリオ生成装置１が有する各部材を備えずとも、実施形態１と同様な効果を奏し、ハードウェア構成を簡略化することができる。
【００９１】
〔実施形態４〕
実施形態３では、１つのサーバを用いる例を説明したが、サーバの有する各機能が、個別のサーバにて実現されていてもよい。そして、複数のサーバを適用する場合においては、各サーバは、同じ事業者によって管理されていてもよいし、異なる事業者によって管理されていてもよい。
【００９２】
〔実施形態５〕
応答シナリオ生成装置１およびサーバの各ブロックは、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ソフトウェアによって実現してもよい。後者の場合、応答シナリオ生成装置１およびサーバのそれぞれを、図１４に示すようなコンピュータ（電子計算機）を用いて構成することができる。
【００９３】
図１４は、応答シナリオ生成装置１またはサーバとして利用可能なコンピュータ９１０の構成を例示したブロック図である。コンピュータ９１０は、バス９１１を介して互いに接続された演算装置９１２と、主記憶装置９１３と、補助記憶装置９１４と、入出力インターフェース９１５と、通信インターフェース９１６とを備えている。演算装置９１２、主記憶装置９１３、および補助記憶装置９１４は、それぞれ、例えば１つまたは複数のプロセッサ（例えばＣＰＵ：Central Processing Unit等）、１つまたは複数のメモリ（例えばＲＡＭ：Random Access Memory等）、１つまたは複数のストレージ（例えばハードディスクドライブやフラッシュメモリ等）であってもよい。入出力インターフェース９１５には、ユーザがコンピュータ９１０に各種情報を入力するための入力装置９２０、および、コンピュータ９１０がユーザに各種情報を出力するための出力装置９３０が接続される。入力装置９２０および出力装置９３０は、コンピュータ９１０に内蔵されたものであってもよいし、コンピュータ９１０に接続された（外付けされた）ものであってもよい。例えば、入力装置９２０は、キーボード、マウス、タッチセンサなどであってもよく、出力装置９３０は、ディスプレイ、プリンタ、スピーカなどであってもよい。また、タッチセンサとディスプレイとが一体化されたタッチパネルのような、入力装置９２０および出力装置９３０の双方の機能を有する装置を適用してもよい。そして、通信インターフェース９１６は、コンピュータ９１０が外部の装置と通信するためのインターフェースである。
【００９４】
補助記憶装置９１４には、コンピュータ９１０を応答シナリオ生成装置１またはサーバとして動作させるための各種のプログラムが格納されている。そして、演算装置９１２は、補助記憶装置９１４に格納された上記プログラムを主記憶装置９１３上に展開して該プログラムに含まれる命令を実行することによって、コンピュータ９１０を、応答シナリオ生成装置１またはサーバが備える各部として機能させる。なお、補助記憶装置９１４が備える、プログラム等の情報を記録する記録媒体は、コンピュータ読み取り可能な「一時的でない有形の媒体」であればよく、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブル論理回路などであってもよい。また、記録媒体に記録されているプログラムを、主記憶装置９１３上に展開することなく実行可能なコンピュータであれば、主記憶装置９１３を省略してもよい。なお、上記各装置（演算装置９１２、主記憶装置９１３、補助記憶装置９１４、入出力インターフェース９１５、通信インターフェース９１６、入力装置９２０、および出力装置９３０）は、それぞれ１つであってもよいし、複数であってもよい。
【００９５】
また、上記プログラムは、コンピュータ９１０の外部から取得してもよく、この場合、任意の伝送媒体（通信ネットワークや放送波等）を介して取得してもよい。そして、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００９６】
〔まとめ〕
本発明の態様１に係る情報処理装置１は、入力部２（取得部２）と、記憶部４と、制御部１０とを備えている情報処理装置１であって、上記制御部１０は、入力部２から第１の質問文を取得し、上記第１の質問文と、上記記憶部４が記憶する過去の質問に関するデータとを参照して、上記第１の質問文に関連した１又は複数の第２の質問文を特定し、上記１又は複数の第２の質問文のうち、少なくとも何れかを含む応答シナリオを生成する構成である。
【００９７】
上記の構成によれば、複数の回答が存在する質問に対して、好適な回答を提示できる可能性を高めることができる応答シナリオ生成装置１を実現できる。
【００９８】
本発明の態様２に係る情報処理装置１は、上記の態様１において、上記応答シナリオは、上記１又は複数の質問文に対応する１又は複数の回答文の少なくとも何れかを葉ノードとして含む木構造である構成としてもよい。
【００９９】
上記の構成によれば、情報処理装置１は、当該葉ノードに対応する回答文に至る応答シナリオを生成できる。
【０１００】
本発明の態様３に係る情報処理装置１は、上記の態様１又は２において、上記制御部１０は、上記第２の質問文のそれぞれが、上記第１の質問文に対する関連度が高いほど、ユーザに対して優先的に提示されるように応答シナリオを生成する構成としてもよい。
【０１０１】
上記の構成によれば、第１の質問文（ユーザの質問文）に関連した順にユーザに対する問いかけが行われることとなり、ユーザが混乱しづらくなる効果を奏する。
【０１０２】
本発明の態様４に係る情報処理装置１は、上記の態様１から３までの何れかにおいて、入力された又は取得したユーザの複数の質問文から、ユーザによる質問の頻度が他の質問文よりも高い質問文に含まれるキーワードを推定し、当該キーワードを含む複数の質問文から、少なくとも何れかの質問文を抽出する構成としてもよい。
【０１０３】
上記の構成によれば、応答シナリオ生成装置１は、速やかにユーザに対する応答シナリオの提示を行うことができる。
【０１０４】
本発明の態様５に係る応答シナリオ生成方法は、装置によって実行される応答シナリオ生成方法であって、第１の質問文を取得する取得ステップと、上記第１の質問文と、過去の質問に関するデータとを参照して、上記第１の質問文に関連した１又は複数の第２の質問文を特定する特定ステップと、上記１又は複数の第２の質問文のうち、少なくとも何れかを含む応答シナリオを生成する生成ステップとを含む方法である。
【０１０５】
上記の方法によれば、複数の回答が存在する質問に対して、好適な回答を提示できる可能性を高めることができる。
【０１０６】
本発明の態様６に係る制御プログラムは、態様１から４までの何れかに記載の情報処理装置１としてコンピュータを機能させるための制御プログラムであって、上記制御部１０としてコンピュータを機能させる構成としてもよい。
【０１０７】
本発明の各態様に係る応答シナリオ生成装置１は、コンピュータによって実現してもよく、この場合には、コンピュータを上記応答シナリオ生成装置１が備える各部（ソフトウェア要素）として動作させることにより上記応答シナリオ生成装置１をコンピュータにて実現させる応答シナリオ生成装置１の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【０１０８】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。
【符号の説明】
【０１０９】
１  応答シナリオ生成装置（情報処理装置）
２  取得部（入力部）
３  出力部
４  記憶部
１０  制御部
１１  質問文解析部
１２  関連文選択部
１３  質問文生成部
１４  シナリオ生成部
９１０  コンピュータ
９１１  バス
９１２  演算装置
９１３  主記憶装置
９１４  補助記憶装置
９１５  入出力インターフェース
９１６  通信インターフェース
９２０  入力装置
９３０  出力装置
【図１】
2019128914.tif 000003
【図２】
2019128914.tif 000004
【図３】
2019128914.tif 000005
【図４】
2019128914.tif 000006
【図５】
2019128914.tif 000007
【図６】
2019128914.tif 000008
【図７】
2019128914.tif 000009
【図８】
2019128914.tif 000010
【図９】
2019128914.tif 000011
【図１０】
2019128914.tif 000012
【図１１】
2019128914.tif 000013
【図１２】
2019128914.tif 000014
【図１３】
2019128914.tif 000015
【図１４】
2019128914.tif 000016