(57)【要約】【課題】自然言語に基づく文書検索の精度を改善する。【解決手段】所定のコーパスから、検索用テキストと関連する内容の文書ファイルを検索するための文書検索装置に関する。この装置は、グラムごとの文書内位置や形態素内位置を示すインデックス情報を保持する。文書検索装置は、ユーザから検索用テキストの入力を受け付け、形態素とグラムを抽出する。そして、形態素のコーパスにおける稀少性を推定数により指標化し、形態素を含む文書ファイルを検出した上で、そのような形態素が文書ファイルに出現する回数を出現頻度として計数する。形態素についての推定数と出現頻度から、検索用テキストと文書ファイルの内容の関連性を関連スコアとして指標化する。【選択図】図５
2008090401.tif 000002
【特許請求の範囲】
【請求項１】
所定の文書ファイル群から、検索用テキストと関連性が高い内容の文書ファイルを検索するための装置であって、
所定文字数の文字列であるグラム（gram）と、前記グラムを含む文書ファイルの文書ＩＤと、前記文書ファイルの形態素中における前記グラムの位置が、前記所定の文書ファイル群に含まれるグラムごとに対応づけられたインデックス情報を保持するインデックス保持部と、
検索用テキストの入力を受け付ける検索テキスト取得部と、
検索用テキストから１以上の検索用形態素を抽出する形態素抽出部と、
検索用形態素から１以上のグラムを抽出するグラム抽出部と、
インデックス情報を参照して、ある検索用形態素中における特定グラムの位置と文書ファイルの形態素中における前記特定グラムの位置が整合する文書ファイルの数を、その検索用形態素を含む文書ファイルの推定数として特定する推定数特定部と、
インデックス情報を参照して、前記検索用形態素に含まれる１以上のグラムの並び順と文書ファイルの形態素中における１以上のグラムの並び順が整合する文書ファイルを検出する文書検索部と、
前記並び順と整合する前記１以上のグラムが前記検出された文書ファイルに出現する回数を出現頻度として計数する出現頻度計数部と、
前記検索用形態素についての出現頻度と推定数から、前記検索用テキストと前記検出された文書ファイルの内容の関連性を関連スコアとして指標化する関連スコア算出部と、
を備えることを特徴とする文書検索装置。
【請求項２】
形態素中におけるグラムの位置とは、グラムが形態素の先頭部、末尾部、それ以外の一部である継続部のいずれに位置するかを示す情報であることを特徴とする請求項１に記載の文書検索装置。
【請求項３】
前記関連スコア算出部は、出現頻度が大きく推定数が小さいほど前記検出された文書ファイルと前記検索用テキストとの関連性が高くなるように関連スコアを算出することを特徴とする請求項１または２に記載の文書検索装置。
【請求項４】
検査対象グラムを形態素の先頭部に含む文書ファイルの数とその検査対象グラムを含む文書ファイルの総数との比率を前方出現率、検査対象グラムを形態素の末尾部に含む文書ファイルの数とその検査対象グラムを含む文書ファイルの総数との比率を後方出現率としてそれぞれ算出する出現率算出部と、
検索用形態素に含まれる複数のグラムの前方出現率と後方出現率から、前記検索用形態素を更に複数の検索用形態素に分離する形態素分解部と、
を更に備えることを特徴とする請求項１から３のいずれかに記載の文書検索装置。
【請求項５】
前記形態素分解部は、検索用形態素に含まれる第１のグラムの後方出現率が所定値以上であって、かつ、前記検索用形態素において前記第１のグラムの後方に隣接する第２のグラムの前方出現率が所定値以上のとき、前記第１のグラムと前記第２のグラムの境界により前記検索用形態素を分離することを特徴とする請求項４に記載の文書検索装置。
【請求項６】
前記関連スコア算出部は、検索用テキストに含まれる複数の検索用形態素のそれぞれについて特定された出現頻度と推定数から関連スコアを算出することを特徴とする請求項１から５のいずれかに記載の文書検索装置。
【請求項７】
前記推定数特定部は、前記検索用形態素に含まれるグラムのうち、前記整合する文書ファイルの数が最も少なくなるときのグラムを前記特定グラムとし、そのときの文書ファイル数を前記検索用形態素についての推定数として特定することを特徴とする請求項１から６のいずれかに記載の文書検索装置。
【請求項８】
前記インデックス保持部は、字種に応じて文字数が異なるグラムについてのインデックス情報を保持することを特徴とする請求項１から７のいずれかに記載の文書検索装置。
【請求項９】
所定の文書ファイル群から、検索用テキストと関連性が高い内容の文書ファイルを検索するための方法であって、
所定文字数の文字列であるグラム（gram）と、前記グラムを含む文書ファイルの文書ＩＤと、前記文書ファイルの形態素中における前記グラムの位置が、前記所定の文書ファイル群に含まれるグラムごとに対応づけられたインデックス情報を取得するステップと、
検索用テキストの入力を受け付けるステップと、
検索用テキストから１以上の検索用形態素を抽出するステップと、
検索用形態素から１以上のグラムを抽出するステップと、
インデックス情報を参照して、ある検索用形態素中における特定グラムの位置と文書ファイルの形態素中における前記特定グラムの位置が整合する文書ファイルの数を、その検索用形態素を含む文書ファイルの推定数として特定するステップと、
インデックス情報を参照して、前記検索用形態素に含まれる１以上のグラムの並び順と文書ファイルの形態素中における１以上のグラムの並び順が整合する文書ファイルを検出するステップと、
前記並び順と整合する前記１以上のグラムが前記検出された文書ファイルに出現する回数を出現頻度として計数するステップと、
前記検索用形態素についての出現頻度と推定数から、前記検索用テキストと前記検出された文書ファイルの内容の関連性を関連スコアとして指標化するステップと、
を備えることを特徴とする文書検索方法。
【請求項１０】
所定の文書ファイル群から、検索用テキストと関連性が高い内容の文書ファイルを検索するためのコンピュータプログラムであって、
所定文字数の文字列であるグラム（gram）と、前記グラムを含む文書ファイルの文書ＩＤと、前記文書ファイルの形態素中における前記グラムの位置が、前記所定の文書ファイル群に含まれるグラムごとに対応づけられたインデックス情報を保持する機能と、
検索用テキストの入力を受け付ける機能と、
検索用テキストから１以上の検索用形態素を抽出する機能と、
検索用形態素から１以上のグラムを抽出する機能と、
インデックス情報を参照して、ある検索用形態素中における特定グラムの位置と文書ファイルの形態素中における前記特定グラムの位置が整合する文書ファイルの数を、その検索用形態素を含む文書ファイルの推定数として特定する機能と、
インデックス情報を参照して、前記検索用形態素に含まれる１以上のグラムの並び順と文書ファイルの形態素中における１以上のグラムの並び順が整合する文書ファイルを検出する機能と、
前記並び順と整合する前記１以上のグラムが前記検出された文書ファイルに出現する回数を出現頻度として計数する機能と、
前記検索用形態素についての出現頻度と推定数から、前記検索用テキストと前記検出された文書ファイルの内容の関連性を関連スコアとして指標化する機能と、
をコンピュータに発揮させることを特徴とする文書検索プログラム。
【請求項１１】
所定の文書ファイル群から、検索用テキストと関連性が高い内容の文書ファイルを検索するための装置であって、
所定文字数の文字列であるグラム（gram）と、前記グラムを含む文書ファイルの文書ＩＤと、前記文書ファイルの形態素中における前記グラムの位置が、前記所定の文書ファイル群に含まれるグラムごとに対応づけられたインデックス情報を保持するインデックス保持部と、
検索用テキストの入力を受け付ける検索テキスト取得部と、
検索用テキストから１以上の検索用形態素を抽出する形態素抽出部と、
検索用形態素から１以上のグラムを抽出するグラム抽出部と、
インデックス情報を参照して、検査対象グラムを形態素の先頭部に含む文書ファイル数とその検査対象グラムを含む文書ファイルの総数との比率を前方出現率、検査対象グラムを形態素の末尾部に含む文書ファイル数とその検査対象グラムを含む文書ファイルの総数との比率を後方出現率としてそれぞれ算出する出現率算出部と、
ある検索用形態素に含まれる複数のグラムについての前方出現率と後方出現率から、その検索用形態素を複数の部分形態素に分離する形態素分解部と、
インデックス情報を参照して、ある部分形態素に含まれる１以上のグラムの並び順と文書ファイル中の形態素における１以上のグラムの並び順が整合する文書ファイルを検出する文書検索部と、
前記並び順と整合する前記１以上のグラムが前記検出された文書ファイルに出現する回数を出現頻度として計数する出現頻度計数部と、
前記部分形態素について計数された出現頻度と前記検索用形態素中における前記部分形態素の位置に応じた重み付け係数により、前記検索用テキストと前記検出された文書ファイルの内容の関連性を関連スコアとして指標化する関連スコア算出部と、
を備えることを特徴とする文書検索装置。
【請求項１２】
検索用形態素中における部分形態素の位置とは、部分形態素が検索用形態素の先頭部、末尾部、それ以外の一部である継続部のいずれに位置するかを示す情報であるであることを特徴とする請求項１１に記載の文書検索装置。
【請求項１３】
前記形態素分解部は、検索用形態素に含まれる第１のグラムの後方出現率が所定値以上であって、かつ、前記検索用形態素において前記第１のグラムの後方に隣接する第２のグラムの前方出現率が所定値以上のとき、前記第１のグラムと前記第２のグラムの境界により前記検索用形態素を分離することを特徴とする請求項１１または１２に記載の文書検索装置。
【請求項１４】
前記関連スコア算出部は、検索用テキストに含まれる複数の部分形態素のそれぞれについて特定された出現頻度と重み付け係数から関連スコアを算出することを特徴とする請求項１１から１３のいずれかに記載の文書検索装置。
【請求項１５】
前記関連スコア算出部は、検索用形態素の先頭部の部分形態素は前記検索用形態素の他の位置の部分形態素よりも関連スコアに対する影響が大きくなるように重み付け係数を設定することを特徴とする請求項１１から１４のいずれかに記載の文書検索装置。
【請求項１６】
第１出現数＝検索用テキストの部分形態素中におけるグラムの位置と文書ファイルの形態素中における前記グラムの位置が整合する文書ファイルの数
第２出現数＝前記部分形態素に含まれるグラムを含む文書ファイルの数
としたとき、
前記第１出現数と前記第２出現数から、前記部分形態素が前記所定の文書ファイル群において本来の意味にて用いられている割合を語句確率として算出する語句確率算出部、を更に備え、
前記関連スコア算出部は、前記部分形態素の語句確率、前記重み付け係数、前記部分形態素の出現頻度により、関連スコアを計算することを特徴とする請求項１１から１５のいずれかに記載の文書検索装置。
【請求項１７】
前記形態素抽出部は、前記検出された文書ファイルからも形態素を抽出し、
前記関連スコア算出部は、前記検出された文書ファイル中の形態素とその形態素に含まれる部分形態素の位置関係により関連スコアを調整することを特徴とする請求項１１から１６のいずれかに記載の文書検索装置。
【請求項１８】
前記関連スコア算出部は、前記検出された文書ファイル中において、形態素の先頭部から前記部分形態素が検出されたときには前記形態素の他の位置から検出されるときよりも関連性が高くなるように関連スコアを調整することを特徴とする請求項１７に記載の文書検索装置。
【請求項１９】
所定の文書ファイル群から、検索用テキストと関連性が高い内容の文書ファイルを検索するための方法であって、
所定文字数の文字列であるグラム（gram）と、前記グラムを含む文書ファイルの文書ＩＤと、前記文書ファイルの形態素中における前記グラムの位置が、前記所定の文書ファイル群に含まれるグラムごとに対応づけられたインデックス情報を取得するステップと、
検索用テキストの入力を受け付けるステップと、
検索用テキストから１以上の検索用形態素を抽出するステップと、
検索用形態素から１以上のグラムを抽出するステップと、
インデックス情報を参照して、検査対象グラムを形態素の先頭部に含む文書ファイル数とその検査対象グラムを含む文書ファイルの総数との比率を前方出現率、検査対象グラムを形態素の末尾部に含む文書ファイル数とその検査対象グラムを含む文書ファイルの総数との比率を後方出現率としてそれぞれ算出するステップと、
ある検索用形態素に含まれる複数のグラムについての前方出現率と後方出現率から、その検索用形態素を複数の部分形態素に分離するステップと、
インデックス情報を参照して、ある部分形態素に含まれる１以上のグラムの並び順と文書ファイル中の形態素における１以上のグラムの並び順が整合する文書ファイルを検出するステップと、
前記並び順と整合する前記１以上のグラムが前記検出された文書ファイルに出現する回数を出現頻度として計数するステップと、
前記部分形態素について計数された出現頻度と前記検索用形態素中における前記部分形態素の位置に応じた重み付け係数により、前記検索用テキストと前記検出された文書ファイルの内容の関連性を関連スコアとして指標化するステップと、
を備えることを特徴とする文書検索方法。
【請求項２０】
所定の文書ファイル群から、検索用テキストと関連性が高い内容の文書ファイルを検索するためのコンピュータプログラムであって、
所定文字数の文字列であるグラム（gram）と、前記グラムを含む文書ファイルの文書ＩＤと、前記文書ファイルの形態素中における前記グラムの位置が、前記所定の文書ファイル群に含まれるグラムごとに対応づけられたインデックス情報を保持する機能と、
検索用テキストの入力を受け付ける機能と、
検索用テキストから１以上の検索用形態素を抽出する機能と、
検索用形態素から１以上のグラムを抽出する機能と、
インデックス情報を参照して、検査対象グラムを形態素の先頭部に含む文書ファイル数とその検査対象グラムを含む文書ファイルの総数との比率を前方出現率、検査対象グラムを形態素の末尾部に含む文書ファイル数とその検査対象グラムを含む文書ファイルの総数との比率を後方出現率としてそれぞれ算出する機能と、
ある検索用形態素に含まれる複数のグラムについての前方出現率と後方出現率から、その検索用形態素を複数の部分形態素に分離する機能と、
インデックス情報を参照して、ある部分形態素に含まれる１以上のグラムの並び順と文書ファイル中の形態素における１以上のグラムの並び順が整合する文書ファイルを検出する機能と、
前記並び順と整合する前記１以上のグラムが前記検出された文書ファイルに出現する回数を出現頻度として計数する機能と、
前記部分形態素について計数された出現頻度と前記検索用形態素中における前記部分形態素の位置に応じた重み付け係数により、前記検索用テキストと前記検出された文書ファイルの内容の関連性を関連スコアとして指標化する機能と、
をコンピュータに発揮させることを特徴とする文書検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書処理技術に関し、特に、検索用に与えられたテキストと関連する内容の文書ファイルを検索するための技術、に関する。
【背景技術】
【０００２】
コンピュータの普及とネットワーク技術の進展にともない、ネットワークを介した電子情報の交換が盛んになっている。これにより、従来においては紙ベースで行われていた事務処理の多くが、ネットワークベースの処理に置き換えられつつある。デジタル化とネットワーク技術の進展は、情報取得コストを急激に低下させている。このような状況において、ユーザから入力されたテキスト（以下、「検索用テキスト」とよぶ）と関連する内容の文書ファイル（以下、特に「関連文書」または「関連文書ファイル」とよぶ）を検索するための文書検索技術が注目されている。自然言語に基づく文書検索技術の代表例として、形態素解析やNgram解析がある。
【特許文献１】特開２００５−９９９７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
形態素解析では、所定規則にしたがってテキストを形態素とよばれる意味単位に分解する。たとえば、「アメリカ合衆国の大統領」というテキストであれば、「アメリカ合衆国：の：大統領」のように、名詞や助詞といった品詞に基づいて、３つの形態素に分解する。そして、検索用テキスト中の形態素と同じ形態素を文書ファイルがどの程度含んでいるかに応じて、検索用テキストと文書ファイルの内容の関連性を判定する。形態素という意味のある文字列をベースとした検索・判定のため、非関連文書を関連文書と判定するミスが発生しにくいという長所がある。反面、関連文書を非関連文書と判定しやすいという短所がある。たとえば、「アメリカ合衆国」という形態素について文書検索を行った場合、「アメリカでは、・・・」という文書ファイルは検出対象から漏れてしまう。検索用テキストも文書ファイルも「アメリカに関する内容」という点で共通しても、一方では「アメリカ合衆国」、他方では「アメリカ」のため、形態素が一致しないからである。
【０００４】
Ngram解析は、テキストをグラム（gram）とよばれる所定長の文字列単位に分解する。「アメリカ合衆国の大統領」というテキストであれば、「アメリ：メリカ：・・・：大統領」のように複数のグラムが抽出される。グラムは、必ずしも意味を持つ単位とはならない。そのため、先ほどの「アメリカでは、・・・」という文書ファイルであっても、「アメリ」や「メリカ」というグラムが検索用テキストと一致することになる。形態素のような意味単位ではないため、Ngram解析には、関連文書を非関連文書と判定してしまうミス、いわば検索漏れが発生しにくいという長所がある。反面、非関連文書を関連文書と判定するミスが発生しやすいという短所がある。たとえば、「メリカエッセンスとは、・・・」のような、本来、検索用テキストとの関連性がほとんどない文書ファイルでも、「メリカ」というグラムが一致することにより検出されてしまう可能性がある。
【０００５】
このように形態素解析とNgram解析は、互いの長所と短所が相反関係にある。そこで本発明者は、「意味単位」と「文字列単位」という２種類の解析方法を融合させることにより、従来よりも高精度な文書検索が可能となるのではないかと考えた。
【０００６】
本発明はこうした状況に鑑みてなされたものであり、その目的は、自然言語に基づく文書検索の精度を改善する技術、を提供することにある。
【課題を解決するための手段】
【０００７】
本発明のある態様は、所定の文書ファイル群から、検索用テキストと関連する内容の文書ファイルを検索するための文書検索装置に関する。この装置は、グラムと、そのグラムを含む文書ファイルと、文書ファイルの形態素中におけるグラムの位置が、グラムごとに対応づけられたインデックス情報を保持する。
この装置は、検索用テキストの入力を受け付け、１以上の検索用形態素を抽出し、更に１以上のグラムを抽出する。そして、ある検索用形態素中における特定グラムの位置と文書ファイルの形態素中における特定グラムの位置が整合する文書ファイルの数を、その検索用形態素の稀少性を示す推定数として特定し、検索用形態素を含む文書ファイルを検出した上で、検索用形態素が文書ファイルに出現する回数を出現頻度として計数する。検索用形態素についての推定数と出現頻度から、検索用テキストと文書ファイルの内容の関連性を関連スコアとして指標化する。
【０００８】
本発明の別の態様も、所定の文書ファイル群から、検索用テキストと関連する内容の文書ファイルを検索するための文書検索装置に関する。この装置は、グラムと、そのグラムを含む文書ファイルと、文書ファイルの形態素中におけるグラムの位置が、グラムごとに対応づけられたインデックス情報を保持する。
この装置は、検索用テキストの入力を受け付け、１以上の検索用形態素を抽出し、１以上のグラムを抽出する。そして、ある検索用形態素に含まれる複数のグラムについての前方出現率と後方出現率から、その検索用形態素を複数の部分形態素に分離し、ある部分形態素を含む文書ファイルを検出した上で、そのような部分形態素が文書ファイルに出現する回数を出現頻度として計数する。部分形態素について計数された出現頻度と検索用形態素中における部分形態素の位置により、検索用テキストと検出された文書ファイルの内容の関連性を関連スコアとして指標化する。
【０００９】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、システム、プログラム、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１０】
本発明によれば、自然言語に基づく文書検索の精度を高めることができる。
【発明を実施するための最良の形態】
【００１１】
図１は、文書検索装置１００による処理の概要を説明するための模式図である。
ユーザが文書検索装置１００に対して検索用テキストを入力すると、文書検索装置１００はその検索用テキストと関連する内容の文書ファイルを文書データベース２００から検索する。検索用テキストは一定の意味をなす文字列であり、自然文であってもよいしキーワードであってもよい。文書データベース２００の文書ファイルは、ＸＭＬ（eXtensible Markup Language）文書やＸＨＴＭＬ（eXtensible HyperText Markup Language）文書のようにタグによって構造化されたファイルであってもよいし、単なるテキストファイルであってもよい。本実施例においては、検索対象となる文書ファイルはＸＭＬファイルであるとする。なお、文書データベース２００に格納され、検索対象となる文書ファイル群のことを、以下「コーパス（corpus）」とよぶことにする。
【００１２】
文書検索装置１００のインデックス保持部１３０は、各文書ファイルを検索するためのインデックス情報を保持する。インデックス情報については後に詳述する。文書検索装置１００は、検索用テキストとインデックス情報に基づいて、コーパスから文書ファイルを検出し、検索用テキストとの内容の関連性を「関連スコア」として指標化する。文書検索装置１００は、所定数、たとえば、関連スコアが上位２０位以内の文書ファイルの文書ＩＤと、その関連スコアを画面表示させる。こうして、文書検索装置１００のユーザは、任意の検索用テキストに対して、内容の関連性が高い文書ファイルをコーパスから探し出すことができる。
【００１３】
図２は、インデックス保持部１３０のデータ構造図である。
本実施例における文書検索処理を実行するためには、コーパスについてのインデックス情報が必要である。インデックス情報の生成方法については図３に関連して後述するとして、まず、インデックス情報のデータ構造について説明する。インデックス情報は、グラム名欄１３２、文書ＩＤ欄１３４、文書内位置欄１３６、形態素内位置欄１３８という５つの項目を持つ。
【００１４】
グラム名欄１３２はグラム名を示す。グラムとは所定数の連続する文字列である。同図は、３文字のカタカナ文字列のグラム「ワール」についてのインデックス情報を示している。文書ＩＤ欄１３４は、該当グラムを含む文書ファイルの文書ＩＤを示す。文書ＩＤとは、コーパスにおいて文書ファイルを一意に識別するためのＩＤである。同図によると、グラム「ワール」は、文書ＩＤ「０１２」、「０１６」、「０２２」、・・・という複数の文書ファイル内に含まれている。ただし、グラム「ワール」が各文書ファイルにおいてどのような文脈で使用されているかについては、インデックス情報からは直接的にはわからない。
【００１５】
文書内位置欄１３６は、各文書ファイル内における該当グラムの位置を「ノード番号：オフセット」のかたちで示す。このような文書内におけるグラムの位置を「文書内位置」とよぶ。たとえば、「・・・＜node＞２００６年のワールドシリーズでは、・・・」という文書ファイルにおいて、＜node＞タグは、文書ファイル中において先頭から４番目のタグであるとする。この文書ファイルでは、＜node＞タグの要素のうち、７文字目から「ワール」というグラムが現れている。したがって、文書内位置は「４：７」となる。
【００１６】
形態素内位置欄１３８は、形態素内における該当グラムの位置を「開始」、「終了」、「継続」、「開始−終了」の４種類の「形態素内位置」により示す。さきほどのテキストを、「２００６：年：の：ワールドシリーズ：では：、：・・・」のように形態素に分解したとする。グラム「ワール」は形態素「ワールドシリーズ」の開始部分に位置している。したがって、形態素内位置は「開始」となる。形態素「ルノワール」や「コートジボワール」に含まれるグラム「ワール」であれば、形態素内位置は「終了」になる。形態素「コワールスキー」や「サッカーワールド」であれば、グラム「ワール」の形態素内位置は「継続」である。また、形態素自体が「ワール」であれば、グラム「ワール」の形態素内位置は「開始−終了」となる。
【００１７】
インデックス保持部１３０は、コーパスから検出される各グラムについてのインデックス情報を保持する。本発明者らの調査によると、２３万文書（約２５０ＭＢ）から約５４万種類のグラムが検出された。この場合、５４万種類の各グラムについて、同図に示すようなインデックス情報が用意されることになる。
【００１８】
ところで、グラムを構成する文字の数（以下、「Ｎ数」とよぶ）は、「ワール」のように３文字に限る必要はない。Ｎ数が大きいほど、検索用テキストと文書ファイルの関連性判定の適合率が高くなる。適合率が高いほど、非関連文書を関連文書と判定するミスが発生しにくくなることを示す。たとえば、「アームストロング砲」の関連文書を検索する場合、「ア」という１文字のグラムを含む文書ファイルを検索するとすれば、非関連文書を大量に検出してしまうことになる。しかし、「アームストロング」のような８文字のグラムを含む文書ファイルを検索した場合、こういったノイズ（非関連文書）を低減できる。反面、Ｎ数が大きくなると、グラムの種類が増えるためインデックス情報が大きくなってしまう。また、再現率が悪くなる。再現率が高いほど、関連文書の検出漏れが発生しにくくなることを示す。
【００１９】
そこで、最適なＮ数を求めるために、本発明者はコーパスにおいて連続する文字数を字種別に調査した。文字の連続数として多い数は以下の通りであった。
漢字：１〜２文字。
ひらがな：１〜３文字。ただし、１文字となるのは「の、は、を」などの助詞の場合が多い。
カタカナ：２〜４文字。
英数字：３〜６文字。
以上の知見に基づき、本実施例においては、字種に応じてグラムのＮ数を以下のように設定する。
漢字：２、ひらがな：３、カタカナ：４、英数字：４、字種連結：２
たとえば、「アメリカ合衆国」という形態素の場合、抽出されるグラムは「アメリ：メリカ：カ合：合衆：衆国」の５つである。グラム「カ合」は、カタカナと漢字の接続部分である。このようなグラムが字種連結のグラムである。
【００２０】
図３は、インデックス情報の生成過程を示すフローチャートである。
文書データベース２００に新しく文書ファイルが登録されるとき、その文書ファイルに含まれるグラムがインデックス情報に登録される。文書検索装置１００は、まず、新しい文書ファイルを取得すると（Ｓ１０）、その文書ファイル中からテキスト部分を抽出する（Ｓ１２）。次に、テキストを形態素に分解し（Ｓ１４）、形態素を更にグラムに分解する（Ｓ１６）。最後に、抽出されたグラムの文書内位置や形態素内位置をインデックス情報に登録する。
【００２１】
コーパスから文書ファイルを削除するときには、インデックス情報から削除される文書ファイル中のグラムがインデックス情報から削除される。このように、コーパスの変化に応じて、インデックス情報も変化する。なお、Ｓ１４において抽出された形態素を、後述する形態素分離処理により、更に、小さな形態素に分解してもよい。形態素分離処理については、図７に関連して詳述する。
【００２２】
図４は、文書検索装置１００の機能ブロック図である。
ここに示す各ブロックは、ハードウェア的には、コンピュータのＣＰＵをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
【００２３】
文書検索装置１００は、ユーザインタフェース処理部１１０、データ処理部１２０およびインデックス保持部１３０を含む。
ユーザインタフェース処理部１１０は、ユーザからの入力処理やユーザに対する情報表示のようなユーザインタフェース全般に関する処理を担当する。本実施例においては、ユーザインタフェース処理部１１０により文書検索装置１００のユーザインタフェースサービスが提供されるものとして説明する。別例として、ユーザはインターネットを介して文書検索装置１００を操作してもよい。この場合、図示しない通信部が、ユーザ端末からの操作指示情報を受信し、またその操作指示に基づいて実行された処理結果情報をユーザ端末に送信することになる。
【００２４】
データ処理部１２０は、ユーザインタフェース処理部１１０や文書データベース２００から取得されたデータを元にして各種のデータ処理を実行する。データ処理部１２０は、ユーザインタフェース処理部１１０とインデックス保持部１３０の間のインタフェースの役割も果たす。
【００２５】
ユーザインタフェース処理部１１０は、入力部１１２と表示部１１４を含む。入力部１１２は、ユーザからの入力操作を受け付ける。表示部１１４は、ユーザに対して各種情報を表示する。入力部１１２は、検索用テキストを取得するための検索用テキスト取得部１１６を含む。
【００２６】
データ処理部１２０は、解析部１２２と統計部１２４、検索部１２６、関連スコア算出部１２８を含む。
解析部１２２は、検索用テキストや文書ファイルの文書構造を解析する。解析部１２２は、形態素抽出部１４４、グラム抽出部１４６、形態素分解部１４８を含む。形態素抽出部１４４は、テキストから１以上の形態素を抽出する。ここでいうテキストとは、文書ファイルから抽出されるテキストや検索用テキストである。形態素抽出部１４４は、あらかじめ用意された辞書データを参照して、その辞書データに登録されている単語を形態素として抽出してもよいし、品詞や字種によって形態素を抽出してもよい。形態素抽出部１４４による形態素の抽出方法は既知の技術の応用でよい。グラム抽出部１４６は、形態素抽出部１４４が抽出した形態素から１以上のグラムを抽出する。形態素分解部１４８は、形態素抽出部１４４が抽出した形態素をより小さい形態素に分解する。このような処理を「形態素分離処理」とよぶ。たとえば、形態素抽出部１４４が「サッカーワールドカップ」という形態素を抽出したとき、形態素分解部１４８はこの形態素から更に「サッカー」、「ワールド」、「カップ」という３つの形態素を抽出する。形態素分離処理の詳細については、図７に関連して後述する。以下、形態素抽出部１４４が抽出する形態素と形態素分解部１４８の形態素分離処理により抽出される形態素を区別するときには、前者を「原形態素」、後者を「部分形態素」とよぶ。
【００２７】
統計部１２４は、形態素やグラムの稀少性、出現頻度などを統計解析する。統計部１２４は、推定数特定部１５０、出現頻度計数部１５２、出現率算出部１４０、語句確率算出部１４２を含む。
推定数特定部１５０は、形態素のコーパスにおける稀少性を推定数として指標化する。推定数が小さいほど稀少性が高い。推定数の考え方については、図６に関連して詳述する。出現頻度計数部１５２は、検索用テキストに含まれる形態素が、調査対象の文書ファイルに出現する回数を出現頻度として計数する。出現率算出部１４０は、コーパスを対象として、あるグラムがどのような形態素内位置に存在する可能性が高いかを定量化するために、前方出現率や後方出現率といった出現率を計算する。出現率の考え方については、図７に関連して詳述する。語句確率算出部１４２は、形態素分離処理を実行するための語句確率を算出する。語句確率とは、ある形態素がコーパスにおいて本来の意味で用いられている可能性の高さを指標化した数値である。語句確率の考え方についても図７の形態素分離処理の説明に関連して詳述する。
【００２８】
検索部１２６は、検索用テキストの形態素を含む文書ファイルをコーパスから検索する。検索部１２６は、形態素におけるグラムの並び順と同じ並び順にてグラムを含む文書ファイルをインデックス情報を参照して検出する。たとえば、検索用テキストから「アメリカ合衆国」という形態素が抽出されたとする。抽出されるグラムは「アメリ：メリカ：カ合：合衆：衆国」の５つであるから、検出対象となるのは、これら５つのグラムを含む文書ファイルである。検索部１２６は、インデックス情報のグラム名欄１３２と文書ＩＤ欄１３４を参照して、５つのグラムの全てを含む文書ファイルを検出する。このような文書ファイルのことを「中間候補ファイル」とよぶことにする。次に、検索部１２６は、文書内位置欄１３６を参照して、これら５つのグラムが連続的に並んでいる中間候補ファイルを特定する。このような中間候補ファイルは、「アメリカ合衆国」という形態素を含む文書ファイルである。このような文書ファイルのことを「関連候補ファイル」ともよぶ。
【００２９】
このように、検索部１２６は、あくまでもグラムをベースとしながら、検索用テキスト中の形態素についての関連候補ファイルを検出する。そのため、検索部１２６は文書ファイルの内容を精査することなく、インデックス情報だけで関連候補ファイルを特定できる。
【００３０】
関連スコア算出部１２８は、各関連候補ファイルについて関連スコアを算出する。関連スコアとは、検索用テキストと文書ファイルの内容の関連性の大きさを示すスコアである。関連スコアの算出方法については、図８および図１０に関連して２種類の計算方法について後に詳述する。
【００３１】
図５は、関連文書ファイルを特定するための処理過程を示すフローチャートである。
検索用テキスト取得部１１６は、まず、検索用テキストを取得する（Ｓ２０）。例として、「２００６年のサッカーワールドカップに優勝するチームとして・・・」という検索用テキストが入力されたとする。形態素抽出部１４４は、この検索用テキストから原形態素を抽出する（Ｓ２２）。「２００６：年：の：サッカーワールドカップ：に：優勝：する：チーム：として・・・」のように複数の原形態素が抽出されたとする。以下の処理は、原形態素のそれぞれについて実行されるが、説明を簡単にするため、ここでは「サッカーワールドカップ」という原形態素を対象として説明する。
【００３２】
グラム抽出部１４６は、原形態素から１以上のグラムを抽出する（Ｓ２４）。原形態素「サッカーワールドカップ」の場合、「サッカ：ッカー：カーワ：ーワー：ワール：ールド：ルドカ：ドカッ：カップ」の計９つのグラムが抽出される。次に、形態素分解部１４８は、原形態素「サッカーワールドカップ」から、「サッカー」、「ワールド」、「カップ」という部分形態素を抽出する（Ｓ２６）。より具体的には、形態素分解部１４８は、形態素に含まれるグラムの前方出現率と後方出現率に基づいて、原形態素「サッカーワールドカップ」から３つの部分形態素を抽出するが、詳細については図７に関連して後述する。検索用テキストから抽出された原形態素、および、部分形態素に基づいて文書検索処理が実行される。「サッカーワールドカップ」であれば、「サッカーワールドカップ」、「サッカー」、「ワールド」、「カップ」の４つの形態素について文書検索処理が実行される。以下、このような文書検索のベースとなる形態素のことを「検索ターム」とよぶ。
【００３３】
検索部１２６は、検索タームに含まれるグラムの並び順に基づいて、関連候補ファイルを検出する（Ｓ２８）。すなわち、「サッカー」、「ワールド」、「カップ」、「サッカーワールドカップ」といった各検索タームのいずれかを含む文書ファイルが関連候補ファイルとして検出される。
【００３４】
関連スコア算出部１２８は、これらの関連候補ファイル群から１つの文書ファイルを選択し（Ｓ３０）、関連スコア計算処理を実行し（Ｓ３２）、関連候補ファイル群から次の文書ファイルを選択する（Ｓ３４のＹ、Ｓ３０）。全ての関連候補ファイルについて関連スコア計算処理を完了すると（Ｓ３４のＮ）、関連スコアが上位２０位以内となる関連候補ファイルを「関連文書ファイル」として、表示部１１４は関連文書ファイルの文書ＩＤと関連スコアを画面に一覧表示させる（Ｓ３６）。
本実施例においては、Ｓ３２における関連スコア計算処理として、第１計算方法と第２計算方法という２つの計算方法を提案する。それぞれ、図８と図１０に関連して詳述する。その前に、第１計算方法の前提となる推定数や出現率について説明する。
【００３５】
図６は、原形態素「サッカーワールドカップ」に含まれる各グラムのコーパスにおける出現態様を示す図である。
本実施例におけるコーパスは、２３万文書ファイルの集合体である。インデックス情報によると、グラム「サッカ」はこのうちの５１６７文書から検出される。「ッカー」は６３１２文書、「カーワ」は、たった１３文書にしか含まれない。グラム「ッカー」に比べてグラム「カーワ」は、稀少性が高いグラムであることがわかる。
【００３６】
グラム「サッカ」を含む５１６７文書のうち、その形態素内位置が「開始」となるのは４１０３文書（約７９％）であり、「継続」となるのは１０６４文書（約２０％）である。インデックス保持部１３０には、各グラムごとの同図に示すような統計情報も格納されている。ある文書ファイルに同種のグラムが複数個含まれている場合には、そのうち最も多くのグラムの間で共通する形態素内位置が、その文書ファイルにおける当該グラムの形態素内位置として集計される。たとえば、ある文書ファイルにグラム「サッカ」が３つ含まれ、そのうち２つの「サッカ」の形態素内位置が「継続」であれば、残りの「サッカ」の形態素内位置の如何に関わらずその文書ファイルは「サッカ（継続）」としてカウントされる。
【００３７】
原形態素「サッカーワールドカップ」において、グラム「サッカ」の形態素内位置は「開始」、グラム「カップ」は「終了」、それ以外のグラムの形態素内位置は「継続」である。９種類のグラムのうち、グラムと形態素内位置が一致する文書ファイルの数が最も少ないのは「カーワ（継続）」であり、文書ファイル数は４である。コーパスにおいて「カーワ（継続）」を含む文書ファイルだけが、形態素「サッカーワールドカップ」を含む可能性があるから、この「４」は形態素「サッカーワールドカップ」の稀少性を示唆する数字である。推定数特定部１５０は、検索用テキストから抽出された形態素「サッカーワールドカップ」に含まれるグラム「カーワ」の形態素内位置「継続」に基づき、グラム「カーワ（継続）」を含む文書ファイルの数「４」を推定数として特定する。推定数が小さいほど、「カーワ（継続）」を含む文書ファイルと検索用テキストとの関連スコアが大きくなるが、詳しいアルゴリズムについては図８に関連して詳述する。
【００３８】
本実施例における推定数特定部１５０は、検索用テキストの形態素に含まれるグラムのうち、コーパスにおいてその形態素内位置が整合する文書ファイルが最も少なくなるグラムについて、その文書ファイル数を推定数として算出している。変形例として、推定数特定部１５０は、各グラムについて推定数を算出してもよい。たとえば、「サッカ（開始）」の４０１３や「ッカー（継続）」の１８２１といった文書数の平均値を推定数として算出してもよい。
【００３９】
なお、原形態素「サッカーワールドカップ」からは「サッカー」、「ワールド」、「カップ」という３つの部分形態素が抽出される。部分形態素「サッカー」の推定数はmin(4103,1821)より１８２１となる。ここで、minとは変数群の中の最小値を返す関数である。「サッカ（開始）」を含む文書の数は４１０３、「ッカー（終了）」を含む文書の数は１８２１だからである。同様の理由から、「ワールド」の推定数はmin(1835,1436)より１４３６、「カップ」の推定数は３１０となる。すなわち、コーパスにおいて、「サッカーワールドカップ」＞「カップ」＞「ワールド」＞「サッカー」の順に稀少性が高い。
【００４０】
図７は、原形態素「サッカーワールドカップ」に含まれる各グラムのコーパスにおける出現率を示す図である。
グラム「サッカ」の形態素内位置は７９％（４１０３÷５１６７）の確率で「開始」となる。出現率算出部１４０は、コーパスにおいてあるグラムの形態素内位置が「開始」または「開始−終了」となる確率を「前方出現率」として算出する。一方、グラム「ッカー」は６３１２文書に含まれ、そのうち、４４９１文書において形態素内位置は「終了」となる。出現率算出部１４０は、コーパスにおいてあるグラムの形態素内位置が「終了」または「開始−終了」となる確率を「後方出現率」として算出する。グラム「ッカー」の後方出現率は７１％である。
【００４１】
形態素抽出部１４４が対象テキストから原形態素を抽出し、グラム抽出部１４６がその形態素からグラムを抽出すると、出現率算出部１４０は各グラムについて前方出現率と後方出現率を計算する。同図によると、「サッカーワールドカップ」において「ッカー」というグラムは形態素の終了に使われることが多く、形態素「サッカーワールドカップ」においてグラム「ッカー」の後方に隣接するグラム「ワール」は、形態素の先頭に使われることが多い。すなわち、「サッカーワールドカップ」という一連の形態素においては、「サッカー」と「ワールドカップ」の間に意味上の境界が存在する可能性が高いという推定が成り立つ。同様にして、「ワールドカップ」は「ワールド」と「カップ」の間に意味上の境界が存在する可能性が高い。
【００４２】
形態素分解部１４８は、各グラムの前方出現率と後方出現率を参照し、形態素中におけるグラムＡの後方出現率が所定値、たとえば、３０％以上、形態素中においてグラムＡの後方に隣接するグラムＢの前方出現率が所定値、たとえば、２５％以上となるとき、形態素においてグラムＡとグラムＢの間に意味上の境界が存在すると判定する。先ほどの例に戻ると、形態素分解部１４８は、原形態素「サッカーワールドカップ」から「サッカー」、「ワールド」、「カップ」という３つの部分形態素を抽出する。このようなアルゴリズムにより形態素分離処理が実行される。
【００４３】
図８は、図５のＳ３２における関連スコア計算処理について、第１計算方法の処理過程を示すフローチャートである。
ここでは、検索部１２６により検索用テキストに含まれる全ての検索タームを対象として関連候補ファイルが検出されている。先述した検索用テキスト「２００６年のサッカーワールドカップに優勝するチームとして・・・」からは、「２００６」や「サッカーワールドカップ」、「サッカー」、・・・など、多くの検索タームが抽出されることになる。
【００４４】
推定数特定部１５０は、図５のＳ２８で特定された１以上の検索タームから、調査対象の検索タームを選択し（Ｓ４０）、推定数を特定する（Ｓ４２）。出現頻度計数部１５２は、その検索タームについての関連候補ファイルにおいて検索タームが出現する回数を出現頻度として計数する（Ｓ４４）。関連スコア算出部１２８は、検索タームと関連候補ファイルの内容の関連性の高さをタームスコアとして算出する。関連スコア算出部１２８は、出現頻度が大きく推定数が小さいほどタームスコアが高くなる任意の関数によりタームスコアを算出する（Ｓ４６）。これは、コーパスにおいて稀少な検索タームであるほど、また、その検索タームが文書中に多く出現するほど、その文書ファイルは検索タームとの関連性が高いという判断に基づく。検索タームの稀少性と出現頻度に基づく文書内容評価方法は、自然言語による検索アルゴリズムとして実績のあるＴＦ／ＩＤＦ（Term Frequency/Inverce Document Frequency）法の考え方を踏襲したものである。本実施例では、
タームスコア＝出現頻度×（log(１／推定数)＋１）
という計算式により、タームスコアを算出する。
【００４５】
関連スコア算出部１２８は、更に検索タームがあれば（Ｓ４８のＹ）、その検索タームについてのタームスコアを計算する。全ての検索タームについてタームスコアが算出されると（Ｓ４８のＮ）、関連スコア算出部１２８はこれらのタームスコアの合計値や平均値を関連スコアとして算出する（Ｓ５０）。
【００４６】
第１計算方法による関連スコア計算処理によると、検索用テキストに含まれる検索タームと同じ形態素を含む文書ファイルを対象とし、その検索タームのコーパスにおける稀少性を考慮してタームスコアを算出できる。なお、必ずしも全ての検索タームについてタームスコアを算出しなくてもよい。たとえば、１文字の形態素については、タームスコアの算出対象から除外すれば、関連スコア計算をより高速に実行できる。あるいは、複数のタームスコアの最高値や最低値を関連スコアとしてもよい。
次に第２計算方法による関連スコア計算処理を説明するが、その前に、その前提となる第１出現数、第２出現数、語句確率、重み係数および中間値の考え方について説明する。
【００４７】
図９は、原形態素「サッカーワールドカップ」に含まれる各部分形態素の語句確率と中間値の関係を示す図である。
同図に示す第１出現数の考え方は、推定数の考え方と似ている。たとえば、部分形態素「ワールド」や原形態素「サッカーワールドカップ」において、グラム「ワール」の形態素内位置は「開始」または「継続」、グラム「ールド」の形態素内位置は「終了」または「継続」である。このとき、部分形態素「ワールド」の第１出現数を
第１出現数＝min(「ワール（開始）」または「ワール（継続）」を含む文書数、「ールド（継続）」または「ールド（終了）」を含む文書数)
により算出する。図６に示したデータによると、「ワールド」についての第１出現数はmin(１８３５＋５２９,１４３６＋２５６１)より、２３６４となる。
【００４８】
この第１出現数は、「文書ファイル中においてある形態素Ａが、本来の意味において用いられていると推定される文書ファイルの数」を示す。たとえば、「プラス」という部分形態素は、ある文書ファイルにおいては「ラプラス」という形態素の一部として検出されるかもしれないし、「プラスチック」という形態素の一部として検出されるかもしれない。第１出現数は、その部分形態素を含む文書ファイル群から、その部分形態素を示す文字列が別の意味を示す形態素の一部となっている文書ファイルを除いたときの文書ファイル数を特定するための数値である。部分形態素「サッカー」の第１出現数は、min(4103,4491+1821)より４１０３、部分形態素「カップ」の第１出現数は、2098+310より2408となる。このように、第１出現数は、グラムの原形態素や部分形態素に対する形態素内位置と、文書ファイルにおけるそのグラムの形態素内位置が整合する文書ファイルの数に基づいて特定される。
【００４９】
第２出現数は、意味としての整合性を考慮することなく特定される。たとえば、形態素「ワールド」の第２出現数は、min(「ワール」を含む文書数（２４５４）、「ールド」を含む文書数（３９９７）)より２４５４となる。第２出現数は、部分形態素中のグラムを含む文書ファイルの数に基づいて特定される。
【００５０】
図５のＳ３２における関連スコア計算処理を、第２計算方法により実行する場合、語句確率算出部１４２は第１出現数÷第２出現数により語句確率を算出する。同図の場合、「ワールド」の語句確率は２３６４÷２４５４＝０．９６である。語句確率は、「その形態素を文字列として含む文書ファイル群のうち、その形態素が本来の意味において使われている確率」を示唆する数値である。本実施例の場合、「サッカー」、「ワールド」、「カップ」のそれぞれの語句確率は、０．７９、０．９６、０．７９となる。部分形態素「ワールド」はコーパスにおいても９６％という高い確率にて本来の意味にて使用されていることがわかる。いいかえれば、部分形態素「ワールド」は、先に示した部分形態素「プラス」のように、他の形態素の一部として一体化しにくい独立性の高い用語であることがわかる。「プラス」という文字列を含む文書ファイルでは、「プラス」が「ラプラス」や「プラスチック」のような違う意味で使われている可能性があるが、「ワールド」という文字列を含む文書ファイルでは、「ワールド」という本来の意味で使われている可能性が高い。第２計算方法においては、「ワールド」のような独立性の高い検索タームについてのタームスコアを高く評価する。
【００５１】
部分形態素「サッカー」、「ワールド」、「カップ」のうち、「サッカーワールドカップ」という用語にとって最も重要な部分形態素は「サッカー」であると考えられる。これは、長い文字列であらわされる用語において、その用語の先頭部分にその用語の意味が現れることが多いという経験則に基づく。たとえば、「徳島県」という原形態素の場合、先頭の「徳島」という部分形態素は「県」という部分形態素よりも原形態素の特徴をより強く示している。そこで、第２計算方法においては、部分形態素「サッカー」のように原形態素の開始部分に位置する部分形態素はそれ以外に位置する部分形態素よりもタームスコアに重みをつける。本発明者らの調査によると、原形態素の開始部分の部分形態素、継続部分の部分形態素、終了部分の部分形態素に８：３：５の比率で重み付けをしたときに、再現率（検索漏れの少なさ）および適合率（ミスヒットの少なさ）が共に最適値となった。そこで、本実施例における第２計算方法では、重み係数を開始：０．８、継続：０．３、終了：０．５と設定し、関連スコア算出部１２８は、
中間値＝語句確率×重み係数
として検索タームごとに中間値を算出する。中間値は１以下の数値であり、検索タームの用語としての独立性の高さと検索用テキストにおける重要度を示す数値である。「サッカーワールドカップ」のような原形態素の中間値は「１」に固定する。第２計算方法においては、この中間値に基づいて関連スコアが算出される。
【００５２】
図１０は、図５のＳ３２における関連スコア計算処理について、第２計算方法の処理過程を示すフローチャートである。
語句確率算出部１４２は、検索タームを選択し（Ｓ６０）、語句確率を算出する（Ｓ６２）。関連スコア算出部１２８は、上記式により検索タームの中間値を算出する（Ｓ６４）。関連スコア算出部１２８は、関連候補ファイルにおける検索タームの出現頻度を計数し、出現頻度と中間値が高いほどタームスコアが高くなる任意の関数によりタームスコアを算出する（Ｓ６６）。形態素が本来の意味で用いられる可能性が高く、また、部分形態素であれば原形態素において重要な位置であるほど、また、その検索タームが文書中に多く出現するほど、その文書ファイルは検索用テキストとの関連性が高い内容であるという判断に基づく。本実施例では、
タームスコア＝中間値×出現頻度
という計算式により、タームスコアを算出する。
【００５３】
更に発展した例では、関連候補ファイルの形態素中における検索タームの位置により、タームスコアを調整してもよい。たとえば、検索タームが「京都」である場合、「京都」、「京都府」、「東京都」、「東京都営」という形態素を含む文書ファイルは、いずれも関連候補ファイルとして検出されることになる。しかし、完全一致の「京都」、前方一致の「京都府」であればまだしも、後方一致の「東京都」、部分一致の「東京都営」は、検索ターム「京都」とは文字列として一致しても内容としての関連性は低い。そこで、文書ファイルにおける形態素と検索タームとの一致の仕方に応じて調整係数を設定する。具体的には、完全一致：１．０、前方一致：０．６、部分一致：０．２、後方一致：０．４として設定する。この場合、
タームスコア＝中間値×Σ（調整係数）
という計算式により、タームスコアを算出する。Σ（調整係数）は、関連候補ファイルに含まれる検索タームの数だけ、調整係数を合計することを意味する。
【００５４】
たとえば、ある文書ファイルにおいて、「京都」という文字列が３つ検出され、それぞれの一致の仕方が完全一致、前方一致、部分一致であったとする。中間値が０．６とすると、
タームスコア＝０．６×（１．０＋０．６＋０．２）＝１．０８
となる。このような計算方法によれば、関連候補ファイルにおける検索タームの一致の仕方とその出現頻度を加味したタームスコアを算出できる。
【００５５】
関連スコア算出部１２８は、更に検索タームがあれば（Ｓ６８のＹ）、その検索タームについてタームスコアを計算する。検索用テキストから検出された全ての検索タームについてタームスコアが算出されると（Ｓ６８のＮ）、関連スコア算出部１２８はこれらのタームスコアの合計値を関連スコアとして算出する。
【００５６】
第２計算方法による関連スコア計算処理によると、検索タームの重要性と文書ファイルにおける出現態様を考慮したタームスコアを算出できる。なお、必ずしも全ての検索タームについてタームスコアを算出しなくてもよいことは第１計算方法と同様である。
【００５７】
第２計算方法における語句確率や重み係数、調整係数という考え方は、第１計算方法にも応用可能である。たとえば、第１の計算方法において、
Ａ：タームスコア＝Σ（調整係数）×（log(１／推定数)＋１）
Ｂ：タームスコア＝Σ（中間値）×（log(１／推定数)＋１）
Ｃ：タームスコア＝Σ（中間値×調整係数）×（log(１／推定数)＋１）
としてタームスコアを算出してもよい。
【００５８】
以上、本実施例に示す文書検索装置１００によると、第１計算方法、第２計算方法のいずれについても、形態素解析のみに基づく文書検索処理に比べて再現率および適合率共に改善された。形態素解析の場合、どのような意味単位で形態素を抽出するかにより文書検索の精度が変化する。本実施例の文書検索装置１００の場合、前方出現率や後方出現率によって、原形態素から合理的に部分形態素を抽出できる。原形態素のみならず部分形態素も検索タームとして関連スコアを算出するため、形態素解析における「どのような意味単位で形態素を抽出すべきか」という曖昧性・恣意性を、合理的に解決できる。
【００５９】
たとえば、「一般教養課程」を「般教」と略して使用することが多いコーパスを想定する。従来の形態素解析の場合、形態素「一般教養課程」から俗語的な形態素「般教」を抽出することは困難である。しかし、本実施例の文書検索装置１００によれば、前方出現率と後方出現率によって、「般教」という用語を意味を持つ形態素として抽出できる。したがって、「一般教養課程」という原形態素を含む検索用テキストが入力されたとき、形態素分解部１４８はこの原形態素から部分形態素「般教」を抽出しやすくなる。そのため、「一般教養課程」と「般教」という文字列としては別物であっても意味としては近い関係にある形態素を関連スコア計算の上で考慮できる。形態素分解処理が文書検索精度を向上させる一因となっている。
【００６０】
第１計算方法においては、推定数によって、検索タームのコーパスにおける稀少性を指標化している。「サッカーワールドカップ」という文字列を含む文書の数を厳密に計数するとすれば、インデックス情報を参照して「サッカーワールドカップ」という１１文字が並ぶ文書ファイルを検出するための処理が必要である。これに対し、インデックス情報から、あらかじめ図６に示すデータを集計しておけば、推定数特定部１５０は、任意の形態素の稀少性を推定数により簡単に指標化できる。推定数は、形態素の稀少性を厳密に示す数値ではないが、その稀少性を近似的に示す数値として有効に利用できる。
【００６１】
第２計算方法においては、語句確率によって、検索タームの用語としての独立性を指標化している。語句確率により、検索用テキストの形態素と文書ファイルの形態素が文字列として一致しても、異なる意味で使われる可能性を考慮に入れることができる。更に、原形態素における部分形態素の位置や、文書ファイルにおける検索タームの出現態様を重み係数や調整係数により考慮に入れることができるため、文書検索の精度をいっそう高めることができる。
【００６２】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００６３】
請求項に記載の「検索用形態素」は、本実施例における原形態素または部分形態素の双方または一方により表現されている。請求項に記載の「特定グラム」は、本実施例におけるグラム「カーワ」により表現されている。
これら請求項に記載の各構成要件が果たすべき機能は、本実施例において示された各機能ブロックの単体もしくはそれらの連係によって実現されることも当業者には理解されるところである。
【図面の簡単な説明】
【００６４】
【図１】文書検索装置による処理の概要を説明するための模式図である。
【図２】インデックス保持部のデータ構造図である。
【図３】インデックス情報の生成過程を示すフローチャートである。
【図４】文書検索装置の機能ブロック図である。
【図５】関連文書ファイルを特定するための処理過程を示すフローチャートである。
【図６】原形態素「サッカーワールドカップ」に含まれる各グラムのコーパスにおける出現態様を示す図である。
【図７】原形態素「サッカーワールドカップ」に含まれる各グラムのコーパスにおける出現率を示す図である。
【図８】図５のＳ３２における関連スコア計算処理について、第１計算方法の処理過程を示すフローチャートである。
【図９】原形態素「サッカーワールドカップ」に含まれる各部分形態素の語句確率と中間値の関係を示す図である。
【図１０】図５のＳ３２における関連スコア計算処理について、第２の計算方法の処理過程を示すフローチャートである。
【符号の説明】
【００６５】
１００  文書検索装置、  １１０  ユーザインタフェース処理部、  １１２  入力部、  １１４  表示部、  １１６  検索用テキスト取得部、  １２０  データ処理部、  １２２  解析部、  １２４  統計部、  １２６  検索部、  １２８  関連スコア算出部、  １３０  インデックス保持部、  １３２  グラム名欄、  １３４  文書ＩＤ欄、  １３６  文書内位置欄、  １３８  形態素内位置欄、  １４０  出現率算出部、  １４２  語句確率算出部、  １４４  形態素抽出部、  １４６  グラム抽出部、  １４８  形態素分解部、  １５０  推定数特定部、  １５２  出現頻度計数部、  ２００  文書データベース。
【図１】
2008090401.tif 000003
【図２】
2008090401.tif 000004
【図３】
2008090401.tif 000005
【図４】
2008090401.tif 000006
【図５】
2008090401.tif 000007
【図６】
2008090401.tif 000008
【図７】
2008090401.tif 000009
【図８】
2008090401.tif 000010
【図９】
2008090401.tif 000011
【図１０】
2008090401.tif 000012