(57)【要約】【課題】対応可能な類義語の数が制限されている場合であっても、高精度な検索が可能な検索装置を提供する。【解決手段】分割部が、過去に入力された第１の文章を単語に分割すると共に、新たに入力された第１の文章を単語に分割する。検索部は、分割部で分割された、新たに入力された第１の文章の単語に対応する類義語を、過去に入力された第１の文章から分割された単語に対応する類義語を、単語の出現頻度順に、複数の単語のそれぞれに対応する類義語が記憶された類義語記憶部から選択して記憶した選択類義語記憶部から検出する。そして、検索部は、検出した類義語及び新たに入力された第１の文章の単語に基づいて、新たに入力された第１の文章に対応する第２の文章を、過去に入力された第１の文章に対応する第２の文章が記憶された第２の文章記憶部から検索する。【選択図】図１
2020013514.tif 000002
【特許請求の範囲】
【請求項１】
過去に入力された第１の文章に対応する第２の文章が記憶された第２の文章記憶部と、
過去に入力された前記第１の文章を単語に分割すると共に、新たに入力された第１の文章を単語に分割する分割部と、
複数の単語のそれぞれに対応する類義語が記憶された類義語記憶部から、過去に入力された前記第１の文章から分割された単語に対応する類義語を、前記単語の出現頻度順に選択して記憶する選択類義語記憶部と、
前記分割部で分割された、新たに入力された前記第１の文章から分割された単語に対応する類義語を前記選択類義語記憶部から検出し、検出した類義語及び新たに入力された前記第１の文章の単語に基づいて、新たに入力された前記第１の文章に対応する前記第２の文章を、前記第２の文章記憶部から検索する検索部と
を有する検索装置。
【請求項２】
前記検索部は、対応可能な類義語数が予め定められており、
前記選択類義語記憶部には、前記検索部が対応可能な類義語数以下の類義語が、前記類義語記憶部から選択されて記憶されていること
を特徴とする請求項１に記載の検索装置。
【請求項３】
前記検索部は、新たに入力される前記第１の文章のカテゴリが指定された場合、指定された前記カテゴリに対応する前記第２の文章を前記第２の文章記憶部から予め取得し、指定されたカテゴリに対応して予め取得した前記第２の文章の中から、新たに入力された前記第１の文章に対応する前記第２の文章を検索すること
を特徴とする請求項１又は請求項２に記載の検索装置。
【請求項４】
前記第１の文章は、質問の文章であり、前記第２の文章は、前記質問に対する回答の文章であること
を特徴とする請求項１から請求項３のうち、いずれか一項に記載の検索装置。
【請求項５】
分割部が、過去に入力された第１の文章を単語に分割すると共に、新たに入力された第１の文章を単語に分割する分割ステップと、
検索部が、前記分割部で分割された、新たに入力された前記第１の文章から分割された単語に対応する類義語を、過去に入力された前記第１の文章から分割された単語に対応する類義語を、前記単語の出現頻度順に、複数の単語のそれぞれに対応する類義語が記憶された類義語記憶部から選択して記憶した選択類義語記憶部から検出し、検出した類義語及び新たに入力された前記第１の文章の単語に基づいて、新たに入力された前記第１の文章に対応する第２の文章を、過去に入力された前記第１の文章に対応する前記第２の文章が記憶された第２の文章記憶部から検索する検索ステップと
を有する検索方法。
【請求項６】
コンピュータを、
過去に入力された第１の文章を単語に分割すると共に、新たに入力された第１の文章を単語に分割する分割部と、
前記分割部で分割された、新たに入力された前記第１の文章から分割された単語に対応する類義語を、過去に入力された前記第１の文章から分割された単語に対応する類義語を、前記単語の出現頻度順に、複数の単語のそれぞれに対応する類義語が記憶された類義語記憶部から選択して記憶した選択類義語記憶部から検出し、検出した類義語及び新たに入力された前記第１の文章の単語に基づいて、新たに入力された前記第１の文章に対応する第２の文章を、過去に入力された前記第１の文章に対応する前記第２の文章が記憶された第２の文章記憶部から検索する検索部として機能させること
を特徴とする検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索装置、検索方法及び検索プログラムに関する。
【背景技術】
【０００２】
今日において、ユーザから入力されたテキスト、音声又は画像のパターン認識をクラウド経由で行い、会話、質問に対する回答、機器制御等を行う、いわゆるチャットボットが知られている。このチャットボットとしては、決められたシナリオに基づいて選択式で会話を行う選択肢型のチャットボット、登録された単語及び登録された単語に対する応答を行う辞書型のチャットボット、会話ログを用いて文脈に近い応答を行うログ型のチャットボット等が知られている。
【０００３】
また、特許文献１（特開２０１６−２１１３６号公報）には、ペアとなる各語の類似度を計算し、計算値が高い語を類義語として類義語辞書に登録する類義語辞書作成装置が開示されている。
【０００４】
ここで、チャットボット等の検索装置は、ユーザから入力された例えば質問を認識し、この認識結果に基づいて辞書等を参照して回答等を返信する。辞書を参照する際に、ユーザの質問に含まれる単語の類義語も用いて辞書を参照できれば、ユーザの質問に合致する確率の高い回答を辞書から検索可能とすることができる。また、登録されている類義語の数が多いほど、ユーザの質問に合致する確率の高い回答を辞書から検索可能とすることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、検索装置に用いられている検索エンジンは、例えば対応可能な類義語の数が１万語等のように、対応可能な類義語数が制限されていることがある。対応可能な類義語の数に制限があるということは、ユーザの質問に基づいて辞書を参照する際に用いることが可能な類義語の数が制限され、牽いてはユーザの質問に合致する回答の検索精度の向上も制限されることを意味する。
【０００６】
本発明は、上述の課題に鑑みてなされたものであり、対応可能な類義語の数が制限されている場合であっても、検索精度の向上を図ることができるような検索装置、検索方法及び検索プログラムの提供を目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、過去に入力された第１の文章に対応する第２の文章が記憶された第２の文章記憶部と、過去に入力された第１の文章を単語に分割すると共に、新たに入力された第１の文章を単語に分割する分割部と、複数の単語のそれぞれに対応する類義語が記憶された類義語記憶部から、過去に入力された第１の文章から分割された単語に対応する類義語を、単語の出現頻度順に選択して記憶する選択類義語記憶部と、分割部で分割された、新たに入力された第１の文章から分割された単語に対応する類義語を選択類義語記憶部から検出し、検出した類義語及び新たに入力された第１の文章の単語に基づいて、新たに入力された第１の文章に対応する第２の文章を、第２の文章記憶部から検索する検索部とを有する。
【発明の効果】
【０００８】
本発明によれば、対応可能な類義語の数が制限されている場合であっても、検索精度の向上を図ることができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態のチャットボットシステムのシステム構成図である。
【図２】図２は、実施の形態のチャットボットシステムに設けられている検索サーバ装置のハードウェア構成を示す図である。
【図３】図３は、実施の形態のチャットボットシステムの全体的な動作を概略的に示す図である。
【図４】図４は、顧客用類義語ＤＢの更新動作を詳細に説明するためのシーケンス図である。
【図５】図５は、質問ＤＢに記憶されている質問及び回答の一例を示す図である。
【図６】図６は、解析部から得られた解析結果の一例を示す図である。
【図７】図７は、類義語ＤＢに記憶されている類義語の一例を示す図である。
【図８】図８は、質問ＩＤと類義語ＩＤが関連付けされて質問類義語ＤＢに登録されている様子を示す図である。
【図９】図９は、顧客用類義語ＤＢに登録された類義語を示す図である。
【図１０】図１０は、ユーザの質問に回答するまでの動作の流れを示すフローチャートである。
【図１１】図１１は、実施の形態のチャットボットシステムにおける、検索方法の選択メニューが表示されたチャット画面の一例を示す図である。
【図１２】図１２は、図１０のフローチャートのサブルーチンとなるフローチャートである。
【図１３】図１３は、図１０のフローチャートの他のサブルーチンとなるフローチャートである。
【図１４】図１４は、実施の形態のチャットボットシステムにおける、カテゴリから質問を選択する場合のチャット画面の一例を示す図である。
【図１５】図１５は、実施の形態のチャットボットシステムにおける、よくある質問の中から、所望の質問を選択する場合のチャット画面の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、検索装置、検索方法及び検索プログラムの適用例となる実施の形態のチャットボットシステムを説明する。
【００１１】
（システム構成）
図１は、実施の形態のチャットボットシステムのシステム構成図である。この図１に示すように、実施の形態のチャットボットシステムは、検索サーバ装置１、管理者のパーソナルコンピュータ装置（管理者ＰＣ）２、及び、ユーザのパーソナルコンピュータ装置（ユーザＰＣ）３を、例えばインターネット（又は、ＬＡＮ（Local  Area  Network））等のネットワーク（ＮＷ）４を介して相互に接続して構成されている。
【００１２】
検索サーバ装置１は、受付部１１、解析部１２、類義語更新部１３、検索エンジン１５、問い合わせ履歴データベース（問い合わせ履歴ＤＢ）１６、及び、質問類義語データベース（質問類義語ＤＢ）１７を有している。また、検索サーバ装置１は、類義語データベース（類義語ＤＢ）１８、質問データベース（質問ＤＢ）１９、対話シナリオデータベース（対話シナリオＤＢ）２０、及び、顧客用類義語データベース（顧客用類義語ＤＢ）２１有している。
【００１３】
質問ＤＢ１９は、第２の文章記憶部の一例である。解析部１２は、分割部の一例である。類義語ＤＢ１８は、類義語記憶部の一例である。顧客用類義語ＤＢ２１は、選択類義語記憶部の一例である。検索エンジン１５は、検索部の一例である。
【００１４】
受付部１１は、通信部であり、ネットワーク４を介して、管理者ＰＣ２及びユーザＰＣ３の間で通信を行う。また、受付部１１は、ユーザＰＣ３からの質問及び管理者ＰＣ２からの顧客用類義語ＤＢ２１の更新要求等の受け付けを行う。解析部１２は、ユーザＰＣ３からの質問等を複数の単語に分割する、いわゆる形態素解析を行う。類義語更新部１４は、管理者ＰＣ２からの更新要求に応じて、類義語ＤＢ１８に記憶されている例えば１０万語の類義語のうち、ユーザの質問で用いられる回数の多い単語に対応する例えば１万語の類義語を選択して顧客用類義語ＤＢ２１に登録する。
【００１５】
検索エンジン１５は、対話シナリオＤＢ２０に記憶されているシナリオ、及び、顧客用類義語ＤＢ２１に登録された類義語等を参照して、ユーザの質問に対応する回答を質問ＤＢ１９から検索し、ユーザＰＣ３に送信する。これにより、検索エンジン１５は、ユーザとの間で、例えばテキスト等による会話（チャット）を実現する。なお、検索エンジン１５が対応可能な類義語の数は、検索エンジン１５の仕様により、例えば１万語に制限されているものとする。ユーザの質問は第１の文章の一例であり、この質問に対する回答は第２の文章の一例である。
【００１６】
問い合わせ履歴ＤＢ１６には、ユーザからの質問（問い合わせ）の履歴が記憶される。質問類義語ＤＢ１７は、ユーザからの質問に含まれている単語に関連する、類義語ＤＢ１８に記憶されている類義語を関連付けて記憶する。類義語ＤＢ１８には、例えば１０万語の類義語が記憶されている。後述するが、類義語ＤＢ１８に記憶されている１０万語の類義語のうち、ユーザの質問等に含まれることが多い単語に関連する１万語の類義語が選択されて、検索エンジン１５に登録されるようになっている。
【００１７】
質問ＤＢ１９には、ユーザからの質問、及び、各質問に対する回答が関連付けられて記憶されている。対話シナリオＤＢ２０には、ユーザからの入力に対応する会話形式のシナリオ情報が記憶されている。顧客用類義語ＤＢ２１には、類義語ＤＢ１８に記憶されている１０万語の類義語のうち、ユーザの質問等に含まれていた数が多い単語に関連する１万語の類義語が選択的に登録される。
【００１８】
（検索サーバ装置のハードウェア構成）
図２は、検索サーバ装置１のハードウェア構成を示す図である。この図２に示すように、検索サーバ装置１は、ＣＰＵ（Central  Processing  Unit）２１、ＲＯＭ（Read  Only  Memory）２２、ＲＡＭ（Random  Access  Memory）２３、ＨＤＤ（Hard  Disk  Drive）２４、操作インタフェース（操作Ｉ／Ｆ）、及び、通信部２６を有している。
【００１９】
ＨＤＤ２４には、検索プログラムが記憶されている。後述するように、ＣＰＵ２１は、この検索プログラムに基づいて、検索サーバ装置１に対する類義語の登録制御及び更新制御を行う。また、ＨＤＤ２４には、問い合わせ履歴ＤＢ１６〜顧客用類義語ＤＢ２１が設けられている。
【００２０】
なお、この実施の形態の説明では、問い合わせ履歴ＤＢ１６〜顧客用類義語ＤＢ２１は、検索サーバ装置１のＨＤＤ２４に設けられていることとした。しかし、問い合わせ履歴ＤＢ１６〜顧客用類義語ＤＢ２１のうち、一部又は全部を、検索サーバ装置１が通信可能な、検索サーバ装置１外のネットワーク４上に設けてもよい。
【００２１】
ＲＯＭ２２は、検索サーバ装置１のＯＳ（オペレーションシステム）等が記憶されている。ＣＰＵ２１は、検索プログラムに基づいて、受付部１１、解析部１２、類似語更新部１４及び検索エンジン１５をＲＡＭ２３に展開し、実行する。操作Ｉ／Ｆ２５には、必要に応じてキーボード及びマウス装置等の入力装置が接続される。通信部２６は、ネットワーク４を介して管理者ＰＣ２及びユーザＰＣ３の間で通信を行う。
【００２２】
（全体動作）
図３は、実施の形態のチャットボットシステムの全体的な動作を概略的に示す図である。この図３において、検索サーバ装置１に対する類義語の登録又は更新を行う場合、管理者は、管理者ＰＣ２を介して検索サーバ装置１に対して類義語の登録要求又は更新要求を行う（ステップＳ１）。この要求を受信すると、検索サーバ装置１は、質問ＤＢ１９に記憶されているユーザからの質問に含まれる単語を解析すると共に、解析した単語に対応する類義語を、１０万語登録されている類義語ＤＢ１８から検索する。そして、検索サーバ装置１は、解析した単語のうち、出現頻度が高い順に、単語と類義語との組を１万組選択して質問類義語テーブルを作成する（ステップＳ２）。
【００２３】
すなわち、検索サーバ装置１は、出現頻度が一番高い単語と、この単語に対応する類義語を類義語ＤＢ１８から検索して質問類義語テーブルに登録し、出現頻度が二番目に高い単語と、この単語に対応する類義語を類義語ＤＢ１８から検索して質問類義語テーブルに登録し、出現頻度が三番目に高い単語と、この単語に対応する類義語を類義語ＤＢ１８から検索して質問類義語テーブルに登録する動作を１万回繰り返し行う。これにより、類義語ＤＢ１８に１０万語登録されている類義語のうち、単語の出現頻度順に選択された１万語の類義語が、質問類義語テーブルに登録されることとなる。
【００２４】
次に、検索サーバ装置１は、形成した質問類義語テーブルを質問類義語ＤＢ１７に記憶させる。質問類義語ＤＢ１７は、現在、登録されている類義語を管理者が確認するための情報である。すなわち、管理者ＰＣ２を介して登録済みの類義語の表示要求がされた際に、検索サーバ装置１の類似語更新部１４が、質問類義語ＤＢ１７に登録されている質問類義語テーブルを読み出し、受付部１１を介して管理者ＰＣ２に送信する。これにより、管理者は、管理者ＰＣ２を介して、現在登録されている類義語を確認することができる。
【００２５】
また、検索サーバ装置１は、形成した質問類義語テーブルを顧客用類義語ＤＢ２１に記憶させると共に、検索エンジン１５に対して、顧客用類義語ＤＢ２１に対する類義語の登録が完了し、参照することが可能となったことを示す通知（登録）を行う（ステップＳ４）。
【００２６】
検索エンジン１５は、ユーザからの質問を受け付けると（ステップＳ５）、受け付けた質問に含まれる単語及び類義語を顧客用類義語ＤＢ２１から検索し、顧客用類義語ＤＢ２１から検索した単語及び類義語に対する回答を質問ＤＢ１９から検索する（ステップＳ６）。そして、質問ＤＢ１９から検索した回答を、ユーザＰＣ３に送信する。これにより、ユーザの質問に回答することができる。
【００２７】
実施の形態のチャットボットシステムでは、ユーザから受け付けた質問に対して回答する際に、質問含まれる単語及び類義語に基づいて、顧客用類義語ＤＢ２１を参照する。この顧客用類義語ＤＢ２１には、出現頻度が高い単語と類義語との組が１万組選択されて記憶されている。このため、顧客用類義語ＤＢ２１から取得した単語と類義語に基づいて、質問ＤＢ１９を参照して回答を検索することで、ユーザの質問に対して正答となる確率が高い回答を検索することができ、チャットボットシステムの精度の向上を図ることができる。
【００２８】
また、顧客用類義語ＤＢ２１には、出現頻度が高い単語と類義語との組を１万組、類義語ＤＢ１８から選択して記憶している。このため、検索エンジン１５が対応可能な類義語が１万語に制限されていても、出現頻度が高い１万語の類義語を顧客用類義語ＤＢ２１に記憶させることができるため、ユーザの質問に合致する確率の高い回答を質問ＤＢ１９から検索してユーザに提供できる。すなわち、対応可能な類義語数に制限がある場合でも、ユーザの質問に合致した回答を高精度に検索可能とすることができる。
【００２９】
（顧客用類義語ＤＢの更新動作）
次に、図４のシーケンス図を用いて、顧客用類義語ＤＢ２１の更新動作を詳細に説明する。まず、管理者が管理者ＰＣ２を用いて類義語マップの更新要求を行う（ステップＳ１１）。この更新要求は、検索サーバ装置１の受付部１１で受信され、類義語更新部１４に通知される。
【００３０】
類義語更新部１４は、質問ＤＢ１９に記憶されている全質問及び全回答の取得要求を行い（ステップＳ１２）、質問ＤＢ１９から取得する（ステップＳ１３）。図５に、質問ＤＢ１９に記憶されている質問及び回答の一例を示す。この図５の例は、質問識別番号（質問ＩＤ）が「１」として「特許明細書の書き方」という質問が登録され、この質問に対して、「ここを見てください」との、特許明細書の書き方を解説したページのＵＲＬ（Uniform  Resource  Locator）の閲覧を促すメッセージ、及び、特許明細書の書き方を解説したページのＵＲＬが登録されている例である。また、図５の例は、質問ＩＤが「３」として「ＰＣの捨て方」という質問が登録され、この質問に対して、「ここを見てください」との、ＰＣの捨て方を解説したページのＵＲＬ（Uniform  Resource  Locator）の閲覧を促すメッセージ、及び、ＰＣの捨て方を解説したページのＵＲＬが登録されている例である。類義語更新部１４は、このような質問及び回答を質問ＤＢ１９から取得する。
【００３１】
次に、類義語更新部１４は、解析部１２に対して、取得した全質問及び全回答の解析要求を行う（ステップＳ１４）。解析部１２は、例えば形態素解析を行うことで、各質問ＩＤの質問及び回答を、それぞれ単語に分割する。そして、各質問及び各回答から得られた単語を、対応する質問ＩＤと共に類義語更新部１４に通知する（ステップＳ１５）。
【００３２】
図６に、解析部１２から得られた解析結果の一例を示す。この図６の例は、図５に示したＩＤ１の「特許明細書の書き方」という質問は、「特許」及び「書く」等の各単語に分割されたことを示している。また、図６の例は、図５に示したＩＤ３の「ＰＣの捨て方」という質問は、「ＰＣ」及び「捨てる」等の各単語に分割されたことを示している。
【００３３】
次に、類義語更新部１４は、解析部１２の解析結果となる各単語が、類義語ＤＢ１８に記憶されているか否かの問い合わせを行う（ステップＳ１６）。類義語ＤＢ１８には、例えば図７に示すように１０万語の類義語が記憶されている。図７の例は、類義語ＩＤ１として、「特許」及び「とっきょ」の類義語が登録され、類義語ＩＤ２として、「ＰＣ」及び「パソコン」の類義語が登録され、類義語ＩＤ１０００００として、「改良」及び「改善」の類義語が登録されている例である。
【００３４】
類義語更新部１４は、このような類義語ＤＢ１８に記憶されているか否かの問い合わせ結果（ステップＳ１７）に基づいて、質問の各単語の質問ＩＤと、各単語に対応する類義語の類義語ＩＤ（ステップＳ１６で類義語ＤＢ１８から検出された類義語の類義語ＩＤ）を関連付けて質問類義語ＤＢ１７に登録する（ステップＳ１８）。
【００３５】
図８は、質問ＩＤと類義語ＩＤが関連付けされて質問類義語ＤＢ１７に登録されている様子を示す図である。この図８は、質問ＩＤ１の「特許」及び「書く」の各単語に対しては、類義語ＩＤ１の「特許」及び「とっきょ」の類義語が関連付けされて登録された例である。また、図８は、質問ＩＤ２の「ＰＣ」及び「買う」の各単語に対しては、類義語ＩＤ２の「ＰＣ」及び「パソコン」の類義語が関連付けされて登録されると共に、類義語ＩＤ４の「買う」及び「購入」の類義語が関連付けされて登録された例である。すなわち、質問ＩＤ２の「ＰＣ」及び「買う」の各単語の場合、「ＰＣ」の単語に対応する「ＰＣ」及び「パソコン」の類義語ＩＤ２が関連する類義語として登録されると共に、「買う」の単語に対応する「買う」及び「購入」の類義語ＩＤ４が関連する類義語として登録される。
【００３６】
次に、類義語更新部１４は、質問類義語ＤＢ１７を参照することで、各質問ＩＤに関連付けされて記憶されている類義語のうち、各類義語ＩＤの出現回数（出現頻度）の問い合わせを行う（上位類義語の問い合わせ：ステップＳ１９、ステップＳ２０）。そして、類義語更新部１４は、出現頻度の高い順に、例えば上位１万語の類義語の類義語ＩＤを検出する。具体的には、図８の例の場合、「１」の類義語ＩＤの出現頻度は「２回」であり、「２」の類義語ＩＤの出現頻度は「３回」であり、「５」の類義語ＩＤの出現頻度は「２回」である。このため、類義語更新部１４は、類義語ＩＤ２、類義語ＩＤ２、類義語ＩＤ５・・・の順に、類義語ＩＤを検出する。
【００３７】
このように出現頻度が高い順に１万語の類義語を検出すると、類義語更新部１４は、類義語ＤＢ１８から、出現頻度が高い単語に対応する１万語の類義語を取得する（ステップＳ２１、ステップＳ２２）。そして、類義語更新部１４は、取得した出現頻度が高い単語に対応する１万語の類義語を、顧客用類義語ＤＢ２１に登録する（ステップＳ２３）。これにより、顧客用類義語ＤＢ２１に対して、質問（及び回答）に多く含まれる単語に対応する１万語の類義語を、１０万語の類義語の中から選択して登録することができる。
【００３８】
なお、顧客用類義語ＤＢ２１には、検索エンジン１５が対応可能な１万語の類義語を登録することとしたが、検索エンジン１５が対応可能な１万語未満の類義語を登録してもよい。
【００３９】
図９は、顧客用類義語ＤＢ２１に登録された類義語を示す図である。この図９の例の場合、類義語ＩＤ１の「ＰＣ」及び「パソコン」の類義語、類義語ＩＤ２の「特許」及び「特許」の類義語、類義語ＩＤ５の「検索」及び「サーチ」の類義語が、順に登録されたことを示している。
【００４０】
このように選択した類義語の登録が完了すると、類義語更新部１４は、検索エンジン１５に対して通知を行う（ステップＳ２４）。この検索エンジン１５に対する通知は、顧客用類義語ＤＢ２１に対して類義語が登録されていない場合は、顧客用類義語ＤＢ２１に類義語が登録された旨の通知となる。また、顧客用類義語ＤＢ２１に類義語が登録済みの場合は、顧客用類義語ＤＢ２１に登録されている類義語が更新された旨の通知となる。なお、このような顧客用類義語ＤＢ２１に対する類義語の登録及び更新は、管理者から指定されたタイミング、又は、検索サーバ装置１に対するアクセスが少ない時間帯等のような、所望のタイミングで実行すればよい。
【００４１】
以下に説明するが、検索エンジン１５は、顧客用類義語ＤＢ２１に登録された類義語を用いてユーザの質問に対する回答を検索して、チャット形式でユーザに提供する。検索エンジン１５に対しては、対応可能な類義語数が１万語に制限されている。しかし、実施の形態のチャットボットシステムの場合、この制限に従って登録した１万語の類義語は、質問での出現頻度が高い単語に対応する類義語となっている。このため、検索エンジン１５は、出現頻度が高い単語に対応する類義語を参照して質問に対応する回答を検索できる。従って、実施の形態のチャットボットシステムの検索精度の向上を図ることができる。
【００４２】
（質問に対する回答動作）
次に、実施の形態のチャットボットシステムにおいて、登録された類義語を参照して、ユーザの質問にチャット形式で回答する動作を説明する。図１０のフローチャートは、ユーザの質問に回答するまでの動作の流れを示すフローチャートである。一例ではあるが、検索サーバ装置１は、例えば企業等のホームページを提供しており、このホームページに、チャット形式でユーザの質問に回答するチャットボットシステムが設けられている。このチャットボットシステムは、図２に示したＣＰＵ２１が、ＨＤＤ２４に記憶されている検索プログラムを実行することで実現される。
【００４３】
ユーザは、ユーザＰＣ３のＷｅｂ（World  Wide  Web）ブラウザを起動し、ネットワーク４を介して検索サーバ装置１にアクセスする。これにより、ユーザＰＣ３には、検索サーバ装置１で公開されている企業のホームページが、Ｗｅｂブラウザを介して表示される。このホームページ上に、チャットボットを用いた質問受付ボタンが設けられている。ユーザは、例えば企業の製品等に対して質問がある場合、マウス装置等の入力装置を介して、ホームページ上の質問受付ボタンを操作する。検索サーバ装置１のＣＰＵ２１は、質問受付ボタンの操作を検出すると、ユーザＰＣ３に「質問回答用のチャット画面」を表示して、図１０のフローチャートの処理をスタートさせる。
【００４４】
図１０のフローチャートがスタートとなると、検索エンジン１５は、まず、検索方法の選択メニューをユーザＰＣ３上のチャット画面に表示する（ステップＳ３１）。図１１が、この検索方法の選択メニューが表示されたチャット画面の一例を示す図である。図１１は、「全てのカテゴリから検索」、「カテゴリから選んで検索」及び「よくある質問から検索」との各検索方法が文字表示された例である。実施の形態のチャットボットシステムは、チャット形式でユーザの質問に回答するシステムである。このため、ユーザは、キーボード等の入力装置を介して文字入力を行うことで、所望の検索方法を指定する。
【００４５】
なお、この例では、ユーザは文字入力（テキスト入力）を行うこととして説明を進めるが、入力音声を音声認識してテキスト変換し、チャット画面に表示してもよい。
【００４６】
（全てのカテゴリから検索）
ユーザにより、「全てのカテゴリから検索」との検索方法が選択された場合、検索エンジン１５は、例えば「質問を投稿してください」等の質問の入力を促すメッセージをユーザＰＣ３上のチャット画面に表示し、質問投稿待ちの状態に移行する（ステップＳ３２）。ユーザは、キーボード等の入力装置を介して、所望の質問の文字入力を行う。
【００４７】
ユーザにより質問の文字が入力されると、検索エンジン１５は、解析部１２に対してユーザの質問の形態素解析を依頼し、ユーザの質問に含まれる複数の単語を取得する。また、検索エンジン１５は、取得した各単語に基づいて顧客用類義語ＤＢ２１を参照し、ユーザの質問に対応する類義語を検索する。そして、検索エンジン１５は、検索した類義語に基づいて質問ＤＢ１９を検索する。
【００４８】
上述のように、顧客用類義語ＤＢ２１には、１０万語の類義語から、過去のユーザの質問（及び回答）に基づいて選定した１万語の類義語が記憶されている。このため、ユーザの質問に含まれる単語に基づいて顧客用類義語ＤＢ２１から検索された類義語は、ユーザの質問に合致した類義語となる。従って、顧客用類義語ＤＢ２１から検索された類義語を用いて質問ＤＢ１９を検索することで、ユーザの質問に対する適格な回答を検索することができる。
【００４９】
次に、検索エンジン１５は、類義語に基づいて質問ＤＢ１９を検索することで、一つの回答候補を検索したか、二つ以上の回答候補を検索したか、又は、回答候補が検索できなかったか、を判別する（ステップＳ３３）。
【００５０】
（回答候補が一つの場合）
類義語に基づいて質問ＤＢ１９を検索することで、一つの回答候補を検索した場合、検索エンジン１５は、図１２に示すサブルーチンに移行し、検索した回答候補に対応する回答と共に、チャット画面の初期画面（検索方法の選択画面）に表示画面を戻すか否かを選択するためのフィードバックボタン（Ｙｅｓ／Ｎｏ）をユーザＰＣ３上のチャット画面に表示する（ステップＳ５１）。
【００５１】
検索エンジン１５は、フィードバックボタンの操作の有無を監視し（ステップＳ５２）、「Ｙｅｓ」のフィードバックボタンの操作を検出した場合、例えば「ありがとうございました」等のメッセージをチャット画面に表示して（ステップＳ５３）、ステップＳ３１に処理を戻し、チャット画面の初期画面（検索方法の選択画面）をユーザＰＣ３に表示する。
【００５２】
これに対して、「Ｎｏ」のフィードバックボタンが操作されたということは、ユーザの質問に対する回答が表示されておらず、また、ユーザは、検索方法の選択画面にチャット画面を戻すことも拒否していることを意味する。このため、「Ｎｏ」のフィードバックボタンの操作を検出した場合、検索エンジン１５は、図１３に示すサブルーチンに移行し、例えば「申し訳ございません」等の、今の段階では質問に対する回答を表示できないことに対する謝罪のメッセージをチャット画面に表示する。また、検索エンジン１５は、謝罪のメッセージと共に、例えばヘルプデスクの電話番号又はメールアドレス等の連絡先をチャット画面に表示して、チャット画面を初期画面（検索方法の選択画面）に戻す（ステップＳ６１）。この場合、ユーザは、ヘルプデスクに電話等で連絡し、担当者に質問をして回答を得ることとなる。
【００５３】
（回答候補が二つの場合）
次に、ステップＳ３３において、２つ等の複数の回答候補が存在すると判別した場合、検索エンジン１５は、各回答候補の「表示選択ボタン」をチャット画面に表示する。また、検索エンジン１５は、この「表示選択ボタン」と共に、表示された各回答候補の中には、自分の質問に対応する回答が存在しない際に操作する「回答無しボタン」をチャット画面に表示する（ステップＳ３４）。
【００５４】
検索エンジン１５は、「表示選択ボタン」及び「回答無しボタン」の選択操作の有無を監視する（ステップＳ３５）。「表示選択ボタン」の操作を検出した場合、検索エンジン１５は、図１２に示したすサブルーチンに移行し、選択操作された回答候補に対応する回答と共に、チャット画面の初期画面（検索方法の選択画面）に表示画面を戻すか否かを選択するためのフィードバックボタン（Ｙｅｓ／Ｎｏ）をユーザＰＣ３上のチャット画面に表示する（ステップＳ５１）。
【００５５】
検索エンジン１５は、フィードバックボタンの操作の有無を監視し（ステップＳ５２）、「Ｙｅｓ」のフィードバックボタンの操作を検出した場合、例えば「ありがとうございました」等のメッセージをチャット画面に表示して（ステップＳ５３）、ステップＳ３１に処理を戻し、チャット画面の初期画面（検索方法の選択画面）をユーザＰＣ３に表示する。
【００５６】
これに対して、「Ｎｏ」のフィードバックボタンが操作されたということは、表示された回答に、ユーザが満足しておらず、また、ユーザは、検索方法の選択画面にチャット画面を戻すことも拒否していることを意味する。このため、「Ｎｏ」のフィードバックボタンの操作を検出した場合、検索エンジン１５は、図１３に示すサブルーチンに移行し、例えば「申し訳ございません」等の、今の段階では質問に対する回答を表示できないことに対する謝罪のメッセージをチャット画面に表示する。また、検索エンジン１５は、謝罪のメッセージと共に、例えばヘルプデスクの電話番号又はメールアドレス等の連絡先をチャット画面に表示して、チャット画面を初期画面（検索方法の選択画面）に戻す（ステップＳ６１）。この場合、ユーザは、ヘルプデスクに電話等で連絡し、担当者に質問をして回答を得ることとなる。
【００５７】
（回答候補が検出できない場合）
次に、ステップＳ３３において、ユーザの質問に対する回答候補を検出できないと判別した場合、検索エンジン１５は、例えば「すみません。該当する回答が見つかりませんでした。検索する方法や言葉を変えて再度検索してください。」等の謝罪及び再検索を促すメッセージをチャット画面に表示し（ステップＳ３６）、ステップＳ３１に処理を戻し、チャット画面の初期画面（検索方法の選択画面）をユーザＰＣ３に表示する。
【００５８】
（カテゴリから選んで検索）
次に、図１１に示した検索方法の選択メニューから「カテゴリから選んで検索」の検索方法を選択する場合、ユーザは、図１４に示すように、ユーザＰＣ３を操作してチャット画面に対して「カテゴリから選んで検索」との文字入力を行う。
【００５９】
「カテゴリから選んで検索」との文字入力を検出すると、検索エンジン１５は、例えば図１４に示すように、ユーザが選択可能なカテゴリのカテゴリ名を、チャット画面上に一覧表示する（ステップＳ３９）。図１４の例は、「ＩＴ（Information  Technology）」、「人事」、「経理」、「総務」及び「全てのカテゴリから検索」等の選択可能なカテゴリのカテゴリ名がチャット画面上に一覧表示された例を示している。
【００６０】
ユーザは、例えば図１４に示すように「経理」との文字入力操作を行い、希望する検索を希望するカテゴリを指定する。検索エンジン１５は、ユーザからカテゴリが指定されると、例えば「質問してください」等の質問の入力を促すメッセージをチャット画面に表示して、質問の入力待ち状態に移行する（ステップＳ４０）。また、検索エンジン１５は、ユーザからカテゴリが指定されると、この指定されたカテゴリに対応する質問及び回答を、質問ＤＢ１９から取得する。
【００６１】
すなわち、上述の「全てのカテゴリから検索」の検索方法が選択された場合は、検索エンジン１５は、質問ＤＢ１９に記憶されている全てのカテゴリの質問及び回答を参照した検索を行う。これに対して、ユーザからカテゴリが選択された場合は、選択されたカテゴリに対応する質問及び回答を質問ＤＢ１９から取得して検索を行う。これにより、検索する質問及び回答の情報量を少なくすることができ、検索時間の短縮化を図ることができる。
【００６２】
次に、ユーザは、選択したカテゴリに対する質問を、入力操作する。図１４の例は、「経理」とのカテゴリに対して、「立替積算について知りたい」とのユーザの質問が入力された例である。
【００６３】
このように、ユーザから質問の文字が入力されると、検索エンジン１５は、解析部１２に対してユーザの質問の形態素解析を依頼し、ユーザの質問に含まれる複数の単語を取得する。また、検索エンジン１５は、取得した各単語に基づいて、顧客用類義語ＤＢ２１を参照することで、ユーザの質問に対応する類義語を検索する。そして、検索エンジン１５は、検索した類義語に基づいて、上述のように質問ＤＢ１９から予め取得しておいた、ユーザが選択したカテゴリの質問及び回答を参照する。上述のように、顧客用類義語ＤＢ２１には選定された１万語の類義語が記憶されている。このため、ユーザの質問に対する適格な回答を検索できることは、上述のとおりである。
【００６４】
次に、検索エンジン１５は、類義語に基づく回答の検索により、一つの回答候補を検索したか、二つ以上の回答候補を検索したか、又は、回答候補が検索できなかったか、を判別する（ステップＳ４１）。
【００６５】
一つの回答候補を検索した場合、検索エンジン１５は、図１２のステップＳ５１〜ステップＳ５３及び図１３のステップＳ６１で説明したように、検索した回答の表示、及び、ヘルプデスクへの連絡表示等を行う。
【００６６】
これに対して、複数の回答候補を検索した場合、検索エンジン１５は、例えば図１４に示すように各回答候補の表示選択ボタンを表示し（ステップＳ４２）、表示選択ボタンで指定された回答候補の表示を行う（ステップＳ４３、ステップＳ５１〜ステップＳ５３及びステップＳ６１）。図１４の例は、「立替積算について知りたい」とのユーザの質問に対して、「立替積算の方法」及び「立替積算の振込先の確認・変更」との回答候補が表示された例を示している。
【００６７】
なお、「回答無しボタン」が操作された場合、検索エンジン１５は、ヘルプデスクへの連絡表示を行う（ステップＳ４３、ステップＳ６１）。
【００６８】
一方、ユーザの質問に対する回答候補を検出できなかった場合、検索エンジン１５は、謝罪及び再検索を促すメッセージをチャット画面に表示し（ステップＳ４４）、ステップＳ３１に処理を戻し、チャット画面の初期画面（検索方法の選択画面）をユーザＰＣ３に表示する。
【００６９】
（よくある質問から検索）
次に、図１１に示した検索方法の選択メニューから「よくある質問から検索」の検索方法を選択する場合、ユーザは、図１５に示すように、ユーザＰＣ３を操作してチャット画面に対して「よくある質問から検索」との文字入力を行う。
【００７０】
「よくある質問から検索」との文字入力を検出すると、検索エンジン１５は、問い合わせ履歴ＤＢを参照し、問い合わせ頻度の高い、例えば上位３つ（１つ、２つ又は４つ以上でもよい）の質問を検出し、図１５に示すように、チャット画面に一覧表示する。図１５の例は、「ｑ２ｅｄｉｔ１」、「ｑ４Ｅｄｉｔ」及び「ｑ３」の各質問が一覧表示されている例である。また、検索エンジン１５は、各質問の一覧と共に、例えば「別の方法で検索しますか？」等のメッセージが付された、他の検索方法を指定するための指定ボタンをチャット画面に表示する（ステップＳ３７）。
【００７１】
次に、検索エンジン１５は、一覧表示した質問の選択操作の有無、又は、指定ボタンの操作の有無を監視する（ステップＳ３８）。
【００７２】
一覧表示した質問のうち、ユーザが希望する質問が選択操作された場合、検索エンジン１５は、この質問に対する回答を質問ＤＢ１９から読み出し、チャット画面に表示する（図１２：ステップＳ５１）。なお、ユーザの操作に応じて、図１２の」ステップＳ５１〜ステップＳ５３、及び、図１３のステップＳ６１の各処理が行われることは、上述のとおりである。
【００７３】
これに対して、指定ボタンが操作された場合、検索エンジン１５は、処理をステップＳ３１に戻す。この場合、ユーザは、例えば「全てのカテゴリから検索」又は「カテゴリを選んで検索」等の他の検索方法を選択することとなる。
【００７４】
（実施の形態の効果）
以上の説明から明らかなように、実施の形態のチャットボットシステムは、ユーザの質問から抽出した単語のうち、出現頻度が高い単語に対応する類義語を、検索エンジン１５で取り扱い可能な数分（取り扱い可能な数未満の数でもよい）、類義語ＤＢ１８に記憶されている類義語から選択して顧客用類義語ＤＢ２１に記憶する。すなわち、ユーザの質問に含まれている頻度が高い順に、この頻度が高い各単語の類義語を、類義語ＤＢ１８から抽出して顧客用類義語ＤＢ２１に記憶する。
【００７５】
そして、ユーザの質問に対する回答を検索する際、顧客用類義語ＤＢ２１を参照することで、ユーザの質問に含まれる単語に対応する類義語を検索し、ユーザの質問に含まれる単語及び顧客用類義語ＤＢ２１から検索した類義語を用いて、ユーザの質問に対する回答を質問ＤＢ１９から検索してユーザに提供する。
【００７６】
検索エンジン１５が対応可能な類義語数の制限に基づいて類義語ＤＢ１８から抽出した類義語は、質問での出現頻度が高い単語に対応する類義語となっている。このため、検索エンジン１５は、出現頻度が高い単語の類義語を参照して質問に対応する回答を検索できる。従って、実施の形態のチャットボットシステムの検索精度の向上を図ることができる。
【００７７】
最後に、上述の実施の形態は、一例として提示したものであり、本発明の範囲を限定することは意図していない。この新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことも可能である。また、実施の形態及び実施の形態の変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００７８】
１  検索サーバ装置
２  管理者パーソナルコンピュータ装置（管理者ＰＣ）
３  ユーザパーソナルコンピュータ装置（ユーザＰＣ）
４  ネットワーク
１１  受付部
１２  解析部
１４  類義語更新部
１５  検索エンジン
１６  問い合わせ履歴データベース（問い合わせ履歴ＤＢ）
１７  質問類義語ＤＢ
１８  類義語ＤＢ
１９  質問ＤＢ
２０  対話シナリオＤＢ
２１  顧客用類義語ＤＢ
【先行技術文献】
【特許文献】
【００７９】
【特許文献１】特開２０１６−２１１３６号公報
【図１】
2020013514.tif 000003
【図２】
2020013514.tif 000004
【図３】
2020013514.tif 000005
【図４】
2020013514.tif 000006
【図５】
2020013514.tif 000007
【図６】
2020013514.tif 000008
【図７】
2020013514.tif 000009
【図８】
2020013514.tif 000010
【図９】
2020013514.tif 000011
【図１０】
2020013514.tif 000012
【図１１】
2020013514.tif 000013
【図１２】
2020013514.tif 000014
【図１３】
2020013514.tif 000015
【図１４】
2020013514.tif 000016
【図１５】
2020013514.tif 000017