IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社豆蔵の特許一覧

特許7018278情報処理装置、情報処理システム、情報処理方法及びプログラム
<>
  • 特許-情報処理装置、情報処理システム、情報処理方法及びプログラム 図1
  • 特許-情報処理装置、情報処理システム、情報処理方法及びプログラム 図2
  • 特許-情報処理装置、情報処理システム、情報処理方法及びプログラム 図3
  • 特許-情報処理装置、情報処理システム、情報処理方法及びプログラム 図4
  • 特許-情報処理装置、情報処理システム、情報処理方法及びプログラム 図5
  • 特許-情報処理装置、情報処理システム、情報処理方法及びプログラム 図6
  • 特許-情報処理装置、情報処理システム、情報処理方法及びプログラム 図7
  • 特許-情報処理装置、情報処理システム、情報処理方法及びプログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-02
(45)【発行日】2022-02-10
(54)【発明の名称】情報処理装置、情報処理システム、情報処理方法及びプログラム
(51)【国際特許分類】
   G06F 16/90 20190101AFI20220203BHJP
   G06F 16/9032 20190101ALI20220203BHJP
【FI】
G06F16/90 100
G06F16/9032
【請求項の数】 8
(21)【出願番号】P 2017179473
(22)【出願日】2017-09-19
(65)【公開番号】P2019056969
(43)【公開日】2019-04-11
【審査請求日】2019-12-24
(73)【特許権者】
【識別番号】517329487
【氏名又は名称】株式会社豆蔵
(74)【代理人】
【識別番号】110002516
【氏名又は名称】特許業務法人白坂
(72)【発明者】
【氏名】安井 昌男
(72)【発明者】
【氏名】田中 裕
(72)【発明者】
【氏名】花田 高彬
(72)【発明者】
【氏名】五十嵐 智幸
(72)【発明者】
【氏名】鈴木 洋佑
(72)【発明者】
【氏名】阿嘉 駿介
【審査官】木村 貴俊
(56)【参考文献】
【文献】特開平07-219961(JP,A)
【文献】国際公開第2013/080406(WO,A1)
【文献】特表2015-531914(JP,A)
【文献】特開2005-128608(JP,A)
【文献】特開2002-222147(JP,A)
【文献】特開2007-219955(JP,A)
【文献】特開2015-046183(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
テキスト情報の入力を受け付ける入力部と、
前記テキスト情報に所定の文字列が含まれている場合、前記所定の文字列に対応付けられた回答を複数選択する第1エンジン部と、
前記テキスト情報に前記所定の文字列が含まれていない場合、前記テキスト情報を形態素解析して抽出されたキーワードに基づいて回答を推論し選択する第2エンジン部と、
前記第1エンジン部又は前記第2エンジン部により選択された前記回答を出力する出力部と、
を含み、
前記第2エンジン部は、
複数の回答の候補となる情報あるいは文章ごとに対応付けられている複数のキーワードのうち、前記テキスト情報を形態素解析した結果に基づいて抽出された複数のキーワードに一致するキーワードの優先度が高い回答を複数選択し、
前記出力部は、
前記複数の回答を出力
前記第2エンジン部が選択した前記複数の回答について、前記優先度が同一である前記複数の回答が所定数より多い場合、前記入力部が受け付けたテキスト情報に対する回答として適切な回答が、前記第2エンジン部が選択した前記複数の回答の少なくとも一部に共通して含まれる、前記複数の回答の候補となる情報あるいは文章ごとに対応付けられている複数のキーワードから選択した1つのキーワードに対する質問であるかを問う質問文を出力し、
前記入力部は、前記質問文に対する回答の入力を受け付け、
前記第2エンジン部は、前記質問文に対する回答が否定的である場合、前記選択されたキーワードを除外して、前記複数の回答の候補となる情報あるいは文章ごとに対応付けられている複数のキーワードのうち、前記テキスト情報を形態素解析した結果に基づいて抽出された複数のキーワードに一致するキーワードの優先度が高い回答を複数選択する、
情報処理装置。
【請求項2】
前記キーワードの優先度を、ユーザが変更可能であることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記所定の文字列と、前記所定の文字列を含む前記テキスト情報に対する回答とを対応付けて記憶する第1記憶部と、
前記所定のキーワードと、前記キーワードに関連する回答とを対応付けて記憶する第2記憶部と、
を含むことを特徴とする請求項1又は2のいずれか一項に記載の情報処理装置。
【請求項4】
テキスト情報の入力を受け付ける入力ステップと、
前記テキスト情報に所定の文字列が含まれている場合、前記所定の文字列に対応付けられた回答を複数選択する第1探索ステップと、
前記テキスト情報に前記所定の文字列が含まれていない場合、前記テキスト情報を形態素解析して抽出されたキーワードに基づいて回答を選択する第2探索ステップと、
選択された前記回答を出力する出力ステップと、
を含み、
前記第2探索ステップにおいて、複数の回答の候補となる情報あるいは文章ごとに対応付けられている複数のキーワードのうち、前記テキスト情報を形態素解析した結果に基づいて抽出された複数のキーワードに一致するキーワードの優先度が高い回答を複数選択し、
前記出力ステップは、
前記複数の回答を出力
前記第2探索ステップにおいて選択した前記複数の回答について、前記優先度が同一である前記複数の回答が所定数より多い場合、前記入力ステップにおいて受け付けたテキスト情報に対する回答として適切な回答が、前記第2探索ステップにおいて選択した前記複数の回答の少なくとも一部に共通して含まれる、前記複数の回答の候補となる情報あるいは文章ごとに対応付けられている複数のキーワードから選択した1つのキーワードに対する質問であるかを問う質問文を出力し、
前記入力ステップは、前記質問文に対する回答の入力を受け付け、
前記第2探索ステップにおいて、前記質問文に対する回答が否定的である場合、前記選択されたキーワードを除外して、前記複数の回答の候補となる情報あるいは文章ごとに対応付けられている複数のキーワードのうち、前記テキスト情報を形態素解析した結果に基づいて抽出された複数のキーワードに一致するキーワードの優先度が高い回答を複数選択する、
コンピュータが実行する情報処理方法。
【請求項5】
前記キーワードの優先度を、ユーザが変更可能であることを特徴とする請求項に記載の情報処理方法。
【請求項6】
前記所定の文字列と、前記所定の文字列を含む前記テキスト情報に対する回答とを対応付けて記憶する第1記憶ステップと、
前記所定のキーワードと、前記キーワードに関連する回答とを対応付けて記憶する第2記憶ステップと、
を含むことを特徴とする請求項又はに記載の情報処理方法。
【請求項7】
コンピュータに、
テキスト情報の入力を受け付ける入力機能と、
前記テキスト情報に所定の文字列が含まれている場合、前記所定の文字列に対応付けられた回答を複数選択する第1探索機能と、
前記テキスト情報に前記所定の文字列が含まれていない場合、前記テキスト情報を形態素解析して抽出されたキーワードに基づいて回答を選択する第2探索機能と、
選択された前記回答を出力する出力機能と、
を実行させ、
前記第2探索機能において、複数の回答の候補となる情報あるいは文章ごとに対応付けられている複数のキーワードのうち、前記テキスト情報を形態素解析した結果に基づいて抽出された複数のキーワードに一致するキーワードの優先度が高い回答を複数選択し、
前記出力機能は、
前記複数の回答を出力
前記第2探索機能において選択した前記複数の回答について、前記優先度が同一である前記複数の回答が所定数より多い場合、前記入力機能において受け付けたテキスト情報に対する回答として適切な回答が、前記第2探索機能において選択した前記複数の回答の少なくとも一部に共通して含まれる、前記複数の回答の候補となる情報あるいは文章ごとに対応付けられている複数のキーワードから選択した1つのキーワードに対する質問であるかを問う質問文を出力し、
前記入力機能において、前記質問文に対する回答の入力を受け付け、
前記第2探索機能において、前記質問文に対する回答が否定的である場合、前記選択されたキーワードを除外して、前記複数の回答の候補となる情報あるいは文章ごとに対応付けられている複数のキーワードのうち、前記テキスト情報を形態素解析した結果に基づいて抽出された複数のキーワードに一致するキーワードの優先度が高い回答を複数選択する、
プログラム。
【請求項8】
テキスト情報の入力を受け付ける情報処理端末と、
前記情報処理端末から受信した前記テキスト情報に対する回答を複数選択する情報処理装置と、を含み、
前記情報処理装置は、
所定の文字列が含まれている場合、前記所定の文字列に対応付けられた回答を選択する第1エンジン部と、
前記テキスト情報に前記所定の文字列が含まれていない場合、前記テキスト情報を形態素解析して抽出されたキーワードに基づいて回答を選択する第2エンジン部と、
前記第1エンジン部又は前記第2エンジン部が選択した回答を前記情報処理端末に送信する出力部と、を備え、
前記第2エンジン部は、複数の回答の候補となる情報あるいは文章ごとに対応付けられている複数のキーワードのうち、前記テキスト情報を形態素解析した結果に基づいて抽出された複数のキーワードに一致するキーワードの優先度が高い回答を複数選択し、
前記出力部は、
前記複数の回答を出力
前記第2エンジン部が選択した前記複数の回答について、前記優先度が同一である前記複数の回答が所定数より多い場合、前記情報処理端末が受け付けたテキスト情報に対する回答として適切な回答が、前記第2エンジン部が選択した前記複数の回答の少なくとも一部に共通して含まれる、前記複数の回答の候補となる情報あるいは文章ごとに対応付けられている複数のキーワードから選択した1つのキーワードに対する質問であるかを問う質問文を出力し、
前記情報処理端末は、前記質問文に対する回答を受け付け、
前記第2エンジン部は、前記質問文に対する回答が否定的である場合、前記選択されたキーワードを除外して、前記複数の回答の候補となる情報あるいは文章ごとに対応付けられている複数のキーワードのうち、前記テキスト情報を形態素解析した結果に基づいて抽出された複数のキーワードに一致するキーワードの優先度が高い回答を複数選択する、
ことを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、チャットボットを提供する情報処理装置、情報処理システム、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
近年、コンピュータが人間に代わって対話を行うチャットボットに関する技術が開発されている。チャットボットに用いられるアルゴリズムには、ルールベースのアルゴリズムと、AI(Artificial Intelligence)ベースのアルゴリズムとがあった。
【0003】
例えば、特許文献1には、ルールベースの対話システムが開示されている。具体的には、特許文献1には、質問と、回答と、質問と回答との間の会話のテーマとを対応付けたデータベースを備え、ユーザから質問の入力を受け付けた場合、質問を単語に分解し、分解された単語とデータベースとに基づいて、データベースから質問に対する回答を探索する発明が開示されている。
【0004】
また、特許文献2には、AIベースの対話システムについて開示されている。具体的には、特許文献2には、ユーザからの入力(質問)を分析することにより、ユーザの意図を把握し、当該ユーザの意図に沿った回答を出力する発明が開示されている。そして、特許文献2には、ユーザの入力を分析する際に、ヒューマン・マシン間の短期対話履歴を記憶する短期記憶システムと、人間の脳の持久記憶エリアに類似する長期記憶システムとを用いることが開示されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2016-126452号公報
【文献】特開2017-10517号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に例示するようなルールベースのチャットボットでは、ルールに合致しない回答は出力できないうえ、回答を人間が作成しなければならず、回答の精度を上げるためには手間がかかるという問題がある。一方、特許文献2に例示するようなAIベースのチャットボットでは、学習データが少ないと精度が低くなってしまい、適切な回答を出力できないという問題がある。
【0007】
そのため、既存のシステムでは、ユーザの質問に対して、適切な回答を出力できない恐れがあるうえ、回答の精度を上げるためには所定のコスト(時間や手間など)が必要となるという問題が生じる。
【0008】
本開示は、上記問題に鑑みてなされたものであり、回答の精度を上げつつ、時間や手間などの所定のコストを削減可能な情報処理装置、情報処理システム、情報処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の一実施形態における情報処理装置は、テキスト情報の入力を受け付ける入力部と、前記テキスト情報に所定の文字列が含まれている場合、前記所定の文字列に対応付けられた回答を探索する第1エンジン部と、前記テキスト情報に前記所定の文字列が含まれていない場合、前記テキスト情報を形態素解析して抽出されたキーワードに基づいて回答を推論し探索選択する第2エンジン部と、前記第1エンジン部又は前記第2エンジン部により選択された探索前記回答を出力する出力部と、を含む。
【0010】
本発明の一実施形態における情報処理装置において、前記第2エンジン部は、回答の候補となる情報あるいは文章ごとに対応付けられている複数のキーワードと、入力部で受け付けられた前記テキスト情報を形態素解析した結果に基づいて抽出された複数のキーワードとの一致度に基づいて、前記複数の回答候補から前記回答を選択することを特徴としてもよい。
【0011】
本発明の一実施形態における情報処理装置において、前記第2エンジン部は、前記テキスト情報を形態素解析した結果に基づいて抽出された複数のキーワードのうち優先度の高いキーワードに基づいて、前記回答を選択することを特徴としてもよい。
【0012】
本発明の一実施形態における情報処理装置において、前記キーワードの優先度は、ユーザにより予め設定可能であることを特徴としてもよい。
【0013】
本発明の一実施形態における情報処理装置において、前記所定の文字列と、前記所定の文字列を含む前記テキスト情報に対する回答とを対応付けて記憶する第1記憶部と、前記所定のキーワードと、前記キーワードに関連する回答とを対応付けて記憶する第2記憶部と、を含むことを特徴としてもよい。
【0014】
本発明の一実施形態における情報処理方法は、テキスト情報の入力を受け付ける入力ステップと、前記テキスト情報に所定の文字列が含まれている場合、前記所定の文字列に対応付けられた回答を探索する第1探索ステップと、前記テキスト情報に前記所定の文字列が含まれていない場合、前記テキスト情報を形態素解析して抽出されたキーワードに基づいて回答を推論し選択探索する第2探索ステップと、探索された前記回答を出力する出力ステップと、を含む。
【0015】
本発明の一実施形態における情報処理方法において、前記第2探索ステップにおいて、複数の回答候補ごとに対応付けられている所定のキーワードと、前記テキスト情報を形態素解析した結果に基づいて抽出された複数のキーワードが一致していると推論される程度に基づいて、前記複数の回答候補から前記回答を探索選択することを特徴としてもよい。
【0016】
本発明の一実施形態における情報処理方法において、前記第2探索ステップにおいて、前記テキスト情報を形態素解析した結果に基づいて抽出された複数のキーワードのうち優先度の高いキーワードに基づいて、前記回答を探索選択することを特徴としてもよい。
【0017】
本発明の一実施形態における情報処理方法において、前記キーワードの優先度は、ユーザが予め設定可能であることを特徴としてもよい。
【0018】
本発明の一実施形態における情報処理方法において、前記所定の文字列と、前記所定の文字列を含む前記テキスト情報に対する回答とを対応付けて記憶する第1記憶ステップと、前記所定のキーワードと、前記キーワードに関連する回答とを対応付けて記憶する第2記憶ステップと、を含むことを特徴としてもよい。
【0019】
本発明の一実施形態におけるプログラムは、コンピュータに、テキスト情報の入力を受け付ける入力機能と、前記テキスト情報に所定の文字列が含まれている場合、前記所定の文字列に対応付けられた回答を探索する第1探索機能と、前記テキスト情報に前記所定の文字列が含まれていない場合、前記テキスト情報を形態素解析して抽出されたキーワードに基づいて回答を推論し選択探索する第2探索機能と、探索選択された前記回答を出力する出力機能と、を実行させる。
【0020】
本発明の一実施形態における情報処理システムは、テキスト情報の入力を受け付ける情報処理端末と、前記情報処理端末から受信した前記テキスト情報に対する回答を探索する情報処理装置と、を含み、前記情報処理装置は、所定の文字列が含まれている場合、前記所定の文字列に対応付けられた回答を探索する第1エンジン部と、前記テキスト情報に前記所定の文字列が含まれていない場合、前記テキスト情報を形態素解析して抽出されたキーワードに基づいて回答を探索する第2エンジン部と、探索された前記回答を前記情報処理端末に送信する出力部と、を備えることを特徴とする。
【発明の効果】
【0021】
本開示によれば、回答の精度を上げつつ、時間や手間などの所定のコストを削減可能な情報処理装置、情報処理システム、情報処理方法及びプログラムを提供することができる。
【図面の簡単な説明】
【0022】
図1】本発明の一実施態様によるシステムの構成例を示す図である。
図2】本発明の一実施態様による情報処理装置の一例を示すブロック図である。
図3】本発明の一実施態様による情報処理端末の一例を示すブロック図である。
図4】本発明の一実施態様による情報処理端末に表示される画面表示の例である。
図5】本発明の一実施態様による記憶部に記憶されるデータの構成例である。
図6】本発明の一実施態様による記憶部に記憶されるデータの他の構成例である。
図7】本発明の一実施態様による記憶部に記憶されるデータの他の構成例である。
図8】本発明の一実施態様による情報処理装置の動作例を示すフローチャートである。
【発明を実施するための形態】
【0023】
本発明の第1の実施形態について、図面を参照して説明する。
【0024】
本発明の第1の実施形態における情報処理システムは、チャットボットを提供するサービスにおいて、ルールベースのアルゴリズムと、AIベースのアルゴリズムとの双方を利用する“ハイブリッド構造”により、ユーザが入力したテキスト情報(例えば、質問文)に対して、迅速かつ最適な回答を提示するものである。
【0025】
具体的には、情報処理システム1は、ユーザによって入力されたテキスト情報に所定の文字列が含まれている場合、所定の文字列に対応付けられた回答を探索し(ルールベースの探索)、当該テキスト情報に所定の文字列が含まれていない場合、当該テキスト情報を形態素解析して抽出されたキーワードに基づいて回答を探索する(AIベースの探索)ことによって、ユーザに対する回答を提示する。
【0026】
上記の通り、情報処理システム1は、“ハイブリット構造(AIベース+ルールベース)”により、ユーザからの質問(テキスト情報)に対する回答を提示するため、ルールベース機能により短時間で最適な回答を出力しつつ、AIベース機能により精度の高い回答を出力することが可能となる。
【0027】
<システム構成>
図1は、本発明の第1の実施形態における情報処理システム1の構成例を示す図である。図1に示すように、情報処理システム1は、情報処理装置(サーバ)10と、情報処理端末20と、ネットワーク30とを含む。情報処理装置10は、ネットワーク30を介して、ユーザが利用する情報処理端末20に、チャットシステムを実現するサービスを提供する。なお、情報処理端末20の数は、図1に例示するように複数であってもよい。
【0028】
なお、図1の例では、情報処理装置10と、情報処理端末20とが、ネットワーク30を介した別の装置として構成されているが、これらの装置は同一の装置に含まれるものであってもよい。例えば、情報処理装置10と、情報処理端末20との機能を提供する各構成が、コミュニケーションロボット内に組み込まれ、当該コミュニケーションロボットが、ユーザに対して、チャットシステムを実現するサービスを提供してもよい。この場合、コミュニケーションロボット内の学習データを変更することで、様々な専門知識に対して回答可能なシステムを構築することができる。なお、情報処理装置10と、情報処理端末20との機能を提供する各構成は、コミュニケーションロボットに限らず、どのような装置に同一に含まれていてもよい。
【0029】
ネットワーク30は、情報処理装置10と情報処理端末20とを接続する役割を担う。ネットワーク30は、例えば、有線ネットワークや無線ネットワークであってもよい。ネットワーク30は、イントラネット、仮想プライベート・ネットワーク(virtual private network:VPN)、ローカル・エリア・ネットワーク(local area network:LAN)、ワイヤレスLAN(wireless LAN:WLAN)、ワイヤレスWAN(wireless WAN:WWAN)、インターネットの一部、公衆交換電話網(Public Switched Telephone Network:PSTN)の一部、携帯電話網、ISDNs(integrated service digital networks)、無線LANs、LTE(long term evolution)CDMA(code division multiple access)、衛星通信を含むことができる。
【0030】
情報処理装置10は、情報処理端末20に対して、チャットに関するサービスを提供する機能を備える。情報処理装置10は、例えば、サーバ装置であるが、サーバ装置に限らず、デスクトップ、ラップトップ、タブレットなどのコンピュータであってもよい。なお、情報処理装置10は、これらの装置に限られず、どのような装置であってもよい。
【0031】
情報処理端末20(情報処理端末20A、情報処理端末20B、情報処理端末20C)は、例えば、スマートフォンや携帯電話、デスクトップ、ラップトップ、タブレットなどのコンピュータ、PDA(personal digital assistant)、ウェアラブル端末(メガネ型デバイス、時計型デバイスなど)であってもよい。なお、情報処理端末20は、これらの装置に限られず、どのような装置であってもよい。
【0032】
<ハードウェア(HW)構成>
(1)情報処理装置10のHW構成
図2は、情報処理装置10の構成例を示すブロック図である。情報処理装置10は、制御部11(CPU)、通信部12、入出力部13、記憶部15を備える。情報処理装置10のHWの各構成要素は、例えば、バスを介して相互に接続される。
【0033】
制御部11は、例えば、中央処理装置(CPU)やマイクロプロセッサ、ASIC、FPGAなどであってもよい。なお、制御部11は、これらの例に限られず、どのようなものであってもよい。なお、制御部11の機能構成については、後述する。
【0034】
通信部12は、ネットワーク30を介して各種データの送受信を行う通信インタフェースである。通信部12は、ネットワーク30を介して、情報処理端末20との通信を実行する機能を有する。通信部12は、各種データを制御部11からの指示に従って、端末20に送信する。また、通信部12は、情報処理端末20から送信された各種データを受信し、制御部11に伝達する。
【0035】
入出力部13は、情報処理装置10に対する各種操作を入力する装置により実現される。入出力部13は、ユーザからの入力を受け付けて、当該入力に係る情報を制御部11に伝達する機能を有する。入出力部13は、キーボードやマウス、タッチパネル、マイクなどである。なお、入出力部13は、これらの例に限定されず、どのような装置であってもよい。
【0036】
表示部14は、例えば、液晶ディスプレイやOELD(organic electroluminescence display)である。なお、表示部14は、これらの例に限定されず、ヘッドマウントディスプレイ(HDM)などであってもよい。
【0037】
記憶部15は、サーバ10が動作するうえで必要とする各種プログラムや各種データを記憶する機能を有する。記憶部15は、例えば、HDD、SSD、フラッシュメモリなど各種の記憶媒体により実現される。なお、情報処理装置10は、プログラムを記憶部15に記憶し、当該プログラムを実行して、制御部11が、当該制御部11に含まれる各部としての処理を実行してもよい。当該プログラムは、情報処理装置10に、制御部11が実行する各機能を実現させる。
【0038】
(2)情報処理端末20のHW構成
図3は、情報処理端末20の構成例を示すブロック図である。情報処理端末20は、制御部21(CPU)、通信部22、入出力部23、表示部24、マイク/スピーカ25、記憶部26を備える。情報処理端末20のHWの各構成要素は、例えば、バスを介して相互に接続される。
【0039】
制御部21は、例えば、中央処理装置(CPU)やマイクロプロセッサ、ASIC、FPGAなどであってもよい。なお、制御部21は、これらの例に限られず、どのようなものであってもよい。なお、制御部21の機能構成については、後述する。
【0040】
通信部22は、ネットワーク30を介して各種データの送受信を行う通信インタフェースである。通信部22は、ネットワーク30を介して、情報処理装置10との通信を実行する機能を有する。通信部22は、各種データを制御部21からの指示に従って、情報処理装置10に送信する。また、通信部22は、情報処理装置10から送信された各種データを受信し、制御部21に伝達する。
【0041】
入出力部23は、情報処理端末20に対する各種操作を入力する装置により実現される。入出力部23は、ユーザからの入力を受け付けて、当該入力に係る情報を制御部21に伝達する機能を有する。入出力部23は、キーボードやマウス、タッチパネル、マイクなどである。入出力部23がタッチパネルの場合、当該入出力部23は、ユーザの指やスタイラスなどの指示具による接触とその接触位置を検出し、当該接触位置の座標を制御部21に伝達する。なお、入出力部23は、これらの例に限定されず、どのような装置であってもよい。
【0042】
表示部24は、例えば、液晶ディスプレイやOELDである。なお、表示部24は、これらの例に限定されず、ヘッドマウントディスプレイ(HDM)などであってもよい。表示部24は、フレームバッファに書き込まれた表示データに従って、画像やテキスト情報、3Dなどの表示データを表示可能である。
【0043】
マイク/スピーカ25は、音声データの入力又は音声データの出力に利用される。情報処理端末20は、マイク/スピーカ25によって、音声データを用いて、所定のデータの入出力を行うことが可能である。
【0044】
記憶部26は、情報処理端末20が動作するうえで必要とする各種プログラムや各種データを記憶する機能を有する。記憶部26は、例えば、HDD、SSD、フラッシュメモリなど各種の記憶媒体により実現される。なお、情報処理端末20は、プログラムを記憶部26に記憶し、当該プログラムを実行して、制御部21が、当該制御部21に含まれる各部としての処理を実行してもよい。当該プログラムは、情報処理端末20に、制御部21が実行する各機能を実現させる。
【0045】
また、本開示の各実施形態のプログラムは、コンピュータに読み取り可能な記憶媒体に記憶された状態で提供されてもよい。 記憶媒体は、「一時的でない有形の媒体」に、プログラムを記憶可能である。記憶媒体は、HDDやSDDなどの任意の適切な記憶媒体、またはこれらの2つ以上の適切な組合せを含むことができる。記憶媒体は、揮発性、不揮発性、または揮発性と不揮発性の組合せでよい。なお、記憶媒体はこれらの例に限られず、プログラムを記憶可能であれば、どのようなデバイスまたは媒体であってもよい。
【0046】
なお、情報処理装置10および/または情報処理端末20は、例えば、記憶媒体に記憶されたプログラムを読み出し、読み出したプログラムを実行することによって、各実施形態に示す複数の機能部の機能を実現することができる。また、当該プログラムは、任意の伝送媒体(通信ネットワークや放送波等)を介して、情報処理装置10および/または情報処理端末20に提供されてもよい。情報処理装置10および/または情報処理端末20は、例えば、インターネット等を介してダウンロードしたプログラムを実行することにより、各実施形態に示す複数の機能部の機能を実現する。
【0047】
なお、当該プログラムは、例えば、ActionScript、JavaScript(登録商標)などのスクリプト言語、Objective-C、Java(登録商標)などのオブジェクト指向プログラミング言語、HTML5などのマークアップ言語などを用いて実装できる。
【0048】
情報処理装置10および/または情報処理端末20における処理の少なくとも一部は、1以上のコンピュータにより構成されるクラウドコンピューティングにより実現されていてもよい。
【0049】
<機能構成>
(1)情報処理端末20の機能構成
図3に示すように、情報処理端末20は、制御部21により実現される機能として、入力処理部210と、通信処理部211、表示処理部212を有する。
【0050】
入力処理部210は、入出力部23を介して、ユーザからの入力を受け付ける。例えば、入出力部210は、キーボードやタッチパネルである入出力部23を介して、ユーザからテキスト情報の入力を受け付ける。また、入力処理部210は、例えば、マイク/スピーカ25を介して、ユーザから音声データの入力を受け付ける。
【0051】
ここで、ユーザから入力されるテキスト情報や音声データは、ユーザが問い合わせしたい内容や解決したい内容、質問したい内容(質問文)を含む。ユーザから入力される情報は、例えば、ビジネス上の問い合わせや質問など、ビジネスに関する内容である。例えば、ユーザから入力される情報は、「保険料の支払い方法について教えてください。」や「投資基準についてどんな観点があるか教えて欲しい。」など、ビジネスに関する内容である。また、ユーザから入力される情報は、例えば、法令の内容や社内規則に関する問い合わせや質問である。例えば、ユーザから入力される情報は、「労働基準法の休暇取得に関する条文の内容を知りたい。」や「経費の請求方法について教えて欲しい。」など、法令や社内規則に関する内容である。また、ユーザから入力される情報は、例えば、専門技術や仕様(標準化)に関する内容である。例えば、ユーザから入力される情報は、「静電容量方式の原理を知りたい。」や「LTEにおけるハンドオーバの標準について知りたい。」など、専門技術や仕様(標準化)に関する内容である。
【0052】
これらの例のように、ユーザから入力される情報は、投資基準などのビジネスに関する内容や従業員向けの社内規則など、すでに企業が保有・管理している情報に関するものや、法令や専門技術、標準化内容など、政府や公的機関などが作成・管理・保有している情報に関するものを含んでいてもよい。
【0053】
また、ユーザから入力されるテキスト情報や音声データは、あいさつや雑談などの内容を含んでいてもよい。ユーザから入力される情報は、例えば、「あなたの名前は何ですか。」や「私の名前は○○です。」、「あなたの好きな色は何ですか。」など、一般的なあいさつや雑談レベルの質問などを含んでいてもよい。
【0054】
これらの例のように、ユーザから入力される情報は、一般的なあいさつや雑談などを含んでいてもよい。なお、ユーザから入力される情報は、これらの例に限られず、どのような情報やデータであってもよい。
【0055】
入力処理部210は、受け付けたユーザからの情報やデータを、通信処理部211および表示処理部212に伝達する。なお、入力処理部210は、ユーザから受け付けた音声データなどをテキスト情報に変換して、通信処理部211および表示処理部212に伝達してもよい。
【0056】
また、入力処理部210は、人間の指やスタイラスなどの操作体がタッチパネル(入出力部23)に接触すると、該接触の接触位置を検出する機能を備えていてもよい。入力処理部210は、例えば、操作体がタッチパネルに接触した位置である接触点を検出する。
【0057】
指やスタイラスなどの操作入力を行う操作体は、表示部24の任意の位置に接触することにより、所定の操作入力を行う。所定の操作入力は、例えば、表示画面に対するタッチやタップ、フリック、スワイプなど、どのようなものであってもよい。操作体は、所定の操作入力を行うことにより、例えば、文字を入力することや所定のアイコンを選択することなど、端末20に各種処理を実行させる。
【0058】
なお、操作体がタッチパネルに接触することは例えば「タップ」や「タッチ」と、操作体がタッチパネル上で接触したまま移動することは例えば「スライド」や「スワイプ」と、操作体がタッチパネルから離れることは例えば「リリース」と表現される。
【0059】
通信処理部211は、入力処理部210から伝達された情報やデータを、通信部22を介して、情報処理装置10に送信する処理を実行する。また、通信処理部211は、通信部22を介して情報処理装置10から受信した情報やデータを、表示処理部212に転送する。なお、通信処理部211は、情報処理装置10から音声データを受信した場合には、マイク/スピーカ25に当該音声データを伝達してもよい。
【0060】
表示処理部212は、例えば、ユーザから入力される情報を、所定の形式に従って、表示部24に表示する処理を実行する。表示処理部212は、例えば、ユーザから入力される情報を、チャット形式に従って、表示部24に表示する処理を実行する。なお、表示処理部212は、必ずしもチャット形式で表示する必要はなく、どのような形式で表示してもよい。
【0061】
また、表示処理部212は、情報処理装置10から受信した情報やデータを、表示部24に表示するための処理を実行する。表示処理部212は、情報処理装置10から受信した、ユーザが入力される情報に対する回答である所定の情報やデータを、所定の形式に従って、表示部24に表示するための処理を行う。表示処理部212は、例えば、情報処理装置10から受信した所定の情報やデータを、チャット形式に従って、表示部24に表示する処理を実行する。
【0062】
図4は、表示処理部212により表示部24に表示される表示画面の例である。図4に示すように、表示処理部212は、チャット形式に従って、ユーザから入力される情報40を、画面の右側(又は左側)に表示させる。図4に例示するように、表示処理部212は、ユーザから入力される情報40として、「投資基準についてどんな観点があるか教えて欲しいんだけど」や「(1)です」を、画面に右側表示する。
【0063】
また、図4に例示するように、表示処理部212は、チャット形式に従って、情報処理装置10から受信した所定の情報やデータ41を、画面の左側(又は右側)に表示させる。図4に例示するように、表示処理部212は、情報処理装置10から受信した所定の情報やデータ41として、「どちらの内容でしょうか? (1)経済的基準、(2)技術的基準、(3)その他」や「経済的基準についてですね。3つの観点がありますがどちらの内容でしょうか? (1)IRRハードルレート、(2)投資回収期間、(3)NPV」を、画面の左側に表示する。
【0064】
(2)情報処理装置10の機能構成
図2に示すように、情報処理装置10は、制御部11により実現される機能として、入力処理部110と、第1エンジン部111と、第2エンジン部112と、出力処理部113と、を有する。
【0065】
入力処理部110は、情報処理端末20から通信部12を介して受信したテキスト情報の入力を受け付ける。入力処理部110は、例えば、「支払いを確認する方法が知りたい」というテキスト情報の入力を受け付ける。また、入力処理部110は、例えば、「あなたの名前は何ですか」というテキスト情報の入力を受け付ける。入力処理部110は、入力を受け付けたテキスト情報を、第1エンジン部111に出力する。
【0066】
第1エンジン部111は、入力処理部110から入力されたテキスト情報に、所定の文字列が含まれていないか探索する処理を実行する。所定の文字列は、予め定められた文字列であり、例えば、「名前は」や「はじめまして」である。なお、所定の文字列は、これらの例に限られず、どのような文字列であってもよい。
【0067】
所定の文字列の各々は、当該所定の文字列を含むテキスト情報に対する回答に対応付けられている。第1エンジン部111は、入力されたテキスト情報に、所定の文字列が含まれている場合、当該所定の文字列に対する回答を、出力処理部113に出力する。第1エンジン部111は、記憶部15を参照して、所定の文字列に対応付けられた回答を特定する。
【0068】
図5は、所定の文字列の各々と、当該所定の文字列を含むテキスト情報に対する回答との対応付けの構成例を示す図である。図5の対応関係は、記憶部15の第1記憶部150に記憶される。図5に示すように、「名前は」という所定の文字列には、回答として「花子です」が対応付けられている。また、「はじめまして」という所定の文字列には、回答として「はじめまして。質問文をご入力ください。」が対応付けられている。なお、所定の文字列に対応付けられている回答は、あくまでも例示であって、どのような内容であってもよい。また、1つの所定の文字列に対して、複数の回答が対応付けられていてもよいし、複数の所定の文字列に対して、1つの回答が対応付けられていてもよい。
【0069】
図5に例示する対応関係は、システムの管理者などが予め作成し、第1記憶部150に記憶される。システム管理者は、例えば、サービスの開始時に、所定の文字列と、当該所定の文字列を含むテキスト情報に対する回答との対応付けを作成し、第1記憶部150に記憶する。また、システム管理者は、例えば、システムの更新時など任意のタイミングで、対応関係を第1記憶部150に記憶してもよい。
【0070】
第1エンジン部111は、例えば、テキスト情報に「名前は」という所定の文字列が含まれていることに基づいて、第1記憶部150を参照して、回答「花子です」を特定する。第1エンジン部111は、特定した回答を出力処理部113に出力する。
【0071】
一方、第1エンジン部111は、テキスト情報に所定の文字列が含まれてない場合、当該テキスト情報を第2エンジン部112に出力する。第1エンジン部111は、例えば、「支払いを確認する方法が知りたい」というテキスト情報に所定の文字列が含まれていないことに基づいて、当該テキスト情報を第2エンジン部112に出力する。
【0072】
なお、第1エンジン部111は、所定の質問にユーザが回答することで、当該回答内容を入力パラメータとして、外部装置(図示しない)に対して種々の処理を実行させる機能を備えていてもよい。種々の処理は、例えば、外部プログラム(プラグイン)の実行や、クラウドAPIの呼び出し、各種ロボットへの命令などである。なお、種々の処理は、これらの例に限られず、どのような処理であってもよい。第1エンジン部111は、ウィザードと呼ばれる、対話型のコンピュータプログラムを実行することができ、ユーザは、例えば複雑な処理を、情報処理システム1と対話することで、段階的に実行することが可能となる。
【0073】
第1エンジン部111は、外部装置に対して処理を実行させる場合、ユーザからの回答と、外部装置に実行させる処理内容との対応関係が記憶された第1記憶部150を参照して、当該外部装置に所定の処理を実行させる。第1記憶部150に記憶される処理内容は、例えば、外部装置としてのロボットに実行させる処理を記載したプログラムやコードなどである。なお、第1記憶部150に記憶される処理内容は、どのようなものであってもよく、例えば、所定の外部サイトへ接続するためのリンク情報等であってもよい。
【0074】
上記の通り、第1エンジン部111は、ユーザによって入力されたテキスト情報に所定の文字列が含まれている場合、所定の文字列に対応付けられた回答を探索し(ルールベースの探索)、当該探索結果を回答としてユーザに提示することができる。所定の文字列に対応付けられた回答は、システム管理者が予め作成したものであるため、システム管理者の意図に沿った回答を提示でき、精度の高い回答をユーザに対して提示することが可能となる。
【0075】
第2エンジン部112は、第1エンジン部111から入力されたテキスト情報を、形態素解析により、複数の単語に分解する。第2エンジン部112は、例えば、「支払いを確認する方法が知りたい」というテキスト情報を、形態素解析により、「支払い」、「を」、「確認」、「する」、「方法」、「が」、「知り」、「たい」と、複数の単語に分解する。なお、テキスト情報を複数の単語に分解する方法は、形態素解析に限られず、どのような方法であってもよい。
【0076】
第2エンジン部112は、形態素解析された複数の単語に対して、フィルタリングを実行して、例えば、「名詞」、「動詞」、「副詞」を取り出す。第2エンジン部112は、例えば、「支払い」、「を」、「確認」、「する」、「方法」、「が」、「知り」、「たい」から、フィルタリングにより、「支払い」、「確認」、「方法」、「知り」を抽出する。
【0077】
フィルタリングは、例えば、品詞情報に基づいて、所定の品詞を抽出する処理である。また、フィルタリングは、例えば、品詞情報に加えて、次のような条件を加味してもよい。条件(1)は、単語が名詞の場合には、種類が「数」や「非自立語」の単語は抽出しないというものである。条件(1)により、例えば、「みたい」や「こと」、「さなか」という単語は抽出されなくなる。
【0078】
また、条件(2)は、名詞が隣接している場合には、当該隣接する名詞を複合名詞として抽出するというものである。条件(2)により、例えば、「給付金」と「請求」とが隣接している場合には、「給付金請求」という複合名詞として抽出される。
【0079】
また、条件(3)は、単語が動詞の場合には、「する」、「なる」、「れる」、「教える」は抽出しないというものである。条件(3)により、これらの単語は抽出されなくなる。
【0080】
また、条件(4)は、単語が動詞の場合には、当該動詞を原型に置き換えて抽出するものである。条件(4)により、例えば、「請求される」という動詞は、「請求する」という原型に置き換えられて抽出される。
【0081】
さらに、条件(5)は、抽出した単語に同義語が存在する場合には、同義語のうち予め定められている単語を抽出するというものである。同義語に関するデータは、記憶部15に予め記憶されている(図示しない)。同義語に関するデータは、互いに同義語の関係にある複数の単語と、抽出する単語(代表語)とが、対応付けて記憶されている。
【0082】
第2エンジン部112は、フィルタリングにより抽出された単語(抽出単語:抽出されたキーワード)と、回答に対応付けられた単語(特徴単語:所定のキーワード)と、を比較し、複数の回答のうち、ユーザに提示する回答を決定する。第2エンジン部112は、例えば、複数の回答のうち、抽出単語(抽出されたキーワード)と、特徴単語(所定のキーワード)との一致度が高い回答を、ユーザに提示する。
【0083】
図6は、複数の回答の各々に対して、予め定められている特徴単語(所定のキーワード)の例を示す表である。図6に例示する対応関係は、記憶部15の第2記憶部151に記憶されている。図6に例示するように、回答1には、特徴単語(所定のキーワード)として、「支払」と、「口座振替」と、「確認」とが対応付けられている。また、回答2には、特徴単語(所定のキーワード)として、「支払」と、「口座振替」と、「解約」とが対応付けられている。また、回答3には、特徴単語(所定のキーワード)として、「控除証明」と、「手続き」と、「送付」とが対応付けられている。さらに、回答Nには、特徴単語(所定のキーワード)として、「支払」と、「クレジットカード」と、「解約」とが対応付けられている。このように、複数の回答の各々に対して、特徴単語(所定のキーワード)が予め定められている。なお、図6の例では、複数の回答に対して3つの特徴単語(所定のキーワード)を対応付けているが、特徴単語(所定のキーワード)は3つである必要はなく、少なくとも1つであれば、いくつであってもよい。
【0084】
なお、図6に例示する特徴単語(所定のキーワード)は、例えば、回答の各々を形態素解析した結果に基づいて、決定される。また、回答の各々に対応付けられている特徴単語(所定のキーワード)は、形態素解析の結果によらず、システムの管理者等が決定した単語を含んでいてもよい。
【0085】
第2エンジン部112は、フィルタリングにより抽出された単語(抽出単語(抽出されたキーワード))が、各回答に対応付けられた特徴単語(所定のキーワード)に一致するか否かを算出し、各回答の一致度を計算する。一致度は、例えば、抽出単語(抽出されたキーワード)が、特徴単語(所定のキーワード)に一致する回数である。
【0086】
第2エンジン部112は、例えば、抽出単語(抽出されたキーワード)「支払い」、「確認」、「方法」、「知り」について、回答1の特徴単語(所定のキーワード)「支払い」と「確認」に一致するため、回答1についての一致度は「2」と算出する。また、第2エンジン部112は、抽出単語(抽出されたキーワード)「支払い」、「確認」、「方法」、「知り」について、回答2の特徴単語(所定のキーワード)「支払い」に一致するため、回答2についての一致度は「1」と算出する。また、第2エンジン部112は、抽出単語(抽出されたキーワード)「支払い」、「確認」、「方法」、「知り」について、回答3には一致する特徴単語(所定のキーワード)がないため、回答3についての一致度は「0」と算出する。さらに、第2エンジン部112は、抽出単語(抽出されたキーワード)「支払い」、「確認」、「方法」、「知り」について、回答4の特徴単語(所定のキーワード)「支払い」に一致するため、回答4についての一致度は「1」と算出する。その結果、第2エンジン部112は、一致度が最も高い回答1を、ユーザに提示する回答として決定する。
【0087】
また、第2特徴抽出部112は、複数の単語の各々に対して、抽出単語(抽出されたキーワード)と、特徴単語(所定のキーワード)との一致度に基づいてスコアを算出し、スコアが高い回答をユーザに提示してもよい。
【0088】
図7は、特徴単語(所定のキーワード)に対してスコアが設定されている場合の例を示す表である。図7に例示する対応関係は、記憶部15の第2記憶部151に記憶されている。図7に例示するように、回答1の特徴単語(所定のキーワード)「支払」には、スコア「2」が対応付けられている。また、回答1の特徴単語(所定のキーワード)「口座振替」には、スコア「2」が対応付けられている。さらに、回答1の特徴単語(所定のキーワード)「確認」には、スコア「1」が対応付けられている。同様にして、回答2の特徴単語(所定のキーワード)「支払」には、スコア「2」が対応付けられている。また、回答2の特徴単語(所定のキーワード)「口座振替」には、スコア「2」が対応付けられている。さらに、回答2の特徴単語(所定のキーワード)「解約」には、スコア「1」が対応付けられている。
【0089】
なお、図7に例示する特徴単語(所定のキーワード)は、例えば、回答の各々を形態素解析した結果に基づいて、決定される。また、特徴単語(所定のキーワード)の各々に対応付けられているスコアは、当該回答における特徴単語(所定のキーワード)の使用回数や重要度に基づいて決定される。また、システムの管理者等は、回答における特徴単語(所定のキーワード)の使用回数や重要度によらず、特定の特徴単語(所定のキーワード)に対して高いスコアを対応付けてもよい。
【0090】
また、システムの管理者等は、特定の特徴単語(所定のキーワード)に対して、高いスコアだけでなく、低いスコアを含めた任意のスコア(すなわち、任意の優先度)を設定してもよい。また、システムの管理者等が設定する特定の特徴単語は、回答で使用されている必要はなく、回答で全く使用されていない単語など、どのような特徴単語であってもよい。
【0091】
第2エンジン部112は、例えば、抽出単語(抽出されたキーワード)「支払い」、「確認」、「方法」、「知り」について、回答1の特徴単語(所定のキーワード)「支払い」と「確認」に一致するため、回答1についてのスコアは「2」と「1」の和である「3」と算出する。同様にして、第2エンジン部112は、抽出単語(抽出されたキーワード)「支払い」、「確認」、「方法」、「知り」について、回答2の特徴単語(所定のキーワード)「支払い」に一致するため、回答2についてのスコアは「1」と算出する。また、第2エンジン部112は、抽出単語(抽出されたキーワード)「支払い」、「確認」、「方法」、「知り」について、回答3には一致する特徴単語(所定のキーワード)がないため、回答3についてのスコアは「0」と算出する。さらに、第2エンジン部112は、抽出単語(抽出されたキーワード)「支払い」、「確認」、「方法」、「知り」について、回答4の特徴単語(所定のキーワード)「支払い」に一致するため、回答4についてのスコアは「2」と算出する。その結果、第2エンジン部112は、スコアが最も高い回答1を、ユーザに提示する回答として決定する。
【0092】
なお、第2エンジン部112は、ユーザに提示する回答として、スコアが最も高い回答ではなく、例えば、スコアが所定値以上(例えば、「2」以上など)の回答を提示してもよい。また、第2エンジン部112は、スコアが最も低い回答をユーザに提示してもよい。
【0093】
第2エンジン部112は、決定した回答を、出力処理部113に出力する。
【0094】
上記の通り、第2エンジン部112は、テキスト情報を形態素解析して抽出されたキーワードに基づいて回答を探索する(AIベースの探索)ことによって、ユーザに対して回答を提示する。そのため、複数の回答候補の中から、ユーザの入力した質問文に対して精度の高い回答を抽出し、当該回答をユーザに対して提示することができる。
【0095】
出力処理部113は、第1エンジン部111又は第2エンジン部112が決定した回答を、通信部12を介して、情報処理端末20に送信する。
【0096】
(動作例)
図8は、情報処理装置10の動作例を示すフローチャートである。
【0097】
図8に例示するように、情報処理装置10の入力処理部110は、情報処理端末20から通信部12を介して受信したテキスト情報の入力を受け付ける(S101)。入力処理部110は、受け付けたテキスト情報を、第1エンジン部111に出力する。
【0098】
第1エンジン部111は、入力処理部110から入力されたテキスト情報に、所定の文字列が含まれているか探索する(S102)。
【0099】
第1エンジン部111は、入力されたテキスト情報に、所定の文字列が含まれている場合(S102のYES)、当該所定の文字列に対応する回答を、ユーザに提示する回答として決定し、出力処理部113に出力する(S103)。一方、第1エンジン部111は、入力されたテキスト情報に、所定の文字列が含まれていない場合(S102のNO)、テキスト情報を第2エンジン部112に出力する。
【0100】
第2エンジン部112は、第1エンジン部111から入力されたテキスト情報を、形態素解析により、複数の単語に分解する(S104)。続いて、第2エンジン部112は、形態素解析された複数の単語に対して、フィルタリングを実行して、所定の単語を抽出する(S105)。
【0101】
第2エンジン部112は、フィルタリングにより抽出された単語(抽出単語:抽出されたキーワード)と、回答に対応付けられた単語(特徴単語:所定のキーワード)と、を比較し、複数の回答のうち、ユーザに提示する回答を決定する(S106)。例えば、第2エンジン部112は、フィルタリングにより抽出された単語(抽出単語(抽出されたキーワード))が、各回答に対応付けられた特徴単語(所定のキーワード)に一致するか否かを算出し、各回答の一致度を計算し、当該計算した一致度に基づいてユーザに提示する回答を決定する。また、第2エンジン部112は、複数の単語の各々に対して、抽出単語(抽出されたキーワード)と、特徴単語(所定のキーワード)との一致度に基づいてスコアを算出し、スコアが高い回答をユーザに提示してもよい。第2エンジン部112は、決定した回答を、出力処理部113に出力する。
【0102】
出力処理部113は、第1エンジン部111又は第2エンジン部112が決定した回答を、通信部12を介して、情報処理端末20に送信する(S107)。
【0103】
上記の通り、情報処理装置10は、“ハイブリット構造(AIベース+ルールベース)”により、ユーザからの質問(テキスト情報)に対する回答を提示するため、ルールベース機能(第1エンジン部111)により短時間で最適な回答を出力しつつ、AIベース機能(第2エンジン部112)により精度の高い回答を出力することが可能となる。
【0104】
(変形例1)
第2エンジン部112において、フィルタリングにより抽出された単語(抽出単語(抽出されたキーワード))が、各回答に対応付けられた特徴単語(所定のキーワード)に一致するか否かを算出し、各回答のスコアを計算する場合、複数の回答候補のうち、スコアが同じ値となる複数の回答が存在する場合がある。
【0105】
第2エンジン部112は、スコアが同じ値となる回答が所定数以下である場合、複数の回答をユーザに提示する回答として決定する。その結果、ユーザには、複数の回答が提示されることになる。所定数は、回答候補最大提示数であって、例えば「2」であり、ユーザの質問に対して、2つの回答が提示されることになる。なお、所定数は2である必要はなく、いくつであってもよい。
【0106】
一方、第2エンジン部112は、スコアが同じ値となる回答が所定数より多い場合、複数の回答に共通して含まれる特徴単語(所定のキーワード)から選択した少なくとも1つの特徴単語(所定のキーワード)について、「○○(特徴単語)ですか?」という質問文を、ユーザに対して提示する。例えば、共通する特徴単語が「支払い」の場合、「支払いですか?」という質問文をユーザに対して提示する。なお、共通する特徴単語は、複数の回答全てに含まれている必要はなく、複数の回答のうちの一部に含まれているものであってもよい。
【0107】
その結果、ユーザから「NO」という回答が得られた場合には、第2エンジン部112は、共通する特徴単語を除外して、複数の回答に対して再度スコアを計算する。第2エンジン部112は、再計算されたスコアに基づいて、スコアが最も高い回答1を、ユーザに提示する回答として決定する。
【0108】
なお、ユーザから「YES」という回答が得られた場合には、第2エンジン部112は、共通する他の特徴単語について、「○○(特徴単語)ですか?」という質問文を、ユーザに対して提示する。第2エンジン部112は、スコアが同じ値となる回答が所定数以下になるまで、これを繰り返して、ユーザに提示する回答を決定する。
【0109】
変形例1によれば、第2エンジン部112は、スコアが同じ値となる回答があった場合であっても、ユーザに提示する回答を決定することが可能となる。
【0110】
なお、変形例1では、複数の回答に共通して含まれる特徴単語(所定のキーワード)を用いてユーザに対する質問「○○(特徴単語)ですか?」を行ったが、当該質問に用いる特徴単語(所定のキーワード)は、スコアの高いものや、特定の回答にのみ含まれる特徴単語(所定のキーワード)であってもよい。第2エンジン部112は、例えば、特定の回答にのみ含まれる特徴単語(所定のキーワード)を用いた場合、ユーザから「YES」との回答が得られれば、当該特定の回答をユーザに提示する。
【0111】
本開示の実施形態を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。従って、これらの変形や修正は本開示の範囲に含まれることに留意されたい。例えば、各手段、各ステップ等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の手段やステップ等を1つに組み合わせたり、或いは分割したりすることが可能である。また、各実施形態に示す構成を適宜組み合わせることとしてもよい。
【符号の説明】
【0112】
10 情報処理装置、20 情報処理端末、30ネットワーク
図1
図2
図3
図4
図5
図6
図7
図8