JP2000231563A - 文書検索方法及び文書検索システム及び文書検索プログラムを記録したコンピュータ読み取り可能な記録媒体 - Google Patents
文書検索方法及び文書検索システム及び文書検索プログラムを記録したコンピュータ読み取り可能な記録媒体Info
- Publication number
- JP2000231563A JP2000231563A JP11030909A JP3090999A JP2000231563A JP 2000231563 A JP2000231563 A JP 2000231563A JP 11030909 A JP11030909 A JP 11030909A JP 3090999 A JP3090999 A JP 3090999A JP 2000231563 A JP2000231563 A JP 2000231563A
- Authority
- JP
- Japan
- Prior art keywords
- word
- search
- document
- gram
- index
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document management systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99934—Query formulation, input preparation, or translation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
検索できる任意語での検索と、単語境界を意識した検索
とを使いわけることのできる検索システム。 【解決手段】 登録対象文書に対し形態素解析等の単語
識別処理を行ない、単語の先頭位置と末尾位置を識別
し、識別結果を基に単語境界情報を取得し、登録対象文
書から抽出した所定長の部分文字列(n−gram)に
対し文書識別情報と該n−gramの文書における出現
位置情報と前記単語境界情報を有する検索用インデクス
を作成する。そして検索時には、検索タームに対応する
検索用インデクスを抽出し、該検索用インデクスに基づ
き、これらの単語境界情報を用いて単語の境界を意識し
た単語識別検索(前方一致、後方一致、完全一致検索)
と、単語境界情報を用いない単語境界を意識しない任意
語検索を高速に実現する。
Description
タベースの全文を対象として、指定した文字列の存在す
る文書を高速に検索するフルテキストサーチに係わり、
データベース、文書管理システム、文書ファイリングシ
ステムおよびDTP(Desk TopPublish
ing)システムなどに適用されるものである。
た検索文字列(以下、検索タームと呼ぶ)が含まれる文
書を高速に探し出す方式として、n−gramインデク
ス方式(以下、方式1と呼ぶ)がある。n−gramイ
ンデクス方式とは、文書の登録時に文書中の全てのn−
gram(連続するn文字からなる文字列)についてそ
の出現位置情報をインデクスとして格納しておき、検索
時には検索ターム中のn−gramに対しそのインデク
スを参照し、検索ターム中の位置関係とインデクス中の
位置関係が等しいかどうかを判定(以下、隣接判定と呼
ぶ)することによって、検索タームが出現する文書を探
し出す方式である。
示す。本図に示すように、方式1では、文書の登録時に
文書中の全てのn−gram(図2の例ではn=1)に
ついてその出現位置情報をインデクスとして格納する。
例えば、“に”という1−gramは文書‘001’の
‘3’文字目に出現するので、その文書番号‘001’
と文字位置‘3’を“に”に対応するインデクス200
に格納する。検索時には、指定された検索タームから抽
出したn−gram(図2の例ではn=1)のインデク
ス間で出現位置情報の隣接判定を行うことにより、検索
タームの出現位置情報を取得する。例えば、“微生物”
が検索タームとして指定された場合には、この検索ター
ムからまず、1−gram “微”、“生”および
“物”を抽出する。そして、“微”に対応するインデク
ス201、“生”に対応するインデクス202および
“物”に対応するインデクス203の間で出現位置情報
の隣接判定を行うことによって、“微生物”の出現位置
情報を取得する。本図の例では、“微”、“生”および
“物”が文書番号‘001’の‘9’文字目から、文書
番号‘056’の‘5’文字目から隣り合っているの
で、それらの出現位置に“微生物”が存在することが分
かる。以上のように、方式1では、文書を走査すること
なしに、インデクスの読込みと出現位置情報の隣接判定
だけで検索が行えるため、大規模な文書データベースに
適用した場合でも高速なフルテキストサーチを実現でき
る可能性がある。
なわち1−gramのインデクスを用いると、1−gr
amは全文書中(データベース中)における出現頻度が
高いため、一つの1−gramに対する出現位置情報が
増え、個々のインデクスの容量が大きくなる。このため
インデクスの読込みに時間が掛かるばかりでなく、出現
位置情報による隣接判定の回数も増えるため、検索に時
間が掛かるという問題が生じる。検索を高速にするため
にはnの値を増やした容量の小さなインデクスを作成す
る必要があるが、短い検索タームが指定された場合でも
検索が行えるようにnの小さなインデクスも全て作成し
ておかなければならない。その結果、総インデクス容量
が増加することになる。
検索方法では、“キー探索技法−IV トライとその応
用”(青江順一著、情報処理Vol.34、No.2、
1993、pp.244−251)に記載されているト
ライのような木構造で文字列(方式1の場合はn−gr
am)を管理する必要がある。トライとは検索対象とな
る文字列すなわちキーワードの集合(以下、キー集合と
呼ぶ)における各キーワード(以下、キーと呼ぶ)に共
通な前方部分文字列を共通の節で括り出して作られる木
構造である。このトライは登録や検索の際に用いられ、
登録する文字列あるいは検索ターム中の文字列でキーを
辿ってトライを探索することにより、その文字列に対応
するインデクスを指し示すポインタ情報を取得すること
ができる。トライの探索に掛かる時間はキーの数に依存
しないため、大規模なデータベースに適用した場合で
も、高速にキーワードを探索できるという特徴がある。
badger、jar}に対応するトライを示す。この
トライでは節1(300)から節2(301)へ枝ラベ
ルb(302)が定義され、二重丸で示すキーの末尾に
あたる節にはそのキーに対するインデクスへのポインタ
情報が設定されている。例えば、検索タームとして“b
aby”が指定された場合には、文字列“baby”で
本図のトライを探索することにより、節5(303)に
設定されているポインタ情報Pt1が得られ、このポイ
ンタ情報Pt1が示す先に検索ターム“baby”に対
応するインデクスが格納されていることになる。方式1
において、このトライを用いてn−gramを管理する
際、個々のインデクスの容量を小さくして検索を高速に
するためにn−gramを長くしたインデクスを作成す
ると、n−gramの種類が増え、トライの節が増える
ため、トライ全体の規模が大きくなってしまうという問
題がある。
する木構造の容量の増加という問題を解決するために
「特開平8−194718号」(以下、公知例1と呼
ぶ)で、インデクスの容量がある基準値(以下、基準イ
ンデクスサイズと呼ぶ)を超えたn−gramに対して
のみ、nの値を増やして容量の小さなインデクスを作成
することにより、常に容量の小さなインデクスの読込み
と出現位置情報の隣接判定で済むようにして、高速な検
索を実現するとともに、総インデクス容量およびインデ
クスを管理する木構造(以下、トライで説明する)の容
量の増加を防ぐ方式が開示されている。図4に公知例1
に開示されているインクリメンタルn−gramインデ
クス方式の概要を示す。本方式では、文書の登録時にn
−gramに対応するインデクスを作成するともに、文
書中の2文字の接続情報をトライ122に登録する。そ
して、文書を登録していき、インデクスの容量が基準イ
ンデクスサイズを超えた場合には、対応するn−gra
mに1文字追加したn−gram (以下、拡張n−g
ramと呼ぶ)のインデクスを作成する。以下、図4を
用いてインデクスの作成方法を具体的に説明する。n−
gramに1文字追加した拡張n−gramを作成する
ためには、まずトライ122を参照してそのn−gra
mに続く可能性のあるn−gramを取得する。そし
て、検出されたn−gram(以下、接続n−gram
と呼ぶ)のインデクスと基準インデクスサイズより容量
が大きくなったn−gram(以下、基準インデクス超
過n−gramと呼ぶ)のインデクスの間で出現位置情
報の隣接判定を行うことにより、拡張n−gramのイ
ンデクスを作成する。本図の例では、“生”という1−
gramに対応するインデクスが基準インデクスサイズ
より大きくなっており、“生”が基準インデクス超過n
−gramとなる。ここで、まず、“生”という文字で
トライ122を探索し、“生”に続く接続n−gram
を取得する。本図に示す例では、トライ122を探索す
ることにより、“生”の後ろに“物”と“息”が続くこ
とが分かる。そこで、“生”と“物”、“生”と“息”
のインデクスの間で出現位置情報の隣接判定を行うこと
により、“生物”、“生息”といった“生”に1文字追
加した拡張n−gramのインデクス400を作成す
る。以上のように、公知例1を用いることにより、容量
が大きく検索に時間が掛かるインデクスに対しては、そ
のn−gramに1文字追加した拡張n−gramに対
するインデクスを作成するため、常に容量の小さなイン
デクスの読込みと出現位置情報の隣接判定で済むように
なるため、高速な検索を実現することができるようにな
る。また、それ以外のインデクスに対しては、n−gr
amの長さを増やしたインデクスを作成しないため、総
インデクス容量およびn−gramを管理する木構造
(トライ)の容量の増加を防ぐことができる。
公知例1に開示されているn−gram型のインデクス
方式によると、基準インデクスサイズより容量が大きく
検索に時間が掛かるインデクスに対しては、そのキーで
あるn−gramに1文字を追加した容量の小さなイン
デクスを作成することになるため、常に容量の小さなイ
ンデクスの読込みと出現位置情報の隣接判定で済むよう
になり、高速な検索を実現することが可能となる。ま
た、基準インデクスサイズより容量の小さなインデクス
に対しては、それ以上n−gramを長くしたインデク
スを作成しないため、総インデクス容量およびn−gr
amを管理する木構造(トライ)の容量の増加を防ぐこ
とが可能となる。
による全文検索では、検索対象に指定された検索ターム
が、検索タームの持つ本来の意味ではなく、別単語中の
部分語として含まれるようなノイズ文書が検索されてし
まうという問題がある。例えば、登録対象文書中の全て
の隣り合う2文字に対しインデクスを作成する2−gr
amインデクス方式では、登録対象文書中の“電気温水
器”という文字列から“電気”、“気温”、“温水”お
よび“水器”がインデクス作成対象文字列として抽出さ
れる。そして、検索時に“気温”という検索タームが指
定された場合には、“気温”に該当する2−gramイ
ンデクスを参照することにより検索結果を得る。このた
め、検索ターム本来の“気温”としての意味ではなく、
“電気”の部分文字“気”と“温水器”の部分文字
“温”が隣接して現れた前記文書も、検索結果として抽
出されてしまうことになる。
語中の部分語として含まれるような文書をノイズ文書と
して排除する方法として、従来から形態素解析を用いた
単語インデクス方式が用いられており、その概要が「鍵
を握るインデクス処理」(日経バイト記事、1996年10月
号、158ページ〜167ページ)」内の161ページ右(以
下、公知例2と呼ぶ)に示されている。この方式では、
文書登録時に、登録対象文書中の文字列を品詞毎に分解
し、その中から辞書を用いて有意語(単語)を抽出する
形態素解析処理を行う。そして、これらの有意語に対
し、検索用のインデクスを作成する。
の文字列“電気温水器”から、単語として“電気温水
器”のみが抽出され、検索用のインデクスが作成され
る。すなわち、“気温”は単語として抽出されないた
め、インデクスは作成されず、検索タームとして“気
温”が指定された場合にも本文書は検索されることなく
検索結果から排除されることになる。しかし、単語イン
デクス方式では、逆に辞書に登録されていない語(新
語、造語、略語、複合語など)は検索できないという問
題がある。すなわち、先ほどの例において辞書中に“電
気温水器”が登録されていない場合には、“電気温水
器”に対しインデクスが作成されず、その結果検索ター
ムとして“電気温水器”が指定された場合に本文書が検
索できないという問題がある。
グ方式と形態素解析型の単語インデクシング方式には、
互いに相反する問題点(辞書に未登録の語を含む任意語
の検索を実現しようとすると、指定された検索タームが
別単語中の部分語として含まれるノイズ文書が検索され
てしまう)がある。すなわち、検索時に検索目的に応じ
てこれらの検索機能を使い分けるためには、n−gra
m型のインデクシング方式と形態素解析型の単語インデ
クシング方式を併用する必要がある。つまり、n−gr
amと単語の両方についてインデクスを作成することに
なり、十分な検索性能を得るためにはインデクス容量が
大きくなりシステムが高価になる、十分な登録性能が得
られない、ならびに保守性に劣るという問題点があっ
た。
は、指定された検索タームを含む文書を漏れなく検索で
きる任意語での検索と、指定された検索タームが別単語
中の部分文字列として存在する文書を検索結果から排除
する単語境界を意識した検索を、検索目的に応じて使い
わけることのできる、保守性に優れた検索システムを、
高性能かつ安価に提供することである。
に、本発明は、予め登録された文書の集合を対象とし
て、指定された文字列を含む文書の検索を行なう文書検
索システムにおける文書検索方法であり、登録する文書
のテキストデータを対象として単語の抽出処理を行い、
該テキストデータ中の単語の先頭位置と末尾位置を識別
し、先頭または末尾を示す識別情報をそれぞれ単語先頭
文字または末尾文字に付加したテキストデータを生成す
る単語境界識別ステップと、該生成したテキストデータ
から所定長の部分文字列(n−gram)を抽出する登
録用n−gram抽出ステップと、前記抽出n−gra
mについて、該テキストデータのテキスト識別情報と該
テキストデータにおける出現位置情報を含む文字位置情
報を抽出するとともに、前記単語境界識別ステップの識
別結果に基づき、該n−gramの先頭文字が単語の先
頭位置であった場合には単語の先頭境界識別情報を、ま
た該n−gramの末尾文字が単語の末尾位置であった
場合には単語の末尾境界識別情報を抽出し、該抽出n−
gramについて抽出した情報を有する該抽出n−gr
amに対応する検索用インデクスを生成し、記憶する単
語境界情報格納型n−gramインデクス作成登録ステ
ップとを有するようにしている。
語の抽出処理において、形態素解析用の単語辞書と、漢
字、カタカナ、ひらがな、数字、アルファベット、およ
び記号のうち少なくとも2種類以上の文字種別情報と、
所定長の部分文字列の前方および後方において文字種の
変化点に現れる頻度を統計的に蓄積した文字種境界確率
とのうち、少なくとも1つ以上を用いるようにしてい
る。
して、指定された文字列を含む文書の検索を行なう文書
検索システムにおける文書検索方法であり、指定された
検索タームから、所定長の部分文字列(n−gram)
を抽出する検索用n−gram抽出ステップと、前記n
−gramに関するテキスト識別情報と該テキストデー
タにおける出現位置情報と単語の先頭境界識別情報と単
語の末尾境界識別情報を有するインデクスデータを抽出
する検索用インデクス抽出ステップと、検索用インデク
ス抽出ステップにおいて抽出されたインデクス中のテキ
スト識別情報と、出現位置情報と、単語の先頭境界識別
情報ないし末尾境界識別情報の少なくとも一つ以上とを
用いて、別単語中の部分文字列として含まれる文書をノ
イズとして排除して指定された検索タームを含む文書を
漏れなく検索する単語識別検索ステップとを有するよう
にしている。
た検索タームを含む文書を漏れなく検索する任意語検索
であるか、指定された検索タームが別単語中の部分文字
列として存在する文書を検索結果から排除する単語境界
を意識した単語識別検索であるかを判定する検索条件判
定ステップと、該検索条件判定ステップにおける判定結
果が任意語検索の場合には、検索用インデクス抽出ステ
ップにおいて抽出されたインデクス中のテキスト識別情
報と出現位置情報基づき、指定された検索タームを含む
全ての文書を漏れなく検索する任意語検索ステップを有
し、前記検索条件判定ステップにおける判定結果が単語
識別検索の場合には、前記単語識別検索ステップを実行
するようにしている。
して、指定された文字列を含む文書の検索を行なう文書
検索システムであり、登録する文書のテキストデータを
対象として単語の抽出処理を行い、該テキストデータ中
の単語の先頭位置と末尾位置を識別し、先頭または末尾
を示す識別情報をそれぞれ単語先頭文字または末尾文字
に付加したテキストデータを生成する単語境界識別手段
と、該生成したテキストデータから所定長の部分文字列
(n−gram)を抽出する登録用n−gram抽出手
段と、前記抽出n−gramについて、該テキストデー
タのテキスト識別情報と該テキストデータにおける出現
位置情報を含む文字位置情報を抽出するとともに、前記
単語境界識別ステップの識別結果に基づき、該n−gr
amの先頭文字が単語の先頭位置であった場合には単語
の先頭境界識別情報を、また該n−gramの末尾文字
が単語の末尾位置であった場合には単語の末尾境界識別
情報を抽出し、該抽出n−gramについて抽出した情
報を有する該抽出n−gramに対応する検索用インデ
クスを生成し、記憶する単語境界情報格納型n−gra
mインデクス作成登録手段とを有するようにしている。
して、指定された文字列を含む文書の検索を行なう文書
検索システムであり、指定された検索タームから、所定
長の部分文字列(n−gram)を抽出する検索用n−
gram抽出手段と、前記n−gramに関するテキス
ト識別情報と該テキストデータにおける出現位置情報と
単語の先頭境界識別情報と単語の末尾境界識別情報を有
するインデクスデータを抽出する検索用インデクス抽出
手段と、指定された検索条件が、指定された検索ターム
を含む文書を漏れなく検索する任意語検索であるか、指
定された検索タームが別単語中の部分文字列として存在
する文書を検索結果から排除する単語境界を意識した単
語識別検索であるかを判定する検索条件判定手段と、該
判定の結果が任意語検索の場合に、検索用インデクス抽
出手段により抽出されたインデクス中のテキスト識別情
報と出現位置情報基づき、指定された検索タームを含む
全ての文書を漏れなく検索する任意語検索手段と、前記
判定の結果が単語識別検索の場合に、検索用インデクス
抽出手段により抽出されたインデクス中のテキスト識別
情報と、出現位置情報と、単語の先頭境界識別情報ない
し末尾境界識別情報の少なくとも一つ以上とを用いて、
別単語中の部分文字列として含まれる文書をノイズとし
て排除して指定された検索タームを含む文書を漏れなく
検索する単語識別検索手段とを有するようにしている。
ピュータ読み取り可能な記録媒体であり、指定された検
索タームから、所定長の部分文字列(n−gram)を
抽出する手順と、前記n−gramに関するテキスト識
別情報と該テキストデータにおける出現位置情報と単語
の先頭境界識別情報と単語の末尾境界識別情報を有する
インデクスデータを抽出する手順と、指定された検索条
件が、指定された検索タームを含む文書を漏れなく検索
する任意語検索であるか、指定された検索タームが別単
語中の部分文字列として存在する文書を検索結果から排
除する単語境界を意識した単語識別検索であるかを判定
する手順と、該判定結果が任意語検索の場合に、前記抽
出されたインデクス中のテキスト識別情報と出現位置情
報基づき、指定された検索タームを含む全ての文書を漏
れなく検索する手順と、前記判定結果が単語識別検索の
場合に、前記抽出されたインデクス中のテキスト識別情
報と、出現位置情報と、単語の先頭境界識別情報ないし
末尾境界識別情報の少なくとも一つ以上とを用いて、別
単語中の部分文字列として含まれる文書をノイズとして
排除して指定された検索タームを含む文書を漏れなく検
索する手順とを有するようにしている。
第一の実施例の構成を図1に示す。本図に示す文書検索
システムは検索結果を表示するディスプレイ10、登録
および検索のコマンドを入力するキーボード20、登録
処理および検索処理を実行する中央演算処理装置CPU
30、フロッピディスクからデータを読み出すフロッピ
ディスクドライバ40、データベースへ登録する文書デ
ータを格納したフロッピディスク50、登録および検索
用のプログラムならびにデータなどを一時的に格納する
主メモリ60、各種データおよびプログラムを格納する
磁気ディスク70およびこれらを接続するバス80で構
成される。主メモリ60にはシステム制御プログラム1
00に加え、登録用のプログラムとして登録制御プログ
ラム110、単語境界識別プログラム111、登録用n
−gram抽出プログラム112および単語境界情報格
納型n−gramインデクス作成登録プログラム113
が、また検索用のプログラムとして検索制御プログラム
120、検索用n−gram抽出プログラム121、検
索用インデクス抽出プログラム122、検索条件判定プ
ログラム123、任意語検索プログラム124および単
語識別検索プログラム125が磁気ディスク70から読
み出されるとともに、ワークエリア130が確保され
る。また、磁気ディスク70にはテキスト格納領域14
0、単語境界情報格納型n−gramインデクス格納領
域141、形態素解析用辞書格納領域142および各種
プログラム格納領域143が確保されている。以上が本
文書検索システムの構成である。
ムの文書登録時の処理の概要について説明する。始め
に、キーボード20から入力される登録コマンドにより
システム制御プログラム100は登録制御プログラム1
10を起動し、文書の登録処理を開始する。 文書登録
時の処理を図5に示すPAD(Problem Analysis Diagram)
を用いて説明する。登録制御プログラム110は、フロ
ッピディスク50に格納されている全ての登録対象文書
について、ステップ1001からステップ1005まで
に示す一連の処理を繰り返し実行する(ステップ100
0)。まず、ステップ1001ではフロッピディスクド
ライバ40を通じてフロッピディスク50に格納されて
いる登録対象文書群から未処理の文書を1個選択し、主
メモリ60上のワークエリア130に読み出す。次に、
ステップ1002で、ステップ1001で読み込んだ登
録対象文書に対し、文書データベース中で該当文書を一
意に識別するための番号である文書識別子を割り当て
る。また、登録対象文書を磁気ディスク70上のテキス
ト格納領域140に格納する。
リ60上のワークエリア130に読み込まれた登録対象
文書に対し、単語境界識別プログラム111を実行し、
磁気ディスク70上の形態素解析用辞書142を参照し
ながら形態素解析処理を行うことにより、単語の抽出処
理を行い、単語の境界位置に識別記号を付加していく。
そして、ステップ1004で登録用n−gram抽出プ
ログラム112を実行し、登録対象文書中から所定長の
部分文字列(n−gram)を検索用インデクス生成対
象文字列として抽出する。最後に、単語境界情報格納型
n−gramインデクス作成登録プログラム113を実
行し、ステップ1004において抽出されたn−gra
mの文字位置情報に加え、該当n−gramの先頭文字
が単語の先頭境界に当たる場合には先頭境界識別情報
を、また該当n−gramの末尾文字が単語の末尾境界
に当たる場合には末尾境界識別情報を付加した検索用イ
ンデクスを作成する。そして、これを磁気ディスク70
上の単語境界情報格納型n−gramインデクス格納領
域141に格納する。以上が本実施例における登録処理
の概要である。
テップ1004およびステップ1005の処理内容につ
いて簡単に説明を補足する。まず、ステップ1003に
おける単語境界識別プログラムでは登録対象文書の内容
を解析することにより単語を抽出し、各単語の先頭およ
び末尾に識別記号を付与したテキストを生成しワークエ
リア130に出力する。なお、本実施例における単語の
抽出処理では公知例2に記載されている形態素解析技術
に基づく方法も用いるものとする。
−gram抽出処理では、ステップ1003によりワー
クエリア130上に生成された単語の先頭および末尾の
識別記号を付与されたテキストから、所定長の部分文字
列(n−gram)を抽出する。ここで抽出するn−g
ramの文字長は検索性能および検索用インデクスの容
量に大きく依存するが、説明の簡略化のため本実施例で
は登録対象文書中の全ての1文字を抽出する方法(1−
gramインデクス方式)を用いるものとする。そし
て、単語の先頭を表す識別記号直後および単語の末尾を
表す識別記号直前の1−gramについては、それを識
別するための符号を付与する。
界情報格納型n−gramインデクス作成登録プログラ
ムでは、ステップ1004で抽出した登録対象文書中の
全ての1文字(1−gram)について、登録対象文書
における文書識別子と各1−gramが登録対象文書内
の何文字目に現れたかを示す出現位置情報の組みを文字
位置情報として生成する。また、各1−gramが単語
の先頭を表す識別記号直後の場合には単語の先頭境界識
別情報を、単語の末尾を表す識別記号を直前の1−gr
amについては単語の末尾境界識別情報を付与した検索
用インデクスを作成する。
6に示すPADを用いて説明する。まず、ステップ110
0では既に登録済みの文書があるか否かを判定する。そ
して、その判定の結果、まだ登録された文書が存在しな
い場合にはステップ1101においてトライおよび検索
用インデクス(単語境界情報格納型n−gramインデ
クス)の初期化処理を行う。次に、ステップ1102に
おいて該当文書の文書識別子を抽出した後、ステップ1
103において、単語境界情報を付与したテキストデー
タの先頭から末尾に至るまでステップ1104からステ
ップ1108に示す一連の処理を繰り返す。すなわち、
ステップ1104において登録用n−gramとしてテ
キストデータから1文字(1−gram)を読み込み、
ステップ1105において該当文字がトライに登録済み
であるか否かを判定する。そして、トライ未登録の場合
にはステップ1106において該当文字に関するインデ
クス格納領域をアロケートした後、ステップ1107で
トライへの登録処理を行う。そして、ステップ1108
において該当文字に関するインデクス格納領域末尾に該
当文書の文書識別子、文字位置を格納するとともに、該
当文字が単語の先頭境界の場合には単語の先頭境界フラ
グに“1”を付与する。また該当文字が単語の末尾境界
の場合には単語の末尾境界識フラグに“1”を付与した
検索用インデクス(単語境界情報格納型n−gramイ
ンデクス)を生成し、これを磁気ディスク70上の単語
境界情報格納型n−gramインデクス格納領域141
に格納する。以上が、本実施例におけるステップ100
3、1004および1005の処理内容である。
的な処理内容について、「新型の電気温水器を開発し
た。」という文書が登録された場合を例に説明する。本
例では、登録対象文書は1件であるため図5に示すPAD
におけるステップ1000の繰り返し処理は、本文書の
みを対象として実行されることになる。まず、図5に示
すPADにおけるステップ1001では、「新型の電気温
水器を開発した。」というテキストデータを主メモリ6
0上ワークエリア130に読み込む。そして図5に示す
PADにおけるステップ1002において、本登録対象文
書をデータベース中で一意に識別するための番号として
文書識別子001を割り当てる。 次に、図5に示すPADに
おけるステップ1003では、形態素解析用辞書を参照
することにより単語として“新型”、“電気温水器”お
よび“開発”を識別する。そして図7に示すように、そ
れらの前方と末尾に、それぞれ単語の先頭を表わす識別
記号“[TOW]”(TOWはTop Of Wordの略)およびそれぞ
れ単語の末尾を表わす識別記号“[EOW]”(EOWはEnd Of
Wordの略)を付加して主メモリ60上のワークエリア
130に格納する。
ようにステップ1003において生成された単語の境界
情報を付加したテキストデータから、登録対象となるn
−gramとして該当文書中の全ての1文字“新”、
“型”、“の”、“電”、“気”、“温”、“水”、
“器”、“を”、・・・を抽出する。そして、単語の先
頭境界の直後の文字にあたる“新”、“電”および
“開”に対し先頭境界情報を、また単語の末尾境界の直
前の文字にあたる“型”、“器”および“発”に対し末
尾境界情報を付与する。
04において抽出したn−gramに対し該当文書の文
書識別子(Did)および該当文書内での文字位置(Pos)
を出現位置情報として格納するとともに、単語の境界フ
ラグを付与した検索用インデクス(単語境界情報格納型
n−gramインデクス)およびトライを生成する。
ステップ1100を実行するが、この時点では登録済み
の文書が存在しないためステップ1100での判定結果
は“なし”となり、ステップ1101においてトライお
よび単語境界情報格納型n−gramインデクスの初期
化処理を行う。そして、ステップ1102において登録
対象文書の文書識別子“001”を抽出する。次にステッ
プ1103における繰り返し処理の1回目の処理として
ステップ1104で第一文字目の“新”を抽出する。こ
の時点では“新”は未だ登録されていないため、ステッ
プ1105での判定結果は“未登録”であり、ステップ
1106において“新”に関するインデクス領域をアロ
ケートするとともにステップ1107において該当イン
デクス領域へのポインタ“Pt1”をトライに登録する。
そして、ステップ1108において文書識別子Didとし
て“001”を、文字位置Posとして“1”を格納するとと
もに単語の先頭境界フラグに“1”を、末尾境界フラグ
に“0”付与したインデクスを生成する。次に、ステッ
プ1103における繰り返し処理の2回目の処理として
ステップ1104で第二文字目の“型”を抽出する。こ
の時点では“型”は未登録のため、ステップ1105で
の判定結果は“未登録”とあり、ステップ1106にお
いて“型”に関するインデクス領域をアロケートすると
ともにステップ1107において該当インデクス領域へ
のポインタ“Pt2”をトライに登録する。そして、ステ
ップ1108において文書識別子Didとして“001”を、
文字位置Posとして“2”を格納するとともに単語の先頭
境界フラグに“0”を、末尾境界フラグに“1”付与し
たインデクスを生成する。以下、同様の処理を全てのテ
キストデータに対し繰り返すことにより図8に示すトラ
イおよび検索用インデクス(単語境界情報格納型n−g
ramインデクス)を生成する。そして、これを磁気デ
ィスク70上の単語境界情報格納型n−gramインデ
クス格納領域141に格納することにより登録処理を完
了する。以上が本実施例における登録時の処理例であ
る。
実施例における文書検索システムに対してネットワーク
を介してユーザから検索コマンドが入力されると、シス
テム制御プログラム100は検索制御プログラム120
を起動し、文書の検索処理を開始する。文書検索時の処
理を図9に示すPADを用いて説明する。始めに、検索制
御プログラム120はステップ2000で検索用n−g
ram抽出プログラム121を実行し、指定された検索
タームから全ての1文字(1−gram)を抽出するこ
とにより検索用のn−gramを抽出する。次に、ステ
ップ2001で検索用インデクス抽出プログラム122
を実行し、ステップ2000で抽出した全ての1−gr
amについて検索用インデクス(単語境界識別情報格納
型n−gramインデクス)を参照し、検索を実行する
ために必要となるインデクスデータを抽出する。そし
て、ステップ2002において検索条件判定プログラム
123を実行し、指定された検索条件が単語の境界を意
識しない任意語での検索であるか、単語の境界を意識し
た単語識別検索であるかを判定する。そして、指定され
た検索条件が任意語検索の場合にはステップ2003に
おいて任意語検索プログラム124を実行し、単語境界
を意識しない任意語での検索を行う。また、指定された
検索条件が単語識別検索の場合には、ステップ2004
で単語識別検索プログラム125を実行し、単語境界を
意識した検索を行う。最後に、検索制御プログラム12
0は、以上の処理によって得られた検索結果をシステム
制御プログラム100を介して検索者に返送することに
より検索処理を終了する。以上が、本実施例における検
索処理の概要である。
びステップ2004の処理内容について簡単に説明を補
足する。まず、ステップ2003における任意語検索プ
ログラム124では、単語の先頭および末尾境界フラグ
を参照することなく従来技術(例えば、公知例1)に示
されているように指定された検索タームを含む文書の検
索を行う。すなわち、各n−gramに関するインデク
スデータとして格納されている文書識別子と文字位置を
参照し、各n−gramが同一文書中に存在し、かつ各
n−gramの並びが検索タームと同一である文書を抽
出することにより検索を行う。
検索プログラム125では、上述したステップ2003
における任意語検索処理に加え、単語の先頭および末尾
境界フラグを利用した判定処理を行う。ここで想定して
いる単語識別検索としては単語の前方一致検索(例えば
検索タームとして“気温”を指定した場合に“気温
差”、“気温変化”などを含む文書を検索)、後方一致
検索(例えば検索タームとして“気温”を指定した場合
に“外気温”、“平均気温”などを含む文書を検索)、
ならびに完全一致検索(例えば検索タームとして“気
温”を指定した場合に“気温”そのものを含む文書のみ
を検索)がある。そして、これらのそれぞれに対し、前
方一致検索の場合には検索タームの先頭から抽出したn
−gramに関する単語の先頭境界フラグに“1”が設
定されているものだけを、後方一致検索の場合には検索
タームの末尾から抽出したn−gramに関する単語の
末尾境界フラグに“1”が設定されているものだけを、
また完全一致検索の場合にはこれらの両方に“1”が設
定されているものだけを抽出することにより単語境界を
意識した検索を実行する。以上が検索時処理の処理内容
である。
いて、具体的な検索処理の内容を例を挙げて説明する。
まず、図8に示すトライおよび検索用インデクスを対象
として検索ターム“電気温水器”で任意語検索を行った
場合の処理例について図10を用いて説明する。まず、
図9に示すPADのステップ2000において検索用n−
gram抽出処理を実行することにより、検索ターム中
“電気温水器”中の全ての1−gram“電”、
“気”、“温”、“水”および“器”を抽出する。そし
てステップ2001において検索用インデクス抽出処理
を実行することにより図8に示すトライおよび検索用イ
ンデクスから“電”、“気”、“温”、“水”および
“器”に該当するインデクスデータを抽出する。そし
て、本例では検索条件は任意語検索であるため、ステッ
プ2002における判定結果は“任意語検索”となり、
ステップ2003の任意語検索処理を実行する。すなわ
ち、本処理では“電”、“気”、“温”、“水”および
“器”に関するインデクスデータが同一の文書識別子
(Did)を持ち、かつ文字位置(Pos)が1ずつ異なって
連続しているか否かを判定することにより、文書識別子
Didが001である文書の文字位置4に指定された検索ター
ムが存在することが分かる。
よび検索用インデクスを対象として検索ターム“電気温
水器”で単語の完全一致検索を行った場合の処理例につ
いて図11を用いて説明する。まず、図9に示すPADの
ステップ2000およびステップ2001においては、
先ほどの例と同一の処理を行うことにより、図8に示す
トライおよび検索用インデクスから“電”、“気”、
“温”、“水”および“器”に該当するインデクスデー
タを抽出する。次に、ステップ2002で検索条件の判
定処理を行うが、本例では検索条件は単語の完全一致検
索(単語識別検索)であるため、判定結果は“単語識別
検索”となり、ステップ2004の単語識別検索処理を
実行する。すなわち、本処理では“電”、“気”、
“温”、“水”および“器”に関するインデクスデータ
が同一の文書識別子(Did)を持ち、かつ文字位置(Po
s)が1ずつ異なって連続しているか否かを判定するこ
とにより、文書識別子Didが001である文書の文字位置4
に指定された検索タームが存在することが分かる。さら
に単語の境界判定処理を行うことにより、検索ターム
“電気温水器”から抽出した先頭のn−gram“電”
の先頭境界フラグが“1”であり、かつ末尾のn−gr
am“器”の末尾境界フラグが“1”であるものを抽出
することにより、検索結果として文書識別子Didが001で
ある文書の文字位置4を検索結果として出力する。
および検索用インデクスを対象として検索ターム“気
温”で単語の完全一致検索を行った場合の処理例につい
て図12を用いて説明する。まず、図9に示すPADのス
テップ2000およびステップ2001において、検索
用n−gram抽出処理および検索用インデクス抽出処
理を行うことにより、図8に示すトライおよび検索用イ
ンデクスから“気”および“温”に該当するインデクス
データを抽出する。次に、ステップ2002で検索条件
の判定処理を行うが、本例では検索条件は単語の完全一
致検索(単語識別検索)であるため、判定結果は“単語
識別検索”となり、ステップ2004の単語識別検索処
理を実行する。すなわち、本処理では“気”および
“温”に関するインデクスデータが同一の文書識別子
(Did)を持ち、かつ文字位置(Pos)が1ずつ異なって
連続しているか否かを判定することにより、文書識別子
Didが001である文書の文字位置5に指定された検索ター
ムが存在することが分かる。さらに単語の境界判定処理
では、検索ターム“気温”から抽出した先頭のn−gr
am“気”の先頭境界フラグが“1”であり、かつ末尾
のn−gram“温”の末尾境界フラグが“1”である
ものを抽出するが、ここではこれらのフラグが共に
“0”であるため検索結果として出力されない。以上が
本実施例における文書検索時の処理内容である。
に登録対象文書に対し形態素解析処理を行い単語の境界
を識別するとともに、該当n−gramが単語の先頭境
界であったか否かを示す先頭境界フラグ、ならびに末尾
境界であったか否かを示す末尾境界フラグを付加した検
索用のインデクスを生成する。そして、検索時に検索条
件が単語の境界を意識した単語識別検索の場合には、検
索タームの先頭から抽出したn−gramに関する先頭
境界フラグおよび末尾から抽出したn−gramに関す
る末尾境界フラグから、単語識別検索(単語の前方一致
検索、末尾一致検索、完全一致検索)を実現することが
可能になる。さらに、本例では図7における形態素解析
用辞書に“電気温水器”が登録されていることを前提と
して説明を行った。しかし、文書登録の時点で“電気”
および“温水器”が辞書に登録されているが、その複合
語である“電気温水器”が辞書に登録されていない場合
にも、“電”が“電気温水器”を構成する単語“電気”
の先頭境界であり、“器”が“電気温水器”を構成する
単語“温水器”の末尾境界であることから、複合語であ
る検索ターム“電気温水器”に対する単語一致検索を実
現することが可能である。
ディスク70におけるテキスト格納領域140ならびに
単語境界情報格納型n−gramインデクス格納領域1
41上のデータを更新していく方式について述べたが、
全ての登録対象文書に対するテキストおよび単語境界情
報格納型n−gramインデクスを主メモリ60上のワ
ークエリア180に作成したあと、これらを一括して磁
気ディスク70に書き込む方式であっても構わない。
ム111として公知例2に示されている形態素解析処理
を行う方式について述べたが、文書の先頭から順次単語
辞書を機械的に参照しながら文字列を抽出していく方法
であっても構わないし、例えば漢字、カタカナやアルフ
ァベットなどの連続した同一文字種文字列を単語として
切り出すといったように、漢字、カタカナ、平仮名、数
字、記号およびアルファベットといった文字種情報を用
いて分割した単語を用いる方法であっても構わない。ま
た、特願平10−148721に開示したように、テキ
ストデータベースから抽出した各n−gram前後での
文字種の区切れ目に着目し、全出現頻度に対してその前
後に文字種の区切れ目が出現した確率(文字種境界確
率)を用いて単語を抽出する処理であっても構わない。
すなわち、本方式に基づく文書検索方法では、所定の文
書から抽出したn−gramに対し、該当n−gram
の出現回数を算出する。また、該当n−gramの前に
文字種の変化点が現れた回数および該当n−gramの
後方で文字種の変化点が現れた回数を計数することによ
り、各n−gramの前方に文字種の変化点が現れる確
率と各n−gramの後方で文字種の変化点が現れる確
率を算出し、それぞれを前方文字種境界確率および後方
文字種境界確率としておく。そして文書登録時には、登
録文書内の各文字位置において、その前後のn−gra
mを抽出し、前方側のn−gramにおける後方文字種
境界確率と後方n−gramにおける前方文字種境界確
率から、単語境界を判定する方式であっても構わない。
am抽出プログラム112では登録対象文書から、また
検索用n−gram抽出プログラム122では検索ター
ムから全ての1文字を文字列を抽出する1−gramイ
ンデクス方式について述べたが、1文字以上の所定長の
部分文字列に対して検索用インデクスを作成するn−g
ramインデクス方式一般について本発明に示す検索機
能は適用可能であることは云うまでもない。また、公知
例1に示されているように、データベース中での出現頻
度に応じてインデクス作成対象とする部分文字列長(n
−gram長)を動的に変更するインクリメンタルn−
gramインデクス方式に適用することも可能である。
よび登録用プログラムを磁気ディスク上70上の各種プ
ログラム格納領域143に格納したが、光磁気ディスク
装置など他の二次記憶装置に格納する構成であっても構
わない。また、CD−ROMなどの可搬型の媒体に格納
し、これらを必要に応じてCD−ROMドライブ(図示
せず)から読み出す構成であっても構わない。また、上
記実施例からも明らかなように、登録用のプログラムと
検索用のプログラムは独立して動作することが可能であ
ることから、これらを別々の媒体に格納することも可能
であるし、別々のコンピュータシステムないしはCPU
で動作させることも可能である。
を含む文書を漏れなく検索できる任意語での検索と、指
定された検索タームが別単語中の部分文字列として存在
する文書を検索結果から排除する単語境界を意識した検
索を、検索目的に応じて使いわけることのできる、保守
性に優れた検索システムを、高性能かつ安価に提供する
ことが可能になる。
ある。
概要を示す図である。
る。
る。
mインデクス作成登録プログラムの処理フローを示す図
である。
の例を示す図である。
抽出処理および単語境界情報格納型n−gramインデ
クス作成登録処理)の例を示す図である。
る。
である。
である。
である。
成登録プログラム 120 検索制御プログラム 121 検索用n−gram抽出プログラム 122 検索用インデクス抽出プログラム 123 検索条件判定プログラム 124 任意語検索プログラム 125 単語識別検索プログラム 130 ワークエリア 140 テキスト格納領域 141 単語境界情報格納型n−gramインデクス格
納領域 142 形態素解析用辞書格納領域 143 各種プログラム格納領域
Claims (7)
- 【請求項1】 予め登録された文書の集合を対象とし
て、指定された文字列を含む文書の検索を行なう文書検
索システムにおける文書検索方法であって、 登録する文書のテキストデータを対象として単語の抽出
処理を行い、該テキストデータ中の単語の先頭位置と末
尾位置を識別し、先頭または末尾を示す識別情報をそれ
ぞれ単語先頭文字または末尾文字に付加したテキストデ
ータを生成する単語境界識別ステップと、 該生成したテキストデータから所定長の部分文字列(n
−gram)を抽出する登録用n−gram抽出ステッ
プと、 前記抽出n−gramについて、該テキストデータのテ
キスト識別情報と該テキストデータにおける出現位置情
報を含む文字位置情報を抽出するとともに、前記単語境
界識別ステップの識別結果に基づき、該n−gramの
先頭文字が単語の先頭位置であった場合には単語の先頭
境界識別情報を、また該n−gramの末尾文字が単語
の末尾位置であった場合には単語の末尾境界識別情報を
抽出し、該抽出n−gramについて抽出した情報を有
する該抽出n−gramに対応する検索用インデクスを
生成し、記憶する単語境界情報格納型n−gramイン
デクス作成登録ステップとを有することを特徴とする文
書検索方法。 - 【請求項2】 請求項1記載の文書検索方法において、 前記単語境界識別ステップは、単語の抽出処理におい
て、形態素解析用の単語辞書と、漢字、カタカナ、ひら
がな、数字、アルファベット、および記号のうち少なく
とも2種類以上の文字種別情報と、所定長の部分文字列
の前方および後方において文字種の変化点に現れる頻度
を統計的に蓄積した文字種境界確率とのうち、少なくと
も1つ以上を用いることを特徴とする文書検索方法。 - 【請求項3】 予め登録された文書の集合を対象とし
て、指定された文字列を含む文書の検索を行なう文書検
索システムにおける文書検索方法であって、 指定された検索タームから、所定長の部分文字列(n−
gram)を抽出する検索用n−gram抽出ステップ
と、 前記n−gramに関するテキスト識別情報と該テキス
トデータにおける出現位置情報と単語の先頭境界識別情
報と単語の末尾境界識別情報を有するインデクスデータ
を抽出する検索用インデクス抽出ステップと、 検索用インデクス抽出ステップにおいて抽出されたイン
デクス中のテキスト識別情報と、出現位置情報と、単語
の先頭境界識別情報ないし末尾境界識別情報の少なくと
も一つ以上とを用いて、別単語中の部分文字列として含
まれる文書をノイズとして排除して指定された検索ター
ムを含む文書を漏れなく検索する単語識別検索ステップ
とを有することを特徴とする文書検索方法。 - 【請求項4】 請求項3記載の文書検索方法において、 指定された検索条件が、指定された検索タームを含む文
書を漏れなく検索する任意語検索であるか、指定された
検索タームが別単語中の部分文字列として存在する文書
を検索結果から排除する単語境界を意識した単語識別検
索であるかを判定する検索条件判定ステップと、 該検索条件判定ステップにおける判定結果が任意語検索
の場合には、検索用インデクス抽出ステップにおいて抽
出されたインデクス中のテキスト識別情報と出現位置情
報基づき、指定された検索タームを含む全ての文書を漏
れなく検索する任意語検索ステップを有し、 前記検索条件判定ステップにおける判定結果が単語識別
検索の場合には、前記単語識別検索ステップを実行する
ことを特徴とする文書検索方法。 - 【請求項5】 予め登録された文書の集合を対象とし
て、指定された文字列を含む文書の検索を行なう文書検
索システムであって、 登録する文書のテキストデータを対象として単語の抽出
処理を行い、該テキストデータ中の単語の先頭位置と末
尾位置を識別し、先頭または末尾を示す識別情報をそれ
ぞれ単語先頭文字または末尾文字に付加したテキストデ
ータを生成する単語境界識別手段と、 該生成したテキストデータから所定長の部分文字列(n
−gram)を抽出する登録用n−gram抽出手段
と、 前記抽出n−gramについて、該テキストデータのテ
キスト識別情報と該テキストデータにおける出現位置情
報を含む文字位置情報を抽出するとともに、前記単語境
界識別ステップの識別結果に基づき、該n−gramの
先頭文字が単語の先頭位置であった場合には単語の先頭
境界識別情報を、また該n−gramの末尾文字が単語
の末尾位置であった場合には単語の末尾境界識別情報を
抽出し、該抽出n−gramについて抽出した情報を有
する該抽出n−gramに対応する検索用インデクスを
生成し、記憶する単語境界情報格納型n−gramイン
デクス作成登録手段とを有することを特徴とする文書検
索システム。 - 【請求項6】 予め登録された文書の集合を対象とし
て、指定された文字列を含む文書の検索を行なう文書検
索システムであって、 指定された検索タームから、所定長の部分文字列(n−
gram)を抽出する検索用n−gram抽出手段と、 前記n−gramに関するテキスト識別情報と該テキス
トデータにおける出現位置情報と単語の先頭境界識別情
報と単語の末尾境界識別情報を有するインデクスデータ
を抽出する検索用インデクス抽出手段と、 指定された検索条件が、指定された検索タームを含む文
書を漏れなく検索する任意語検索であるか、指定された
検索タームが別単語中の部分文字列として存在する文書
を検索結果から排除する単語境界を意識した単語識別検
索であるかを判定する検索条件判定手段と、 該判定の結果が任意語検索の場合に、検索用インデクス
抽出手段により抽出されたインデクス中のテキスト識別
情報と出現位置情報基づき、指定された検索タームを含
む全ての文書を漏れなく検索する任意語検索手段と、 前記判定の結果が単語識別検索の場合に、検索用インデ
クス抽出手段により抽出されたインデクス中のテキスト
識別情報と、出現位置情報と、単語の先頭境界識別情報
ないし末尾境界識別情報の少なくとも一つ以上とを用い
て、別単語中の部分文字列として含まれる文書をノイズ
として排除して指定された検索タームを含む文書を漏れ
なく検索する単語識別検索手段とを有することを特徴と
する文書検索システム。 - 【請求項7】 指定された検索タームから、所定長の部
分文字列(n−gram)を抽出する手順と、 前記n−gramに関するテキスト識別情報と該テキス
トデータにおける出現位置情報と単語の先頭境界識別情
報と単語の末尾境界識別情報を有するインデクスデータ
を抽出する手順と、 指定された検索条件が、指定された検索タームを含む文
書を漏れなく検索する任意語検索であるか、指定された
検索タームが別単語中の部分文字列として存在する文書
を検索結果から排除する単語境界を意識した単語識別検
索であるかを判定する手順と、 該判定結果が任意語検索の場合に、前記抽出されたイン
デクス中のテキスト識別情報と出現位置情報基づき、指
定された検索タームを含む全ての文書を漏れなく検索す
る手順と、 前記判定結果が単語識別検索の場合に、前記抽出された
インデクス中のテキスト識別情報と、出現位置情報と、
単語の先頭境界識別情報ないし末尾境界識別情報の少な
くとも一つ以上とを用いて、別単語中の部分文字列とし
て含まれる文書をノイズとして排除して指定された検索
タームを含む文書を漏れなく検索する手順とを有する文
書検索プログラムを記録したコンピュータ読み取り可能
な記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03090999A JP3696745B2 (ja) | 1999-02-09 | 1999-02-09 | 文書検索方法及び文書検索システム及び文書検索プログラムを記録したコンピュータ読み取り可能な記録媒体 |
US10/456,519 US7039636B2 (en) | 1999-02-09 | 2003-06-09 | Document retrieval method and document retrieval system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03090999A JP3696745B2 (ja) | 1999-02-09 | 1999-02-09 | 文書検索方法及び文書検索システム及び文書検索プログラムを記録したコンピュータ読み取り可能な記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000231563A true JP2000231563A (ja) | 2000-08-22 |
JP3696745B2 JP3696745B2 (ja) | 2005-09-21 |
Family
ID=12316847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03090999A Expired - Fee Related JP3696745B2 (ja) | 1999-02-09 | 1999-02-09 | 文書検索方法及び文書検索システム及び文書検索プログラムを記録したコンピュータ読み取り可能な記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7039636B2 (ja) |
JP (1) | JP3696745B2 (ja) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001034623A (ja) * | 1999-07-19 | 2001-02-09 | Matsushita Electric Ind Co Ltd | 情報検索方法と情報検索装置 |
JP2006172372A (ja) * | 2004-12-20 | 2006-06-29 | Dainippon Printing Co Ltd | 検索装置および方法 |
US7072889B2 (en) * | 2001-08-10 | 2006-07-04 | Ricoh Company, Ltd. | Document retrieval using index of reduced size |
JP2006209399A (ja) * | 2005-01-27 | 2006-08-10 | Fuji Xerox Co Ltd | 文書検索装置および方法 |
US7130849B2 (en) | 2002-02-05 | 2006-10-31 | Hitachi, Ltd. | Similarity-based search method by relevance feedback |
WO2008038416A1 (fr) * | 2006-09-26 | 2008-04-03 | Justsystems Corporation | Dispositif de recherche de document et procédé de recherche de document |
WO2008041364A1 (fr) * | 2006-09-29 | 2008-04-10 | Justsystems Corporation | Dispositif de recherche dans des documents, procédé de recherche dans des documents et programme de recherche dans des documents |
JP2009093556A (ja) * | 2007-10-11 | 2009-04-30 | Hitachi Ltd | インデクス構築方法、文書検索装置及びインデクス構築プログラム |
JP2009205397A (ja) * | 2008-02-27 | 2009-09-10 | Internatl Business Mach Corp <Ibm> | 検索エンジン、検索システム、検索方法およびプログラム |
JPWO2008090606A1 (ja) * | 2007-01-24 | 2010-05-13 | 富士通株式会社 | 情報検索プログラム、該プログラムを記録した記録媒体、情報検索装置、および情報検索方法 |
JP2010146273A (ja) * | 2008-12-18 | 2010-07-01 | Toshiba Corp | 文書検索装置およびプログラム |
JP2010250389A (ja) * | 2009-04-10 | 2010-11-04 | Internatl Business Mach Corp <Ibm> | 情報検索システム、方法及びプログラム、索引作成システム、方法及びプログラム、 |
JP2012003355A (ja) * | 2010-06-14 | 2012-01-05 | Nippon Telegr & Teleph Corp <Ntt> | 検索装置及び方法及びプログラム |
JP2012053797A (ja) * | 2010-09-03 | 2012-03-15 | Nec Corp | 文書処理装置、文書処理方法、及び、プログラム |
JP2012128718A (ja) * | 2010-12-16 | 2012-07-05 | Yahoo Japan Corp | 検索システム及び方法 |
JP2012128604A (ja) * | 2010-12-14 | 2012-07-05 | Canon Marketing Japan Inc | 情報処理装置、情報処理方法、及びコンピュータプログラム |
EP2711854A1 (en) | 2012-09-20 | 2014-03-26 | Casio Computer Co., Ltd. | Search system, method and program based on n-grams |
JP2014186482A (ja) * | 2013-03-22 | 2014-10-02 | Hitachi Solutions Ltd | 全文検索装置 |
JP2018180808A (ja) * | 2017-04-10 | 2018-11-15 | 富士通株式会社 | 解析プログラム、解析方法および解析装置 |
JP2019095603A (ja) * | 2017-11-22 | 2019-06-20 | 富士通株式会社 | 情報生成プログラム、単語抽出プログラム、情報処理装置、情報生成方法及び単語抽出方法 |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1309927A2 (en) * | 2000-03-27 | 2003-05-14 | Documentum, Inc. | Method and apparatus for generating metadata for a document |
US20020022953A1 (en) * | 2000-05-24 | 2002-02-21 | Bertolus Phillip Andre | Indexing and searching ideographic characters on the internet |
JP2002032770A (ja) * | 2000-06-23 | 2002-01-31 | Internatl Business Mach Corp <Ibm> | 文書処理方法、文書処理システムおよび媒体 |
JP3662519B2 (ja) * | 2000-07-13 | 2005-06-22 | シャープ株式会社 | 光ピックアップ |
US7092870B1 (en) * | 2000-09-15 | 2006-08-15 | International Business Machines Corporation | System and method for managing a textual archive using semantic units |
US7284009B2 (en) * | 2002-12-13 | 2007-10-16 | Sun Microsystems, Inc. | System and method for command line prediction |
US8024176B2 (en) * | 2003-09-30 | 2011-09-20 | Dictaphone Corporation | System, method and apparatus for prediction using minimal affix patterns |
EP1695239A1 (en) * | 2003-12-08 | 2006-08-30 | Koninklijke Philips Electronics N.V. | Searching in a melody database |
JP2006072744A (ja) * | 2004-09-02 | 2006-03-16 | Canon Inc | 文書処理装置、その制御方法、プログラム、及び記憶媒体 |
US7386570B2 (en) * | 2005-03-31 | 2008-06-10 | International Business Machines Corporation | Method, system and program product for providing high performance data lookup |
CA2928051C (en) | 2005-07-15 | 2018-07-24 | Indxit Systems, Inc. | Systems and methods for data indexing and processing |
US20080021902A1 (en) * | 2006-07-18 | 2008-01-24 | Dawkins William P | System and Method for Storage Area Network Search Appliance |
US8359326B1 (en) * | 2008-04-02 | 2013-01-22 | Google Inc. | Contextual n-gram analysis |
JPWO2010044123A1 (ja) * | 2008-10-14 | 2012-03-08 | 三菱電機株式会社 | 検索装置、検索用索引作成装置、および検索システム |
KR101255557B1 (ko) * | 2008-12-22 | 2013-04-17 | 한국전자통신연구원 | 음절 분리에 기반한 문자열 검색 시스템 및 그 방법 |
CN101963965B (zh) * | 2009-07-23 | 2013-03-20 | 阿里巴巴集团控股有限公司 | 基于搜索引擎的文档索引方法、数据查询方法及服务器 |
US8874663B2 (en) * | 2009-08-28 | 2014-10-28 | Facebook, Inc. | Comparing similarity between documents for filtering unwanted documents |
TWI647578B (zh) * | 2010-03-09 | 2019-01-11 | 阿里巴巴集團控股有限公司 | Search engine based document indexing method, data query method and server |
US20110238679A1 (en) * | 2010-03-24 | 2011-09-29 | Rovi Technologies Corporation | Representing text and other types of content by using a frequency domain |
CN103279557B (zh) * | 2010-11-10 | 2016-08-17 | 乐天株式会社 | 关联词登记装置、信息处理装置以及关联词登记方法 |
JP5699744B2 (ja) * | 2011-03-30 | 2015-04-15 | カシオ計算機株式会社 | 検索方法、検索装置、ならびに、コンピュータプログラム |
US20130007004A1 (en) * | 2011-06-30 | 2013-01-03 | Landon Ip, Inc. | Method and apparatus for creating a search index for a composite document and searching same |
US20130174029A1 (en) * | 2012-01-04 | 2013-07-04 | Freedom Solutions Group, LLC d/b/a Microsystems | Method and apparatus for analyzing a document |
US20130174030A1 (en) * | 2012-01-04 | 2013-07-04 | Freedom Solutions Group, LLC, d/b/a Microsystems | Method and apparatus for analyzing abbreviations in a document |
US9171069B2 (en) | 2012-07-31 | 2015-10-27 | Freedom Solutions Group, Llc | Method and apparatus for analyzing a document |
CN103631784B (zh) * | 2012-08-21 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 页面内容检索方法和系统 |
CN103678282B (zh) * | 2014-01-07 | 2016-05-25 | 苏州思必驰信息科技有限公司 | 一种分词方法及装置 |
US9535883B2 (en) | 2014-10-24 | 2017-01-03 | Dropbox, Inc. | Modifying native document comments in a preview |
GB201421674D0 (en) * | 2014-12-05 | 2015-01-21 | Business Partners Ltd | Real time document indexing |
US10606815B2 (en) | 2016-03-29 | 2020-03-31 | International Business Machines Corporation | Creation of indexes for information retrieval |
JP7095264B2 (ja) * | 2017-11-13 | 2022-07-05 | 富士通株式会社 | 情報生成プログラム、単語抽出プログラム、情報処理装置、情報生成方法及び単語抽出方法 |
US11204905B2 (en) * | 2018-06-27 | 2021-12-21 | Datastax, Inc. | Trie-based indices for databases |
CN109885641B (zh) * | 2019-01-21 | 2021-03-09 | 瀚高基础软件股份有限公司 | 一种数据库中文全文检索的方法及系统 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2177525B (en) | 1985-05-14 | 1989-08-16 | Sharp Kk | Translation system |
US5651095A (en) | 1993-10-04 | 1997-07-22 | British Telecommunications Public Limited Company | Speech synthesis using word parser with knowledge base having dictionary of morphemes with binding properties and combining rules to identify input word class |
US5752051A (en) | 1994-07-19 | 1998-05-12 | The United States Of America As Represented By The Secretary Of Nsa | Language-independent method of generating index terms |
JP3459053B2 (ja) | 1995-01-12 | 2003-10-20 | 株式会社日立製作所 | 文書検索方法および装置 |
JP2929963B2 (ja) * | 1995-03-15 | 1999-08-03 | 松下電器産業株式会社 | 文書検索装置および単語索引作成方法および文書検索方法 |
US5706365A (en) | 1995-04-10 | 1998-01-06 | Rebus Technology, Inc. | System and method for portable document indexing using n-gram word decomposition |
JP3148692B2 (ja) | 1996-09-04 | 2001-03-19 | 株式会社エイ・ティ・アール音声翻訳通信研究所 | 類似検索装置 |
JP3554459B2 (ja) | 1997-02-26 | 2004-08-18 | 株式会社日立製作所 | テキストデータ登録検索方法 |
US6094634A (en) | 1997-03-26 | 2000-07-25 | Fujitsu Limited | Data compressing apparatus, data decompressing apparatus, data compressing method, data decompressing method, and program recording medium |
JP3143079B2 (ja) | 1997-05-30 | 2001-03-07 | 松下電器産業株式会社 | 辞書索引作成装置と文書検索装置 |
US6226628B1 (en) | 1998-06-24 | 2001-05-01 | Microsoft Corporation | Cross-file pattern-matching compression |
US6169969B1 (en) | 1998-08-07 | 2001-01-02 | The United States Of America As Represented By The Director Of The National Security Agency | Device and method for full-text large-dictionary string matching using n-gram hashing |
-
1999
- 1999-02-09 JP JP03090999A patent/JP3696745B2/ja not_active Expired - Fee Related
-
2003
- 2003-06-09 US US10/456,519 patent/US7039636B2/en not_active Expired - Lifetime
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001034623A (ja) * | 1999-07-19 | 2001-02-09 | Matsushita Electric Ind Co Ltd | 情報検索方法と情報検索装置 |
US7072889B2 (en) * | 2001-08-10 | 2006-07-04 | Ricoh Company, Ltd. | Document retrieval using index of reduced size |
US7130849B2 (en) | 2002-02-05 | 2006-10-31 | Hitachi, Ltd. | Similarity-based search method by relevance feedback |
JP4549839B2 (ja) * | 2004-12-20 | 2010-09-22 | 大日本印刷株式会社 | 検索装置および方法 |
JP2006172372A (ja) * | 2004-12-20 | 2006-06-29 | Dainippon Printing Co Ltd | 検索装置および方法 |
JP2006209399A (ja) * | 2005-01-27 | 2006-08-10 | Fuji Xerox Co Ltd | 文書検索装置および方法 |
JP4682627B2 (ja) * | 2005-01-27 | 2011-05-11 | 富士ゼロックス株式会社 | 文書検索装置および方法 |
WO2008038416A1 (fr) * | 2006-09-26 | 2008-04-03 | Justsystems Corporation | Dispositif de recherche de document et procédé de recherche de document |
JP2008083769A (ja) * | 2006-09-26 | 2008-04-10 | Just Syst Corp | 文書検索装置および文書検索方法 |
WO2008041364A1 (fr) * | 2006-09-29 | 2008-04-10 | Justsystems Corporation | Dispositif de recherche dans des documents, procédé de recherche dans des documents et programme de recherche dans des documents |
JP2008090401A (ja) * | 2006-09-29 | 2008-04-17 | Just Syst Corp | 文書検索装置、文書検索方法および文書検索プログラム |
JP5141560B2 (ja) * | 2007-01-24 | 2013-02-13 | 富士通株式会社 | 情報検索プログラム、該プログラムを記録した記録媒体、情報検索装置、および情報検索方法 |
JPWO2008090606A1 (ja) * | 2007-01-24 | 2010-05-13 | 富士通株式会社 | 情報検索プログラム、該プログラムを記録した記録媒体、情報検索装置、および情報検索方法 |
US9087118B2 (en) | 2007-01-24 | 2015-07-21 | Fujitsu Limited | Information search apparatus, and information search method, and computer product |
JP4491480B2 (ja) * | 2007-10-11 | 2010-06-30 | 株式会社日立製作所 | インデクス構築方法、文書検索装置及びインデクス構築プログラム |
JP2009093556A (ja) * | 2007-10-11 | 2009-04-30 | Hitachi Ltd | インデクス構築方法、文書検索装置及びインデクス構築プログラム |
JP2009205397A (ja) * | 2008-02-27 | 2009-09-10 | Internatl Business Mach Corp <Ibm> | 検索エンジン、検索システム、検索方法およびプログラム |
US8930372B2 (en) | 2008-02-27 | 2015-01-06 | International Business Machines Corporation | Search engine, search system, search method, and search program product |
JP2010146273A (ja) * | 2008-12-18 | 2010-07-01 | Toshiba Corp | 文書検索装置およびプログラム |
JP4734400B2 (ja) * | 2008-12-18 | 2011-07-27 | 株式会社東芝 | 文書検索装置およびプログラム |
JP2010250389A (ja) * | 2009-04-10 | 2010-11-04 | Internatl Business Mach Corp <Ibm> | 情報検索システム、方法及びプログラム、索引作成システム、方法及びプログラム、 |
JP2012003355A (ja) * | 2010-06-14 | 2012-01-05 | Nippon Telegr & Teleph Corp <Ntt> | 検索装置及び方法及びプログラム |
JP2012053797A (ja) * | 2010-09-03 | 2012-03-15 | Nec Corp | 文書処理装置、文書処理方法、及び、プログラム |
JP2012128604A (ja) * | 2010-12-14 | 2012-07-05 | Canon Marketing Japan Inc | 情報処理装置、情報処理方法、及びコンピュータプログラム |
JP2012128718A (ja) * | 2010-12-16 | 2012-07-05 | Yahoo Japan Corp | 検索システム及び方法 |
EP2711854A1 (en) | 2012-09-20 | 2014-03-26 | Casio Computer Co., Ltd. | Search system, method and program based on n-grams |
JP2014186482A (ja) * | 2013-03-22 | 2014-10-02 | Hitachi Solutions Ltd | 全文検索装置 |
JP2018180808A (ja) * | 2017-04-10 | 2018-11-15 | 富士通株式会社 | 解析プログラム、解析方法および解析装置 |
US10936816B2 (en) | 2017-04-10 | 2021-03-02 | Fujitsu Limited | Non-transitory computer-readable storage medium, analysis method, and analysis device |
JP2019095603A (ja) * | 2017-11-22 | 2019-06-20 | 富士通株式会社 | 情報生成プログラム、単語抽出プログラム、情報処理装置、情報生成方法及び単語抽出方法 |
JP7102710B2 (ja) | 2017-11-22 | 2022-07-20 | 富士通株式会社 | 情報生成プログラム、単語抽出プログラム、情報処理装置、情報生成方法及び単語抽出方法 |
Also Published As
Publication number | Publication date |
---|---|
JP3696745B2 (ja) | 2005-09-21 |
US20030200211A1 (en) | 2003-10-23 |
US7039636B2 (en) | 2006-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3696745B2 (ja) | 文書検索方法及び文書検索システム及び文書検索プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
US6510425B1 (en) | Document search method for registering documents, generating a structure index with elements having position of occurrence in documents represented by meta-nodes | |
JP3696731B2 (ja) | 構造化文書の検索方法および装置および構造化文書検索プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP3887867B2 (ja) | 構造化文書の登録方法 | |
CN111428494A (zh) | 专有名词的智能纠错方法、装置、设备及存储介质 | |
Bellare et al. | Learning extractors from unlabeled text using relevant databases | |
US20070179932A1 (en) | Method for finding data, research engine and microprocessor therefor | |
CN102867049B (zh) | 一种基于单词查找树实现的汉语拼音快速分词方法 | |
JP5107556B2 (ja) | 改善された中国語−英語翻訳ツール | |
JP2000200287A (ja) | 文書検索装置 | |
US8682900B2 (en) | System, method and computer program product for documents retrieval | |
JPH08147311A (ja) | 構造化文書検索方法及び装置 | |
JP3620968B2 (ja) | 文書検索方法及びその実施装置並びにその処理プログラムを記録した媒体 | |
JP2004220176A (ja) | データベース検索システム、その検索方法及び検索に用いられるデータファイルの作成方法並びにデータファイルを格納した記録媒体 | |
JP2000003366A (ja) | 文書登録方法と文書検索方法及びその実施装置並びにその処理プログラムを記録した媒体 | |
JPH11143902A (ja) | n−gramを用いた類似文書検索方法 | |
JPH1027183A (ja) | データ登録方法および装置 | |
JP3376996B2 (ja) | フルテキストサーチ方法 | |
JP2001060164A (ja) | データ処理方法およびデータ処理システム並びにその実施装置及びその処理プログラムを記録した記録媒体 | |
JPH08115330A (ja) | 類似文書検索方法および装置 | |
CN117743640A (zh) | Xml文档的查询方法、装置、介质和计算机设备 | |
JPH07296005A (ja) | 日本語テキスト登録・検索装置 | |
JPH09245051A (ja) | 自然言語事例検索装置及び自然言語事例検索方法 | |
CN112183096A (zh) | 基于无监督模型与状态感知机的命名实体抽取系统及方法 | |
Tohti et al. | Character code conversion and misspelled word processing in Uyghur, Kazak, Kyrgyz multilingual information retrieval system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040317 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041026 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050215 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050418 |
|
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: 20050621 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050630 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080708 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090708 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090708 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100708 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100708 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110708 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110708 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120708 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130708 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |