(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022161375
(43)【公開日】2022-10-21
(54)【発明の名称】回答生成装置、回答生成方法、及びプログラム
(51)【国際特許分類】
G06F 40/56 20200101AFI20221014BHJP
G06F 16/90 20190101ALI20221014BHJP
【FI】
G06F40/56
G06F16/90 100
【審査請求】未請求
【請求項の数】17
【出願形態】OL
(21)【出願番号】P 2021066146
(22)【出願日】2021-04-08
(71)【出願人】
【識別番号】517332845
【氏名又は名称】Arithmer株式会社
(72)【発明者】
【氏名】鈴木 良尚
(72)【発明者】
【氏名】吉田 憲司
(72)【発明者】
【氏名】五十嵐 亮
(72)【発明者】
【氏名】出牛 史子
(72)【発明者】
【氏名】安田 昂平
(72)【発明者】
【氏名】衣笠 公陽
(72)【発明者】
【氏名】田嶋 亮介
(72)【発明者】
【氏名】大田 佳宏
【テーマコード(参考)】
5B091
5B175
【Fターム(参考)】
5B091CA21
5B175DA01
5B175EA01
(57)【要約】
【課題】組織内の業務効率化を図ることができ、且つ、ユーザの利便性を向上できることに加え、マニュアル等を有効活用することができる回答生成装置等を提供すること。
【解決手段】回答生成装置は、説明文のテキストデータと、説明文に関連する関連文のテキストデータとを含む単位情報を複数有するデータを記録する記録部11と、ユーザからの質問文のテキストデータを受け付ける受付部19と、受付部19により受け付けられた質問文のテキストデータと、記録部11に記録された各単位情報に含まれるテキストデータとをマッチングして、質問文に関連する単位情報を抽出し、抽出された単位情報に対応する説明文に基づく回答出力情報を生成する回答生成部27と、回答出力情報に対する評価を受け付ける評価受付部と、評価受付部により受け付けられた評価に基づいて、質問文のテキストデータを単位情報の関連文のテキストデータに書き込む書込部37と、を備える。
【選択図】
図32
【特許請求の範囲】
【請求項1】
説明文のテキストデータと、前記説明文に関連する関連文のテキストデータとを含む単位情報を複数有するデータを記録する記録部と、
ユーザからの質問文のテキストデータを受け付ける受付部と、
前記受付部により受け付けられた質問文のテキストデータと、前記記録部に記録された各単位情報に含まれるテキストデータとをマッチングして、前記質問文に関連する単位情報を抽出し、抽出された単位情報に対応する説明文に基づく回答出力情報を生成する回答生成部と、
前記回答出力情報に対する評価を受け付ける評価受付部と、
前記評価受付部により受け付けられた評価に基づいて、前記質問文のテキストデータを前記単位情報の関連文のテキストデータに書き込む書込部と、
を備える回答生成装置。
【請求項2】
前記回答生成部は、
前記質問文のテキストデータを形態素解析して抽出された単語の、各単位情報における出現頻度に基づいて、各単位情報のスコアを算出し、
算出したスコアを用いて回答出力情報を生成する、
請求項1に記載の回答生成装置。
【請求項3】
前記回答生成部は、
前記質問文のテキストデータを形態素解析して抽出された単語の、各単位情報における出現頻度と、抽出された単語が含まれる単位情報の、単位情報の総数に対する割合とに基づいて、各単位情報のスコアを算出し、
算出したスコアを用いて回答出力情報を生成する、
請求項1又は2に記載の回答生成装置。
【請求項4】
前記回答生成部は、
前記質問文のテキストデータを形態素解析して抽出された単語の、各単位情報における出現頻度と、抽出された単語が含まれる単位情報の、単位情報の総数に対する割合と、前記単位情報の長さとに基づいて各単位情報のスコアを算出し、
算出したスコアを用いて回答出力情報を生成する、
請求項1から3のいずれか一項に記載の回答生成装置。
【請求項5】
前記回答生成部は、
前記記録部に記録された各単位情報に対して、
前記質問文のテキストデータと、当該単位情報の説明文のテキストデータとをマッチングして第1スコアを算出し、
前記質問文のテキストデータと、当該単位情報の関連文のテキストデータとをマッチングして第2スコアを算出し、
前記第1スコアと前記第2スコアに基づいて当該単位情報のスコアを算出し、
算出したスコアを用いて回答出力情報を生成する、
請求項1から4のいずれか1項に記載の回答生成装置。
【請求項6】
前記回答生成部は、前記第1スコアに重み付けを行い、前記第2スコアに前記第1スコアより高く重み付けを行い、重み付けされた前記第1スコアと重み付けされた前記第2スコアに基づいて前記単位情報のスコアを算出する、
請求項5に記載の回答生成装置。
【請求項7】
任意の単語の分散表現を記憶する単語分散表現記憶部をさらに備え、
前記回答生成部は、
前記質問文のテキストデータを形態素解析して抽出された単語から所定のルールで単語を選択し、
前記選択された単語に関し、前記分散表現において一定距離以内にある単語を関連語として抽出し、
前記質問文のテキストデータを解析して抽出された単語及び前記関連語の、各単位情報における出現頻度に基づいてスコアを算出し、
前記スコアを用いて回答出力情報を生成する、
請求項1から6のいずれか一項に記載の回答生成装置。
【請求項8】
前記回答生成部は、さらに、前記質問文の内容が不明確であるか否かを判断し、不明確であると判断した場合、当該質問文と前記記録部に記録された各単位情報に含まれる関連文のテキストデータとをマッチングして、前記質問文に関連する関連文を抽出し、前記抽出された関連文に基づいて回答出力情報を生成する、
請求項1から7のいずれか一項に記載の回答生成装置。
【請求項9】
前記記録部は、前記各単位情報に含まれる各フィールドのテキストデータに所定の単語が出現することを示すテーブル情報を予め記録し、
前記回答生成部は、前記質問文のテキストデータと前記記録部に記録された各単位情報のテキストデータとをマッチングし、マッチングした結果が所定条件となる場合、前記テーブル情報に基づいて前記質問文に含まれる単語に共起する一又は複数のキーワードを含む回答出力情報を生成する、
請求項1から8のいずれか一項に記載の回答生成装置。
【請求項10】
前記回答生成部は、前記テーブル情報のうち、前記各単位情報に含まれる関連文のフィールドに所定の単語が出現することを示す情報に基づいて前記質問文に含まれる単語に共起する一又は複数のキーワードを含む回答出力情報を生成する、
請求項9に記載の回答生成装置。
【請求項11】
前記質問文のテキストデータと、前記回答出力情報と、前記評価とを含む対話結果を対話ログデータベースに格納する対話結果管理部をさらに備え、
前記書込部は、前記対話結果管理部に格納された評価に基づいて、前記質問文のテキストデータを前記単位情報の関連文のテキストデータに書き込む、
請求項1から10のいずれか一項に記載の回答生成装置。
【請求項12】
前記記録部に記録された関連文のテキストデータを提示し、
前記関連文のテキストデータに応じて、複数の単語からなる合成語の入力を受け付け、
前記合成語を合成語辞書に登録する、
請求項1から11のいずれか一項に記載の回答生成装置。
【請求項13】
前記記録部は、
説明文のテキストデータと、前記説明文に至る一又は複数の階層を識別するための情報及び前記階層の見出しを表すテキストデータと、前記説明文に関連する関連文のテキストデータとを含む単位情報を複数有する構造化した形式の文書のデータを記録し、
前記回答生成部は、
前記受付部により受け付けられた質問文のテキストデータと、前記記録部に記録された各単位情報に含まれるテキストデータとをマッチングして、前記質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答出力情報を生成する、
請求項1から12のいずれか一項に記載の回答生成装置。
【請求項14】
前記回答生成部は、前記抽出された単位情報の各見出しに含まれるテキストデータに基づいて回答出力情報を生成する、
請求項13に記載の回答生成装置。
【請求項15】
説明文のテキストデータと、前記説明文に関連する関連文のテキストデータとを含む単位情報を複数有するデータを記録するステップと、
ユーザからの質問文のテキストデータを受け付けるステップと、
受け付けられた質問文のテキストデータと、記録された各単位情報に含まれるテキストデータとをマッチングして、前記質問文に関連する単位情報を抽出し、抽出された単位情報に対応する説明文に基づく回答出力情報を生成するステップと、
前記回答出力情報に対する評価を受け付けるステップと、
受け付けられた評価に基づいて、前記質問文のテキストデータを前記単位情報の関連文のテキストデータに書き込むステップと、
を含む回答生成方法。
【請求項16】
コンピュータを、
説明文のテキストデータと、前記説明文に関連する関連文のテキストデータとを含む単位情報を複数有するデータを記録する記録部、
ユーザからの質問文のテキストデータを受け付ける受付部、
前記受付部により受け付けられた質問文のテキストデータと、前記記録部に記録された各単位情報に含まれるテキストデータとをマッチングして、前記質問文に関連する単位情報を抽出し、抽出された単位情報に対応する説明文に基づく回答出力情報を生成する回答生成部、
前記回答出力情報に対する評価を受け付ける評価受付部、
前記評価受付部により受け付けられた評価に基づいて、前記質問文のテキストデータを前記単位情報の関連文のテキストデータに書き込む書込部、
として機能させるプログラム。
【請求項17】
説明文のテキストデータと、前記説明文に至る一又は複数の階層を識別するための情報及び前記階層の見出しを表すテキストデータとを含む単位情報を複数有する構造化した形式の文書のデータを記録する記録部と、
ユーザからの質問文のテキストデータを受け付ける受付部と、
前記受付部により受け付けられた質問文のテキストデータと、前記記録部に記録された各単位情報に含まれるテキストデータとをマッチングして、前記質問文に関連する単位情報を抽出し、抽出された単位情報に対応する説明文に基づく回答出力情報を生成する回答生成部と、を備え、
前記記録部が、前記各単位情報に含まれる各フィールドのテキストデータに所定の単語が出現することを示すテーブル情報を予め記録し、
前記回答生成部が、前記質問文のテキストデータと前記記録部に記録された各単位情報のテキストデータとをマッチングし、マッチングした結果が所定条件となる場合、前記テーブル情報に基づいて前記質問文に含まれる単語に共起する一又は複数のキーワードを含む回答出力情報を生成する、
回答生成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、回答生成装置、回答生成方法、及びプログラムに関する。
【背景技術】
【0002】
従来、企業においては、事務担当者が、営業担当者から業務内容に関する質問を受け付けると、膨大な業務マニュアルの中から必要な情報を抽出し、一つ一つ回答していた。ここで、顧客からの問い合わせに対してオペレータが電話で対応するための通話システムが知られている。
【0003】
例えば、特許文献1には、顧客及びオペレータの通話の内容を管理する通話システムが記載されている(特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の従来システムにおいては、顧客からの電話での問い合わせの件数が多いと、その対応を行う専属のオペレータの存在が必要となるので、組織内の業務の効率化が図れない。また、問い合わせの内容によっては、オペレータが即座に回答することができないので、顧客にとって利便性が高いサービスとはいえない。
また、顧客からの問い合わせに対応するために、顧客向けのマニュアルやQ&A集が用意されることがある。しかし、そのようなマニュアルは膨大な量に及ぶことがあるため、顧客はマニュアルのどこを見ればよいのか分からず、結局、電話で問い合わせをしてしまうことも多い。このように、マニュアル等が存在するにもかかわらず、それらが有効に活用されているともいえない。
【0006】
そこで、本発明のいくつかの態様はかかる事情に鑑みてなされたものであり、組織内の業務効率化を図ることができ、且つ、ユーザの利便性を向上できることに加え、マニュアル等を有効活用することができる回答生成装置、回答生成方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の一態様に係る回答生成装置は、説明文のテキストデータと、前記説明文に関連する関連文のテキストデータとを含む単位情報を複数有するデータを記録する記録部と、ユーザからの質問文のテキストデータを受け付ける受付部と、前記受付部により受け付けられた質問文のテキストデータと、前記記録部に記録された各単位情報に含まれるテキストデータとをマッチングして、前記質問文に関連する単位情報を抽出し、抽出された単位情報に対応する説明文に基づく回答出力情報を生成する回答生成部と、前記回答出力情報に対する評価を受け付ける評価受付部と、前記評価受付部により受け付けられた評価に基づいて、前記質問文のテキストデータを前記単位情報の関連文のテキストデータに書き込む書込部と、を備える。
【0008】
本発明の一態様に係る回答生成方法は、説明文のテキストデータと、前記説明文に関連する関連文のテキストデータとを含む単位情報を複数有するデータを記録するステップと、ユーザからの質問文のテキストデータを受け付けるステップと、受け付けられた質問文のテキストデータと、記録された各単位情報に含まれるテキストデータとをマッチングして、前記質問文に関連する単位情報を抽出し、抽出された単位情報に対応する説明文に基づく回答出力情報を生成するステップと、前記回答出力情報に対する評価を受け付けるステップと、受け付けられた評価に基づいて、前記質問文のテキストデータを前記単位情報の関連文のテキストデータに書き込むステップと、を含む。
【0009】
本発明の一態様に係るプログラムは、説明文のテキストデータと、前記説明文に関連する関連文のテキストデータとを含む単位情報を複数有するデータを記録する記録部、ユーザからの質問文のテキストデータを受け付ける受付部、前記受付部により受け付けられた質問文のテキストデータと、前記記録部に記録された各単位情報に含まれるテキストデータとをマッチングして、前記質問文に関連する単位情報を抽出し、抽出された単位情報に対応する説明文に基づく回答出力情報を生成する回答生成部、前記回答出力情報に対する評価を受け付ける評価受付部、前記評価受付部により受け付けられた評価に基づいて、前記質問文のテキストデータを前記単位情報の関連文のテキストデータに書き込む書込部、として機能させる。
【0010】
なお、本発明において、「部」とは、単に物理的手段を意味するものではなく、その「部」が有する機能をソフトウェアによって実現する場合も含む。また、1つの「部」や装置が有する機能が2つ以上の物理的手段や装置により実現されても、2つ以上の「部」や装置の機能が1つの物理的手段や装置により実現されても良い。
【発明の効果】
【0011】
本発明によれば、組織内の業務効率化を図ることができ、且つ、ユーザの利便性を向上できることに加え、マニュアル等を有効活用することができる。
【図面の簡単な説明】
【0012】
【
図1】第1実施形態に係る対話管理システムの概略構成図(システム構成図)である。
【
図2】一般のワープロや表計算ソフトにより作成された業務マニュアルデータ等の文書をOOXML(Office Open XML)等の構造化文書へ変換する処理の一例を示す概念図である。
【
図3】OOXML等の構造化文書から、本実施形態に特有の特定形式の構造化文書へ変換する処理の一例を示す概念図である。
【
図4】第1実施形態に係る対話管理処理の一例を示すフローチャートである。
【
図5】第1実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【
図6】第1実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【
図7】第2実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【
図8】第3実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【
図9】第4実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【
図10】第5実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【
図11】第5実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【
図12】第6実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【
図13】第6実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【
図14】第6実施形態に係るオペレータ端末装置の表示部の画面の一例を示す図である。
【
図15】第7実施形態に係る対話管理システムの概略構成図(システム構成図)である。
【
図16】第8実施形態に係る対話管理システムの概略構成図(システム構成図)である。
【
図17】第9実施形態に係る対話管理システムの概略構成図(システム構成図)である。
【
図18】第9実施形態に係る下位概念語辞書の一例を示す模式図である。
【
図19】第9実施形態に係る対話管理処理の一例を示すフローチャートである。
【
図20】第9実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【
図21】第9実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【
図22】第9実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【
図23】第9実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【
図24】第9実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【
図25】第9実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【
図26】第9実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【
図27】第9実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
【
図28】第9実施形態の変形例6に係るユーザ端末装置の表示部の画面の一例を示す図である。
【
図29】第9実施形態の変形例6のアイコンの一例を示す図である。
【
図30】第9実施形態の変形例6のアイコンの一例を示す図である。
【
図31】第9実施形態の変形例8に係る単位情報へ関連文を書き込む処理の一例を示す概念図である。
【
図32】第9実施形態の変形例8に係る対話管理システムの概略構成図(システム構成図)である。
【
図33】第9実施形態の変形例8に係るユーザ端末装置の表示部の画面の一例を示す図である。
【
図34】第9実施形態の変形例8に係る対話管理サーバの合成語登録処理の一例を示すフローチャートである。
【
図35】第9実施形態の変形例8に係る対話管理サーバのショートトーク登録処理の一例を示すフローチャートである。
【
図36】第10実施形態に係る対話管理システムの概略構成図(システム構成図)である。
【発明を実施するための形態】
【0013】
以下、添付図面を参照しながら本発明の実施の形態について説明する。以下の実施の形態は、本発明を説明するための例示であり、本発明をその実施の形態のみに限定する趣旨ではない。また、本発明は、その要旨を逸脱しない限り、様々な変形が可能である。さらに、各図面において同一の構成要素に対しては可能な限り同一の符号を付し、重複する説明は省略する。
【0014】
<第1実施形態>
図1は、本発明の実施形態に係る対話管理システムの概略構成図(システム構成図)である。
図1に示すように、対話管理システム100は、例示的に、対話管理サーバ1(対話管理サーバ)、対話ログデータベース(DB)4、ユーザ端末装置6、及びオペレータ端末装置8を備えて構成されている。
【0015】
対話管理サーバ1は、所定のネットワークN上における対話を管理するサーバ用コンピュータであり、そのサーバ用コンピュータにおいて所定のサーバ用プログラムが動作することにより、サーバ機能を発現するものである。「ネットワークN上における対話」とは、ネットワークNを介する、ユーザと対話管理サーバ1との間の対話、及び、ネットワークNを介する、オペレータと対話管理サーバ1との間の対話のことをいう。例えば、「ネットワークN上における対話」は、ネットワークNを介してユーザ端末装置6から対話管理サーバ1に入力された質問、当該質問に対応する、対話管理サーバ1により生成された回答、及び、当該回答に対するユーザの応答を含む。また、「ネットワークN上における対話」は、ネットワークNを介してオペレータ端末装置8から対話管理サーバ1に入力された質問、当該質問に対応する、対話管理サーバ1により生成された回答、及び、当該回答に対するオペレータの応答を含む。
【0016】
対話ログDB4は、ユーザと対話管理サーバ1との間の対話、及び、オペレータと対話管理サーバ1との間の対話を記録するデータベースであり、例えば、ネットワークNを介してユーザ端末装置6から対話管理サーバ1に入力された質問、当該質問に対応する、対話管理サーバ1により生成された回答、及び、当該回答に対するユーザの応答を含む対話ログ(対話結果)を記録する。なお、対話ログDB4は、対話管理サーバ1に含まれてもよい。
【0017】
ユーザ端末装置6及びオペレータ端末装置8は、対話の内容が出力される装置であり、例えば、ラップトップ又はノートブック型コンピュータ等の情報出力装置である。なお、ユーザ端末装置6及びオペレータ端末装置8は、例えばスマートフォンなどの携帯電話、タブレット端末等を含む情報出力装置であってもよい。
【0018】
ネットワークNは、例えばインターネット等を含む情報処理に係る通信回線又は通信網であり、その具体的な構成は、対話管理サーバ1、対話ログDB4、ユーザ端末装置6及びオペレータ端末装置8の間でデータの送受信が可能なように構成されていれば特に制限されない。
【0019】
対話管理サーバ1は、例示的に、所定のネットワークN上における対話を管理するための対話管理処理を実行する情報処理部10、対話管理処理に必要な情報及び対話管理処理によって生成された情報を記録する記録部11、文書が用いられる業界の専門用語が格納された専門用語辞書DB12、及び単語の同義語が格納された同義語辞書DB13を備えて構成される。
【0020】
情報処理部10は、例えば、機能的に、取得部15、データ変換部17、受付部19、自然言語処理部21、重み付け設定部23、回答生成部27、対話結果管理部29、出力制御部31、音声認識処理部33、及び音声対話管理部35を含んで構成されている。
【0021】
なお、情報処理部10の上記各部は、例えば、メモリやハードディスク等の記憶領域を用いたり、記憶領域に格納されているプログラムをプロセッサが実行したりすることにより実現することができる。また、対話管理サーバ1の各DB12及び13は、プロセッサが実行することにより実現することができる。
【0022】
取得部15は、例えば、回答の対象となる文書を取得する。ここで、「文書」とは、例えば、業務で使用される業務マニュアルやQ&A集などのテキスト文書、ワードプロセッサ・ソフト等で作成した文書及びプレゼンテーション・ソフトで作成した文書等を意味する。
【0023】
データ変換部17(変換部)は、文書の内容が編、章、節、項、小項目等の階層構造を有する文書のデータに基づいて、階層構造の末端に位置する項目に含まれるテキストデータのそれぞれを、当該各項目に至る一又は複数の階層を特定可能な情報及び当該各項目に至る一又は複数の各階層の見出しと対応付けて構造化した形式の文書に変換する。所定の単位としては、例えば、階層構造の末端(最下層)に位置する項目としてもよい。その場合、階層構造の末端に位置する項目に含まれるテキストデータのそれぞれを、当該各項目に至る一又は複数の階層を特定可能な情報及び当該各項目に至る一又は複数の各階層の見出しと対応付けて構造化した形式の文書に変換する。
【0024】
図2及び3を用いて、業務マニュアルやQ&A集などの文書をもとに、本実施形態に特有の特定形式の構造化文書に変換する処理について説明する。ここでは、一般のワープロや表計算ソフトにより作成された業務マニュアルデータ等の文書をOOXML(Office Open XML)等の構造化文書に変換した後、さらに、本実施形態の対話管理サーバ1で利用される特定形式の構造化文書に変換する例について説明する。しかしながら、業務マニュアル等の文書を本実施形態に特有の特定形式の構造化文書に変換する際に、必ずしもOOXMLを経由する必要は無く、種々の変換処理を採用し得る。
【0025】
図2は、一般のワープロや表計算ソフトにより作成された業務マニュアルデータ等の文書をOOXML(Office Open XML)等の構造化文書へ変換する処理の一例を示す概念図である。
図2に示すように、データ変換部17は、ワードファイルの業務マニュアルデータを、OOXML(Office Open XML)で記述されているファイル集合体へ変換する。
【0026】
図3は、OOXML(Office Open XML)等の構造化文書から、本実施形態に特有の特定形式の構造化文書へ変換する処理の一例を示す概念図である。
図3に示すように、データ変換部17は、OOXMLで記述されているファイル集合体へ変換された業務マニュアルデータについて、特定のXML形式へ変換する。具体的に、データ変換部17は、階層構造を有する業務マニュアルデータを、文書の構成単位(編、章、節、項、小項目等)ごとに参照可能なように抽出し、階層構造の末端に位置する構成単位(項目)に含まれるテキストデータ(
図3においては、「取引時には、…を行なう。」)のそれぞれを、抽出された構成単位ごとに、当該構成単位の階層に関する情報と、各階層の見出しに関する情報とを対応付けて構造化した形式の文書に変換し、当該文書を後述する文書情報BI(文字情報)として記録部11に記録する。
【0027】
図1に戻り、受付部19は、ユーザからの質問(質問文のテキストデータ)の入力を受け付ける。また、受付部19は、ユーザから、質問への回答(後述の回答出力情報)に対する応答(評価)の入力を受け付ける。
【0028】
自然言語処理部21は、例えば、文書内の文字情報及び入力された質問に含まれる文字情報を読み込んで形態素解析して単語ごとに切り出す。「形態素解析」とは、コンピュータの自然言語処理の一つであり、文法的な情報の注記のない自然言語のテキストデータから、対象言語の文法や、単語の品詞等の情報に基づいて、形態素の単位に区切り、形態素毎に品詞等を判別する解析処理をいう。また、自然言語処理部21は、係り受け解析(構文解析)、つまり、品詞情報から文の修飾関係を調査することを実行してもよい。
【0029】
重み付け設定部23は、文書内の文字情報及び入力された質問に含まれる文字情報に含まれる単語の出現頻度を算出し、算出された単語の出現頻度に基づいて単語ごとの重み付けを設定する。
【0030】
回答生成部27は、入力された質問と、記録された文書情報の各項目に含まれるテキストデータとをマッチングして、質問に関連する項目を複数抽出し、当該抽出された各項目に至る一又は複数の階層とその見出しとを含む回答を生成し、質問の回答としてユーザに返す。また、回答生成部27は、後述するように、対話ログデータベース4に格納された対話結果に基づいて、マッチングの重み付けを学習してもよい。
【0031】
対話結果管理部29は、ユーザから入力された質問、当該質問に対応する回答及び当該回答に対するユーザからの応答を含む対話結果を対話ログデータベース4に格納する。対話結果管理部29は、例えば、後述する音声認識処理部33により認識された音声情報を、対話結果として対話ログデータベース4に格納する。
【0032】
出力制御部31は、回答生成部27により生成された回答を出力するように制御する。出力制御部31は、生成された回答を、ユーザ端末装置6及びオペレータ端末装置8の表示部(不図示)において出力するように制御する。
【0033】
音声認識処理部33は、ユーザとオペレータとの音声対話の音声情報を認識する。
【0034】
音声対話管理部35は、あるユーザとの間で質問及び当該質問に対する回答が所定の回数繰り返された場合、当該ユーザとの間で音声対話が可能となるように管理する。
【0035】
記録部11は、構造化された形式に変換された文書を文書情報BIとして記録する。また、記録部11は、ユーザから入力された質問、及び当該質問に対応する回答及び当該回答に対するユーザからの応答を含む対話結果情報TI(対話結果)を、ユーザごとに関連付けて記録する。さらに、記録部11は、ユーザがネットワークNを介して入力する情報であるスタンプ情報SIを記録してもよい。
【0036】
「スタンプ」とは、ネットワークNを介して入力される、対話用の画像情報である。スタンプは、例えば感情や意思、伝えたいメッセージをイラストで表したものであり、テキストを含んでもよい。
【0037】
(対話管理処理)
図4及び
図5を用いて、本発明に実施形態に係る対話管理処理を説明する。
図4は、本発明の実施形態に係る対話管理処理の一例を示すフローチャートである。
【0038】
(ステップS1)
図1に示す取得部15は、業務マニュアルやQ&A集などの文書を取得する。
【0039】
(ステップS3)
図1に示すデータ変換部17は、
図3に示すように、文書の内容が階層構造を有する文書のデータに基づいて、例えば、階層構造の末端に位置する構成単位、すなわち最下層のノードに含まれるテキストデータのそれぞれを、当該各構成単位に至る一又は複数の階層を特定可能な情報及び当該各構成単位に至る一又は複数の各階層の見出しと対応付けて構造化した形式の文書に変換する。
【0040】
(ステップS5)
図1に示す記録部11は、構造化した形式に変換された文書を文書情報BIとして記録する。
【0041】
(ステップS7)
図1に示す受付部19は、ユーザからの質問の入力を受け付ける。
【0042】
図5は、本発明の実施形態に係るユーザ端末装置の表示部の画面の一例を示す図である。
図5に示すように、
図1に示すユーザ端末装置6の画面Gに表示されているとおり、受付部19は、ユーザUから入力された「本人確認書類で年金手帳を持参した。住所の記載がない場合は有効か?」という質問T1を受け付ける。
【0043】
(ステップS9)
図1に示す回答生成部27は、入力された質問と、記録された文書情報の各項目に含まれるテキストデータとをマッチングして、質問に関連する項目を複数抽出し、当該抽出された各項目に至る一又は複数の階層とその見出しとを含む回答出力情報を生成し、質問の回答としてユーザに返す。
【0044】
図5に示すように、
図1に示す回答生成部27は、質問T1が入力された場合、入力された当該質問T1にマッチングする回答出力情報に基づく回答T3を生成し、画面Gにおいて提示する。以下では、回答生成処理をより具体的に説明する。
【0045】
まず、
図1に示す自然言語処理部21は、例えば、質問T1「本人確認書類で年金手帳を持参した。住所の記載がない場合は有効か?」を読み込んで形態素解析して単語ごとに切り出す。自然言語処理部21は、例えば「本人確認書類」、「本人」、「確認」、「書類」、「確認書類」、「本人確認」、「年金手帳」、「年金」、「手帳」、「持参」、「住所」、「記載」、及び「有効」等の少なくとも一以上の単語ごとに切り出す。この際に、自然言語処理部21は、必要に応じて、専門用語辞書DB12及び同義語辞書DB13を参照してもよい。また、自然言語処理部21は、形態素解析結果に基づく品詞情報を参照して、構文解析を実行する。
【0046】
次に、重み付け設定部23は、質問T1に含まれる単語の出現頻度を算出し、算出された単語の出現頻度に基づいて単語ごとの重み付けを設定する。重み付け設定部23は、切り出された、「本人確認書類」、「本人」、「確認」、「書類」、「確認書類」、「本人確認」、「年金手帳」、「年金」、「手帳」、「持参」、「住所」、「記載」、及び「有効」…等の重み付けを設定する。重み付け設定部23は、例えば、一つ又は複数の文書における、出現頻度の高い単語に対する重みをより大きく設定してもよい。また、重み付け設定部23は、一つ又は複数の文書において出現頻度が低い単語に対する重みをより大きく設定してもよい。さらに、重み付け設定部23は、より短い文書において出現回数が多い単語に対する重みをより大きく設定してもよい。なお、設定された単語ごとの重み付けを示す情報は、記録部11において、文書情報BIとして記録されてもよい。
【0047】
回答生成部27は、入力された当該質問T1「本人確認書類で年金手帳を持参した。住所の記載がない場合は有効か?」に含まれる単語「本人確認書類」、「本人」、「確認」、「書類」、「確認書類」、「本人確認」、「年金手帳」、「年金」、「手帳」、「持参」、「住所」、「記載」、及び「有効」等に対応する、重み付け設定部23により設定された重み付けに基づいて、入力された質問T1に対する回答として適合する文章を
図1に示す文書情報BIから抽出する。回答生成部27は、例えば、文書情報BIに含まれる構成単位(編、章、節、項、小項目等)ごとに検索し、回答として適合する文章を抽出してもよい。
【0048】
回答生成部27は、例えば、質問T1に含まれる単語ごとに設定された重みに基づいて、文書情報BIとして記録されている、文書データの階層構造の末端に位置する構成単位に含まれる各テキストデータのうち、より大きい重みが設定された一以上の単語をより多く含むテキストデータを、質問T1により適合するテキストデータとして抽出する。なお、マッチング処理は上記に限られず、種々のマッチング処理を採用し得る。
【0049】
そして、回答生成部27は、文書情報BIから抽出した、質問T1により適合したテキストデータ、例えば、
図5に示す「管理編1章…」、「為替編6章…」、及び「管理編5章…」等に、「上位候補を示します。どれを詳しく見ますか?」等のテンプレートを追加した回答T3を生成する。
【0050】
この構成によれば、テンプレートを含む回答を生成することで、人間との会話に近い形式で自然な対話が可能となる。
【0051】
図5に示すように、
図1に示す出力制御部31は、入力された質問に対する回答が複数生成された場合、当該質問に対する回答としてより適合する回答を優先して出力するように制御する。出力制御部31は、例えば、当該質問T1に対する回答としてより適合する上位3つの回答、「管理編1章…」、「為替編6章…」、及び「管理編5章…」を、表示部の画面Gにおいて上から順に出力するように制御してもよい。
【0052】
この構成によれば、ある質問に対する回答としてより適合する回答をユーザが容易に把握することができるので、ユーザの利便性がより向上する。
【0053】
そして、
図5の選択結果T5に示すように、画面Gにおいては、回答T3において「(1)管理編1章…」が選択されると、出力制御部31は、回答詳細T7に示すように、「(1)管理編1章…」の具体的内容を出力するように構成される。具体的には、出力制御部31は、選択された番号に基づいて、当該番号に対応する構成単位(編、章、節、項、小項目等)における小項目の説明文を、文書情報BIから抽出して、出力する。なお、回答T3における選択の態様に関しては、回答T3内の詳細を確認したい番号を画面G上におけるクリック動作によって選択してもよいし、詳細を確認したい番号を入力欄EBにおいてテキスト入力することで選択してもよい。
【0054】
なお、回答生成部27は、ホットワード、つまり予め設定された特定の単語を、回答T3及び回答詳細T7の少なくとも一方において、他の単語とは異なる表示形態となるように回答を生成してもよい。
図5に示すように、回答生成部27は、回答T3及び回答詳細T7の少なくとも一方において、予め設定された特定の単語(例えば、本人、書類、本人確認書類等)を赤字となるように、他の単語は黒字となるように回答を生成する。また、回答生成部27は、質問T1に含まれる単語を、回答T3及び回答詳細T7の少なくとも一方において、他の単語とは異なる表示形態となるように回答を生成してもよい。
【0055】
この構成によれば、ユーザが、特定の単語が回答においてどの部分で用いられているかを容易に把握することができる。
【0056】
また、回答生成部27は、回答に、質問に含まれる単語の同義語が含まれる場合、生成される回答において、同義語をユーザが識別できるように回答を生成する。例えば、回答生成部27は、回答T3又は回答詳細T7において、質問T1に含まれる単語(住所)の同義語が含まれる場合、生成される回答において、同義語(住居)を「住居」と強調表示した上で回答を生成する。
【0057】
この構成によれば、ユーザが回答において、質問に含まれる単語の同義語を容易に識別することができる。
【0058】
また、
図1に示す対話結果管理部29は、質問と、質問に対する回答と、当該回答に対する応答とを含む対話結果を対話ログデータベース4に格納する。そして、回答生成部27は、対話ログデータベース4に格納された対話結果に基づいて、質問と回答とのマッチングの重み付けを学習する。
【0059】
図6は、ユーザが回答(1)を選択した後に回答(2)を選択し直した場合のユーザ端末装置6の表示部の画面の一例を示す図である。
図6に示すように、回答T9のテキスト情報が入力された後に、お気に入りボタンHIが選択されると、対話結果管理部29は、対話の開始から終了まで、つまり、
図6に示すT1~T9のテキスト情報を対話結果として対話ログデータベース4に格納する。ここで、ユーザUにとって、最後の回答(2)(回答T9)は、質問T1により適合した回答である。したがって、対話結果管理部29は、質問T1から最初の回答(1)及び最後の回答である回答T9までを纏めて管理し、回答生成部27は、お気に入りボタンHIが選択されたことによって対話ログデータベース4に格納された対話結果は、ユーザUにとって、質問T1には、回答(2)がより適合する回答であることを学習する。このように、回答生成部27は、対話ごとに管理された対話結果に基づいて繰り返し学習することで、入力される質問と回答とのマッチングの重み付けを学習する。
【0060】
この構成によれば、質問と回答とのマッチングの重み付けを学習することができるので、回答の精度を向上させることができる。
【0061】
以上、本発明の第1実施形態によれば、回答生成部27は、質問が入力された場合、入力された当該質問に含まれる単語に対応する設定された重み付けに基づいて、入力された当該質問に対する回答を生成する。よって、組織内の業務効率化を図ることができ、且つ、ユーザの利便性を向上できることに加え、マニュアル等を有効活用することができる。
【0062】
(変形例)
なお、上記説明では、回答生成部27は、入力された質問と、記録された文書情報の各項目に含まれるテキストデータとをマッチングして、質問に関連する項目を複数抽出するとしたが、回答生成部27の処理はこれに限定されるものではない。回答生成部27は、入力された質問と、記録された文書情報の各項目に含まれるテキストデータ及び見出しとをマッチングして、質問に関連する項目を複数抽出するものでもよい。
【0063】
さらに、この場合、重み付け設定部23が、見出しとマッチングして抽出した質問に関連する項目と、記録された文書情報の各項目に含まれるテキストデータとマッチングして抽出した質問に関連する項目との重要度を変えてもよい。例えば、重み付け設定部23は、見出しに基づいて抽出された項目の重要度を、階層構造の末端に位置する構成単位のテキストデータに基づいて抽出された項目の重要度よりも高くなるように設定するものでもよい。
【0064】
補足すると、質問に対する回答として、詳細な説明よりも簡易な説明の方がユーザの利便性に資することがある。それゆえ、質問によっては、各項目に含まれるテキストデータよりも見出しの方が適切な回答を誘導する場合がある。変形例の回答生成部27では、テキストデータのみならず、見出しも含めてマッチングをすることで質問に関連する項目を適切に抽出することができる。
【0065】
<第2実施形態>
図7は、入力された質問の内容が不明確である場合の、ユーザ端末装置6の表示部の画面の一例を示す図である。
図7に示すように、
図1に示す回答生成部27は、入力された質問T11「口座」の内容が不明確である場合、例えば、口座の開設について質問したいのか、口座の解約について質問したいのか等が判然とせず不明確である場合、入力された当該質問に対して、より具体的な質問を促すように、予め定められた回答T13「質問の詳細を教えてください。」を生成してもよい。具体的に、回答生成部27は、入力された質問の文字数、当該質問に対する検索スコア、及び当該質問に対して抽出される文書数などを総合的に評価することで、入力された質問の内容が不明確であるか否かを判断する。
【0066】
このように、ユーザUがより具体的な質問をするように促された結果、追加で質問T15「口座開設」と入力されたことで、出力制御部31は、回答T17に示すように、文書情報BIに含まれる構成単位のうち、「口座開設」により適合する、複数の「章」を画面Gにおいて提示し、提示された複数の「章」の中で、より適合する一以上の「節」を提示する。そして、出力制御部31は、最終的に、この「節」の中から抽出された、より適合する文章を画面Gにおいて提示するように構成されてもよい。
【0067】
この構成によれば、ユーザが文書情報BIの検索箇所をより具体的に絞り込めるため、抽出精度が向上できる。
【0068】
以上、本発明の第2実施形態によれば、回答生成部27は、入力された質問の内容が不明確である場合、入力された当該質問に対して、予め定められた回答を生成する。よって、ユーザに対して、より具体的な質問を促すことができるので、質問の曖昧性を回避することができ、質問に対する回答の精度を向上させることができる。
【0069】
<第3実施形態>
図8は、質問及び当該質問に対する回答が所定の回数繰り返された場合の、端末装置の表示部の画面の一例を示す図である。
図8に示すように、
図1に示す音声対話管理部35は、あるユーザUとの間で質問及び当該質問に対する回答が所定の回数繰り返された場合、当該ユーザUとの間で音声対話が可能となるように管理する。例えば、音声対話管理部35は、
図8のテキストT21~T24に示すように、ユーザUとの間で質問及び回答が例えば2回実行された場合、
図1に示すオペレータと電話を介して対話可能となるように電話回線にアクセスできるように管理する。なお、所定の回数は、2回に限定されない。1回であってもよいし、3回以上であってもよい。
【0070】
ユーザUとの間で質問及び回答が例えば2回実行された場合であって、ユーザUから電話のリクエストT25「電話をお願いします。」があったとき、
図1に示す出力制御部31は、電話を許容するためのメッセージT26を画面Gにおいて表示するように構成されてもよい。
【0071】
電話による対話は、
図1に示すユーザ端末装置6とオペレータのオペレータ端末装置8との間で実行もよいし、ユーザ端末装置6やオペレータ端末装置8とは異なる他の通話機器を介して実行されてもよい。ユーザとオペレータの音声情報は、ユーザ端末装置6、オペレータ端末装置8、当該他の通話機器が収集し、対話管理サーバ1に送信する。なお、画面Gは、ユーザ端末装置6の表示部とオペレータ端末装置8の表示部で共通して表示されてもよい。オペレータは、電話による対話までの画面G上での対話を踏まえて、電話による応答が可能となる。
【0072】
ここで、
図1に示す、対話管理サーバ1の音声認識処理部33は、ユーザとオペレータとの音声対話の音声情報を認識し、対話結果管理部29は、対話結果としてユーザごとに、認識された音声情報の登録又は更新を管理してもよい。
【0073】
以上、本発明の第3実施形態によれば、音声対話管理部35は、あるユーザとの間で質問及び当該質問に対する回答が所定の回数繰り返された場合、当該ユーザとの間で音声対話が可能となるように管理する。よって、ユーザが簡単にオペレータに対して電話することを防ぐことでオペレータに対する電話の回数が減少するので、組織内の業務の効率化が図れる。
【0074】
ただし、音声対話管理部35の動作はこれに限定されるものではなく、対話開始前からユーザの電話を受け付けるものでもよいし、電話による音声対話と文字入力による質問との両方を受け付けるものでもよい。
【0075】
<第4実施形態>
図9は、入力された質問に対する回答として一以上の関連キーワードを提示する場合の、ユーザ端末装置6の表示部の画面の一例を示す図である。
図9に示すように、
図1に示す回答生成部27は、入力された質問T31「口座開設」に対する回答として、例えば、記録部11において、あらかじめ、「口座開設」という単語に関連づけて記録された、一以上の関連キーワード「手続き」、「必要書類」、「代理」及び「未成年」を含む回答T33を生成する。ここで、ある単語の関連キーワードは、当該単語の共起情報を取得し、当該共起情報に重みづけを行うことで生成される。具体的に、「口座開設」の関連キーワードとしての「手続き」、「必要書類」、「代理」及び「未成年」等は、「口座開設」の共起情報に重みづけを行うことで生成されたものである。そして、「口座開設」という単語を含む質問、並びに、当該質問に対する、「手続き」、「必要書類」、「代理」及び「未成年」等を含む回答を含む対話結果を管理することで、関連キーワードの生成の精度を向上させることができるので、質問に対する回答の精度を向上させることができる。なお、一の単語と他の単語との共起情報は、構造化した形式の文書の全テキストデータから求められる。
【0076】
以上、本発明の第4実施形態によれば、質問に含まれる単語にあらかじめ関連づけられたキーワードを提示し、ユーザに選択させることで、質問の曖昧性を回避することができ、質問に対する回答の精度を向上させることができる。
【0077】
<第5実施形態>
第5実施形態においては、ユーザから入力された質問の内容が不明確である場合に、より具体的な質問を促すように、例えば編、章、節、項、小項目等からなる階層構造を有する文書データに基づいて、段階的に回答を出力する。例えば、第5実施形態における対話管理システムにおいては、入力された当該質問に対して編階層(第1階層)における項目に基づいて回答出力情報を生成し、質問の第1回答としてユーザUに返す。その後、さらに入力された質問に対して編階層よりも下位の階層である章、節、項、又は小項目等の階層(第2階層)における項目に基づいて回答出力情報を生成し、当該質問の第2回答としてユーザUに返す。
【0078】
第5実施形態を
図10及び
図11を参照して説明する。
図10及び
図11は、入力された質問の内容が不明確である場合の、ユーザ端末装置6の表示部の画面Gの一例を示す図である。
図10に示すように、
図1に示す回答生成部27は、入力された質問T41「口座を統一する」の文字数、当該質問に対する検索スコア、及び当該質問に対して抽出される文書数などを総合的に評価することで、入力された質問T41「口座を統一する」の内容が不明確であるか否かを判定する。回答生成部27は、どのような内容の口座の統一について質問したいのか等が判然とせず不明確である場合、入力された当該質問に対して、より具体的な質問を促すように、入力された当該質問に対して編階層における、「預金編」、「共通編」…等に基づいて回答出力情報を生成し、質問の回答T43としてユーザUに返す。なお、回答生成部27は、例えば、回答T43の出力の際に、予め定められた回答T42「『〇〇〇〇』はどの編に該当しますか?もう少し詳しく教えてください。」を生成し返答してもよい。
【0079】
回答生成部27は、その後、さらに入力された質問T44に対して前編よりも下位の階層である節階層における、「基本事項」、「取扱手続」…等に基づいて回答出力情報を生成し、当該質問の回答T46としてユーザUに返す。なお、回答生成部27は、例えば、回答T46の出力の際に、予め定められた回答T45「『〇〇〇〇』について複数の候補があります。次のうちどの項目に近いですか?」を生成し返答してもよい。
【0080】
図11に示すように、回答生成部27は、さらに入力された質問T47に対して、編、章、節、項の各階層における各項目に基づいて回答出力情報を生成し、当該質問の回答T49としてユーザに返す。ここで、回答生成部27は、例えば、
図10に示す質問T41及びT44、並びにT47に対する最終的な回答としてより適合する上位3つの回答を画面Gにおいて上から順に出力可能な回答出力情報を生成してもよい。なお、回答生成部27は、例えば、回答T49の出力の際に、最初に入力された、
図10における質問T41「口座を統一する」を生成し返答してもよい。
【0081】
以上、本発明の第5実施形態によれば、ユーザからの質問内容に応じて段階的に回答を提示する。よって、回答候補を効率的に絞り込むことができるので、回答の精度を向上させることができ、且つ、迅速に所望の回答を画面上において提示することができる。
【0082】
<第6実施形態>
第6実施形態は、ユーザからの質問と、質問に対する回答と、回答に対する評価とを対話結果として関連付けて格納し、格納された対話結果に基づいて、質問と回答とのマッチングの重み付けを学習する。第6実施形態を
図12から
図14を参照して説明する。
【0083】
図12は、ユーザ端末装置6の表示部における、ユーザUの質問と回答とを含む対話の一例を示す画面例である。
図12に示すように、回答生成部27は、入力された質問T51に対して、編、章、節、項の各階層における各項目に基づいて回答出力情報を生成し、当該質問の回答T53としてユーザUに返す。また、回答T53の出力の際に、予め定められた回答T52「『〇〇〇〇』についてこの中に答えはありますか?」を生成し返答してもよい。
【0084】
図13は、
図12に示す画面Gにおける回答T53において、ユーザUが一番目の回答「(1):計算編…」を選択した後に続く対話の一例を示す画面例である。なお、
図12における回答T53における選択の態様に関しては、回答T53内の詳細を確認したい番号を画面G上におけるクリック動作によって選択してもよいし、詳細を確認したい番号を、不図示のユーザ入力欄においてテキスト入力することで選択してもよい。
【0085】
図13に示すように、
図12に示す画面Gにおける回答T53において、ユーザUが一番目の回答「(1):計算編…」を選択すると、回答生成部27は、回答詳細T55に示すように、「(1):計算編…」の具体的内容を出力可能なように回答出力情報を生成する。具体的には、回答生成部27は、選択された番号に基づいて、当該番号に対応する構成単位(編、章、節、項、小項目等)における小項目の説明文を、
図1に示す文書情報BIから抽出して、回答出力情報を生成する。なお、回答生成部27は、ホットワード、つまり予め設定された特定の単語を、回答詳細T55において、他の単語とは異なる表示形態となるように回答出力情報を生成してもよい。
図13に示すように、回答生成部27は、
図12に示す質問T51に含まれる単語(例えば、裁判費用立替口、及び、開設)を、回答詳細T55において、他の単語とは異なる表示形態となるように回答を生成してもよい。また、回答生成部27は、予め設定された特定の単語(例えば、裁判費用立替口、及び、開設)を赤字となるように、他の単語は黒字となるように回答出力情報を生成してもよい。
【0086】
また、回答生成部27は、例えば、回答詳細T55の後に、ユーザUから入力された質問に対する回答について評価を促すための回答T56(評価要求)を出力する。回答T56は、例えば、「回答の評価はいかがでしょうか?」のテキストともに、「Good」(良い)という特定の意味に対応づけられたスタンプST1、及び、「Bad」(悪い)という特定の意味に対応づけられたスタンプST2を含んで構成される。
【0087】
「スタンプ」とは、ネットワークNを介して入力される、対話用の画像情報である。スタンプは、例えばユーザの感情、意図や意思、伝えたいメッセージをイラストで表したものであり、画像情報の他、テキストを含んでもよい。
図1に示す記録部11は、スタンプと特定の意味とを対応づけて記録する。例えば、スタンプは、「Good」(良い)、及び、「Bad」(悪い)という特定の意味に対応づけられて記録される。また、スタンプは、イラストと、回答の精度を示す得点、例えば100点、75点等を示すテキスト情報と、関連づけて含むものであってもよい。なお、評価は、スタンプを選択することには限られない。例えば、回答T56において選択可能なように「Good」ボタン又は「Bad」ボタンが含まれる場合、ユーザは、いずれかのボタンを選択することで評価入力を実行してもよい。また、ユーザは、回答詳細T55が出力された後に、不図示のテキスト入力欄から、「Good」又は「Bad」のテキスト情報を入力することによって評価入力を実行してもよい。なお、評価は、「Good」(良い)、又は、「Bad」(悪い)の2パターンだけではなく、とても良い、良い、普通、悪い、とても悪いというように3つ以上のパターンを含んでもよい。
【0088】
次に、
図1に示す対話結果管理部29は、ユーザUからの質問と、当該質問に対する回答と、入力されたスタンプ(評価)と、を含む対話結果を対話ログデータベース4に格納する。以下、対話結果管理部29の処理を具体的に説明する。
【0089】
図13に示すように、ユーザUにより、回答に対する良好な評価を示す「Good」を含むスタンプST1が選択された場合、またはスタンプST1が選択された後に不図示の対話終了ボタンが選択された場合、対話結果管理部29は、対話の開始から終了まで、つまり、
図12及び
図13に示すT51~T56のテキスト情報及びスタンプST1を対話結果として対話ログデータベース4に格納する。このように、対話結果管理部29は、対話の開始から終了まで纏めて(関連づけて)管理することで、対話管理サーバ1が入力された質問に対してより適合した回答であると評価して提示された回答、及び、実際にユーザが選択した(ユーザが所望する)回答を纏めて管理する。
【0090】
図14は、本発明の実施形態に係るオペレータ端末装置8の表示部における対話ログ管理画面の一例を示す図である。例えば、対話ログ管理画面LGに表示される情報は、対話結果管理部29が対話ログデータベース4に格納する情報に対応している。
図14に示すように、対話ログデータベース4には、対話ログIDと、ユーザIDと、対話ログが格納された日時と、当該対話において最初に入力された質問と、当該質問に関する最終的な回答と、当該回答の番号(例えば、
図12における回答T53の番号(1)、(2)(3))と、当該回答に対する評価と、が関連付けて記録されている。なお、対話ログデータベース4には、ユーザからの最初の質問に対する回答のみならず、ユーザから入力された質問ごとの一又は複数の回答が格納されてよく、対話ログ管理画面LGは、ユーザから入力された質問ごとの一又は複数の回答が出力されてもよい。
【0091】
対話結果管理部29は、スタンプを含む対話結果を格納し、回答に対する評価に基づいて当該対話結果に関する検索スコアを調整する。つまり、対話結果管理部29は、入力された回答の評価を反映したスタンプとともに対話結果を繰り返し記録し、複数の対話結果(質問及び回答のセット)を回答の評価に応じて、質問に対する検索スコアを上昇させる。例えば、
図14において、現在、対話ログID「7350」である対話結果、つまり、質問「新規口座開設について」及び回答「カード編1章…」のセットが上から2つ目にランクされているが、別の機会に、例えば、ユーザが「新規口座開設」に関する質問を入力し、上記と同様の回答「カード編1章…」に対して「Good」の評価を入力すると、対話ログ管理画面LGにおいて、上記セットの表示位置が上位になるように制御される(ここでは、最上位になるように制御される)。他方で、ある質問及び回答のセットに対して「Bad」と評価されると、対話ログ管理画面LGにおいて、当該セットが非表示制御されたり、当該セットの表示位置が下位になるように制御されたりする。
【0092】
回答生成部27は、対話結果として対話ログデータベース4に格納されたスタンプに対応づけられた評価に基づいて、入力された質問と、当該質問に対する回答とのマッチングの重み付けを学習する。
【0093】
例えば、回答生成部27は、ユーザUにとって、
図12に示す質問T51には、回答T53に含まれる複数の回答のうち、一番目の回答「(1):計算編…」がより適合する回答であることを分析し、回答「(1):計算編…」の重み付けが他の回答に比べて上がるように制御する。例えば、回答生成部27は、回答「(1):計算編…」の重み付けをあげるとともに、回答T53に含まれる他の回答「(2)計算編…」「(3)計算編…」等の重み付けを下げてもよい。このように、回答生成部27は、対話ごとに管理された対話結果に基づいて繰り返し学習することで、入力される質問と回答とのマッチングの重み付けを学習する。
【0094】
以上、本発明の第6実施形態によれば、ユーザからの質問と、質問に対する回答と、回答に対する評価とを対話結果として関連付けて格納し、格納された対話結果に基づいて、質問と回答とのマッチングの重み付けを学習する。よって、質問と回答とのマッチングの重み付けを学習することができるので、回答の精度を向上させることができる。
【0095】
<第7実施形態>
図15を参照して、第7実施形態に係る対話管理システムを説明する。
図15は、第7実施形態に係る対話管理システムの概略構成図(システム構成図)である。第7実施形態においては、
図15に示すように、対話管理サーバ1が除外用語辞書DB14をさらに備える。除外用語辞書DB14は、入力された質問と、記録部11に記録された文書情報の各項目に含まれるテキストデータとのマッチングの際に影響が除外される「除外用語」を記憶するデータベースである。具体的には、除外用語としては、助詞、接続詞、所定の修飾語、所定の頻出語などが挙げられる。ここで、所定の修飾語とは、「いろいろな」「様々な」などの実質的に就職する単語の意味を制限しない用語が該当する。また、所定の頻出語とは、特定形式の構造化文書で用いられる全用語のうち頻出する用語のことであり、数万ワードの日本語の文書においては上位10個ぐらいの用語がこれに該当する。例えば、「確認」などの用語が頻出語として挙げられることが多い。
【0096】
回答生成部27は、入力された質問と記録された文書情報の各項目に含まれるテキストデータとのマッチングの際に、除外用語の影響が除外された回答出力情報を生成する。
【0097】
第7実施形態に係る対話管理サーバ1は、上述した構成を具備しているので、質問に対する回答の妥当性を高めることができる。補足すると、一般的に、記録された文書情報の各項目に含まれるテキストデータが、入力された質問に頻出する用語を多く含んでいる場合、質問の回答として妥当である可能性が高い。しかしながら、文書情報の全用語のうち他の用語に比して突出して頻出する用語等は、任意の文章で使用されている可能性があり、却って回答としての妥当性を低下させることがある。そこで、マッチングの際に、これらの用語の影響を除外することで、質問に対する回答の妥当性を高めることができる場合がある。
【0098】
<第8実施形態>
第8実施形態においては、第1実施形態から第7実施形態に係る構造化した形式の文書が、階層構造の末端に位置する項目に含まれるテキストデータと、当該各項目に至る一又は複数の階層を特定可能な情報及び当該各項目に至る一又は複数の各階層の見出しとを対応付けたものを「単位情報」とするものである。具体的には、
図3に示すようなデータが一つの単位情報として定義され、これらの集合が上述した特定形式の構造化文書として定義される。
【0099】
図16を参照して、第8実施形態に係る対話管理システムを説明する。
図16は、第8実施形態に係る対話管理システムの概略構成図(システム構成図)である。第8実施形態に係る対話管理サーバ1は、逆文書頻度DB24をさらに備える。逆文書頻度DB24は、構造化した形式の文書で使用される単語の逆文書頻度を記憶するデータベースである。ここで、「逆文書頻度」とは、文書全体における単語の珍しさを示す指標であり、構造化した形式の文書における全単位情報の総数maxDを、当該単語が含まれる単位情報の数DFreqsで除した値のことである。
【0100】
重み付け設定部23は、単位情報内の文字情報に含まれる単語の出現頻度を算出し、算出された単語の出現頻度に基づいて単語ごとの重み付けを設定する。さらに、重み付け設定部23は、逆文書頻度に基づいて重み付けを補正する。
【0101】
回答生成部27は、入力された質問に含まれる単語を所定の個数以上含む単位情報を候補回答として抽出し、当該候補回答に基づいて回答出力情報を生成する。ここで、回答生成部27は、重み付け設定部23により設定される重み付けに基づいて候補回答と質問との類似度を算出する。そして、回答生成部27は、類似度の高い候補回答を回答出力情報として生成する。なお、類似度の算出には、TFIDFSimilarityやBM25Similarityのアルゴリズムを用いることができる。
【0102】
上記構成により、第8実施形態に係る対話管理サーバ1では、質問に含まれる単語が多い回答を生成するので、妥当性の高い回答を提供することができる。
【0103】
また、第8実施形態に係る対話管理サーバ1は、逆文書頻度に基づいて単語の重みを補正してから類似度を算出することができる。これにより、文書全体における当該単語の珍しさを反映させることができる。ここで、文書全体における単語の珍しさは、当該単語が特徴的であることを示す傾向が高く、テキストデータの検索においては正解を示す可能性が高いものである。したがって、回答生成部27は、逆文書頻度で補正された類似度を用いることで、入力された質問に対して妥当な回答出力情報を生成する。
【0104】
なお、第8実施形態に係る対話管理サーバ1に、
図15に示す除外用語辞書DB14を組み合わせた場合には、候補回答の抽出の際に、当該除外用語に関しては単位情報の個数がカウントされなくなる。
【0105】
<第9実施形態>
第9実施形態においては、第1実施形態から第7実施形態に係る構造化した形式の文書に関して、説明文のテキストデータと、説明文に至る一又は複数の階層を識別するための情報及び階層の見出しを表すテキストデータとを対応付けたものを「単位情報」としてもよい。例えば、
図3に示すようなデータ(「特定のXML形式で抽出」で囲まれる部分)が一つの単位情報として定義され、複数の単位情報を含む集合が上述した特定形式の構造化文書として定義される。回答生成部27は、受付部19により受け付けられた質問文のテキストデータと、各単位情報に含まれるテキストデータとをマッチングして、質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答候補(回答出力情報)を生成する。質問によっては、文書の構成単位(項目)(例えば、編、章、節、項、小項目等)に含まれるテキストデータよりも見出しの方が適切な回答を誘導する場合があるので、第9実施形態に係る対話管理サーバ1では、各項目のテキストデータのみならず、見出しも含めてマッチングをすることで質問に関連する項目を適切に抽出することを可能とする。
【0106】
図17から
図27を参照して、第9実施形態に係る対話管理システムを具体的に説明する。
図17は、第9実施形態に係る対話管理システムの概略構成図である。対話管理サーバ1の回答生成部27は、例えば、単語の出現頻度を示すTF(Term Frequency)、又は、逆文書頻度を示すIDF(Inverse Document Frequency)等の指標を用いて、検索スコアを算出する。TFとは、例えば、各構造化文書において特定の単語がどの程度出現したかを示す。つまり、TFとは、構造化文書における単語の出現頻度を、構造化文書における全単語の出現頻度の和で除した値のことである。具体的には、回答生成部27は、TFを用いる手法として、各単位情報における抽出された単語の出現頻度(TF)に基づいて検索スコアを算出し、算出した検索スコアを用いて回答出力情報を生成する。
【0107】
また、IDFとは、例えば、第8実施形態において説明したとおり、文書全体における単語の珍しさを示す指標であり、構造化文書における全単位情報の総数を、当該単語が含まれる単位情報の数で除した値のことである。回答生成部27は、TF-IDFを用いる手法として、各単位情報における抽出された単語の出現頻度(TF)と、抽出された単語が含まれる単位情報の、単位情報の総数に対する割合(IDF)とに基づいて検索スコアを算出する。例えば、回答生成部27は、TFとIDFとを乗算することによって、検索スコアを算出する。回答生成部27は、算出した検索スコアを用いて回答出力情報を生成する。
【0108】
図17に示すように、第9実施形態に係る対話管理サーバ1は、第1合成語辞書DB12Aと、第2合成語辞書DB12Bと、下位概念語辞書DB44と、ショートトークDB46と、をさらに備える。なお、第1合成語辞書DB12A、及び、第2合成語辞書DB12Bは、
図1、15及び16に示す専門用語辞書DB12の一態様である。
【0109】
第1合成語辞書DB12Aは、所定の名詞の単語に他の単語を合成した第1合成語が登録されたデータベースである。第1合成語辞書DB12Aには、例えば、「取引時」(所定の名詞の単語)に「確認」(他の単語)を合成した、又は、「確認」(所定の名詞の単語)に「取引時」(他の単語)を合成した、「取引時確認」(第1合成語)が登録されている。なお、第1合成語辞書DB12Aにおいては、「取引時確認」は、「取引時」又は「確認」とは関連付けられていない。
【0110】
第1合成語辞書DB12Aを用いる場合の回答出力情報の生成手法の一例を説明する。例えば、回答生成部27は、質問文(例えば、「取引時確認について調べたい」)から抽出された単語(例えば、「取引時確認」、「取引時」及び「確認」等)のうち合成語「取引時確認」が第1合成語辞書DB12Aに登録されていると判定した場合、各単位情報における、質問文から抽出された各単語の出現頻度に基づいて第1検索スコアを算出するとともに、各単位情報における、合成語(例えば、「取引時確認」)の出現頻度に基づいて第2検索スコアを算出する。そして、回答生成部27は、両検索スコアを用いて回答出力情報を生成する。
【0111】
第2合成語辞書DB12Bは、所定の名詞の単語と、その単語に他の単語を合成した第2合成語とが関連付けて登録されたデータベースである。第2合成語辞書DB12Bは、例えば、第1合成語辞書DB12Aとは異なり、「取引時確認」は、「取引時」及び「確認」のそれぞれと関連付けられて登録される。
【0112】
第2合成語辞書DB12Bを用いる場合の回答出力情報の生成手法の一例を説明する。例えば、回答生成部27は、質問文(例えば、「取引時確認について調べたい」)から抽出された単語(例えば、「取引時」)が第2合成語辞書DB12Bに登録されていると判定した場合、質問文から抽出された単語(例えば、「取引時」)、名詞の単語に合成した他の単語(例えば、「確認」)、及び合成語(例えば、「取引時確認」)のそれぞれに対する、各単位情報における出現頻度に基づいて検索スコアを算出する。そして、回答生成部27は、算出された検索スコアを用いて回答出力情報を生成する。
【0113】
下位概念語辞書DB44は、所定の単語と、その単語の下位概念である「下位概念語」とが関連付けて登録されたデータベースである。
図18は、下位概念語の一例を示す図である。
図18に示すように、下位概念語辞書DB44には、例えば、キーとなるキー単語「口座」、「確認」、「処理」、「取引」及び「定期」等のそれぞれと、各キー単語の下位概念語と、が関連付けて登録されている。
【0114】
ショートトークDB46は、ユーザと対話管理サーバ1との間でショートトークを実現するための単語及び文章が登録されたデータベースであり、例えば、所定の単語と所定の単語を含む所定の回答文とが関連付けて登録されている。ショートトークDB46は、後述する
図20(B)で説明するとおり、例えば、「カレー」という単語と、「カレー」を含む「カレーが好きです。」という回答文とが関連付けて登録されている。また、ショートトークDB46には、例えば、「△△△」という単語が入力されると、「△△△はいいですよね。」という回答文が生成されるような文章テンプレート(例えば、「…はいいですよね。」)が登録されてもよい。さらに、ショートトークDB46は、所定の単語と、対話用の画像情報である所定のスタンプとが関連付けて登録されてもよい。
【0115】
また、ショートトークDB46は、ショートトーク用に準備された複数の単位情報が登録されたデータベースであってもよい。この場合、入力された単語の出現頻度等に基づいて単位情報が抽出され、抽出された単位情報に基づいて回答文が生成される。
【0116】
図19は、第9実施形態に係る対話管理処理の一例を示すフローチャートである。第9実施形態に係る対話管理処理の一例を
図19とともに
図20から
図27を参照して説明する。
図20から
図27は、ユーザ端末装置6の表示部の画面の一例を示す図である。
図19に示すように、まず、対話管理サーバ1は、ユーザからの質問文の入力を受け付ける(ステップS10)。次に、ステップS12において、対話管理サーバ1は、受け付けられた質問文のテキストデータと、文書情報BI内の各単位情報に含まれるテキストデータとをマッチングして、質問文に関連する単位情報を抽出し、抽出された単位情報に対応する文書を探索する。例えば、対話管理サーバ1は、質問文から抽出された単語と各文書内の単語とをマッチングして、マッチングする文書がある場合(Noの場合)、ステップS20に進む。他方で、対話管理サーバ1は、マッチングする文書がない場合(Yesの場合)、ステップS14に進む。
【0117】
ステップS14において、対話管理サーバ1は、例えば質問文の少なくとも一部に含まれる単語がショートトークDB46に登録されているか否か判定する。例えば、
図20(A)に示すように、質問文T61が「ああああ」の場合に、対話管理サーバ1が、「ああああ」がショートトークDB46に登録されていないと判定すると(ステップS14においてNo)、「ごめんね。分からないよ。」という所定の回答T62を生成する。他方で、
図20(B)に示すように、質問文T64が「カレー」の場合に、対話管理サーバ1が、「カレー」がショートトークDB46に登録されていると判定すると(ステップS14においてYes)、「『カレー』が好きです。」という所定の回答T65を生成する。このように、例えば質問文の少なくとも一部に含まれる単語がショートトークDB46に登録されている場合、ユーザと対話管理サーバ1との間でショートトークが実施される。よって、業務マニュアルに関する質問以外の質問がユーザからあった場合であっても、比較的違和感を生じさせることなく、ユーザと対話管理サーバ1との間の対話を継続させることができる。
【0118】
ステップS20において、対話管理サーバ1は、例えば、複数算出された検索スコアのうち最大検索スコアが所定スコア(例えば、検索スコアが0~10の範囲で設定されている場合、検索スコアが8や9等の比較的高いスコア)以上、かつ、マッチングする文書の数が所定数(例えば、数ファイル~数十ファイル等)以下であるか否かを判定する。例えば、対話管理サーバ1は、最大検索スコアが高いスコアであり、かつ、マッチングする文書の数が少ない場合(Yesの場合)は、ステップS22に進む。つまり、最大検索スコアが高く、マッチングする文書の数が少ない場合は、対話管理サーバ1は、質問文に対する回答の精度が比較的高いと判定し、回答候補を表示する(ステップS22)。
図21(A)に示すように、対話管理サーバ1は、質問文T67「ダブルストライプ口座について」に対する回答候補の精度が比較的高いと判定すると、質問文T67に対応する回答候補T68を生成し出力する。
【0119】
他方で、対話管理サーバ1は、最大検索スコアが比較的低いスコアの場合、又は、マッチングする文書の数が多い場合(Noの場合)は、ステップS24に進む。つまり、回答候補としてマッチングした文書のマッチング精度(検索スコア)が比較的低いものが多数ある場合は、対話管理サーバ1は、さらに他の条件で回答候補としての文書を絞り込む必要があるためである。
【0120】
ステップS24において、対話管理サーバ1は、質問文に対してマッチングした複数の文書のうち、例えば、マッチング精度の高い文書の上位十ファイルにおいて文書の構成単位「〇〇編」が同一であり、かつ、聞き返し回数(例えば、後述するステップS36又はステップS38の処理が実行された後、ステップS10「質問文を入力」に戻った回数)が例えば一回以上であるかを判定する。ステップS24においてYesの場合は、ステップS42に進む。
図21(B)に示すように、対話管理サーバ1は、例えば、質問文T70「『基本口座を開設したい場合の処理方法は』について教えて」が入力されると、文書の構成単位の一つである「編」を絞り込むため、他の確からしい編を構成単位として含む文書を提案する。対話管理サーバ1は、例えば「(1)融資支援システム編」を提案するような回答候補T71を生成する。なお、上記形態では、文書の構成単位の一つである「編」に基づいて回答候補の絞り込みを実施しているが、これに限られず、他の文書の構成単位である、「章」、「節」、「項」、又は「小項目」等で回答候補の絞り込みを実施してもよいし、構成単位の二以上の構成単位を組み合わせて回答候補の組み合わせを実施してもよい。
【0121】
他方で、ステップS24においてNoの場合は、ステップS26に進む。ステップS26において、対話管理サーバ1は、質問文に対してマッチングした複数の文書のうち、例えば、最大検索スコアが所定スコア以上であるか否かを判定する。ステップS24における「所定スコア」は、ステップS20における「所定スコア」と同一であってもよいし、ステップS20における「所定スコア」よりも高いスコアであってもよいし、低いスコアであってもよい。ステップS26においてYesの場合、対話管理サーバ1は、ステップS40に進み、例えば、質問文に対してマッチングした複数の文書のうち、検索スコアが高い文書を優先して回答候補として表示する。
【0122】
他方で、ステップS26においてNoの場合は、ステップS28に進む。ステップS28において、対話管理サーバ1は、聞き返し回数が、例えば三回以上であるか否かを判定する。聞き返し回数が三回以上である場合(Yesの場合)、対話管理サーバ1は、ステップS40に進み、回答候補を表示する。他方で、聞き返し回数が三回を下回る場合(Noの場合)、対話管理サーバ1は、ステップS32に進む。なお、聞き返し回数に関する設定回数「三回」はあくまで例示であって、設定回数は、他の回数であってもよい。
【0123】
ステップS32において、対話管理サーバ1は、例えば、質問文から自然言語処理によって抽出された1又は複数の単語のそれぞれが、
図17に示す下位概念語辞書DB44に登録されているか否かを判定する。対話管理サーバ1は、Yesの場合は、ステップS38に進み、Noの場合は、ステップS34に進む。ステップS34において、対話管理サーバ1は、過去の聞き返しで同じ質問文に対して提案(例えば、回答候補の表示)を実施したか否かを判定する。Yesの場合は、ステップS40に進み、Noの場合は、ステップS36に進む。
【0124】
ステップS36において、対話管理サーバ1は、各見出しに含まれるテキストデータにおける質問文から抽出された単語の出現頻度に基づいてスコアを算出し、算出したスコアを用いた回答出力情報を生成する。例えば、対話管理サーバ1は、TF又はTF-IDF等の手法を用いて、提案語を算出する。「提案語」とは、例えば、質問文のテキストデータを形態素解析して抽出された単語を含む単位情報における各見出しに含まれるテキストデータから抽出された単語のことをいう。より具体的には、対話管理サーバ1は、まず、例えば、
図22(A)に示す質問文T73を形態素解析して抽出した単語を含む文書の文書IDを取得する。文書IDは全説明文を構成する全文書を一意に特定する識別番号である。そして、対話管理サーバ1は、
図22(B)に示すような「見出し語リスト」を参照し文書IDに基づいて、当該文書の見出しに使用される各単語を特定し、特定した各単語に対してTF又はTF-IDFを算出する。次に、対話管理サーバ1は、TF又はTF-IDFに基づくスコア順に単語を並び替え、質問文に含まれている単語を除外した後、例えば上位15語を提案語として出力する。そして、対話管理サーバ1は、
図22(A)に示すように、出力した提案語を含む回答候補T74を生成する。なお、提案語が存在しない場合、ステップS40に進む。
【0125】
図22(A)に示すように、回答候補T74に含まれる「関係しそうなものがない」という選択肢S1が選択される場合、ステップS10に戻り、今回の質問文T73と同一の質問文が入力された状態となる。つまり、ステップS36から戻ったステップS10において再度、質問文T73と同一の質問文が入力された状態となる。なお、この場合、聞き返し回数は一回増加する。
【0126】
ステップS38において、対話管理サーバ1は、質問文のテキストデータを形態素解析して抽出された1又は複数の単語に関連付けられた下位概念語を含む回答出力情報を生成する。対話管理サーバ1は、例えば、
図23に示す質問文T76のテキストデータを形態素解析して抽出された単語(例えば、「口座」)に関して、
図18に示す下位概念語辞書DB44を参照して、「口座」という単語に関連付けられた下位概念語(例えば、「預金口座」、「総合口座」等)を含む回答出力情報を生成する。
【0127】
図23に示すように、回答候補T77に含まれる「候補にない」という選択肢S3が選択される場合、ステップS10に戻り、新たな質問文が入力された状態となる。その後、対話管理サーバ1は、質問文のテキストデータと、各単位情報に含まれるテキストデータとをマッチングして、回答候補を生成する際に、過去に生成された回答候補内に含まれた単語(例えば、「預金口座」、「総合口座」等)に対応する文書を除外した上で回答候補を生成する。この場合、聞き返し回数は一回増加する。また、回答候補T77に含まれる「わからない」という選択肢S5が選択される場合、ステップS10に戻り、今回の質問文T76と同一の質問文が入力された状態となる。つまり、ステップS38から戻ったステップS10において再度、質問文T76と同一の質問文を入力された状態となる。なお、この場合、聞き返し回数は一回増加する。また、通常はステップS34を経て、ステップS40に進む。
【0128】
(特徴)
以上説明したように、本発明の第9実施形態に係る対話管理サーバ1は、記録部11と受付部19と回答生成部27とを備える。記録部11は、説明文のテキストデータと、説明文に至る一又は複数の階層を識別するための情報及び階層の見出しを表すテキストデータとを対応付けた単位情報を複数有する構造化した形式の文書のデータ(文書情報BI)を記録する。受付部19は、ユーザからの質問文のテキストデータを受け付ける。回答生成部27は、受付部19により受け付けられた質問文のテキストデータと、記録部11に記録された各単位情報に含まれるテキストデータとをマッチングして、質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答出力情報を生成する。
【0129】
ここで、対話管理サーバ1は、回答生成部27が、質問文のテキストデータを形態素解析して抽出された単語の、各単位情報における出現頻度に基づいてスコアを算出する。そして、回答生成部27が、算出したスコアを用いて回答出力情報を生成する。したがって、質問文に関連する可能性が高い説明文を出力するものとなっている。さらに詳しくは、対話管理サーバ1は、回答生成部27が、質問文のテキストデータを形態素解析して抽出された単語の、各単位情報における出現頻度と、抽出された単語が含まれる単位情報の、単位情報の総数に対する割合とに基づいてスコアを算出する。したがって、質問文に含まれる単語が特徴的なものである場合、これに関連する可能性が高い説明文を出力するものとなっている。
【0130】
したがって、単位情報のコンテンツにマニュアル等を反映させることで、組織内の業務効率化を図ることができ、且つ、ユーザの利便性を向上できる。また、単位情報に基づいて回答出力情報が生成されるので、当該業務マニュアルの活用を促進できる。
【0131】
第9実施形態に係る対話管理サーバ1は、第1合成語辞書DB12A及び/又は第2合成語辞書DB12Bを備えるものである。したがって、ユーザが予め合成語を登録することで、登録された合成語に対する検索スコアを高くするように構成することができる。換言すると、業務効率化を誘導するように合成語を登録しておくことで可能である。
【0132】
本実施形態に係る対話管理サーバ1は、下位概念語辞書DB44を備える。したがって、上述したように、質問文に含まれる上位概念の単語から下位概念の情報へと絞りこんでいくことができ、業務効率化を誘導することができる。
【0133】
第9実施形態に係る対話管理サーバ1は、回答生成部27が、各見出しに含まれるテキストデータにおける質問文から抽出された単語を含む回答出力情報を生成する機能を有する。具体的には、回答生成部27は、質問文のテキストデータを形態素解析して抽出された単語が下位概念語辞書に登録されていないと判定した場合、形態素解析して抽出された単語であって、各見出しに含まれるテキストデータにおける質問文から抽出された単語を含む回答出力情報を生成する。このような機能により、ユーザの利便性に資する対話を実現できる。
【0134】
第9実施形態に係る対話管理サーバ1は、質問文のテキストデータと、各単位情報に含まれるテキストデータとをマッチングして、質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文を含む回答候補(回答出力情報)を生成する。ここで、質問によっては、文書の構成単位に含まれるテキストデータよりも見出しの方が適切な回答を誘導する場合がある。よって、対話管理サーバ1は、各項目のテキストデータのみならず、見出しも含めてマッチングをすることで質問に関連する項目を適切に抽出することができる。
【0135】
なお、第9実施形態に係る対話管理サーバ1は、単語の出現頻度を示すTF(Term Frequency)、又は、逆文書頻度を示すIDF(Inverse Document Frequency)に加えて、単位情報の長さ等の指標を用いて検索スコアを算出するものでもよい。換言すると、本実施形態に係る回答生成部27が、質問文のテキストデータを形態素解析して抽出された単語の、各単位情報における出現頻度と、抽出された単語が含まれる単位情報の、単位情報の総数に対する割合と、単位情報の長さとに基づいてスコアを算出し、算出したスコアを用いて回答出力情報を生成するものでもよい。すなわち、本実施形態のスコア算出方法はBM25Similarityなどを含むものである。
【0136】
(変形例1)
本実施形態においては、
図17に示すユーザ端末装置6の表示部に表示する画面Gは様々な表示形態を採り得る。
【0137】
例えば、
図24に示すように、ユーザがユーザ端末装置6の不図示の入力装置(例えば、マウス)を操作することによって、複数の回答候補の一つのタイトル「(404.86)管理編…1項:対象取引 冒頭」部分にカーソルCを合わせた後、クリック操作(例えば、右クリック)を実行する。その場合、カーソルCを合わせたときに、当該タイトル「(404.86)管理編…1項:対象取引 冒頭」に関連する文書のうち、例えば、当該タイトルの「編」、「章」及び「節」までが一致する他の文書のリストLを画面G上に表示するように構成してもよい。リストLの内容はこれに限定されず、リストLは、例えば、当該タイトルの「編」及び「章」までが一致する他の文書のリストLを画面G上に表示してもよい。
【0138】
また、ユーザが、リストL内の複数の項目Iのうち、例えば、項目「1項:対象取引 2.保険等」を、マウスを用いてクリック操作(例えば、左クリック)を実行して選択すると、タイトル「管理編 24章:CRS制度 2節:CRS新規顧客確認の概要 1項:対象取引 2.保険等」に対応する文書(例えば、業務マニュアルのpdfファイル等)を確認できるように構成してもよい。なお、画面Gにおいて回答候補に画像を含む場合、
図24に示すように、他の回答候補の表示内容を視認するための障害にならないように、当該画像は、例えば所定サイズのサムネイル画像TJの形式で表示されてもよい。
【0139】
また、例えば、
図25(A)及び(B)に示すように、ユーザが、ユーザ端末装置6と接続されているマウスを操作することによって、回答候補の一つのタイトル「管理編…1項:概要 冒頭」部分にカーソルCを合わせた後、マウスを用いてクリック操作(例えば、左クリック)を実行して選択すると、タイトル「管理編…1項:概要 冒頭」に関連付けて、当該タイトルに対応する文書内容DCが画面G上に表示されるように構成してもよい。この構成によれば、ユーザは、特定のタイトルに対応する文書の内容を容易に把握することが可能である。
【0140】
また、例えば、
図26に示すように、ユーザが、ユーザ端末装置6と接続されているマウスを操作することによって、複数の回答候補の一つのタイトル「(621.04)預金編…3節:入金 1.受付」部分にカーソルCを合わせると(いわゆるマウスオーバーを実施すると)、当該タイトル「(621.04)預金編…3節:入金 1.受付」に対応する文書の内容の少なくとも一部分を含むスニペット画像SPが画面G上に表示するように構成してもよい。この構成によれば、ユーザは、特定のタイトルに対応する文書の内容の少なくとも一部を容易に把握することが可能である。
【0141】
(変形例2)
図27に示すように、ユーザ端末装置6の表示部は、
図1、15、16及び17に示す各辞書の内容を変更可能な画面Gを表示可能である。
図27に示すように、ユーザは、まず、例えば、辞書検索欄S5において変更を希望する辞書の名称を入力し検索する。そして、空欄S1に追加したい単語を漢字表記等で入力し、空欄S3に追加したい単語の読み(例えば、カタカナ表記)を入力した後、追加ボタンB1が押下されると、辞書検索欄S5で検索された辞書に新たな単語が追加される。他方で、ユーザが、例えばユーザ端末装置6と接続されているマウスを操作することによって、削除ボタンB3を押下すると、削除ボタンB3に対応する、予め登録されている単語が辞書から削除される。また、ユーザにより変更ボタンB5が押下されると、変更ボタンB5に対応する、予め登録されている単語の内容を変更することが可能である。
【0142】
ユーザ端末装置6の表示部に表示される画面Gは、各辞書の内容を変更可能な画面に限られず、構造化文書の内容を変更可能な画面を含む。例えば、構造化文書の内容を変更可能な画面においては、
図3に示すように、構造化文書の特定のXML形式データに関して、文書の構成単位(編、章、節、項、小項目等)ごとに内容を変更可能である。
【0143】
(変形例3)
また、対話管理サーバ1は、質問文に対する回答候補(回答出力情報)をユーザ端末装置6の表示部に表示する際のタイミングを、質問文のテキストデータと、各単位情報に含まれるテキストデータとのマッチングの精度(検索スコア)に応じて変更するように構成してもよい。例えば、対話管理サーバ1の回答生成部27は、所定の範囲内の検索スコアが算出された1又は複数の単位情報を抽出し、出力制御部31は、抽出された単位情報の数に応じて、回答出力候補の出力時間を調整する。出力制御部31は、検索スコアの類似度が近しい説明文が比較的多くマッチングした場合は、マッチングする文書の数が少ない場合に比べて、マッチングした説明文に対応する回答候補の表示のタイミング(質問に対する応答タイミング)を遅らせる。応答タイミングは例えば以下の数式(0)で表現される。
【0144】
(数0)
応答タイミング=1[秒]+0.2[秒]×(検索スコアの類似度が近しい単位情報の数)
応答タイミングは、例えば、質問文が入力されてから最長で2.5[秒]とする。また、応答タイミングが2.0~2.5[秒]の場合は、出力制御部31は、回答候補を画面G上に表示する前に、フィラー表現(例えば、「えーと」「うーん」等)を表示してもよい。
【0145】
この構成によれば、対話管理サーバ1は、質問文に対する回答候補をユーザ端末装置6の表示部に表示する際のタイミングを、質問文のテキストデータと、各単位情報に含まれるテキストデータとのマッチングの精度(検索スコア)に応じて変更する。よって、ユーザと対話管理サーバ1との対話がより自然に実行される。換言すると、対話管理サーバ1による出力を人間の反応に近づけることができる。また、出力制御部31は、回答候補を画面G上に表示する前に、フィラー表現を表示することによって、回答候補の表示の遅れが、本実施形態における対話管理システムの異常によるものでないことを報知することが可能である。
【0146】
(変形例4)
また、対話管理サーバ1は、
図1、15、16及び17に示す各辞書の他、ストップワード辞書を更に備えるように構成してもよい。ストップワードとは、自然言語処理を実行する際に処理対象外とする単語のことをいい、例えば、助詞や接続詞の他、「いろいろ」や「ある程度」というような単語を含む。対話管理サーバ1は、ストップワード辞書を参照することにより、特定の単語を自然言語処理から除外することで、質問文に対して、マッチング精度の高い回答候補を生成することが可能になる。
【0147】
(変形例5)
また、対話管理サーバ1の回答生成部27は、画面Gにおいて質問者に対応するアイコン画像又は回答者(対話管理サーバ1)に対応するアイコン画像の少なくとも一方の表示形態を、質問文に対する回答候補のための文書のマッチング精度に応じて変更するように構成してもよい。例えば、回答生成部27は、検索スコアが比較的上位の一又は複数の単位情報の第1平均スコアと、一又は複数の単位情報の第1平均スコアより下位の第2平均スコアとの差分に応じて、回答候補に対応付けられた回答者に対応するアイコン画像の表示形態を変更する。具体的には、回答生成部27は、検索スコアが高い順に上位10件の単位情報に基づいて回答候補を生成する場合、1位~5位の単位情報のスコアの平均を第1平均スコアとして算出し、6位~10位の単位情報のスコアの平均を第2平均スコアとして算出し、それらの差分に応じてアイコン画像の表示態様を変更する。
【0148】
また、回答者に対応するアイコン画像が顔画像である場合、回答生成部27は、質問及び回答を含む対話を継続して質問の質が向上するにつれて、表示を変化させるようにしてもよい。例えば、
図28に示す例では、キャラクターのアイコンKが、無表情の顔画像(
図29参照)から笑顔の顔画像(
図30参照)に変化する。また、顔画像の変化に代えて、もしくは組み合わせて、カラースケールなどを用いて質問文に対する質の向上度合いを表現してもよい。
【0149】
(変形例6)
また、対話管理サーバ1の回答生成部27は、質問文のテキストデータに含まれる合成語であって、例えば、第1合成語辞書DB12A又は第2合成語辞書DB12Bに登録されている合成語の数に応じて、回答候補に対応付けられた回答者に対応するアイコン画像の表示形態を変更するように構成してもよい。予め合成語辞書DB12A及び12Bに登録されている合成語を含む質問文が入力されるということは、質問の質が向上していることの裏付けである。よって、上記と同様に、例えば、回答者に対応するアイコン画像が顔画像である場合、回答生成部27は、質問及び回答を含む対話を継続して質問の質が向上するにつれて、表示を変化させるようにしてもよい。前述同様、
図28に示すように、キャラクターのアイコンKが、無表情の顔画像(
図29参照)から笑顔の顔画像(
図30参照)に変化するようにしてもよい。また、顔画像の変化に代えて、もしくは組み合わせて、カラースケールなどを用いて質問文に対する質の向上度合いを表現してもよい。
【0150】
(変形例7)
また、第9実施形態に係る対話管理サーバ1は、例えばTF-IDFを用いる手法により単位情報の検索スコアを算出するが、検索スコアの算出に際し、項目毎に算出したスコアの合計値を用いてもよいし、項目毎に算出したスコアに重みに乗じて求めた合計値を用いてもよい。また、項目毎のスコアのうち最大のスコアを有するものを検索スコアとして採用してもよい。さらに、項目毎に算出したスコアに重みに乗じて求めたスコアのうち最大のスコアを有するものを検索スコアとして採用してもよい。例えば、対話管理サーバ1は、説明文から算出されたスコアと、一の見出しから算出されたスコアとのうちの大きい方のスコアを用いて回答出力情報を生成するものでもよい。
【0151】
(変形例8)
(9-8-1)
また、第9実施形態においては、第1実施形態から第7実施形態に係る構造化した形式の文書に関して、説明文のテキストデータと、説明文に至る一又は複数の階層を識別するための情報及び階層の見出しを表すテキストデータと、説明文に関連する関連文のテキストデータとを対応付けたものを「単位情報」としてもよい。例えば、関連文のテキストデータは
図31の「<field name = "cooccurrence">」で示されるフィールドに格納される。この
図31に示すようなデータ(「関連文書き込み後」で囲まれる部分)が一つの単位情報として定義され、複数の単位情報を含む集合が上述した特定形式の構造化文書として定義される。
ただし、変形例8における「単位情報」は、上述した構造に限定されるものではなく、説明文のテキストデータと、説明文のテキストデータに関連する関連文のテキストデータとを対応付けたものであればよい。変形例8において、「単位情報」に「説明文に至る一又は複数の階層を識別するための情報及び階層の見出しを表すテキストデータ」を含めるか否かは必要に応じて任意に選択可能である。
図32は第9実施形態の変形例8の構成を説明するための模式図である。変形例8では、対話管理サーバ1は、検索スコアの算出に際し、関連文のテキストデータを用いる。
【0152】
具体的に、変形例8に係る対話管理サーバ(回答生成装置)1は、記録部11が、説明文のテキストデータと、当該説明文に至る一又は複数の階層を識別するための情報及び当該階層の見出しを表すテキストデータと、当該説明文に関連する関連文のテキストデータとを含む単位情報を複数有する構造化した形式の文書のデータを記録する。
また、変形例8に係る対話管理サーバ1は、情報処理部10が書込部37をさらに備える。書込部37は、受付部19により受け付けられた評価に基づいて、ユーザから入力された質問文のテキストデータを単位情報の関連文のテキストデータに書き込む。例えば、受付部19を介して回答に対するユーザの高い評価を受け付けると、書込部37が、質問文のテキストデータを、高い評価となった回答に対応する単位情報の関連文のテキストデータへ書き込む。ここで、ユーザの高い評価とは、例えば、
図6に示したお気に入りボタンH1をユーザが選択する操作や、
図13に示した「Good」のスタンプST1をユーザが選択する操作である。
【0153】
また、変形例8に係る対話管理サーバ1は、回答生成部27が、受付部19により受け付けられた質問文のテキストデータと、記録部11に記録された各単位情報に含まれるテキストデータとをマッチングして、質問文に関連する単位情報を抽出し、抽出された単位情報に対応する見出し及び説明文に基づく回答出力情報を生成する。回答生成部27は、回答出力情報の生成の際に、関連文の内容は反映せずに、対応する単位情報の見出し及び説明文に基づいて生成する。
【0154】
具体的に、受付部19が質問文のテキストデータを受け付けると、回答生成部27は、質問文のテキストデータを形態素解析して抽出された単語の、各単位情報の説明文の項目のテキストデータ(「<field name = "description">」のフィールドのテキストデータ)における出現頻度(TF)を算出する。さらに、回答生成部27は、質問文のテキストデータから抽出された単語を説明文のテキストデータに含む単位情報の数の、単位情報の総数に対する割合(IDF)を算出する。回答生成部27は、TFとIDFとを乗算することによって、説明文の項目に対するスコアを算出する。同様に、回答生成部27は、各単位情報の見出しの項目(例えば、「<field name = "passus">」のフィールド)のスコアと、各単位情報の関連文の項目(「<field name = "cooccurrence">」のフィールド)のスコアとを算出する。
【0155】
ここで、関連文の項目に対するスコアは、関連文が空欄であるか否か、及び、関連文と質問文が類似するか否かによって変化する。関連文が空欄の単位情報とは、過去にユーザが評価を行っていない回答出力情報に対応するものである。したがって、関連文が空欄の場合、質問文のテキストデータから抽出された単語が関連文に含まれる頻度(TF)は0となる。TFとIDFとを乗算することによって得られる、関連文の項目に対するスコアは0となる。
【0156】
関連文が空欄ではなく、質問文と関連文が類似する場合、質問文のテキストデータから抽出された単語が関連文に含まれる頻度(TF)は高い値となる。具体的に、例えば、関連文が「本人確認書類で年金手帳を持参した。住所の記載がない場合は有効か?」で、質問文が「住所の記載がない年金手帳を持参した。本人確認書類として有効か?」の場合、質問文から抽出される「住所」、「記載」、「年金手帳」等の多くの単語が関連文に出現する。結果として、関連文の項目に対するスコアが高い値となる。
【0157】
一方、関連文が空欄ではなく、質問文と関連文が類似しない場合、質問文から抽出された単語が関連文に含まれる頻度(TF)は、低い値となる。具体的に、例えば、関連文が「本人確認書類で年金手帳を持参した。住所の記載がない場合は有効か?」で、質問文が「裁判費用立替口の開設時の処理で住所は必要か?」の場合、質問文から抽出される「裁判費用立替口」、「裁判」、「費用」等の単語は関連文に出現せず、「住所」の単語のみ関連文に出現する。結果として、関連文の項目に対するスコアは、質問文と関連文が類似する場合と比較して、低い値となる。
【0158】
以上述べた通り、関連文の項目に対するスコアは、関連文が空欄ではなく、かつ、関連文と質問文とが類似する場合に高い値となる。そのため、質問文と関連文が類似しない場合と比較して、質問文と関連文とが類似する場合の単位情報の検索スコアは上昇することになる。結果として、このような検索スコアに基づいて生成される回答出力情報は、表示部の画面Gにおいて、上位に表示されやすくなる。
【0159】
このように、本実施形態の変形例8に係る対話管理サーバ1(書込部37)は、受付部19により受け付けられたユーザの評価に基づいて、当該ユーザが入力した質問文のテキストデータを単位情報の関連文のテキストデータに書き込む。そして、対話管理サーバ1(回答生成部27)は、質問文のテキストデータと記録部11に記録された各単位情報に含まれるテキストデータ(関連文のテキストデータを含む)とをマッチングする。これにより、対話管理サーバ1は、過去のユーザの評価応答を反映した回答出力情報を生成することができる。
【0160】
(9-8-2)
図33は、変形例8に係るユーザ端末装置の表示部の画面の一例を示す図である。
図33の例では、対話管理サーバ1は、過去のユーザとの対話において、
図5の符号T1で示す「本人確認書類で年金手帳を持参した。住所の記載がない場合は有効か?」の質問(以下、過去の質問T1ともいう)の入力に対して、
図5の符号T3に示す「管理編1章2節 2.…」の部分の回答に対して高い評価を受け付けているものとする。すなわち、「管理編1章2節 2.…」に対応する単位情報の関連文のフィールドには、過去のユーザの質問として、質問T1のテキストデータが書き込まれているものとする。
図33に示すように、受付部19は、ユーザU10から質問T101を受け付ける。質問T101は、質問T1に類似の質問であり、例えば、「住所の記載がない年金手帳を持参した。本人確認書類として有効か?」を示すテキストデータである。以下では、このような質問T101を受け付けたときの回答生成処理をより具体的に説明する。
【0161】
まず、自然言語処理部21が、例えば、質問T101のテキストデータ(「住所の記載がない年金手帳を持参した。本人確認書類として有効か?」)を読み込み、これを形態素解析して一又は複数の単語を切り出す。
【0162】
次に、重み付け設定部23が、質問T101に含まれる単語の出現頻度を算出し、算出された出現頻度に基づいて単語の重み付けを設定する。
【0163】
次に、回答生成部27が、質問T101と文書情報BIとのマッチングを行う。ここで、回答生成部27は質問T101と文書情報BIの各単位情報の説明文のフィールド(「<field name = "description">」)のテキストデータだけでなく、関連文のフィールド(「<field name = "cooccurrence">」)のテキストデータともマッチングを行い、検索スコアを算出し、検索スコアに基づいて回答出力情報を生成する。ここで、回答生成部27は、回答出力情報を生成するために文書情報BIから文章を抽出する際は説明文のフィールドのテキストデータを利用し、関連文のフィールドのテキストデータは利用しない。
【0164】
「管理編1章2節 2.…」に対応する単位情報の関連文のフィールドに対するスコアは、関連文のフィールドに書き込まれた質問T1と、質問T101とのマッチングにより得られる。質問T101と質問T1とは類似のテキストデータであるため、「管理編1章2節 2.…」の関連文のフィールドに対するスコアは高い値となる。一方、関連文のフィールドに何も書き込まれていない単位情報や、質問T101と類似しないテキストデータが関連文のフィールドに書き込まれている単位情報に関しては、関連文のフィールドに対するスコアは低い値となる。ここで、単位情報の検索スコアは、関連文のフィールドに何も書き込まれていない場合の当該単位情報の検索スコアと比較して、関連文のフィールドに対するスコアの値が大きいほど上昇しやすい。
すなわち、「管理編1章2節 2.…」に対応する単位情報の関連文のフィールドに、過去のユーザの質問として質問T1のテキストデータが書き込まれており、過去の質問T1に類似する質問T101が入力された場合、「管理編1章2節 2.…」に対応する単位情報の検索スコアが上昇し、質問T101へより適合する回答として順位が上がる。
【0165】
次に、質問T101に対する回答T103が画面Gに表示される。その後、ユーザU10が「管理編1章2節 2.…」の回答を選択すると(
図33のT105)、出力制御部31は、「管理編1章2節 2.…」の具体的内容を出力する(
図33のT107)。続いて、ユーザU10がお気に入りボタンHIを選択すると、書込部37は、質問T101のテキストデータを、「管理編1章2節 2.…」に対応する単位情報の関連文のフィールドに追加で書き込む。
【0166】
このように、変形例8では、回答生成部27は質問T101と文書情報BIの各単位情報の説明文とのマッチングに加え、質問T101と各単位情報の関連文に書き込まれた過去の質問T1(過去にユーザにより高い評価がされたと記憶された質問T1)とのマッチングを行う。これにより、過去の質問T1に対する回答として高い評価となった回答に対応する単位情報の検索スコアが相対的に高くなり、回答生成部27は過去のユーザの評価応答を反映した回答出力情報を生成することができる。補足すると、過去の質問に対してユーザが高い評価をした回答は、当該過去の質問に類似する質問に対しても適合する可能性が高い。そのため、ユーザU10の質問T101に適合する回答として、質問T101と類似の質問T1に対する回答として過去にユーザが高い評価をした回答(「管理編1章2節 2.…」)が上位に表示されるのが好ましい。変形例8に係る対話管理サーバ1は、上記構成を具備しているので、類似の質問に対して過去にユーザが高い評価をした回答を上位に表示できる。
さらに、「管理編1章2節 2.…」に対応する単位情報に質問T101のテキストデータを追加で書き込む構成により、質問に適合する単位情報が最適化される。具体的に、追加で書き込まれた質問T101に登場する単語を含む質問と、当該単位情報とのマッチングにおいて、当該単語の出現頻度が増加する。結果として、そのような質問に対する当該単位情報の検索スコアが上昇し、当該単位情報がその質問により適合する単位情報となる。すなわち、単位情報に書き込まれる関連文のテキストデータ(過去の質問)が増えることで、質問に適合する単位情報が最適化される。よって、この構成により、対話管理サーバ1がユーザからの評価を受け付ける度に、単位情報全体の最適化が行われ、回答の精度が向上する。
【0167】
なお、変形例8において、回答生成部27が単位情報のスコアを算出する方法としては、上述した方法に限定されるものではない。例えば、第9実施形態で述べた単語の出現頻度を示すTF、逆文書頻度を示すIDF、単位情報の長さ等の指標を用いて検索スコアを算出する方法でもよい。また、例えば回答生成部27は、記録部11に記録された各単位情報に対して、質問文のテキストデータと当該単位情報の説明文のテキストデータとをマッチングして第1スコアを算出し、質問文のテキストデータと当該単位情報の関連文のテキストデータとをマッチングして第2スコアを算出し、第1スコアと第2スコアに基づいて(例えば、第1スコアと第2スコアの合計値により)当該単位情報のスコアを算出し、算出したスコアを用いて回答出力情報を生成してもよい。
【0168】
さらに、フィールド毎のスコアから、単位情報に対する検索スコアを算出する方法としては、回答生成部27がフィールド毎に重みを設定し、フィールド毎の重みで重みづけした後の第1スコアと第2スコアとを用いて検索スコアを算出する方法でもよい。例えば、回答生成部27は第1スコアの重みとしてW1を設定し、第2スコアの重みとしてW2を設定し、単位情報に対する検索スコアを重み付きの合計、すなわち、(W1×第1スコア)+(W2×第2スコア)、を用いて算出してもよい。ここで、W1とW2は、例えば正の実数であり、W1とW2は等しい値でも異なる値でもよい。また、フィールド毎のスコアのうち最大のスコアを有するものを検索スコアとして採用してもよい。
【0169】
さらに、回答生成部27がフィールド毎に重みを設定する場合、関連文のフィールドの重み(W2)を説明文のフィールドの重み(W1)よりも高く設定してもよい(W1<W2)。換言すると、回答生成部27は、第1スコアに重み付けを行い、第2スコアに前記第1スコアより高く重み付けを行い、重み付けされた第1スコアと重み付けされた第2スコアに基づいて単位情報のスコアを算出するものであってもよい。これにより、回答生成部27により、過去のユーザの質問文とのマッチングを重視した回答が生成される。
【0170】
さらに、回答生成部27は、
図31に示した「<field name = "description">」のフィールドと「<field name = "cooccurrence">」のフィールドだけでなく、他のフィールド(例えば、見出しのフィールド)を用いてマッチングを行ってもよい。また、回答生成部27は、マッチングで抽出された単位情報の各見出しに含まれるテキストデータに基づいて回答出力情報を生成してもよい。質問文によっては、文書の構成単位(項目)(例えば、編、章、節、項、小項目等)に含まれるテキストデータよりも見出しの方が適切な回答を誘導する場合があるため、各項目のテキストデータのみならず、見出しも含めてマッチングをすることで質問文に関連する項目を適切に抽出することが可能となる。
【0171】
以上説明したように、変形例8では、文書情報BIの単位情報の関連文のフィールドに、ユーザからの評価に基づいて、ユーザが入力した質問文のテキストデータが書き込まれるので、ユーザからの評価応答が少ない状況においても、回答の精度を向上させることができる。補足すると、過去のユーザの評価応答を検索スコアへ反映する方法としては、上述した、対話ログデータベース4に格納された対話結果に基づく、質問と回答とのマッチングの重み付けの学習も考えられる。しかし、このような学習を行う方法では、過去のユーザの応答を回答生成部27の回答生成に反映させるために、学習に十分な対話結果を蓄積する必要がある。これに対して、変形例8の方法では、ユーザからの評価応答が少ない状況においても、使用に応じて、文書情報BIの単位情報にユーザの質問文が書き込まれるので、回答の精度を向上させることができる。
【0172】
また、上述した対話結果に基づいて重み付けの学習を行う方法とユーザの質問文を文書情報BIの単位情報に書き込む方法とは組み合わせてもよい。これらの方法の組合せにより、対話管理サーバ1は、学習に十分な対話結果が格納されていない状況であっても過去のユーザの応答を利用し、回答の精度を向上させることができる。
【0173】
(9-8-3)
文書情報BIの単位情報が関連文のフィールドを含む場合、回答生成部27が、関連文のテキストデータに基づく情報を反映させた回答出力情報を生成するものであってもよい。
例えば、回答生成部27は、第2実施形態で説明した手法を用いて回答出力情報を生成するものであってもよい。すなわち、回答生成部27は、入力された質問文の内容が不明確であるか否かを判断し、不明確であると判断した場合、当該質問文と記録部に記録された各単位情報に含まれる関連文のテキストデータとのマッチングを行なう。回答生成部27は、関連文のフィールドに過去の質問文のテキストデータが書き込まれている場合、質問文に関連する関連文を抽出し、抽出された関連文を含む回答出力情報を生成する。具体的に、回答生成部27は、マッチング結果でスコアの高い過去の質問文のテキストデータに「過去にこんな質問がありました。」等のテンプレートを追加した回答出力情報を生成する。この構成によれば、対話管理サーバ1は、ユーザの意図した内容に近い質問文を、過去の質問文からユーザに選択させることができる。そのため、どのような質問文を入力すべきかユーザが判断できない状況においても、対話管理サーバ1は迅速に所望の回答を提示できる。
【0174】
また、回答生成部27は、第4実施形態で説明した手法をさらに変形させて回答出力情報を生成するものであってもよい。ここでは、記録部11が、各単位情報に含まれる各フィールドのテキストデータに所定の単語が出現することを示すテーブル情報を予め記録する。例えば、このテーブル情報は、複数の単位情報に含まれる単語として文書情報BIで使用される全単語が行の項目に該当し、文書情報BIに含まれる各単位情報の各フィールドのそれぞれが列の項目に該当する。そして、このテーブル情報では、行の項目の単語が列の項目の単位情報のフィールドに出現するか否かを示す情報がテーブルの値として保有される。なお、テーブル情報は、ユーザにより設定されたタイミングで情報処理部10により更新される。
回答生成部27は、このようなテーブル情報に基づいて質問文に含まれる単語に共起する一又は複数のキーワードを含む回答出力情報を生成する。ただし、ここでは、回答生成部27は、質問文のテキストデータと記録部27に記録された各単位情報のテキストデータとをマッチングし、マッチングした結果が所定条件となる場合に回答出力情報を生成する。所定条件は、質問文のテキストデータと各単位情報とのマッチングによるスコアが所定点数以下となる場合や、質問文のテキストデータに基づいて文書情報BIから抽出される単位情報の数が所定数以下となる場合などが該当する。
例えば、受付部19がユーザから「口座開設」の質問文を受け付け、その質問文とマッチングする単位情報のスコアが所定点数以下となるときに、回答生成部27が記録部11に記録されたテーブル情報において「口座開設」が出現する各単位情報のフィールドに共起する単語(例えば、「手続き」,「必要書類」,「代理」及び「未成年」)を抽出して回答出力情報を生成する。
このように、回答生成部27は、文書情報BIに含まれる単語が文書情報BIを構成する各単位情報の各フィールドに出現することを示すテーブル情報を用いて、質問文に含まれる単語に共起する単語をキーワードとして含む回答出力情報を出力する。これにより、 ユーザにキーワードを選択させることで、質問の曖昧性を回避することができ、質問に対する回答の精度を向上させることができる。また、テーブル情報は関連文のテキストデータが書き込まれるについてユーザの意図が反映されていくものになる。したがって、このようなテーブル情報に基づいて、質問文の単語と共起する単語をキーワードとして抽出するので、使用に応じて、質問の意図に近い単語をキーワードとしてユーザに提示できるようになる。
なお、回答生成部27は、上記テーブル情報のうち、各単位情報に含まれる関連文のフィールドに所定の単語が出現することを示す情報に基づいて、質問文に含まれる単語に共起する一又は複数のキーワードを含む回答出力情報を生成してもよい。また、回答生成部27は、これらを組み合わせ、上記テーブル情報に基づいて質問文に含まれる単語に共起する一又は複数の第1キーワードと、上記テーブル情報のうち、各単位情報に含まれる関連文のフィールドに所定の単語が出現することを示す情報に基づいて質問文に含まれる単語に共起する一又は複数の第2キーワードとを含む回答出力情報を生成してもよい。このような構成であれば、単位情報に過去の質問文が関連文として書き込まれていない場合は、第1キーワードをユーザに提示できる。また、単位情報に過去の質問文が関連文として書き込まれるにつれて、第1キーワードに加え、質問の意図に近い単語を第2キーワードとしてユーザに提示することができる。
【0175】
また、回答生成部27は、第5実施形態で説明した手法を用いて回答出力情報を生成するものであってもよい。具体的には、回答生成部27は、入力された質問に対して質問文の内容が不明確であるか否かを判断し、不明確であると判断した場合、当該質問と単位情報とのマッチングを行う。回答生成部27がマッチングの対象とする単位情報は、記録部11に記録された全ての単位情報でもよいし、関連文が書き込まれた単位情報に限定してもよい。そして、回答生成部27は、マッチングで抽出された単位情報の階層構造に関する情報に基づいて、段階的な回答(第5実施形態の第1回答や第2回答)を生成する。
例えば、受付部19がユーザから「口座を統一する」の質問文を受け付けると、回答生成部27は、質問文の文字数、当該質問に対する検索スコア、及び当該質問に対して抽出される文書数などを総合的に評価して、当該質問文「口座を統一する」の内容が不明確であるか否かを判定する。回答生成部27は当該質問文が不明確であると判定した場合、質問文に含まれる単語を抽出し、抽出した単語と各単位情報に含まれるテキストデータとのマッチングを行う。ここでは、回答生成部27がマッチング対象とする単位情報は、関連文が書き込まれた単位情報に限定するものとする。続いて、回答生成部27は、マッチングにより抽出された単位情報の編階層に対応するフィールド(
図31に示した「<field name = "passus">」のフィールド)の情報に基づいて、回答出力情報を第1回答として生成する。例えば、回答生成部27は、編階層に対応するフィールドで使用される用語の数に応じて第1回答を生成する。回答生成部27が、「<field name = "passus">」のフィールドが「預金編」である単位情報に書き込まれた関連文と、「<field name = "passus">」のフィールドが「管理編」である単位情報に書き込まれた関連文とを抽出した場合には、「預金編」と「管理編」を含む回答出力情報が第1回答として生成される。同様に、回答生成部27は、マッチングにより抽出された節階層に対応するフィールド(
図31に示した「<field name = "section">」のフィールド)の情報に基づいて、回答出力情報を第2回答として生成する。
このように、回答生成部27は、質問文の内容が不明確であるか否かを判断し、不明確であると判断した場合、当該質問文と記録部11に記録された各単位情報に含まれる関連文のテキストデータとをマッチングして、質問文に関連する関連文を抽出し、抽出された関連文に基づいて回答出力情報を生成するものでもよい。この場合、回答生成部27は、ユーザの質問文に類似する関連文の単位情報の階層構造に関する情報を利用することで、回答候補を効率的に絞り込むことができる。
【0176】
(9-8-4)
書込部37は、第6実施形態で説明したスタンプの選択に応じて単位情報の関連文のフィールドへ書き込むものであってもよい。すなわち、ユーザUにより、回答に対する良好な評価を示す「Good」を含むスタンプST1が選択された場合、またはスタンプST1が選択された後に不図示の対話終了ボタンが選択された場合、ユーザUの質問T51を当該回答に対応する単位情報の関連文のフィールドへ書込部37が書き込む構成としてもよい。
【0177】
具体的には、文書情報BI上において、
図13の回答詳細T55「(1)計算編 3章:仮払金・借受金 2節:新規・・・」に対応する単位情報のXML形式のデータの「<field name = "cooccurrence">」のフィールドへ、
図12の質問T51のテキストデータ「裁判費用立替口の開設時の処理」を書込部37が書き込む。
【0178】
この構成により、質問T51と類似の質問文に対して「(1)計算編 3章:仮払金・借受金 2節:新規・・・」に対応する単位情報の検索スコアが相対的に上昇する。よって、回答生成部27は、過去のユーザの評価応答を反映した回答出力情報を生成することができる。
【0179】
(9-8-5)
書込部37は、対話結果管理部29が格納した評価に基づいて、質問文のテキストデータを単位情報の関連文のテキストデータに書き込むものであってもよい。例えば、対話結果管理部29は、ユーザからの質問(質問文のテキストデータ)と、当該質問に対する回答(回答出力情報)と、ユーザから受け付けた評価と、を含む対話結果を対話ログデータベース4に格納する。
図14は、対話結果に含まれる情報を示す一例である。書込部37は、
図14に示された対話結果から、対話ログID「6902」に記録された情報を参照する。対話ログID「6902」では、質問文のテキストデータとして「新規口座開設について」が記録されており、回答として「資金編3章…」が記録されており、評価として「good」が記録されている。書込部37は、「good」の評価(対話結果管理部29が格納した評価)に基づいて、「資金編3章…」に対応する単位情報のXML形式のデータの「<field name = "cooccurrence">」のフィールドへ、「新規口座開設について」のテキストデータを関連文として書き込む。同様に、書込部37は、
図14に示した他の対話ログID「7350」,「7432」,「7442」に関しても、それぞれ対応する単位情報のXML形式のデータの「<field name = "cooccurrence">」のフィールドへ、質問文のテキストデータを関連文として書き込む。対話結果管理部29が対話結果を対話ログデータベース4に格納することにより、質問文のテキストデータが対話ログデータベース4に蓄積される。これにより、対話管理サーバ1のオペレータは、対話ログデータベース4に蓄積された質問文のテキストデータの抽出(例えば、高い評価に対応する質問文のテキストデータ、すなわち、関連文として書き込まれる質問文のテキストデータの抽出)や管理が容易になる。
【0180】
(9-8-6)
対話管理サーバ1は、過去に受付部19が受け付けた質問文のテキストデータに基づいて生成された合成語の入力を受け付け、受け付けた合成語を第1合成語辞書DB12Aや第2合成語辞書DB12Bに登録するものであってもよい。過去に受付部19が受け付けた質問文のテキストデータとは、例えば、単位情報へ書き込まれた関連文のテキストデータである。以下では、過去に受付部19が受け付けた質問文のテキストデータとして、関連文のテキストデータを利用した合成語の登録処理について、
図34を参照し説明する。
図34は、対話管理サーバ1の合成語登録処理の一例を示すフローチャートである。
図34において、対話管理サーバ1の情報処理部10は、文書情報BIを検索し、単位情報へ書き込まれた関連文のテキストデータを抽出する(ステップS960)。続いて、対話管理サーバ1の情報処理部10は、抽出したテキストデータを、オペレータ端末装置8を介してオペレータへ提示する(ステップS962)。続いて、オペレータは、提示されたテキストデータを確認し、当該テキストデータに含まれる複数の単語から合成語を生成し、生成した合成語をオペレータ端末装置8に入力する。例えば、オペレータは、提示されたテキストデータ「銀行口座について」を確認し、「銀行口座について」に含まれる「銀行」と「口座」の2単語(複数の単語)から「銀行口座」の合成語を生成し、「銀行口座」をオペレータ端末装置8に入力する。続いて、オペレータ端末装置8は入力された合成語のテキストデータを対話管理サーバ1へ送信する。対話管理サーバ1の情報処理部10は、送信された合成語のテキストデータを受信する(ステップS964)。続いて、対話管理サーバ1の情報処理部10は、受信した合成語のテキストデータを第1合成語辞書DB12Aや第2合成語辞書DB12Bに登録する(ステップS966)。
このように、対話管理サーバ1が、過去に受付部が受け付けた質問文のテキストデータを提示し、複数の単語からなる合成語を受け付け、当該合成語を合成語辞書(第1合成語辞書DB12Aや第2合成語辞書DB12B)に登録することで、過去のユーザの質問を活用した合成語を登録することができる。
【0181】
なお、過去に受付部19が受け付けた質問文のテキストデータは、単位情報に書き込まれた関連文のテキストデータに限定されるものではない。例えば、対話結果管理部29が対話結果を対話ログデータベース4に格納する構成とし(上述した9-8-5参照)、ステップS960~S962において、対話管理サーバ1の情報処理部10は、対話ログデータベース4に格納された対話結果から質問文のテキストデータを抽出し提示してもよい。補足すると、対話結果からの質問文のテキストデータ抽出において、対話管理サーバ1の情報処理部10は、高い評価に対応する質問文のテキストデータ(関連文として書き込まれるテキストデータ)を抽出してもよいし、低い評価に対応する質問文のテキストデータを抽出してもよい。例えば、低い評価への対応を重点的に行う対話管理システムの場合、対話管理サーバ1の情報処理部10を、低い評価に対応する質問文のテキストデータに基づいて生成された合成語を登録する構成とすることで、オペレータは、当該合成語の登録前後で、低い評価に対応する回答の出現順位(回答出力情報における出現順位)の変化を確認できる。オペレータはこの変化を確認しながら、回答の精度向上に寄与する合成語(例えば、低い評価に対応する回答の出現順位が登録前後で下がった合成語)を選択して登録することができる。よって、上記構成により、回答の精度向上が可能な対話管理サーバを提供できる。
また、ステップS962において、対話管理サーバ1は、第1合成語辞書DB12Aや第2合成語辞書DB12Bに登録された合成語の一覧を、オペレータ端末装置8を介してオペレータへさらに提示してもよい。このように、合成語の一覧が提示されることで、オペレータは、生成した合成語が第1合成語辞書DB12Aや第2合成語辞書DB12Bに登録済であるか否かを容易に確認することができる。さらに、ステップS964で対話管理サーバ1の情報処理部10が受信する合成語は、2単語からなる合成語に限らず、3単語以上からなる合成語であってもよい。
【0182】
(9-8-7)
対話管理サーバ1は、過去に受付部19が受け付けた質問文のテキストデータに基づいて生成された単語及び文章を受け付け、受け付けた単語及び文章をショートトークDB46に登録するものであってもよい。過去に受付部19が受け付けた質問文のテキストデータとは、例えば、単位情報へ書き込まれた関連文のテキストデータである。以下では、このようなショートトークの登録処理について、
図35を参照し説明する。
図35は、対話管理サーバ1のショートトーク登録処理の一例を示すフローチャートである。
図35において、対話管理サーバ1の情報処理部10は、文書情報BIを検索し、単位情報へ書き込まれた関連文(過去の質問文)のテキストデータを抽出する(ステップS970)。続いて、対話管理サーバ1は、抽出した関連文のテキストデータを、オペレータ端末装置8を介してオペレータへ提示する(ステップS972)。続いて、オペレータは、提示された関連文のテキストデータを確認し、ショートトークを実現するための単語及び文章を生成し、生成した単語及び文章をオペレータ端末装置8に入力する。例えば、提示された関連文が時事問題に関する質問を含む場合、オペレータは、当該時事問題に関連する単語と、当該単語に対する回答文となる文章と、を生成する。続いて、オペレータ端末装置8は、入力された単語及び文章のテキストデータを、対話管理サーバ1へ送信する。対話管理サーバ1の情報処理部10は、送信された単語及び文章のテキストデータを受信する(ステップS974)。続いて、対話管理サーバ1は、受信した単語及び文章のテキストデータを関連付けてショートトークDB46に登録する(ステップS976)。
このように、対話管理サーバ1が、関連文のテキストデータを提示し、当該関連文のテキストデータに基づいて生成された単語及び文章の入力を受け付け、当該単語及び文章を関連付けてショートトークDBに登録することで、過去のユーザの質問を反映したショートトークを登録することができる。
【0183】
なお、過去に受付部19が受け付けた質問文のテキストデータは、単位情報に書き込まれた関連文のテキストデータに限定されるものではない。例えば、対話結果管理部29が対話結果を対話ログデータベース4に格納する構成とし(上述した9-8-5参照)、ステップS970~S972において、対話管理サーバ1の情報処理部10は、対話ログデータベース4に格納された対話結果から質問文のテキストデータを抽出し提示してもよい。
【0184】
<第10実施形態>
図36は本発明の第10実施形態に係る対話管理システムの構成を示す模式図である。第10実施形態に係る対話管理サーバ1は、単語分散表現データベース(DB)201をさらに備える。
【0185】
単語分散表現DB201は、任意の単語の分散表現を記憶するデータベースである。ここで「単語の分散表現」とは、各単語の特徴が格納された固定長ベクトルであり、一単語に対してベクトル形式の数値表現が一対一で対応するものである。
【0186】
また、本実施形態に係る回答生成部27は、以下のように動作する。まず、回答生成部27は、質問文のテキストデータを形態素解析して抽出された単語から、所定のルールで単語を選択する。ここでは、形態素解析により複数の単語が抽出された場合、一番長い単語が選択される。続いて、回答生成部27は、選択された単語に関し、分散表現において一定距離以内にある単語を「関連語」として単語分散表現DB201から抽出する。
【0187】
次に、回答生成部27は、質問文のテキストデータを解析して抽出された単語及び関連語の、各単位情報における出現頻度に基づいてスコアを算出する。そして、回答生成部27は、算出したスコアを用いて回答出力情報を生成する。
【0188】
例えば、回答生成部27は、「ETCカードの清算」などの表現が質問文に含まれている場合、当該表現を「ETCカード」「清算」の2単語に形態素解析する。ここでは、前提として「ETCカード」が第1合成語辞書DB12A又は第2合成語辞書DB12Bに登録されているものとする。次に、回答生成部27は、「ETCカード」と「清算」の2単語のうち、文字数の長い単語である「ETCカード」を選択する。続いて、回答生成部27は、単語分散表現で「ETCカード」と一定距離以内にある単語を関連語として抽出する。ここでは、例えば、関連語として「車」「クレジットカード」などを単語が関連語として抽出される。そして、回答生成部27は、これらの関連語も含めて検索スコアを算出し、検索スコアの高い順に単位情報から回答出力情報を生成する。
【0189】
ここで、関連語が抽出されない場合は、形態素解析された単語に基づいて回答出力情報が生成されてもよい。
【0190】
上述したように、本実施形態に係る対話管理サーバ1では、関連語も含めて文書情報BIを検索するので、ユーザに必要な情報を提示する確率を高めることができる。
【0191】
(変形例)
ここで、第10実施形態に係る対話管理サーバ1は、書込部37をさらに備える構成でもよい。書込部37は、文書情報BIの単位情報が上述した関連文のフィールドを含む場合、回答に対してユーザが高い評価をした当該ユーザの質問文のテキストデータを、当該回答に対応する単位情報の関連文のフィールドへ書き込む。この構成では、対話管理サーバ1は、検索スコア算出に利用するテキストデータに関連文のフィールド内のテキストデータを含めてもよい。
【0192】
なお、上記各実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するものではない。本発明はその趣旨を逸脱することなく、変更/改良され得るとともに、本発明にはその等価物も含まれる。また、本発明は、上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の開示を形成できるものである。例えば、実施形態に示される全構成要素から幾つかの構成要素は削除してもよいものである。さらに、異なる実施形態に構成要素を適宜組み合わせてもよいものである。
【0193】
また、フローチャートの各ステップは、必ずしも上記したステップとおりに実行される必要はない。例えば、
図4に示すステップS1、S3及びS5は、ステップS7の後に実行されてもよい。
【符号の説明】
【0194】
1…対話管理サーバ、4…対話ログDB、6…ユーザ端末装置、8…オペレータ端末装置、10…情報処理部、11…記録部、12…専門用語辞書DB、12A…第1合成語辞書DB、12B…第2合成語辞書DB、13…同義語辞書DB、14…除外用語辞書DB、15…取得部、17…データ変換部、19…受付部、21…自然言語処理部、23…重み付け設定部、24…逆文書頻度DB、27…回答生成部、29…対話結果管理部、31…出力制御部、33…音声認識処理部、35…音声対話管理部、37…書込部、44…下位概念語辞書DB、46…ショートトークDB、201…単語分散表現DB