(57)【要約】      （修正有）【課題】組織内の業務効率化を図ることができ、且つ、ユーザの利便性を向上できることに加え、マニュアル等を有効活用することができる対話管理サーバ、対話管理方法及びプログラムを提供する。【解決手段】対話管理システムにおいて、対話管理サーバ１は、説明文のテキストデータと、説明文に至る一又は複数の階層を識別するための情報及び階層の見出しを表すテキストデータとを対応付けた単位情報を複数有する構造化した形式の文書のデータを記録する記録部１１と、情報処理部１０において、ユーザからの質問文のテキストデータを受け付ける受付部１９と、受付部１９により受け付けられた質問文のテキストデータと、記録部１１に記録された各単位情報に含まれるテキストデータとをマッチングして、質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答出力情報を生成する回答生成部２７と、を備える。【選択図】図１７
2020184294.tif 000002
【特許請求の範囲】
【請求項１】
説明文のテキストデータと、前記説明文に至る一又は複数の階層を識別するための情報及び前記階層の見出しを表すテキストデータとを対応付けた単位情報を複数有する構造化した形式の文書のデータを記録する記録部と、
ユーザからの質問文のテキストデータを受け付ける受付部と、
前記受付部により受け付けられた質問文のテキストデータと、前記記録部に記録された各単位情報に含まれるテキストデータとをマッチングして、前記質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答出力情報を生成する回答生成部と、
を備える対話管理サーバ。
【請求項２】
前記回答生成部は、
前記質問文のテキストデータを形態素解析して抽出された単語の、各単位情報における出現頻度に基づいて、各単位情報のスコアを算出し、
算出したスコアを用いて回答出力情報を生成する、
請求項１に記載の対話管理サーバ。
【請求項３】
前記回答生成部は、
前記質問文のテキストデータを形態素解析して抽出された単語の、各単位情報における出現頻度と、抽出された単語が含まれる単位情報の、単位情報の総数に対する割合とに基づいて、各単位情報のスコアを算出し、
算出したスコアを用いて回答出力情報を生成する、
請求項１又は２に記載の対話管理サーバ。
【請求項４】
所定の名詞の単語に他の単語を合成した合成語が登録された第１合成語辞書を記憶する第１合成語辞書記憶部をさらに備え、
前記回答生成部は、
前記質問文のテキストデータを形態素解析して抽出された単語が前記第１合成語辞書に登録されていると判定した場合、前記抽出された単語の、各単位情報における出現頻度に基づいて第１スコアを算出するとともに、各単位情報における、前記合成語の出現頻度に基づいて第２スコアを算出し、
前記第１スコア及び前記第２スコアを用いて回答出力情報を生成する、
請求項１から３のいずれか一項に記載の対話管理サーバ。
【請求項５】
所定の名詞の単語と、前記単語に他の単語を合成した合成語とが関連付けて登録された第２合成語辞書を記憶する第２合成語辞書記憶部をさらに備え、
前記回答生成部は、
前記質問文のテキストデータを形態素解析して抽出された単語が前記第２合成語辞書に登録されていると判定した場合、前記抽出された単語、前記名詞の単語に合成した他の単語、及び前記合成語のそれぞれに対する、各単位情報における出現頻度に基づいてスコアを算出し、前記スコアを用いて回答出力情報を生成する、
請求項１から３のいずれか一項記載の対話管理サーバ。
【請求項６】
所定の単語と、前記単語の下位概念である下位概念語とを関連付けて登録された下位概念語辞書を記憶する下位概念語辞書記憶部をさらに備え、
前記回答生成部は、
前記質問文のテキストデータを形態素解析して抽出された単語が前記下位概念語辞書に登録されていると判定した場合、前記単語に関連付けられた前記下位概念語を含む回答出力情報を生成する、
請求項１から５のいずれか一項に記載の対話管理サーバ。
【請求項７】
前記回答生成部は、前記質問文のテキストデータを形態素解析して抽出された単語を含む単位情報の各見出しに含まれるテキストデータに基づいて回答出力情報を生成する、
請求項１から６に記載の対話管理サーバ。
【請求項８】
前記回答生成部は、前記質問文のテキストデータの形態素解析に基づいて、前記質問文に関連する前記単位情報のスコアを算出し、所定の範囲内のスコアが算出された前記単位情報の数に応じて、前記回答出力情報の出力時間を調整する出力制御部を更に備える、
請求項１から７のいずれか一項に記載の対話管理サーバ。
【請求項９】
前記回答生成部は、前記質問文に関連する単位情報を抽出できなかった場合、前記質問文を形態素解析して抽出された単語に基づく所定の回答文に対応する回答出力情報を生成する、
請求項１から８のいずれか一項に記載の対話管理サーバ。
【請求項１０】
前記回答生成部は、
前記質問文のテキストデータの形態素解析に基づいて、前記質問文に関連する前記単位情報のスコアを算出し、
スコアが上位の一又は複数の単位情報の第１平均スコアと、前記第１平均スコアより下位の一又は複数の単位情報の第２平均スコアとの差分に応じて、前記回答出力情報に対応付けられたユーザを示すユーザ画像の表示形態を変更する、
請求項１から９のいずれか一項に記載の対話管理サーバ。
【請求項１１】
所定の名詞の単語に他の単語を合成した合成語が登録された合成語辞書を記憶する合成語辞書記憶部をさらに備え、
前記回答生成部は、前記質問文のテキストデータに含まれる前記合成語の数に応じて、前記回答出力情報に対応付けられたユーザを示すユーザ画像の表示形態を変更する、
請求項１から１０のいずれか一項に記載の対話管理サーバ。
【請求項１２】
前記回答生成部は、
前記質問文のテキストデータを形態素解析して抽出された単語の、各単位情報における出現頻度と、抽出された単語が含まれる単位情報の、単位情報の総数に対する割合と、前記単位情報の長さとに基づいて各単位情報のスコアを算出し、
算出したスコアを用いて回答出力情報を生成する、
請求項１から１１のいずれか一項に記載の対話管理サーバ。
【請求項１３】
前記説明文は一以上の文章を含んでおり、
前記回答生成部は、
前記質問文のテキストデータの形態素解析に基づいて、前記質問文に関連する単位情報のスコアを算出し、
前記形態素解析をして抽出した単語と、前記説明文に含まれる文章を構成する単語とを比較し、互いに異なる第１単語及び第２単語を特定した場合、前記第１単語の出現位置と前記第２単語の出現位置との単語間距離に基づいて前記単位情報のスコアを補正し、
前記スコアを用いて回答出力情報を生成する、
請求項１から１２のいずれか一項に記載の対話管理サーバ。
【請求項１４】
前記回答生成部は、
前記質問文のテキストデータの形態素解析に基づいて、前記質問文に関連する単位情報のスコアを算出し、
前記形態素解析をして抽出した単語と、前記説明文に含まれる文章を構成する単語とを比較し、一文章内で合致した単語の種類の数に基づいて前記単位情報のスコアを補正し、
前記スコアを用いて回答出力情報を生成する、
請求項１から１３のいずれか一項に記載の対話管理サーバ。
【請求項１５】
前記回答生成部は、
前記合致した単語の種類の数が所定値以上の文章の数に基づいて前記スコアを補正する、
請求項１４に記載の対話管理サーバ。
【請求項１６】
前記回答生成部は、
前記質問文のテキストデータの形態素解析に基づいて、前記質問文に関連する単位情報のスコアを算出し、
前記説明文に含まれる文章を個別の固定長ベクトルに変換する文章モデルを用いて、前記質問文から固定長ベクトルを算出し、
前記質問文の固定長ベクトルと、前記説明文に含まれる文章の固定長ベクトルとの類似度に基づいて前記スコアを補正し、
前記スコアを用いて回答出力情報を生成する、
請求項１から１５のいずれか一項に記載の対話管理サーバ。
【請求項１７】
前記階層は複数存在し、
前記記憶部は、前記階層毎に重みを有し、
前記回答生成部は、
前記質問文のテキストデータの形態素解析及び前記重みに基づいて、前記質問文に関連する単位情報のスコアを算出し、
前記スコアを用いて回答出力情報を生成する、
請求項１から１６のいずれか１項に記載の対話管理サーバ。
【請求項１８】
請求項１７に記載の対話管理サーバにおける重みを決定する重み決定装置であって、
複数の前記階層から任意の階層を選択する選択ステップと、
前記選択ステップにより選択された階層以外の重みを、所定の重み候補リストからランダムに抽出する抽出ステップと、
前記抽出ステップにより抽出された重みを用いて所定の重み演算式から、前記選択ステップにより選択された階層の重みを算出する重み算出ステップと、
前記重み算出ステップにより算出された重みと前記抽出ステップにより抽出された重みとを含む重みセットを用いて、サンプル質問文に対応するサンプル回答に一致する説明文のスコアの順位を算出するスコア順位算出ステップと、
前記スコア順位算出ステップにより算出された前記順位と所定のポイント演算式とに基づいて前記重みセットに対するポイントを算出するポイント算出ステップと、
前記抽出ステップと、前記重み算出ステップと、前記スコア順位算出ステップと、前記ポイント算出ステップとを所定回数実行した後のポイントに基づいて前記各階層の重みを決定する決定ステップと
を実行する、重み決定装置。
【請求項１９】
複数の前記階層から任意の階層を第１階層として選択する第１階層選択ステップと、
前記第１階層の重みを、初期値リストの中から選択する第１重み選択ステップと、
前記第１階層以外の階層の重みを、所定の第１重み演算式から算出する第１重み算出ステップと、
前記第１重み選択ステップにより選択された第１階層の重みと前記第１重み算出ステップにより算出された前記第１階層以外の階層の重みとを含む第１重みセットを用いて、サンプル質問文に対応するサンプル回答に一致する説明文のスコアの順位を算出する第１スコア順位算出ステップと、
前記第１スコア順位算出ステップにより算出された順位と所定のポイント演算式とに基づいて前記第１重みセットに対するポイントを算出する第１ポイント算出ステップと、
前記第１ポイント算出ステップにより算出されたポイントが所定値未満である場合、前記第１階層の重みを前記初期値リストから削除する削除ステップと、
前記第１重み選択ステップで、他の重みを選択し、前記第１重み算出ステップ、前記第１スコア順位算出ステップ、前記第１ポイント算出ステップ、及び前記削除ステップを繰り返し実行して前記初期値リストを更新する第１更新ステップと、
前記第１階層選択ステップで、他の階層を選択し、前記第１重み選択ステップ、前記第１重み算出ステップ、前記第１スコア順位算出ステップ、前記第１ポイント算出ステップ、前記削除ステップ、及び前記第１更新ステップを繰り返し実行して前記初期値リストを更新する第２更新ステップと、
複数の前記階層から任意の階層を第２階層として選択する第２階層選択ステップと、
前記第２階層以外の階層の重みの最小値の合計値から前記第２階層の重みを算出する第２重み算出ステップと、
前記第２階層選択ステップで、他の階層を選択し、前記第２重み算出ステップを繰り返し実行して、前記初期値リストから重み候補リストを作成する重み候補リスト作成ステップと、
を実行する、請求項１８に記載の重み決定装置。
【請求項２０】
請求項４に記載の第１合成語辞書に登録された合成語の妥当性を判定する妥当性判定装置であって、
前記第１合成語辞書の内容を複製した複製辞書を生成する複製辞書生成ステップと、
前記第１合成語辞書を初期化する初期化ステップと、
前記複製辞書に登録された合成語から任意の合成語を抽出して、初期化ステップ後の第１合成語辞書に登録する登録ステップと、
前記登録ステップ後の第１合成語辞書を用いて、サンプル質問文に対応するサンプル回答に一致する説明文のスコアの順位を算出するスコア順位算出ステップと、
前記スコア順位算出ステップにより算出された順位と所定のポイント演算式とに基づいて前記登録ステップにより抽出された合成語に対するポイントを算出するポイント算出ステップと、
前記登録ステップ、前記スコア順位算出ステップ、及び前記ポイント算出ステップを繰り返し、前記初期化ステップ後の第１合成語辞書に前記合成語が登録される前後のポイントの比較から、登録された合成語の妥当性を判定する妥当性判定ステップと、
を実行する、妥当性判定装置。
【請求項２１】
請求項５に記載の第２合成語辞書に登録された合成語の妥当性を判定する妥当性判定装置であって、
前記第２合成語辞書の内容を複製した複製辞書を生成する複製辞書生成ステップと、
前記第２合成語辞書を初期化する初期化ステップと、
前記複製辞書に登録された合成語から任意の合成語を抽出して、初期化ステップ後の第２合成語辞書に登録する登録ステップと、
前記登録ステップ後の第２合成語辞書を用いて、サンプル質問文に対応するサンプル回答に一致する説明文のスコアの順位を算出するスコア順位算出ステップと、
前記スコア順位算出ステップにより算出された順位と所定のポイント演算式とに基づいて前記登録ステップにより抽出された合成語に対するポイントを算出するポイント算出ステップと、
前記登録ステップ、前記スコア順位算出ステップ、及び前記ポイント算出ステップを繰り返し、前記初期化ステップ後の第２合成語辞書に前記合成語が登録される前後のポイントの比較から、登録された合成語の妥当性を判定する妥当性判定ステップと、
を実行する、妥当性判定装置。
【請求項２２】
任意の単語の分散表現を記憶する単語分散表現記憶部をさらに備え、
前記回答生成部は、
前記質問文のテキストデータを形態素解析して抽出された単語から所定のルールで単語を選択し、
前記選択された単語に関し、前記分散表現において一定距離以内にある単語を関連語として抽出し、
前記質問文のテキストデータを解析して抽出された単語及び前記関連語の、各単位情報における出現頻度に基づいてスコアを算出し、
前記スコアを用いて回答出力情報を生成する、
請求項１から１７のいずれか一項に記載の対話管理サーバ。
【請求項２３】
説明文のテキストデータと、前記説明文に至る一又は複数の階層を識別するための情報及び前記階層の見出しを表すテキストデータとを対応付けた単位情報を複数有する構造化した形式の文書のデータを記録するステップと、
ユーザからの質問文のテキストデータを受け付けるステップと、
受け付けられた質問文のテキストデータと、記録された各単位情報に含まれるテキストデータとをマッチングして、前記質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答出力情報を生成するステップと、
と、
を含む、対話管理方法。
【請求項２４】
コンピュータを、
説明文のテキストデータと、前記説明文に至る一又は複数の階層を識別するための情報及び前記階層の見出しを表すテキストデータとを対応付けた単位情報を複数有する構造化した形式の文書のデータを記録する記録部、
ユーザからの質問文のテキストデータを受け付ける受付部、
前記受付部により受け付けられた質問文のテキストデータと、前記記録部に記録された各単位情報に含まれるテキストデータとをマッチングして、前記質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答出力情報を生成する回答生成部、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話管理サーバ、対話管理方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、企業においては、事務担当者が、営業担当者から業務内容に関する質問を受け付けると、膨大な業務マニュアルの中から必要な情報を抽出し、一つ一つ回答していた。ここで、顧客からの問い合わせに対してオペレータが電話で対応するための通話システムが知られている。
【０００３】
例えば、特許文献１には、顧客及びオペレータの通話の内容を管理する通話システムが記載されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１２／１２０６２４号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の従来システムにおいては、顧客からの電話での問い合わせの件数が多いと、その対応を行う専属のオペレータの存在が必要となるので、組織内の業務の効率化が図れない。また、問い合わせの内容によっては、オペレータが即座に回答することができないので、顧客にとって利便性が高いサービスとはいえない。
また、顧客からの問い合わせに対応するために、顧客向けのマニュアルやＱ＆Ａ集が用意されることがある。しかし、そのようなマニュアルは膨大な量に及ぶことがあるため、顧客はマニュアルのどこを見ればよいのか分からず、結局、電話で問い合わせをしてしまうことも多い。このように、マニュアル等が存在するにもかかわらず、それらが有効に活用されているともいえない。
【０００６】
そこで、本発明のいくつかの態様はかかる事情に鑑みてなされたものであり、組織内の業務効率化を図ることができ、且つ、ユーザの利便性を向上できることに加え、マニュアル等を有効活用することができる対話管理サーバ、対話管理方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様に係る対話管理サーバは、説明文のテキストデータと、説明文に至る一又は複数の階層を識別するための情報及び階層の見出しを表すテキストデータとを対応付けた単位情報を複数有する構造化した形式の文書のデータを記録する記録部と、ユーザからの質問文のテキストデータを受け付ける受付部と、受付部により受け付けられた質問文のテキストデータと、記録部に記録された各単位情報に含まれるテキストデータとをマッチングして、質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答出力情報を生成する回答生成部と、を備える。
【０００８】
本発明の一態様に係る対話管理方法は、説明文のテキストデータと、説明文に至る一又は複数の階層を識別するための情報及び階層の見出しを表すテキストデータとを対応付けた単位情報を複数有する構造化した形式の文書のデータを記録するステップと、ユーザからの質問文のテキストデータを受け付けるステップと、受け付けられた質問文のテキストデータと、記録された各単位情報に含まれるテキストデータとをマッチングして、質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答出力情報を生成するステップと、を含む。
【０００９】
本発明の一態様に係るプログラムは、コンピュータを、説明文のテキストデータと、説明文に至る一又は複数の階層を識別するための情報及び階層の見出しを表すテキストデータとを対応付けた単位情報を複数有する構造化した形式の文書のデータを記録する記録部、ユーザからの質問文のテキストデータを受け付ける受付部、受付部により受け付けられた質問文のテキストデータと、記録部に記録された各単位情報に含まれるテキストデータとをマッチングして、質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答出力情報を生成する回答生成部、として機能させる。
【００１０】
なお、本発明において、「部」とは、単に物理的手段を意味するものではなく、その「部」が有する機能をソフトウェアによって実現する場合も含む。また、１つの「部」や装置が有する機能が２つ以上の物理的手段や装置により実現されても、２つ以上の「部」や装置の機能が１つの物理的手段や装置により実現されても良い。
【発明の効果】
【００１１】
本発明によれば、組織内の業務効率化を図ることができ、且つ、ユーザの利便性を向上できることに加え、マニュアル等を有効活用することができる。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態に係る対話管理システムの概略構成図（システム構成図）である。
【図２】一般のワープロや表計算ソフトにより作成された業務マニュアルデータ等の文書をＯＯＸＭＬ（Office Open XML）等の構造化文書へ変換する処理の一例を示す概念図である。
【図３】ＯＯＸＭＬ等の構造化文書から、本実施形態に特有の特定形式の構造化文書へ変換する処理の一例を示す概念図である。
【図４】第１実施形態に係る対話管理処理の一例を示すフローチャートである。
【図５】第１実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【図６】第１実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【図７】第２実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【図８】第３実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【図９】第４実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【図１０】第５実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【図１１】第５実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【図１２】第６実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【図１３】第６実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【図１４】第６実施形態に係るオペレータ端末装置の表示部の画面の一例を示す図である。
【図１５】第７実施形態に係る対話管理システムの概略構成図（システム構成図）である。
【図１６】第８実施形態に係る対話管理システムの概略構成図（システム構成図）である。
【図１７】第９実施形態に係る対話管理システムの概略構成図（システム構成図）である。
【図１８】第９実施形態に係る下位概念語辞書の一例を示す模式図である。
【図１９】第９実施形態に係る対話管理処理の一例を示すフローチャートである。
【図２０】第９実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【図２１】第９実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【図２２】第９実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【図２３】第９実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【図２４】第９実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【図２５】第９実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【図２６】第９実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【図２７】第９実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【図２８】第９実施形態の変形例６に係るユーザ端末装置の表示部の画面の一例を示す図である。
【図２９】第９実施形態の変形例６のアイコンの一例を示す図である。
【図３０】第９実施形態の変形例６のアイコンの一例を示す図である。
【図３１】第１０実施形態に係る対話管理システムの概略構成図（システム構成図）である。
【図３２】第１０実施形態に係る重み決定装置の処理を説明するためのフローチャートである。
【図３３】第１０実施形態に係る重み決定装置の処理を説明するためのフローチャートである。
【図３４】第１０実施形態に係る重み決定装置の処理を説明するためのフローチャートである。
【図３５】第１０実施形態に係る初期値リストの一例を示す図である。
【図３６】第１０実施形態に係る重み候補リストの一例を示す図である。
【図３７】第１１実施形態に係る対話管理システムの概略構成図（システム構成図）である。
【図３８】第１１実施形態に係る妥当性判定装置の処理を説明するためのフローチャートである。
【図３９】第１２実施形態に係る対話管理システムの概略構成図（システム構成図）である。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照しながら本発明の実施の形態について説明する。以下の実施の形態は、本発明を説明するための例示であり、本発明をその実施の形態のみに限定する趣旨ではない。また、本発明は、その要旨を逸脱しない限り、様々な変形が可能である。さらに、各図面において同一の構成要素に対しては可能な限り同一の符号を付し、重複する説明は省略する。
【００１４】
＜第１実施形態＞
図１は、本発明の実施形態に係る対話管理システムの概略構成図（システム構成図）である。図１に示すように、対話管理システム１００は、例示的に、対話管理サーバ１（対話管理サーバ）、対話ログデータベース（ＤＢ）４、ユーザ端末装置６、及びオペレータ端末装置８を備えて構成されている。
【００１５】
対話管理サーバ１は、所定のネットワークＮ上における対話を管理するサーバ用コンピュータであり、そのサーバ用コンピュータにおいて所定のサーバ用プログラムが動作することにより、サーバ機能を発現するものである。「ネットワークＮ上における対話」とは、ネットワークＮを介する、ユーザと対話管理サーバ１との間の対話、及び、ネットワークＮを介する、オペレータと対話管理サーバ１との間の対話のことをいう。例えば、「ネットワークＮ上における対話」は、ネットワークＮを介してユーザ端末装置６から対話管理サーバ１に入力された質問、当該質問に対応する、対話管理サーバ１により生成された回答、及び、当該回答に対するユーザの応答を含む。また、「ネットワークＮ上における対話」は、ネットワークＮを介してオペレータ端末装置８から対話管理サーバ１に入力された質問、当該質問に対応する、対話管理サーバ１により生成された回答、及び、当該回答に対するオペレータの応答を含む。
【００１６】
対話ログＤＢ４は、ユーザと対話管理サーバ１との間の対話、及び、オペレータと対話管理サーバ１との間の対話を記録するデータベースであり、例えば、ネットワークＮを介してユーザ端末装置６から対話管理サーバ１に入力された質問、当該質問に対応する、対話管理サーバ１により生成された回答、及び、当該回答に対するユーザの応答を含む対話ログ（対話結果）を記録する。なお、対話ログＤＢ４は、対話管理サーバ１に含まれてもよい。
【００１７】
ユーザ端末装置６及びオペレータ端末装置８は、対話の内容が出力される装置であり、例えば、ラップトップ又はノートブック型コンピュータ等の情報出力装置である。なお、ユーザ端末装置６及びオペレータ端末装置８は、例えばスマートフォンなどの携帯電話、タブレット端末等を含む情報出力装置であってもよい。
【００１８】
ネットワークＮは、例えばインターネット等を含む情報処理に係る通信回線又は通信網であり、その具体的な構成は、対話管理サーバ１、対話ログＤＢ４、ユーザ端末装置６及びオペレータ端末装置８の間でデータの送受信が可能なように構成されていれば特に制限されない。
【００１９】
対話管理サーバ１は、例示的に、所定のネットワークＮ上における対話を管理するための対話管理処理を実行する情報処理部１０、対話管理処理に必要な情報及び対話管理処理によって生成された情報を記録する記録部１１、文書が用いられる業界の専門用語が格納された専門用語辞書ＤＢ１２、及び単語の同義語が格納された同義語辞書ＤＢ１３を備えて構成される。
【００２０】
情報処理部１０は、例えば、機能的に、取得部１５、データ変換部１７、受付部１９、自然言語処理部２１、重み付け設定部２３、回答生成部２７、対話結果管理部２９、出力制御部３１、音声認識処理部３３、及び音声対話管理部３５を含んで構成されている。
【００２１】
なお、情報処理部１０の上記各部は、例えば、メモリやハードディスク等の記憶領域を用いたり、記憶領域に格納されているプログラムをプロセッサが実行したりすることにより実現することができる。また、対話管理サーバ１の各ＤＢ１２及び１３は、プロセッサが実行することにより実現することができる。
【００２２】
取得部１５は、例えば、回答の対象となる文書を取得する。ここで、「文書」とは、例えば、業務で使用される業務マニュアルやＱ＆Ａ集などのテキスト文書、ワードプロセッサ・ソフト等で作成した文書及びプレゼンテーション・ソフトで作成した文書等を意味する。
【００２３】
データ変換部１７（変換部）は、文書の内容が編、章、節、項、小項目等の階層構造を有する文書のデータに基づいて、階層構造の末端に位置する項目に含まれるテキストデータのそれぞれを、当該各項目に至る一又は複数の階層を特定可能な情報及び当該各項目に至る一又は複数の各階層の見出しと対応付けて構造化した形式の文書に変換する。所定の単位としては、例えば、階層構造の末端（最下層）に位置する項目としてもよい。その場合、階層構造の末端に位置する項目に含まれるテキストデータのそれぞれを、当該各項目に至る一又は複数の階層を特定可能な情報及び当該各項目に至る一又は複数の各階層の見出しと対応付けて構造化した形式の文書に変換する。
【００２４】
図２及び３を用いて、業務マニュアルやＱ＆Ａ集などの文書をもとに、本実施形態に特有の特定形式の構造化文書に変換する処理について説明する。ここでは、一般のワープロや表計算ソフトにより作成された業務マニュアルデータ等の文書をＯＯＸＭＬ（Office Open XML）等の構造化文書に変換した後、さらに、本実施形態の対話管理サーバ１で利用される特定形式の構造化文書に変換する例について説明する。しかしながら、業務マニュアル等の文書を本実施形態に特有の特定形式の構造化文書に変換する際に、必ずしもＯＯＸＭＬを経由する必要は無く、種々の変換処理を採用し得る。
【００２５】
図２は、一般のワープロや表計算ソフトにより作成された業務マニュアルデータ等の文書をＯＯＸＭＬ（Office Open XML）等の構造化文書へ変換する処理の一例を示す概念図である。図２に示すように、データ変換部１７は、ワードファイルの業務マニュアルデータを、ＯＯＸＭＬ（Office Open XML）で記述されているファイル集合体へ変換する。
【００２６】
図３は、ＯＯＸＭＬ（Office Open XML）等の構造化文書から、本実施形態に特有の特定形式の構造化文書へ変換する処理の一例を示す概念図である。図３に示すように、データ変換部１７は、ＯＯＸＭＬで記述されているファイル集合体へ変換された業務マニュアルデータについて、特定のＸＭＬ形式へ変換する。具体的に、データ変換部１７は、階層構造を有する業務マニュアルデータを、文書の構成単位（編、章、節、項、小項目等）ごとに参照可能なように抽出し、階層構造の末端に位置する構成単位（項目）に含まれるテキストデータ（図３においては、「取引時には、…を行なう。」）のそれぞれを、抽出された構成単位ごとに、当該構成単位の階層に関する情報と、各階層の見出しに関する情報とを対応付けて構造化した形式の文書に変換し、当該文書を後述する文書情報ＢＩ（文字情報）として記録部１１に記録する。
【００２７】
図１に戻り、受付部１９は、ユーザからの質問の入力を受け付ける。また、受付部１９は、ユーザから、質問への回答に対する応答の入力を受け付ける。
【００２８】
自然言語処理部２１は、例えば、文書内の文字情報及び入力された質問に含まれる文字情報を読み込んで形態素解析して単語ごとに切り出す。「形態素解析」とは、コンピュータの自然言語処理の一つであり、文法的な情報の注記のない自然言語のテキストデータから、対象言語の文法や、単語の品詞等の情報に基づいて、形態素の単位に区切り、形態素毎に品詞等を判別する解析処理をいう。また、自然言語処理部２１は、係り受け解析（構文解析）、つまり、品詞情報から文の修飾関係を調査することを実行してもよい。
【００２９】
重み付け設定部２３は、文書内の文字情報及び入力された質問に含まれる文字情報に含まれる単語の出現頻度を算出し、算出された単語の出現頻度に基づいて単語ごとの重み付けを設定する。
【００３０】
回答生成部２７は、入力された質問と、記録された文書情報の各項目に含まれるテキストデータとをマッチングして、質問に関連する項目を複数抽出し、当該抽出された各項目に至る一又は複数の階層とその見出しとを含む回答を生成し、質問の回答としてユーザに返す。また、回答生成部２７は、後述するように、対話ログデータベース４に格納された対話結果に基づいて、マッチングの重み付けを学習してもよい。
【００３１】
対話結果管理部２９は、ユーザから入力された質問、当該質問に対応する回答及び当該回答に対するユーザからの応答を含む対話結果を対話ログデータベース４に格納する。対話結果管理部２９は、例えば、後述する音声認識処理部３３により認識された音声情報を、対話結果として対話ログデータベース４に格納する。
【００３２】
出力制御部３１は、回答生成部２７により生成された回答を出力するように制御する。出力制御部３１は、生成された回答を、ユーザ端末装置６及びオペレータ端末装置８の表示部（不図示）において出力するように制御する。
【００３３】
音声認識処理部３３は、ユーザとオペレータとの音声対話の音声情報を認識する。
【００３４】
音声対話管理部３５は、あるユーザとの間で質問及び当該質問に対する回答が所定の回数繰り返された場合、当該ユーザとの間で音声対話が可能となるように管理する。
【００３５】
記録部１１は、構造化された形式に変換された文書を文書情報ＢＩとして記録する。また、記録部１１は、ユーザから入力された質問、及び当該質問に対応する回答及び当該回答に対するユーザからの応答を含む対話結果情報ＴＩ（対話結果）を、ユーザごとに関連付けて記録する。さらに、記録部１１は、ユーザがネットワークＮを介して入力する情報であるスタンプ情報ＳＩを記録してもよい。
【００３６】
「スタンプ」とは、ネットワークＮを介して入力される、対話用の画像情報である。スタンプは、例えば感情や意思、伝えたいメッセージをイラストで表したものであり、テキストを含んでもよい。
【００３７】
（対話管理処理）
図４及び図５を用いて、本発明に実施形態に係る対話管理処理を説明する。図４は、本発明の実施形態に係る対話管理処理の一例を示すフローチャートである。
【００３８】
（ステップＳ１）
図１に示す取得部１５は、業務マニュアルやＱ＆Ａ集などの文書を取得する。
【００３９】
（ステップＳ３）
図１に示すデータ変換部１７は、図３に示すように、文書の内容が階層構造を有する文書のデータに基づいて、例えば、階層構造の末端に位置する構成単位、すなわち最下層のノードに含まれるテキストデータのそれぞれを、当該各構成単位に至る一又は複数の階層を特定可能な情報及び当該各構成単位に至る一又は複数の各階層の見出しと対応付けて構造化した形式の文書に変換する。
【００４０】
（ステップＳ５）
図１に示す記録部１１は、構造化した形式に変換された文書を文書情報ＢＩとして記録する。
【００４１】
（ステップＳ７）
図１に示す受付部１９は、ユーザからの質問の入力を受け付ける。
【００４２】
図５は、本発明の実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。図５に示すように、図１に示すユーザ端末装置６の画面Ｇに表示されているとおり、受付部１９は、ユーザＵから入力された「本人確認書類で年金手帳を持参した。住所の記載がない場合は有効か？」という質問Ｔ１を受け付ける。
【００４３】
（ステップＳ９）
図１に示す回答生成部２７は、入力された質問と、記録された文書情報の各項目に含まれるテキストデータとをマッチングして、質問に関連する項目を複数抽出し、当該抽出された各項目に至る一又は複数の階層とその見出しとを含む回答出力情報を生成し、質問の回答としてユーザに返す。
【００４４】
図５に示すように、図１に示す回答生成部２７は、質問Ｔ１が入力された場合、入力された当該質問Ｔ１にマッチングする回答出力情報に基づく回答Ｔ３を生成し、画面Ｇにおいて提示する。以下では、回答生成処理をより具体的に説明する。
【００４５】
まず、図１に示す自然言語処理部２１は、例えば、質問Ｔ１「本人確認書類で年金手帳を持参した。住所の記載がない場合は有効か？」を読み込んで形態素解析して単語ごとに切り出す。自然言語処理部２１は、例えば「本人確認書類」、「本人」、「確認」、「書類」、「確認書類」、「本人確認」、「年金手帳」、「年金」、「手帳」、「持参」、「住所」、「記載」、及び「有効」等の少なくとも一以上の単語ごとに切り出す。この際に、自然言語処理部２１は、必要に応じて、専門用語辞書ＤＢ１２及び同義語辞書ＤＢ１３を参照してもよい。また、自然言語処理部２１は、形態素解析結果に基づく品詞情報を参照して、構文解析を実行する。
【００４６】
次に、重み付け設定部２３は、質問Ｔ１に含まれる単語の出現頻度を算出し、算出された単語の出現頻度に基づいて単語ごとの重み付けを設定する。重み付け設定部２３は、切り出された、「本人確認書類」、「本人」、「確認」、「書類」、「確認書類」、「本人確認」、「年金手帳」、「年金」、「手帳」、「持参」、「住所」、「記載」、及び「有効」…等の重み付けを設定する。重み付け設定部２３は、例えば、一つ又は複数の文書における、出現頻度の高い単語に対する重みをより大きく設定してもよい。また、重み付け設定部２３は、一つ又は複数の文書において出現頻度が低い単語に対する重みをより大きく設定してもよい。さらに、重み付け設定部２３は、より短い文書において出現回数が多い単語に対する重みをより大きく設定してもよい。なお、設定された単語ごとの重み付けを示す情報は、記録部１１において、文書情報ＢＩとして記録されてもよい。
【００４７】
回答生成部２７は、入力された当該質問Ｔ１「本人確認書類で年金手帳を持参した。住所の記載がない場合は有効か？」に含まれる単語「本人確認書類」、「本人」、「確認」、「書類」、「確認書類」、「本人確認」、「年金手帳」、「年金」、「手帳」、「持参」、「住所」、「記載」、及び「有効」等に対応する、重み付け設定部２３により設定された重み付けに基づいて、入力された質問Ｔ１に対する回答として適合する文章を図１に示す文書情報ＢＩから抽出する。回答生成部２７は、例えば、文書情報ＢＩに含まれる構成単位（編、章、節、項、小項目等）ごとに検索し、回答として適合する文章を抽出してもよい。
【００４８】
回答生成部２７は、例えば、質問Ｔ１に含まれる単語ごとに設定された重みに基づいて、文書情報ＢＩとして記録されている、文書データの階層構造の末端に位置する構成単位に含まれる各テキストデータのうち、より大きい重みが設定された一以上の単語をより多く含むテキストデータを、質問Ｔ１により適合するテキストデータとして抽出する。なお、マッチング処理は上記に限られず、種々のマッチング処理を採用し得る。
【００４９】
そして、回答生成部２７は、文書情報ＢＩから抽出した、質問Ｔ１により適合したテキストデータ、例えば、図５に示す「管理編１章…」、「為替編６章…」、及び「管理編５章…」等に、「上位候補を示します。どれを詳しく見ますか？」等のテンプレートを追加した回答Ｔ３を生成する。
【００５０】
この構成によれば、テンプレートを含む回答を生成することで、人間との会話に近い形式で自然な対話が可能となる。
【００５１】
図５に示すように、図１に示す出力制御部３１は、入力された質問に対する回答が複数生成された場合、当該質問に対する回答としてより適合する回答を優先して出力するように制御する。出力制御部３１は、例えば、当該質問Ｔ１に対する回答としてより適合する上位３つの回答、「管理編１章…」、「為替編６章…」、及び「管理編５章…」を、表示部の画面Ｇにおいて上から順に出力するように制御してもよい。
【００５２】
この構成によれば、ある質問に対する回答としてより適合する回答をユーザが容易に把握することができるので、ユーザの利便性がより向上する。
【００５３】
そして、図５の選択結果Ｔ５に示すように、画面Ｇにおいては、回答Ｔ３において「（１）管理編１章…」が選択されると、出力制御部３１は、回答詳細Ｔ７に示すように、「（１）管理編１章…」の具体的内容を出力するように構成される。具体的には、出力制御部３１は、選択された番号に基づいて、当該番号に対応する構成単位（編、章、節、項、小項目等）における小項目の説明文を、文書情報ＢＩから抽出して、出力する。なお、回答Ｔ３における選択の態様に関しては、回答Ｔ３内の詳細を確認したい番号を画面Ｇ上におけるクリック動作によって選択してもよいし、詳細を確認したい番号を入力欄ＥＢにおいてテキスト入力することで選択してもよい。
【００５４】
なお、回答生成部２７は、ホットワード、つまり予め設定された特定の単語を、回答Ｔ３及び回答詳細Ｔ７の少なくとも一方において、他の単語とは異なる表示形態となるように回答を生成してもよい。図５に示すように、回答生成部２７は、回答Ｔ３及び回答詳細Ｔ７の少なくとも一方において、予め設定された特定の単語（例えば、本人、書類、本人確認書類等）を赤字となるように、他の単語は黒字となるように回答を生成する。また、回答生成部２７は、質問Ｔ１に含まれる単語を、回答Ｔ３及び回答詳細Ｔ７の少なくとも一方において、他の単語とは異なる表示形態となるように回答を生成してもよい。
【００５５】
この構成によれば、ユーザが、特定の単語が回答においてどの部分で用いられているかを容易に把握することができる。
【００５６】
また、回答生成部２７は、回答に、質問に含まれる単語の同義語が含まれる場合、生成される回答において、同義語をユーザが識別できるように回答を生成する。例えば、回答生成部２７は、回答Ｔ３又は回答詳細Ｔ７において、質問Ｔ１に含まれる単語（住所）の同義語が含まれる場合、生成される回答において、同義語（住居）を「住居」と強調表示した上で回答を生成する。
【００５７】
この構成によれば、ユーザが回答において、質問に含まれる単語の同義語を容易に識別することができる。
【００５８】
また、図１に示す対話結果管理部２９は、質問と、質問に対する回答と、当該回答に対する応答とを含む対話結果を対話ログデータベース４に格納する。そして、回答生成部２７は、対話ログデータベース４に格納された対話結果に基づいて、質問と回答とのマッチングの重み付けを学習する。
【００５９】
図６は、ユーザが回答（１）を選択した後に回答（２）を選択し直した場合のユーザ端末装置６の表示部の画面の一例を示す図である。図６に示すように、回答Ｔ９のテキスト情報が入力された後に、お気に入りボタンＨＩが選択されると、対話結果管理部２９は、対話の開始から終了まで、つまり、図６に示すＴ１〜Ｔ９のテキスト情報を対話結果として対話ログデータベース４に格納する。ここで、ユーザＵにとって、最後の回答（２）（回答Ｔ９）は、質問Ｔ１により適合した回答である。したがって、対話結果管理部２９は、質問Ｔ１から最初の回答（１）及び最後の回答である回答Ｔ９までを纏めて管理し、回答生成部２７は、お気に入りボタンＨＩが選択されたことによって対話ログデータベース４に格納された対話結果は、ユーザＵにとって、質問Ｔ１には、回答（２）がより適合する回答であることを学習する。このように、回答生成部２７は、対話ごとに管理された対話結果に基づいて繰り返し学習することで、入力される質問と回答とのマッチングの重み付けを学習する。
【００６０】
この構成によれば、質問と回答とのマッチングの重み付けを学習することができるので、回答の精度を向上させることができる。
【００６１】
以上、本発明の第１実施形態によれば、回答生成部２７は、質問が入力された場合、入力された当該質問に含まれる単語に対応する設定された重み付けに基づいて、入力された当該質問に対する回答を生成する。よって、組織内の業務効率化を図ることができ、且つ、ユーザの利便性を向上できることに加え、マニュアル等を有効活用することができる。
【００６２】
（変形例）
なお、上記説明では、回答生成部２７は、入力された質問と、記録された文書情報の各項目に含まれるテキストデータとをマッチングして、質問に関連する項目を複数抽出するとしたが、回答生成部２７の処理はこれに限定されるものではない。回答生成部２７は、入力された質問と、記録された文書情報の各項目に含まれるテキストデータ及び見出しとをマッチングして、質問に関連する項目を複数抽出するものでもよい。
【００６３】
さらに、この場合、重み付け設定部２３が、見出しとマッチングして抽出した質問に関連する項目と、記録された文書情報の各項目に含まれるテキストデータとマッチングして抽出した質問に関連する項目との重要度を変えてもよい。例えば、重み付け設定部２３は、見出しに基づいて抽出された項目の重要度を、階層構造の末端に位置する構成単位のテキストデータに基づいて抽出された項目の重要度よりも高くなるように設定するものでもよい。
【００６４】
補足すると、質問に対する回答として、詳細な説明よりも簡易な説明の方がユーザの利便性に資することがある。それゆえ、質問によっては、各項目に含まれるテキストデータよりも見出しの方が適切な回答を誘導する場合がある。変形例の回答生成部２７では、テキストデータのみならず、見出しも含めてマッチングをすることで質問に関連する項目を適切に抽出することができる。
【００６５】
＜第２実施形態＞
図７は、入力された質問の内容が不明確である場合の、ユーザ端末装置６の表示部の画面の一例を示す図である。図７に示すように、図１に示す回答生成部２７は、入力された質問Ｔ１１「口座」の内容が不明確である場合、例えば、口座の開設について質問したいのか、口座の解約について質問したいのか等が判然とせず不明確である場合、入力された当該質問に対して、より具体的な質問を促すように、予め定められた回答Ｔ１３「質問の詳細を教えてください。」を生成してもよい。具体的に、回答生成部２７は、入力された質問の文字数、当該質問に対する検索スコア、及び当該質問に対して抽出される文書数などを総合的に評価することで、入力された質問の内容が不明確であるか否かを判断する。
【００６６】
このように、ユーザＵがより具体的な質問をするように促された結果、追加で質問Ｔ１５「口座開設」と入力されたことで、出力制御部３１は、回答Ｔ１７に示すように、文書情報ＢＩに含まれる構成単位のうち、「口座開設」により適合する、複数の「章」を画面Ｇにおいて提示し、提示された複数の「章」の中で、より適合する一以上の「節」を提示する。そして、出力制御部３１は、最終的に、この「節」の中から抽出された、より適合する文章を画面Ｇにおいて提示するように構成されてもよい。
【００６７】
この構成によれば、ユーザが文書情報ＢＩの検索箇所をより具体的に絞り込めるため、抽出精度が向上できる。
【００６８】
以上、本発明の第２実施形態によれば、回答生成部２７は、入力された質問の内容が不明確である場合、入力された当該質問に対して、予め定められた回答を生成する。よって、ユーザに対して、より具体的な質問を促すことができるので、質問の曖昧性を回避することができ、質問に対する回答の精度を向上させることができる。
【００６９】
＜第３実施形態＞
図８は、質問及び当該質問に対する回答が所定の回数繰り返された場合の、端末装置の表示部の画面の一例を示す図である。図８に示すように、図１に示す音声対話管理部３５は、あるユーザＵとの間で質問及び当該質問に対する回答が所定の回数繰り返された場合、当該ユーザＵとの間で音声対話が可能となるように管理する。例えば、音声対話管理部３５は、図８のテキストＴ２１〜Ｔ２４に示すように、ユーザＵとの間で質問及び回答が例えば２回実行された場合、図１に示すオペレータと電話を介して対話可能となるように電話回線にアクセスできるように管理する。なお、所定の回数は、２回に限定されない。１回であってもよいし、３回以上であってもよい。
【００７０】
ユーザＵとの間で質問及び回答が例えば２回実行された場合であって、ユーザＵから電話のリクエストＴ２５「電話をお願いします。」があったとき、図１に示す出力制御部３１は、電話を許容するためのメッセージＴ２６を画面Ｇにおいて表示するように構成されてもよい。
【００７１】
電話による対話は、図１に示すユーザ端末装置６とオペレータのオペレータ端末装置８との間で実行もよいし、ユーザ端末装置６やオペレータ端末装置８とは異なる他の通話機器を介して実行されてもよい。ユーザとオペレータの音声情報は、ユーザ端末装置６、オペレータ端末装置８、当該他の通話機器が収集し、対話管理サーバ１に送信する。なお、画面Ｇは、ユーザ端末装置６の表示部とオペレータ端末装置８の表示部で共通して表示されてもよい。オペレータは、電話による対話までの画面Ｇ上での対話を踏まえて、電話による応答が可能となる。
【００７２】
ここで、図１に示す、対話管理サーバ１の音声認識処理部３３は、ユーザとオペレータとの音声対話の音声情報を認識し、対話結果管理部２９は、対話結果としてユーザごとに、認識された音声情報の登録又は更新を管理してもよい。
【００７３】
以上、本発明の第３実施形態によれば、音声対話管理部３５は、あるユーザとの間で質問及び当該質問に対する回答が所定の回数繰り返された場合、当該ユーザとの間で音声対話が可能となるように管理する。よって、ユーザが簡単にオペレータに対して電話することを防ぐことでオペレータに対する電話の回数が減少するので、組織内の業務の効率化が図れる。
【００７４】
ただし、音声対話管理部３５の動作はこれに限定されるものではなく、対話開始前からユーザの電話を受け付けるものでもよいし、電話による音声対話と文字入力による質問との両方を受け付けるものでもよい。
【００７５】
＜第４実施形態＞
図９は、入力された質問に対する回答として一以上の関連キーワードを提示する場合の、ユーザ端末装置６の表示部の画面の一例を示す図である。図９に示すように、図１に示す回答生成部２７は、入力された質問Ｔ３１「口座開設」に対する回答として、例えば、記録部１１において、あらかじめ、「口座開設」という単語に関連づけて記録された、一以上の関連キーワード「手続き」、「必要書類」、「代理」及び「未成年」を含む回答Ｔ３３を生成する。ここで、ある単語の関連キーワードは、当該単語の共起情報を取得し、当該共起情報に重みづけを行うことで生成される。具体的に、「口座開設」の関連キーワードとしての「手続き」、「必要書類」、「代理」及び「未成年」等は、「口座開設」の共起情報に重みづけを行うことで生成されたものである。そして、「口座開設」という単語を含む質問、並びに、当該質問に対する、「手続き」、「必要書類」、「代理」及び「未成年」等を含む回答を含む対話結果を管理することで、関連キーワードの生成の精度を向上させることができるので、質問に対する回答の精度を向上させることができる。なお、一の単語と他の単語との共起情報は、構造化した形式の文書の全テキストデータから求められる。
【００７６】
以上、本発明の第４実施形態によれば、質問に含まれる単語にあらかじめ関連づけられたキーワードを提示し、ユーザに選択させることで、質問の曖昧性を回避することができ、質問に対する回答の精度を向上させることができる。
【００７７】
＜第５実施形態＞
第５実施形態においては、ユーザから入力された質問の内容が不明確である場合に、より具体的な質問を促すように、例えば編、章、節、項、小項目等からなる階層構造を有する文書データに基づいて、段階的に回答を出力する。例えば、第５実施形態における対話管理システムにおいては、入力された当該質問に対して編階層（第１階層）における項目に基づいて回答出力情報を生成し、質問の第１回答としてユーザＵに返す。その後、さらに入力された質問に対して編階層よりも下位の階層である章、節、項、又は小項目等の階層（第２階層）における項目に基づいて回答出力情報を生成し、当該質問の第２回答としてユーザＵに返す。
【００７８】
第５実施形態を図１０及び図１１を参照して説明する。図１０及び図１１は、入力された質問の内容が不明確である場合の、ユーザ端末装置６の表示部の画面Ｇの一例を示す図である。図１０に示すように、図１に示す回答生成部２７は、入力された質問Ｔ４１「口座を統一する」の文字数、当該質問に対する検索スコア、及び当該質問に対して抽出される文書数などを総合的に評価することで、入力された質問Ｔ４１「口座を統一する」の内容が不明確であるか否かを判定する。回答生成部２７は、どのような内容の口座の統一について質問したいのか等が判然とせず不明確である場合、入力された当該質問に対して、より具体的な質問を促すように、入力された当該質問に対して編階層における、「預金編」、「共通編」…等に基づいて回答出力情報を生成し、質問の回答Ｔ４３としてユーザＵに返す。なお、回答生成部２７は、例えば、回答Ｔ４３の出力の際に、予め定められた回答Ｔ４２「『〇〇〇〇』はどの編に該当しますか？もう少し詳しく教えてください。」を生成し返答してもよい。
【００７９】
回答生成部２７は、その後、さらに入力された質問Ｔ４４に対して前編よりも下位の階層である節階層における、「基本事項」、「取扱手続」…等に基づいて回答出力情報を生成し、当該質問の回答Ｔ４６としてユーザＵに返す。なお、回答生成部２７は、例えば、回答Ｔ４６の出力の際に、予め定められた回答Ｔ４５「『〇〇〇〇』について複数の候補があります。次のうちどの項目に近いですか？」を生成し返答してもよい。
【００８０】
図１１に示すように、回答生成部２７は、さらに入力された質問Ｔ４７に対して、編、章、節、項の各階層における各項目に基づいて回答出力情報を生成し、当該質問の回答Ｔ４９としてユーザに返す。ここで、回答生成部２７は、例えば、図１０に示す質問Ｔ４１及びＴ４４、並びにＴ４７に対する最終的な回答としてより適合する上位３つの回答を画面Ｇにおいて上から順に出力可能な回答出力情報を生成してもよい。なお、回答生成部２７は、例えば、回答Ｔ４９の出力の際に、最初に入力された、図１０における質問Ｔ４１「口座を統一する」を生成し返答してもよい。
【００８１】
以上、本発明の第５実施形態によれば、ユーザからの質問内容に応じて段階的に回答を提示する。よって、回答候補を効率的に絞り込むことができるので、回答の精度を向上させることができ、且つ、迅速に所望の回答を画面上において提示することができる。
【００８２】
＜第６実施形態＞
第６実施形態は、ユーザからの質問と、質問に対する回答と、回答に対する評価とを対話結果として関連付けて格納し、格納された対話結果に基づいて、質問と回答とのマッチングの重み付けを学習する。第６実施形態を図１２から図１４を参照して説明する。
【００８３】
図１２は、ユーザ端末装置６の表示部における、ユーザＵの質問と回答とを含む対話の一例を示す画面例である。図１２に示すように、回答生成部２７は、入力された質問Ｔ５１に対して、編、章、節、項の各階層における各項目に基づいて回答出力情報を生成し、当該質問の回答Ｔ５３としてユーザＵに返す。また、回答Ｔ５３の出力の際に、予め定められた回答Ｔ５２「『〇〇〇〇』についてこの中に答えはありますか？」を生成し返答してもよい。
【００８４】
図１３は、図１２に示す画面Ｇにおける回答Ｔ５３において、ユーザＵが一番目の回答「（１）：計算編…」を選択した後に続く対話の一例を示す画面例である。なお、図１２における回答Ｔ５３における選択の態様に関しては、回答Ｔ５３内の詳細を確認したい番号を画面Ｇ上におけるクリック動作によって選択してもよいし、詳細を確認したい番号を、不図示のユーザ入力欄においてテキスト入力することで選択してもよい。
【００８５】
図１３に示すように、図１２に示す画面Ｇにおける回答Ｔ５３において、ユーザＵが一番目の回答「（１）：計算編…」を選択すると、回答生成部２７は、回答詳細Ｔ５５に示すように、「（１）：計算編…」の具体的内容を出力可能なように回答出力情報を生成する。具体的には、回答生成部２７は、選択された番号に基づいて、当該番号に対応する構成単位（編、章、節、項、小項目等）における小項目の説明文を、図１に示す文書情報ＢＩから抽出して、回答出力情報を生成する。なお、回答生成部２７は、ホットワード、つまり予め設定された特定の単語を、回答詳細Ｔ５５において、他の単語とは異なる表示形態となるように回答出力情報を生成してもよい。図１３に示すように、回答生成部２７は、図１２に示す質問Ｔ５１に含まれる単語（例えば、裁判費用立替口、及び、開設）を、回答詳細Ｔ５５において、他の単語とは異なる表示形態となるように回答を生成してもよい。また、回答生成部２７は、予め設定された特定の単語（例えば、裁判費用立替口、及び、開設）を赤字となるように、他の単語は黒字となるように回答出力情報を生成してもよい。
【００８６】
また、回答生成部２７は、例えば、回答詳細Ｔ５５の後に、ユーザＵから入力された質問に対する回答について評価を促すための回答Ｔ５６（評価要求）を出力する。回答Ｔ５６は、例えば、「回答の評価はいかがでしょうか？」のテキストともに、「Ｇｏｏｄ」（良い）という特定の意味に対応づけられたスタンプＳＴ１、及び、「Ｂａｄ」（悪い）という特定の意味に対応づけられたスタンプＳＴ２を含んで構成される。
【００８７】
「スタンプ」とは、ネットワークＮを介して入力される、対話用の画像情報である。スタンプは、例えばユーザの感情、意図や意思、伝えたいメッセージをイラストで表したものであり、画像情報の他、テキストを含んでもよい。図１に示す記録部１１は、スタンプと特定の意味とを対応づけて記録する。例えば、スタンプは、「Ｇｏｏｄ」（良い）、及び、「Ｂａｄ」（悪い）という特定の意味に対応づけられて記録される。また、スタンプは、イラストと、回答の精度を示す得点、例えば１００点、７５点等を示すテキスト情報と、関連づけて含むものであってもよい。なお、評価は、スタンプを選択することには限られない。例えば、回答Ｔ５６において選択可能なように「Ｇｏｏｄ」ボタン又は「Ｂａｄ」ボタンが含まれる場合、ユーザは、いずれかのボタンを選択することで評価入力を実行してもよい。また、ユーザは、回答詳細Ｔ５５が出力された後に、不図示のテキスト入力欄から、「Ｇｏｏｄ」又は「Ｂａｄ」のテキスト情報を入力することによって評価入力を実行してもよい。なお、評価は、「Ｇｏｏｄ」（良い）、又は、「Ｂａｄ」（悪い）の２パターンだけではなく、とても良い、良い、普通、悪い、とても悪いというように３つ以上のパターンを含んでもよい。
【００８８】
次に、図１に示す対話結果管理部２９は、ユーザＵからの質問と、当該質問に対する回答と、入力されたスタンプ（評価）と、を含む対話結果を対話ログデータベース４に格納する。以下、対話結果管理部２９の処理を具体的に説明する。
【００８９】
図１３に示すように、ユーザＵにより、回答に対する良好な評価を示す「Ｇｏｏｄ」を含むスタンプＳＴ１が選択された場合、またはスタンプＳＴ１が選択された後に不図示の対話終了ボタンが選択された場合、対話結果管理部２９は、対話の開始から終了まで、つまり、図１２及び図１３に示すＴ５１〜Ｔ５６のテキスト情報及びスタンプＳＴ１を対話結果として対話ログデータベース４に格納する。このように、対話結果管理部２９は、対話の開始から終了まで纏めて（関連づけて）管理することで、対話管理サーバ１が入力された質問に対してより適合した回答であると評価して提示された回答、及び、実際にユーザが選択した（ユーザが所望する）回答を纏めて管理する。
【００９０】
図１４は、本発明の実施形態に係るオペレータ端末装置８の表示部における対話ログ管理画面の一例を示す図である。例えば、対話ログ管理画面ＬＧに表示される情報は、対話結果管理部２９が対話ログデータベース４に格納する情報に対応している。図１４に示すように、対話ログデータベース４には、対話ログＩＤと、ユーザＩＤと、対話ログが格納された日時と、当該対話において最初に入力された質問と、当該質問に関する最終的な回答と、当該回答の番号（例えば、図１２における回答Ｔ５３の番号（１）、（２）（３））と、当該回答に対する評価と、が関連付けて記録されている。なお、対話ログデータベース４には、ユーザからの最初の質問に対する回答のみならず、ユーザから入力された質問ごとの一又は複数の回答が格納されてよく、対話ログ管理画面ＬＧは、ユーザから入力された質問ごとの一又は複数の回答が出力されてもよい。
【００９１】
対話結果管理部２９は、スタンプを含む対話結果を格納し、回答に対する評価に基づいて当該対話結果に関する検索スコアを調整する。つまり、対話結果管理部２９は、入力された回答の評価を反映したスタンプとともに対話結果を繰り返し記録し、複数の対話結果（質問及び回答のセット）を回答の評価に応じて、質問に対する検索スコアを上昇させる。例えば、図１４において、現在、対話ログＩＤ「７３５０」である対話結果、つまり、質問「新規口座開設について」及び回答「カード編１章…」のセットが上から２つ目にランクされているが、別の機会に、例えば、ユーザが「新規口座開設」に関する質問を入力し、上記と同様の回答「カード編１章…」に対して「Ｇｏｏｄ」の評価を入力すると、対話ログ管理画面ＬＧにおいて、上記セットの表示位置が上位になるように制御される（ここでは、最上位になるように制御される）。他方で、ある質問及び回答のセットに対して「Ｂａｄ」と評価されると、対話ログ管理画面ＬＧにおいて、当該セットが非表示制御されたり、当該セットの表示位置が下位になるように制御されたりする。
【００９２】
回答生成部２７は、対話結果として対話ログデータベース４に格納されたスタンプに対応づけられた評価に基づいて、入力された質問と、当該質問に対する回答とのマッチングの重み付けを学習する。
【００９３】
例えば、回答生成部２７は、ユーザＵにとって、図１２に示す質問Ｔ５１には、回答Ｔ５３に含まれる複数の回答のうち、一番目の回答「（１）：計算編…」がより適合する回答であることを分析し、回答「（１）：計算編…」の重み付けが他の回答に比べて上がるように制御する。例えば、回答生成部２７は、回答「（１）：計算編…」の重み付けをあげるとともに、回答Ｔ５３に含まれる他の回答「（２）計算編…」「（３）計算編…」等の重み付けを下げてもよい。このように、回答生成部２７は、対話ごとに管理された対話結果に基づいて繰り返し学習することで、入力される質問と回答とのマッチングの重み付けを学習する。
【００９４】
以上、本発明の第６実施形態によれば、ユーザからの質問と、質問に対する回答と、回答に対する評価とを対話結果として関連付けて格納し、格納された対話結果に基づいて、質問と回答とのマッチングの重み付けを学習する。よって、質問と回答とのマッチングの重み付けを学習することができるので、回答の精度を向上させることができる。
【００９５】
＜第７実施形態＞
図１５を参照して、第７実施形態に係る対話管理システムを説明する。図１５は、第７実施形態に係る対話管理システムの概略構成図（システム構成図）である。第７実施形態においては、図１５に示すように、対話管理サーバ１が除外用語辞書ＤＢ１４をさらに備える。除外用語辞書ＤＢ１４は、入力された質問と、記録部１１に記録された文書情報の各項目に含まれるテキストデータとのマッチングの際に影響が除外される「除外用語」を記憶するデータベースである。具体的には、除外用語としては、助詞、接続詞、所定の修飾語、所定の頻出語などが挙げられる。ここで、所定の修飾語とは、「いろいろな」「様々な」などの実質的に就職する単語の意味を制限しない用語が該当する。また、所定の頻出語とは、特定形式の構造化文書で用いられる全用語のうち頻出する用語のことであり、数万ワードの日本語の文書においては上位１０個ぐらいの用語がこれに該当する。例えば、「確認」などの用語が頻出語として挙げられることが多い。
【００９６】
回答生成部２７は、入力された質問と記録された文書情報の各項目に含まれるテキストデータとのマッチングの際に、除外用語の影響が除外された回答出力情報を生成する。
【００９７】
第７実施形態に係る対話管理サーバ１は、上述した構成を具備しているので、質問に対する回答の妥当性を高めることができる。補足すると、一般的に、記録された文書情報の各項目に含まれるテキストデータが、入力された質問に頻出する用語を多く含んでいる場合、質問の回答として妥当である可能性が高い。しかしながら、文書情報の全用語のうち他の用語に比して突出して頻出する用語等は、任意の文章で使用されている可能性があり、却って回答としての妥当性を低下させることがある。そこで、マッチングの際に、これらの用語の影響を除外することで、質問に対する回答の妥当性を高めることができる場合がある。
【００９８】
＜第８実施形態＞
第８実施形態においては、第１実施形態から第７実施形態に係る構造化した形式の文書が、階層構造の末端に位置する項目に含まれるテキストデータと、当該各項目に至る一又は複数の階層を特定可能な情報及び当該各項目に至る一又は複数の各階層の見出しとを対応付けたものを「単位情報」とするものである。具体的には、図３に示すようなデータが一つの単位情報として定義され、これらの集合が上述した特定形式の構造化文書として定義される。
【００９９】
図１６を参照して、第８実施形態に係る対話管理システムを説明する。図１６は、第８実施形態に係る対話管理システムの概略構成図（システム構成図）である。第８実施形態に係る対話管理サーバ１は、逆文書頻度ＤＢ２４をさらに備える。逆文書頻度ＤＢ２４は、構造化した形式の文書で使用される単語の逆文書頻度を記憶するデータベースである。ここで、「逆文書頻度」とは、文書全体における単語の珍しさを示す指標であり、構造化した形式の文書における全単位情報の総数ｍａｘＤを、当該単語が含まれる単位情報の数ＤＦｒｅｑｓで除した値のことである。
【０１００】
重み付け設定部２３は、単位情報内の文字情報に含まれる単語の出現頻度を算出し、算出された単語の出現頻度に基づいて単語ごとの重み付けを設定する。さらに、重み付け設定部２３は、逆文書頻度に基づいて重み付けを補正する。
【０１０１】
回答生成部２７は、入力された質問に含まれる単語を所定の個数以上含む単位情報を候補回答として抽出し、当該候補回答に基づいて回答出力情報を生成する。ここで、回答生成部２７は、重み付け設定部２３により設定される重み付けに基づいて候補回答と質問との類似度を算出する。そして、回答生成部２７は、類似度の高い候補回答を回答出力情報として生成する。なお、類似度の算出には、TFIDFSimilarityやBM25Similarityのアルゴリズムを用いることができる。
【０１０２】
上記構成により、第８実施形態に係る対話管理サーバ１では、質問に含まれる単語が多い回答を生成するので、妥当性の高い回答を提供することができる。
【０１０３】
また、第８実施形態に係る対話管理サーバ１は、逆文書頻度に基づいて単語の重みを補正してから類似度を算出することができる。これにより、文書全体における当該単語の珍しさを反映させることができる。ここで、文書全体における単語の珍しさは、当該単語が特徴的であることを示す傾向が高く、テキストデータの検索においては正解を示す可能性が高いものである。したがって、回答生成部２７は、逆文書頻度で補正された類似度を用いることで、入力された質問に対して妥当な回答出力情報を生成する。
【０１０４】
なお、第８実施形態に係る対話管理サーバ１に、図１５に示す除外用語辞書ＤＢ１４を組み合わせた場合には、候補回答の抽出の際に、当該除外用語に関しては単位情報の個数がカウントされなくなる。
【０１０５】
＜第９実施形態＞
第９実施形態においては、第１実施形態から第７実施形態に係る構造化した形式の文書に関して、説明文のテキストデータと、説明文に至る一又は複数の階層を識別するための情報及び階層の見出しを表すテキストデータとを対応付けたものを「単位情報」としてもよい。例えば、図３に示すようなデータ（「特定のＸＭＬ形式で抽出」で囲まれる部分）が一つの単位情報として定義され、複数の単位情報を含む集合が上述した特定形式の構造化文書として定義される。回答生成部２７は、受付部１９により受け付けられた質問文のテキストデータと、各単位情報に含まれるテキストデータとをマッチングして、質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答候補（回答出力情報）を生成する。質問によっては、文書の構成単位（項目）（例えば、編、章、節、項、小項目等）に含まれるテキストデータよりも見出しの方が適切な回答を誘導する場合があるので、第９実施形態に係る対話管理サーバ１では、各項目のテキストデータのみならず、見出しも含めてマッチングをすることで質問に関連する項目を適切に抽出することを可能とする。
【０１０６】
図１７から図２７を参照して、第９実施形態に係る対話管理システムを具体的に説明する。図１７は、第９実施形態に係る対話管理システムの概略構成図である。対話管理サーバ１の回答生成部２７は、例えば、単語の出現頻度を示すＴＦ（Term Frequency）、又は、逆文書頻度を示すＩＤＦ（Inverse Document Frequency）等の指標を用いて、検索スコアを算出する。ＴＦとは、例えば、各構造化文書において特定の単語がどの程度出現したかを示す。つまり、ＴＦとは、構造化文書における単語の出現頻度を、構造化文書における全単語の出現頻度の和で除した値のことである。具体的には、回答生成部２７は、ＴＦを用いる手法として、各単位情報における抽出された単語の出現頻度（ＴＦ）に基づいて検索スコアを算出し、算出した検索スコアを用いて回答出力情報を生成する。
【０１０７】
また、ＩＤＦとは、例えば、第８実施形態において説明したとおり、文書全体における単語の珍しさを示す指標であり、構造化文書における全単位情報の総数を、当該単語が含まれる単位情報の数で除した値のことである。回答生成部２７は、ＴＦ−ＩＤＦを用いる手法として、各単位情報における抽出された単語の出現頻度（ＴＦ）と、抽出された単語が含まれる単位情報の、単位情報の総数に対する割合（ＩＤＦ）とに基づいて検索スコアを算出する。例えば、回答生成部２７は、ＴＦとＩＤＦとを乗算することによって、検索スコアを算出する。回答生成部２７は、算出した検索スコアを用いて回答出力情報を生成する。
【０１０８】
図１７に示すように、第９実施形態に係る対話管理サーバ１は、第１合成語辞書ＤＢ１２Ａと、第２合成語辞書ＤＢ１２Ｂと、下位概念語辞書ＤＢ４４と、ショートトークＤＢ４６と、をさらに備える。なお、第１合成語辞書ＤＢ１２Ａ、及び、第２合成語辞書ＤＢ１２Ｂは、図１、１５及び１６に示す専門用語辞書ＤＢ１２の一態様である。
【０１０９】
第１合成語辞書ＤＢ１２Ａは、所定の名詞の単語に他の単語を合成した第１合成語が登録されたデータベースである。第１合成語辞書ＤＢ１２Ａには、例えば、「取引時」（所定の名詞の単語）に「確認」（他の単語）を合成した、又は、「確認」（所定の名詞の単語）に「取引時」（他の単語）を合成した、「取引時確認」（第１合成語）が登録されている。なお、第１合成語辞書ＤＢ１２Ａにおいては、「取引時確認」は、「取引時」又は「確認」とは関連付けられていない。
【０１１０】
第１合成語辞書ＤＢ１２Ａを用いる場合の回答出力情報の生成手法の一例を説明する。例えば、回答生成部２７は、質問文（例えば、「取引時確認について調べたい」）から抽出された単語（例えば、「取引時確認」、「取引時」及び「確認」等）のうち合成語「取引時確認」が第１合成語辞書ＤＢ１２Ａに登録されていると判定した場合、各単位情報における、質問文から抽出された各単語の出現頻度に基づいて第１検索スコアを算出するとともに、各単位情報における、合成語（例えば、「取引時確認」）の出現頻度に基づいて第２検索スコアを算出する。そして、回答生成部２７は、両検索スコアを用いて回答出力情報を生成する。
【０１１１】
第２合成語辞書ＤＢ１２Ｂは、所定の名詞の単語と、その単語に他の単語を合成した第２合成語とが関連付けて登録されたデータベースである。第２合成語辞書ＤＢ１２Ｂは、例えば、第１合成語辞書ＤＢ１２Ａとは異なり、「取引時確認」は、「取引時」及び「確認」のそれぞれと関連付けられて登録される。
【０１１２】
第２合成語辞書ＤＢ１２Ｂを用いる場合の回答出力情報の生成手法の一例を説明する。例えば、回答生成部２７は、質問文（例えば、「取引時確認について調べたい」）から抽出された単語（例えば、「取引時」）が第２合成語辞書ＤＢ１２Ｂに登録されていると判定した場合、質問文から抽出された単語（例えば、「取引時」）、名詞の単語に合成した他の単語（例えば、「確認」）、及び合成語（例えば、「取引時確認」）のそれぞれに対する、各単位情報における出現頻度に基づいて検索スコアを算出する。そして、回答生成部２７は、算出された検索スコアを用いて回答出力情報を生成する。
【０１１３】
下位概念語辞書ＤＢ４４は、所定の単語と、その単語の下位概念である「下位概念語」とが関連付けて登録されたデータベースである。図１８は、下位概念語の一例を示す図である。図１８に示すように、下位概念語辞書ＤＢ４４には、例えば、キーとなるキー単語「口座」、「確認」、「処理」、「取引」及び「定期」等のそれぞれと、各キー単語の下位概念語と、が関連付けて登録されている。
【０１１４】
ショートトークＤＢ４６は、ユーザと対話管理サーバ１との間でショートトークを実現するための単語及び文章が登録されたデータベースであり、例えば、所定の単語と所定の単語を含む所定の回答文とが関連付けて登録されている。ショートトークＤＢ４６は、後述する図２０（Ｂ）で説明するとおり、例えば、「カレー」という単語と、「カレー」を含む「カレーが好きです。」という回答文とが関連付けて登録されている。また、ショートトークＤＢ４６には、例えば、「△△△」という単語が入力されると、「△△△はいいですよね。」という回答文が生成されるような文章テンプレート（例えば、「…はいいですよね。」）が登録されてもよい。さらに、ショートトークＤＢ４６は、所定の単語と、対話用の画像情報である所定のスタンプとが関連付けて登録されてもよい。
【０１１５】
また、ショートトークＤＢ４６は、ショートトーク用に準備された複数の単位情報が登録されたデータベースであってもよい。この場合、入力された単語の出現頻度等に基づいて単位情報が抽出され、抽出された単位情報に基づいて回答文が生成される。
【０１１６】
図１９は、第９実施形態に係る対話管理処理の一例を示すフローチャートである。第９実施形態に係る対話管理処理の一例を図１９とともに図２０から図２７を参照して説明する。図２０から図２７は、ユーザ端末装置６の表示部の画面の一例を示す図である。図１９に示すように、まず、対話管理サーバ１は、ユーザからの質問文の入力を受け付ける（ステップＳ１０）。次に、ステップＳ１２において、対話管理サーバ１は、受け付けられた質問文のテキストデータと、文書情報ＢＩ内の各単位情報に含まれるテキストデータとをマッチングして、質問文に関連する単位情報を抽出し、抽出された単位情報に対応する文書を探索する。例えば、対話管理サーバ１は、質問文から抽出された単語と各文書内の単語とをマッチングして、マッチングする文書がある場合（Ｎｏの場合）、ステップＳ２０に進む。他方で、対話管理サーバ１は、マッチングする文書がない場合（Ｙｅｓの場合）、ステップＳ１４に進む。
【０１１７】
ステップＳ１４において、対話管理サーバ１は、例えば質問文の少なくとも一部に含まれる単語がショートトークＤＢ４６に登録されているか否か判定する。例えば、図２０（Ａ）に示すように、質問文Ｔ６１が「ああああ」の場合に、対話管理サーバ１が、「ああああ」がショートトークＤＢ４６に登録されていないと判定すると（ステップＳ１４においてＮｏ）、「ごめんね。分からないよ。」という所定の回答Ｔ６２を生成する。他方で、図２０（Ｂ）に示すように、質問文Ｔ６４が「カレー」の場合に、対話管理サーバ１が、「カレー」がショートトークＤＢ４６に登録されていると判定すると（ステップＳ１４においてＹｅｓ）、「『カレー』が好きです。」という所定の回答Ｔ６５を生成する。このように、例えば質問文の少なくとも一部に含まれる単語がショートトークＤＢ４６に登録されている場合、ユーザと対話管理サーバ１との間でショートトークが実施される。よって、業務マニュアルに関する質問以外の質問がユーザからあった場合であっても、比較的違和感を生じさせることなく、ユーザと対話管理サーバ１との間の対話を継続させることができる。
【０１１８】
ステップＳ２０において、対話管理サーバ１は、例えば、複数算出された検索スコアのうち最大検索スコアが所定スコア（例えば、検索スコアが０〜１０の範囲で設定されている場合、検索スコアが８や９等の比較的高いスコア）以上、かつ、マッチングする文書の数が所定数（例えば、数ファイル〜数十ファイル等）以下であるか否かを判定する。例えば、対話管理サーバ１は、最大検索スコアが高いスコアであり、かつ、マッチングする文書の数が少ない場合（Ｙｅｓの場合）は、ステップＳ２２に進む。つまり、最大検索スコアが高く、マッチングする文書の数が少ない場合は、対話管理サーバ１は、質問文に対する回答の精度が比較的高いと判定し、回答候補を表示する（ステップＳ２２）。図２１（Ａ）に示すように、対話管理サーバ１は、質問文Ｔ６７「ダブルストライプ口座について」に対する回答候補の精度が比較的高いと判定すると、質問文Ｔ６７に対応する回答候補Ｔ６８を生成し出力する。
【０１１９】
他方で、対話管理サーバ１は、最大検索スコアが比較的低いスコアの場合、又は、マッチングする文書の数が多い場合（Ｎｏの場合）は、ステップＳ２４に進む。つまり、回答候補としてマッチングした文書のマッチング精度（検索スコア）が比較的低いものが多数ある場合は、対話管理サーバ１は、さらに他の条件で回答候補としての文書を絞り込む必要があるためである。
【０１２０】
ステップＳ２４において、対話管理サーバ１は、質問文に対してマッチングした複数の文書のうち、例えば、マッチング精度の高い文書の上位十ファイルにおいて文書の構成単位「〇〇編」が同一であり、かつ、聞き返し回数（例えば、後述するステップＳ３６又はステップＳ３８の処理が実行された後、ステップＳ１０「質問文を入力」に戻った回数）が例えば一回以上であるかを判定する。ステップＳ２４においてＹｅｓの場合は、ステップＳ４２に進む。図２１（Ｂ）に示すように、対話管理サーバ１は、例えば、質問文Ｔ７０「『基本口座を開設したい場合の処理方法は』について教えて」が入力されると、文書の構成単位の一つである「編」を絞り込むため、他の確からしい編を構成単位として含む文書を提案する。対話管理サーバ１は、例えば「（１）融資支援システム編」を提案するような回答候補Ｔ７１を生成する。なお、上記形態では、文書の構成単位の一つである「編」に基づいて回答候補の絞り込みを実施しているが、これに限られず、他の文書の構成単位である、「章」、「節」、「項」、又は「小項目」等で回答候補の絞り込みを実施してもよいし、構成単位の二以上の構成単位を組み合わせて回答候補の組み合わせを実施してもよい。
【０１２１】
他方で、ステップＳ２４においてＮｏの場合は、ステップＳ２６に進む。ステップＳ２６において、対話管理サーバ１は、質問文に対してマッチングした複数の文書のうち、例えば、最大検索スコアが所定スコア以上であるか否かを判定する。ステップＳ２４における「所定スコア」は、ステップＳ２０における「所定スコア」と同一であってもよいし、ステップＳ２０における「所定スコア」よりも高いスコアであってもよいし、低いスコアであってもよい。ステップＳ２６においてＹｅｓの場合、対話管理サーバ１は、ステップＳ４０に進み、例えば、質問文に対してマッチングした複数の文書のうち、検索スコアが高い文書を優先して回答候補として表示する。
【０１２２】
他方で、ステップＳ２６においてＮｏの場合は、ステップＳ２８に進む。ステップＳ２８において、対話管理サーバ１は、聞き返し回数が、例えば三回以上であるか否かを判定する。聞き返し回数が三回以上である場合（Ｙｅｓの場合）、対話管理サーバ１は、ステップＳ４０に進み、回答候補を表示する。他方で、聞き返し回数が三回を下回る場合（Ｎｏの場合）、対話管理サーバ１は、ステップＳ３２に進む。なお、聞き返し回数に関する設定回数「三回」はあくまで例示であって、設定回数は、他の回数であってもよい。
【０１２３】
ステップＳ３２において、対話管理サーバ１は、例えば、質問文から自然言語処理によって抽出された１又は複数の単語のそれぞれが、図１７に示す下位概念語辞書ＤＢ４４に登録されているか否かを判定する。対話管理サーバ１は、Ｙｅｓの場合は、ステップＳ３８に進み、Ｎｏの場合は、ステップＳ３４に進む。ステップＳ３４において、対話管理サーバ１は、過去の聞き返しで同じ質問文に対して提案（例えば、回答候補の表示）を実施したか否かを判定する。Ｙｅｓの場合は、ステップＳ４０に進み、Ｎｏの場合は、ステップＳ３６に進む。
【０１２４】
ステップＳ３６において、対話管理サーバ１は、各見出しに含まれるテキストデータにおける質問文から抽出された単語の出現頻度に基づいてスコアを算出し、算出したスコアを用いた回答出力情報を生成する。例えば、対話管理サーバ１は、ＴＦ又はＴＦ−ＩＤＦ等の手法を用いて、提案語を算出する。「提案語」とは、例えば、質問文のテキストデータを形態素解析して抽出された単語を含む単位情報における各見出しに含まれるテキストデータから抽出された単語のことをいう。より具体的には、対話管理サーバ１は、まず、例えば、図２２（Ａ）に示す質問文Ｔ７３を形態素解析して抽出した単語を含む文書の文書ＩＤを取得する。文書ＩＤは全説明文を構成する全文書を一意に特定する識別番号である。そして、対話管理サーバ１は、図２２（Ｂ）に示すような「見出し語リスト」を参照し文書ＩＤに基づいて、当該文書の見出しに使用される各単語を特定し、特定した各単語に対してＴＦ又はＴＦ−ＩＤＦを算出する。次に、対話管理サーバ１は、ＴＦ又はＴＦ−ＩＤＦに基づくスコア順に単語を並び替え、質問文に含まれている単語を除外した後、例えば上位１５語を提案語として出力する。そして、対話管理サーバ１は、図２２（Ａ）に示すように、出力した提案語を含む回答候補Ｔ７４を生成する。なお、提案語が存在しない場合、ステップＳ４０に進む。
【０１２５】
図２２（Ａ）に示すように、回答候補Ｔ７４に含まれる「関係しそうなものがない」という選択肢Ｓ１が選択される場合、ステップＳ１０に戻り、今回の質問文Ｔ７３と同一の質問文が入力された状態となる。つまり、ステップＳ３６から戻ったステップＳ１０において再度、質問文Ｔ７３と同一の質問文が入力された状態となる。なお、この場合、聞き返し回数は一回増加する。
【０１２６】
ステップＳ３８において、対話管理サーバ１は、質問文のテキストデータを形態素解析して抽出された１又は複数の単語に関連付けられた下位概念語を含む回答出力情報を生成する。対話管理サーバ１は、例えば、図２３に示す質問文Ｔ７６のテキストデータを形態素解析して抽出された単語（例えば、「口座」）に関して、図１８に示す下位概念語辞書ＤＢ４４を参照して、「口座」という単語に関連付けられた下位概念語（例えば、「預金口座」、「総合口座」等）を含む回答出力情報を生成する。
【０１２７】
図２３に示すように、回答候補Ｔ７７に含まれる「候補にない」という選択肢Ｓ３が選択される場合、ステップＳ１０に戻り、新たな質問文が入力された状態となる。その後、対話管理サーバ１は、質問文のテキストデータと、各単位情報に含まれるテキストデータとをマッチングして、回答候補を生成する際に、過去に生成された回答候補内に含まれた単語（例えば、「預金口座」、「総合口座」等）に対応する文書を除外した上で回答候補を生成する。この場合、聞き返し回数は一回増加する。また、回答候補Ｔ７７に含まれる「わからない」という選択肢Ｓ５が選択される場合、ステップＳ１０に戻り、今回の質問文Ｔ７６と同一の質問文が入力された状態となる。つまり、ステップＳ３８から戻ったステップＳ１０において再度、質問文Ｔ７６と同一の質問文を入力された状態となる。なお、この場合、聞き返し回数は一回増加する。また、通常はステップＳ３４を経て、ステップＳ４０に進む。
【０１２８】
（特徴）
以上説明したように、本発明の第９実施形態に係る対話管理サーバ１は、記録部１１と受付部１９と回答生成部２７とを備える。記録部１１は、説明文のテキストデータと、説明文に至る一又は複数の階層を識別するための情報及び階層の見出しを表すテキストデータとを対応付けた単位情報を複数有する構造化した形式の文書のデータ（文書情報ＢＩ）を記録する。受付部１９は、ユーザからの質問文のテキストデータを受け付ける。回答生成部２７は、受付部１９により受け付けられた質問文のテキストデータと、記録部１１に記録された各単位情報に含まれるテキストデータとをマッチングして、質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答出力情報を生成する。
【０１２９】
ここで、対話管理サーバ１は、回答生成部２７が、質問文のテキストデータを形態素解析して抽出された単語の、各単位情報における出現頻度に基づいてスコアを算出する。そして、回答生成部２７が、算出したスコアを用いて回答出力情報を生成する。したがって、質問文に関連する可能性が高い説明文を出力するものとなっている。さらに詳しくは、対話管理サーバ１は、回答生成部２７が、質問文のテキストデータを形態素解析して抽出された単語の、各単位情報における出現頻度と、抽出された単語が含まれる単位情報の、単位情報の総数に対する割合とに基づいてスコアを算出する。したがって、質問文に含まれる単語が特徴的なものである場合、これに関連する可能性が高い説明文を出力するものとなっている。
【０１３０】
したがって、単位情報のコンテンツにマニュアル等を反映させることで、組織内の業務効率化を図ることができ、且つ、ユーザの利便性を向上できる。また、単位情報に基づいて回答出力情報が生成されるので、当該業務マニュアルの活用を促進できる。
【０１３１】
第９実施形態に係る対話管理サーバ１は、第１合成語辞書ＤＢ１２Ａ及び／又は第２合成語辞書ＤＢ１２Ｂを備えるものである。したがって、ユーザが予め合成語を登録することで、登録された合成語に対する検索スコアを高くするように構成することができる。換言すると、業務効率化を誘導するように合成語を登録しておくことで可能である。
【０１３２】
本実施形態に係る対話管理サーバ１は、下位概念語辞書ＤＢ４４を備える。したがって、上述したように、質問文に含まれる上位概念の単語から下位概念の情報へと絞りこんでいくことができ、業務効率化を誘導することができる。
【０１３３】
第９実施形態に係る対話管理サーバ１は、回答生成部２７が、各見出しに含まれるテキストデータにおける質問文から抽出された単語を含む回答出力情報を生成する機能を有する。具体的には、回答生成部２７は、質問文のテキストデータを形態素解析して抽出された単語が下位概念語辞書に登録されていないと判定した場合、形態素解析して抽出された単語であって、各見出しに含まれるテキストデータにおける質問文から抽出された単語を含む回答出力情報を生成する。このような機能により、ユーザの利便性に資する対話を実現できる。
【０１３４】
第９実施形態に係る対話管理サーバ１は、質問文のテキストデータと、各単位情報に含まれるテキストデータとをマッチングして、質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文を含む回答候補（回答出力情報）を生成する。ここで、質問によっては、文書の構成単位に含まれるテキストデータよりも見出しの方が適切な回答を誘導する場合がある。よって、対話管理サーバ１は、各項目のテキストデータのみならず、見出しも含めてマッチングをすることで質問に関連する項目を適切に抽出することができる。
【０１３５】
なお、第９実施形態に係る対話管理サーバ１は、単語の出現頻度を示すＴＦ（Term Frequency）、又は、逆文書頻度を示すＩＤＦ（Inverse Document Frequency）に加えて、単位情報の長さ等の指標を用いて検索スコアを算出するものでもよい。換言すると、本実施形態に係る回答生成部２７が、質問文のテキストデータを形態素解析して抽出された単語の、各単位情報における出現頻度と、抽出された単語が含まれる単位情報の、単位情報の総数に対する割合と、単位情報の長さとに基づいてスコアを算出し、算出したスコアを用いて回答出力情報を生成するものでもよい。すなわち、本実施形態のスコア算出方法はBM25Similarityなどを含むものである。
【０１３６】
（変形例１）
本実施形態においては、図１７に示すユーザ端末装置６の表示部に表示する画面Ｇは様々な表示形態を採り得る。
【０１３７】
例えば、図２４に示すように、ユーザがユーザ端末装置６の不図示の入力装置（例えば、マウス）を操作することによって、複数の回答候補の一つのタイトル「（４０４．８６）管理編…１項：対象取引  冒頭」部分にカーソルＣを合わせた後、クリック操作（例えば、右クリック）を実行する。その場合、カーソルＣを合わせたときに、当該タイトル「（４０４．８６）管理編…１項：対象取引  冒頭」に関連する文書のうち、例えば、当該タイトルの「編」、「章」及び「節」までが一致する他の文書のリストＬを画面Ｇ上に表示するように構成してもよい。リストＬの内容はこれに限定されず、リストＬは、例えば、当該タイトルの「編」及び「章」までが一致する他の文書のリストＬを画面Ｇ上に表示してもよい。
【０１３８】
また、ユーザが、リストＬ内の複数の項目Ｉのうち、例えば、項目「１項：対象取引  ２．保険等」を、マウスを用いてクリック操作（例えば、左クリック）を実行して選択すると、タイトル「管理編  ２４章：ＣＲＳ制度  ２節：ＣＲＳ新規顧客確認の概要  １項：対象取引  ２．保険等」に対応する文書（例えば、業務マニュアルのｐｄｆファイル等）を確認できるように構成してもよい。なお、画面Ｇにおいて回答候補に画像を含む場合、図２４に示すように、他の回答候補の表示内容を視認するための障害にならないように、当該画像は、例えば所定サイズのサムネイル画像ＴＪの形式で表示されてもよい。
【０１３９】
また、例えば、図２５（Ａ）及び（Ｂ）に示すように、ユーザが、ユーザ端末装置６と接続されているマウスを操作することによって、回答候補の一つのタイトル「管理編…１項：概要  冒頭」部分にカーソルＣを合わせた後、マウスを用いてクリック操作（例えば、左クリック）を実行して選択すると、タイトル「管理編…１項：概要  冒頭」に関連付けて、当該タイトルに対応する文書内容ＤＣが画面Ｇ上に表示されるように構成してもよい。この構成によれば、ユーザは、特定のタイトルに対応する文書の内容を容易に把握することが可能である。
【０１４０】
また、例えば、図２６に示すように、ユーザが、ユーザ端末装置６と接続されているマウスを操作することによって、複数の回答候補の一つのタイトル「（６２１．０４）預金編…３節：入金  １．受付」部分にカーソルＣを合わせると（いわゆるマウスオーバーを実施すると）、当該タイトル「（６２１．０４）預金編…３節：入金  １．受付」に対応する文書の内容の少なくとも一部分を含むスニペット画像ＳＰが画面Ｇ上に表示するように構成してもよい。この構成によれば、ユーザは、特定のタイトルに対応する文書の内容の少なくとも一部を容易に把握することが可能である。
【０１４１】
（変形例２）
図２７に示すように、ユーザ端末装置６の表示部は、図１、１５、１６及び１７に示す各辞書の内容を変更可能な画面Ｇを表示可能である。図２７に示すように、ユーザは、まず、例えば、辞書検索欄Ｓ５において変更を希望する辞書の名称を入力し検索する。そして、空欄Ｓ１に追加したい単語を漢字表記等で入力し、空欄Ｓ３に追加したい単語の読み（例えば、カタカナ表記）を入力した後、追加ボタンＢ１が押下されると、辞書検索欄Ｓ５で検索された辞書に新たな単語が追加される。他方で、ユーザが、例えばユーザ端末装置６と接続されているマウスを操作することによって、削除ボタンＢ３を押下すると、削除ボタンＢ３に対応する、予め登録されている単語が辞書から削除される。また、ユーザにより変更ボタンＢ５が押下されると、変更ボタンＢ５に対応する、予め登録されている単語の内容を変更することが可能である。
【０１４２】
ユーザ端末装置６の表示部に表示される画面Ｇは、各辞書の内容を変更可能な画面に限られず、構造化文書の内容を変更可能な画面を含む。例えば、構造化文書の内容を変更可能な画面においては、図３に示すように、構造化文書の特定のＸＭＬ形式データに関して、文書の構成単位（編、章、節、項、小項目等）ごとに内容を変更可能である。
【０１４３】
（変形例３）
また、対話管理サーバ１は、質問文に対する回答候補（回答出力情報）をユーザ端末装置６の表示部に表示する際のタイミングを、質問文のテキストデータと、各単位情報に含まれるテキストデータとのマッチングの精度（検索スコア）に応じて変更するように構成してもよい。例えば、対話管理サーバ１の回答生成部２７は、所定の範囲内の検索スコアが算出された１又は複数の単位情報を抽出し、出力制御部３１は、抽出された単位情報の数に応じて、回答出力候補の出力時間を調整する。出力制御部３１は、検索スコアの類似度が近しい説明文が比較的多くマッチングした場合は、マッチングする文書の数が少ない場合に比べて、マッチングした説明文に対応する回答候補の表示のタイミング（質問に対する応答タイミング）を遅らせる。応答タイミングは例えば以下の数式（０）で表現される。
【０１４４】
（数０）
応答タイミング＝１[秒]＋０．２[秒]×（検索スコアの類似度が近しい単位情報の数）
応答タイミングは、例えば、質問文が入力されてから最長で２．５[秒]とする。また、応答タイミングが２．０〜２．５[秒]の場合は、出力制御部３１は、回答候補を画面Ｇ上に表示する前に、フィラー表現（例えば、「えーと」「うーん」等）を表示してもよい。
【０１４５】
この構成によれば、対話管理サーバ１は、質問文に対する回答候補をユーザ端末装置６の表示部に表示する際のタイミングを、質問文のテキストデータと、各単位情報に含まれるテキストデータとのマッチングの精度（検索スコア）に応じて変更する。よって、ユーザと対話管理サーバ１との対話がより自然に実行される。換言すると、対話管理サーバ１による出力を人間の反応に近づけることができる。また、出力制御部３１は、回答候補を画面Ｇ上に表示する前に、フィラー表現を表示することによって、回答候補の表示の遅れが、本実施形態における対話管理システムの異常によるものでないことを報知することが可能である。
【０１４６】
（変形例４）
また、対話管理サーバ１は、図１、１５、１６及び１７に示す各辞書の他、ストップワード辞書を更に備えるように構成してもよい。ストップワードとは、自然言語処理を実行する際に処理対象外とする単語のことをいい、例えば、助詞や接続詞の他、「いろいろ」や「ある程度」というような単語を含む。対話管理サーバ１は、ストップワード辞書を参照することにより、特定の単語を自然言語処理から除外することで、質問文に対して、マッチング精度の高い回答候補を生成することが可能になる。
【０１４７】
（変形例５）
また、対話管理サーバ１の回答生成部２７は、画面Ｇにおいて質問者に対応するアイコン画像又は回答者（対話管理サーバ１）に対応するアイコン画像の少なくとも一方の表示形態を、質問文に対する回答候補のための文書のマッチング精度に応じて変更するように構成してもよい。例えば、回答生成部２７は、検索スコアが比較的上位の一又は複数の単位情報の第１平均スコアと、一又は複数の単位情報の第１平均スコアより下位の第２平均スコアとの差分に応じて、回答候補に対応付けられた回答者に対応するアイコン画像の表示形態を変更する。具体的には、回答生成部２７は、検索スコアが高い順に上位１０件の単位情報に基づいて回答候補を生成する場合、１位〜５位の単位情報のスコアの平均を第１平均スコアとして算出し、６位〜１０位の単位情報のスコアの平均を第２平均スコアとして算出し、それらの差分に応じてアイコン画像の表示態様を変更する。
【０１４８】
また、回答者に対応するアイコン画像が顔画像である場合、回答生成部２７は、質問及び回答を含む対話を継続して質問の質が向上するにつれて、表示を変化させるようにしてもよい。例えば、図２８に示す例では、キャラクターのアイコンＫが、無表情の顔画像（図２９参照）から笑顔の顔画像（図３０参照）に変化する。また、顔画像の変化に代えて、もしくは組み合わせて、カラースケールなどを用いて質問文に対する質の向上度合いを表現してもよい。
【０１４９】
（変形例６）
また、対話管理サーバ１の回答生成部２７は、質問文のテキストデータに含まれる合成語であって、例えば、第１合成語辞書ＤＢ１２Ａ又は第２合成語辞書ＤＢ１２Ｂに登録されている合成語の数に応じて、回答候補に対応付けられた回答者に対応するアイコン画像の表示形態を変更するように構成してもよい。予め合成語辞書ＤＢ１２Ａ及び１２Ｂに登録されている合成語を含む質問文が入力されるということは、質問の質が向上していることの裏付けである。よって、上記と同様に、例えば、回答者に対応するアイコン画像が顔画像である場合、回答生成部２７は、質問及び回答を含む対話を継続して質問の質が向上するにつれて、表示を変化させるようにしてもよい。前述同様、図２８に示すように、キャラクターのアイコンＫが、無表情の顔画像（図２９参照）から笑顔の顔画像（図３０参照）に変化するようにしてもよい。また、顔画像の変化に代えて、もしくは組み合わせて、カラースケールなどを用いて質問文に対する質の向上度合いを表現してもよい。
【０１５０】
（変形例７）
また、第９実施形態に係る対話管理サーバ１は、例えばＴＦ−ＩＤＦを用いる手法により単位情報の検索スコアを算出するが、検索スコアの算出に際し、項目毎に算出したスコアの合計値を用いてもよいし、項目毎に算出したスコアに重みに乗じて求めた合計値を用いてもよい。また、項目毎のスコアのうち最大のスコアを有するものを検索スコアとして採用してもよい。さらに、項目毎に算出したスコアに重みに乗じて求めたスコアのうち最大のスコアを有するものを検索スコアとして採用してもよい。例えば、対話管理サーバ９は、説明文から算出されたスコアと、一の見出しから算出されたスコアとのうちの大きい方のスコアを用いて回答出力情報を生成するものでもよい。
【０１５１】
（変形例８）
また、第９実施形態に係る対話管理サーバ１は、説明文が複数の文章から構成される場合、以下のような手法により検索スコアを補正してもよい。なお、これらの手法による補正は情報処理部１０において実行される。
【０１５２】
（Ａ）単語間距離を用いたスコア補正
まず、入力された質問文を形態素解析して単語を抽出する。続いて、抽出した単語と説明文を構成する各文章の単語とのマッチングを行う。抽出した単語の全てがマッチした場合、マッチした単語間距離を計測する。そして、単語間距離を用いて「単語間補正係数ｈａ」を算出し、この単語間補正係数ｈａを乗算することで単位情報の検索スコアを補正する。
【０１５３】
例えば、抽出した単語がＡ，Ｂ，Ｃの３単語である場合、各文章を単語分割し、単語Ａと単語Ｂの出現位置を求める。そして、単語Ａの出現位置と単語Ｂの出現位置との絶対値の最小値を求める。単語Ｂと単語Ｃ、単語Ｃと単語Ａに関しても同様の処理を行う。次に、これらの最小値の平均値を「単語間距離」として算出する。そして、単語間距離を用いて「単語間補正係数ｈａ」を算出する。単語間補正係数ｈａは、例えば下数式（１）で算出される。
【０１５４】
（数１）
単語間補正係数ｈａ＝（１１−単語間距離）×０．０１×ａ＋１
そして、単語間距離に基づいて単位情報の検索スコアを補正する。なお、ここでは、単語間距離は１１以上増加しないものとする。例えば単語間距離が１２となった場合は１１に置換して単語間補正係数が算出される。また、定数ａは適宜調整可能な数値である。
【０１５５】
例えば、抽出した単語Ａ，Ｂ，Ｃの３単語に対して、単語間距離が３で定数ａ＝１の場合、単語間補正係数ｈａは１．０８となる。そこで、単語間補正係数ｈａ＝１．０８を乗算し、単位情報の検索スコアを補正する。
【０１５６】
（Ｂ）各文章での単語出現回数を用いたスコア補正
まず、入力された質問文を形態素解析して単語を抽出する。続いて、抽出した単語と説明文を構成する各文章の単語とのマッチングを行う。ここでは、一の単位情報内の説明文に含まれる単語とマッチした単語数の最大値を「単語出現回数」と設定し、その最大値を持つ文章の数を「最大文章数」とする。そして、単語出現回数及び最大文章数を用いて「出現回数補正係数ｈｂ」を算出し、この出現回数補正係数ｈｂを乗算することで単位情報の検索スコアを補正する。なお、出現回数補正係数ｈｂは、次の数式（２）で算出される。ここで、定数ｂ１、ｂ２は適宜調整可能な数値である。
【０１５７】
（数２）
出現回数補正係数ｈｂ=（単語出現回数×０．０１×定数ｂ１）＋（（最大文章数−１）×０．０１×定数ｂ２）＋１
【０１５８】
（Ｃ）各文章との類似度を用いたスコア補正
（Ｃ１）事前処理
まず、事前処理について説明する。各説明文を構成する各文章に文章ＩＤを設定する。次に、各文章を形態素解析して単語を抽出する。そして、所定のニューラルネットワークを用いて、各文章ＩＤ及び各単語の固定長ベクトルを獲得する。
【０１５９】
ここでのニューラルネットワークは、例えば、文章ＩＤ＝ｕの文章（ｕ番目の文章）に含まれる連続する単語ｗ（ｔ−２），ｗ（ｔ−１）から次に続く単語ｗ（ｔ）を推測するものである。
【０１６０】
詳しくは、入力層に、ｄ（ｕ），ｗ（ｔ−２），ｗ（ｔ−１）の情報が入力される。ｄ（ｕ）は、文章ＩＤ＝ｕの文章をone-hotベクトルで表現したものであり、（Ｕ＋１）次元を有する。ｗ（ｔ）は、ｔ番目の単語のone-hotベクトルで表現したものであり、（Ｎ＋１）次元を有する。なお、全文章数はＵ，全単語数はＮ，ベクトル化次元数はＳとする。
【０１６１】
次に、中間層に、入力層から送られてきた情報が、次数式（３）を用いてＳ次元ベクトルの情報に変換される。
（数３）
ｈ＝ａｖｅｒａｇｅ（ｄ（ｕ）Ｄ＋ｗ（ｔ−２）Ｗ＋ｗ（ｔ−１）Ｗ）
ここで「ａｖｅｒａｇｅ」は平均を意味する。また記号Ｄは文章重み行列を表しており、（Ｕ＋１）行Ｓ列の要素を有するものである。また記号Ｗは単語重み行列を表しており、（Ｎ＋１）行Ｓ列の要素を有するものである。
【０１６２】
続いて、出力層に、中間層から送られてきた情報が、次数式（４）を用いて（Ｎ＋１）次元ベクトルの情報に変換される。
（数４）
ｈ＝ｓｏｆｔｍａｘ（ｈＷ’）
ここで「ｓｏｆｔｍａｘ」はソフトマックス関数を意味する。また記号Ｗ’は単語重み行列Ｗの転置行列である。
【０１６３】
そして、出力層から出力された情報と、推測する単語ｗ（ｔ）とを比較し、両者の差分を減らすように、文章重み行列Ｄ，単語重み行列Ｗの要素を更新する。全ての文章及び単語について同様の処理を行ない、文章重み行列Ｄ，単語重み行列Ｗの更新を繰り返す。この結果、文章重み行列Ｄのｕ行目が文章ＩＤ＝ｕの文章の固定長ベクトルに対応することになる。また、単語重み行列Ｗのｔ行目がｔ番目の単語の固定長ベクトルに対応することになる。
【０１６４】
（Ｃ２）推論処理
次に、推論処理について説明する。質問文が入力されると、入力された質問文を形態素解析して単語を抽出する。次に、事前処理で用いたのと同じニューラルネットワークを用いて、質問文の固定長ベクトルを獲得する。ここでは、質問文に含まれる連続する単語ｗ（ｔ−２），ｗ（ｔ−１）から次に続く単語ｗ（ｔ）を推測するタスクを行なう。入力層には、ｄ（Ｕ＋１），ｗ（ｔ−２），ｗ（ｔ−１）の情報が入力される。ｄ（Ｕ＋１）は、入力される文章（＝質問文）をone-hotベクトルで表現したものであり、（Ｕ＋１）次元を有する。ｗ（ｔ）は、ｔ番目の単語のone-hotベクトルで表現したものであり、（Ｎ＋１）次元を有する。質問文に、未知の単語が含まれている場合は、ｗ（Ｎ＋１）に情報が格納される。また、中間層には、入力層から送られてきた情報が、次数式（５）を用いてＳ次元ベクトルの情報に変換される。
【０１６５】
（数５）
ｈ＝ａｖｅｒａｇｅ（ｄ（Ｕ＋１）Ｄ＋ｗ（ｔ−２）Ｗ＋ｗ（ｔ−１）Ｗ）
続いて、出力層に、中間層から送られてきた情報が入力され、次数式（６）を用いて（Ｎ＋１）次元ベクトルの情報に変換される。
【０１６６】
（数６）
ｈ＝ｓｏｆｔｍａｘ（ｈＷ’）
出力層から出力された情報と、単語ｗ（ｔ）とを比較し、両者の差分を減らすように、文章重み行列Ｄの要素を更新する。質問文に存在する全ての文章及び単語について同様の処理を行なう。そして、文章重み行列Ｄの最終行を、入力された質問文に対応する固定長ベクトルとする。
【０１６７】
次に、入力された質問文の固定長ベクトルと各文章ＩＤに対応する固定長ベクトルとのコサイン類似度を算出する。そして、一の単位情報における説明文内でのコサイン類似度の最大値を最大類似度として算出する。続いて、最大類似度から「類似度補正係数ｈｃ」を算出し、この類似度補正係数を乗算することで単位情報の検索スコアを補正する。なお、類似度補正係数ｈｃは、次の数式（７）で算出される。なお、定数ｃは適宜調整可能な数値である。
【０１６８】
（数７）
類似度補正係数ｈｃ＝（最大類似度×定数ｃ）＋１
例えば、最大類似度ｍｓ＝０．８で定数ｃ＝０．１の場合、類似度補正係数ｈｃ＝１．０８となる。
【０１６９】
上記説明において、質問文の固定長ベクトルを獲得するのに、上述したニューラルネットワークを用いたが、文章の固定ベクトルが生成できるものであれば、任意の文章モデルを採用することができる。
【０１７０】
なお、本発明者らによれば、一例として、単位情報の説明文の数が５００程度、説明文を構成する文章の総数Ｕが５０００程度、それらに用いられる単語数Ｎが１０００００語で５０００種程度のときに、ベクトル化次元数Ｓを１００〜５００程度とした場合には、質問文の固定長ベクトルに有意な情報を持たせることができることが確認された。
【０１７１】
＜第１０実施形態＞
第１０実施形態では、第９実施形態に係る対話管理サーバ１において、見出しが複数存在し、各見出し及び説明文との優先順位を設定した上で検索スコアを算出するものである。すなわち、第１０実施形態に係る対話管理サーバ１では、単位情報に含まれる見出し（階層）は複数あり、記録部１１が階層毎に重みを有し、回答生成部２７が重みを用いてスコアを算出する。第１０実施形態の他の構成は第９実施形態と同様である。第１０実施形態に係る対話管理サーバ１では、ＴＦ−ＩＤＦなどの手法により検索スコアを算出するが、各階層に応じた項目毎に算出したスコアの合計値を検索スコアとしてもよいし、項目毎に算出したスコアに重みに乗じて求めた合計値を検索スコアとしてもよい。また、項目毎のスコアのうち最大のスコアを有するものを検索スコアとして採用してもよい。さらに、項目毎に算出したスコアに重みに乗じて求めたスコアのうち最大のスコアを有するものを検索スコアとして採用してもよい。
【０１７２】
また、第１０実施形態に係る対話管理サーバ１は、重み決定装置１５０により各階層に応じた項目毎の重みが自動的に決定されるものでもよい。なお、重み決定装置１５０は対話管理サーバ１と同一の装置に組み込まれてもよいし、図３１に示すように、ネットワークＮを介して接続されるものでもよい。具体的には、重み決定装置１５０は、図３２，３３，３４に示すような処理を実行する。なお、重み決定装置１５０はコンピュータにより構成されており、その情報処理部１５５により各種処理が実行される。
【０１７３】
（Ａ）重み候補リストの作成
まず、重み決定装置１５０は、複数の階層から任意のｎ番目の階層を「第１階層」として選択する（ステップＳＴ１１）。ここでは、階層は９つあるとする。また、一例として、第１番目の階層（ｎ＝１）が第１階層として選択されるものとする。次に、第１階層の重み（ここでは、ｐ（１））を、初期値リストの中から選択する（ステップＳＴ１２）。初期値リストには、階層毎にとり得る重みの候補値が格納されている。具体的には、初期値リストには、図３５に示すように、１００から１００００までの数値が１００の間隔で並んで格納されている。ここでは、第１階層の重みとして、第１番目の重みｐ（１）＝１００が選択されるものとする。
【０１７４】
続いて、情報処理部１５５により、第１階層以外の階層の重みｐ（ｉ≠ｎ）、すなわち重みｐ（２）〜ｐ（９）が、下数式（８）で定義される第１重み演算式から算出される（ステップＳＴ１３）。なお、ｉは階層の番号を意味している。また、ここでは、「重みの初期最大値」は１００００に設定される。
【０１７５】
【数８】
2020184294.tif 000003
【０１７６】
そして、ステップＳＴ１１により選択された第１階層の重みｐ（１）とステップＳＴ１３により算出された第１階層以外の階層の重みｐ（２）〜ｐ（９）とを含む第１重みセットを用いて、サンプル質問文Ｑに対応するサンプル回答Ａに一致する説明文の検索スコアの順位を算出する（ステップＳＴ１４）。すなわち、重み決定装置１５０は、対話管理サーバ１に重みセットｐ（１）〜ｐ（９）を設定して、サンプル質問文Ｑを入力する（ステップＳＴ１４ａ〜１４ｃ）。そして、検索スコア順に回答を抽出する（ステップＳＴ１４ｄ，ＳＴ１４ｅ）。出力される回答に、サンプル回答Ａと一致するものがあるか否かを判定し、一致する場合、その順位を抽出する（ステップＳＴ１４ｆ−Ｙｅｓ，１４ｇ）。ここで、サンプル質問文Ｑとサンプル回答Ａとは一対一に対応しており、複数のサンプル質問文とサンプル回答との組が対話管理サーバ１に順次入力される。すなわち、複数のサンプル質問文及びサンプル回答の組に対して、複数の順位が個別に抽出される（ステップＳＴ１４ｈ，ＳＴ１４ｉ）。
【０１７７】
続いて、情報処理部１５５は、ステップＳＴ１４により算出された順位と下数式（９）及び（１０）で表されるポイント演算式とに基づいて第１重みセットに対するポイントを算出する（ステップＳＴ１５）。
【０１７８】
【数９】
2020184294.tif 000004
【数１０】
2020184294.tif 000005
【０１７９】
なお、Ｓはサンプル質問文の総数である。また、ｇ（ｓ）はステップＳＴ１４により算出された順位の値が１１以上の場合は０以下の任意の数値（例えば−１０）となる。例えば、サンプル質問文が７つあり、各サンプル質問文に対応するサンプル回答に一致する回答の検索順位がそれぞれ３，１，１，２，１，１３，４の場合、ポイントは小数点２桁目を四捨五入して６２．９と算出される。
【０１８０】
次に、ステップＳＴ１２に戻り、第１階層に対して他の重み（ｐ（１）＝１００以外）を選択し、ステップＳＴ１３、ステップＳＴ１４及びステップＳＴ１５を、第１階層がとり得る全ての重みが選択されるまで繰り返し実行する（ステップＳＴ１６）。
【０１８１】
続いて、ステップＳＴ１５で得られたポイントの最大値を抽出し、このポイントの最大値に基づいてステップＳＴ１１で選択した第１階層に対するポイントの閾値を算出する（ステップＳＴ１７）。具体的には、ポイントの最大値に所定の定数（０．９など）を乗算することで得られた値を閾値と設定する。
【０１８２】
次に、ステップＳＴ１５により算出されたポイントがステップＳＴ１７により算出された閾値以上であるときの第１階層の重みを特定し、それ以外の重みを除いたものに初期値リストを更新する（ステップＳＴ１８）。
【０１８３】
そして、ステップＳＴ１１に戻り、第１階層として他の全ての階層が選択されるまで、ステップＳＴ１２〜ＳＴ１８を繰り返し実行する（ステップＳＴ１９）。これにより、初期値リストが更新される。
【０１８４】
次に、複数の階層から任意のｍ番目の階層を「第２階層」として選択する（ステップＳＴ２１）。ここでは、第５番目の階層（ｍ＝５）が第２階層として選択されるものとする。続いて、第２階層以外の階層の重みｐ（１）〜ｐ（４），ｐ（６）〜ｐ（９）の最小値の合計値から第２階層の重みｐ（５）の最大値を算出する（ステップＳＴ２２）。
【０１８５】
そして、ステップＳＴ２１で、第２階層として他の階層（ここでは第５番目以外の階層）を選択し、ステップＳＴ２２を繰り返し実行する（ステップＳＴ２３）。そして、全ての階層の選択が終了するまで同様の処理を実行して、初期値リストから図３６に示すような「重み候補リスト」を生成する（ステップＳＴ２４）。換言すると、ステップＳＴ２２で、第２階層の重みｐ（ｍ）の最大値より大きい重みを初期値リストから除外することで重み候補リストを生成する。
【０１８６】
（Ｂ）重みの設定
まず、重み決定装置１５０の情報処理部１５５が、複数の階層から任意のｏ番目の一階層を「第３階層」として選択する（ステップＳＴ３１）。ここでは、第９番目の階層が選択されるものとする。次に、情報処理部１５５は、選択された階層以外の重みｐ（１）〜ｐ（８）を、重み候補リストからランダムに抽出する（ステップＳＴ３２）。次に、情報処理部１５５は、ステップＳＴ３２により抽出された重みｐ（１）〜ｐ（８）を用いて下記の重み演算数式（１１）から、ステップＳＴ３１により選択された階層の重みｐ（９）を算出する（ステップＳＴ３３）。
【０１８７】
【数１１】
2020184294.tif 000006
なお、右辺第２項は第３階層以外の階層の総和を表している。また、ここでは、「重みの初期最大値」は１００００に設定される（図３５参照）。
【０１８８】
ここで、算出した第３階層の重みｐ（９）が重み候補リストに存在しない場合は、算出結果を破棄し、ステップＳＴ３２に戻る（ステップＳＴ３４）。
【０１８９】
次に、情報処理部１５５は、ステップＳＴ３３により算出された重みｐ（９）とステップＳＴ３２により抽出された重みｐ（１）〜ｐ（８）とを含む重みセットを用いて、サンプル質問文Ｑに対応するサンプル回答Ａに一致する説明文のスコアの順位を算出する（ステップＳＴ３５）。すなわち、重み決定装置１５０は、対話管理サーバ１に重みセットｐ（１）〜ｐ（９）を設定して、サンプル質問文Ｑを入力する。そして、検索スコア順に回答を出力する。出力される回答に、サンプル回答Ａと一致するものがあるか否かを判定し、一致する場合、その順位を出力する。なお、サンプル質問文Ｑとサンプル回答Ａとは一対一に対応している。複数のサンプル質問文とサンプル回答との組が対話管理サーバ１に順次入力される。すなわち、複数のサンプル質問文及びサンプル回答の組に対して、複数の順位が個別に算出される。なお、ステップＳＴ３５の処理は前述したステップＳＴ１４と同様である（図３３参照）。
【０１９０】
次に、情報処理部１５５は、算出された順位と上述した数式（９），（１０）とに基づいて重みセットに対するポイントを算出する（ステップＳＴ３６）。そして、ステップＳＴ３２〜ステップＳＴ３６までを所定回数実行する（ステップＳＴ３７）。ここでは、１０万回繰り返し処理を実行する。そして、１０万回実行した後のポイントに基づいて各階層の重みを決定する（ＳＴ３８）。具体的には、ポイントを１０万回算出したうち、ポイントの値が最大値を有するときの重みセットを各階層の重みとして決定する。
【０１９１】
＜第１１実施形態＞
第１１実施形態では、第９実施形態に係る対話管理サーバ１において、第１合成語辞書ＤＢ１２Ａ又は第２合成語辞書ＤＢ１２Ｂに登録された合成語の妥当性を判定する。以下、便宜上、第１合成語辞書ＤＢ１２Ａに登録された合成語の妥当性を判定するものについて説明するが、第２合成語辞書１２Ｂに登録された合成語の妥当性についても同様の処理で判定できる。
【０１９２】
具体的には、第９実施形態に係る対話管理サーバ１は、妥当性判定装置２００により第１合成語辞書ＤＢ１２Ａの妥当性が判定される。なお、妥当性判定装置２００は対話管理サーバ１と同一の装置に組み込まれてもよいし、図３７に示すように、ネットワークＮを介して接続されるものでもよい。
【０１９３】
妥当性判定装置２００は、図３８に示すような処理を実行する。妥当性判定装置２００はコンピュータにより構成されており、その情報処理部２０５により各種処理が実行される。
【０１９４】
まず、妥当性判定装置２００の情報処理部２０５が、第１合成語辞書ＤＢ１２Ａの内容を複製した「複製辞書」を生成する（ステップＳＴ５１）。次に、情報処理部２０５は、対話管理サーバ１の第１合成語辞書ＤＢ１２Ａを初期化する（ステップＳＴ５２）。なお、以下に示す処理を中断する場合は、複製辞書で上書きすることで第１合成語辞書ＤＢ１２Ａを元の状態に戻す。
【０１９５】
ステップＳＴ５２の後で初期化された第１合成語辞書ＤＢ１２Ａを用いて、サンプル質問文Ｑに対応するサンプル回答Ａに一致する説明文のスコアの順位を算出する（ステップＳＴ５３）。具体的には、サンプル質問文Ｑを入力する。そして、検索スコア順に回答を出力する。出力される回答に、サンプル回答Ａと一致するものがあるか否かを判定し、一致する場合、その順位を出力する。なお、サンプル質問文Ｑとサンプル回答Ａとは一対一に対応している。また、複数のサンプル質問文とサンプル回答との組が対話管理サーバ１に順次入力される。すなわち、複数のサンプル質問文及びサンプル回答の組に対して、複数の順位が個別に算出される。なお、このようなステップＳＴ５３の処理は前述したステップＳＴ１４と同様である（図３３参照）。
【０１９６】
そして、情報処理部２０５は、ステップＳＴ５３により算出された順位と下数式（１２）及び（１３）で表される所定のポイント演算式とに基づいてポイントを算出する（ステップＳＴ５４）。
【数１２】
2020184294.tif 000007
【数１３】
2020184294.tif 000008
【０１９７】
次に、情報処理部２０５は、複製辞書に登録された合成語から任意の合成語を抽出して、初期化された後の第１合成語辞書１２Ａに登録する（ステップＳＴ５５）。
【０１９８】
続いて、情報処理部２０５は、ステップＳＴ５５の登録後の第１合成語辞書ＤＢ１２Ａを用いて、サンプル質問文に対応するサンプル回答に一致する説明文のスコアの順位を算出する（ステップＳＴ５６）。
【０１９９】
続いて、情報処理部２０５は、ステップＳＴ５６により算出された順位と所定のポイント演算式とに基づいて、ステップＳＴ５５により抽出された合成語に対するポイントを算出する（ステップＳＴ５７）。
【０２００】
そして、情報処理部２０５は、ステップＳＴ５４により算出されたポイントと、ステップＳＴ５７により算出されたポイントとの比較から、合成語の妥当性を判定する（ステップＳＴ５８）。ここでは、ポイントが上昇していれば、ステップＳＴ５５で登録された合成語の妥当性は高いと判定される。一方、ポイントが下降していれば、ステップＳＴ５５で登録された合成語の妥当性は低いと判定される。妥当性が低いと判定された単語は、削除候補単語として記録される。
【０２０１】
この後は、複製辞書に登録されている合成語を一語ずつ登録し、全ての合成語が登録されるまで同様の処理を繰り返す（ステップＳＴ５９）。ただし、情報処理部２０５は、ステップ５８において、ステップＳＴ５４により算出されたポイントとステップＳＴ５７により算出されたポイントとの比較に替えて、ステップＳＴ５７により算出されたポイントと前回（新たな合成語が登録される前）のステップＳＴ５７により算出されたポイントとの比較から、合成語の妥当性を判定する。
【０２０２】
以上説明したように、本実施形態に係る妥当性判定装置２００は、初期化ステップ後の第１合成辞書に、複製辞書に登録されている合成語を登録し、その登録の前後のポイントを比較する。これにより、第１合成語辞書ＤＢ１２Ａに登録された合成語が妥当であるか否かを判定できる。なお、第２合成語辞書ＤＢ１２Ｂに登録された合成語についても同様の処理を実行することで妥当性を判定できる。
【０２０３】
＜第１２実施形態＞
図３９は本発明の第１２実施形態に係る対話管理システムの構成を示す模式図である。第１２実施形態に係る対話管理サーバ１は、単語分散表現データベース（ＤＢ）２０１をさらに備える。
【０２０４】
単語分散表現ＤＢ２０１は、任意の単語の分散表現を記憶するデータベースである。ここで「単語の分散表現」とは、各単語の特徴が格納された固定長ベクトルであり、一単語に対してベクトル形式の数値表現が一対一で対応するものである。
【０２０５】
また、本実施形態に係る回答生成部２７は、以下のように動作する。まず、回答生成部２７は、質問文のテキストデータを形態素解析して抽出された単語から、所定のルールで単語を選択する。ここでは、形態素解析により複数の単語が抽出された場合、一番長い単語が選択される。続いて、回答生成部２７は、選択された単語に関し、分散表現において一定距離以内にある単語を「関連語」として単語分散表現ＤＢ２０１から抽出する
【０２０６】
次に、回答生成部２７は、質問文のテキストデータを解析して抽出された単語及び関連語の、各単位情報における出現頻度に基づいてスコアを算出する。そして、回答生成部２７は、算出したスコアを用いて回答出力情報を生成する。
【０２０７】
例えば、回答生成部２７は、「ＥＴＣカードの清算」などの表現が質問文に含まれている場合、当該表現を「ＥＴＣカード」「清算」の２単語に形態素解析する。ここでは、前提として「ＥＴＣカード」が第１合成語辞書ＤＢ１２Ａ又は第２合成語辞書ＤＢ１２Ｂに登録されているものとする。次に、回答生成部２７は、「ＥＴＣカード」と「清算」の２単語のうち、文字数の長い単語である「ＥＴＣカード」を選択する。続いて、回答生成部２７は、単語分散表現で「ＥＴＣカード」と一定距離以内にある単語を関連語として抽出する。ここでは、例えば、関連語として「車」「クレジットカード」などを単語が関連語として抽出される。そして、回答生成部２７は、これらの関連語も含めて検索スコアを算出し、検索スコアの高い順に単位情報から回答出力情報を生成する。
【０２０８】
なお、関連語が抽出されない場合は、形態素解析された単語に基づいて回答出力情報が生成される。
【０２０９】
上述したように、本実施形態に係る対話管理サーバ１では、関連語も含めて文書情報ＢＩを検索するので、ユーザに必要な情報を提示する確率を高めることができる。
【０２１０】
なお、上記各実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するものではない。本発明はその趣旨を逸脱することなく、変更／改良され得るとともに、本発明にはその等価物も含まれる。また、本発明は、上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の開示を形成できるものである。例えば、実施形態に示される全構成要素から幾つかの構成要素は削除してもよいものである。さらに、異なる実施形態に構成要素を適宜組み合わせてもよいものである。
【０２１１】
また、フローチャートの各ステップは、必ずしも上記したステップとおりに実行される必要はない。例えば、図４に示すステップＳ１、Ｓ３及びＳ５は、ステップＳ７の後に実行されてもよい。
【符号の説明】
【０２１２】
１…対話管理サーバ、４…対話ログＤＢ、６…ユーザ端末装置、８…オペレータ端末装置、１０…情報処理部、１１…記録部、１２…専門用語辞書ＤＢ、１２Ａ…第１合成語辞書ＤＢ、１２Ｂ…第２合成語辞書ＤＢ、１３…同義語辞書ＤＢ、１４…除外用語辞書ＤＢ、１５…取得部、１７…データ変換部、１９…受付部、２１…自然言語処理部、２３…重み付け設定部、２４…、逆文書頻度ＤＢ、２７…回答生成部、２９…対話結果管理部、３１…出力制御部、３３…音声認識処理部、３５…音声対話管理部、４４…下位概念語辞書ＤＢ、４６…ショートトークＤＢ、１００…対話管理システム、１５０…重み決定装置、１５５…情報処理部、２００…妥当性判定装置、２０１…単語分散表現ＤＢ、２０５…情報処理部
【図１】
2020184294.tif 000009
【図２】
2020184294.tif 000010
【図３】
2020184294.tif 000011
【図４】
2020184294.tif 000012
【図５】
2020184294.tif 000013
【図６】
2020184294.tif 000014
【図７】
2020184294.tif 000015
【図８】
2020184294.tif 000016
【図９】
2020184294.tif 000017
【図１０】
2020184294.tif 000018
【図１１】
2020184294.tif 000019
【図１２】
2020184294.tif 000020
【図１３】
2020184294.tif 000021
【図１４】
2020184294.tif 000022
【図１５】
2020184294.tif 000023
【図１６】
2020184294.tif 000024
【図１７】
2020184294.tif 000025
【図１８】
2020184294.tif 000026
【図１９】
2020184294.tif 000027
【図２０】
2020184294.tif 000028
【図２１】
2020184294.tif 000029
【図２２】
2020184294.tif 000030
【図２３】
2020184294.tif 000031
【図２４】
2020184294.tif 000032
【図２５】
2020184294.tif 000033
【図２６】
2020184294.tif 000034
【図２７】
2020184294.tif 000035
【図２８】
2020184294.tif 000036
【図２９】
2020184294.tif 000037
【図３０】
2020184294.tif 000038
【図３１】
2020184294.tif 000039
【図３２】
2020184294.tif 000040
【図３３】
2020184294.tif 000041
【図３４】
2020184294.tif 000042
【図３５】
2020184294.tif 000043
【図３６】
2020184294.tif 000044
【図３７】
2020184294.tif 000045
【図３８】
2020184294.tif 000046
【図３９】
2020184294.tif 000047
【手続補正書】
【提出日】令和2年4月3日(2020.4.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
説明文のテキストデータと、前記説明文に至る一又は複数の階層を識別するための情報及び前記階層の見出しを表すテキストデータとを対応付けた単位情報を複数有する構造化した形式の文書のデータを記録する記録部と、
ユーザからの質問文のテキストデータを受け付ける受付部と、
前記受付部により受け付けられた質問文のテキストデータと、前記記録部に記録された各単位情報に含まれるテキストデータとをマッチングして、前記質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答出力情報を生成する回答生成部と、
を備え、
所定の単語と、前記単語の下位概念である下位概念語とを関連付けて登録された下位概念語辞書を記憶する下位概念語辞書記憶部をさらに備え、
前記回答生成部は、
前記質問文のテキストデータを形態素解析して抽出された単語が前記下位概念語辞書に登録されていると判定した場合、前記単語に関連付けられた前記下位概念語を含む回答出力情報を生成する、
対話管理サーバ。
【請求項２】
前記回答生成部は、
前記質問文のテキストデータを形態素解析して抽出された単語の、各単位情報における出現頻度に基づいて、各単位情報のスコアを算出し、
算出したスコアを用いて回答出力情報を生成する、
請求項１に記載の対話管理サーバ。
【請求項３】
前記回答生成部は、
前記質問文のテキストデータを形態素解析して抽出された単語の、各単位情報における出現頻度と、抽出された単語が含まれる単位情報の、単位情報の総数に対する割合とに基づいて、各単位情報のスコアを算出し、
算出したスコアを用いて回答出力情報を生成する、
請求項１又は２に記載の対話管理サーバ。
【請求項４】
所定の名詞の単語に他の単語を合成した合成語が登録された第１合成語辞書を記憶する第１合成語辞書記憶部をさらに備え、
前記回答生成部は、
前記質問文のテキストデータを形態素解析して抽出された単語が前記第１合成語辞書に登録されていると判定した場合、前記抽出された単語の、各単位情報における出現頻度に基づいて第１スコアを算出するとともに、各単位情報における、前記合成語の出現頻度に基づいて第２スコアを算出し、
前記第１スコア及び前記第２スコアを用いて回答出力情報を生成する、
請求項１から３のいずれか一項に記載の対話管理サーバ。
【請求項５】
所定の名詞の単語と、前記単語に他の単語を合成した合成語とが関連付けて登録された第２合成語辞書を記憶する第２合成語辞書記憶部をさらに備え、
前記回答生成部は、
前記質問文のテキストデータを形態素解析して抽出された単語が前記第２合成語辞書に登録されていると判定した場合、前記抽出された単語、前記名詞の単語に合成した他の単語、及び前記合成語のそれぞれに対する、各単位情報における出現頻度に基づいてスコアを算出し、前記スコアを用いて回答出力情報を生成する、
請求項１から３のいずれか一項記載の対話管理サーバ。
【請求項６】
前記回答生成部は、前記質問文のテキストデータを形態素解析して抽出された単語を含む単位情報の各見出しに含まれるテキストデータに基づいて回答出力情報を生成する、
請求項１から５に記載の対話管理サーバ。
【請求項７】
前記回答生成部は、前記質問文に関連する単位情報を抽出できなかった場合、前記質問文を形態素解析して抽出された単語に基づく所定の回答文に対応する回答出力情報を生成する、
請求項１から６のいずれか一項に記載の対話管理サーバ。
【請求項８】
前記回答生成部は、
前記質問文のテキストデータを形態素解析して抽出された単語の、各単位情報における出現頻度と、抽出された単語が含まれる単位情報の、単位情報の総数に対する割合と、前記単位情報の長さとに基づいて各単位情報のスコアを算出し、
算出したスコアを用いて回答出力情報を生成する、
請求項１から７のいずれか一項に記載の対話管理サーバ。
【請求項９】
前記説明文は一以上の文章を含んでおり、
前記回答生成部は、
前記質問文のテキストデータの形態素解析に基づいて、前記質問文に関連する単位情報のスコアを算出し、
前記形態素解析をして抽出した単語と、前記説明文に含まれる文章を構成する単語とを比較し、互いに異なる第１単語及び第２単語を特定した場合、前記第１単語の出現位置と前記第２単語の出現位置との単語間距離に基づいて前記単位情報のスコアを補正し、
前記スコアを用いて回答出力情報を生成する、
請求項１から８のいずれか一項に記載の対話管理サーバ。
【請求項１０】
前記回答生成部は、
前記質問文のテキストデータの形態素解析に基づいて、前記質問文に関連する単位情報のスコアを算出し、
前記形態素解析をして抽出した単語と、前記説明文に含まれる文章を構成する単語とを比較し、一文章内で合致した単語の種類の数に基づいて前記単位情報のスコアを補正し、
前記スコアを用いて回答出力情報を生成する、
請求項１から９のいずれか一項に記載の対話管理サーバ。
【請求項１１】
前記回答生成部は、
前記合致した単語の種類の数が所定値以上の文章の数に基づいて前記スコアを補正する、
請求項１０に記載の対話管理サーバ。
【請求項１２】
前記回答生成部は、
前記質問文のテキストデータの形態素解析に基づいて、前記質問文に関連する単位情報のスコアを算出し、
前記説明文に含まれる文章を個別の固定長ベクトルに変換する文章モデルを用いて、前記質問文から固定長ベクトルを算出し、
前記質問文の固定長ベクトルと、前記説明文に含まれる文章の固定長ベクトルとの類似度に基づいて前記スコアを補正し、
前記スコアを用いて回答出力情報を生成する、
請求項１から１１のいずれか一項に記載の対話管理サーバ。
【請求項１３】
前記階層は複数存在し、
前記記録部は、前記階層毎に重みを有し、
前記回答生成部は、
前記質問文のテキストデータの形態素解析及び前記重みに基づいて、前記質問文に関連する単位情報のスコアを算出し、
前記スコアを用いて回答出力情報を生成する、
請求項１から１２のいずれか１項に記載の対話管理サーバ。
【請求項１４】
請求項１３に記載の対話管理サーバにおける重みを決定する重み決定装置であって、
複数の前記階層から任意の階層を選択する選択ステップと、
前記選択ステップにより選択された階層以外の重みを、所定の重み候補リストからランダムに抽出する抽出ステップと、
前記抽出ステップにより抽出された重みを用いて所定の重み演算式から、前記選択ステップにより選択された階層の重みを算出する重み算出ステップと、
前記重み算出ステップにより算出された重みと前記抽出ステップにより抽出された重みとを含む重みセットを用いて、サンプル質問文に対応するサンプル回答に一致する説明文のスコアの順位を算出するスコア順位算出ステップと、
前記スコア順位算出ステップにより算出された前記順位と所定のポイント演算式とに基づいて前記重みセットに対するポイントを算出するポイント算出ステップと、
前記抽出ステップと、前記重み算出ステップと、前記スコア順位算出ステップと、前記ポイント算出ステップとを所定回数実行した後のポイントに基づいて前記各階層の重みを決定する決定ステップと
を実行する、重み決定装置。
【請求項１５】
複数の前記階層から任意の階層を第１階層として選択する第１階層選択ステップと、
前記第１階層の重みを、初期値リストの中から選択する第１重み選択ステップと、
前記第１階層以外の階層の重みを、所定の第１重み演算式から算出する第１重み算出ステップと、
前記第１重み選択ステップにより選択された第１階層の重みと前記第１重み算出ステップにより算出された前記第１階層以外の階層の重みとを含む第１重みセットを用いて、サンプル質問文に対応するサンプル回答に一致する説明文のスコアの順位を算出する第１スコア順位算出ステップと、
前記第１スコア順位算出ステップにより算出された順位と所定のポイント演算式とに基づいて前記第１重みセットに対するポイントを算出する第１ポイント算出ステップと、
前記第１ポイント算出ステップにより算出されたポイントが所定値未満である場合、前記第１階層の重みを前記初期値リストから削除する削除ステップと、
前記第１重み選択ステップで、他の重みを選択し、前記第１重み算出ステップ、前記第１スコア順位算出ステップ、前記第１ポイント算出ステップ、及び前記削除ステップを繰り返し実行して前記初期値リストを更新する第１更新ステップと、
前記第１階層選択ステップで、他の階層を選択し、前記第１重み選択ステップ、前記第１重み算出ステップ、前記第１スコア順位算出ステップ、前記第１ポイント算出ステップ、前記削除ステップ、及び前記第１更新ステップを繰り返し実行して前記初期値リストを更新する第２更新ステップと、
複数の前記階層から任意の階層を第２階層として選択する第２階層選択ステップと、
前記第２階層以外の階層の重みの最小値の合計値から前記第２階層の重みを算出する第２重み算出ステップと、
前記第２階層選択ステップで、他の階層を選択し、前記第２重み算出ステップを繰り返し実行して、前記初期値リストから重み候補リストを作成する重み候補リスト作成ステップと、
を実行する、請求項１４に記載の重み決定装置。
【請求項１６】
請求項４に記載の第１合成語辞書に登録された合成語の妥当性を判定する妥当性判定装置であって、
前記第１合成語辞書の内容を複製した複製辞書を生成する複製辞書生成ステップと、
前記第１合成語辞書を初期化する初期化ステップと、
前記複製辞書に登録された合成語から任意の合成語を抽出して、初期化ステップ後の第１合成語辞書に登録する登録ステップと、
前記登録ステップ後の第１合成語辞書を用いて、サンプル質問文に対応するサンプル回答に一致する説明文のスコアの順位を算出するスコア順位算出ステップと、
前記スコア順位算出ステップにより算出された順位と所定のポイント演算式とに基づいて前記登録ステップにより抽出された合成語に対するポイントを算出するポイント算出ステップと、
前記登録ステップ、前記スコア順位算出ステップ、及び前記ポイント算出ステップを繰り返し、前記初期化ステップ後の第１合成語辞書に前記合成語が登録される前後のポイントの比較から、登録された合成語の妥当性を判定する妥当性判定ステップと、
を実行する、妥当性判定装置。
【請求項１７】
請求項５に記載の第２合成語辞書に登録された合成語の妥当性を判定する妥当性判定装置であって、
前記第２合成語辞書の内容を複製した複製辞書を生成する複製辞書生成ステップと、
前記第２合成語辞書を初期化する初期化ステップと、
前記複製辞書に登録された合成語から任意の合成語を抽出して、初期化ステップ後の第２合成語辞書に登録する登録ステップと、
前記登録ステップ後の第２合成語辞書を用いて、サンプル質問文に対応するサンプル回答に一致する説明文のスコアの順位を算出するスコア順位算出ステップと、
前記スコア順位算出ステップにより算出された順位と所定のポイント演算式とに基づいて前記登録ステップにより抽出された合成語に対するポイントを算出するポイント算出ステップと、
前記登録ステップ、前記スコア順位算出ステップ、及び前記ポイント算出ステップを繰り返し、前記初期化ステップ後の第２合成語辞書に前記合成語が登録される前後のポイントの比較から、登録された合成語の妥当性を判定する妥当性判定ステップと、
を実行する、妥当性判定装置。
【請求項１８】
任意の単語の分散表現を記憶する単語分散表現記憶部をさらに備え、
前記回答生成部は、
前記質問文のテキストデータを形態素解析して抽出された単語から所定のルールで単語を選択し、
前記選択された単語に関し、前記分散表現において一定距離以内にある単語を関連語として抽出し、
前記質問文のテキストデータを解析して抽出された単語及び前記関連語の、各単位情報における出現頻度に基づいてスコアを算出し、
前記スコアを用いて回答出力情報を生成する、
請求項１から１３のいずれか一項に記載の対話管理サーバ。
【請求項１９】
説明文のテキストデータと、前記説明文に至る一又は複数の階層を識別するための情報及び前記階層の見出しを表すテキストデータとを対応付けた単位情報を複数有する構造化した形式の文書のデータを記録する記録部と、
ユーザからの質問文のテキストデータを受け付ける受付部と、
前記受付部により受け付けられた質問文のテキストデータと、前記記録部に記録された各単位情報に含まれるテキストデータとをマッチングして、前記質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答出力情報を生成する回答生成部と、を備え、
前記回答生成部は、前記質問文のテキストデータの形態素解析に基づいて、前記質問文に関連する前記単位情報のスコアを算出し、所定の範囲内のスコアが算出された前記単位情報の数に応じて、前記回答出力情報の出力時間を調整する出力制御部を更に備える、
対話管理サーバ。
【請求項２０】
説明文のテキストデータと、前記説明文に至る一又は複数の階層を識別するための情報及び前記階層の見出しを表すテキストデータとを対応付けた単位情報を複数有する構造化した形式の文書のデータを記録する記録部と、
ユーザからの質問文のテキストデータを受け付ける受付部と、
前記受付部により受け付けられた質問文のテキストデータと、前記記録部に記録された各単位情報に含まれるテキストデータとをマッチングして、前記質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答出力情報を生成する回答生成部と、を備え、
前記回答生成部は、
前記質問文のテキストデータの形態素解析に基づいて、前記質問文に関連する前記単位情報のスコアを算出し、
スコアが上位の一又は複数の単位情報の第１平均スコアと、前記第１平均スコアより下位の一又は複数の単位情報の第２平均スコアとの差分に応じて、前記回答出力情報に対応付けられたユーザを示すユーザ画像の表示形態を変更する、
対話管理サーバ。
【請求項２１】
説明文のテキストデータと、前記説明文に至る一又は複数の階層を識別するための情報及び前記階層の見出しを表すテキストデータとを対応付けた単位情報を複数有する構造化した形式の文書のデータを記録する記録部と、
ユーザからの質問文のテキストデータを受け付ける受付部と、
前記受付部により受け付けられた質問文のテキストデータと、前記記録部に記録された各単位情報に含まれるテキストデータとをマッチングして、前記質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答出力情報を生成する回答生成部と、
所定の名詞の単語に他の単語を合成した合成語が登録された合成語辞書を記憶する合成語辞書記憶部と、を備え、
前記回答生成部は、前記質問文のテキストデータに含まれる前記合成語の数に応じて、前記回答出力情報に対応付けられたユーザを示すユーザ画像の表示形態を変更する、
対話管理サーバ。
【請求項２２】
説明文のテキストデータと、前記説明文に至る一又は複数の階層を識別するための情報及び前記階層の見出しを表すテキストデータとを対応付けた単位情報を複数有する構造化した形式の文書のデータを記録する記録部と、
ユーザからの質問文のテキストデータを受け付ける受付部と、
前記受付部により受け付けられた質問文のテキストデータと、前記記録部に記録された各単位情報に含まれるテキストデータとをマッチングして、前記質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答出力情報を生成する回答生成部と、
任意の単語の分散表現を記憶する単語分散表現記憶部と、を備え、
前記回答生成部は、
前記質問文のテキストデータを形態素解析して抽出された単語から所定のルールで単語を選択し、
前記選択された単語に関し、前記分散表現において一定距離以内にある単語を関連語として抽出し、
前記質問文のテキストデータを解析して抽出された単語及び前記関連語の、各単位情報における出現頻度に基づいてスコアを算出し、
前記スコアを用いて回答出力情報を生成する、
対話管理サーバ。
【請求項２３】
説明文のテキストデータと、前記説明文に至る一又は複数の階層を識別するための情報及び前記階層の見出しを表すテキストデータとを対応付けた単位情報を複数有する構造化した形式の文書のデータを記録するステップと、
ユーザからの質問文のテキストデータを受け付けるステップと、
受け付けられた質問文のテキストデータと、記録された各単位情報に含まれるテキストデータとをマッチングして、前記質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答出力情報を生成するステップと、
所定の単語と、前記単語の下位概念である下位概念語とを関連付けて登録された下位概念語辞書を記憶するステップと、を含み、
前記生成するステップは、
前記質問文のテキストデータを形態素解析して抽出された単語が前記下位概念語辞書に登録されていると判定した場合、前記単語に関連付けられた前記下位概念語を含む回答出力情報を生成する、
対話管理方法。
【請求項２４】
コンピュータを、
説明文のテキストデータと、前記説明文に至る一又は複数の階層を識別するための情報及び前記階層の見出しを表すテキストデータとを対応付けた単位情報を複数有する構造化した形式の文書のデータを記録する記録部、
ユーザからの質問文のテキストデータを受け付ける受付部、
前記受付部により受け付けられた質問文のテキストデータと、前記記録部に記録された各単位情報に含まれるテキストデータとをマッチングして、前記質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答出力情報を生成する回答生成部、
所定の単語と、前記単語の下位概念である下位概念語とを関連付けて登録された下位概念語辞書を記憶する下位概念語辞書記憶部、
として機能させ、
前記回答生成部が、
前記質問文のテキストデータを形態素解析して抽出された単語が前記下位概念語辞書に登録されていると判定した場合、前記単語に関連付けられた前記下位概念語を含む回答出力情報を生成する、
プログラム。