(57)【要約】      （修正有）【課題】ユーザが所望する適切な文書の検索を行うことが可能な仕組みを提供する。【解決手段】文書検索装置は、入力文書からテキストを抽出して形態素解析を実行して単語の集合を取得し、入力文書の各カテゴリのカテゴリスコアを求め、カテゴリ判定閾値以上のカテゴリについて、カテゴリ関連語を取得し、さらに、入力文書の特徴語を「tf-idf」等の手法を用いて抽出する。そして、取得した特徴語、求めたカテゴリの情報（カテゴリ名、関連語、及びスコア調整値）を検索クエリとして書き出し、蓄積されている文書を検索する。【選択図】図１７
2020095521.tif 000002
【特許請求の範囲】
【請求項１】
文書を検索する情報処理装置であって、
カテゴリに分類された文書及び当該カテゴリに属する検索文字列を記憶する記憶手段と、
入力された文書から前記記憶手段により記憶された検索文字列を取得する取得手段と、
前記取得手段により取得した検索文字列を用いて前記入力された文書のカテゴリを推定する推定手段と、
前記推定手段により推定したカテゴリに属する検索文字列と前記入力された文書の特徴語とを用いて、前記記憶手段に記憶する文書を検索する検索手段と、
を備えたことを特徴とする情報処理装置。
【請求項２】
文書を検索する情報処理装置の制御方法であって、
前記情報処理装置が、
入力された文書からカテゴリに分類された文書及び当該カテゴリに属する検索文字列を記憶する記憶手段により記憶された検索文字列を取得する取得ステップと、
前記取得ステップにより取得した検索文字列を用いて前記入力された文書のカテゴリを推定する推定ステップと、
前記推定ステップにより推定したカテゴリに属する検索文字列と前記入力された文書の特徴語とを用いて、前記記憶手段に記憶する文書を検索する検索ステップと、
を実行することを特徴とする情報処理装置の制御方法。
【請求項３】
コンピュータを、
入力された文書からカテゴリに分類された文書及び当該カテゴリに属する検索文字列を記憶する記憶手段により記憶された検索文字列を取得する取得手段と、
前記取得手段により取得した検索文字列を用いて前記入力された文書のカテゴリを推定する推定手段と、
前記推定手段により推定したカテゴリに属する検索文字列と前記入力された文書の特徴語とを用いて、前記記憶手段に記憶する文書を検索する検索手段と、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書の検索方法に関する。
【背景技術】
【０００２】
入力として与えられた文書と類似する文書を出力するシステムを類似文書検索システムと呼ぶ。
【０００３】
検索者が自らキーワードや検索クエリを入力して検索する検索システムと比べ、適切な検索クエリを検索者が思いつかない場合においても利用できるため、検索システムの仕組みに明るくないユーザにも利用しやすいという特徴がある。
【０００４】
類似文書検索システムの実装については、既に様々な製品の開発や研究がなされている。オープンソースの検索エンジンであるApache  Luceneにおける「MoreLikeThis」と呼ばれるAPIは、文書集合における単語の出現頻度をもとに、入力文書に出現する単語において希少性が高い単語を特徴語として選出し、当該特徴語を用いた検索クエリを自動的に発行することで類似文書検索の機能を実現している。
【０００５】
前述の単語の出現頻度をもとにした実装は、実際に様々なケースで有効に動作するが、システム利用者の目的によっては不十分なことがある。
【０００６】
以下、具体例として、SIerにおける営業担当者が、「RFP（提案依頼書）」を入力とし、過去の「類似案件の見積書」を検索する場面を挙げ、２つの問題点を説明する。
【０００７】
１つ目の問題点は、1つの入力文書に対して、類似文書として出力する文書集合が、検索者の意図に関わらず同じものが出力される点である。
【０００８】
例えば、営業Ａは「顧客の業界」が似ている見積書を、営業Ｂは「提案の内容」が似ている見積書を取得したいと考えている場合、各々に出力されるべき文書集合は全く異なる。
【０００９】
前述したように、単語の出現頻度から特徴語を抽出して検索クエリに使用する場合、例えば、プロジェクトメンバーの氏名や顧客の社名などが検索時のキーワードとして採用され、検索者の意図とは異なる観点の類似文書（同じ特徴語を多く含む文書）が出力されることがある。
【００１０】
２つ目の問題点は、意味的に似ている文章が含まれている文書においても、単語の表記が異なれば検索結果としてヒットしないという点である。
【００１１】
例えば、文章Ａ「ＵＸを考慮したポータルサイトを作りたい」と、文章Ｂ「顧客満足度向上に向けてホームページを改修したい」は、意味的に似ているが、文章Ａの単語（「UX」、「考慮する」、「ポータルサイト」、「作る」と、文章Ｂの単語（「顧客満足度」、「向上」、「ホームページ」、「改修する」）の表記は一致しない。
【００１２】
１つ目の問題を解決するためには、検索システムに対してなんらかの方法でユーザの検索意図を入力する手段が必要となる。
【００１３】
特許文献１には、ユーザの検索意図を反映したクエリを生成するために、ユーザが入力した単語群について、関連する単語をユーザが選択可能な状態で列挙し、ユーザに改めて検索意図に近い関連語を選択させる方法が示されている。
【００１４】
２つ目の問題を解決するためには、検索システムに、言葉の持つ意味や概念を考慮したロジックを組み込むことが必要となる。
【００１５】
特許文献２には、検索語と索引語の両方について、上位・下位・関連概念に展開して検索する方法が示されている。
【００１６】
２つ目の問題に対する他のアプローチとして、あらかじめ文書のカテゴリを定義し、特許文献３や非特許文献１に示されるように、機械学習を用いた文書分類技術を用いて、入力文書に該当するカテゴリの文書のスコアを向上させる方法が考えられる。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開２０００−８２０６７号公報
【特許文献２】特開２００４−２９９０６号公報
【特許文献３】特開２００４−３２６４６５号公報
【非特許文献１】人工知能による文書分類  情報の科学と技術66巻6号、277-281
【発明の開示】
【発明が解決しようとする課題】
【００１８】
しかしながら、特許文献１に記載された手法は、ユーザにとって検索したいキーワードがある程度定まっている場合においては有効であると考えられるが、類似文書検索システムのユーザは、具体的な検索キーワードが定まっている状態ではない。
【００１９】
入力文書から抽出した全ての特徴語に対して関連語を表示することも考えられるが、自動抽出した特徴語の中に、そもそもユーザの検索意図と関連する言葉が含まれていない可能性がある。
【００２０】
また、文書から抽出する特徴語の数を増やした場合、ユーザに提示する選択肢が膨大になる問題もある。
【００２１】
また、特許文献２に記載された手法は、表記の異なる単語においても、意味的に近い単語をヒットさせることが可能になるが、前述の問題と同様に、ユーザにとって検索したいキーワードが定まっていない場合に、入力文書から抽出した特徴語をクエリとすると、検索者にとって不要な単語が拡張される可能性がある。
【００２２】
さらに、、特許文献３や非特許文献１に記載された手法は、教師学習を行う際に、十分な教師データが必要になる。
【００２３】
しかし、企業内で日々発生する様々な文書データにおいて、日常的に適切な分類やタグ付けがなされているケースは稀であり、検索システムに搭載したいと考えるカテゴリについて、大量の教師データを確保することは困難である。
【００２４】
そこで、本発明では、ユーザが所望する適切な文書の検索を行うことが可能な仕組みを提供することを目的とする。
【課題を解決するための手段】
【００２５】
上記目的を達成するための本発明は、文書を検索する情報処理装置であって、カテゴリに分類された文書及び当該カテゴリに属する検索文字列を記憶する記憶手段と、入力された文書から前記記憶手段により記憶された検索文字列を取得する取得手段と、前記取得手段により取得した検索文字列を用いて前記入力された文書のカテゴリを推定する推定手段と、前記推定手段により推定したカテゴリに属する検索文字列と前記入力された文書の特徴語とを用いて、前記記憶手段に記憶する文書を検索する検索手段と、を備えたことを特徴とする。
【発明の効果】
【００２６】
本発明によれば、ユーザが所望する適切な文書の検索を行うことができる、という効果を奏する。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施形態における類似文書検索システムの構成図である。
【図２】本発明の実施形態における文書検索装置がユーザに提示するユーザインターフェースの一例である。
【図３】文書入力後のユーザインターフェースの一例である。
【図４】カテゴリ要素クリック後のユーザインターフェースの一例である。
【図５】ユーザインターフェースにおける文書詳細画面の一例である。
【図６】検索意図入力後のユーザインターフェースの一例である。
【図７】本発明の実施形態におけるカテゴリ作成処理の流れを表すフローチャートである。
【図８】カテゴリテーブルの一例である
【図９】カテゴリ関連語テーブルの一例である
【図１０】カテゴリスコア調整語テーブルの一例である
【図１１】本発明の実施形態における機械学習処理のフローチャートである
【図１２】カテゴリ判定閾値調整処理のフローチャートである
【図１３】関連語・調整語学習処理のフローチャートである
【図１４】教師データテーブルの一例である
【図１５】本発明の実施形態における文書登録処理のフローチャートである
【図１６】検索インデックスに登録する文書情報の一例である
【図１７】本発明の実施形態における検索クエリ生成処理のフローチャートである
【図１８】検索クエリの一例である
【図１９】本発明の実施形態における検索スコアの計算方法である
【発明を実施するための形態】
【００２８】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００２９】
図１は、類似文書検索システムの構成図を表す。類似文書検索システム１００は、カテゴリＤＢ１０１、検索インデックス１０２、文書登録装置１０３、文書検索装置１０４、及びカテゴリ学習装置１０５から成る。
【００３０】
図２は、文書検索装置１０４が、類似文書検索システム１００のユーザに表示するユーザインターフェースの一例を表している。
【００３１】
文書検索画面２００は、対話型のインターフェースであり、利用者の検索クエリを入力するクエリ入力フォーム２１０と、会話の内容を表示する会話表示領域２２０とから成る。
【００３２】
ユーザは、会話表示領域２２０に、文書ファイルをドラッグ＆ドロップすることにより、文書検索装置１０４に文書ファイルを入力できる。
【００３３】
図３は、文書ファイル（ファイル名が、Ａ製薬/文書管理システムＲＦＰ.pdf）を入力した後の文書検索画面２００の一例である。文書検索装置１０４は、入力文書の分析結果３１０、および、検索結果３２０をユーザに提示する。
【００３４】
入力文書の分析結果３１０には、類似の観点を表す検索軸（案件内容、業界）と、文書が属する検索軸ごとのカテゴリ（文書管理、スキャン、製薬、医療）と、入力文書における特徴語（ＭＲ、安全、提携、症例、添付、Ａ製薬、文書、ペーパーレス）とが含まれる。
【００３５】
尚、各情報の抽出方法の詳細については、後述の検索クエリ生成処理において説明する。
【００３６】
文書検索画面２００に表示するカテゴリ要素は、クリック操作やタッチ操作を受け付ける要素であり、ユーザは、カテゴリをクリックすることにより、該当するカテゴリに関連する単語（以下、カテゴリ関連語と呼ぶ）のうち、入力文書中に存在する単語の一覧を表示することができる。
【００３７】
図４は、カテゴリ３１１（スキャン）をクリックした後の文書検索画面２００を表しており、カテゴリ関連語の一覧３１２は、カテゴリ３１１（スキャン）の関連語として、「ＯＣＲ」、「原本」、「電子化」、「スキャン」の４つが入力文書中に含まれていることを示している。尚、カテゴリ関連語の登録方法については後述する。
【００３８】
検索結果３２０は、文書検索装置１０４が類似文書と判定した文書の一覧を表示する。文書検索装置１０４は、入力文書のカテゴリ、カテゴリ関連語、特徴語をクエリとして検索処理を行い、検索スコアの高い順に文書を表示する。
【００３９】
各文書の情報として表示される情報は、ファイル名、検索スコアの他に、文書検索装置１０４が判定したカテゴリの情報が含まれる。
【００４０】
検索結果３２０におけるファイル名はリンク要素であり、クリック操作やタッチ操作によって、文書詳細画面５００を表示することができる。
【００４１】
図５はファイル名３２１のクリックによって表示される文書詳細画面５００を表している。
【００４２】
文書詳細画面５００は、文書ダウンロードボタン５１０と、カテゴリ表示領域５２０と、特徴語表示領域５３０と、文書プレビュー領域５４０からなる。
【００４３】
ユーザは文書ダウンロードボタン５１０を選択することで、文書詳細画面５００に表示している文書ファイルをダウンロードすることができる。
【００４４】
カテゴリ表示領域５２０における各カテゴリの要素は、前述と同様にユーザのクリック操作によってカテゴリ関連語を表示する機能を備えることに加え、カテゴリ情報の誤りをシステムに入力するためのカテゴリ削除ボタン５２１と、文書に追加で付与すべきカテゴリを追加するためのカテゴリ追加ボタン５２２を備える。
【００４５】
類似文書検索システム１００のユーザが、カテゴリ削除ボタン５２１、および、カテゴリ追加ボタン５２２により、削除、または追加したカテゴリは、検索インデックス１０２に即座に適用される他、後述するカテゴリの学習処理に使用される。
【００４６】
図３に戻って、ユーザの検索意図を文書検索装置１０３に入力する方法について説明する。
【００４７】
ユーザは入力文書の分析結果３１０に表示された情報から、入力文書は、案件内容が「文書管理」、および、「スキャン」カテゴリに属するものであり、顧客の業界が「製薬」、「医療」カテゴリに属するものであることが分かる。
【００４８】
例えば、ユーザの類似検索の意図が、「業界が似ていて違う提案内容」の見積書を検索することである場合、ユーザは、クエリ入力フォーム２１０に対して、「業界優先」、「スキャン不要」、「文書管理不要」など、検索軸やカテゴリを表す言葉と、当該要素の検索スコアを調整するための言葉とを合わせて入力することで、検索意図を文書検索装置１０４に入力することができる。
【００４９】
図６は、「業界優先  文書管理不要  スキャン不要」をクエリ入力フォーム２１０から入力した後の文書検索画面２００を表している。
【００５０】
文書検索装置１０４は、受け取ったクエリに該当するカテゴリの重みを調整した結果を、入力文書の表示領域３１０に提示する。
【００５１】
カテゴリ要素６１１における「―」や、カテゴリ要素６１２における「＋」は、検索に使用する重みを表している。
【００５２】
以下、説明簡略化のため、「＋」は文書中に当該カテゴリ、およびカテゴリ関連語が含まれていることに対するスコアを２倍にすることを表し、「―」は文書中に当該カテゴリ、および、カテゴリ関連語が含まれていることに対するスコアを−２倍にすることを表すものとするが、スコアを調整するための言葉（必須、優先、強め、弱目、不要、＋、−など）に応じて、検索時におけるカテゴリごとの重みを細かく調整できるように設計してもよい。
【００５３】
文書検索装置１０４は、調整したスコアで類似文書を検索し、検索結果表示領域３２０に検索結果を表示する。
【００５４】
図６における検索結果は、業界が「製薬」、「医療」カテゴリに属する文書であり、案件内容のカテゴリとして「ポータル」、「文書校正」、「ＥＤＩ」、「ＡＩ」など、入力文書の案件内容のカテゴリ（「文書管理」、「スキャン」）に属しない文書が提示されている。
【００５５】
このように、検索軸、カテゴリを用いて検索意図を入力可能なユーザインターフェースとすることにより、単語単位でクエリを拡張する方式と比較して、ユーザは直感的な操作で検索意図に応じた文書を得ることが可能になる。
【００５６】
次に、カテゴリ学習装置１０５における、カテゴリ学習処理について、図７〜図１４を用いて説明する。
【００５７】
本発明のカテゴリ分類機能は文書集合中に教師データが存在しない場合でも動作することを特徴とする。
【００５８】
基本的なアイデアは、カテゴリ関連語の取得処理と、機械学習による単語別の重み習得処理とを分離することである。
【００５９】
図７は、本発明におけるカテゴリ作成処理の流れを示すフローチャートである。
【００６０】
まず、ステップＳ７０１では、カテゴリごとのカテゴリ名・検索軸・出現率をカテゴリＤＢ１０１に登録する。
【００６１】
図８は、カテゴリＤＢ１０１において、カテゴリの情報を管理するためのテーブル（カテゴリテーブル８００）の一例であり、カテゴリごとのカテゴリ名、検索軸、出現率、及びカテゴリ判定閾値の４つ組の一覧を保持する。
【００６２】
ここで、「出現率」は、類似文書検索システム１００に登録する文書集合において、該当するカテゴリが存在する確率である。
【００６３】
類似文書検索システム１００に登録する文書集合について、十分な知見をもつユーザがいる場合は、適当な出現率を登録し、出現率が不明な場合は、デフォルトの値（例えば、０．３など）を格納する。
【００６４】
「カテゴリ判定閾値」は、後述の機械学習処理において定まる値であり、初期値は０である。
【００６５】
なお、「出現率」は、カテゴリ判定閾値を求めるためのパラメータとして使用する値であり、厳密な値である必要はない。
【００６６】
次に、ステップＳ７０２では、カテゴリ関連語をカテゴリＤＢ１０１に登録する。
【００６７】
図９は、カテゴリＤＢ１０１において、カテゴリ関連語を管理するためのテーブル（カテゴリ関連語テーブル９００）の一例であり、カテゴリ名、関連語、及び重みの３つ組の一覧を保持する。
【００６８】
ここで、「重み」は後述の機械学習処理によって自動的に定まる値であり、初期値は１である。
【００６９】
カテゴリ関連語は、類似文書検索システム１００のユーザが、カテゴリＤＢ１０１に直接投入できる。
【００７０】
投入の際、Ｗｉｋｉｐｅｄｉａ等、既にカテゴリ体系が整理されている辞書から、該当するカテゴリやサブカテゴリに属する記事のタイトル名を抽出したり、類似文書検索システム１００に投入した文書集合において、カテゴリに含まれていると思われる単語を含む文書集合の特徴語を抽出したものを使用してもよい（参考：Elasticsearch Significant Terms Aggregatio）。
【００７１】
次に、ステップＳ７０３では、カテゴリ学習装置１０５における機械学習処理を実行する。
【００７２】
機械学習処理の詳細は後述する（図１１）が、この処理によって、カテゴリ判定閾値の調整、カテゴリ関連語の重み調整、及びカテゴリスコア調整語の生成が行われる。
【００７３】
ここで、「カテゴリスコア調整語」は、カテゴリの判定に使用するための単語であり、カテゴリ学習装置１０５が機械的に獲得するものである。
【００７４】
図１０は、カテゴリＤＢ１０１における、カテゴリスコア調整語を管理するためのテーブル（カテゴリスコア調整語テーブル１０００）の一例であり、カテゴリ名、調整語、及び重みの３つ組の一覧を管理する。
【００７５】
図１１は、カテゴリ学習装置１０５における機械学習処理のフローチャートを示している。
【００７６】
カテゴリ学習装置１０５は、ステップＳ１１０１のカテゴリ判定閾値調整処理、及びステップＳ１１０２の関連語・調整語学習処理を、学習結果に変化が生じなくなる（ステップＳ１１０３で判定）か、所定の回数実行（ステップＳ１１０４で判定）するまで繰り返し行う。
【００７７】
図１２は、ステップＳ１１０１で実施するカテゴリ判定閾値調整処理のフローチャートを示している。
【００７８】
カテゴリ学習装置１０５は、まず、ステップＳ１２０１において、各文書について各カテゴリのスコアをカテゴリ関連語テーブル９００とカテゴリスコア調整語テーブル１０００に登録されているデータを用いて求める。文書dにおけるカテゴリcのスコアscore(d, c)は下記の式から算出する。
【００７９】
rw(x)=カテゴリ関連語xの重み
aw(y)=カテゴリスコア調整語yの重み
score(d,c)=Σrw(x)+Σaw(y)  
x∈（文書dに出現するカテゴリcの関連語）
y∈（文書dに出現するカテゴリcのカテゴリスコア調整語）
次に、ステップＳ１２０２において、各カテゴリについて、カテゴリスコアのＸパーセンタイル（Ｘ＝１００×（１-カテゴリの出現率））を取得する。
【００８０】
例えば、文書集合の件数が１０件であり、各文書における「金融」カテゴリ（出現率０．３）のスコアを昇順に並べたスコア列が、（０,０,０,０,０,１,３,５,７,８）であったとき、７０パーセンタイルである「３」を取得する。
【００８１】
その後、ステップＳ１２０３において、ステップＳ１２０２において取得した各値を、各カテゴリのカテゴリ判定閾値としてカテゴリテーブル８００を更新する。
【００８２】
次に、図１３及び図１４を用いて、関連語・調整語学習処理について説明する。
【００８３】
図１３は、関連語・調整語学習処理の流れを示すフローチャートである。
【００８４】
図１４はカテゴリＤＢ１０１における教師データテーブル１４００の一例であり、カテゴリ名、正負区分、及び文書ＩＤの３つ組の一覧を管理する。
【００８５】
正負区分は、教師データにおける正例（ＴＲＵＥ）、負例（ＦＡＬＳＥ）のいずれかを表すフラグであり、文書ＩＤは、類似文書検索システム１００に登録した文書を一意に特定する値である。
【００８６】
教師データテーブル１４００の各レコードは、ユーザが直接入力可能である。
【００８７】
また、前述のカテゴリ表示領域５２０において、ユーザが、カテゴリ削除ボタン５２１を押下した際には、該当する文書ＩＤとカテゴリの負例として自動登録され、カテゴリ追加ボタン５２２を押下してカテゴリを追加した際には、該当する文書ＩＤとカテゴリの正例として自動登録されるものである。
【００８８】
関連語・調整語学習処理は、これらの正例、負例の情報をもとに、ステップＳ１３０１からステップＳ１３１１までの処理で、カテゴリ関連語、および、カテゴリスコア調整語の重みを調整する処理である。
【００８９】
まず、ステップＳ１３０２において、カテゴリスコアがカテゴリテーブル８００の閾値以下である正例（False Negativeの文書集合）の特徴語を取得する。
【００９０】
ここで、特徴語は、ＪＬＨスコア等の指標を用いて、スコアが事前に定めた所定の値よりも高い単語を取得すればよい。
【００９１】
特徴語の取得方法については、他にも様々な方法が考えられるが、本発明に関する部分ではないため、説明を省略する。
【００９２】
次に、ステップＳ１３０２で取得した各特徴語に対して、ステップＳ１３０４〜ステップＳ１３０６の処理を実施する。
【００９３】
まずステップＳ１３０４では、特徴語がカテゴリ関連語テーブル９００に存在するか否かを判定し、存在する場合は、ステップＳ１３０５で、該当するカテゴリ関連語の重みにプラスの補正を加える。
【００９４】
ここで加える値は、０．３などの固定の値を加算してもよいし、もとの値の１０％など、変動する値でもよい。
【００９５】
ステップＳ１３０４では、特徴語がカテゴリ関連語テーブル９００に存在しない場合は、ステップＳ１３０６で、カテゴリスコア調整語テーブル１０００において、該当する調整語の重みにプラスの補正を加える。
【００９６】
このとき、カテゴリスコア調整語テーブル１０００に、該当する調整語が存在しない場合は、新しくレコードを追加する。
【００９７】
次に、ステップＳ１３０７では、カテゴリスコアがカテゴリテーブル８００のカテゴリ判定閾値よりも大きい負例（False Positiveの文書集合）の特徴語を取得し、ステップＳ１３０８〜ステップＳ１３１１で、重みの学習を行う。
【００９８】
なお、特徴語は、ステップＳ１３０２と同様に、ＪＬＨスコア等の指標を用いて取得する。
【００９９】
ステップＳ１３０９で、特徴語に該当する関連語がカテゴリ関連テーブル９００に存在すれば、ステップＳ１３１０で、該当する関連語の重みにマイナス補正を加える。
【０１００】
ここで加える値は、ステップＳ１３０５と同様に、−０．３などの固定の値を加算してもよいし、もとの値の１０％など、変動する値でもよい。
【０１０１】
ただし、カテゴリ関連語テーブル９００において、補正後の重みが０未満になる場合、重みを０に修正する。
【０１０２】
ステップＳ１３０９では、特徴語がカテゴリ関連語テーブル９００に存在しない場合は、ステップＳ１３１１で、カテゴリスコア調整語テーブル１０００において、該当する調整語の重みにマイナスの補正を加える。
【０１０３】
このとき、カテゴリスコア調整語テーブル１０００に、該当する調整語が存在しない場合は、新しくレコードを追加する。
【０１０４】
以上、カテゴリ学習装置１０５における機械学習処理について説明した。
【０１０５】
ステップＳ１１０１におけるカテゴリ判定閾値調整処理は、教師データが存在しない状態でも動作する。
【０１０６】
また、ステップＳ１１０２における関連語・調整語学習処理は、正例や負例の特徴語を用いて単語の重みを調整するものであり、少ない教師データでも動作する。
【０１０７】
なお、機械学習により獲得したカテゴリスコア調整語は、類似文書検索システム１００のユーザにとって、直接カテゴリに関連しているように思えないものが含まれる可能性があるため、文書検索画面２００に表示されると、類似文書検索システム１００に対する不信感が生まれる恐れがある。
【０１０８】
カテゴリ関連語とカテゴリスコア調整語を分類している理由はこの問題に対する処置であり、文書検索画面２００における、カテゴリ関連語の一覧３１２にはカテゴリ関連語のみを表示することで、不要な単語を表示しない仕組みを実現している。
【０１０９】
次に、文書登録装置１０３における、文書登録処理について、図１５〜図１６を用いて説明する。
【０１１０】
図１５は文書登録処理のフローチャートを示しており、図１６は検索インデックス１０２に登録する文書情報の一例を示している。
【０１１１】
文書登録装置１０３は、文書、及び文書ＩＤを入力として受付ける。まず、ステップＳ１５０１で、入力文書から文書のタイトル、及びテキストを抽出し、ステップＳ１５０２において、形態素解析を実施して単語の集合を取得する。
【０１１２】
次にステップＳ１５０３では、各カテゴリのカテゴリスコア、及び入力文書中に存在するカテゴリ関連語を取得する。
【０１１３】
ここで、入力文書dにおけるカテゴリスコアcは、前述の式score(d, c)によって求める。
【０１１４】
ステップＳ１５０４では、教師データテーブル１４００において、入力した文書ＩＤに該当する教師データが存在すれば、各カテゴリにおける正負区分を取得する。
【０１１５】
ステップＳ１５０５では、ステップＳ１５０１〜ステップＳ１５０４において取得した文書情報１６００を、検索インデックス１０２に登録する。
【０１１６】
以上で説明したように、文書登録装置１０３における文書登録処理では、カテゴリ判定閾値を用いたカテゴリの判定自体は実施せず、カテゴリごとのスコア、及び教師データの正負区分を検索インデックス１０２する。
【０１１７】
なお、検索インデックス１０２に登録した教師データの正負区分は、文書検索画面２００からカテゴリの追加、および、削除が行われた際に、適宜更新されるものである。
【０１１８】
最後に、図１７〜図１９を用いて、文書検索装置１０４における、文書検索処理について説明する。
【０１１９】
文書検索装置１０４における文書検索処理は、入力文書から検索クエリを生成する処理と、検索インデックス１０２から検索クエリに該当する文書を取得して検索スコアの高い順に取得する処理とに分かれる。
【０１２０】
図１７は、検索クエリ生成処理のフローチャートを示しており、図１８は、生成する検索クエリの一例を表している。
【０１２１】
文書検索装置１０４は、まずステップＳ１７０１で入力文書からテキストを抽出し、ステップＳ１７０２で、形態素解析を実行して単語の集合を取得する。
【０１２２】
次に、ステップＳ１７０３では、各カテゴリのカテゴリスコアを求め、カテゴリ判定閾値以上のカテゴリについて、カテゴリ関連語を取得する。
【０１２３】
次に、ステップＳ１７０４では、入力文書の特徴語を抽出する。ここで、特徴語は、ステップＳ１７０２で取得した単語のうち、「tf-idf」値が所定の値以上のものである。
【０１２４】
なお、「tf-idf」値における「idf」値は、検索インデックス１０２における単語フィールドの統計情報から求めることができる。
【０１２５】
次に、ステップＳ１７０５では、ステップＳ１７０４で取得した特徴語、及びステップＳ１７０３で取得したカテゴリの情報（カテゴリ名、関連語、及びスコア調整値）を検索クエリとして書き出す。
【０１２６】
ここで、スコア調整値は、検索スコアの計算時において、該当するカテゴリをどの程度重要視するかを表す指標であり、検索クエリ生成処理においては初期値として１が入る。
【０１２７】
なお、スコア調整値は、前述したように、文書検索画面２００において、クエリ入力フォーム２１０に検索意図を表す言葉（「業界優先」、「スキャン不要」など）を入力することで、ユーザが任意のタイミングで更新できる。
【０１２８】
図１９は、文書検索装置１０４における文書検索処理のスコア計算方法を示している。文書検索装置１０４は、検索クエリ１８００における特徴語に対して、「単語」フィールドに同じ単語がある文書の検索スコアを上げる。
【０１２９】
さらに、検索クエリ１８００における各カテゴリに対して、教師データの正例（正負区分がtrueである）場合、または、カテゴリスコアがカテゴリ判定閾値以上であり教師データの負例（正負区分がfalse）ではない文書に対して、検索スコアを上げる。
【０１３０】
このとき、検索スコアの上げ幅には、検索クエリ１８００におけるスコア調整値を乗算する。また、同条件の文書に対して、一致する関連語の数に応じて、同様に検索スコアを上げる。
【０１３１】
文書検索装置１０４は、以上で説明した検索スコアの計算方法によって、検索インデックス１０２内から各文書の検索スコアを求め、検索スコアの高い順に文書の一覧をソートして検索結果として返す。
【０１３２】
以上、類似文書検索システム１００における、各装置の動作について説明した。
【０１３３】
説明簡略化のため、カテゴリ関連語の設定方法については簡易な説明に留めたが、カテゴリスコア調整語において、高い重みをもつ調整語をカテゴリ関連語の候補としてユーザに提示するＵＩを作成するなど、機械学習処理の結果を使用してカテゴリ関連語の追加、削除を容易にすることもできる。
【０１３４】
また、検索インデックス１０２において、各文書にはカテゴリの判定結果ではなく、カテゴリのスコアと教師データにおける正負区分を保存する仕組みを活用し、カテゴリスコア自体の大きさを検索スコアに加味すること（「医療」カテゴリのスコアが高い順に表示など）もできる。
【０１３５】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【０１３６】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【０１３７】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク等を用いることが出来る。
【０１３８】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３９】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４０】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。
【０１４１】
また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。
【０１４２】
この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１４３】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１４４】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１４５】
１００  類似文書検索システム
１０１  カテゴリＤＢ
１０２  検索インデックス
１０３  文書登録装置
１０４  文書検索装置
１０５  カテゴリ学習装置
【図１】
2020095521.tif 000003
【図２】
2020095521.tif 000004
【図３】
2020095521.tif 000005
【図４】
2020095521.tif 000006
【図５】
2020095521.tif 000007
【図６】
2020095521.tif 000008
【図７】
2020095521.tif 000009
【図８】
2020095521.tif 000010
【図９】
2020095521.tif 000011
【図１０】
2020095521.tif 000012
【図１１】
2020095521.tif 000013
【図１２】
2020095521.tif 000014
【図１３】
2020095521.tif 000015
【図１４】
2020095521.tif 000016
【図１５】
2020095521.tif 000017
【図１６】
2020095521.tif 000018
【図１７】
2020095521.tif 000019
【図１８】
2020095521.tif 000020
【図１９】
2020095521.tif 000021