(57)【要約】【課題】シード文書や拡張語の選択に余計な制限を設けることなく、検索要求に対して適切な検索結果を出力することのできる文書検索装置を提供すること。【解決手段】入力された検索条件に基づいて文書データベース１５から文書を検索する文書検索装置１０は、入力されたシード文書取得用文字列に基づいてシード文書を取得するシード文書取得手段１２と、シード文書の利用者が利用した他の文書を関連文書として取得する関連文書取得手段と、シード文書および関連文書から検索条件に関連する単語を抽出する単語抽出手段１３と、検索条件と単語抽出手段１３が抽出した単語とに基づいて文書を検索する検索手段１４とを有する。また、単語抽出手段１３は、各単語と所定のキーワードとの間の距離に基づいて各単語の該所定のキーワードに対する関連度を決定し、該関連度が高い順に所定数の単語を抽出する。【選択図】図１
2008071198.tif 000002
【特許請求の範囲】
【請求項１】
入力された検索条件に基づいて所定の文書データベースから文書を検索する文書検索装置であって、
入力されたシード文書取得用文字列に基づいてシード文書を取得するシード文書取得手段と、
前記シード文書取得手段により取得されたシード文書の利用者が利用した他の文書を関連文書として取得する関連文書取得手段と、
前記シード文書および前記関連文書から前記検索条件に関連する単語を抽出する単語抽出手段と、
前記検索条件と前記単語抽出手段が抽出した単語とに基づいて文書を検索する検索手段と、
を有することを特徴とする文書検索装置。
【請求項２】
前記関連文書は、前記シード文書の利用者が利用した他の文書の他に、前記シード文書の借用者が借りた他の文書、前記シード文書の購入者が購入した他の文書または前記シード文書の閲覧者が閲覧した他の文書を含む、
ことを特徴とする請求項１に記載の文書検索装置。
【請求項３】
入力された検索条件に基づいて所定の文書データベースから文書を検索する文書検索装置であって、
入力されたシード文書取得用文字列に基づいてシード文書を取得するシード文書取得手段と、
前記シード文書取得手段が取得した前記シード文書から前記検索条件に関連する単語を抽出する単語抽出手段と、
前記検索条件と前記単語抽出手段が抽出した単語とに基づいて文書を検索する検索手段と、を有し、
前記単語抽出手段は、各単語と所定のキーワードとの間の距離に基づいて各単語の該所定のキーワードに対する関連度を決定し、該関連度が高い順に所定数の単語を抽出する、
ことを特徴とする文書検索装置。
【請求項４】
前記単語抽出手段は、各単語と前記所定のキーワードとの間の距離に加え、各単語の出現頻度もしくは各単語を含むシード文書の数に基づいて各単語の前記キーワードに対する関連度を決定し、該関連度の高い順に所定数の単語を抽出する、
ことを特徴とする請求項３に記載の文書検索装置。
【請求項５】
単語と前記所定のキーワードとの間の距離が大きくなるに従って減少する関連度の減少率を設定させる減少率設定手段、
を有することを特徴とする請求項３または４に記載の文書検索装置。
【請求項６】
前記減少率は、文毎に変化する、
ことを特徴とする請求項５に記載の文書検索装置。
【請求項７】
入力された検索条件に基づいて所定の文書データベースから文書を検索する文書検索方法であって、
入力されたシード文書取得用文字列に基づいてシード文書を取得するシード文書取得ステップと、
前記シード文書取得ステップにおいて取得されたシード文書の利用者が利用した他の文書を関連文書として取得する関連文書取得ステップと、
前記シード文書および前記関連文書から前記検索条件に関連する単語を抽出する単語抽出ステップと、
前記検索条件と前記単語抽出ステップにおいて抽出された単語とに基づいて文書を検索する検索ステップと、
を有することを特徴とする文書検索方法。
【請求項８】
入力された検索条件に基づいて所定の文書データベースから文書を検索する文書検索方法であって、
入力されたシード文書取得用文字列に基づいてシード文書を取得するシード文書取得ステップと、
前記シード文書取得ステップにおいて取得された前記シード文書から前記検索条件に関連する単語を抽出する単語抽出ステップと、
前記検索条件と前記単語抽出ステップにおいて抽出された単語とに基づいて文書を検索する検索ステップと、を有し、
前記単語抽出ステップは、単語と所定のキーワードとの間の距離に基づいて該単語の前記所定のキーワードに対する関連度を決定し、該関連度の高い順に所定数の単語を抽出する、
ことを特徴とする文書検索方法。
【請求項９】
入力された検索条件に基づいて所定の文書データベースからの文書の検索をコンピュータに実行させる文書検索プログラムであって、
入力されたシード文書取得用文字列に基づいてシード文書を取得するシード文書取得ステップと、
前記シード文書取得ステップにおいて取得されたシード文書の利用者が利用した他の文書を関連文書として取得する関連文書取得ステップと、
前記シード文書および前記関連文書から前記検索条件に関連する単語を抽出する単語抽出ステップと、
前記検索条件と前記単語抽出ステップにおいて抽出された単語とに基づいて文書を検索する検索ステップと、
を有することを特徴とする文書検索プログラム。
【請求項１０】
入力された検索条件に基づいて所定の文書データベースからの文書の検索をコンピュータに実行させる文書検索プログラムであって、
入力されたシード文書取得用文字列に基づいてシード文書を取得するシード文書取得ステップと、
前記シード文書取得ステップにおいて取得された前記シード文書から前記検索条件に関連する単語を抽出する単語抽出ステップと、
前記検索条件と前記単語抽出ステップにおいて抽出された単語とに基づいて文書を検索する検索ステップと、を有し、
前記単語抽出ステップは、単語と所定のキーワードとの間の距離に基づいて該単語の前記所定のキーワードに対する関連度を決定し、該関連度の高い順に所定数の単語を抽出する、
ことを特徴とする文書検索プログラム。
【請求項１１】
請求項９または請求項１０に記載の文書検索プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書検索装置、文書検索方法、文書検索プログラムおよび記録媒体に関し、特に、入力された検索条件に基づいて所定の文書の集合よりその検索条件に適合する文書を検索する文書検索装置、文書検索方法、文書検索プログラムおよび記録媒体に関する。
【背景技術】
【０００２】
文書検索の分野において、検索結果がユーザ（検索者）の検索要求に合致しているか否かは重要な評価基準の一つである。従来、検索要求に指定された検索語に基づいて検索要求に合致する度合い（以下、「適合度」という。）を文書毎に求め、適合度が大きい順に検索結果を出力する文書検索装置が提案されている（例えば、特許文献１）。
【０００３】
また、高い品質の検索結果を得るために、利用者が検索要求に指定した検索語だけでなく関連する語も検索語として追加する手法（以下、「関連語拡張」という。）が存在する。関連語拡張により追加される検索語（以下、「拡張語」という。）の選択方法に対しても、様々な提案がされている。
【０００４】
例えば、適合性フィードバックという手法が知られており、この手法は、まず利用者が指定した検索語による検索（一次検索）の結果を利用者に提示し、結果として提示された文書を適合文書（利用者が所望とする文書）と非適合文書とに分類させる。その後、その結果を得て適合文書に含まれる語から選択された拡張語による検索（二次検索）の結果を最終的な結果として出力させる。以下、拡張語を選択するために用いられる文書を「シード文書」と呼ぶ。
【０００５】
また、適合性フィードバックが利用者に強いる負担を軽減するため、擬似適合性フィードバックという手法がある。これは、一次検索の結果の上位に位置付けられた文書をシード文書として拡張語を得るというものである。
【０００６】
しかし、上述のような従来の適合性フィードバックや擬似適合性フィードバックでは、シード文書が検索対象の文書群（一次検索の結果）から選択されるので、拡張語の選択が一次検索の結果に制限されてしまい、最終的な検索結果の質を低下させてしまう場合がある。
【０００７】
この欠点を補う手法はいくつか提案されており、例えば、特許文献２では、二次検索の適合度計算に一次検索の適合度計算の結果をフィードバックさせることで一次検索結果の質が悪い場合でも最終検索結果の質への悪影響を軽減させている。
【０００８】
また、特許文献３では、一次検索の結果得られたシード文書を著者や日付等の書誌事項に基づいて複数のグループに分割し、多様な観点から拡張語を選出することで最終検索結果の質を向上させている。
【０００９】
また一方で、単語毎に関連する語を予め登録しておき、その対応関係を元に関連語拡張を行う手法も提案されている。例えば、特許文献４では、共起語データベースという形で関連する語を登録しておく手法が提案されている。
【特許文献１】特開平１１−２２４２６４号公報
【特許文献２】特開２００３−２４２１７０号公報
【特許文献３】特開２００４−１９２３７４号公報
【特許文献４】特開２００３−０２２２７５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、特許文献２および特許文献３における文書検索装置は、シード文書の選択に際し一次検索の影響を大きく受けてしまうことに変わりはない。また、特許文献４に記載の文書検索装置は、拡張語の対応関係を予め登録しておく必要があるので、対応関係のメンテナンスが必要となり、用語が次々と追加されるような分野には適用が困難であるという問題がある。
【００１１】
本発明は、上記の点に鑑みてなされたものであって、シード文書や拡張語の選択に余計な制限を設けることなく、検索要求に対して適切な検索結果を出力することのできる文書検索装置、文書検索方法、文書検索プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述の目的を達成するために、第一の発明に係る文書検索装置は、入力された検索条件に基づいて所定の文書データベースから文書を検索する文書検索装置であって、入力されたシード文書取得用文字列に基づいてシード文書を取得するシード文書取得手段と、前記シード文書取得手段により取得されたシード文書の利用者が利用した他の文書を関連文書として取得する関連文書取得手段と、前記シード文書および前記関連文書から前記検索条件に関連する単語を抽出する単語抽出手段と、前記検索条件と前記単語抽出手段が抽出した単語とに基づいて文書を検索する検索手段と、を有することを特徴とする。
【００１３】
また、第二の発明は、第一の発明に係る文書検索装置であって、前記関連文書は、前記シード文書の利用者が利用した他の文書の他に、前記シード文書の借用者が借りた他の文書、前記シード文書の購入者が購入した他の文書または前記シード文書の閲覧者が閲覧した他の文書を含むことを特徴とする。
【００１４】
また、第三の発明に係る文書検索装置は、入力された検索条件に基づいて所定の文書データベースから文書を検索する文書検索装置であって、入力されたシード文書取得用文字列に基づいてシード文書を取得するシード文書取得手段と、前記シード文書取得手段が取得した前記シード文書から前記検索条件に関連する単語を抽出する単語抽出手段と、前記検索条件と前記単語抽出手段が抽出した単語とに基づいて文書を検索する検索手段と、を有し、前記単語抽出手段は、各単語と所定のキーワードとの間の距離に基づいて各単語の該所定のキーワードに対する関連度を決定し、該関連度が高い順に所定数の単語を抽出することを特徴とする。
【００１５】
また、第四の発明は、第三の発明に係る文書検索装置であって、前記単語抽出手段は、各単語と前記所定のキーワードとの間の距離に加え、各単語の出現頻度もしくは各単語を含むシード文書の数に基づいて各単語の前記キーワードに対する関連度を決定し、該関連度の高い順に所定数の単語を抽出することを特徴とする。
【００１６】
また、第五の発明は、第三または第四の発明に係る文書検索装置であって、単語と前記所定のキーワードとの間の距離が大きくなるに従って減少する関連度の減少率を設定させる減少率設定手段を有することを特徴とする。
【００１７】
また、第六の発明は、第五の発明に係る文書検索装置であって、前記減少率は、文毎に変化することを特徴とする。
【００１８】
また、第七の発明に係る文書検索方法は、入力された検索条件に基づいて所定の文書データベースから文書を検索する文書検索方法であって、入力されたシード文書取得用文字列に基づいてシード文書を取得するシード文書取得ステップと、前記シード文書取得ステップにおいて取得されたシード文書の利用者が利用した他の文書を関連文書として取得する関連文書取得ステップと、前記シード文書および前記関連文書から前記検索条件に関連する単語を抽出する単語抽出ステップと、前記検索条件と前記単語抽出ステップにおいて抽出された単語とに基づいて文書を検索する検索ステップと、を有することを特徴とする。
【００１９】
また、第八の発明に係る文書検索方法は、入力された検索条件に基づいて所定の文書データベースから文書を検索する文書検索方法であって、入力されたシード文書取得用文字列に基づいてシード文書を取得するシード文書取得ステップと、前記シード文書取得ステップにおいて取得された前記シード文書から前記検索条件に関連する単語を抽出する単語抽出ステップと、前記検索条件と前記単語抽出ステップにおいて抽出された単語とに基づいて文書を検索する検索ステップと、を有し、前記単語抽出ステップは、単語と所定のキーワードとの間の距離に基づいて該単語の前記所定のキーワードに対する関連度を決定し、該関連度の高い順に所定数の単語を抽出することを特徴とする。
【００２０】
また、第九の発明に係る文書検索プログラムは、入力された検索条件に基づいて所定の文書データベースからの文書の検索をコンピュータに実行させる文書検索プログラムであって、入力されたシード文書取得用文字列に基づいてシード文書を取得するシード文書取得ステップと、前記シード文書取得ステップにおいて取得されたシード文書の利用者が利用した他の文書を関連文書として取得する関連文書取得ステップと、前記シード文書および前記関連文書から前記検索条件に関連する単語を抽出する単語抽出ステップと、前記検索条件と前記単語抽出ステップにおいて抽出された単語とに基づいて文書を検索する検索ステップとを有することを特徴とする。
【００２１】
また、第十の発明に係る文書検索プログラムは、入力された検索条件に基づいて所定の文書データベースからの文書の検索をコンピュータに実行させる文書検索プログラムであって、入力されたシード文書取得用文字列に基づいてシード文書を取得するシード文書取得ステップと、前記シード文書取得ステップにおいて取得された前記シード文書から前記検索条件に関連する単語を抽出する単語抽出ステップと、前記検索条件と前記単語抽出ステップにおいて抽出された単語とに基づいて文書を検索する検索ステップと、を有し、前記単語抽出ステップは、単語と所定のキーワードとの間の距離に基づいて該単語の前記所定のキーワードに対する関連度を決定し、該関連度の高い順に所定数の単語を抽出することを特徴とする。
【００２２】
また、第十一の発明に係る記録媒体は、第九または第十の発明に係る文書検索プログラムを記録したコンピュータ読み取り可能な記録媒体であることを特徴とする。
【発明の効果】
【００２３】
本発明によれば、シード文書や拡張語の選択に余計な制限を設けることなく、検索要求に対して適切な検索結果を出力することのできる文書検索装置、文書検索方法、文書検索プログラムおよび記録媒体を提供することができる。
【発明を実施するための最良の形態】
【００２４】
以下、図面に基づいて本発明の実施の形態を説明する。
【実施例１】
【００２５】
図１は、本発明の実施の形態における文書検索装置の機能構成例を示す図である。図１において、文書検索装置１０は、検索要求入力部１１、シード文書取得部１２、拡張語抽出部１３、文書検索部１４および文書データベース１５から構成される。
【００２６】
検索要求入力部１１は、検索要求入力画面を表示させ、所望とする文書を検索するための検索語、検索文字列、検索式等を入力させて検索条件を取得するための手段である。
【００２７】
また、検索要求入力部１１は、所望とする文書の内容を表す単語、文字列または文章等をユーザに入力させてシード文書を取得するためのシード文書取得用文字列（単語、複合語または文章等である。）を取得する。
【００２８】
図２は、検索要求入力画面の表示例を示す図であり、検索要求入力画面１１０は、検索条件入力領域１１１、シード文書取得用文字列入力領域１１２、シード数入力領域１１３および検索ボタン１１４から構成される。
【００２９】
検索条件入力領域１１１は、検索条件を入力させるためのテキストボックスであり、シード文書取得用文字列入力領域１１２は、シード文書取得用文字列またはそれを含む文章を入力させるためのテキストボックスである。
【００３０】
シード文書取得用文字列入力領域１１２には、例えば、話し言葉のような自然文が入力されてもよく、その場合、検索要求入力部１１は、入力された自然文から形態素解析等によりシード文書取得用文字列を抽出する。
【００３１】
また、シード文書取得文字列入力領域１１２には、検索条件入力領域１１１に入力された検索条件に基づく検索結果（文書群）の中から関連度の最も高い文字列（例えば、検索された文書の中で出現頻度が最も高い文字列）が自動的に抽出されたうえで入力されてもよく、検索結果（文書群）の中からユーザが任意に選択した文字列が入力されてもよい。
【００３２】
シード数入力領域１１３は、シード文書取得用文字列によって取得するシード文書の最大数を入力させるためのテキストボックスであり、例えば、シード文書の最大数に「１０」が入力された場合、シード文書取得用文字列に基づいて検索された文書が１００件であってもシード文書取得用文字列の出現頻度等に基づいて１００件のうちの１０件のみをシード文書とする。
【００３３】
検索ボタン１１４は、文書の検索を開始させるためのボタンであり、検索ボタン１１４が押下されるとシード文書取得用文字列に基づいてシード文書が抽出され、シード文書から拡張語が抽出され、検索条件と拡張語に基づいて文書が検索される。
【００３４】
シード文書取得部１２は、検索要求入力部１１が取得したシード文書取得用文字列に基づいてシード文書を取得するための手段である。
【００３５】
また、シード文書取得部１２は、検索要求入力部１１が取得したシード文書取得用文字列に基づいて一次的な検索を行い、その一次的な検索によって得られた文書の利用者が利用した他の文書を関連文書として取得する。
【００３６】
関連文書をシード文書に加えてシード文書の数を増大させ、シード文書から抽出される拡張語をより適切なものとするためであり、また、シード文書の利用者は、シード文書と内容が類似する文書を利用している可能性が高いからである。
【００３７】
拡張語抽出部１３は、シード文書を構成する単語から拡張語を所定数選択するための手段であり、シード文書および関連文書を構成する単語から拡張語を所定数選択するようにしてもよい。
【００３８】
拡張語抽出部１３は、例えば、形態素解析によりシード文書に含まれるすべての単語を抽出し、各単語のシード文書における出現頻度を算出し、出現頻度の高い順に所定数（例えば、５個）の単語を拡張語として抽出する。
【００３９】
文書検索部１４は、検索条件と拡張語抽出部１３で抽出された拡張語とに基づいて文書データベース１５に蓄積されている文書の集合（以下、「被検索文書」という。）の中から適合する文書を検索して検索結果の一覧を利用者に提示するための手段であり、例えば、検索条件および拡張語の双方を含む文書を検索してもよく、検索条件または拡張語のいずれかを含む文書を検索してもよい。
【００４０】
また、文書検索部１４は、拡張語のすべてを含む文書を検索してもよく、所定数（例えば、３個）以上の拡張語を含む文書を検索してもよい。
【００４１】
文書データベース１５は、被検索文書を蓄積したデータベースである。
【００４２】
なお、文書検索装置１０は、一台のコンピュータで構成されてもよく、クライアント・サーバ型等を採用して複数台のコンピュータで構成されてもよい。後者の場合、例えば、検索要求入力部１１がクライアントに実装され、シード文書取得部１２、拡張語抽出部１３、文書検索部１４および文書データベース１５がサーバに実装されるようにしてもよい。
【００４３】
図３は、本発明の実施の形態における文書検索装置１０のハードウェア構成例を示す図である。図３の文書検索装置１０は、ドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、演算処理装置１０４、表示装置１０５および入力装置１０６から構成される。
【００４４】
ドライブ装置１００は、記録媒体１０１に記録されたプログラム等を読み出すための装置である。
【００４５】
記録媒体１０１は、各種データを記録するための持ち運び可能な記録媒体であり、例えば、ＣＤ−ＲＯＭやＤＶＤ―ＲＯＭ等がある。
【００４６】
補助記憶装置１０２は、文書検索装置１０において各種処理を実行するためのプログラムを記憶するための不揮発性記録媒体であり、例えば、ハードディスクがある。文書検索装置１０は、プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、ドライブ装置１００の記録媒体１０１からそのプログラムを読み出して補助記憶装置１０２にインストールする。
【００４７】
メモリ装置１０３は、文書検索装置１０において各種処理を実行するためのプログラムをロードするための揮発性記録媒体であり、例えば、ＲＡＭ(Random Access Memory)がある。文書検索装置１０は、プログラムの起動命令があった場合、補助記憶装置１０２からプログラムを読み出してメモリ装置１０３にロードする。
【００４８】
演算処理装置１０４は、メモリ装置１０３にロードされたプログラムを逐次実行させるための装置である。
【００４９】
表示装置１０５は、プログラムによるＧＵＩ（Graphical User Interface）等を表示するための装置であり、入力装置１０６は、キーボードおよびマウス等で構成され、様々な操作指示を受け付けるための装置である。
【００５０】
次に、図４を参照しながら、文書検索装置１０における処理手順について説明する。図４は、第一の実施の形態における文書検索装置１０による文書検索処理を説明するためのフローチャートである。
【００５１】
最初に、検索要求入力部１１は、検索要求入力画面１１０を表示装置１０５に表示させ、利用者に検索要求を入力させる（ステップＳ１０１）。
【００５２】
検索条件、シード文書取得用文字列もしくはそれを含む文章、および、シード文書の最大数等が入力され、検索ボタン１１４がクリックされると、シード文書取得部１２は、シード文書取得用文字列入力領域１１２に入力された文章を形態素解析により単語に分割する（ステップＳ１０２）。
【００５３】
次に、シード文書取得部１２は、単語毎に被検索文書における出現頻度を算出する（ステップＳ１０３）。
【００５４】
次に、シード文書取得部１２は、出現頻度の最も高い単語を選択し（ステップＳ１０４）、選択された単語と検索条件入力領域１１１に入力された検索条件とシード文書の最大数とに基づいて文書データベース１５に対する検索要求を示す命令文を生成する（ステップＳ１０５）。なお、シード文書取得部１２は、出現頻度の高い順に複数の単語を選択してもよい。
【００５５】
検索要求を示す命令文は、公知のＳＱＬ(Structured Query Language)構文またはその拡張構文で記述され、例えば、以下のような副問い合せを用いた拡張構文とする。
【００５６】
select タイトル from ドキュメント where 本文 contains '環境保護'expand from (select タイトル from ドキュメント where 文書ＩＤ in (select 文書ＩＤ from 文書ＩＤ履歴 where 利用者ＩＤ in (select 第一利用者ＩＤ from 利用者ＩＤ履歴 where 文書ＩＤ in (select 文書ＩＤ from ドキュメント where 本文 contains '温暖化' limit 10))))
なお、以下は、上述の命令文を説明のため複数の部分に分割したものである。
【００５７】
select タイトル from ドキュメント where 本文 contains '環境保護' ・・・（１）
expand from・・・（２）
(select タイトル from ドキュメント where 文書ＩＤ in ・・・（３）
(select 文書ＩＤ from 文書ＩＤ履歴 where 利用者ＩＤ in ・・・（４）
(select 第一利用者ＩＤ from 利用者ＩＤ履歴 where 文書ＩＤ in ・・・（５）
(select 文書ＩＤ from ドキュメント where 本文 contains '温暖化' limit 10))))・・・（６）
（１）の部分は、文書データベース１５に定義されているドキュメントテーブルに対する検索命令であり、より詳しくは、「ドキュメントテーブルにおいて文書の本文に'環境保護'という語を含む文書のタイトルを抽出せよ。」という命令を意味する。
【００５８】
「ドキュメントテーブル」は、文書ＩＤで特定される文書に関する各種データを体系的に構成したテーブルであり、例えば、図４（Ａ）に示すように、文書ＩＤ、タイトル、著者、出版社、翻訳者等のフィールドを有する。
【００５９】
また、「文書ＩＤ」とは、文書データベース１５に格納された文書を特定するための識別子であり、例えば、数字、記号、文字列等で表現され、ドキュメントテーブル、利用者ＩＤ履歴テーブルおよび文書ＩＤ履歴テーブルに共通する項目として用いられる。
【００６０】
「利用者ＩＤ履歴テーブル」は、利用者の履歴を文書毎に記録したテーブルであり、例えば、文書データベース１５に格納され、図４（Ｂ）に示すように、文書ＩＤ、第一利用者ＩＤ、第二利用者ＩＤ等のフィールドを有する。
【００６１】
また、利用者ＩＤ履歴テーブルは、各文書を利用した利用者の履歴を時系列で記録するテーブルであって、例えば、図書館の貸し出し履歴の管理、書店の販売履歴の管理、ウェブサイトの閲覧履歴の管理等に利用される。
【００６２】
「利用者ＩＤ」とは、利用者を特定するための識別子であり、例えば、数字、記号、文字列等で表現され、利用者ＩＤ履歴テーブルおよび文書ＩＤ履歴テーブルにおけるフィールドとして用いられる。「利用者」とは、文書を利用した者であり、例えば、文書検索装置１０が図書館に導入された場合における文書（書籍）の借用者、文書検索装置１０が書店に導入された場合における文書（書籍）の購入者、文書検索装置１０がウェブサイトに導入された場合における文書（コンテンツ）の閲覧者等を含む。
【００６３】
また、第一利用者ＩＤは、対応する文書を利用した直近の利用者の識別子であり、第二利用者ＩＤは、第一利用者ＩＤが示す利用者の前に文書を利用した利用者の識別子である。
【００６４】
「文書ＩＤ履歴テーブル」とは、各利用者が利用した文書の履歴を利用者毎に記録したテーブルであり、例えば、文書データベース１５に格納され、図４（Ｃ）に示すように、利用者ＩＤ、第一文書ＩＤ、第二文書ＩＤ等のフィールドを有する。
【００６５】
また、文書ＩＤ履歴テーブルは、各利用者が利用した文書の履歴を時系列で記録するテーブルであって、例えば、利用者ＩＤ履歴テーブルと同様、図書館の貸し出し履歴の管理、書店の販売履歴の管理、ウェブサイトの閲覧履歴の管理等に利用される。
【００６６】
また、第一文書ＩＤは、対応する利用者が利用した直近の文書の識別子であり、第二文書ＩＤは、対応する利用者が利用した第一文書ＩＤで示す文書の前に利用した文書の識別子である。
【００６７】
また、「expand from」という記述（２）に続く副問い合せにおける最も外側のselect文（３）は、より多くのシード文書を取得するための検索命令であり、より詳しくは、「ドキュメントテーブルにおいて文書ＩＤの値が（４）の検索結果の値に一致するレコードのタイトルを抽出せよ。」という命令を意味する。
【００６８】
なお、「expand from X」は、「Ｘで示される文書群から所定数の拡張語を抽出せよ。」という命令を意味する。
【００６９】
また、二番目に外側のselect文（４）は、「文書ＩＤ履歴テーブルにおいて利用者ＩＤの値が（５）の検索結果の値に一致するレコードの文書ＩＤを抽出せよ。」という命令を意味する。
【００７０】
また、三番目に外側のselect文（５）は、「利用者ＩＤ履歴テーブルにおいて文書ＩＤの値が（６）の検索結果の値に一致するレコードの第一利用者ＩＤを抽出せよ。」という命令を意味する。
【００７１】
また、最も内側のselect文（６）は、「ドキュメントテーブルにおいて文書の本文に'温暖化'という語を含むレコードの上位１０件の文書ＩＤを検索せよ。」という命令を意味する。上位１０件を定める順位は、例えば、各文書における「温暖化」の出現頻度に基づいて決定される。
【００７２】
なお、「温暖化」という単語は、シード文書取得用文字列より抽出された単語であり、「limit 10」は、取得するシード文書の最大数を示す。また、「環境保護」は、検索条件として入力された検索語である。
【００７３】
すなわち、上記のＳＱＬ構文は、（６）において検索されたシード文書を利用した利用者の第一利用者ＩＤ（直近の利用者ＩＤを意味する。）を（５）において検索し、（５）において検索された第一利用者ＩＤを有する利用者が利用したシード文書以外の文書の文書ＩＤを（４）において検索し、さらに、（４）において検索された文書ＩＤが示す文書を（３）において関連文書として抽出し、（３）において抽出された関連文書から所定数の拡張語を（２）において抽出し、（２）において抽出された拡張語または検索語「環境保護」を本文に含む文書のタイトルを抽出せよ。」を意味することとなる。
【００７４】
文書検索装置１０は、例えば、図５（Ａ）のドキュメントテーブルから文書の本文に'温暖化'という語を含むレコードの文書ＩＤの値２を取得し、利用者ＩＤ履歴テーブルを参照して文書ＩＤの値２に対応する利用者ＩＤの履歴を取得する（図５（Ｂ）の場合、第一利用者ＩＤ＝３を取得する。）。
【００７５】
その後、文書検索装置１０は、文書ＩＤ履歴テーブルを参照して利用者ＩＤの値３に対応する文書ＩＤの履歴を取得する（図５（Ｃ）の場合、第一文書ＩＤ＝２、第二文書ＩＤ＝４、第三文書ＩＤ＝５を取得する。）。
【００７６】
その後、文書検索装置１０は、文書ＩＤの値が２、４または５の文書を関連文書として抽出し、シード文書およびこれら関連文書から拡張語を抽出し、さらに、抽出された拡張語または検索語「環境保護」を本文に含む文書を検索する。
【００７７】
なお、文書検索装置１０は、第一文書ＩＤで示される文書のみを関連文書としてもよく、履歴にあるすべての文書を関連文書としてもよい。
【００７８】
これによって、（６）において検索されたシード文書のみを拡張語抽出の対象とする場合に比べ、より多くの文書を拡張語抽出の対象とすることができ、抽出される拡張語をより適切なものとすることができる。
【００７９】
なお、上述の命令文をユーザ（検索者）に明示的に入力させてもよい。但し、検索要求入力画面１１０のようなＧＵＩを提供することによりシステム側が自動的に命令文を作成する方が、ＳＱＬに不慣れな利用者に対する利便性という観点からも望ましい。
【００８０】
続いて、再度図４を参照すると、シード文書取得部１２は、生成した命令文に基づいて文書データベース１５よりシード文書を実際に取得する（ステップＳ１０６）。すなわち、シード文書取得部１２は、上述の（６）の命令を文書データベース１５に対して実行することで、「温暖化」というキーワードを含む文書のうちの上位１０件をシード文書として取得する。
【００８１】
続いて、シード文書取得部１２は、命令文（５）に基づいて各シード文書の第一利用者ＩＤを取得する（ステップＳ１０７）。
【００８２】
その後、シード文書取得部１２は、命令文（３）および（４）に基づいて第一利用者ＩＤが示す利用者が利用したシード文書以外の文書を関連文書として取得する（ステップＳ１０８）。
【００８３】
すなわち、シード文書取得部１２は、上述の（３）乃至（５）の命令を文書データベース１５に対して実行することで、「温暖化」というキーワードを含む文書のうちの上位１０件のシード文書の利用者が利用した他の文書を関連文書として取得する。
【００８４】
上述のように、文書検索装置１０は、シード文書取得用文字列により抽出したシード文書の利用者（借用者、購入者または閲覧者等をいう。）の利用者ＩＤに基づいてシード文書を利用した利用者が利用（借用、購入または閲覧等を含む。）した他の文書の文書ＩＤを抽出し、それら文書ＩＤで示される文書を関連文書として取得する。
【００８５】
続いて、拡張語抽出部１３は、シード文書取得部１２によって取得されたシード文書および関連文書から拡張語の選択と抽出を行う。
【００８６】
すなわち、拡張語抽出部１３は、シード文書および関連文書を単語に分割し（ステップＳ１０９）、単語毎に文書頻度を算出する（ステップＳ１１０）。ここで、単語に対する「文書頻度」とは、単語を含むシード文書または関連文書の数をいい、例えば、全シード文書数に対する割合で表され、シード文書と関連文書の合計が５０件であって、ある単語がそのうちの２５件に含まれる場合、文書頻度は０．５（５０％）となる。
【００８７】
さらに、拡張語抽出部１３は、文書頻度が高い順に所定数の単語を選択し、選択された単語を拡張語として抽出する（ステップＳ１１１）。なお、文書頻度の代わりに出現頻度（シード文書における単語の出現数）が用いられてもよい。
【００８８】
また、シード文書および関連文書の単語への分割は、空白で区切られた単位を用いてもよいし、公知の形態素解析を用いてもよい。或いは、単純に一定の文字数で区切ったものを用いてもよい。
【００８９】
また、拡張語抽出部１３は、拡張語とするには不適切な単語を予め登録しておき、それら単語を拡張語として抽出しないといった仕組みを実装するようにしてもよい。
【００９０】
また、拡張語抽出部１３は、拡張語として抽出する単語の個数を固定値としてもよく、検索要求入力部１１によりＧＵＩ等を介してユーザ（検索者）に指定させるようにしてもよい。
【００９１】
続いて、文書検索部１４は、検索要求入力画面１１０において入力された検索条件（検索語）と拡張語抽出部１３により抽出された拡張語の全部または一部とを含む文書を文書データベース１５における文書の集合の中から検索し（ステップＳ１１２）、検索結果を利用者に提示する。かかる処理は、例えば、特開２００３−２８１１８１号公報に記載されている方法を用いてもよい。
【００９２】
また、文書検索部１４は、検索語または拡張語の全部もしくは一部を含む文書を検索するようにしてもよい。
【００９３】
上述のように、第一の実施の形態における文書検索装置１０は、ユーザ（検索者）によって指定された文字列（シード文書取得用文字列）に基づいて拡張語を選択するので、ユーザ（検索者）の意図により近い高品質の検索結果を出力することができる。
【００９４】
また、第一の実施の形態における文書検索装置１０は、シード文書取得用文字列を検索条件の入力と共に入力させることができるため、ユーザ（検索者）による一回の入力操作で簡便に高品質の検索結果を提供することができる。
【００９５】
また、第一の実施の形態における文書検索装置１０は、ユーザ（検索者）が指定したシード文書取得用文字列に基づいて検索される文書と利用者が共通する文書をシード文書に加えるため、拡張語を抽出するための集合（シード文書の母数）を大きくすることができ、より多くの文書の中から厳選された拡張語に基づいてユーザ（検索者）の期待に添った検索結果を提供することができる。
【実施例２】
【００９６】
次に、第二の実施の形態について説明する。第二の実施の形態では、拡張語抽出部１３が単語とキーワードとの間の距離に基づいて各単語のキーワードに対する関連度を決定し、関連度の高い単語を拡張語として抽出する点に特徴を有する。
【００９７】
なお、第二の実施の形態において、文書検索装置１０の機能構成およびハードウェア構成は、それぞれ図１および図２に示されたものと同様とする。
【００９８】
図６は、第二の実施の形態における文書検索装置１０による文書検索処理を説明するためのフローチャートであり、ステップＳ２０１乃至ステップＳ２０６が図４のフローチャートで説明した処理の流れと共通する。
【００９９】
ステップＳ２０１乃至ステップＳ２０６の処理によりシード文書を取得すると、拡張語抽出部１３は、シード文書を形態素解析等により単語に分割し（ステップＳ２０７）、各単語とキーワードとの間の距離（例えば、ある単語が同じ文書内に複数存在する場合には、キーワードとの間の最短距離とする。）を取得する（ステップＳ２０８）。
【０１００】
キーワードは、検索条件入力領域１１１に入力された検索語「環境保護」であってもよく、シード文書取得用文字列から選択した単語（例えば、「地球」、「温暖化」等をいう。）であってもよい。
【０１０１】
ここで、「距離」とは、各単語とキーワードとの間の文字数、単語数、文章数等で表現される間隔であり、距離が小さいほど各単語とキーワードとの間の関連度は高いものとされる。
【０１０２】
拡張語抽出部１３は、単語毎に文書頻度または出現頻度（シード文書における各単語の出現数）を算出し、文書頻度または出現頻度が高い順に所定数の単語を拡張語として抽出するが、さらに、各単語とキーワードとの間の距離に基づいて重み係数を導出し、文書頻度または出現頻度に重み係数を乗じて各単語とキーワードとの間の関連度（関連度＝重み係数×文書頻度または出現頻度）を決定する（ステップＳ２０９）。
【０１０３】
拡張語抽出部１３は、重み係数を０以上１以下の範囲で表し、キーワード自体の場合を１とし（距離が０の状態をいう。）、距離が大きくなるほど０に近づけ、所定距離以上の場合を０とする。なお、重み係数の算出方法は後述する。
【０１０４】
また、拡張語抽出部１３は、文書頻度または出現頻度を０以上１以下の範囲（例えば、文書頻度の場合には、各単語が含まれる文書数をシード文書数で除した値とする。）で表す。
【０１０５】
なお、拡張語抽出部１３は、文書頻度または出現頻度に重み係数を加えた値を２で除して関連度を算出するようにしてもよい。
【０１０６】
さらに、拡張語抽出部１３は、各単語の出現頻度や文書頻度を考慮せず、重み係数をそのまま関連度（関連度＝重み係数×１）としてもよい。被検索文書や単語の性質により出現頻度や文書頻度が意味をなさない場合にも（例えば、被検索文書が特定の分野に偏っていたり、単語がどのような分野でも一般的に使用されるものであったりする場合をいう。）、適切な関連度を算出できるようにするためである。
【０１０７】
このように、文書検索装置１０は、単語とキーワードとの間の距離に基づく関連度（０以上１以下の値）と文書頻度または出現頻度に基づく関連度（０以上１以下の値）とから最終的な関連度を導出して拡張語を抽出するので、ユーザ（検索者）の意図により近い高品質の検索結果を出力することができる。
【０１０８】
拡張語抽出部１３により各単語のキーワードに対する関連度を決定して拡張語を抽出する場合、文書検索装置１０は、例えば、検索要求を示す命令文を以下のような副問い合せを用いた拡張構文とする。
【０１０９】
select タイトル from ドキュメント where 本文 contains '環境保護' expand from (select タイトル from ドキュメント where 本文 contains '温暖化' limit 10) distance factor 0.2
なお、以下は、上述の命令文を説明のため複数の部分に分割したものである。
【０１１０】
select タイトル from ドキュメント where 本文 contains '環境保護' ・・・（７）
expand from・・・（８）
(select タイトル from ドキュメント where 本文 contains '温暖化' limit 10) ・・・（９）
distance factor 0.2・・・（１０）
（７）の部分は、文書データベース１５に定義されているドキュメントテーブルに対する検索命令であり、より詳しくは、「ドキュメントテーブルにおいて文書の本文に'環境保護'という語を含むレコードのタイトルを抽出せよ。」という命令を意味する。
【０１１１】
また、expand fromという記述（８）に続く副問い合せにおけるselect文（９）は、より多くのシード文書を取得するための検索命令である。より詳しくは、ドキュメントテーブルにおいて文書の本文に「温暖化」という語を含むレコードの上位１０件のタイトルを抽出せよ。」という命令を意味する。
【０１１２】
また、（１０）の部分は、（９）において検索されるシード文書における各単語とキーワード（例えば、文字列「温暖化」）との間の距離（文字数または単語数）に基づいて関連度を算出するための命令であり、値「０．２」は、各単語とキーワードとの間の距離が大きくなるに従って減少する重み係数の減少率を意味する。
【０１１３】
重み係数は、例えば、「重み係数＝１÷（（距離−１）＾減少率）」または「重み係数＝１−減少率×距離」（この場合、重み係数の最小値は０とする。）で示される数式を用いて算出される。何れの数式においても、減少率が大きい程、重み係数の低下が急激となる。
【０１１４】
なお、減少率は、固定値であってもよく、検索要求入力画面１１０において値が直接入力されるようにしてもよく、或いは、「High」、「Middle」、「Low」の３段階のラジオボタンにより選択されるようにしてもよい。「High」、「Middle」、「Low」の何れかのラジオボタンが選択された場合、減少率は、例えば、それぞれ０．８、０．５、０．２となる。
【０１１５】
このように、文書検索装置１０は、減少率を指定する簡単な方法を提供することにより、各単語のキーワードに対する関連度が拡張語の抽出に及ぼす影響度を調整できるようにし、検索結果の傾向（質）を調整する場合におけるユーザ（検索者）の利便性を向上させることができる。
【０１１６】
また、文書検索装置１０は、文（センテンス）毎に減少率を変化させるようにし、単語を含む文がキーワードを含む文から遠ざかるにつれて文毎に所定割合（例えば、１０％）刻みで減少率を低減させるようにしてもよい（例えば、減少率が０．２％、０．１８％、０．１６２％・・・のように文毎に減少する。）。この場合、所定割合は、「distance factor」の第二引数として設定されてもよく、その場合、（９）の部分は、例えば、減少率を０．２％、所定割合を１０％とすると「distance factor 0.2, 10」のように記述される。
【０１１７】
また、文書検索装置１０は、例えば、単語を含む文がキーワードを含む文と同じである場合に重み係数を１とし、単語を含む文がキーワードを含む文から遠ざかるにつれて重み係数を所定の割合で０に近づけ、単語を含む文がキーワードを含む文から所定の文数以上離れた場合に重み係数を０とする。
【０１１８】
このように、文書検索装置１０は、キーワードとの間の距離は大きいがキーワードを含む文と同じ文に含まれる単語が、キーワードとの間の距離は小さいがキーワードを含む文と異なる文に含まれる単語よりも、キーワードに対する関連度が低くなってしまうのを防止し、適切な関連度を設定して適切な拡張語を抽出することにより、ユーザ（検索者）の意図により近い高品質の検索結果を出力することができる。
【０１１９】
続いて、再度図６を参照すると、拡張語抽出部１３は、関連度（重み係数×文書頻度）の高い順に単語を拡張語として抽出し（ステップＳ２１０）、その後、文書検索装置１０は、検索条件入力領域１１１に入力された検索条件（検索語）と拡張語抽出部１３により抽出された拡張語の全部または一部とを含む文書を文書データベース１５における文書の集合の中から検索し（ステップＳ２１１）、検索結果を利用者に提示する。
【０１２０】
上述のように、第二の実施の形態における文書検索装置１０は、シード文書に含まれる単語とキーワードとの間の距離に基づいて単語のキーワードに対する関連度を決定し拡張語を抽出するので、ユーザ（検索者）の意図により近い高品質の検索結果を出力することができる。
【０１２１】
なお、第二の実施の形態における文書検索装置１０は、シード文書の利用者が利用した他の文書を関連文書として抽出し、シード文書または関連文書に含まれる単語とキーワードとの間の距離に基づいて単語のキーワードに対する関連度を決定し拡張語を抽出するようにしてもよい。
【０１２２】
以上、本発明の実施例について詳述したが、本発明は、上述のような特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形または変更を加えることができる。
【０１２３】
例えば、上述の実施例では、拡張語抽出部１３が関連度の高い順に所定数の単語を拡張語として抽出するが、関連度が所定値以上の単語を全て拡張語として抽出するようにしてもよい。
【０１２４】
また、上述の実施例では、シード文書取得部１２によりシード文書の利用者が利用した他の文書の全部または一部を関連文書として取得するが、シード文書の利用者が所定期間内に利用した文書のみを関連文書として取得するようにしてもよい。利用日が時間的に離れている場合、シード文書との関連性が低くなると考えられるからである。
【０１２５】
また、第二の実施例では、拡張語抽出部１３が各単語とキーワードとの間の最短距離（最小値）に基づいて関連度を算出するが、平均距離（平均値）、最長距離（最大値）、中間距離（中間値）に基づいて関連度を算出するようにしてもよい。
【図面の簡単な説明】
【０１２６】
【図１】本発明の実施の形態における文書検索装置の機能構成例を示す図である。
【図２】検索要求入力画面の表示例を示す図である。
【図３】本発明の実施の形態における文書検索装置のハードウェア構成例を示す図である。
【図４】第一の実施の形態における文書検索装置による文書検索処理を説明するためのフローチャートである。
【図５】第一の実施の形態における文書検索装置により利用される各種テーブルを示す図である。
【図６】第二の実施の形態における文書検索装置による文書検索処理を説明するためのフローチャートである。
【符号の説明】
【０１２７】
１０      文書検索装置
１１      検索要求入力部
１２      シード文書取得部
１３      拡張語抽出部
１４      文書検索部
１５      文書データベース
１００    ドライブ装置
１０１    記録媒体
１０２    補助記憶装置
１０３    メモリ装置
１０４    演算処理装置
１０５    表示装置
１０６    入力装置
１１０    検索要求入力画面
１１１    検索条件入力領域
１１２    シード文書取得用文字列入力領域
１１３    シード数入力領域
１１４    検索ボタン
【図１】
2008071198.tif 000003
【図２】
2008071198.tif 000004
【図３】
2008071198.tif 000005
【図４】
2008071198.tif 000006
【図５】
2008071198.tif 000007
【図６】
2008071198.tif 000008