(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024007282
(43)【公開日】2024-01-18
(54)【発明の名称】情報処理装置、及び情報処理プログラム
(51)【国際特許分類】
G06F 16/90 20190101AFI20240111BHJP
G06F 16/906 20190101ALI20240111BHJP
【FI】
G06F16/90 100
G06F16/906
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022108694
(22)【出願日】2022-07-05
(71)【出願人】
【識別番号】000005496
【氏名又は名称】富士フイルムビジネスイノベーション株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】姫野 拓未
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175EA01
5B175FA03
5B175HB03
(57)【要約】
【課題】複数の意図を含む質問文に対して、質問文に含まれる意図の数だけ回答を提示する。
【解決手段】情報処理装置1は、複数の意図を含んだ質問文に対する複数の回答を、各々の回答間の類似度を示す第1類似度に基づいて複数のグループに分類し、分類したグループ毎に、質問文の文節を組み合わせることで得られる質問文の分割表現とグループに含まれる各々の回答との類似度を示す第2類似度を用いて、複数の回答の中から質問文に含まれる各々の意図に対応した回答を提示する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
プロセッサを備え、
前記プロセッサは、
複数の意図を含んだ質問文に対する複数の回答を、各々の回答間の類似度を示す第1類似度に基づいて複数のグループに分類し、
前記グループ毎に、前記質問文及び前記質問文の2つ以上の文節を組み合わせることで得られる前記質問文の分割表現と、前記グループに含まれる各々の回答との類似度を示す第2類似度を用いて、前記複数の回答の中から前記質問文に含まれる各々の意図に対応した回答を提示する
情報処理装置。
【請求項2】
前記プロセッサは、前記質問文に含まれる各々の意図に対応した回答と共に、前記複数の回答の分類結果を提示する
請求項1に記載の情報処理装置。
【請求項3】
前記プロセッサは、前記質問文に含まれる意図の数を更に提示する
請求項2に記載の情報処理装置。
【請求項4】
前記プロセッサは、前記質問文の前記第2類似度に対する低下差分が最も大きくなる前記質問文の分割表現の前記第2類似度が対応付けられた回答である第1回答、又は前記質問文の各々の分割表現に対する前記第2類似度の中で最も高い前記第2類似度が対応付けられた回答である第2回答を前記グループ毎に特定し、前記質問文に含まれる各々の意図に対応した回答として提示する
請求項1に記載の情報処理装置。
【請求項5】
前記プロセッサは、表現が冗長であるほど大きい値を示す前記質問文の冗長度が予め定めた値以上である場合、前記第2回答を前記質問文に含まれる各々の意図に対応した回答として提示する
請求項4に記載の情報処理装置。
【請求項6】
コンピュータに、
複数の意図を含んだ質問文に対する複数の回答を、各々の回答間の類似度を示す第1類似度に基づいて複数のグループに分類し、
前記グループ毎に、前記質問文及び前記質問文の2つ以上の文節を組み合わせることで得られる前記質問文の分割表現と前記グループに含まれる各々の回答との類似度を示す第2類似度を用いて、前記複数の回答の中から前記質問文に含まれる各々の意図に対応した回答を提示する処理を実行させるための
情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、及び情報処理プログラムに関する。
【背景技術】
【0002】
特許文献1には、質問文とそれに対応する回答との組である質問回答パターンを記憶する記憶部と、ユーザからの前記質問文の入力を受け付ける受付部と、前記受付部によって受け付けられた前記質問文と、前記記憶部に記憶されている前記質問文との類似度を算出する算出部と、前記算出部によって算出された前記類似度に基づいて、前記記憶部から前記質問回答パターンを取得する取得部と、前記取得部によって取得された前記質問回答パターンを前記ユーザに提示する提示部と、を備え、前記取得部は、同一の前記回答を含む前記質問回答パターンが複数存在する場合、それらの中で、前記類似度が最も高い前記質問回答パターンのみを前記記憶部から取得し、前記取得部は、同一の前記回答を含む前記質問回答パターンが複数存在する場合、それらの中で、前記類似度が最も高い前記質問回答パターンの前記類似度にプラスの補正を行い、補正された前記類似度の高い順に、前記記憶部から前記質問回答パターンを取得する質問回答システムが開示されている。
【0003】
特許文献2には、多数のコメント文章を蓄積したコメント文章蓄積部と、多数の回答を蓄積した回答蓄積部とを有し、ユーザからの質問文の回答を抽出するようにコンピュータを機能させる質問回答プログラムであって、質問文を入力する質問文入力手段と、前記質問文に含まれる複数の質問キーワードを抽出する質問キーワード抽出手段と、前記コメント文章蓄積部を用いて、前記質問キーワードを含むコメント文章を検索するコメント文章検索手段と、検索された複数のコメント文章を、述語項構造解析によって、述語項構造の分布から複数個のトピックグループに分類するトピック分類手段と、各トピックグループに含まれるコメント文章群と、各回答に含まれる文章との間の類似度を算出し、各トピックグループに前記類似度が所定閾値以上となる回答を対応付ける回答検出手段と、各トピックグループについて、対応付けられた回答に含まれる述語項構造の中で、当該トピックグループを特徴付ける代表述語項構造を抽出する代表述語項構造抽出手段と、各トピックグループについて、当該トピックグループのみに出現する代表述語項構造を、差分述語項構造として抽出する差分述語項構造抽出手段と、前記回答検出手段によって検出された前記回答を、対応する1つ以上の前記差分述語項構造に基づく文章と共に明示する回答出力手段としてコンピュータを機能させる質問回答プログラムが開示されている。
【0004】
特許文献3には、問い合わせと、複数の回答のそれぞれとの組み合わせ毎の特徴量が与えられることによって前記複数の回答のうち前記問い合わせに応じた前記回答の群をランキング形式で推論する学習モデルを使用する回答推論部を備え、前記回答推論部は、前記学習モデルによって推論されたランキング形式の前記回答の群の少なくとも一部を通知する自動応答システムが開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許6770283号公報
【特許文献2】特許6007088号公報
【特許文献3】特開2021-56580号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
例えばFAQ(Frequently Asked Questions)検索において、質問の意図が複数含まれる質問文に対する回答を検索した場合に、複数の回答が提示されることがある。回答の中には、例えば単に質問文に用いられている単語を含んでいるだけの回答が含まれることもあるため、ユーザは提示された複数の回答の中から、ユーザが所望する回答を探し出す必要がある。
【0007】
本開示は、複数の意図を含む質問文に対して、質問文に含まれる意図の数だけ回答を提示することができる情報処理装置、及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
第1態様に係る情報処理装置は、プロセッサを備え、前記プロセッサは、複数の意図を含んだ質問文に対する複数の回答を、各々の回答間の類似度を示す第1類似度に基づいて複数のグループに分類し、前記グループ毎に、前記質問文及び前記質問文の2つ以上の文節を組み合わせることで得られる前記質問文の分割表現と前記グループに含まれる各々の回答との類似度を示す第2類似度を用いて、前記複数の回答の中から前記質問文に含まれる各々の意図に対応した回答を提示する。
【0009】
第2態様に係る情報処理装置は、第1態様に係る情報処理装置において、前記プロセッサは、前記質問文に含まれる各々の意図に対応した回答と共に、前記複数の回答の分類結果を提示する。
【0010】
第3態様に係る情報処理装置は、第2態様に係る情報処理装置において、前記プロセッサは、前記質問文に含まれる意図の数を更に提示する。
【0011】
第4態様に係る情報処理装置は、第1態様に係る情報処理装置において、前記プロセッサは、前記質問文の前記第2類似度に対する低下差分が最も大きくなる前記質問文の分割表現の前記第2類似度が対応付けられた回答である第1回答、又は前記質問文の各々の分割表現に対する前記第2類似度の中で最も高い前記第2類似度が対応付けられた回答である第2回答を前記グループ毎に特定し、前記質問文に含まれる各々の意図に対応した回答として提示する。
【0012】
第5態様に係る情報処理装置は、第4態様に係る情報処理装置において、前記プロセッサは、表現が冗長であるほど大きい値を示す前記質問文の冗長度が予め定めた値以上である場合、前記第2回答を前記質問文に含まれる各々の意図に対応した回答として提示する。
【0013】
第6態様に係る情報処理プログラムは、コンピュータに、複数の意図を含んだ質問文に対する複数の回答を、各々の回答間の類似度を示す第1類似度に基づいて複数のグループに分類し、前記グループ毎に、前記質問文及び前記質問文の2つ以上の文節を組み合わせることで得られる前記質問文の分割表現と前記グループに含まれる各々の回答との類似度を示す第2類似度を用いて、前記複数の回答の中から前記質問文に含まれる各々の意図に対応した回答を提示する処理を実行させるためのプログラムである。
【発明の効果】
【0014】
第1態様、及び第6態様によれば、複数の意図を含む質問文に対して、質問文に含まれる意図の数だけ回答を提示することができる、という効果を有する。
【0015】
第2態様によれば、質問文に含まれる意図の数の推定理由をユーザに通知することができる、という効果を有する。
【0016】
第3態様によれば、情報処理装置が認識した質問文に含まれる意図の数をユーザに通知することができる、という効果を有する。
【0017】
第4態様によれば、質問文の特徴に応じて、ユーザに提示する回答の特定方法を選択することができる、という効果を有する。
【0018】
第5態様によれば、第1回答を質問文の回答として提示する場合と比較して、質問文の意図に近い回答を提示することができる、という効果を有する。
【図面の簡単な説明】
【0019】
【
図2】情報処理装置の電気系統の要部構成例を示す図である。
【
図3】回答検索処理の流れの一例を示すフローチャートである。
【
図4】質問文に対する回答の分類例を示す図である。
【
図6】質問文の回答と、質問文及び質問文の分割表現との類似度を算出する算出例を示す図である。
【
図7】選択ルールに従って回答を選択する選択例を示す図である。
【
図8】他の選択ルールに従って回答を選択する選択例を示す図である。
【
図9】質問文に対する回答の表示例を示す図である。
【
図10】質問文に含まれる意図の数を表示した表示例を示す図である。
【
図11】質問文に対する回答の分類結果を示す分類画面の一例を示す図である。
【発明を実施するための形態】
【0020】
以下、開示の実施形態について図面を参照しながら説明する。なお、同じ構成要素及び同じ処理には全図面を通して同じ符号を付与し、重複する説明を省略する。
【0021】
図1は、本実施形態に係る情報処理装置1の機能構成例を示す図である。情報処理装置1は、自然言語で表された質問文を入力として、入力された質問文の回答を自然言語で出力する装置である。本実施形態に係る質問文には複数の意図が含まれる。
【0022】
情報処理装置1は、検索部2、分類部3、分割部4、類似判定部5、選択部6、及び出力部7の各機能部と、データベース(以下、「DB」という)の一例である回答DB8を含む。
【0023】
情報処理装置1に入力される質問文は必ずしも文字で表されている必要はなく、例えば音声データや画像データのように文字以外の表現形態で表されていてもよい。音声データが入力された場合、情報処理装置1は、例えばリカレントニューラルネットワークの一例であるLSTM(Long Short Term Memory)といった公知の音声認識手法を用いて、音声データを文字で表した質問文に変換すればよい。また、画像データが入力された場合、情報処理装置1は、例えば畳み込みニューラルネットワークの一例であるResNet(Residual Neural Network)といった公知の画像認識手法を用いて、画像データを文字で表した質問文に変換すればよい。
【0024】
検索部2は、入力された質問文に対する回答を回答DB8から検索する。回答DB8は、様々な質問文に対する回答が予め記憶されたデータベースである。回答DB8では、質問文に対する回答が、一問一答形式であるFAQ形式の形態で管理されている。以降では、FAQ形式の回答に予め対応付けられている質問文、すなわち、FAQの“Q”に相当する箇所を「質問タイトル」という。
【0025】
検索部2における回答の検索手法に制約はなく、例えばキーワード検索や自然文検索等の公知の検索手法を用いることができる。
【0026】
例えばキーワード検索では、質問文に含まれる単語と同じ単語を含む回答や、質問文に含まれる単語と同じ単語を含む質問タイトルと対応付けられた回答が質問文の回答として検索されるため、質問文に対して複数の回答が検索される場合がある。また、自然文検索では、質問文の文脈に類似した文脈を有する回答や、質問文の文脈に類似した文脈を有する質問タイトルと対応付けられた回答が質問文の回答として検索されるため、質問文に対して複数の回答が検索される場合がある。このように、検索部2で検索される回答は必ずしも1つに特定されるわけではない。
【0027】
分類部3は、検索部2で検索された各々の回答間の類似度に基づいて、各々の回答を複数のグループに分類する。
【0028】
具体的には、分類部3は、検索部2で検索された各々の回答間の類似度を算出し、類似する回答同士を同じグループに分類する。同じグループに分類された回答同士は、他のグループに分類された回答よりも回答間の類似度が高いため、例えば同じことを尋ねているが言い回しが異なっているだけというような類似する質問に対する回答の集合となる。すなわち、質問文に複数の意図が含まれる場合、質問文に含まれる意図毎にグループが形成される。換言すれば、回答のグループの数は質問文に含まれる意図の数を表す。こうした各々の回答間の類似度は第1類似度の一例である。なお、検索された回答の具体的な分類方法については後ほど説明する。
【0029】
一方、分割部4は、入力された質問文に対して構文解析を行い、質問文を文節に分割する。
【0030】
文節とは、質問文を意味や発音の面から見て不自然でない程度に出来るだけ短く区切った最小の単位であり、本実施形態では、質問文の品詞に関する予め定めた分割規則に従って質問文を文節に分割する。
【0031】
類似判定部5は、分類部3で分類された回答のグループ毎に、入力された質問文及び分割部4で分割された質問文の文節を組み合わせることで得られる質問文の分割表現と、同じグループに含まれる各々の回答との類似度を算出する。
【0032】
質問文の分割表現とは、質問文に含まれる2つ以上の文節の組み合わせであって、少なくとも1つの文節が質問文から削除されている表現のことをいう。また、FAQ形式で管理される回答の質問タイトルは回答と対の情報であることから、本実施形態における回答には質問タイトルも含まれる。
【0033】
選択部6は、分類部3で分類された回答のグループ毎に、同じグループに分類された複数の回答の中からグループと対応付けられた意図に最もふさわしい回答を、選択ルールと類似判定部5で判定された類似度とを参照して1つ選択する。選択ルールとは、質問文及び質問文の分割表現と、回答との類似度から、所望の回答をどのように選択するかを規定したルールであり、具体的な内容については後ほど説明する。なお、質問文及び質問文の分割表現と、回答との類似度は第2類似度の一例である。
【0034】
出力部7は、選択部6が選択した回答を入力された質問文の回答としてユーザに提示する。
【0035】
質問文の回答をユーザに提示するとは、ユーザが質問文の回答を認識できる状態にすることをいう。したがって、出力部7は、ユーザが質問文の回答を認識できるのであればどのような形態で回答を出力してもよい。例えば出力部7は、後述する表示ユニット19(
図2参照)に質問文の回答を表示してもよく、後述する通信ユニット17(
図2参照)を通じて通信回線に接続された図示しない外部装置に質問文の回答を送信してもよい。また、出力部7は、プリンタ等の図示しない画像形成装置を用いて、質問文の回答を用紙に印字してもよく、質問文の回答を音声で出力してもよい。以降では、出力部7が質問文の回答を表示ユニット19に表示する例について説明する。
【0036】
なお、情報処理装置1は必ずしも回答DB8を備える必要はなく、例えば外部装置に回答DB8を備えるようにしてもよい。この場合、情報処理装置1は、後述する通信ユニット17を通じて外部装置に接続し、入力された質問文の回答を検索すればよい。
【0037】
図1に示した情報処理装置1は、コンピュータ10を用いて構成することができる。
図2は、コンピュータ10を用いて構成した情報処理装置1の電気系統の要部構成例を示す図である。
【0038】
コンピュータ10は、
図1に示した情報処理装置1の各機能部の実行を担うプロセッサの一例であるCPU(Central Processing Unit)11、コンピュータ10の起動処理を行う起動プログラム(Basic Input Output System:BIOS)を記憶するROM(Read Only Memory)12、CPU11の一時的な作業領域として使用されるRAM(Random Access Memory)13、不揮発性メモリ14、及び入出力インターフェース(I/O)15を備える。CPU11、ROM12、RAM13、不揮発性メモリ14、及びI/O15はバス16を介して各々接続されている。
【0039】
不揮発性メモリ14は、不揮発性メモリ14に供給される電力が遮断されても記憶した情報が維持される記憶装置の一例であり、例えば半導体メモリが用いられるがハードディスクを用いてもよい。したがって、不揮発性メモリ14は、例えばコンピュータ10を情報処理装置1として機能させる情報処理プログラムを記憶する。回答DB8のように、情報処理装置1の電源が遮断されても記憶し続ける必要のある情報は不揮発性メモリ14に記憶される。
【0040】
I/O15には、例えば通信ユニット17、入力ユニット18、及び表示ユニット19が接続される。
【0041】
通信ユニット17は通信回線に接続され、通信回線を介して外部装置とデータ通信を行う通信プロトコルを備える。
【0042】
入力ユニット18は、情報処理装置1に対するユーザの操作内容を受け付けてCPU11に通知するユニットの一例であり、例えばボタン、タッチパネル、キーボード、マウス、及びポインティングデバイス等が含まれる。
【0043】
表示ユニット19は、CPU11によって処理された情報を視覚的に表示するユニットの一例であり、例えば液晶ディスプレイ及び有機EL(Electro Luminescence)ディスプレイ等が含まれる。
【0044】
なお、外部装置から情報処理装置1に対する遠隔操作が行われる場合、情報処理装置1は、通信ユニット17を通じてユーザの操作内容を受信すると共に、通信ユニット17を通じて情報処理装置1で処理された情報を外部装置に送信する。したがって、必ずしも入力ユニット18及び表示ユニット19をI/O15に接続しなくてもよい。
【0045】
次に、情報処理装置1で実行される回答検索処理について説明する。
【0046】
図3は、ユーザから質問文を受け付けた場合に、情報処理装置1のCPU11によって実行される回答検索処理の流れの一例を示すフローチャートである。
【0047】
回答検索処理を規定する情報処理プログラムは、例えば情報処理装置1の不揮発性メモリ14に予め記憶されている。情報処理装置1のCPU11は、不揮発性メモリ14に記憶される情報処理プログラムを読み込み、回答検索処理を実行する。
【0048】
ステップS10において、CPU11は、入力された質問文に対する回答を回答DB8から検索する。CPU11は、例えばポータルサイトの検索機能を使用して、インターネットに公開されている各種DBから質問文に対する回答を検索してもよい。
【0049】
ステップS20において、CPU11は、ステップS10で検索した回答から質問文に含まれる意図の数を取得する。
【0050】
具体的には、CPU11は、ステップS10で検索した各々の回答に対してクラスタ分析を行い、各々の回答をクラスタに分類する。
【0051】
図4は、入力された質問文に対する回答を回答DB8から検索し、検索した回答をクラスタに分類する分類例を示す図である。
【0052】
図4の例は、“スキャンで画像を取り込み、FAXの送信をする”という質問文に対して検索されたID1からID7までの7つの回答IDで示される回答が2つのクラスタに分類されている様子を示している。枠20が1つ目のクラスタを表しており、枠21が2つ目のクラスタを表している。また、各々のクラスタに含まれる番号は、回答IDを表している。したがって、
図4の例は、ID1、ID2、ID5、及びID7で示される回答が1つ目のクラスタ(「グループG1」という)に分類され、ID3、ID4、及びID6で示される回答が2つ目のクラスタ(「グループG2」という)に分類されている様子を示している。各々の回答が2つのクラスタに分類されていることから、CPU11は、質問文に含まれる意図の数として“2”を取得する。
【0053】
一例として、本実施形態では、回答の質問タイトルの類似度によって各々の回答をグループに分類しているが、回答本文の類似度、又は回答本文と回答の質問タイトルをあわせた類似度によって各々の回答をグループに分類してもよい。
【0054】
また、本実施形態では、回答の分類にクラスタ分析を用いたが、各々の回答をグループに分類することができるのであれば、回答の分類方法はクラスタ分析に限定されない。例えばk-means法や線形判別分類(Linear Discriminant Analysis:LDA)といった、公知の教師なし学習方法を用いて回答を分類してもよい。また、回答に含まれる単語毎の出現頻度を計測し、単語の出現頻度から得られる回答の類似性に着目して回答を分類するtf-idf法のような解析方法を用いて回答を分類してもよい。
【0055】
図3のステップS30において、CPU11は、質問文の品詞に関する予め定めた分割規則に従って、入力された質問文を文節に分割する。具体的には、CPU11は、質問文に対して形態素解析を実行し、形態素毎に品詞を特定する。その上で、CPU11は、質問文を先頭から文末に向かって読み取り、次の名詞が現れる直前までの範囲を1つの文節とすることで質問文を複数の文節に分割する。なお、名詞には、例えば「景気回復」というように、2つ以上の名詞が合わさって作られた複合名詞も含まれる。
【0056】
図5は、質問文の分割例を示す図である。
図5の[No.1]に示す“スキャンで画像を取り込み、FAXの送信をする”という質問文は、“スキャンで”、“画像を取り込み、”、“FAXの”、及び“送信をする”という4つの文節に分割される。[No.1]に示す質問文は、“文節A1+文節A2”、及び“文節B1+文節B2”という同じ構文が繰り返されることによって異なる質問の意図が表されていることから、並列関係を有する質問文の一例である。
【0057】
図5の[No.2]に示す“トナーの交換方法と購入方法を教えて”という質問文は、“トナーの”、“交換方法と”、及び“購入方法を教えて” という3つの文節に分割される。[No.2]に示す質問文は、文節A1B1がそれぞれ文節A2と文節B2にかかることで異なる質問の意図を表していることから、等位関係を有する質問文となっている。
【0058】
なお、質問文には、例えば“トナーの交換方法と購入方法、及び購入したトナーの代金の支払期限と支払い方法を教えて”というように、並列関係と等位関係が組み合わされた質問文も存在する。
【0059】
このように、CPU11は、並列関係、等位関係、又は並列関係と等位関係の組み合わせによって構成されている質問文を文節に分割する。
【0060】
図3のステップS40において、CPU11は、質問文の分割表現を生成する。例えば
図5の[No.1]に示した“スキャンで画像を取り込み、FAXの送信をする”という質問文であれば、質問文に含まれる2つ以上の文節を組み合わせることによって、次の10個の分割表現が得られる。なお、各々の分割表現に対応付けられた“(N):Nは自然数”は各々の分割表現を表す分割表現IDである。
【0061】
(1)“画像を取り込み、FAXの送信をする”
(2)“スキャンでFAXの送信をする”
(3)“スキャンで画像を取り込み、送信をする”
(4)“スキャンで画像を取り込み、FAXの”
(5)“FAXの送信をする”
(6)“スキャンでFAXの”
(7)“スキャンで送信をする”
(8)“画像を取り込み、FAXの”
(9)“画像を取り込み、送信をする”
(10)“スキャンで画像を取り込み、”
【0062】
質問文の分割表現を生成した後、CPU11は、ステップS20によって分類された回答のグループ毎に、グループに含まれる各々の回答と、質問文及び質問文の分割表現との類似度を公知の類似度算出手法を用いて算出する。
【0063】
図6は、
図4に示したグループに含まれる各々の回答と、質問文及び質問文の分割表現との類似度を算出する算出例を示す図である。
【0064】
本実施形態に係る類似度は、グループに含まれる各々の回答と、質問文及び質問文の分割表現とが類似するにつれて大きな値をとる。具体的には、類似度が“0”の場合、両者がまったく類似していないことを表し、類似度が“1”の場合、両者が完全に一致することを表す。しかしながら、グループに含まれる各々の回答と、質問文及び質問文の分割表現とが類似するにつれて小さい値をとるような類似度を用いてもよいことは言うまでもない。
【0065】
図6に示す例では、
図5の[No.1]に示した“スキャンで画像を取り込み、FAXの送信をする”という質問文の回答として検索され、
図4のグループG1に分類されたID1の回答である“スキャンの操作方法”と、当該質問文及び質問文の分割表現との類似度を示している。
図6に示す例によれば、質問文と回答との類似度は“0.90”、分割表現IDが(1)の分割表現と回答との類似度は“0.78”、分割表現IDが(2)の分割表現と回答との類似度は“0.56”、及び分割表現IDが(5)の分割表現と回答との類似度は“0.30”となっている。
【0066】
このようにしてCPU11は、
図4のグループG1に分類されたID1、ID2、ID5、及びID7の回答と、質問文及び質問文の分割表現との類似度を算出すると共に、
図4のグループG2に分類されたID3、ID4、及びID6の回答と、質問文及び質問文の分割表現との類似度を算出する。
【0067】
図3のステップS50において、CPU11は、ステップS20によって分類された回答のグループ毎に、同じグループに分類された複数の回答の中からグループと対応付けられた意図に最もふさわしい回答を1つ選択する。
【0068】
具体的には、CPU11は選択ルールに従って、ステップS40で算出したグループに含まれる各々の回答と、質問文及び質問文の分割表現との類似度から、グループと対応付けられた意図に最もふさわしい回答を1つ選択する。
【0069】
例えば同じグループに分類された複数の回答の中から、回答と質問文の類似度(「基準類似度」という)に対する低下差分が最も大きくなるような質問文の分割表現の類似度が対応付けられている回答を、グループと対応付けられた意図に最もふさわしい回答として選択する選択ルールAが設定されているとする。
【0070】
このように選択ルールを設定する理由は、選択ルールAで選択される回答は、同じグループに分類された複数の回答の中で、質問文を構成する文節のうち、質問文の分割表現に含まれない文節、すなわち、削除された文節によって表される質問の意図を含んでいる確率が最も高いためである。選択ルールAによって選択される回答は第1回答の一例である。
【0071】
選択ルールAによって回答を選択する場合、CPU11は、基準類似度に対する最大の低下差分である差分最大値を同じグループに分類された回答毎に算出する。
【0072】
図7は、選択ルールAに従って、
図4に示したグループG1に含まれる各々の回答から、グループG1と対応付けられた意図に最もふさわしい回答を選択する選択例を示す図である。
【0073】
図4に示したグループG1にはID1、ID2、ID5、及びID7の回答が含まれるため、CPU11はステップS40で算出した各々の回答と質問文及び質問文の分割表現との類似度を参照して、グループG1に含まれる回答毎に差分最大値を算出する。
図7に示す例において、回答IDがID1、ID2、ID5、及びID7で表される各々の回答に関して、質問文のすべての分割表現の中で分割表現IDが(5)で表される分割表現の類似度が最も低かったとする。
【0074】
この場合、ID1の回答の差分最大値は“0.60”、ID2の回答の差分最大値は“0.43”、ID5の回答の差分最大値は“0.50”、及びID7の回答の差分最大値は“0.40”となる。したがって、CPU11は、ID1の回答をグループG1と対応付けられた意図に最もふさわしい回答として選択する。
【0075】
同様に、CPU11は、
図4に示したグループG2に含まれるID3、ID4、及びID6の各回答の中から、差分最大値が最も大きい回答をグループG2と対応付けられた意図に最もふさわしい回答として選択する。以上により、“スキャンで画像を取り込み、FAXの送信をする”という質問文に対して検索された複数の回答の中から、質問文に含まれる意図に最もふさわしい回答が質問文に含まれる意図の数(この場合、2つ)だけ選択される。
【0076】
なお、選択ルールAは選択ルールの一例であり、CPU11は、選択ルールA以外の選択ルールに従って回答を選択してもよい。
【0077】
例えばCPU11は、同じグループに分類された複数の回答の中から、質問文の分割表現に対する類似度の中で最も高い類似度が対応付けられた回答を、グループと対応付けられた意図に最もふさわしい回答として選択するという選択ルールBに従って、回答を選択してもよい。
【0078】
質問文の分割表現は、質問文に含まれる意図と関係のない冗長な文節(「ノイズ」ともいう)が削除された表現であるため、質問文の分割表現に対する類似度の中で最も高い類似度が対応付けられた質問文の分割表現が、質問文に含まれる意図を表していると捉えることができる。したがって、質問文の分割表現に対する類似度の中で最も高い類似度が対応付けられた回答は、グループと対応付けられた意図に最も類似した質問タイトルをもつ回答ということになる。選択ルールBによって選択される回答は第2回答の一例である。
【0079】
図8は、選択ルールBに従って、
図4に示したグループG1に含まれる各々の回答から、グループG1と対応付けられた意図に最もふさわしい回答を選択する選択例を示す図である。
【0080】
図8に示す各々の回答と質問文の分割表現との類似度のうち、最も高い類似度が“0.92”であったとする。この場合、CPU11は、最も高い類似度が対応付けられている回答、すなわち、ID1の回答をグループG1と対応付けられた意図に最もふさわしい回答として選択する。なお、各々の回答と質問文及び質問文の分割表現との類似度のうち、質問文の類似度が最も高い場合、質問文には元々1つの意図しか含まれていなかったことを意味する。
【0081】
質問文は冗長な表現を含んでいることもあるため、CPU11は、質問文における表現の冗長さを、値が大きくなるほど冗長な表現を多く含んでいることを示す冗長度で表し、質問文の冗長度が予め定めた値以上である場合、選択ルールBに従って回答を選択してもよい。なぜなら、選択ルールBは質問文に含まれるノイズを削除することによって、同じグループに分類された複数の回答の中からグループと対応付けられた意図に最もふさわしい回答を選択しているため、選択ルールAに従って回答を選択するよりも、グループと対応付けられた意図に沿った回答が選択されやすいためである。
【0082】
また、選択ルールA及び選択ルールBのように複数の選択ルールが規定されている場合、CPU11は何れの選択ルールに従って回答を選択するかをユーザに選択させてもよい。
【0083】
図3のステップS60において、CPU11は、ステップS50で選択した回答、すなわち、質問文に含まれる各々の意図に対応した回答を表示ユニット19に表示する。
【0084】
図9は、例えば情報処理装置1がチャットを通じて受け付けたユーザからの質問文に回答するチャットボットとして機能している場合における回答の表示例を示す図である。
【0085】
画面22において、ロボットの形状を表すロボットアイコン23と対応付けられたメッセージが、CPU11が出力したメッセージであり、人間の形状を表すユーザアイコン24と対応付けられたメッセージが、ユーザが情報処理装置1に入力した質問文である。
【0086】
図9に示すように、ユーザが情報処理装置1に入力した質問文が“スキャンで画像を取り込み、FAXの送信をする”であれば、これまで説明してきたように、質問文には2つの意図が含まれると推定されるため、検索された複数の回答の中から、例えば“スキャンの操作方法”と“FAXの操作方法”といった各々の意図に最もふさわしい回答の質問タイトルを1つずつ画面22に表示する。こうした回答の質問タイトルの表示は、回答の提示の一例である。当然のことながら、CPU11は、回答の質問タイトルと一緒に回答自体を画面22に表示してもよい。
【0087】
ユーザが画面22に表示された回答の質問タイトルをマウス等で選択した場合、CPU11は、選択された質問タイトルに対応付けられた回答を画面22に表示する。
【0088】
なお、CPU11は、例えばユーザから画面22に表示された回答とは異なる回答を表示するように指示した要求をチャットで受け付けた場合、表示の変更を指示された回答が含まれるグループに分類された回答のうち、次にグループと対応付けられた意図にふさわしい回答を画面22に表示してもよい。
【0089】
CPU11は、質問文に対する回答を画面22に表示する場合、単に回答だけを表示するのではなく、質問文の回答と共に、CPU11で取得した質問文に含まれる意図の数を表示してもよい。
図10は、質問文に含まれる意図の数を表示した表示例を示す図である。“質問に含まれる意図は2つです。”と表示することにより、質問文に含まれる意図の数をユーザに提示している。
【0090】
なお、単に質問文に含まれる意図の数を提示するよりも、どのような理由により質問文に含まれる意図の数を決定したのかをユーザに提示した方が、画面22に提示した回答の信頼性が増す。したがって、CPU11は、質問文に含まれる意図の数の根拠として、質問文に対して検索された回答の分類結果をユーザに提示してもよい。
【0091】
図10に示した画面22において、ユーザが“質問に含まれる意図は2つです。意図の数の推定理由はこちら。”というメッセージをマウス等で選択した場合、CPU11は、回答の分類結果を含む分類画面25を表示ユニット19に表示する。
図11は分類画面25の一例を示す図である。
【0092】
図11に示す分類画面25では、例えば
図4に示した各々の回答に対するクラスタ分析の結果が表示されている。分類画面25では、例えば
図10に示した画面22には表示されなかった、質問文に対して検索されたすべての回答の質問タイトルが回答IDと共に表示される。ユーザが分類画面25に表示された回答の質問タイトルをマウス等で選択した場合、CPU11は、選択された質問タイトルに対応付けられた回答の内容を表示してもよい。
【0093】
以上、実施形態を用いて情報処理装置1の一態様について説明したが、開示した情報処理装置1の形態は一例であり、情報処理装置1の形態は実施形態に記載の範囲に限定されない。本開示の要旨を逸脱しない範囲で実施形態に多様な変更又は改良を加えることができ、当該変更又は改良を加えた形態も開示の技術的範囲に含まれる。例えば本開示の要旨を逸脱しない範囲で、
図3に示した回答検索処理における処理の順序を変更してもよい。具体的には、
図3のステップS30に示した質問文の分割を、ステップS10に示した質問文に対する回答の検索を行う前に実行してもよい。
【0094】
また、上記の実施形態では、一例として回答検索処理をソフトウェアで実現する形態について説明した。しかしながら、
図3に示した回答検索処理のフローチャートと同等の処理をハードウェアで処理させるようにしてもよい。この場合、回答検索処理をソフトウェアで実現した場合と比較して処理の高速化が図られる。
【0095】
上記の実施形態において、プロセッサとは広義的なプロセッサを指し、汎用的なプロセッサ(例えばCPU11)や、専用のプロセッサ(例えば GPU:Graphics Processing Unit、ASIC:Application Specific Integrated Circuit、FPGA:Field Programmable Gate Array、プログラマブル論理デバイス、等)を含むものである。
【0096】
また、上記の実施形態におけるプロセッサの動作は、1つのプロセッサによって成すのみでなく、物理的に離れた位置に存在する複数のプロセッサが協働して成すものであってもよい。また、プロセッサの各動作の順序は上記の実施形態において記載した順序のみに限定されるものではなく、適宜変更してもよい。
【0097】
上記の実施形態では、不揮発性メモリ14に情報処理プログラムが記憶されている例について説明したが、情報処理プログラムの記憶先は不揮発性メモリ14に限定されない。本開示の情報処理プログラムは、コンピュータ10で読み取り可能な記憶媒体に記録された形態で提供することも可能である。例えば情報処理プログラムをCD-ROM(Compact Disk Read Only Memory)及びDVD-ROM(Digital Versatile Disk Read Only Memory)のような光ディスクに記録した形態で提供してもよい。また、情報処理プログラムを、USB(Universal Serial Bus)メモリ及びメモリカードのような可搬型の半導体メモリに記録した形態で提供してもよい。ROM12、不揮発性メモリ14、CD-ROM、DVD-ROM、USB、及びメモリカードは非一時的(non-transitory)記憶媒体の一例である。
【0098】
更に、情報処理装置1は、通信回線を通じて外部装置から情報処理プログラムをダウンロードし、ダウンロードした情報処理プログラムを記憶装置に記憶してもよい。この場合、情報処理装置1のCPU11は、外部装置からダウンロードした情報処理プログラムを記憶装置から読み込んで各々の処理を実行する。
【0099】
以下に本実施形態に係る付記を示す。
【0100】
(((1)))
プロセッサを備え、
前記プロセッサは、
複数の意図を含んだ質問文に対する複数の回答を、各々の回答間の類似度を示す第1類似度に基づいて複数のグループに分類し、
前記グループ毎に、前記質問文及び前記質問文の2つ以上の文節を組み合わせることで得られる前記質問文の分割表現と前記グループに含まれる各々の回答との類似度を示す第2類似度を用いて、前記複数の回答の中から前記質問文に含まれる各々の意図に対応した回答を提示する
情報処理装置。
【0101】
(((2)))
前記プロセッサは、前記質問文に含まれる各々の意図に対応した回答と共に、前記複数の回答の分類結果を提示する
(((1)))に記載の情報処理装置。
【0102】
(((3)))
前記プロセッサは、前記質問文に含まれる意図の数を更に提示する
(((2)))に記載の情報処理装置。
【0103】
(((4)))
前記プロセッサは、前記質問文の前記第2類似度に対する低下差分が最も大きくなる前記質問文の分割表現の前記第2類似度が対応付けられた回答である第1回答、又は前記質問文の各々の分割表現に対する前記第2類似度の中で最も高い前記第2類似度が対応付けられた回答である第2回答を前記グループ毎に特定し、前記質問文に含まれる各々の意図に対応した回答として提示する
(((1)))~(((3)))の何れかに記載の情報処理装置。
【0104】
(((5)))
前記プロセッサは、表現が冗長であるほど大きい値を示す前記質問文の冗長度が予め定めた値以上である場合、前記第2回答を前記質問文に含まれる各々の意図に対応した回答として提示する
(((4)))に記載の情報処理装置。
【0105】
(((6)))
コンピュータに、
複数の意図を含んだ質問文に対する複数の回答を、各々の回答間の類似度を示す第1類似度に基づいて複数のグループに分類し、
前記グループ毎に、前記質問文及び前記質問文の2つ以上の文節を組み合わせることで得られる前記質問文の分割表現と前記グループに含まれる各々の回答との類似度を示す第2類似度を用いて、前記複数の回答の中から前記質問文に含まれる各々の意図に対応した回答を提示する処理を実行させるための
情報処理プログラム。
【0106】
(((1)))、及び(((6)))によれば、複数の意図を含む質問文に対して、質問文に含まれる意図の数だけ回答を提示することができる、という効果を有する。
【0107】
(((2)))によれば、質問文に含まれる意図の数の推定理由をユーザに通知することができる、という効果を有する。
【0108】
(((3)))によれば、情報処理装置が認識した質問文に含まれる意図の数をユーザに通知することができる、という効果を有する。
【0109】
(((4)))によれば、質問文の特徴に応じて、ユーザに提示する回答の特定方法を選択することができる、という効果を有する。
【0110】
(((5)))によれば、第1回答を質問文の回答として提示する場合と比較して、質問文の意図に近い回答を提示することができる、という効果を有する。
【符号の説明】
【0111】
1 情報処理装置
2 検索部
3 分類部
4 分割部
5 類似判定部
6 選択部
7 出力部
8 回答DB
10 コンピュータ
11 CPU
12 ROM
13 RAM
14 不揮発性メモリ
15 I/O
16 バス
17 通信ユニット
18 入力ユニット
19 表示ユニット
20(21) 枠
22 画面
23 ロボットアイコン
24 ユーザアイコン
25 分類画面