(57)【要約】【課題】効率的な対話を支援する情報検索システムを提供する。【解決手段】実施形態の情報検索システムは、任意の所定単位の一連のテキストデータが入力され、テキストデータに応じたナレッジ情報を検索する。テキストデータに対し、ナレッジ情報を検索するためのクエリらしさを評価する第１モデルを用いてクエリ候補を生成し、ナレッジ情報のクエリ候補に対する検索結果としてのもっともらしさを評価する第２モデルを用いて、クエリ候補に関連する第１ナレッジ情報を抽出する。クエリ候補に対するクエリ選択履歴を取得し、クエリ選択履歴に基づき選択クエリ候補に関連する第２ナレッジ情報を、第２モデルを用いて抽出する。第１ナレッジ情報に対するクエリ候補と第１ナレッジ情報との対応付け情報、または／および第２ナレッジ情報に対する選択クエリと第２ナレッジ情報との対応付け情報を含むナレッジ評価履歴を取得して第２モデルを更新する。【選択図】図１
2020009140.tif 000002
【特許請求の範囲】
【請求項１】
任意の所定単位の一連のテキストデータが入力され、所定の記憶領域から前記テキストデータに応じたナレッジ情報を検索する情報検索装置であって、
テキストデータに対し、前記ナレッジ情報を検索するためのクエリらしさを評価する第１モデルと、
前記第１モデルを用いて、前記ナレッジ情報を検索するためのクエリ候補を生成するクエリ生成部と、
前記ナレッジ情報の前記クエリ候補に対する検索結果としてのもっともらしさを評価する第２モデルと、
前記第２モデルを用いて、前記クエリ候補に関連する第１ナレッジ情報を抽出する第１検索部と、
前記クエリ候補と、前記第１ナレッジ情報とを所定の表示領域に出力する第１出力部と、
前記第１ナレッジ情報が表示された前記表示領域における前記クエリ候補に対するクエリ選択履歴を取得し、このクエリ選択履歴に基づき選択クエリ候補に関連する第２ナレッジ情報を、前記第２モデルを用いて抽出する第２検索部と、
前記第２ナレッジ情報を前記表示領域に出力する第２出力部と、   
前記第１ナレッジ情報に対する、前記クエリ候補と前記第１ナレッジ情報との対応付け情報、または／および前記第２ナレッジ情報に対する、前記選択クエリと前記第２ナレッジ情報との対応付け情報を含むナレッジ評価履歴を取得して前記第２モデルを更新する第２モデル更新部と、
を備えたことを特徴とする情報検索装置。
【請求項２】
任意の所定単位の一連のテキストデータが入力され、所定の記憶領域から前記テキストデータに応じたナレッジ情報を検索する情報検索装置であって、
前記テキストデータに対し、前記ナレッジ情報を検索するためのクエリらしさを表すクエリ尤度を評価する第１モデルと、
前記第１モデルを用いて、前記テキストデータのクエリ尤度値を算出し、前記クエリ尤度値に基づいて、前記ナレッジ情報を検索するためのクエリ候補を生成するクエリ生成部と、
前記ナレッジ情報の前記クエリ候補に対する検索結果としてのもっともらしさを評価する第２モデルと、
前記第２モデルを用いて、前記クエリ候補に対する検索尤度を算出し、前記検索尤度に基づいて、前記クエリ候補に関連する第１ナレッジ情報を抽出する第１検索部と、
前記クエリ候補と、前記第１ナレッジ情報とを所定の表示装置に出力する第１出力部と、
前記第１ナレッジ情報が表示された前記表示領域における前記クエリ候補に対するクエリ選択履歴を取得し、前記第１モデルを更新する第１モデル更新部と、
前記第２モデルを用いて、前記クエリ選択履歴に基づく選択クエリ候補に対する検索尤度を算出し、前記検索尤度に基づいて、前記選択クエリ候補に関連する第２ナレッジ情報を抽出する第２検索部と、
前記第２ナレッジ情報を前記表示領域に出力する第２出力部と、
前記第１ナレッジ情報または／および前記第２ナレッジ情報に対するナレッジ評価履歴を取得して前記第２モデルを更新する第２モデル更新部と、を有し、
前記ナレッジ評価履歴は、前記クエリ候補と前記第１ナレッジ情報との対応付け情報、または／および前記選択クエリ候補と前記第２ナレッジ情報との対応付け情報を含み、
前記クエリ選択履歴を用いた前記第１モデル更新部による第１更新処理と、第１更新処理で使用される前記クエリ選択履歴と前記ナレッジ評価履歴とに基づく前記第２更新部による第２更新処理とが、並行して実行されることを特徴とする情報検索装置。
【請求項３】
前記第１モデル更新部は、選択された前記クエリ候補に対応する前記テキストデータのクエリ尤度を、選択されなかった前記クエリ候補のクエリ尤度よりも高く設定することを特徴とする請求項２に記載の情報検索装置。
【請求項４】
前記第１モデル更新部は、前記選択クエリ候補と同一または類似するテキストを含む前記テキストデータが入力されたときに、同一または類似のテキスト部分のクエリ尤度がより高くなるように前記第１モデルを更新することを特徴とする請求項２又は３に記載の情報検索システム装置。
【請求項５】
前記クエリ生成部は、前記任意の所定単位の一連のテキストデータに含まれる前記各テキストデータそれぞれのクエリ尤度を算出し、算出されたクエリ尤度が最も高いテキストデータ、又は算出されたクエリ尤度が所定値以上のテキストデータを前記クエリ候補として生成することを特徴とする請求項１から４のいずれか１つに記載の情報検索システム装置。
【請求項６】
前記第２モデル更新部は、前記ナレッジ評価履歴に該当するナレッジ情報と前記対応付け情報により対応付けられた前記クエリ候補と同一または類似したテキストデータが入力されたときに、前記検索尤度がより高くなるように前記第２モデルを更新することを特徴とする請求項１から５のいずれか１つに記載の情報検索システム装置。
【請求項７】
前記第２モデル更新部は、前記第１検索部によって抽出された前記第１ナレッジ情報に対する第１ナレッジ評価履歴及び前記第２検索部によって抽出された前記第２ナレッジ情報に対する第２ナレッジ評価履歴を取得し、各ナレッジ評価履歴に基づいて前記第２モデルを更新することを特徴とする請求項１から６のいずれか１つに記載の情報検索装置。
【請求項８】
前記所定単位の一連のテキストデータは、少なくとも単語、文章、テキストデータの入力時刻、テキストデータの入力者、テキストデータの意味の何れかに基づく所定の単位に分割されたテキストデータであることを特徴とする請求項１から７のいずれか１つに記載の情報検索システム装置。
【請求項９】
テキストデータの検索クエリとしての重要度を評価する第３モデルと、
前記クエリ生成部は、前記第３モデルを用いて前記テキストデータから検索クエリとして重要な1つ以上の部分文字列を抽出するキーワード抽出部と、を有し、
前記抽出された1つ以上の部分文字列をクエリ候補として出力することを特徴とする請求項１から８のいずれか１つに記載の情報検索装置。
【請求項１０】
前記クエリ生成部より出力された前記1つ以上の部分文字列を出力し、前記部分文字列に対して編集された部分文字列を入力として受け付ける入出力部と、
前記第２モデルを用いて、前記部分文字列に対する検索尤度を算出し、前記検索尤度に基づいて、前記部分文字列に関連する第３ナレッジ情報を抽出する第３検索部と、
前記第３ナレッジ情報を出力する第３出力部と、を更に有し、
前記第２モデル更新部は、前記第３ナレッジ情報に対するナレッジ評価履歴を取得して前記第２モデルを更新することを特徴とする請求項９に記載の情報検索装置。
【請求項１１】
前記第３モデルを、少なくとも前記選択クエリ候補、前記部分文字列、前記検索クエリ用語の何れかに基づき、前記選択クエリ候補、前記部分文字列、前記検索クエリ用語の何れかに含まれる、少なくとも一つの部分文字列について、第３モデルの語彙に含まれない場合は該部分文字列を追加し、第３モデルの語彙に含まれる場合は重要度がより高くなるように前記第３モデルを更新することを特徴とする請求項１０に記載の情報検索装置。
【請求項１２】
前記ナレッジ情報の登録処理を制御するナレッジ管理部と、
前記クエリ候補に基づくナレッジ情報検索履歴を記憶する記憶部と、をさらに含み、
前記ナレッジ管理部は、
前記ナレッジ情報検索履歴に基づいて、検索結果に含まれる前記ナレッジ情報が無い場合、または検索結果に含まれる全てのナレッジ情報の検索尤度が所定値を下回る場合に、
前記クエリ候補又は前記クエリ候補に含まれる１つ又は複数の、検索要求として重要な１つ以上の部分文字列を含む第１リストを生成して所定の管理者端末に送信し、前記第１リストに含まれる前記クエリ候補又は前記クエリ候補に含まれる１つ又は複数の前記文字列を含む新規ナレッジ情報を前記管理者端末から受信して登録する前記登録処理を行い、
前記第２モデル更新部は、前記第１リストに含まれる前記クエリ候補と新規ナレッジ情報との組を追加学習データとして、前記学習データの前記クエリ候補と同一又は類似のクエリ候補に対して、検索尤度がより高くなるように、前記第２モデルを更新することを特徴とする請求項１から１１のいずれか１つに記載の情報検索装置。
【請求項１３】
前記ナレッジ情報の削除処理を制御するナレッジ管理部と、
前記クエリ候補に基づくナレッジ評価履歴を記憶する記憶部と、をさらに含み、
前記ナレッジ管理部は、
前記ナレッジ評価履歴に基づいて前記ナレッジ評価値が所定値よりも低い前記ナレッジ情報を含む第２リストを生成して前記管理者端末に送信し、前記第２リストに対する選択情報に基づいて該当する前記ナレッジ情報を削除する前記削除処理を行い、
前記第２モデル更新部は、削除対象の前記ナレッジ情報を除外した前記第２モデルの更新処理を行うことを特徴とする請求項１から１１のいずれか１つに記載の情報検索装置。
【請求項１４】
前記ナレッジ情報の更新処理を制御するナレッジ管理部と、
前記検索された前記ナレッジ情報に対するナレッジ情報改善要求履歴を記憶する記憶部と、をさらに含み、
前記ナレッジ管理部は、
前記ナレッジ情報改善要求履歴に基づいて、前記ナレッジ情報改善要求が所定値よりも多い前記ナレッジ情報を含む第３リストを生成して前記管理者端末に送信し、前記第３リストに含まれる前記ナレッジ情報に対する編集情報を前記管理者端末から受信して該当の前記ナレッジ情報を更新する前記更新処理を行い、
前記第２モデル更新部は、更新対象のナレッジ情報の前記クエリ候補に対する検索結果としてもっともらしさを表す検索尤度が、更新履歴に基づき更新前のナレッジ情報についてのモデル更新を取り消し、当該ナレッジ情報以外のナレッジ情報については更新を保持するように前記第２モデルを更新することを特徴とする請求項１から１１のいずれか１つに記載の情報検索装置。
【請求項１５】
任意の所定単位の一連のテキストデータが入力され、所定の記憶領域から前記テキストデータに応じたナレッジ情報を検索する方法であって、
前記ナレッジ情報を検索するためのクエリらしさを評価する第１モデルを用いて、前記ナレッジ情報を検索するためのクエリ候補を生成する第１ステップと、
前記ナレッジ情報の前記クエリ候補に対する検索結果としてのもっともらしさを評価する第２モデルを用いて、前記クエリ候補に関連する第１ナレッジ情報を抽出する第２ステップと、
前記クエリ候補と、前記第１ナレッジ情報とを所定の表示領域に出力する第３ステップと、
前記第１ナレッジ情報が表示された前記表示領域における前記クエリ候補に対するクエリ選択履歴を取得し、この取得した選択履歴に基づき前記選択クエリ候補に関連する第２ナレッジ情報を抽出する第４ステップ、
前記第２ナレッジ情報を前記表示領域に出力する第５ステップと、
前記第１ナレッジ情報に対する、前記クエリ候補と前記第１ナレッジ情報との対応付け情報、または／および前記第２ナレッジ情報に対する、前記選択クエリと前記第２ナレッジ情報との対応付け情報を含むナレッジ評価履歴を取得して前記第２モデルを更新する６ステップと、を備えたことを特徴とする情報検索方法。
【請求項１６】
任意の所定単位の一連のテキストデータが入力され、所定の記憶領域から前記テキストデータに応じたナレッジ情報を検索する処理をコンピュータに実行させるためのプログラムであって、前記コンピュータに、
前記ナレッジ情報を検索するためのクエリらしさを評価する第１モデルを用いて、前記ナレッジ情報を検索するためのクエリ候補を生成する第１機能と、
前記ナレッジ情報の前記クエリ候補に対する検索結果としてのもっともらしさを評価する第２モデルを用いて、前記クエリ候補に関連する第１ナレッジ情報を抽出する第２機能と、
前記クエリ候補と、前記第１ナレッジ情報とを所定の表示領域に出力する第３機能と、
前記第１ナレッジ情報が表示された前記表示領域における前記クエリ候補に対するクエリ選択履歴を取得し、この取得した選択履歴に基づき前記選択クエリ候補に関連する第２ナレッジ情報を抽出する第４機能と、
前記第２ナレッジ情報を前記表示領域に出力する第５機能と、
前記第１ナレッジ情報に対する、前記クエリ候補と前記第１ナレッジ情報との対応付け情報、または／および前記第２ナレッジ情報に対する、前記選択クエリと前記第２ナレッジ情報との対応付け情報を含むナレッジ評価履歴を取得して前記第２モデルを更新する第６機能と、
を前記コンピュータに実現させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、任意のテキストデータに対するナレッジ情報を提供する技術に関する。
【背景技術】
【０００２】
従来からＦＡＱを利用した対話支援技術がある。また、ＦＡＱが質問文に対する回答として適切であるかなどを評価して、質問文とＦＡＱの組を学習データとして作成し、お客様の質問に対して回答精度を向上させている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１１９６９７号公報
【特許文献２】特開２００３−００６２０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
発話者などの問合せを行う者が意図する問合せ内容の選別精度を向上させつつ、意図する問合せに対するナレッジ候補の抽出精度を向上させることができる情報検索システムを提供する。
【課題を解決するための手段】
【０００５】
実施形態の情報検索システムは、任意の所定単位の一連のテキストデータが入力され、所定の記憶領域から前記テキストデータに応じたナレッジ情報を検索する情報検索装置である。本装置は、テキストデータに対し、前記ナレッジ情報を検索するためのクエリらしさを評価する第１モデルと、前記第１モデルを用いて、前記ナレッジ情報を検索するためのクエリ候補を生成するクエリ生成部と、前記ナレッジ情報の前記クエリ候補に対する検索結果としてのもっともらしさを評価する第２モデルと、前記第２モデルを用いて、前記クエリ候補に関連する第１ナレッジ情報を抽出する第１検索部と、前記クエリ候補と、前記第１ナレッジ情報とを所定の表示領域に出力する第１出力部と、前記第１ナレッジ情報が表示された前記表示領域における前記クエリ候補に対するクエリ選択履歴を取得し、このクエリ選択履歴に基づき選択クエリ候補に関連する第２ナレッジ情報を、前記第２モデルを用いて抽出する第２検索部と、前記第２ナレッジ情報を前記表示領域に出力する第２出力部と、前記第１ナレッジ情報に対する、前記クエリ候補と前記第１ナレッジ情報との対応付け情報、または／および前記第２ナレッジ情報に対する、前記選択クエリと前記第２ナレッジ情報との対応付け情報を含むナレッジ評価履歴を取得して前記第２モデルを更新する第２モデル更新部とを備えたことを特徴とする。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態の情報検索システムのネットワーク構成図及び各装置の機能ブロック図である。
【図２Ａ】第１実施形態のオペレータ装置に表示される対話支援画面の一例を示す図である。
【図２Ｂ】第１実施形態の対話支援画面における表示領域Ｓ１の画面例である。
【図２Ｃ】第１実施形態の対話支援画面における表示領域Ｓ１の画面例と表示領域Ｓ２との関係を示す図である。
【図３】第１実施形態のクエリモデルを使用して抽出された問合せ内容の一例を示す図である。
【図４】第１実施形態の対話支援機能の処理フローを示す図である。
【図５】第１実施形態の各種テーブル及び情報の一例を示す図である。
【図６】第１実施形態の各種テーブル及び情報の一例を示す図である。
【図７】第１実施形態の分類段階の処理フローを示す図である。
【図８】第１実施形態の更新段階の処理フローを示す図である。
【図９】第１実施形態のクエリ候補の生成処理フローを示す図である。
【図１０】第１実施形態のクエリ候補の検索処理フローを示す図である。
【図１１】第１実施形態のクエリモデル更新処理フロー（ａ）、検索モデル更新処理フロー（ｂ）を示す図である。
【図１２】第１実施形態の各種テーブル及び情報の一例を示す図である。
【図１３】第１実施形態の各種テーブル及び情報の一例を示す図である。
【図１４】第２実施形態の対話支援情報検索システムのネットワーク構成図及び各装置の機能ブロック図である。
【図１５】第２実施形態のオペレータ装置に表示される対話支援画面の一例を示す図である。
【図１６】第２実施形態の対話支援機能の処理フローを示す図である。
【図１７】第２実施形態のＦＡＱデータベースの一例を示す図である。
【図１８】第２実施形態の各種テーブル及び情報の一例を示す図である。
【図１９】第２実施形態のキーワード抽出処理のフローチャートを示す図である。
【図２０】第２実施形態の各種テーブル及び情報の一例を示す図である。
【図２１】第２実施形態のクエリ候補の検索処理フローを示す図である。
【図２２】第２実施形態の分類段階の処理フローを示す図である。
【図２３】第３実施形態の対話支援情報検索システムのネットワーク構成図及び各装置の機能ブロック図である。
【図２４】第３実施形態の対話支援機能の処理フローを示す図である。
【図２５】第３実施形態の各種テーブル及び情報の一例を示す図である。
【図２６】第３実施形態のＦＡＱの新規登録処理を示すフローチャートである。
【図２７】第３実施形態のＦＡＱの削除処理を示すフローチャートである。
【図２８】第３実施形態のＦＡＱの修正／更新処理を示すフローチャートである。
【図２９】第３実施形態のＦＡＱ検索ミスヒット画面の一例である。
【図３０】第３実施形態のＦＡＱ作成画面の一例を示す図である。
【図３１】第３実施形態のＦＡＱ削除リスト表示画面の一例を示す図である。
【図３２】第３実施形態の検索モデル更新処理を示すフローチャートである。
【図３３】第３実施形態のＦＡＱ改善リスト画面の一例を示す図である。
【図３４】第３実施形態のＦＡＱ修正画面の一例を示す図である。
【図３５】第１〜第３実施形態における管理者用モニタリング画面の一例を示す図である。
【発明を実施するための最良の形態】
【０００７】
以下、実施形態につき、図面を参照して説明する。
【０００８】
（第１実施形態）
図１から図１３は、第１実施形態の情報検索システムを示す図である。図１は、本実施形態の情報検索システムの構成図である。オペレータ装置３００は、情報検索装置１００と接続され、情報検索装置１００は、オペレータとお客様（カスタマー）との間の対話支援機能を提供する。なお、本実施形態では、コンタクトセンターを構成する複数のオペレータの対話支援を一例に説明しているが、これに限らない。例えば、直接カスタマーと対面して対話するケースであっても適用可能である。
【０００９】
なお、本実施形態では、カスタマーとオペレータとの対話を一例に本システムについて説明するが、オペレータを介さずにカスタマーが直接情報検索装置１００に対してテキストデータを入力し、情報検索装置１００が自動的にナレッジ情報を提供するように構成することもできる。この場合、オペレータが介在しないため、例えば、Ｗｅｂサイトの問合せ機能として本システムを構築することができる。また、カスタマーが、過去の問合せ履歴を参照してその中から選択したテキストデータ（例えば、アフターコールレポートや問い合わせ履歴）を後述する対話テキストデータとして入力し、情報検索装置１００が自動的にナレッジ情報を提供するように構成することもできる。
【００１０】
また、ナレッジ情報の一例として、本実施形態では、ＦＡＱを一例に説明するが、例えば、マニュアルや説明書などの製品やサービスに関する資料もナレッジ情報として、適用することができる。ナレッジ情報はテキスト情報に限らず、画像、音声、あるいはメタデータ等の人によって参照される形式で蓄えられる電子データ群である。また、ＦＡＱは質問と回答の組とに構造化されたナレッジを指し、テキスト情報に限られない。
【００１１】
オペレータ装置３００は、対話装置３１０、制御装置３２０、表示装置３３０及び入力装置３４０を備えている。オペレータとお客様との間の対話は、音声通話による対話、チャットによる対話、電子メールによる対話などが含まれる。対話装置３１０は、これらの対話機能を提供すると共に、生成部３１０Ａを備えており、お客様の問合せ内容をテキストデータで抽出して対話テキストデータを生成し、情報検索装置１００に出力する。
【００１２】
音声通話による対話の場合、対話装置３１０は、コンタクトセンター内のＰＢＸ（ＰｒｉｖａｔｅＢｒａｎｃｈ ｅＸｃｈａｎｇｅ）と接続され、ＡＣＤ（自動着信呼分配装置）によって分配された着信呼に応答する電話装置である。お客様の電話機とコンタクトセンターとは、公衆交換電話網（ＰＳＴＮ）やＩＰ網を通じて接続される。また、生成部３１０Ａは、通話音声データから対話テキストデータを生成する。例えば、生成部３１０Ａが音声認識機能を備え、通話音声データを音声認識処理して対話テキストデータを生成してもよい。また、生成部３１０Ａは、個別の音声認識処理装置（コンタクトセンター内又は外部のサーバ）に通話音声データを出力して音声認識結果を取得し、対話テキストデータを生成するようにしてもよい。
【００１３】
チャットによる対話は、ＩＰ（Ｉｎｔｅｒｎｅｔ Ｐｒｏｔｏｃｏｌ）網を通じたデータ通信による対話であり、テキストチャット、ボイスチャット、ビデオチャットなどが含まれる。例えば、ＷｅｂＲＴＣ（Ｗｅｂ  Ｒｅａｌ−Ｔｉｍｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）方式で、ブラウザを用いたチャット機能がある。この場合、対話装置３１０は、コンタクトセンター内の内部ネットワークを通じて外部のＩＰ網に接続可能なコンピュータ装置である。なお、ボイスチャットやビデオチャットの場合、生成部３１０Ａは、上述した音声認識処理を通じた対話テキストデータを生成する。テキストチャットの場合、生成部３１０Ａは、所定のテキストチャット画面に表示された対話テキストデータをそのまま取得することができる。なお、電子メールによる対話のケースでも、対話装置３１０は、コンピュータ装置が適用され、生成部３１０Ａも、電子メールの内容を抽出することで対話テキストデータを取得することができる。
【００１４】
制御装置３２０は、表示装置３３０に対する表示制御及び入力装置３４０に対する操作入力制御を行う。制御装置３２０は、オペレータ装置３００の全体の制御を司り、対話装置３１０に対して連携した制御を行うことが可能である。
【００１５】
なお、本実施形態では、オペレータ装置３００と対話装置３１０とが一体に構成された態様を例示しているが、例えば、オペレータ装置３００に対して対話装置３１０を個別の装置として構成してもよい。つまり、本実施形態のオペレータ装置３００は、情報検索装置１００に対するオペレータ側情報検索端末として構成されていればよい。オペレータ装置３００とは個別の対話装置３１０（生成部３１０Ａ）から出力された対話テキストデータが、情報検索装置１００に入力され、オペレータ装置３００は、情報検索装置１００から提供される対話支援機能を享受する、制御装置３２０、表示装置３３０及び入力装置３４０を備えるコンピュータ装置として構成することができる。
【００１６】
情報検索装置１００は、通信制御装置１１０、制御装置１２０及び記憶装置１３０を含んで構成されている。通信制御装置１１０は、オペレータ装置３００や対話装置３１０に対する通信インタフェース部である。
【００１７】
制御装置１２０は、クエリ生成部１２１、検索部１２２、クエリモデル更新部（第１更新部）１２３及び検索モデル更新部（第２更新部）１２４を備える。記憶装置１３０は、クエリモデル（第１モデル）１３１、検索モデル（第２モデル）１３２、ＦＡＱデータベース（ＦＡＱＤＢ）１３３が格納されている。
クエリモデルとはテキストのクエリらしさを表す内部表現のことであり、本実地形態においては確立モデルで説明しているが、規則集合であるか、確率的モデルであるか、等は問わない。すなわち、クエリモデルは、クエリ１、クエリ２、・・・、クエリＮのように複数のクエリについてそれぞれのクエリらしさを表す内部表現の集合であってもよい。
検索モデルとは、検索対象であるそれぞれのナレッジ情報を表す内部表現である。一般にテキスト検索では、重要な単語（索引語と呼ばれる）の集合が内部表現として用いられることが多いが、これに限定されない。
【００１８】
以下の説明では、オペレータとカスタマーとが対話して生成された時系列の対話テキストデータ群を一例に、本実施形態の対話支援機能を説明する。
【００１９】
図２は、対話支援画面の一例を示す図であり、オペレータ装置３００の表示装置３３０に対話支援画面が表示される。対話支援画面は、対話内容を表示する表示領域Ｓ１、推奨ＦＡＱを表示する表示領域Ｓ２及び検索ＦＡＱを表示する表示領域Ｓ３を含んでいる。これら各表示領域Ｓ１〜Ｓ３に表示される各情報は、情報検索装置１００から提供される情報である。
【００２０】
表示領域Ｓ１は、一連の発話テキストデータＵ群の各発話テキストデータの中からクエリモデル１３１を使用して抽出（選抜）された発話テキストデータが表示される。なお、図２の例では、オペレータの発話内容は、点線で示している。表示領域Ｓ１は、デフォルトでオペレータ装置３００の表示装置３３０に表示されるように制御される。
【００２１】
表示領域Ｓ２は、クエリモデル１３１に基づいて抽出された発話テキストデータをクエリとして、検索モデル１３２を使用して検索されたＦＡＱ検索結果が表示される。表示領域Ｓ２に表示されるＦＡＱは、表示領域Ｓ１に表示される発話テキストデータのうちでクエリモデル１３１に基づくクエリ尤度が一番高い発話テキストデータを用いて、ＦＡＱデータベース１３３から自動検索して得られた推奨ＦＡＱ（ｒＦＡ１〜ｒＦＡｎ）である。表示領域Ｓ２は、デフォルトでオペレータ装置３００の表示装置３３０に表示されるように制御される。クエリ尤度とは、ナレッジ情報を検索するためのクエリらしさを表す尤度を示す。
【００２２】
表示領域Ｓ３は、表示領域Ｓ１に表示された発話テキストデータのうち、オペレータによる選択操作によって選択された発話テキストデータに対するＦＡＱ検索結果を表示する領域である。つまり、オペレータの発意による検索要求に基づいて情報検索装置１００から提供される検索ＦＡＱが表示され、検索モデル１３２を使用した検索処理は推奨ＦＡＱと同様であるが、オペレータによる発話テキストデータの選択過程を経て提供される検索ＦＡＱが、表示領域Ｓ３に表示される。表示領域Ｓ３は、デフォルトでオペレータ装置３００の表示装置３３０に表示されるように制御したり、表示領域Ｓ１に対するオペレータの選択操作を契機に表示装置３３０に表示されるように制御してもよい。
【００２３】
表示領域Ｓ２，Ｓ３は、ＦＡＱ表示領域を含む。ＦＡＱ表示領域は、「Ｑ（Ｑｕｅｓｔｉｏｎ）」に対応する質問領域ｆ１と、「Ａ（Ａｎｓｗｅｒ）」に対応する回答領域ｆ２と、を含んでいる。ＦＡＱ表示領域において、各ＦＡＱそれぞれは、質問領域ｆ１だけが表示され、対応する回答領域が閉じた状態で表示されている。質問領域ｆ１には、ボタンｆ１１が設けられており、オペレータがボタンｆ１１を選択すると、閉じていた回答領域ｆ２が表示されるように制御される。逆に、回答領域ｆ２が表示された状態において、ボタンｆ１１を選択すると、回答領域ｆ２を閉じることができる。
【００２４】
回答領域ｆ２には、ｆ２１，ｆ２２、ｆ２３の各種ボタンが設けられている。ボタンｆ２１は、「Ｓｕｉｔａｂｌｅ（いいね）」であり、提供されたＦＡＱが参考になったなどのＦＡＱの有用度をオペレータが上方（プラス）に評価するために使用される。ボタンｆ２１は、「ＮｏｔＳｕｉｔａｂｌｅ（よくないかも）」であり、ボタンｆ２２とは逆に、提供されたＦＡＱがあまり参考にならなかったなどのＦＡＱの有用度をオペレータが下方（マイナス）に評価するために使用される。なお、ボタンｆ２２は、任意であり、ボタンｆ２１が設けられている場合はボタンｆ２２が設けられていない構成であってもよい。ボタンｆ２１，ｆ２２は、ＦＡＱ評価受付部として機能する。
【００２５】
ボタンｆ２３、「ＲｅｑｕｅｓｔＦｏｒＩｍｐｒｏｖｅｍｅｎｔ（改善要求）」であり、提供されたＦＡＱを改善する必要があると判断した場合に使用される。オペレータによるＦＡＱの改善要求は、履歴として蓄積され、後述する第３実施形態で説明するように、ＦＡＱデータベース１３３に格納されるＦＡＱ情報自体の作成、編集、更新等に利用される。
【００２６】
図３は、クエリモデル１３１を使用して抽出された表示領域Ｓ１に表示される問合せ内容の一例を示す図である。対話装置３１０は、オペレータとカスタマーとの間でやり取りされた全ての発話を、対話テキストデータとして時系列に、情報検索装置１００に出力する。情報検索装置１００では、時系列順のこれら複数の対話文（対話テキストデータ群Ｕ）の中から、問合せに関連する対話テキストデータを抽出してオペレータ装置３００に送信し、表示領域Ｓ１に表示させる。
【００２７】
このとき、問合せに関連する対話テキストデータであるか否かを判別するために、本実施形態では、クエリモデル１３１を使用する。クエリ生成部１２１は、クエリモデル１３１を使用して、入力された一連の発話テキストデータＵ＝｛Ｕ１，・・，Ｕ４｝の各発話テキストデータのクエリ尤度（クエリらしさを表す数値）を算出し、ＦＡＱ候補を抽出するための有益な問合せ発話であるかを評価する。クエリ生成部１２１は、クエリ尤度に基づいて一連の発話テキストデータＵ＝｛Ｕ１，・・，Ｕ４｝の中からクエリ候補Ｑｃを抽出する。図３の例では、発話テキストデータＵ２，Ｕ３がそれぞれクエリ候補Ｑ１，Ｑ２として抽出され、制御装置１２０は、表示領域Ｓ１にクエリ候補Ｑ１，Ｑ２を含むクエリ候補リストを表示装置３３０に表示させる。このクエリ候補リストが、オペレータ装置３００に表示されるカスタマーとの間の対話テキストデータとなる。クエリ候補の生成処理の詳細については、後述する。
【００２８】
なお、情報検索装置１００に入力された時系列順のこれら複数の対話文（対話テキストデータ群Ｕ）をそのまま、時系列順に発話者が区別されるように表示される不図示の表示領域（発話テキストデータをそのまま出す領域）が、表示領域Ｓ１と分離して設けられるように構成してもよい。また、不図示のボタン選択操作に基づいて、発話テキストデータをそのまま出す領域と表示領域Ｓ１とが表示切替できるように構成することもできる。なお、入力される対話テキストデータ群Ｕ内の各テキストデータは、時系列順でなくてもよい。つまり、発話された順序は関係なく、所定の会話内容を一まとまりとした複数の対話テキストデータ群Ｕが情報検索装置１００に入力されればよい。
【００２９】
図４は、本実施形態の対話支援機能の処理フローを示す図である。上述のように、情報検索装置１００は、オペレータ装置３００に付随する対話装置３１０から一連の発話テキストデータＵ＝｛Ｕ１，・・，Ｕ４｝を受信する（Ｓ１０１，図５のテーブル１４１）。クエリ生成部１２１は、クエリモデル１３１を使用してクエリ候補Ｑｃを生成（抽出）する（Ｓ１０２，図５のテーブル１４２）。
【００３０】
制御装置１２０は、クエリ生成部１２１よって出力されたクエリ候補Ｑｃのうち第１位のクエリ候補（例えば、テーブル１４２においてクエリ尤度が一番高いクエリ候補Ｑ１）を検索部１２２に入力して、推奨ＦＡＱの検索処理（第１検索処理）を行わせるとともに（Ｓ１０３）、生成されたクエリ候補Ｑｃをオペレータ装置３００に送信し、表示領域Ｓ１（問合せ内容を表示する領域）にクエリ候補リストを表示させるように制御する（Ｓ１０５）。
【００３１】
ステップＳ１０３の推奨ＦＡＱ（第１ナレッジ情報）の検索処理は、検索部１２２によって遂行される。検索部１２２は、入力された第１位のクエリ候補Ｑ１と検索モデル１３２とを用いて、ＦＡＱ候補のＦＡＱＩＤ別に、検索の尤もらしさを表すスコアである検索尤度を算出し、ＦＡＱＩＤと検索尤度とを関連付けた組み合わせテーブルを作成する（図５のテーブル１４３）。検索尤度とは、ナレッジ情報のクエリ候補に対する検索結果としての尤もらしさを表す尤度であり、以降で説明する数式に限定されない。
【００３２】
そして、検索部１２２は、ＦＡＱデータベース１３３を参照し、作成した組み合わせテーブルのＦＡＱＩＤに該当する「Ｑ」と「Ａ」を抽出し、｛順位，ＦＡＱＩＤ，検索尤度，Ｑ，Ａ，対応クエリＩＤ｝の組からなる推奨ＦＡＱ候補リスト（テーブル１４３）を生成する（Ｓ１０３）。順位は、検索尤度の高い順の順位であり、対応クエリＩＤは、検索元となったクエリ候補Ｑ１を識別するためのＩＤである。検索処理の詳細については、後述する。なお、ＦＡＱ候補リストは、後続の検索モデル更新処理の学習データの元となるため、ＦＡＱ候補と検索元クエリとの紐づけ情報を保持している。テーブル１４３では、対応クエリ列が紐づけ情報となっている。
【００３３】
制御装置１２０（出力部）は、生成された推奨ＦＡＱ候補リストを、オペレータ装置３００に送信し、オペレータ装置３００の表示領域Ｓ２（推奨ＦＡＱを表示する領域）に、推奨ＦＡＱ候補リストを表示させるように制御する（Ｓ１０４）。オペレータ装置３００は、受信した推奨ＦＡＱ候補リストを表示領域Ｓ２に表示する。オペレータは、表示領域Ｓ１において対話テキストデータ（クエリ候補）を確認しながら、表示領域Ｓ２内の各推奨ＦＡＱを参照することができる。これにより、オペレータは、表示された推奨ＦＡＱ候補リスト内の各ＦＡＱを参考にカスタマーへの回答を行うことができ、オペレータとカスタマーとの間の円滑な対話を支援することができる。
【００３４】
なお、情報検索装置１００は、推奨ＦＡＱ候補リストに含まれるＦＡＱの数を適宜設定することができる。例えば、上述の第１検索処理において抽出された全てのＦＡＱ候補を含むように推奨ＦＡＱ候補リストを生成して、オペレータ装置３００に表示させるように制御してもよいし、各ＦＡＱ候補の検索尤度に対して閾値を設けて、閾値を超えるＦＡＱ候補や、検索尤度の順位において上位数件のＦＡＱ候補などを抽出するように、一部を取捨選択した推奨ＦＡＱ候補リストを生成するように構成してもよい。
【００３５】
本実施形態では、オペレータ装置３００に付随する対話装置３１０から一連の発話テキストデータＵ＝｛Ｕ１，・・，Ｕ４｝を受信すると、クエリ生成部１２１によるクエリ候補Ｑｃの生成処理及び推奨ＦＡＱの検索処理（推奨ＦＡＱ候補リストの生成処理）が自動的に実行され、オペレータ装置３００の表示領域Ｓ１，Ｓ２それぞれに、クエリ候補Ｑｃと推奨ＦＡＱが表示される。
【００３６】
次に、ＦＡＱ表示領域が備えるＦＡＱ評価受付部は、オペレータからのＦＡＱ候補リスト中のそれぞれのＦＡＱについての評価を受け付ける（Ｓ１０９）。受け付ける評価は、「Ｓｕｉｔａｂｌｅ」ボタンｆ２１だけを用意して１値の評価としたり、「Ｓｕｉｔａｂｌｅ」ボタンｆ２１および「ＮｏｔＳｕｉｔａｂｌｅ（よくないかも）」ボタンｆ２２を用意して２値の評価としたり、あるいは数値での入力を受け付けても良い。後述する検索モデル１３２の更新処理において、ＦＡＱ評価値（ナレッジ評価履歴）による学習データへの重み付けの設定に基づいて決定すればよい。この例では、「Ｓｕｉｔａｂｌｅ」ボタンｆ２１を用意し、ボタンｆ２１が押された場合に、評価値を「１０」としている。
【００３７】
対話テキストデータ群Ｕの元となる音声を対話装置３１０を介して聞いたのち、オペレータが、自動抽出されたＦＡＱ候補リスト（テーブル１４３）におけるＦＡＱＩＤ５が最も適切な検索結果であると判断し、オペレータ装置３００において、ＦＡＱＩＤ５に対応付けられたＦＡＱ表示領域の「Ｓｕｉｔａｂｌｅ」ボタンｆ２１を押したとする。オペレータ装置３００は、ボタンｆ２１の選択操作に基づいて、ＦＡＱ評価結果｛ＦＡＱＩＤ５，評価値「１０」｝を、情報検索装置１００に送信する。
【００３８】
情報検索装置１００において制御装置１２０は、受信したＦＡＱ評価結果を用いて、テーブル１４４のように｛ＱＩＤ，ＦＡＱＩＤ，学習重み｝の組から成る検索モデル学習データを作成する（Ｓ１１０）。ここで学習重みには、評価値「１０」をそのまま用いることにする。
【００３９】
検索モデル更新部１２４は、生成された検索モデル学習データを用いて検索モデル１３２を更新する（Ｓ１１１）。検索モデル１３２の更新後、同一（もしくは類似する）発話がカスタマーによってなされ、同一（もしくは類似する）テキスト情報がクエリ生成部１２１に入力された場合、更新前と同様にクエリＱ１が検索部１２２に入力されるが、検索結果はＦＡＱＩＤ５のスコア（検索尤度）がより大きくなり、ＦＡＱＩＤ５が第１位のＦＡＱ候補となる（テーブル１４５）。すなわち、オペレータによって正の評価をされたＦＡＱが、次回以降、より上位に検索されやすくなるように検索モデル１３２が更新されている。なお、検索モデル１３２の更新処理の詳細については、後述する。
【００４０】
一方で、ステップＳ１０２から分岐した後の処理について詳細に説明する。表示領域Ｓ１に表示された複数の発話テキストデータの中から、オペレータによって選択された発話テキストデータをクエリ候補として検索部１２２に入力して、検索ＦＡＱ（第２ナレッジ情報）の検索処理（第２検索処理）を実行可能に制御する。オペレータ装置３００は、表示領域Ｓ１内のクエリ候補が選択された場合、選択されたクエリ候補又は／及び選択されたクエリ候補を識別するＩＤを、情報検索装置１００に送信する。
【００４１】
図４のステップＳ１０６において、情報検索装置１００は、オペレータ装置３００から表示領域Ｓ１内のクエリ候補に対する選択情報を受信すると（Ｓ１０６のＹＥＳ）、選択されたクエリ候補（Qselect）に基づく検索ＦＡＱの検索処理（第２検索処理）を遂行し、検索ＦＡＱ候補リストを生成する（Ｓ１０７）。本実施形態の第２検索処理は、上述した第１検索処理と同じであり、検索部１２２に入力されるクエリ候補が異なるだけである。制御装置１２０（第２送信部）は、生成された検索ＦＡＱ候補リストを、オペレータ装置３００に送信し、オペレータ装置３００の表示領域Ｓ３（検索ＦＡＱを表示する領域）に、検索ＦＡＱ候補リストを表示させるように制御する（Ｓ１０８）。オペレータ装置３００は、受信した検索ＦＡＱ候補リストを表示領域Ｓ３に表示する。
【００４２】
なお、表示領域Ｓ１内において、例えば、推奨ＦＡＱを抽出するために使用されたクエリ候補は選択できないように制御することができる。つまり、推奨ＦＡＱを抽出するために使用されたクエリ尤度が第１位のクエリ候補は、選択できないように非アクティブに表示するように制御することができる。また、他の例としては、推奨ＦＡＱを抽出するために使用されたクエリ候補も選択可能に制御しつつ、検索ＦＡＱの検索処理では、推奨ＦＡＱに対する同じクエリ候補か否かを判別し、同じクエリ候補である場合、検索ＦＡＱの検索結果として「該当なし」を出力して、表示領域Ｓ３に表示させるように制御することもできる。
【００４３】
また、オペレータは、表示領域Ｓ１内において、２つ以上の複数の対話テキストデータをクエリ候補として選択できるようにしてもよいし、一つのクエリ候補のみ選択できるようにしてもよい。
【００４４】
例えば、オペレータが、テーブル１４２のクエリ候補リストの中からクエリ候補Ｑ２を選択したシナリオを考える。オペレータ装置３００は、クエリ候補Ｑ２の選択結果を情報検索装置１００に送信し、情報検索装置１００の制御装置１２０は、選択結果に基づき、上述した第２検索処理及び検索ＦＡＱ候補リストの提供処理を行うとともに、クエリモデル学習データ作成処理及びクエリモデル更新処理を実行する。
【００４５】
クエリモデル学習データ作成とそれに続く処理について説明する。情報検索装置１００において、制御装置１２０は、オペレータ装置３００からオペレータの選択結果「Ｑ２」を受信すると、テーブル１４２からクエリＩＤが一致する行を参照し、｛テキスト，クエリカテゴリ，学習重み｝の組であるクエリモデル１３１の学習データ（図６のテーブル１４６）を作成する（Ｓ１１２）。
【００４６】
ここで、クエリカテゴリは、クエリであるか否かを表す２値｛Ｑ,¬Ｑ｝データとする。オペレータが選択した発話テキストをクエリとして正の追加学習を行うために、「Ｑ」を値として入れる。続いて、制御装置１２０、クエリモデル学習データ（図６のテーブル１４６）をクエリモデル更新部１２３に入力し、クエリモデル１３１を更新する（Ｓ１１３）。
【００４７】
クエリモデル１３１の更新後、新たに発話テキストデータ群Ｕがクエリ生成部１２１に入力された場合に出力されるクエリ候補リストは、図６のテーブル１４７のようになる。クエリモデル更新前のクエリ候補リストは、図５に示すように生成元テキストＵ２に対応するクエリのスコア（クエリ尤度）が、生成元テキストＵ３のスコアよりも高かったが、クエリモデル更新後は逆となり、生成元テキストＵ３に対応するクエリのスコアが高くなり、生成元テキスト（発話テキストデータ）Ｕ３が第１位のクエリ候補となる。クエリモデル更新処理の詳細は後述する。
【００４８】
次に、第２検索処理によって提供される検索ＦＡＱ候補リストの各ＦＡＱに対しても、オペレータは、ＦＡＱ評価を行うことができる。ステップＳ１０７において、制御装置１２０は、図５のテーブル１４２のクエリＩＤが選択結果のクエリ「Ｑ２」と一致する行を参照し、該当のクエリテキストデータのクエリＩＤ「Ｑ２」を検索部１２２に入力する。検索部１２２は、クエリ候補Ｑ２に対する検索結果であるＦＡＱ候補リスト（図６のテーブル１４８）を生成する。制御装置１２０は、生成されたＦＡＱ候補リストをオペレータ装置３００に送信し、オペレータ装置３００は、受信したＦＡＱ候補リストを表示装置３３０の検索ＦＡＱ表示領域Ｓ３に表示する（Ｓ１０８）。
【００４９】
続いて、表示領域Ｓ３内の各ＦＡＱにおいてもＦＡＱ表示領域内にＦＡＱ評価受付部を備えているので、オペレータによる検索ＦＡＱ候補リスト中のそれぞれのＦＡＱについての評価を受け付け、取得することができる（Ｓ１０９）。
【００５０】
オペレータが、対話装置３１０を介して聞いた発話テキストデータ群Ｕの元となる音声内容に基づいて、例えば、テーブル１４８におけるＦＡＱＩＤ２のＦＡＱが最も適切な検索結果であると判断した場合、オペレータ装置３００において、ＦＡＱＩＤ２のＦＡＱ表示領域において「Ｓｕｉｔａｂｌｅ」ボタンｆ２１を押したとする。すると、ＦＡＱ評価結果｛ＦＡＱＩＤ２，評価値「１０」｝が、オペレータ装置３００から情報検索装置１００に送信される。情報検索装置１００において制御装置１２０は、受信したＦＡＱ評価結果とテーブル１４８の対応クエリＩＤを用いて、クエリテキストを紐づけ、図６のテーブル１４９のように｛ＱＩＤ，ＦＡＱＩＤ，学習重み｝の組から成る検索モデル学習データを作成する（Ｓ１１０）。ここで、学習重みは評価値「１０」を用いることとする。検索モデル更新部１２４は、作成された検索モデル学習データを用いて検索モデル１３２を更新する（Ｓ１１１）。
【００５１】
検索モデル１３２の更新前と同じクエリ候補Ｑ２が検索部１２２に入力された場合、ＦＡＱＩＤ２のスコアがより大きくなり、ＦＡＱＩＤ２が第１位候補となるＦＡＱ候補リストが生成される（図６のテーブル１５０）。すなわち、オペレータによって正の評価をされたＦＡＱが、次回以降、より上位に検索されやすくなるように検索モデル１３２が更新されている。
【００５２】
このように本実施形態では、対話装置３１０から入力されるオペレータとカスタマーとの間の一連の発話テキストデータＵ群の中からクエリモデル１３１を使用してクエリ候補Ｑｃを生成する処理を行うと共に、検索モデル１３２を使用して、生成されたクエリ候補から自動的に推奨ＦＡＱを提供する第１検索処理と、同様に検索モデル１３２を使用して、生成された発話テキストデータの中からオペレータによって選択されたクエリ候補に基づいて検索ＦＡＱを提供する第２検索処理と、を実行する。
【００５３】
そして、本実施形態では、表示領域Ｓ２，Ｓ３に表示されるＦＡＱの表示領域には、ＦＡＱ評価を行うための評価入力ボタンが設けられ、オペレータがレコメンドされたＦＡＱ又は／及び検索されたＦＡＱの各ＦＡＱを、評価することができる。このＦＡＱ評価結果と前記選択されたクエリ候補との紐づけ情報を利用して、該ＦＡＱ評価結果と前記選択されたクエリ候補との組が、検索モデル１３２の学習データとして活用され、検索モデル１３２を更新する。
【００５４】
また、オペレータによって選択されたクエリ候補の選択履歴は、クエリモデル１３１の学習データとして活用され、クエリモデル１３１を更新する。
【００５５】
検索モデル１３２の更新後、クエリモデル学習データ作成及びクエリモデル１３１の更新処理が実行されない場合、同一（もしくは類似する）発話がカスタマーによってなされても、一連の発話テキストデータに対する第１位のクエリ候補は、クエリモデル更新前と変わらないため、推奨ＦＡＱの抽出結果には反映されない。すなわち、クエルモデル学習データの収集と、検索モデル学習データの収集とを両方同時に行う必要がある。
【００５６】
したがって、単に、クエリ生成部１２１と検索部１２２とを組み合わせても、検索モデル１３２とクエリモデル１３１とが別個に更新されてしまうと、発話テキストデータのクエリとしての精度が向上しない課題がある。
【００５７】
従来、オペレータが情報検索装置１００を利用中に、クエリモデル１３１と検索モデル１３２の各モデルの出力結果を別々に評価させることにより、各学習データを収集する仕組みは存在した。しかしながら、オペレータがお客様との応対中に、両方の評価を強いることは作業負担を大きく、オペレータ業務に支障が生じかねない。情報検索装置１００の実運用中に、オペレータにデータの評価を十分な回数実施させて、十分な量の学習データを収集すること自体が難しかった。
【００５８】
本実施形態では、オペレータの選択操作によって受け付けた選択クエリに基づくクエリモデル１３１の学習データ作成処理を行うだけでなく、検索モデル１３２の学習データにおけるＦＡＱとの対応付けにも用いている。これにより、ユーザーの学習データ作成作業が、従来よりも一層簡便になっている。
【００５９】
さらに、本実施形態の情報検索システムは、オペレータによるクエリ候補の選択を可能にして、オペレータによるクエリ候補の選択を受け付けた後、第２検索処理（Ｓ１０７）に続く検索モデル学習データ作成処理（Ｓ１１０）及び検索モデル１３２の更新処理（Ｓ１１１）と、クエリモデル学習データの作成処理（Ｓ１１２）及びクエリモデル１３１の更新処理（Ｓ１１３）とが平行して連動させる仕組みを実現している。
【００６０】
一連の対話テキストデータ（一連のカスタマーの発話の認識結果テキスト）から生成したクエリ候補について、オペレータがクエリ候補を選択した結果に基づいてクエリモデル１３１を更新し、検索結果のＦＡＱ候補を評価した結果と、紐付けられたクエリ候補の組に基づいて検索モデル１３２を更新することにより、次に同一あるいは類似する発話をカスタマーが発話した場合に、オペレータがクエリ候補を選択することなく、正の（負の）評価結果を得たＦＡＱが検索結果のより上位に（下位に）検索されるようになる。
【００６１】
言い換えれば、カスタマーが意図する問合せに対するＦＡＱ候補の抽出精度が検索モデルの更新によって向上するとともに、オペレータによるクエリ候補の選択履歴に対するクエリモデル１３１の更新によって、クエリ候補としての順位がＦＡＱ候補の検索と連動して更新されるため、推奨ＦＡＱの抽出精度が向上する。
【００６２】
さらに、本実施形態におけるナイーブベイズ分類器のように、追加学習の計算コストが低い分類手法を用いることで、リアルタイムに検索モデル１３２の更新と、クエリモデル１３１を更新とを並行して行うように構成してもよい。これにより、オペレータとお客様との対話の最中に、オペレータのクエリ候補の選択結果及びＦＡＱの評価結果が両モデルに反映され、すぐに同じ（あるいは類似の）発話テキストデータの入力に対する推奨ＦＡＱの抽出精度が向上する。
【００６３】
本実施形態では、対話支援画面に次の仕組みも備えている。これによりオペレータによるカスタマーからの問い合わせ内容の確認や、カスタマーからの問い合わせに対する過去の推奨ＦＡＱを同一画面で簡単に確認することができ、オペレータの作業効率を図ることができる。
【００６４】
図２Ｂ、表示領域Ｓ１の画面例であり、図２Ｃは、図２Ｂに示す画面例と表示領域Ｓ２との関係を示す図である。図２Ａの表示領域Ｓ１に表示されている問い合わせ内容は、オペレータとカスタマーとの一連の会話から、クエリモデル１３１を使用して抽出された発話テキストデータを表示している。そのため、オペレータとカスタマーの会話が続いている間は逐次表示領域Ｓ１に表示される発話テキストデータは増えていくため、最新の発話テキストが表示領域Ｓ１の最下段に表示される。図２Ｂに示すように、この状況において、オペレータが表示領域Ｓ１に表示されている最新の発話テキストではなく、過去の発話テキストを参照するために不図示の画面内のスクロールバーを操作した場合や、表示領域Ｓ１に表示されている特定の発話テキストを指示した場合は、その後にオペレータとカスタマーの会話が継続した場合でも、スクロールバーの操作により表示した状態の表示またはオペレータが発話テキストを特定した時点の表示状態を保つ、過去履歴参照モードに自動的に切り替わるように制御装置３２０により制御される。
【００６５】
すなわち、過去履歴参照モードに切り替わった後のオペレータとカスタマーとの最新の会話は表示領域Ｓ１には表示されず、オペレータがスクロール操作により表示した画面またはオペレータが発話テキストを特定した時点の画面がそのまま表示されている状態となる。
【００６６】
なお、過去履歴参照モードにおいても、スクロール操作は受け付けており、手動でのスクロールアップおよびスクロールダウンは可能である。
【００６７】
また、過去履歴参照モードの起動により表示領域Ｓ１の表示は固定されている状態であるが、その間のオペレータとカスタマーとの会話が継続している場合には、過去履歴参照モード状態で表示されている画面（表示領域Ｓ１）には最新の発話テキストは表示されていないため、当該最新の発話テキストが参照できるように表示領域Ｓ１にスクロールダウンするためのボタンを表示する。オペレータが当該スクロールダウンするためのボタン操作をした場合、あるいはスクロール操作により、スクロールバーが最下段にスクロールダウンされた場合には、過去履歴参照モードは解除され通常の表示モード、すなわち最新の発話テキストが最下段に表示される状態となる。
【００６８】
尚、過去履歴参照モードの状態で、オペレータが特定の発話テキストを指示操作すると、表示領域Ｓ１とは別の表示領域（第５表示領域）に、指示された発話テキストに対して提示された推奨ＦＡＱが表示される（図２Ｃ）。
【００６９】
＜分類器ならびにモデルの説明＞
本実施形態のクエリ候補生成処理および検索処理は、入力テキストを文書と見做し、文書を適切なカテゴリに振り分ける文書分類として捉える。クエリ候補生成処理は、入力テキストをクエリかクエリでないか２つのカテゴリに振り分る問題であり、検索処理は、入力テキストを各ＦＡＱに振り分ける問題である。文書分類には様々な手法があるが、ここでは、機械学習による分類手法のひとつであるナイーブベイズ分類器を一例に説明する。なお、分類手法は、ナイーブベイズ分類器に限定されるものではなく、他の公知の手法を適用することもできる。
【００７０】
文書分類の問題は、文書dが与えられたときのカテゴリcの事後確率を最大化するようなカテゴリcを見つける問題として、以下の式（１）のように定式化される。
2020009140.tif 000003
【００７１】
ナイーブベイズ分類器では、これをベイズの定理を用いて以下の式（２）のように置き換える。
2020009140.tif 000004
ここで、同一文書dのもとでのカテゴリの比較であるため、P(d)は無視できる。したがって、以下の式（３）となる。
2020009140.tif 000005
ここで、P(d|c)のモデル化には多項モデルを用いる。
多項モデルは、文書中の各位置についてどのような単語が起こるかをモデル化するモデルであり、語彙Vの中から一つの単語を選ぶ操作を|d|回繰り返すことで文書を生成する。ここで、|d|は文書d内の単語数を表す。（参考文献；自然言語処理のための機械学習入門,P.111 高村大也, コロナ社, 2010）
そうすると、P(d|c)は、カテゴリが与えられたときの単語の事後確率P(wi|c)の積で表される。
2020009140.tif 000006
ただし、
2020009140.tif 000007
とする。これを対数化すると、以下の式（５）となる。
2020009140.tif 000008
【００７２】
したがって、以下の式に整理することができる。
2020009140.tif 000009
ここで、カテゴリ尤度Lcは、以下の式で表される。
2020009140.tif 000010
2020009140.tif 000011
2020009140.tif 000012
wiは文書ｄの出現単語、Ｍは文書ｄの出現単語数、dcはカテゴリcの文書数、freq(wi,c)はカテゴリcにおける単語wiの出現頻度である。
【００７３】
また、Vは全文書の単語の異なり数（語彙数）、αは補正パラメータである。これらは、学習データにおいてfreq(wi,c)=0の場合に、確率値が0にならないように補正するためのパラメータである。この補正手法は、加算スムージングと呼ばれる。
【００７４】
上述の検索モデル１３２やクエリモデル１３１におけるモデルとは、学習データから算出されたlnP(wi|c)およびlnP(c)の表のことを指す。
【００７５】
さらに、分類先のカテゴリ数が２つであり、一方のカテゴリに文書を振り分ける場合は、以下の式（７）によって分類先を決定できる
2020009140.tif 000013
2020009140.tif 000014
【００７６】
式（７）を対数化すると、
2020009140.tif 000015
2020009140.tif 000016
2020009140.tif 000017
2020009140.tif 000018
【００７７】
そして、クエリ候補生成処理におけるクエリの分類先は、クエリである「Q」か、クエリでない「¬Q」かのいずれか一方への振り分けであるから、これを用いてクエリ尤度Lqを以下の式（９）のように定める。
2020009140.tif 000019
2020009140.tif 000020
2020009140.tif 000021
2020009140.tif 000022
【００７８】
ナイーブベイズ分類器の処理は、カテゴリへの分類のためのモデルの学習段階、文書をカテゴリへ分類する分類段階、追加の学習データを用いてモデルを更新する更新段階の３つの段階に分けられる。特に、本実施形態の各処理を理解するために重要な分類段階と更新段階について、以下に詳しく説明する。
【００７９】
（学習段階）
文書と分類先カテゴリの組からなる正解データを学習データとして、モデルを学習する。最初にすべての文書について単語列に分割し、カテゴリ別の出現頻度を数え、カテゴリ別単語頻度表を作成する。また、分類先カテゴリ別の文書の頻度も数えてカテゴリ別文書頻度表を作成する。そして、それぞれの表の値を式（６．２）ならびに式（６．３）に代入し、lnP(wi|c)およびlnP(c)を算出し、単語の対数事後確率表並びにカテゴリの対数周辺確率表に算出した値をセットする。
【００８０】
（分類段階）
図７は、分類段階の処理フローを示す図である。図７のフローチャートに沿って、分類段階の処理を説明する。前提として、分類先カテゴリはカテゴリセットCの要素であり、カテゴリ対数周辺確率表TCpとカテゴリのもとでの単語対数事後確率表TWpとが、学習段階において得られているものとする。
【００８１】
分類結果を格納するSを初期化する（Ｓ３０１）。続いて、入力テキストUを意味的なまとまりである単語単位に分割し、単語列w1，・・・wMを得る（Ｓ３０２）。
【００８２】
単語分割処理は、公知の形態素解析器を用いたり、文字N-gram単位を用いたり、さまざまな公知の手法によって実現できる。本処理において、必ずしもテキスト中の全単語を全て切り出す必要はなく、後続するクエリ生成処理において参照される単語情報のみ切り出せばよい。その後、後続処理に合わせて適切な正規化処理を施す。たとえば、「あえーと、」のような話し言葉に特有の表現を除去したり、動詞等の活用形を持つ品詞について原形や語幹のみ取り出したりする。
【００８３】
全てのカテゴリc1，・・・cKについて、順にcに代入し、ステップＳ３０４からＳ３０７までの処理を繰り返す（Ｓ３０３）。
【００８４】
まず、Lcの式（６．１）の右辺の第一項lnP(c)を、カテゴリ対数周辺確率表TCpを参照して抽出し、これをLcに初期値として代入する（Ｓ３０４）。次に、単語w1，・・・wMについて順にwiに代入し、Ｓ３０６からＳ３０７までの処理を繰り返す（Ｓ３０５）。lnP(wi|c)を、単語の対数事後確率表から読み込み、Lcに加算する（Ｓ３０６）。｛カテゴリｃ、求めたカテゴリ尤度Lc｝の組を順次Ｓに追加する（Ｓ３０７）。これをすべての単語について繰り返し（Ｓ３０５）、Lcを算出する。これを全てのカテゴリについて繰り返し（Ｓ３０３）、最後に、求めたSを出力とする。
【００８５】
（更新段階）
図８は、更新段階の処理フローを示す図である。図７のフローチャートに沿って、更新段階の処理を説明する。前提として、カテゴリ対数周辺確率表TCpおよびカテゴリのもとでの単語対数事後確率表TWpと、それらの算出元データであるカテゴリ別文書頻度表TCfおよびカテゴリ別単語頻度表TWfとが学習段階において得られているものとする。
【００８６】
学習データは、{文書ID（QID），カテゴリc，重みG}の組である。重みGは、同じ文書をG個追加することを表す。
【００８７】
更新処理では、追加学習データの文書の単語列w1，・・・wMおよび分類先カテゴリcに基づいて、lnP(wi|c)およびlnP(c)の値を再計算し、カテゴリ対数周辺確率表TCpおよびカテゴリのもとでの単語対数事後確率表TWpの値を更新する。
【００８８】
先にlnP(c)の値を求める。まず、カテゴリcに文書がG個追加されるため、TCf[c]の値をカテゴリ文書数dcに読み込み、G個加算したのち、TCf[c]に値を書き込む（Ｓ４０１）。更新したTCfを用いて各カテゴリの文書数dciを加算し、全文書数Dを求める（Ｓ４０２、Ｓ４０３、Ｓ４０４）。次に、式（６．３）にしたがって、全文書数DとステップＳ４０１で求めたdcとを用いてlnP(c)を算出し、TCp[c]に書き込む（Ｓ４０５）。
【００８９】
次に、lnP(wi|c)の値を求める。まず、TWfを更新する。分類段階で説明したような単語分割処理によって学習データの文書を単語列w1，・・・wMに分割する（Ｓ４０６）。カテゴリcにおけるwiの出現頻度をTWfから読み込み、freq(wi,c)にセットする。学習データに当該単語がG回出現したとみなし、Gを加算した結果でfreq(wi,c)を更新し、これをTWf[c,wi]に書き込む（Ｓ４０８）。ステップＳ４０８の処理を単語列中のすべての単語について繰り返す（Ｓ４０７）ことにより、TWfを更新する。
【００９０】
次に、更新したTWfを用いて更新したTWpを更新する。式（６．２）の分母の第一項であるΣ(j=1〜V)freq(wi,c)を求める。これはカテゴリcにおける単語の総出現数であり、freq(c)と置き、0で初期化する（Ｓ４０９）。カテゴリcでの出現頻度TWf[c,wi]を読み込み、freq(wi,c)にセットし、freq(c)を加算する。加算結果を用いてfreq(c)を更新する（Ｓ４１１）。これを全語彙w1，・・・wvについて繰り返す（Ｓ４１０）。
【００９１】
次に、単語wiについて、カテゴリcにおける出現頻度をTWf[c,wi]から読み込み、freq(wi,c)にセットする。freq(wi,c)と、ステップＳ４１１で求めたfreq(c)とを式（６．２）に代入し、lnP(wi|c)を算出し、TWf[c,wi]に値を書き込む（Ｓ４１３）。これを全語彙w1，・・・wvについて繰り返し行う（Ｓ４１２）。以上により、すべての語彙に関して、カテゴリcについてTWpの値が更新される。
【００９２】
すでに説明した図４のフローチャートにおけるクエリ候補生成処理（Ｓ１０２）および検索処理（Ｓ１０３およびＳ１０７）では、上述した分類段階の処理が実行される。
【００９３】
一方、クエリモデル更新処理（Ｓ１１３）および検索モデル更新処理（Ｓ１１１）では、上述した更新段階の処理が実行される。それぞれの処理について、順に詳しく説明する。
＜クエリ候補生成処理の詳細＞
図９は、クエリ生成部１２１が、一連のテキスト情報からクエリ候補Qcを生成する処理の詳細を表すフローチャートである。クエリ候補の生成処理では、一連のテキストを、分類器によってそれぞれクエリか否かの２つのカテゴリに振り分け、クエリに振り分けられたテキストのセットをクエリ候補とする処理を行う。
【００９４】
最初に、呼び出し元ルーチンである図４のＳ１０２において、クエリ生成部１２１が上述の一連の発話テキストデータＵ＝｛U1，・・，U4｝（図５のテーブル１４１）を受け付けたとする。図９のサブルーチンに進み、初期化する（Ｓ２０１）。変数UkにU1から順番に代入し、ステップＳ２０３からＳ２０６までの処理を繰り返す（Ｓ２０２）。ステップＳ２０３は、図７に示したサブルーチンであり、ここで改めて説明する。
【００９５】
サブルーチンに与えるデータは、カテゴリセットC={Q, ¬Q}、TCp（図１２のテーブル２０２）、TWp（図１２のテーブル２０３）である。UはU1とする。まず、Sを初期化した（Ｓ３０１）のち、テキストU1を意味的なまとまりである単語単位に分割する（Ｓ３０２）。ここでは、最初に図１２のテーブル２０１のように、テキストU1を左から走査し、語彙辞書を用いてマッチする単語を切り出したのち、不要語辞書に基づいて不要語をフィルタして取り除く。U1からは｛“、”“。”，“あえーと”，“の”，“ん”，“で”，“って”｝を取り除き、図１２のテーブル２０１ＡのW1＝｛w1=“自動車保険”,w2=“ＣＭ”,w3=“見た”,w4=“ですけれども”,w5=“カスタマイズ”,w6=“できる”｝を得る。
【００９６】
続いて、カテゴリの対数周辺確率表（テーブル２０２）ならびにカテゴリのもとでの単語の対数事後確率表（テーブル２０３）を用いて、LQ及びL¬Qをそれぞれ求める（Ｓ３０３からＳ３０７）。
【００９７】
まず、c＝Qのとき（Ｓ３０３）、LQの初期値としてテーブル２０２のlnP(Q)を代入する（Ｓ３０４）。次に、単語列w1，・・・w6のそれぞれの単語wiについて、テーブル２０３のセル[Q,wi]の値をLQに加算する（Ｓ３０６）。その結果が図１２のテーブル２０４のLQ行U1列の値である。{Q,LQ}の組をSに追加する（Ｓ３０７）。同様にc＝¬Qの時も処理し、Sに追加する（Ｓ３０５からＳ３０７）。L¬Qはテーブル２０４のL¬Q行U1列の値である。最後に、得られたSが呼び出し元ルーチンに渡される。
【００９８】
呼び出し元ルーチンでは、得られたLQおよびL¬Qを式（９）に代入し、計算結果をLq1に入力する（Ｓ２０４）。式（９）の条件に従い、Lq1＞0であれば、クエリ“Q“と判定し（Ｓ２０５）、（U1, Lq1）の組をクエリ候補Qc´に追加する。U2 、U3、U4についても同様の処理を行い、全ての入力テキストについてクエリ候補Qc´を得る（Ｓ２０６）。最後に、Qc´をクエリ尤度Lqkが大きい順にソートした結果Qcを返す（Ｓ２０７，図５のテーブル１４２）。
【００９９】
＜検索処理の詳細＞
図１０は、検索部１２２が、一連のテキストUからＦＡＱの検索結果であるＦＡＱ候補Scを抽出する処理を表すフローチャートである。各ＦＡＱＩＤをカテゴリとし、カテゴリセットC＝{faq1,・・・,faqk}とする。そして、一連のテキストを、上述のクエリ生成処理と同様にナイーブベイズ分類器の式（６）を用いて、いずれかのカテゴリ（ＦＡＱＩＤ）に振り分ける処理を行う。
【０１００】
前述のように求められたクエリ候補Qcの中で、クエリ尤度が最大であるQ1＝{(U2,Lq2)}におけるU2が、図４のＳ１０４において検索部１２２に入力された場合のシナリオを例にとり、各ステップについて順に説明する。最初に、図１０のサブルーチンより、図７のサブルーチンを呼び出す（Ｓ２２１）。サブルーチンに与えるカテゴリセットC＝{faq1,・・・,faq5}（ＦＡＱデータベース１３３の各ＦＡＱＩＤ）、TCpは図１２のテーブル３０２、TWpは図１２のテーブル３０３、UはU2である。
【０１０１】
まず、Sを初期化した（Ｓ３０１）のち、テキストU2を意味的なまとまりである単語単位に分割する（Ｓ３０２）。単語分割には、クエリ生成処理で行ったときと同様に、テーブル２０１のU2行のとおり単語を切り出した後、不要語フィルタにかける。ここで、不要語フィルタにはクエリ生成処理で用いたものとは異なる検索処理に適したフィルタを用いる。U2から｛“を“，”が“，”のか“，”を“，”いただきたい“，”と“，”思って“，”ですね“｝を取り除き、図１２のテーブル３０１のWF2={w1=“どのように”,w2=“契約内容”,w3=“カスタマイズ”,w4=“できる”,w5=“教えて”}を得る。続いて、カテゴリの対数周辺確率表（テーブル３０２）ならびにカテゴリのもとでの単語の対数事後確率表（テーブル３０３）を用いて、Lfaq1からLfaq5をそれぞれ求める（Ｓ３０３からＳ３０７）。
【０１０２】
まず、c=faq1のとき（Ｓ３０３）、Lfaq1の初期値としてテーブル３０２のセル[faq1,lnP(c)]の値をlnP(faq1)に読み込む（Ｓ３０４）。次に、単語列w1，・・・w5のそれぞれの単語wiについて、テーブル３０３のセル［faq1,wi］を値をlnP(wi| faq1)に読み込み、Lfaq1に加算する。その結果が図１２のテーブル３０４のfaq1行Q1列の値である。{faq1,Lfaq1}の組をSに追加する。c=faq2 ,・・・,faq5についても同様に処理し、Sに追加する（Ｓ３０５からＳ３０７）。Lfaq2,・・・, Lfaq5はテーブル３０４のfaq2行からfaq5行のQ1列の値である。最後に、得られたSが呼び出し元ルーチンに渡される。
【０１０３】
図１０の呼び出し元ルーチンでは、得られたＳをLfaqkが大きい順にソートし、上位Ｎ件を抽出する（Ｓ２２２）。ここではＮ＝３とし、検索尤度の上位３件（faq3, faq5,faq1）を候補として選ぶ。そして、図１２のテーブル３０５のＦＡＱ候補リストScが得られる。
【０１０４】
次に、クエリモデル更新処理（Ｓ１１３）および検索モデル更新処理（Ｓ１１１）について説明する。上述したとおり、モデルの更新段階では、追加学習データの文書の単語列w1，・・・wMおよびカテゴリcに基づいて、lnP(wi|c)およびカテゴリ対数周辺確率lnP(c)の値を再計算し、カテゴリ対数周辺確率表TCpおよびカテゴリのもとでの単語対数事後確率表TWpの値を更新する。
【０１０５】
ここで、クエリモデル１３１および検索モデル１３２の分類段階で用いたカテゴリの対数周辺確率表TCp（図１２のテーブル２０２およびテーブル３０２）と、単語の対数事後確率表TWp（図１２のテーブル２０３およびテーブル３０３）の各値は、あらかじめ、学習段階においてそれぞれカテゴリ別文書頻度表（図１３のテーブル４０１およびテーブル５０１）と、カテゴリ別単語頻度表（図１３のテーブル４０２およびテーブル５０２）から、式（６．２）および式（６．３）の計算式に基づいて算出されている。
【０１０６】
そのため、カテゴリ別文書頻度表（テーブル４０１およびテーブル５０１）と、カテゴリ別単語頻度表（テーブル４０２およびテーブル５０２）の該当するセルの値を、追加する学習データのカウント分だけ加算し、更新した各頻度表からカテゴリのもとでの単語対数事後確率lnP(wi|c)およびカテゴリ対数周辺確率lnP(c)の値を再計算しすればよい。
【０１０７】
＜クエリモデル１３１の更新処理の詳細＞
図４のステップＳ１１２で作成されたクエリモデル学習データ{QID=Q2,c=Q,G=10}（図６のテーブル１４６）がクエリモデル更新部１２３に入力された場合を例に、クエリモデル更新処理の詳細について説明する。学習の重みGは、該当の学習データをG個追加することを意味する。
【０１０８】
クエリモデル更新処理では、図１１（ａ）のサブルーチンより、モデル更新のサブルーチン（図８）を呼び出す（Ｓ５０１）。サブルーチンには学習データに加えて以下のデータを与える。カテゴリセット{Q, ¬Q}をCにセットし、テーブル４０１（図１３）のTQCf、テーブル２０２（図１２）のTQCp、テーブル４０２（図１３）のTQWf、およびテーブル２０３（図１２）のTQWpをそれぞれTCf、TCp、TWf、およびTWpにセットする。全語彙がテーブル４０２の見出し単語であるとし、単語の異なり数V=22とする。また、補正パラメータα=0.01とする。
【０１０９】
先にlnP(Q)の値を求め、カテゴリ周辺確率表TCpを更新する。そのために、カテゴリ別文書頻度表TCf（テーブル４０１）のセル[Q,dc]の値をdQに読み込み、G=10を加算し、同セルにセットする（ステップＳ４０１）。更新後のTCfをテーブル４０３に示す。テーブル４０３から、式（６．３）に基づいて新たなカテゴリ周辺確率を求める（ステップＳ４０２から４０５）。まず、全文書数Dを求める（Ｓ４０２からＳ４０４）。Dを0で初期化し（Ｓ４０２）、テーブル４０３から、カテゴリ「Q」および「¬Q」の文書頻度TCf[Q]およびTCf[¬Q]を順にdQおよびd¬Qに読み込み、順にDに加算する（Ｓ４０３、Ｓ４０４）。
【０１１０】
次に、式（６．３）にしたがって、得られたDとステップＳ４０１で求めたdQとを用いてlnP(Q)を算出し、TCp[Q]に書き込む（Ｓ４０５、テーブル４０４）。
【０１１１】
次に全語彙について、カテゴリＱのもとでの単語対数事後確率lnP(wi|Q)の値を求め、TWpを更新する。そのために、先にTWfを更新する。まず、図５のテーブル１４２を参照し、QID=Q2に対応するテキストU3を見つけ出し、単語列に分割する（Ｓ４０６）。このとき、分類段階で分割された結果（図７のＳ３０２、図１２のテーブル２０１Ａ）を参照すればよく、同じ分割処理を再実行する必要はない。したがって、図１２のテーブル２０１Ａを参照し、求める単語列W3={w1=“"年間”",w2="“走行距離”",w3="“保険料”",w4=“"違い”",w5=“出て”,w6=“ですか”}が得られる。
【０１１２】
次に、単語列W3の各単語wiについて、追加でG=10回ずつ出現したとみなして、カテゴリ「Q」における出現頻度TWf[Q,wi]を更新する（Ｓ４０７、Ｓ４０８）。更新後のTWfをテーブル４０５に示す。
【０１１３】
次に、更新された単語頻度表（テーブル４０５）から、式（６．２）に基づいて単語の対数事後確率表を再計算する（Ｓ４０９からＳ４１３）。最初に、式（６．２）の分母の第一項であるΣ(j=1〜V=22)freq(wj,Q)を求める。カテゴリQにおける単語の総出現数freq(Q)と置き、0で初期化する（Ｓ４０９）。カテゴリQのもとでの単語出現頻度をテーブル４０５のセル[Q,wi]を読み込み、freq(wi,Q)にセットし、freq(Q)を加算する。加算結果でfreq(Q)を更新する（Ｓ４１１）。これを全語彙w1,・・・,wV=22について繰り返し行うことにより（Ｓ４１０）、freq(Q)を求める。
【０１１４】
続いて、全語彙w1=”教えて”,・・・,wV=22=”できる”についてlnP(wi|Q)の値を算出する。例えば、単語w1=”教えて”について、カテゴリQにおける出現頻度をテーブル４０５のセル[Q,”教えて”]から読み込み、freq(w1,Q)にセットする。freq(wi,Q)、ステップＳ４１０、Ｓ４１１で求めたfreq(Q)、V=22、およびα=0.01を式（６．２）に代入し、lnP(w1|Q)を算出し、TWp[Q,w1]に値を書き込む（Ｓ４１３、テーブル４０６のセル[Q,”教えて”]）。これを残りの語彙w2,・・・,wVについても繰り返し行う（Ｓ４１２）。以上により、すべての語彙に関して、カテゴリc=QについてTWp[Q,wi]の値が更新される（テーブル４０６）。
【０１１５】
このように本実施形態では、選択されたクエリ候補に対応する対話テキストデータのクエリ尤度が、選択されなかったクエリ候補のクエリ尤度よりも高く設定されるように（選択されなかったクエリ候補については、クエリ尤度が下がるように）、クエリモデル１３１が更新される。
【０１１６】
＜検索モデル１３２の更新処理の詳細＞
上述した本実施形態の対話支援機能の処理フローにおいて、検索モデル１３２の更新処理について、{QID=Q1,c=faq5,G=10}（テーブル１４４）と、{QID=Q2,c=faq2,G=10}（テーブル１４９）をそれぞれ追加学習データを入力としたときの２通りのシナリオについて説明した。ここでは後者（テーブル１４９）のシナリオを例にとり、検索モデル１３２の更新処理の詳細を説明する。なお、更新処理自体は、前者についても同じである。
【０１１７】
検索モデル１３２の更新処理（図１１（ｂ））では、モデル更新のサブルーチン（図８）を呼び出す（Ｓ５０２）。サブルーチンには、学習データに加えて以下のデータを与える。カテゴリセット{faqk;1≦k≦K}をＣにセットし、テーブル５０１（図１３）のTFcf、テーブル３０２（図１２）のTFcp、テーブル５０２（図１３）のTFwf、およびテーブル３０３（図１２）のTFwpをそれぞれ、TCf、TCp、TWfおよびTWpにセットする。全語彙がテーブル５０２の見出し単語であるとし、単語の異なり数V=18とする。また、補正パラメータα=0.01とする。
【０１１８】
先に、lnP(faq2)の値を求め、カテゴリ周辺確率表TCpを更新する。カテゴリ別文書頻度表TCf（テーブル５０１）のセル[faq2,dc]の値をdfaq2に読み込み、G=10を加算し、同セルにセットする（ステップ４０１）。更新後のTCfをテーブル５０３に示す。テーブル５０３から、式（６．３）に基づいて新たなカテゴリ対数周辺確率を求める（ステップ４０２から４０５）。まず、全文書数Dを求める（Ｓ４０２からＳ４０４）。Dを0で初期化し（Ｓ４０２）、テーブル５０３から、すべてのカテゴリfaqk(k=1,..,5)の文書頻度TCf[faqk]をDに加算する（Ｓ４０３、Ｓ４０４）。
【０１１９】
次に式（６．３）にしたがって、得られたDとステップＳ４０１で求めたdfaq2とを用いてlnP(faq2)を算出し、TCp[faq2]に書き込む（Ｓ４０５、テーブル５０４）。
【０１２０】
次に、全語彙についてカテゴリfaq2のもとでの単語対数事後確率lnP(wi|faq2)の値を求め、単語の対数事後確率表TWpを更新する。そのために、先にTWfを更新する。
【０１２１】
まず、図５のテーブル１４２を参照し、学習データのQID=Q2に対応するテキストU3を見つけ出し、単語列に分割する（Ｓ４０６）。このとき、分類段階で分割された結果（図１２のテーブル３０１）を参照すればよく、同じ分割処理を再実行する必要はない。したがって、図１２のテーブル３０１を参照し、求める単語列WF3={w1=“年間”,w2=“走行距離”,w3=“保険料”,w4=“違い”,w5=“出て”}が得られる。
【０１２２】
次に、単語列WF3の各単語wiについて、追加でG=10回ずつ出現したとみなして、カテゴリ“faq2”における出現頻度TWf[faq2, wi]を更新する（Ｓ４０７、Ｓ４０８）。更新後のTWfをテーブル５０５に示す。
【０１２３】
次に、更新された単語頻度表（テーブル５０５）から、式（６．２）に基づいて単語の対数事後確率表を再計算する（Ｓ４０９からＳ４１３）。最初に、式（６．２）の分母の第一項であるΣ(j=1〜V=18)freq(wj,faq2)を求める。そのために、カテゴリQにおける単語の総出現数freq(faq2)と置き、０で初期化する（Ｓ４０９）。カテゴリfaq2のもとでの単語出現頻度をテーブル５０５のセル[faq2, wi]を読み込み、freq(wi,faq2)にセットし、freq(faq2)を加算する。加算結果でfreq(faq2)を更新する（Ｓ４１１）。これを全語彙w1..,wV=18について繰り返す（Ｓ４１０）ことにより、freq(faq2)を求める。
【０１２４】
続いて、全語彙w1="契約内容”,..,wV=18=“買い物”について、 lnP(wi│faq2)の値を算出する。たとえば、単語w1="契約内容”について、カテゴリfaq2における出現頻度をテーブル５０５のセル[faq2,"契約内容"]から読み込み、freq(w1,faq2)にセットする。freq(wi,faq2)、ステップＳ４１０、ステップＳ４１１で求めたfreq(faq2)、V=18,およびα=0.01を式（６．２）に代入し、lnP(w1│faq2)を算出し、TWp[faq2, w1]に値を書き込む（Ｓ４１３、テーブル５０６のセル[faq2,“教えて”]）。これを残りの語彙w2..,wVについても繰り返す（Ｓ４１２）。以上により、すべての語彙に関して、カテゴリc=faq2についてTWp[faq2,wi]の値が更新される（テーブル５０６）。
【０１２５】
（第２実施形態）
図１４から図２２は、第２実施形態の情報検索システムを示す図である。上述の第１実施形態では、ＦＡＱ候補リスト内の各ＦＡＱに対して、オペレータがＦＡＱ評価を行うことができように構成されているが、オペレータは、第２表示領域及び第３表示領域の各ＦＡＱ候補リストに含まれなかったＦＡＱを表示させたい場合もある。
【０１２６】
つまり、第１実施形態では、第３表示領域において選択されたクエリ候補を自動的に検索クエリとして用いて検索モデル１３２を用いた第２検索処理を行っていたが、本実施形態では、オペレータ装置３００の第１表示領域において、オペレータが選択したクエリ候補に含まれるキーワードを、オペレータが編集できるように制御する。そして、オペレータによるキーワード編集結果のキーワードリストを新たな検索クエリとして、検索モデル１３２を用いた検索処理（第３検索処理）を、オペレータが自由に手動で行えるようにする。
【０１２７】
図１４は、本実施形態の情報検索システムのネットワーク構成図及び各装置の機能ブロック図であり、上述の第１実施形態に対して、情報検索装置１００のクエリ生成部１２１は、キーワード抽出部１２１Ａをさらに備えている。キーワード抽出部１２１Ａは、オペレータ装置３００において選択されたクエリ候補のテキストデータの中からクエリキーワードを抽出し、抽出結果をオペレータ装置３００に提供する。
【０１２８】
図１５は、本実施形態の対話支援画面の一例を示す図である。対話支援画面は、上記第１実施形態同様に、表示領域Ｓ１からＳ３を含んでいる。そして、表示領域Ｓ３は、オペレータから受け付けた選択クエリ候補から抽出したクエリキーワードを表示するキーワード表示入力欄Ｓａ１、キーワード表示入力欄Ｓａ１を追加するための追加ボタンＳａ２、キーワード表示入力欄Ｓａ１を削除するための削除ボタンＳａ４、検索ボタンＳａ３を含むクエリキーワード表示／検索領域を含むように構成されている。
【０１２９】
本実施形態の表示領域Ｓ３は、上記第１実施形態における選択クエリ候補に基づく検索ＦＡＱ候補リストを表示する領域であると共に、クエリキーワードによる任意検索ＦＡＱ候補リスト（任意検索ＦＡＱ（ａＦＡ１〜ａＦＡｎ），第３ナレッジ情報）が表示される領域である。そして、表示領域Ｓ３は、表示されたクエリキーワードをオペレータが任意に編集（提示されたクエリキーワードの削除・修正、変更、新たなキーワードの入力など）して、検索クエリを作成するクエリキーワード編集部として機能する。
【０１３０】
なお、クエリキーワード表示／検索領域は、オペレータから選択クエリ候補を受け付けた場合のみ表示されるように構成することもできる。
【０１３１】
また、クエリキーワード表示／検索領域のキーワード表示入力欄Ｓａ１、追加ボタンＳａ２および削除ボタンＳａ４を、オペレータから選択クエリ候補を受け付けた場合のみ操作可能となるようにＳａ１からＳａ４の操作可能状態を切り替えるように構成することもできる。
【０１３２】
これにより、オペレータによる任意検索が行われる際に、任意ＦＡＱ候補リストとクエリ候補との紐づけ情報が必ず得られるように構成することにより、クエリ候補と任意ＦＡＱ候補との組である学習データの収集が促進される効果が得られる。
【０１３３】
なお、クエリキーワード表示／検索領域を含み、任意検索ＦＡＱ候補リストが表示される表示領域（第６表示領域Ｓ６）が、表示領域Ｓ３と分離して設けられるように構成してもよい。また、不図示のボタン選択操作に基づいて、第６表示領域Ｓ６と表示領域Ｓ３とが表示切替できるように構成することもできる。
【０１３４】
図１６は、本実施形態の情報検索装置１００の処理フローを示す図である。図１６では、上記第１実施形態の処理フロー（図４）に対し、クエリ候補Qselectが選択された後（Ｓ１０６のＹＥＳ）、クエリキーワード抽出処理以降の処理（Ｓ６０１〜Ｓ６０５）が並行して実行される処理が追加されている。クエリキーワード抽出処理の詳細については後述する。
【０１３５】
キーワード抽出部１２１Ａは、クエリ候補QselectからクエリキーワードKWselectを抽出し（Ｓ６０１）、制御装置１２０は、抽出されたキーワードKWselectをオペレータ装置３００に送信して、対話支援画面の表示領域Ｓ３に表示させる（Ｓ６０２）。制御装置１２０は、オペレータ装置３００からの検索クエリキーワードKWeditの受信を待ち（Ｓ６０３）、検索クエリキーワードKWeditを受信すると（Ｓ６０３のＹＥＳ）、検索部１２２に出力する。
【０１３６】
検索部１２２は、検索クエリキーワードKWeditに基づいて、検索モデル１３２を用いて検索処理（第３検索処理）を行い、検索結果としてＦＡＱ候補リスト（任意検索ＦＡＱ候補リスト）を生成する（Ｓ６０４）。制御装置１２０は、生成された任意検索ＦＡＱ候補リストをオペレータ装置３００に送信して、対話支援画面の表示領域Ｓ３に表示させる（Ｓ６０５）。その後は、図１６に示すように、ステップＳ１０９に進む。なお、図４と同様の処理については同符号を付して説明を省略する。
【０１３７】
ここで、ステップＳ６０１のキーワード抽出処理について説明する。上記第１実施形態の説明と同様に、一連の対話テキストデータ（図５のテーブル１４１）が入力された場合を例にとって説明する。なお、説明の便宜上、ＦＡＱデータベースとして図１７に示すＦＡＱデータベース１３３Ａを用いている。図１７の例では、図５の例に対してＦＡＱＩＤ＝６が１件追加されている。
【０１３８】
この場合、検索モデル１３２のカテゴリセットCは、faq1,..,faq6であるから、検索モデル１３２のカテゴリ別文書頻度表TFcfおよびカテゴリ別単語頻度表TFwfは、faq6の行が追加され、図１８のテーブル６０１および６０２の値がセットされているとする。また、これらの表からカテゴリ対数周辺確率表TFcp（図１８のテーブル６０３）およびカテゴリのもとでの単語対数事後確率表TFwp（図１８のテーブル６０４）が算出済みであるとする。なお、クエリモデル１３１は、上記第１実施形態と変わらない。
【０１３９】
図１６のステップ１０２において、クエリ候補QC={Q1,Q2}が生成される（図５のテーブル１４２）。まず、クエリ候補Q1に対する第１検索処理（Ｓ１０３）において算出される検索尤度は図１８のテーブル６０５のQ1列のとおりである。したがって、検索結果である推奨ＦＡＱ候補Sc={S1=(faq3,-13.2),S2=(faq5,-14.3),S3=(faq1,-16.9)}となり、faq6は、ＦＡＱ候補（検索結果）には含まれない。
【０１４０】
一方、クエリ候補Q2がオペレータによって選択された場合の第２検索処理（Ｓ１０７）において算出される検索尤度はテーブル６０５のQ2列のとおりである。検索結果である検索ＦＡＱ候補Sc={S1=(faq1,-18.8),S2=(faq4,-19.4),S3=(faq2,-21.9)}となり、クエリ候補Q1に対する検索処理の場合と同様、faq6はＦＡＱ候補には含まれない。
【０１４１】
すなわち、オペレータがクエリ候補を選択しなくても選択しても、faq6はＦＡＱ候補として表示されない。したがって、図１６において、faq6をオペレータが検索するための手段として、Ｓ６０１からＳ６０５の処理が追加されている。
【０１４２】
まず、ステップＳ６０１のクエリキーワード抽出処理について説明する。ここでは、テキストから単語分割された各単語について、キーワードらしさを表す尺度であるキーワード尤度の大きい順に上位Ｎ件をクエリキーワードとして抽出する。
【０１４３】
ここで、キーワード尤度とは、カテゴリcのもとでの単語対数事後確率lnP(wi|c)をカテゴリcについて周辺化した対数確率lnP(wi)と定義する（第３モデル）。ただし、式（６．２）と同様に全文書の単語の異なり数Vおよび補正パラメータαによって補正する。これを下記の式（１０）に示す。
2020009140.tif 000023
【０１４４】
図１９は、キーワード抽出処理のフローチャートを示す図である。上述のように図１６のステップＳ１０６においてクエリ候補Q2がオペレータによって選択されたとき（Qselect＝Q2を例に説明する。
【０１４５】
最初に、カテゴリ別単語頻度表TFwfから式（１０）にしたがって、単語ごとのキーワード尤度を表す単語対数周辺確率表Twmp（テーブル６０４）を算出する（Ｓ６１１）。なお、式（１０）の計算のパラメータは、第１実施形態の説明における検索処理と同じく、α＝0.01，V＝18である。
【０１４６】
続いて、選択クエリ候補Q2のテキストを単語分割処理する（Ｓ６１１）。ここで、単語分割処理は、選択されたクエリ候補に基づく検索ＦＡＱの検索処理（Ｓ１０７）と、クエリモデル更新処理（Ｓ１１３）の中と共通であるため、その結果であるWF3={w1="年間”,w2=“走行距離”,w3=“保険料”,w4="違い”,w5=“出て”}（テーブル３０１のＷＦ３行）を用いればよい。
【０１４７】
次に、抽出キーワードリストKWi=2を初期化する（Ｓ６１３）。wj(j=1,…,5)について、Twmp[wj]の値をlnP(wj)に読み込み、(wj,lnP(wj))の組をKWiに追加する（Ｓ６１５）。すべてのwj(j=1,…,5)についてこれを繰り返す（Ｓ６１４）。最後に、KW2をlnP(wj)の値が大きい順にソートし、上位３件KW2＝{(“保険料”,-1.88),(“走行距離”,-2.38),(“年間”,-3.07)}（テーブル６０７のKW2）を出力する（Ｓ６１６、N＝3）。
【０１４８】
図１６のメインルーチンに戻り、KWselect＝KW2を表示領域Ｓ３に表示させる（Ｓ６０２）。例えば、図１５の対話支援画面における一番左のキーワード表示入力欄Ｓａ１（検索窓）から順に表示することができる。なお、オペレータは、表示領域Ｓ３のクエリキーワード表示／検索領域において、キーワード表示入力欄Ｓａ１の横に設けられる「×」削除ボタンＳａ４を押すと、キーワードを削除することができる。また、キーワード表示入力欄Ｓａ１は、テキストボックスであり、カーソルを置くと、自由に編集することができる（例えば、KW2を編集したり、KW2以外の任意のキーワードを入力したりすることができる）。また、「+」で表記された追加ボタンＳａ２を選択すると、キーワード表示入力欄Ｓａ１を追加することができる。
【０１４９】
オペレータは、クエリキーワードの編集を終えると、検索ボタンＳａ３をクリックすることにより、オペレータ装置３００から情報検索装置１００に、検索ボタンＳａ３のクリック時における編集状態の検索クエリキーワードKWEditが送信される。
【０１５０】
ここでは、２つのシナリオを考察してみる。１つ目は、オペレータが編集操作を行わず、表示された３つのキーワードがそのまま検索クエリキーワードKWEditとして情報検索装置１００に送信された場合である。KWEdit1＝{“保険料”,“走行距離”,“年間”}である。２つ目は、オペレータが“年間”を”週末”に変更し、KWEdit2＝{“保険料”,“走行距離”,”週末”}が情報検索装置１００に送信された場合である（テーブル６１６）。
【０１５１】
制御装置１２０は、通信制御装置１１０を介して検索クエリキーワードKWEditを受信する（Ｓ６０３）。制御装置１２０は、受信した検索クエリキーワードKWEditを検索部１２２に入力し、検索部１２２は、第３検索処理を実行する（Ｓ６０４）。
【０１５２】
ここで、まず、上述の１つ目のシナリオでは、検索尤度表は、図１８のテーブル６０６Ａのように算出される。したがって、検索結果である任意検索ＦＡＱ候補Sc={S1=(faq1,-7.60),S2=(faq4,-8.96),S3=(faq2,-12.4)}となり、上述したキーワード抽出処理を経ないで行われる検索処理（第１検索処理及び第２検索処理）の検索結果と同様に、faq6は、任意検索ＦＡＱ候補には含まれない。
【０１５３】
一方、２つ目のシナリオでは、検索尤度表は図１８のテーブル６０６Ｂのように算出される。したがって、任意検索ＦＡＱ候補Sc={S1=(faq6,-8.57),S2=(faq4,-8.68),S3=(faq1,-12.9)}となり、表示領域Ｓ３には、任意検索ＦＡＱ候補リストの第１位にfaq6が表示される（Ｓ６０５）。
【０１５４】
仮に、ＦＡＱ（Ｑ：“通勤で使う場合と、週末買い物で使う場合とで、何か違いがありますか。”、Ａ：“使用目的および走行距離で区分が設定されています．．．”）をオペレータが正の評価をした場合（Ｓ１０９）、検索モデル学習データ（テーブル６０８）が作成され（Ｓ１１０）、検索モデル更新処理（Ｓ１１１）が実行される。ここで、検索モデル学習データ作成処理Ｓ１１０は、選択クエリＩＤと評価されたＦＡＱとの組である学習データに加えて、検索クエリキーワードKWEditから選択クエリキーワードKWselectに含まれるキーワードを除いた差集合（KWEdit-KWselect）のキーワードリストを学習データとしている。
すなわち、KWEdit2- KWselect={“週末”}と評価されたＦＡＱの組である（テーブル６０８）。
なお、検索モデル更新処理（図２４のＳ１１１および図１１（ｂ）のＳ５０２）について、キーワードリストを受け取れるように、あらかじめ入力の拡張を施す。図１１（ｂ）における検索モデル更新処理の追加学習データのＱＩＤをＱＩＤもしくはキーワードリストKW={kwi;1≦i≦|KW|}とする。サブルーチンである図８のモデル更新処理の入力データも同様に変更し、Ｓ３０２の分割処理の前において、入力タイプがＱＩＤもしくはキーワードリストKWのいずれであるかの判定処理をＳ４０５とＳ４０６の間に新たに設ける。キーワードリストKWである場合は、M=|KW|とし、kw1,…kw|kw|をそのまま単語列w1,….wMに置き換え、単語分割処理はスキップして次の処理Ｓ４０６に進む。
なお、それ以外の処理は上記第１実施形態の検索モデル更新処理と同一であるため、説明は省略する。
さらに、学習データが複数の場合、学習データの数だけモデル更新（Ｓ５０２）を実行するように拡張を施す。
なお、検索モデル学習データ作成処理Ｓ１１０において、上記の２つの学習データを作成したが、いずれか一方の学習データのみを作成することにしてもよい。上記のキーワードリストの学習データについて、検索クエリキーワードKWEditそのものを追加学習データとするように構成することもできる。さらに、編集によって削除された選択クエリキーワード、すなわちKWselectからKWEdit2の要素を除いた差集合（ここでは｛“年間”｝）について、負の学習重みを設定した学習データを作成してもよい。このように選択クエリ候補、KWselect、およびKWEdit2に基づいて様々な学習データの作成方法をとるように構成できる。
【０１５５】
上記第１実施形態で述べた処理に従い、カテゴリ別文書頻度表TFcfおよびカテゴリ別単語頻度表TFwfが更新され（図２０のテーブル６０９、６１０）、更新された表から検索モデル１３２であるカテゴリ対数周辺確率表TFcp（図２０のテーブル６１１）およびカテゴリのもとでの単語対数事後確率表TFwp（図２０のテーブル６１２）が算出される。
【０１５６】
この２つ目のシナリオでは、検索モデル更新処理と並行して、Qselect＝Q2に基づいて、第１実施形態の場合と同様に、図６のテーブル１４６のクエリ学習データが作成され（Ｓ１１２）、クエリモデル更新処理によってクエリモデル１３１であるカテゴリ対数周辺確率表TQcp（図６のテーブル４０４）およびカテゴリのもとでの単語対数事後確率表TQwp（図６のテーブル４０６）が算出される（Ｓ１１３）。
【０１５７】
ここまでの処理によって、第１実施形態の処理では検索結果に含まれなかったfaq6が、新たに設けられた本実施形態の処理によって検索され、検索モデル１３２とクエリモデル１３１の両方が更新される。
【０１５８】
次に、同じテキストU（図５のテーブル１４１）が入力された場合の処理について確認する。ステップＳ１０２で生成される第１位のクエリ候補Q1は、U3（“たとえば年間の走行距離によって保険料に違いが出てきたりするんですか。”）に変更されている（図５のテーブル１４７）。これを入力とし第１検索処理が実行される（Ｓ１０３）と、検索尤度（図２０のテーブル６１３）が算出される。そして、推奨ＦＡＱ候補Sc={S1=(faq６,-12.1),S2=(faq１,-18.8),S3=(faq4,-19.4)}（テーブル６１４）が生成され、オペレータ装置３００に送信され、表示領域Ｓ１に表示される。
【０１５９】
このように、検索モデル１３２とクエリモデル１３１とが更新されることにより、前回の対話テキストデータとして入力されたときに表示されなかったfaq6が、今回は、オペレータがクエリ候補を選択したり、抽出キーワードを編集して検索せずとも、自動で表示されるように改善される。
また、テーブル６１５のとおり、更新されたTFwfから算出されるTwmpは、クエリ候補に含まれるキーワード（“年間”、“走行距離”、“保険料”、“違い”）および、編集によって追加されたキーワード（“週末”）のキーワード尤度が高くなるように更新され、次回以降により選択クエリキーワードとして抽出されやすくなる。
【０１６０】
なお、検索処理（図１０および図７）について、キーワードリストを受け取れるように、あらかじめ入力の拡張を施すことができる。図２１は、本実施形態のクエリ候補の検索処理フローを示す図であり、図１０に対応している。また、図２２は、本実施形態の分類段階の処理フローを示す図であり、図７に対応している。図２１において、図１０における検索処理の入力データを、テキストUもしくはキーワードリストKW={kwi;1≦i≦|KW|}とする。図２２において、サブルーチンである図７の分類処理の入力データも同様に変更し、Ｓ３０２の分割処理の前において、入力タイプがテキストUもしくはキーワードリストKWのいずれであるかの判定処理を新たに設ける（Ｓ６２１）。図２２において、キーワードリストKWである場合は、M=|KW|とし、kw1,…kw|kw|をそのまま単語列w1,….wMに置き換え、単語分割処理はスキップして次の処理Ｓ３０３に進む（Ｓ６２２）。
【０１６１】
（第３実施形態）
図２３から図３４は、第３実施形態の情報検索システムを示す図である。本実施形態は、上述の第１実施形態及び第２実施形態に対し、ＦＡＱデータベース１３３，１３３Ａに登録されたＦＡＱ情報の変更・更新機能を備えたものである。
【０１６２】
上述した第１実施形態及び第２実施形態において、オペレータによるクエリ選択機能、ＦＡＱ評価機能および抽出キーワードによる検索機能の各履歴を利用することで、別のシステムでＦＡＱを管理するよりも、簡便かつ効果的にＦＡＱを追加、更新あるいは削除することができる。
【０１６３】
図２３は、本実施形態のネットワーク構成及び各装置の機能ブロックを示す図であり、本実施形態では、上記第２実施形態の情報検索システムに、ＦＡＱデータを追加、更新あるいは削除するためのＦＡＱ管理を行うためのＦＡＱ管理端末４００が設けられている。
【０１６４】
ＦＡＱ管理端末４００は、制御装置４１０、表示装置４２０及び入力装置４３０を備えている。ＦＡＱ管理端末４００は、例えば、コンタクトセンターを構成する管理端末として設けられているが、これに限らず、情報検索装置１００で管理されるＦＡＱ情報にアクセス可能な管理端末であればよい。
【０１６５】
一方、情報検索装置１００は、ＦＡＱ管理部１２５が設けられている。ＦＡＱ管理部１２５は、所定のＦＡＱ管理画面を通じたＦＡＱ情報の変更・更新を制御する。記憶装置１３０には、履歴ＤＢ１３４が格納されており、一連の対話テキストデータの入力履歴、クエリ候補生成履歴、キーワード検索履歴（キーワード検索ミスヒット履歴を含む）、ＦＡＱ評価履歴、ＦＡＱ改善要求履歴などの各種履歴情報を含む。
【０１６６】
図２４は、本実施形態の対話支援機能の処理フローを示す図である。図２４は、図１６に示した処理フローに対して、各種履歴を履歴ＤＢ１３４に記録する処理が追加されている。以下、新たに追加された処理を中心に説明する。なお、各種履歴の記録処理は、対応する各機能部がそれぞれ行ってもよく、また制御装置１２０が統括して行ってもよい。
【０１６７】
図２４において、まず、一連の対話テキストデータ群Uが入力された後（Ｓ１０１）、クエリ生成部１２１は、一連の対話テキストデータ群Uを一意に識別可能なID（INPUT ID；以下、IIDと表する）を付与し、これを変数iidに記録する（Ｓ７０１）。IIDは、履歴の個々のデータの識別に用いる。
【０１６８】
次に、{IID,UID,テキスト}の組からなる入力履歴HINPUTに一連の対話テキストデータＵをiidとともに記録する（Ｓ７０２）。たとえば、図５のテーブル１４１のU1,..,U4は、図２５のテーブル７０１の{IID=I1,UID=U1},..,{IID=I4,UID=U4}の行のとおりに記録される。このように｛IID, UID｝の連結キーによって一連の対話テキストデータU群内の各対話テキストデータを一意に識別できる。
【０１６９】
クエリ候補Qcを生成後（Ｓ１０２）、クエリ候補Qcをiidとともにクエリ候補生成履歴HQに登録する（Ｓ７０３）。たとえば、図５のテーブル１４２のクエリ候補Q1,Q2は、それぞれ図２５のテーブル７０２の{IID=I1,QID=Q1},{IID=I1,QID=Q2}の行のとおりに記録される。
【０１７０】
検索結果としてＦＡＱ候補Scがない場合（Ｓ７０４のＮＯ）、かつ検索テキストタイプが検索クエリキーワードの場合（Ｓ７０５の“検索クエリキーワード”）、キーワード検索ミスヒット履歴HMissに、{KWedit,IID,QID}の組が記録される（Ｓ７０６、図２５のテーブル７０３）。{IID,QID}により、キーワード検索ミスヒットの検索とクエリ候補生成履歴HQ中のクエリとが紐づけられる。この紐づけ情報は、後述する検索ミスヒット履歴に基づくＦＡＱ新規作成機能において、新規ＦＡＱとミスヒット検索のクエリとの組を学習データとして、検索モデル１３２を更新するために用いられる。
なお、Ｓ７０４の判定において、検索結果としてＦＡＱ候補ScのすべてのＦＡＱ候補の検索尤度が所定値を下回る場合に、ＦＡＱ候補Scがない場合（Ｎｏ）と判定することとしてもよい。
【０１７１】
ここで、ステップＳ７０４の分岐に戻り、ＦＡＱ候補Scが存在する場合（Ｓ７０４のＹＥＳ）、ＦＡＱ候補Scは、ステップＳ１０４においてオペレータ装置３００の表示領域Ｓ１に表示され、オペレータからＦＡＱ評価を待ち受ける（Ｓ１０９）。つまり、ステップＳ１０４，Ｓ１０８及びＳ６０５において、前段の各検索処理においてＦＡＱ候補Scがヒットしなかった場合は、ＦＡＱ候補Scは、オペレータ装置３００には送信されず、表示領域Ｓ１にＦＡＱ候補Scは、表示されない。なお、本実施形態でのＦＡＱ評価のタイプは、「有用度」（ｆ２１，ｆ２２）のＦＡＱ評価に加えて、「改善要求」（ｆ２３）を含む。
【０１７２】
オペレータからのＦＡＱ評価を受け付けると（Ｓ１０９のＹＥＳ）、ＦＡＱ評価タイプが「有用度」、「改善要求」のいずれであるかを判定し（Ｓ７０７）、「改善要求」であると判定された場合は、対象のＦＡＱＩＤをＦＡＱ改善要求履歴HImproveに記録する（Ｓ７０８、図２５のテーブル７０４）。HImproveにデータが記録される度に、改善要求が出された回数がカウントされる（テーブル７０４のCOUNT列）。後述するＦＡＱ修正機能において、ＦＡＱ管理者はカウント情報を参考にして修正対象のＦＡＱを選択することができる。
【０１７３】
ステップＳ７０７の分岐に戻り、ＦＡＱ評価タイプが「有用度」の場合は、{FAQID, IID, QID, ＦＡＱ評価値EVAL}の組をＦＡＱ評価履歴HEvalに登録する（Ｓ７０９、図２５のテーブル７０５）。
【０１７４】
次に、ＦＡＱ管理について説明する。ＦＡＱの管理とは、ＦＡＱデータベース１３３に登録されたＦＡＱ情報を、必要に応じて追加、削除、更新を行うことであり、ＦＡＱ管理者が行う。
【０１７５】
本実施形態では、ＦＡＱ管理者がＦＡＱ管理端末４００を通じてＦＡＱを管理することができる。図２６から図２８は、ＦＡＱ管理処理を示すフローチャートであり、それぞれ、ＦＡＱの新規登録処理、ＦＡＱの削除処理、ＦＡＱの修正／更新処理を表している。
【０１７６】
＜ＦＡＱ新規登録処理＞
図２６は、ＦＡＱの新規登録処理を示すフローチャートである。制御装置１２０（ＦＡＱ管理部１２５）は、ミスヒット履歴HMissのキーワードリストをカウントし、カウント数が大きい順にソートする。たとえば、HMissが図２５のテーブル７０３の場合、キーワードリストは“免許証,色”はカウント数2、“車両保険,入院,期間”はカウント数１である。そしてソート結果である｛キーワードリスト，カウント数｝のリストを、制御情報とともにＦＡＱ管理端末４００に送信し、図２９に示すＦＡＱ検索ミスヒット表示領域に表示する（Ｓ７２０）。図２９は、オペレータ装置３００の表示装置３３０に表示されるＦＡＱ検索ミスヒット画面の一例である。
【０１７７】
続いて、制御装置１２０は、ＦＡＱ管理者がＦＡＱ検索ミスヒット画面において、キーワードリストを選択するのを待ち受ける（Ｓ７２１）。キーワードリストKWSelectがＦＡＱ管理者によって選択されると、ＦＡＱ管理端末４００からKWSelectが情報検索装置１００に送信され、制御装置１２０がこれを受信する（Ｓ７２１）。制御装置１２０は、ＦＡＱ管理端末４００に図３０に示すＦＡＱ作成画面を表示させる（Ｓ７２２）。
【０１７８】
ＦＡＱ作成画面には、新規ＦＡＱのテキストにミスヒットキーワードリストのすべてのキーワードが必ず含まれるようにするため、ＦＡＱ作成画面には入力チェック機能が備わっている。登録ボタンがクリックされた際に、入力チェック機能が実行され、もし新規ＦＡＱにミスヒットキーワードリストのキーワードのいずれか一つでも含まれていない場合は、エラーメッセージを表示して登録させないように制御する。
【０１７９】
制御装置１２０は、ＦＡＱ管理者からの新規登録要求を待ち受ける（Ｓ７２３）。ＦＡＱ管理者がＦＡＱ作成画面にて、「Ｑ」，「Ａ」を入力・編集し、登録ボタンをクリックすると、新規登録要求を受け付け、入力されたＦＡＱ情報（｛Ｑテキスト，Ａテキスト｝）を含む新規登録要求がＦＡＱ管理端末４００から情報検索装置１００に送信される。情報検索装置１００は、通信制御装置１１０を介して制御装置１２０が受け取る（Ｓ７２３）。続いて、制御装置１２０、受信した新規ＦＡＱ情報をＦＡＱデータベース１３３に登録する。このとき、新規ＦＡＱ情報に対してＦＡＱＩＤを付与し、ＦＡＱデータベース１３３に格納される。付与されたＦＡＱＩＤを変数faqnewにセットする（Ｓ７２４）。
【０１８０】
次に、新規ＦＡＱに関連するクエリを入力として当該ＦＡＱが検索されるようにするために、検索モデルを更新する。KWSelectと紐づくすべてのクエリＩＤと新規ＦＡＱとの組を学習データとして用いる。
【０１８１】
まず、更新の準備として、検索モデル１３２の分類先カテゴリに新規ＦＡＱを追加するためにカテゴリセットCにfaqnewを追加し（Ｓ７２５）、検索モデル１３２のテーブルTFcf, TFwf,TFcp,TFwpにfaqnewの行を追加する（Ｓ７２６）。次に、ミスヒット履歴HMissからKWSelectの履歴を全て抽出し、変数H={hi ∈HMiss;1≦i≦M}に格納する（Ｓ７２７）。すべてのhiについて、Ｓ７２９からＳ７３１までの処理を繰り返す（Ｓ７２８）。まず、クエリＩＤ{IID,QID}を変数{iid,qid}に格納する。{クエリID{iid,qid},カテゴリfaqnew,重みG∈Z}を追加学習データとして、検索モデル１３２を更新する（Ｓ７３０）。更新後、履歴hiが次回以降の更新処理において重複して用いられないようにするために、HMissからhiを削除しておく（Ｓ７３１）。
【０１８２】
ＦＡＱデータベース１３３に登録されたＦＡＱに基づいて、検索モデル１３２を更新することで、新規ＦＡＱが検索される（検索モデル１３２を更新しない限り、新規ＦＡＱは検索されない）。そこで、引き続き、検索モデルの更新処理を行う。ここで、検索モデル１３２の学習データは、テキストとＦＡＱＩＤの組であるが、どのテキストを対応付ければよいか、が課題となる。ＦＡＱ作成支援と学習データ収集とを別々に行う従来技術では、本課題を解決できなかった。すなわち、更新したＦＡＱに対する学習データの紐付けができなかった。
【０１８３】
しかしながら、本実施形態では、作成された新規ＦＡＱは、ユーザーの質問であるクエリテキストから抽出されたキーワードリストに基づいて作成されており、クエリテキストとＦＡＱとの間には、質問−回答の関係性がある可能性が高いと考えられる。この関係性を学習データの対応付けに用いることができるように、上述のとおり、ＦＡＱ利用時の処理において、ミスヒット履歴HMissにクエリＩＤ{IID,QID}と、クエリ候補生成履歴HQにクエリＩＤに対応するクエリテキストを記録する処理を設けている。
なお、検索モデル学習データ作成処理Ｓ１１０において、上記第２実施形態で説明したように、クエリＩＤとＦＡＱとの組以外にも選択クエリ候補、選択クエリキーワード、および検索クエリキーワードに基づいて様々な学習データの作成するように構成できる。たとえば、検索クエリキーワードから選択クエリキーワードに含まれるキーワードを除いた差集合のキーワードリストについて、ＦＡＱとの組を学習データに加えても良い。
【０１８４】
＜ＦＡＱ削除処理＞
図２７はＦＡＱの削除処理を示すフローチャートである。制御装置１２０（ＦＡＱ管理部１２５）は、ＦＡＱ評価履歴HEvalからＦＡＱＩＤ毎にＦＡＱ評価値ＥＶＡＬを集計し、集計スコアの低い順にＦＡＱをソートする（Ｓ７４０）。ソート処理の結果のＦＡＱＩＤに対応する「Ｑ」と「Ａ」とをＦＡＱデータベース１３３から参照し、｛ＦＡＱＩＤ，Ｑテキスト，Ａテキスト，集計スコア｝のリストを作成する。情報検索装置１００は、作成されたリストをＦＡＱ管理端末４００に送信し、図３１に示すＦＡＱ削除リスト表示画面を表示させる（Ｓ７４１）。
【０１８５】
続いて、制御装置１２０は、ＦＡＱ管理者からのＦＡＱ削除要求を待ち受ける（Ｓ７４２）。ＦＡＱ管理者がＦＡＱ削除リスト表示画面に表示されたＦＡＱの中から、削除したいＦＡＱを選択すると、削除要求を受け付ける。選択されたＦＡＱのＦＡＱＩＤがＦＡＱ管理端末４００から情報検索装置１００に送信される。制御装置１２０は、選択されたＦＡＱＩＤを受け取り、これを変数faqdeleteに格納する（Ｓ７４２）。そして、制御装置１２０は、ＦＡＱデータベース１３３からfaqdeleteに該当するＦＡＱ情報を削除する（Ｓ７４３）。
【０１８６】
なお、ＦＡＱデータベース１３３から該当のＦＡＱを削除しても、検索モデル１３２の分類カテゴリに削除したＦＡＱのＦＡＱＩＤが含まれている場合、ＦＡＱ検索結果とＦＡＱデータベース１３３との間で不一致が生じる。このため、検索モデル１３２から削除すいたＦＡＱに該当するＦＡＱＩＤを削除する処理を続いて行う。
【０１８７】
まず、検索モデル更新処理の前処理として、検索モデル１３２のカテゴリセットCからfaqdeleteを削除し（Ｓ７４４）、検索モデル１３２のテーブルTFcf,TFwf,TFcp,TFwpからカテゴリfaqdeleteの行を削除する（Ｓ７４５）。次に、検索モデル１３２を更新する（Ｓ７４６）。ここでの更新処理は、カテゴリ削除によって、全カテゴリにおける総文書数および総単語数が変化するため、TFcp,TFwpを再計算しなおすことが目的である。追加学習データがないため、TFcf,TFwfが変化しない点が、上記第２実施形態の検索処理（図１６のＳ１１１，図８）と異なる。すなわち、図８のモデル更新のTFcf更新処理（Ｓ４０１）、TFwf更新処理（Ｓ４０６からＳ４０８）を除いた処理となる。なお、検索モデル更新処理を示すフローチャートを図３２に示すが、各ステップの詳細な説明について上述の通りである。
【０１８８】
＜ＦＡＱ更新処理＞
図２８は、ＦＡＱの更新処理を示すフローチャートである。まず、制御装置１２０は、ＦＡＱ改善要求履歴HImproveのＦＡＱＩＤをカウント数の大きい順にソートする。ソート結果のＦＡＱＩＤに対応する「Ｑ」と「Ａ」とをＦＡＱデータベース１３３から参照し、｛ＦＡＱＩＤ，Ｑテキスト，Ａテキスト，カウント数｝のリストを作成し、ＦＡＱ管理端末４００に送信し、図３３に示すＦＡＱ改善リスト画面に表示する（Ｓ７６０）。
【０１８９】
続いて、制御装置１２０は、ＦＡＱ管理者による修正対象ＦＡＱの選択を待ち受ける（Ｓ７６１）。ＦＡＱ管理者がＦＡＱ改善リスト画面に表示されたＦＡＱの中から、修正を希望するＦＡＱを選択すると、選択情報が情報検索装置１００に送信される。制御装置１２０は、選択情報を受け取り、ＦＡＱ管理端末４００に図３４に示すＦＡＱ修正画面を表示させるように制御する（Ｓ７６２）。ＦＡＱ修正画面には、選択されたＦＡＱの「Ｑ」テキストと「Ａ」テキストがセットされており、ＦＡＱ管理者はこれを適宜編集できるようになっている。
【０１９０】
制御装置１２０は、ＦＡＱ管理者によるＦＡＱの更新要求を待ち受ける（Ｓ７６３）。ＦＡＱ管理者がＦＡＱ修正画面にＦＡＱを入力した後、更新ボタンをクリックすると、更新要求を受け付け、更新ＦＡＱ｛ＦＡＱＩＤ，Ｑテキスト，Ａテキスト｝が更新要求情報ととともに情報検索装置１００に送信される。制御装置１２０は、更新要求情報を受け取り（Ｓ７６３のＹｅｓ）、ＦＡＱデータベース１３３の該当のＦＡＱＩＤのＦＡＱ情報を更新ＦＡＱ情報を用いて更新する（Ｓ７６４）。
【０１９１】
ＦＡＱの内容が修正されると、オペレータによるＦＡＱ検索結果に対する評価が良くなる可能性がある。しかしながら、ＦＡＱ修正前に、ＦＡＱがオペレータから負の評価を受けていた場合、検索モデル１３２は、より検索候補の下位になるように更新されてしまう。そうすると、修正されたＦＡＱが検索結果としてオペレータに表示されないという問題が生じる。これを解決するために、ＦＡＱ評価履歴HEvalを用いて、検索モデル１３２を更新前の状態に復元する処理を次に行う。更新前の状態の復元には、学習重みをモデル更新時と正負反転させて、追加学習データとし、同じ更新処理を行えばよい。
【０１９２】
HEval中のすべての履歴データhi(i=1,..,|HEval|)についてＳ７６６からＳ７７１の処理を繰り返す（Ｓ７６５）。まず、hiの{FAQID, IID,QID,EVAL}を読み込み、それぞれ変数faqid,iid,qidおよびevalに格納する（Ｓ７６６）。次いで、修正されるＦＡＱＩＤのfaqreviseとfaqidが一致すれば（Ｓ７６７のＹｅｓ）次の更新処理に進み、一致しなければhi+1の処理ループに進む（Ｓ７６７のＮｏ）。次の更新処理では、まず、ＦＡＱ評価値EVALの正負を反転させ、学習重み変数Gに値を格納する（Ｓ７６８）。追加学習データは{クエリＩＤ{iid,qid},カテゴリfaqrevise,重みG∈Z}である。これを検索モデル更新部１２４に入力し、検索モデル１３２を更新する（Ｓ７７０）。更新後、履歴hiが次回以降の更新処理において重複して用いられないようにするために、HEvalからhiを削除しておく（Ｓ７７１）。
【０１９３】
なお、本実施形態における検索モデル更新処理（検索モデル更新処理Ｓ７３０およびＳ７７０）は、上記第２実施形態の検索モデル更新処理に対して、クエリＩＤ{IID,QID}を受け取り、クエリ候補生成履歴HQからクエリテキストを探し出せるよう拡張を施している。具体的には、入力データのＱＩＤが{IID,QID}に変わり、Ｓ４０６においてQIDに対応するテキストUをクエリ候補Qcを格納したテーブルから見つける処理を、クエリＩＤ{IID,QID}からクエリ候補生成履歴HQから見つける処理に置き換えられる。なお、それ以外の処理は上記第２実施形態の検索モデル更新処理と同一であるため、説明は省略する。
【０１９４】
このように本実施形態は、クエリ候補及び検索クエリキーワードに基づくＦＡＱ検索履歴（ミスヒット履歴）、ＦＡＱ評価履歴、及びＦＡＱ改善要求履歴を記憶し、新規ＦＡＱ情報の登録処理、ＦＡＱデータベース１３３に格納されるＦＡＱ情報の更新処理及び削除処理、を制御するＦＡＱ管理部１２５を備えている。
【０１９５】
そして、ＦＡＱ管理部１２５は、以下の機能を提供する。
（１）ＦＡＱ検索履歴に基づいて、検索結果に含まれるＦＡＱ情報の数が所定値よりも少ない（０でもよい）クエリ候補又はクエリ候補に含まれる１つ又は複数のキーワード（第２実施形態の検索クエリキーワード）を含む第１リストを生成してＦＡＱ管理端末４００に送信し、ＦＡＱ管理端末４００において第１リストに含まれるクエリ候補又はクエリ候補に含まれる１つ又は複数のキーワードを含む質問と回答の組からなる新規ＦＡＱ情報を作成可能に制御し、ＦＡＱ管理端末４００から新規ＦＡＱ情報を受信して登録する登録処理を行う。
【０１９６】
このとき、検索モデル更新部１２４は、第１リストに含まれるクエリ候補と新規ＦＡＱ情報との組み合わせを追加学習データとして、ＦＡＱの数が所定値よりも少ないクエリ候補と同一又は類似のクエリ候補に対して、検索尤度がより高くなるように、検索モデル１３２を更新する。
【０１９７】
（２）ＦＡＱ評価履歴に基づいてＦＡＱ評価値が所定値よりも低いＦＡＱ情報を含む第２リストを生成してＦＡＱ管理端末４００に送信し、ＦＡＱ管理端末４００での第２リストに対する選択情報に基づいて該当するＦＡＱ情報をＦＡＱデータベースから削除する削除処理を行う。
【０１９８】
このとき、検索モデル更新部１２４は、削除対象のＦＡＱ情報を除外した検索モデル１３２の更新処理を行う。
【０１９９】
（３）ＦＡＱ改善要求履歴に基づいて、ＦＡＱ改善要求が所定値よりも多いＦＡＱ情報を含む第３リストを生成してＦＡＱ管理端末４００に送信し、ＦＡＱ管理端末４００での第３リストに含まれるＦＡＱ情報の質問又は回答に対する編集結果を受信して該当のＦＡＱ情報を更新する更新処理を行う。
【０２００】
このとき、検索モデル更新部１２４は、更新対象のＦＡＱ情報とクエリ候補との間の類似性に基づく検索尤度が、更新前のＦＡＱ情報よりも高くなるように（更新前の検索尤度を引き継がないようにリセットするように）、検索モデル１３２を更新する。
【０２０１】
以上、実施形態について説明したが、本発明は、スーパーバイザーなどの管理者と連動した機能を提供することもできる。例えば、コンタクトセンターは、複数のオペレータ装置３００以外に、管理者装置を含むように構成することができる。このとき、情報検索装置１００の制御装置１２０は、各オペレータ装置３００に表示される対話支援画面を管理者装置から閲覧できるように制御することができる。具体的には、制御装置１２０は、管理者装置に対して各オペレータ装置３００の対話支援画面をリモート接続可能に制御し、指定したオペレータ装置３００（オペレータＩＤ）別に稼働中のオペレータ装置３００の表示装置３３０に表示された内容をモニタリングすることができる。制御装置１２０は、チャット機能などで、管理者とオペレータとが対話するテキスト対話機能を提供するように構成してもよい。
【０２０２】
また、管理者装置自体にも、本実施形態の対話支援機能を適用することができる。つまり、管理者も第２検索機能及びＦＡＱ評価機能を実行して、クエリモデル１３１及び検索モデル１３２の各更新を促すことができる。なお、管理者は、上述の第３実施形態で説明したＦＡＱ管理機能を使用して、ＦＡＱデータベース１３３に格納されているＦＡＱの更新（編集・修正）、新規作成、削除などを、適宜行うことができる。
【０２０３】
管理者が管理者装置において、表示部に表示されたオペレータの一覧からオペレータを選択すると、制御部１２０は、履歴ＤＢ１３４に蓄えられたオペレータ別の履歴情報を参照して、各履歴を管理者装置に表示することにより、管理者は対話内容、検索キーワード、検索結果のＦＡＱ、および評価をモニタリングすることができる（例えば、図３５参照）。
【０２０４】
また、管理者装置自体にも、本実施形態の対話支援機能を適用することができる。オペレータとカスタマーとの対話内容を確認しながら、管理者がオペレータの検索結果のＦＡＱを評価しなおすことができる。また、管理者も第２検索機能及びＦＡＱ評価機能を実行して、クエリモデル１３１及び検索モデル１３２の各更新を促すことができる。
【０２０５】
実施形態の例では、一つのテキスト情報を一つのクエリ候補として生成していた。１つ以上のテキスト情報の組み合わせを一つのクエリ候補としてもよい。一つのテキスト情報の中の部分テキストを単位として、１つ以上の部分テキストの組み合わせを一つのクエリ候補としてもよい。
【０２０６】
発話テキストを順次受付けるようにし、時刻情報、テキストの意味内容、以前に入力された発話テキストの文脈情報などを用いて、同一の話題に関する発話テキストを一連の発話テキスト情報としてまとめ上げる処理を、前段に追加するように構成しても良い。
【０２０７】
クエリモデルは、かならずしも質問であるか否かの２カテゴリに分類するモデルでなくともよい。たとえば、テキストの意図タイプ（質問、依頼、要求、など）に分類するモデルであってもよい。ＦＡＱがグループ（新規契約、解約、支払、契約内容変更、など）に分かれている場合、テキストをグループ別に分類するモデルであってもよい。
【０２０８】
さらに、クエリモデルと検索モデルは１つのモデルであってもよい。たとえば、（{¬Q,faq_1,..,faq_M}に分類するモデルであってもよい。
【０２０９】
さらに、実施形態ではクエリ分類とのＦＡＱ分類の２つの分類処理とを続けて行うものあったが、３つ以上の分類処理の階層型に拡張することもできる。たとえば、３階層のツリー型で分類処理を構成してもよい。第１のモデルがテキストを質問か否かに分類するモデルで、第２段のモデルが質問テキストをＦＡＱのグループに分類するモデルで、第３段のモデルはＦＡＱのグループ分あり、それぞれのモデルはグループのテキストを各ＦＡＱに分類する。処理はそれぞれの階層のモデルと対応する３段階からなる。第１段の処理において、入力テキストを第１のモデルによって分類する。第２段の処理では、第１段の処理で入力テキストが質問と分類された場合、該入力テキストを第２のモデルによってＦＡＱのグループに分類する。最後に第３段の処理では、入力テキストをＦＡＱグループに対応する第３段のモデルに振り分け、該第３段のモデルによって入力テキストを各ＦＡＱに分類する。追加の学習データを収集するために、第１段および第２段には、それぞれクエリ候補およびＦＡＱグループ候補の中から、最良の候補をユーザーが選択する選択手段を設ける。第３段には、ＦＡＱ候補の中から、最良の候補を選択する選択手段もしくはそれぞれの候補を評価する評価手段を設ける。
【０２１０】
第１段の処理において選択されたクエリと第２段の処理において選択されたＦＡＱグループとの組を学習データとして、第２のモデルを更新する。第３段の処理では該選択クエリと選択（評価）されたＦＡＱとの組を学習データとして、第３のモデルを更新する。
【０２１１】
このように構成することによって、ユーザーによるそれぞれのモデルの学習データ作成が簡便に行うことができる。同様にして、4階層以上のツリー型にも拡張可能である。
【０２１２】
また、上記各実施形態の各種画面は、情報検索装置１００から画面情報をその都度提供してオペレータ装置３００に表示させたり、オペレータ装置３００に予め画面情報を記憶しておき、情報検索装置１００から受信する制御情報に基づいて表示装置３３０に表示させるように制御してもよい。
【０２１３】
また、本発明の各機能は、プログラムによって実現可能であり、各機能を実現するために予め用意されたコンピュータプログラムが補助記憶装置に格納され、ＣＰＵ等の制御部が補助記憶装置に格納されたプログラムを主記憶装置に読み出し、主記憶装置に読み出された該プログラムを制御部が実行して、コンピュータに本発明の各部の機能を動作させることができる。他方、本発明の各機能は、各々個別の装置で構成することもでき、複数の装置を直接に又はネットワークを介して接続して本装置（システム）を構成することもできる。
【０２１４】
また、上記プログラムは、コンピュータ読取可能な記録媒体に記録された状態で、コンピュータに提供することも可能である。コンピュータ読取可能な記録媒体としては、ＣＤ−ＲＯＭ等の光ディスク、ＤＶＤ−ＲＯＭ等の相変化型光ディスク、ＭＯ（Magnet Optical）やＭＤ(Mini Disk)などの光磁気ディスク、フロッピー（登録商標）ディスクやリムーバブルハードディスクなどの磁気ディスク、コンパクトフラッシュ（登録商標）、スマートメディア、SDメモリカード、メモリスティック等のメモリカードが挙げられる。また、本発明の目的のために特別に設計されて構成された集積回路（ICチップ等）等のハードウェア装置も記録媒体として含まれる。
【０２１５】
なお、本発明の実施形態を説明したが、当該実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０２１６】
１００  情報検索装置
１１０  通信制御装置
１２０  制御装置
１２１  クエリ生成部
１２１Ａ  キーワード抽出部
１２２  検索部
１２３  クエリモデル更新部
１２４  検索モデル更新部
１２５  ＦＡＱ管理部
１３０  記憶装置
１３１  クエリモデル
１３２  検索モデル
１３３  ＦＡＱデータベース（ＦＡＱナレッジデータベース）
１３４  履歴ＤＢ
３００  オペレータ装置
３１０  対話装置
３１０Ａ  生成部
３２０  制御装置
３３０  表示装置
３４０  入力装置
４００  ＦＡＱ管理端末
４１０  制御装置
４２０  表示装置
４３０  入力装置
【図１】
2020009140.tif 000024
【図２Ａ】
2020009140.tif 000025
【図２Ｂ】
2020009140.tif 000026
【図２Ｃ】
2020009140.tif 000027
【図３】
2020009140.tif 000028
【図４】
2020009140.tif 000029
【図５】
2020009140.tif 000030
【図６】
2020009140.tif 000031
【図７】
2020009140.tif 000032
【図８】
2020009140.tif 000033
【図９】
2020009140.tif 000034
【図１０】
2020009140.tif 000035
【図１１】
2020009140.tif 000036
【図１２】
2020009140.tif 000037
【図１３】
2020009140.tif 000038
【図１４】
2020009140.tif 000039
【図１５】
2020009140.tif 000040
【図１６】
2020009140.tif 000041
【図１７】
2020009140.tif 000042
【図１８】
2020009140.tif 000043
【図１９】
2020009140.tif 000044
【図２０】
2020009140.tif 000045
【図２１】
2020009140.tif 000046
【図２２】
2020009140.tif 000047
【図２３】
2020009140.tif 000048
【図２４】
2020009140.tif 000049
【図２５】
2020009140.tif 000050
【図２６】
2020009140.tif 000051
【図２７】
2020009140.tif 000052
【図２８】
2020009140.tif 000053
【図２９】
2020009140.tif 000054
【図３０】
2020009140.tif 000055
【図３１】
2020009140.tif 000056
【図３２】
2020009140.tif 000057
【図３３】
2020009140.tif 000058
【図３４】
2020009140.tif 000059
【図３５】
2020009140.tif 000060