(57)【要約】【課題】ユーザーからの質問等に対応して、適切なチャットボットのサービスを特定し、出力できるようにすることのできる検索装置を提供する。【解決手段】検索装置は、入力テキストに対する答弁を生成して出力するチャットボットサーバー装置から答弁データを取得する答弁抽出部と、答弁データ記憶部に記憶されている答弁データの特徴を分析し、その分析結果であるチャットボット特徴データをチャットボット識別情報と関連付けて答弁データ記憶部に書き込む答弁分析部と、外部から受け付けた質問の特徴を分析し、その分析結果である質問特徴データを出力する質問分析部と、チャットボット特徴データと質問特徴データとの間の適合度を求めるマッチング評価部と、マッチング評価部が求めた適合度に基づいて、質問に適合したチャットボットサーバー装置の情報を出力する検索結果出力部と、を具備する。【選択図】図１
2020009117.tif 000002
【特許請求の範囲】
【請求項１】
入力テキストに対する答弁を生成して出力するチャットボットサーバー装置から、前記チャットボットサーバー装置が出力する前記答弁のデータである答弁データを取得する答弁抽出部と、
前記答弁抽出部が取得した前記答弁データを、取得元のチャットボットサーバー装置を識別するためのチャットボット識別情報と関連付けて記憶する答弁データ記憶部と、
前記答弁データ記憶部に記憶されている前記答弁データの特徴を分析し、その分析結果であるチャットボット特徴データを前記チャットボット識別情報と関連付けて前記答弁データ記憶部に書き込む答弁分析部と、
外部から受け付けた質問の特徴を分析し、その分析結果である質問特徴データを出力する質問分析部と、
前記チャットボット特徴データと前記質問特徴データとの間の適合度を求めるマッチング評価部と、
前記マッチング評価部が求めた前記適合度に基づいて、前記質問に適合した前記チャットボットサーバー装置の情報を出力する検索結果出力部と、
を具備する検索装置。
【請求項２】
前記チャットボット特徴データは、前記答弁データが表す事物の属性名と属性値との対の集合であり、
前記質問特徴データは、前記質問が表す事物の属性名と属性値との対の集合である、
請求項１に記載の検索装置。
【請求項３】
前記適合度は、前記チャットボット特徴データと前記質問特徴データとの間での、同一の前記属性名同士における前記属性値の一致する度合いに基づくものである、
請求項２に記載の検索装置。
【請求項４】
前記答弁抽出部は、前記チャットボットサーバー装置に対して、代表的な入力テキストの内容を送信し、前記代表的な入力テキストに対応して前記チャットボットサーバー装置が出力する前記答弁データを取得する、
請求項１から３までのいずれか一項に記載の検索装置。
【請求項５】
前記検索結果出力部は、前記チャットボットサーバー装置へのアクセスのためのアクセス情報を含めた、前記チャットボットサーバー装置の情報を出力する、
請求項１から４までのいずれか一項に記載の検索装置。
【請求項６】
コンピューターを、
入力テキストに対する答弁を生成して出力するチャットボットサーバー装置から、前記チャットボットサーバー装置が出力する前記答弁のデータである答弁データを取得する答弁抽出部と、
前記答弁抽出部が取得した前記答弁データを、取得元のチャットボットサーバー装置を識別するためのチャットボット識別情報と関連付けて記憶する答弁データ記憶部と、
前記答弁データ記憶部に記憶されている前記答弁データの特徴を分析し、その分析結果であるチャットボット特徴データを前記チャットボット識別情報と関連付けて前記答弁データ記憶部に書き込む答弁分析部と、
外部から受け付けた質問の特徴を分析し、その分析結果である質問特徴データを出力する質問分析部と、
前記チャットボット特徴データと前記質問特徴データとの間の適合度を求めるマッチング評価部と、
前記マッチング評価部が求めた前記適合度に基づいて、前記質問に適合した前記チャットボットサーバー装置の情報を出力する検索結果出力部と、
を具備する検索装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索装置およびプログラムに関する。
【背景技術】
【０００２】
近年、チャットシステムを用いて情報提供を行う方法が普及し、拡大傾向がみられる。チャットシステムは、テキストのやりとりによってユーザー等との間の対話を行うためのシステムである。また、さらに、人工知能技術を適用することによって、人が介在せず自動的にユーザーからの質問等に応対するチャットシステムの普及も期待される。
【０００３】
特許文献１には、入力テキストと応答テキストとの関係であるパターンを学習し、学習済のモデルを用いることによって、新たな入力テキストに対応するための応答を自動的に生成する応答システムの技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第６２１８０５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のように、人工知能等の技術を用いることによって人手を介さずに自動的に応答するサーバー装置の機能を、以下では便宜的に「チャットボット」（chatbot）と呼ぶ。チャットボットを用いることにより、ユーザーにとって必要な知識を自動的に蓄積したり、ユーザーから送られる入力テキストに対してより適切に洗練された応答テキストの生成を行えるように機械学習を行ったりすることが可能となる。ところが、こういったチャットボットが普及するにつれて、新たな課題が生じる。それは、多数のチャットボットのサービスがインターネット上で提供されるために、ユーザーの関心事に対して最も適切に対応することのできるチャットボットを容易に探し当てることができないという課題である。
【０００６】
チャットボットではない一般のウェブページに関しては、いわゆる検索エンジンが、膨大な量のウェブページの情報を自動的に収集し、索引付けし、その情報を一般に提供している。しかしながら、従来技術による検索エンジンは、必ずしもチャットボットの情報を効率的に収集して適切な形でその情報を提供することはできない。これは、一般のウェブページと、チャットボットとでは、情報の提供の仕方に大きな違いがあるためである。
【０００７】
チャットボット以外の一般のウェブページだけではなく、チャットボットに関しても、ユーザーの関心事等に応じて、適切なサービスを検索できるようにすることが、強く望まれる。また、ユーザーが適切なチャットボットを容易に探し当てることができるようにすることで、チャットボットを用いたサービス全体の有用性がより一層高まることが期待される。
【０００８】
本発明は、上記のような課題認識に基づいて行なわれたものであり、ユーザーからの質問等に対応して、適切なチャットボットのサービスを特定し、出力できるようにすることのできる検索装置、およびそのプログラムを提供しようとするものである。
【課題を解決するための手段】
【０００９】
［１］上記の課題を解決するため、本発明の一態様による検索装置は、入力テキストに対する答弁を生成して出力するチャットボットサーバー装置から、前記チャットボットサーバー装置が出力する前記答弁のデータである答弁データを取得する答弁抽出部と、前記答弁抽出部が取得した前記答弁データを、取得元のチャットボットサーバー装置を識別するためのチャットボット識別情報と関連付けて記憶する答弁データ記憶部と、前記答弁データ記憶部に記憶されている前記答弁データの特徴を分析し、その分析結果であるチャットボット特徴データを前記チャットボット識別情報と関連付けて前記答弁データ記憶部に書き込む答弁分析部と、外部から受け付けた質問の特徴を分析し、その分析結果である質問特徴データを出力する質問分析部と、前記チャットボット特徴データと前記質問特徴データとの間の適合度を求めるマッチング評価部と、前記マッチング評価部が求めた前記適合度に基づいて、前記質問に適合した前記チャットボットサーバー装置の情報を出力する検索結果出力部と、を具備するものである。
【００１０】
［２］また、本発明の一態様は、上記の検索装置において、前記チャットボット特徴データは、前記答弁データが表す事物の属性名と属性値との対の集合であり、前記質問特徴データは、前記質問が表す事物の属性名と属性値との対の集合である、ものである。
【００１１】
［３］また、本発明の一態様は、上記の検索装置において、前記適合度は、前記チャットボット特徴データと前記質問特徴データとの間での、同一の前記属性名同士における前記属性値の一致する度合いに基づくものである。
【００１２】
［４］また、本発明の一態様は、上記の検索装置において、前記答弁抽出部は、前記チャットボットサーバー装置に対して、代表的な入力テキストの内容を送信し、前記代表的な入力テキストに対応して前記チャットボットサーバー装置が出力する前記答弁データを取得する、ものである。
【００１３】
［５］また、本発明の一態様は、上記の検索装置において、前記検索結果出力部は、前記チャットボットサーバー装置へのアクセスのためのアクセス情報を含めた、前記チャットボットサーバー装置の情報を出力する、ものである。
【００１４】
［６］また、本発明の一態様は、コンピューターを、入力テキストに対する答弁を生成して出力するチャットボットサーバー装置から、前記チャットボットサーバー装置が出力する前記答弁のデータである答弁データを取得する答弁抽出部と、前記答弁抽出部が取得した前記答弁データを、取得元のチャットボットサーバー装置を識別するためのチャットボット識別情報と関連付けて記憶する答弁データ記憶部と、前記答弁データ記憶部に記憶されている前記答弁データの特徴を分析し、その分析結果であるチャットボット特徴データを前記チャットボット識別情報と関連付けて前記答弁データ記憶部に書き込む答弁分析部と、外部から受け付けた質問の特徴を分析し、その分析結果である質問特徴データを出力する質問分析部と、前記チャットボット特徴データと前記質問特徴データとの間の適合度を求めるマッチング評価部と、前記マッチング評価部が求めた前記適合度に基づいて、前記質問に適合した前記チャットボットサーバー装置の情報を出力する検索結果出力部と、を具備する検索装置として機能させるためのプログラムである。
【発明の効果】
【００１５】
本発明によれば、チャットボットサービスの内容に適した形で、その検索エンジンを実現することができる。つまり、従来手法では不可能であった形で、ユーザー等からの質問に対応し、チャットボットサービスに関する情報を出力することができるようになる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態によるチャットボット検索装置の概略機能構成を示すブロック図である。
【図２】同実施形態によるチャットボット検索装置が稼働する環境であるシステム全体の概略構成を示すブロック図である。
【図３】同実施形態が処理の対象とするチャットボットサーバー装置の概略機能構成を示すブロック図である。
【図４】同実施形態による管理情報記憶部が記憶するチャットボットテーブルのデータ構成を示す概略図である。
【図５】同実施形態による答弁データベース記憶部が記憶する答弁テーブルのデータ構成を示す概略図である。
【図６】同実施形態による答弁データベース記憶部が記憶する答弁分析結果テーブルのデータ構成を示す概略図である。
【図７】同実施形態によるチャットボット検索装置が、チャットボットサーバー装置から答弁データを抽出した答弁データを答弁データベース記憶部内に書き込むための処理の手順を示すフローチャートである。
【図８】同実施形態による答弁データベース記憶部に多数のチャットボットサーバー装置を分析した結果のデータが保持されている状況において、端末装置から送信される質問に対応して、検索結果を求め、出力する処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１７】
［実施形態］
本実施形態によるチャットボット検索装置は、例えばユーザーによって入力される質問（クエリー）に応じて、その質問に適するチャットボットサーバー装置の情報を出力するものである。これにより、ユーザーは、自己の目的等に適したチャットボットサーバー装置にアクセスし、チャットのサービスを利用することができるようになる。
【００１８】
本実施形態では、チャットボットサービス装置およびそのサービスが提供する情報の特徴を、エンティティＩＤとエンティティ構成要素との対の形で表現し、活用する。これは、事物等をその属性の情報によって捉えることを前提とするものである。そして、エンティティＩＤとは、属性名である。また、エンティティ構成要素とは、属性値である。つまり、本実施形態では、チャットボットサーバー装置およびそのサービスの特徴を表す情報として、エンティティＩＤとエンティティ構成要素の対の集合を蓄積する。また、ユーザーからの質問（クエリー）の特徴を表す情報も、その質問に関するエンティティＩＤとエンティティ構成要素の対の集合として表現する。そして、これら両方の対の集合のマッチングを行うことにより、質問への適合度の高いチャットボットサービス装置およびそのサービスを求め、出力するようにする。
【００１９】
図１は、本実施形態によるチャットボット検索装置の概略機能構成を示すブロック図である。図示するように、チャットボット検索装置１は、サービス部１０と、質問分析部２０と、検索部３０と、答弁データベース記憶部４１と、管理情報記憶部４２と、答弁抽出部５０と、答弁分析部６０とを含んで構成される。
これらの各機能部は、例えば、電子回路を用いて実現される。また、各機能部は、必要に応じて、半導体メモリーや磁気ハードディスク装置などといった記憶手段を内部に備えてよい。また、各機能を、コンピューターおよびプログラムによって実現するようにしてもよい。
【００２０】
サービス部１０は、検索要求元の装置に対するインターフェース（例えば、ヒューマンインターフェース）を提供する。具体的には、検索のための質問を外部装置から通信等で受信し、その質問に対応する検索結果のデータを当該外部装置に返送する。
【００２１】
質問分析部２０は、サービス部１０が受け付けた質問（検索データ、検索語、クエリー等とも呼ぶ）を分析することによって、質問特徴データを抽出する。つまり、質問分析部２０は、外部から受け付けた質問の特徴を分析し、その分析結果である質問特徴データを出力する。質問特徴データは質問の特徴を表すものである。本実施形態において、質問特徴データは、質問が表す事物の属性名（「エンティティＩＤ」とも呼ぶ）と属性値（「エンティティ構成要素」とも呼ぶ）との対の集合である。ただし、他の形式で質問特徴データを表現してもよい。
具体的には、質問分析部２０は、質問エンティティ分類部２１と、質問構成要素抽出部２２とを含んで構成される。
質問エンティティ分類部２１は、質問に含まれるエンティティＩＤを分類し、出力する。
質問構成要素抽出部２２は、質問エンティティ分類部２１が出力したエンティティＩＤに対応付けて、エンティティ構成要素を抽出して出力する。
【００２２】
上記の質問分析部２０は、一例として、文の意味解析の手法を用いて、質問文を分析する。そのために、質問分析部２０は、分析対象の文の構文解析を行い、構文木を生成する。また、質問分析部２０は、エンティティＩＤとなり得る概念の集合を辞書データとして予め保持している。その辞書は、例えば、「位置」、「メニュー」、「価格」、「開店時刻」、「閉店時刻」などといった項目を、エンティティＩＤとなり得る概念として保持している。ここで例示したエンティティＩＤとなり得る概念は、飲食店に関するものであるが、質問分析部２０は、他の業種についても同様の辞書データを予め保持している。また、質問分析部２０が保持する辞書データは、概念間の関係を表すデータを含んでいる。例えば、「渋谷駅前」という概念は「位置」という概念の例（下位概念）である。また、「うどん」という概念は「メニュー」という概念の例（下位概念）である。質問分析部２０は、辞書データを参照することによって、分析対象の質問文から、エンティティ構成要素（上記の例では、「渋谷駅前」や「うどん」）を抽出するとともに、そのエンティティ構成要素に対応するエンティティＩＤを抽出する。例えば、「渋谷駅前」というエンティティ構成要素に対応するエンティティＩＤは「位置」である。また、「うどん」というエンティティ構成要素に対応するエンティティＩＤは「メニュー」である。
【００２３】
検索部３０は、質問分析部２０による分析処理の結果得られる質問特徴データに基づいて、質問特徴データとの間で適合度が高いチャットボット特徴データを探す。検索部３０は、その適合度が高い順に、チャットボットサーバー装置７１の情報を検索結果の情報として出力する。検索部３０は、検索結果の情報をサービス部１０に渡す。
具体的には、検索部３０は、マッチング評価部３１と、検索結果出力部３２とを含んで構成される。
マッチング評価部３１は、質問特徴データとチャットボット特徴データとの間のマッチングを行い、一致度の数値を算出する。言い換えれば、マッチング評価部３１は、チャットボット特徴データと質問特徴データとの間の適合度を求める。
検索結果出力部３２は、マッチング評価部３１が算出した一致度（これを適合度とする）に基づいて、チャットボットＩＤをソーティング（降順）し、出力する。つまり、検索結果出力部３２は、マッチング評価部３１が求めた適合度に基づいて、元々外部から受信した質問に適合したチャットボットサーバー装置７１の情報を出力する。また、検索結果出力部３２は、チャットボットＩＤに関連付けられたＵＲＬを管理情報記憶部４２から読み出して、併せて出力する。例えば、検索結果出力部３２は、管理情報記憶部４２から読み出した上記ＵＲＬを、ＨＴＭＬ（ハイパーテキストマークアップ言語）のハイパーリンクの形式を用いて出力する。つまり、検索結果出力部３２は、チャットボットサーバー装置７１へのアクセスのためのアクセス情報を含める形で、チャットボットサーバー装置７１の情報を出力する。
【００２４】
答弁データベース記憶部４１は、チャットボットサーバー装置７１の答弁の内容例のデータ（答弁データ）と、その答弁データの分析結果のデータ（チャットボット特徴データ）とを記憶するデータベースである。つまり、答弁データベース記憶部４１は、答弁抽出部５０が取得した答弁データを、取得元のチャットボットサーバー装置７１を識別するためのチャットボット識別情報と関連付けて記憶するものである。なお、答弁データベース記憶部４１を、「答弁データ記憶部」とも呼ぶ。
管理情報記憶部４２は、管理のための情報を記憶するものである。管理情報記憶部４２が記憶するデータには、チャットボットサーバー装置７１ごとのアクセス情報（具体的には、ＵＲＬ）が含まれる。
【００２５】
答弁抽出部５０は、チャットボットサーバー装置７１から答弁データを抽出し、抽出した答弁データを答弁データベース記憶部４１内のテーブルに書き込む。つまり、答弁抽出部５０は、入力テキストに対する答弁を生成して出力するチャットボットサーバー装置７１から、チャットボットサーバー装置７１が出力する答弁のデータである答弁データを取得するものである。具体的には、答弁抽出部５０は、チャットボットサーバー装置７１に対して所定の質問を投げかけ、その質問に対応する応答テキストを受信する。答弁抽出部５０は、複数の質問をチャットボットサーバー装置７１に対して送信してよい。これらの質問を「代表質問」と呼ぶ。代表質問の内容（テキストデータ）は、予め準備しておくようにする。また、答弁抽出部５０は、代表質問と答弁との対の形で、答弁データを答弁データベース記憶部４１に書き込む。つまり、答弁抽出部５０は、一つの方法として、チャットボットサーバー装置７１に対して、代表的な入力テキスト（代表質問）の内容を送信し、その代表的な入力テキストに対応してチャットボットサーバー装置７１が出力する前記答弁データを取得する。
また、上記方法の代わりに、答弁抽出部５０が、バッチデータ伝送方式で、チャットボットサーバー装置７１から答弁データを取得するようにしてもよい。この場合、チャットボットサーバー装置７１は、代表質問のテキストとそれに対応する答弁のテキストとの対の集合のデータをあらかじめ保持しており、そのデータを答弁抽出部５０からの要求に基づいて送信する。この場合、チャットボットサーバー装置７１は、通常のチャットサービスのインターフェースとは別に、答弁データのバッチ伝送用の特別のインターフェースを予め有している。なお、代表質問と答弁との対の集合のデータは、例えば、チャットボットサーバー装置７１が後述する機械学習処理の際に用いた学習用データである。
答弁抽出部５０のこの機能により、答弁データベース記憶部４１は、チャットボットサーバー装置７１ごとに、代表質問（入力テキスト）と答弁（応答テキスト）との対の集合のデータを保持することができる。
【００２６】
答弁分析部６０は、答弁データベース記憶部４１が保持している答弁データを分析し、その分析結果を答弁データベース記憶部４１に書き込む。より具体的には、答弁分析部６０は、答弁データベース記憶部４１に記憶されている答弁データの特徴を分析し、その分析結果であるチャットボット特徴データをチャットボット識別情報と関連付けて答弁データベース記憶部４１に書き込む。チャットボット特徴データは、チャットボットサーバー装置７１個々の、またはそのサービス内容の、特徴を表すものである。本実施形態では、チャットボット特徴データは、答弁データが表す事物の属性名と属性値との対の集合である。ただし、他の形式でチャットボット特徴データを表現してもよい。  具体的には、答弁分析部６０は、答弁エンティティ分類部６１と、答弁構成要素抽出部６２とを含んで構成される。
答弁エンティティ分類部６１は、代表質問と答弁との対を基に、エンティティを分類し、その代表質問と答弁との対に関連するエンティティＩＤを出力する。エンティティＩＤとは、言い換えれば、属性名である。
答弁構成要素抽出部６２は、代表質問と答弁との対を基に、エンティティ構成要素を抽出し、出力する。エンティティ構成要素とは、上記のエンティティＩＤに対応する属性値である。
つまり、答弁分析部６０は、全体として、代表質問と答弁との対の集合を基に、エンティティＩＤとエンティティ構成要素との対の集合を求め、出力する。具体的には、答弁分析部６０は、エンティティＩＤとエンティティ構成要素との対の集合を、答弁データベース記憶部４１内に含まれる答弁分析結果テーブルに書き込む。
【００２７】
上記の答弁分析部６０は、前述の質問分析部２０と同様に、一例として、文の意味解析の手法を用いて、代表質問および答弁の文を分析する。
【００２８】
図２は、チャットボット検索装置が稼働する環境であるシステム全体の概略構成を示すブロック図である。図示するように、このシステムは、チャットボット検索装置１と、チャットボットサーバー装置７１−１，７１−２，７１−３，・・・と、端末装置７２−１，７２−２，７２−３，・・・とが、インターネット７０で相互に接続される形態で構成される。なお、チャットボットサーバー装置７１−１，７１−２，７１−３，・・・を単にチャットボットサーバー装置７１と呼ぶ場合がある。また、端末装置７２−１，７２−２，７２−３，・・・を単に端末装置７２と呼ぶ場合がある。同図では、１台のチャットボット検索装置１と、３台のチャットボットサーバー装置７１と、３台の端末装置７２を示している。しかしながら、各装置の台数は任意である。
【００２９】
チャットボット検索装置１の機能は、図１を参照しながら説明した通りである。チャットボット検索装置１は、予め、チャットボットサーバー装置７１に関する情報を蓄え、分析している。チャットボット検索装置１は、端末装置７２から送信される質問のテキストに応じて、その質問に対応する適切な単数または複数のチャットボットサーバー装置７１の情報を端末装置７２に返す。チャットボット検索装置１は、インターネット７０を介して、他の装置との間で通信を行うことができる。
【００３０】
チャットボットサーバー装置７１は、端末装置７２に対してチャットボットのサービスを提供する。つまり、チャットボットサーバー装置７１は、端末装置７２から送信される入力テキストに対応して、その入力テキストに対応する適切な応答テキストを端末装置７２に返す。また、チャットボットサーバー装置７１は、例えばチャットボット検索装置１からの要求に応じて、自己が持つチャット内容に関する情報をチャットボット検索装置１に渡す。チャットボットサーバー装置７１は、インターネット７０を介して他の装置との間で通信を行うことができる。チャットボットサーバー装置７１は、例えばサーバー型コンピューターを用いて実現される。チャットボットサーバー装置７１は、人間が入力したテキストを応答テキストして返すのではなく、コンピューターの処理として生成したテキストを応答テキストとして端末装置７２に返すものである。チャットボットサーバー装置７１の内部の機能構成の概略については、後で、別の図を参照しながら説明する。
【００３１】
端末装置７２は、チャットボットサーバー装置７１に対してテキストを送信する。そして、そのテキストに対する応答として、チャットボットサーバー装置７１から送信される応答テキストを受信する。端末装置７２は、チャットボットサーバー装置７１との間での上記のテキストの送受信を複数回繰り返してもよい。これにより、端末装置７２とチャットボットサーバー装置７１との間で対話が成立する。端末装置７２は、例えば、ユーザーによって操作される。端末装置７２がチャットボットサーバー装置７１に対して送信するテキストは、キーボードやタッチパネルや音声認識手段等を用いてユーザーが入力したものであってもよい。端末装置７２は、インターネット７０を介して他の装置との間で通信を行うことができる。端末装置７２は、例えば、デスクトップ型ＰＣ（パーソナルコンピューター）や、ノート型ＰＣや、タブレット端末や、スマートフォン（スマホ）や、腕時計型端末装置や、ウェアラブル端末装置や、その他の情報機器を用いて実現される。
【００３２】
端末装置７２は、また、チャットボット検索装置１に対して質問のテキストを送信する。質問のテキストは、ユーザーによって入力されたものであってよい。そして、端末装置７２は、その質問のテキストへの応答として、チャットボット検索装置１から単数または複数のチャットボットサーバー装置７１の情報を受信する。端末装置７２がチャットボット検索装置１から受信する情報には、該当するチャットボットサーバー装置７１へアクセスのためのアクセス情報（例えば、ＵＲＬ（ユニフォームリソースロケーター））が含まれる。端末装置７２は、そのアクセス情報を用いて、該当するチャットボットサーバー装置７１にアクセスすることができるようになる。つまり、端末装置７２は、チャットボット検索装置１に対して送信した質問のテキストに対応するチャットボットサーバー装置７１の情報を受信し、そのチャットボットサーバー装置７１に容易にアクセスすることが可能となる。
【００３３】
図３は、チャットボットサーバー装置の概略機能構成を示すブロック図である。図示するように、チャットボットサーバー装置７１は、入力部８１と、答弁生成部８２と、出力部８３と、人工知能機能部８４と、参照情報記憶部８５とを含んで構成される。
【００３４】
入力部８１は、外部の装置（端末装置７２等）から入力テキストを受信する。入力部８１は、入力テキストを答弁生成部８２に渡す。
答弁生成部８２は、入力部８１から渡された入力テキストに応じて、答弁を生成する。具体的には、答弁生成部８２は、入力テキストを人工知能機能部８４に渡す。答弁生成部８２は、人工知能機能部８４から出力されるテキストを答弁として生成する。また、答弁生成部８２は、参照情報記憶部８５から読み出した情報を、人工知能機能部８４から出力されるテキストに付加してもよい。答弁生成部８２は、このように生成した答弁を応答テキストとして出力する。答弁生成部８２は、応答テキストを出力部８３に渡す。
出力部８３は、答弁生成部８２から渡される応答テキストを、元の外部の装置（端末装置７２等）に返送する。
【００３５】
人工知能機能部８４は、答弁生成部８２から渡される入力テキストを入力し、この入力テキストに対応する応答テキスト（答弁）を出力する。人工知能機能部８４は、この入出力関係に関するモデルを記憶している。人工知能機能部８４は、このモデルに関する機械学習処理を予め行っている。つまり、人工知能機能部８４は、例えば、入力テキストと応答テキストのペアを学習用データ（正例および負例の両方を用いてもよい）として用いて、あらかじめ機械学習処理を行い、学習済みのモデルを保持している。このようにモデルが学習済みであるため、人工知能機能部８４は、入力テキストに対応する適切な答弁（応答テキスト）を出力することができる。人工知能機能部８４は、任意の手法を用いて機械学習を行ってよい。人工知能機能部８４は、例えば、ニューラルネットの手法を用いる。ニューラルネットを用いる場合、人工知能機能部８４は、ニューラルネット内のノードにおける重み係数（前段のノードからの複数の出力値に基づいて重み付き和（weighed sum）を算出する際の重み値）を学習結果として記憶している。ニューラルネットを用いる場合、学習手法としてはバックプロパゲーション（誤差逆伝搬法）を用いることができる。なお、ニューラルネットをはじめ、人工知能および機械学習の手法自体としては既存の技術を用いることができる。
【００３６】
参照情報記憶部８５は、人工知能機能部８４が出力する答弁（応答テキスト）に付加するための情報を記憶するものである。一例として、参照情報記憶部８５は、銀行における口座ごとの残高情報を保持するデータベースシステムである。この場合、人工知能機能部８４は、口座の残高を問い合わせる入力テキストに対して、例えば「残高はＸ円です。」といった変数付きの答弁を出力する。ここで、Ｘが、数値データに置換されるための変数である。つまり、参照情報記憶部８５は口座ごとの残高の数値を記憶している。参照情報記憶部８５が記憶している特定の口座の残高（数値）は、変数Ｘを置換するために参照され得る。ここでは、一例として参照情報記憶部８５が銀行口座の残高情報を記憶する場合を説明したが、参照情報記憶部８５が記憶する情報の種類はこれに限らず任意である。
つまり、参照情報記憶部８５は、人工知能機能部８４が出力する応答テキストに付加するための情報を記憶する。
【００３７】
以上の構成を有することにより、チャットボットサーバー装置７１は、入力テキストに対応する適切な応答テキスト（答弁）を返すことができる。
【００３８】
図４は、管理情報記憶部４２が記憶するチャットボットテーブルのデータ構成を示す概略図である。図示するように、このテーブルは、表形式のデータであり、チャットボットＩＤと、ＵＲＬの、各項目を有する。チャットボットＩＤは、チャットボットサーバー装置７１に付与された識別情報である。ＵＲＬは、そのチャットボットサーバー装置７１の所在を示す情報である。このテーブルの各行が、１つのチャットボットに対応している。このチャットボットテーブルを参照することにより、特定のチャットボットＩＤに対応するＵＲＬの情報を取得することが可能である。
【００３９】
同図に示すデータの例として、チャットボットＩＤ「ＣＨＡＴＢＯＴ−０００１」が存在する。そして、チャットボットＩＤ「ＣＨＡＴＢＯＴ−０００１」に対応するＵＲＬは、「ｈｔｔｐｓ：／／ｃｈａｔ−ａ．ｘｘｘｘｘｘｘｘ．ｃｏ．ｊｐ／」である。チャットボットテーブルは、他のチャットボットＩＤに関するデータも保持する。
【００４０】
図５は、答弁データベース記憶部４１が記憶する答弁テーブルのデータ構成を示す概略図である。図示するように、このテーブルは、表形式のデータであり、チャットボットＩＤと、代表質問と、答弁の、各項目を有する。チャットボットＩＤは、上記の通り、チャットボットサーバー装置７１を識別するための情報である。代表質問は、答弁抽出部５０がチャットボットサーバー装置７１から答弁のデータを取得する際に使用した代表質問のデータである。答弁は、そのチャットボットサーバー装置７１が、その代表質問に対応して出力する答弁（応答テキスト）である。
この答弁テーブルのデータは、答弁抽出部５０によってチャットボットサーバー装置７１から取得され、答弁抽出部５０によって書き込まれる。また、答弁テーブルのデータは、答弁を分析する際に答弁分析部６０によって参照される。
【００４１】
同図に示すデータの例として、チャットボットＩＤ「ＣＨＡＴＢＯＴ−０００１」に関連付けて、「お店の位置はどこですか？」という代表質問が存在する。この代表質問に対応する答弁は「渋谷駅前にあります」というものである。答弁テーブルは、チャットボットＩＤ「ＣＨＡＴＢＯＴ−０００１」に関して、他の代表質問と、それに対応する答弁のデータをも保持している。また、答弁テーブルは、他のチャットボットＩＤに関しても、代表質問と答弁の対のデータを保持している。
【００４２】
図６は、答弁データベース記憶部４１が記憶する答弁分析結果テーブルのデータ構成を示す概略図である。図示するように、このテーブルは、表形式のデータであり、チャットボットＩＤと、エンティティＩＤと、エンティティ構成要素の、各項目を有する。チャットボットＩＤは、上記の通り、チャットボットサーバー装置７１を識別するための情報である。ここでのエンティティＩＤは、答弁データに基づいて答弁エンティティ分類部６１が分析した結果得られたものである。また、ここでのエンティティ構成要素は、同じく答弁データに基づいて、答弁構成要素抽出部６２が抽出した結果得られたものである。
【００４３】
同図に示すデータの例として、チャットボットＩＤ「ＣＨＡＴＢＯＴ−０００１」に関して、答弁分析結果テーブルは、次のデータを保持する。
即ち、エンティティＩＤ「位置」に対応して、エンティティ構成要素「渋谷駅前」を保持する。この対は、図５内で示した、代表質問「お店の位置はどこですか？」と答弁「渋谷駅前にあります」という対を答弁分析部６０が分析することによって得られたものである。
即ち、エンティティＩＤ「メニュー」に対応して、エンティティ構成要素「うどん」を保持する。この対は、図５内で示した、代表質問「どんな食べ物を販売しているの？」と答弁「当店はうどん専門店です」という対を答弁分析部６０が分析することによって得られたものである。
即ち、エンティティＩＤ「開店時刻」に対応して、エンティティ構成要素「午前８時」を保持する。この対は、図５内で示した、代表質問「営業は何時からですか？」と答弁「朝８時からです」という対を答弁分析部６０が分析することによって得られたものである。
【００４４】
答弁分析結果テーブルは、チャットボットＩＤ「ＣＨＡＴＢＯＴ−０００１」に関して、他のエンティティＩＤとエンティティ構成要素との対を保持してもよい。
また、答弁分析結果テーブルは、他のチャットボットＩＤに関しても、同様に、エンティティＩＤとエンティティ構成要素との対の集合のデータを保持する。
【００４５】
次に、チャットボット検索装置１における処理の手順について説明する。
【００４６】
図７は、チャットボット検索装置１が、チャットボットサーバー装置７１から答弁データを抽出した答弁データを答弁データベース記憶部４１内に書き込むための処理の手順を示すフローチャートである。
当該フローチャートのステップＳ１１において、答弁抽出部５０は、チャットボットサーバー装置７１から答弁データを抽出する。答弁抽出部５０は、取得した答弁データを、答弁データベース記憶部４１の答弁テーブルに書き込む。
次に、ステップＳ１２において、答弁分析部６０は、答弁データベース記憶部４１の答弁テーブルに保持されているデータを分析し、チャットボットＩＤごとに、エンティティＩＤとエンティティ構成要素との対の集合を求める。これが答弁分析結果のデータである。そして、答弁分析部６０は、この答弁分析結果のデータを答弁分析結果テーブルに書き込む。
【００４７】
図８は、答弁データベース記憶部４１に多数のチャットボットサーバー装置７１を分析した結果のデータが保持されている状況において、端末装置７２から送信される質問に対応して、検索結果を求め、出力する処理の手順を示すフローチャートである。
【００４８】
当該フローチャートのステップＳ２１において、サービス部１０は、外部の装置（端末装置７２等）から質問を受信する。質問は、例えば、テキスト（文字列）として表されている。サービス部１０は、受け付けた質問を、質問分析部２０に渡す。
【００４９】
次に、ステップＳ２２において、質問分析部２０は、渡された質問を分析し、質問の特徴を表す質問特徴データを抽出する。
例えば、質問が、「ちょっと急ぎだけど・・・、渋谷駅前で、午前８時過ぎに、うどんやそばを食べられるところを紹介してくれる？」といったものである場合、質問分析部２０は、この質問から、質問特徴データを抽出する。その質問特徴データは、エンティティＩＤとエンティティ構成要素との対の集合であり、次の３対からなるものである。
第１に、エンティティＩＤ「位置」とエンティティ構成要素「渋谷駅前」の対。
第２に、エンティティＩＤ「メニュー」とエンティティ構成要素「うどん、そば」の対。
第３に、エンティティＩＤ「開店時刻」とエンティティ構成要素「午前８時」の対。
【００５０】
次に、ステップＳ２３において、検索部３０のマッチング評価部３１は、質問とチャットボットとのマッチング評価を行う。具体的には、マッチング評価部は、ステップＳ２２で抽出した質問特徴データと、答弁データベース記憶部４１の答弁分析結果テーブル（図６）が保持しているチャットボット特徴データとのマッチングを行い、両者間の適合度を算出する。
例えば、マッチング評価部３１は、上記の質問特徴データと、図６に示したチャットボットＩＤ「ＣＨＡＴＢＯＴ−０００１」のチャットボットサーバー装置７１のチャットボット特徴データとを、次のようにマッチングする。即ち、上記両者間で、エンティティＩＤ「位置」に関する一致率は、１００％である。また、エンティティＩＤ「メニュー」に関する一致率は、５０％（質問特徴データに含まれる２つのアイテムのうち、１つのみがチャットボット特徴データに含まれる）である。また、エンティティＩＤ「開店時刻」に関する一致率は、１００％である。この場合、マッチング評価部３１は、これら３つのエンティティＩＤの一致率の平均値を算出し、全体一致率を８４％（ただし、小数点以下は切り上げている）と算出する。
マッチング評価部３１は、他のチャットボットＩＤについても、質問との一致率を求める。
【００５１】
このように、本実施形態では、マッチング評価部３１は、チャットボット特徴データと質問特徴データとの間での、同一の属性名（エンティティＩＤ）同士における属性値（エンティティ構成要素）の一致する度合いに基づく適合度を求める。ただし、マッチング評価部が、他の方法（計算式等）でチャットボット特徴データと質問特徴データとの間の適合度を求めるようにしてもよい。
【００５２】
次に、ステップＳ２４において、検索部３０の検索結果出力部３２は、マッチング評価部３１が算出したチャットボットＩＤごとの全体一致率（これを評価点数とする）に基づいて、チャットボットＩＤの降順のソーティングを行う。
次に、ステップＳ２５において、検索結果出力部３２は、ステップＳ２４でソートされた後の、チャットボットサーバー装置７１の情報を、検索結果として出力する。検索結果は、検索結果出力部３２からサービス部１０に渡され、さらに質問元の外部装置（端末装置７２等）に送信される。なお、検索結果出力部３２は、このとき、チャットボットＩＤに対応するアクセス情報（ＵＲＬ）を管理情報記憶部４２（図４）から読み出し、検索結果の情報に付加して出力する。
【００５３】
以上説明したように、本実施形態によれば、答弁データベース記憶部４１に、予め、チャットボットサーバー装置７１ごとの特徴を表す情報（答弁データおよびその分析結果のデータ）を蓄積しておくことができる。そして、外部の端末装置７２等から質問を受け付けたとき、質問特徴データとチャットボット特徴データとをマッチングすることにより、受信した質問への適合度が高いチャットボットサーバー装置７１の情報を、適切に、質問元の装置に提供することが可能となる。
【００５４】
なお、上述した実施形態におけるチャットボット検索装置や、チャットボットサーバー装置や、端末装置の少なくとも一部の機能をコンピューターで実現することができる。その場合、この機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＵＳＢメモリー等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、一時的に、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００５５】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【００５６】
本発明は、例えば、いわゆる検索エンジンを提供する事業や、そういった技術を用いたサービス業等全般において利用することができる。但し、本発明の利用範囲はここに例示したものには限られない。
【符号の説明】
【００５７】
１  チャットボット検索装置
１０  サービス部
２０  質問分析部
２１  質問エンティティ分類部
２２  質問構成要素抽出部
３０  検索部
３１  マッチング評価部
３２  検索結果出力部
４１  答弁データベース記憶部（答弁データ記憶部）
４２  管理情報記憶部
５０  答弁抽出部
６０  答弁分析部
６１  答弁エンティティ分類部
６２  答弁構成要素抽出部
７０  インターネット
７１，７１−１，７１−２，７１−３  チャットボットサーバー装置
７２−１，７２−２，７２−３  端末装置
８１  入力部
８２  答弁生成部
８３  出力部
８４  人工知能機能部
８５  参照情報記憶部
【図１】
2020009117.tif 000003
【図２】
2020009117.tif 000004
【図３】
2020009117.tif 000005
【図４】
2020009117.tif 000006
【図５】
2020009117.tif 000007
【図６】
2020009117.tif 000008
【図７】
2020009117.tif 000009
【図８】
2020009117.tif 000010
【手続補正書】
【提出日】平成31年1月25日(2019.1.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力テキストに対する答弁を生成して出力するチャットボットサーバー装置から、前記チャットボットサーバー装置が出力する前記答弁のデータである答弁データを取得する答弁抽出部と、
前記答弁抽出部が取得した前記答弁データを、取得元のチャットボットサーバー装置を識別するためのチャットボット識別情報と関連付けて記憶する答弁データ記憶部と、
前記答弁データ記憶部に記憶されている前記答弁データの特徴を分析し、その分析結果であるチャットボット特徴データを前記チャットボット識別情報と関連付けて前記答弁データ記憶部に書き込む答弁分析部と、
前記答弁データ記憶部に前記チャットボット特徴データが保持されている状況において外部から受け付けた質問の特徴を分析し、その分析結果である質問特徴データを出力する質問分析部と、
前記チャットボット特徴データと前記質問特徴データとの間の適合度を求めるマッチング評価部と、
前記マッチング評価部が求めた前記適合度に基づいて、前記質問に適合した前記チャットボットサーバー装置の情報を出力する検索結果出力部と、
を具備する検索装置。
【請求項２】
前記チャットボット特徴データは、前記答弁データが表す事物の属性名と属性値との対の集合であり、
前記質問特徴データは、前記質問が表す事物の属性名と属性値との対の集合である、
請求項１に記載の検索装置。
【請求項３】
前記適合度は、前記チャットボット特徴データと前記質問特徴データとの間での、同一の前記属性名同士における前記属性値の一致する度合いに基づくものである、
請求項２に記載の検索装置。
【請求項４】
前記答弁抽出部は、前記チャットボットサーバー装置に対して、代表的な入力テキストの内容を送信し、前記代表的な入力テキストに対応して前記チャットボットサーバー装置が出力する前記答弁データを取得する、
請求項１から３までのいずれか一項に記載の検索装置。
【請求項５】
前記検索結果出力部は、前記チャットボットサーバー装置へのアクセスのためのアクセス情報を含めた、前記チャットボットサーバー装置の情報を出力する、
請求項１から４までのいずれか一項に記載の検索装置。
【請求項６】
コンピューターを、
入力テキストに対する答弁を生成して出力するチャットボットサーバー装置から、前記チャットボットサーバー装置が出力する前記答弁のデータである答弁データを取得する答弁抽出部と、
前記答弁抽出部が取得した前記答弁データを、取得元のチャットボットサーバー装置を識別するためのチャットボット識別情報と関連付けて記憶する答弁データ記憶部と、
前記答弁データ記憶部に記憶されている前記答弁データの特徴を分析し、その分析結果であるチャットボット特徴データを前記チャットボット識別情報と関連付けて前記答弁データ記憶部に書き込む答弁分析部と、
前記答弁データ記憶部に前記チャットボット特徴データが保持されている状況において外部から受け付けた質問の特徴を分析し、その分析結果である質問特徴データを出力する質問分析部と、
前記チャットボット特徴データと前記質問特徴データとの間の適合度を求めるマッチング評価部と、
前記マッチング評価部が求めた前記適合度に基づいて、前記質問に適合した前記チャットボットサーバー装置の情報を出力する検索結果出力部と、
を具備する検索装置として機能させるためのプログラム。