JP2961888B2 - 用語辞書による文書検索システム - Google Patents

用語辞書による文書検索システム

Info

Publication number
JP2961888B2
JP2961888B2 JP2339176A JP33917690A JP2961888B2 JP 2961888 B2 JP2961888 B2 JP 2961888B2 JP 2339176 A JP2339176 A JP 2339176A JP 33917690 A JP33917690 A JP 33917690A JP 2961888 B2 JP2961888 B2 JP 2961888B2
Authority
JP
Japan
Prior art keywords
character string
search
term dictionary
memory
document
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 - Lifetime
Application number
JP2339176A
Other languages
English (en)
Other versions
JPH04205561A (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.)
NEC Corp
Original Assignee
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP2339176A priority Critical patent/JP2961888B2/ja
Publication of JPH04205561A publication Critical patent/JPH04205561A/ja
Application granted granted Critical
Publication of JP2961888B2 publication Critical patent/JP2961888B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、電子化される学術論文や雑誌の特許や新聞
や各種文書の中のテキスト情報を自然言語の用語文字列
によって検索するために用語辞書による文書検索システ
ムに関する。
(従来の技術) 上記の文書検索システムは電子情報処理機器が広範囲
に普及するこれからの情報化社会で欠かせないものとな
る。文書情報が電子的に大量に生産可能になる時代に
は、いかに不要情報を高速に整理するかが第1の課題と
なる。すなわち、電子的情報は、人間が目で内容を確か
める事ができないほどに増加すると、その中から必要な
情報を捜し出すことがかえって難しくなる。そのために
は、必要になりそうな文書情報を必要となりそうな場面
と関連付けてファイルメモリに記憶すること、必要な場
面に直面したときにファイルメモリから必要文書情報を
読み出せることが求められる。また、電子的な文書情報
の大量生産時代においては、情報検索を行なうことによ
って知りたい知識が何であるかを知ることが第2の課題
となる。
従来は、文書情報をファイル記憶する前に、文書にキ
ーワードを付加し、キーワードと文書情報の格納場所を
対応ずけるインデクステーブルを用意し、それを検索す
ることによって、該当するキーワードを含む文書情報を
格納アドレスを求めた。しかし、キーワードは文書内容
をよく理解しないと正確につけられない。付ける人の理
解の度合によって異なる。したがって、検索する人とキ
ーワードの付けた人が異なると、検索がうまくいかな
い。
これらの課題を解決するために、キーワードの付加さ
れていない文書のテキスト情報部分をコンピュータに直
接読ませて、文字列照合で、検索文字列(キーワード)
の存在する位置を見つけ出すフルテキストサーチ技術が
研究されてきた。生のテキスト情報を検索するときの文
字列照合の難しさは、キーワードとなる検索文字列がス
ペースで区切られているとか、いないとか、ドントケア
(以下ではDCと略す)文字を含んでいるとか、文字の誤
りや抜けや余分な文字の含んでいるとかのあいまいな文
字列の記述にどう対応できるかにかかっている。
したがってアンカーマッチ、ノンアンカーマッチ、固
定長DCマッチ、可変長DCマッチ、ワイルドカードマッチ
などの文字列照合機能が要求される。これらの機能をソ
フトウェアで実現しようとすると、検索速度が遅くて、
大量でテキストデータ検索が時間的に無理になる。とこ
ろが、最近の半導体LSI技術の進歩によって、上記のよ
うな各種の機能を持った文字列照合専用ハードウェアが
1つのLSIチップ上で実現可能になって来た。例えば、I
SSP(Intelligent String Search Processorの略)と呼
ばれる文字列検索プロセッサのLSIチップがすでに開発
された。このプロセッサ100MBのテキスト情報を約10秒
で検索する。可変長の文字列のアンカー/ノンアンカー
マッチ、DCマッチ、ワイルドカードマッチ、あいまいマ
ッチの機能を備えているとは当然であるが、64個の検索
文字列とテキストデータの文字列を並列に照合する。こ
のような文字列照合プロセッサ(Parallel String Sear
ch Processor)を以下では、SSPと略す。
第10図はSSPを用いた文書検索システムの従来の一例
の基本構成部分の説明図である。ホストコンピュータ11
0とSSP140がIOデータバス130でつながっている。SSP140
においては、検索文字列を貯える連想メモリ1100と文字
列照合を行なう順次ロジック1170とエンコーダ1150が主
な構成要素となっている。あいまいマッチマッチや可変
長DCマッチなどの付加機能の回路は省かれている。
順序ロジック1170はANDゲートアレイ1110とフラグレ
ジスタアレイ1120とORゲート1130,1140とヘッドフラグ
設定用のデコーダ1160とから成る。
まず始めに、検索文字列が4文字毎に区切られて、ク
リヤ後に連想メモリ1100に書き込まれる。各検索文字列
の最後の文字位置が4の倍数でないときに、繰り上げら
れて、次の4文字単位の文字列先頭位置にフラグを設定
するように順序ロジック1170の中のデコーダ1160が働
く。
検索文字列が連想メモリ1100に登録された後、テキス
トデータの文字列が連想メモリ1100に入力される。1文
字入力される都度、それが連想メモリ1100の中の全検索
文字列の全文字と並列に比較される。全文字比較結果が
連想メモリ1100から順序ロジック1170のANDゲート1110
に送られる。
文字一致があると、デコーダ1160で設定されたフラグ
がレジスタ1120の上段から下段へシフトされる。不一致
のときには、ANDゲート1110で、フラグが消滅される。
全レジスタ1120で以上のフラグシートが一斉に起こる。
どこかで、4文字連続して下段へフラグシフトが起こる
と、そこのレジスタ1120につながるORゲート1130から文
字列照合結果(マッチ信号)が出現する。
連想メモリ1100に登録された検索文字列のいずれかが
テキストデータの文字列に一致すると、全ORゲート1130
につながるORゲート1140から文字列のマッチ信号が出力
される。マッチ信号がどの順序ロジック1170から出力さ
れたかはエンコーダ1150で検出される。それによって検
索文字列のクラスコードが出力される。
第10図では、SSP140がホストコンピュータ110に直接
接続されていて、テキストデータをホストコンピュータ
110の主記憶120からIOバス130を介してSSP140に入力す
ることと、SSP140の検索結果を主記憶120へ送り返すこ
とが交互に起こる。IOデータバス130上で入力と出力が
交互に行なわれると、検索速度はIOバスのデータ転送速
度の半分以下に下がってしまう。したがって、主記憶12
0のデータRW動作速度の10MB/sで、SSP140が同じ速度で
動作するとしても、IOバス130でのデータ転送レイトが1
MB/sであれば、検索速度500KB/sに下がってしまう。
したがって、SSP140が高速であっても、2バイトづつ
の漢字文字コード転送速度が250KB/sに押えられる第10
図のようなシステム構成では、10億文字(1ギガバイ
ト)のテキストデータの検索時間は4000秒に及ぶ。待ち
時間が大きいという検索時間の問題が残されている。
検索者がテキストデータ(例えば火事のニュース)に
含まれていると考えたキーワード(火事)が、テキスト
データの中では別に表現(出火、半焼、全焼、小火、延
焼など)になっていて、期待したテキストデータ(火事
に関するニュース)が検索結果に現れなかったというシ
ソーラスの問題もある。キーワードとそれの異表記同義
語、類似語など(シソーラス)の検索文字列をフロッピ
ディスクなどの補助メモリ115から読み出して、表示画
面を見ながら64個までの検索文字列を選択し、SSP140に
登録することが可能である。ただし、64個の検索文字列
のSSP140への登録をマニュアルで行なうと、問い合わせ
処理の処理時間が長びく。
(発明が解決しようとする課題) 本発明の目的は、上記検索時間の問題とシソーラスの
問題の両方を解決することにある。具体的には、検索時
間を短縮するために、IOバスを介したデータ転送を最小
にする技術を提供し、シソーラスの問題を解決するため
に、用語辞書(シソーラス)における文字列を階層的に
配列し、記憶する用語辞書を文字列照合手段で検索し、
類似検索文字列を見つけてから、複数の類似検索文字列
の並列照合による文書データを検索を行う技術を提供す
る。
(課題を解決するための手段) したがって、本発明は以下のように構成される。
第1の発明は、用語辞書の文字列を階層的に記憶する
第1データ記憶手段と、検索文字列で指定される範囲の
用語辞書に含まれる文字列を類似検索文字列として切り
出す文字列登録手段と、前記検索文字列を先頭からと後
尾から順に記憶する第1と第2の文字列照合手段と、検
索される文書データを記憶する第2データ記憶手段と、
そこでの文書データの順次書き込み・読み出し動作を制
御するアドレス管理手段と、文書データに対する文字列
照合手段の照合結果を貯えるマッチ回数記憶手段と、第
2データ記憶手段と同じアドレスにマッチ信号を書き込
むマッチ位置記憶手段と、マッチ回数記憶手段の内容を
用語辞書の文字列配列順に出力するためのクロック信号
とアドレス管理手段並びに全体の動作を制御する信号を
発生するタイミング制御手段とを備え、第1文字列照合
手段で文字列マッチがあると、マッチ位置記憶手段への
論理信号1の書き込みを開始し、第2データ記憶手段の
記憶データを逆順読みで出力させ、第2文字列照合手段
で文字列でマッチ信号があると、論理信号1の書き込み
を終了させ、第2データ記憶手段の記憶データを順読み
に切り替えることを特徴とる。
第2の発明は、第1の発明において、文書検索の前
に、検索文字列を文字列照合手段に登録し、用語辞書を
検索して、類似検査文字列の範囲を検定し、それを文字
列照合手段へ追加登録し、文書データの検索を行い、検
索終了後、用語辞書の指定範囲内の類似検索文字列を配
列順に、再度、文字列照合手段へ入力し、各検索文字列
の入力の都度、マッチ回数記憶手段の内容をレコード番
号を走査して順次に出力するようにしたことを特徴と
る。
第3の発明は、第1の発明において、用語辞書の中に
おける文字列の先頭文字位置がネストレベルを示すよう
に階層的に配列されること、指定範囲の文字列がORやAN
Dなどの検索条件信号と共に第1のデータ記憶手段に記
憶されると、文字列が改行、スペース、コンマなどの特
定記号コードを区切り信号に使い、文字列照合手段へ登
録されることを特徴とする。
第4の発明は、第1の発明において、新しい文書レコ
ードが入手される都度、用語辞書の文字列による検索
で、階層的配列の文字列のどれに類似したものかを判別
し、文書レコードのファイル番号を決定し、ファイル管
理に利用することを特徴とする。
第5の発明は、第1、第2、第3の発明において、用
語辞書による文書検索の結果を見て、用語辞書内の階層
的配列の文字列の文字列に新知識や新概念の文字列を加
え、不要の文字列を削除し、用語辞書を修正していくこ
とを特徴とする。
(実施例) 以下、図面を参照して本発明のさらに詳しい説明を行
なう。
第1図は本発明の第1の実施例を示す図であり、
(a)が全体の構成図で(b)が文字列登録手段の部分
図である。(a)は、第1データ記憶手段としての用語
辞書メモリ125と文字列表示手段135と検索文字列登録手
段145と文字列検索プロセッサSSP140とマッチ回数メモ
リ155とタイミング制御回路160とIOバス130を介して主
記憶120や補助記憶115などを備えたホストコンピュータ
110に接続された検索システムを示している。
用語辞書に貯えられるシソーラス(用語辞書)は階層
的に配列された文字列から成る。すなわち、始めに、ユ
ーザが持っている知識の概念を記述する、意味の明らか
な用語文字列が作成され、次に、必要な知識に関して、
意味のわからない用語文字列が作成され、合わせたもの
がシソーラスとして、登録される。
シソーラスは、SSP140に登録される前に、ホストコン
ピュータ110側で配列関係が正しいか表示され、その後
で、フロッピディスクファイルやICメモリカードや磁気
ディスクなどの補助メモリ105に記憶される。SSP140へ
の登録時は、それが主記憶120に読み出され、IOバス120
を通して用語辞書メモリ125へ転送される。
その後で、知りたい知識に関して、ホストコンピュー
タ110に与えられる検索文字列は、まず、文字列照合プ
ロセッサSSP140に登録され、用語辞書の検索に使われ
る。すなわち、用語辞書から類似検索文字列の位置が見
つけられ、その部分の文字列が用語辞書メモリ125から
読み出され、SSP140へ追加登録される。その後で、文書
のテキストデータがSSP140で検索される。
用語辞書メモリ125の内容は用語文字列の階層的に配
列したシソーラスの形式の用語辞書である。その内容は
用語辞書表示手段135によって、先頭からか、あるい
は、マウスやキーボードで指定された位置から表示され
る。
大規模な用語辞書をマウス指示によってスクロールで
高速表示するために、表示手段135はキャラクタパター
ン発生器131とグラフィック表示コントローラ133とフレ
ームバッファメモリ132と表示デバイス134を備える。フ
レームバッファメモリ132はマウスで指定されたアドレ
スをテキストデータを表示画面上のビットパターンに変
換して、1面分ずつ記憶する。数万語の用語文字列を数
秒で眺めるためには、毎秒30画面スクロールは必須とな
る。
用語辞書における用語文字列の階層的配列は、文字列
の配列開始位置の違いを使って表わす。すなわち、上位
概念の用語文字列を左側へ並べ、下位概念の用語文字列
を右側へ並べると、シソーラスの用語の概念体系をうま
く表現できる。意味のわかっている文字列と、わかって
いない文字列が色を違えて表示されるという工夫も役に
立つ。
第2図は用語辞書の表示例と記憶構造を示す図であ
り、(a)は階層的に配列された用語文字列の一例を示
し、(b)は第1データメモリ125での記憶内を示す。
(a)のように、概念レベルの低い文字列をレベル数だ
け先頭にスペース文字を入れて表示している。概念レベ
ルが同じ類義語や異表記の文字列は、改行無しのスペー
スで区切られて配列される。それによって、検索者が用
語辞書の中のどのような概念レベルの文字列を調べよう
としているかわかる。
新しい知識や概念の用語文字列を知ったときには、概
念レベル別に配列され、表示された用語辞書の該当する
概念レベルの関連する文字列意志の近くに追加するとわ
かり易いし、検証し易い。個人の要求に合わせて、文字
列の配列を最適化することも可能である。
このような階層的配列の文字列から成る用語辞書を文
書のテキストデータの検索に用いる時には、表示がいく
ら高速化されても、用語辞書から、検索文字列に類似し
た文字列をすぐに見つけ出すのは容易ではない。表示画
面で検索文字列の位置のマークが必要である。それを文
字列照合手段SSP140で求めておく。次に、マークされた
文字列に見て、SSSP140へ類似検索文字列として登録し
たい文字列の配列領域をマウスかキーボードで指定す
る。SSP140に登録できる文字列数が決っているために、
領域の最初を指定するだけで、SSP140に登録される類似
検索文字列が決る。
第2図(b)に示すのは表示内容に対応した用語辞書
の文字データであって、このような形式で用語辞書メモ
リ125に貯えられる。検索文字列を文字列照合手段に設
定した後、これを用語辞書メモリ125から読み出し、検
索を行う。スペースやコンマで区切り情報として使える
ため、アンカーマッチで検索が済む。マッチ位置かわか
ると、それをマーカにして類似検索文字列位置が求ま
る。
第1図を文字列登録手段145は、第1図(b)に示さ
れるように、2個のカウンタ141,142とPROM143とマルチ
プレクサ144と区切り記号検出回路(単なるANDゲート)
146とマイクロプロセッサ147から成る。
タイミング制御手段160から来るクロック信号でPROM1
43のアクセスが始まり、そこに格納されたマイクロプロ
グラムが読み出される。この間、第1図のスイッチS1は
左へ倒されているとする。PROM143の出力はカウンタ142
に戻されるため、PROM143は状況に応じてプログラムパ
ターンを変えていくことができる。
PROM143の出力の一部がホストコンピュータ110から検
索文字列を1文字づつマルチプレクサ144に転送される
命令となる。そのときに、PROM143からSSP140へ書き込
みクロックを与えると、IOデータバス130からマルチプ
レクサ144を介して転送される検索文字列がSSP140へ登
録される。それが終わった後、PROM143からカウンタ141
へパルスを送り、用語辞書メモリ125へアドレス信号を
与える。マイクロプロセッサ147はアドレスの開始位置
とサイズをホストコンピュータ110から受け付けて、PRO
M143をパルス発生回数を制御する。
用語辞書メモリ125へアドレスを与えると、第2図に
示したような階層的配列の文字列がマルチプレクサ144
を介してSPP140へ転送される。その期間にはPROM143がS
PP140へ検索クロック与えると、用語辞書の文字列が検
査モードのSSP140で検索される。マッチ信号があったと
きの用語辞書メモリアドレスを表示手段135に伝達する
ことができる。それをマッチ文字列の位置表示(マー
カ)に使える。
表示画面でマッチした文字列位置のまわりをスクロー
ルし、用語辞書の中の類似検索文字列位置をマウスで指
定すると、再び、マイクロプロセッサ147を使って、辞
書メモリのアクセスするアドレス範囲が指定される。
その部分の文字列を辞書メモリから読み出し、マルチ
プレクサ144を介してSSP140へ送る。区切り記号検出回
路146と改行やスペースを区切り信号として検出し、SSP
140へデリミタ信号として与える。それによって、登録
させる類似検索文字列が切り出される。この登録手段14
5によって検索文字列だけが左に倒れたスイッチSIを経
由して順次に書き込みモードのSSP140へ登録される。
次に、第1図(a)でのテキスト検索方法と検索結果
を説明する。まず、検索される文書データをホストコン
ピュータ110によって補助メモリ115からページ単位のテ
キストデータとして、主記憶120上に読み出し、IOデー
タバス130と右に倒れたスイッチSIを介し、SSP140へ転
送する。
主記憶120から転送されるテキストデータを、類似検
索文字列の登録され終わったSSP140へ与えると、どの検
索文字列でマッチ信号発生があったかを示く検索結果が
出力される。それをすぐにホストコンピュータ110に返
さないで、マッチ回数メモリ155に貯える。文書データ
の一定ページ数分のテキストデータが転送し終わると、
タイミング制御回路160の発生するデータ転送クロック
とアドレス信号を使ってマッチ回数メモリ155の内容を
主記憶120へ転送する。ページ数の最大値はマッチ回数
メモリ155の容量によって決まる。マッチ回数メモリ155
は検索文字列の個数に等しい計数回路(バイナリーカウ
ンタ)を用意するだけで実現されるが、ハードウェア量
が大きくなりすぎる。
第3図(a)はマッチ回数記憶手段の具体列とそこに
記憶される検索結果の実例を示す図である。マッチ回数
記憶手段はマッチ回数メモリ155とそれにつながるRポ
ート154とWポート153とマッチ回数加算器152と文字列
アドレススキャナ161がレコードまたはページの番号ス
キャナ162から成る。
SSP140によってテキストデータを検索する期間には、
検索文字列のクラスコードとページ番号がSSP140やホス
トコンピュータからマッチ回数メモリ155のアドレス端
子に与えられる。マッチ回数メモリ155の各アドレスに
記憶される値は、各テキストデータのレコード単位ある
いはベージ単位での各検索文字列の出現回数である。文
字列マッチの発生の都度、そのときまでの回数がRポー
ト154から読み出され、加算器152で1を加算され、その
結果、Wポート153からマッチ回数メモリ155に最新のマ
ッチ回数(8ビット)が書込まれる。
文字列数128個で、ページ数が1024で、マッチ回数の
最大値が8ビットとすると、メモリ容量は1Mヒットでな
ければらならい。これは1MbのSRAMメモリチップ1個で
簡単に実現される。タイミング制御手段160はマッチ回
数メモリの読みだし書込み動作に必要なタイミングパル
スも発生する。特に、検索結果を出力するときには、マ
ッチ回数メモリ155のアドレスに入力される信号がSSP14
0の出力から文字列アドレススキャナ161の出力に変わ
る。このアドレススキャナ161はタイミング制御手段160
の発生するクロック信号でカウントアップされる。
第3図(b)はSSP140の後ろに用意されたマッチ回数
メモリ155の内容を示す。テキストサーチによって求ま
った、レコードやページ番号別の検索文字列の出現回数
例を示している。各列の数字が各検索文字列の検出回数
である。各行は各検索文字列の文書レコードでの出現回
数の分布を示していることになる。
このように検索結果はテキストデータメモリ220からS
SP140へ高速に入力されるテキストデータの検索期間に
書き込みモードのマッチ回数メモリ155に順次に蓄積さ
れる。検索結果は検索が終わるまで主記憶120へ送り返
される必要がない。
テキストデータ検索後は、マッチ回数メモリ155のア
ドレス入力端子につながるスイッチS2を上側に切り替え
る。したがって、アドレススキャナ161とレコードスキ
ャナ162が、読み出しモードの状態のマッチ回数メモリ1
55にアドレス信号を与える。それによって、検索文字列
のクラスコードとテキストコード番号が順次に走査さ
れ、(b)に示すマッチ回数メモリ155の内容が一列づ
き出力される。ホストコンピュータ310へ送り出され
る。
第1図から第3図による実施例の説明では、テキスト
データを外部から転送される代りに、転送期間中の検索
結果をマッチ回数メモリ155に貯えておくので、IOデー
タバス130上でのデータ衝突を回避している。したがっ
て、テキストデータのIOデータバス上での転送速度さえ
高速化されれば、検索時間は短縮される。問題はテキス
トデータサイズが主記憶120の記憶容量て制約されるこ
とである。
第4図は本発明の第2の実施例の構成図である。用語
辞書メモリ125、表示手段135、文字列登録手段145、文
字列検索プロセッサSSP140、テキストデータメモリ22
0、アドレス走査手段225、マッチ回数メモリ155、タイ
ミング制御手段160から成る。文書の中のテキサス入デ
ータがホストコンピュータ110側の主記憶120からSSP140
へ直接に転送される代りに、1度、テキストデータメモ
リ220に格納され、その後、SSP140で検索される。その
他は第1図の場合ほとんど同じである。
はじめに、磁気ディスクやCDROMなどの補助メモリ115
からテキストデータが主記憶120に読み出され、それか
ら、半導体集積回路による高速なテキストデータメモリ
220に転送される。主記憶120の記憶容量に制限があるの
で、大きなテキストデータは1Mb程度の単位のレコード
に区切られ、多数回路に渡り、テキストデータメモリ22
0へ書込まれる。
テキストデータメモリ220は1MbのDRAMチップを1ボー
ド上に256個程度配列するだけで32Mbは記憶容量を実現
する。ディスクメモリに較べると大容量と言えないが、
1Mbチップが4Mbや16Mbチップに置き換えられ、数年する
と、同じチップ個数でボード記憶容量が128Mbや512Mbに
増える。パーソナルコンピュータに接続するファイルメ
モリとして手ごろであり、チップの並列動作によってデ
ータ転送速度が20MB/s以上になる。
各テキストデータのサイズSiは計数され、テキストデ
ータメモリ220の各レコードの先頭アドレスAiに加算さ
れ、次のテキストデータレコードの先頭アドレスが決
り、保持され、次のデータサイズSi+1が与えられる
と、その次のアドレスAi+1が計算される。このよう
に、テキストデータの転送に合わせて、AiとSiが与えら
れる。それがアドレス走査手段225の中でテキストデー
タメモリ220のアドレス生成に使われる。
したがって、テキストデータメモリ220には、テキス
トデータが隙間なく格納される。タイミング制御手段16
0の発生するクロックパルスをアドレス走査手段225に与
えると、アドレスがインクレメントされ、テキストデー
タメモリ220からテキストデータが下に倒れたスイッチS
Iを介して、SSP140へ連続的に転送される。
第5図はアドレス走査手段の一具体例の回路図であ
る。このアドレス走査手段225には、m個のテキストデ
ータのサイズの系列Si,i=1,2,3,…,mと開始アドレス系
列Ai,i=1,2,3,…,mを貯えるマップメモリ525が使われ
ている。系列データは、テキストデータの転送時に、デ
ータレジスタ524からマップメモリ525に順次に書込まれ
る。AiをAi−1+Si−1から計算すると、マップメモリ
525は半分で済むが、計算回路を使う方がサイズが大き
くなる。
テキストデータ読み出し時にアドレスカウンタ528が
テキストデータメモリ220にアドレス信号を与える。レ
コードの終わりのアドレスはマップメモリ525から読み
出されるSiとAiを加算器526で加算することによって、
エンドアドレスレジスタ527に保持される。上記アドレ
ス信号がこのエンドアドレスと比較回路529で比較され
る。
比較回路529の出力はテキストデータメモリ220のアド
レス信号がレコードの終わりに達したことを示す。その
信号が検出される都度、レコード番号カウンタをカウン
トアップする。それによって、1つのレコードが終わる
と、次のレコードのエンドアドレスがレジスタ527に設
定される。アドレスカウンタ528の出力するアドレス信
号は全レコードの読み出しが終わるまでカウントアップ
され続ける。レコード番号カウンタ523はマッチ回数メ
モリアドレスに使われる。
第6図はテキスト検索プロセスの状態図である。
第4図におけるタイミング制御手段160を機能設計に
必要な検索動作を状態遷移を示している。この第6図
で、始めての状態610はホストコンピュータ110側での文
書の検索条件や検索範囲の指定を行なう処理を言う。そ
の内訳は、第1が、補助メモリ115から用語辞書を主記
憶120へ読み出し、その内容を表示することと、用語辞
書を用語辞書メモリ125へ転送することである。第2
が、検索される文書データの格納場所を示すマップテー
ブルを補助メモリ115から主記憶に読み出して、表示
し、検索範囲を指定し、テキストデータメモリ220のア
ドレス管理手段に設定することである。第3が、検索範
囲内の該当するテキストデータレコードをレコード単位
で補助メモリ115から主記憶120へ読み出し、部分表示で
内容を確認しそれをテキストデータメモリ220へ転送す
ることである。
次の状態620は用語辞書メモリの内容の表示手段によ
る表示と、マウスによる表示位置の設定と、検索文字列
の切出しと、SSP140への登録を行なう処理からなる。
そのつぎの状態630は、テキストデータメモリ220のア
クセスによるテキストデータのSSP140への高速入力とテ
キストサーチ動作の実行からなる。この期間に各検索文
字列が各テキストデータレコードにどの程度含まれるか
を示す検索結果がマッチ回数メモリ55に格納される。
第4の状態640は、マッチ回数メモリ155から検索結果
を主記憶120に転送し、それを表示することと、検索結
果を見て、レコード番号を指定し、該当するテキストデ
ータをテキストデータメモリ220から読み出すこと、さ
らに、テキストデータの中のマッチ文字列の終わり部分
にマークを付加して、表示することから成る。
第5の状態650は階層的に用語文字列を配列したソシ
ーラスに、検索結果によって求まった知識の用語文字列
を付け加え、辞書を修正する学習プロセスと、テキスト
データの分類を正すようにファイル番号を付け変える学
習プロセスを含む。学習プロセスを繰り返すことによっ
て、検索者の知識体系が整理され、かつ、文書のテキス
トデータが新しい知識の用語文字列を加えた元で正しく
分類されるようになる。
第4図から第6図までの実施例の説明によると、半導
体集積回路のテキストデータメモリ220を使うことによ
って、テキストデータの検索は高速化されるが、テキス
トデータの削除や追加などの編集作業の高速化が困難な
ままである。
すなわち、テキストレコードの変更が必要な時は、テ
キストデータメモリ220の内容をいったんクリヤする。
そのあと、変更したい文書レコードが補助メモリから主
記憶120へ読み出され、ホストコンピュータ110側で修正
される。修正後、該当文書レコードが補助メモリにセー
ブされる。全文書レコードのテキストデータメモリ220
への設定は補助メモリから主記憶120を介し、検索した
い文書レコード順に行なわれる。したがって、折角、高
速のテキストデータメモリ220を持ってても、テキスト
データの変更や削除に時間がかかる問題が残る。
第7図は本発明の第3の実施例の構成図である。第4
図の実施例の問題を解決するため、テキストデータメモ
リ220上で、文書レコード単位のデータ変更を可能にす
るアドレス管理手段700が、アドレス走査手段225の代り
に、導入される。それはマップメモリ725を中心にマッ
プメモリへのR/Wデータレジスタ724とアドレス加算器72
6とエンドアドレスレジスタ727とアドレスカウンタ728
とアドレス比較器729とレコード番号の変更信号レジス
タ721とレコード番号カウンタ723とを備えたものであ
る。
レコード番号Nと対応したテキストデータの格納エリ
ヤのサイズSと開始アドレスAがこのマップメモリ725
に格納され、その内容はデータレジスタ724とIOデータ
バス130を介してホストコンピュータ110側の主記憶120
に転送され、表示される。NとSとAの関係テーブルが
主記憶で用意され、レジスタ724を介してマップメモリ7
25に書込まれる。マップメモリ725のアドレスを走査し
ながら、マップメモリ725の内容を読み出すと、開始ア
ドレスAがアドレスカウンタ728に設定される。それと
同時に、アドレス加算器726でAとSの和が計算され、
エンドアドレス727に保持される。
その後、タイミングパルスをカウンタ728へ送ると、
アドレスカウンタ728の内容がカウントアップされ、テ
キストデータ220の記憶データが番地Aから順次読み出
され、SSP140でテキストサーチが起こる。比較器729で
アドレスカウント728の出力がレコードのエンドアドレ
スA+Sに到達すると、タイミング制御手段160にクロ
ックパルスの発生を停止される。1つのレコードのテキ
ストサーチが完了する。完了の都度、変更信号レジスタ
721がパルス信号を発生する。
このパルス信号でカウンタ723をカウントアップし、
マップメモリ725をアクセスし、AとA+Sをカウンタ7
28とレジスタ727に設定し、再びタイミングパルスをカ
ウンタ728に与えると、テキストデータメモリ220のアク
セスが始まり、SSP140でのテキストサーチが起こる。
第8図はテキストデータメモリのアドレス管理動作の
一例を示す図である。
(a)が文書データのテキストデータメモリ220への
初期設定動作を示す。テキストデータメモリ220に何も
格納されていない状況で、サイズS1の#1レコード、サ
イズS2の#2レコード、サイズS3レコードの#3レコー
ド、サイズS4の#4レコードが順次に隙間なくテキスト
データメモリ220に格納される。
このためには、マップメモリ725に記憶される開始ア
ドレスA1,A2,A3,A4,とサイズS1,S2,S3,S4が1レコード
分のアクセスの終わる都度、順次に読み出される。それ
に供って、カウンタ728にA1,A2,A3,A4がセットされ、レ
ジスタ727にA1+S1,A2+S2,A3+S3,A4+S4がセットされ
る。
(b)は#2レコードが修正される場合を示す。#2
レコードが主記憶120に移された後、ホストコンピュー
タ110で修正され、テキストデータメモリ720に戻され
る。そのときに、新しい#2レコードのサイズが元のレ
コードサイズより大きい時は、新しい記憶エリヤに書込
まれる。そのとき、アドレス管理手段のマップメモリ72
5には#2に対応付けて新しい開始アドレスA2と新らし
いサイズS2が書込まれる。その結果、元の#2レコード
のデータは読みだしできなくなる。もちろん、新しいレ
コードのサイズが元のものより小さい場合には、#2に
対応付けて元の開始アドレスA2と新しいサイズS2がマッ
プメモリ725に書込まれる。
(c)は新しいレコードを追加する場合を示す。サイ
ズS3の#5レコードが追加される場合に、#5レコード
のサイズが空きエリヤS2より大きい場合、#5レコード
は新しい記憶エリヤに書込まれる。それに合わせてマッ
プメモリ725には、#5に対応付けてA5とS5が書込まれ
る。
(d)はレコード削除の場合である。たとえば、#3
レコードを削除する場合、マップメモリ725の#3に対
応したアドレA3とサイズS3をA3と0に書き換えるだけで
良い。レコード番号の#3を0に変えると、A3はどんな
値でもよいことになるが、空きエリヤの検索を容易にす
るためにはA3も0の方がよい。
(e)は記憶されたレコードの空きエリヤへの移動を
示す。ガーベジコレクションのために使われる。マップ
メモリ725の内容を全て主記憶120に転送し、レコードの
格納状況を調べることができる。今の例では、旧の#2
と#3のレコードエリヤが空いたまま残っているう。そ
のエリヤに新しい#2と#5レコードを収容できる。
したがって、まずは、マップメモリ724の#2,#5に
対応した部分をアクセスし、その内容にしたがって、テ
キストデータメモリ220から#2と#5のレコードの主
記憶120へ読み出す。次にマップメモリ725の#2と#5
レコードに関する部分の開始アドレスA2とA5を書き変え
る。
次に、マップメモリ725の#2と#5のレコードに対
応した部分のA2,A5とS2,S5を読み出して、書込みモード
のテキストデータメモリ220へ#2と#5のレコードを
書き込む。いじょうで、#2と#5のレコードの移動が
完了したことになる。
第9図は本発明の第4の実施例の構成図である。
用語辞書メモリ125と、指定範囲の用語辞書に含まれ
る文字列を類似検索文字列として切り出す文字列登録手
段145と、前記検索文字列を先頭から順に記憶する第1
の文字列照合手段SSP141と語尾から順に記憶する第2の
文字列照合手段SSP142と、検索される文書データを記憶
するテキストデータメモリ220と、そこでの文書テキス
トの順次書き込み・読み出し動作を制御するアドレス管
理手段700とを備えている点は第4図や第7図とほどん
ど同じである。
この他に、文書データに対する第1文字列照合手段SS
P141の照合結果によりテキストデータメモリ220の同じ
アドレスにマッチ信号を書き込むマッチ位置メモリ222
と、第2文字列照合手段SSP142の照合結果を貯えるマッ
チ回数記憶手段155と、マッチ回数記憶手段155の内容を
順次に出力するためのクロック記号とアドレス管理手段
700並びに全体の動作を制御するタイミング信号を発生
するタイミング制御手段160と、アップダウン切り替信
号レジスタ961を備える。
第1文字列照合手段SSP141で文字列マッチがあると、
スイッチS5とS6が右と上へ切り替えられるとする。その
時点からマッチ位置記憶手段222への1の書き込みを開
始し、テキストデータ記憶手段220の記憶データを逆読
みで出力させ、レジスタ961のセットでテキストデータ
がSSP142に入力される。
第2文字列照合手段SSP142で文字列マッチ信号がある
と、マッチ位置メモリ222への1の書込みを終了させ、
スイッチS5とS6を元の状態(左と下)へ切り替え、レジ
スタ961の内容を元に戻す。それによって、テキストデ
ータがSSP141に与えられると同時に、テキストデータメ
モリ220は順読みモードに切り替わる。
そこでは、マッチ位置メモリ155の記憶内容をテキス
トデータメモリ220の内容と共に表示手段135に与える
と、テキストデータ内の検索文字列にマッチした文字列
がマークされて表示されるようになる。
(発明の効果) 以上に述べたように、本発明によれば、文字列検索プ
ロセッサSSP140と共に、用語文字列メモリ125や、半導
体集積回路の高速テキストデータメモリ220や、マッチ
回数メモリ155やアドレス管理手段700を導入することに
よって、IOデータバス130でのデータ転送ネックによる
検索時間の増加する問題を解消し、検索連度をSSPの処
理能力ぎりぎりまで高めることができた。また、検索文
字列を1つ与えるだけで、概念上で関連のある類似検索
文字列の位置を高速に見つけ出し、それ等検索文字列を
切り出して、SSP140へ登録し、各文字列の出現回数を出
力することで検索もれを無くせるようにした。
検索時間の問題とシソーラスの問題の解決された理由
をまとめると、以下のようになる。
まず、検索速度問題は、半導体集積回路のテキストデ
ータメモリを使い、そこへ、大容量のテキストデータを
格納してから、IOデータバスを介さず、その内容を順次
に読みだし、SSPに高速テキストサーチを行わせ、検索
結果をマッチ回数メモリに貯め込む事で、解決される。
読みだし速度が20Mb/sでデータサイズが1GBであれは、2
Bづつの読みだしのテキストサーチ時間が25秒となる。
マッチ回数メモリの内容はテキストサーチの終了後に、
1秒より十分短い時間で出力される。パーソナルユース
での文書検索システムはこの時間はそう長くない。
次に、シソーラス問題は、テキストサーチによる文書
検索結果に基づいてシソーラスに含まれる用語文字列が
概念の階層を意識して付け加えられて行くために、個人
的に関心ある分野の専門用語をシソーラスが知識体系と
して確立され、そのシソーラスを使ってテキストサーチ
を行える学習効果によって解決される。
【図面の簡単な説明】
第1図(a)は本発明の第1の実施例の全体の回路構成
を示す図、同図(b)は部分図である。第2図は用語辞
書における文字列の配列の説明図、第3図(a)はマッ
チ回数メモリの具体例を示す図、同図(b)はマッチ回
数メモリの内容の一例を示す図、第4図は本発明の第2
の実施例の構成図、第5図はアドレス走査手段の一具体
例を示す回路図、第6図は用語辞書による文書検索動作
のプロセスの状態図、第7図は本発明の第3の実施例を
示す構成図、第8図はアドレス管理手段の動作説明図、
第9図は本発明の第4の実施例を示す構成図である。第
10図は従来の文書検索システムと文字列検索プロセッサ
の説明図である。
フロントページの続き (72)発明者 三橋 薫 東京都港区芝5丁目7番1号 日本電気 株式会社内 (56)参考文献 特開 平1−297724(JP,A) 特開 平2−72481(JP,A) 特開 昭63−25774(JP,A) 特開 昭56−9867(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 17/30 JICST科学技術文献ファイル

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】用語辞書の文字列を階層的に記憶する第1
    データ記憶手段と、検索文字列で指定される範囲の用語
    辞書に含まれる文字列を類似検索文字列として切り出す
    文字列登録手段と、前記検索文字列を先頭からと後尾か
    ら順に記憶する第1と第2の文字列照合手段と、検索さ
    れる文書データを記憶する第2データの記憶手段と、そ
    こでの文書データの順次書き込み・読み出し動作を制御
    するアドレス管理手段と、文書データに対する文字列照
    合手段の照合結果を貯えるマッチ回数記憶手段と、第2
    データ記憶手段と同じアドレスにマッチ信号を書き込む
    マッチ位置記憶手段と、マッチ回数記憶手段の内容を用
    語辞書の文字列順に出力するためのクロック信号とアド
    レス管理手段並びに全体の動作を制御する信号を発生す
    るタイミング制御手段とを備え、第1文字列照合手段で
    文字列マッチがあると、マッチ位置記憶手段への論理信
    号1の書き込みを開始し、第2データ記憶手段の記憶デ
    ータを逆順読みで出力させ、第2文字列照合手段で文字
    列マッチ信号があると、論理信号1の書き込みを終了さ
    せ、第2データ記憶手段の記憶データを順読みに切り替
    えることを特徴とする用語辞書による文書検索システ
    ム。
  2. 【請求項2】文書検索の前に、検索文字列を文字列照合
    手段に登録し、用語辞書を検索して、類似検索文字列の
    範囲を決定し、それを文字列照合手段へ追加登録し、文
    書データの検索を行い、検索終了後、用語辞書の指定範
    囲内の類似検索文字列を配列順に、再度、文字列照合手
    段へ入力し、各検索文字列の入力の都度、マッチ回数記
    憶手段の内容をレコード番号を走査して順次に出力する
    ようにしたことを特徴とする請求項1に記載の用語辞書
    による文書検索システム。
  3. 【請求項3】用語辞書の中における文字列の先頭文字位
    置がネストレベルを示すように階層的に配列されるこ
    と、指定範囲の文字列がORやANDなどの検索条件信号と
    共に第1のデータ記憶手段に記憶されること、文字列が
    改行、スペース、コンマなどど特定記号コードを区切り
    信号に使い、文字列照合手段へ登録されることを特徴と
    する請求項1に記載の用語辞書による文書検索システ
    ム。
  4. 【請求項4】新しい文書レコードが入手される都度、用
    語辞書の文字列による検索で、階層的配列の文字列のど
    れに類似したものかを判別し、文書レコードのファイル
    番号を決定し、ファイル管理に利用することを特徴とす
    る請求項1に記載の用語辞書による文書検索システム。
  5. 【請求項5】用語辞書による文書検索の結果を見て、用
    語辞書内の階層的配列を文字列に新知識や新概念の文字
    列を加え、不要の文字列を削除し、用語辞書を修正して
    いくことを特徴とする請求項1,2,3に記載の用語辞書に
    よる文書検索システム。
JP2339176A 1990-11-30 1990-11-30 用語辞書による文書検索システム Expired - Lifetime JP2961888B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2339176A JP2961888B2 (ja) 1990-11-30 1990-11-30 用語辞書による文書検索システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2339176A JP2961888B2 (ja) 1990-11-30 1990-11-30 用語辞書による文書検索システム

Publications (2)

Publication Number Publication Date
JPH04205561A JPH04205561A (ja) 1992-07-27
JP2961888B2 true JP2961888B2 (ja) 1999-10-12

Family

ID=18324959

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2339176A Expired - Lifetime JP2961888B2 (ja) 1990-11-30 1990-11-30 用語辞書による文書検索システム

Country Status (1)

Country Link
JP (1) JP2961888B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07319906A (ja) * 1994-05-27 1995-12-08 Fujitsu Ltd 同義語検索処理方式および文字列検索システム

Also Published As

Publication number Publication date
JPH04205561A (ja) 1992-07-27

Similar Documents

Publication Publication Date Title
ES2214535T3 (es) Procedimiento y sistema portatil de indexacion de documentos utilizando la descomposicion de palabras en n-grams.
US6138114A (en) Sort system for merging database entries
US5293616A (en) Method and apparatus for representing and interrogating an index in a digital memory
JP3263963B2 (ja) 文書検索方法及び装置
JP2986865B2 (ja) データ検索方法および装置
JPH09245043A (ja) 情報検索装置
KR100459832B1 (ko) N-그램워드(n-gramword)분해원리를이용하여이식가능한문서를인덱싱하는시스템및방법
JP2961888B2 (ja) 用語辞書による文書検索システム
JPH05101102A (ja) 検索装置
JPH08314966A (ja) 文書検索装置のインデックス作成方法及び文書検索装置
JPH1027183A (ja) データ登録方法および装置
JP3141428B2 (ja) 数値検索装置およびその方法
JPS59105141A (ja) 電子的文書の管理方法
JPH06348757A (ja) 文書検索装置および方法
JP2880192B2 (ja) 文字列検索方法及び装置
JP3288063B2 (ja) 可変長データの格納および参照システム
CA2192435C (en) System and method for portable document indexing using n-gram word decomposition
JP2751681B2 (ja) 文書検索装置
JP3325326B2 (ja) 電子ファイリング装置
JP2975529B2 (ja) 電子化辞書検索装置
JPH02148174A (ja) Ocrによる住所データベース検索装置
JPH06139278A (ja) 文字コード変換機能を備えた文字列検索装置
JPH04250568A (ja) レコード検索装置
JPH0324667A (ja) 文書検索方法
JPH043251A (ja) 文書検索方法および文書検索処理装置