JPH09153051A - 類似文書検索方法 - Google Patents

類似文書検索方法

Info

Publication number
JPH09153051A
JPH09153051A JP7310325A JP31032595A JPH09153051A JP H09153051 A JPH09153051 A JP H09153051A JP 7310325 A JP7310325 A JP 7310325A JP 31032595 A JP31032595 A JP 31032595A JP H09153051 A JPH09153051 A JP H09153051A
Authority
JP
Japan
Prior art keywords
text
document
program
appearance frequency
similarity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP7310325A
Other languages
English (en)
Other versions
JP3674119B2 (ja
Inventor
Natsuko Mizutani
奈津子 水谷
Hisamitsu Kawaguchi
川口  久光
Atsushi Hatakeyama
敦 畠山
Katsumi Tada
勝己 多田
Kanji Kato
寛次 加藤
Satoshi Asakawa
悟志 浅川
Akio Azuma
秋夫 東
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP31032595A priority Critical patent/JP3674119B2/ja
Publication of JPH09153051A publication Critical patent/JPH09153051A/ja
Application granted granted Critical
Publication of JP3674119B2 publication Critical patent/JP3674119B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】本発明の課題は、文字種の多い日本語等の文書
データベースに対しても、高速で低ノイズのレリバンス
・フィードバックを実現する文書検索システムを提供す
ることである。 【解決手段】対象テキストデータベース中のテキスト1
03に存在する所定の部分文字列のテキストにおける出
現頻度を出現頻度ファイル106として格納するステッ
プと、これらの部分文字列の重みを重み算出プログラム
117で算出して重みファイル105として格納するス
テップと、ユーザが指定したテキストから重みが所定の
基準を満たす部分文字列を抽出するステップとを有し、
出現頻度ファイル106と重みファイル105を用いて
ユーザが指定したテキストに対する類似度を算出し、算
出された類似度を用いて文書を検索する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、大規模文書データ
ベースを対象に検索を行い、検索結果を検索条件に関連
の深い順に整列して出力する文書検索システムに係る。
特に、ユーザが検索結果の中から必要な文書を選択する
ことによってその文書に関連の深い順に文書を並べ直す
ことができる類似文書検索方法に関する。このとき特
に、大規模文書データベース中の文書は、日本語、中国
語などのように分かち書きされていないものに向いてい
る。
【0002】
【従来の技術】近年、ワードプロセッサ等により作成さ
れる電子化文書は増大しており、今後も増大していくこ
とが見込まれる。このため、文書検索の対象となるデー
タベースも大規模になってきている。その結果、文書検
索によって得られる検索結果としての文書集合も大型化
する。それゆえ、この集合の中からユーザが、本当に欲
しい文書を探し出すことが非常に困難になってきてい
る。
【0003】この問題を解決するため、従来よりReleva
nce Ranking(レリバンス・ランキング)ならびにRelev
ance Feedback(レリバンス・フィードバック)と呼ば
れる技術が提案されている。
【0004】レリバンス・ランキングについては、「Ra
nking Algorithms」(Donna Harman著,Information Re
trieval,p.363−392)に具体的に記載されてい
る。以下、これを従来技術1と呼ぶ。従来技術1は、ユ
ーザが指定した検索条件(単一もしくは複数の単語の
列)に関連の深い順にデータベース中の文書を並べると
いうものである。以下、図2を用いてその内容を説明す
る。
【0005】検索は、簡単なベクトル演算によって実現
される。このベクトルの要素は、データベース中に出現
する全ての単語を重複削除したもの(但し,ストップワ
ード等は除く)である。図2の例では、(factors,inf
ormation,help,human,operation,retrieval,syste
ms)が要素となっている。検索条件式にその要素が存在
すれば「1」を、存在しなければ「0」を該当位置に立
てる。このことによって、検索条件式のベクトルQ0が
作成される。すなわち、「human factors in informati
on retrieval systems」という検索条件式に対し、
(1,1,0,1,0,1,1)というベクトルQ0が
作成される。
【0006】データベース中の文書に対しても同様に文
書のベクトルが作成される。各要素である「human」「f
actors」「information」「retrieval」が含まれる文書
1に対し、ベクトルV1(1,1,0,1,0,1,0)
が作成される。また、「human」「factors」「help」
「systems」が含まれる文書2に対し、ベクトルV2
(1,0,1,1,0,0,1)が、作成される。さら
に、「factors」「operation」「systems」を含む文書
3に対し、ベクトルV3(1,0,0,0,1,0,1)
が作成される。
【0007】ここで、ランキングに用いられる得点は、
検索条件式のベクトルQ0と文書のベクトルViとのベクト
ル積Vi・Q0をとることによって算出される。その結果、
文書1が4点、文書2が3点、文書3が2点となる。こ
れらの文書を得点の高い順に並べることによって、レリ
バンス・ランキングが実現される。つまり、関連の高い
文書から並べることができる。
【0008】なお、文書のベクトルについては、ベクト
ルの要素を「1」「0」ではなく、単語の出現頻度で表
現することも可能である。例えば、文書1には、「huma
n」が5個、「factors」が2個、「information」が3
個、「retrieval」が3個含まれるとする。この文書1
に対し、ベクトルV'1(2,3,0,5,0,3,0)
が作成される。また、文書2には、「human」が5個、
「factors」が2個、「help」が4個、「systems」が1
個含まれるとする。この文書2に対し、ベクトルV'2
(2,0,4,5,0,0,1)が作成される。また、
「factors」が2個、「operation」が2個、「system
s」が1個含まれるとする。この文書3に対し、ベクト
ルV'3(2,0,0,0,2,0,1)が作成される。
【0009】これらのベクトルV'iと検索条件式のベク
トルQ0とのベクトル積V'i・Q0をとることによって、各
文書の得点が算出される。その結果、文書1が13点、
文書2が8点、文書3が3点となる。この点に従って文
書を降順に並べることによって、レリバンス・ランキン
グが実現される。つまり、文書1が最も関連が深く、文
書3が最も関連がない、との結果を得る。
【0010】レリバンス・フィードバックについては、
「Relevance Feedback and Other Query Modification
Techniques」(Donna Harman著,Information Retrieva
l,p.241−263)に記載されている。以下、これ
を従来技術2と呼ぶ。これは、所定の観点でランキング
された文書の集合から適切な(もしくは不適切な)文書
を、ユーザが指定することによって、その文書に関連の
深い(もしくは関連のない)順にデータベース中の文書
を並べ直すというものである。これは、所定の観点で行
われたランキングに用いた検索条件のベクトルをユーザ
が指定した文書に基づいて修正する。さらに、この修正
したベクトルを用いてランキングをし直すことによって
実現される。修正後のベクトルを算出する最も単純な式
は、以下の(数1)で表される。
【0011】
【数1】
【0012】ここで、Q0は、前回のランキングに用いた
検索条件式のベクトルである。Q1は、修正後の検索条件
式のベクトルである。Riは、適切な文書iのベクトルで
ある。Siは、不適切な文書iのベクトルである。n1は、
適切な文書の数である。n2は、不適切な文書の数であ
る。
【0013】従来技術1や従来技術2のような方法を用
いるには、データベース中の単語のインデックスを作成
し、なおかつそれを検索に用いる単語インデックス方式
を採用する必要がある。しかし、分かち書きのされてい
ない日本語のような文書に対し,単語インデックス方式
を用いると次のような問題が生じる。
【0014】(1)単語を抽出するために、文字種分割
(文字種が変化したところで文字列を分割)や形態素解
析等を用いる必要がある。このため、単語の抽出の仕方
によっては検索できない単語が発生する。例えば、「開
発作業」だけを単語として抽出した場合には「開発」で
は検索ができないことになる。
【0015】(2)また、検索漏れが生じる場合もあ
る。例えば、文書1に「開発作業」というインデックス
が、文書2に「開発」というインデックスが付与されて
いるとする。「開発」が検索タームとして指定された場
合、文書2は探し出すことができるが、文書1は探し出
すことができない。このため、検索漏れが生じる。これ
らの問題は、単語を接続して新たな単語が作られる独語
などにもある。
【0016】以上のような問題を解決するものとして、
特開昭64−35627号公報(以下、従来技術3と呼
ぶ)がある。この従来技術3は、分かち書きのされてい
ない日本語のような文書に対しての問題を解決するもの
である。従来技術3は、n文字が連続する文字列(以
下、n-gramと呼ぶ)のインデックスを用いて検索を行う
n-gramインデックス方式である。本方式を用いれば、単
語を意識することなく登録および検索を行うことが可能
となる。従来技術3は、文書の登録時に、データベース
へ登録する文書のテキストデータからn-gram(従来技術
3では、文字連鎖と呼んでいる)とそのn-gramのテキス
ト中における出現位置をインデックスとして磁気ディス
ク装置に格納しておく。検索時には指定された検索文字
列(以下、検索タームと呼ぶ)中に存在するn-gramを抽
出する。抽出されたn-gramに対応するインデックスを上
記磁気ディスク装置から読み込み、インデックス中のn-
gramの出現位置を比較する。比較の結果、検索タームか
ら抽出したn-gramの位置関係とインデックス中のn-gram
の位置関係が、等しいかどうかを判定する。このことに
よって、指定された検索タームが出現する文書を高速に
探し出す方式が開示されている。
【0017】以下、この従来技術3について図3を用い
て具体的にその内容を説明する。本図では、説明の都合
上、インデックスに出現位置のみを格納した場合を示
す。実際には文書番号と出現位置を格納し文書検索に用
いてもよい。また、本図ではn-gramのnの値を3と想定
している。
【0018】まず、文書の登録時にデータベースに登録
するテキスト301がインデックス作成部302に読み
込まれ、n-gramインデックス300が作成される。この
n-gramインデックス300には、テキスト301に出現
する全ての3-gramとテキスト301におけるその3-gram
の出現位置が格納される。例えば、本図に示すテキスト
301では、「abc」という3-gramはテキスト301の
2文字目、9文字目、・・・に現われる。したがって、n-g
ramインデックス300には3-gram「abc」とこれに対応
した形で出現位置{2,9,・・・}が格納される。
【0019】検索時には、まず、検索タームがn-gram抽
出部303に入力され、検索ターム中に存在する全ての
n-gramとそのn-gramの検索タームにおける出現位置が抽
出される。次に、抽出されたn-gramとこれに対応するn-
gramの検索タームにおける出現位置が、インデックス検
索部304に入力される。インデックス検索部304で
は、検索タームから抽出されたn-gramに対応するインデ
ックスがn-gramインデックス300から読み込まれる。
そして、これらのインデックスの中から検索ターム中の
位置関係と同じ出現位置を持つものが抽出され、検索結
果として出力される。本図の例では、検索タームとして
「abcd」が入力された場合、まずn-gram抽出部303に
おいて、「n-gram「abc」,n-gram位置「1」」と「n-g
ram「bcd」,n-gram位置「2」」が抽出される。ここ
で、n-gram位置「1」は、検索タームの先頭、n-gram位
置「2」は、その次の文字位置を示す。次に、インデッ
クス検索部304において、n-gramインデックス300
からn-gram「abc」と「bcd」に対応するインデックスが
読み込まれる。これらのインデックスにおける出現位置
が、n-gram位置「1」とn-gram位置「2」のように連続
するもの(すなわち隣接するもの)が、抽出され検索結
果として出力される。実際には,文書番号もインデック
スに格納されており、文書番号が一致していることも判
定される。その結果、文書番号が一致し、出現位置が検
索ターム中の位置関係と同じであるものが抽出され、そ
の文書番号が検索結果として出力される。
【0020】本図では、n-gram「abc」の出現位置
「2」とn-gram「bcd」の出現位置「3」が隣接するた
め、n-gram「abcd」が文字列として存在することが分か
る。このため、テキスト中に検索ターム「abcd」が、出
現することが示される。しかし、n-gram「abc」の出現
位置「2」とn-gram「bcd」の出現位置「18」、n-gra
m「abc」の出現位置「9」とn-gram「bcd」の出現位置
「3」、n-gram「abc」の出現位置「9」とn-gram「bc
d」の出現位置「20」は隣接していない。このため、
この位置には検索ターム「abcd」が出現しないことがわ
かる。
【0021】このようなn-gramインデックス方式におい
て、レリバンス・フィードバックを実現する方法が、
「特開平6−110948号」(以下,従来技術4と呼
ぶ)に開示されている。以下、図4を用いて、本従来技
術によるレリバンス・フィードバックの手順を説明す
る。
【0022】(ステップ1)データベース中のそれぞれ
の文書から全てのn-gram(nはあらかじめ決められた1
以上の整数)を抽出する。
【0023】(ステップ2)上記(ステップ1)で抽出
されたn-gramを重複削除したn-gramに対し、その出現頻
度を基に文書毎にウェートを割り当てる。
【0024】(ステップ3)データベース中の文書間の
共通性を所定の計算式を用いて算出し、この値を各n-gr
amのウェートから差し引く。
【0025】(ステップ4)上記(ステップ3)で算出
したウェートを用いて、ユーザが選択した文書とデータ
ベース中の文書との間の得点を算出する。
【0026】(ステップ5)上記(ステップ4)で算出
した得点の高い順に文書を出力する。
【0027】以下、文書1「新開発の心電計による発作
時の心電図」、文書2「新しいソフトウェアの開発作
業」、文書3「ソフト開発を支援するソフトウェア」
が、登録されているデータベースを対象にn-gramのnの
値を2とし、文書2をユーザが選択した場合を例に具体
的に手順を説明する。まず、データベース中の文書1〜
文書3からn-gramを抽出する。
【0028】
【表1】
【0029】表1に、文書1中に存在する2-gramを重複
削除した2-gramを全て示す。次に、示された2-gramの各
々に対し正規化出現頻度(本従来技術ではウェートと呼
んでいる)を計算する。この正規化出現頻度は、各々の
2-gramの出現頻度をその文書中にある2-gramの総数で割
ることによって得られる。文書2および文書3に対して
も、同様の処理が施され、表2および表3に示す正規化
出現頻度が得られる。
【0030】
【表2】
【0031】
【表3】
【0032】その後、データベース中の文書間の共通性
が除去される。ここでは、まず第1にデータベース中に
存在する2-gramを重複削除した2-gramについて、その平
均ウェート(本従来技術では共通性ウェートと呼んでい
る)が算出される。平均ウェートは、各2-gramについ
て、データベース中の全文書の正規化出現頻度の合計を
全文書の数で割ることによって算出される。
【0033】
【表4】
【0034】表4に、文書1、文書2および文書3の間
の平均ウェートを示す。例えば、2-gram「新開」の平均
ウェートは、(0.063+0.0+0.0)/3=0.021である。また、2
-gram「開発」の平均ウェートは、(0.063+0.077+0.067)
/3=0.069となる。2-gram「新開」は、文書2および文書
3に出現していないので、正規化出現頻度はそれぞれ0.
0となっている。平均ウェートは各n-gramの正規化出現
頻度の平均値である。この値をn-gramの正規化出現頻度
から差し引くことにより、データベース中の文書間の共
通性を除去する。もし、あるn-gramが全ての文書に同じ
割合で出現していれば、正規化出現頻度も平均ウェート
も全て同じ値となる。また、共通性を除去した正規化出
現頻度(以下、正規化ウェートと呼ぶ)は、「0」とな
る。つまり、ストップワードのようにどの文書にも同じ
ように出現するn-gramに対しては、正規化出現頻度を限
りなく「0」に近づけ、その影響を小さくすることがで
きる。表5、表6および表7に文書1、文書2および文
書3の正規化ウェートを示す。
【0035】
【表5】
【0036】
【表6】
【0037】
【表7】
【0038】以上のようにして得られた正規化ウェート
を用いて、ユーザが選択した文書とデータベース中の全
文書との類似性を得点(以下、類似度と呼ぶ)として表
わす。類似度は、以下に示す数2によって算出される。
【0039】
【数2】
【0040】ここで、Uiは、選択文書のn-gram(i)の
正規化ウェートを示し、Riは、データベース中の文書の
n-gram(i)の正規化ウェートを示す。数2を用いて、
選択文書である文書2とデータベース中の全ての文書と
の類似度を算出すると以下のようになる。文書1は、0.
018、文書2は、1、文書3は、0.119である。最後に、
得られた得点の降順に文書が出力される。この例では、
文書2、文書3、文書1の順で出力されることになる。
【0041】このようにn-gram単位でレリバンス・フィ
ードバックを行っているため、単語の識別を行う必要が
なく、分かち書きのされていない日本語のような文書に
対しても適用が可能となっている。
【0042】
【発明が解決しようとする課題】しかしながら、以上説
明した従来技術4では、以下に示す問題が残されてい
る。
【0043】(1)処理時間の問題 日本語の場合、n-gramの種類数が多いため、データベー
ス中の全てのn-gramを対象にして得点の算出処理を行う
と膨大な時間が掛かる。英語の場合、文字の種類が55種
であり、2-gramの種類数はその二乗の3,025種となる。
しかし、日本語は漢字第1水準だけでも1,024種も存在
し、その組み合わせとなる2-gramの種類は1,048,576種
にもおよぶ。さらに平仮名、片仮名等も含めると2-gram
の種類は膨大な数になり、得点の算出に長大な時間を要
する。
【0044】(2)ランキング・ノイズの問題 n-gramを単位としてレリバンス・フィードバックを行っ
ているため、全く関係のない文書が上位にランキングさ
れる可能性がある。従来技術4の説明を行ったときに用
いた文書1、文書2および文書3から構成されるデータ
ベースに文書4「ソフトの新製品の新聞発表」を加えた
データベースを例にこの問題を説明する。本例で文書2
が、ユーザに選択されたとする。
【0045】
【表8】
【0046】表8に文書4に存在する全ての2-gramを重
複削除した2-gramに対する、正規化出現頻度を示す。こ
の文書4の正規化出現頻度と表1〜表3に示した文書1
〜文書3の正規化出現頻度を用いて、データベース中の
文書間の共通性が除去される。
【0047】まず、各2-gramの平均ウェートが算出され
る。
【0048】
【表9】
【0049】表9に、文書1〜文書4における平均ウェ
ートを示す。例えば、2-gram「ソフ」の平均ウェート
は、(0.0+0.077+0.133+0.091)/4=0.075となる。次に、
この平均ウェートをn-gramの正規化出現頻度から差し引
くことにより、データベース中の文書間の共通性を除去
した正規化ウェートを求める。
【0050】
【表10】
【0051】
【表11】
【0052】
【表12】
【0053】表10、表11および表12に示したもの
は文書1、文書2および文書4の共通性を除去した正規
化ウェートである。これらを用いて、選択文書である文
書2に対する文書1と文書4の類似度を算出し、比較す
ると以下の通りになる。文書1は0.043、文書4は、0.0
02である。
【0054】この結果、文書2、文書4ともにソフトウ
ェアに関する文書であるにもかかわらず、全く関係のな
い文書1の方が文書2に類似していると判断されてしま
う。これは、文書2の「開発作業」中の2-gramである
「開発」、「発作」が文書1に存在しているためであ
る。n-gramは単語のように意味的にまとまった単位の文
字列ではないため、同じn-gramであっても同じ意味を持
つn-gramとは限らない。そのため、この例のように全く
関係のない文書が上位にランキングされてしまうという
問題が生じる。
【0055】こうした問題に対し、本発明では以下の課
題を解決することを目的とする。また、本発明は、n-gr
amを単位として行うレリバンス・フィードバックを対象
としている。
【0056】(1)文字種の多い日本語のような言語に
対しても、高速なレリバンス・フィードバックを実現す
る。 (2)n-gram単位に行うことによるノイズを減少させる
レリバンス・フィードバックを実現する。
【0057】
【課題を解決するための手段】上記課題を解決するため
に、本発明では、テキストデータの登録処理として以下
のステップを有する。
【0058】(ステップ1):テキストデータを読み込
むステップ (ステップ2)上記(ステップ1)で読み込んだテキス
トデータからn文字(nは予め定められた1以上の整数)
が連続する文字列(以下、n-gramと呼ぶ)を全て抽出
し、そのn-gramのテキストデータにおける出現頻度を算
出するステップ (ステップ3)上記(ステップ2)で算出された出現頻
度を該当する出現頻度ファイルに格納するステップ (ステップ4)上記(ステップ2)で算出された出現頻
度を基に、予め定められた算出式を用いて上記抽出n-gr
amに対する重みを算出するステップ (ステップ5)上記(ステップ4)で算出された重みを
該当する重みファイルに格納するステップ これらのステップは、重みを算出する重み算出ステップ
である。
【0059】また、検索処理として以下のステップを有
する。
【0060】(ステップ6)前記重みファイルを読み込
むステップ (ステップ7)前記出現頻度ファイルを読み込むステッ
プ (ステップ8)上記(ステップ6)で読み込まれた重み
ファイルの中で、重みが予め定められた基準を満たすn-
gramを全て、ユーザが選択したテキスト(以下、選択文
書と呼ぶ)から抽出し、そのn-gramの選択文書における
出現頻度を算出するステップ (ステップ9)上記(ステップ8)で抽出されたn-gram
の対象データベース中のテキストデータの出現頻度を、
上記(ステップ7)で読み込まれた出現頻度ファイルか
ら得るステップ (ステップ10)上記(ステップ8)と上記(ステップ
9)で算出された出現頻度ならびに上記(ステップ6)
で読み込まれたn-gramの重みを用いて、予め定められた
算出式を用いて選択文書とデータベース中のテキストデ
ータ間の類似度を算出するステップ (ステップ11)上記(ステップ10)で算出された類
似度を、予め定められた方法で修正するステップ (ステップ12)上記(ステップ11)で修正された類
似度の降順に、テキストデータの一覧を出力するステッ
プ (ステップ13)上記(ステップ11)で修正された類
似度を前回得点として主メモリに記憶するステップ 上記文書検索方法を用いた本発明の原理を、以下に説明
する。文書を登録する際には、(ステップ1)〜(ステ
ップ5)からなる重み算出ステップを実行する。まず、
(ステップ1)で登録対象となるテキストデータを読み
込む。次に、(ステップ2)において、(ステップ1)
で読み込まれたテキストデータ中の全てのn文字(nは予
め定められた1以上の整数)が連続する文字列(以下、
n-gramと呼ぶ)を抽出するそして、そのn-gramのテキス
トデータ中の出現頻度を算出する。例えば、表8に示し
た文書4「ソフトの新製品の新聞発表」から2-gramを抽
出すると、「2-gram「ソフ」は1回出現する」、「2-gra
m「の新」は2回出現する」といった情報が得られる。そ
して、(ステップ3)において、(ステップ2)で算出
された出現頻度を該当する出現頻度ファイルに格納す
る。図5に、出現頻度ファイルの例を示す。本図に示し
た出現頻度ファイルは、表1、表2、表3および表8に
示した文書1〜文書4を登録した場合の例である。次
に、(ステップ4)において(ステップ2)で算出され
た出現頻度を基に、予め定められた算出式を用いて上記
n-gramに対する重みを算出する。そして、(ステップ
5)においてその重みを該当する重みファイルに格納す
る。この重みとしては、例えば、従来技術4で示した平
均ウェート(本従来技術では共通性ウェートと呼ばれて
いる)を用いてもよい。重みの算出に、以下に示す数3
を用いる。
【0061】
【数3】
【0062】ここで、Fijはn-gram(i)のデータベース
中の文書jにおける出現頻度を示し、Cjはデータベース
中の文書jに存在するn-gramの総数を示す。また、nはデ
ータベース中の文書数である。図6に重みファイルの例
を示す。ここで示した重みは、表1〜表4に示した文書
1〜文書4が登録されている文書データベースを対象と
し、数3を用いて算出したものである。
【0063】検索時にユーザからレリバンス・フィード
バックの要求がなされた場合には、(ステップ6)〜
(ステップ11)からなるレリバンス・フィードバック
ステップを実行する。まず、(ステップ6)において
(ステップ5)で作成された重みファイルをメモリに読
み込む。次に、(ステップ7)において、(ステップ
3)で作成された出現頻度ファイルをメモリに読み込
む。次に、(ステップ8)において、(ステップ6)で
読み込まれた重みファイルの中で重みが予め定められた
基準を満たすn-gram全てをユーザが指定した選択文書か
ら抽出し、そのn-gramの選択文書における出現頻度を算
出する。
【0064】図7に文書4が選択された場合の(ステッ
プ8)のn-gram抽出処理の概要を示す。本図では、nを
2とし、2-gramを抽出するための基準として「重みが0.
050以上のもの」としている。文書4から2-gramを全て
抽出すると、「ソフ」「フト」「トの」「の新」「新
製」「製品」「品の」「新聞」「聞発」「発表」の10
種類(「の新」のみ2回出現)の2-gramが抽出される。
これに対し、「重みが0.050以上のもの」という基準で2
-gramを抽出すると、重みが0.075の「ソフ」「フト」お
よび0.052の「聞発」のみが抽出され、3種類の2-gram
に削減できる。このように本発明では、選択文書から抽
出するn-gramの種類数を削減している。
【0065】次に、(ステップ9)において、(ステッ
プ8)で抽出されたn-gramの対象データベース中の全文
書における出現頻度を(ステップ7)で読み込まれた出
現頻度ファイルから得る。そして、(ステップ10)に
おいて、(ステップ8)および(ステップ9)で算出さ
れた出現頻度ならびに(ステップ6)で読み込まれたn-
gramの重みから、予め定められた算出式を用いて選択文
書とデータベース中の全文書間の類似度を算出する。こ
の算出式は、従来技術4で示した数2を用いてもよい。
【0066】次に、(ステップ11)において、(ステ
ップ10)で算出された類似度を予め定められた方法で
修正する。この修正には、以下の2つの方法がある。
【0067】(1)算出した類似度を0〜1の間に正規
化して修正度とし、前回のランキングで得られた類似度
に乗ずる。
【0068】通常のレリバンス・ランキングでは、ユー
ザが指定した検索タームで検索を行い、その結果得られ
た検索タームの出現頻度を基に類似度の算出を行う。す
なわち、単語を単位としたランキングである。そのた
め、無意味なまとまりであるn-gramを単位としてランキ
ングを行う場合よりノイズが少ない。しかし、n-gramを
単位としてランキングを行う場合にでも、算出した類似
度を0〜1の間に正規化して修正度とし、前回のランキ
ングで得られた類似度に乗じて修正し新たな類似度を得
ることにより、単語を単位としたランキングの結果を利
用できる。このため、n-gramを単位とすることによるノ
イズを減少させることができる。
【0069】レリバンス・ランキングを行わずに、最初
から文書を選択してレリバンス・フィードバックを行っ
ていくこともできる。この場合,1回のレリバンス・フ
ィードバックだけではノイズが存在する可能性が高い。
しかし、上述したような修正を行いながらレリバンス・
フィードバックを繰り返していくことにより、1回のレ
リバンス・フィードバックでユーザが選択した文書のみ
に対する類似度ではなく、それまでのレリバンス・フィ
ードバックで選択してきた文書全てに対する類似度を算
出するのと同様な効果が得られる。このため、 n-gram
を単位とすることによるノイズを減少させることができ
る。
【0070】(2)前回までのレリバンス・フィードバ
ックでユーザが選択した文書に対する類似度を高くす
る。
【0071】ユーザが選択した文書は、ユーザが欲して
いる文書に近い文書である。このため、本来ならばレリ
バンス・フィードバックを繰り返していく過程におい
て、常に高い類似度を持たなければならない文書であ
る。しかし、n-gramをレリバンス・フィードバックの単
位とすることによって、これらの文書がその他の関係の
ない文書より類似度が低くなってしまう可能性がある。
そのため、それまでにユーザが選択した文書に対する得
点を高く(すなわち、ランキングで上位になければなら
ない文書の類似度を高く)することによって、その他の
関係のない文書の類似度を相対的に下げることになる。
このため、n-gramを単位とすることによるノイズを減少
させることができる。
【0072】また本発明では、(ステップ8)において
ユーザが指定した選択文書から抽出するn-gramを、その
重みが予め定められた基準を満たすn-gramのみに限定
し、その種類数を削減している。そのため、(ステップ
9)における対象データベース中の全文書における出現
頻度の取得処理と、(ステップ10)における文書間の
類似度算出処理を数を削減したn-gramのみを対象として
行えばよい。このため、これらの処理に掛かる時間を削
減することができる。その結果として、高速なレリバン
ス・フィードバックが可能となる。
【0073】以上の結果、文字種の多い日本語等の文書
データベースを対象にn-gramを単位としたレリバンス・
フィードバックを行った場合でも、(ステップ8)にお
いて処理対象となるn-gramの種類数を押さえることが可
能になる。このため、得点算出のための処理を削減する
ことができ、高速なレリバンス・フィードバックが可能
となる。また、(ステップ11)において、(ステップ
10)で算出した類似度を修正度として、前回のランキ
ングによって得られた類似度を修正して新たな類似度を
得るため、単語を単位としたランキングの類似度が利用
できる。さらに、それまでのレリバンス・フィードバッ
クでユーザが選択した文書全てにたいする類似度を算出
するのと同様な効果が得られるため、n-gramを算出単位
とすることによるノイズを削減することができる。
【0074】
【発明の実施の形態】以下、本発明の第一の実施例につ
いて図1を用いて説明する。本発明を適用した文書検索
システムは、ディスプレイ100、キーボード101、
中央演算処理装置(CPU)102、磁気ディスク装置
107、フロッピディスクドライバ(FDD)108、
主メモり111およびこれらを結ぶバス110から構成
される。磁気ディスク装置107は二次記憶装置の一つ
であり、テキスト103、インデックス104、重みフ
ァイル105および出現位置ファイル106が格納され
る。FDD108を介してフロッピディスク109に格
納されている情報が、主メモリ111あるいは磁気ディ
スク装置107へ読み込まれる。
【0075】主メモリ111には、システム制御プログ
ラム112、文書登録制御プログラム113、テキスト
登録プログラム114、インデックス作成登録プログラ
ム115、重みファイル作成登録プログラム116、検
索制御プログラム119、検索条件式解析プログラム1
20、インデックス検索プログラム121、レリバンス
・ランキングプログラム122、レリバンス・フィード
バックプログラム123およびソートプログラム128
が格納されるとともにワークエリア129が確保され
る。重みファイル作成登録プログラム116は、重み算
出プログラム117および重みファイル作成プログラム
118で構成される。また、レリバンス・フィードバッ
クプログラム123は、ファイル読込みプログラム12
4、n−gram抽出プログラム125、出現頻度取得
プログラム126およびフィードバック得点算出プログ
ラム127で構成される。文書登録制御プログラム11
3および検索制御プログラム119は、ユーザによるキ
ーボード101からの指示に応じてシステム制御プログ
ラム112によって起動され、それぞれテキスト登録プ
ログラム114、インデックス作成登録プログラム11
5、重みファイル作成登録プログラム116の制御と、
検索条件式解析プログラム120、インデックス検索プ
ログラム121、レリバンス・ランキングプログラム1
22、レリバンス・フィードバックプログラム123、
ソートプログラム128の制御を行う。
【0076】以下、本実施例における文書検索システム
の処理内容について説明する。まず、システム制御プロ
グラム112の処理内容について図8のPAD(Pro
blem Analysis Diagram)図を用
いて説明する。
【0077】システム制御プログラム112は、まずス
テップ800で、キーボード101から入力されたコマ
ンドを解析する。そしてこの結果が、ステップ801で
登録実行のコマンドであると解析された場合には,ステ
ップ802で文書登録制御プログラム113を起動し
て、文書の登録を行う。また、ステップ803で検索実
行のコマンドであると解析された場合には、ステップ8
04で検索制御プログラム119を起動して、文書の検
索を行う。以上がシステム制御プログラム112の処理
内容である。
【0078】次に、文書登録制御プログラム113によ
る文書登録の処理内容について、図9のPAD図を用い
て説明する。
【0079】文書登録制御プログラム113は、システ
ム制御プログラム112によって起動される。本プログ
ラムは、まずステップ900でテキスト登録プログラム
114を起動し、FDD108に挿入されたフロッピデ
ィスク109から登録する文書のテキストデータをワー
クエリア129に読み込み、これをテキスト103とし
て磁気ディスク装置107へ格納する。テキストデータ
は、フロッピディスクを用いて入力するだけに限らず、
通信回線やCD−ROM装置(図1には示していない)
等を用いて他の装置から入力するような構成をとること
も可能である。次に、ステップ901で文書登録制御プ
ログラム113は、インデックス作成登録プログラム1
15を起動して、テキスト103中の所定のn-gramのテ
キスト103における出現位置をインデックス104と
して磁気ディスク装置107へ格納する。また、そのn-
gramの出現頻度を出現頻度ファイル106として磁気デ
ィスク装置107へ格納する。最後に、ステップ902
で文書登録制御プログラム113は、重みファイル作成
登録プログラム116を起動し、上記インデックス作成
登録プログラム115で算出されたn-gramの出現頻度を
基にn-gramの重みを算出し、重みファイル105として
磁気ディスク装置107に格納する。以上が、文書登録
制御プログラム113による文書登録の処理内容であ
る。
【0080】次に、検索制御プログラム119による文
書検索の処理内容について、図10のPAD図を用いて
説明する。
【0081】検索制御プログラム119は、まずステッ
プ1000で検索条件式解析プログラム120を起動す
る。そして、キーボード101から入力された検索条件
式で指定されている検索方法がインデックス検索、レリ
バンス・ランキング、レリバンス・フィードバックのい
ずれであるのかを解析し、検索条件式から検索タームあ
るいは文書番号を抽出する。そして、検索条件式解析プ
ログラム120によって解析する。この結果が、インデ
ックス検索であった場合には、検索制御プログラム11
9は、インデックス検索プログラム121を起動し、検
索条件式解析プログラム120によって抽出された検索
タームのテキスト103における出現文書番号および出
現位置を算出する(ステップ1002)。
【0082】また、検索条件式解析プログラム120に
よって解析された結果が、レリバンス・ランキングであ
った場合には、検索制御プログラム119はインデック
ス検索プログラム121を起動し、検索条件式解析プロ
グラム120によって抽出された検索タームのテキスト
103における出現文書番号および出現位置を算出する
(ステップ1004)。次に、レリバンス・ランキング
プログラム122を起動し、インデックス検索プログラ
ム121によって算出された検索タームの出現文書番号
および出現位置から各文書の類似度を算出する(ステッ
プ1005)。そして、ソートプログラム128を起動
し、レリバンス・ランキングプログラム122によって
算出された各文書の類似度を降順にソートする(ステッ
プ1006)。
【0083】また、第三番目のケースとして、検索条件
式解析プログラム120によって解析された結果がステ
ップ1007でレリバンス・フィードバックであった場
合には、検索制御プログラム119は、ステップ100
8でレリバンス・フィードバックプログラム123を起
動し、検索条件式解析プログラム120によって抽出さ
れた番号の文書に対する各文書の類似度を算出する。そ
して、ソートプログラム128を起動し、レリバンス・
フィードバックプログラム123によって算出された各
文書の類似度を降順にソートする(ステップ100
9)。
【0084】最後に、検索制御プログラム119はステ
ップ1010で、インデックス検索プログラム121に
よって算出された文書番号、あるいはソートプログラム
128によってソートされた類似度を出力する。以上が
検索制御プログラム119による文書検索の処理内容で
ある。
【0085】次に、図9に示した文書登録制御プログラ
ム113による文書登録処理におけるインデックス作成
登録プログラム115および重みファイル作成登録プロ
グラム116の処理内容について、図11および図12
のPAD図を用いて説明する。
【0086】インデックス作成登録プログラム115
は、図11に示すようにまずステップ1100でテキス
ト103から所定のn-gramとそのテキスト103におけ
る出現位置を抽出し、ワークエリア129に格納する。
そして、ステップ1101で、抽出したn-gramの出現位
置をインデックス104として磁気ディスク装置107
に格納する。このインデックスの作成については、従来
技術3に示されているような方法を用いてもよい。次
に、ステップ1102で、ワークエリア129に格納さ
れているn-gramの個数をカウントし、各々のn-gramのテ
キスト103の各文書中の出現頻度を算出する。そし
て、ステップ1103で、算出したn-gramの各文書中の
出現頻度を出現頻度ファイル106として、磁気ディス
ク装置107に格納する。
【0087】重みファイル作成登録プログラム116
は、図12に示すように、まずステップ1200で重み
算出プログラム117を起動し、上記インデックス作成
登録プログラム115よって算出されたn-gramのテキス
ト103の各文書中の出現頻度を基に各々のn-gramの重
みを算出する。この重みには、例えば、従来技術3で開
示されているような出現頻度を文書に含まれるn-gramの
総数で割った正規化出現頻度の平均値(従来技術3では
共通性ウェートと呼ばれている)を用いてもよい。最後
に、ステップ1201で重みファイル作成プログラム1
18を起動し、重み算出プログラム117によって算出
されたn-gramの重みを重みファイル105として磁気デ
ィスク装置107に格納する。
【0088】次に、図10に示した検索制御プログラム
119による文書検索処理における検索条件式解析プロ
グラム120、インデックス検索プログラム121、レ
リバンス・ランキングプログラム122およびレリバン
ス・フィードバックプログラム123の処理内容につい
て、図13〜図16のPAD図を用いて説明する。
【0089】検索条件式解析プログラム120は、図1
3に示すように、まずステップ1300でキーボード1
01から入力された検索条件式に、インデックス検索、
レリバンス・ランキング、レリバンス・フィードバック
のいずれが指定されているのかを判定する。そして、判
定結果がステップ1301でインデックス検索であった
場合には、ステップ1302で検索条件式から検索ター
ムを抽出する。ここで、抽出された検索タームが、ステ
ップ1303で2つ以上であった場合には、ステップ1
304でそれらの検索ターム間の論理的な関係あるいは
テキスト103中での位置関係を検索条件式から抽出す
る。ここで、複数の検索ターム間の論理的な関係とは、
例えば、AND条件やOR条件がある。ここで、AND
条件とは、検索式「「文書」(AND)「検索」」のよ
うに、「「文書」と「検索」の両方の文字列が現れる文
書を探せ」という意味を持つ。また、OR条件とは、検
索式「「文書」(OR)「検索」」のように、「「文
書」か「検索」のどちらかの文字列が現れる文書を探
せ」という意味を持つ。
【0090】また、複数の検索ターム間のテキスト10
3中での位置関係とは、文脈条件、近傍条件や隣接条件
などがある。文脈条件とは、例えば検索式「「文書」
(S)「検索」」のように、「「文書」と「検索」が同
一の文(センテンス)に共起(同時に出現)する文書を
探せ」という意味を持つ。近傍条件とは、検索式「「文
書」(2C)「検索」」のように、「「文書」と「検
索」が2文字以内に近接して現れる文書を探せ」という
意味を持つ。さらに、隣接条件とは、検索式「「文書」
(A)「検索」」のように、「「文書」と「検索」が隣
接して現れる文書を探せ」という意味を持つ。
【0091】また、ステップ1305において、検索条
件式の判定結果がレリバンス・ランキングであった場合
には、ステップ1306で検索条件式から検索タームを
抽出する。また第三番目のケースとして、ステップ13
07において、検索条件式でレリバンス・フィードバッ
クであった判定された場合には、ステップ1308で検
索条件式から文書番号を抽出する。
【0092】インデックス検索プログラム121は、図
14に示すように、まずステップ1400において、上
記検索条件式解析プログラム120によって抽出された
検索タームのテキスト103における出現文書番号およ
び出現位置を求める。このインデックス検索について
は、従来技術3に示されているような方法を用いてもよ
い。すなわち、検索タームに含まれるn-gramのインデッ
クスの間で文書番号および出現位置を比較し、その文書
番号が同じで出現位置の関係が検索タームにおける位置
関係と等しいものを抽出する。次に、ステップ1401
において、検索条件式解析プログラム120によって解
析された結果がインデックス検索であった場合には、ス
テップ1402でキーボード101から入力された検索
条件式中の検索ターム数を判定する。また、検索ターム
が検索条件式中に2つ以上存在する場合には、ステップ
1403で算出した複数の出現文書番号および出現位置
が検索条件式に指定されている検索条件と合致するもの
を抽出する。ここで、検索条件式解析プログラム120
によって検索ターム間の論理的な関係が検索条件式から
抽出されている場合には、得られた検索タームに対応す
る各出現文書番号で論理積や論理和をとる。また、検索
タームのテキスト103中での位置関係が検索条件式か
ら抽出されている場合には、得られた複数の検索ターム
の出現位置のうちで検索条件式で指定されている位置関
係に合致するものを抽出する。
【0093】レリバンス・ランキングプログラム122
は、図15に示すように、まずステップ1500におい
て、上記インデックス検索プログラム121によって算
出された検索タームの出現文書番号および出現位置を基
に、検索タームの各文書中の出現頻度を算出する。そし
て、ステップ1501で算出した検索タームの出現頻度
を基に、各文書の類似度を算出する。この類似度の算出
については、従来技術1に開示されているベクトルによ
る算出方法を用いてもよいし、「A Very FastPrototype
Retrieval System using Statiscal Ranking」(Donna
Harman and Gerald Candela著、SIGIR FORUM Spring/S
ummer 1989,Vol.23,No.3,4,pp.100−1
10)で述べられている以下の数4を用いてもよい。
【0094】
【数4】
【0095】ここで、Qは検索条件式中の検索タームの
数、Freq(jk)は検索タームkの文書j中の出現頻度、Mj
は文書j中の単語の総数(日本語の場合はテキスト長で
代用)を示す。また、IDF(k)は以下の数5で示され
る。
【0096】
【数5】
【0097】ここで、Nはデータベース中の文書の数、N
umD(k)は検索タームkを1つ以上含む文書の数、すな
わち、文書ヒット件数を示す。文書の類似度は、検索タ
ームの出現頻度をテキスト長で正規化したものである。
この値は、指定された検索タームが多く出現する文書ほ
ど高くなる。また、IDF(k)は、検索タームの対象デー
タベースにおける出現のばらつき具合を示す。IDF(k)
は、検索タームが対象データベース中の全ての文書に出
現する場合に最も小さく、偏って出現するほど大きくな
る。全ての文書に出現する検索タームはストップワード
であるため、IDF(k)を出現頻度に乗ずることによっ
て、ストップワードの影響を抑えることができる。
【0098】レリバンス・フィードバックプログラム1
23は、図16に示すように、まずステップ1600で
ファイル読込みプログラム124を起動し、重みファイ
ル105および出現頻度ファイル106をワークエリア
129に読み込む。次に、ステップ1601において、
n-gram抽出プログラム125を起動し、上記検索条件式
解析プログラム120によって検索条件式から抽出され
た文書番号に対応する文書(以下、選択文書と呼ぶ)か
ら重みが所定の基準を満たすn-gramを抽出する。ここで
基準としては、重みが上位m(mは1以上の予め定められ
た整数)個にあるn-gramとしてもよいし、重みがある決
められた範囲(例えば、i以上k未満、i,kは予め定めら
れた数値)にあるn-gramとしてもよい。次に、ステップ
1602において、出現頻度取得プログラム126を起
動し、n-gram抽出プログラム125によって抽出された
n-gramの各文書中の出現頻度を出現頻度ファイル106
から得る。最後に、ステップ1603において、フィー
ドバック得点算出プログラム127を起動し、ファイル
読込みプログラム124によって読み込まれたn-gramの
重み、出現頻度取得プログラム126によって得られた
n-gramの出現頻度を基にデータベース中の各文書の類似
度を算出する。この類似度の算出については、従来技術
4に開示されている数2のような算出式を用いてもよい
し、n-gramを単語とみなしてレリバンス・ランキングで
用いた数5を用いてもよい。以上が、本発明の文書検索
方法の第一の実施例である。
【0099】以下、図12に示した本実施例における重
みファイル作成登録プログラム116の処理手順につい
て具体的に説明する。
【0100】まず、図12の重みファイル作成登録プロ
グラム116のステップ1200における重み算出プロ
グラム117の処理について、図17〜図18の例を用
いて説明する。重み算出プログラム117は、重みファ
イル作成登録プログラム116によって起動される。こ
の時、インデックス作成登録プログラム115によって
算出されたn-gramの各文書における出現頻度が重み算出
プログラム117へ渡される。図17に文書1、文書
2、文書3および文書4からなるテキスト103からイ
ンデックス作成登録プログラム115によって2-gramの
出現頻度が算出される様子を示す。本図では、まず、テ
キスト103から2-gram1700が抽出される。例え
ば、文書1「新開発の心電計による発作時の心電図」か
らは「新開、開発、発の、の心、心電、電計、計に、に
よ、よる、る発、発作、作時、時の、の心、心電、電
図」という2-gram1700が抽出される。
【0101】次に、この抽出されたn-gramの出現頻度1
701が算出される。本図に示すように、2-gram170
0から出現頻度1701が算出される。例えば、文書1
からは「(新開,1)(開発,1)(発の,1)(の
心,2)(心電,2)(電計,1)(計に,1)(に
よ,1)(よる,1)(る発,1)(発作,1)(作
時,1)(時の,1)(電図,1)」という出現頻度1
701が算出される。ここで、例えば(新開,1)とは
2-gram(新開)は「1」回出現することを示す。このよ
うにしてインデックス作成登録プログラム115によっ
て算出されたn-gramの出現頻度が、重み算出プログラム
117の起動時に渡される。そして、重み算出プログラ
ム117は、図12のステップ1200で渡された出現
頻度を基にn-gramの重みを算出する。重み算出の例を図
18に示す。本図では,2-gram「開発」と「ソフ」の算
出例を示してある。また、重みには、出現頻度をテキス
ト長で割った正規化出現頻度の平均値を用いている。例
えば、「開発」の正規化出現頻度は、テキスト長が17の
文書1では0.059、テキスト長が14の文書2では0.071、
テキスト長が16の文書3では0.063、テキスト長が12の
文書4では0である。このため、その重みは0.048(=(0.
059+0.071+0.063+0)/4)となる。
【0102】次に、図12の重みファイル作成登録プロ
グラム116のステップ1201における重みファイル
作成プログラム118の処理について説明する。重みフ
ァイル作成プログラム118は、重みファイル作成登録
プログラム116によって重み算出プログラム117の
次に起動される。重みファイル作成プログラム118
は、図12のステップ1201で重み算出プログラム1
17によって算出されたn-gramの重みを重みファイル1
05として磁気ディスク装置107に格納する。重みフ
ァイル105は、図6に示したような形式で作成する。
【0103】以上が、本実施例における重みファイル作
成登録プログラム116の詳細な手順である。この例で
はn-gramのnの値を2として説明を行ったが、nが1、ある
いは3以上についても同様に重みファイル作成登録の処
理を行うことができる。
【0104】以下、図16に示した本実施例におけるレ
リバンス・フィードバックプログラム123の処理手順
について具体的に説明する。
【0105】まず、図16のレリバンス・フィードバッ
クプログラム123のステップ1600におけるファイ
ル読込みプログラム124の処理について説明する。フ
ァイル読込みプログラム124は、レリバンス・フィー
ドバックプログラム123によって起動される。本プロ
グラム124は、図16のステップ1600で重みファ
イル105および出現頻度ファイル106を磁気ディス
ク装置107からワークエリア129に読み込む。ここ
で、読み込まれる重みファイル105および出現頻度フ
ァイル106は、図6および図5に示した形式で作成さ
れている。
【0106】次に、図16のレリバンス・フィードバッ
クプログラム123のステップ1601におけるn-gram
抽出プログラム125の処理について、図19の例を用
いて説明する。 n-gram抽出プログラム125は、レリ
バンス・フィードバックプログラム123によってファ
イル読込みプログラム124の次に起動される。本プロ
グラム125は、図16のステップ1601において、
ユーザが指定した選択文書から所定のn-gramを抽出す
る。そして、抽出されたn-gramの中からその重みが所定
の基準を満たすものだけを抽出する。この処理の例を図
19に示す。本図では、文書2「新しいソフトウェアの
開発作業」を選択文書とし、n-gramのnの値を2とした場
合を示している。また、基準としては(重みが0.040以
上のn-gram)を用いる。まず、選択文書から2-gramを抽
出する。この結果、文書2からは13種類の2-gram「新
し,しい,いソ,ソフ,フト,トウ,ウェ,ェア,ア
の,の開,開発,発作,作業」が抽出される。次に、こ
れらのn-gramから(重みが0.040以上のn-gram)という
基準を満たすn-gramを抽出する。このとき、基準を満た
すもののみ抽出してもよい。本例では、「ソフ」の重み
が0.070、「フト」の重みが0.070、「開発」の重みが0.
048で基準に当てはまる。このため、「ソフ、フト、開
発」という2-gram1900が抽出される。重みファイル
105中の「の新」の重みは、0.042であり、基準を満
たしている。しかし、「の新」は、文書2の中に存在し
ないので抽出されない。
【0107】次に、図16のレリバンス・フィードバッ
クプログラム123のステップ1602における出現頻
度取得プログラム126の処理について、図20の例を
用いて説明する。出現頻度取得プログラム126は、レ
リバンス・フィードバックプログラム123によって、
n-gram抽出プログラム125の次に起動される。本プロ
グラム126は、図16のステップ1602において、
n-gram抽出プログラム125によって抽出されたn-gram
の各文書における出現頻度を出現頻度ファイル106か
ら得る。この処理の例を図20に示す。本図では、図1
9の例で選択文書から抽出された「ソフ、フト、開発」
という2-gram1900の出現頻度を出現頻度ファイル1
06から得る。例えば、文書3の場合「(開発,1)、
(ソフ,2)、(フト,2)」という出現頻度2000
を得ることができる。
【0108】最後に、図16のレリバンス・フィードバ
ックプログラム123のステップ1603におけるフィ
ードバック得点算出プログラム127の処理について、
図21の例を用いて説明する。フィードバック得点算出
プログラム127は、レリバンス・フィードバックプロ
グラム123によって出現頻度取得プログラム126の
次に起動される。本プログラム127は、図16のステ
ップ1603において、上記ファイル読込みプログラム
124によって読み込まれたn-gramの重みおよび出現頻
度取得プログラム126によって得られたn-gramの出現
頻度から各文書の類似度を算出する。この類似度の算出
については、従来技術4に開示されている数2のような
算出式を用いてもよいし、n-gramを単語とみなしてレリ
バンス・ランキングで用いた数4を用いてもよい。図2
1に示す例では、類似度算出に従来技術4に示されてい
る数2を用いており、正規化出現頻度がウェート、重み
が共通性ウェートに相当する。類似度算出の結果、各文
書に対する類似度が得られる。本図に示した例では、文
書1は0.049点、文書2は1.000点、文書3は0.249点、
文書4は−0.910点となる。
【0109】以上説明したように、本実施例では,登録
時にn-gramの重みを算出しておき,レリバンス・フィー
ドバックを行う際には,テキストから抽出するn-gramと
してその重みが基準を満たしたものだけに限定し,類似
度算出に用いるn-gramの種類数を減らすことにより,類
似度算出に掛かる時間を削減し,高速なレリバンス・フ
ィードバックを実現することが可能となる。
【0110】このことにより、文字種の多い日本語等の
文書データベースを対象にn-gram単位のレリバンス・フ
ィードバックを行った場合でも、n-gramの種類数が限定
される。このため得点算出のための処理を減らすことが
でき、高速なレリバンス・フィードバックが可能とな
る。
【0111】次に、本発明の第二の実施例について説明
する。本実施例で示す文書検索方法では,文書を登録す
る際に、異なる文字種にまたがるようなn-gramを削除し
てn-gramの出現頻度および重みを算出し格納しておくも
のである。このことにより、出現頻度ファイルおよび重
みファイルの容量を削減するとともに、レリバンス・フ
ィードバック時に選択文書からn-gramを抽出する際、選
択文書から抽出するn-gramを同一文字種のものだけに限
定できる。このことにより、レリバンス・フィードバッ
クの処理に用いるn-gramの種類数を削減する。この方法
によれば、必要な磁気ディスク装置の容量を削減できる
とともに、レリバンス・フィードバックにおける類似度
算出処理を高速に実現できることになる。
【0112】本実施例は、基本的に第一の実施例(図
1)と同様の構成をとるが、その中の文書登録制御プロ
グラム113の制御下のインデックス作成登録プログラ
ム115が異なる。このプログラムは、図22に示すよ
うな構成となる。図22に示すように文書登録制御プロ
グラム113aは、テキスト登録プログラム114、文
字種分割出現頻度ファイル型インデックス作成登録プロ
グラム2200および重みファイル作成登録プログラム
116を制御する。
【0113】以下、本実施例における処理手順のうち、
第一の実施例と異なる文字種分割出現頻度ファイル型イ
ンデックス作成登録プログラム2200の処理手順につ
いて説明する。
【0114】文字種分割出現頻度ファイル型インデック
ス作成登録プログラム2200の処理内容を図23のPA
D図に示す。本プログラム2200の処理内容は、図1
1に示したインデックス作成登録プログラム115とス
テップ2300が異なるだけである。本プログラム22
00は図23に示すように、まずステップ1100でテ
キスト103から所定のn-gramとそのテキスト103に
おける出現位置を抽出し、ワークエリア129に格納す
る。そして、ステップ1101で、抽出したn-gramの出
現位置をインデックス104として磁気ディスク装置1
07に格納する。次に、ステップ2300において、ワ
ークエリア129に格納されているn-gramの中で、異な
る文字種にまたがるものを削除する。そして、ステップ
1102において、ワークエリア129に格納されてい
るn-gramの個数をカウントし、各々のn-gramのテキスト
103の各文書中の出現頻度を算出する。そして、ステ
ップ1103において、算出したn-gramの各文書中の出
現頻度を出現頻度ファイル106として磁気ディスク装
置107に格納する。以上が本発明の文書検索方法を適
用した第二の実施例の概略である。
【0115】以下、図23に示した本実施例における文
字種分割出現頻度ファイル型インデックス作成登録プロ
グラム2200の処理手順のうち、第一の実施例と処理
結果が異なるステップ2300、ステップ1102およ
びステップ1103について、図24に示す例を用いて
具体的に説明する。図17に示したように、図23のス
テップ1100で文書1、文書2、文書3および文書4
からなるテキスト103から2-gram1700が抽出さ
れ、ワークエリア129に格納される。例えば、文書1
「新開発の心電計による発作時の心電図」からは「新
開、開発、発の、の心、心電、電計、計に、によ、よ
る、る発、発作、作時、時の、の心、心電、電図」とい
う2-gram1700が抽出される。そして、ステップ23
00において、この2-gram1700の中で、異なる文字
種にまたがるものが削除される。例えば、文書1から抽
出された2-gramから異なる文字種にまたがる「発の、の
心、計に、る発、時の、の心」が削除され、「新開、開
発、心電、電計、によ、よる、発作、作時、心電、電
図」という2-gram2400が残される。次に、ステップ
1102において、削除されずに残ったn-gramの出現頻
度が算出される。
【0116】本図に示すように、2-gram2400から出
現頻度2401が算出される。例えば、「新開、開発、
心電、電計、によ、よる、発作、作時、心電、電図」と
いう2-gram2400からは、「(新開,1)、(開発,
1)、(心電,2)、(電計,1)、(によ,1)、
(よる,1)、(発作,1)、(作時,1)、(電図,
1)」という出現頻度2401が算出される。ここで、
例えば(新開,1)とは、2-gram「新開」は、「1」回
出現することを示す。最後に、ステップ1103におい
て、算出したn-gramの出現頻度を出現頻度ファイル10
6として磁気ディスク装置107に格納する。ここで、
作成される出現頻度ファイル106には、異なる文字種
にまたがるn-gramは存在しないので、図25に示すよう
なファイルになる。
【0117】重みファイル作成登録プログラム116の
処理内容は、第一の実施例の図12で示したものと同様
である。しかし、上記文字種分割出現頻度ファイル型イ
ンデックス作成登録プログラム2200によって算出さ
れる出現頻度は同一文字種のn-gramに対してのみであ
る。そのため、本プログラム116によって作成される
重みファイル105には、同一文字種のn-gramだけが含
まれ、図26に示すようになる。
【0118】本実施例におけるレリバンス・フィードバ
ックプログラム123の処理手順は、第一の実施例で示
した図16と全く同様である。しかし、上記重みファイ
ル作成登録プログラム116によって作成される重みフ
ァイル105には同一文字種のn-gramだけが格納されて
いるので、結果として選択文書から抽出されるn-gramも
同一文字種のものだけになり、n-gram種が削減される。
【0119】以上説明したように、本実施例では、文書
を登録する際に異なる文字種にまたがるようなn-gramを
削除して重みを算出する。このことにより、重みファイ
ルの容量を小さくすることができるため、第一の実施例
に比べ小容量の磁気ディスク装置を用いることができ
る。また、レリバンス・フィードバック時に選択文書か
ら抽出するn-gramは同一文字種のもののみに限定するた
め、文書の類似度算出の処理に用いるn-gramの種類数を
削減することができる。このため、第一の実施例に比べ
高速なレリバンス・フィードバックを実現することが可
能となる。
【0120】以上により、文字種の多い日本語等の文書
データベースを対象にn-gram単位のレリバンス・フィー
ドバックを行った場合でも、n-gramの種類数が限定され
るため、類似度算出のための処理を減らすことができ、
高速なレリバンス・フィードバックを実現することがが
可能となる。
【0121】次に、本発明の第三の実施例について説明
する。本実施例は、前回のレリバンス・ランキングやレ
リバンス・フィードバックで算出された文書の類似度を
記憶しておく。レリバンス・フィードバックを行う際に
は、記憶しておいた類似度が予め定められたしきい値以
上である文書に対してのみ類似度を算出する。ことによ
り、ユーザが欲する文書と関連が薄い文書に対する類似
度算出処理を省くことができる。この方法によれば、レ
リバンス・フィードバックにおける類似度算出処理をさ
らに高速に実現できることになる。
【0122】本実施例は、基本的に第一の実施例(図
1)と同様の構成をとる。しかし、主メモリ111に、
前回得点記憶部を確保するところと、検索制御プログラ
ム119の制御下のレリバンス・フィードバックプログ
ラム123が異なる。本発明を適用した文書検索システ
ムのうち、主メモリ111の構成を図27に示す。本図
に示すように本実施例では、主メモリ111に前回記憶
部2702が確保される。また、検索制御プログラム1
19aは、検索条件式解析プログラム120、インデッ
クス検索プログラム121、レリバンス・ランキングプ
ログラム122、レリバンス・フィードバックプログラ
ム123aおよびソートプログラム128を制御する。
レリバンス・フィードバックプログラム123aは、フ
ァイル読込みプログラム124、検索対象文書抽出プロ
グラム2700、n-gram抽出プログラム125、出現頻
度取得プログラム126、フィードバック得点算出プロ
グラム127および得点記憶プログラム2701で構成
される。
【0123】以下、本実施例における処理手順のうち、
第一の実施例と異なるレリバンス・フィードバックプロ
グラム123aの処理手順について図28を用いて説明
する。本図は、第一の実施例で示した図16とステップ
2800およびステップ2801が異なる。
【0124】レリバンス・フィードバックプログラム1
23aは、図28に示すように、まずステップ1600
において、ファイル読込みプログラム124を起動し、
重みファイル105および出現頻度ファイル106をワ
ークエリア129に読み込む。次に、ステップ2800
において、検索対象文書抽出プログラム2700を起動
し、前回得点記憶部2702に記憶されている前回の類
似度が予め定められたしきい値以上である文書の集合を
検索対象文書集合とする。次に、ステップ1601でn-
gram抽出プログラム125を起動し、検索条件式解析プ
ログラム120によって検索条件式から抽出された選択
文書から重みが所定の基準を満たすn-gramを抽出する。
次に、ステップ1602において、出現頻度取得プログ
ラム126を起動し、n-gram抽出プログラム125によ
って抽出されたn-gramの検索対象文書中の出現頻度を出
現頻度ファイル106から得る。そして、ステップ16
03でフィードバック得点算出プログラム127を起動
し、ファイル読込みプログラム124によって読み込ま
れたn-gramの重み、出現頻度取得プログラム126によ
って得られたn-gramの出現頻度を基にデータベース中の
各文書の類似度を算出する。最後に、ステップ2801
において、得点記憶プログラム2701を起動し、算出
された類似度を前回得点記憶部2702に記憶する。以
上が本発明の文書検索方法を適用した第三の実施例の概
略である。
【0125】以下、図28に示した本実施例におけるレ
リバンス・フィードバックプログラム123aの処理手
順のうち、第一の実施例と異なる部分について具体的に
説明する。
【0126】まず、図28のステップ2800におい
て、起動される検索対象文書抽出プログラム2700の
処理について、図29の例を用いて説明する。検索対象
文書抽出プログラム2700は、前回得点記憶部270
2に記憶されている前回の類似度が予め定められたしき
い値以上である文書の集合を検索対象文書集合とする。
各文書の前回の類似度は、前回得点記憶部2702に図
29に示すような形式で記憶されている。この前回得点
記憶部2702に記憶されている類似度が、予め定めら
れたしきい値以上である文書番号を抽出し、その文書の
集合を検索対象文書集合とする。図29では、「0.1」
をしきい値とし、それ以上の類似度を持つ文書番号を抽
出し、検索対象文書集合としている。例えば、文書2は
類似度が「0.59」なので集合に含まれるが、文書1は類
似度が「0.08」なので集合には含まれない。
【0127】この結果、本図では文書2、文書3および
文書4の集合が作成され、検索対象文書集合となる。こ
こで得られた検索対象文書に対し、図28のステップ1
601〜ステップ1603で文書の類似度が算出され
る。例えば、文書2を選択文書とした場合には、第一の
実施例で図19〜図21を用いて説明した中で文書1以
外に対して行った類似度算出処理と同様の処理が行われ
る。この結果、文書2の類似度「1.000」、文書3の類
似度「0.249」、文書4の類似度「−0.910」が得られ
る。最後に、図28のステップ2801で得点記憶プロ
グラム2701が起動され、算出された類似度を前回得
点記憶部2702に記憶する。フィードバック得点算出
プログラム127によって算出された文書2の類似度
「1.000」、文書3の類似度「0.249」、文書4の類似度
「−0.910」を前回得点記憶部2702に格納した例を
図30に示す。ここで、文書1は類似度が算出されてい
ないため記憶されていない。
【0128】以上説明したように、本実施例では、前回
のレリバンス・ランキングやレリバンス・フィードバッ
クで算出された文書の類似度を記憶しておき、レリバン
ス・フィードバックを行う際には,記憶してある前回類
似度が予め定められたしきい値以上である文書に対して
のみ類似度を算出する。このことにより、類似度算出対
象文書が削減できるため、高速なレリバンス・フィード
バックが実現できる。
【0129】以上の構成により、文字種の多い日本語等
の文書データベースを対象にn-gram単位のレリバンス・
フィードバックを行った場合でも、類似度算出対象文書
が削減される。このため、類似度算出の処理を軽減する
ことができ、高速なレリバンス・フィードバックが可能
となる。
【0130】次に、本発明の第四の実施例について説明
する。本実施例で示す文書検索方法では、前回のレリバ
ンス・ランキングやレリバンス・フィードバックで算出
された各文書の類似度を記憶しておく。レリバンス・フ
ィードバックを行う際には、算出した類似度を0から1
の間に正規化して修正率とし、その類似度を選択文書が
最高類似度になるまで前回の類似度に乗ずる。このこと
により、前回までのレリバンス・ランキングやレリバン
ス・フィードバックの結果を今回のレリバンス・フィー
ドバックに反映する。本方法によれば、n-gram単位にレ
リバンス・フィードバックを行うことによるノイズを削
減することが可能となる。
【0131】本実施例は、基本的に第三の実施例(図2
7)と同様の構成をとる。しかし、検索制御プログラム
119aの制御下のレリバンス・フィードバックプログ
ラム123aが異なる。本発明を適用した文書検索シス
テムのうち、レリバンス・フィードバックプログラム1
23bの構成を図31に示す。本図に示すように、レリ
バンス・フィードバックプログラム123bは、ファイ
ル読込みプログラム124、n-gram抽出プログラム12
5、出現頻度取得プログラム126、フィードバック得
点算出プログラム127、得点修正プログラム3100
および得点記憶プログラム2701で構成される。
【0132】以下、本実施例における処理手順のうち、
第三の実施例と異なるレリバンス・フィードバックプロ
グラム123bの処理手順について、図32を用いて説
明する。本図は、第三の実施例で示した図28からステ
ップ2800を削除し、ステップ3200を追加したも
のである。
【0133】レリバンス・フィードバックプログラム1
23bは、図32に示すように、まずステップ1600
でファイル読込みプログラム124を起動し、重みファ
イル105および出現頻度ファイル106をワークエリ
ア129に読み込む。次に、ステップ1601でn-gram
抽出プログラム125を起動し、検索条件式解析プログ
ラム120によって検索条件式から抽出された選択文書
から重みが所定の基準を満たすn-gramを抽出する。次
に、ステップ1602において、出現頻度取得プログラ
ム126を起動し、n-gram抽出プログラム125によっ
て抽出されたn-gramの検索対象文書中の出現頻度を出現
頻度ファイル106から得る。そして、ステップ160
3において、ィードバック得点算出プログラム127を
起動し、ファイル読込みプログラム124によって読み
込まれたn-gramの重み、出現頻度取得プログラム126
によって得られたn-gramの出現頻度を基にデータベース
中の各文書の類似度を算出する。次に、ステップ320
0で得点修正プログラム3100を起動し、算出された
類似度と前回得点記憶部2702に記憶されている前回
の類似度を用いて新たな類似度を算出する。最後に、ス
テップ2801で得点記憶プログラム2701を起動
し、算出された類似度を前回得点記憶部2702に記憶
する。
【0134】以下、図32に示したレリバンス・フィー
ドバックプログラム123bの処理手順のうち、ステッ
プ3200で起動される得点修正プログラム3100の
処理内容について、図33のPAD図を用いて説明する。
【0135】得点修正プログラム3100は、レリバン
ス・フィードバックプログラム123bによって、フィ
ードバック得点算出プログラム127の次に起動され
る。得点修正プログラム3100は、ステップ3300
でフィードバック得点算出プログラム127によって算
出された文書の類似度を正規化(例えば、最高類似度を
1として0から1の間に)し、この値を修正率とする。
次に、ステップ3302において、前回得点記憶部27
02に記憶されている前回の類似度に上記修正率を乗じ
る。そして、ステップ3301で選択文書の類似度が最
も高くなるまで、ステップ3302を繰り返す。以上が
本発明の文書検索方法を適用した第四の実施例の概略で
ある。
【0136】以下、図33に示した本実施例における得
点修正プログラム3100の処理手順について、図34
に示す例を用いて具体的に説明する。図34の例では、
文書4を選択文書としている。
【0137】得点修正プログラム3100は、レリバン
ス・フィードバックプログラム123bによって、フィ
ードバック得点算出プログラム127の次に起動され
る。フィードバック得点算出プログラム127では、文
書の類似度3400が算出される。文書の類似度340
0としては、文書1(25点)、文書2(18点)、文書3
(29点)および文書4(54点)などがある。図33で、
得点修正プログラム3100は、ステップ3300でフ
ィードバック得点算出プログラム127によって算出さ
れた文書の類似度を正規化(例えば、最高類似度を1と
して0から1の間に)し、これを修正率とする。図34
の例では、文書4が54点で最高類似度であるので、こ
の54点で各文書の類似度3400を正規化し、修正率
を得る。この結果、文書1(0.46)、文書2(0.33)、
文書3(0.54)および文書4(1.00)という修正率34
01が得られる。次に、ステップ3302において、前
回得点記憶部2702に格納されている前回の類似度に
修正率を乗じる。このことにより、ステップ3301で
選択文書の類似度が最も高くなるまで、ステップ330
2を繰り返す。
【0138】図34の例では、前回得点記憶部2702
に、文書1(0.08点)、文書2(0.59点)、文書3(0.
87点)および文書4(0.32点)という前回の類似度が格
納されている。まず、1回目のステップ3302で、こ
れらの類似度に修正率が掛けられる。例えば、文書1で
は、類似度0.08に修正率0.46が掛けられ、0.04という類
似度が得られる。この結果、文書1(0.04点)、文書2
(0.19点)、文書3(0.47点)および文書4(0.32点)
という新たな類似度3402が得られる。
【0139】しかし、この1回目のステップ3302が
終了した時点では、選択文書である文書4(0.32点)は
最も高い類似度になっていないので、もう一度ステップ
3302を繰り返す。この結果、文書1(0.02点)、文
書2(0.06点)、文書3(0.25点)および文書4(0.32
点)という新たな類似度3403が得られる。この結
果、文書4(0.32点)が最高類似度となっているため、
ここでステップ3301のループ処理を終了する。
【0140】図34に示した例で、本得点修正プログラ
ム3100の処理を行なわずにレリバンス・フィードバ
ックを行なうと文書4、文書3、文書1、文書2という
順で出力される。すなわち、文書2「新しいソフトウェ
アの開発作業」より文書1「新開発の心電計による発作
時の心電図」の方が、選択文書である文書4「ソフトの
新製品の新聞発表」と関連が深いと判断される。な
お、、本プログラムを実行することによって前回の選択
文書との関連が低かった文書1の類似度を低くすること
ができる。
【0141】以上説明したように、本実施例では、前回
のレリバンス・ランキングやレリバンス・フィードバッ
クで算出された各文書の類似度を記憶しておく。レリバ
ンス・フィードバックを行う際には、算出した類似度を
0から1の間に正規化し、選択文書が最高類似度になる
までその値を記憶してある前回の類似度に乗ずる。この
ことにより、ユーザが選択する一連の文書群と関連のな
い文書の類似度を下げることができ、結果としてユーザ
が希望するより関連の深い文書から表示を行うことが可
能となる。
【0142】以上により、文字種の多い日本語等の文書
データベースを対象にn-gram単位のレリバンス・フィー
ドバックを行った場合でも、前回までのレリバンス・ラ
ンキングやレリバンス・フィードバックで得た情報も類
似度の算出に用いることにより、n-gramを算出単位とす
ることによるノイズを削減できる。また、より関連の深
い文書から適切にランキングを行うことが可能となる。
【0143】最後に、本発明の第五の実施例について説
明する。本実施例の文書検索方法は、レリバンス・フィ
ードバックにおいて、各文書の類似度を算出する際に、
前回までの選択文書(すなわち、ユーザニーズと関連の
高い一連の文書群)の類似度を高くすることによって、
相対的に選択文書との関連の低い文書の類似度を下げる
方法である。本方法によれば、n-gram単位にレリバンス
・フィードバックを行うことによるノイズを削減するこ
とができる。また、第四の実施例と組み合わせることに
より、さらにノイズを削減することができる。
【0144】本実施例は、基本的に第一の実施例(図
1)と同様の構成をとる。しかし、主メモリ111に選
択フラグ格納部を確保するところと、検索制御プログラ
ム119の制御下のレリバンス・フィードバックプログ
ラム123が異なる。本発明を適用した文書検索システ
ムのうち、主メモリ111の構成を図35に示す。本図
に示すように本実施例では、主メモリ111に選択フラ
グ格納部3501が確保される。また、検索制御プログ
ラム119bは検索条件式解析プログラム120、イン
デックス検索プログラム121、レリバンス・ランキン
グプログラム122、レリバンス・フィードバックプロ
グラム123cおよびソートプログラム128を制御す
る。レリバンス・フィードバックプログラム123cは
ファイル読込みプログラム124、n-gram抽出プログラ
ム125、出現頻度取得プログラム126、フィードバ
ック得点算出プログラム127および選択フラグ修正プ
ログラム3500で構成される。
【0145】以下、本実施例における処理手順のうち、
第一の実施例と異なるレリバンス・フィードバックプロ
グラム123cの処理手順について図36を用いて説明
する。本図は、第一の実施例で示した図16とステップ
3600が異なる。
【0146】レリバンス・フィードバックプログラム1
23cは図36に示すように、まずステップ1600で
ファイル読込みプログラム124を起動する。そして、
重みファイル105および出現頻度ファイル106をワ
ークエリア129に読み込む。次に、ステップ1601
でn-gram抽出プログラム125を起動し、検索条件式解
析プログラム120によって検索条件式から抽出された
選択文書から重みが所定の基準を満たすn-gramを抽出す
る。次に、ステップ1602において、出現頻度取得プ
ログラム126を起動し、n-gram抽出プログラム125
によって抽出されたn-gramの検索対象文書中の出現頻度
を出現頻度ファイル106から得る。そして、ステップ
1603でフィードバック得点算出プログラム127を
起動し、ファイル読込みプログラム124によって読み
込まれたn-gramの重み、出現頻度取得プログラム126
によって得られたn-gramの出現頻度を基にデータベース
中の各文書の類似度を算出する。最後に、ステップ36
00で選択フラグ修正プログラム3500を起動し、選
択フラグ格納部3501にフラグが設定されている文書
の類似度を予め定められた割合で高くする。以上が本発
明の文書検索方法を適用した第五の実施例の概略であ
る。
【0147】以下、図36のステップ3600で実行さ
れる選択フラグ修正プログラム3500の処理手順につ
いて、図37を用いて具体的に説明する。本図の例で
は、文書4が選択文書ととなっており、前回までのレリ
バンス・フィードバックで文書2が選択されているもの
とする。
【0148】選択フラグ修正プログラム3500は、レ
リバンス・フィードバックプログラム121cによっ
て、フィードバック得点算出プログラム127の次に起
動される。フィードバック得点算出プログラム127で
は、文書の類似度3400が算出される。文書の類似度
3400としては、例えば文書1(25点)、文書2(18
点)、文書3(29点)および文書4(54点)というよう
なものがある。得点修正プログラム3500は、フィー
ドバック得点算出プログラム127によって算出された
文書の類似度の中で、選択フラグ格納部3501にフラ
グが設定されている文書の類似度を予め定められた割合
で高くする。図37に、選択フラグ格納部3501の例
を示す。前回までのレリバンス・フィードバックで文書
2が選択されているため、文書2に対する選択フラグは
ONに設定され、それ以外の文書に対する選択フラグはOF
Fになっている。選択フラグ修正プログラム3500で
は、選択フラグが設定されている文書2の類似度を高く
する。本例では、元の類似度の1.5倍に類似度を修正し
ている。この結果、文書2の類似度は1.5倍され、27点
となる。次に、現在選択されている文書のフラグを選択
フラグ格納部3501に設定する。図37では、選択フ
ラグ格納部3501aのように、選択文書である文書4
の選択フラグがONに設定される。
【0149】図37に示した例で、本プログラムの処理
を行なわずにレリバンス・フィードバックを行なうと文
書4、文書3、文書1、文書2という順で出力される。
すなわち、文書2「新しいソフトウェアの開発作業」よ
り文書1「新開発の心電計による発作時の心電図」の方
が、選択文書である文書4「ソフトの新製品の新聞発
表」と関連が深いと判断される。しかし、本プログラム
を実行することによって、ユーザが今までに選択した一
連の文書群の類似度を高くし、相対的に文書1のような
関連の低い文書の類似度を下げることが可能となる。
【0150】以上説明したように、本実施例では、レリ
バンス・フィードバック時に、選択文書として選ばれた
文書に印を付けておく。類似度を算出する際に、印の付
けられた文書(すなわち、ユーザが指定するユーザニー
ズと関連の高い一連の文書群)の類似度を高くすること
によって、相対的に選択文書との関連の低い文書の類似
度を下げることができる。このため、より関連の深い文
書から順に表示することが可能となる。
【0151】以上の構成により、文字種の多い日本語等
の文書データベースを対象にn-gram単位のレリバンス・
フィードバックを行った場合でも、前回までのレリバン
ス・ランキングやレリバンス・フィードバックで得た情
報も類似度の算出に利用することにより、n-gramを算出
単位とすることによるノイズを削減できる。また、適切
なランキング処理を実現することが可能となる。
【0152】
【発明の効果】本発明によれば、n-gram単位にレリバン
ス・フィードバックを行なう場合でも、類似度算出に用
いるn-gramの種類数や類似度を算出する文書数を限定で
きる。このため、類似度算出のための処理を軽減するこ
とができ、高速なレリバンス・フィードバックを実現す
ることが可能となる。また、レリバンス・フィードバッ
ク時に、前回のレリバンス・ランキングやレリバンス・
フィードバックの情報も類似度算出に利用することによ
り、特定の選択文書に対してはノイズとなる文書の類似
度を低くすることができる。このため、n-gramを算出単
位とすることによるノイズを削減でき、より適切なラン
キング結果を得ることが可能となる。この結果、文字種
の多い日本語等の文書データベースを対象にn-gram単位
のレリバンス・フィードバックを行った場合でも、高速
で低ノイズのレリバンス・フィードバックが行える文書
検索システムを提供することが可能となる。
【図面の簡単な説明】
【図1】本発明の第一の実施例の構成を示す図。
【図2】従来技術の説明図。
【図3】従来技術の説明図。
【図4】従来技術の説明図。
【図5】出現頻度ファイルの説明図。
【図6】重みファイルの説明図。
【図7】本発明の作用の説明図。
【図8】第一の実施例のシステム制御プログラム112
の処理手順を示すPAD図。
【図9】第一の実施例の文書制御プログラム113の処
理手順を示すPAD図。
【図10】第一の実施例の検索制御プログラム119の
処理手順を示すPAD図。
【図11】第一の実施例のインデックス作成登録プログ
ラム115の処理手順を示すPAD図。
【図12】第一の実施例の重みファイル作成登録プログ
ラム116の処理手順を示すPAD図。
【図13】第一の実施例の検索条件式解析プログラム1
20の処理手順を示すPAD図。
【図14】第一の実施例のインデックス検索プログラム
121の処理手順を示すPAD図。
【図15】第一の実施例のレリバンス・ランキングプロ
グラム122の処理手順を示すPAD図。
【図16】第一の実施例のレリバンス・フィードバック
プログラム123の処理手順を示すPAD図。
【図17】出現頻度算出処理の説明図。
【図18】重み算出処理の説明図。
【図19】n-gram抽出処理の説明図。
【図20】データベース中の各文献におけるn-gramの出
現頻度取得処理の説明図。
【図21】各文献の類似度算出処理の説明図。
【図22】第二の実施例の文書登録制御プログラム11
3aの制御下にあるプログラムの構成を示す図。
【図23】第二の実施例の文字種分割出現頻度ファイル
型インデックス作成登録プログラム2200の処理手順
を示すPAD図。
【図24】第二の実施例の出現頻度算出処理の説明図。
【図25】第二の実施例の出現頻度ファイルの説明図。
【図26】第二の実施例の重みファイルの説明図。
【図27】第三の実施例の構成を示す図。
【図28】第三の実施例のレリバンス・フィードバック
プログラム123aの処理手順を示すPAD図。
【図29】第三の実施例の検索対象文書抽出プログラム
2700の説明図。
【図30】第三の実施例の前回得点記憶部2702の説
明図。
【図31】第四の実施例のレリバンス・フィードバック
プログラム123bの構成を示す図。
【図32】第四の実施例のレリバンス・フィードバック
プログラム123bの処理手順を示すPAD図。
【図33】第四の実施例の得点修正プログラム3100
の処理手順を示すPAD図。
【図34】第四の実施例の得点修正プログラム3100
の処理手順の説明図。
【図35】第五の実施例の構成を示す図。
【図36】第五の実施例のレリバンス・フィードバック
プログラム123cの処理手順を示すPAD図。
【図37】第五の実施例の選択フラグ修正プログラム3
500の処理手順の説明図。
【符号の説明】
100…ディスプレイ、101…キーボード、102…
CPU、103…テキスト、104…インデックス、1
05…重みファイル、106…出現頻度ファイル、10
7…磁気ディスク装置、108…FDD、109…フロ
ッピディスク、110…バス、111…主メモリ、11
2…システム制御プログラム、113…文書登録制御プ
ログラム、114…テキスト登録プログラム、115…
インデックス作成登録プログラム、116…重みファイ
ル作成登録プログラム、117…重み算出プログラム、
118…重みファイル作成プログラム、119…検索制
御プログラム、120…検索条件式解析プログラム、1
21…インデックス検索プログラム、122…レリバン
ス・ランキングプログラム、123…レリバンス・フィ
ードバックプログラム、124…ファイル読込みプログ
ラム、125…n-gram抽出プログラム、126…出現頻
度取得プログラム、127…フィードバック得点算出プ
ログラム、128…ソートプログラム、129…ワーク
エリア、
───────────────────────────────────────────────────── フロントページの続き (72)発明者 多田 勝己 神奈川県川崎市幸区鹿島田890番地の12 株式会社日立製作所情報・通信開発本部内 (72)発明者 加藤 寛次 神奈川県川崎市幸区鹿島田890番地の12 株式会社日立製作所情報・通信開発本部内 (72)発明者 浅川 悟志 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウエア開発本部内 (72)発明者 東 秋夫 東京都江東区新砂一丁目6番27号 株式会 社日立製作所公共情報事業部内

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】文書情報を文字コードデータであるテキス
    トとして蓄積したテキストデータベースを対象として、 対象テキストから所定の部分文字列と該部分文字列の該
    テキストにおける出現頻度を抽出し、該出現頻度を基に
    所定の算出式を用いて算出した該部分文字列の重要度を
    重要度ファイルとして記憶する重要度ファイル作成登録
    ステップと、 ユーザが指定した文書に対応する選択テキストから所定
    の部分文字列を抽出し、該部分文字列の該選択テキスト
    と対象テキストデータベース中のテキストにおける出現
    頻度を取得し、該出現頻度と上記重要度ファイルから所
    定の算出式を用いて該対象テキストデータベース中の該
    テキストの該選択テキストに対する類似度を算出し、そ
    の類似度の降順にテキストをソートして出力するレリバ
    ンス・フィードバックステップを有する文書検索方法に
    おいて、 上記レリバンス・フィードバックステップは、上記選択
    テキストからの部分文字列の抽出時に、重要度が所定の
    基準を満たす部分文字列を抽出する選択テキスト部分文
    字列抽出ステップを有することを特徴とした文書検索方
    法。
  2. 【請求項2】文書情報を文字コードデータであるテキス
    トとして蓄積したテキストデータベースを対象として、 対象テキストから所定の部分文字列と該部分文字列の該
    テキストにおける出現頻度を抽出し、該出現頻度を基に
    所定の算出式を用いて算出した該部分文字列の重要度を
    重要度ファイルとして記憶する重要度ファイル作成登録
    ステップと、 ユーザが指定した文書に対応する選択テキストから所定
    の部分文字列を抽出し、該部分文字列の該選択テキスト
    と対象テキストデータベース中のテキストにおける出現
    頻度を取得し、該出現頻度と上記重要度ファイルから所
    定の算出式を用いて該対象テキストデータベース中の該
    テキストの該選択テキストに対する類似度を算出し、そ
    の類似度の降順にテキストをソートして出力するレリバ
    ンス・フィードバックステップを有する文書検索方法に
    おいて、 上記重要度ファイル作成登録ステップは、対象テキスト
    からの所定の部分文字列の抽出後に、該部分文字列の中
    から異なる文字種にまたがるものを削除する異文字種文
    字列削除ステップを有することを特徴とした文書検索方
    法。
  3. 【請求項3】文書情報を文字コードデータであるテキス
    トとして蓄積したテキストデータベースを対象として、 対象テキストから所定の部分文字列と該部分文字列の該
    テキストにおける出現頻度を抽出し、該出現頻度を基に
    所定の算出式を用いて算出した該部分文字列の重要度を
    重要度ファイルとして記憶する重要度ファイル作成登録
    ステップと、 ユーザが指定した文書に対応する選択テキストから所定
    の部分文字列を抽出し、該部分文字列の該選択テキスト
    と対象テキストデータベース中のテキストにおける出現
    頻度を取得し、該出現頻度と上記重要度ファイルから所
    定の算出式を用いて該対象テキストデータベース中の該
    テキストの該選択テキストに対する類似度を算出し、そ
    の類似度の降順にテキストをソートして出力するレリバ
    ンス・フィードバックステップを有する文書検索方法に
    おいて、 上記レリバンス・フィードバックステップにおいて、前
    回のレリバンス・フィードバックステップによって算出
    された類似度が所定の基準を満たすテキストのみを検索
    対象として設定する検索対象文書抽出ステップを有する
    ことを特徴とする文書検索方法。
  4. 【請求項4】文書情報を文字コードデータであるテキス
    トとして蓄積したテキストデータベースを対象として、 対象テキストから所定の部分文字列と該部分文字列の該
    テキストにおける出現頻度を抽出し、該出現頻度を基に
    所定の算出式を用いて算出した該部分文字列の重要度を
    重要度ファイルとして記憶する重要度ファイル作成登録
    ステップと、 ユーザが指定した文書に対応する選択テキストから所定
    の部分文字列を抽出し、該部分文字列の該選択テキスト
    と対象テキストデータベース中のテキストにおける出現
    頻度を取得し、該出現頻度と上記重要度ファイルから所
    定の算出式を用いて該対象テキストデータベース中の該
    テキストの該選択テキストに対する類似度を算出し、そ
    の類似度の降順にテキストをソートして出力するレリバ
    ンス・フィードバックステップを有する文書検索方法に
    おいて、 上記レリバンス・フィードバックステップにおいて,上
    記出現頻度と上記重要度ファイルから算出した上記テキ
    ストの上記選択テキストに対する類似度を前回のレリバ
    ンス・フィードバックステップによって算出された類似
    度を用いて修正する得点修正ステップを有することを特
    徴とする文書検索方法。
  5. 【請求項5】文書情報を文字コードデータであるテキス
    トとして蓄積したテキストデータベースを対象として、 対象テキストから所定の部分文字列と該部分文字列の該
    テキストにおける出現頻度を抽出し、該出現頻度を基に
    所定の算出式を用いて算出した該部分文字列の重要度を
    重要度ファイルとして記憶する重要度ファイル作成登録
    ステップと、 ユーザが指定した文書に対応する選択テキストから所定
    の部分文字列を抽出し、該部分文字列の該選択テキスト
    と対象テキストデータベース中のテキストにおける出現
    頻度を取得し、該出現頻度と上記重要度ファイルから所
    定の算出式を用いて該対象テキストデータベース中の該
    テキストの該選択テキストに対する類似度を算出し、そ
    の類似度の降順にテキストをソートして出力するレリバ
    ンス・フィードバックステップを有する文書検索方法に
    おいて、 上記レリバンス・フィードバックステップは、選択テキ
    ストとして用いられたことのあるテキストに対する上記
    出現頻度と上記重要度ファイルから算出した上記テキス
    トの上記選択テキストに対する類似度を所定の計算式を
    用いて修正する選択テキスト修正ステップを有すること
    を特徴とした文書検索方法。
JP31032595A 1995-11-29 1995-11-29 類似文書検索方法 Expired - Fee Related JP3674119B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31032595A JP3674119B2 (ja) 1995-11-29 1995-11-29 類似文書検索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31032595A JP3674119B2 (ja) 1995-11-29 1995-11-29 類似文書検索方法

Publications (2)

Publication Number Publication Date
JPH09153051A true JPH09153051A (ja) 1997-06-10
JP3674119B2 JP3674119B2 (ja) 2005-07-20

Family

ID=18003882

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31032595A Expired - Fee Related JP3674119B2 (ja) 1995-11-29 1995-11-29 類似文書検索方法

Country Status (1)

Country Link
JP (1) JP3674119B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11143902A (ja) * 1997-11-11 1999-05-28 Hitachi Ltd n−gramを用いた類似文書検索方法
JPH11154164A (ja) * 1997-11-21 1999-06-08 Hitachi Ltd 全文検索処理における適合度算出方法および該方法に係るプログラムを格納した記憶媒体
JP2001117937A (ja) * 1999-10-20 2001-04-27 Hitachi Ltd 文書検索方法および装置
US6574622B1 (en) 1998-09-07 2003-06-03 Fuji Xerox Co. Ltd. Apparatus and method for document retrieval
JP2008077543A (ja) * 2006-09-25 2008-04-03 Fujitsu Ltd レポート引用元情報取得装置、レポート引用元情報取得方法及びレポート引用元情報取得プログラム
JP2008242965A (ja) * 2007-03-28 2008-10-09 Kddi Corp 動画像提示システム
KR101374651B1 (ko) * 2005-03-18 2014-03-17 써치 엔진 테크놀로지스, 엘엘씨 서치 결과를 향상시키기 위해 사용자로부터의 피드백을 적용하는 서치 엔진
US9092523B2 (en) 2005-02-28 2015-07-28 Search Engine Technologies, Llc Methods of and systems for searching by incorporating user-entered information

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH064584A (ja) * 1992-06-24 1994-01-14 Sharp Corp 文章検索装置
JPH06110948A (ja) * 1992-08-20 1994-04-22 Us Government 文献を識別し、検索し、分類する方法
JPH07230468A (ja) * 1994-02-18 1995-08-29 Fujitsu Ltd キーワード自動抽出装置およびキーワード自動抽出方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH064584A (ja) * 1992-06-24 1994-01-14 Sharp Corp 文章検索装置
JPH06110948A (ja) * 1992-08-20 1994-04-22 Us Government 文献を識別し、検索し、分類する方法
JPH07230468A (ja) * 1994-02-18 1995-08-29 Fujitsu Ltd キーワード自動抽出装置およびキーワード自動抽出方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11143902A (ja) * 1997-11-11 1999-05-28 Hitachi Ltd n−gramを用いた類似文書検索方法
JPH11154164A (ja) * 1997-11-21 1999-06-08 Hitachi Ltd 全文検索処理における適合度算出方法および該方法に係るプログラムを格納した記憶媒体
US6574622B1 (en) 1998-09-07 2003-06-03 Fuji Xerox Co. Ltd. Apparatus and method for document retrieval
JP2001117937A (ja) * 1999-10-20 2001-04-27 Hitachi Ltd 文書検索方法および装置
US10311068B2 (en) 2005-02-28 2019-06-04 Pinterest, Inc. Methods of and systems for searching by incorporating user-entered information
US11977554B2 (en) 2005-02-28 2024-05-07 Pinterest, Inc. Methods of and systems for searching by incorporating user-entered information
US11693864B2 (en) 2005-02-28 2023-07-04 Pinterest, Inc. Methods of and systems for searching by incorporating user-entered information
US11341144B2 (en) 2005-02-28 2022-05-24 Pinterest, Inc. Methods of and systems for searching by incorporating user-entered information
US9092523B2 (en) 2005-02-28 2015-07-28 Search Engine Technologies, Llc Methods of and systems for searching by incorporating user-entered information
US11036814B2 (en) 2005-03-18 2021-06-15 Pinterest, Inc. Search engine that applies feedback from users to improve search results
US10157233B2 (en) 2005-03-18 2018-12-18 Pinterest, Inc. Search engine that applies feedback from users to improve search results
US9367606B1 (en) 2005-03-18 2016-06-14 Search Engine Technologies, Llc Search engine that applies feedback from users to improve search results
KR101532715B1 (ko) * 2005-03-18 2015-07-02 써치 엔진 테크놀로지스, 엘엘씨 서치 결과를 향상시키기 위해 사용자로부터의 피드백을 적용하는 서치 엔진
KR101374651B1 (ko) * 2005-03-18 2014-03-17 써치 엔진 테크놀로지스, 엘엘씨 서치 결과를 향상시키기 위해 사용자로부터의 피드백을 적용하는 서치 엔진
JP2008077543A (ja) * 2006-09-25 2008-04-03 Fujitsu Ltd レポート引用元情報取得装置、レポート引用元情報取得方法及びレポート引用元情報取得プログラム
JP2008242965A (ja) * 2007-03-28 2008-10-09 Kddi Corp 動画像提示システム

Also Published As

Publication number Publication date
JP3674119B2 (ja) 2005-07-20

Similar Documents

Publication Publication Date Title
KR100451978B1 (ko) 정보 검색 방법과 정보 검색 장치
JP5740029B2 (ja) 対話型サーチクエリーを改良するためのシステム及び方法
JP3918531B2 (ja) 類似文書検索方法およびシステム
US20050203900A1 (en) Associative retrieval system and associative retrieval method
JP2742115B2 (ja) 類似文書検索装置
JPH11110416A (ja) データベースからドキュメントを検索するための方法および装置
CN111428494A (zh) 专有名词的智能纠错方法、装置、设备及存储介质
JP2001318948A (ja) 文書検索方法及び装置並びにその処理プログラムを記憶した媒体
JPH09101991A (ja) 情報フィルタリング装置
JP2000200281A (ja) 情報検索装置および情報検索方法ならびに情報検索プログラムを記録した記録媒体
JPH0484271A (ja) 文書内情報検索装置
JP3674119B2 (ja) 類似文書検索方法
JPH0922414A (ja) 文書分類支援方法および装置
JPH04274557A (ja) フルテキストサーチ方法
JPH10269233A (ja) 文書データベースの検索結果表示方法及び装置
JPH11272680A (ja) 文書データ提供装置およびそのプログラム記録媒体
JPH1145268A (ja) 文書検索装置およびその装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
JPH11143902A (ja) n−gramを用いた類似文書検索方法
JP4230710B2 (ja) 検索装置、検索方法、ならびに、プログラム
JPH064584A (ja) 文章検索装置
JPH06348757A (ja) 文書検索装置および方法
JP3715413B2 (ja) 類似文書検索装置および類似文書検索方法
JP3081093B2 (ja) 索引作成方法およびその装置と文書検索装置
JP3249743B2 (ja) 文書検索システム
JP2002132789A (ja) 文書検索方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040831

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041022

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20041207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041228

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050222

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050314

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050405

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050418

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080513

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090513

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100513

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110513

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110513

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120513

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120513

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130513

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130513

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees