(57)【要約】  情報処理装置（１０１）は、質問データの入力を受け付けた場合、検索アルゴリズムを用いて質問データに対応する複数の回答候補データを、優先順位を含めて特定する。情報処理装置（１０１）は、過去の回答候補データへのアクセス履歴を記憶する記憶部（１１０）を参照して、特定した複数の回答候補データのそれぞれにおけるアクセス履歴に基づいて、複数の回答候補データそれぞれに対する質問データによるアクセス率を算出する。情報処理装置（１０１）は、算出したアクセス率に基づいて、複数の回答候補データの優先順位を調整する。情報処理装置（１０１）は、調整後の優先順位に基づいて複数の回答候補データの中から出力する１または複数の回答候補データを決定して出力する。
2019187120.tif 000002
【特許請求の範囲】
【請求項１】
質問データの入力を受け付けた場合、検索アルゴリズムを用いて前記質問データに対応する複数の回答候補データを、優先順位を含めて特定し、
過去の回答候補データへのアクセス履歴を記憶する記憶部を参照して、特定した前記複数の回答候補データのそれぞれにおけるアクセス履歴に基づいて、前記複数の回答候補データそれぞれに対する前記質問データによるアクセス率を算出し、
算出した前記アクセス率に基づいて前記複数の回答候補データの優先順位を調整し、
調整後の優先順位に基づいて前記複数の回答候補データの中から出力する１または複数の回答候補データを決定して出力する、
処理をコンピュータに実行させることを特徴とする回答出力プログラム。
【請求項２】
前記複数の回答候補データを特定する際に、優先順位に基づいて前記複数の回答候補データの中から出力候補とする第１の回答候補データを特定し、
算出した前記アクセス率に基づいて出力候補とする前記第１の回答候補データの一部または全部を、前記複数の回答候補データのうち前記第１の回答候補データ以外の第２の回答候補データの一部または全部と入れ替えて前記複数の回答候補データの優先順位を調整する、
ことを特徴とする請求項１に記載の回答出力プログラム。
【請求項３】
前記第１の回答候補データを特定する際に、前記複数の回答候補データのアクセス履歴に基づいて前記第１の回答候補データと前記第２の回答候補データとの間で入れ替える回答候補データの数を調整する、
ことを特徴とする請求項２に記載の回答出力プログラム。
【請求項４】
前記複数の回答候補データのアクセス履歴から前記アクセス率が減少していると判定した場合に、前記第１の回答候補データと前記第２の回答候補データとの間で入れ替える回答候補データの数を増加させる、
ことを特徴とする請求項３に記載の回答出力プログラム。
【請求項５】
前記複数の回答候補データのアクセス履歴から前記アクセス率が増加していると判定した場合に、前記第１の回答候補データと前記第２の回答候補データとの間で入れ替える回答候補データの数を減少させる、
ことを特徴とする請求項３に記載の回答出力プログラム。
【請求項６】
前記複数の回答候補データの中から出力する１または複数の回答候補データを決定して出力する際に、入れ替えによって出力すると決定された前記第２の回答候補データに含まれる１または複数の回答候補データの出力される順序位置は、入れ替え対象となって出力されなくなった前記第１の回答候補データに含まれる回答候補データの順序位置である、
ことを特徴とする請求項２に記載の回答出力プログラム。
【請求項７】
前記検索アルゴリズムは、回答候補データに含まれる特徴語に基づいて、前記質問データに対応する回答候補データを特定するアルゴリズムである、
ことを特徴とする請求項１に記載の回答出力プログラム。
【請求項８】
前記第１の回答候補データのうちアクセス率が第１の閾値を下回る回答候補データを、前記第２の回答候補データのうちアクセス率が第２の閾値を上回る回答候補データと入れ替える、ことを特徴とする請求項２に記載の回答出力プログラム。
【請求項９】
前記第２の回答候補データのうちアクセス率が前記第２の閾値を上回る回答候補データがない場合には、前記第２の回答候補データのうちのいずれかの回答候補データをランダムに選択し、
前記第１の回答候補データのうちアクセス率が第１の閾値を下回る回答候補データを、選択した前記回答候補データと入れ替える、ことを特徴とする請求項８に記載の回答出力プログラム。
【請求項１０】
出力する１または複数の回答候補データを決定すると、前記第１の回答候補データの一部または全部を前記第２の回答候補データの一部または全部と入れ替えた結果に基づいて、前記質問データにおける全体正解率を算出し、
算出した前記全体正解率の時系列変化に基づいて、前記アクセス率が減少または増加しているかを判定する、
ことを特徴とする請求項４または５に記載の回答出力プログラム。
【請求項１１】
質問データの入力を受け付けた場合、検索アルゴリズムを用いて前記質問データに対応する複数の回答候補データを、優先順位を含めて特定し、
過去の回答候補データへのアクセス履歴を記憶する記憶部を参照して、特定した前記複数の回答候補データのそれぞれにおけるアクセス履歴に基づいて、前記複数の回答候補データそれぞれに対する前記質問データによるアクセス率を算出し、
算出した前記アクセス率に基づいて前記複数の回答候補データの優先順位を調整し、
調整後の優先順位に基づいて前記複数の回答候補データの中から出力する１または複数の回答候補データを決定して出力する、
処理をコンピュータが実行することを特徴とする回答出力方法。
【請求項１２】
質問データの入力を受け付けた場合、検索アルゴリズムを用いて前記質問データに対応する複数の回答候補データを、優先順位を含めて特定し、
過去の回答候補データへのアクセス履歴を記憶する記憶部を参照して、特定した前記複数の回答候補データのそれぞれにおけるアクセス履歴に基づいて、前記複数の回答候補データそれぞれに対する前記質問データによるアクセス率を算出し、
算出した前記アクセス率に基づいて前記複数の回答候補データの優先順位を調整し、
調整後の優先順位に基づいて前記複数の回答候補データの中から出力する１または複数の回答候補データを決定して出力する、
制御部を有することを特徴とする情報処理装置。
【請求項１３】
複数ページに渡って配置した複数の検索結果アイテムのうち、第２ページ以降のページに配置した検索結果アイテムのそれぞれに対する過去の選択操作に応じて正解の検索結果アイテムを特定して、特定した該正解の検索結果アイテムを正解教師データとして第１の機械学習を実行し、
前記第１の機械学習の学習結果を適用して、１画面に収まる数に制限した複数の検索結果アイテムを表示し、
表示した該複数の検索結果アイテムの選択操作に応じて不正解の検索結果アイテムを特定して、特定した該不正解の検索結果アイテムを不正解教師データとして第２の機械学習を実行し、
前記第２の機械学習の学習結果を適用して、検索結果アイテムを選択する、
処理をコンピュータに実行させることを特徴とする機械学習プログラム。
【請求項１４】
検索結果を複数ページに渡って表示可能な状況における検索結果アイテムの選択操作に応じて正解検索結果アイテムを特定して、正解教師データとして機械学習された検索システムで、１画面で表示可能な数に制限して検索結果アイテムを表示可能な状況において検索処理を実行させた場合に、前記１画面で表示された検索アイテムに対する選択操作に応じて不正解検索結果アイテムを特定して、不正解教師データとして機械学習する、
処理をコンピュータに実行させることを特徴とする機械学習プログラム。
【請求項１５】
１画面で表示可能な数に制限して複数の検索結果アイテムを選択して提示し、
提示した前記複数の検索結果アイテムについて、選択操作が所定の基準を下回る検索結果アイテムを不正解教師データとして機械学習して、前記１画面で表示される候補として選択されなかった他の検索結果アイテムが検索による表示候補にあがりやすくする、
処理をコンピュータに実行させることを特徴とする機械学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回答出力プログラム、回答出力方法、情報処理装置および機械学習プログラムに関する。
【背景技術】
【０００２】
近年、チャットボットと呼ばれる技術を利用したＦＡＱ（Ｆｒｅｑｕｅｎｔｌｙ  Ａｓｋｅｄ  Ｑｕｅｓｔｉｏｎ）システムを導入するコールセンサが増えている。チャットボットは、人工知能を利用して、人間との対話やメッセージのやりとりを行うコンピュータシステムである。【０００３】
先行技術としては、ヒットした各サイトについて、所定のアルゴリズムでそれぞれ計算したスコアに応じた順位データを基礎として、各サイトを表示する順位を決定する際、あらかじめ決められたタイミングで、順位データに対して、シャッフル対象範囲ごとに、スコアを無視するシャッフルを行い、各サイトを表示する順位を決定するものがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１３４８８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、入力された質問に対して出力する回答候補を最適化することが難しい。例えば、既存の検索アルゴリズムでは、過去に一度もアクセスされていないものについても回答候補として出力されてしまうことがある。【０００６】
一つの側面では、本発明は、質問に対して出力する回答候補データを最適化することを目的とする。
【課題を解決するための手段】
【０００７】
１つの実施態様では、質問データの入力を受け付けた場合、検索アルゴリズムを用いて前記質問データに対応する複数の回答候補データを、優先順位を含めて特定し、過去の回答候補データへのアクセス履歴を記憶する記憶部を参照して、特定した前記複数の回答候補データのそれぞれにおけるアクセス履歴に基づいて、前記複数の回答候補データそれぞれに対する前記質問データによるアクセス率を算出し、算出した前記アクセス率に基づいて前記複数の回答候補データの優先順位を調整し、調整後の優先順位に基づいて前記複数の回答候補データの中から出力する１または複数の回答候補データを決定して出力する、回答出力プログラムが提供される。【０００８】
また、１つの実施態様では、複数ページに渡って配置した複数の検索結果アイテムのうち、第２ページ以降のページに配置した検索結果アイテムのそれぞれに対する過去の選択操作に応じて正解の検索結果アイテムを特定して、特定した該正解の検索結果アイテムを正解教師データとして第１の機械学習を実行し、前記第１の機械学習の学習結果を適用して、１画面に収まる数に制限した複数の検索結果アイテムを表示し、表示した該複数の検索結果アイテムの選択操作に応じて不正解の検索結果アイテムを特定して、特定した該不正解の検索結果アイテムを不正解教師データとして第２の機械学習を実行し、前記第２の機械学習の学習結果を適用して、検索結果アイテムを選択する、機械学習プログラムが提供される。【０００９】
また、１つの実施態様では、検索結果を複数ページに渡って表示可能な状況における検索結果アイテムの選択操作に応じて正解検索結果アイテムを特定して、正解教師データとして機械学習された検索システムで、１画面で表示可能な数に制限して検索結果アイテムを表示可能な状況において検索処理を実行させた場合に、前記１画面で表示された検索アイテムに対する選択操作に応じて不正解検索結果アイテムを特定して、不正解教師データとして機械学習する、機械学習プログラムが提供される。【００１０】
また、１つの実施態様では、１画面で表示可能な数に制限して複数の検索結果アイテムを選択して提示し、提示した前記複数の検索結果アイテムについて、選択操作が所定の基準を下回る検索結果アイテムを不正解教師データとして機械学習して、前記１画面で表示される候補として選択されなかった他の検索結果アイテムが検索による表示候補にあがりやすくする、機械学習プログラムが提供される。
【発明の効果】
【００１１】
本発明の一側面によれば、質問に対して出力する回答候補を最適化することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施の形態にかかる回答出力方法の一実施例を示す説明図である。
【図２】図２は、回答出力システム２００のシステム構成例を示す説明図である。
【図３】図３は、情報処理装置１０１のハードウェア構成例を示すブロック図である。
【図４】図４は、ＦＡＱマスタ２２０の記憶内容の一例を示す説明図である。
【図５】図５は、チャットログＤＢ２３０の記憶内容の一例を示す説明図である。
【図６】図６は、問い合わせ画面６００の画面例を示す説明図である。
【図７】図７は、情報処理装置１０１の機能的構成例を示すブロック図である。
【図８】図８は、動線分析元情報の具体例を示す説明図である。
【図９】図９は、動線分析結果テーブル９００の記憶内容の一例を示す説明図である。
【図１０】図１０は、混合行列の具体例を示す説明図（その１）である。
【図１１】図１１は、混合行列の具体例を示す説明図（その２）である。
【図１２】図１２は、全体正解率テーブル１２００の記憶内容の一例を示す説明図である。
【図１３】図１３は、平均全体正解率の時系列変化を示す説明図である。
【図１４】図１４は、検索ワードに対応する複数のＦＡＱの一例を示す説明図（その１）である。
【図１５】図１５は、ＦＡＱのリランキング例を示す説明図（その１）である。
【図１６】図１６は、検索ワードに対応する複数のＦＡＱの一例を示す説明図（その２）である。
【図１７】図１７は、ＦＡＱのリランキング例を示す説明図（その２）である。
【図１８】図１８は、情報処理装置１０１の回答出力処理手順の一例を示すフローチャートである。
【図１９】図１９は、調整処理の具体的処理手順の一例を示すフローチャートである。
【図２０】図２０は、情報処理装置１０１のＬｅｖｅｌ調整処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下に図面を参照して、本発明にかかる回答出力プログラム、回答出力方法、情報処理装置および機械学習プログラムの実施の形態を詳細に説明する。
【００１４】
（実施の形態）
図１は、実施の形態にかかる回答出力方法の一実施例を示す説明図である。図１において、情報処理装置１０１は、入力された質問データに対して回答候補データを出力するコンピュータである。質問データは、何らかの問題の解決方法を問うものである。また、質問データは、話し言葉による問いかけであってもよい。質問データは、単語または複数の単語の組み合わせによって表現されてもよく、また、１または複数の文章によって表現されてもよい。
【００１５】
回答候補データは、質問された問題の解決方法を示す回答の候補や、話し言葉による問いかけに対する回答の候補である。回答候補データは、例えば、ＦＡＱである。ＦＡＱは、「頻繁に尋ねられる質問」の意味であり、あらかじめ予想される質問データに対して、質問データと回答データとをまとめたものである。
【００１６】
ここで、オペレータ向けのＦＡＱシステムでは、ＦＡＱの検索結果は、複数ページに渡って提示されることが多い。また、各ページに表示可能なＦＡＱの数は、３０個程度である。これに対して、チャットボットを利用したＦＡＱシステムでは、ＦＡＱの検索結果に対して、ページの考え方がない場合が多い。ページの考え方がない場合、常に第１ページが検索結果となる。また、チャットボットの表示枠に並べられるＦＡＱの数は、３〜５個程度であることが多い。
【００１７】
表示枠に並べられるＦＡＱの数が少なければ、ユーザは、一度に検索結果の内容を俯瞰できる。このため、チャットボットにおけるＦＡＱの検索結果の表示は、表示枠での各ＦＡＱの細かい並びよりも、表示枠にユーザが期待するＦＡＱが入っていることが重要であり、より検索精度の高いＦＡＱの絞り込みが求められる。
【００１８】
ところが、既存の検索アルゴリズムでは、入力された質問に対して出力する回答候補を最適化することが難しい。例えば、ＴＦ（Ｔｅｒｍ  Ｆｒｅｑｕｅｎｃｙ）−ＩＤＦ（Ｉｎｖｅｒｓｅ  Ｄｏｃｕｍｅｎｔ  Ｆｒｅｑｕｅｎｃｙ）を利用した検索アルゴリズムでは、特徴語に基づいた回答候補が出力される。
【００１９】
このため、ＴＦ−ＩＤＦを利用した検索アルゴリズムでは、特徴語が含まれていれば、過去に一度もアクセスされていないものについても回答候補として出力されてしまうことがある。過去に一度もアクセスされていない回答候補は、質問に対する有効な回答ではない可能性が高い。
【００２０】
そこで、本実施の形態では、過去の回答候補データへのアクセス履歴をもとに、質問データに対して出力する回答候補データを最適化する回答出力方法について説明する。以下、情報処理装置１０１の処理例について説明する。
【００２１】
（１）情報処理装置１０１は、質問データの入力を受け付けた場合、検索アルゴリズムを用いて質問データに対応する複数の回答候補データを、優先順位を含めて特定する。ここで、検索アルゴリズムは、既存のいかなる検索アルゴリズムであってもよく、例えば、類似度を利用したものがある。
【００２２】
類似度を利用した検索アルゴリズムでは、例えば、入力された質問データと、あらかじめ用意された質問データとの類似度を求め、類似度の高い質問データを含む回答候補データを特定する。類似度の計算には、例えば、ＴＦ−ＩＤＦが利用される。ＴＦ−ＩＤＦを利用した検索アルゴリズムでは、例えば、回答候補データに含まれる特徴語に基づいて、質問データに対応する回答候補データを特定する。
【００２３】
具体的には、例えば、情報処理装置１０１は、複数の回答候補データを特定する際に、優先順位に基づいて、複数の回答候補データの中から出力候補とする第１の回答候補データを特定する。また、情報処理装置１０１は、複数の回答候補データのうち、第１の回答候補データ以外の第２の回答候補データを特定する。
【００２４】
例えば、チャットボットを利用した既存のＦＡＱシステムでは、第１の回答候補データは、表示枠に表示されるＦＡＱであり、上位３〜５個のＦＡＱである。一方、第２の回答候補データは、表示枠に表示されずに切り捨てられていたＦＡＱである。
【００２５】
図１の例では、入力された質問データＸに対応する回答候補データ１〜１０が優先順位を含めて特定された場合を想定する。また、回答候補データ１〜１０のうち、回答候補データ１〜３を「第１の回答候補データ」とし、回答候補データ４〜１０を「第２の回答候補データ」とする。
【００２６】
（２）情報処理装置１０１は、記憶部１１０を参照して、特定した複数の回答候補データのそれぞれにおけるアクセス履歴に基づいて、複数の回答候補データそれぞれに対する質問データによるアクセス率を算出する。ここで、記憶部１１０は、過去の回答候補データへのアクセス履歴を記憶する。
【００２７】
過去の回答候補データへのアクセス履歴は、例えば、過去に入力された質問データと、当該質問データが入力された際に出力された回答候補のうちの選択された回答候補データとの対応関係を示す情報である。また、質問データによるアクセス率は、質問データに対して回答候補データを出力した際に当該回答候補データが選択される割合の高さを示す指標値である。
【００２８】
図１の例では、回答候補データ１〜１０にそれぞれに対する質問データＸによるアクセス率ａ１〜ａ１０が算出された場合を想定する。
【００２９】
（３）情報処理装置１０１は、算出したアクセス率に基づいて、複数の回答候補データの優先順位を調整する。具体的には、例えば、情報処理装置１０１は、算出したアクセス率に基づいて、第１の回答候補データの一部または全部を、第２の回答候補データの一部または全部と入れ替えて複数の回答候補データの優先順位を調整する。
【００３０】
より詳細に説明すると、例えば、情報処理装置１０１は、第１の回答候補データのうちアクセス率が第１の閾値を下回る回答候補データを、第２の回答候補データのうちアクセス率が第２の閾値を上回る回答候補データと入れ替える。第１および第２の閾値は、任意に設定可能である。例えば、第１および第２の閾値は、あらかじめ決められた固定値であってもよく、また、運用中のアクセス履歴に応じて動的に調整することにしてもよい。
【００３１】
図１の例では、第１の回答候補データのうちの回答候補データ２のアクセス率ａ２が第１の閾値を下回り、第２の回答候補データのうちの回答候補データ７のアクセス率ａ７が第２の閾値を上回る場合を想定する。この場合、情報処理装置１０１は、第１の回答候補データのうちの回答候補データ２を、第２の回答候補データのうちの回答候補データ７と入れ替える。
【００３２】
（４）情報処理装置１０１は、調整後の優先順位に基づいて複数の回答候補データの中から出力する１または複数の回答候補データを決定して出力する。具体的には、例えば、情報処理装置１０１は、アクセス率が第１の閾値を下回る回答候補データをアクセス率が第２の閾値を上回る回答候補データと入れ替えた後の第１の回答候補データを、出力する１または複数の回答候補データに決定する。そして、情報処理装置１０１は、決定した１または複数の回答候補データを、入力された質問データに対する回答候補データとして出力する。
【００３３】
図１の例では、第１の回答候補データのうちの回答候補データ２が回答候補データ７と入れ替えられた後の回答候補データ１，７，３が、出力する複数の回答候補データに決定される。そして、回答候補データ１，７，３が、入力された質問データＸに対する回答候補データとして出力される。
【００３４】
このように、情報処理装置１０１によれば、既存の検索アルゴリズムにより特定した質問データに対応する複数の回答候補データそれぞれの優先順位を、過去のアクセス履歴に基づく質問データによるアクセス率に応じて調整することができる。これにより、例えば、質問データに対して出力されたときの過去のアクセス回数が極端に少ない回答候補データが出力されてしまうのを防いで、質問データに対する検索結果として出力する回答候補データを最適化することができる。
【００３５】
（回答出力システム２００のシステム構成例）
つぎに、図１に示した情報処理装置１０１を含む回答出力システム２００のシステム構成例について説明する。回答出力システム２００は、例えば、チャットボットを利用したＦＡＱシステム、検索システムに適用される。
【００３６】
図２は、回答出力システム２００のシステム構成例を示す説明図である。図２において、回答出力システム２００は、情報処理装置１０１と、複数の端末２０１（図２の例では、３台）と、を含む。回答出力システム２００において、情報処理装置１０１および複数の端末２０１は、有線または無線のネットワーク２１０を介して接続される。ネットワーク２１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどである。
【００３７】
ここで、情報処理装置１０１は、ＦＡＱマスタ２２０、チャットログＤＢ（Ｄａｔａｂａｓｅ）２３０を有し、質問データに対応する回答候補データを出力する。以下の説明では、回答候補データとして「ＦＡＱ」を例に挙げて説明する場合がある。情報処理装置１０１は、例えば、サーバである。
【００３８】
なお、ＦＡＱマスタ２２０およびチャットログＤＢ２３０の記憶内容については、図４および図５を用いて後述する。
【００３９】
端末２０１は、回答出力システム２００のユーザが使用するコンピュータである。回答出力システム２００のユーザは、例えば、ＦＡＱシステムの利用者である。端末２０１は、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、スマートフォン、タブレット型ＰＣなどである。
【００４０】
（情報処理装置１０１のハードウェア構成例）
図３は、情報処理装置１０１のハードウェア構成例を示すブロック図である。図３において、情報処理装置１０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、メモリ３０２と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０３と、ディスクドライブ３０４と、ディスク３０５と、を有する。また、各構成部は、バス３００によってそれぞれ接続される。
【００４１】
ここで、ＣＰＵ３０１は、情報処理装置１０１の全体の制御を司る。ＣＰＵ３０１は、複数のコアを有していてもよい。メモリ３０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭがＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のプログラムを記憶し、ＲＯＭがアプリケーションプログラムを記憶し、ＲＡＭがＣＰＵ３０１のワークエリアとして使用される。メモリ３０２に記憶されるプログラムは、ＣＰＵ３０１にロードされることで、コーディングされている処理をＣＰＵ３０１に実行させる。
【００４２】
Ｉ／Ｆ３０３は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して外部のコンピュータ（例えば、図２に示した端末２０１）に接続される。そして、Ｉ／Ｆ３０３は、ネットワーク２１０と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。Ｉ／Ｆ３０３には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００４３】
ディスクドライブ３０４は、ＣＰＵ３０１の制御に従ってディスク３０５に対するデータのリード／ライトを制御する。ディスク３０５は、ディスクドライブ３０４の制御で書き込まれたデータを記憶する。ディスク３０５としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
【００４４】
なお、情報処理装置１０１は、上述した構成部のほかに、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、入力装置、ディスプレイ等を有することにしてもよい。また、図２に示した端末２０１についても、情報処理装置１０１と同様のハードウェア構成により実現することができる。ただし、端末２０１は、上述した構成部のほかに、入力装置、ディスプレイ等を有する。
【００４５】
（ＦＡＱマスタ２２０の記憶内容）
つぎに、図４を用いて、情報処理装置１０１が有するＦＡＱマスタ２２０の記憶内容について説明する。ＦＡＱマスタ２２０は、例えば、図３に示したメモリ３０２、ディスク３０５などの記憶装置により実現される。
【００４６】
図４は、ＦＡＱマスタ２２０の記憶内容の一例を示す説明図である。図４において、ＦＡＱマスタ２２０は、ＦＡＱＩＤ、質問および回答のフィールドを有し、各フィールドに情報を設定することで、ＦＡＱ（例えば、ＦＡＱ４００−１，４００−２）をレコードとして記憶する。
【００４７】
ここで、ＦＡＱＩＤは、ＦＡＱを一意に識別する識別子である。質問は、ＦＡＱを形成する質問を示す質問データである。回答は、質問に対する回答を示す回答データである。質問および回答は、単語または複数の単語の組み合わせによって表現されてもよく、また、１または複数の文章によって表現されてもよい。
【００４８】
例えば、ＦＡＱ４００−１は、ＦＡＱＩＤ「００１」の質問「ＵＰＳ使用中に警告音（アラーム音）が鳴るようになりました。」と、回答「バッテリーの電圧が一定値より下回った場合に、バッテリーの寿命交換を促す目的でランプが点灯し、・・・」と、を含む。
【００４９】
（チャットログＤＢ２３０の記憶内容）
つぎに、図５を用いて、情報処理装置１０１が有するチャットログＤＢ２３０の記憶内容について説明する。チャットログＤＢ２３０は、例えば、図３に示したメモリ３０２、ディスク３０５などの記憶装置により実現される。
【００５０】
図５は、チャットログＤＢ２３０の記憶内容の一例を示す説明図である。図５において、チャットログＤＢ２３０は、日付、検索ワードおよび照会ＦＡＱのフィールドを有し、各フィールドに情報を設定することで、チャットログ（例えば、チャットログ５００−１，５００−２）をレコードとして記憶する。
【００５１】
ここで、日付は、ＦＡＱの検索が行われた日付である。例えば、日付は、端末２０１からの検索ワード（質問データ）の入力を受け付けた日付である。日付には、時刻まで含めることにしてもよい。検索ワードは、入力された質問データである。検索ワードは、単語または複数の単語の組み合わせであってもよいし、１または複数の文章であってもよい。
【００５２】
照会ＦＡＱは、検索ワードに対して出力されたＦＡＱのうち選択操作を受け付けたＦＡＱ、すなわち、照会（選択）されたＦＡＱのＦＡＱＩＤである。なお、検索ワードに対して出力されたＦＡＱのうち、いずれのＦＡＱも選択されなかった場合、または、「この中にない。」といった所望のＦＡＱがないことを示す選択操作が行われた場合、照会ＦＡＱには「ＮｏｔＦｏｕｎｄ」が設定される。また、検索ワードに対して１件もＦＡＱが出力されなかった、いわゆる、０件ヒットの場合も、照会ＦＡＱには「ＮｏｔＦｏｕｎｄ」が設定される。
【００５３】
例えば、チャットログ５００−１は、日付「２０１８／３／２２」に入力された検索ワード「ＵＰＳ警告音」に対して出力されたＦＡＱのうち照会ＦＡＱ「００１」のＦＡＱの選択操作が行われたことを示す。
【００５４】
（問い合わせ画面６００の画面例）
つぎに、図２に示した端末２０１に表示される問い合わせ画面６００の画面例について説明する。以下の説明では、端末２０１に表示される操作画面のボックス、ボタン等をユーザが選択する操作として、クリック操作を行う場合を例に挙げて説明する。
【００５５】
図６は、問い合わせ画面６００の画面例を示す説明図である。図６において、問い合わせ画面６００は、ＦＡＱを検索したり、ＦＡＱを照会したりする操作画面の一例である。問い合わせ画面６００において、ボックス６０１をクリックすると、検索ワードを入力することができる。
【００５６】
また、問い合わせ画面６００において、ボタン６０２をクリックすると、ボックス６０１に入力された検索ワードに対応するＦＡＱを検索することができる。具体的には、ボタン６０２をクリックすると、ボックス６０１に入力された検索ワードが、端末２０１から情報処理装置１０１に送信される。
【００５７】
この結果、情報処理装置１０１から端末２０１に検索ワードに対する検索結果が送信され、検索されたＦＡＱが表示枠６１０に優先順位に従ってリスト化されて表示される。ここでは、表示枠６１０には、優先順位が高い上位３件のＦＡＱが表示される。また、ボックス６２０には、入力された検索ワードが表示される。
【００５８】
図６の例では、検索ワード「ＵＰＳ警告音」に対応するＦＡＱが検索された結果、上位３件のＦＡＱ６１１〜６１３が表示枠６１０に表示されている。問い合わせ画面６００において、ＦＡＱ６１１〜６１３のいずれかのＦＡＱをクリックすると、当該ＦＡＱの内容を照会することができる。例えば、ＦＡＱ６１１をクリックすると、ＦＡＱ６１１の内容（質問データと回答データ）を照会することができる。
【００５９】
また、表示枠６１０に表示されたいずれかのＦＡＱがクリックされると、当該ＦＡＱが選択されたことを示す選択結果が、端末２０１から情報処理装置１０１に送信される。ただし、ＦＡＱ６１４がクリックされると、所望のＦＡＱがないことを示す選択操作が行われたことを示す未選択結果が、端末２０１から情報処理装置１０１に送信される。さらに、表示枠６１０に表示されたいずれのＦＡＱもクリックされず、新たな検索ワードが入力されて次の検索が行われた場合も、所望のＦＡＱがないことを示す選択操作が行われたことを示す未選択結果が、端末２０１から情報処理装置１０１に送信される。
【００６０】
（情報処理装置１０１の機能的構成例）
図７は、情報処理装置１０１の機能的構成例を示すブロック図である。図７において、情報処理装置１０１は、受付部７０１と、特定部７０２と、算出部７０３と、調整部７０４と、決定部７０５と、出力部７０６と、記憶部７１０と、を含む。受付部７０１〜出力部７０６は制御部となる機能であり、具体的には、例えば、図３に示したメモリ３０２、ディスク３０５などの記憶装置に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０３により、その機能を実現する。各機能部の処理結果は、例えば、メモリ３０２、ディスク３０５などの記憶装置に記憶される。記憶部７１０は、例えば、メモリ３０２、ディスク３０５などの記憶装置により実現される。具体的には、例えば、記憶部７１０は、ＦＡＱマスタ２２０、チャットログＤＢ２３０などを記憶する。
【００６１】
受付部７０１は、質問データの入力を受け付ける。質問データの入力は、例えば、図６に示した問い合わせ画面６００において行われる。具体的には、例えば、受付部７０１は、端末２０１から、問い合わせ画面６００のボックス６０１に入力された検索ワードを受信することにより、受信した検索ワードを質問データとして入力を受け付ける。
【００６２】
以下の説明では、入力された質問データを「検索ワード」と表記する場合がある。
【００６３】
特定部７０２は、検索アルゴリズムを用いて、入力された検索ワードに対応する複数の回答候補データを、優先順位を含めて特定する。優先順位は、表示する際の順位である。入力された質問データに対応する複数の回答候補データのうち、優先順位が高いものが優先して表示される。
【００６４】
具体的には、例えば、特定部７０２は、図４に示したＦＡＱマスタ２２０を参照して、ＴＦ−ＩＤＦ法を用いて計算される類似度を利用した検索アルゴリズムを用いて、入力された検索ワードに対応する複数のＦＡＱを、優先順位を含めて特定する。特定される複数のＦＡＱは、例えば、類似度が閾値以上のＦＡＱである。
【００６５】
より詳細に説明すると、例えば、特定部７０２は、入力された検索ワードを形態素解析して形態素に分割する。つぎに、特定部７０２は、検索アルゴリズムを用いて、ＦＡＱマスタ２２０から、分解した形態素に対応するＦＡＱを検索する。そして、特定部７０２は、検索した検索結果（ＦＡＱ）を、優先順位を含めて特定する。
【００６６】
また、特定部７０２は、優先順位に基づいて、複数の回答候補データの中から第１の回答候補データと第２の回答候補データとを特定する。ここで、第１の回答候補データは、複数の回答候補データのうち、出力候補とする回答候補データである。第２の回答候補データは、複数の回答候補データのうち、第１の回答候補データ以外の回答候補データである。
【００６７】
具体的には、例えば、特定部７０２は、入力された検索ワードに対応する複数のＦＡＱのうち、優先順位が高い上位Ｎ個のＦＡＱを第１の回答候補データとして特定し、第１の回答候補データ以外の回答候補データを第２の回答候補データとして特定する。Ｎの値は、任意に設定可能であり、例えば、３〜５程度に設定される。
【００６８】
以下の説明では、回答候補データを「ＦＡＱ」と表記する場合がある。また、第１の回答候補データを「第１候補」と表記し、第２の回答候補データを「第２候補」と表記する場合がある。
【００６９】
算出部７０３は、過去のＦＡＱへのアクセス履歴を記憶する記憶部７１０を参照して、特定された複数のＦＡＱのそれぞれにおけるアクセス履歴に基づいて、複数のＦＡＱそれぞれに対する、入力された検索ワードにおけるアクセス効率を算出する。
【００７０】
具体的には、例えば、算出部７０３は、図５に示したチャットログＤＢ２３０を参照して、特定された複数のＦＡＱそれぞれに対する、入力された検索ワードにおけるアクセス効率を算出する。ここで、検索ワードにおけるアクセス効率は、図１で説明した質問データによるアクセス率に相当する指標値であり、検索ワードに対してＦＡＱを出力した際に当該ＦＡＱが選択される割合の高さを示す。ここでは、アクセス効率が高いほど、ＦＡＱが選択される割合が高いことを示す。
【００７１】
なお、アクセス効率を算出する際に用いるチャットログは、例えば、チャットログＤＢ２３０内の全てのチャットログであってもよく、また、所定期間内（例えば、日付が直近１年以内）のチャットログであってもよい。
【００７２】
より詳細に説明すると、例えば、算出部７０３は、チャットログＤＢ２３０から、照会ＦＡＱにいずれかのＦＡＱＩＤが設定されたチャットログを取得する。そして、算出部７０３は、取得したチャットログの検索ワードを形態素解析して、検索ワードを形態素に分割する。つぎに、算出部７０３は、分割した形態素ごとに、当該形態素を含む検索ワードと、照会ＦＡＱとを対応付けて表す動線分析元情報を生成する。
【００７３】
ここで、図８を用いて、動線分析元情報の具体例について説明する。
【００７４】
図８は、動線分析元情報の具体例を示す説明図である。図８において、動線分析元情報８００は、形態素と検索ワードと照会ＦＡＱとを対応付けて表す情報である。形態素は、検索ワードを形態素解析して得られた形態素である。検索ワードは、入力された質問データである。照会ＦＡＱは、検索ワードに対して出力されたＦＡＱのうち照会（選択）されたＦＡＱのＦＡＱＩＤである。
【００７５】
そして、算出部７０３は、生成した動線分析元情報に基づいて、特定された複数のＦＡＱそれぞれに対する、入力された検索ワードにおけるアクセス効率を算出する。以下、図８に示したような動線分析元情報８００に基づいて、検索ワードにおけるアクセス効率を算出する具体的な処理内容の一例について説明する。
【００７６】
まず、算出部７０３は、動線分析元情報８００を参照して、特定された複数のＦＡＱそれぞれについて、個別アクセス数および全体アクセス数を算出する。ここで、ＦＡＱの個別アクセス数は、今回入力された検索ワードの形態素を含む検索ワードが入力された際に当該ＦＡＱが選択された回数を示す。ＦＡＱの全体アクセス数は、今回入力された検索ワードだけでなく、全ての検索ワードを対象として過去に当該ＦＡＱが選択された回数を示す。
【００７７】
つぎに、算出部７０３は、特定された複数のＦＡＱそれぞれについて、下記式（１）を用いて、算出した個別アクセス数および全体アクセス数に基づいて、検索ワードにおけるアクセス効率を算出する。ただし、全体アクセス数合計は、複数のＦＡＱそれぞれの全体アクセス数の合計である。
【００７８】
アクセス効率＝（個別アクセス数／全体アクセス数）×（全体アクセス数／全体アクセス数合計）・・・（１）
【００７９】
なお、上記式（１）における（全体アクセス数／全体アクセス数合計）は、全体アクセス数が少ないＦＡＱについて、（個別アクセス数／全体アクセス数）に対してアクセス効率が過敏に反応しないようにするための調整項である。
【００８０】
算出されたアクセス効率は、例えば、図９に示すような動線分析結果テーブル９００に記憶される。動線分析結果テーブル９００は、例えば、メモリ３０２、ディスク３０５などの記憶装置により実現される。
【００８１】
ここで、図９を用いて、動線分析結果テーブル９００の記憶内容について説明する。ここでは、検索ワード「キャンセル」が入力された場合を例に挙げて、動線分析結果テーブル９００の記憶内容について説明する。
【００８２】
図９は、動線分析結果テーブル９００の記憶内容の一例を示す説明図である。図９において、動線分析結果テーブル９００は、優先順位、ＦＡＱＩＤ、個別アクセス数、全体アクセス数およびアクセス効率のフィールドを有し、各フィールドに情報を設定することで、動線分析結果９００−１〜９００−１０をレコードとして記憶する。
【００８３】
ここで、優先順位は、ＦＡＱの優先順位である。ＦＡＱＩＤは、ＦＡＱのＦＡＱＩＤである。個別アクセス数は、ＦＡＱの個別アクセス数である。全体アクセス数は、ＦＡＱの全体アクセス数である。アクセス効率は、ＦＡＱの検索ワードにおけるアクセス効率である。
【００８４】
図７の説明に戻り、調整部７０４は、算出されたアクセス効率に基づいて、特定された複数のＦＡＱの優先順位を調整する。具体的には、例えば、調整部７０４は、算出されたアクセス効率に基づいて、第１候補の一部または全部を、第２候補の一部または全部と入れ替えて、特定された複数のＦＡＱの優先順位を調整する。
【００８５】
より詳細に説明すると、例えば、調整部７０４は、動線分析結果テーブル９００を参照して、第１候補のうちアクセス効率がＢＰ（Ｂａｄ  Ｐａｒａｍｅｔｅｒ）値を下回るＦＡＱを、第２候補のうちアクセス効率がＧＰ（Ｇｏｏｄ  Ｐａｒａｍｅｔｅｒ）値を上回るＦＡＱと入れ替える。
【００８６】
ＢＰ値は、例えば、図１で説明した第１の閾値に対応する。ＧＰ値は、例えば、図１で説明した第２の閾値に対応する。ＢＰ値には、アクセス効率がＢＰ値を下回っていると、アクセス効率が悪いと判断できる値に設定される。また、ＧＰ値には、アクセス効率がＧＰを上回っていると、アクセス効率がよいと判断できる値に設定される。
【００８７】
具体的には、例えば、ＢＰ値は、下記式（２）を用いて設定することができる。また、ＧＰ値は、下記式（３）を用いて設定することができる。ただし、Ｌｅｖｅｌは、任意に設定可能な定数である。初期状態では、Ｌｅｖｅｌには、例えば、初期値「０．８」が設定される。
【００８８】
ＢＰ値＝第１候補のうちの最大アクセス効率×（１−Ｌｅｖｅｌ）・・・（２）
【００８９】
ＧＰ値＝第１候補のうちの最大アクセス効率×Ｌｅｖｅｌ・・・（３）
【００９０】
また、調整部７０４は、第２候補のうちアクセス効率がＧＰ値を上回るＦＡＱがない場合には、第２候補のうちのいずれかのＦＡＱをランダムに選択することにしてもよい。そして、調整部７０４は、第１候補のうちアクセス効率がＢＰ値を下回るＦＡＱを、ランダムに選択したＦＡＱと入れ替えることにしてもよい。
【００９１】
なお、ＦＡＱをランダムに選択（無作為抽出）する方法としては、既存のいかなる方法を用いることにしてもよい。
【００９２】
決定部７０５は、調整後の優先順位に基づいて、複数のＦＡＱの中から、出力対象の１または複数のＦＡＱを決定する。具体的には、例えば、決定部７０５は、第１候補のうちのアクセス効率がＢＰ値を下回るＦＡＱを、第２候補のうちのアクセス効率がＧＰ値を上回るＦＡＱと入れ替えた後の第１候補を、出力対象のＦＡＱに決定する。
【００９３】
出力部７０６は、決定された出力対象の１または複数のＦＡＱを出力する。この際、調整部７０４による入れ替えによって出力すると決定された第２候補に含まれる１または複数のＦＡＱの出力される順序位置は、例えば、入れ替え対象となって出力されなくなった第１候補に含まれるＦＡＱの順序位置である。
【００９４】
具体的には、例えば、出力部７０６は、決定された出力対象のＦＡＱを示す情報を、入力された検索ワードに対する検索結果として端末２０１に送信する。この結果、端末２０１において、例えば、図６に示した問い合わせ画面６００の表示枠６１０に、出力対象のＦＡＱが選択可能に表示される。
【００９５】
また、受付部７０１は、出力された１または複数のＦＡＱのうち選択されたＦＡＱを示す選択結果を受け付ける。ＦＡＱの選択は、例えば、図６に示した問い合わせ画面６００において行われる。具体的には、例えば、受付部７０１は、端末２０１から、問い合わせ画面６００において選択されたＦＡＱを示す選択結果を受信することにより、当該選択結果を受け付ける。
【００９６】
受け付けた選択結果は、例えば、チャットログＤＢ２３０に記憶される。具体的には、例えば、受付部７０１は、選択されたＦＡＱを示す選択結果を受け付けると、当該選択結果を受け付けた日付と、入力された検索ワードと、選択されたＦＡＱのＦＡＱＩＤとを対応付けて、チャットログＤＢ２３０に記憶する。
【００９７】
また、受付部７０１は、出力された１または複数のＦＡＱのうちいずれのＦＡＱも選択されなかったことを示す未選択結果を受け付ける。具体的には、例えば、受付部７０１は、端末２０１から、所望のＦＡＱがないことを示す選択操作が行われたことを示す未選択結果を受信することにより、当該未選択結果を受け付ける。
【００９８】
受け付けた未選択結果は、例えば、図５に示したチャットログＤＢ２３０に記憶される。具体的には、例えば、受付部７０１は、未選択結果を受け付けると、当該未選択結果を受け付けた日付と、入力された検索ワードと、ＮｏｔＦｏｕｎｄとを対応付けて、チャットログＤＢ２３０に記憶する。
【００９９】
なお、入力された検索ワードに対応するＦＡＱが１つも特定されなかった、いわゆる、０件ヒットの場合もチャットログＤＢ２３０は更新される。この場合、例えば、特定部７０２は、検索ワードが入力された日付と、入力された検索ワードと、ＮｏｔＦｏｕｎｄとを対応付けて、チャットログＤＢ２３０に記憶する。
【０１００】
また、調整部７０４は、特定された複数のＦＡＱのアクセス履歴に基づいて、第１候補と第２候補との間で入れ替えるＦＡＱの数を調整する。具体的には、例えば、調整部７０４は、複数のＦＡＱのアクセス履歴からアクセス効率が減少していると判定した場合に、第１候補と第２候補との間で入れ替えるＦＡＱの数を増加させることにしてもよい。
【０１０１】
ここでのアクセス効率は、検索ワードに応じて出力したＦＡＱに対するシステム全体としてのアクセス効率に相当する。また、調整部７０４は、例えば、複数のＦＡＱのアクセス履歴からアクセス効率が増加していると判定した場合に、第１候補と第２候補との間で入れ替えるＦＡＱの数を減少させることにしてもよい。
【０１０２】
より詳細に説明すると、例えば、まず、調整部７０４は、出力対象のＦＡＱが決定されると、第１候補の一部または全部を第２候補の一部または全部と入れ替えた結果に基づいて、入力された検索ワードにおける全体正解率を算出する。ここで、全体正解率は、検索ワードに対してどれだけ妥当なＦＡＱ、すなわち、選択されるＦＡＱを出力できたかを示す指標値である。
【０１０３】
例えば、全体正解率は、検索ワードに対応する複数のＦＡＱを、第１候補と第２候補とにどれだけ正しく分類することができたかによって表すことができる。具体的には、例えば、全体正解率は、下記式（４）を用いて、第１候補、第２候補についての混合行列の情報から求めることができる。
【０１０４】
ただし、ＡＣＣは、全体正解率である。ＴＰは、第１候補のうち第２候補のＦＡＱと入れ替えられなかったＦＡＱの数である。換言すれば、ＴＰは、第１候補のうち、第１候補として正解であるといえるＦＡＱの数である。ＴＮは、第２候補のうち第１候補のＦＡＱと入れ替えられなかったＦＡＱの数である。換言すれば、ＴＮは、第２候補のうち、第２候補として正解であるといえるＦＡＱの数である。ＦＮは、第１候補のうち第２候補のＦＡＱと入れ替えられたＦＡＱの数である。換言すれば、ＦＮは、第１候補のうち、第１候補として不正解であるといえるＦＡＱの数である。ＦＰは、第２候補のうち第１候補のＦＡＱと入れ替えられたＦＡＱの数である。換言すれば、ＦＰは、第２候補のうち、第２候補として不正解であるといえるＦＡＱの数である。
【０１０５】
ＡＣＣ＝（ＴＰ＋ＴＮ）／（ＴＰ＋ＴＮ＋ＦＮ＋ＦＰ）・・・（４）
【０１０６】
ここで、図１０および図１１を用いて、全体正解率の算出例について説明する。
【０１０７】
図１０は、混合行列の具体例を示す説明図（その１）である。図１０において、第１候補に含まれるＦＡＱのＦＡＱＩＤを「１５２，１５３，２１４」とする。また、第２候補に含まれるＦＡＱのＦＡＱＩＤを「２１３，１５４，２４５，１５１，２１５，１４３，１４２」とする。また、第１候補のＦＡＱ１５２が、第２候補のＦＡＱ１５１と入れ替えられたとする。
【０１０８】
この場合、混合行列１０００の情報は、「ＴＰ＝２，ＦＮ＝１，ＴＮ＝６，ＦＰ＝１」となる。このため、全体正解率は、「ＡＣＣ＝（２＋６）／１０＝０．８」となる。
【０１０９】
図１１は、混合行列の具体例を示す説明図（その２）である。図１１において、第１候補に含まれるＦＡＱのＦＡＱＩＤを「１２１，４６６，４５７」とする。また、第２候補に含まれるＦＡＱのＦＡＱＩＤを「１９，４５５」とする。また、第１候補のＦＡＱ４５７が、第２候補のＦＡＱ１９と入れ替えられた場合を想定する。
【０１１０】
この場合、混合行列１１００の情報は、「ＴＰ＝２，ＦＮ＝１，ＴＮ＝１，ＦＰ＝１」となる。このため、全体正解率は、「ＡＣＣ＝（２＋１）／５＝０．６」となる。
【０１１１】
算出された全体正解率は、例えば、日付と対応付けて、図１２に示すような全体正解率テーブル１２００に記憶される。全体正解率テーブル１２００は、例えば、メモリ３０２、ディスク３０５などの記憶装置により実現される。
【０１１２】
図１２は、全体正解率テーブル１２００の記憶内容の一例を示す説明図である。図１２において、全体正解率テーブル１２００は、日付および全体正解率のフィールドを有し、各フィールドに情報を設定することで、全体正解率情報（例えば、全体正解率情報１２００−１，１２００−２）をレコードとして記憶する。
【０１１３】
ここで、日付は、ＦＡＱの検索が行われた日付である。例えば、日付は、端末２０１からの検索ワード（質問データ）の入力を受け付けた日付である。全体正解率は、ＦＡＱの検索が行われたときの全体正解率である。例えば、全体正解率情報１２００−１は、日付「２０１８／３／２２」にＦＡＱの検索が行われたときの全体正解率「０．８」を示す。すなわち、全体正解率は、ＦＡＱの検索単位に蓄積される。
【０１１４】
つぎに、調整部７０４は、算出した全体正解率に基づいて、全体正解率の時系列変化を特定する。具体的には、例えば、調整部７０４は、図１２に示した全体正解率テーブル１２００を参照して、日ごとの全体正解率の平均値（平均全体正解率）を算出する。平均全体正解率を算出する際に用いる全体正解率は、日付が所定期間内（例えば、直近１年以内）の全体正解率であってもよい。
【０１１５】
図１３は、平均全体正解率の時系列変化を示す説明図である。図１３において、グラフ１３００は、日ごとの平均全体正解率の時系列変化を示すものであり、調整部７０４によって算出された日ごとの平均全体正解率を、直交座標系（縦軸：平均全体正解率、横軸：時間）にプロットしたものである。
【０１１６】
調整部７０４は、算出した日ごとの平均全体正解率に基づいて、システム全体としてのアクセス効率の傾向を判定する。具体的には、例えば、調整部７０４は、算出した日ごとの平均全体正解率に基づき回帰分析を行って、全体正解率の時系列変化を表す直線（例えば、直線１３０１）の傾きを算出する。そして、調整部７０４は、算出した直線の傾きに基づいて、アクセス効率が上昇傾向（増加）にあるか、アクセス効率が下降傾向（減少）にあるかを判定する。
【０１１７】
例えば、調整部７０４は、算出した直線の傾きが所定値α以上であれば、アクセス効率が上昇傾向にあると判定する。一方、調整部７０４は、算出した直線の傾きが所定値β以下であれば、アクセス効率が下降傾向にあると判定する。なお、所定値α，βは、任意に設定可能である。
【０１１８】
そして、アクセス効率が下降傾向にあると判断した場合、調整部７０４は、上記式（２）および上記式（３）に含まれるＬｅｖｅｌを下げる。これにより、第１候補と第２候補との間で入れ替えが積極的に行われるようにして、第１候補と第２候補との間で入れ替えるＦＡＱの数を増加させることができる。
【０１１９】
一方、アクセス効率が上昇傾向にあると判断した場合、調整部７０４は、上記式（２）および上記式（３）に含まれるＬｅｖｅｌを上げる。これにより、第１候補と第２候補との間で入れ替えが行われるのを抑制して、第１候補と第２候補との間で入れ替えるＦＡＱの数を減少させることができる。
【０１２０】
なお、Ｌｅｖｅｌの下げ幅、上げ幅は、あらかじめ設定されてメモリ３０２、ディスク３０５などの記憶装置に記憶されている。また、Ｌｅｖｅｌの調整は、例えば、一定期間（例えば、１日、１週間、１ヶ月など）ごとに行われる。
【０１２１】
（ＦＡＱのリランキング例）
つぎに、図１４〜図１７を用いて、ＦＡＱのリランキング例について説明する。まず、図１４および図１５を用いて、検索ワード「キャンセル」が入力された場合のＦＡＱのリランキング例について説明する。
【０１２２】
図１４は、検索ワードに対応する複数のＦＡＱの一例を示す説明図（その１）である。また、図１５は、ＦＡＱのリランキング例を示す説明図（その１）である。図１４において、ＴＦ−ＩＤＦ法を利用した検索アルゴリズムを用いて特定された、検索ワード「キャンセル」に対応する１０個のＦＡＱが優先順位に従って表示されている。
【０１２３】
ここでは、第１候補は、優先順位が高い上位３個のＦＡＱとする（Ｎ＝３）。また、各ＦＡＱのアクセス効率は、各ＦＡＱの個別アクセス数、全体アクセス数から上記式（１）を用いて算出されているものとする。第１候補のうちの最大アクセス効率は、「０．１０」である。また、Ｌｅｖｅｌを「Ｌｅｖｅｌ＝０．８」とする。
【０１２４】
この場合、ＢＰ値は、上記式（２）から、「ＢＰ＝０．１０×（１−０．８）＝０．０２」となる。このため、調整部７０４は、第１候補のうちアクセス効率がＢＰ値を下回るＦＡＱ１５２を入れ替え対象のＦＡＱとして選択する。また、ＧＰ値は、上記式（３）から、「ＧＰ＝０．１０×０．８＝０．０８」となる。このため、調整部７０４は、第２候補のうちアクセス効率がＧＰ値を上回るＦＡＱ１５１を入れ替え対象のＦＡＱとして選択する。
【０１２５】
なお、第２候補のうちアクセス効率がＧＰ値を上回るＦＡＱが複数存在する場合がある。この場合、調整部７０４は、例えば、第２候補のうちアクセス効率が最大のＦＡＱを入れ替え対象のＦＡＱとして選択することにしてもよい。
【０１２６】
そして、調整部７０４は、第１候補のうちのＦＡＱ１５２を、第２候補のうちのＦＡＱ１５１と入れ替える。この結果、ＦＡＱ１５２の優先順位が「１」から「７」になり、ＦＡＱ１５１の優先順位が「７」から「１」になり、検索ワード「キャンセル」に対応するＦＡＱの優先順位が調整される。
【０１２７】
この場合、決定部７０５は、第１候補のうちのＦＡＱ１５２を、第２候補のうちのＦＡＱ１５１と入れ替えた後の第１候補を、出力対象のＦＡＱに決定する。この結果、図１５に示すように、出力対象のＦＡＱが、「ＦＡＱ１５２，ＦＡＱ１５３，ＦＡＱ２１４」から「ＦＡＱ１５１，ＦＡＱ１５３，ＦＡＱ２１４」に変化する。
【０１２８】
これにより、優先順位「１」のＦＡＱとして、個別アクセス数が「０」であったＦＡＱ１５２を、個別アクセス数が「８」のＦＡＱ１５１と入れ替えることができ、検索ワード「キャンセル」に対してより有効なＦＡＱを出力することが可能となる。
【０１２９】
つぎに、図１６および図１７を用いて、検索ワード「支払い方法は」が入力された場合のＦＡＱのリランキング例について説明する。検索ワード「支払い方法は」は、複数の形態素（支払、方法）を含む検索ワードである。
【０１３０】
図１６は、検索ワードに対応する複数のＦＡＱの一例を示す説明図（その２）である。また、図１７は、ＦＡＱのリランキング例を示す説明図（その２）である。図１６において、ＴＦ−ＩＤＦ法を利用した検索アルゴリズムを用いて特定された、検索ワード「支払い方法は」に対応する１０個のＦＡＱが優先順位に従って表示されている。
【０１３１】
ここでは、第１候補は、優先順位が高い上位３個のＦＡＱとする（Ｎ＝３）。また、各ＦＡＱのアクセス効率は、各ＦＡＱの個別アクセス数、全体アクセス数から上記式（１）を用いて算出されているものとする。第１候補のうちの最大アクセス効率は、「０．０３」である。また、Ｌｅｖｅｌを「Ｌｅｖｅｌ＝０．８」とする。
【０１３２】
この場合、ＢＰ値は、上記式（２）から、「ＢＰ＝０．０３×（１−０．８）＝０．００６」となる。このため、調整部７０４は、第１候補のうちアクセス効率がＢＰ値を下回るＦＡＱ１１３，ＦＡＱ２５９を入れ替え対象のＦＡＱとして選択する。また、ＧＰ値は、上記式（３）から、「ＧＰ＝０．０３×０．８＝０．０２４」となる。
【０１３３】
このため、調整部７０４は、第２候補のうちアクセス効率がＧＰ値を上回るＦＡＱ２６１を入れ替え対象のＦＡＱとして選択する。そして、調整部７０４は、第１候補のうちのＦＡＱ１１３を、第２候補のうちのＦＡＱ２６１と入れ替える。この結果、ＦＡＱ１１３の優先順位が「１」から「８」になり、ＦＡＱ２６１の優先順位が「８」から「１」になる。
【０１３４】
ここで、ＦＡＱ２６１以外には、第２候補のうちアクセス効率がＧＰ値を上回るＦＡＱが存在しない。この場合、調整部７０４は、第２候補のうちＦＡＱ２６１を除く他のＦＡＱからいずれかのＦＡＱをランダムに選択する。ここでは、第２候補のうちのＦＡＱ２６２が選択された場合を想定する。
【０１３５】
そして、調整部７０４は、第１候補のうちのＦＡＱ２５９を、第２候補のうちのＦＡＱ２６２と入れ替える。この結果、ＦＡＱ２５９の優先順位が「３」から「４」になり、ＦＡＱ２６２の優先順位が「４」から「３」になり、検索ワード「支払い方法は」に対応するＦＡＱの優先順位が調整される。
【０１３６】
この場合、決定部７０５は、第１候補のうちのＦＡＱ１１３，ＦＡＱ２５９を、第２候補のうちのＦＡＱ２６１，ＦＡＱ２６２と入れ替えた後の第１候補を、出力対象のＦＡＱに決定する。この結果、図１７に示すように、出力対象のＦＡＱが、「ＦＡＱ１１３，ＦＡＱ２６３，ＦＡＱ２５９」から「ＦＡＱ２６１，ＦＡＱ２６３，ＦＡＱ２６２」に変化する。
【０１３７】
これにより、優先順位「１」のＦＡＱとして、個別アクセス数が「０」であったＦＡＱ１１３を、個別アクセス数が「２」のＦＡＱ２６１と入れ替えることができ、検索ワード「支払い方法は」に対してより有効なＦＡＱを出力することが可能となる。また、優先順位「３」のＦＡＱとして、個別アクセス数が「０」であったＦＡＱ２５９を、第２候補からランダムに選択したＦＡＱ２６２と入れ替えてアクセス傾向が現れるのを待つことができる。
【０１３８】
（情報処理装置１０１の回答出力処理手順）
つぎに、図１８を用いて、情報処理装置１０１の回答出力処理手順について説明する。
【０１３９】
図１８は、情報処理装置１０１の回答出力処理手順の一例を示すフローチャートである。図１８のフローチャートにおいて、まず、情報処理装置１０１は、検索ワードの入力を受け付けたか否かを判断する（ステップＳ１８０１）。ここで、情報処理装置１０１は、検索ワードの入力を受け付けるのを待つ（ステップＳ１８０１：Ｎｏ）。
【０１４０】
そして、情報処理装置１０１は、検索ワードの入力を受け付けた場合（ステップＳ１８０１：Ｙｅｓ）、検索アルゴリズムを用いて、入力された検索ワードに対応する複数のＦＡＱを、優先順位を含めて特定する（ステップＳ１８０２）。つぎに、情報処理装置１０１は、優先順位に基づいて、特定した複数のＦＡＱの中から第１候補と第２候補とを特定する（ステップＳ１８０３）。
【０１４１】
そして、情報処理装置１０１は、チャットログＤＢ２３０を参照して、特定した複数のＦＡＱそれぞれに対する、入力された検索ワードにおけるアクセス効率を算出する（ステップＳ１８０４）。つぎに、情報処理装置１０１は、上記式（２）および上記式（３）を用いて、算出したアクセス効率に基づいて、ＢＰ値およびＧＰ値を算出する（ステップＳ１８０５）。
【０１４２】
そして、情報処理装置１０１は、特定した複数のＦＡＱの優先順位を調整する調整処理を実行する（ステップＳ１８０６）。なお、調整処理の具体的な処理手順については、図１９を用いて後述する。
【０１４３】
つぎに、情報処理装置１０１は、調整後の優先順位に基づいて、複数のＦＡＱの中から、出力対象のＦＡＱを決定する（ステップＳ１８０７）。そして、情報処理装置１０１は、決定した出力対象のＦＡＱを、入力された検索ワードに対する検索結果として出力する（ステップＳ１８０８）。
【０１４４】
つぎに、情報処理装置１０１は、ステップＳ１８０５の調整処理の結果に基づいて、検索ワードにおける全体正解率を算出する（ステップＳ１８０９）。そして、情報処理装置１０１は、当日の日付と対応付けて、算出した全体正解率を全体正解率テーブル１２００に記憶して（ステップＳ１８１０）、本フローチャートによる一連の処理を終了する。
【０１４５】
これにより、検索ワードに対する検索結果として出力するＦＡＱを最適化することができる。なお、ステップＳ１８０２において、ＦＡＱが特定されなかった場合には、情報処理装置１０１は、入力された検索ワードに対してＦＡＱが検索されなかったことを示す検索結果を出力する。また、ＦＡＱが１個のみ特定された場合には、情報処理装置１０１は、特定したＦＡＱを入力された検索ワードに対する検索結果として出力する。
【０１４６】
つぎに、ステップＳ１８０６の調整処理の具体的な処理手順について説明する。
【０１４７】
図１９は、調整処理の具体的処理手順の一例を示すフローチャートである。図１９のフローチャートにおいて、まず、情報処理装置１０１は、第１候補から選択されていないアクセス効率がＢＰ値を下回る未選択のＦＡＱがあるか否かを判断する（ステップＳ１９０１）。
【０１４８】
ここで、未選択のＦＡＱがある場合（ステップＳ１９０１：Ｙｅｓ）、情報処理装置１０１は、第１候補から選択されていないアクセス効率がＢＰ値を下回るＦＡＱを選択する（ステップＳ１９０２）。つぎに、情報処理装置１０１は、第２候補のうちアクセス効率がＧＰ値を上回るＦＡＱを検索する（ステップＳ１９０３）。
【０１４９】
そして、情報処理装置１０１は、アクセス効率がＧＰ値を上回るＦＡＱが検索されたか否かを判断する（ステップＳ１９０４）。ここで、ＦＡＱが検索された場合（ステップＳ１９０４：Ｙｅｓ）、情報処理装置１０１は、ステップＳ１９０２において選択したＦＡＱを、ステップＳ１９０３において検索したＦＡＱと入れ替えて（ステップＳ１９０５）、ステップＳ１９０１に戻る。
【０１５０】
一方、ＦＡＱが検索されなかった場合（ステップＳ１９０４：Ｎｏ）、情報処理装置１０１は、第２候補からいずれかのＦＡＱをランダムに選択する（ステップＳ１９０６）。そして、情報処理装置１０１は、ステップＳ１９０２において選択したＦＡＱを、ステップＳ１９０６において選択したＦＡＱと入れ替えて（ステップＳ１９０７）、ステップＳ１９０１に戻る。
【０１５１】
また、ステップＳ１９０１において、アクセス効率がＢＰ値を下回る未選択のＦＡＱがない場合（ステップＳ１９０１：Ｎｏ）、情報処理装置１０１は、調整処理を呼び出したステップに戻る。これにより、検索ワードに応じて検索された複数のＦＡＱの優先順位を調整することができる。
【０１５２】
（情報処理装置１０１のＬｅｖｅｌ調整処理手順）
つぎに、図２０を用いて、情報処理装置１０１のＬｅｖｅｌ調整処理手順について説明する。Ｌｅｖｅｌ調整処理は、上記式（２）および上記式（３）に含まれるＬｅｖｅｌを調整する処理であり、例えば、１日、１週間、１ヶ月などの一定期間ごとに行われる。
【０１５３】
図２０は、情報処理装置１０１のＬｅｖｅｌ調整処理手順の一例を示すフローチャートである。図２０のフローチャートにおいて、まず、情報処理装置１０１は、全体正解率テーブル１２００を参照して、日ごとの平均全体正解率を算出する（ステップＳ２００１）。つぎに、情報処理装置１０１は、算出した日ごとの平均全体正解率に基づいて、回帰分析を実行する（ステップＳ２００２）。
【０１５４】
そして、情報処理装置１０１は、アクセス効率が上昇傾向にあるか否かを判断する（ステップＳ２００３）。ここで、アクセス効率が上昇傾向にある場合（ステップＳ２００３：Ｙｅｓ）、情報処理装置１０１は、あらかじめ設定された上げ幅分、Ｌｅｖｅｌを上げて（ステップＳ２００４）、本フローチャートによる一連の処理を終了する。
【０１５５】
また、ステップＳ２００３において、アクセス効率が上昇傾向にない場合（ステップＳ２００３：Ｎｏ）、情報処理装置１０１は、アクセス効率が下降傾向にあるか否かを判断する（ステップＳ２００５）。ここで、アクセス効率が下降傾向にある場合（ステップＳ２００５：Ｙｅｓ）、情報処理装置１０１は、あらかじめ設定された下げ幅分、Ｌｅｖｅｌを下げて（ステップＳ２００６）、本フローチャートによる一連の処理を終了する。
【０１５６】
また、ステップＳ２００５において、アクセス効率が下降傾向にない場合（ステップＳ２００５：Ｎｏ）、情報処理装置１０１は、本フローチャートによる一連の処理を終了する。
【０１５７】
これにより、検索ワードに応じて出力したＦＡＱに対するシステム全体のアクセス効率の傾向に基づいて、Ｌｅｖｅｌを調整することができる。この結果、第１候補と第２候補との間でＦＡＱの入れ替えが積極的に行われるようにしたり、第１候補と第２候補との間でＦＡＱの入れ替えが頻繁に行われるのを抑制したりして、第１候補と第２候補との間で入れ替えるＦＡＱの数を調整することが可能となる。
【０１５８】
以上説明したように、実施の形態にかかる情報処理装置１０１によれば、検索ワードの入力を受け付けた場合、検索アルゴリズムを用いて検索ワードに対応する複数のＦＡＱを、優先順位を含めて特定することができる。検索アルゴリズムは、例えば、ＴＦ−ＩＤＦ法を用いて計算される類似度を利用したアルゴリズムである。また、情報処理装置１０１によれば、チャットログＤＢ２３０を参照して、特定した複数のＦＡＱそれぞれについて、検索ワードにおけるアクセス効率を算出することができる。そして、情報処理装置１０１によれば、算出した各ＦＡＱのアクセス効率に基づいて、複数のＦＡＱの優先順位を調整し、調整後の優先順位に基づいて、複数のＦＡＱの中から出力する１または複数のＦＡＱを決定して出力することができる。
【０１５９】
これにより、過去のアクセス履歴に基づく検索ワードにおけるアクセス効率に応じて、ＴＦ−ＩＤＦ法等を利用した検索アルゴリズムにより特定したＦＡＱの優先順位を調整して、検索ワードに対する検索結果として出力するＦＡＱを最適化することができる。アクセス効率は、検索ワードに対してＦＡＱを出力した際に当該ＦＡＱが選択される割合の高さを示す指標値である。例えば、今回入力された検索ワードと同一または類似の検索ワードが入力された際の過去のアクセス数が少ないＦＡＱのアクセス効率は低くなる。
【０１６０】
また、情報処理装置１０１によれば、複数のＦＡＱを特定する際に、優先順位に基づいて、複数のＦＡＱの中から出力候補とする第１候補を特定することができる。そして、情報処理装置１０１によれば、算出したアクセス効率に基づいて、第１候補の一部または全部を、複数のＦＡＱのうち第１候補以外の第２候補の一部または全部と入れ替えて、複数のＦＡＱの優先順位を調整することができる。具体的には、例えば、情報処理装置１０１は、第１候補のうちアクセス効率がＢＰ値を下回るＦＡＱを、第２候補のうちアクセス効率がＧＰ値を上回るＦＡＱと入れ替えることができる。
【０１６１】
換言すれば、情報処理装置１０１によれば、提示した複数のＦＡＱ（検索結果アイテム）について、選択操作が所定の基準を下回るＦＡＱを不正解教師データとして機械学習して、１画面で表示される候補として選択されなかった他のＦＡＱが検索による表示候補にあがりやすくすることができる。
【０１６２】
これにより、第１候補のうちアクセス効率が悪いと判断されたＦＡＱを、第２の候補のうちアクセス効率が良いと判断されたＦＡＱと入れ替えて、検索ワードに対する検索結果として出力するＦＡＱを最適化することができる。
【０１６３】
また、情報処理装置１０１によれば、第２候補のうちアクセス効率がＧＰ値を上回るＦＡＱがない場合には、第２候補のうちのいずれかのＦＡＱをランダムに選択し、第１候補のうちアクセス効率がＢＰ値を下回るＦＡＱを、選択したＦＡＱと入れ替えることができる。
【０１６４】
これにより、第１候補にアクセス効率が悪いＦＡＱがあれば、第２候補にアクセス効率が良いＦＡＱがなくても、第２候補のいずれかのＦＡＱと強制的に入れ替えることができ、ＦＡＱの並びが固定化されるのを防いで学習効率を向上させることができる。このため、例えば、検索ワードに対するＦＡＱのアクセス傾向が現れていないようなときに、ランダムに選択したＦＡＱを出力してアクセス傾向が現れるのを待つことができる。
【０１６５】
また、情報処理装置１０１によれば、複数のＦＡＱのアクセス履歴に基づいて、第１候補と第２候補との間で入れ替えるＦＡＱの数を調整することができる。具体的には、例えば、情報処理装置１０１は、複数のＦＡＱのアクセス履歴から、アクセス効率が下降していると判定した場合に、第１候補と第２候補との間で入れ替えるＦＡＱの数を増加させることができる。また、情報処理装置１０１は、複数のＦＡＱのアクセス履歴から、アクセス効率が上昇していると判定した場合に、第１候補と第２候補との間で入れ替えるＦＡＱの数を減少させることができる。
【０１６６】
これにより、検索ワードに応じて出力したＦＡＱに対するシステム全体のアクセス効率の傾向に基づいて、第１候補と第２候補との間で入れ替えるＦＡＱの数を調整することができる。例えば、システム全体のアクセス効率が下降傾向にあれば、第１候補と第２候補との間でＦＡＱの入れ替えが積極的に行われるように調整することができる。一方、システム全体のアクセス効率が上昇傾向にあれば、第１候補と第２候補との間でＦＡＱの入れ替えが頻繁に行われないように調整することができる。
【０１６７】
また、情報処理装置１０１によれば、出力する１または複数のＦＡＱを決定すると、その都度、第１候補の一部または全部を第２候補の一部または全部と入れ替えた結果に基づいて、検索ワードにおける全体正解率を算出することができる。そして、情報処理装置１０１によれば、算出した全体正解率の時系列変化に基づいて、アクセス効率が下降または上昇しているかを判定することができる。
【０１６８】
これにより、検索ワードに応じて出力したＦＡＱに対するシステム全体のアクセス効率の傾向を判定することができる。
【０１６９】
また、情報処理装置１０１によれば、入れ替えによって出力すると決定された第２候補に含まれる１または複数のＦＡＱの出力される順序位置を、入れ替え対象となって出力されなくなった第１候補に含まれるＦＡＱの順序位置とすることができる。
【０１７０】
これらのことから、実施の形態にかかる情報処理装置１０１によれば、検索ワードに対する検索結果として出力するＦＡＱを、検索時点での各ＦＡＱのアクセス効率をもとに最適化することができる。これにより、例えば、過去に一度もアクセスされていないようなＦＡＱが出力されるのを防ぐことができる。このため、表示枠に並べられるＦＡＱの数が少ないチャットボット向けのＦＡＱシステムであっても、ユーザが期待するＦＡＱを高精度に絞り込むことが可能となり、ユーザの利便性の向上を図ることができる。
【０１７１】
なお、上述した説明では、ＦＡＱの検索結果を複数ページに渡って配置しない、すなわち、ＦＡＱの検索結果に対して、ページの考え方を採用しない場合を例に挙げて説明したが、これに限らない。例えば、回答出力システム２００において、ＦＡＱの検索結果を複数ページに渡って配置することにしてもよい。
【０１７２】
例えば、図６に示したような問い合わせ画面６００において、ページの切り替えを行うためのボタンを設け、優先順位が高い上位Ｎ件のＦＡＱを１ページ目に表示し、それ以外のＦＡＱについては、優先順位に従って２ページ目に表示することにしてもよい。
【０１７３】
この場合、情報処理装置１０１は、調整部７０４により、複数ページに渡って配置した複数の検索結果アイテムのうち、第２ページ以降のページに配置した検索結果アイテムのそれぞれに対する過去の選択操作に応じて正解の検索結果アイテムを特定する。
【０１７４】
ここで、複数ページに渡って配置した複数の検索結果アイテムのうち、第１ページに配置した検索結果アイテムは、上述した第１候補に対応する。第２ページ以降に配置した検索結果アイテムは、上述した第２候補に対応する。また、正解の検索結果アイテムは、第１候補のＦＡＱと入れ替える第２候補のＦＡＱに対応する。具体的には、例えば、調整部７０４は、動線分析結果テーブル９００を参照して、第２ページ以降のページに配置したＦＡＱのうちアクセス効率がＧＰ値を上回るＦＡＱを、正解の検索結果アイテムとして特定する。
【０１７５】
そして、情報処理装置１０１は、調整部７０４により、特定した該正解の検索結果アイテムを正解教師データとして第１の機械学習を実行する。具体的には、例えば、調整部７０４は、特定した該正解の検索結果アイテムを正解教師データとして、第１ページに配置した検索結果アイテムと入れ替えて、複数のＦＡＱの優先順位を調整する。第１ページの入れ替え対象となる検索結果アイテムは、例えば、アクセス効率がＢＰ値を下回るＦＡＱである。
【０１７６】
つぎに、情報処理装置１０１は、決定部７０５により、第１の機械学習の学習結果を適用する。そして、情報処理装置１０１は、出力部７０６により、１画面に収まる数に制限した複数の検索結果アイテムを表示する。表示される複数の検索結果アイテムは、例えば、図６に示したＦＡＱ６１１〜６１３である。具体的には、例えば、決定部７０５は、第１ページに配置した検索結果アイテムを、出力対象のＦＡＱに決定する。そして、出力部７０６は、決定された出力対象のＦＡＱを示す情報を、検索ワードに対する検索結果として端末２０１に送信する。
【０１７７】
また、情報処理装置１０１は、調整部７０４により、表示した該複数の検索結果アイテムの選択操作に応じて不正解の検索結果アイテムを特定する。具体的には、例えば、調整部７０４は、動線分析結果テーブル９００を参照して、第１ページに配置したＦＡＱのうちアクセス効率がＢＰ値を下回るＦＡＱを、不正解の検索結果アイテムとして特定する。
【０１７８】
そして、情報処理装置１０１は、調整部７０４により、特定した該不正解の検索結果アイテムを不正解教師データとして第２の機械学習を実行する。具体的には、例えば、調整部７０４は、特定した該不正解の検索結果アイテムを不正解教師データとして、第２ページ以降のページに配置した検索結果アイテムと入れ替えて、複数のＦＡＱの優先順位を調整する。第２ページ以降のページの入れ替え対象となる検索結果アイテムは、例えば、アクセス効率がＧＰ値を上回るＦＡＱである。
【０１７９】
つぎに、情報処理装置１０１は、決定部７０５により、第２の機械学習の学習結果を適用して、検索結果アイテムを選択する。そして、情報処理装置１０１は、出力部７０６により、選択された検索結果アイテムを表示する。具体的には、例えば、決定部７０５は、第１ページに配置した検索結果アイテムを、出力対象のＦＡＱに決定する。そして、出力部７０６は、決定された出力対象のＦＡＱを示す情報を、検索ワードに対する検索結果として端末２０１に送信する。
【０１８０】
これにより、ＦＡＱの検索結果を複数ページに渡って配置するＦＡＱシステムであっても、過去のアクセス履歴に基づく検索ワードにおけるアクセス効率に応じて、検索ワードに対する検索結果として出力するＦＡＱを最適化することができる。
【０１８１】
なお、本実施の形態で説明した回答出力方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本回答出力プログラム、機械学習プログラムは、ハードディスク、フレキシブルディスク、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｋ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本回答出力プログラム、機械学習プログラムは、インターネット等のネットワークを介して配布してもよい。
【符号の説明】
【０１８２】
１０１  情報処理装置
１１０，７１０  記憶部
２００  回答出力システム
２０１  端末
２１０  ネットワーク
２２０  ＦＡＱマスタ
２３０  チャットログＤＢ
３００  バス
３０１  ＣＰＵ
３０２  メモリ
３０３  Ｉ／Ｆ
３０４  ディスクドライブ
３０５  ディスク
６００  問い合わせ画面
６１０  表示枠
７０１  受付部
７０２  特定部
７０３  算出部
７０４  調整部
７０５  決定部
７０６  出力部
８００  動線分析元情報
９００  動線分析結果テーブル
１２００  全体正解率テーブル
【図１】
2019187120.tif 000003
【図２】
2019187120.tif 000004
【図３】
2019187120.tif 000005
【図４】
2019187120.tif 000006
【図５】
2019187120.tif 000007
【図６】
2019187120.tif 000008
【図７】
2019187120.tif 000009
【図８】
2019187120.tif 000010
【図９】
2019187120.tif 000011
【図１０】
2019187120.tif 000012
【図１１】
2019187120.tif 000013
【図１２】
2019187120.tif 000014
【図１３】
2019187120.tif 000015
【図１４】
2019187120.tif 000016
【図１５】
2019187120.tif 000017
【図１６】
2019187120.tif 000018
【図１７】
2019187120.tif 000019
【図１８】
2019187120.tif 000020
【図１９】
2019187120.tif 000021
【図２０】
2019187120.tif 000022
【手続補正書】
【提出日】令和2年5月20日(2020.5.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
質問データの入力を受け付けた場合、検索アルゴリズムを用いて前記質問データに対応する複数の回答候補データを、優先順位を含めて特定し、
過去の回答候補データへのアクセス履歴を記憶する記憶部を参照して、特定した前記複数の回答候補データのそれぞれにおけるアクセス履歴に基づいて、前記複数の回答候補データそれぞれに対する前記質問データによるアクセス率を算出し、
算出した前記アクセス率に基づいて前記複数の回答候補データの優先順位を調整し、
調整後の優先順位に基づいて前記複数の回答候補データの中から出力する１または複数の回答候補データを決定して出力する、
処理をコンピュータに実行させることを特徴とする回答出力プログラム。
【請求項２】
前記複数の回答候補データを特定する際に、優先順位に基づいて前記複数の回答候補データの中から出力候補とする第１の回答候補データを特定し、
算出した前記アクセス率に基づいて出力候補とする前記第１の回答候補データの一部または全部を、前記複数の回答候補データのうち前記第１の回答候補データ以外の第２の回答候補データの一部または全部と入れ替えて前記複数の回答候補データの優先順位を調整する、
ことを特徴とする請求項１に記載の回答出力プログラム。
【請求項３】
前記第１の回答候補データを特定する際に、前記複数の回答候補データのアクセス履歴に基づいて前記第１の回答候補データと前記第２の回答候補データとの間で入れ替える回答候補データの数を調整する、
ことを特徴とする請求項２に記載の回答出力プログラム。
【請求項４】
前記複数の回答候補データのアクセス履歴から前記アクセス率が減少していると判定した場合に、前記第１の回答候補データと前記第２の回答候補データとの間で入れ替える回答候補データの数を増加させる、
ことを特徴とする請求項３に記載の回答出力プログラム。
【請求項５】
前記複数の回答候補データのアクセス履歴から前記アクセス率が増加していると判定した場合に、前記第１の回答候補データと前記第２の回答候補データとの間で入れ替える回答候補データの数を減少させる、
ことを特徴とする請求項３に記載の回答出力プログラム。
【請求項６】
前記複数の回答候補データの中から出力する１または複数の回答候補データを決定して出力する際に、入れ替えによって出力すると決定された前記第２の回答候補データに含まれる１または複数の回答候補データの出力される順序位置は、入れ替え対象となって出力されなくなった前記第１の回答候補データに含まれる回答候補データの順序位置である、
ことを特徴とする請求項２に記載の回答出力プログラム。
【請求項７】
前記検索アルゴリズムは、回答候補データに含まれる特徴語に基づいて、前記質問データに対応する回答候補データを特定するアルゴリズムである、
ことを特徴とする請求項１に記載の回答出力プログラム。
【請求項８】
質問データの入力を受け付けた場合、検索アルゴリズムを用いて前記質問データに対応する複数の回答候補データを、優先順位を含めて特定し、
過去の回答候補データへのアクセス履歴を記憶する記憶部を参照して、特定した前記複数の回答候補データのそれぞれにおけるアクセス履歴に基づいて、前記複数の回答候補データそれぞれに対する前記質問データによるアクセス率を算出し、
算出した前記アクセス率に基づいて前記複数の回答候補データの優先順位を調整し、
調整後の優先順位に基づいて前記複数の回答候補データの中から出力する１または複数の回答候補データを決定して出力する、
処理をコンピュータが実行することを特徴とする回答出力方法。
【請求項９】
質問データの入力を受け付けた場合、検索アルゴリズムを用いて前記質問データに対応する複数の回答候補データを、優先順位を含めて特定し、
過去の回答候補データへのアクセス履歴を記憶する記憶部を参照して、特定した前記複数の回答候補データのそれぞれにおけるアクセス履歴に基づいて、前記複数の回答候補データそれぞれに対する前記質問データによるアクセス率を算出し、
算出した前記アクセス率に基づいて前記複数の回答候補データの優先順位を調整し、
調整後の優先順位に基づいて前記複数の回答候補データの中から出力する１または複数の回答候補データを決定して出力する、
制御部を有することを特徴とする情報処理装置。
【請求項１０】
複数ページに渡って配置した複数の検索結果アイテムのうち、第２ページ以降のページに配置した検索結果アイテムのそれぞれに対する過去の選択操作に応じて正解の検索結果アイテムを特定して、特定した該正解の検索結果アイテムを正解教師データとして第１の機械学習を実行し、
前記第１の機械学習の学習結果を適用して、１画面に収まる数に制限した複数の検索結果アイテムを表示し、
表示した該複数の検索結果アイテムの選択操作に応じて不正解の検索結果アイテムを特定して、特定した該不正解の検索結果アイテムを不正解教師データとして第２の機械学習を実行し、
前記第２の機械学習の学習結果を適用して、検索結果アイテムを選択する、
処理をコンピュータに実行させることを特徴とする機械学習プログラム。
【請求項１１】
検索結果を複数ページに渡って表示可能な状況における検索結果アイテムの選択操作に応じて正解検索結果アイテムを特定して、正解教師データとして機械学習された検索システムで、１画面で表示可能な数に制限して検索結果アイテムを表示可能な状況において検索処理を実行させた場合に、前記１画面で表示された検索アイテムに対する選択操作に応じて不正解検索結果アイテムを特定して、不正解教師データとして機械学習する、
処理をコンピュータに実行させることを特徴とする機械学習プログラム。
【請求項１２】
１画面で表示可能な数に制限して複数の検索結果アイテムを選択して提示し、
提示した前記複数の検索結果アイテムについて、選択操作が所定の基準を下回る検索結果アイテムを不正解教師データとして機械学習して、前記１画面で表示される候補として選択されなかった他の検索結果アイテムが検索による表示候補にあがりやすくする、
処理をコンピュータに実行させることを特徴とする機械学習プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回答出力プログラム、回答出力方法、情報処理装置および機械学習プログラムに関する。
【背景技術】
【０００２】
近年、チャットボットと呼ばれる技術を利用したＦＡＱ（Ｆｒｅｑｕｅｎｔｌｙ  Ａｓｋｅｄ  Ｑｕｅｓｔｉｏｎ）システムを導入するコールセンサが増えている。チャットボットは、人工知能を利用して、人間との対話やメッセージのやりとりを行うコンピュータシステムである。
【０００３】
先行技術としては、ヒットした各サイトについて、所定のアルゴリズムでそれぞれ計算したスコアに応じた順位データを基礎として、各サイトを表示する順位を決定する際、あらかじめ決められたタイミングで、順位データに対して、シャッフル対象範囲ごとに、スコアを無視するシャッフルを行い、各サイトを表示する順位を決定するものがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１３４８８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、入力された質問に対して出力する回答候補を最適化することが難しい。例えば、既存の検索アルゴリズムでは、過去に一度もアクセスされていないものについても回答候補として出力されてしまうことがある。
【０００６】
一つの側面では、本発明は、質問に対して出力する回答候補データを最適化することを目的とする。
【課題を解決するための手段】
【０００７】
１つの実施態様では、質問データの入力を受け付けた場合、検索アルゴリズムを用いて前記質問データに対応する複数の回答候補データを、優先順位を含めて特定し、過去の回答候補データへのアクセス履歴を記憶する記憶部を参照して、特定した前記複数の回答候補データのそれぞれにおけるアクセス履歴に基づいて、前記複数の回答候補データそれぞれに対する前記質問データによるアクセス率を算出し、算出した前記アクセス率に基づいて前記複数の回答候補データの優先順位を調整し、調整後の優先順位に基づいて前記複数の回答候補データの中から出力する１または複数の回答候補データを決定して出力する、回答出力プログラムが提供される。
【０００８】
また、１つの実施態様では、複数ページに渡って配置した複数の検索結果アイテムのうち、第２ページ以降のページに配置した検索結果アイテムのそれぞれに対する過去の選択操作に応じて正解の検索結果アイテムを特定して、特定した該正解の検索結果アイテムを正解教師データとして第１の機械学習を実行し、前記第１の機械学習の学習結果を適用して、１画面に収まる数に制限した複数の検索結果アイテムを表示し、表示した該複数の検索結果アイテムの選択操作に応じて不正解の検索結果アイテムを特定して、特定した該不正解の検索結果アイテムを不正解教師データとして第２の機械学習を実行し、前記第２の機械学習の学習結果を適用して、検索結果アイテムを選択する、機械学習プログラムが提供される。
【０００９】
また、１つの実施態様では、検索結果を複数ページに渡って表示可能な状況における検索結果アイテムの選択操作に応じて正解検索結果アイテムを特定して、正解教師データとして機械学習された検索システムで、１画面で表示可能な数に制限して検索結果アイテムを表示可能な状況において検索処理を実行させた場合に、前記１画面で表示された検索アイテムに対する選択操作に応じて不正解検索結果アイテムを特定して、不正解教師データとして機械学習する、機械学習プログラムが提供される。
【００１０】
また、１つの実施態様では、１画面で表示可能な数に制限して複数の検索結果アイテムを選択して提示し、提示した前記複数の検索結果アイテムについて、選択操作が所定の基準を下回る検索結果アイテムを不正解教師データとして機械学習して、前記１画面で表示される候補として選択されなかった他の検索結果アイテムが検索による表示候補にあがりやすくする、機械学習プログラムが提供される。
【発明の効果】
【００１１】
本発明の一側面によれば、質問に対して出力する回答候補を最適化することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施の形態にかかる回答出力方法の一実施例を示す説明図である。
【図２】図２は、回答出力システム２００のシステム構成例を示す説明図である。
【図３】図３は、情報処理装置１０１のハードウェア構成例を示すブロック図である。
【図４】図４は、ＦＡＱマスタ２２０の記憶内容の一例を示す説明図である。
【図５】図５は、チャットログＤＢ２３０の記憶内容の一例を示す説明図である。
【図６】図６は、問い合わせ画面６００の画面例を示す説明図である。
【図７】図７は、情報処理装置１０１の機能的構成例を示すブロック図である。
【図８】図８は、動線分析元情報の具体例を示す説明図である。
【図９】図９は、動線分析結果テーブル９００の記憶内容の一例を示す説明図である。
【図１０】図１０は、混合行列の具体例を示す説明図（その１）である。
【図１１】図１１は、混合行列の具体例を示す説明図（その２）である。
【図１２】図１２は、全体正解率テーブル１２００の記憶内容の一例を示す説明図である。
【図１３】図１３は、平均全体正解率の時系列変化を示す説明図である。
【図１４】図１４は、検索ワードに対応する複数のＦＡＱの一例を示す説明図（その１）である。
【図１５】図１５は、ＦＡＱのリランキング例を示す説明図（その１）である。
【図１６】図１６は、検索ワードに対応する複数のＦＡＱの一例を示す説明図（その２）である。
【図１７】図１７は、ＦＡＱのリランキング例を示す説明図（その２）である。
【図１８】図１８は、情報処理装置１０１の回答出力処理手順の一例を示すフローチャートである。
【図１９】図１９は、調整処理の具体的処理手順の一例を示すフローチャートである。
【図２０】図２０は、情報処理装置１０１のＬｅｖｅｌ調整処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下に図面を参照して、本発明にかかる回答出力プログラム、回答出力方法、情報処理装置および機械学習プログラムの実施の形態を詳細に説明する。
【００１４】
（実施の形態）
図１は、実施の形態にかかる回答出力方法の一実施例を示す説明図である。図１において、情報処理装置１０１は、入力された質問データに対して回答候補データを出力するコンピュータである。質問データは、何らかの問題の解決方法を問うものである。また、質問データは、話し言葉による問いかけであってもよい。質問データは、単語または複数の単語の組み合わせによって表現されてもよく、また、１または複数の文章によって表現されてもよい。
【００１５】
回答候補データは、質問された問題の解決方法を示す回答の候補や、話し言葉による問いかけに対する回答の候補である。回答候補データは、例えば、ＦＡＱである。ＦＡＱは、「頻繁に尋ねられる質問」の意味であり、あらかじめ予想される質問データに対して、質問データと回答データとをまとめたものである。
【００１６】
ここで、オペレータ向けのＦＡＱシステムでは、ＦＡＱの検索結果は、複数ページに渡って提示されることが多い。また、各ページに表示可能なＦＡＱの数は、３０個程度である。これに対して、チャットボットを利用したＦＡＱシステムでは、ＦＡＱの検索結果に対して、ページの考え方がない場合が多い。ページの考え方がない場合、常に第１ページが検索結果となる。また、チャットボットの表示枠に並べられるＦＡＱの数は、３〜５個程度であることが多い。
【００１７】
表示枠に並べられるＦＡＱの数が少なければ、ユーザは、一度に検索結果の内容を俯瞰できる。このため、チャットボットにおけるＦＡＱの検索結果の表示は、表示枠での各ＦＡＱの細かい並びよりも、表示枠にユーザが期待するＦＡＱが入っていることが重要であり、より検索精度の高いＦＡＱの絞り込みが求められる。
【００１８】
ところが、既存の検索アルゴリズムでは、入力された質問に対して出力する回答候補を最適化することが難しい。例えば、ＴＦ（Ｔｅｒｍ  Ｆｒｅｑｕｅｎｃｙ）−ＩＤＦ（Ｉｎｖｅｒｓｅ  Ｄｏｃｕｍｅｎｔ  Ｆｒｅｑｕｅｎｃｙ）を利用した検索アルゴリズムでは、特徴語に基づいた回答候補が出力される。
【００１９】
このため、ＴＦ−ＩＤＦを利用した検索アルゴリズムでは、特徴語が含まれていれば、過去に一度もアクセスされていないものについても回答候補として出力されてしまうことがある。過去に一度もアクセスされていない回答候補は、質問に対する有効な回答ではない可能性が高い。
【００２０】
そこで、本実施の形態では、過去の回答候補データへのアクセス履歴をもとに、質問データに対して出力する回答候補データを最適化する回答出力方法について説明する。以下、情報処理装置１０１の処理例について説明する。
【００２１】
（１）情報処理装置１０１は、質問データの入力を受け付けた場合、検索アルゴリズムを用いて質問データに対応する複数の回答候補データを、優先順位を含めて特定する。ここで、検索アルゴリズムは、既存のいかなる検索アルゴリズムであってもよく、例えば、類似度を利用したものがある。
【００２２】
類似度を利用した検索アルゴリズムでは、例えば、入力された質問データと、あらかじめ用意された質問データとの類似度を求め、類似度の高い質問データを含む回答候補データを特定する。類似度の計算には、例えば、ＴＦ−ＩＤＦが利用される。ＴＦ−ＩＤＦを利用した検索アルゴリズムでは、例えば、回答候補データに含まれる特徴語に基づいて、質問データに対応する回答候補データを特定する。
【００２３】
具体的には、例えば、情報処理装置１０１は、複数の回答候補データを特定する際に、優先順位に基づいて、複数の回答候補データの中から出力候補とする第１の回答候補データを特定する。また、情報処理装置１０１は、複数の回答候補データのうち、第１の回答候補データ以外の第２の回答候補データを特定する。
【００２４】
例えば、チャットボットを利用した既存のＦＡＱシステムでは、第１の回答候補データは、表示枠に表示されるＦＡＱであり、上位３〜５個のＦＡＱである。一方、第２の回答候補データは、表示枠に表示されずに切り捨てられていたＦＡＱである。
【００２５】
図１の例では、入力された質問データＸに対応する回答候補データ１〜１０が優先順位を含めて特定された場合を想定する。また、回答候補データ１〜１０のうち、回答候補データ１〜３を「第１の回答候補データ」とし、回答候補データ４〜１０を「第２の回答候補データ」とする。
【００２６】
（２）情報処理装置１０１は、記憶部１１０を参照して、特定した複数の回答候補データのそれぞれにおけるアクセス履歴に基づいて、複数の回答候補データそれぞれに対する質問データによるアクセス率を算出する。ここで、記憶部１１０は、過去の回答候補データへのアクセス履歴を記憶する。
【００２７】
過去の回答候補データへのアクセス履歴は、例えば、過去に入力された質問データと、当該質問データが入力された際に出力された回答候補のうちの選択された回答候補データとの対応関係を示す情報である。また、質問データによるアクセス率は、質問データに対して回答候補データを出力した際に当該回答候補データが選択される割合の高さを示す指標値である。
【００２８】
図１の例では、回答候補データ１〜１０にそれぞれに対する質問データＸによるアクセス率ａ１〜ａ１０が算出された場合を想定する。
【００２９】
（３）情報処理装置１０１は、算出したアクセス率に基づいて、複数の回答候補データの優先順位を調整する。具体的には、例えば、情報処理装置１０１は、算出したアクセス率に基づいて、第１の回答候補データの一部または全部を、第２の回答候補データの一部または全部と入れ替えて複数の回答候補データの優先順位を調整する。
【００３０】
より詳細に説明すると、例えば、情報処理装置１０１は、第１の回答候補データのうちアクセス率が第１の閾値を下回る回答候補データを、第２の回答候補データのうちアクセス率が第２の閾値を上回る回答候補データと入れ替える。第１および第２の閾値は、任意に設定可能である。例えば、第１および第２の閾値は、あらかじめ決められた固定値であってもよく、また、運用中のアクセス履歴に応じて動的に調整することにしてもよい。
【００３１】
図１の例では、第１の回答候補データのうちの回答候補データ２のアクセス率ａ２が第１の閾値を下回り、第２の回答候補データのうちの回答候補データ７のアクセス率ａ７が第２の閾値を上回る場合を想定する。この場合、情報処理装置１０１は、第１の回答候補データのうちの回答候補データ２を、第２の回答候補データのうちの回答候補データ７と入れ替える。
【００３２】
（４）情報処理装置１０１は、調整後の優先順位に基づいて複数の回答候補データの中から出力する１または複数の回答候補データを決定して出力する。具体的には、例えば、情報処理装置１０１は、アクセス率が第１の閾値を下回る回答候補データをアクセス率が第２の閾値を上回る回答候補データと入れ替えた後の第１の回答候補データを、出力する１または複数の回答候補データに決定する。そして、情報処理装置１０１は、決定した１または複数の回答候補データを、入力された質問データに対する回答候補データとして出力する。
【００３３】
図１の例では、第１の回答候補データのうちの回答候補データ２が回答候補データ７と入れ替えられた後の回答候補データ１，７，３が、出力する複数の回答候補データに決定される。そして、回答候補データ１，７，３が、入力された質問データＸに対する回答候補データとして出力される。
【００３４】
このように、情報処理装置１０１によれば、既存の検索アルゴリズムにより特定した質問データに対応する複数の回答候補データそれぞれの優先順位を、過去のアクセス履歴に基づく質問データによるアクセス率に応じて調整することができる。これにより、例えば、質問データに対して出力されたときの過去のアクセス回数が極端に少ない回答候補データが出力されてしまうのを防いで、質問データに対する検索結果として出力する回答候補データを最適化することができる。
【００３５】
（回答出力システム２００のシステム構成例）
つぎに、図１に示した情報処理装置１０１を含む回答出力システム２００のシステム構成例について説明する。回答出力システム２００は、例えば、チャットボットを利用したＦＡＱシステム、検索システムに適用される。
【００３６】
図２は、回答出力システム２００のシステム構成例を示す説明図である。図２において、回答出力システム２００は、情報処理装置１０１と、複数の端末２０１（図２の例では、３台）と、を含む。回答出力システム２００において、情報処理装置１０１および複数の端末２０１は、有線または無線のネットワーク２１０を介して接続される。ネットワーク２１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどである。
【００３７】
ここで、情報処理装置１０１は、ＦＡＱマスタ２２０、チャットログＤＢ（Ｄａｔａｂａｓｅ）２３０を有し、質問データに対応する回答候補データを出力する。以下の説明では、回答候補データとして「ＦＡＱ」を例に挙げて説明する場合がある。情報処理装置１０１は、例えば、サーバである。
【００３８】
なお、ＦＡＱマスタ２２０およびチャットログＤＢ２３０の記憶内容については、図４および図５を用いて後述する。
【００３９】
端末２０１は、回答出力システム２００のユーザが使用するコンピュータである。回答出力システム２００のユーザは、例えば、ＦＡＱシステムの利用者である。端末２０１は、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、スマートフォン、タブレット型ＰＣなどである。
【００４０】
（情報処理装置１０１のハードウェア構成例）
図３は、情報処理装置１０１のハードウェア構成例を示すブロック図である。図３において、情報処理装置１０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、メモリ３０２と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０３と、ディスクドライブ３０４と、ディスク３０５と、を有する。また、各構成部は、バス３００によってそれぞれ接続される。
【００４１】
ここで、ＣＰＵ３０１は、情報処理装置１０１の全体の制御を司る。ＣＰＵ３０１は、複数のコアを有していてもよい。メモリ３０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭがＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のプログラムを記憶し、ＲＯＭがアプリケーションプログラムを記憶し、ＲＡＭがＣＰＵ３０１のワークエリアとして使用される。メモリ３０２に記憶されるプログラムは、ＣＰＵ３０１にロードされることで、コーディングされている処理をＣＰＵ３０１に実行させる。
【００４２】
Ｉ／Ｆ３０３は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して外部のコンピュータ（例えば、図２に示した端末２０１）に接続される。そして、Ｉ／Ｆ３０３は、ネットワーク２１０と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。Ｉ／Ｆ３０３には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００４３】
ディスクドライブ３０４は、ＣＰＵ３０１の制御に従ってディスク３０５に対するデータのリード／ライトを制御する。ディスク３０５は、ディスクドライブ３０４の制御で書き込まれたデータを記憶する。ディスク３０５としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
【００４４】
なお、情報処理装置１０１は、上述した構成部のほかに、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、入力装置、ディスプレイ等を有することにしてもよい。また、図２に示した端末２０１についても、情報処理装置１０１と同様のハードウェア構成により実現することができる。ただし、端末２０１は、上述した構成部のほかに、入力装置、ディスプレイ等を有する。
【００４５】
（ＦＡＱマスタ２２０の記憶内容）
つぎに、図４を用いて、情報処理装置１０１が有するＦＡＱマスタ２２０の記憶内容について説明する。ＦＡＱマスタ２２０は、例えば、図３に示したメモリ３０２、ディスク３０５などの記憶装置により実現される。
【００４６】
図４は、ＦＡＱマスタ２２０の記憶内容の一例を示す説明図である。図４において、ＦＡＱマスタ２２０は、ＦＡＱＩＤ、質問および回答のフィールドを有し、各フィールドに情報を設定することで、ＦＡＱ（例えば、ＦＡＱ４００−１，４００−２）をレコードとして記憶する。
【００４７】
ここで、ＦＡＱＩＤは、ＦＡＱを一意に識別する識別子である。質問は、ＦＡＱを形成する質問を示す質問データである。回答は、質問に対する回答を示す回答データである。質問および回答は、単語または複数の単語の組み合わせによって表現されてもよく、また、１または複数の文章によって表現されてもよい。
【００４８】
例えば、ＦＡＱ４００−１は、ＦＡＱＩＤ「００１」の質問「ＵＰＳ使用中に警告音（アラーム音）が鳴るようになりました。」と、回答「バッテリーの電圧が一定値より下回った場合に、バッテリーの寿命交換を促す目的でランプが点灯し、・・・」と、を含む。
【００４９】
（チャットログＤＢ２３０の記憶内容）
つぎに、図５を用いて、情報処理装置１０１が有するチャットログＤＢ２３０の記憶内容について説明する。チャットログＤＢ２３０は、例えば、図３に示したメモリ３０２、ディスク３０５などの記憶装置により実現される。
【００５０】
図５は、チャットログＤＢ２３０の記憶内容の一例を示す説明図である。図５において、チャットログＤＢ２３０は、日付、検索ワードおよび照会ＦＡＱのフィールドを有し、各フィールドに情報を設定することで、チャットログ（例えば、チャットログ５００−１，５００−２）をレコードとして記憶する。
【００５１】
ここで、日付は、ＦＡＱの検索が行われた日付である。例えば、日付は、端末２０１からの検索ワード（質問データ）の入力を受け付けた日付である。日付には、時刻まで含めることにしてもよい。検索ワードは、入力された質問データである。検索ワードは、単語または複数の単語の組み合わせであってもよいし、１または複数の文章であってもよい。
【００５２】
照会ＦＡＱは、検索ワードに対して出力されたＦＡＱのうち選択操作を受け付けたＦＡＱ、すなわち、照会（選択）されたＦＡＱのＦＡＱＩＤである。なお、検索ワードに対して出力されたＦＡＱのうち、いずれのＦＡＱも選択されなかった場合、または、「この中にない。」といった所望のＦＡＱがないことを示す選択操作が行われた場合、照会ＦＡＱには「ＮｏｔＦｏｕｎｄ」が設定される。また、検索ワードに対して１件もＦＡＱが出力されなかった、いわゆる、０件ヒットの場合も、照会ＦＡＱには「ＮｏｔＦｏｕｎｄ」が設定される。
【００５３】
例えば、チャットログ５００−１は、日付「２０１８／３／２２」に入力された検索ワード「ＵＰＳ警告音」に対して出力されたＦＡＱのうち照会ＦＡＱ「００１」のＦＡＱの選択操作が行われたことを示す。
【００５４】
（問い合わせ画面６００の画面例）
つぎに、図２に示した端末２０１に表示される問い合わせ画面６００の画面例について説明する。以下の説明では、端末２０１に表示される操作画面のボックス、ボタン等をユーザが選択する操作として、クリック操作を行う場合を例に挙げて説明する。
【００５５】
図６は、問い合わせ画面６００の画面例を示す説明図である。図６において、問い合わせ画面６００は、ＦＡＱを検索したり、ＦＡＱを照会したりする操作画面の一例である。問い合わせ画面６００において、ボックス６０１をクリックすると、検索ワードを入力することができる。
【００５６】
また、問い合わせ画面６００において、ボタン６０２をクリックすると、ボックス６０１に入力された検索ワードに対応するＦＡＱを検索することができる。具体的には、ボタン６０２をクリックすると、ボックス６０１に入力された検索ワードが、端末２０１から情報処理装置１０１に送信される。
【００５７】
この結果、情報処理装置１０１から端末２０１に検索ワードに対する検索結果が送信され、検索されたＦＡＱが表示枠６１０に優先順位に従ってリスト化されて表示される。ここでは、表示枠６１０には、優先順位が高い上位３件のＦＡＱが表示される。また、ボックス６２０には、入力された検索ワードが表示される。
【００５８】
図６の例では、検索ワード「ＵＰＳ警告音」に対応するＦＡＱが検索された結果、上位３件のＦＡＱ６１１〜６１３が表示枠６１０に表示されている。問い合わせ画面６００において、ＦＡＱ６１１〜６１３のいずれかのＦＡＱをクリックすると、当該ＦＡＱの内容を照会することができる。例えば、ＦＡＱ６１１をクリックすると、ＦＡＱ６１１の内容（質問データと回答データ）を照会することができる。
【００５９】
また、表示枠６１０に表示されたいずれかのＦＡＱがクリックされると、当該ＦＡＱが選択されたことを示す選択結果が、端末２０１から情報処理装置１０１に送信される。ただし、ＦＡＱ６１４がクリックされると、所望のＦＡＱがないことを示す選択操作が行われたことを示す未選択結果が、端末２０１から情報処理装置１０１に送信される。さらに、表示枠６１０に表示されたいずれのＦＡＱもクリックされず、新たな検索ワードが入力されて次の検索が行われた場合も、所望のＦＡＱがないことを示す選択操作が行われたことを示す未選択結果が、端末２０１から情報処理装置１０１に送信される。
【００６０】
（情報処理装置１０１の機能的構成例）
図７は、情報処理装置１０１の機能的構成例を示すブロック図である。図７において、情報処理装置１０１は、受付部７０１と、特定部７０２と、算出部７０３と、調整部７０４と、決定部７０５と、出力部７０６と、記憶部７１０と、を含む。受付部７０１〜出力部７０６は制御部となる機能であり、具体的には、例えば、図３に示したメモリ３０２、ディスク３０５などの記憶装置に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０３により、その機能を実現する。各機能部の処理結果は、例えば、メモリ３０２、ディスク３０５などの記憶装置に記憶される。記憶部７１０は、例えば、メモリ３０２、ディスク３０５などの記憶装置により実現される。具体的には、例えば、記憶部７１０は、ＦＡＱマスタ２２０、チャットログＤＢ２３０などを記憶する。
【００６１】
受付部７０１は、質問データの入力を受け付ける。質問データの入力は、例えば、図６に示した問い合わせ画面６００において行われる。具体的には、例えば、受付部７０１は、端末２０１から、問い合わせ画面６００のボックス６０１に入力された検索ワードを受信することにより、受信した検索ワードを質問データとして入力を受け付ける。
【００６２】
以下の説明では、入力された質問データを「検索ワード」と表記する場合がある。
【００６３】
特定部７０２は、検索アルゴリズムを用いて、入力された検索ワードに対応する複数の回答候補データを、優先順位を含めて特定する。優先順位は、表示する際の順位である。入力された質問データに対応する複数の回答候補データのうち、優先順位が高いものが優先して表示される。
【００６４】
具体的には、例えば、特定部７０２は、図４に示したＦＡＱマスタ２２０を参照して、ＴＦ−ＩＤＦ法を用いて計算される類似度を利用した検索アルゴリズムを用いて、入力された検索ワードに対応する複数のＦＡＱを、優先順位を含めて特定する。特定される複数のＦＡＱは、例えば、類似度が閾値以上のＦＡＱである。
【００６５】
より詳細に説明すると、例えば、特定部７０２は、入力された検索ワードを形態素解析して形態素に分割する。つぎに、特定部７０２は、検索アルゴリズムを用いて、ＦＡＱマスタ２２０から、分解した形態素に対応するＦＡＱを検索する。そして、特定部７０２は、検索した検索結果（ＦＡＱ）を、優先順位を含めて特定する。
【００６６】
また、特定部７０２は、優先順位に基づいて、複数の回答候補データの中から第１の回答候補データと第２の回答候補データとを特定する。ここで、第１の回答候補データは、複数の回答候補データのうち、出力候補とする回答候補データである。第２の回答候補データは、複数の回答候補データのうち、第１の回答候補データ以外の回答候補データである。
【００６７】
具体的には、例えば、特定部７０２は、入力された検索ワードに対応する複数のＦＡＱのうち、優先順位が高い上位Ｎ個のＦＡＱを第１の回答候補データとして特定し、第１の回答候補データ以外の回答候補データを第２の回答候補データとして特定する。Ｎの値は、任意に設定可能であり、例えば、３〜５程度に設定される。
【００６８】
以下の説明では、回答候補データを「ＦＡＱ」と表記する場合がある。また、第１の回答候補データを「第１候補」と表記し、第２の回答候補データを「第２候補」と表記する場合がある。
【００６９】
算出部７０３は、過去のＦＡＱへのアクセス履歴を記憶する記憶部７１０を参照して、特定された複数のＦＡＱのそれぞれにおけるアクセス履歴に基づいて、複数のＦＡＱそれぞれに対する、入力された検索ワードにおけるアクセス効率を算出する。
【００７０】
具体的には、例えば、算出部７０３は、図５に示したチャットログＤＢ２３０を参照して、特定された複数のＦＡＱそれぞれに対する、入力された検索ワードにおけるアクセス効率を算出する。ここで、検索ワードにおけるアクセス効率は、図１で説明した質問データによるアクセス率に相当する指標値であり、検索ワードに対してＦＡＱを出力した際に当該ＦＡＱが選択される割合の高さを示す。ここでは、アクセス効率が高いほど、ＦＡＱが選択される割合が高いことを示す。
【００７１】
なお、アクセス効率を算出する際に用いるチャットログは、例えば、チャットログＤＢ２３０内の全てのチャットログであってもよく、また、所定期間内（例えば、日付が直近１年以内）のチャットログであってもよい。
【００７２】
より詳細に説明すると、例えば、算出部７０３は、チャットログＤＢ２３０から、照会ＦＡＱにいずれかのＦＡＱＩＤが設定されたチャットログを取得する。そして、算出部７０３は、取得したチャットログの検索ワードを形態素解析して、検索ワードを形態素に分割する。つぎに、算出部７０３は、分割した形態素ごとに、当該形態素を含む検索ワードと、照会ＦＡＱとを対応付けて表す動線分析元情報を生成する。
【００７３】
ここで、図８を用いて、動線分析元情報の具体例について説明する。
【００７４】
図８は、動線分析元情報の具体例を示す説明図である。図８において、動線分析元情報８００は、形態素と検索ワードと照会ＦＡＱとを対応付けて表す情報である。形態素は、検索ワードを形態素解析して得られた形態素である。検索ワードは、入力された質問データである。照会ＦＡＱは、検索ワードに対して出力されたＦＡＱのうち照会（選択）されたＦＡＱのＦＡＱＩＤである。
【００７５】
そして、算出部７０３は、生成した動線分析元情報に基づいて、特定された複数のＦＡＱそれぞれに対する、入力された検索ワードにおけるアクセス効率を算出する。以下、図８に示したような動線分析元情報８００に基づいて、検索ワードにおけるアクセス効率を算出する具体的な処理内容の一例について説明する。
【００７６】
まず、算出部７０３は、動線分析元情報８００を参照して、特定された複数のＦＡＱそれぞれについて、個別アクセス数および全体アクセス数を算出する。ここで、ＦＡＱの個別アクセス数は、今回入力された検索ワードの形態素を含む検索ワードが入力された際に当該ＦＡＱが選択された回数を示す。ＦＡＱの全体アクセス数は、今回入力された検索ワードだけでなく、全ての検索ワードを対象として過去に当該ＦＡＱが選択された回数を示す。
【００７７】
つぎに、算出部７０３は、特定された複数のＦＡＱそれぞれについて、下記式（１）を用いて、算出した個別アクセス数および全体アクセス数に基づいて、検索ワードにおけるアクセス効率を算出する。ただし、全体アクセス数合計は、複数のＦＡＱそれぞれの全体アクセス数の合計である。
【００７８】
アクセス効率＝（個別アクセス数／全体アクセス数）×（全体アクセス数／全体アクセス数合計）・・・（１）
【００７９】
なお、上記式（１）における（全体アクセス数／全体アクセス数合計）は、全体アクセス数が少ないＦＡＱについて、（個別アクセス数／全体アクセス数）に対してアクセス効率が過敏に反応しないようにするための調整項である。
【００８０】
算出されたアクセス効率は、例えば、図９に示すような動線分析結果テーブル９００に記憶される。動線分析結果テーブル９００は、例えば、メモリ３０２、ディスク３０５などの記憶装置により実現される。
【００８１】
ここで、図９を用いて、動線分析結果テーブル９００の記憶内容について説明する。ここでは、検索ワード「キャンセル」が入力された場合を例に挙げて、動線分析結果テーブル９００の記憶内容について説明する。
【００８２】
図９は、動線分析結果テーブル９００の記憶内容の一例を示す説明図である。図９において、動線分析結果テーブル９００は、優先順位、ＦＡＱＩＤ、個別アクセス数、全体アクセス数およびアクセス効率のフィールドを有し、各フィールドに情報を設定することで、動線分析結果９００−１〜９００−１０をレコードとして記憶する。
【００８３】
ここで、優先順位は、ＦＡＱの優先順位である。ＦＡＱＩＤは、ＦＡＱのＦＡＱＩＤである。個別アクセス数は、ＦＡＱの個別アクセス数である。全体アクセス数は、ＦＡＱの全体アクセス数である。アクセス効率は、ＦＡＱの検索ワードにおけるアクセス効率である。
【００８４】
図７の説明に戻り、調整部７０４は、算出されたアクセス効率に基づいて、特定された複数のＦＡＱの優先順位を調整する。具体的には、例えば、調整部７０４は、算出されたアクセス効率に基づいて、第１候補の一部または全部を、第２候補の一部または全部と入れ替えて、特定された複数のＦＡＱの優先順位を調整する。
【００８５】
より詳細に説明すると、例えば、調整部７０４は、動線分析結果テーブル９００を参照して、第１候補のうちアクセス効率がＢＰ（Ｂａｄ  Ｐａｒａｍｅｔｅｒ）値を下回るＦＡＱを、第２候補のうちアクセス効率がＧＰ（Ｇｏｏｄ  Ｐａｒａｍｅｔｅｒ）値を上回るＦＡＱと入れ替える。
【００８６】
ＢＰ値は、例えば、図１で説明した第１の閾値に対応する。ＧＰ値は、例えば、図１で説明した第２の閾値に対応する。ＢＰ値には、アクセス効率がＢＰ値を下回っていると、アクセス効率が悪いと判断できる値に設定される。また、ＧＰ値には、アクセス効率がＧＰを上回っていると、アクセス効率がよいと判断できる値に設定される。
【００８７】
具体的には、例えば、ＢＰ値は、下記式（２）を用いて設定することができる。また、ＧＰ値は、下記式（３）を用いて設定することができる。ただし、Ｌｅｖｅｌは、任意に設定可能な定数である。初期状態では、Ｌｅｖｅｌには、例えば、初期値「０．８」が設定される。
【００８８】
ＢＰ値＝第１候補のうちの最大アクセス効率×（１−Ｌｅｖｅｌ）・・・（２）
【００８９】
ＧＰ値＝第１候補のうちの最大アクセス効率×Ｌｅｖｅｌ・・・（３）
【００９０】
また、調整部７０４は、第２候補のうちアクセス効率がＧＰ値を上回るＦＡＱがない場合には、第２候補のうちのいずれかのＦＡＱをランダムに選択することにしてもよい。そして、調整部７０４は、第１候補のうちアクセス効率がＢＰ値を下回るＦＡＱを、ランダムに選択したＦＡＱと入れ替えることにしてもよい。
【００９１】
なお、ＦＡＱをランダムに選択（無作為抽出）する方法としては、既存のいかなる方法を用いることにしてもよい。
【００９２】
決定部７０５は、調整後の優先順位に基づいて、複数のＦＡＱの中から、出力対象の１または複数のＦＡＱを決定する。具体的には、例えば、決定部７０５は、第１候補のうちのアクセス効率がＢＰ値を下回るＦＡＱを、第２候補のうちのアクセス効率がＧＰ値を上回るＦＡＱと入れ替えた後の第１候補を、出力対象のＦＡＱに決定する。
【００９３】
出力部７０６は、決定された出力対象の１または複数のＦＡＱを出力する。この際、調整部７０４による入れ替えによって出力すると決定された第２候補に含まれる１または複数のＦＡＱの出力される順序位置は、例えば、入れ替え対象となって出力されなくなった第１候補に含まれるＦＡＱの順序位置である。
【００９４】
具体的には、例えば、出力部７０６は、決定された出力対象のＦＡＱを示す情報を、入力された検索ワードに対する検索結果として端末２０１に送信する。この結果、端末２０１において、例えば、図６に示した問い合わせ画面６００の表示枠６１０に、出力対象のＦＡＱが選択可能に表示される。
【００９５】
また、受付部７０１は、出力された１または複数のＦＡＱのうち選択されたＦＡＱを示す選択結果を受け付ける。ＦＡＱの選択は、例えば、図６に示した問い合わせ画面６００において行われる。具体的には、例えば、受付部７０１は、端末２０１から、問い合わせ画面６００において選択されたＦＡＱを示す選択結果を受信することにより、当該選択結果を受け付ける。
【００９６】
受け付けた選択結果は、例えば、チャットログＤＢ２３０に記憶される。具体的には、例えば、受付部７０１は、選択されたＦＡＱを示す選択結果を受け付けると、当該選択結果を受け付けた日付と、入力された検索ワードと、選択されたＦＡＱのＦＡＱＩＤとを対応付けて、チャットログＤＢ２３０に記憶する。
【００９７】
また、受付部７０１は、出力された１または複数のＦＡＱのうちいずれのＦＡＱも選択されなかったことを示す未選択結果を受け付ける。具体的には、例えば、受付部７０１は、端末２０１から、所望のＦＡＱがないことを示す選択操作が行われたことを示す未選択結果を受信することにより、当該未選択結果を受け付ける。
【００９８】
受け付けた未選択結果は、例えば、図５に示したチャットログＤＢ２３０に記憶される。具体的には、例えば、受付部７０１は、未選択結果を受け付けると、当該未選択結果を受け付けた日付と、入力された検索ワードと、ＮｏｔＦｏｕｎｄとを対応付けて、チャットログＤＢ２３０に記憶する。
【００９９】
なお、入力された検索ワードに対応するＦＡＱが１つも特定されなかった、いわゆる、０件ヒットの場合もチャットログＤＢ２３０は更新される。この場合、例えば、特定部７０２は、検索ワードが入力された日付と、入力された検索ワードと、ＮｏｔＦｏｕｎｄとを対応付けて、チャットログＤＢ２３０に記憶する。
【０１００】
また、調整部７０４は、特定された複数のＦＡＱのアクセス履歴に基づいて、第１候補と第２候補との間で入れ替えるＦＡＱの数を調整する。具体的には、例えば、調整部７０４は、複数のＦＡＱのアクセス履歴からアクセス効率が減少していると判定した場合に、第１候補と第２候補との間で入れ替えるＦＡＱの数を増加させることにしてもよい。
【０１０１】
ここでのアクセス効率は、検索ワードに応じて出力したＦＡＱに対するシステム全体としてのアクセス効率に相当する。また、調整部７０４は、例えば、複数のＦＡＱのアクセス履歴からアクセス効率が増加していると判定した場合に、第１候補と第２候補との間で入れ替えるＦＡＱの数を減少させることにしてもよい。
【０１０２】
より詳細に説明すると、例えば、まず、調整部７０４は、出力対象のＦＡＱが決定されると、第１候補の一部または全部を第２候補の一部または全部と入れ替えた結果に基づいて、入力された検索ワードにおける全体正解率を算出する。ここで、全体正解率は、検索ワードに対してどれだけ妥当なＦＡＱ、すなわち、選択されるＦＡＱを出力できたかを示す指標値である。
【０１０３】
例えば、全体正解率は、検索ワードに対応する複数のＦＡＱを、第１候補と第２候補とにどれだけ正しく分類することができたかによって表すことができる。具体的には、例えば、全体正解率は、下記式（４）を用いて、第１候補、第２候補についての混合行列の情報から求めることができる。
【０１０４】
ただし、ＡＣＣは、全体正解率である。ＴＰは、第１候補のうち第２候補のＦＡＱと入れ替えられなかったＦＡＱの数である。換言すれば、ＴＰは、第１候補のうち、第１候補として正解であるといえるＦＡＱの数である。ＴＮは、第２候補のうち第１候補のＦＡＱと入れ替えられなかったＦＡＱの数である。換言すれば、ＴＮは、第２候補のうち、第２候補として正解であるといえるＦＡＱの数である。ＦＮは、第１候補のうち第２候補のＦＡＱと入れ替えられたＦＡＱの数である。換言すれば、ＦＮは、第１候補のうち、第１候補として不正解であるといえるＦＡＱの数である。ＦＰは、第２候補のうち第１候補のＦＡＱと入れ替えられたＦＡＱの数である。換言すれば、ＦＰは、第２候補のうち、第２候補として不正解であるといえるＦＡＱの数である。
【０１０５】
ＡＣＣ＝（ＴＰ＋ＴＮ）／（ＴＰ＋ＴＮ＋ＦＮ＋ＦＰ）・・・（４）
【０１０６】
ここで、図１０および図１１を用いて、全体正解率の算出例について説明する。
【０１０７】
図１０は、混合行列の具体例を示す説明図（その１）である。図１０において、第１候補に含まれるＦＡＱのＦＡＱＩＤを「１５２，１５３，２１４」とする。また、第２候補に含まれるＦＡＱのＦＡＱＩＤを「２１３，１５４，２４５，１５１，２１５，１４３，１４２」とする。また、第１候補のＦＡＱ１５２が、第２候補のＦＡＱ１５１と入れ替えられたとする。
【０１０８】
この場合、混合行列１０００の情報は、「ＴＰ＝２，ＦＮ＝１，ＴＮ＝６，ＦＰ＝１」となる。このため、全体正解率は、「ＡＣＣ＝（２＋６）／１０＝０．８」となる。
【０１０９】
図１１は、混合行列の具体例を示す説明図（その２）である。図１１において、第１候補に含まれるＦＡＱのＦＡＱＩＤを「１２１，４６６，４５７」とする。また、第２候補に含まれるＦＡＱのＦＡＱＩＤを「１９，４５５」とする。また、第１候補のＦＡＱ４５７が、第２候補のＦＡＱ１９と入れ替えられた場合を想定する。
【０１１０】
この場合、混合行列１１００の情報は、「ＴＰ＝２，ＦＮ＝１，ＴＮ＝１，ＦＰ＝１」となる。このため、全体正解率は、「ＡＣＣ＝（２＋１）／５＝０．６」となる。
【０１１１】
算出された全体正解率は、例えば、日付と対応付けて、図１２に示すような全体正解率テーブル１２００に記憶される。全体正解率テーブル１２００は、例えば、メモリ３０２、ディスク３０５などの記憶装置により実現される。
【０１１２】
図１２は、全体正解率テーブル１２００の記憶内容の一例を示す説明図である。図１２において、全体正解率テーブル１２００は、日付および全体正解率のフィールドを有し、各フィールドに情報を設定することで、全体正解率情報（例えば、全体正解率情報１２００−１，１２００−２）をレコードとして記憶する。
【０１１３】
ここで、日付は、ＦＡＱの検索が行われた日付である。例えば、日付は、端末２０１からの検索ワード（質問データ）の入力を受け付けた日付である。全体正解率は、ＦＡＱの検索が行われたときの全体正解率である。例えば、全体正解率情報１２００−１は、日付「２０１８／３／２２」にＦＡＱの検索が行われたときの全体正解率「０．８」を示す。すなわち、全体正解率は、ＦＡＱの検索単位に蓄積される。
【０１１４】
つぎに、調整部７０４は、算出した全体正解率に基づいて、全体正解率の時系列変化を特定する。具体的には、例えば、調整部７０４は、図１２に示した全体正解率テーブル１２００を参照して、日ごとの全体正解率の平均値（平均全体正解率）を算出する。平均全体正解率を算出する際に用いる全体正解率は、日付が所定期間内（例えば、直近１年以内）の全体正解率であってもよい。
【０１１５】
図１３は、平均全体正解率の時系列変化を示す説明図である。図１３において、グラフ１３００は、日ごとの平均全体正解率の時系列変化を示すものであり、調整部７０４によって算出された日ごとの平均全体正解率を、直交座標系（縦軸：平均全体正解率、横軸：時間）にプロットしたものである。
【０１１６】
調整部７０４は、算出した日ごとの平均全体正解率に基づいて、システム全体としてのアクセス効率の傾向を判定する。具体的には、例えば、調整部７０４は、算出した日ごとの平均全体正解率に基づき回帰分析を行って、全体正解率の時系列変化を表す直線（例えば、直線１３０１）の傾きを算出する。そして、調整部７０４は、算出した直線の傾きに基づいて、アクセス効率が上昇傾向（増加）にあるか、アクセス効率が下降傾向（減少）にあるかを判定する。
【０１１７】
例えば、調整部７０４は、算出した直線の傾きが所定値α以上であれば、アクセス効率が上昇傾向にあると判定する。一方、調整部７０４は、算出した直線の傾きが所定値β以下であれば、アクセス効率が下降傾向にあると判定する。なお、所定値α，βは、任意に設定可能である。
【０１１８】
そして、アクセス効率が下降傾向にあると判断した場合、調整部７０４は、上記式（２）および上記式（３）に含まれるＬｅｖｅｌを下げる。これにより、第１候補と第２候補との間で入れ替えが積極的に行われるようにして、第１候補と第２候補との間で入れ替えるＦＡＱの数を増加させることができる。
【０１１９】
一方、アクセス効率が上昇傾向にあると判断した場合、調整部７０４は、上記式（２）および上記式（３）に含まれるＬｅｖｅｌを上げる。これにより、第１候補と第２候補との間で入れ替えが行われるのを抑制して、第１候補と第２候補との間で入れ替えるＦＡＱの数を減少させることができる。
【０１２０】
なお、Ｌｅｖｅｌの下げ幅、上げ幅は、あらかじめ設定されてメモリ３０２、ディスク３０５などの記憶装置に記憶されている。また、Ｌｅｖｅｌの調整は、例えば、一定期間（例えば、１日、１週間、１ヶ月など）ごとに行われる。
【０１２１】
（ＦＡＱのリランキング例）
つぎに、図１４〜図１７を用いて、ＦＡＱのリランキング例について説明する。まず、図１４および図１５を用いて、検索ワード「キャンセル」が入力された場合のＦＡＱのリランキング例について説明する。
【０１２２】
図１４は、検索ワードに対応する複数のＦＡＱの一例を示す説明図（その１）である。また、図１５は、ＦＡＱのリランキング例を示す説明図（その１）である。図１４において、ＴＦ−ＩＤＦ法を利用した検索アルゴリズムを用いて特定された、検索ワード「キャンセル」に対応する１０個のＦＡＱが優先順位に従って表示されている。
【０１２３】
ここでは、第１候補は、優先順位が高い上位３個のＦＡＱとする（Ｎ＝３）。また、各ＦＡＱのアクセス効率は、各ＦＡＱの個別アクセス数、全体アクセス数から上記式（１）を用いて算出されているものとする。第１候補のうちの最大アクセス効率は、「０．１０」である。また、Ｌｅｖｅｌを「Ｌｅｖｅｌ＝０．８」とする。
【０１２４】
この場合、ＢＰ値は、上記式（２）から、「ＢＰ＝０．１０×（１−０．８）＝０．０２」となる。このため、調整部７０４は、第１候補のうちアクセス効率がＢＰ値を下回るＦＡＱ１５２を入れ替え対象のＦＡＱとして選択する。また、ＧＰ値は、上記式（３）から、「ＧＰ＝０．１０×０．８＝０．０８」となる。このため、調整部７０４は、第２候補のうちアクセス効率がＧＰ値を上回るＦＡＱ１５１を入れ替え対象のＦＡＱとして選択する。
【０１２５】
なお、第２候補のうちアクセス効率がＧＰ値を上回るＦＡＱが複数存在する場合がある。この場合、調整部７０４は、例えば、第２候補のうちアクセス効率が最大のＦＡＱを入れ替え対象のＦＡＱとして選択することにしてもよい。
【０１２６】
そして、調整部７０４は、第１候補のうちのＦＡＱ１５２を、第２候補のうちのＦＡＱ１５１と入れ替える。この結果、ＦＡＱ１５２の優先順位が「１」から「７」になり、ＦＡＱ１５１の優先順位が「７」から「１」になり、検索ワード「キャンセル」に対応するＦＡＱの優先順位が調整される。
【０１２７】
この場合、決定部７０５は、第１候補のうちのＦＡＱ１５２を、第２候補のうちのＦＡＱ１５１と入れ替えた後の第１候補を、出力対象のＦＡＱに決定する。この結果、図１５に示すように、出力対象のＦＡＱが、「ＦＡＱ１５２，ＦＡＱ１５３，ＦＡＱ２１４」から「ＦＡＱ１５１，ＦＡＱ１５３，ＦＡＱ２１４」に変化する。
【０１２８】
これにより、優先順位「１」のＦＡＱとして、個別アクセス数が「０」であったＦＡＱ１５２を、個別アクセス数が「８」のＦＡＱ１５１と入れ替えることができ、検索ワード「キャンセル」に対してより有効なＦＡＱを出力することが可能となる。
【０１２９】
つぎに、図１６および図１７を用いて、検索ワード「支払い方法は」が入力された場合のＦＡＱのリランキング例について説明する。検索ワード「支払い方法は」は、複数の形態素（支払、方法）を含む検索ワードである。
【０１３０】
図１６は、検索ワードに対応する複数のＦＡＱの一例を示す説明図（その２）である。また、図１７は、ＦＡＱのリランキング例を示す説明図（その２）である。図１６において、ＴＦ−ＩＤＦ法を利用した検索アルゴリズムを用いて特定された、検索ワード「支払い方法は」に対応する１０個のＦＡＱが優先順位に従って表示されている。
【０１３１】
ここでは、第１候補は、優先順位が高い上位３個のＦＡＱとする（Ｎ＝３）。また、各ＦＡＱのアクセス効率は、各ＦＡＱの個別アクセス数、全体アクセス数から上記式（１）を用いて算出されているものとする。第１候補のうちの最大アクセス効率は、「０．０３」である。また、Ｌｅｖｅｌを「Ｌｅｖｅｌ＝０．８」とする。
【０１３２】
この場合、ＢＰ値は、上記式（２）から、「ＢＰ＝０．０３×（１−０．８）＝０．００６」となる。このため、調整部７０４は、第１候補のうちアクセス効率がＢＰ値を下回るＦＡＱ１１３，ＦＡＱ２５９を入れ替え対象のＦＡＱとして選択する。また、ＧＰ値は、上記式（３）から、「ＧＰ＝０．０３×０．８＝０．０２４」となる。
【０１３３】
このため、調整部７０４は、第２候補のうちアクセス効率がＧＰ値を上回るＦＡＱ２６１を入れ替え対象のＦＡＱとして選択する。そして、調整部７０４は、第１候補のうちのＦＡＱ１１３を、第２候補のうちのＦＡＱ２６１と入れ替える。この結果、ＦＡＱ１１３の優先順位が「１」から「８」になり、ＦＡＱ２６１の優先順位が「８」から「１」になる。
【０１３４】
ここで、ＦＡＱ２６１以外には、第２候補のうちアクセス効率がＧＰ値を上回るＦＡＱが存在しない。この場合、調整部７０４は、第２候補のうちＦＡＱ２６１を除く他のＦＡＱからいずれかのＦＡＱをランダムに選択する。ここでは、第２候補のうちのＦＡＱ２６２が選択された場合を想定する。
【０１３５】
そして、調整部７０４は、第１候補のうちのＦＡＱ２５９を、第２候補のうちのＦＡＱ２６２と入れ替える。この結果、ＦＡＱ２５９の優先順位が「３」から「４」になり、ＦＡＱ２６２の優先順位が「４」から「３」になり、検索ワード「支払い方法は」に対応するＦＡＱの優先順位が調整される。
【０１３６】
この場合、決定部７０５は、第１候補のうちのＦＡＱ１１３，ＦＡＱ２５９を、第２候補のうちのＦＡＱ２６１，ＦＡＱ２６２と入れ替えた後の第１候補を、出力対象のＦＡＱに決定する。この結果、図１７に示すように、出力対象のＦＡＱが、「ＦＡＱ１１３，ＦＡＱ２６３，ＦＡＱ２５９」から「ＦＡＱ２６１，ＦＡＱ２６３，ＦＡＱ２６２」に変化する。
【０１３７】
これにより、優先順位「１」のＦＡＱとして、個別アクセス数が「０」であったＦＡＱ１１３を、個別アクセス数が「２」のＦＡＱ２６１と入れ替えることができ、検索ワード「支払い方法は」に対してより有効なＦＡＱを出力することが可能となる。また、優先順位「３」のＦＡＱとして、個別アクセス数が「０」であったＦＡＱ２５９を、第２候補からランダムに選択したＦＡＱ２６２と入れ替えてアクセス傾向が現れるのを待つことができる。
【０１３８】
（情報処理装置１０１の回答出力処理手順）
つぎに、図１８を用いて、情報処理装置１０１の回答出力処理手順について説明する。
【０１３９】
図１８は、情報処理装置１０１の回答出力処理手順の一例を示すフローチャートである。図１８のフローチャートにおいて、まず、情報処理装置１０１は、検索ワードの入力を受け付けたか否かを判断する（ステップＳ１８０１）。ここで、情報処理装置１０１は、検索ワードの入力を受け付けるのを待つ（ステップＳ１８０１：Ｎｏ）。
【０１４０】
そして、情報処理装置１０１は、検索ワードの入力を受け付けた場合（ステップＳ１８０１：Ｙｅｓ）、検索アルゴリズムを用いて、入力された検索ワードに対応する複数のＦＡＱを、優先順位を含めて特定する（ステップＳ１８０２）。つぎに、情報処理装置１０１は、優先順位に基づいて、特定した複数のＦＡＱの中から第１候補と第２候補とを特定する（ステップＳ１８０３）。
【０１４１】
そして、情報処理装置１０１は、チャットログＤＢ２３０を参照して、特定した複数のＦＡＱそれぞれに対する、入力された検索ワードにおけるアクセス効率を算出する（ステップＳ１８０４）。つぎに、情報処理装置１０１は、上記式（２）および上記式（３）を用いて、算出したアクセス効率に基づいて、ＢＰ値およびＧＰ値を算出する（ステップＳ１８０５）。
【０１４２】
そして、情報処理装置１０１は、特定した複数のＦＡＱの優先順位を調整する調整処理を実行する（ステップＳ１８０６）。なお、調整処理の具体的な処理手順については、図１９を用いて後述する。
【０１４３】
つぎに、情報処理装置１０１は、調整後の優先順位に基づいて、複数のＦＡＱの中から、出力対象のＦＡＱを決定する（ステップＳ１８０７）。そして、情報処理装置１０１は、決定した出力対象のＦＡＱを、入力された検索ワードに対する検索結果として出力する（ステップＳ１８０８）。
【０１４４】
つぎに、情報処理装置１０１は、ステップＳ１８０５の調整処理の結果に基づいて、検索ワードにおける全体正解率を算出する（ステップＳ１８０９）。そして、情報処理装置１０１は、当日の日付と対応付けて、算出した全体正解率を全体正解率テーブル１２００に記憶して（ステップＳ１８１０）、本フローチャートによる一連の処理を終了する。
【０１４５】
これにより、検索ワードに対する検索結果として出力するＦＡＱを最適化することができる。なお、ステップＳ１８０２において、ＦＡＱが特定されなかった場合には、情報処理装置１０１は、入力された検索ワードに対してＦＡＱが検索されなかったことを示す検索結果を出力する。また、ＦＡＱが１個のみ特定された場合には、情報処理装置１０１は、特定したＦＡＱを入力された検索ワードに対する検索結果として出力する。
【０１４６】
つぎに、ステップＳ１８０６の調整処理の具体的な処理手順について説明する。
【０１４７】
図１９は、調整処理の具体的処理手順の一例を示すフローチャートである。図１９のフローチャートにおいて、まず、情報処理装置１０１は、第１候補から選択されていないアクセス効率がＢＰ値を下回る未選択のＦＡＱがあるか否かを判断する（ステップＳ１９０１）。
【０１４８】
ここで、未選択のＦＡＱがある場合（ステップＳ１９０１：Ｙｅｓ）、情報処理装置１０１は、第１候補から選択されていないアクセス効率がＢＰ値を下回るＦＡＱを選択する（ステップＳ１９０２）。つぎに、情報処理装置１０１は、第２候補のうちアクセス効率がＧＰ値を上回るＦＡＱを検索する（ステップＳ１９０３）。
【０１４９】
そして、情報処理装置１０１は、アクセス効率がＧＰ値を上回るＦＡＱが検索されたか否かを判断する（ステップＳ１９０４）。ここで、ＦＡＱが検索された場合（ステップＳ１９０４：Ｙｅｓ）、情報処理装置１０１は、ステップＳ１９０２において選択したＦＡＱを、ステップＳ１９０３において検索したＦＡＱと入れ替えて（ステップＳ１９０５）、ステップＳ１９０１に戻る。
【０１５０】
一方、ＦＡＱが検索されなかった場合（ステップＳ１９０４：Ｎｏ）、情報処理装置１０１は、第２候補からいずれかのＦＡＱをランダムに選択する（ステップＳ１９０６）。そして、情報処理装置１０１は、ステップＳ１９０２において選択したＦＡＱを、ステップＳ１９０６において選択したＦＡＱと入れ替えて（ステップＳ１９０７）、ステップＳ１９０１に戻る。
【０１５１】
また、ステップＳ１９０１において、アクセス効率がＢＰ値を下回る未選択のＦＡＱがない場合（ステップＳ１９０１：Ｎｏ）、情報処理装置１０１は、調整処理を呼び出したステップに戻る。これにより、検索ワードに応じて検索された複数のＦＡＱの優先順位を調整することができる。
【０１５２】
（情報処理装置１０１のＬｅｖｅｌ調整処理手順）
つぎに、図２０を用いて、情報処理装置１０１のＬｅｖｅｌ調整処理手順について説明する。Ｌｅｖｅｌ調整処理は、上記式（２）および上記式（３）に含まれるＬｅｖｅｌを調整する処理であり、例えば、１日、１週間、１ヶ月などの一定期間ごとに行われる。
【０１５３】
図２０は、情報処理装置１０１のＬｅｖｅｌ調整処理手順の一例を示すフローチャートである。図２０のフローチャートにおいて、まず、情報処理装置１０１は、全体正解率テーブル１２００を参照して、日ごとの平均全体正解率を算出する（ステップＳ２００１）。つぎに、情報処理装置１０１は、算出した日ごとの平均全体正解率に基づいて、回帰分析を実行する（ステップＳ２００２）。
【０１５４】
そして、情報処理装置１０１は、アクセス効率が上昇傾向にあるか否かを判断する（ステップＳ２００３）。ここで、アクセス効率が上昇傾向にある場合（ステップＳ２００３：Ｙｅｓ）、情報処理装置１０１は、あらかじめ設定された上げ幅分、Ｌｅｖｅｌを上げて（ステップＳ２００４）、本フローチャートによる一連の処理を終了する。
【０１５５】
また、ステップＳ２００３において、アクセス効率が上昇傾向にない場合（ステップＳ２００３：Ｎｏ）、情報処理装置１０１は、アクセス効率が下降傾向にあるか否かを判断する（ステップＳ２００５）。ここで、アクセス効率が下降傾向にある場合（ステップＳ２００５：Ｙｅｓ）、情報処理装置１０１は、あらかじめ設定された下げ幅分、Ｌｅｖｅｌを下げて（ステップＳ２００６）、本フローチャートによる一連の処理を終了する。
【０１５６】
また、ステップＳ２００５において、アクセス効率が下降傾向にない場合（ステップＳ２００５：Ｎｏ）、情報処理装置１０１は、本フローチャートによる一連の処理を終了する。
【０１５７】
これにより、検索ワードに応じて出力したＦＡＱに対するシステム全体のアクセス効率の傾向に基づいて、Ｌｅｖｅｌを調整することができる。この結果、第１候補と第２候補との間でＦＡＱの入れ替えが積極的に行われるようにしたり、第１候補と第２候補との間でＦＡＱの入れ替えが頻繁に行われるのを抑制したりして、第１候補と第２候補との間で入れ替えるＦＡＱの数を調整することが可能となる。
【０１５８】
以上説明したように、実施の形態にかかる情報処理装置１０１によれば、検索ワードの入力を受け付けた場合、検索アルゴリズムを用いて検索ワードに対応する複数のＦＡＱを、優先順位を含めて特定することができる。検索アルゴリズムは、例えば、ＴＦ−ＩＤＦ法を用いて計算される類似度を利用したアルゴリズムである。また、情報処理装置１０１によれば、チャットログＤＢ２３０を参照して、特定した複数のＦＡＱそれぞれについて、検索ワードにおけるアクセス効率を算出することができる。そして、情報処理装置１０１によれば、算出した各ＦＡＱのアクセス効率に基づいて、複数のＦＡＱの優先順位を調整し、調整後の優先順位に基づいて、複数のＦＡＱの中から出力する１または複数のＦＡＱを決定して出力することができる。
【０１５９】
これにより、過去のアクセス履歴に基づく検索ワードにおけるアクセス効率に応じて、ＴＦ−ＩＤＦ法等を利用した検索アルゴリズムにより特定したＦＡＱの優先順位を調整して、検索ワードに対する検索結果として出力するＦＡＱを最適化することができる。アクセス効率は、検索ワードに対してＦＡＱを出力した際に当該ＦＡＱが選択される割合の高さを示す指標値である。例えば、今回入力された検索ワードと同一または類似の検索ワードが入力された際の過去のアクセス数が少ないＦＡＱのアクセス効率は低くなる。
【０１６０】
また、情報処理装置１０１によれば、複数のＦＡＱを特定する際に、優先順位に基づいて、複数のＦＡＱの中から出力候補とする第１候補を特定することができる。そして、情報処理装置１０１によれば、算出したアクセス効率に基づいて、第１候補の一部または全部を、複数のＦＡＱのうち第１候補以外の第２候補の一部または全部と入れ替えて、複数のＦＡＱの優先順位を調整することができる。具体的には、例えば、情報処理装置１０１は、第１候補のうちアクセス効率がＢＰ値を下回るＦＡＱを、第２候補のうちアクセス効率がＧＰ値を上回るＦＡＱと入れ替えることができる。
【０１６１】
換言すれば、情報処理装置１０１によれば、提示した複数のＦＡＱ（検索結果アイテム）について、選択操作が所定の基準を下回るＦＡＱを不正解教師データとして機械学習して、１画面で表示される候補として選択されなかった他のＦＡＱが検索による表示候補にあがりやすくすることができる。
【０１６２】
これにより、第１候補のうちアクセス効率が悪いと判断されたＦＡＱを、第２の候補のうちアクセス効率が良いと判断されたＦＡＱと入れ替えて、検索ワードに対する検索結果として出力するＦＡＱを最適化することができる。
【０１６３】
また、情報処理装置１０１によれば、第２候補のうちアクセス効率がＧＰ値を上回るＦＡＱがない場合には、第２候補のうちのいずれかのＦＡＱをランダムに選択し、第１候補のうちアクセス効率がＢＰ値を下回るＦＡＱを、選択したＦＡＱと入れ替えることができる。
【０１６４】
これにより、第１候補にアクセス効率が悪いＦＡＱがあれば、第２候補にアクセス効率が良いＦＡＱがなくても、第２候補のいずれかのＦＡＱと強制的に入れ替えることができ、ＦＡＱの並びが固定化されるのを防いで学習効率を向上させることができる。このため、例えば、検索ワードに対するＦＡＱのアクセス傾向が現れていないようなときに、ランダムに選択したＦＡＱを出力してアクセス傾向が現れるのを待つことができる。
【０１６５】
また、情報処理装置１０１によれば、複数のＦＡＱのアクセス履歴に基づいて、第１候補と第２候補との間で入れ替えるＦＡＱの数を調整することができる。具体的には、例えば、情報処理装置１０１は、複数のＦＡＱのアクセス履歴から、アクセス効率が下降していると判定した場合に、第１候補と第２候補との間で入れ替えるＦＡＱの数を増加させることができる。また、情報処理装置１０１は、複数のＦＡＱのアクセス履歴から、アクセス効率が上昇していると判定した場合に、第１候補と第２候補との間で入れ替えるＦＡＱの数を減少させることができる。
【０１６６】
これにより、検索ワードに応じて出力したＦＡＱに対するシステム全体のアクセス効率の傾向に基づいて、第１候補と第２候補との間で入れ替えるＦＡＱの数を調整することができる。例えば、システム全体のアクセス効率が下降傾向にあれば、第１候補と第２候補との間でＦＡＱの入れ替えが積極的に行われるように調整することができる。一方、システム全体のアクセス効率が上昇傾向にあれば、第１候補と第２候補との間でＦＡＱの入れ替えが頻繁に行われないように調整することができる。
【０１６７】
また、情報処理装置１０１によれば、出力する１または複数のＦＡＱを決定すると、その都度、第１候補の一部または全部を第２候補の一部または全部と入れ替えた結果に基づいて、検索ワードにおける全体正解率を算出することができる。そして、情報処理装置１０１によれば、算出した全体正解率の時系列変化に基づいて、アクセス効率が下降または上昇しているかを判定することができる。
【０１６８】
これにより、検索ワードに応じて出力したＦＡＱに対するシステム全体のアクセス効率の傾向を判定することができる。
【０１６９】
また、情報処理装置１０１によれば、入れ替えによって出力すると決定された第２候補に含まれる１または複数のＦＡＱの出力される順序位置を、入れ替え対象となって出力されなくなった第１候補に含まれるＦＡＱの順序位置とすることができる。
【０１７０】
これらのことから、実施の形態にかかる情報処理装置１０１によれば、検索ワードに対する検索結果として出力するＦＡＱを、検索時点での各ＦＡＱのアクセス効率をもとに最適化することができる。これにより、例えば、過去に一度もアクセスされていないようなＦＡＱが出力されるのを防ぐことができる。このため、表示枠に並べられるＦＡＱの数が少ないチャットボット向けのＦＡＱシステムであっても、ユーザが期待するＦＡＱを高精度に絞り込むことが可能となり、ユーザの利便性の向上を図ることができる。
【０１７１】
なお、上述した説明では、ＦＡＱの検索結果を複数ページに渡って配置しない、すなわち、ＦＡＱの検索結果に対して、ページの考え方を採用しない場合を例に挙げて説明したが、これに限らない。例えば、回答出力システム２００において、ＦＡＱの検索結果を複数ページに渡って配置することにしてもよい。
【０１７２】
例えば、図６に示したような問い合わせ画面６００において、ページの切り替えを行うためのボタンを設け、優先順位が高い上位Ｎ件のＦＡＱを１ページ目に表示し、それ以外のＦＡＱについては、優先順位に従って２ページ目に表示することにしてもよい。
【０１７３】
この場合、情報処理装置１０１は、調整部７０４により、複数ページに渡って配置した複数の検索結果アイテムのうち、第２ページ以降のページに配置した検索結果アイテムのそれぞれに対する過去の選択操作に応じて正解の検索結果アイテムを特定する。
【０１７４】
ここで、複数ページに渡って配置した複数の検索結果アイテムのうち、第１ページに配置した検索結果アイテムは、上述した第１候補に対応する。第２ページ以降に配置した検索結果アイテムは、上述した第２候補に対応する。また、正解の検索結果アイテムは、第１候補のＦＡＱと入れ替える第２候補のＦＡＱに対応する。具体的には、例えば、調整部７０４は、動線分析結果テーブル９００を参照して、第２ページ以降のページに配置したＦＡＱのうちアクセス効率がＧＰ値を上回るＦＡＱを、正解の検索結果アイテムとして特定する。
【０１７５】
そして、情報処理装置１０１は、調整部７０４により、特定した該正解の検索結果アイテムを正解教師データとして第１の機械学習を実行する。具体的には、例えば、調整部７０４は、特定した該正解の検索結果アイテムを正解教師データとして、第１ページに配置した検索結果アイテムと入れ替えて、複数のＦＡＱの優先順位を調整する。第１ページの入れ替え対象となる検索結果アイテムは、例えば、アクセス効率がＢＰ値を下回るＦＡＱである。
【０１７６】
つぎに、情報処理装置１０１は、決定部７０５により、第１の機械学習の学習結果を適用する。そして、情報処理装置１０１は、出力部７０６により、１画面に収まる数に制限した複数の検索結果アイテムを表示する。表示される複数の検索結果アイテムは、例えば、図６に示したＦＡＱ６１１〜６１３である。具体的には、例えば、決定部７０５は、第１ページに配置した検索結果アイテムを、出力対象のＦＡＱに決定する。そして、出力部７０６は、決定された出力対象のＦＡＱを示す情報を、検索ワードに対する検索結果として端末２０１に送信する。
【０１７７】
また、情報処理装置１０１は、調整部７０４により、表示した該複数の検索結果アイテムの選択操作に応じて不正解の検索結果アイテムを特定する。具体的には、例えば、調整部７０４は、動線分析結果テーブル９００を参照して、第１ページに配置したＦＡＱのうちアクセス効率がＢＰ値を下回るＦＡＱを、不正解の検索結果アイテムとして特定する。
【０１７８】
そして、情報処理装置１０１は、調整部７０４により、特定した該不正解の検索結果アイテムを不正解教師データとして第２の機械学習を実行する。具体的には、例えば、調整部７０４は、特定した該不正解の検索結果アイテムを不正解教師データとして、第２ページ以降のページに配置した検索結果アイテムと入れ替えて、複数のＦＡＱの優先順位を調整する。第２ページ以降のページの入れ替え対象となる検索結果アイテムは、例えば、アクセス効率がＧＰ値を上回るＦＡＱである。
【０１７９】
つぎに、情報処理装置１０１は、決定部７０５により、第２の機械学習の学習結果を適用して、検索結果アイテムを選択する。そして、情報処理装置１０１は、出力部７０６により、選択された検索結果アイテムを表示する。具体的には、例えば、決定部７０５は、第１ページに配置した検索結果アイテムを、出力対象のＦＡＱに決定する。そして、出力部７０６は、決定された出力対象のＦＡＱを示す情報を、検索ワードに対する検索結果として端末２０１に送信する。
【０１８０】
これにより、ＦＡＱの検索結果を複数ページに渡って配置するＦＡＱシステムであっても、過去のアクセス履歴に基づく検索ワードにおけるアクセス効率に応じて、検索ワードに対する検索結果として出力するＦＡＱを最適化することができる。
【０１８１】
なお、本実施の形態で説明した回答出力方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本回答出力プログラム、機械学習プログラムは、ハードディスク、フレキシブルディスク、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｋ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本回答出力プログラム、機械学習プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１８２】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１８３】
（付記１）質問データの入力を受け付けた場合、検索アルゴリズムを用いて前記質問データに対応する複数の回答候補データを、優先順位を含めて特定し、
過去の回答候補データへのアクセス履歴を記憶する記憶部を参照して、特定した前記複数の回答候補データのそれぞれにおけるアクセス履歴に基づいて、前記複数の回答候補データそれぞれに対する前記質問データによるアクセス率を算出し、
算出した前記アクセス率に基づいて前記複数の回答候補データの優先順位を調整し、
調整後の優先順位に基づいて前記複数の回答候補データの中から出力する１または複数の回答候補データを決定して出力する、
処理をコンピュータに実行させることを特徴とする回答出力プログラム。
【０１８４】
（付記２）前記複数の回答候補データを特定する際に、優先順位に基づいて前記複数の回答候補データの中から出力候補とする第１の回答候補データを特定し、
算出した前記アクセス率に基づいて出力候補とする前記第１の回答候補データの一部または全部を、前記複数の回答候補データのうち前記第１の回答候補データ以外の第２の回答候補データの一部または全部と入れ替えて前記複数の回答候補データの優先順位を調整する、
ことを特徴とする付記１に記載の回答出力プログラム。
【０１８５】
（付記３）前記第１の回答候補データを特定する際に、前記複数の回答候補データのアクセス履歴に基づいて前記第１の回答候補データと前記第２の回答候補データとの間で入れ替える回答候補データの数を調整する、
ことを特徴とする付記２に記載の回答出力プログラム。
【０１８６】
（付記４）前記複数の回答候補データのアクセス履歴から前記アクセス率が減少していると判定した場合に、前記第１の回答候補データと前記第２の回答候補データとの間で入れ替える回答候補データの数を増加させる、
ことを特徴とする付記３に記載の回答出力プログラム。
【０１８７】
（付記５）前記複数の回答候補データのアクセス履歴から前記アクセス率が増加していると判定した場合に、前記第１の回答候補データと前記第２の回答候補データとの間で入れ替える回答候補データの数を減少させる、
ことを特徴とする付記３に記載の回答出力プログラム。
【０１８８】
（付記６）前記複数の回答候補データの中から出力する１または複数の回答候補データを決定して出力する際に、入れ替えによって出力すると決定された前記第２の回答候補データに含まれる１または複数の回答候補データの出力される順序位置は、入れ替え対象となって出力されなくなった前記第１の回答候補データに含まれる回答候補データの順序位置である、
ことを特徴とする付記２に記載の回答出力プログラム。
【０１８９】
（付記７）前記検索アルゴリズムは、回答候補データに含まれる特徴語に基づいて、前記質問データに対応する回答候補データを特定するアルゴリズムである、
ことを特徴とする付記１に記載の回答出力プログラム。
【０１９０】
（付記８）前記第１の回答候補データのうちアクセス率が第１の閾値を下回る回答候補データを、前記第２の回答候補データのうちアクセス率が第２の閾値を上回る回答候補データと入れ替える、ことを特徴とする付記２に記載の回答出力プログラム。
【０１９１】
（付記９）前記第２の回答候補データのうちアクセス率が前記第２の閾値を上回る回答候補データがない場合には、前記第２の回答候補データのうちのいずれかの回答候補データをランダムに選択し、
前記第１の回答候補データのうちアクセス率が第１の閾値を下回る回答候補データを、選択した前記回答候補データと入れ替える、ことを特徴とする付記８に記載の回答出力プログラム。
【０１９２】
（付記１０）出力する１または複数の回答候補データを決定すると、前記第１の回答候補データの一部または全部を前記第２の回答候補データの一部または全部と入れ替えた結果に基づいて、前記質問データにおける全体正解率を算出し、
算出した前記全体正解率の時系列変化に基づいて、前記アクセス率が減少または増加しているかを判定する、
ことを特徴とする付記４または５に記載の回答出力プログラム。
【０１９３】
（付記１１）質問データの入力を受け付けた場合、検索アルゴリズムを用いて前記質問データに対応する複数の回答候補データを、優先順位を含めて特定し、
過去の回答候補データへのアクセス履歴を記憶する記憶部を参照して、特定した前記複数の回答候補データのそれぞれにおけるアクセス履歴に基づいて、前記複数の回答候補データそれぞれに対する前記質問データによるアクセス率を算出し、
算出した前記アクセス率に基づいて前記複数の回答候補データの優先順位を調整し、
調整後の優先順位に基づいて前記複数の回答候補データの中から出力する１または複数の回答候補データを決定して出力する、
処理をコンピュータが実行することを特徴とする回答出力方法。
【０１９４】
（付記１２）質問データの入力を受け付けた場合、検索アルゴリズムを用いて前記質問データに対応する複数の回答候補データを、優先順位を含めて特定し、
過去の回答候補データへのアクセス履歴を記憶する記憶部を参照して、特定した前記複数の回答候補データのそれぞれにおけるアクセス履歴に基づいて、前記複数の回答候補データそれぞれに対する前記質問データによるアクセス率を算出し、
算出した前記アクセス率に基づいて前記複数の回答候補データの優先順位を調整し、
調整後の優先順位に基づいて前記複数の回答候補データの中から出力する１または複数の回答候補データを決定して出力する、
制御部を有することを特徴とする情報処理装置。
【０１９５】
（付記１３）複数ページに渡って配置した複数の検索結果アイテムのうち、第２ページ以降のページに配置した検索結果アイテムのそれぞれに対する過去の選択操作に応じて正解の検索結果アイテムを特定して、特定した該正解の検索結果アイテムを正解教師データとして第１の機械学習を実行し、
前記第１の機械学習の学習結果を適用して、１画面に収まる数に制限した複数の検索結果アイテムを表示し、
表示した該複数の検索結果アイテムの選択操作に応じて不正解の検索結果アイテムを特定して、特定した該不正解の検索結果アイテムを不正解教師データとして第２の機械学習を実行し、
前記第２の機械学習の学習結果を適用して、検索結果アイテムを選択する、
処理をコンピュータに実行させることを特徴とする機械学習プログラム。
【０１９６】
（付記１４）検索結果を複数ページに渡って表示可能な状況における検索結果アイテムの選択操作に応じて正解検索結果アイテムを特定して、正解教師データとして機械学習された検索システムで、１画面で表示可能な数に制限して検索結果アイテムを表示可能な状況において検索処理を実行させた場合に、前記１画面で表示された検索アイテムに対する選択操作に応じて不正解検索結果アイテムを特定して、不正解教師データとして機械学習する、
処理をコンピュータに実行させることを特徴とする機械学習プログラム。
【０１９７】
（付記１５）１画面で表示可能な数に制限して複数の検索結果アイテムを選択して提示し、
提示した前記複数の検索結果アイテムについて、選択操作が所定の基準を下回る検索結果アイテムを不正解教師データとして機械学習して、前記１画面で表示される候補として選択されなかった他の検索結果アイテムが検索による表示候補にあがりやすくする、
処理をコンピュータに実行させることを特徴とする機械学習プログラム。
【符号の説明】
【０１９８】
１０１  情報処理装置
１１０，７１０  記憶部
２００  回答出力システム
２０１  端末
２１０  ネットワーク
２２０  ＦＡＱマスタ
２３０  チャットログＤＢ
３００  バス
３０１  ＣＰＵ
３０２  メモリ
３０３  Ｉ／Ｆ
３０４  ディスクドライブ
３０５  ディスク
６００  問い合わせ画面
６１０  表示枠
７０１  受付部
７０２  特定部
７０３  算出部
７０４  調整部
７０５  決定部
７０６  出力部
８００  動線分析元情報
９００  動線分析結果テーブル
１２００  全体正解率テーブル
【国際調査報告】
2019187120.tif 000023
2019187120.tif 000024
2019187120.tif 000025
2019187120.tif 000026