[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP3825873B2 - Information processing apparatus and method - Google Patents

Information processing apparatus and method Download PDF

Info

Publication number
JP3825873B2
JP3825873B2 JP11729197A JP11729197A JP3825873B2 JP 3825873 B2 JP3825873 B2 JP 3825873B2 JP 11729197 A JP11729197 A JP 11729197A JP 11729197 A JP11729197 A JP 11729197A JP 3825873 B2 JP3825873 B2 JP 3825873B2
Authority
JP
Japan
Prior art keywords
character
search
attribute
index
excluded
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
JP11729197A
Other languages
Japanese (ja)
Other versions
JPH10307832A (en
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.)
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 JP11729197A priority Critical patent/JP3825873B2/en
Publication of JPH10307832A publication Critical patent/JPH10307832A/en
Application granted granted Critical
Publication of JP3825873B2 publication Critical patent/JP3825873B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は、指定された検索語を含むテキストを検索する情報処理装置及び方法に関し、特に文字位置インデックス方式を用いたテキスト検索を行なう情報処理装置及び方法に関するものである。
【0002】
【従来の技術】
文書中の全てのテキストを対象として与えられた検索キーを含む文書を検索する全文検索装置などのテキスト検索装置では、大量のテキストを高速に検索するために、検索対象文書のインデックスを予め作成して、インデックスを用いて検索を行なうインデックス技術が利用されている。
【0003】
インデックス技術の一例として、特開平4-205560号公報では、文字位置インデックス技術について述べられている。文字位置インデックス技術の基本的な考え方は、被検索テキスト中に出現する文字および文字列の位置を文字ごとに1ずつ増加する整数で表わすことにある。よって、各文字および文字列ごとに、当該文字および文字列をキーとして、当該文字および文字列が現れる全ての位置を列挙するインデックス(文字位置インデックス)を用いて検索が行なわれる。
【0004】
このインデックスにおいて、ある検索文字列を被検索テキストから検索する場合には、当該検索文字列をインデックスのキーとなっている文字および文字列に分解し、分解した文字および文字列の位置関係が、当該検索文字列における位置関係に一致する組合せを探すことで検索を行なう。
【0005】
図5は、この従来例の装置の基本構成を示すブロック図である。同図において、501は、被検索テキストを保持する被検索テキスト保持部である。502は、被検索テキスト保持部501に保持されている被検索テキストに対して、被検索テキスト中の文字ごとに、被検索テキストの文書番号と被検索テキスト中での当該文字の位置とを列挙したインデックスを作成するインデックス作成部である。503は、インデックス作成部502で作成したインデックスを保持するインデックス保持部である。504は、検索を行なう文字列を保持する検索文字列保持部である。505は、インデックス保持部503に保持されているインデックスを用いて、検索文字列保持部504に保持されている検索文字列に一致する被検索テキスト中の文字列を検索する検索部である。506は、検索部による検索結果を保持する検索結果保持部である。
【0006】
次に、図6を参照してインデックス作成処理を説明する。ステップS601では、カウンタcの初期化を行なう。このカウンタcは、処理の対象となっている文字の位置を示すもので、ここではこれを0に初期化する。そしてステップS602に移る。
【0007】
ステップS602では、ポインタpの初期化を行なう。ポインタpは、処理の対象となっている文字を指し示すもので、これを被検索テキストの先頭文字に初期化する。そしてステップS603に移る。
【0008】
ステップS603では、ポインタpが被検索テキストの最後に達したか否かを判定して、達した場合はインデックス作成処理を終了する。達していない場合は、ステップS604に移る。
【0009】
ステップS604では、ポインタpが示す位置にある文字について、インデックスの当該文字の位置リストにカウンタcの値を追加する。そしてステップS605に移る。ステップS605では、カウンタcの値を1増やす。そしてステップS606に移る。ステップS606では、ポインタpが次の文字を指すようにする。そしてステップS603に戻る。
【0010】
この処理により、例えば、図8に示す文書に対して、図9に示すインデックスが作成される。ここでは、全角スペースを「□」、改行文字を「\n」で表している。なお、図8および図9では、いくつかの文字以外については表示を省略している。図9の各行が、各文字が現れる位置のリストとなっている。例えば、文字「文」は、位置10、17、32、…に出現している。
【0011】
次に、図7のフローチャートを参照して、従来例における検索処理の概要を説明する。ステップS701では、検索文字列保持部504に保持されている検索文字列の長さをLに代入する。また、nに1を代入する。例えば、検索文字列が「全文検索」である場合は、L=4、n=1となる。そしてステップS702に移る。
【0012】
ステップS702では、検索文字列保持部504に保持されている検索文字列の1番目の文字について、インデックスの読み込みを行なう。当該文字の文書番号と文字位置の組を全て配列1に読み込む。そしてステップS703に移る。図12は、図9に示したインデックスを用いて検索文字列「全文検索」を検索しているときの上記配列1の状態を示している。
【0013】
ステップS703では、変数Lとnを比較し、n<Lである場合は、ステップS704に移る。n≧Lである場合は、ステップS707に移る。
【0014】
ステップS704では、nの値を1増やす。そしてステップS705に移る。ステップS705では、検索文字列保持部504に保持されている検索文字列のn番目の文字について、インデックスの読み込みを行なう。そして、当該文字の全ての文字位置から(n−1)を減じた値を配列2に読み込む。そしてステップS706に移る。
【0015】
ステップS706では、配列1と配列2から、配列1と配列2の両方に存在している値を全て取り出し、これらの値だけを新たに配列1の値とする。そしてステップS703に戻る。図13は、先に示した検索例におけるn=3のときの配列1の状態を示している。
【0016】
ステップS707では、配列1が空でなければ、検索文字列が検索されたことを示す値として1を検索結果保持部506に保持する。また、配列1が空の場合は、検索文字列が検索されなかったことを示す値として0を検索結果保持部506に保持する。そして全ての処理を終了する。
【0017】
この処理の結果、先の例では検索文字列「全文検索」を検索すると、位置31に当該文字列があるので、このテキストが検索されることになる。
【0018】
【発明が解決しようとする課題】
しかしながら、上記従来の装置では、被検索テキストの全ての文字についてインデックスを作成しているので、被検索テキストの文字列中に文書整形のための改行文字や空白文字などが挿入されている場合には、その部分の文字列は検索されないという欠点があった。例えば、図9に示したインデックスを用いて「対象」を検索すると、「対」の文字位置が0、「象」の文字位置が3なので、このテキストは検索されない。
【0019】
一方、改行文字や空白文字などを全て読み飛ばしてインデックスを作成すると、文字列間の区切りを表すような文字までも読み飛ばしてしまい、前後の文字列が連続することになり、誤検索の原因となる。例えば、図8に示す文書に対して改行文字と空白文字を読み飛ばしてインデックスを作成すると、図10に示すインデックスが得られる。このインデックスを用いて「全文検索」を検索すると、位置7、28に当該文字列があることになってしまう。
【0020】
本発明は上記の問題に鑑みてなされたものであり、インデックス生成に際して文字位置の順位を与えずにインデックスへの登録対象から除外される文字と、文字位置の順位を与えてインデックスへの登録対象から除外される文字とを指定することを可能とし、被検索テキストの形式と検索意図に応じたインデックスの作成を可能とする情報処理装置及び方法を提供することを目的とする。
【0021】
また、本発明の他の目的は、検索に際して与える検索文字列に関して、文字位置の順位を与えずに検索文字列から除外される文字と、文字位置の順位を与えて検索文字列から除外される文字とを指定することを可能とし、被検索テキストの形式や検索意図に応じた検索を可能とする情報処理装置及び方法を提供することにある。
【0022】
【課題を解決するための手段】
上記の目的を達成するための本発明の情報処理装置は、
第1属性もしくは第2属性のいずれかを有する1つ以上の除外文字を保持する保持手段と、
検索対象データの各文字について当該検索対象データにおける文字位置順位を登録したインデックスを生成する生成手段とを備え、
前記生成手段は、前記保持手段に保持された前記第1属性を有する除外文字を文字位置順位を与えずに前記インデックスへの登録対象から除外し、前記第2属性を有する除外文字を文字位置順位を与えて該インデックスへの登録対象から除外することを特徴とする。
【0023】
また、上記の目的を達成するための本発明の他の構成の情報処理装置は、
第1属性もしくは第2属性のいずれかを有する1つ以上の除外文字を保持する保持手段と、
検索対象データの各文字について当該検索対象データにおける文字位置順位を登録したインデックスから、与えられた検索文字列を検索する検索手段とを備え、
前記検索手段は、前記第1属性を有する除外文字を文字位置順位を与えずに前記検索文字列から除外し、前記第2属性を有する除外文字を文字位置順位を与えて該検索文字列から除外することにより得られる前記検索文字列の除外文字を除く各文字の文字位置順位を用いて前記インデックスを検索することを特徴とする。
【0024】
更に上記の目的を達成する本発明の他の構成の情報処理装置は、
第1属性もしくは第2属性のいずれかを有する1つ以上の除外文字を保持する保持手段と、
検索対象データの各文字について当該検索対象データにおける文字位置順位を登録したインデックスを生成する生成処理を実行し、該生成処理において前記保持手段に保持された前記第1属性を有する除外文字を文字位置順位を与えずに前記インデックスへの登録対象から除外し、前記第2属性を有する除外文字を文字位置順位を与えて該インデックスへの登録対象から除外する生成手段と、
前記生成手段で生成したインデックスから、与えられた検索文字列を検索する検索処理を実行し、該検索処理において、前記第1属性を有する除外文字を文字位置順位を与えずに前記検索文字列から除外し、前記第2属性を有する除外文字を文字位置順位を与えて前記検索文字列から除外することにより得られる前記検索文字列の除外文字を除く各文字の文字位置順位を用いて前記インデックスを検索する検索手段とを備える。
【0025】
また、本発明によれば、上記各情報処理装置によって実現される情報処理方法が提供される。
【0026】
また、本発明によれば、上記情報処理装置の構成を実現する制御プログラムを格納したコンピュータ可読メモリが提供される。
【0027】
【発明の実施の形態】
以下、添付の図面を参照して本発明の好適な一実施形態を詳細に説明する。
【0028】
図1は、本実施形態のテキスト検索装置の機能構成を示すブロック図である。同図において、101は、被検索テキストを保持する被検索テキスト保持部である。102は、読み飛ばし文字と非作成文字を保持するスキップ文字保持部である。103は、インデックス作成部であり、被検索テキスト保持部101に保持されている被検索テキストに関して、スキップ文字保持部102に保持されている読み飛ばし文字と非作成文字を参照して、被検索テキスト中の文字ごとに、被検索テキスト中での当該文字の位置を列挙したインデックスを作成する。
【0029】
104は、インデックス作成部103で作成したインデックスを保持するインデックス保持部である。105は、検索を行なう文字列を保持する検索文字列保持部である。106は、インデックス保持部104に保持されているインデックスを用いて、スキップ文字保持部102に保持されている読み飛ばし文字と非作成文字を参照して、検索文字列保持部105に保持されている検索文字列に一致する文字列を検索する検索部である。107は、検索部106による検索結果を保持する検索結果保持部である。
【0030】
図2は、本実施形態に係るテキスト検索装置のハードウェア構成の概要を示すブロック図である。同図において、201は後述する制御手順を実現するプログラムを保持するROMである。202はRAMで、上述した、被検索テキスト保持部101、検索文字列保持部105、検索結果保持部107と、上記プログラムの動作に必要な記憶領域とを提供する。203はROM201に保持されているプログラムに従って処理を行なう中央処理装置である。204はディスク装置であり、インデックス保持部104、スキップ文字保持部102を実現する。205はバスであり、上記の各構成を接続し、各構成間におけるデータの授受を可能とする。
【0031】
また、206はキーボードであり、テキスト検索装置へのユーザによる各種入力を行なう。なお、キーボード206を介して所定の操作を行なうことにより、スキップ文字保持部102に読み飛ばし文字と非作成文字とを設定することが可能である。また、207はディスプレイであり、中央処理装置203の制御により、検索結果等、各種の表示を行なう。また、出力装置としてのプリンタや、ネットワーク等への接続を可能とする構成を設けてもよいことはいうまでもない。
【0032】
なお、後述の図3、図4のフローチャートで説明される制御手順を実現するための制御プログラムはROM201に格納されるものとするがこれに限らない。例えば、ディスク204等の外部記憶装置に制御プログラムを格納しておき、これをRAM202にロードして中央処理装置203が実行するように構成してもよいことは明らかである。
【0033】
次に、本装置の動作を説明する。本実施形態の処理は、インデックスの作成処理と検索処理に大きく分かれる。まず、本実施形態のテキスト検索装置におけるインデックス作成処理の手順を説明する。図3は、本実施形態のテキスト検索装置におけるインデックス作成処理を説明するフローチャートである。また、図11は本実施形態のインデックス作成処理にて図8の文書例を処理した場合に生成されるインデックスの一部を示す図である。なお、以下で説明するインデックス作成処理はインデックス作成部103によって実行されるものである。
【0034】
ステップS301では、カウンタcの初期化を行なう。カウンタcは、処理の対象となっている文字の位置を示すもので、これを0に初期化する。そしてステップS302に移る。ステップS302では、ポインタpの初期化を行なう。ポインタpは、処理の対象となっている文字を指し示すもので、これを非検索テキスト保持部101に保持された被検索テキストの先頭文字に初期化する。そしてステップS303に移る。
【0035】
ステップS303では、ポインタpが被検索テキストの最後に達したか否かを判定して、最後に達した場合は当該インデックス作成処理を終了する。一方、達していなければ、処理はステップS304に移る。ステップS304では、ポインタpが示す位置にある文字が読み飛ばし文字か否かを判定して、読み飛ばし文字の場合は、ステップS308に移る。読み飛ばし文字でない場合は、ステップS305に移る。
【0036】
ステップS305では、ポインタpが示す位置にある文字が非作成文字か否かを判定して、非作成文字の場合は、ステップS307に移る。非作成文字でない場合は、ステップS306に移る。ステップS306では、ポインタpが示す位置にある文字について、インデックスの当該文字の位置リストにカウンタcの値を追加する。そしてステップS307に移る。ステップS307では、カウンタcの値を1増やす。そしてステップS308に移る。ステップS308では、ポインタpが次の文字を指すようにする。そしてステップS303に戻る。
【0037】
以上の処理により、例えば、図8に示す文書に対して、空白文字を読み飛ばし文字、改行文字を非作成文字とすると、図11に示すインデックスが作成される。図11の各行が、各文字が現れる位置のリストとなっている。また、空白文字と改行文字のインデックスは作成されず、空白文字の前後の文字の位置の差は1、改行文字の前後の文字の位置の差は2となっている。このインデックスを用いて、検索文字列「対象」を検索すると、位置0に当該文字列があるので、このテキストが検索されことになる。以上のようにして作成されたインデックスはインデックス保持部104によってRAM202の適当なエリアに保持される。
【0038】
次に、本実施形態における検索処理の概要を説明する。図4は本実施形態による検索処理の手順を説明するフローチャートである。
【0039】
ステップS401では、検索文字列保持部105に保持されている検索文字列の長さをLに代入する。また、nに1、mに0を代入する。なお、mは検索文字列中の読み飛ばし文字の数を表す。次に、ステップS402では、検索文字列保持部105に保持されている検索文字列の1番目の文字についてインデックスの読み込みを行ない、当該文字の文字位置を全て配列1に読み込む。そしてステップS403に移り、変数Lとnを比較する。この結果、n<Lである場合はステップS404に移る。また、n≧Lである場合は、ステップS410に移る。
【0040】
ステップS404では、nの値を1増やす。そしてステップS405に移る。ステップS405では、検索文字列保持部105に保持されている検索文字列のn番目の文字が、スキップ文字保持部102に保持された非作成文字であるか否かを判定する。判定の結果、非作成文字の場合はステップS403に戻る。また、当該文字が非作成文字でない場合は、ステップS406に移る。
【0041】
ステップS406では、検索文字列保持部105に保持されている検索文字列のn番目の文字が、スキップ文字保持部102に保持された読み飛ばし文字か否かを判定する。この判定の結果、読み飛ばし文字の場合はステップS407に移り、読み飛ばし文字でない場合はステップS408に移る。
【0042】
ステップS407では、mの値を1増やす。そしてステップS403に戻る。
【0043】
さて、当該n文字目が非作成文字でも読み飛ばし文字でも無い場合はステップS408へ進む。ステップS408では、検索文字列保持部105に保持されている検索文字列のn番目の文字について、インデックスの読み込みを行なう。そして、当該n番目の文字について検索された全ての文字位置から(n−m−1)を減じた値を配列2に読み込む。ステップS409では、配列1と配列2から、配列1と配列2の両方に存在している値を全て取り出し、これらの値だけを新たに配列1の値とする。そしてステップS403に戻る。
【0044】
以上のようにして、検索文字列の全ての文字について処理を終えると、処理はステップS403からS410へ進む。ステップS410では、配列1が空でなければ、検索キーが検索されたことを示す値として1を検索結果保持部107に保持する。配列1が空の場合は、検索キーが検索されなかったことを示す値として0を検索結果保持部107に保持する。そして全ての処理を終了する。
【0045】
以上説明したように、本実施形態によれば、文字位置を増やさずにスキップする読み飛ばし文字と、文字位置を増やしてスキップする非作成文字を指定することが可能となるので、被検索テキストの文書形式と検索意図とに応じたインデックスの作成と検索が行なえるようになる。
【0046】
なお、上記検索処理では、検索文字列に読み飛ばし文字や非作成文字が存在するか否かで処理を変更するが、検索文字列に読み飛ばし文字や非作成文字が含まれないという前提のもとであれば、一般的な検索処理を適用できることはいうまでもない。
【0047】
<他の実施形態>
(1)上記実施形態においては、インデックスの作成と検索を同一装置で行なう場合について説明したが、これに限定されるものではなく、例えばインデックスの作成だけを行なう装置、検索だけを行なう装置というように分離させても良い。
【0048】
図14はインデックスの作成を行なう装置の基本的な機能構成を示すブロック図である。図14において、1401は、被検索テキストを保持する被検索テキスト保持部である。1402は、読み飛ばし文字と非作成文字を保持するスキップ文字保持部である。1403は、被検索テキスト保持部1401に保持されている被検索テキストに対して、スキップ文字保持部1402に保持されている読み飛ばし文字と非作成文字を参照して、被検索テキスト中の文字ごとに、被検索テキスト中での当該文字の位置を列挙したインデックスを作成するインデックス作成部である。1404は、インデックス作成部1403で作成したインデックスを保持するインデックス保持部である。インデックス保持部1404に保持されたインデックスと、スキップ文字保持部1402に保持された読み飛ばし文字と非作成文字は、通信回線を通したり、可搬記録媒体によって他の装置に移されて検索が行なわれる。
【0049】
なお、インデックス作成の手順は、図3のフローチャートで説明したとおりであるので、ここでは説明を省略する。
【0050】
(2)次に、上述の(1)ようにして提供されたインデックスを用いて検索を行なう装置を説明する。図15はこの場合の基本的な機能構成を示すブロック図である。図15において、1501は、図14に示す装置で作成されたインデックスを保持するインデックス保持部である。1502は、図14に示す装置でインデックスを作成する際に用いた読み飛ばし文字と非作成文字を保持するスキップ文字保持部である。1503は検索を行なう文字列を保持する検索文字列保持部である。1504は、インデックス保持部1501に保持されているインデックスを用いて、スキップ文字保持部1502に保持されている読み飛ばし文字と非作成文字を参照して検索文字列保持部1503に保持されている検索文字列に一致する文字列を検索する検索部である。1505は、検索部1504による検索結果を保持する検索結果保持部である。
【0051】
インデックス保持部1501とスキップ文字保持部1502には、上記実施形態の手順で作成されたインデックスと読み飛ばし文字及び非作成文字が、通信回線或いは可搬記録媒体等を介して提供され、保持される。
【0052】
なお、検索処理の手順は図4のフローチャートを参照して説明したとおりであるので、ここでは説明を省略する。
【0053】
(3)また、上記実施形態では、インデックスのキーとして1文字を用いる場合について説明したが、これに限定されるものではなく、任意の長さの文字列を用いてもよい。
【0054】
(4)また、上記実施形態では、検索文字列の先頭文字から順次処理を行なう場合について説明したが、これに限定されるものではなく、検索語の任意の文字から検索を行なってもよい。
【0055】
(5)また、上記実施形態では、検索時に1つのインデックスを使用するよう説明しているが、別々に作成された複数のインデックスを同時に検索できるように構成しても良い。この場合、複数のインデックスで同じ語を検索したい場合において、1つずつインデックスを検索対象に設定して検索条件を指定するという手間を省くことができる。
【0056】
(6)また、上記実施形態では、読み飛ばし文字と非作成文字として各1文字を指定する場合について説明したが、これに限定されるものではなく、読み飛ばし文字と非作成文字のそれぞれについて複数の文字を指定してもよい。
【0057】
(7)また、上記実施形態では、読み飛ばし文字と非作成文字として文字を指定する場合について説明したが、これに限定されるものではなく、任意の長さの文字列を読み飛ばし文字列あるいは非作成文字列として指定してもよい。また、非作成文字と読み飛ばし文字の例として「スペース」、「改行」をあげたが、このほかに「タブ」、「キャリッジリターン」等のスペースや改行に相当するものや、「:」「(」等、検索語として指定されないような文字(記号)も非作成文字や読み飛ばし文字として設定可能である。属性情報(上付き,下付き等)もスキップ文字として設定可能であるが、その情報を含んだ検索語の正しい検索が行なえなくなる可能性がある。
【0058】
(8)また、上記実施形態では、インデックス作成時に指定された読み飛ばし文字と非作成文字を検索時にも参照し、検索文字列中の読み飛ばし文字と非作成文字に関してインデックスの読み込みを行なわないように説明している。しかしながら、読み飛ばし文字と非作成文字を参照せずに従来通りの検索を行なって、検索文字列中に読み飛ばし文字や非作成文字が含まれている場合には検索できないようにすることもできる。
【0059】
(9)また、上記実施形態では、インデックス作成時に指定された読み飛ばし文字と非作成文字を検索時にも参照し、検索文字列中の読み飛ばし文字と非作成文字に関してインデックスの読み込みを行なわないように説明しているが、検索文字列中に読み飛ばし文字と非作成文字が含まれている場合にはその旨を通知するように構成することもできる。
【0060】
(10)また、上記実施形態においては、被検索テキスト保持部101、検索文字列保持部105、検索結果保持部107をRAM202で、インデックス保持部104、スキップ文字保持部102をディスク装置204で実現するように説明した。しかしながら、これに限定されるものではなく、任意の記憶媒体を用いて実現してもよいことは明らかである。
【0061】
(11)また、上記実施形態においては、図1、図14、図15で示される各機能ブロックを同一の計算機上で構成する場合について説明したが、これに限定されるものではない。例えば、ネットワーク上に分散した計算機や処理装置などに分かれて各ブロックを構成するようにしてもよい。
【0062】
(12)また、上記実施形態においては、プログラムをROM201に保持する場合について説明したが、これに限定されるものではなく、任意の記憶媒体を用いて実現してもよい。また、上記実施形態で説明した制御動作を実現する回路で構成されてもよい。
【0063】
なお、本発明は、複数の機器(例えばホストコンピュータ,インタフェイス機器,リーダ,プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用してもよい。
【0064】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【0065】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0066】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
【0067】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0068】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0069】
【発明の効果】
以上説明したように本発明によれば、インデックス生成に際して文字位置の順位を与えずにインデックスへの登録対象から除外される文字と、文字位置の順位を与えてインデックスへの登録対象から除外される文字とを指定することが可能となり、被検索テキストの形式と検索意図に応じたインデックスの作成が可能となる。
【0070】
また、本発明によれば、検索に際して与える検索文字列に関して、文字位置の順位を与えずに検索文字列から除外される文字と、文字位置の順位を与えて検索文字列から除外される文字とを指定することが可能となり、被検索テキストの形式や検索意図に応じた検索が可能となる。
【0071】
【図面の簡単な説明】
【図1】本実施形態のテキスト検索装置の機能構成を示すブロック図である。
【図2】本実施形態に係るテキスト検索装置のハードウェア構成の概要を示すブロック図である。
【図3】本実施形態のテキスト検索装置におけるインデックス作成処理を説明するフローチャートである。
【図4】本実施形態による検索処理の手順を説明するフローチャートである。
【図5】従来例の装置の基本構成を示すブロック図である。
【図6】従来の装置例におけるインデックス作成処理の概要を示すフローチャートである。
【図7】従来の装置例における検索処理の概要を示すフローチャートである。
【図8】被検索テキストの例を示す図である。
【図9】従来の装置例におけるインデックスの例を示す図である。
【図10】従来の装置例におけるインデックスの例を示す図である。
【図11】本実施形態のインデックス作成処理にて図8の文書例を処理した場合に生成されるインデックスの一部を示す図である。
【図12】従来の装置例における検索処理の途中の状態を示す図である。
【図13】従来の装置例における検索処理の途中の状態を示す図である。
【図14】他の実施形態における、インデックスの作成を行なう装置の基本的な機能構成を示すブロック図である。
【図15】他の実施形態における、検索を行なう装置の基本的な機能構成を示すブロック図である。
【符号の説明】
101、501 被検索テキスト保持部
102 スキップ文字保持部
103、502 インデックス作成部
104、503 インデックス保持部
105、504 検索文字列保持部
106、505 検索部
107、506 検索結果保持部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an information processing apparatus and method for searching for text including a specified search word, and more particularly to an information processing apparatus and method for performing text search using a character position index method.
[0002]
[Prior art]
In a text search device such as a full-text search device that searches a document including a search key given to all texts in a document, an index of the search target document is created in advance in order to search a large amount of text at high speed. Therefore, an index technique for performing a search using an index is used.
[0003]
As an example of the index technique, Japanese Patent Application Laid-Open No. 4-205560 describes a character position index technique. The basic idea of the character position index technique is to represent the position of characters and character strings appearing in the text to be searched by an integer that increases by one for each character. Therefore, for each character and character string, a search is performed using the character and character string as a key and an index (character position index) enumerating all positions where the character and character string appear.
[0004]
In this index, when searching for a certain search character string from the searched text, the search character string is decomposed into a character and a character string that are keys of the index, and the positional relationship between the decomposed character and the character string is A search is performed by searching for a combination that matches the positional relationship in the search character string.
[0005]
FIG. 5 is a block diagram showing the basic configuration of this conventional apparatus. In the figure, reference numeral 501 denotes a search text holding unit that holds a search text. 502 enumerates the text to be searched held in the text to be searched holding unit 501 for each character in the searched text and the document number of the searched text and the position of the character in the searched text. This is an index creation unit that creates the index. Reference numeral 503 denotes an index holding unit that holds the index created by the index creating unit 502. A search character string holding unit 504 holds a character string to be searched. Reference numeral 505 denotes a search unit that searches for a character string in the search target text that matches the search character string held in the search character string holding unit 504 using the index held in the index holding unit 503. Reference numeral 506 denotes a search result holding unit that holds search results obtained by the search unit.
[0006]
Next, the index creation process will be described with reference to FIG. In step S601, the counter c is initialized. The counter c indicates the position of the character to be processed, and is initialized to 0 here. Then, the process proceeds to step S602.
[0007]
In step S602, the pointer p is initialized. The pointer p indicates a character to be processed, and is initialized to the first character of the text to be searched. Then, the process proceeds to step S603.
[0008]
In step S603, it is determined whether or not the pointer p has reached the end of the text to be searched. If the pointer p has reached, the index creation process is terminated. If not, the process moves to step S604.
[0009]
In step S604, for the character at the position indicated by the pointer p, the value of the counter c is added to the position list of the character in the index. Then, the process proceeds to step S605. In step S605, the value of the counter c is incremented by one. Then, the process proceeds to step S606. In step S606, the pointer p points to the next character. Then, the process returns to step S603.
[0010]
By this processing, for example, the index shown in FIG. 9 is created for the document shown in FIG. Here, a double-byte space is represented by “□” and a line feed character is represented by “\ n”. In FIG. 8 and FIG. 9, the display is omitted except for some characters. Each line in FIG. 9 is a list of positions where each character appears. For example, the character “sentence” appears at positions 10, 17, 32,.
[0011]
Next, an overview of search processing in the conventional example will be described with reference to the flowchart of FIG. In step S701, the length of the search character string held in the search character string holding unit 504 is substituted for L. Also, 1 is substituted for n. For example, when the search character string is “full text search”, L = 4 and n = 1. Then, the process proceeds to step S702.
[0012]
In step S702, the index is read for the first character of the search character string held in the search character string holding unit 504. All sets of document numbers and character positions of the characters are read into the array 1. Then, the process proceeds to step S703. FIG. 12 shows the state of the array 1 when the search character string “full text search” is searched using the index shown in FIG. 9.
[0013]
In step S703, the variables L and n are compared. If n <L, the process proceeds to step S704. If n ≧ L, the process proceeds to step S707.
[0014]
In step S704, the value of n is incremented by one. Then, the process proceeds to step S705. In step S705, the index is read for the nth character of the search character string held in the search character string holding unit 504. Then, a value obtained by subtracting (n−1) from all the character positions of the character is read into the array 2. Then, the process proceeds to step S706.
[0015]
In step S706, all values existing in both the arrays 1 and 2 are extracted from the arrays 1 and 2, and only these values are newly set as the values of the array 1. Then, the process returns to step S703. FIG. 13 shows the state of array 1 when n = 3 in the above-described search example.
[0016]
In step S707, if the array 1 is not empty, 1 is stored in the search result storage unit 506 as a value indicating that the search character string has been searched. If the array 1 is empty, 0 is held in the search result holding unit 506 as a value indicating that the search character string has not been searched. Then, all the processes are finished.
[0017]
As a result of this processing, when the search character string “full text search” is searched in the previous example, this text is searched because there is the character string at position 31.
[0018]
[Problems to be solved by the invention]
However, since the above-mentioned conventional apparatus creates an index for all characters of the searched text, a line feed character or a blank character for formatting the document is inserted in the character string of the searched text. Had the disadvantage that the string of that part was not searched. For example, if “target” is searched using the index shown in FIG. 9, the character position of “pair” is 0 and the character position of “elephant” is 3, so this text is not searched.
[0019]
On the other hand, if an index is created by skipping all newline characters and white space characters, even characters that represent a delimiter between character strings are skipped, and the preceding and following character strings are contiguous, causing erroneous search It becomes. For example, when the index shown in FIG. 10 is created by skipping the line feed character and the blank character in the document shown in FIG. When “full text search” is searched using this index, the character string is located at positions 7 and 28.
[0020]
The present invention has been made in view of the above-described problems. Characters that are excluded from registration targets in the index without giving the position of the character position when generating the index, and registration targets in the index by giving the order of the character position It is an object of the present invention to provide an information processing apparatus and method that can specify a character that is excluded from the search, and that can create an index according to the format of the search target text and the search intention.
[0021]
Another object of the present invention is to exclude a character to be excluded from a search character string without giving a character position order and a character position order with respect to a search character string given at the time of search. An object of the present invention is to provide an information processing apparatus and method capable of designating a character and capable of performing a search according to a search text format and a search intention.
[0022]
[Means for Solving the Problems]
In order to achieve the above object, an information processing apparatus of the present invention provides:
Holding means for holding one or more excluded characters having either the first attribute or the second attribute;
Generating means for generating, for each character of the search target data, an index in which the character position order in the search target data is registered;
The generating means excludes the excluded character having the first attribute held in the holding means from the registration target in the index without giving the character position order, and the excluded character having the second attribute is character position order. And is excluded from registration targets in the index.
[0023]
In addition, an information processing apparatus of another configuration of the present invention for achieving the above object is
Holding means for holding one or more excluded characters having either the first attribute or the second attribute;
Search means for searching a given search character string from an index in which the character position order in the search target data is registered for each character of the search target data,
The search means excludes the excluded character having the first attribute from the search character string without giving a character position order, and excludes the excluded character having the second attribute from the search character string by giving a character position order. To do Searching the index using the character position order of each character excluding the excluded characters of the search character string obtained by It is characterized by.
[0024]
Furthermore, an information processing apparatus of another configuration of the present invention that achieves the above object is as follows:
Holding means for holding one or more excluded characters having either the first attribute or the second attribute;
For each character of the search target data, a generation process for generating an index in which the character position order in the search target data is registered is executed, and the excluded character having the first attribute held in the holding unit in the generation process Generating means for excluding from the registration target in the index without giving a ranking, and excluding the excluded characters having the second attribute from the registration target in the index by giving a character position ranking;
A search process for searching for a given search character string is executed from the index generated by the generating means, and in the search process, an excluded character having the first attribute is extracted from the search character string without giving a character position order. Exclude and exclude an excluded character having the second attribute from the search character string by giving a character position order The index is searched using the character position order of each character excluding the excluded character of the search character string obtained by Search means.
[0025]
Moreover, according to the present invention, an information processing method realized by each of the information processing apparatuses is provided.
[0026]
In addition, according to the present invention, a computer readable memory storing a control program for realizing the configuration of the information processing apparatus is provided.
[0027]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings.
[0028]
FIG. 1 is a block diagram showing a functional configuration of the text search apparatus according to the present embodiment. In the figure, reference numeral 101 denotes a search text holding unit that holds a search text. Reference numeral 102 denotes a skip character holding unit that holds skipped characters and non-created characters. Reference numeral 103 denotes an index creation unit that refers to the skipped text and non-created characters held in the skip character holding unit 102 with respect to the searched text held in the searched text holding unit 101, For each character in the index, an index is created that lists the position of the character in the text to be searched.
[0029]
An index holding unit 104 holds the index created by the index creation unit 103. A search character string holding unit 105 holds a character string to be searched. 106 is stored in the search character string holding unit 105 with reference to the skip character and non-created character held in the skip character holding unit 102 using the index held in the index holding unit 104. A search unit that searches for a character string that matches the search character string. Reference numeral 107 denotes a search result holding unit that holds search results obtained by the search unit 106.
[0030]
FIG. 2 is a block diagram showing an outline of the hardware configuration of the text search apparatus according to the present embodiment. In the figure, 201 is a ROM that holds a program for realizing a control procedure to be described later. Reference numeral 202 denotes a RAM which provides the search target text holding unit 101, the search character string holding unit 105, the search result holding unit 107, and a storage area necessary for the operation of the program. A central processing unit 203 performs processing in accordance with a program stored in the ROM 201. Reference numeral 204 denotes a disk device that implements an index holding unit 104 and a skip character holding unit 102. Reference numeral 205 denotes a bus, which connects the above-described components and enables data exchange between the components.
[0031]
Reference numeral 206 denotes a keyboard for performing various inputs by the user to the text search device. It is possible to set skip characters and non-created characters in the skip character holding unit 102 by performing a predetermined operation via the keyboard 206. Reference numeral 207 denotes a display, which displays various results such as search results under the control of the central processing unit 203. It goes without saying that a configuration that enables connection to a printer as an output device, a network, or the like may be provided.
[0032]
A control program for realizing the control procedure described in the flowcharts of FIGS. 3 and 4 described later is stored in the ROM 201, but is not limited thereto. For example, it is obvious that the control program may be stored in an external storage device such as the disk 204, loaded into the RAM 202, and executed by the central processing unit 203.
[0033]
Next, the operation of this apparatus will be described. The processing of this embodiment is largely divided into index creation processing and search processing. First, the procedure of index creation processing in the text search apparatus of this embodiment will be described. FIG. 3 is a flowchart for explaining index creation processing in the text search apparatus of this embodiment. FIG. 11 is a view showing a part of an index generated when the document example of FIG. 8 is processed in the index creation process of the present embodiment. Note that the index creation processing described below is executed by the index creation unit 103.
[0034]
In step S301, the counter c is initialized. The counter c indicates the position of the character to be processed, and is initialized to 0. Then, the process proceeds to step S302. In step S302, the pointer p is initialized. The pointer p points to a character to be processed, and is initialized to the first character of the search target text held in the non-search text holding unit 101. Then, the process proceeds to step S303.
[0035]
In step S303, it is determined whether or not the pointer p has reached the end of the text to be searched. If the pointer p has reached the end, the index creation process ends. On the other hand, if not reached, the process proceeds to step S304. In step S304, it is determined whether or not the character at the position indicated by the pointer p is a skip character. If the character is a skip character, the process proceeds to step S308. If it is not a skip character, the process proceeds to step S305.
[0036]
In step S305, it is determined whether or not the character at the position indicated by the pointer p is a non-created character. If the character is a non-created character, the process proceeds to step S307. If it is not a non-created character, the process moves to step S306. In step S306, for the character at the position indicated by the pointer p, the value of the counter c is added to the position list of the character in the index. Then, the process proceeds to step S307. In step S307, the value of the counter c is incremented by one. Then, the process proceeds to step S308. In step S308, the pointer p points to the next character. Then, the process returns to step S303.
[0037]
With the above processing, for example, when the blank character is skipped and the new line character is a non-created character, the index shown in FIG. 11 is created for the document shown in FIG. Each line in FIG. 11 is a list of positions where each character appears. Also, the index of the blank character and the line feed character is not created, the difference between the positions of the characters before and after the blank character is 1, and the difference between the positions of the characters before and after the line feed character is 2. When the search character string “target” is searched using this index, since the character string exists at position 0, this text is searched. The index created as described above is held in an appropriate area of the RAM 202 by the index holding unit 104.
[0038]
Next, an overview of search processing in the present embodiment will be described. FIG. 4 is a flowchart for explaining a search processing procedure according to this embodiment.
[0039]
In step S401, the length of the search character string held in the search character string holding unit 105 is substituted for L. Also, 1 is substituted for n and 0 is substituted for m. Note that m represents the number of skipped characters in the search character string. Next, in step S402, the index is read for the first character of the search character string held in the search character string holding unit 105, and all the character positions of the character are read into the array 1. In step S403, the variables L and n are compared. As a result, if n <L, the process proceeds to step S404. If n ≧ L, the process proceeds to step S410.
[0040]
In step S404, the value of n is incremented by one. Then, the process proceeds to step S405. In step S <b> 405, it is determined whether the nth character in the search character string held in the search character string holding unit 105 is a non-created character held in the skip character holding unit 102. As a result of the determination, if it is a non-created character, the process returns to step S403. If the character is not a non-created character, the process proceeds to step S406.
[0041]
In step S 406, it is determined whether or not the nth character in the search character string held in the search character string holding unit 105 is a skip character held in the skip character holding unit 102. As a result of the determination, if it is a skipped character, the process proceeds to step S407, and if it is not a skipped character, the process proceeds to step S408.
[0042]
In step S407, the value of m is incremented by one. Then, the process returns to step S403.
[0043]
If the nth character is neither a non-created character nor a skipped character, the process proceeds to step S408. In step S408, the index is read for the nth character of the search character string held in the search character string holding unit 105. A value obtained by subtracting (n−m−1) from all character positions searched for the nth character is read into the array 2. In step S409, all the values existing in both the arrays 1 and 2 are extracted from the arrays 1 and 2, and only these values are newly set as the values of the array 1. Then, the process returns to step S403.
[0044]
As described above, when all the characters in the search character string are processed, the process proceeds from step S403 to S410. In step S410, if the array 1 is not empty, 1 is held in the search result holding unit 107 as a value indicating that the search key has been searched. When the array 1 is empty, 0 is held in the search result holding unit 107 as a value indicating that the search key has not been searched. Then, all the processes are finished.
[0045]
As described above, according to the present embodiment, it is possible to specify a skip character that skips without increasing the character position and a non-created character that skips while increasing the character position. An index can be created and searched according to the document format and search intention.
[0046]
In the above search processing, processing is changed depending on whether or not there are skipped characters or non-created characters in the search character string, but it is assumed that the search character string does not include skipped characters or non-created characters. It goes without saying that general search processing can be applied.
[0047]
<Other embodiments>
(1) In the above embodiment, the case where index creation and retrieval are performed by the same apparatus has been described. However, the present invention is not limited to this. For example, an apparatus that performs only index creation and an apparatus that performs only retrieval are used. May be separated.
[0048]
FIG. 14 is a block diagram showing a basic functional configuration of an apparatus for creating an index. In FIG. 14, reference numeral 1401 denotes a searched text holding unit that holds searched text. Reference numeral 1402 denotes a skip character holding unit that holds skip-read characters and non-created characters. 1403 refers to the text to be searched held in the text to be searched 1401 for each character in the text to be searched with reference to the skip character and non-created character held in the skip character holding unit 1402 The index creation unit creates an index listing the positions of the characters in the search text. Reference numeral 1404 denotes an index holding unit that holds the index created by the index creation unit 1403. The index held in the index holding unit 1404 and the skip character and non-created character held in the skip character holding unit 1402 are searched through a communication line or transferred to another device by a portable recording medium. It is.
[0049]
The index creation procedure is the same as that described with reference to the flowchart of FIG.
[0050]
(2) Next, a device for performing a search using the index provided as described in (1) above will be described. FIG. 15 is a block diagram showing a basic functional configuration in this case. In FIG. 15, reference numeral 1501 denotes an index holding unit that holds an index created by the apparatus shown in FIG. Reference numeral 1502 denotes a skip character holding unit that holds skip-read characters and non-created characters used when creating an index with the apparatus shown in FIG. A search character string holding unit 1503 holds a character string to be searched. Reference numeral 1504 denotes a search held in the search character string holding unit 1503 with reference to the skip character and non-created character held in the skip character holding unit 1502, using the index held in the index holding unit 1501. A search unit that searches for a character string that matches the character string. Reference numeral 1505 denotes a search result holding unit that holds search results obtained by the search unit 1504.
[0051]
In the index holding unit 1501 and the skip character holding unit 1502, the index, the skip character, and the non-created character created in the procedure of the above embodiment are provided and held via a communication line or a portable recording medium. .
[0052]
The search processing procedure is the same as described with reference to the flowchart of FIG.
[0053]
(3) In the above embodiment, the case where one character is used as an index key has been described. However, the present invention is not limited to this, and a character string having an arbitrary length may be used.
[0054]
(4) In the above-described embodiment, the case where the processing is sequentially performed from the first character of the search character string has been described. However, the present invention is not limited to this, and the search may be performed from any character of the search word.
[0055]
(5) In the above embodiment, one index is used for searching. However, a plurality of separately created indexes may be searched at the same time. In this case, when it is desired to search for the same word using a plurality of indexes, it is possible to save the trouble of setting the index as a search target one by one and specifying the search condition.
[0056]
(6) In the above-described embodiment, a case has been described in which one character is designated as a skip character and a non-created character. However, the present invention is not limited to this. May be specified.
[0057]
(7) In the above embodiment, the case where a character is designated as a skip character and a non-created character has been described. However, the present invention is not limited to this, and a character string having an arbitrary length is skipped. It may be specified as a non-created character string. In addition, “space” and “line feed” are given as examples of non-created characters and skipping characters. In addition to these, “tab”, “carriage return”, etc. corresponding to spaces and line feeds, “:”, “ Characters (symbols) that are not specified as search terms such as ("" can be set as non-created characters or skipping characters. Attribute information (superscript, subscript, etc.) can also be set as skip characters. There is a possibility that a correct search of a search term including information cannot be performed.
[0058]
(8) In the above embodiment, the skip character and the non-created character specified at the time of creating the index are also referred to at the time of retrieval, and the index is not read for the skip character and the non-created character in the search character string. Explained. However, it is also possible to perform a conventional search without referring to skipped characters and non-created characters so that the search character string cannot be searched if skipped characters or non-created characters are included. .
[0059]
(9) In the above embodiment, the skip character and the non-created character specified at the time of creating the index are also referred to during the search, and the index is not read for the skip character and the non-created character in the search character string. However, when a skip character and a non-created character are included in the search character string, it can be configured to notify that fact.
[0060]
(10) In the above embodiment, the search text holding unit 101, the search character string holding unit 105, and the search result holding unit 107 are realized by the RAM 202, and the index holding unit 104 and the skip character holding unit 102 are realized by the disk device 204. Explained. However, the present invention is not limited to this, and it is obvious that any storage medium may be used.
[0061]
(11) In the above embodiment, the case where the functional blocks shown in FIGS. 1, 14, and 15 are configured on the same computer has been described. However, the present invention is not limited to this. For example, each block may be configured by being divided into computers or processing devices distributed on the network.
[0062]
(12) In the above embodiment, the case where the program is stored in the ROM 201 has been described. However, the present invention is not limited to this, and may be realized using an arbitrary storage medium. Moreover, you may comprise with the circuit which implement | achieves the control operation demonstrated in the said embodiment.
[0063]
Note that the present invention can be applied to a system including a plurality of devices (for example, a host computer, an interface device, a reader, a printer, etc.), or a device (for example, a copier, a facsimile device, etc.) including a single device. You may apply to.
[0064]
Another object of the present invention is to supply a storage medium storing software program codes for implementing the functions of the above-described embodiments to a system or apparatus, and the computer (or CPU or MPU) of the system or apparatus stores the storage medium. Needless to say, this can also be achieved by reading and executing the program code stored in the.
[0065]
In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention.
[0066]
As a storage medium for supplying the program code, for example, a floppy disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a ROM, or the like can be used.
[0067]
Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (operating system) operating on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.
[0068]
Further, after the program code read from the storage medium is written into a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that the CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing.
[0069]
【The invention's effect】
As described above, according to the present invention, characters that are excluded from the registration target in the index without giving the character position order when generating the index, and excluded from the registration target in the index by giving the character position order. Characters can be specified, and an index can be created according to the search text format and the search intention.
[0070]
Further, according to the present invention, with respect to the search character string given at the time of search, the character excluded from the search character string without giving the character position order, and the character excluded from the search character string by giving the character position order Can be specified, and a search according to the format of the text to be searched and the search intention can be performed.
[0071]
[Brief description of the drawings]
FIG. 1 is a block diagram showing a functional configuration of a text search apparatus according to an embodiment.
FIG. 2 is a block diagram showing an outline of a hardware configuration of a text search apparatus according to the present embodiment.
FIG. 3 is a flowchart illustrating an index creation process in the text search apparatus according to the present embodiment.
FIG. 4 is a flowchart for explaining a procedure of search processing according to the present embodiment.
FIG. 5 is a block diagram showing a basic configuration of a conventional apparatus.
FIG. 6 is a flowchart showing an overview of index creation processing in a conventional apparatus example.
FIG. 7 is a flowchart showing an outline of search processing in a conventional apparatus example.
FIG. 8 is a diagram illustrating an example of text to be searched.
FIG. 9 is a diagram illustrating an example of an index in a conventional apparatus example.
FIG. 10 is a diagram illustrating an example of an index in a conventional apparatus example.
FIG. 11 is a diagram showing a part of an index generated when the document example of FIG.
FIG. 12 is a diagram showing a state in the middle of a search process in a conventional apparatus example.
FIG. 13 is a diagram showing a state in the middle of a search process in a conventional apparatus example.
FIG. 14 is a block diagram showing a basic functional configuration of an apparatus for creating an index in another embodiment.
FIG. 15 is a block diagram showing a basic functional configuration of an apparatus for performing a search in another embodiment.
[Explanation of symbols]
101, 501 Searched text holding unit
102 Skip character holding part
103, 502 Index creation unit
104, 503 Index holding unit
105, 504 Search string holding unit
106,505 Search part
107, 506 Search result holding unit

Claims (15)

第1属性もしくは第2属性のいずれかを有する1つ以上の除外文字を保持する保持手段と、
検索対象データの各文字について当該検索対象データにおける文字位置順位を登録したインデックスを生成する生成手段とを備え、
前記生成手段は、前記保持手段に保持された前記第1属性を有する除外文字を文字位置順位を与えずに前記インデックスへの登録対象から除外し、前記第2属性を有する除外文字を文字位置順位を与えて該インデックスへの登録対象から除外することを特徴とする情報処理装置。
Holding means for holding one or more excluded characters having either the first attribute or the second attribute;
Generating means for generating, for each character of the search target data, an index in which the character position order in the search target data is registered;
The generating means excludes the excluded character having the first attribute held in the holding means from the registration target in the index without giving the character position order, and the excluded character having the second attribute is character position order. Is excluded from registration targets in the index.
与えられた検索文字列を前記生成手段で生成されたインデックスに登録された文字位置順位に基づいて検索する検索手段を更に備えることを特徴とする請求項1に記載の情報処理装置。  The information processing apparatus according to claim 1, further comprising search means for searching for a given search character string based on a character position order registered in an index generated by the generation means. 第1属性もしくは第2属性のいずれかを有する1つ以上の除外文字を保持する保持手段と、
検索対象データの各文字について当該検索対象データにおける文字位置順位を登録したインデックスから、与えられた検索文字列を検索する検索手段とを備え、
前記検索手段は、前記第1属性を有する除外文字を文字位置順位を与えずに前記検索文字列から除外し、前記第2属性を有する除外文字を文字位置順位を与えて該検索文字列から除外することにより得られる前記検索文字列の除外文字を除く各文字の文字位置順位を用いて前記インデックスを検索することを特徴とする情報処理装置。
Holding means for holding one or more excluded characters having either the first attribute or the second attribute;
Search means for searching a given search character string from an index in which the character position order in the search target data is registered for each character of the search target data,
The search means excludes the excluded character having the first attribute from the search character string without giving a character position order, and excludes the excluded character having the second attribute from the search character string by giving a character position order. An information processing apparatus, wherein the index is searched by using a character position order of each character excluding the excluded character of the search character string obtained by doing so .
第1属性もしくは第2属性のいずれかを有する1つ以上の除外文字を保持する保持手段と、
検索対象データの各文字について当該検索対象データにおける文字位置順位を登録したインデックスを生成する生成処理を実行し、該生成処理において前記保持手段に保持された前記第1属性を有する除外文字を文字位置順位を与えずに前記インデックスへの登録対象から除外し、前記第2属性を有する除外文字を文字位置順位を与えて該インデックスへの登録対象から除外する生成手段と、
前記生成手段で生成したインデックスから、与えられた検索文字列を検索する検索処理を実行し、該検索処理において、前記第1属性を有する除外文字を文字位置順位を与えずに前記検索文字列から除外し、前記第2属性を有する除外文字を文字位置順位を与えて前記検索文字列から除外することにより得られる前記検索文字列の除外文字を除く各文字の文字位置順位を用いて前記インデックスを検索する検索手段とを備えることを特徴とする情報処理装置。
Holding means for holding one or more excluded characters having either the first attribute or the second attribute;
For each character of the search target data, a generation process for generating an index in which the character position order in the search target data is registered is executed, and the excluded character having the first attribute held in the holding unit in the generation process Generating means for excluding from the registration target in the index without giving a ranking, and excluding the excluded characters having the second attribute from the registration target in the index by giving a character position ranking;
A search process for searching for a given search character string is executed from the index generated by the generating means, and in the search process, an excluded character having the first attribute is extracted from the search character string without giving a character position order. The index is determined using the character position order of each character excluding the excluded character of the search character string obtained by excluding and excluding the excluded character having the second attribute from the search character string by giving the character position order. An information processing apparatus comprising search means for searching.
前記生成手段は、
検索対象データ中の各文字を指示するための第1カウンタと、
検索対象データ中の各文字に付与すべき文字位置順位を表す第2カウンタと、
前記第1カウンタと前記第2カウンタを増加させながら、該第1カウンタが指示する文字の文字位置として該第2カウンタのカウント値を登録する登録手段と、
前記第1カウンタで指示された文字が前記第1属性を有する除外文字であった場合、前記登録手段を禁止するとともに前記第1カウンタのみを増加させる第1除外手段と、
前記第2カウンタで指示された文字が前記第2属性を有する除外文字であった場合、前記登録手段を禁止するとともに前記第1及び第2カウンタを増加させる第2除外手段とを備えることを特徴とする請求項1、2または4のいずれかに記載の情報処理装置。
The generating means includes
A first counter for indicating each character in the search target data;
A second counter representing a character position order to be assigned to each character in the search target data;
Registration means for registering the count value of the second counter as the character position of the character indicated by the first counter while increasing the first counter and the second counter;
First exclusion means for prohibiting the registration means and increasing only the first counter when the character indicated by the first counter is an exclusion character having the first attribute;
And a second exclusion means for prohibiting the registration means and incrementing the first and second counters when the character indicated by the second counter is an exclusion character having the second attribute. The information processing apparatus according to any one of claims 1, 2, and 4.
前記検索文字列に前記保持手段に保持されている除外文字列が含まれている場合にその旨を通知する通知手段を更に備えることを特徴とする請求項3または4に記載の情報処理装置。5. The information processing apparatus according to claim 3, further comprising notification means for notifying the fact that an excluded character string held in the holding means is included in the search character string. 第1属性もしくは第2属性のいずれかを有する1つ以上の除外文字を記憶装置が保持する保持工程と、
検索対象データの各文字について当該検索対象データにおける文字位置順位を登録したインデックスを処理装置が生成する生成工程とを備え、
前記生成工程では前記処理装置が、前記保持工程において前記記憶装置に保持された前記第1属性を有する除外文字文字位置順位を与えずに前記インデックスへの登録対象から除外、前記第2属性を有する除外文字文字位置順位を与えて該インデックスへの登録対象から除外することを特徴とする情報処理方法。
A holding step in which the storage device holds one or more excluded characters having either the first attribute or the second attribute;
A generation step in which the processing device generates an index in which the character position order in the search target data is registered for each character of the search target data,
In the generating step, the processing device, excluded from the registration target to the index exclusion characters having the first attribute held in Oite said storage device to said holding step without giving a character position order, the the information processing method characterized by negative characters having a second attribute gives the character position order to exclude from the registered to the index.
前記処理装置が、与えられた検索文字列を前記生成工程で生成されたインデックスに登録された文字位置順位に基づいて検索する検索工程を更に備えることを特徴とする請求項に記載の情報処理方法。The information processing according to claim 7, wherein the processing unit, characterized in that further a search process to search based on a search string given to the character position ranking registered in the index generated by said generating step comprises Method. 第1属性もしくは第2属性のいずれかを有する1つ以上の除外文字を記憶装置が保持する保持工程と、
処理装置が、検索対象データの各文字について当該検索対象データにおける文字位置順位を登録したインデックスから、与えられた検索文字列を検索する検索工程とを備え、
前記検索工程では前記処理装置が、前記第1属性を有する除外文字文字位置順位を与えずに前記検索文字列から除外、前記第2属性を有する除外文字文字位置順位を与えて前記検索文字列から除外することにより得られる前記検索文字列の除外文字を除く各文字の文字位置順位を用いて前記インデックスを検索することを特徴とする情報処理方法。
A holding step in which the storage device holds one or more excluded characters having either the first attribute or the second attribute;
A processing device includes a search step of searching for a given search character string from an index in which character position order in the search target data is registered for each character of the search target data,
In the search process, the processing device, the excluded from the search string exclusion characters having the first attribute without giving the character position order, the given character position rank negative characters having a second attribute An information processing method, wherein the index is searched using a character position order of each character excluding an excluded character of the search character string obtained by excluding the search character string .
第1属性もしくは第2属性のいずれかを有する1つ以上の除外文字を前記記憶装置が保持する保持工程と、
処理装置が、検索対象データの各文字について当該検索対象データにおける文字位置順位を登録したインデックスを生成する生成処理を実行し、該生成処理において前記記憶装置が保持する前記第1属性を有する除外文字を文字位置順位を与えずに前記インデックスへの登録対象から除外し、前記第2属性を有する除外文字を文字位置順位を与えて該インデックスへの登録対象から除外する生成工程と、
前記処理装置が、前記生成工程で生成したインデックスから、与えられた検索文字列を検索する検索処理を実行し、該検索処理において、前記第1属性を有する除外文字を文字位置順位を与えずに前記検索文字列から除外し、前記第2属性を有する除外文字を文字位置順位を与えて前記検索文字列から除外することにより得られる前記検索文字列の除外文字を除く各文字の文字位置順位を用いて前記インデックスを検索する検索工程とを備えることを特徴とする情報処理方法。
A holding step in which the storage device holds one or more excluded characters having either the first attribute or the second attribute;
The processing device executes a generation process for generating an index in which the character position order in the search target data is registered for each character of the search target data, and the excluded character having the first attribute held by the storage device in the generation process Generating from the registration target to the index without giving the character position order, and excluding the excluded character having the second attribute from the registration target to the index by giving the character position order,
The processing device executes a search process for searching for a given search character string from the index generated in the generation step, and in the search process, an excluded character having the first attribute is not given a character position order. The character position order of each character excluding the excluded character of the search character string obtained by excluding the search character string and excluding the excluded character having the second attribute from the search character string by giving the character position order. And a search step for searching the index using the information processing method.
前記生成工程は、
前記処理装置が、検索対象データ中の各文字を指示するための第1カウンタと、検索対象データ中の各文字に付与すべき文字位置順位を表す第2カウンタとを増加させながら、該第1カウンタが指示する文字の文字位置として該第2カウンタのカウント値を登録する登録工程と、
前記処理装置が、前記第1カウンタで指示された文字が前記第1属性を有する除外文字であった場合、前記登録工程を禁止するとともに前記第1カウンタのみを増加させる第1除外工程と、
前記処理装置が、前記第2カウンタで指示された文字が前記第2属性を有する除外文字であった場合、前記登録工程を禁止するとともに前記第1及び第2カウンタを増加させる第2除外工程とを備えることを特徴とする請求項7、8及び10のいずれかに記載の情報処理方法。
The generating step includes
The processing device increases the first counter for indicating each character in the search target data and the second counter indicating the character position order to be assigned to each character in the search target data. A registration step of registering the count value of the second counter as the character position of the character indicated by the counter;
A first exclusion step in which the processing device prohibits the registration step and increases only the first counter when the character indicated by the first counter is an exclusion character having the first attribute;
A second exclusion step in which the processing device prohibits the registration step and increases the first and second counters when the character indicated by the second counter is an excluded character having the second attribute; The information processing method according to claim 7, further comprising :
前記処理装置が、前記検索字列に前記記憶装置に保持された除外文字列が含まれている場合にその旨を通知する通知工程を更に備えることを特徴とする請求項または10に記載の情報処理方法。 The said processing apparatus is further equipped with the notification process of notifying that when the exclusion character string hold | maintained at the said memory | storage device is contained in the said search character string, The Claim 9 or 10 characterized by the above-mentioned. Information processing method. 検索対象データから文字列検索用のインデックスを生成する機能をコンピュータに実現させるための制御プログラムを格納するコンピュータ可読メモリであって、該制御プログラムは、コンピュータを、
前記検索対象データの各文字について当該検索対象データにおける文字位置順位を登録したインデックスを生成する生成手段と、
前記生成手段において、第1属性もしくは第2属性のいずれかを有する1つ以上の除外 文字を保持する保持手段を参照し、前記保持手段保持されている前記第1属性を有する除外文字を文字位置順位を与えずに前記インデックスへの登録対象から除外し、前記第2属性を有する除外文字を文字位置順位を与えて該インデックスへの登録対象から除外する除外手段として機能させることを特徴とするコンピュータ可読メモリ。
A computer-readable memory for storing a control program for causing a computer to realize a function of generating an index for character string search from search target data, the control program comprising:
Generating means for generating an index for registering the character position order in the search target data for each character of the search target data;
In the generation unit, one or more reference to holding means for holding the negative characters, exclusion characters having the first attribute held in the holding means having either a first attribute or the second attribute Excluded from the registration target in the index without giving a position order, and functioning as an excluding means for excluding the excluded character having the second attribute from the registration target in the index by giving a character position order Computer readable memory.
検索対象データに与えられた文字列が存在するか否かを検索する機能をコンピュータに実現させるための制御プログラムを格納するコンピュータ可読メモリであって、該制御プログラムは、コンピュータを、
検索対象データの各文字について当該検索対象データにおける文字位置順位を登録したインデックスから、前記与えられた検索文字列を検索する検索手段と、
第1属性もしくは第2属性のいずれかを有する1つ以上の除外文字を保持する保持手段を参照し、前記保持手段に保持されている前記第1属性を有する除外文字を文字位置順位を与えずに前記検索文字列から除外し、前記第2属性を有する除外文字を文字位置順位を与えて前記検索文字列から除外することにより得られる前記検索文字列の除外文字を除く各文字の文字位置順位を用いて、前記検索手段に前記インデックスの検索を実行させる除外手段として機能させることを特徴とするコンピュータ可読メモリ。
A computer-readable memory for storing a control program for causing a computer to perform a function of searching whether or not a character string given to search target data exists, the control program comprising:
Search means for searching for the given search character string from an index in which the character position order in the search target data is registered for each character of the search target data ;
Reference is made to holding means for holding one or more excluded characters having either the first attribute or the second attribute, and the excluded characters having the first attribute held in the holding means are not given a character position order. Is excluded from the search character string, and the character position order of each character excluding the excluded character of the search character string obtained by giving the character position order to the excluded character having the second attribute is excluded from the search character string The computer-readable memory is configured to function as an excluding unit that causes the searching unit to execute the search of the index .
検索対象データに与えられた文字列が存在するか否かを検索する機能をコンピュータに実現させるための制御プログラムを格納するコンピュータ可読メモリであって、該制御プログラムは、コンピュータを、
検索対象データの各文字について当該検索対象データにおける文字位置順位を登録したインデックスを生成する生成処理を実行し、該生成処理において、第1属性もしくは第2属性のいずれかを有する1つ以上の除外文字を保持する保持手段を参照して、前記保持手段に保持された前記第1属性を有する除外文字を文字位置順位を与えずに前記インデックスへの登録対象から除外し、前記第2属性を有する除外文字を文字位置順位を与えて該インデックスへの登録対象から除外する生成手段と、
前記生成手段で生成したインデックスから、与えられた検索文字列を検索する検索処理を実行し、該検索処理において、前記第1属性を有する除外文字を文字位置順位を与えずに該検索文字列から除外し、前記第2属性を有する除外文字を文字位置順位を与えて該検索文字列から除外することにより得られる前記検索文字列の除外文字を除く各文字の文字位置順位を用いて前記インデックスを検索する検索手段として機能させることを特徴とするコンピュータ可読メモリ。
A computer-readable memory for storing a control program for causing a computer to perform a function of searching whether or not a character string given to search target data exists, the control program comprising:
For each character of the search target data, execute a generation process for generating an index in which the character position order in the search target data is registered, and in the generation process, one or more exclusions having either the first attribute or the second attribute With reference to the holding means for holding the character, the excluded character having the first attribute held in the holding means is excluded from the registration target in the index without giving the character position order, and has the second attribute Generating means for excluding excluded characters from being registered in the index by giving a character position order;
A search process for searching for a given search character string is executed from the index generated by the generating means. In the search process, an excluded character having the first attribute is searched from the search character string without giving a character position order. The index is calculated using the character position order of each character excluding the excluded character of the search character string obtained by excluding and excluding the excluded character having the second attribute from the search character string by giving the character position order. a computer-readable memory, characterized in that to function as a search to find means.
JP11729197A 1997-05-07 1997-05-07 Information processing apparatus and method Expired - Fee Related JP3825873B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11729197A JP3825873B2 (en) 1997-05-07 1997-05-07 Information processing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11729197A JP3825873B2 (en) 1997-05-07 1997-05-07 Information processing apparatus and method

Publications (2)

Publication Number Publication Date
JPH10307832A JPH10307832A (en) 1998-11-17
JP3825873B2 true JP3825873B2 (en) 2006-09-27

Family

ID=14708123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11729197A Expired - Fee Related JP3825873B2 (en) 1997-05-07 1997-05-07 Information processing apparatus and method

Country Status (1)

Country Link
JP (1) JP3825873B2 (en)

Also Published As

Publication number Publication date
JPH10307832A (en) 1998-11-17

Similar Documents

Publication Publication Date Title
US7680852B2 (en) Search processing method and search system
US9195738B2 (en) Tokenization platform
JPH1153384A (en) Device and method for keyword extraction and computer readable storage medium storing keyword extraction program
US20100030761A1 (en) Method of retrieving and refining information based on tri-gram
JP4054428B2 (en) Image search apparatus and method, and computer-readable memory
US20050094172A1 (en) Linking font resources in a printing system
JP2009059050A (en) Image processing device and integrated document generation method
JP3825873B2 (en) Information processing apparatus and method
JP2007048272A (en) Character string search device and program
JPH10307835A (en) Information processor and its method
JPS60222270A (en) Table data insertion printer
JP3854684B2 (en) Information processing apparatus and method
JPH1091766A (en) Electronic filing method and device and storage medium
JP2002132789A (en) Document retrieving method
JP2000029901A (en) Device for retrieving image and method therefor
JP3459049B2 (en) Character string search method and device
JPH10283368A (en) Information processor and method therefor
JPH10307840A (en) Information processor and its method
JPH10307834A (en) Information processor and its method
JPH10312394A (en) Information processor and its method
JPH1153400A (en) Structured document retrieval device and machine readable recording medium for recording program
JP4011662B2 (en) Electronic filing method and apparatus
JP2900383B2 (en) Character information processing device
JP3037776B2 (en) Term decomposition device
JPH09146968A (en) Document retrieving method

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040414

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040414

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20040414

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20040414

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060303

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060502

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060606

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060703

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090707

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100707

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100707

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110707

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120707

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120707

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130707

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees