(57)【要約】【課題】利用者の要求に合致する文書を容易かつ適切に検索できるようにする。【解決手段】検索サーバ２０において、検索クエリを受け付け、受け付けた検索クエリをベクトルに変換するベクトル処理部２６と、検索クエリのベクトルと、検索対象文書のベクトルとに基づいて、検索クエリと検索対象文書との類似度を決定する検索処理部２７と、フィードバック情報２５９中に検索クエリのベクトルと同一又は類似のベクトルを有する検索クエリに対応するフィードバック情報が存在する場合に、検索処理部２７により決定された類似度を、フィードバック情報の評価値情報に基づいて調整して調整後類似度を決定し、調整後類似度に基づいて、検索クエリと類似する文書の検索結果を作成し、検索結果を含む検索結果画面を所定の装置に表示させるフィードバック反映部２８と、を備えるように構成する。【選択図】図２
2019164409.tif 000002
【特許請求の範囲】
【請求項１】
検索クエリを受け付けて、検索クエリに基づいて、複数の検索対象文書の中から類似する文書を検索する文書検索装置であって、
複数の前記検索対象文書の文章に対応するベクトルを記憶するベクトル情報記憶部と、
過去に利用した検索クエリのベクトルと、前記検索クエリと同一又は類似の検索クエリにより検索された文書を特定する情報と、前記検索された文書に対する利用者の操作に基づく評価値情報とを含むフィードバック情報を記憶するフィードバック情報記憶部と、
前記検索クエリを受け付ける受付部と、
前記受け付けた検索クエリをベクトルに変換するベクトル変換部と、
前記検索クエリのベクトルと、前記検索対象文書のベクトルとに基づいて、前記検索クエリと前記検索対象文書との類似度を決定する類似度決定部と、
前記フィードバック情報記憶部に前記検索クエリのベクトルと同一又は類似のベクトルを有する検索クエリに対応するフィードバック情報が存在する場合に、前記類似度決定部により決定された前記類似度を、前記フィードバック情報の前記評価値情報に基づいて調整して調整後類似度を決定する調整処理部と、
前記調整後類似度に基づいて、前記検索クエリと類似する文書の検索結果を作成する検索結果作成部と、
前記検索結果を含む検索結果画面を所定の装置に表示させる表示制御部と、
を備える文書検索装置。
【請求項２】
前記評価値情報は、利用者が検索された文書を参照する操作、利用者が検索された文書に対して役に立つことを表明する操作、又は利用者が検索された文書に対して役に立たないことを表明する操作の少なくともいずれか一つに対応する評価値情報である
請求項１に記載の文書検索装置。
【請求項３】
前記表示制御部は、前記検索結果画面に、前記検索結果の文書の情報に対応して、前記文書に対する利用者の操作を受け付けるための操作受付領域を表示させ、
前記操作受付領域に対する前記利用者の操作を受け付けて、前記フィードバック情報における前記操作受付領域に対応する文書についての評価値情報を更新する操作反映評価値更新部をさらに有する
請求項１又は請求項２に記載の文書検索装置。
【請求項４】
前記利用者の属性情報を記憶する属性情報記憶部と、
前記利用者の属性情報に基づいて、所定の属性を持つ利用者を特定し、特定した利用者による検索によって参照された文書の調整後類似度が高くなるように前記文書に対応する評価値情報を更新する属性反映評価値更新部と、をさらに有する
請求項１から請求項３のいずれか一項に記載の文書検索装置。
【請求項５】
複数の利用者の検索時における操作ログを取得する操作ログ取得部と、
前記取得した操作ログに基づいて、所定の行動特性を有する利用者を特定し、特定した利用者による検索によって参照された文書の調整後類似度が高くなるように前記文書に対応する評価値情報を更新する行動特性反映評価値更新部と、をさらに有する
請求項１から請求項４のいずれか一項に記載の文書検索装置。
【請求項６】
前記所定の行動特性とは、一回の検索当たりの参照した文書の数が所定の閾値よりも少ない特性である
請求項５に記載の文書検索装置。
【請求項７】
検索クエリを受け付けて、検索クエリに基づいて、複数の検索対象文書の中から類似する文書を検索する文書検索装置による文書検索方法であって、
前記文書検索装置には、複数の前記検索対象文書の文章に対応するベクトルを記憶するベクトル情報記憶部と、過去に利用した検索クエリのベクトルと、前記検索クエリと同一又は類似の検索クエリにより検索された文書を特定する情報と、前記検索された文書に対する利用者の操作に基づく評価値情報とを含むフィードバック情報を記憶するフィードバック情報記憶部と、が備えられており、
前記検索クエリを受け付けるステップと、
前記受け付けた検索クエリをベクトルに変換する変換ステップと、
前記検索クエリのベクトルと、前記検索対象文書のベクトルとに基づいて、前記検索クエリと前記検索対象文書との類似度を決定する決定ステップと、
前記フィードバック情報記憶部に前記検索クエリのベクトルと同一又は類似のベクトルを有する検索クエリに対応するフィードバック情報が存在する場合に、決定ステップで決定された前記類似度を、前記フィードバック情報の前記評価値情報に基づいて調整して調整後類似度を決定する調整ステップと、
前記調整後類似度に基づいて、前記検索クエリと類似する文書の検索結果を作成する検索結果作成ステップと、
前記検索結果を含む検索結果画面を所定の装置に表示させる表示制御ステップと、
を備える文書検索方法。
【請求項８】
検索クエリを受け付けて、検索クエリに基づいて、複数の検索対象文書の中から類似する文書を検索する文書検索装置を構成するコンピュータに実行させるための文書検索プログラムであって、
前記コンピュータを、
前記検索クエリを受け付ける受付部と、
前記受け付けた検索クエリをベクトルに変換するベクトル変換部と、
前記検索クエリのベクトルと、前記検索対象文書のベクトルとに基づいて、前記検索クエリと前記検索対象文書との類似度を決定する類似度決定部と、
過去に利用した検索クエリのベクトルと、前記検索クエリと同一又は類似の検索クエリにより検索された文書を特定する情報と、前記検索された文書に対する利用者の操作に基づく評価値情報とを含むフィードバック情報を記憶するフィードバック情報記憶部に、前記検索クエリのベクトルと同一又は類似のベクトルを有する検索クエリに対応するフィードバック情報が存在する場合に、前記類似度決定部により決定された前記類似度を、前記フィードバック情報の前記評価値情報に基づいて調整して調整後類似度を決定する調整処理部と、
前記調整後類似度に基づいて、前記検索クエリと類似する文書の検索結果を作成する検索結果作成部と、
前記検索結果を含む検索結果画面を所定の装置に表示させる表示制御部と、
して機能させる
文書検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索クエリを受け付けて、検索クエリに基づいて、複数の検索対象文書の中から類似する文書を検索する文書検索装置等に関する。
【背景技術】
【０００２】
機械学習・ＡＩ（Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ）技術を用いた類似検索を行う検索システムにおいては、全文検索とは異なり、文書中の文章の内容の類似性を用いて検索を行うことができるので、検索語が検索対象の文書に含まれていなくても、関連する文書として検出することができる。
【０００３】
しかしながら、このような機械学習・ＡＩ技術を用いた検索システムであっても、利用者が求めているものと異なる検索結果となってしまう場合がある。
【０００４】
例えば、ＡＩを用いた技術として、ＳＤＩ検索の精度を高めるために、検索に用いる学習モデルをユーザが送信した教師データで構築する技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１８−１８１６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
検索システムにおいては、いかに利用者が求めている検索結果を高精度に返すことが要請されている。
【０００７】
本発明は、上記事情に鑑みなされたものであり、その目的は、利用者の要求に合致する文書を容易かつ適切に検索できるようにする技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、一観点に係る文書検索装置は、検索クエリを受け付けて、検索クエリに基づいて、複数の検索対象文書の中から類似する文書を検索する文書検索装置であって、複数の検索対象文書の文章に対応するベクトルを記憶するベクトル情報記憶部と、過去に利用した検索クエリのベクトルと、検索クエリと同一又は類似の検索クエリにより検索された文書を特定する情報と、検索された文書に対する利用者の操作に基づく評価値情報とを含むフィードバック情報を記憶するフィードバック情報記憶部と、検索クエリを受け付ける受付部と、受け付けた検索クエリをベクトルに変換するベクトル変換部と、検索クエリのベクトルと、検索対象文書のベクトルとに基づいて、検索クエリと検索対象文書との類似度を決定する類似度決定部と、フィードバック情報記憶部に検索クエリのベクトルと同一又は類似のベクトルを有する検索クエリに対応するフィードバック情報が存在する場合に、類似度決定部により決定された類似度を、フィードバック情報の評価値情報に基づいて調整して調整後類似度を決定する調整処理部と、調整後類似度に基づいて、検索クエリと類似する文書の検索結果を作成する検索結果作成部と、検索結果を含む検索結果画面を所定の装置に表示させる表示制御部と、を備える。
【発明の効果】
【０００９】
本発明によれば、利用者の要求に合致する文書を容易かつ適切に検索することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、一実施形態に係る検索システムの全体構成図である。
【図２】図２は、一実施形態に係る検索システムの機能構成図である。
【図３】図３は、一実施形態に係る文書ベクトル情報の構成図である。
【図４】図４は、一実施形態に係るユーザ情報の構成図である。
【図５】図５は、一実施形態に係る操作ログ情報の構成図である。
【図６】図６は、一実施形態に係るフィードバック情報の構成図である。
【図７】図７は、一実施形態に係る検索処理画面を示す図である。
【図８】図８は、一実施形態に係る検索処理のフローチャートである。
【図９】図９は、一実施形態に係るフィードバック情報更新処理のフローチャートである。
【発明を実施するための形態】
【００１１】
実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１２】
以下の説明では、各種情報をテーブル構造として説明するが、各種情報は、どのようなデータ構造で表現されていてもよい。
【００１３】
図１は、一実施形態に係る検索システムの全体構成図である。
【００１４】
検索システム１は、１以上の検索クライアント１０と、文書検索装置の一例としての検索サーバ２０とを備えている。検索クライアント１０と、検索サーバ２０とは、ネットワーク４０を介して接続されている。ネットワーク４０は、例えば、有線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）や無線ＬＡＮなどのネットワークである。
【００１５】
検索クライアント１０は、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）によって構成されている。検索クライアント１０は、プロセッサの一例としてのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１と、メモリ１２と、入出力デバイス１３と、通信インターフェース（Ｉ／Ｆ）１４と、記憶デバイス１５と、を備えている。
【００１６】
通信Ｉ／Ｆ１４は、例えば、有線ＬＡＮカードや無線ＬＡＮカードなどのインターフェースであり、ネットワーク４０を介して他の装置（例えば、検索サーバ２０）と通信する。
【００１７】
入出力デバイス１３は、例えば、マウス、キーボード等のユーザによる操作入力を受け付ける入力装置と、ディスプレイ等の各種情報を表示出力する表示装置とを含む。
【００１８】
ＣＰＵ１１は、メモリ１２及び／又は記憶デバイス１５に格納されているプログラムに従って各種処理を実行する。
【００１９】
メモリ１２は、例えば、ＲＡＭ（ＲＡＮＤＯＭ  ＡＣＣＥＳＳ  ＭＥＭＯＲＹ）であり、ＣＰＵ１１で実行されるプログラムや、必要な情報を記憶する。
【００２０】
記憶デバイス１５は、例えば、ハードディスクドライブやＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）などであり、ＣＰＵ１１で実行されるプログラムや、ＣＰＵ１１に利用されるデータを記憶する。なお、記憶デバイス１５に格納されているプログラムは、メモリ１２に呼び出されてＣＰＵ１１に実行される。本実施形態では、記憶デバイス１５は、プログラムとして検索用プログラム１５１を記憶する。
【００２１】
検索用プログラム１５１は、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）として後述する検索処理画面５０（図７参照）を入出力デバイス１３に表示させ、利用者（ユーザ）から検索に用いる検索クエリ（検索語、又は検索文）を受け付けて、検索サーバ２０に送信し、検索サーバ２０から検索結果を受信して検索処理画面５０（検索結果画面の一例）に表示させるためのプログラムである。
【００２２】
検索サーバ２０は、例えば、ＰＣによって構成されている。検索サーバ２０は、プロセッサの一例としてのＣＰＵ２１と、メモリ２２と、記録媒体ドライブ２３と、通信Ｉ／Ｆ２４と、記憶デバイス２５と、を備えている。
【００２３】
通信Ｉ／Ｆ２４は、例えば、有線ＬＡＮカードや無線ＬＡＮカードなどのインターフェースであり、ネットワーク４０を介して他の装置（例えば、検索クライアント１０）と通信する。
【００２４】
記録媒体ドライブ２３は、例えば、ＤＶＤ−ＲＯＭ等の不揮発性記録媒体４１に格納されたプログラムやデータを読み込むドライブである。
【００２５】
ＣＰＵ２１は、メモリ２２及び／又は記憶デバイス２５に格納されているプログラムに従って各種処理を実行する。
【００２６】
メモリ２２は、例えば、ＲＡＭであり、ＣＰＵ２１で実行されるプログラムや、必要な情報を記憶する。
【００２７】
記憶デバイス２５は、例えば、ハードディスクドライブやＳＳＤなどであり、ＣＰＵ２１で実行されるプログラムや、ＣＰＵ２１に利用されるデータを記憶する。なお、記憶デバイス２５に格納されているプログラムは、メモリ２２に呼び出されてＣＰＵ２１に実行される。本実施形態では、記憶デバイス２５は、プログラムとして、ベクトル処理プログラム２５１と、検索処理プログラム２５２と、ベテラン判定プログラム２５３とを記憶し、データとして、文書データ２５４と、学習済みモデル２５５と、文書ベクトル情報２５６と、ユーザ情報２５７と、操作ログ情報２５８と、フィードバック情報２５９とを記憶する。ここで、ベクトル処理プログラム２５１、検索処理プログラム２５２、及びベテラン判定プログラム２５３が、文書検索プログラムの一例である。また、記憶デバイス２５は、ベクトル情報記憶部、フィードバック情報記憶部、及び属性情報記憶部の一例である。
【００２８】
ベクトル処理プログラム２５１は、学習済みモデル２５５を用いて、入力された文（文章）をベクトルに変換する（ベクトル化する）処理を実行する。例えば、ベクトル処理プログラム２５１は、検索クライアント１０から送信された検索クエリをベクトル化する。また、ベクトル処理プログラム２５１は、学習用の文書データを教師データとして、モデルを学習することができる。ここで、モデルとしては、例えば、Ｄｏｃ２Ｖｅｃのモデルを使用することができる。
【００２９】
検索処理プログラム２５２は、検索クライアント１０から受信した検索クエリに対応するベクトルと、検索対象の文書データのベクトルとの類似度を算出し、算出した類似度を、フィードバック情報２５９の情報に基づいて調整し、調整した類似度（調整後類似度）に基づいて、検索クエリに対応する検索結果とする文書を特定し、特定した文書を含む検索結果を検索クライアント１０に送信する。
【００３０】
ベテラン判定プログラム２５３は、操作ログ情報２５８に基づいて、所定の行動特性を有する利用者をベテランと判定し、その利用者が参照している文書が検索結果として選択されやすいようにフィードバック情報２５９を更新する処理を実行する。
【００３１】
文書データ２５４は、検索対象となる複数の文書データである。学習済みモデル２５５は、ベクトル処理プログラム２５１によって使用される学習済みモデルである。この学習済みモデル２５５は、他の装置において学習された学習済みモデルを取得してもよく、ベクトル処理プログラム２５１が教師データを用いることにより構築されてもよい。なお、教師データとしては、検索対象の文書に含まれている文書データを利用するようにしてもよく、全く別の文書データを利用するようにしてもよい。
【００３２】
文書ベクトル情報２５６は、検索対象の文書データに対応するベクトルである。ユーザ情報２５７は、ユーザの属性に関する情報である。操作ログ情報２５８は、ユーザによる検索処理における操作に関するログの集合である。フィードバック情報２５９は、検索結果に対するユーザのフィードバックに関する情報である。
【００３３】
図２は、一実施形態に係る検索システムの機能構成図である。
【００３４】
検索クライアント１０は、ＣＰＵ１１が検索用プログラム１５１を実行することにより提供されるＧＵＩ１６を有する。検索クライアント１０のユーザは、入出力デバイス１３の入力装置を操作することにより、ＧＵＩ１６に対応する検索処理画面５０（図７参照）を介して、検索クエリや、操作を行うことができるとともに、検索処理画面５０により検索結果を確認することができる。
【００３５】
検索サーバ２０は、ベクトル処理部２６と、検索処理部２７と、フィードバック反映部２８と、ベテラン判定部２９と、ログ登録部３０とを有する。ここで、ベクトル処理部２６は、受付部及びベクトル変換部の一例である。また、検索処理部２７は、類似度決定部の一例である。また、フィードバック反映部２８は、調整処理部、検索結果作成部、及び表示制御部の一例である。また、ベテラン判定部２９は、操作反映評価値更新部、属性反映評価値更新部、及び行動特定反映評価値更新部の一例である。また、ログ登録部３０は、操作ログ取得部の一例である。
【００３６】
ベクトル処理部２６は、ＣＰＵ２１がベクトル処理プログラム２５１を実行することにより構成される。ベクトル処理部２６は、教師データを入力して、学習済みモデル２５５を構築する。また、ベクトル処理部２６は、文書データ２５４の各文書をベクトル化して文書ベクトル情報２５６を作成する。ベクトル処理部２６は、検索クライアント１０から受信した検索クエリをベクトル化して、検索処理部２７に渡す。
【００３７】
検索処理部２７と、フィードバック反映部２８とは、ＣＰＵ２１が検索処理プログラム２５２を実行することにより構成される。検索処理部２７は、検索クエリのベクトルと、文書ベクトル情報２５６の各文書のベクトルとを用いて、検索クエリと各文書との類似度を算出し、算出結果をフィードバック反映部２８に渡す。フィードバック反映部２８は、検索クエリと各文書との類似度を、フィードバック情報２５９に基づいて調整し、調整した類似度（調整類似度）に基づいて、検索結果を決定して検索クライアント１０に送信する。フィードバック反映部２８は、検索結果の各文書に対して、文書を参照するための記述５５（文書へのリンク）と、文書が役に立ったことを明示するための役立つボタン５６と、文書が役に立たなかったことを明示するための役に立たないボタン５７とを検索処理画面５０に表示させる。
【００３８】
ベテラン判定部２９と、ログ登録部３０とは、ＣＰＵ２１がベテラン判定プログラム２５３を実行することにより構成される。ベテラン判定部２９は、操作ログ情報２５８と、ユーザ情報２５７と、フィードバック情報２５９とを用いて、ベテランである利用者を特定し、ベテランが参照した文書が検索結果として選択されやすくするためにフィードバック情報２５９を更新する処理を実行する。ログ登録部３０は、検索クライアント１０からの操作のログを操作ログ情報２５８に登録する。
【００３９】
次に、文書ベクトル情報２５６の詳細な構成について説明する。
【００４０】
図３は、一実施形態に係る文書ベクトル情報の構成図である。
【００４１】
文書ベクトル情報２５６は、検索対象の文書のベクトルを管理する情報であり、検索対象の文書のそれぞれに対応するエントリを格納する。文書ベクトル情報２５６のエントリは、文書ＩＤ２５６ａと、文書ベクトル２５６ｂとのフィールドを格納する。文書ＩＤ２５６ａには、エントリに対応する文書のＩＤ（識別情報）が格納される。文書ベクトル２５６ｂには、エントリに対応する文書の文章についてのベクトル（ベクトルの各成分の数値）が格納される。本実施形態では、文書ベクトル２５６ｂには、学習済みモデル２５５を使って文書データをベクトル化した場合におけるベクトルが格納されている。
【００４２】
次に、ユーザ情報２５７の詳細な構成について説明する。
【００４３】
図４は、一実施形態に係るユーザ情報の構成図である。
【００４４】
ユーザ情報２５７は、ユーザの属性を管理する情報であり、検索クライアント１０を利用するユーザに対応するエントリを格納する。ユーザ情報２５７のエントリは、ユーザＩＤ２５７ａと、職位２５７ｂと、褒賞・資格２５７ｃとのフィールドを含む。ユーザＩＤ２５７ａには、エントリに対応するユーザのＩＤが格納される。職位２５７ｂには、エントリに対応するユーザの職位の名称が格納される。褒賞・資格２５７ｃには、エントリに対応するユーザに与えられた褒賞や、資格の名称が格納される。
【００４５】
次に、操作ログ情報２５８の詳細な構成について説明する。
【００４６】
図５は、一実施形態に係る操作ログ情報の構成図である。
【００４７】
操作ログ情報２５８は、検索クライアント１０を利用する複数のユーザによる操作のログを管理する情報であり、各ユーザの各操作に対応するエントリ（ログ）を有する。操作ログ情報２５８のエントリは、ユーザＩＤ２５８ａと、操作内容２５８ｂと、日時２５８ｃとのフィールドを含む。ユーザＩＤ２５８ａには、エントリに対応するユーザのＩＤが格納される。操作内容２５８ｂには、エントリに対応する操作内容が格納される。例えば、検索クエリにより検索をした場合には、操作内容には、検索を開始したことを示す情報と、検索クエリの内容とが含まれる。また、検索結果の文書を参照した場合には、操作内容には、文書を参照したことを示す情報と、参照した文書のＩＤとが含まれる。日時２５８ｃには、エントリに対応する操作を実行した日時が格納される。
【００４８】
次に、フィードバック情報２５９の詳細な構成について説明する。
【００４９】
図６は、一実施形態に係るフィードバック情報の構成図である。
【００５０】
フィードバック情報２５９は、検索クエリ情報２６０と、検索結果情報２６１とを含む。検索クエリ情報２６０は、検索に使用した検索クエリを管理するエントリを有する。本実施形態では、ベクトル同士が類似している（所定の類似度よりも高い）複数の検索クエリを一つのエントリとして管理している。これにより、フィードバック情報２５９として必要な記憶容量を、異なる検索クエリをそれぞれ別のエントリとして管理する場合よりも低減することができる。なお、記憶容量に問題がない場合には、異なる検索クエリをそれぞれ別のエントリとして管理してもよい。
【００５１】
検索クエリ情報２６０は、検索ＩＤ２６０ａと、検索クエリ２６０ｂと、検索ベクトル２６０ｃとのフィールドを含む。検索ＩＤ２６０ａは、エントリに対応する検索クエリによる検索を識別するＩＤ（検索ＩＤ）が格納される。検索クエリ２６０ｂには、エントリに対応する検索クエリが格納される。検索ベクトル２６０ｃには、エントリに対応する検索クエリのベクトルが格納される。
【００５２】
検索結果情報２６１は、検索毎の検索結果として選択された文書毎のエントリを有する。検索結果情報２６１のエントリは、検索ＩＤ２６１ａと、文書ＩＤ２６１ｂと、Ａ評価値２６１ｃと、Ｂ評価値２６１ｄと、Ｃ評価値２６１ｅとのフィールドを含む。検索ＩＤ２６１ａには、エントリに対応する文書が検索された検索に対応する検索ＩＤが格納される。文書ＩＤ２６１ｂには、エントリに対応する文書のＩＤが格納される。Ａ評価値２６１ｃには、エントリに対応する検索における検索結果の文書についての、役に立つことに対する評価値が格納される。本実施形態では、Ａ評価値２６１ｃには、例えば、エントリに対応する検索における検索結果の文書に対して、検索処理画面５０における役に立つボタン５６が押下された回数の総計が格納されている。Ｂ評価値２６１ｄには、エントリに対応する検索における検索結果の文書についての、役に立たないことに対する評価値が格納される。本実施形態では、Ｂ評価値２６１ｄには、例えば、エントリに対応する検索における検索結果の文書に対して、検索処理画面５０における役に立たないボタンが押下された回数の総計が格納されている。Ｃ評価値２６１ｅには、エントリに対応する検索における検索結果の文書について、文書が参照されたことに対する評価値が格納される。本実施形態では、Ｃ評価値２６１ｅには、例えば、エントリに対応する検索における検索結果の文書について、検索処理画面５０における文書を参照するためのリンクがクリックされた回数の総計が格納されている。
【００５３】
フィードバック情報２５９によると、或る検索クエリと同一又は類似する検索クエリによって検索された文書について、ユーザが役に立つとした評価値、ユーザが役に立たないとした評価値、ユーザにより参照されたことに対する評価値を適切に把握することができる。
【００５４】
次に、検索サーバ２０によって検索クライアント１０に表示される検索処理画面５０について説明する。
【００５５】
図７は、一実施形態に係る検索処理画面を示す図である。
【００５６】
検索処理画面５０は、例えば、検索クライアント１０において、検索用プログラム１５１が実行された場合に表示される画面であり、検索クエリを入力するための検索クエリ入力領域５１と、検索クエリ入力領域５１に入力した検索クエリにより検索を実行させるための実行ボタン５２と、検索結果の一覧が表示される検索結果一覧領域５３とを含む。
【００５７】
検索結果一覧領域５３には、検索サーバ２０による検索によって得られた各文書に関する情報が表示される文書毎領域５４が表示される。文書毎領域５４には、文書の名前と、文書の文章（全部またはその一部）が表示されるとともに、その文書を参照するためのリンクが張られた文書リンク領域５５と、対応する文書が役に立ったことを検索サーバ２０に知らせるために押下する役に立つボタン５６と、対応する文書が役に立たなかったことを検索サーバ２０に知らせるために押下する役に立たないボタン５７と、が表示される。
【００５８】
この検索処理画面５０によると、或る検索クエリにより検索された検索結果の各文書に対しての、ユーザの操作に基づく評価の情報を適切に検索サーバ２０に通知することができる。
【００５９】
次に、検索システム１における処理動作について説明する。
【００６０】
図８は、一実施形態に係る検索処理のフローチャートである。
【００６１】
この検索処理は、検索サーバ２０において実行される処理である。
【００６２】
検索クライアント１０において、検索処理画面５０の検索クエリ入力領域５１に検索クエリ（単語、文、文章でもよい）が入力され、実行ボタン５２が押下されて、検索クエリ入力領域５１に入力された検索クエリが検索サーバ２０に送信されると、ログ登録部３０は、検索クエリを送信したユーザのユーザＩＤと、検索開始との情報と、検索クエリと、受信した日時とを含む新たなエントリ（操作ログ）を操作ログ情報２５８に記録する（ステップＳ１１）。
【００６３】
次いで、ベクトル処理部２６は、学習済みモデル２５５を用いて受信した検索クエリをベクトル化することによりベクトル（検索ベクトル）を算出し、検索ベクトルを検索処理部２７に通知する（ステップＳ１２）。
【００６４】
次いで、検索処理部２７は、文書ベクトル情報２５６を参照して、検索ベクトルと類似するベクトルを有する文書を検索し、検索結果の文書をフィードバック反映部２８に通知する（ステップＳ１３）。具体的には、検索処理部２７は、検索ベクトルと、各文書の文章のベクトル（文書ベクトル）との類似度（具体的には、ベクトル同士のコサイン類似度）を算出し、類似度が所定の値以上となる文書を検索結果の文書として選択し、フィードバック反映部２８に通知する。
【００６５】
次いで、フィードバック反映部２８は、フィードバック情報２５９を参照し、フィードバック情報２５９に、検索ベクトルと類似する検索ベクトルに対応するエントリが存在する場合には、検索結果の文書の類似度を調整し、調整後の類似度（調整後類似度）により検索結果とする文書を決定するとともに、検索結果における文書の配置の順序を決定する（ステップＳ１４）。
【００６６】
ここで、文書の類似度の調整方法の一例について説明する。
【００６７】
フィードバック反映部２８は、以下の式（１）に従って調整後類似度を算出する。
調整後類似度＝調整前の類似度＋ｆ１（Ａ評価値）−ｆ２（Ｂ評価値）＋ｆ３（Ｃ評価値）・・・・（１）
ここで、ｆ１、ｆ２、ｆ３は、関数である。例えば、各関数を次のようにしてもよい、ｆ１（ｘ）＝０．１ｘ、ｆ２（ｘ）＝０．１（ｘ）、ｆ３（ｘ）＝０．０５（ｘ）。
【００６８】
例えば、ユーザの各々が独立して単純な意思決定を行っていても、それが積み重なったとき、その集合全体が知性を持ってふるまっているように見えることがある。なお、このようにして生まれる知性は集合知と呼ばれる。ｆ１、ｆ２、ｆ３を、上記したような関数とすると、間違った操作に基づく評価値同士が打ち消しあって、全体数が多くなると全体として正しい結果を示すこととなる。なお、本実施形態では、文書の参照を行う際のクリック数による評価値（Ｃ評価値）によっても調整後類似度が上昇するようになっているので、役立ったボタン５６や役に立たないボタン５７をユーザが明示的に押下しない場合であっても、参照回数が多く役に立っている可能性が高い文書の類似度を上昇させることができ、この文書を検索結果のより上位に表示させるようにすることができる。なお、ｆ１、ｆ２、ｆ３は、例えば、値域が−１〜１となる双曲線関数を用いて、ｆ１（ｘ）＝ｔａｎｈ（ｘ）、ｆ２（ｘ）＝ｔａｎｈ（ｘ）、ｆ３（ｘ）＝ｔａｎｈ（０．５ｘ）としてもよい。このようにすると、評価値自体が大きな値をとるような場合であっても、類似度の調整量にキャップを持たせることができる。
【００６９】
次いで、フィードバック反映部２８は、決定した検索結果を検索クライアント１０の検索処理画面５０に表示させる（ステップＳ１５）。
【００７０】
これにより、検索クライアント１０においては、検索処理画面５０の検索結果一覧領域５３には、調整後類似度に応じた順番で検索された文書の情報が表示されることとなる。このため、ユーザは、複数のユーザによる操作に基づく評価が反映された順番で、検索結果の文書を把握することができる。これにより、ユーザは効率よく所望する文書に到達する可能性が高くなる。
【００７１】
この後、検索クライアント１０において、検索処理画面５０に対するユーザの操作があった場合には、操作内容がログ登録部３０に通知され、ログ登録部３０は、操作内容のログを操作ログ情報２５８に記録する（ステップＳ１６）。
【００７２】
次いで、操作内容が検索結果一覧領域５３に表示されている文書の参照（文書参照）である場合には、ベテラン判定部２９は、フィードバック情報２５９中に、参照対象の文書を検索した検索クエリの検索ベクトルと類似のベクトルの情報が格納されているか否かを判定し（ステップＳ１７）、類似のベクトルの情報が格納されている場合（ステップＳ１７：あり）には、フィードバック情報２５９を更新する（ステップＳ１８）。具体的には、ベテラン判定部２９は、この類似ベクトルの検索ＩＤに対応し、且つ参照対象の文書の文書ＩＤに対応する、検索結果情報２６１のエントリのＣ評価値２６１ｅの値に１を加算する。この後、処理は、ステップＳ１６の直前に進められる。
【００７３】
一方、類似のベクトルの情報が格納されていない場合（ステップＳ１７：なし）には、フィードバック情報２５９に新たなエントリを追加する（ステップＳ１９）。具体的には、ベテラン判定部２９は、検索クエリ情報２６０に、検索クエリに対応するエントリを追加するとともに、検索結果情報２６１に、この類似ベクトルの検索ＩＤに対応し、且つ参照対象の文書の文書ＩＤに対応するエントリを追加し、このエントリのＣ評価値２６１ｅの値を１に設定する。この後、処理はステップＳ１６の直前に進められる。
【００７４】
一方、操作内容が検索結果一覧領域５３に表示されている文書に対するボタン（役に立つボタン５６又は役に立たないボタン５７）の押下である場合には、ベテラン判定部２９は、フィードバック情報２５９中に、参照対象の文書を検索した検索クエリの検索ベクトルと類似のベクトルの情報が格納されているか否かを判定し（ステップＳ２０）、類似のベクトルの情報が格納されている場合（ステップＳ２０：あり）には、フィードバック情報２５９を更新する（ステップＳ２１）。具体的には、ベテラン判定部２９は、この類似ベクトルの検索ＩＤに対応し、且つ参照対象の文書の文書ＩＤに対応する、検索結果情報２６１のエントリの押下されたボタンに対応するフィールド（役に立つボタン５６の場合はＡ評価値２６１ｃ、役に立たないボタン５７の場合にＢ評価値２６１ｄ）の値に１を加算する。この後、処理は、ステップＳ１６の直前に進められる。
【００７５】
一方、類似のベクトルの情報が格納されていない場合（ステップＳ２０：なし）には、フィードバック情報２５９に新たなエントリを追加する（ステップＳ２２）。具体的には、ベテラン判定部２９は、検索クエリ情報２６０に、検索クエリに対応するエントリを追加するとともに、検索結果情報２６１に、この類似ベクトルの検索ＩＤに対応し、且つ参照対象の文書の文書ＩＤに対応するエントリを追加し、このエントリの押下されたボタンに対応するフィールドの値を１に設定する。この後、処理はステップＳ１６の直前に進められる。
【００７６】
この検索処理によると、過去のユーザによる評価が反映された検索結果が表示されるようになるとともに、その検索結果に対するユーザの操作に応じた評価がフィードバック情報２５９に反映されることとなる。
【００７７】
次に、フィードバック情報更新処理について説明する。
【００７８】
図９は、一実施形態に係るフィードバック情報更新処理のフローチャートである。
【００７９】
フィードバック情報更新処理は、任意の時点、例えば、所定の時間ごとに実行される。
【００８０】
ベテラン判定部２９は、操作ログ情報２５８を参照し、検索結果からファイルを開いた（参照した）回数が所定数よりも少ない検索クエリと、その検索クエリによる検索結果において参照された文書を抽出し、メモリ２２に抽出情報２６２として記憶する（ステップＳ３１）。ここで、検索結果からファイルを開いた回数は、一のユーザにより検索開始があった後、このユーザにより次の検索開始があるまでの間における文書参照のエントリの数により特定することができる。このステップによると、検索クエリに対して適切であると考えられる文書を抽出することができる。
【００８１】
次いで、ベテラン判定部２９は、ユーザ情報２５７と、操作ログ情報２５８とを参照して、所定の職位以上のユーザ（ベテランの候補）による検索クエリと、その検索クエリによる検索結果において参照された文書を抽出し、メモリ２２に抽出情報２６２として記憶する（ステップＳ３２）。このステップによると、比較的経験を有しており検索に対してベテランと考えられるユーザにより参照された文書を抽出することができる。
【００８２】
次いで、ベテラン判定部２９は、操作ログ情報２５８を参照し、所定の行動特性のユーザ（例えば、１回の検索あたりの参照した文章の数が少ない（所定数以下）ユーザ）をベテランと判定し、このベテランのユーザによって参照された文書を抽出情報２６２から特定する（ステップＳ３３）。ここで、ユーザについての１回の検索あたりの参照した文章の数については、同一ユーザによる各検索開始後から次の検索開始までの間の参照された文書の数を、検索回数で除算することにより把握することができる。
【００８３】
次いで、ベテラン判定部２９は、ベテランのユーザによって参照された文書として抽出された文書が、類似の検索クエリによる以降の検索においてランクアップするようにフィードバック情報２５９を更新する（ステップＳ３４）。具体的には、ベテラン判定部２９は、特定された文書の検索に使用した検索クエリに対応し、且つ特定された文書に対応する、フィードバック情報２５９のエントリにおける、類似度の増加に寄与する評価値（Ａ評価値２６１ｃ又はＣ評価値２６１ｅの少なくとも一方）を加算する。このステップによって、検索クエリの検索結果としてより適していると考えられる、ベテランにより参照された文書が検索結果として選択され、検索結果のより上位に配置されるように調整することができる。
【００８４】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。
【００８５】
例えば、上記実施形態では、文書を参照するクリック、役立つボタンの押下、又は、役に立たないボタンの1回の押下について、すべてのユーザについて、同じ評価値を加算するようにしていたが、本発明はこれに限られず、ユーザによって、評価値を異ならせるようにしてもよい。
【００８６】
また、上記実施形態において、ユーザ情報として、ユーザの得意分野等の情報を含ませるようにしておき、検索クエリとユーザの得意分野との類似度に応じて、このユーザの操作に対する評価値を変えるようにしてもよい。例えば、検索クエリとユーザの得意分野との類似度が高い場合には、このユーザの１回の操作に対する評価値を高くするようにしてもよい。
【００８７】
また、上記実施形態において、ユーザ情報の職位を用いて、ベテランの候補のユーザを決定し、そのユーザが検索時に参照した文書を抽出するようにしていたが、例えば、褒賞や資格などを条件としてベテランの候補を決定してもよい。
【００８８】
また、上記実施形態では、検索結果からファイルを開いた回数が少ない場合の文書（参照回数に基づく文書）と、一定以上の職位のユーザにより検索された文書（職位に基づく文書）とを抽出し、それら文書の中からランクアップする文書を決定するようにしていたが、本発明はこれに限られず、例えば、参照回数に基づく文書と、職位に基づく文書のいずれか一方の中からランクアップする文書を特定するようにしてもよい。
【００８９】
また、上記実施形態において、ＣＰＵがプログラムを実行することにより行っていた処理の一部又は全部を、ハードウェア回路で行うようにしてもよい。また、上記実施形態におけるプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記録媒体（例えば、不揮発性の可搬型の記録媒体）であってもよい。
【符号の説明】
【００９０】
１…検索システム、１０…検索クライアント、１１…ＣＰＵ、１２…メモリ、１３…入出力デバイス、１４…通信Ｉ／Ｆ、１５…記憶デバイス、２０…検索サーバ、２１…ＣＰＵ、２２…メモリ、２３…記録媒体ドライブ、２４…通信Ｉ／Ｆ、２５…記憶デバイス
【図１】
2019164409.tif 000003
【図２】
2019164409.tif 000004
【図３】
2019164409.tif 000005
【図４】
2019164409.tif 000006
【図５】
2019164409.tif 000007
【図６】
2019164409.tif 000008
【図７】
2019164409.tif 000009
【図８】
2019164409.tif 000010
【図９】
2019164409.tif 000011