JPH10307840A - 情報処理装置及びその方法 - Google Patents

情報処理装置及びその方法

Info

Publication number
JPH10307840A
JPH10307840A JP9119869A JP11986997A JPH10307840A JP H10307840 A JPH10307840 A JP H10307840A JP 9119869 A JP9119869 A JP 9119869A JP 11986997 A JP11986997 A JP 11986997A JP H10307840 A JPH10307840 A JP H10307840A
Authority
JP
Japan
Prior art keywords
text data
character string
information processing
search
creating
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.)
Withdrawn
Application number
JP9119869A
Other languages
English (en)
Inventor
Shiro Ito
史朗 伊藤
Yuji Ikeda
裕治 池田
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP9119869A priority Critical patent/JPH10307840A/ja
Publication of JPH10307840A publication Critical patent/JPH10307840A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 テキストデータの検索に用いるインデックス
のキーの増大を抑えるとともに、検索速度を向上するこ
とができる情報処理装置及びその方法を提供する。 【解決手段】 テキストデータを被検索テキスト保持部
101に保持し、保持されているテキストデータを構成
する文字列の内、所定回数以上出現する文字列に基づい
て、該テキストデータを構成する文字列の位置に関する
インデックスをインデックス作成部102で作成する。
作成されたインデックスを用いて、入力された検索パタ
ーンを有するテキストデータを検索部105で検索す
る。そして、検索結果を検索結果保持部106に出力す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、テキストデータを
検索する情報処理装置及びその方法に関するものであ
る。
【0002】
【従来の技術】文書中の全てのテキストデータを対象と
して与えられた検索パターンを含むテキストデータを検
索する全文検索装置などの情報処理装置では、大量のテ
キストデータを高速に検索するために、被検索テキスト
データのインデックスを予め作成し、作成したインデッ
クスを用いて検索を行なうことが多い。こうしたインデ
ックス方式の一つに、nーgramインデックス方式と
呼ばれる検索方式がある。nーgramインデックス方
式とは、テキストデータ中の連接するn文字をキーとし
て、キーとなる文字列の被検索テキストデータ中での存
在位置を列挙した位置リストを保持するインデックスで
ある。
【0003】例えば、nを2に固定すると、文字セット
Cに対して、文字列集合S={c|c∈C}∪{c1c2
|c1,c2∈C}を定義する。文字セットCから構成さ
れる検索対象文書Tにおいて、Tにおける文字列s∈S
の出現回数をnsとし、Tにおいてsがx回目に出現す
るときのsを構成する先頭文字の位置をpos(s,
x)で表すとする。例えば、2ーgramインデックス
のキーkは、ns≧1であるsになる。そして、kに対
する位置リストLkは、 Lk=(pos(k,1),pos(k,2),…,p
os(k,nk)) となる。2ーgramインデックスは、(k,Lk)を
全てのkについて集めたものである。例えば、「日本対
スイスの日本側当日券は本日売り切れ」のテキストデー
タに対する2ーgramインデックスは図8のようにな
る。
【0004】次に、Nーgramインデックスを用いた
検索処理について説明する。ここでも、nを2に固定し
た場合で説明するが、nの値が変わっても基本は同じで
ある。被検索テキストデータTから文字長lの検索パタ
ーンqを検索する処理は、以下のようになる。ここで、
siは、検索パターンのi番目から始まる2文字の部分
文字列を示す。但し、slの長さだけは1とする。
【0005】1.インデックスIにおいて、検索パター
ンq中の部分文字列si(i=2j+1,lが奇数のと
き0≦j≦(l−1)/2,lが偶数のとき0≦j≦l
/2−1)に関して、nsiの小さい順に応じてiを並べ
た数列(t(0),t(1),…,t(m))を作成する。ここ
で、m=(l−1)/2(lが奇数の場合)、m=l/
2−1(lが偶数の場合)になる。
【0006】2.nst(0)=0ならば検索処理は終了す
る。検索パターンは存在しない。 3.kj=st(j)(0≦j≦m)とする。 4.R(0)={(p−t(0)+1)|p∈Lk0}とする。 5.j=1,2,…,mまで、次の処理を繰り返す。途
中でR(j)が空になったら検索処理は終了する。検索パ
ターンは存在しない。
【0007】R(j)={(p−t(j)+1)|p∈Lkj,
∃r∈R(j-1),r=p−t(j)+1} 6.検索処理は終了する。R(m)が検索パターンの存在
する位置である。例えば「当日券」の検索処理は以下の
ようになる。 1.s1=当日、s3=券であるから、ns1=1、ns3=1
であり、t(0)=1、t(1)=3となる。
【0008】2.ns1=1で、0ではないので処理を続
ける。 3.k0=当日、k1=券とする。 4.Lk0=(11)であるから、R(0)=(11)となる。 5.Lk1=(13)であるから、11=(13−3+1)を
満足し、R(1)=(11)とする。
【0009】6.これにより、(11)が検索結果となる。 N−gramインデックスのnの値を大きくすると、上
記検索処理手順の第5ステップでの比較演算回数が減少
するので、検索にかかる時間が短縮される。一方、nを
大きくすると、インデックスサイズが増大したり、イン
デックスの作成時間が増大するという問題点がある。比
較演算回数が増える要因の一つに、検索に使用するキー
の出現回数(そのキーの位置リストの要素数)が大きい
ことがある。そこで、インデックスサイズの増大を抑え
ながら、検索処理時間の短縮を図るために、キーの出現
回数が大きくなるようなキーについてのみnの値を大き
くするという方法がある。
【0010】こうした方法の一つとして、菅谷他:「n
−gram型大規模全文検索方式の開発ーインクリメン
タル型n−gramインデクス方式ー」(第53回情報
処理学会全国大会論文集,3,pp.235−236)
で説明されているインクリメンタル法がある。このイン
クリメンタル法では、n−gramのキーの出現回数が
閾値を越えたら、そのキーの最後に1文字追加した(n
+1)−gramを作成して、それらをキーに追加す
る。例えば、キーの集合をK、閾値をtaとしたとき、
キーk∈K(出現回数をnkとする)に対してnk>ta
となったら、K’=K∪{s|s=cat(k,c),
c∈K}を新しいキー候補集合とする。ここで、cat
(s,c)は、文字列sの後ろに文字cを加えた文字列
を示す。このインクリメンタル法を用いて、「日本対ス
イスの日本側当日券は本日売り切れ」のテキストデータ
に対して閾値を1としてインデックスを作成すると図9
のようになる。
【0011】別の方法として、福島他「高速全文検索の
ためのフレキシブル文字列インバージョン法(1)方式
概要」(第53回情報処理学会全国大会論文集,3,p
p.239−240)で説明されているフレキシブル文
字列インバージョン法がある。このフレキシブル文字列
インバージョン法では、nーgramのキーの出現回数
が閾値を越えた場合に、(n+1)ーgramを作成す
る代わりに、キーの後(前)に連接する文字にハッシン
グを施し、得られたハッシュ値と元のキーを組み合わせ
たものを新たなキーとする。例えば、キーの集合をK、
閾値をtbとしたとき、キーk∈Kに対してnk>tbと
なったら、K’=K∪{h|h=key(k,hash
(c)),c∈K}を新しいキー候補集合とする。ここ
で、hash(c)は、文字cにハッシュを施したハッシ
ュ値を示す。また、key(s,i)は、文字列sと整
数値iとで構成されるキーを示す。このフレキシブル文
字列インバージョン法を用いて、「日本対スイスの日本
側当日券は本日売り切れ」のテキストデータに対して閾
値を1としてインデックスを作成すると図10のように
なる。尚、図中#で示している数値がハッシュ値であ
る。
【0012】
【発明が解決しようとする課題】しかしながら、上記従
来のインクリメンタル法を用いた情報処理装置では、閾
値を越えたキーに対して任意の文字を付け加えて新しい
キーを作成するためキーの数が増えすぎ、ひいてはイン
デックスサイズを増大させるという問題があった。
【0013】また、上記従来のフレキシブル文字列イン
バージョン法を用いた情報処理装置では、ハッシュ値と
組み合わせたキーを用いることで検索に使用するキーの
位置リスト要素数は削減されるものの、組み合わせ演算
の回数を削減できず、ひいては検索時間が十分に短縮さ
れないという問題があった。この問題は、次の例をみる
とわかりやすい。
【0014】今、アルファベットだけを対象とした場合
に、キー「あ」の出現回数が閾値を越えたとする。この
場合、インクリメンタル法では、新たにキー「ああ」、
「あい」、「あう」、…、「あん」が作成される。この
ように、インクリメンタル法では、新しく作成されるキ
ーの数が大きくなる。一方、フレキシブル文字列インバ
ージョン法では、ハッシュ値が0と1になるようにハッ
シングを施したとすると、キー「あ#0」、「あ#1」
が新しく作成されるだけで増大するキーの数を小さく抑
えられる。次に、「あいう」という検索パターンで検索
することを考える。インクリメンタル法では、検索に使
用するキーが「あい」と「う」となり、この二つの組み
合わせ演算だけで検索が可能である。一方、フレキシブ
ル文字列インバージョン法では、「あ#0」、「い」、
「う」の三つの組み合わせ演算が必要になる(ここで
は、「い」のハッシュ値が0になると仮定している)。
なぜなら、キー「あ#0」だけでは、「あ」の次の文字
が「い」である保障はないからである。
【0015】本発明は上記の問題に鑑みてなされたもの
であり、テキストデータの検索に用いるインデックスの
キーの増大を抑えるとともに、検索速度を向上すること
ができる情報処理装置及びその方法を提供することを目
的とする。
【0016】
【課題を解決するための手段】上記の目的を達成するた
めの本発明による情報処理装置は以下の構成を備える。
即ち、テキストデータを検索する情報処理装置であっ
て、テキストデータを保持する保持手段と、前記保持手
段で保持されているテキストデータを構成する文字列の
内、所定回数以上出現する文字列に基づいて、該テキス
トデータを構成する文字列の位置に関する位置情報を作
成する作成手段と、前記作成手段で作成された位置情報
を用いて、入力された検索パターンを有するテキストデ
ータを検索する検索手段と、前記検索手段による検索結
果を出力する出力手段とを備える。
【0017】また、好ましくは、前記作成手段は、前記
所定回数以上出現する文字列と所定の位置関係を有する
文字列の位置に関する位置情報を作成する。また、好ま
しくは、前記作成手段は、前記所定回数以上出現する文
字列に前接する文字列の位置に関する位置情報を作成す
る。また、好ましくは、前記作成手段は、前記所定回数
以上出現する文字列に後接する文字列の位置に関する位
置情報を作成する。
【0018】また、好ましくは、前記テキストデータを
構成する文字列は、1文字を含む。また、好ましくは、
前記作成手段は、前記テキストデータ中で、前記所定回
数以上出現する文字列以外の文字列の位置に関する位置
情報を作成し、該位置情報を一括して管理する。上記の
目的を達成するための本発明による情報処理装置は以下
の構成を備える。即ち、テキストデータを管理する情報
処理装置であって、入力されたテキストデータを構成す
る文字列の内、所定回数以上出現する文字列に基づい
て、該テキストデータを構成する文字列の位置に関する
位置情報を作成する作成手段と、前記作成手段で作成さ
れた位置情報と前記テキストデータを対応づけて管理す
る管理手段とを備える。
【0019】上記の目的を達成するための本発明による
情報処理方法は以下の構成を備える。即ち、テキストデ
ータを検索する情報処理方法であって、テキストデータ
を記憶媒体に保持する保持工程と、前記保持工程で前記
記憶媒体に保持されているテキストデータを構成する文
字列の内、所定回数以上出現する文字列に基づいて、該
テキストデータを構成する文字列の位置に関する位置情
報を作成する作成工程と、前記作成工程で作成された位
置情報を用いて、入力された検索パターンを有するテキ
ストデータを検索する検索工程と、前記検索工程による
検索結果を出力する出力工程とを備える。
【0020】上記の目的を達成するための本発明による
情報処理方法は以下の構成を備える。即ち、テキストデ
ータを管理する情報処理方法であって、入力されたテキ
ストデータを構成する文字列の内、所定回数以上出現す
る文字列に基づいて、該テキストデータを構成する文字
列の位置に関する位置情報を作成する作成工程と、前記
作成工程で作成された位置情報と前記テキストデータを
対応づけて記憶媒体に管理する管理工程とを備える。
【0021】上記の目的を達成するための本発明による
コンピュータ可読メモリは以下の構成を備える。即ち、
テキストデータを検索する情報処理のプログラムコード
が格納されたコンピュータ可読メモリであって、テキス
トデータを記憶媒体に保持する保持工程のプログラムコ
ードと、前記保持工程で前記記憶媒体に保持されている
テキストデータを構成する文字列の内、所定回数以上出
現する文字列に基づいて、該テキストデータを構成する
文字列の位置に関する位置情報を作成する作成工程のプ
ログラムコードと、前記作成工程で作成された位置情報
を用いて、入力された検索パターンを有するテキストデ
ータを検索する検索工程のプログラムコードと、前記検
索工程による検索結果を出力する出力工程のプログラム
コードとを備える。
【0022】上記の目的を達成するための本発明による
コンピュータ可読メモリは以下の構成を備える。即ち、
テキストデータを管理する情報処理のプログラムコード
が格納されたコンピュータ可読メモリであって、入力さ
れたテキストデータを構成する文字列の内、所定回数以
上出現する文字列に基づいて、該テキストデータを構成
する文字列の位置に関する位置情報を作成する作成工程
のプログラムコードと、前記作成工程で作成された位置
情報と前記テキストデータを対応づけて記憶媒体に管理
する管理工程のプログラムコードとを備える。
【0023】
【発明の実施の形態】以下、図面を参照して本発明の好
適な実施形態を詳細に説明する。図1は本発明の実施形
態に係る情報処理装置の機能構成を示すブロック図であ
る。図1において、101は被検索テキスト保持部であ
り、被検索テキストデータを保持する。102はインデ
ックス作成部であり、被検索テキスト保持部101に保
持されている被検索テキストデータに対して、キー(テ
キストデータを構成する文字あるいは文字列)集合に属
するキーに対して被検索テキストデータ中での当該キー
の出現位置を列挙したインデックスを作成する。また、
出現回数が基準以上のキーに1文字を付与したキー候補
の中、被検索テキストデータ中での出現回数が別の基準
以上のキー候補をキー集合に加えて、同様に被検索テキ
ストデータ中での当該キーの出現位置を列挙したインデ
ックスを作成する。103はインデックス保持部であ
り、インデックス作成部102で作成したインデックス
を保持する。
【0024】104は検索パターン保持部であり、被検
索テキストデータから検索するパターンを保持する。1
05は検索部であり、インデックス保持部103に保持
されているインデックスを用いて、検索パターン保持部
104に保持されている検索パターンを被検索テキスト
データ中から検索する。106は検索結果保持部であ
り、検索部105による検索結果を保持する。
【0025】次に本発明の実施形態の情報処理装置の構
成について、図2を用いて説明する。図2は本発明の実
施形態の情報処理装置の構成を示すブロック図である。
図2において、201はCPUであり、後述する手順を
実現するプログラムに従って動作する。202はRAM
であり、被検索テキスト保持部101、検索パターン保
持部104、検索結果保持部106と上記プログラムの
動作に必要な記憶領域とを提供する。203はROMで
あり、後述する手順を実現するプログラムを保持する。
204はディスク装置であり、インデックス保持部10
3を実現する。205は情報処理装置の各種構成要素を
相互に接続するバスである。206はキーボード及びマ
ウスからなる入力装置であり、検索キーを入力する。2
07は例えば、CRT、LCD等の出力装置であり、検
索結果を表示する。
【0026】以下、説明していく本発明の実施形態で実
行される処理は、インデックスを作成するインデックス
作成処理と文字列を検索する検索処理の2つに大きく分
かれる。まず、インデックス作成処理によって作成され
るインデックスを保持するインデックス保持部103の
詳細な構成について、図11を用いて説明する。
【0027】図11は本発明の実施形態のインデックス
保持部の詳細な構成を示す図である。図11において、
1101は拡張コード領域1103に示される拡張コー
ドに1文字を後接したキーが被検索テキストデータ中に
出現する回数を保持する出現回数領域である。この出現
回数領域では、行が拡張コードに対応し、列が後接する
文字に対応する2次元の出現回数テーブルを保持する。
但し、0行目については元になるキーがなく、各列が示
す文字だけのキーの出現回数を示す。
【0028】1102は、拡張コードに1文字を後接し
たキーに対し、位置リストを保持する際のキーコードを
保持するキーコード領域である。このキーコード領域で
は、行が拡張コードに対応し、列が後接する文字に対応
する2次元のキーコードテーブルを保持する。但し、0
行目については元になるキーがなく、各列が示す文字だ
けのキーのキーコードを示す。また、0列目については
元になるキーの位置リストから、文字を後接して作成し
た位置リストに含まれる要素を除いて作成する位置リス
トに対するキーコードを保持する。
【0029】1103は、拡張コードに1文字を後接し
たキーをさらに1文字拡張する場合の管理を行なう拡張
コードを保持する拡張コード領域である。この拡張コー
ド領域では、行が拡張コードに対応し、列が後接する文
字に対応する2次元の拡張コードテーブルを保持する。
但し、0行目については元になるキーがなく、各列が示
す文字だけのキーの拡張コードを示す。
【0030】1104は、キーコードが示すキーに対す
る位置リストを保持する位置リスト領域である。キーコ
ード値の昇順に並んでいるので、キーコード値から容易
に位置リストへアクセスできる。以下の説明では、出現
回数テーブルにおけるn行の文字cに対応する列の値を
C(n,c)で表し、キーコードテーブルにおけるn行
の文字cに対応する列の値をK(n,c)で表し、キー
コードテーブルにおけるn行の0列目の値をK0(n)
で表し、拡張コードテーブルにおけるn行の文字cに対
応する列の値をE(n,c)で表し、キーコードKに対
する位置リストをL(k)で表す場合もある。
【0031】次に、インデックス作成部102で実行さ
れるインデックス作成処理について、図3を用いて説明
する。図3は本発明の実施形態で実行されるインデック
ス作成処理を示すフローチャートである。まず、ステッ
プS301では、出現回数テーブル、キーコードテーブ
ル、拡張コードテーブルの全要素を全て0に初期化す
る。また、処理の対象となっている文字の位置を示すカ
ウンタCを1に初期化する。次に、ステップS302で
は、ポインタPの初期化を行なう。ポインタPは、処理
の対象となっている文字を指し示すもので、これを被検
索テキストデータの先頭文字を指すように初期化する。
ステップS303では、ポインタpが被検索テキストデ
ータの最後に達したか否かを判定する。最後に達してい
る場合(ステップS303でYES)、インデックス作
成処理を終了する。一方、最後に達していない場合(ス
テップS303でNO)、ステップS304に進む。
【0032】ステップS304では、引数(0,p,
1)による登録処理を行なう。尚、この登録処理の詳細
については、図4を用いて後述する。また、(0,p,
1)は図4のフローチャートを呼び出すための引数であ
る。ステップS305では、カウンタcの値を1増や
す。ステップS306では、ポインタpが次の文字を指
し示すようポインタpを進め、ステップS303に戻
る。
【0033】次に、上述した図3のステップS304に
おける引数(n,p,s)への登録処理の詳細につい
て、図4を用いて説明する。図4は本発明の実施形態で
実行される登録処理の詳細を示すフローチャートであ
る。まず、ステップS401では、ポインタpが指し示
す文字をcとする。ステップS402では、出現回数テ
ーブルにおいて、n行の文字cに対応する列C(n,
c)の値を1増やす。ステップS403では、引数
(n,c,s)に対する新キー作成処理を行なう。尚、
この新キー作成処理の詳細については、図5を用いて後
述する。ステップS404では、キーコードテーブルに
おいて、n行の文字cに対応する列K(n,c)の値を
参照する。列K(n,c)の値が0である場合は、ステ
ップS405に進み、キーコードテーブルにおけるn行
の0列目の値をキーコードとして、当該キーコードに対
する位置リストL(K0(n))にカウンタCの値を追
加する。そして、ステップS407に進む。一方、列K
(n,c)の値が正の値である場合は、ステップS40
6に進み、キーコードテーブルにおいて、n行の文字c
に対応する列の値をキーコードとして、当該キーコード
に対する位置リストL(K0(n),c)にカウンタC
の値を追加する。そして、ステップS407に進む。
【0034】ステップS407では、拡張コードテーブ
ルにおいて、n行の文字cに対応する列E(n,c)の
値を参照する。列E(n,c)の値が0である場合は、
(n,p,s)への登録処理を終了する。一方、列E
(n,c)の値が正の値である場合は、ステップS40
8に進む。ステップS408では、ポインタpが次の文
字を指し示すようポインタpを進める。ステップS40
9では、ポインタpが検索テキストデータの最後に達し
たか否かを判定する。最後に達した場合(ステップS4
09でYES)、(n,p,s)への登録処理を終了す
る。一方、最後に達していない場合(ステップS409
でNO)、ステップS410に進む。
【0035】ステップS410では、拡張コードテーブ
ルにおいて、n行の文字cに対応する列E(n,c)の
値をmとして、引数(m,p,(s+1))への登録処
理を再帰し、引数(m,p,(s+1))への登録処理
を終了する。次に、上述した図4のステップS403に
おける引数(n,c,s)に対する新キー作成処理の詳
細について、図5を用いて説明する。
【0036】図5は本発明の実施形態で実行される新キ
ー作成処理の詳細を示すフローチャートである。まず、
ステップS501では、出現回数テーブルにおいて、n
行の文字cに対応する列C(n,c)の値を参照し、C
(n,c)の値が閾値Aを越えており、かつ拡張コード
テーブルにおいて、n行の文字cに対応する列E(n,
c)の値を参照し、列E(n,c)の値が0あるという
条件を満たすか否かを判定する。条件を満たす場合(ス
テップS501でYES)、ステップS508に進む。
一方、条件を満たさない場合(ステップS501でN
O)、ステップS502に進む。
【0037】ステップS502では、nの値を参照し、
値が0であるか否かを判定する。値が0である場合(ス
テップS502でYES)、ステップS503に進む。
一方、値が0でない場合(ステップS502でNO)、
ステップS505に進む。ステップS503では、キー
コードテーブルにおいて、n行の文字cに対応する列K
(n,c)の値が0であるか否かを判定する。列K
(n,c)の値が0である場合(ステップS503でY
ES)、ステップS504に進み、新しいキーコードを
割り当て、割り当てた値をキーコードテーブルにおける
n行の文字cに対応する列K(n,c)に代入する。そ
して、引数(n,c,s)に対する新キー作成処理を終
了する。一方、列K(n,c)の値が0でない場合(ス
テップS503でNO)、(n,c,s)に対する新キ
ー作成処理を終了する。
【0038】ステップS505では、出現回数テーブル
において、n行の文字cに対応する列C(n,c)の値
を参照し、列C(n,c)値が閾値Bを越えており、か
つキーコードテーブルにおいて、n行の文字cに対応す
る列K(n,c)の値を参照し、列K(n,c)値が0
であるという条件を満たすか否かを判定する。条件を満
たす場合(ステップS505でYES)、ステップS5
06に進む。一方、条件を満たさない場合(ステップS
505でNO)、引数(n,c,s)に対する新キー作
成処理を終了する。
【0039】ステップS506では、新しいキーコード
を割り当て、割り当てた値をキーコードテーブルにおけ
るn行の文字cに対応する列K(n,c)に代入する。
ステップS507では、キーコードテーブルにおけるn
行の0列の値をキーとする位置リスト中の各値につい
て、その値にsを足した値の中から、キーコードテーブ
ルにおけるn行の文字cに対応する列の値をキーとする
位置リスト中の値のいずれかに一致する値を全て削除す
る。次に、削除した値をステップS506で新たに割り
当てたキーコードに対する位置リストに加える。そし
て、引数(n,c,s)に対する新キー作成処理を終了
する。
【0040】ステップS508では、新しい拡張コード
を割り当て、割り当てた値mを拡張コードテーブルにお
けるn行の文字cに対応する列E(n,c)に代入す
る。ステップS509では、新しいキーコードを割り当
て、割り当てた値をキーコードテーブルにおけるm行の
0列に代入する。そして、キーコードテーブルにおける
n行の文字cに対応する列の値をキーとする位置リスト
の内容を、全て割り当てたキーコードの位置リストにコ
ピーする。
【0041】ステップS510では、キーコードテーブ
ルの全ての列において、以下の処理を行なう。m行の0
列の値をキーとする位置リスト中の各値について、その
値にsを足した値の中からキーコードテーブルにおける
n行の当該列の値をキーとする位置リスト中の値のいず
れかに一致する値の数を調べ、それが閾値Bを越えてい
れば一致した値を全て削除する。次に、新しいキーコー
ドを割り当て、削除した値を割り当てたキーコードの位
置リストに全て加え、キーコードテーブルにおけるm行
の当該列の値に割り当てたキーコードを代入する。そし
て、引数(n,c,s)に対する新キー作成処理を終了
する。
【0042】以上のインデックス作成処理を、例えば、
「日本対スイスの日本側当日券は本日売り切れ」に対し
て施すと、図11に示すようなインデックスが作成され
る。また、図12は、「当日券」の「日」までのインデ
ックス作成処理が完了した時点でのインデックスを示し
ている。次に検索部105で実行される検索処理につい
て、図6を用いて説明する。
【0043】図6は本発明の実施形態で実行される検索
処理を示すフローチャートである。まず、ステップS6
01では、検索パターン保持部104に保持されている
検索パターンの長さを演算用領域lに代入する。また、
演算用領域nに1を代入する。ステップS602では、
演算用領域nに対する位置リスト獲得処理を行ない、獲
得した位置リストを演算用配列A1に格納する。尚、こ
の位置リスト獲得処理の詳細については、図7を用いて
説明する。
【0044】ステップS603では、演算用領域nの示
す値が演算用領域lの示す値より大きいか否かを判定す
る。演算用領域nの示す値が演算用領域lの示す値より
大きい場合(ステップS603でYES)、ステップS
606に進む。一方、演算用領域nの示す値が演算用領
域lの示す値未満である場合(ステップS603でN
O)、ステップS604に進む。
【0045】ステップS604では、演算用領域nに対
する位置リスト獲得処理を行ない、獲得した位置リスト
を演算用配列A2に格納する。ステップS605では、
演算用配列A1と演算用配列2の両方に存在している値
を全て取り出し、これらの値だけからなる位置リストを
新たに演算用配列A1に格納する。そして、ステップS
603に戻る。
【0046】ステップS606では、演算用配列A1が
空であるか否かを調べる。空でない場合(ステップS6
06でNO)、ステップS607に進み、被検索テキス
トデータから検索パターンが検索されたことを示す値と
して1を検索結果保持部106に保持する。そして検索
処理を終了する。一方、空である場合(ステップS60
6でYES)、ステップS608に進み、被検索テキス
トデータから検索パターンが検索されなかったことを示
す値として0を検索結果保持部106に保持する。そし
て、検索処理を終了する。
【0047】次に、上述した図6のステップS602に
おける位置リスト獲得処理の詳細について、図7を用い
て説明する。図7は本発明の実施形態で実行される位置
リスト獲得処理の詳細を示すフローチャートである。ま
ず、ステップS701では、演算用領域mの値を演算用
領域nの値に初期化する。また、演算用領域kの値を0
に初期化する。ステップS702では、演算用領域mの
値が演算用領域kの値以下であるか否かを判定する。演
算用領域mの値が演算用領域kの値未満である場合(ス
テップS702でYES)、ステップ703に進む。一
方、演算用領域mの値が演算用領域kの値より大きい場
合(ステップS702でNO)、ステップS706に進
む。
【0048】ステップS703では、拡張コードテーブ
ルのk行で、検索パターンのm番目の文字に対応する列
の値をk’に代入する。ステップS704では、k’の
値が0であるか否かを判定する。k’の値が0である場
合(ステップS704でYES)、ステップS706に
進む。一方、k’の値が正の値である場合(ステップS
704でNO)、ステップS705に進む。ステップS
705では、演算用領域kにk’の値を代入し、演算用
領域mの値を1増やす。そして、ステップS702に戻
る。
【0049】ステップS706では、出現回数テーブル
のk行で、検索パターンのm番目の文字に対応する列C
(k,c)の値が0であるか否かを判定する。列C
(k,c)の値が0である場合(ステップS706でY
ES)、ステップS707に進み、空の位置リストを獲
得した位置リストとする。そして、ステップS711に
進む。一方、列C(k,c)の値が0でない場合(ステ
ップS706でYES)、ステップS708に進む。
【0050】ステップS708では、キーコードテーブ
ルのk行で、検索パターンのm番目の文字に対応する列
K(k,c)の値が0であるか否かを判定する。列K
(k,c)の値が0である場合(ステップS708でY
ES)、ステップS709に進み、キーコードテーブル
のk行で0列の値をキーとして、そのキーコードに対応
する位置リストを取り出す。そして、その全ての要素か
ら(nー1)を引いた位置リストを獲得した位置リスト
とする。続いて、ステップS712では、検索処理全般
で使用する演算用領域nにmを代入する。そして、位置
リスト獲得処理を終了する。
【0051】一方、列K(k,c)の値が0でない場合
(ステップS708でNO)、ステップS710に進
み、キーコードテーブルのk行で、検索パターンのm番
目の文字に対応する列の値をキーとして、そのキーコー
ドに対応する位置リストを取り出す。そして、その全て
の要素から(nー1)を引いた位置リストを獲得した位
置リストとする。続いて、ステップS711では、検索
処理全般で使用する演算用領域nに(m+1)を代入す
る。そして、位置リスト獲得処理を終了する。
【0052】次に、検索パターン「当日券」で検索する
場合の検索処理の具体例について説明していく。 1.l=3、n=1を代入する。(ステップS601) 2.n=1で位置リスト獲得処理を行なう。(ステップ
S602) (a)m=n=1、k=0を代入する。(ステップS7
01) (b)m<lなので(ステップS702でYES)、
k’=E(0,当)=0とする。(ステップS703) (c)k’=0(ステップS704でYES)、C
(0,当)=1(ステップS706でNO)、K(0,
当)=8(ステップS708でNO) なので、L(8)=(11)から0を引いた(11)を獲得する位
置リストとする。(ステップS710) (d)n=m+1=2とする。(ステップS711) 3.A1=(11)とする。(ステップS602) 4.n≦lなので(ステップS603でNO)、位置リ
スト獲得処理を行なう。(ステップS604) (a)m=n=2、k=0。(ステップS701) (b)m<lなので(ステップS702でYES)、
k’=E(0,日)=1とする。(ステップS703) (c)k’>0(ステップS704でNO)なので、k
=1、m=m+1=3とする。(ステップS705) (d)m=l(ステップS702でNO)、C(1,
券)=1(ステップS706でNO)、K(1,券)=
0(ステップS708でYES)なので、L(K0(1))
=L(9)=(12,16)から1を引いた(11,15)を獲得する位
置リストとする。(ステップS709) (e)n=m=3とする。(ステップS712) 5.A2=(11,15)とする。(ステップS604) 6.A1とA2の両方に存在する要素をとり、A1=(11)
とする。(ステップS605) 7.n≦lなので(ステップS603でNO)、位置リ
スト獲得処理を行なう。(ステップS604) (a)m=n=3、k=0。(ステップS701) (b)m≧lなので(ステップS702でNO)、C
(0,券)=1(ステップS706でNO)、K(0,
券)=11(ステップS708でNO)なので、L(11)
=(13)から2を引いた(11)を獲得する位置リストとす
る。(ステップS710) (c)n=m+1=4とする。(ステップS711) 8.A2=(11)とする。(ステップS604) 9.A1とA2の両方に存在する要素をとり、A1=(11)
とする。(ステップS605) 10.n>lなので(ステップS603でYES)、A
1は空でないので(ステップS606でNO)、検索パ
ターンが検索される。(ステップS607) 次に別の検索パターン「日本人」で検索する場合の検索
処理の具体例について説明していく。
【0053】 1.l=3、n=1を代入する。(ステップS601) 2.n=1で位置リスト獲得処理を行なう。(ステップ
S602) (a)m=n=1、k=0を代入する。(ステップS7
01) (b)m<lなので(ステップS702でYES)、
k’=E(0,日)=1とする。(ステップS703) (c)k’>0(ステップS704でNO)、k=1、
m=m+1とする。
【0054】(ステップS705) (d)m<lなので(ステップS702でYES)、
k’=E(1,本)=0とする。(ステップS703) (e)k’=0(ステップS704でYES)、C
(1,本)=2(ステップS706でNO)、K(1,
本)=10(ステップS708でNO)なので、L(10)
=(1,8)から0を引いた(1,8)を獲得する位置リストとす
る。(ステップS710) (f)n=m+1=3とする。(ステップS711) 3.A1=(1,8)とする。(ステップS602) 4.n≦lなので(ステップS603でNO)、位置リ
スト獲得処理を行なう。(ステップS604) (a)m=n=3、k=0。(ステップS701) (b)m≧lなので(ステップS702でNO)、C
(0,人)=0(ステップS706でYES)、空リス
ト()を獲得する位置リストとする。(ステップS70
7) (c)n=m+1=4とする。(ステップS711) 5.A2=()とする。(ステップS604) 6.A1とA2の両方に存在する要素をとり、A1=()と
する。(ステップS605) 7.n>lなので(ステップS603でYES)、A1
は空であるので(ステップS606でYES)、検索パ
ターンは検索されない。(ステップS608) 以上のように、本実施形態の情報処理装置の検索によれ
ば、インクリメンタル法などを利用した従来の情報処理
装置の検索に比べてキーの数を削減することができる。
上述の具体例において、従来のインクリメンタル法では
「日本」、「日券」、「日売」の3つのキーが作成され
るのに対し、本実施形態では「日本」、「日(o)」の2
つとなり、キーの数が削減される。
【0055】また、本実施形態では、作成するキーの数
が削減されても、検索処理における組み合わせ演算数が
大きく増えるわけではない。例えば、上述の「日本人」
の検索例では、1つの閾値を用いた1回の組み合わせ演
算で検索が完了している。これに対し、同様の閾値を使
って、従来のフレキシブル文字列インバージョン法で
は、組み合わせ演算が2回必要になる。つまり、本実施
形態では、従来に比べて、より高速に検索処理を実行す
ることができる。
【0056】以上説明したように、本実施形態によれ
ば、文字列としての一致だけではなく、インデックスの
キー数の増大を抑えるとともに組み合わせ演算数も削減
することで、インデックスサイズを抑えながら、検索時
間の短縮が可能になるという効果が得られる。尚、上記
実施形態においては、キーを拡張する際に全ての文字を
後接した文字列で候補を作成する場合について説明した
が、これに限定されるものではない。例えば、文字単独
での出現回数が閾値Cを越える文字だけを後接する候補
としてもよい。これにより、インデックス作成処理の計
算量が削減される。つまり、上述した実施形態の新キー
作成処理において、出現回数テーブルの0行目の値が閾
値C以下の列については、各ステップでの処理を行なわ
なければよい。あるいは、各テーブルの列には、出現回
数が閾値Cを越えた文字しか入れない方法でもよい。こ
の場合、各テーブルの0行目は分離したデータ構造とす
る。尚、どちらの方法にしても、本実施形態では、文字
の出現回数が閾値Cを越えた時点で、拡張するキーの再
計算処理を更に加える必要がある。
【0057】また、上記実施形態においては、キーを拡
張するにあたり新しいキーの出現回数が閾値Aを越えな
い場合は、残りをまとめたキーに一括して保持する場合
について説明したが、これに限定されるものではない。
新しいキーの出現回数が閾値Aを越えない場合は、保持
しなくてもよい。すなわち、キーコードテーブルの0列
目を作成しないことになる。また、拡張する前のキーを
使用すれば検索は可能である。但し、組み合わせ演算を
行なう際のリストの要素数が増えるので、検索時間が増
大する。また、新キー作成処理では、ステップS507
とステップS510で、新しく位置リストを作成する場
合には、拡張する前の元のキーの位置リストから求めれ
ばよい。
【0058】また、上記実施形態においては、全ての文
字について一括のインデックスを作成する場合について
説明したが、これに限定されるものではない。ひらが
な、カタカナ、漢字などの字種ごとにインデックスを分
けてもよい。この場合、拡張する場合には同一字種の文
字でのみ拡張してもよいし、他の字種の文字も含めて拡
張してもよい。
【0059】また、上記実施形態においては、インデッ
クスを作成しながらキーの拡張を行なう場合について説
明したが、これに限定されるものではない。一度被検索
テキストデータ中でのキーの出現回数を調べて、出現回
数テーブルを作成する。そして、その作成された出現回
数テーブルに基づいて、キーコードテーブル、拡張コー
ドテーブルを作成してから、位置リストの作成を進めて
もよい。
【0060】また、上記実施形態においては、拡張する
前のキーのキー長を1とする場合について説明したが、
これに限定されるものではない。全て2以上の一定値で
あってもよいし、キーの字種などによりキー長を変えて
もよい。また、上記実施形態においては、拡張するキー
のキー長の上限がない場合について説明したが、これに
限定されるものではない。拡張するキーのキー長に上限
を設けてもよい。
【0061】また、上記実施形態においては、キーを拡
張する際に、文字を後接する場合について説明したが、
これに限定されるものではない。前接したり間隔をあけ
た位置の文字を定めるなど任意に拡張してよい。また、
上記実施形態においては、2次元のテーブルを利用して
インデックスを管理する場合について説明したが、これ
に限定されるものではない。例えば、図15に示すよう
なトライを用いても実現できる。
【0062】図15は本発明の他の実施形態のインデッ
クスのデータ構造と作成例を示す図である。図15にお
いて、1501はルートノードである。ルートノード1
501は2つのデータをノード1502、ノード150
3にそれぞれ保持する。ノード1502は、そのノード
1502をキーとした場合のキーの出現回数を示すデー
タである。ノード1503は、そのノード1503をキ
ーとした場合のキーコードを示すデータである。トライ
では、上位のノードから自ノードまで辿る間の文字を付
加したものが自ノードのキーとなる。従って、例えば、
ノード1504は、キー「日本」を表す。また、ノード
1505は、「日」を拡張したキーで、実際に作成され
たキーに含まれない位置リストを保持するキーを示す。
尚、位置リストは、図11の位置リスト領域1104と
同じになる。
【0063】また、上記実施形態においては、図11に
示す各領域を予め十分な大きさで確保しておく場合につ
いて説明したが、これに限定されるものではない。必要
に応じて領域を増大させてもよい。また、上記実施形態
においては、閾値を固定した場合について説明したが、
これに限定されるものではない。字種などにより異なる
閾値を用いてもよい。また、被検索テキストデータの大
きさなどに応じて閾値を変化させてもよい。
【0064】また、上記実施形態においては、出現回数
テーブル、キーコードテーブル、拡張コードテーブルの
各テーブルの列を求める際に文字コードを使用する場合
について説明したが、これに限定されるものではない。
文字に対して内部的なコードを割り当て、そのコードで
列を参照してもよい。また、上記実施形態においては、
出現回数テーブル、キーコードテーブル、拡張コードテ
ーブルの各テーブルや位置リストを参照する際にコード
を使用する場合について説明したが、これに限定される
ものではない。各テーブルのアドレスを指し示すポイン
タなどを使用してもよい。
【0065】また、上記実施形態においては、被検索テ
キストデータ中に検索パターンが存在するか否かを検索
結果として保持する場合について説明したが、これに限
定されるものではない。被検索テキスト中の検索パター
ンの存在位置を検索結果として保持してもよい。この場
合、図6で説明した検索処理のステップS606の配列
A1の値が検索パターンの存在位置を示すので、これを
用いれば、検索パターンの存在位置を検索結果として保
持することができる。
【0066】また、上記実施形態においては、単一の被
検索テキストデータに対して検索を行なう場合について
説明したが、これに限定されるものではない。複数のテ
キストデータに対し、検索パターンが含まれるテキスト
データを検索するために用いてもよいことは言うまでも
ない。また、上記実施形態においては、インデックス作
成処理と検索処理を同一の情報処理装置で行なう場合に
ついて説明したが、これに限定されるものではない。イ
ンデックス作成処理と検索処理を異なる情報処理装置で
行ってもよい。この場合の各情報処理装置の機能構成に
ついて、図13と図14を用いて説明する。尚、図13
に示す情報処理装置と、図14に示す情報処理装置は、
例えば、ネットワーク回線で接続され互いにデータの授
受を可能とする構成になっている。また、あるいはイン
デックス作成処理をCD−ROM等の記憶媒体に記憶し
ておき、その記憶媒体を図14に示す情報処理装置に搭
載して互いにデータの授受を可能とする構成になってい
る。また、あるいは、検索処理をCD−ROM等の記憶
媒体に記憶しておき、その記憶媒体を図13に示す情報
処理装置に搭載して互いにデータの授受を可能とする構
成になっている
【0067】図13は本発明の他の実施形態に係る情報
処理装置の機能構成を示すブロック図である。図13に
おいて、1301は被検索テキスト保持部であり、被検
索テキストデータを保持する。1302はインデックス
保持部であり、被検索テキスト保持部1301に保持さ
れている被検索テキストデータに対して、キー集合に属
するキーに対して被検索テキストデータ中での当該キー
の出現位置を列挙すると共に、キーの出現回数が基準以
上の場合に、当該キーに1文字を付与したキー候補の中
から、被検索テキストデータ中での出現回数が別の基準
以上の場合に、当該キーをキー集合に加えて、同様に被
検索テキストデータ中での当該キーの出現位置を列挙し
たインデックスを作成する。1303はインデックス保
持部であり、インデックス作成部1302で作成したイ
ンデックスを保持する。
【0068】図14は本発明の他の実施形態に係る情報
処理装置の機能構成を示すブロック図である。図14に
おいて、1401はインデックス保持部であり、図13
に示す情報処理装置で作成されたインデックスを保持す
る。1402は検索パターン保持部であり、被検索テキ
ストデータから検索するパターンを保持する。1403
は検索部であり、インデックス保持部1401に保持さ
れているインデックスを用いて、検索パターン保持部1
402に保持されている検索パターンを被検索テキスト
データ中から検索する。1404は検索結果保持部であ
り、検索部1403による検索結果を保持する。
【0069】また、上記実施形態においては、被検索テ
キスト保持部101、検索パターン保持部104、検索
結果保持部106をRAM202で、インデックス保持
部102をディスク装置204で実現する場合について
説明したが、これに限定されるものではなく、任意の記
憶媒体を用いて実現してもよい。また、上記実施形態に
おいては、各構成要素を同一の情報処理装置上で構成す
る場合について説明したが、これに限定されるものでは
なく、ネットワーク上に分散した情報処理装置などに分
かれて各構成要素を構成してもよい。
【0070】また、上記実施形態においては、プログラ
ムをROM203に保持する場合について説明したが、
これに限定されるものではなく、任意の記憶媒体を用い
て実現してもよい。また、同様の動作をする回路で実現
してもよい。尚、本発明は、複数の機器(例えば、ホス
トコンピュータ、インタフェース機器、リーダ、プリン
タ等)から構成されるシステムに適用しても、一つの機
器からなる装置(例えば、複写機、ファクシミリ装置
等)に適用してもよい。
【0071】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体を、システムあるいは装置に供給し、そ
のシステムあるいは装置のコンピュータ(またはCPU
やMPU)が記憶媒体に格納されたプログラムコードを
読出し実行することによっても、達成されることは言う
までもない。
【0072】この場合、記憶媒体から読出されたプログ
ラムコード自体が上述した実施の形態の機能を実現する
ことになり、そのプログラムコードを記憶した記憶媒体
は本発明を構成することになる。プログラムコードを供
給するための記憶媒体としては、例えば、フロッピディ
スク、ハードディスク、光ディスク、光磁気ディスク、
CD−ROM、CD−R、磁気テープ、不揮発性のメモ
リカード、ROMなどを用いることができる。
【0073】また、コンピュータが読出したプログラム
コードを実行することにより、前述した実施形態の機能
が実現されるだけでなく、そのプログラムコードの指示
に基づき、コンピュータ上で稼働しているOS(オペレ
ーティングシステム)などが実際の処理の一部または全
部を行い、その処理によって前述した実施の形態の機能
が実現される場合も含まれることは言うまでもない。
【0074】更に、記憶媒体から読出されたプログラム
コードが、コンピュータに挿入された機能拡張ボードや
コンピュータに接続された機能拡張ユニットに備わるメ
モリに書き込まれた後、そのプログラムコードの指示に
基づき、その機能拡張ボードや機能拡張ユニットに備わ
るCPUなどが実際の処理の一部または全部を行い、そ
の処理によって前述した実施形態の機能が実現される場
合も含まれることは言うまでもない。
【0075】本発明を上記記憶媒体に適用する場合、そ
の記憶媒体には、先に説明したフローチャートに対応す
るプログラムコードを格納することになるが、簡単に説
明すると、図16、図17のメモリマップ例に示す各モ
ジュールを記憶媒体に格納することになる。すなわち、
図16に示す、少なくとも「保持モジュール」、「作成
モジュール」、「検索モジュール」および「出力モジュ
ール」の各モジュールのプログラムコードを記憶媒体に
格納すればよい。
【0076】尚、「保持モジュール」は、テキストデー
タを記憶媒体に保持する。「作成モジュール」は、記憶
媒体に保持されているテキストデータを構成する文字列
の内、所定回数以上出現する文字列に基づいて、該テキ
ストデータを構成する文字列の位置に関する位置情報を
作成する。「検索モジュール」は、作成された位置情報
を用いて、入力された検索パターンを有するテキストデ
ータを検索する。「出力モジュール」は、検索結果を出
力する。
【0077】また、図17に示す、少なくとも「作成モ
ジュール」および「管理モジュール」の各モジュールの
プログラムコードを記憶媒体に格納すればよい。尚、
「作成モジュール」は、入力されたテキストデータを構
成する文字列の各文字の内、所定回数以上出現する文字
列に基づいて、該テキストデータを構成する文字列の位
置に関する位置情報を作成する。「管理モジュール」
は、作成された位置情報とテキストデータを対応づけて
記憶媒体に管理する。
【0078】
【発明の効果】以上説明したように、本発明によれば、
テキストデータの検索に用いるインデックスのキーの増
大を抑えるとともに、検索速度を向上することができる
情報処理装置及びその方法を提供できる。
【図面の簡単な説明】
【図1】本発明の実施形態に係る情報処理装置の機能構
成を示すブロック図である。
【図2】本発明の実施形態の情報処理装置の構成を示す
ブロック図である。
【図3】本発明の実施形態で実行されるインデックス作
成処理を示すフローチャートである。
【図4】本発明の実施形態で実行される登録処理の詳細
を示すフローチャートである。
【図5】本発明の実施形態で実行される新キー作成処理
の詳細を示すフローチャートである。
【図6】本発明の実施形態で実行される検索処理を示す
フローチャートである。
【図7】本発明の実施形態で実行される位置リスト獲得
処理の詳細を示すフローチャートである。
【図8】従来の情報処理装置におけるインデックスの概
念を示す図である。
【図9】従来の情報処理装置におけるインデックスの概
念を示す図である。
【図10】従来の情報処理装置におけるインデックスの
概念を示す図である。
【図11】本発明の実施形態のインデックス保持部の詳
細な構成を示す図である。
【図12】本発明の実施形態のインデックス保持部の詳
細な構成を示す図である。
【図13】本発明の他の実施形態に係る情報処理装置の
機能構成を示すブロック図である。
【図14】本発明の他の実施形態に係る情報処理装置の
機能構成を示すブロック図である。
【図15】本発明の他の実施形態のインデックスのデー
タ構造と作成例を示す図である。
【図16】本発明の実施形態を実現するプログラムコー
ドを格納した記憶媒体のメモリマップの構造を示す図で
ある。
【図17】本発明の実施形態を実現するプログラムコー
ドを格納した記憶媒体のメモリマップの構造を示す図で
ある。
【符号の説明】
101 被検索テキスト保持部 102 インデックス作成部 103 インデックス保持部 104 検索パターン保持部 105 検索部 106 検索結果保持部

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 テキストデータを検索する情報処理装置
    であって、 テキストデータを保持する保持手段と、 前記保持手段で保持されているテキストデータを構成す
    る文字列の内、所定回数以上出現する文字列に基づい
    て、該テキストデータを構成する文字列の位置に関する
    位置情報を作成する作成手段と、 前記作成手段で作成された位置情報を用いて、入力され
    た検索パターンを有するテキストデータを検索する検索
    手段と、 前記検索手段による検索結果を出力する出力手段とを備
    えることを特徴とする情報処理装置。
  2. 【請求項2】 前記作成手段は、前記所定回数以上出現
    する文字列と所定の位置関係を有する文字列の位置に関
    する位置情報を作成することを特徴とする請求項1に記
    載の情報処理装置。
  3. 【請求項3】 前記作成手段は、前記所定回数以上出現
    する文字列に前接する文字列の位置に関する位置情報を
    作成することを特徴とする請求項1に記載の情報処理装
    置。
  4. 【請求項4】 前記作成手段は、前記所定回数以上出現
    する文字列に後接する文字列の位置に関する位置情報を
    作成することを特徴とする請求項1に記載の情報処理装
    置。
  5. 【請求項5】 前記テキストデータを構成する文字列
    は、1文字を含むことを特徴とする請求項1に記載の情
    報処理装置。
  6. 【請求項6】 前記作成手段は、前記テキストデータ中
    で、前記所定回数以上出現する文字列以外の文字列の位
    置に関する位置情報を作成し、該位置情報を一括して管
    理することを特徴とする請求項1に記載の情報処理装
    置。
  7. 【請求項7】 テキストデータを管理する情報処理装置
    であって、 入力されたテキストデータを構成する文字列の内、所定
    回数以上出現する文字に基づいて、該テキストデータを
    構成する文字列の位置に関する位置情報を作成する作成
    手段と、 前記作成手段で作成された位置情報と前記テキストデー
    タを対応づけて管理する管理手段とを備えることを特徴
    とする情報処理装置。
  8. 【請求項8】 テキストデータを検索する情報処理方法
    であって、 テキストデータを記憶媒体に保持する保持工程と、 前記保持工程で前記記憶媒体に保持されているテキスト
    データを構成する文字列の内、所定回数以上出現する文
    字列に基づいて、該テキストデータを構成する文字列の
    位置に関する位置情報を作成する作成工程と、 前記作成工程で作成された位置情報を用いて、入力され
    た検索パターンを有するテキストデータを検索する検索
    工程と、 前記検索工程による検索結果を出力する出力工程とを備
    えることを特徴とする情報処理方法。
  9. 【請求項9】 前記作成工程は、前記所定回数以上出現
    する文字列と所定の位置関係を有する文字列の位置に関
    する位置情報を作成することを特徴とする請求項8に記
    載の情報処理方法。
  10. 【請求項10】 前記作成工程は、前記所定回数以上出
    現する文字列に前接する文字列の位置に関する位置情報
    を作成することを特徴とする請求項8に記載の情報処理
    方法。
  11. 【請求項11】 前記作成工程は、前記所定回数以上出
    現する文字列に後接する文字列の位置に関する位置情報
    を作成することを特徴とする請求項8に記載の情報処理
    方法。
  12. 【請求項12】 前記テキストデータを構成する文字列
    は、1文字を含むことを特徴とする請求項8に記載の情
    報処理方法。
  13. 【請求項13】 前記作成工程は、前記テキストデータ
    中で、前記所定回数以上出現する文字列以外の文字列の
    位置に関する位置情報を作成し、該位置情報を一括して
    管理することを特徴とする請求項8に記載の情報処理方
    法。
  14. 【請求項14】 テキストデータを管理する情報処理方
    法であって、 入力されたテキストデータを構成する文字列の内、所定
    回数以上出現する文字列に基づいて、該テキストデータ
    を構成する文字列の位置に関する位置情報を作成する作
    成工程と、 前記作成工程で作成された位置情報と前記テキストデー
    タを対応づけて記憶媒体に管理する管理工程とを備える
    ことを特徴とする情報処理方法。
  15. 【請求項15】 テキストデータを検索する情報処理の
    プログラムコードが格納されたコンピュータ可読メモリ
    であって、 テキストデータを記憶媒体に保持する保持工程のプログ
    ラムコードと、 前記保持工程で前記記憶媒体に保持されているテキスト
    データを構成する文字列の内、所定回数以上出現する文
    字列に基づいて、該テキストデータを構成する文字列の
    位置に関する位置情報を作成する作成工程のプログラム
    コードと、 前記作成工程で作成された位置情報を用いて、入力され
    た検索パターンを有するテキストデータを検索する検索
    工程のプログラムコードと、 前記検索工程による検索結果を出力する出力工程のプロ
    グラムコードとを備えることを特徴とするコンピュータ
    可読メモリ。
  16. 【請求項16】 テキストデータを管理する情報処理の
    プログラムコードが格納されたコンピュータ可読メモリ
    であって、 入力されたテキストデータを構成する文字列の内、所定
    回数以上出現する文字列に基づいて、該テキストデータ
    を構成する文字列の位置に関する位置情報を作成する作
    成工程のプログラムコードと、 前記作成工程で作成された位置情報と前記テキストデー
    タを対応づけて記憶媒体に管理する管理工程のプログラ
    ムコードとを備えることを特徴とするコンピュータ可読
    メモリ。
JP9119869A 1997-05-09 1997-05-09 情報処理装置及びその方法 Withdrawn JPH10307840A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9119869A JPH10307840A (ja) 1997-05-09 1997-05-09 情報処理装置及びその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9119869A JPH10307840A (ja) 1997-05-09 1997-05-09 情報処理装置及びその方法

Publications (1)

Publication Number Publication Date
JPH10307840A true JPH10307840A (ja) 1998-11-17

Family

ID=14772286

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9119869A Withdrawn JPH10307840A (ja) 1997-05-09 1997-05-09 情報処理装置及びその方法

Country Status (1)

Country Link
JP (1) JPH10307840A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005223887A (ja) * 2004-01-06 2005-08-18 Pioneer Electronic Corp 音響特性調整装置
US7246107B2 (en) 2003-01-10 2007-07-17 International Business Machines Corporation System and method for creating a data file for use in searching a database
US7769753B2 (en) 2004-01-30 2010-08-03 Nec Corporation Method and system for retrieving a data pattern
JP2016122922A (ja) * 2014-12-24 2016-07-07 ソフトバンク株式会社 プログラム及び情報処理装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7246107B2 (en) 2003-01-10 2007-07-17 International Business Machines Corporation System and method for creating a data file for use in searching a database
JP2005223887A (ja) * 2004-01-06 2005-08-18 Pioneer Electronic Corp 音響特性調整装置
US7769753B2 (en) 2004-01-30 2010-08-03 Nec Corporation Method and system for retrieving a data pattern
JP2016122922A (ja) * 2014-12-24 2016-07-07 ソフトバンク株式会社 プログラム及び情報処理装置

Similar Documents

Publication Publication Date Title
ES2214535T3 (es) Procedimiento y sistema portatil de indexacion de documentos utilizando la descomposicion de palabras en n-grams.
CN107609098B (zh) 搜索方法及装置
EP0107435B1 (en) System for changing common card mode data in a card image data processing system
JPH09245043A (ja) 情報検索装置
JPH11224258A (ja) 画像検索装置及びその方法、コンピュータ可読メモリ
JPH05225238A (ja) データベース検索システム
JPH10307840A (ja) 情報処理装置及びその方法
JP4219122B2 (ja) 特徴語抽出システム
JPH10307842A (ja) 情報処理装置及びその方法
JPS60176169A (ja) 文章処理装置
CN107967300B (zh) 机构名称的检索方法、装置、设备及存储介质
JPH10307835A (ja) 情報処理装置及びその方法
JPH08190571A (ja) 文書検索方法
JP3288063B2 (ja) 可変長データの格納および参照システム
JPH10283368A (ja) 情報処理装置及びその方法
JP3022079B2 (ja) 全文データベースシステム
JP3825873B2 (ja) 情報処理装置及び方法
JPH10301940A (ja) 情報処理装置及びその方法
JP3896683B2 (ja) 使用者定義文字管理装置および記憶媒体
JP2001092831A (ja) 文書検索装置及び文書検索方法
JPS6129936A (ja) 検索方法
JPH10307834A (ja) 情報処理装置及び方法
JP3897409B2 (ja) 情報処理装置およびその方法、プログラムを格納した記憶媒体
JP3854684B2 (ja) 情報処理装置及びその方法
JP2961888B2 (ja) 用語辞書による文書検索システム

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20040803