JP3099298B2 - 文書検索方法および装置 - Google Patents

文書検索方法および装置

Info

Publication number
JP3099298B2
JP3099298B2 JP8054791A JP8054791A JP3099298B2 JP 3099298 B2 JP3099298 B2 JP 3099298B2 JP 8054791 A JP8054791 A JP 8054791A JP 8054791 A JP8054791 A JP 8054791A JP 3099298 B2 JP3099298 B2 JP 3099298B2
Authority
JP
Japan
Prior art keywords
condition
search
document
collation
context
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.)
Expired - Fee Related
Application number
JP8054791A
Other languages
English (en)
Other versions
JPH04293161A (ja
Inventor
川口  久光
充 秋沢
寛次 加藤
敦 畠山
浩道 藤澤
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 JP8054791A priority Critical patent/JP3099298B2/ja
Publication of JPH04293161A publication Critical patent/JPH04293161A/ja
Priority to US08/517,722 priority patent/US5757983A/en
Application granted granted Critical
Publication of JP3099298B2 publication Critical patent/JP3099298B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は情報処理システム,特に
情報検索システムにおけるフルテキストサーチに係り,
近傍条件,文脈条件,および論理条件などの複合条件判
定処理を高速に実現する方法および装置に関するもので
ある。テキストデータベース,ワードプロセッサ,およ
び文書ファイリングシステムなどにおける検索に利用し
得るものである。
【0002】
【従来の技術】近年,文献情報や特許情報などの2次情
報(書誌情報)のみならず,1次情報(原文)をも含む大規
模データベース・サービスの重要性が増してきている。
従来,データベースの情報検索では,シソーラスに基づ
いて統制されたキーワードや分類コード等の2次情報に
よる検索が行われてきている。しかし,この方法では数
十件から数百件までにしか絞り込めないため,検索者が
最終段階で直接本文を読んで内容を確認しなければなら
ないという効率上の問題がある。また,分類体系自体が
年月と共に変化するため,常にキーワードや分類コード
を更新しなければならないという問題も生じてくる。更
に,キーワード付け(インデキシングと言う)には時間が
かかるため新たな文書はバッチ処理によりかなりの量を
まとめて登録する。そのため,検索する情報は常に一定
期間の送れを持つという問題がある。
【0003】これらの問題に対処する一つの方法とし
て,検索者が自由な検索語に基づいて,文書の本文を直
接参照して内容を検索できるフルテキストサーチシステ
ムが考えられている。このようなフルテキストサーチシ
ステムを実現するための文書検索装置がいくつか提案さ
れている。その中の代表的な文書検索装置の構成を第2
図に示し,その内容について説明する。(エル エー
ホラー :”ハードウェア システムズ フォー テキ
スト インフォメーション リトリーバル”,エー シ
ー エム,エス アイ ジー アイ アール,第6回コ
ンファレンス 1983年,L.A. Hollaa
r:”Hardware systems for T
ext Information Retrieva
l”,ACM SIGIR6th Conferenc
e 1983)文書検索装置1において,検索制御手段
101は検索装置全体の制御とホストコンピュータとの
通信を行う。すなわち,ホストコンピュータから送られ
てくる検索要求201を受け付けこれを解析し,文字列
照合手段200と複合条件判定手段300へ検索情報2
02として送出する。また,検索制御手段101は記憶
装置制御手段104を制御して,文字列記憶手段105
に格納された文書データ204を文字列照合手段200
へ読み出す。文字列照合手段200は文書データ204
の中に検索要求で指示された検索語(以後,検索ターム
と呼ぶ)に合致するものがあるかどうかを調べ,もし該
当するものがあれば,該当文字列を識別する情報205
を複合条件判定手段300へ出力する。複合条件判定手
段300は該文字列識別情報205に対して,検索要求
中に指示されたANDやORなどで構成される論理条件
などが満足されるか否かを調べる。複合条件が満足され
た場合には,該当する文書の識別情報や文書内容を検索
結果206としてホストコンピュータへ返送する。
【0004】本システムでは絞り込みを精度良く行うた
めに,複合条件判定手段300の検索条件として論理条
件の他に,英文を対象とした以下に示す条件が提案され
ている。 “A .n. B” (1−1) “<A,B>n” (1−2) “A AND B IN SENT”(1−3) (1−1)式の“A .n. B”という条件式は,“A”と
“B”という2つの検索タームがこの順序で現れ,かつ
この2つの検索タームがn単語以内に近接して現れる文
書を探し出すことを表す。 (1−2)式の“<A,B>n”という条件式は,“A”
と“B”という2つの検索タームがその順序を問わず
に,すなわち“A”が“B”の前に現れる場合,あるい
は“B”が“A”の前に現れる場合のどちらであって
も,これらの検索タームがn語以内に近接して現れる文
書を探し出すことを表す。 (1−1)式や(1−2)式のように検索ターム間の近接の
度合いを尺度とする検索条件を近傍条件と呼ぶことにす
る。 (1−3)式の“A AND B IN SENT”とい
う条件式は,“A”と“B”という2つの検索タームが
その順序を問わずに,同一の文(センテンス)に現れる文
書を探し出すことを表す。 (1−3)式のように文や段落(パラグラフ)という同一
文脈(フィールドとも呼ぶ)上における2つの検索ター
ムの共起を判定する条件を文脈条件と呼ぶことにする。
【0005】このように本引用文献では,検索ターム間
の距離的な結び付きや文脈的な結び付きを制約とする近
傍条件および文脈条件などの検索条件が複合条件として
提案されている。これらの条件を用いると単に論理条件
を用いて検索するのに比べ,キーワード間の意味的な結
び付きを加味して検索できることになるため,木目細か
な検索が行えることになり,その結果精度の良い絞り込
みが出来ることになる。しかしながら,本引用文献には
近傍条件や文脈条件を実現する具体的な方法が記述され
ていない。また,フルテキストサーチでは文書データを
直接サーチするため処理時間が膨大となる。そこで検索
タームを高速に探索するためにタームコンパレータと呼
ぶ文字列照合用ハードウエアが提案されている。この具
体的実現方法は,例えば特開昭60−105039に開
示されている。このタームコンパレータでは,数MBy
te/sから数十MByte/sと高速に文字列照合を
行うことが可能である。しかしながら,これらのターム
コンパレータには文字列照合手段200と同等の機能し
かなく,検索の絞り込みに重要な近傍条件,文脈条件,
および論理条件などの複合条件判定機能は搭載されてい
ない。さらに,複合条件判定手段300では文字列照合
手段200で高速に照合処理された大量の検索ターム
(以後,照合タームと呼ぶ)を文字列照合手段200の照
合処理速度と同じく高速に判定処理しなければならな
い。これは,文字列照合手段200がいくら高速に処理
できたとしても,複合条件判定手段300の処理が遅い
とシステムとしての検索速度が落ちてしまうため検索時
間を短縮することができないからである。したがって,
複合条件判定手段300としては近傍条件,文脈条件,
および論理条件を高速判定処理できるものでなければな
らないということになる。
【0006】
【発明が解決しようとする課題】本発明の課題は,フル
テキストサーチ特有の木目細かな絞り込みを可能とす
る,近傍条件判定,文脈条件判定,および論理条件判定
などの複合条件の具体的な判定方法を提供するととも
に,これらの組合せ処理をハードウェア化された文字列
照合手段と同等の速度で行うことのできる複合条件判定
方法を提供することである。
【0007】本発明で具体的に実現しようとする複合条
件検索機能は以下の通りである。まず近傍条件として
は,日本語の場合には検索タームの間に存在する文字数
に上限あるいは下限を指定した字間距離条件検索を,英
語の場合には検索ターム間の語数に上限あるいは下限を
指定した語間条件検索などを実現する。字間距離条件の
例としては,以下のようなものがある。 “文書[8C]検索” (2−1) “文書[10c]検索” (2−2) “文書[8c,10c]検索” (2−3) “文書<10c>検索” (2−4) (2−1)式の“文書[8C]検索”という条件式は,
“文書”と“検索”という2つの検索タームがこの順序
で現われ,かつこの2つの検索タームの間に8文字以内
の文字が挾まっている文書を探し出すということを表わ
す。したがって,第3図に示した例文の中では,と
を検索することになる。 (2−2)式の“文書[10c]検索”という条件式は,
“文書”と“検索”という2つの検索タームがその順序
を問わずに,すなわち“文書”が“検索”の前に現われ
る場合,あるいは“検索”が“文書”の前に現われる場
合のどちらであっても,これらの検索タームが10文字
以内に近接して現われる文書を探し出すことを表わす。
したがって,第3図に示した例文の中では,とと
を検索することになる。 (2−3)式の“文書[8c,10c]検索”という条件
式は,2つの検索タームがその順序を問わず,8文字以
上離れていて,かつ10文字以内に近接して現われる文
書を探し出すことを表わす。したがって,第3図に示し
た例文の中では,とを検索することになる。 (2−4)式の“文書<10c>検索”という条件式は,
“文書”と“検索”という2つの検索タームがその順序
を問わず,10文字以上離れて現われる文書を探し出す
ことを表わす。したがって,第3図に示した例文の中で
は,とを検索することになる。
【0008】次に,語間距離条件の例としては以下のよ
うなものがある。 “text[8W]search” (3−1) “text[10w]search”(3−2) “text[8w,10w]search”(3−3) “text<10w>search”(3−4) (3−1)式の“text[8W]search”という
条件式は,“text”と“search”という2つ
の検索タームがこの順序で現われ,かつこの2つの検索
タームの間に8語(ワード)以下の単語が挾まっている文
書を探し出すということを表わす。 (3−2)式の“text[10w]search”とい
う条件式は,“text”と“search”という2
つの検索タームがその順序を問わずに,すなわち“te
xt”が“search”の前に現われる場合,あるい
は“search”が“text”の前に現われる場合
のどちらであっても,これらの検索タームが10語以内
に近接して現われる文書を探し出すことを表わす。 (3−3)式の“text[8w,10w]searc
h”という条件式は,“search”と“text”
という2つの検索タームがその順序を問わず,8語以上
離れていて,かつ10語以内に近接して現われる文書を
探し出すことを表わす。 (3−4)式の“text<10w>search”とい
う条件式は“text”と“search”という2つ
の検索タームがその順序を問わず,10語以上離れて現
われる文書を探し出すことを表わす。以上が近傍条件と
しての課題となる。
【0009】次に文脈条件検索としては,日本語および
英語とも次のようなものがある。 “文書[ P ]検索”, “text[ P ]search”(4−1) “文書[ p ]検索”, “text[ p ]search”(4−2) “文書[ S ]検索”, “text[ S ]search”(4−3) “文書[ s ]検索”, “text[ s ]search”(4−4) “文書[PH]検索”, “text[PH]search”(4−5) “文書[ph]検索”, “text[ph]search”(4−6)
【0010】以下,日本語の例で説明する。 (4−1)式の“文書[ P ]検索”という条件式は,
“文書”と“検索”という2つの検索タームがこの順序
で,同一の段落(パラグラフ)に現われる文書を探し出す
ということを表わす。 (4−2)式の“文書[ p ]検索”という条件式は,
“文書”と“検索”という2つの検索タームが順序を問
わずに,同一の段落に現われる文書を探し出すというこ
とを表わす。 (4−3)式の“文書[ S ]検索”という条件式は,
“文書”と“検索”という2つの検索タームがこの順序
で,同一の文(センテンス)に現われる文書を探し出すと
いうことを表わす。 (4−4)式の“文書[ s ]検索”という条件式は,
“文書”と“検索”という2つの検索タームが順序を問
わずに,同一の文に現われる文書を探し出すということ
を表わす。 (4−5)式の“文書[PH]検索”という条件式は,
“文書”と“検索”という2つの検索タームがこの順序
で,同一の句(フレーズ)に現われる文書を探し出すとい
うことを表わす。日本語の場合,句と
は“、”,“,”,および“。”で区切られた文章を言
う。英語の場合は“,”および“.”で区切られた文章
ということになる。 (4−6)式の“文書[ph]検索”という条件式は,
“文書”と“検索”という2つの検索タームが順序を問
わずに,同一の句に現われる文書を探し出すということ
を表わす。以上が文脈条件としての課題となる。
【0011】最後に論理条件としては日本語および英語
とも次のようなものがある。 “文書[AND]検索”, “text[AND]search” (5−1) “文書[OR]検索”, “text[OR]search” (5−2) “文書[NOT]検索”, “text[NOT]search” (5−3)
【0012】以下,日本語の例で説明する。 (5−1)式の“文書[AND]検索”という条件式は,
“文書”と“検索”という2つの検索タームが同時に現
われる文書を探し出すということを表わす。 (5−2)式の“文書[OR]検索”という条件式は,
“文書”あるいは“検索”という検索タームが現われる
文書を探し出すということを表わす。 (5−3)式の“文書[NOT]検索”という条件式は,
“文書”という検索タームが現われて,かつ“検索”と
いう検索タームが現われない文書を探し出すということ
を表わす。以上が論理条件としての課題となる。
【0013】これらの課題をまとめると,本発明の課題
はフルテキストサーチ特有の木目細かな絞り込みを可能
とする,近傍条件判定,文脈条件判定,および論理条件
判定などの複合条件の具体的な判定方法を提供するとと
もに,これらの組合せ処理をハードウェア化された文字
列照合手段と同等の速度で行うことの出来る複合条件判
定方法を提供することである。
【0014】
【課題を解決するための手段】これらの課題を解決する
ために,本発明の方法は,文字列照合ステップと複合条
件判定ステップを備えている。文字列照合ステップにお
いては,文書中に指定された検索タームが照合された場
合,該文書の識別子である文書識別子と,照合された検
索ターム,すなわち,照合タームの識別子および該文書
中における照合タームの先頭文字位置と末尾文字位置を
照合情報として出力し,文脈条件が指定され,文脈を識
別する文字列が照合された場合,該文書の識別子と照合
された文脈識別文字列の識別子および該文書中における
該照合文脈識別文字列の先頭文字位置と末尾文字位置を
照合情報として出力する。
【0015】複合条件判定ステップは,近傍条件判定ス
テップ,文脈条件判定ステップまたは論理条件判定ステ
ップ,または,これら各ステップの組み合わせからなっ
ている。近傍条件判定ステップにおいては,前記文字列
照合ステップで出力された照合情報に基づいて検索条件
式に指定された検索ターム間の文字数で表した近接距離
条件について判定を行い,条件に合致した前方に位置す
る検索タームの先頭文字位置と後方に位置する検索ター
ムの末尾文字位置を判定結果の照合情報として,これを
前記文字列照合ステップで出力された照合情報に付加し
て出力する。
【0016】文脈条件判定ステップにおいては,検索条
件式中に近傍条件が含まれている場合には,前記近傍条
件判定ステップで出力された照合情報に基づいて該検索
条件式中に指定された検索タームの同一句,同一文,あ
るいは同一段落内での共起条件について判定を行い,条
件に合致した前方に位置する文脈識別文字列の先頭文字
位置と後方に位置する文脈識別文字列の末尾文字位置を
照合情報として,これを前記近傍条件判定ステップで出
力された照合情報に付加して出力する。検索条件式中に
近傍条件が含まれていない場合には,前記文字列照合ス
テップで出力された照合情報に基づいて該検索条件式中
に指定された検索タームの同一句,同一文,あるいは同
一段落内での共起条件について判定を行い,条件に合致
した前方に位置する文脈識別文字列の先頭文字位置と後
方に位置する文脈識別文字列の末尾文字位置を照合情報
として,これを前記文字列照合ステップで出力された照
合情報に付加して出力する。
【0017】論理条件判定ステップにおいては,検索条
件式中に近傍条件が含まれている場合には前記近傍条件
判定ステップで出力された照合情報に基づき,検索条件
式中に近傍条件および文脈条件が含まれている場合また
は文脈条件が含まれている場合には前記文脈条件判定ス
テップで出力された照合情報に基づき,そして,検索条
件式中に論理条件のみが含まれている場合には前記文字
列照合ステップで出力された照合情報に基づいて,該検
索条件式中に指定された該検索ターム間の論理条件につ
いて判定を行い,条件に合致した文書単位の照合情報を
前段ステップで出力された照合情報に付加して最終的な
検索結果情報として出力する。
【0018】また,本発明の装置の一つは次のように文
字列照合手段と複合条件判定手段で構成される。文字列
照合手段は,文書中に指定された検索タームが照合され
た場合,該文書の識別子である文書識別子と,照合され
た検索ターム,すなわち,照合タームの識別子および該
文書中における照合タームの先頭文字位置と末尾文字位
置を照合情報として出力し,文脈条件が指定され,文脈
を識別する文字列が照合された場合,該文書の識別子と
照合された文脈識別文字列の識別子および該文書中にお
ける該照合文脈識別文字列の先頭文字位置と末尾文字位
置を照合情報として出力する。
【0019】複合条件判定手段は,近傍条件判定手段,
文脈条件判定手段,および論理条件判定手段から構成さ
れる。近傍条件判定手段は,前記文字列照合手段で出力
された照合情報に基づいて検索条件式に指定された検索
ターム間の文字数で表した近接距離条件について判定を
行い,条件に合致した前方に位置する検索タームの先頭
文字位置と後方に位置する検索タームの末尾文字位置を
判定結果の照合情報として,これを前記文字列照合手段
で出力された照合情報に付加して出力する。文脈条件判
定手段は,前記近傍条件判定手段で出力された照合情報
に基づいて該検索条件式中に指定された検索タームの同
一句,同一文,あるいは同一段落内での共起条件につい
て判定を行い,条件に合致した前方に位置する文脈識別
文字列の先頭文字位置と後方に位置する文脈識別文字列
の末尾文字位置を照合情報として,これを前記近傍条件
判定手段で出力された照合情報に付加して出力する。論
理条件判定手段は,前記文脈条件判定手段で出力された
照合情報に基づいて該検索条件式中に指定された該検索
ターム間の論理条件について判定を行い,条件に合致し
た文書単位の照合情報を最終的な検索結果情報として出
力する。
【0020】
【作用】文字列照合において,文書識別子と,照合ター
ムの識別子および文書中における照合タームの先頭文字
位置と末尾文字位置とが照合情報として出力され,ま
た,文脈条件が指定された際に,文脈識別文字列の識別
子および文書中における該照合文脈識別文字列の先頭文
字位置と末尾文字位置とが照合情報として出力されるの
で,近傍条件の判定は,検索条件式中の検索タームにつ
いては前記照合タームの識別子との一致をみることによ
り判定し,検索条件式中の字間距離条件については一致
をみた各照合タームの先頭文字位置と末尾文字位置とを
比較判定することにより行われる。文脈条件の判定は,
検索条件式中の検索タームについては,文字列照合,近
傍条件の判定で得られた照合タームの識別子との一致を
みることにより判定し,検索条件式中の検索タームが共
起する範囲についての条件については,相前後する文脈
識別文字列の識別子の位置と一致をみた各照合タームの
先頭文字位置と末尾文字位置とを比較することにより,
相前後する文脈識別文字列の識別子の位置の間に一致を
みた各照合タームが共起することを判定することにより
行われる。論理条件については,検索条件式中の検索タ
ームについては,文字列照合,近傍条件の判定,文脈条
件の判定で得られた照合タームの識別子との一致をみる
ことにより判定し,一致をみた照合タームの識別子が検
索条件式中の論理条件を満たしているか否かを判定する
ことにより行われる。
【0021】そして,文字列照合手段および複合条件判
定手段を構成することにより,上記の近傍条件,文脈条
件,および論理条件などの複合条件判定を一貫して実現
することができるためフルテキストサーチ特有の木目細
かな検索が可能となる。さらに,例えば3つのマイクロ
コンピュータで各々,近傍条件判定処理,文脈条件判定
処理,および論理条件判定処理を実行させることによ
り,各処理間で同期を取らなくとも処理動作させること
が可能となる。すなわち,これらのマイクロコンピュー
タではそれぞれの入力バッファに照合情報が格納される
とこれに応じて条件判定処理を始めるというパイプライ
ン処理を行うことが可能となり,高速な複合条件判定処
理を実現することができる。
【0022】
【実施例】最初に、本発明の方法および装置の原理につ
いて説明する。文字列照合手段において,まず文書デー
タが入力された際,文書の先頭に格納された文書識別子
が検出され照合結果として出力される。次に文書中に指
定された検索タームが照合された場合,照合された照合
タームの識別子と,該文書中における照合タームの照合
位置として照合タームの先頭文字位置と末尾文字位置が
照合情報として出力される。すなわち,1文書における
照合情報としては,図13に示すように先頭に文書識別
子があり,その次から検索タームの照合情報が来る構成
となる。以上の処理が文書毎に全ての文書データを読み
込み終えるまで繰り返し行われる。
【0023】具体的な検索タームの照合方法について図
4を用いて説明する。例えば文字列照合手段に,検索タ
ーム“文書”が設定され,“...。文書理解を用いた
検索システムである。....”という文書が入力され
たことを想定する。この場合の文字列照合手段の出力と
して得られる文書識別情報および照合ターム識別情報は
(6−1)および(6−2)のように表す。 (D1, 0, 0) (6−1) (T1,Xs,Xe) (6−2) 文書識別情報(6−1)においてD1は文書識別子を表
し,これに続く2項は定数0(ゼロ)である。照合ター
ム識別情報(6−2)において,T1は検索タームの識
別子(以後,照合ターム識別子と呼ぶ)を表し,Xsは
文書中で探索された照合タームの先頭文字位置を,Xe
は同様に末尾文字位置を表わす。図4の例では,文書識
別情報は(D1,0,0)となり,“文書”の照合ター
ム識別情報は(T1,31,32)となる。
【0024】次に複合条件判定手段では,以下のような
判定処理が行われる。まず,近傍条件判定手段では前記
文字列照合手段で出力された照合情報に基づいて,検索
ターム間の文字数で表した近接距離条件について判定が
行われる。すなわち,検索条件式に指定された前方に位
置する検索タームの末尾文字位置と後方に位置する検索
タームの先頭文字位置との文字距離を算出し,この文字
距離が近傍条件に指定された距離および順序を満たして
いるか否かの判定が行われる。近接距離条件が成立した
場合には判定結果として,条件に合致した前方に位置す
る検索タームの先頭文字位置と後方に位置する検索ター
ムの末尾文字位置を照合情報として,これを前記文字列
照合手段で出力された照合情報に付加して出力する。具
体的な近傍条件処理例を図5を用いて説明する。例えば
“文書”と“理解”がこの順序で現れ,かつ4文字以内
に近接する文書を検索するという近傍条件“文書[4
C]理解”が設定され,文字列照合手段に文書 “...。文書理解を用いた検索システムであ
る。....” が入力されたことを想定する。まず,検索タームとして
“文書”と“理解”が文字列照合手段に設定される。文
書が入力されると,この2つの検索タームについて文字
列照合処理が実行され,以下の文書識別情報と照合ター
ム識別情報が得られる。 (D1, 0, 0) (6−3) (T1,31,32) (6−4) (T2,33,34) (6−5) (6−3)は文書識別情報,(6−4)は“文書”の照
合ターム識別情報,および(6−5)は“理解”の照合
ターム識別情報である。次に,これらの情報に基づいて
近傍条件“文書[4C]理解”について処理が行われ
る。
【0025】本例では,条件に合致した前方に位置する
検索ターム“文書”の末尾文字位置である32と,条件
に合致した後方に位置する検索ターム“理解”の先頭文
字位置である33から文字距離は0((33−32)−
1)=1−1=0)であることが算出でき,指定された
4文字より小さいため,本例における近傍条件“文書
[4C]理解”は成立していると判定される。最後に判
定結果として,本近傍条件の識別子PIDをP1とし,
条件に合致した前方に位置する検索ターム“文書”の先
頭文字位置である31をXsに,後方に位置する検索タ
ーム“理解”の末尾文字位置である34をXeとした照
合情報(6−6)(以後,近傍条件識別情報と呼ぶ。文
脈条件の場合には文脈条件識別情報、論理条件の場合に
は論理条件識別情報と呼び、これらの情報を総称して複
合条件識別情報と呼ぶ。)を,以下のように文字列照合
手段で出力された照合情報に(6−3),(6−4),
および(6−5)に付加して出力する。 (D1, 0, 0) (6−3) (T1,31,32) (6−4) (T2,33,34) (6−5) (P1,31,34) (6−6) すなわち,近傍条件の判定結果を(PID,Xs,X
e)という検索タームの照合情報と同じ形式で照合ター
ム識別情報に付加する形で出力する。
【0026】次に文脈条件判定手段では前記近傍条件判
定手段で出力された照合情報に基づいて検索条件式中に
指定された検索タームの同一句,同一文,あるいは同一
段落内での共起条件について判定を行う。共起条件判定
では,条件に指定された文脈識別文字列の先頭文字位置
から次の文脈識別文字列の末尾文字位置までの文脈範囲
内に,2つの検索タームが条件中に指定された順序で現
れているかどうかの判定を行う。共起条件が成立した場
合には,判定結果として本文脈条件の識別子と条件に指
定された前方に位置する文脈識別文字列の先頭文字位置
と,後方に位置する文脈識別文字列の末尾文字位置を照
合情報として,これを前記近傍条件判定手段で出力され
た照合情報に付加して出力する。
【0027】具体的な文脈条件の判定処理の例を図6を
用いて説明する。ここでは,“文書”と“理解”がこの
順序で現れ,かつ同一文内に共起する文脈条件“文書
[S]検索”が設定され,文字列照合手段に“...。
文書理解を用いた検索システムである。....”とい
う文書(文書識別子=1)が入力されたことを想定す
る。 まず,検索タームとして“文書”と“検索”が,
さらに文脈条件が指定されているので,文脈を識別する
ための文字列“。”が文字列照合手段に設定される。文
字列照合手段では,この3つの検索タームが照合され,
図6に示すように (D1, 0, 0) (6−7) (S1,30,30) (6−8) (T1,31,32) (6−9) (T3,33,34) (6−10) (S1,48,48) (6−11) が出力される。照合ターム識別情報(6−8)および
(6−11)において,S1は文脈を識別する文字
列“。”の識別子を表している。
【0028】これらの照合情報は,近傍条件判定手段に
送られるが,本例の場合では近傍条件が設定されていな
いため,近傍条件判定手段からは入力した照合情報が以
下のようにそのまま出力される。 (D1, 0, 0) (6−7) (S1,30,30) (6−8) (T1,31,32) (6−9) (T3,33,34) (6−10) (S1,48,48) (6−11) (6−7)は文書識別情報,(6−9)は“文書”の,
(6−10)は“検索”の照合ターム識別情報の,(6
−8)と(6−11)は“。”の照合ターム識別情報で
ある。
【0029】次に,これらの照合情報に基づいて文脈条
件“文書[S]検索”に関する共起条件判定が行われ
る。本例では,文脈すなわち文(センテンス)の範囲
は,条件に指定された文脈識別文字列“。”の先頭文字
位置である30文字目から次の文脈識別文字列“。”の
末尾文字位置である48文字目までとして,すなわち
(6−8)から(6−11)までの範囲で表される。本
例の場合,この文脈範囲内に,条件に指定された検索タ
ーム“文書”および“検索”がこの順序で含まれている
ため,“文書[S]検索”が成立していると判定され
る。ここで,“文書”と“検索”の順序関係は“文書”
の末尾文字位置(32)と“検索”の先頭文字位置(4
0)を比較して判定される。すなわち,“文書”の末尾
文字位置(32)が“検索”の先頭文字位置(40)よ
り小さい(32<40)ので,“文書”の方が“検索”
より前に位置していると判定できる。
【0030】最後に判定結果として,本文脈条件の識別
子CIDをC1とし,条件に指定された前方に位置する
文脈識別文字列“。”の先頭文字位置である30(先頭
位置情報)と,後方に位置する文脈識別文字列“。”の
末尾文字位置である48(末尾位置情報)を照合情報
(6−12)(以後,文脈条件識別情報と呼ぶ)とし
て,これを前記近傍条件判定手段で出力された照合情報
に付加して以下のように出力する。 (D1, 0, 0) (6−7) (S1,30,30) (6−8) (T1,31,32) (6−9) (T3,33,34) (6−10) (S1,48,48) (6−11) (C1,30,48) (6−12)
【0031】最後に論理条件判定手段では前記文脈条件
判定手段で出力された照合情報に基づいて該検索条件式
中に指定された検索ターム間の論理条件について判定を
行い,条件に指定された文書単位の照合情報を最終的な
検索結果情報として出力する。具体的な論理条件の判定
処理の例を図7を用いて説明する。例えば,“文書”と
“検索”という2つの検索タームが同一文書中に現れる
論理条件“文書[AND]検索”が設定され,文字列照
合手段に文書 “...。文書理解を用いた検索システムであ
る。....” が入力されたことを想定する。まず,検索タームとして
“文書”と“検索”が文字列照合手段に設定され,本図
の例の文書が入力されると,文字列照合手段より以下の
照合ターム識別情報が得られる。 (D0, 0, 0) (6−13) (T1,31,32) (6−14) (T3,39,40) (6−15) (6−13)は文書識別情報,(6−14)は“文書”
の,(6−15)は“検索”の照合ターム識別情報であ
る。もし,近傍条件および文脈条件が設定されていない
場合には,近傍条件判定手段および文脈条件判定手段を
経由するかたちで,これらの情報はそのまま論理条件判
定手段入力され,論理条件“文書[AND]検索”につ
いての論理条件判定が行われる。
【0032】本例では論理条件判定手段において,“文
書”と“検索”の照合タームが1文書内に同時に存在す
ることを調べ,論理条件“文書[AND]検索”が成立
するものと判定を下す。そして,本条件を満足した文書
識別情報(6−13)と,本判定結果として本論理条件
の識別子LIDをL1とし,該当文書の先頭文字位置と
末尾文字位置とを照合情報(6−16)(以後,論理条
件識別情報と呼ぶ)として,これを前記文脈条件判定手
段の出力に付加して,以下のように出力する。 (D0, 0, 0) (6−13) (T1,31,32) (6−14) (T3,39,40) (6−15) (L1, 0,99) (6−16)
【0033】以上のように,検索条件式中に指定された
検索ターム間の文字数で表した近接距離条件について判
定を行う近傍条件判定手段と,検索条件式中に指定され
た検索タームの同一句,同一文,あるいは同一段落内で
の共起条件について判定を行う文脈条件判定手段と,検
索条件式中に指定された検索ターム間の論理条件につい
て判定を行う論理条件判定手段からなる複合条件判定手
段を用いることにより,フルテキストサーチ特有の木目
細かな絞り込み検索が可能となる。さらに各複合条件判
定を構成する近傍条件判定処理,文脈条件判定処理,お
よび論理条件判定処理の入出力情報形式が全く同じにな
っているため,これらを分散してパイプライン処理する
ことにより高速な複合条件判定処理が可能となる。
【0034】次に、本発明における第1の実施例につい
て図1を用いて説明する。本実施例は文字列照合回路2
00と複合条件判定回路300から構成されている。文
字列照合回路200では検索制御手段101(図2)か
ら送られてくる検索対象の検索タームと記憶装置制御手
段104(図2)の制御の基に文字列記憶手段105
(図2)から読み出される文書データ204とを照合
し,照合されたものがあれば照合ターム情報を照合結果
205として複合条件判定回路300へ送る。複合条件
判定回路300では検索制御手段101から送られてく
る複合条件を基に文字列照合回路200より出力される
照合ターム識別情報に関して複合条件が満たされるか否
かを判定し,条件に合致する場合には該当する照合ター
ム識別情報と複合条件識別情報を文書単位に判定結果2
06として出力する。
【0035】まず,文字列照合回路200について詳細
に説明する。文字列照合回路200は,タームコンパレ
ータ210,文書識別子検出回路220,文字数カウン
ト回路230,位置情報付加回路800,および検索タ
ーム長テーブル250から構成されている。タームコン
パレータ210では,指定された検索タームと送られて
くる文書データ204との照合を行い,照合されたもの
があればその検索タームの識別子である照合ターム識別
子211(正の整数値データ)を,照合されたものがな
い場合には0(ゼロ)を位置情報付加回路800へ送出
する。すなわち,照合ターム識別子211の値として,
0の場合は無効データであり,正の整数の場合は有効デ
ータであり照合タームの識別子を表す。このタームコン
パレータ210としては,特開昭60−105039に
開示されているものを用いることができる。文書識別子
検出回路220は,第8図に示すようにレジスタ224
〜228と229a,コンパレータ223、セレクタ2
29から構成されている。レジスタ224には文書単位
に文書データの先頭に付与されているトップオブテキス
トコード(TOT)が,レジスタ229aには0(ゼ
ロ)が初期設定されている。8ビット単位に送られてく
る文書データ204は,レジスタ225〜レジスタ22
8から構成される4段のシフトレジスタ228bに次々
と入力される。コンパレータ223では,この最終段出
力228aについてレジスタ224に格納されているT
OTと等しいか否かの比較を行う。レジスタ225〜レ
ジスタ228では各出力を32ビットの出力222とし
てセレクタ229に送り,最終段出力228aがTOT
の場合には,コンパレータ223よりセレクト信号22
3aが送られ,32ビットの出力222を文書識別子2
21として選択し,位置情報付加回路800へ送出す
る。また,セレクタ信号223aが送られない間,セレ
クタ229ではレジスタ229aに格納された0を選択
する。すなわち,文書データの中から,文書単位に文書
データの先頭に付与されているTOTが検出され,これ
に続いて格納されている32ビットの文書識別子221
が位置情報付加回路800へ送出され,TOTが検出さ
れない間は0の文書識別子221が送出されることにな
る。
【0036】文字数カウント回路230では,送られて
くる文書データ204に対して,各文書毎に先頭からの
8ビットの文字コード数をカウントし,1文字が2バイ
トで構成される文字数へ変換し、これを位置情報付加回
路800へ送出する。文書毎に文字コードカウント値を
リセットするのに,文書識別子検出回路220から出力
されるTOT検出信号223aが用いられる。検索ター
ム長テーブル250には,図9に示すように照合ターム
識別子211をアドレスとするスロットに該当検索ター
ムの長さが格納されており,位置情報付加回路800よ
り照合ターム識別子を受け取り,位置情報付加回路80
0へ照合ターム識別子に対応した検索ターム長873を
返送する。本図では,照合ターム識別子が1の検索ター
ム“理解”のターム長である2と,照合ターム識別子が
2の検索ターム“システム”のターム長である4という
情報が設定されている。従って,例えば“検索”に対応
する照合ターム識別子211として1を受け取ると検索
ターム長として2を送り返すことになる。
【0037】位置情報付加回路800は,図10に示す
ようにレジスタ810〜816,ORゲート880〜8
81,セレクタ820〜822,減算器830,および
加算器831から構成されている。本回路の初期設定と
して,レジスタ813,レジスタ814,およびレジス
タ815には0(ゼロ)が設定されており,各々セレク
タ820,セレクタ821,およびセレクタ822に0
を出力している。また,レジスタ816には1が設定さ
れており,加算器831に1を出力している。セレクタ
820〜822ではセレクト信号890,891の両方
が0の場合はZポートを選択する。すなわち各セレクタ
は,レジスタ813,レジスタ814,およびレジスタ
815を各々選択することになり,セレクタ820〜8
22の出力として0が照合情報205として出力される
ことになる。また,セレクト信号890が1でセレクト
信号891が0の場合はXポートを,セレクト信号89
0が0でセレクト信号891が1の場合にはYポートを
選択する。レジスタ810には文書識別子検出回路22
0から文書識別子221が送られる度に文書識別子22
1が格納されると共に,セレクタ820およびORゲー
ト880へ出力される。ここで,文書識別子221が0
の場合は文書の識別子以外が検出されたことを示してい
る。ORゲート880ではレジスタ810に文書識別子
221が格納された際,文書識別子221の各ビット間
の論理和を取り演算結果であるセレクト信号890がセ
レクタ820〜822に送られる。
【0038】したがって,レジスタ810に文書識別子
221が格納された場合には文書識別子221の値は0
(ゼロ)ではないため,ORゲート880の演算結果8
90が1になる。これを受けてセレクタ820〜822
に1が出力されるため各セレクタではXポートが選択さ
れる。照合情報205には,識別子としてレジスタ81
0に格納されている文書識別子221が,先頭位置情報
としてレジスタ814に格納されている0(ゼロ)が,
末尾位置情報としてレジスタ813に格納されている0
(ゼロ)が文書識別情報として出力されることになる。
従って,文書識別子は図11に示すように32ビットの
文書識別子と,先頭位置情報が0でかつ末尾位置情報も
0である32ビットの0の固定値から構成されることに
なる。
【0039】レジスタ811にはタームコンパレータ2
10から照合ターム識別子211が送られる度に照合タ
ーム識別子211が格納されると共に,この照合ターム
識別子211はセレクタ820,ORゲート881,お
よび検索ターム長テーブル250へ出力される。さらに
検索ターム長テーブル250から照合ターム識別子21
1に応じて検索ターム長873が読み出され減算器83
0に出力される。ここで,照合ターム識別子211が0
の場合は検索タームが照合されていないことを示してい
る。また,レジスタ812には文字数カウント回路23
0から文字数カウント231が送られる度に,文字数カ
ウント231は照合タームの末尾位置情報812aとし
て格納されると共に,減算器830およびセレクタ82
2へ出力され,さらに減算器830で末尾位置情報81
2aから検索ターム長873を引き,さらに加算器83
1で1加えられた照合タームの先頭位置情報831aが
セレクタ821に出力される。ORゲート881ではレ
ジスタ811に照合ターム識別子211が格納された
際,照合ターム識別子211の各ビット間の論理和を取
り演算結果であるセレクト信号891がセレクタ820
〜822に送られる。
【0040】したがって,レジスタ811に照合ターム
識別子211が格納された場合には,照合ターム識別子
211の値は0でないため,ORゲート881の出力が
1となる。これを受けてセレクト信号891が1として
セレクタ820〜822に送られるため各セレクタでは
Yポートが選択され,照合情報205には,識別子とし
てレジスタ811に格納されている照合ターム識別子2
11と,先頭位置情報として加算器831から出力され
ている先頭位置情報831aと,末尾位置情報としてレ
ジスタ812に格納されている末尾位置情報812aが
照合ターム識別情報として出力されることになる。よっ
て,照合ターム識別情報は図12に示すように32ビッ
トの照合ターム識別子と,16ビットの先頭位置情報お
よび16ビットの末尾位置情報からなる32ビットの照
合位置情報として出力されることになる。
【0041】以上の説明より明らかなように,照合情報
は(Tn,Xs,Xe)と表すことができる。ここでT
nは文書識別子または照合ターム識別子を表す。また,
Xsは照合タームの先頭位置情報を,Xeは照合ターム
の末尾位置情報を表す。したがって図4の照合情報の例
(T2,33,34)では,T2が照合ターム識別子を
表し,33が照合タームの先頭位置情報を,34が照合
タームの末尾位置情報を表すことになる。
【0042】以上説明したタームコンパレータ210,
文書識別子検出回路220,文字数カウント回路23
0,検索ターム長テーブル250,および位置情報付加
回路800の動作により文字列照合回路200からは図
13に示すような照合情報が文書毎に出力されることに
なる。すなわち,文書毎にまず先頭に文書識別情報が来
て,次に照合ターム識別情報が並ぶ構成となる。また文
書識別情報は,照合ターム識別情報と構造が同じであ
り,位置情報が0の照合ターム識別情報と見なすことが
できる。したがって,照合ターム識別情報と同様に扱う
ことができるため,文書識別情報を構造上意識すること
なく一括した処理を行うことが可能となる。以上が文字
列照合回路200の詳細な説明である。
【0043】次に,文字列照合回路200の動作を具体
例で説明する。ここでは,検索条件式 “Q=((文書[4C]理解)[S]システム) [AND](文書[S]検索)”(7−1) を例として説明する。本例では検索タームとして“T
1:文書”,“T2:理解”,“T3:検索”,“T
4:システム”および“S1:。”の5つが検索制御手
段101より送られ,検索タームはタームコンパレータ
210に,検索タームの長さは検索ターム長テーブルに
設定される。ここで,T1,T2,T3,T4,および
S1はそれぞれ検索ターム“文書”,“理解”,“検
索”,“システム”,および“。”の照合ターム識別子
を表わす。“S1:。”は,文脈条件の“[S]”すな
わち文脈として文(センテンス)の指定に対応してセン
テンスの文脈識別文字列(以後,文脈マーカーと呼ぶ)
としての“。”を検出するためのものである。
【0044】文書としては, “・・・。文書理解を用いた検索システムである。・・
・・” (7−2) が入力されるものする。文書識別子はD1とする。この
文書データが文字列照合回路200へ入力されたときの
照合結果205が図14に示すような以下の照合情報が
出力される。 (D1, 0, 0) (8−1) (S1,30,30) (8−2) (T1,31,32) (8−3) (T2,33,34) (8−4) (T3,39,40) (8−5) (T4,41,44) (8−6) (S1,48,48) (8−7) (8−1)は文書識別情報を表している。文書識別情報
(8−1)においてD1は文書識別子を表し,これに続
く2項は定数0である。(8−2)と(8−7)は文脈
マーカー“。”の,(8−3)は“文書”の,(8−
4)は“理解”の,(8−5)は“検索”の,および
(8−6)は“システム”の照合ターム識別情報を表し
ている。また,S1は“。”の,T1は“文書”の,T
2は“理解”の,T3は“検索”の,およびT4は“シ
ステム”の照合ターム識別子を表している。これら(8
−1)〜(8−7)の照合情報205が複合判定回路3
00の入力として送られることになる。
【0045】次に,複合条件判定回路300の条件判定
処理について説明する。複合条件判定回路300は図1
に示すように,3つのマイクロコンピュータのMPUa
301,MPUb302,およびMPUc303から構
成されている。マイクロコンピュータMPUa301で
は近傍条件判定プログラム310が,マイクロコンピュ
ータMPUb302では文脈条件判定プログラム320
が,マイクロコンピュータMPUc303では論理条件
判定プログラム330が実行される。さらに各MPU間
にはファーストイン・ファーストアウト(FIFO)メ
モリを使用してたバッファ350,360,および37
0が配置され,それぞれのMPU間のデータの受渡しに
用いられている。
【0046】まず,近傍条件判定プログラム310の判
定処理について説明する。近傍条件判定プログラム31
0では,文字列照合回路200からバッファ350に送
り込まれた照合情報205を読み出し,検索情報202
として指定された近傍条件に合致するか否かを判定す
る。近傍条件例としては,(7−1)の中に“文書[4
C]理解”という条件式がある。“文書[4C]理解”
という条件式は,“文書”と“理解”という2つの検索
タームがこの順序で現われ,且つこの2つの検索ターム
が4文字以内に近接して現れる文書を探し出すというこ
とを表す。ここでは検索式を一種の演算式と見なして,
“文書”を前方オペランドTa,“検索”を後方オペラ
ンドTbと,また“[4C]”をオペレーションと呼ぶ
ことにする。さらに本近傍条件を表す識別子を“Pi”
とする。なおPiには照合ターム識別子とは区別できる
コードを割り付ける。このように定義することにより,
近傍条件は“Pi:Ta[nC]Tb”と記述すること
ができる。以下の説明はこの定義を用いて行う。
【0047】近傍条件のオペレーションにはこの他にも
前述したように, “Pi:Ta[nC,mC]Tb” “Pi:Ta<nC>Tb” “Pi:Ta[nc]Tb” “Pi:Ta[nc,mc]Tb” “Pi:Ta<nc>Tb” などがある。この近傍条件の処理の手順について図15
を用いて詳細に説明する。まず,繰返し処理ステップ1
000ではバッファ350内の照合情報205を全て,
すなわち最後の文書の照合情報を読み出し尽くすまで1
001から1010までの処理ステップを繰り返す。
【0048】照合情報読込み処理ステップ1001で
は,バッファ350より照合情報205を1個読み出
し,バッファ360へ出力する。照合情報識別処理ステ
ップ1002では,上記照合情報読込み処理ステップ1
002で読み込んだ照合情報205が文書識別情報なの
か,あるいは照合ターム識別情報なのか調べる。すなわ
ち照合情報の下位32ビットが0(ゼロ)の場合には,
文書識別子と判定する。文書識別子と判定した場合に
は,文書単位の初期化処理ステップ1004を実行す
る。ここではワークエリアとして使用する前方オペラン
ドバッファ311の0(ゼロ)クリアを行う。照合情報
205が照合ターム識別情報の場合には,後方オペラン
ド識別処理ステップ1003を実行する。後方オペラン
ド識別処理ステップ1003では,照合ターム識別情報
の照合ターム識別子を調べて,後方オペランドとして近
傍条件に指定された照合タームか否かを判定する。後方
オペランドの場合には後述する前方オペランドバッファ
311に格納されている照合ターム識別情報との距離を
求め,指定された近傍条件を満たしているか否かを判定
する。
【0049】以降,前方オペランドに指定された検索タ
ームに関する照合ターム識別情報を前方照合ターム識別
情報と呼び,後方オペランドに指定された検索タームに
関する照合ターム識別情報を後方照合ターム識別情報と
呼ぶことにする。すなわち,前方オペランドバッファ繰
返し処理ステップ1005では前方オペランドバッファ
311に格納されている前方照合ターム識別情報と後方
オペランドに指定されている後方照合ターム識別情報と
の近接条件を判定することになる。この近接条件判定で
は,まず前方照合ターム識別情報読込み処理ステップ1
006において前方オペランドバッファ311から前方
照合ターム識別情報を読み込む。次に近接条件判定処理
ステップ1007で,読み込まれた前方照合ターム識別
情報と後方照合ターム識別情報の位置情報を比較して指
定された近接条件が満足されるか否かを判定し,近接条
件が満される場合には判定結果を照合情報としてバッフ
ァ360および前方オペランドバッファ311に出力す
る。
【0050】前方オペランド識別処理ステップ1009
では,照合ターム識別情報の照合ターム識別子が前方オ
ペランドとして指定されている場合には,後方オペラン
ドに指定されているものも含めて,この照合ターム識別
情報を前方オペランドバッファ311に出力する。これ
は例えば,近傍条件として“Pi:Ta[nC]Tb”
と“Pj:Tb[nC]Tc”が指定された場合,つま
りTbが後方オペランドとしても,前方オペランドとし
ても指定されているような場合に,Tbについては後方
オペランド識別処理ステップ1003と前方オペランド
識別処理ステップ1009の両方の処理が必要となるか
らである。このために,後方オペランド識別処理ステッ
プ1003と前方オペランド識別処理ステップ1009
を分けて処理を行うことになる。以上の各処理ステップ
をバッファ350に格納されている照合情報に対し繰返
し実行していくことにより,近傍条件判定処理を実現す
ることができる。
【0051】以上の処理手順を具体例で説明する。検索
条件としては,(7−1)に示した式“Q=((文書[4
C]理解)[S]システム)[AND](文書[S]検
索)”を例に用いて説明する。各条件判定プログラムに
は,検索制御手段101で解析され各条件に分離された
条件式が設定される。具体的には,近傍条件判定プログ
ラム310に本条件式(7−1)の近傍条件部分“文書
[4C]理解”が,近傍条件識別子P1と“文書”およ
び“理解”に対応する検索ターム識別子T1およびT2
を用いて,“P1:T1[4C]T2”という形で与え
られる。今,(7−2)に示した文書 “・・・。文書理解を用いた検索システムである。・・
・・” が入力されたとすると,前述したように文字列照合回路
200からは以下の(8−1)〜(8−7)が照合情報
としてバッファ350へ出力される。これらの照合情報
を図17に示す。
【0052】(D1, 0, 0) (8−1) (S1,30,30) (8−2) (T1,31,32) (8−3) (T2,33,34) (8−4) (T3,39,40) (8−5) (T4,41,44) (8−6) (S1,48,48) (8−7) (8−1)は文書識別情報を表している。D1は文書識
別子である。(8−2)と(8−7)は“。”の照合タ
ーム識別情報を表している。また,(8−3),(8−
4),(8−5),および(8−6)は,それぞれ“文
書”,“理解”,“検索”,および“システム”の照合
ターム識別情報を表している。 さらに,S1,T1,
T2,T3,およびT4は,それぞれ“。”,“文
書”,“理解”,“検索”,および“システム”の照合
ターム識別子を表している。以上の条件における近傍条
件判定処理を図15を用いて1ステップずつ説明する。
初期状態では図16a,図16bの初期状態に示すよう
にバッファ350に照合情報(8−1)〜(8−7)が
格納されており,前方オペランドバッファ311及びバ
ッファ360は0クリアされた状態になっている。
【0053】近傍条件判定処理プログラムではこれらの
照合情報205をバッファ350から一つずつ読込み,
近傍条件“P1:T1[4C]T2”について判定処理
を行う。まずステップ1として,読込み処理ステップ1
001が実行され,照合情報(8−1)すなわち(D
1,0,0)が図16のステップ1に示すようにプログ
ラムのワークエリアに読み込まれ,バッファ360へ照
合情報としてそのまま出力される。次に照合情報識別処
理ステップ1002が実行され,照合情報(D1,0,
0)が文書識別情報かどうかが調べられる。照合情報(D
1,0,0)は後部の2項が両方とも0(ゼロ),すな
わち下位32ビットが0(ゼロ)のため,文書識別情報
と判断される。したがって,初期化処理ステップ100
4が実行され,内部のワークエリアである前方オペラン
ドバッファ311がゼロクリアされる。その後ステップ
2として再び,照合情報読込み処理ステップ1001が
実行され照合情報(8−2)すなわち(S1,30,3
0)が読み込まれ,同様にしてバッファ360へそのま
ま出力される。次に照合情報識別処理ステップ1002
が実行され,照合情報(8−2)が文書識別情報か照合
ターム識別情報かどうかが調べられる。照合情報(8−
2),すなわち(S1,30,30)は下位32ビットが
0(ゼロ)でないため,文書識別情報ではなく照合ター
ム識別情報と判断される。そして,次の後方オペランド
識別処理ステップ1003で,本照合ターム識別情報が
近傍条件中に指定された後方オペランドに指定されたも
のに該当するかどうかが調べられる。
【0054】近傍条件 “P1:T1[4C]T2”の
後方オペランドに指定された検索タームはT2であり,
本照合タームS1は後方オペランドに該当しないため,
1005〜1008の処理は行われず,すなわち,近傍
条件判定処理は行われず,次の前方オペランド識別処理
ステップ1009が実行されることになる。本処理ステ
ップでは,上記照合ターム識別情報(8−2)が近傍条
件“P1:T1[4C]T2”の前方オペランドとして
指定されたものに該当するかどうかが調べられる。本照
合タームはS1のため前方オペランドには該当しないた
め,処理ステップ1010は実行されず,すなわち前方
オペランドバッファ311へ格納されることなく処理を
終える。
【0055】ステップ3として繰返し処理1000によ
り,読込み処理ステップ1001が実行され,3番目の
照合情報(8−3)すなわち(T1,31,32)が読
み込まれ,第2の入力と同様にバッファ360へ出力さ
れる。同時に照合情報識別処理ステップ1002が実行
される。文書識別情報か照合ターム識別情報かが調べら
れる。(8−3)は照合ターム識別情報なので後方オペ
ランド識別処理ステップ1003が実行され,後方オペ
ランドでないため前方オペランド識別処理ステップ10
09が実行される。照合ターム識別情報(8−3),す
なわち(T1,31,32)は近傍条件“P1:T1
[4C]T2”の前方オペランドに指定されているの
で,前方オペランド格納処理ステップ1010が実行さ
れ,図16のステップ3に示すように前方オペランドバ
ッファに格納される。
【0056】また,ステップ4として繰返し処理100
0により,読込み処理ステップ1001が実行され,4
番目の照合情報(8−4)すなわち(T2,33,3
4)が読み込まれ,第3の入力と同様にバッファ360
へ照合ターム識別情報(8−4)が出力される。次に照
合情報識別処理ステップ1002が実行され,文書識別
情報か照合ターム識別情報かが調べられる。(8−4)
は照合ターム識別情報なので後方オペランド識別処理ス
テップ1003が実行される。(8−4)すなわち(T
2,33,34)は近傍条件“P1:T1[4C]T
2”の後方オペランドに指定されているので,処理ステ
ップ1005から1008までの近接条件判定処理が実
行される。まず前方オペランドバッファ読込み処理ステ
ップ1006が実行され,前方オペランドバッファ31
1に格納されている前方照合ターム識別情報(8−3)
が読み込まれる。次に近接条件判定処理ステップ100
7が実行され前方照合ターム識別情報(8−3)と後方
照合ターム識別情報(8−4)との文字距離が調べられ
る。(8−3)すなわち(T1,31,32)の末尾位
置Xeは32であり,(8−4)すなわち(T2,3
3,34)の先頭位置は33なので,その間の文字距離
は0であり指定条件の4文字以下を満たしている。この
ため判定結果出力処理ステップ1008が実行され,判
定結果として(8−3)の先頭位置である31を先頭位
置とし,(8−4)の末尾位置である34を末尾位置と
し,照合ターム識別子をP1とする近傍条件識別情報
(P1,31,34)(図17)が図16a,図16b
のステップ4のように前方オペランドバッファ311と
バッファ360へ出力される。さらに,繰返し処理10
00により,読込み処理ステップ1001が実行され,
5番目の照合情報(8−5)すなわち(T3,39,4
0)が読込まれ,第4の入力と同様にバッファ360へ
(8−5)が出力される。次に照合情報識別処理ステッ
プ1002が実行され,文書識別情報か照合ターム識別
情報かが調べられる。照合ターム識別情報(8−5)は
近傍条件に設定されていない照合識別情報であるため,
後方オペランド識別処理ステップ1003および前方オ
ペランド識別処理ステップ1009のいずれの処理も行
われずに次の入力に移る。以後,最後の照合ターム情報
(8−7)まで同じように近傍条件判定処理を繰り返
す。
【0057】以上の近傍条件判定処理によって,以下に
示す(9−1)〜(9−8)の照合ターム識別情報(図
17)がバッファ360へ出力される。 (D1, 0, 0) (9−1) (S1,30,30) (9−2) (T1,31,32) (9−3) (T2,33,34) (9−4) (P1,31,34) (9−5) (T3,39,40) (9−6) (T4,41,44) (9−7) (S1,48,48) (9−8) ここで注目すべき点は,近傍条件判定結果(9−5)も
照合ターム識別情報として,末尾位置情報の昇順にソー
トし,格納されている点である。このため,後述するよ
うに文脈条件判定の際,全ての文脈と照合タームとの組
合せについて包含関係をチェックしなくても済むため処
理を軽減できるようになる。これらの照合ターム識別情
報は文脈条件判定プログラム320へ送られることにな
る。
【0058】次に,文脈条件判定プログラム320の判
定処理について説明する。文脈条件判定プログラム32
0では,近傍条件判定プログラム310からバッファ3
60に送り込まれた照合情報を読み出し,検索情報20
2として指定された文脈条件に合致するか否かを判定す
る。文脈条件の例としては,(7−1)に示したような
“文書[S]検索”がある。“文書[S]検索”という
条件式は,“文書”と“検索”という2つの検索ターム
がこの順序で,同一の文(センテンス)に現れる文書を
探し出すということを表す。ここで本文脈条件を表す識
別子(以後,文脈条件識別子と呼ぶ)をCiとする。C
iには照合ターム識別子とは区別できるコードを割り付
ける。このように定義することにより,文脈条件は“C
i:Ta[S]Tb”と記述することができる。以下の
説明はこの定義を用いて行うことにする。文脈条件には
この他にも, “Ci:Ta[P]Tb”, “Ci:Ta[PH]Tb”, “Ci:Ta[p]Tb”, “Ci:Ta[s]Tb”, “Ci:Ta[ph]Tb” などがある。
【0059】文脈条件判定の原理について,図18の近
傍条件判定処理出力例を用いて説明する。(7−2)に
示した文書“・・・。文書理解を用いた検索システムで
ある。・・・・”が入力されたことを想定すると,前述
したように近傍条件判定プログラム310からは本図に
示す以下の(9−1)〜(9−8)が照合情報としてバ
ッファ360を介し文脈条件判定処理プログラム320
へ送られる。 (D1, 0, 0) (9−1) (S1,30,30) (9−2) (T1,31,32) (9−3) (T2,33,34) (9−4) (P1,31,34) (9−5) (T3,39,40) (9−6) (T4,41,44) (9−7) (S1,48,48) (9−8) (9−1)は文書識別情報を表している。D1は文書識
別子を表し,これに続く2項は定数0である。(9−
2)と(9−8)は文脈マーカー“。”の照合ターム識
別情報を表している。同様に,(9−3),(9−
4),(9−6),および(9−7)は,それぞれ“文
書”,“理解”,“検索”“システム”の照合ターム識
別情報を表している。ここで,S1,T1,T2,T
3,およびT4は,それぞれ“。”,“文書”,“理
解”,“検索”,および“システム”の照合ターム識別
子を表す。また,(9−5)は近傍条件“文書[4C]
理解”が照合された際の近傍条件識別情報を表してい
る。P1は近傍条件“文書[4C]理解”の近傍条件識
別子である。
【0060】以上の照合情報に基づいて,まず照合ター
ム識別子の順序が指定されている文脈条件“Ci:Ta
[S]Tb”に関する共起判定を実行する。ここで識別
子Taを0番目の識別子と呼び,識別子Tbを1番目の
識別子と呼ぶ。共起判定では,文脈条件に指定されてい
る全ての識別子が文脈中に出現したかどうかの判定を行
う。共起判定の成否を判断するために,ここでは共起カ
ウンタを用いる。この共起カウンタは指定された文脈条
件に対応して1つずつ設ける。これより順序が指定され
ている文脈条件における共起カウンタの制御方法につい
て,以下説明する。文脈条件“Ci:Ta[S]Tb”
における文脈すなわち文(センテンス)の範囲は,出現
した文脈マーカー“。”の照合情報(9−2)から次に
出現する文脈マーカー“。”の照合情報(9−8)まで
である。よって,(9−2)〜(9−8),すなわち
(S1,30,30)〜(S1,48,48)がセンテ
ンスの範囲となる。 このため,(9−2)すなわち
(S1,30,30)から順番に調べる。文脈マーカー
“。”が出現すると共起カウンタを0(ゼロ)にリセッ
トし,次に文脈条件に指定された照合情報が現れるかど
うかを調べていく。まず,文脈条件に指定された第0番
目の識別子Taが現れるまで共起カウンタの値を変更し
ない。すなわち,共起カウンタの値が0のとき第0番目
の識別子Taに着目し,この識別子が現れるのを監視す
る。ここで識別子Taの照合情報が現れた場合,共起カ
ウンタをカウントアップする。つまり共起カウンタの値
を0から1に変更する。
【0061】次に共起カウンタの値が1を示しているの
で,文脈条件に指定されている第1番目の識別子Tbが
現れるのを監視し,現れた場合に共起カウンタをカウン
トアップする。ここで識別子Tbの照合情報が現れた場
合,共起カウンタをカウントアップする。すなわち,共
起カウンタの値を1から2に更新する。ここで共起カウ
ンタの値が2になったところで,本文脈条件に指定され
た識別子が全て現れたことになるため,共起条件が成立
したことを判別できる。このように共起カウンタを制御
することにより,順序が指定された文脈条件における共
起判定を行っている。共起カウンタの判定は,後述する
ように次の文脈マーカーが現れた時点で行う。 さら
に,次に文脈マーカー“。”の照合情報(9−8)すな
わち(S1,48,48)が出現する。この時点の共起
カウンタの値は2になっている。共起カウンタの値が2
ということは,文脈条件に指定されている2つの検索タ
ームの識別子が出現し,共起条件が成立していることを
表している。このとき,成立した文脈条件の文脈条件識
別情報を出力する。この文脈条件識別情報の先頭位置情
報には前に現れた文脈マーカー“。”の先頭位置情報で
ある30を設定し,末尾位置情報には後に現れた文脈マ
ーカー“。”の末尾位置情報である48を設定する。ま
た,文脈条件識別情報の識別子には文脈条件の識別子
“Ci”を設定する。すなわち,文脈条件識別情報(C
i,30,48)を出力する。
【0062】次に,照合ターム識別子の順序を問わない
文脈条件“Cj:Ta[s]Tb”の場合の共起カウン
タの制御方法について,以下説明する。文脈の範囲は同
様に(9−2)〜(9−8),すなわち(S1,30,
30)〜(S1,48,48)がセンテンスの範囲とな
る。このため,同様に(9−2)すなわち(S1,3
0,30)から順番に調べる。 まず,文脈マーカ
ー“。”が出現すると同様に共起カウンタを0(ゼロ)
にリセットする。次に文脈条件に指定された照合情報が
現れるかどうかを調べていく。 まず,識別子“Tb”
の照合情報が現れた場合,共起カウンタをカウントアッ
プする。つまり共起カウンタの値は0から1に更新す
る。この後で既に出現した識別子“Tb”の照合情報が
同一文脈中に再び現れた場合には共起カウンタの値を変
更しない。次に識別子“Ta”の照合情報が現れた場
合,共起カウンタをカウントアップする。つまり共起カ
ウンタの値は1から2に更新する。ここで共起カウンタ
の値が2になったところで,,本文脈条件に指定された
2つの識別子が全て現れたことになるため,共起条件が
成立したことが判別できる。この後で既に出現した識別
子“Ta”の照合情報が同一文脈中に再び現れた場合に
も共起カウンタの値を変更しない。さらに,次に文脈マ
ーカー“。”の照合情報(9−8)すなわち(S1,4
8,48)が出現したとき,既に共起カウンタが2,す
なわち共起条件が成立しているので,本文脈条件の文脈
条件識別情報を出力する。すなわち,文脈条件識別情報
(Cj,30,48)を出力する。このように共起カウ
ンタを制御することにより,順序を問わない文脈条件の
共起判定にも使用することができる。以上のように共起
カウンタを制御することにより共起判定の成否を判断す
ることができる。
【0063】文脈条件の処理の手順について図19を用
いて詳細に説明する。まず繰返し処理ステップ1100
ではバッファ360内の照合情報を全て,すなわち最後
の文書の照合情報を読み出し尽くすまで1101から1
112までの処理ステップを繰り返す。照合情報読込み
処理ステップ1101では,バッファ360より照合情
報を1個読み出し,ワークエリアへ出力する。照合情報
識別処理ステップ1102では,上記照合情報読込み処
理ステップ1101で読み込んだ照合情報が照合ターム
識別情報なのかどうかを調べる。すなわち照合情報の下
位32ビットが0(ゼロ)でない場合には,照合ターム
識別子と判定する。この場合には,文脈マーカーを検出
する文脈マーカー識別処理ステップ1103を実行す
る。照合ターム識別情報以外の場合には,照合情報をバ
ッファ370へ出力する照合情報出力処理ステップ11
12を実行する。文脈マーカー識別処理ステップ110
3では,照合ターム識別情報の照合ターム識別子を調べ
て文脈条件に指定された文脈の文脈マーカーか否かを判
定する。文脈マーカーの場合には,後処理ステップ11
04が実行される。
【0064】後処理ステップ1104では,これまで共
起判定を行ってきた文脈の末尾位置情報を格納し,ワー
クエリアに格納する。この文脈識別情報は後述する照合
ターム識別情報出力処理ステップ1110でバッファ3
70に出力される。その後,前処理ステップ1104a
を実行する。ここでは本文脈マーカーを端点とする次の
文脈に対し共起判定を実行するための準備を行う。ま
ず,本文脈マーカーを端点とする文脈に関する文脈条件
の共起カウンタを0にリセットする。さらに,本文脈マ
ーカーの先頭位置情報を,本文脈マーカーを端点とする
文脈の先頭位置情報とする。後処理ステップ1104に
おいて,文脈条件識別情報をワークエリアに格納し,再
度文脈条件判定を行うのは文脈条件が入れ子の場合を考
慮しているからである。文脈条件の入れ子とは,すなわ
ち,“Cj:(Ta[s]Tb)[p]Tc”のように
“Ta”と“Tb”という2つの検索タームがその順序
を問わず,同一文(センテンス)に現れ,且つこの文
(センテンス)と“Tc”という検索タームが順序を問
わず,同一段落(パラグラフ)に現れる文書を探し出す
というように文脈条件中に文脈条件が指定される場合を
いう。
【0065】この判定手順としては,文脈条件を“C
i:(Ta[s]Tb)”と“Cj:Ci[p]Tc”
とに分け,まず含まれている方の文脈条件すなわち本例
では段落に包含されているセンテンスに関する文脈条件
“Ci:(Ta[s]Tb)”を判定する。このセンテ
ンスの文脈条件が成立したと想定する。この成立時にセ
ンテンスの文脈条件識別情報が一時格納バッファに格納
される。次にセンテンスの文脈マーカーが現れたとき,
このセンテンスの文脈条件識別情報に末尾位置情報が設
定され,文脈条件識別情報として確定する。このセンテ
ンスの文脈条件識別情報をワークエリアに格納し,含む
方の文脈条件すなわち本例では段落に関する文脈条件
“Cj:Ci[p]Tc”の判定対象とする。その後,
照合ターム識別子Tcの照合ターム識別情報が現れたと
想定する。このとき,段落の文脈条件は成立し,一時格
納バッファに段落の文脈条件識別情報が格納される。次
に段落の文脈マーカーが出現したとき,この段落の文脈
条件識別情報に末尾位置情報が設定され,文脈条件識別
情報として確定される。このように処理を行うことによ
って,入れ子の文脈条件“Cj:(Ta[s]Tb)
[p]Tc”の条件判定を実現している。
【0066】文脈マーカー識別処理ステップ1103の
後には,ワークエリア繰返し処理ステップ1106を実
行する。ワークエリア繰返し処理ステップ1106で
は,照合情報読込み処理ステップ1101や後処理ステ
ップ1104でワークエリアに格納された全ての照合タ
ーム識別情報について1107〜1110の共起判定処
理を繰り返し実行する。文脈条件指定識別処理ステップ
1107では,ワークエリアに格納されている照合ター
ム識別情報の照合ターム識別子から文脈条件に指定され
ているか否かを調べる。文脈条件に指定されている場合
には共起判定処理ステップ1108が実行され,文脈条
件に指定されている照合ターム識別子が文脈中に現れる
度にカウントアップする共起カウンタ値が2かどうかを
調べる。共起カウンタ値が2ということは,文脈条件に
指定された2つの照合ターム識別子が発見され文脈条件
が成立したことを表している。文脈条件が成立した場合
には,該当文脈条件の文脈条件識別子を一時格納バッフ
ァ321に格納する一時格納処理ステップ1109を実
行する。その後,文脈マーカー識別処理ステップ111
0aを実行し,文脈マーカーの照合ターム識別情報でな
ければ照合ターム識別情報出力処理ステップ1110を
実行する。ここでは,照合ターム識別情報をバッファ3
70に出力する。以上の各処理ステップをバッファ36
0に格納されている照合情報に対し繰返し実行していく
ことにより文脈条件判定処理を実現することができる。
【0067】以上の処理手順を具体例で説明する。検索
条件としては,(7−1)に示した式“Q=((文書[4
C]理解)[S]システム)[AND](文書[s]検
索)”を例に用いる。各条件判定プログラムには,検索
制御手段101で解析され各条件に分離された条件式が
設定される。具体的には,文脈条件判定プログラム32
0には本条件式(7−1)の文脈条件部分“(文書[4
C]理解)[S]システム”と“文書[s]検索”が設
定される。ここでは,近傍条件“文書[4C]理解”の
識別子をP1とし,“システム”の検索ターム識別子を
T3とすることにより,文脈条件“(文書[4C]理
解)[S]システム”を“C1:P1[S]T3”とい
う形で表す。C1は文脈条件の識別子である。同様に,
文脈条件“文書[s]検索”は“C2:T1[s]T
4”と表される。C2は文脈条件の識別子であり,T1
は“文書”の,T4は“検索”の検索ターム識別子であ
る。
【0068】今,(7−2)に示した文書 “・・・。文書理解を用いた検索システムである。・・
・・” が入力されたとすると,前述したように近傍条件判定プ
ログラム310からは図18に示す以下の(9−1)〜
(9−8)が照合情報としてバッファ360へ出力され
る。 (D1, 0, 0) (9−1) (S1,30,30) (9−2) (T1,31,32) (9−3) (T2,33,34) (9−4) (P1,31,34) (9−5) (T3,39,40) (9−6) (T4,41,44) (9−7) (S1,48,48) (9−8) 本例では,文脈マーカーの照合情報(9−2)と(9−
8)を端点とする文脈,すなわちセンテンスにおいて,
文脈条件“(文書[4C]理解)[S]システム”と文
脈条件“文書[s]検索”が成立するか否かが判定され
ることになる。
【0069】この条件式における文脈条件判定処理につ
いて図20a,図20bと図21a,図21bを用いて
説明する。まず,図20a,図20bに示す初期状態に
おいては,バッファ360に照合情報(9−1)〜(9
−8)が格納されており,一時格納バッファ321及び
バッファ370は0クリアされた状態になっている。文
脈条件判定処理プログラム320ではこれらの照合情報
をバッファ360から照合情報を一つずつ読込み,文脈
条件“C1:P1[S]T3”と文脈条件“C2:T1
[s]T4”について判定処理を行う。まずステップ1
として,図19に示す読込み処理ステップ1101が実
行され,照合情報(9−1)すなわち照合情報(D1,
0,0)が図20a,図20bのステップ1に示すよう
にプログラムのワークエリアに読み込まれる。次に照合
情報識別処理ステップ1102が実行され,照合情報
(9−1)が照合ターム識別情報かどうかが調べられ
る。照合情報(D1,0,0)は後部の2項が両方とも0
(ゼロ),すなわち下位32ビットが0(ゼロ)のた
め,文書識別情報と判断される。したがって,照合情報
(D1,0,0)は照合ターム識別情報でないため,文脈
マーカー識別処理ステップ1110aにより文脈マーカ
ーのものでないと判断される。このため,次の照合情報
出力処理ステップ1110が実行され,そのままバッフ
ァ370へ出力される。
【0070】その後ステップ2として,再び照合情報読
込み処理ステップ1101が実行され,照合情報(9−
2)すなわち(S1,30,30)が読み込まれる。次に
照合情報識別処理ステップ1102が実行され,照合情
報(S1,30,30)が照合ターム識別情報かどうかが
調べられる。照合情報(S1,30,30)は下位32ビ
ットが0(ゼロ)でないため,文書識別情報ではなく照
合ターム識別情報と判断される。そして,次の文脈マー
カー識別処理ステップ1103が実行され,本照合ター
ム識別情報が文脈条件中に指定された文脈の文脈マーカ
ーに該当するかどうかが調べられる。照合情報(S1,
30,30)の照合ターム識別子S1は文脈マーカーに
指定された“。”に対応するものであるので,後処理ス
テップ1104が実行されることになる。
【0071】後処理ステップ1104では,まず本文脈
マーカーS1を端点とする文脈の末尾位置情報を設定す
る。次に,一時格納バッファ321に照合情報が格納さ
れているかどうかをかどうかを調べ,格納されている場
合には一時格納バッファ321の内容を全てワークエリ
アに読み込む。一時格納バッファ321には,後述する
ように指定文脈条件に対応した文脈条件識別情報が照合
情報として格納されている。ここでは,照合情報が格納
されていないため,ワークエリアには読み込まれないこ
とになる。この後に,前処理ステップ1104aを実行
する。ここではセンテンスの文脈条件,すなわち“C
1:P1[S]T3”と“C2:T1[s]T4”に対
応する共起カウンタaと共起カウンタbに0を設定す
る。次に文脈先頭位置情報に文脈マーカーS1の先頭位
置情報である30を設定する。その後,ワークエリア繰
返し処理ステップ1106を実行する。ここでは本照合
ターム識別子“S1”が文脈条件に指定されていないた
め文脈条件指定識別処理ステップ1107は実行されな
い。さらに文脈マーカー識別処理ステップ1110aが
実行されるが,本照合ターム識別子“S1”は文脈マー
カーの照合ターム識別情報であるため,照合ターム識別
情報出力処理ステップ1110は実行されない。したが
って,文脈マーカーの照合ターム識別情報はバッファ3
70に出力されないことになる。
【0072】ステップ3として,繰返し処理ステップ1
100により読込み処理ステップ1101が実行され,
3番目の照合情報(9−3),すなわち(T1,31,
32)がワークエリアに読み込まれる。次に照合情報識
別処理ステップ1102が実行され,照合ターム識別情
報か否かが調べられる。照合情報(T1,31,32)
は照合ターム識別情報なので文脈マーカー識別処理ステ
ップ1103が実行される。照合ターム識別情報(T
1,31,32)の照合ターム識別子T1は文脈マーカ
ーの照合ターム識別子S1でないため,後処理ステップ
1104は実行されない。この後,ワークエリア繰返し
処理ステップ1106が実行され,ワークエリアに格納
されている照合ターム識別情報について1107〜11
10の共起判定処理が実施される。文脈条件指定識別処
理ステップ1107では,ワークエリアに格納されてい
る照合ターム識別情報(T1,31,32)の照合ター
ム識別子T1を参照して文脈条件に指定された照合ター
ムか否かを調べる。本照合ターム識別子T1は,文脈条
件“C2:T1[s]T4”に指定されているので共起
判定処理1108が実行されることになる。ここで,文
脈条件“C2:T1[s]T4”に対応した共起カウン
タaはカウントアップされ,共起カウンタaの値は0か
ら1に更新される。しかし,共起カウンタaの値が2で
ないため,共起判定は成立しないことになる。この後,
文脈マーカー識別処理ステップ1110aを実行するが
文脈マーカーの照合ターム識別情報でないため,照合タ
ーム識別情報出力処理ステップ1110が実行される。
ここで照合ターム識別情報(T1,31,32)がバッ
ファ370に出力される。
【0073】また,ステップ4として繰返し処理ステッ
プ1100のもとに,読込み処理ステップ1101が実
行され,4番目の照合情報(9−4),すなわち(T
2,33,34)がワークエリアに読み込まれる。そし
て照合情報識別処理ステップ1102が実行され,照合
ターム識別情報か否かが調べられる。照合情報(T2,
33,34)は照合ターム識別情報なので文脈マーカー
識別処理ステップ1103が実行されるが,照合ターム
識別情報(T2,33,34)の照合ターム識別子はS
1でないため,後処理ステップ1104は実行されな
い。この後,ワークエリア繰返し処理ステップ1106
のもとに,文脈条件指定識別処理ステップ1107が実
行され,ワークエリア内の照合ターム識別情報が文脈条
件に指定されているか否かが調べられる。ワークエリア
に格納されている照合ターム識別情報(T2,33,3
4)の照合ターム識別子T2は文脈条件に指定されてい
ないため,共起判定処理ステップ1108は実行されな
い。また,照合ターム識別情報は文脈マーカーでないた
め,照合ターム識別情報出力処理ステップ1110が実
行され,照合ターム識別情報(T2,33,34)がバ
ッファ370に出力される。
【0074】さらにステップ5として,繰返し処理ステ
ップ1100のもとで,読込み処理ステップ1101が
実行され,5番目の照合情報(9−5)すなわち(P
1,31,34)がワークエリアに読込まれる。更に照
合情報識別処理ステップ1102により照合ターム識別
情報か否かが調べられ,照合情報(P1,31,34)
は照合ターム識別情報なので文脈マーカー識別処理ステ
ップ1103が実行される。ここで,照合ターム識別情
報(P1,31,34)の照合ターム識別子はS1でな
いため,この後ワークエリア繰返し処理ステップ110
6が実行され,ワークエリアに格納されている照合ター
ム識別情報について1107〜1110の共起判定処理
が実行される。文脈条件指定識別処理ステップ1107
では,ワークエリアに格納されている照合ターム識別情
報(P1,31,34)の照合ターム識別子P1を参照
して文脈条件に指定されているか否かが調べられる。こ
の場合,文脈条件“C1:P1[S]T3”に対応する
共起カウンタbの値が0であり,且つ照合ターム識別子
P1は文脈条件“C1:P1[S]T3”の第0番目の
照合ターム識別子として指定されている。このため共起
判定処理1108が実行されることになる。ここで,共
起カウンタbはカウントアップされ,共起カウンタbの
値は0から1になる。しかし,共起カウンタbの値が2
でないため,共起判定は成立しないことになる。この
後,本照合ターム識別情報が文脈マーカーのものでない
ため照合ターム識別情報出力処理ステップ1110が実
行され,本照合ターム識別情報(P1,31,34)が
バッファ370に出力される。
【0075】さらにステップ6として,繰返し処理ステ
ップ1100のもとに,読込み処理ステップ1101が
実行され,6番目の照合情報(9−6)すなわち(T
3,39,40)がワークエリアに読込まれ,その後に
照合情報識別処理ステップ1102が実行される。ここ
で,照合情報(T3,39,40)が照合ターム識別情
報か否かが調べられ,照合情報(T3,39,40)は
照合ターム識別情報なので文脈マーカー識別処理ステッ
プ1103が実行されるが,照合ターム識別情報(T
3,39,40)は文脈マーカーでないため,後処理ス
テップ1104は実行されないことになる。この後,ワ
ークエリア繰返し処理ステップ1106が実行され,ワ
ークエリアに格納されている照合ターム識別情報につい
て1107〜1110の共起判定処理が実行されること
になる。文脈条件指定識別処理ステップ1107では,
ワークエリアに格納されている照合ターム識別情報(T
3,39,40)の照合ターム識別子T3を参照して,
本照合ターム識別子が文脈条件に指定されているか否か
が調べられる。この場合,文脈条件“C1:P1[S]
T3”に対応する共起カウンタbの値が1であり,且つ
照合ターム識別子T3は文脈条件“C1:P1[S]T
3”の1番目の識別子に指定されているので共起判定処
理1108が実行される。ここで共起カウンタbがカウ
ントアップされ,共起カウンタbの値は1から2に更新
される。共起カウンタbの値が2になったことから,共
起判定が成立したものと判断することができる。このと
き,一時格納処理ステップ1109が実行され,文脈条
件“C1:P1[S]T3”の文脈条件識別情報(C
1,30,Xe1)が一時格納バッファ321に格納さ
れる。ここでは,文脈の後方を端点とする文脈マーカー
の位置情報がまだ判明しないため,仮に文脈末尾位置情
報をXe1として置く。この後に文脈マーカーの照合タ
ーム識別情報が現れたとき,この文脈末尾位置情報は後
処理ステップ1104で設定される。その後,本照合タ
ーム識別情報は文脈マーカーのものでないため照合ター
ム識別情報出力処理ステップ1110が実行され,今成
立した照合ターム識別情報(T3,39,40)がバッ
ファ370に出力される。
【0076】ステップ7として,繰返し処理ステップ1
100のもとで,読込み処理ステップ1101が実行さ
れ,7番目の照合情報(9−7)すなわち(T4,4
1,46)がワークエリアに読込まれる。その後,照合
情報識別処理ステップ1102が実行され,本照合情報
が照合ターム識別情報か否かが調べられる。照合情報
(T4,41,46)は照合ターム識別情報なので文脈
マーカー識別処理ステップ1103が実行され,照合タ
ーム識別情報(T4,41,46)は文脈マーカーでな
いため,後処理ステップ1104は実行されない。この
後,ワークエリア繰返し処理ステップ1106が実行さ
れ,ワークエリアに格納されている照合ターム識別情報
について1107〜1110の共起判定処理が実行され
ることになる。文脈条件指定識別処理ステップ1107
では,ワークエリアに格納されている照合ターム識別情
報(T4,41,46)の照合ターム識別子T4を参照
して,本照合タームが文脈条件に指定されているか否か
が調べられる。この場合,照合ターム識別子T4は文脈
条件“C2:T1[s]T4”に指定されているので共
起判定処理1108が実行される。ここで,文脈条件
“C2:T1 [s]T4”におけるの照合ターム識別
子T4が現れたため,本文脈条件に対応する共起カウン
タaがカウントアップされ,共起カウンタaの値は1か
ら2になり,共起判定が成立することになる。したがっ
て,一時格納処理ステップ1109が実行され,今成立
した文脈条件“C2:T1[s]T4”の文脈条件識別
情報(C2,30,Xe2)が一時格納バッファ321
に格納される。文脈末尾位置情報は決定されていないの
でXe2を一時的に設定しておく。その後,本照合ター
ム識別情報が文脈マーカーのものでないため照合ターム
識別情報出力処理ステップ1110が実行され,照合タ
ーム識別情報(T4,41,46)がバッファ370に
出力される。
【0077】最後にステップ8として,再び照合情報読
込み処理ステップ1101が実行され,本照合情報(9
−8)すなわち(S1,48,48)が読み込まれる。次
に照合情報識別処理ステップ1102が実行され,照合
情報(S1,48,48)が照合ターム識別情報であるか
どうかが調べられる。照合情報(S1,48,48)は照
合ターム識別情報であるため,次の文脈マーカー識別処
理ステップ1103が実行され,本照合ターム識別情報
が文脈条件中に指定された文脈に関する文脈マーカーに
該当するかどうかが調べられる。照合ターム識別子はS
1であるため指定されたセンテンスの文脈マーカ
ー“。”に該当することになり,後処理ステップ110
4が実行される。後処理ステップ1104では,まず本
文脈マーカーの末尾位置情報である48を文脈末尾位置
情報とする。次に,センテンスの文脈条件識別情報(C
1,30,Xe1)と(C2,30,Xe2)が格納さ
れている一時格納バッファ321にセンテンスの文脈末
尾位置情報48を設定し,この処理結果は図21a,図
21bのステップ8に示した(C1,30,48)と
(C2,30,48)のようになる。この処理結果はワ
ークエリアに格納される。さらに前処理ステップ110
4aが実行され,センテンスの文脈条件の共起カウンタ
を0クリアし,本文脈マーカーの先頭位置情報48を文
脈先頭位置情報に設定する。
【0078】その後,ワークエリア繰返し処理ステップ
1106が実行される。まず文脈条件識別情報(C1,
30,48)について,文脈条件指定識別処理ステップ
1107が実行されるが照合ターム識別子C1は文脈条
件に指定されていないため共起判定処理1108は実行
されず,照合ターム識別情報出力処理ステップ1110
が実行され,文脈条件識別情報(C1,30,48)が
バッファ370に出力される。すなわち,本文脈条件識
別情報の位置情報は,文脈マーカーの識別子(9−2)
と(9−8)を端点とするセンテンスの先頭位置情報3
0と末尾位置情報48を位置情報としている。この後に
再度,ワークエリア繰返し処理ステップ1106が実行
され,文脈条件識別情報(C2,30,48)につい
て,文脈条件指定識別処理ステップ1107が実行され
るが照合ターム識別子C2も文脈条件に指定されていな
いため,照合ターム識別情報出力処理ステップ1110
により,文脈条件識別情報(C2,30,48)がバッ
ファ370に出力される。
【0079】以上の文脈条件判定処理が実行されること
により,図22に示す(10−1)〜(10−8)の照
合情報がバッファ370へ出力される。 (D1, 0, 0) (10−1) (T1,31,32) (10−2) (T2,33,34) (10−3) (P1,31,34) (10−4) (T3,39,40) (10−5) (T4,41,44) (10−6) (C1,30,48) (10−7) (C2,30,48) (10−8) ここで,(10−7)は文脈条件“(文書[4C]理
解)[S]システム”の文脈条件識別情報であり,同様
に(10−8)は“文書[s]検索”の文脈条件識別情
報である。これらの照合情報は引き続き論理条件判定プ
ログラム330へ送られることになる。
【0080】最後に,論理条件判定プログラム330の
判定処理について説明する。論理条件判定プログラム3
30では,文脈条件判定プログラム320からバッファ
370に送り込まれた照合情報を読み出し,検索制御手
段101より検索情報202として指定された論理条件
に合致するか否かを判定する。論理条件例としては,例
えば“文書[AND]検索”という条件式がある。“文
書[AND]検索”という条件式は,“文書”と“検
索”という2つの検索タームが同時に現れる文書を探し
出すということを表す。また,本論理条件を表す識別子
(以後,論理条件識別子と呼ぶ)をLiとする。なおL
iには照合ターム識別子とは区別できるコードを割り付
ける。このように定義することにより,論理条件は “Li:Ta[AND]Tb” と記述することができる。以下の説明はこの定義を用い
て行う。論理条件にはこの他にも,“Li:Ta[O
R]Tb”と“Li:Ta[NOT]Tb”がある。こ
こで論理条件“Li:Ta[OR]Tb”は,“Ta”
あるいは“Tb”という検索タームが現れる文書を探し
出すということを表し,論理条件“Li:Ta[NO
T]Tb”は,“Ta”という検索タームが現われて,
且つ“Tb”という検索タームが現われない文書を探し
出すということを表している。
【0081】これらの論理条件は検索制御手段101に
おいて,以下に示す積の一般形式に変換され,検索情報
202として論理条件判定プログラム330に指定され
る。 Li:(A11+A12+・・・+A1j) *(A21+A22+・・・+A2k) * ・・・ *(An1+A22+・・・+Anm) (10−1) (10−1)式において,“+”は論理和を表わし,
“*”は論理積を表わす。また,Anmを要素と呼び,
(An1+A22+・・・+Anm)を項と呼ぶ。要素A
nmとしては否定(“¬”で表す)が掛かっている要素
¬Anmも存在する。また,項にも否定が掛かった項
¬(An1+A22+・・・+Anm)が存在する。ここ
で¬Anmを負論理の要素と呼ぶ。これに対し,否定が
掛かっていない項を正論理の要素と呼ぶ。また,¬(A
n1+A22+・・・+Anm)を負論理の項と呼び,
否定が掛かっていない項を正論理の項と呼ぶ。
【0082】(10−1)式では,項の論理積の形にな
っているので,(10−1)式が成立する(真になる)
ためには,各々の項が全て成立する必要がある。そのた
め,カウンタを用意し,成立した項をカウントする。こ
のカウンタ(以後,項カウンタと呼ぶ)の値が項の個数
に等しければ,(10−1)式は成立したことになる。
負論理の要素を含まない負論理の項と負論理の要素を含
む正論理の項は最初から成立している。したがって,項
カウンタの初期値には負論理の要素を含まない負論理の
項の個数と負論理の要素を含む正論理の項の個数とを加
算した値を設定する。この項カウンタを次のように制御
することにより,(10−1)式の成否を判定すること
ができる。つまり,項カウンタには初期値として負論理
の項の個数を設定し,項が不成立から成立に変化した場
合には項カウンタに1を加算し,逆に項が成立から不成
立に変化した場合には項カウンタから1を減算する。項
が不成立から不成立または成立から成立のように変化し
ない場合は項カウンタの値を更新しない。このように項
カウンタを制御し,文書単位に項カウンタの値が項の個
数に等しいかを調べることにより(10−1)式の成立
を判別することができる。また,式全体に否定が掛って
いる場合には逆に,項カウンタの値が項の個数未満かを
調べることにより(10−1)式の成立を判別すること
ができる。
【0083】次に,全ての項では要素の論理和になって
いるため,項が成立するためにはいずれかの要素が成立
していれば良いことになる。1つの項の成否判定方法に
ついて以下説明する。ここでは,項の成否を調べるため
にカウンタを用い,項に指定されている要素において,
要素が成立したものの個数をカウントする。このカウン
タ(以後,要素カウンタと呼ぶ)の値が1以上,すなわ
ちいずれかの要素が成立している場合は,項は成立した
ものと見做す。負論理の要素は最初から成立していると
見做せるので,要素カウンタの初期値には負論理の要素
の個数を設定する。このため,要素カウンタは項に対応
して1つずつ,すなわち項の個数だけ設ける。
【0084】この要素カウンタを以下のように制御する
ことにより項の成否を判定することができる。つまり,
要素カウンタには初期値として負論理の要素の個数を設
定し,要素が不成立から成立に変化した場合には要素カ
ウンタに1を加算し,逆に要素が成立から不成立に変化
した場合には要素カウンタから1を減算する。ここでの
要素は照合ターム識別子に対応しているため,要素が不
成立から不成立または成立から成立のようには変化しな
い。よって,不成立から成立に変化するのは正論理の要
素の場合のみであり,成立から不成立に変化するのは負
論理の要素の場合のみである。したがって,正論理の要
素に対応する照合ターム識別情報が現れた場合には要素
カウンタに1を加算し,逆に負論理の要素に対応する照
合ターム識別情報が現れた場合には要素カウンタから1
を減算する。
【0085】このように要素カウンタを制御し,照合タ
ーム識別情報が入力される度に要素カウンタの値が1以
上かを調べることにより項の成立を判断する。また,項
に否定が掛っているときには逆に,要素カウンタの値が
0かを調べることにより項の成立を判断する。この後,
項の成立判定の結果をもとに,項が不成立から成立に変
化した場合には項カウンタに1を加算し,逆に項が成立
から不成立に変化した場合には項カウンタから1を減算
する。また,否定を含めた項が不成立から不成立または
成立から成立のように変化しない場合は項カウンタの値
を更新しない。このように項カウンタを制御し,文書単
位に項カウンタの値が項の個数に等しいか否かを調べる
ことにより(10−1)式の成否を判別することができ
る。例えば上記の“Li:Ta[AND]Tb”すなわ
ち“Li:Ta*Tb”の場合には, “Li:¬((¬Ta)+(¬Tb))” のように変換され検索情報202として論理条件判定プ
ログラム330に渡される。
【0086】この論理条件の処理の手順について図23
を用いて詳細に説明する。例えば上記の“Li:Ta
[AND]Tb”すなわち“Li:Ta*Tb”の場合
には, “Li:¬((¬Ta)+(¬Tb))” (10−2) のように変換され検索情報202として論理条件判定プ
ログラム330に渡される。本論理条件には,負論理の
項が1つ存在する。さらにこの項の中には,負論理の要
素が2つ存在する。項が1つなのでここでは,要素カウ
ンタを1つ使用する。項カウンタの初期値には,負論理
の要素を含まない負論理の項の個数と負論理の要素を含
む正論理の項の個数とを加算した値を設定することにな
るが,本例の項は負論理要素を含む負論理の項なので該
当しないため0を設定する。また,要素カウンタには,
負論理の要素の個数である2を設定する。ここでは,項
に¬が掛かっているため,要素カウンタをカウントダウ
ンし,要素カウンタの値が0になったときに項が成立し
たものと判断することができる。また,論理条件(10
−2)式に¬が掛かっていないため,項カウンタの値が
1のときに論理条件(10−2)式が成立したものと判
断することができる。
【0087】まず繰返し処理ステップ1200ではバッ
ファ370内の照合情報を全て,すなわち最後の文書の
照合情報を読み出し尽くすまで1201から1210ま
での処理ステップを繰り返す。読込み処理ステップ12
01では,バッファ370より照合情報を読み出しプロ
グラムのワークエリアへ格納する。照合情報識別処理ス
テップ1202では,上記読込み処理ステップ1201
で読み込んだ照合情報が文書識別情報か,それとも照合
ターム識別情報なのかを調べる。すなわち照合情報の後
部2項が両方とも0(ゼロ),すなわち下位32ビット
が0(ゼロ)の場合には,文書識別情報と判定する。こ
の場合には論理条件成立判定処理ステップ1203が実
行される。論理条件が成立したとき,すなわち論理条件
(10−2)式では,項カウンタの値が1のとき論理条
件が成立していることを示している。
【0088】論理条件が成立した場合,文書識別情報判
定処理ステップ1203aが実行され,さらに本文書識
別情報が最初の文書識別情報でない場合,結果出力処理
ステップ1204を実行する。文書識別情報判定処理ス
テップ1203aにおいて,最初の文書識別情報の場
合,判定処理を行わないが,これは,まだ論理条件の判
定処理を何も行っていないためである。結果出力処理ス
テップ1204では,後述する照合情報を格納した出力
バッファ331の内容と論理条件判定結果(以後,論理
条件識別情報と呼ぶ)を複合条件判定結果206として
出力する。このように,文書識別情報を検出したとき
に,論理条件判定処理を行うのは,1文書単位に指定論
理条件の成否を判定する必要があるためである。
【0089】ここで出力される論理条件判定結果情報の
内容としては,位置情報には文書の先頭位置情報および
文書の末尾位置情報が設定され,識別子には論理条件識
別子Liが格納される照合情報(Li,文書先頭位置情
報,文書末尾位置情報)となる。この文書先頭位置情報
としては常に文書の先頭で位置情報が0クリアされるた
め,必ず0(ゼロ)となる。したがって論理条件識別情
報(Li,0,文書末尾位置情報)となる。また論理条
件成立判定処理ステップ1203の後,初期設定処理ス
テップ1205を実行し,出力バッファ331を0クリ
アするとともに,要素カウンタと項カウンタの初期設定
を行う。本例では要素カウンタに2を設定し,項カウン
タに0を設定する。
【0090】照合情報識別処理ステップ1202におい
て照合情報が照合ターム識別情報であると判定された場
合には,照合ターム識別処理ステップ1206を実行
し,照合ターム識別情報内の照合ターム識別子が論理条
件の要素に指定されているか否かを調べる。ここで要素
に指定されている場合には,要素判定処理ステップ12
06aを実行し,まず見つかった要素について論理条件
を調べ,要素に¬が掛かっていない場合にはカウントア
ップ処理ステップ1206bを実行し,要素カウンタに
1を加算する。逆に要素に¬が掛かっている場合にはカ
ウントダウン処理ステップ1206cを実行し,要素カ
ウンタから1を減算する。ここで要素カウンタの値が0
となった場合には項の不成立を表し,1以上となった場
合には項の成立を表す。項に¬が掛っているときは逆
に,要素カウンタの値が0のとき成立を表わし,1以上
のとき不成立を表わす。
【0091】次に項成立判定処理ステップ1207を実
行する。ここでは要素が指定されている項が不成立から
成立に変化したのか,もしくは成立から不成立に変化し
たのかを調べる。項成立判定方法としては,要素カウン
タが,この計算前と計算後で,不成立から成立に変化し
た場合は成立した項が1つ増えたので項カウンタに1を
加算し,成立から不成立に変化した場合は成立した項が
1つ減ったため項カウンタから1を減算する。本例で
は,初期状態における要素カウンタの値は2で,項カウ
ンタの値は0である。ここで要素Taが見つかった場
合,要素Taには¬が掛かっているので要素カウンタか
ら1を減算するため,要素カウンタの値は1となる。こ
の場合項には¬が掛っているので,項は不成立から不成
立へ変化したため,項カウンタは更新しない。さらに要
素Tbが見つかった場合,要素Tbには¬が掛かってい
るので要素カウンタから1を減算する。要素カウンタの
値は0となり,項は不成立から成立に変化したことにな
るため,項カウンタに1を加算する。この結果,項カウ
ンタの値は1となる。以上のようにして,項成立判定処
理が行われる。
【0092】照合情報識別処理ステップ1202の処理
の後,照合情報退避処理ステップ1210を実行し,照
合情報を出力バッファ331に出力する。照合情報退避
処理ステップ1210を実行する。この出力バッファ3
31には1文書分の照合情報が格納され,論理条件成立
判定処理ステップ1203で論理条件成立が判明したと
きに複合条件判定結果206として出力される。以上の
各処理ステップをバッファ370に格納されている照合
情報に対し繰返し実行していくことにより論理条件判定
処理を実現することができる。繰返し処理ステップ12
00終了後,最後に処理した文書については論理条件判
定が実行されないことになる。これは,文書識別情報の
入力をタイミングとして,前に読み込んだ文書の論理条
件判定を行っているからである。したがって,ここで再
度,論理条件成立判定処理ステップ1203を実行し,
最後に読み込んだ文書についての論理条件判定を行う。
【0093】以上の処理手順を具体例で説明する。検索
条件としては,(7−1)に示した式“Q=((文書[4
C]理解)[S]システム)[AND](文書[s]検
索)”を例に用いて説明する。各条件判定プログラムに
は検索制御手段101で解析され,各条件に分離された
条件式が設定される。具体的には,論理条件判定プログ
ラム330には本条件式(7−1)の論理条件部分
“((文書[4C]理解)[S]システム)[AND](文
書[s]検索)”が設定される。ここでは,文脈条件
“(文書[4C]理解)[S]システム”の識別子をC1
とし,文脈条件“文書[s]検索”の識別子をC2とす
ることにより,(7−1)の論理条件部分を“L1:C
1[AND]C2”という形で表す。L1は論理条件識
別子である。さらに“L1:¬((¬C1)+(¬C
2))”に変換され,論理条件判定プログラム330に
設定される。
【0094】今,(7−2)に示した文書 “・・・。文書理解を用いた検索システムである。・・
・・” が入力されたとすると,前述したように文脈条件判定プ
ログラム320からは,図22に示す以下の(11−
1)〜(11−8)が照合情報としてバッファ370へ
出力される。 (D1, 0, 0) (11−1) (T1,31,32) (11−2) (T2,33,34) (11−3) (P1,31,34) (11−4) (T3,39,40) (11−5) (T4,41,44) (11−6) (C1,30,48) (11−7) (C2,30,48) (11−8) (11−1)は文書識別情報を表しており,D1は文書
識別子を表し,これに続く2項は定数0である。(11
−2),(11−3),(11−5),および(11−
6)は,それぞれ“文書”,“理解”,“検索”,およ
び“システム”の照合ターム識別情報を表わす。また,
T1,T2,T3,およびT4は,それぞれ“文書”,
“理解”,“検索”,および“システムの照合ターム識
別子を表わす。また,(11−4)は近傍条件“文書
[4C]理解”の近傍条件識別情報を表しており,P1
はこの近傍条件識別子を表している。さらに,(11−
7)は文脈条件“(文書[4C]理解)[S]システム”
の文脈条件識別情報を表しており,C2はこの文脈条件
識別子を表し,(11−8)は文脈条件“文書[s]検
索”の文脈条件識別情報を表しており,C2はこの文脈
条件識別子を表している。
【0095】以上の条件における論理条件判定処理につ
いて図24a,図24bと図25を用いて1ステップず
つ説明する。初期状態では図24a,図24bの初期状
態に示すようにバッファ370に照合情報(11−1)
〜(11−8)が格納されており,出力バッファ331
及びバッファ370は0クリアされた状態になってい
る。論理条件判定処理プログラム330ではバッファ3
70からこれらの照合情報を一つずつ読込み,論理条件
“Li:¬((¬C1)+(¬C2))”について判定
処理を行う。
【0096】まず図24a,図24bのステップ1に示
すように,読込み処理ステップ1201が実行され照合
情報(11−1),すなわち照合情報(D1,0,0)が
プログラムのワークエリアに読み込まれる。次に照合情
報識別処理ステップ1202が実行され,照合情報(1
1−1)が文書識別情報であるか照合ターム識別情報で
あるかが調べられる。照合情報(D1,0,0)は後部の
2項が両方とも0(ゼロ)のため,文書識別情報と判断
される。したがって,論理条件成立判定処理ステップ1
203および文書識別情報判定処理ステップ1203a
が実行されるが,最初の文書識別情報なので結果出力処
理ステップ1204は実行されない。次に,初期設定処
理ステップ1205を実行し,出力バッファ331を0
クリアし,要素カウンタと項カウンタの初期設定を行
う。本例では,要素カウンタの初期値としては¬が掛か
っている要素(¬C1)と(¬C2)の数である2を設
定する。また,本項((¬C1)+(¬C2))は¬が
掛かっている要素を含む¬が掛かっている項である。こ
のため項カウンタの初期値としては,¬が掛かっている
要素を含まない¬が掛かっている項や¬が掛かっている
要素を含む¬が掛かっていない項¬が存在しないため0
を設定する。照合情報識別処理ステップ1202が終了
したら,次に照合情報退避処理ステップ1210が実行
され,照合情報(D1,0,0)が出力バッファ331に
格納される。
【0097】その後ステップ2として,再び照合情報読
込み処理ステップ1201が実行され,照合情報(11
−2)すなわち(T1,31,32)が読み込まれる。次
に照合情報識別処理ステップ1202が実行され,照合
情報(T1,31,32)が照合ターム識別情報かどうか
が調べられる。照合情報(T1,31,32)は下位32
ビットが0(ゼロ)でないため,照合ターム識別情報と
判断される。そして,次の照合ターム識別処理ステップ
1206で,本照合ターム識別情報が論理条件中に指定
された要素に該当するかどうか調べられる。本論理条件
には,照合情報(T1,31,32)の照合識別子T1が
指定されていないため,処理ステップ1206a〜12
09は実行されないことになる。照合情報識別処理ステ
ップ1202が終了した後,照合情報退避処理ステップ
1210が実行され,照合情報(T1,31,32)が出
力バッファ331に格納される。同様にステップ6まで
照合情報の照合情報識別子は本論理条件に指定されてな
いので照合情報退避処理ステップ1210だけが実行さ
れ,照合情報(T2,33,34),(P1,31,3
4),(T3,39,40),および(T4,41,4
4)が出力バッファ331に格納される。
【0098】さらにステップ7として,再び照合情報読
込み処理ステップ1201が実行され照合情報(11−
7),すなわち(C1,30,48)が読み込まれる。次
に照合情報識別処理ステップ1202が実行され,照合
情報(C1,30,48)が照合ターム識別情報かどうか
調べられる。照合情報(C1,30,48)は下位32ビ
ットが0(ゼロ)でないため,照合ターム識別情報と判
断される。そして,次の照合ターム識別処理ステップ1
206で,照合ターム識別情報が論理条件中に指定され
た要素に該当するかどうかが調べられる。本論理条件に
は,照合情報(C1,30,48)の照合識別子C1が指
定されているため,処理ステップ1206a〜1209
が実行されることになる。まず,要素判定処理ステップ
1206aが実行される。本論理条件では,要素カウン
タの初期値は2で項カウンタの初期値は1である。ここ
で要素C1には¬が掛かっているのでカウントダウン処
理ステップ1206cが実行される。ここで要素カウン
タから1だけ減算する。その結果,要素カウンタの値は
2から1に更新される。次に項判定処理ステップ120
7が実行される。この時点の要素カウンタの値は1なの
で,項は不成立から不成立への変化となる。このため,
項カウンタは更新されない。照合情報識別処理ステップ
1202が終了した後,照合情報退避処理ステップ12
10が実行され,照合情報(C1,30,48)が出力バ
ッファ331に格納される。
【0099】最後にステップ8として,照合情報読込み
処理ステップ1201が実行され照合情報(11−
8),すなわち(C2,30,48)が読み込まれる。次
に照合情報識別処理ステップ1202が実行され,照合
情報(C2,30,48)が照合ターム識別情報かどうか
調べられる。照合情報(C2,30,48)は下位32ビ
ットが0(ゼロ)でないため,照合ターム識別情報と判
断される。そして,次の照合ターム識別処理ステップ1
206で,照合ターム識別情報が論理条件中に指定され
た要素に該当するかどうかが調べられる。本論理条件に
は,照合情報(C2,30,48)の照合識別子C2が指
定されているため,処理ステップ1206a〜1209
が実行されることになる。この時点の要素カウンタの値
は0で,項カウンタの値は1となっている。まず,要素
判定処理ステップ1206aが実行される。ここで,要
素C2には¬が掛かっているのでカウントダウン処理ス
テップ1206cが実行される。ここで要素カウンタか
ら1だけ減算する。その結果,要素カウンタの値は1か
ら0となる。次に項判定処理ステップ1207が実行さ
れる。このとき本項には,¬が掛かっているので不成立
から成立への変化が起こったことになる。このため,カ
ウントアップ処理ステップ1208が実行され,項カウ
ンタは1を加算され0から1に更新される。その後,照
合情報退避処理ステップ1210が実行され,照合情報
(C2,30,48)は出力バッファ331に格納され
る。ここで繰返し処理1200は終了するが,最後の文
書なので論理条件成立判定処理ステップ1203が実行
される。項カウンタが1なので,本論理条件が成立して
いる。このため,結果出力処理ステップ1204が実行
され,照合情報を格納した出力バッファ331の内容と
論理条件判定結果情報(L1,0,99)が複合条件判
定結果206として出力される。L1は論理条件識別子
を,0は文書先頭位置情報を,99は文書末尾位置情報
を表している。
【0100】以上の論理条件判定処理の結果,最終的に
は,以下に示す(11−1)〜(11−9)の照合情報
が,検索条件式(7−1)に示した式“Q=((文書[4
C]理解)[S]システム)[AND](文書[s]検
索)”の複合条件判定結果206として出力される。 (D1, 0, 0) (11−1) (T1,31,32) (11−2) (T2,33,34) (11−3) (P1,31,34) (11−4) (T3,39,40) (11−5) (T4,41,44) (11−6) (C1,30,48) (11−7) (C2,30,48) (11−8) (L1, 0,99) (11−9) (11−1)は文書識別情報を表しており,D1は文書
識別子を表わす。(11−2),(11−3),(11
−5),および(11−6)は,それぞれ“文書”,
“理解”,“検索”,および“システム”の照合ターム
識別情報を表わす。また,(11−4)は近傍条件“文
書[4C]理解”の近傍条件識別情報を表している。さ
らに,(11−7)は文脈条件“(文書[4C]理解)
[S]システム”の文脈条件識別情報を表し,(11−
8)は文脈条件“文書[s]検索”の文脈条件識別情報
を表している。最後の(11−9)は論理条件 “((文書[4C]理解)[S]システム)[AND](文
書[s]検索)” の論理条件識別情報を表しており,L1はこの論理条件
識別子を表している。以上が論理条件判定プログラム3
10,文脈条件判定プログラム320,および論理条件
判定プログラム330により構成される複合条件判定処
理の実現方法である。
【0101】以上説明したように文字列照合回路200
および複合条件判定回路300を構成することにより,
近傍条件,文脈条件,および論理条件などの複合条件判
定条件を一貫して実現することができるためフルテキス
トサーチ特有の木目細かな検索が可能となる。さらに,
例えば3つのマイクロコンピュータで各々,近傍条件判
定プログラム310,文脈条件判定プログラム320,
および論理条件判定プログラム330を実行させること
により,プログラム間で同期を取らなくとも動作させる
ことが可能となる。すなわち,これらのプログラムはそ
れぞれの入力バッファに照合情報が格納されるとこれに
応じて条件判定処理を始めるというパイプライン処理を
行うことが可能となり,高速な複合条件判定処理を実現
することができる。
【0102】次に本発明の第2の実施例について図26
を用いて説明する。本実施例では,複合条件のうち1つ
の条件しか設定されない場合に1つのマイクロプロセッ
サしか動作しないにもかかわらず,常に3つの複合条件
のパイプライン処理を行わなければならないという第1
の実施例の欠点を,与えられた検索条件に使用されてい
ない複合条件がある場合にはその複合条件判定プログラ
ムをバイパスすることにより解決し,効率の良い複合条
件判定処理を提供するものである。本実施例は文字列照
合回路200と複合条件判定回路300aからなり,複
合条件判定回路300aは,3つのマイクロコンピュー
タ,すなわちMPUa301,MPUb302,および
MPUc303と,マルチプレクサ390〜392,並
びにセレクタ380〜382から構成されている。マイ
クロコンピュータMPUa301では近傍条件判定プロ
グラム310が,マイクロコンピュータMPUb302
では文脈条件判定プログラム320が,マイクロコンピ
ュータMPUc303では論理条件判定プログラム33
0が実行される。さらに各MPU間にはファーストイン
・ファーストアウト(FIFO)メモリを使用したバッ
ファ350,360,および370が配置され,それぞ
れのMPU間のデータの受渡しに用いられる。
【0103】本実施例の特徴である複合条件判定回路の
バイパス機能について述べる。本機能は指定された検索
条件式で用いられていない複合条件に対応する判定プロ
グラムが搭載されているマイクロプロセッサをマルチプ
レクサやセレクタを用いてバイパスすることにより,使
用する複合条件判定プログラムが搭載されているマイク
ロプロセッサのみを実行させる機能である。例えば検索
条件式“文書[4C]理解”が指定された場合には,近
傍条件のみが使用されるため,文字列照合回路200か
ら得た照合情報205をバッファ350経由で近傍条件
判定プログラム310に入力し,近傍条件判定プログラ
ム310では近傍条件判定を行い,照合情報をバッファ
360を経由し,直接複合条件判定結果206として送
出するようにする。また,検索条件式 “(文書[S]理解)[AND]システム”が指定され
た場合には,文脈条件と論理条件が使用されるため,文
字列照合回路200から得た照合情報205をバッファ
350経由で直接,文脈条件判定プログラム320に入
力し,文脈条件判定プログラム320から出力される照
合情報はバッファ370を経由して論理条件判定プログ
ラム330に入力し,この論理条件判定プログラム33
0から出力される照合情報を複合条件判定結果206と
して送出するようにする。
【0104】このような複合条件判定回路300aのバ
イパス機能の具体的な実現方式について説明する。この
バイパス動作はマルチプレクサ390〜392とセレク
タ380〜382の設定により実現する。この設定情報
は第2図の検索制御手段101からの検索情報202と
して与えられる。マルチプレクサ390では,文字列照
合回路200からの照合情報205を,a1が選択され
た場合は論理条件判定プログラム330へ,b1が指定
された場合は文脈条件判定プログラム320へ,c1が
指定された場合は近傍条件判定プログラム310へ,d
1が選ばれた場合には複合条件回路300aの複合条件
判定結果206として送出することになる。マルチプレ
クサ391では,近傍条件判定プログラム310の出力
を,a2が指定された場合には文脈条件判定プログラム
320へ,b2が指定された場合には論理条件判定プロ
グラム330へ,c2が指定された場合には複合条件回
路300aの出力として直接送出することになる。マル
チプレクサ392では文脈条件判定プログラム320の
出力を,a3が指定された場合には論理条件判定プログ
ラム330へ,b3が指定された場合には複合条件判定
結果206として送出することになる。
【0105】セレクタ380では文脈条件判定プログラ
ム320の入力の選択を行い,マルチプレクサ390に
b1が設定されたときはX1を,すなわち文字列照合回
路200の照合結果205を選択し,マルチプレクサ3
91にa2が設定されたときはY1を,すなわち近傍条
件判定プログラム310の出力を選択する。セレクタ3
81では論理条件判定プログラム320の入力の選択を
行い,マルチプレクサ390にa1が設定されたときは
X2を,すなわち文字列照合回路200の照合結果20
5を選択し,マルチプレクサ391がb2に設定された
ときはY2を,すなわち近傍条件判定プログラム310
の出力を選択し,マルチプレクサ392がa3に設定さ
れたときはZ2を,すなわち文脈条件判定プログラム3
20の出力を選択する。セレクタ382では複合条件判
定結果206の選択を行い,マルチプレクサ390にd
1が設定されたときはZ3を,すなわち文字列照合回路
200の照合結果205を選択し,マルチプレクサ39
1がc2に設定されたときはY3を,すなわち近傍条件
判定プログラム310の出力を選択し,マルチプレクサ
392がb3に設定されたときはX3を,すなわち文脈
条件判定プログラム320の出力を選択し,それ以外の
場合はW3を選択する,すなわち論理条件判定プログラ
ム330の出力を選択する。以上述べたように,セレク
タ380〜382の設定は,マルチプレクサ390〜3
92の設定に応じて行うことになる。
【0106】複合条件の組合せにより,以下のようにマ
ルチプレクサの選択を行うことになる。 複合条件なし ───────── d1のみを選択 近傍条件のみ ───────── c1とc2を選択 文脈条件のみ ───────── b1とb3を選択 論理条件のみ ───────── a1のみを選択 近傍条件と文脈条件 ────── c1,a2,およびb3を選択 近傍条件と論理条件 ────── c1とb2を選択 文脈条件と論理条件 ────── b1とa3を選択 近傍条件と文脈条件と論理条件 ─ c1,a2,およびa3を選択 以上のように,検索制御手段101からの検索情報20
2として与えられたマルチプレクサ390〜392およ
びセレクタ380〜382の設定情報に基づき,近傍条
件判定プログラム310,文脈条件判定プログラム32
0,および論理条件判定プログラム330などの複合条
件判定プログラムをマルチプレクサ390〜392およ
びセレクタ380〜382を用いて選択的に接続するこ
とにより,複合条件の内1つの条件しか設定されない場
合に1つのマイクロプロセッサしか使用しないにもかか
わらず,常に3つの複合条件判定プログラムのパイプラ
イン処理を行うという第1の実施例の欠点を解決し,効
率の良い複合条件判定処理を実現することが可能とな
り,高速な検索を行う文書検索装置を実現することがで
きる。
【0107】次に本発明の第3の実施例について図27
を用いて説明する。本実施例では,複合条件判定回路3
00bにおける,近傍条件判定プログラム310,文脈
条件判定プログラム320,および論理条件判定プログ
ラム330の3つの複合条件判定プログラムを1つのマ
イクロコンピュータ上に載せ,これらの複合条件を切り
換えて順番に実行させることにより,複合条件判定処理
を実現することを目的としている。本実施例の複合条件
判定回路300bは,処理速度では第1の実施例に劣る
が,1つのマイクロコンピュータで実現できるためコス
トを低くできるという効果が得られる。
【0108】本実施例は文字列照合処理200と複合条
件判定回路300bからなり,さらに複合条件判定回路
300bは,マイクロコンピュータMPUa301およ
び文字列照合回路200とのデータの受渡しを行うバッ
ファ350から構成される。マイクロコンピュータMP
Ua301には,近傍条件判定プログラム310,文脈
条件判定プログラム320,および論理条件判定プログ
ラム330などの3つの複合条件判定プログラムと,こ
れらのプログラムを切り替えるスケジューラ340が搭
載されている。ここでバッファ360,370はプログ
ラムのワークエリアとして確保されるが,プログラムに
よりファーストイン・ファーストアウト(FIFO)メ
モリとして使用することで,第1の実施例と同様の機能
を得ることができる。スケジューラ340における,複
合条件プログラムの切替え順序は,まず近傍条件判定プ
ログラム310を実行し,次に文脈条件判定プログラム
320,さらに次は論理条件判定プログラム330を実
行し,近傍条件判定プログラム310に戻るような順序
に複合条件プログラムの切替えを行う。また,スケジュ
ーラ340における複合条件プログラムを切り換えるタ
イミングは,n個の照合ターム情報処理する毎やn件文
書を処理する毎などにすることも可能である。これはス
ケジューラ340のプログラムの切替え処理時間との兼
ね合いで定めることになる。もし,頻繁に切り替えると
プログラムの切替え時間が複合条件プログラムの実行処
理時間に対し,大きな割合を占めるようになるため,数
百〜数千の照合情報,もしくは数十から数百文書でプロ
グラムを切り替えるのが効果的である。以上のように複
合条件判定回路300bを構成することにより,第1の
実施例よりも処理速度では劣るものの,1つのマイクロ
コンピュータで近傍条件判定プログラム310,文脈条
件判定プログラム320,および論理条件判定プログラ
ム330などの複合条件判定処理を実現できるため,コ
ストの低い文書検索装置を実現することができる。
【0109】次に本発明の第4の実施例について図28
を用いて説明する。本実施例では複合条件判定回路30
0cにおける,近傍条件判定プログラム310および文
脈条件判定プログラム320の2つの複合条件判定プロ
グラムを1つのマイクロコンピュータに載せ,これらの
複合条件を切り換えて順番に処理させることにより,近
傍条件および文脈の2つの複合条件判定処理を実現させ
ることを目的としている。また,論理条件判定プログラ
ム330は,別のマイクロコンピュータMPUb303
に搭載する。本実施例の複合条件判定回路300cは,
処理速度では第1の実施例に劣るが,2つのマイクロコ
ンピュータで実現できるためコストを抑えることができ
るという効果が得られる。本実施例は文字列照合回路2
00と複合条件判定回路300cからなり,複合条件判
定回路300cは,マイクロコンピュータMPUa30
5およびマイクロコンピュータMPUb303と文字列
照合回路200とのデータの受渡しを行うバッファ35
0,370から構成される。
【0110】マイクロコンピュータMPUaには,近傍
条件判定プログラム310および文脈条件判定プログラ
ム320の2つの複合条件判定プログラムと,これらの
プログラムを切り替えるスケジューラ341が搭載され
ている。ここでバッファ360はプログラムのワークエ
リアとして確保されるが,プログラムによりファースト
イン・ファーストアウト(FIFO)メモリとして使用
することにより,第1の実施例と同様の機能を得ること
ができる。 スケジューラ341では,まず近傍条件判
定プログラム310を実行し,次に文脈条件判定プログ
ラム320を実行し,その後で近傍条件判定プログラム
310に戻るような順序に複合条件プログラムの切替え
を行う。また,スケジューラ341における複合条件プ
ログラムを切り換えるタイミングは,n個の照合ターム
情報を処理する毎やn文書を処理する毎などにする。こ
れはスケジューラ341のプログラムの切替え処理時間
との兼ね合いで定めることになる。もし,頻繁に切り替
えるとプログラムの切替え時間が複合条件処理プログラ
ムの実行時間に対し,大きな割合を占めるようになるた
め,数百〜数千の照合情報,もしくは数十から数百文書
でプログラムを切り替えるのが効果的である。以上のよ
うに複合条件判定回路300cを構成することにより,
第1の実施例よりも処理速度では劣るが,2つのマイク
ロコンピュータで,近傍条件判定プログラム310,文
脈条件判定プログラム320,および論理条件判定プロ
グラム330などの複合条件判定処理を実現できるた
め,コストを抑えた比較的高速な文書検索装置を提供す
ることができる。
【0111】次に本発明の第5の実施例について図29
を用いて説明する。本実施例では,第4の実施例におい
て複合条件のうち1つの条件しか設定されない場合でも
常に2つのマイクロプロセッサによる複合条件のパイプ
ライン処理を行うという欠点を,与えられた検索条件に
使用されていない複合条件がある場合にはその複合条件
判定プログラムをバイパスすることにより解決し,処理
効率の良い複合条件判定回路300dを提供することを
目的としている。本実施例は文字列照合回路200と複
合条件判定回路300dからなり,複合条件判定回路3
00dは,マイクロコンピュータMPUa305および
マイクロコンピュータMPUb303と文字列照合回路
200とのデータの受渡しを行うバッファ350と37
0,さらにマルチプレクサ391と392およびセレク
タ380と381から構成される。
【0112】本実施例の特徴である複合条件判定回路の
バイパス機能について述べる。本機能は指定された検索
条件式で使用されていない複合条件判定プログラムが搭
載されているマイクロプロセッサをマルチプレクサやセ
レクタを用いてバイパスすることにより,使用する複合
条件判定プログラムが搭載されているマイクロプロセッ
サのみを実行させる機能である。例えば検索条件式“文
書[4C]理解”が指定された場合には,近傍条件のみ
が使用されるため,文字列照合回路200から得た照合
情報205をバッファ350経由で近傍条件判定プログ
ラム310および文脈条件判定プログラム320に入力
し,これから出力されて照合情報をバッファ370経由
で直接複合条件判定結果206として送出するようにす
る。また,検索条件式“理解[AND]システム”が指
定された場合には,論理条件が使用されているため,文
字列照合回路200から得た照合情報205をバッファ
350経由で直接,論理条件判定プログラム330に入
力し,この論理条件判定プログラム330から出力され
る照合情報を複合条件判定結果206として送出するよ
うにする。
【0113】このような複合条件判定プログラムのバイ
パス機能の具体的な実現方法について説明する。このよ
うな動作はマルチプレクサ391と392とセレクタ3
80と381の設定により実現する。この設定情報は第
2図の検索制御手段101からの検索制御情報202と
して与えられる。マルチプレクサ391では,文字列照
合回路200からの照合情報205を,a2が指定され
た場合には論理条件判定プログラム330へ送出するこ
とになる。また,b2が指定された場合には,文字列照
合回路200からの照合情報205を近傍条件判定プロ
グラム310へ送出し,さらにc2が指定された場合に
は複合条件回路300の出力として直接送出することに
なる。マルチプレクサ392では文脈条件判定プログラ
ム320の出力を,a3が指定された場合には論理条件
判定プログラム330へ,b3が指定された場合には複
合条件判定結果206として送出する。
【00114】セレクタ380では論理条件判定プログ
ラム330の入力の選択を行い,マルチプレクサ391
にa2が設定されたときはX1を,すなわち文字列照合
回路200の照合結果205を選択し,マルチプレクサ
392にa3が設定されたときはY1を,すなわち文脈
条件判定プログラム320の出力を選択することにな
る。セレクタ381では複合条件判定結果206の選択
を行い,マルチプレクサ391にc2が設定されたとき
はX2を,すなわち文字列照合回路200の照合結果2
05を選択し,マルチプレクサ392がb3に設定され
たときはY2を,すなわち文脈条件判定プログラム32
0の出力を選択し,それ以外の場合はZ2を,すなわち
論理条件判定プログラム330の出力を選択する。以上
述べたように,セレクタ380と381の設定は,マル
チプレクサ391と392の設定に応じて行うことにな
る。
【0115】複合条件の組合せにより,以下のようにマ
ルチプレクサの選択を行うことになる。 (1)複合条件なし ───────── c2のみを選択 (2)論理条件のみ ───────── a2のみを選択 (3)近傍条件と文脈条件 ────── b2とb3を選択 (4)近傍条件と文脈条件と論理条件 ─ b2とa3を選択 以上のように,検索制御手段101からの検索制御情報
202として与えられたマルチプレクサ391と392
およびセレクタ381と382の設定情報に基づき,近
傍条件判定プログラム310,文脈条件判定プログラム
320,および論理条件判定プログラム330などの複
合条件判定プログラムをマルチプレクサ391と392
およびセレクタ380と381を用いて選択的に接続す
ることにより,第4の実施例が複合条件の内1つの条件
しか設定されない場合には1つのマイクロプロセッサし
か使用されないにもかかわらず,常に2つマイクロプロ
ッセサにより複合条件のパイプライン処理を行うという
欠点を解決し,効率の良い複合条件判定処理を実現する
ことが可能となり,比較的低コストで且つ比較的高速な
文書検索装置を実現することができる。
【0116】次に本発明の第6の実施例について図30
を用いて説明する。本実施例では複合条件判定回路30
0eにおける,文脈条件判定プログラム320および論
理条件判定プログラム330の2つの複合条件判定プロ
グラムを1つのマイクロコンピュータに搭載し,これら
の複合条件を切り換えて順番に処理させることにより,
文脈条件および論理条件の2つの複合条件判定処理を1
つのマイクロコンピュータで実現することを目的として
いる。また,近傍条件判定プログラム310は,別のマ
イクロコンピュータに受け持たせる。本実施例の複合条
件判定回路300eは,処理速度では第1の実施例に劣
るが,2つのマイクロコンピュータで実現できるため比
較的高性能を維持してコストを抑えることができるとい
う効果が得られる。
【0117】本実施例は文字列照合回路200と複合条
件判定回路300eからなり,複合条件判定回路300
eは,マイクロコンピュータMPUa301およびマイ
クロコンピュータMPUb306と文字列照合回路20
0とのデータの受渡しを行うバッファ350,360か
ら構成される。マイクロコンピュータMPUa306に
は,文脈条件判定プログラム320および論理条件判定
プログラム330の2つの複合条件判定プログラムと,
これらのプログラムを切り替えるスケジューラ342が
搭載されている。ここでバッファ370はプログラムの
ワークエリアに確保されるが,プログラムでファースト
イン・ファーストアウト(FIFO)メモリとして使用
することにより,第1の実施例と同様の機能を得ること
ができる。スケジューラ342では,まず文脈条件判定
プログラム320を実行し,次に論理条件判定プログラ
ム330を実行し,その後で文脈条件判定プログラム3
20に戻るというような順序に複合条件プログラムの切
替えを行う。また,スケジューラ342における複合条
件プログラムを切り換えるタイミングは,n個の照合タ
ーム情報を処理する毎やn件の文書を処理する毎などに
することも可能である。これはスケジューラ342のプ
ログラムの切替え処理時間との兼ね合いで定めることに
なる。もし,頻繁に切り替えるとプログラムの切替え時
間が複合条件処理プログラムの実行時間に対し,大きな
割合を占めるようになるため,数百〜数千の照合情報,
もしくは数十から数百文書でプログラムを切り替えるの
が効果的である。以上のように複合条件判定回路300
eを構成することにより,第1の実施例よりも処理速度
では劣るが,2つのマイクロコンピュータで,近傍条件
判定プログラム310,文脈条件判定プログラム32
0,および論理条件判定プログラム330などの複合条
件判定処理を行うため,低コストで比較的高速な文書検
索装置を実現することができる。
【0118】次に本発明の第7の実施例について図31
を用いて説明する。本実施例では,第6の実施例におい
て複合条件のうち1つの条件しか設定されない場合でも
常に2つのマイクロプロセッサによる複合条件のパイプ
ライン処理を行うという問題点を,与えられた検索条件
に使用されていない複合条件がある場合にはその複合条
件判定プログラムをバイパスすることにより解決し,処
理効率の良い複合条件判定回路300fを実現すること
を目的としている。本実施例は文字列照合回路200と
複合条件判定回路300fからなり,複合条件判定回路
300fは,マイクロコンピュータMPUa301およ
びマイクロコンピュータMPUb306と文字列照合回
路200とのデータの受渡しを行うバッファ350と3
60,さらにマルチプレクサ391と392およびセレ
クタ380と381から構成される。
【0119】本実施例の特徴である複合条件判定回路の
バイパス機能について述べる。本機能は指定された検索
条件式に使用されてない複合条件判定プログラムが搭載
されているマイクロプロセッサをマルチプレクサやセレ
クタを用いてバイパスすることにより,使用する複合条
件判定プログラムが搭載されているマイクロプロセッサ
のみを実行させる機能である。例えば検索条件式“文書
[4C]理解”が指定された場合には,近傍条件のみが
使用されるため,文字列照合回路200から得た照合情
報205をバッファ350経由で近傍条件判定プログラ
ム310に入力し,この出力の照合情報をバッファ37
0経由で直接複合条件判定結果206として送出する。
また,検索条件式“理解[AND]システム”が指定さ
れた場合には,論理条件が使用されているため,文字列
照合回路200から得た照合情報205をバッファ35
0経由で直接,文脈条件判定プログラム320に入力
し,さらにバッファ370を経由し論理条件判定プログ
ラム330に入力し,この論理条件判定プログラム33
0の出力の照合情報を複合条件判定結果206として送
出する。
【0120】このような複合条件判定回路のバイパス機
能の具体的な実現方法について説明する。このような動
作はマルチプレクサ391と392とセレクタ380と
381の設定により実現される。この設定情報は第2図
の検索制御手段101からの検索情報202として与え
られる。マルチプレクサ391では,文字列照合回路2
00からの照合情報205の出力を,a2が指定された
場合には文脈条件判定プログラム320へ,b2が指定
された場合には近傍条件判定プログラム310へ,c2
が指定された場合には複合条件回路300の出力として
直接送出することになる。マルチプレクサ392では近
傍条件判定プログラム310の出力を,a3が指定され
た場合には文脈条件判定プログラム320へ,b3が指
定された場合には複合条件判定結果206として送出す
ることになる。
【0121】セレクタ380では文脈条件判定プログラ
ム320の入力の選択を行い,マルチプレクサ391に
a2が設定されたときはX1を,すなわち文字列照合回
路200の照合結果205を選択し,マルチプレクサ3
92にa3が設定されたときはY1を,すなわち近傍条
件判定プログラム310の出力を選択する。セレクタ3
81では複合条件判定結果206の選択を行い,マルチ
プレクサ391にc2が設定されたときはX2を,すな
わち文字列照合回路200の照合結果205を選択し,
マルチプレクサ392がb3に設定されたときはY2
を,すなわち近傍条件判定プログラム310の出力を選
択し,それ以外の場合はZ2を,すなわち論理条件判定
プログラム330の出力を選択する。
【0122】以上述べたように,セレクタ380と38
1の設定は,マルチプレクサ391と392の設定に応
じて行うことになる。すなわち複合条件の組合せによ
り,以下のようにマルチプレクサの選択を行うことにな
る。 (1)複合条件なし ───────── c2のみを選択 (2)近傍条件のみ ───────── b2とb3を選択 (3)文脈条件と論理条件 ────── a2のみを選択 (4)近傍条件と文脈条件と論理条件 ─ b2とa3を選択 以上のように,検索制御手段101からの検索制御情報
202として与えられたマルチプレクサ391と392
およびセレクタ381と382の設定情報に基づき,近
傍条件判定プログラム310,文脈条件判定プログラム
320,および論理条件判定プログラム330などの複
合条件判定プログラムをマルチプレクサ391と392
およびセレクタ380と381を用いて選択的に接続す
ることにより,第6の実施例が複合条件の内1つの条件
しか設定されない場合には1つのマイクロプロセッサし
か使用されないにもかかわらず,常に2つマイクロプロ
ッセサにより複合条件のパイプライン処理を行うという
欠点を解決し,効率の良い複合条件判定処理を実現する
ことが可能となり,コストを抑えた比較的高速な文書検
索装置を提供することができる。
【0123】次に本発明の第8の実施例について図32
を用いて説明する。第1の実施例では,文字列照合回路
200から出力される照合情報の中に近傍条件の処理対
象にならない文脈識別文字列,すなわち文脈マーカーの
照合情報も入っているため,近傍条件判定プログラム3
10では文脈マーカーの照合情報についても近傍条件判
定処理を実施することになり,近傍条件判定の処理速度
が落ちるという問題がある。本実施例では上記問題点を
解決する複合条件判定方法として,文脈マーカーの照合
情報のみを格納するバッファ380を設け,近傍条件判
定処理をバイパスし文脈マーカーの照合情報が必要な文
脈条件判定プログラム320に入力することにより高速
な複合条件判定処理が可能な複合条件判定回路300g
を実現することが目的である。
【0124】本実施例は文字列照合回路200と複合条
件判定回路300gからなり,複合条件判定回路300
gは,マイクロコンピュータMPUa301,マイクロ
コンピュータMPUb302aおよびマイクロコンピュ
ータMPUc303とこれらの間のデータの受渡しを行
うバッファ350,360,370および380,さら
にマルチプレクサ710,文脈マーカー検出器720か
ら構成される。マルチプレクサ710は通常はポートa
を選択し,文字列照合回路200から送られる照合情報
205を近傍条件判定プログラム310の入力となるバ
ッファ350へ送出する。また,後述する文脈マーカー
検出器720から文脈マーカー検出信号721が送られ
るとマルチプレクサ710ではポートbを選択し,後述
するソートマージプログラム730の入力となるバッフ
ァ380へ送出する。すなわち,文脈マーカーの照合情
報はバッファ380へ送出されることになる。さらに,
後述する文脈マーカー検出器720から文書識別情報検
出信号722が送られるとマルチプレクサ710ではポ
ートaとポートbの両方を選択し,バッファ350とバ
ッファ380へ同時に送出する。すなわち,文書識別情
報はバッファ350とバッファ380の両方へ送出され
ることになる。
【0125】文脈マーカー検出器720では,文字列照
合回路200の出力を参照して,文脈マーカーの照合情
報か否かを判定する。すなわち,照合情報の照合情報識
別子があらかじめ定められた文脈マーカーの照合情報識
別子と同じもので,且つ先頭位置情報と末尾位置情報と
も0(ゼロ)でないということであれば,文脈マーカー
であると判定する。また,先頭位置情報と末尾位置情報
とが共に0(ゼロ)であれば,文書識別情報であると判
定する。文脈マーカー検出器720は,文書識別情報検
出用のコンパレータ,文脈マーカーの照合ターム情報識
別用の2つのコンパレータ,文脈マーカーの識別子格納
用のレジスタ,および0(ゼロ)を格納するレジスタか
ら構成される。まず,文書識別情報検出用のコンパレー
タは,照合情報の位置情報が0かどうかを調べ,0の場
合には文書識別情報検出信号722を出力する。すなわ
ち,0が格納されているレジスタと照合情報の位置情報
を比較し,等しい場合に文書識別情報検出信号722を
出力することになる。次に,文脈マーカーの照合ターム
情報識別用のコンパレータは,文脈マーカーの照合ター
ム情報識別子かどうかを調べるコンパレータと,今調べ
ている照合情報が照合ターム情報かどうかを調べるコン
パレータを用意する。ここで,これらの両方のコンパレ
ータから成立信号が出力された場合にのみ文脈マーカー
検出信号721を出力する。文脈マーカーの照合ターム
情報識別子かどうかを調べるコンパレータでは,照合情
報の照合情報識別子が文脈マーカーの識別子と同じ場
合,すなわち照合情報の照合情報識別子と文脈マーカー
の識別子格納用のレジスタとを比較し,等しい場合に成
立信号を出力する。照合ターム情報かどうかを調べるコ
ンパレータでは,照合情報の位置情報が0でない場合,
すなわち照合情報の位置情報と0が格納されているレジ
スタとを比較し,等しくない場合に成立信号を出力す
る。以上のように,文脈マーカー検出器720を構成す
る。
【0126】文脈マーカーの照合情報が文脈マーカー検
出器720に入力された場合,マルチプレクサ710に
文脈マーカー検出信号721を出力する。これに応じ
て,マルチプレクサ710では,文字列照合回路200
から送られた照合情報205の送出先をバッファ350
からバッファ380へ切り替えることになる。文書識別
情報であればマルチプレクサ710に文書識別情報検出
信号722を出力する。これに応じて,マルチプレクサ
710では,文字列照合回路200から送られた照合情
報205の送出先をバッファ350とバッファ380の
両方に設定する。
【0127】マイクロコンピュータ302aでは,ソー
トマージプログラム730と文脈条件判定プログラム3
20とこれらを制御するスケジューラ342が実行され
る。ソートマージプログラム730ではバッファ360
に格納された近傍条件判定プログラム310の出力とし
ての照合情報と,バッファ380に格納された文脈マー
カー照合情報とを,末尾位置情報の昇順にマージする。
すなわち,バッファ360とバッファ380から各々照
合情報を1つずつ読み込み,これらの末尾位置情報を比
較する。そして,バッファ360から読み込んだ照合情
報の末尾位置情報がバッファ380から読み込んだ照合
情報の末尾位置情報より小さい場合には,バッファ36
0から読み込んだ照合情報をバッファ390へ先に出力
し,次はバッファ360から照合情報を読み込み,同様
に先程のバッファ380から読み込んだ照合情報と比較
し,小さい方をバッファ390へ出力する。逆にバッフ
ァ380の照合情報の末尾位置情報がバッファ360の
照合情報の末尾位置情報より小さい場合はバッファ38
0の照合情報をバッファ390へ出力し,次はバッファ
380から照合情報を読込み,同様に先程のバッファ3
60から読み込んだ照合情報と比較し,小さい方をバッ
ファ390へ出力する。また,文書識別情報はバッファ
360から読み込んだもののみをバッファ390に出力
し,バッファ380から読み込んだ文書識別情報はバッ
ファ390に出力しない。さらに,ここで行うソートマ
ージは文書毎に処理を行う。
【0128】これらの処理を行うことによりバッファ3
90には,バッファ360とバッファ380の照合情報
が末尾位置情報でソートマージされることになり,第1
の実施例における近傍条件判定プログラム310の出力
した照合情報と同様のものが格納されることになる。ス
ケジューラ343における,プログラムの切替え順序
は,まずソートマージプログラム730を実行し,次に
文脈条件判定プログラム320を実行し,ソートマージ
プログラム730に戻るような順序にプログラムの切替
えを行う。また,スケジューラ343におけるプログラ
ムを切り換えるタイミングは,n個の照合ターム情報処
理する毎やn件文書を処理する毎などにすることも可能
である。これはスケジューラ343のプログラムの切替
え処理時間との兼ね合いで定めることになる。もし,頻
繁に切り替えるとプログラムの切替え時間がプログラム
の実行処理時間に対し,大きな割合を占めるようになる
ため,数百〜数千の照合情報,もしくは数十から数百文
書でプログラムを切り替えるのが効果的である。以上の
ように複合条件判定回路300gを実現することにより
近傍条件判定処理に必要のない文脈マーカーの照合情報
を近傍条件判定プログラム310をバイパスすることが
可能となり,第1の実施例より高速な文書検索装置が実
現できる。
【0129】次に本発明の第9の実施例について図33
を用いて説明する。本実施例は第8の実施例と同様に,
文字列照合回路200から出力される照合情報の中に近
傍条件の処理対象にならない文脈マーカーの照合情報も
入っているため,近傍条件判定プログラム310では文
脈マーカーの照合情報についても近傍条件判定処理を実
施することになり,近傍条件判定の処理速度が落ちると
いう第1の実施例の問題点を,文脈マーカーの照合情報
のみを格納するバッファを設け,近傍条件判定処理をバ
イパスし文脈マーカーの照合情報が必要な文脈条件判定
プログラム320のみに入力することにより高速な複合
条件判定処理が行える複合条件判定回路300hを実現
することが目的である。
【0130】本実施例が第8の実施例と異なるのは,文
脈マーカー検出専用に文脈マーカー用文字列照合回路2
00aを設けた点である。第8の実施例では文脈マーカ
ーを含む検索タームを全て文字列照合回路200に設定
するため,文字列照合回路200に設定する検索ターム
数が多くなるという問題がある。さらには文字列照合回
路200の許容する検索ターム数を超えてしまう場合も
出てくる。また,文脈マーカーの検索タームは1度設定
すれば済むものであるのに対して,第8の実施例のよう
に検索条件が与えられる度に文脈マーカーの検索ターム
も再設定すると,検索情報202の作成時間および設定
時間が長くなるという問題点も生じる。
【0131】本実施例は文字列照合回路200と文脈マ
ーカー用文字列照合回路200a,および複合条件判定
回路300hから構成される。複合条件判定回路300
hは,マイクロコンピュータMPUa301,マイクロ
コンピュータMPUb302aおよびマイクロコンピュ
ータMPUc303とこれらの間のデータの受渡しを行
うバッファ350,360,370および380から構
成される。文脈マーカー用文字列照合回路200aの構
成は文字列照合回路200と同様であり,文脈マーカー
用文字列照合回路200aには文脈マーカーを検索ター
ムとして設定し,文字列照合回路200には文脈マーカ
ー以外の検索タームを設定する。また,検索制御手段1
01では,文字列照合回路200には検索条件が与えら
れる度に検索情報202を設定するが,文脈マーカー用
文字列照合回路200aは本検索装置の立上時に1度だ
け設定する。
【0132】本実施例の処理手順を具体例で説明する。
まず,文字列照合回路200と文脈マーカー用文字列照
合回路200aの動作を具体例で説明する。(7−1)
に示した式 “Q=((文書[4C]理解)[S]システム)[AND]
(文書[S]検索)” を例に用いて説明する。各複合条件判定プログラムには
検索制御手段101で解析され,各条件に分離された条
件式が設定される。本例では検索制御手段101より文
字列照合回路200には,T1:文書”,“T2:理
解”,“T3:検索”,および“T4:システム”の4
つが検索タームとして設定され,文脈マーカー用文字列
照合回路200aには,“S1:。”が検索タームとし
て設定される。
【0133】今,(7−2)に示した文書 “・・・。文書理解を用いた検索システムである。・・
・・” が入力されたとすると,文字列照合回路200からは以
下の照合情報(13−1)〜(13−5)が照合情報2
05としてバッファ350へ出力される。 (D1, 0, 0) (13−1) (T1,31,32) (13−2) (T2,33,34) (13−3) (T3,39,40) (13−4) (T4,41,44) (13−5) また,文脈マーカー用文字列照合回路200aからは以
下の文脈マーカーの照合情報(12−1)〜(12−
3)が照合情報205aとしてバッファ380へ出力さ
れる。 (D1, 0, 0) (12−1) (S1,30,30) (12−2) (S1,48,48) (12−3) 上記のバッファ360,380の照合情報は第8の実施
例と同じように,近傍条件判定プログラム310,ソー
トマージプログラム730,文脈条件判定プログラム3
20,および論理条件判定プログラム330により処理
される。以上のように文脈マーカー検出専用の文字列照
合回路200aを設けることにより,近傍条件判定処理
に必要のない文脈マーカーの照合情報を近傍条件判定プ
ログラム310をバイパスすることが可能となり,さら
に第8の実施例よりも文脈マーカーに関する検索情報2
02の作成時間および設定時間が少なくて済むため,第
1の実施例より高速な文書検索装置が実現できる。
【0134】次に本発明の第10の実施例について図3
4を用いて説明する。本実施例は第1の実施例の複合条
件判定回路300では,マイクロコンピュータMPUa
301,マイクロコンピュータMPUb302,および
マイクロコンピュータMPUc303のデータの受渡し
に使用しているバッファ360およびバッファ370に
ファーストイン・ファーストアウト(FIFO)メモリ
という特殊なメモリを使用しているため,メモリ容量当
りのコストが高く掛かるという問題点がある。本実施例
では,この代りに一般のメモリを使用することにより低
コストの複合条件判定回路300iを実現することを目
的としている。
【0135】本実施例はマイクロコンピュータMPUa
301,マイクロコンピュータMPUb302,マイク
ロコンピュータMPUc303,バッファ350,バス
630,および共有メモリ620から構成される。ま
た,マイクロコンピュータMPUa301では近傍条件
判定プログラム310が,マイクロコンピュータMPU
b302では文脈条件判定プログラム320が,マイク
ロコンピュータMPUc303では論理条件判定プログ
ラム330が実行される。
【0136】共有メモリ620は近傍条件判定プログラ
ム310,文脈条件判定プログラム320,および論理
条件判定プログラム330のデータの受渡しに使用す
る。すなわち,近傍条件判定プログラム310と文脈条
件判定プログラム320とのデータの受渡しには共有メ
モリ620内のバッファ360aが,文脈条件判定プロ
グラム320と論理条件判定プログラム330とのデー
タの受渡しにはバッファ370aがそれぞれ使用され
る。バッファ360aとバッファ370aは,近傍条件
判定プログラム310,文脈条件判定プログラム32
0,および論理条件判定プログラム330においてプロ
グラムでファーストイン・ファーストアウト(FIF
O)メモリとして使用することにより,それぞれバッフ
ァ360とバッファ370と同様の機能を得ることが可
能である。
【0137】本実施例の複合条件判定処理の動作につい
て説明する。文字列照合回路200の照合結果は照合情
報205としてバッファ350に送出される。バッファ
350に格納された照合情報は近傍条件判定プログラム
310で処理され判定結果は共有メモリ620内のバッ
ファ360aに格納される。次にバッファ360aに照
合情報が格納されると文脈条件判定プログラム320が
実行され,文脈条件判定プログラム320の判定結果は
共有メモリ620内のバッファ370aに格納される。
さらにバッファ370aに照合情報が格納されると論理
条件判定プログラム330が実行され,論理条件判定プ
ログラム330の判定結果は複合条件判定結果206と
して送出される。以上のように,複合条件判定回路30
0iを実現することにより,FIFOメモリの替わりに
低コストの通常のメモリをバッファ360a,370a
に使用することが可能となり,低コストの安い文書検索
装置を実現することができる。
【0138】最後に本発明の第11の実施例について図
35を用いて説明する。第1の実施例の複合条件判定回
路300では,マイクロコンピュータMPUa301,
マイクロコンピュータMPUb302,およびマイクロ
コンピュータMPUc303間のデータの受渡しに使用
するバッファ360およびバッファ370にファースト
イン・ファーストアウト(FIFO)メモリという特殊
なメモリを使用しているため,メモリ容量当りのコスト
が高くつくという問題点がある。本実施例ではこのFI
FOメモリの代りに,一般のメモリを使用することによ
り低コストの複合条件判定回路300jを実現すること
を目的としている。また,第10の実施例では,共有メ
モリ620を3つのマイクロプロセッサで時分割でアク
セスするため,各プロセッサが同じ回数のメモリアクセ
スを行うとすると,メモリのアクセス回数は3倍になり
処理速度がメモリのアクセスネックになるという問題が
ある。これに対して本実施例では,各プロセッサ間に一
般のメモリを使用したバッファを2面設けることにより
解決することを目的としている。
【0139】本実施例はマイクロコンピュータMPUa
301,マイクロコンピュータMPUb302,マイク
ロコンピュータMPUc303,バッファ350,バッ
ファ360bおよびバッファ370bから構成される。
また,マイクロコンピュータMPUa301では近傍条
件判定プログラム310が,マイクロコンピュータMP
Ub302では文脈条件判定プログラム320が,マイ
クロコンピュータMPUc303では論理条件判定プロ
グラム330が実行される。
【0140】バッファ360bは近傍条件判定プログラ
ム310と文脈条件判定プログラム320のデータの受
渡しに使用され,バッファ370bは文脈条件判定プロ
グラム320と論理条件判定プログラム330のデータ
の受渡しに使用されている。バッファ360bでは,マ
ルチプレクサ630,セレクタ631,メモリ622,
623,バス640,641,および通信メモリ624
から構成されている。バッファ370bもバッファ36
0bと同様に構成される。2面バッファを構成するメモ
リ622とメモリ623は近傍条件判定プログラム31
0から文脈条件判定プログラム320への照合情報の受
渡しに使用される。近傍条件判定プログラム310がメ
モリ622に照合情報を出力している間,文脈条件判定
プログラム320はメモリ623から以前に近傍条件判
定プログラム310が出力した照合情報を読み込む。ま
た,近傍条件判定プログラム310がメモリ623に照
合情報を出力している間,文脈条件判定プログラム32
0はメモリ622から以前に近傍条件判定プログラム3
10が出力した照合情報を読み込む。通信メモリ624
は,メモリ622およびメモリ623のバッファの切り
替えのための制御情報の受渡しに使用される。
【0141】マルチプレクサ630は切り替え信号63
0aに0が設定されるとポートaを選択し,近傍条件判
定プログラム310の出力する照合情報がメモリ622
に格納される。切り替え信号630aに1が設定される
とポートbを選択し,近傍条件判定プログラム310の
出力する照合情報がメモリ623に格納される。セレク
タ631は切り替え信号631aに0が設定されるとポ
ートxが選択され,メモリ622から照合情報が文脈条
件判定プログラム320により読込まれる。切り替え信
号631aに1が設定されるとポートyが選択され,メ
モリ622から照合情報が文脈条件判定プログラム32
0により読込まれる。
【0142】以下,バッファ360bの2面バッファ方
式の動作の制御方法について説明する。まず,近傍条件
判定プログラム310が切り替え信号630aとして0
をマルチプレクサ630に送る,すなわち近傍条件判定
プログラム310から出力される照合情報をメモリ62
2に出力する。近傍条件判定プログラム310がメモリ
622に所定の量の照合情報を書き込み終えたとき通信
メモリ624を経由し,文脈条件判定プログラム320
にメモリ622が使用できることを知らせる。文脈条件
判定プログラム320はこれを受け,セレクタ631に
切り替え信号631aとして0を設定する。すなわち,
文脈条件判定プログラム320の入力としてメモリ62
2を選択することになり,メモリ622の照合情報を読
み込み文脈条件判定処理を行う。
【0143】次に,近傍条件判定プログラム310が切
り替え信号630aとして1をマルチプレクサ630に
送る。すなわち近傍条件判定プログラム310から出力
される照合情報をメモリ623に出力することになる。
近傍条件判定プログラム310がメモリ623に所定の
量の照合情報を書き込み終えたとき通信メモリ624を
経由し,文脈条件判定プログラム320にメモリ623
が使用できることを知らせる。文脈条件判定プログラム
320はこれを受け,セレクタ631に切り替え信号6
31aとして1を設定する。すなわち,文脈条件判定プ
ログラム320の入力としてメモリ623を選択するこ
とになり,メモリ623の照合情報を読み込み文脈条件
判定処理を行う。
【0144】その後再び,近傍条件判定プログラム31
0が切り替え信号630aとして0をマルチプレクサ6
30に送る。このとき,近傍条件判定プログラム310
がメモリ622に照合情報を書き込む場合,文脈条件判
定プログラム320からのメモリ622の読込み終了が
報告されるまで,近傍条件判定プログラム310はメモ
リ622への照合情報の書込みを待つことになる。この
ため文脈条件判定プログラム320においてメモリ62
2の読込みが終了したとき通信メモリ624を経由し,
メモリ622の読込みが終了したことを知らせる。この
ようにメモリ622およびメモリ623のバッファの切
替えを制御することにより,近傍条件判定プログラム3
10と文脈条件判定プログラム320とが同じメモリを
アクセスすることのない2面バッファ方式が実現され
る。文脈条件判定プログラム320と論理条件判定プロ
グラム330とのデータの受渡しに使用するバッファ3
70bもバッファ360bと同様のものを使用すること
ができる。以上のように,実現することにより,FIF
Oメモリの替わりに低コストの通常のメモリをバッファ
360b,370bを用いて複合条件判定回路300j
を構成することにより,低コストで,且つ高速な文書検
索装置を実現することができる。
【0145】
【発明の効果】以上のように本発明が提供する文書検索
方法および装置によれば,複合条件である近傍条件,文
脈条件,および論理条件を容易に判定することができ,
しかも高速に判定処理することが可能となり,フルテキ
ストサーチ特有の木目細かな検索を高速に実現する文書
検索装置を提供することができる。
【図面の簡単な説明】
【図1】本発明を用いた複合条件判定回路の説明図であ
る。
【図2】文書検索装置の説明図である。
【図3】複合条件の判定例の説明図である。
【図4】照合情報の説明図である。
【図5】複合条件の判定例の説明図である。
【図6】複合条件の判定例の説明図である。
【図7】複合条件の判定例の説明図である。
【図8】文書識別子検出回路の説明図である。
【図9】検索ターム長テーブルの説明図である。
【図10】位置情報付加回路の説明図である。
【図11】文書識別情報の説明図である。
【図12】照合ターム識別情報の説明図である。
【図13】照合情報の説明図である。
【図14】照合情報の説明図である。
【図15】近傍条件判定処理の説明図である。
【図16a】近傍条件判定処理の説明図の一部である。
【図16b】近傍条件判定処理の説明図の他部である。
【図17】近傍条件判定処理の説明図である。
【図18】文脈条件判定処理の説明図である。
【図19】文脈条件判定処理の説明図である。
【図20a】文脈条件判定処理の説明図の一部である。
【図20b】文脈条件判定処理の説明図の他部である。
【図21a】文脈条件判定処理の説明図の一部である。
【図21b】文脈条件判定処理の説明図の他部である。
【図22】文脈条件判定処理の説明図である。
【図23】論理条件判定処理の説明図である。
【図24a】論理条件判定処理の説明図の一部である。
【図24b】論理条件判定処理の説明図の他部である。
【図25】論理条件判定処理の説明図である。
【図26】本発明を用いた複合条件判定回路の説明図で
ある。
【図27】本発明を用いた複合条件判定回路の説明図で
ある。
【図28】本発明を用いた複合条件判定回路の説明図で
ある。
【図29】本発明を用いた複合条件判定回路の説明図で
ある。
【図30】本発明を用いた複合条件判定回路の説明図で
ある。
【図31】本発明を用いた複合条件判定回路の説明図で
ある。
【図32】本発明を用いた複合条件判定回路の説明図で
ある。
【図33】本発明を用いた複合条件判定回路の説明図で
ある。
【図34】プロセッサ間のバッファの説明図である。
【図35】プロセッサ間のバッファの説明図である。
【符号の説明】
101 検索制御手段 104 記憶装置制御手段 105 文字列記憶手段 200 文字列照合手段 300 複合条件判定手段 210 文書識別子検出回路 220 タームコンパレータ 230 文字数カウンタ 240 位置情報付加回路 250 検索ターム長テーブル 310 近傍条件判定プログラム 320 文脈条件判定プログラム 330 論利条件判定プログラム 350 バッファ 360 バッファ 370 バッファ 380 バッファ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 畠山 敦 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所 中央研究所内 (72)発明者 藤澤 浩道 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所 中央研究所内 (56)参考文献 特開 昭61−28132(JP,A) 特開 昭63−205762(JP,A) 特開 昭60−105039(JP,A) 特開 平3−125263(JP,A) 加藤寛次他,「大規模文書情報システ ム用テキストサーチマシンの研究」,情 報処理学会研究報告(89−FI−14)V ol.89 No.66,1989(平01−07− 27),p.1−8 菊池忠一他,「構成文字の属性/文字 位置を含むコード化による全文検索の高 速化手法」,電子情報通信学会技術研究 報告(DE90−24〜30)Vol.90 N o.362,p.1−7 (58)調査した分野(Int.Cl.7,DB名) G06F 17/30 G06F 17/24 JICSTファイル(JOIS)

Claims (11)

    (57)【特許請求の範囲】
  1. 【請求項1】 文字コードとして蓄積された文書データ
    ベースを対象として検索条件式中に指定された検索語を
    含む文書を検索する文書検索方法において、 文書中に指定検索語が照合された場合、該文書の識別子
    を含む文書識別情報と照合された検索語の識別子および
    該文書中における照合位置とを照合情報として出力する
    文字列照合ステップと、 該文字列照合ステップで出力された照合情報を基に前記
    検索条件式中に指定された検索語間の位置関係に関する
    検索条件を判定し、検索条件に合致したことを示す判定
    結果の照合情報を作成し検索結果として出力する複合条
    件判定ステップから構成されることを特徴とする文書検
    索方法。
  2. 【請求項2】 請求項1記載の文書検索方法における複
    合条件判定ステップとして、 検索条件式中に指定された検索語間の近接距離条件につ
    いて判定を行う近傍条件判定ステップを有することを特
    徴とする文書検索方法。
  3. 【請求項3】 請求項1記載の文書検索方法における複
    合条件判定ステップとして、 検索条件式中に指定された検索語の同一句、同一文、あ
    るいは同一段落内での共起条件について判定を行う文脈
    条件判定ステップを有することを特徴とする文書検索方
    法。
  4. 【請求項4】 請求項1記載の文書検索方法における複
    合条件判定ステップとして、 検索条件式中に指定された検索語間の論理条件について
    判定を行う論理条件判定ステップを有することを特徴と
    する文書検索方法。
  5. 【請求項5】 請求項1記載の文書検索方法における複
    合条件判定処理ステップとして、 検索条件式中に指定された検索語間の近接距離条件につ
    いて判定を行う近傍条件判定ステップと、 該検索条件式中に指定された該検索語の同一句、同一
    文、あるいは同一段落内での共起条件について判定を行
    う文脈条件判定ステップと、 該検索条件式中に指定された該検索語間の論理条件につ
    いて判定を行う論理条件判定ステップを有することを特
    徴とする文書検索方法。
  6. 【請求項6】 請求項5記載の文書検索方法において、 文字列照合ステップとして、文書中に指定検索語が照合
    された場合、該文書の識別子を含む文書識別子と照合さ
    れた検索語の識別子および該文書中における照合検索語
    の先頭文字位置と末尾文字位置を照合情報として出力
    し、文脈条件が指定され、文脈を識別する文字列が照合
    された場合、該文書の識別子と照合された文脈識別文字
    列の識別子および該文書中における該照合文脈識別文字
    列の先頭位置と末尾位置を照合情報として出力するとと
    もに、 複合条件判定ステップを構成する近傍条件判定ステッ
    プ、文脈条件判定ステップ、及び論理条件判定ステップ
    において、 近傍条件判定ステップでは前記文字列照合ステップで出
    力された照合情報に基づいて検索条件式に指定された検
    索語間の文字数で表した近接距離条件について判定を行
    い、条件に合致した前方に位置する検索語の先頭文字位
    置と後方に位置する検索語の末尾文字位置を判定結果の
    照合情報として、これを前記文字列照合ステップで出力
    された照合情報に付加して出力し、 文脈条件判定ステップでは前記近傍条件判定ステップで
    出力された照合情報に基づいて該検索条件式中に指定さ
    れた検索語の同一句、同一文、あるいは同一段落内での
    共起条件について判定を行い、条件に合致した前方に位
    置する文脈識別文字列の先頭文字位置と後方に位置する
    文脈識別文字列の末尾文字位置を照合情報として、これ
    を前記近傍条件判定ステップで出力された照合情報に付
    加して出力し、 論理条件判定ステップでは前記文脈条件判定ステップで
    出力された照合情報に基づいて該検索条件式中に指定さ
    れた該検索語間の論理条件について判定を行い、条件に
    合致した文書単位の照合情報を最終的な検索結果情報と
    して出力することを特徴とする文書検索方法。
  7. 【請求項7】 文字コードとして蓄積された文書データ
    ベースを対象として検索条件式中に指定された検索語を
    含む文書を検索する文書検索装置において、 文書中に指定検索語が照合された場合、該文書の識別子
    を含む文書識別情報と照合された検索語の識別子および
    該文書中における照合位置とを照合情報として出力する
    文字列照合手段と、 該文字列照合手段で出力された照合情報を基に前記検索
    条件式中に指定された検索語間の位置関係に関する検索
    条件を判定し、検索条件に合致したことを示す判定結果
    の照合情報を作成し検索結果として出力する複合条件判
    定手段から構成されることを特徴とする文書検索装置。
  8. 【請求項8】 請求項7記載の文書検索装置における複
    合条件判定手段として、 検索条件式中に指定された検索語間の近接距離条件につ
    いて判定を行う近傍条件判定手段を備えることを特徴と
    する文書検索装置。
  9. 【請求項9】 請求項7記載の文書検索装置における複
    合条件判定手段として、 検索条件式中に指定された検索語の同一句、同一文、あ
    るいは同一段落内での共起条件について判定を行う文脈
    条件判定手段を備えることを特徴とする文書検索装置。
  10. 【請求項10】 請求項7記載の文書検索装置における
    複合条件判定手段として、 検索条件式中に指定された検索語間の論理条件について
    判定を行う論理条件判定手段を備えることを特徴とする
    文書検索装置。
  11. 【請求項11】 請求項7記載の文書検索装置における
    複合条件判定処理手段として、 検索条件式中に指定された検索語間の文字数で表した近
    接距離条件について判定を行う近傍条件判定手段と、 該検索条件式中に指定された該検索語の同一句、同一
    文、あるいは同一段落内での共起条件について判定を行
    う文脈条件判定手段と、 該検索条件式中に指定された該検索語間の論理条件につ
    いて判定を行う論理条件判定手段を備えることを特徴と
    する文書検索装置。
JP8054791A 1990-08-09 1991-03-20 文書検索方法および装置 Expired - Fee Related JP3099298B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP8054791A JP3099298B2 (ja) 1991-03-20 1991-03-20 文書検索方法および装置
US08/517,722 US5757983A (en) 1990-08-09 1995-08-21 Document retrieval method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8054791A JP3099298B2 (ja) 1991-03-20 1991-03-20 文書検索方法および装置

Publications (2)

Publication Number Publication Date
JPH04293161A JPH04293161A (ja) 1992-10-16
JP3099298B2 true JP3099298B2 (ja) 2000-10-16

Family

ID=13721375

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8054791A Expired - Fee Related JP3099298B2 (ja) 1990-08-09 1991-03-20 文書検索方法および装置

Country Status (1)

Country Link
JP (1) JP3099298B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101762895B1 (ko) * 2015-06-30 2017-07-31 (주)엘더스티앤엘 철도공사용 하중지지장치

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06215041A (ja) * 1993-01-18 1994-08-05 Canon Inc 文書検索装置及びその方法
EP0645757B1 (en) * 1993-09-23 2000-04-05 Xerox Corporation Semantic co-occurrence filtering for speech recognition and signal transcription applications
JP2669601B2 (ja) * 1994-11-22 1997-10-29 インターナショナル・ビジネス・マシーンズ・コーポレイション 情報検索方法及びシステム
JPH08272782A (ja) * 1995-03-29 1996-10-18 Fuji Xerox Co Ltd 文書検索装置
JPH09319758A (ja) * 1996-05-29 1997-12-12 Chubu Nippon Denki Software Kk 文字列群検索装置
JP3627445B2 (ja) * 1997-06-04 2005-03-09 富士ゼロックス株式会社 文書検索装置及び文書検索プログラムを記録した記憶媒体
JP3275816B2 (ja) 1998-01-14 2002-04-22 日本電気株式会社 記号列検索方法及び記号列検索装置並びに記号列検索プログラムを記録した記録媒体
JP2001195416A (ja) * 2000-01-13 2001-07-19 Scripts Lab Inc 複数のキーワードによる絞り込み検索方法および絞り込み検索装置および絞り込み検索のプログラムを記録した記憶媒体
US6963865B2 (en) * 2001-04-05 2005-11-08 International Business Machines Corporation Method system and program product for data searching
WO2004061712A1 (ja) * 2002-12-27 2004-07-22 Fujitsu Limited 照合装置
JP4715204B2 (ja) * 2004-03-31 2011-07-06 カシオ計算機株式会社 情報表示制御装置及びプログラム
JP2005339150A (ja) * 2004-05-26 2005-12-08 Mitsubishi Electric Corp 文書検索装置
JP2006163723A (ja) * 2004-12-06 2006-06-22 Hitachi Software Eng Co Ltd ドキュメント検索方法
JP5043209B2 (ja) * 2011-03-04 2012-10-10 楽天株式会社 集合拡張処理装置、集合拡張処理方法、プログラム、及び、記録媒体
CN110276071B (zh) * 2019-05-24 2023-10-13 众安在线财产保险股份有限公司 一种文本匹配方法、装置、计算机设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
加藤寛次他,「大規模文書情報システム用テキストサーチマシンの研究」,情報処理学会研究報告(89−FI−14)Vol.89 No.66,1989(平01−07−27),p.1−8
菊池忠一他,「構成文字の属性/文字位置を含むコード化による全文検索の高速化手法」,電子情報通信学会技術研究報告(DE90−24〜30)Vol.90 No.362,p.1−7

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101762895B1 (ko) * 2015-06-30 2017-07-31 (주)엘더스티앤엘 철도공사용 하중지지장치

Also Published As

Publication number Publication date
JPH04293161A (ja) 1992-10-16

Similar Documents

Publication Publication Date Title
US5757983A (en) Document retrieval method and system
JP3099298B2 (ja) 文書検索方法および装置
US6237127B1 (en) Static timing analysis of digital electronic circuits using non-default constraints known as exceptions
US5408626A (en) One clock address pipelining in segmentation unit
US6112288A (en) Dynamic configurable system of parallel modules comprising chain of chips comprising parallel pipeline chain of processors with master controller feeding command and data
US6718403B2 (en) Hierarchical selection of direct and indirect counting events in a performance monitor unit
AU643432B2 (en) Improved CPU pipeline having register file bypass on update/access address compare
JP2777535B2 (ja) スーパースカラ・プロセッサ・システムにおける中間記憶バッファの割当てをインデックスする方法およびシステム
JPH0778738B2 (ja) ディジタル・コンピュータ・システム
KR20010070435A (ko) 1차 및 2차 송출큐를 갖는 마이크로프로세서
EP1462934A1 (en) Method and apparatus for forwarding of results
US6021407A (en) Partitioning and sorting logical units of data prior to reaching an end of the data file
CN101046740A (zh) 用于按需临时寄存器重命名的方法和系统
JPH11272464A (ja) 投機的境界不整列ロ―ド操作方法及び装置
JPH07210381A (ja) プロセッサ及びコンピュータ・システム
US5053986A (en) Circuit for preservation of sign information in operations for comparison of the absolute value of operands
US6021467A (en) Apparatus and method for processing multiple cache misses to a single cache line
JP3213244B2 (ja) データ圧縮方法およびデータ処理システム
KR100402820B1 (ko) 기본 블럭 캐쉬를 이용하는 마이크로프로세서
US5274793A (en) Automatic logic generation method for pipeline processor
EP0488297B1 (en) Symbol string search apparatus and system
US6240507B1 (en) Mechanism for multiple register renaming and method therefor
JPS5868286A (ja) キヤツシユメモリおよびその作動方法
US5878242A (en) Method and system for forwarding instructions in a processor with increased forwarding probability
US5163157A (en) Pipeline computer with bypass route for returning data to request source

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070818

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20080818

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20080818

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090818

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100818

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees