JP2008102641A - 検索装置、検索方法及びプログラム - Google Patents

検索装置、検索方法及びプログラム Download PDF

Info

Publication number
JP2008102641A
JP2008102641A JP2006283227A JP2006283227A JP2008102641A JP 2008102641 A JP2008102641 A JP 2008102641A JP 2006283227 A JP2006283227 A JP 2006283227A JP 2006283227 A JP2006283227 A JP 2006283227A JP 2008102641 A JP2008102641 A JP 2008102641A
Authority
JP
Japan
Prior art keywords
search
data string
unit
data
character string
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006283227A
Other languages
English (en)
Other versions
JP5190192B2 (ja
Inventor
Isao Sonobe
勲 園部
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.)
NS Solutions Corp
Original Assignee
NS Solutions Corp
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 NS Solutions Corp filed Critical NS Solutions Corp
Priority to JP2006283227A priority Critical patent/JP5190192B2/ja
Publication of JP2008102641A publication Critical patent/JP2008102641A/ja
Application granted granted Critical
Publication of JP5190192B2 publication Critical patent/JP5190192B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】計算効率及びメモリ効率と共に、システムの保守性がよい検索装置等を提供することを目的とする。
【解決手段】検索対象データ列を保持する検索対象データ列保持手段と、検索データ列を取得する検索データ列取得手段と、検索データ列取得手段において取得された検索データ列に対して、オブジェクトを用いる回数の範囲を、予め定められたルールに応じて設定する設定手段と、検索処理として、設定手段において設定された回数の範囲内で、オブジェクトを用いて、検索データ列取得手段において取得された検索データ列と、検索対象データ列保持手段において保持されている検索対象データ列と、の比較を行う検索手段と、を有することによって課題を解決する。
【選択図】図2

Description

本発明は、検索装置、検索方法及びプログラムに関する。
従来は、類似文字列の検索において、類似基準に従って適用した類似展開文字列を洩れなく単純に派生させ、完全一致でマッチングを行っていた。例えば、類似基準「相違する任意の文字列が図4の関係にある」、質問称呼「エヌエス」の場合、類似展開文字列「イヌエス、ヘヌエス、エムエス・・・・、エヌエシュ」は、3×4×3×2−1=71通りである。
このような従来方法では、類似展開文字列が膨大な数になり、それらに対して何度も比較を行うため、計算効率は非常に悪く、メモリ使用量が膨大になっていた。
一方、オートマトンを用いて類似文字列を検索する方法が開示されている(例えば、特許文献1参照)。
特開平8−339378号公報
オートマトンを用いた類似文字列の検索方法では、計算効率や、メモリ効率はよい代わりに、ルールが作成し難く、作成したルールも理解が難しかったりするため、システムの保守性に問題があった。
本発明はこのような問題点に鑑みなされたもので、計算効率及びメモリ効率と共に、システムの保守性がよい検索装置、検索方法及びプログラムを提供することを目的とする。
そこで、本発明は、検索対象データ列を保持する検索対象データ列保持手段と、検索データ列を取得する検索データ列取得手段と、前記検索データ列取得手段において取得された検索データ列に対して、オブジェクトを用いる回数の範囲を、予め定められたルールに応じて設定する設定手段と、検索処理として、前記設定手段において設定された回数の範囲内で、前記オブジェクトを用いて、前記検索データ列取得手段において取得された検索データ列と、前記検索対象データ列保持手段において保持されている検索対象データ列と、の比較を行う検索手段と、を有することを特徴とすることを特徴とする。
係る構成とすることにより、予め定められたルールに応じて、オブジェクトを用いる回数の範囲を設定し、この範囲内で、検索データ列と、検索対象データ列と、の比較を行うので、計算効率及びメモリ効率と共に、システムの保守性がよい検索装置を提供することができる。
なお、オブジェクトとは、例えば、後述する類似関係テーブル等に対応する。
また、本発明によれば、検索対象データ列を保持する検索対象データ列保持手段と、検索データ列を取得する検索データ列取得手段と、検索処理として、前記検索データ列取得手段において取得された検索データ列と、前記検索対象データ列保持手段において保持されている検索対象データ列と、の比較を、ビット積演算を用いて行う検索手段と、を有することを特徴とする。
係る構成とすることにより、検索データ列と、検索対象データ列と、の比較を、ビット積演算を用いて行うので、計算効率がよい検索装置を提供することができる。
また、本発明は、検索方法及びプログラムとしてもよい。
本発明によれば、計算効率、メモリ効率及びシステムのメンテナンス性がよい検索装置等を提供することができる。
以下、本発明の実施形態について図面に基づいて説明する。
<実施形態1>
以下、情報処理装置1の一例のハードウェア構成を図1に示す。図1は、情報処理装置1の一例のハードウェア構成図である。
図1に示されるように、情報処理装置1は、ハードウェア構成として、入力装置11と、表示装置12と、記録媒体ドライブ装置13と、ROM(Read Only Memory)15と、RAM(Random Access Memory)16と、少なくとも1つ以上のCPU(Central Processing Unit)17と、インターフェース装置18と、HD(Hard Disk)19と、を含む。
入力装置11は、情報処理装置1の操作者(又はユーザ)が操作するキーボード及びマウス等で構成され、情報処理装置1に各種操作情報等を入力するのに用いられる。表示装置12は、情報処理装置1の操作者が利用するディスプレイ等で構成され、各種情報(又は画面)等を表示するのに用いられる。
インターフェース装置18は、情報処理装置1をネットワーク等に接続するインターフェースである。後述する情報処理装置1の類似検索に係る機能又は後述する類似検索に係るフローチャート等に関するプログラムは、例えば、CD−ROM等の記録媒体14によって情報処理装置1に提供されるか、ネットワーク等を通じてダウンロードされる。記録媒体14は、記録媒体ドライブ装置13にセットされ、プログラムが記録媒体14から記録媒体ドライブ装置13を介してHD19にインストールされる。
ROM15は、情報処理装置1の電源投入時に最初に読み込まれるプログラム等を記録する。RAM16は、情報処理装置1のメインメモリである。CPU17は、必要に応じて、HD19よりプログラムを読み出して、RAM16に格納し、プログラムを実行することで、後述する類似検索に係る機能の全て又は一部を提供したり、後述する類似検索に係る機能に係るフローチャート等を実行したりする。また、HD19は、プログラム以外に、例えば後述するルール、ルールに対応する類似関係テーブルの適用可能回数及び閾値、検索対象文字列、類似関係テーブル等を格納する。
以下、CPU17、RAM16、HD19及びプログラム等から構成される、情報処理装置1の機能構成の一例を図2に示す。図2は、情報処理装置1の一例の機能構成図(その1)である。図2に示されるように、情報処理装置1は、機能構成として、検索文字列取得部21と、設定部22と、ルール保持部23と、検索部24と、検索対象文字列保持部25と、類似関係テーブル保持部26と、検索結果集約部27と、を含む。
検索文字列取得部21は、検索文字列を取得する。検索文字列取得部21は、例えば、検索画面等においてユーザが入力した検索したい文字列を検索文字列として取得する。設定部22は、検索文字列取得部21が取得した検索文字列に対して、ルール保持部23に保持されているルールに応じて、図3に示されるような、類似関係テーブルの適用可能回数及び閾値を設定する。図3は、類似関係テーブルの適用可能回数及び閾値の一例を示す図(その1)である。ここで、類似関係テーブルの適用可能回数は、類似関係テーブルを用いる(参照する)ことができる最大値(最大回数)を表しており、閾値は、類似関係テーブルを用いなければならない(参照しなければならない)最小値(最小回数)を表していると言える。
ルール保持部23は、ルールと、ルールに対応する図3に示されるような類似関係テーブルの適用可能回数及び閾値とを保持する。ここで、ルールとは、例えば、「1音乃至2音が類似関係テーブルAの関係にある」等である。なお、ルールは、例えば、ファイル等に記述されているものとする。
ルールは、複数であってもよいし、単数であってもよい。複数のルールが存在する場合は、例えば、検索画面等においてユーザが選択(又は入力)した検索条件等に応じて、情報処理装置1が自動的に、複数のルールの中から一つ或いは複数のルールを選択して、検索文字列に対して適用するようにしてもよいし、ユーザが検索画面等において一つ或いは複数のルールを選択できるようにしてもよい。
検索部24は、設定部22において設定された類似関係テーブルの適用可能回数及び閾値の範囲内で、検索文字列と、検索対象文字列保持部25において保持されている検索対象文字列との比較を行い、ヒットした検索対象文字列を出力する。なお、検索部24における比較処理の詳細は、後述する図5を用いて説明する。
検索対象文字列保持部25は、検索対象文字列を保持する。ここで、検索対象文字列とは、例えば、商標の称呼検索を例にすると、商標(文字列の商標)である。検索対象文字列保持部25は、検索対象文字列を、例えばトライ構造で保持する。
類似関係テーブル保持部26は、図4に示されるような、類似関係テーブルを保持する。図4は、類似関係テーブルの一例を示す図(その1)である。
検索結果集約部27は、検索部24における検索処理の結果を集約し(例えば、重複したデータのマージ等を行い)、検索結果(検索結果の一覧)を検索結果画面等に出力する。
図5は、比較処理の一例を示すフローチャートである。なお、図5に示す比較処理は、1つの検索文字列と、1つの検索対象文字列との比較処理である。
ステップS10において、検索部24は、類似関係テーブル適用カウンタをリセットする(ゼロにする)。
続いて、ステップS11において、検索部24は、検索文字列と、検索対象文字列との注目文字の位置(注目文字位置)を先頭にする。ステップS12において、検索部24は、検索文字列と、検索対象文字列との注目文字位置を取り出す。ここで、以下、ステップS12において検索部24が取り出した、注目文字位置の検索文字列の文字を検索文字という。また、以下、ステップS12において検索部24が取り出した、注目文字位置の検索対象文字列の文字を検索対象文字という。
ステップS13において、検索部24は、検索文字と、検索対象文字とを類似関係テーブルを適用せず、比較する。ここで、検索部24は、検索文字の種類と、検索対象文字の種類とを、ビット列中の1となるビットの位置で表現し、検索文字と、検索対象文字とが一致するか否かを、ビット演算を用いて比較する。
例えば、
ア:0001、イ:0010、ウ:0100、エ:1000、
等4種類の文字を4ビットで、ア又はイ又はウ(=ア|イ|ウ)を論理和"0111"と表現し、検索部24は、検索文字と、検索対象文字とが一致するか否かを、ビット演算を用いて比較する。なお、説明の簡略化のため、文字を4ビットで表しているが、より多い種類の文字を表すのにもっと多いビット数を用いてもよい。また当然ながら、ビット数と種類の数が同じである必要は無い。
つまり、検索文字がア"0001"で、検索対象文字がア"0001"の場合、検索部24は、ビット積演算を行い、
0001&0001=0001≠0
と算出する。また、検索文字がア"0001"で、検索対象文字がイ"0010"の場合、検索部24は、ビット積演算を行い、
0001&0010=0000=0
と算出する。また、検索文字列が、検索対象文字列の中に一致する文字があるか否かを、ビット積演算を用いて比較することもできる。検索文字に類似関係テーブルを適用した検索文字が、ア又はイ又はウ "0111"で、検索対象文字がア "0001"の場合、検索部24は、ビット積演算を行い、
0111&0001=0001≠0
と算出する。このように、比較したい文字が複数あっても、1つの検索文字との比較を1回のビット積演算でまとめて行える為、計算効率が非常によくなっている。
ステップS14において検索部24は、ステップS13のビット積演算の結果に基づいて、検索文字と、検索対象文字とが一致したか否かを判定する。検索部24は、ビット積演算の結果≠0の場合は、検索文字と、検索対象文字とが一致したと判定し(ステップS14においてYES)、ステップS19に進む。一方、検索部24は、ビット積演算の結果=0の場合は、検索文字と、検索対象文字とが一致しなかったと判定し(ステップS14においてNO)、ステップS15に進む。
ステップS15において、検索部24は、類似関係テーブルAの適用可能回数が、類似関係テーブル適用カウンタより大きいか否かを判定する。検索部24は、類似関係テーブルAの適用可能回数が、類似関係テーブル適用カウンタより大きいと判定すると(ステップS15においてYES)、ステップS16に進む。一方、検索部24は、類似関係テーブルAの適用可能回数が、類似関係テーブル適用カウンタより大きくないと判定すると(ステップS15においてNO)、図5に示す処理を終了する。
ステップS16において、検索部24は、検索文字と、検索対象文字とを例えば、類似関係テーブルAを適用して比較する。ステップS17において、検索部24は、検索文字と、検索対象文字とが類似関係にあるか否かを判定する。検索部24は、検索文字と、検索対象文字とが類似関係にあると判定すると(ステップS17においてYES)、ステップS18に進む。一方、検索部24は、検索文字と、検索対象文字とが類似関係にないと判定すると(ステップS17においてNO)、図5に示す処理を終了する。
ステップS18において、検索部24は、類似関係テーブル適用カウンタを1つ増やす。ステップS19において、検索部24は、検索文字列に次の文字があるか否かを判定する。検索部24は、検索文字列に次の文字があると判定すると(ステップS19においてYES)、ステップS20に進む。一方、検索部24は、検索文字列に次の文字がないと判定すると(ステップS19においてNO)、ステップS21に進む。
ステップS20において、検索部24は、検索文字列と、検索対象文字列との注目文字位置を一つ(一文字分)進める。そして、検索部24は、ステップS12に戻る。
一方、ステップS21において、検索部24は、類似関係テーブル適用カウンタが、閾値以上か否かを判定する。検索部24は、類似関係テーブル適用カウンタが、閾値以上であると判定すると(ステップS21においてYES)、ステップS22に進む。一方、検索部24は、類似関係テーブル適用カウンタが、閾値以上でないと判定すると(ステップS22においてNO)、図5に示す処理を終了する。
ステップS22において、検索部24は、対象としている検索対象文字列を、検索文字列に類似する文字列として、つまり、検索にヒットした検索対象文字列として、検索結果集約部27に出力する。
なお、ステップS15、ステップS17、ステップS21の判定においてNOと判定した場合、図5に示す処理を終了するよう説明を行ったが、そのまま処理を終了するのではなく、検索部24は、例えば、対象としている検索対象文字列は、検索文字列に類似する文字列ではなかった旨の検索結果等を、検索結果集約部27に出力するようにしてもよい。
次に、より具体的に例を用いて、検索部24が行う比較処理を説明する。ここで、検索部24は、検索文字列"アイウエオ"と、検索対象文字列"アエユエオ"との比較を行うものとする。
上述したように、ステップS10において、検索部24は、類似関係テーブル適用カウンタをリセットする(ゼロにする)。続いて、ステップS11において、検索部24は、検索文字列と、検索対象文字列との注目文字位置を先頭にする。ステップS12において、検索部24は、検索文字列と、検索対象文字列との注目文字位置を取り出す。つまり、まず、検索部24は、検索文字として、検索文字列の先頭文字である"ア"を取り出し、検索対象文字として、検索対象文字列の先頭文字である"ア"を取り出す。
ステップS13において、検索部24は、ビット積演算を用いて、検索文字列と、検索対象文字列とを、類似関係テーブルを適用せずに比較する。そして、ステップS14において、検索部24は、一致するか否かを判定する。今、両者は共に"ア"で一致するため、検索部24は、ステップS19に進み、検索文字列に次の文字があるか否かを判定する。今の場合、次に文字があるので、検索部24は、ステップS20に進み、注目文字位置を一つ進め、ステップS12に進む。
ステップS12において、検索部24は、検索文字として、検索文字列の二番目の文字である"イ"を取り出し、検索対象文字として、検索対象文字列の二番目の文字である"エ"を取り出す。ステップS13において、検索部24は、ビット積演算を用いて、検索文字列と、検索対象文字列とを、類似関係テーブルを適用せずに比較する。そして、ステップS14において、検索部24は、一致するか否かを上述したビットを用いた比較処理により判定する。今、検索文字は"イ"、検索対象文字は"エ"で一致しないため、検索部24は、ステップS15に進み、類似関係テーブルAの適用可能回数が、類似関係テーブル適用カウンタより大きいか否かを判定する。今の例では、類似関係テーブルAの適用可能回数は2、類似関係テーブル適用カウンタは0のため、検索部24は、ステップS16に進み、検索文字と、検索対象文字とを、類似関係テーブルAを適用して比較する。
類似関係テーブルAを参照すると、"イ"と、"エ"とは類似関係にあるため、検索部24は、上述したビットを用いた比較処理により類似すると判定し、ステップS18に進み、類似関係テーブル適用カウンタを1つ増やして1とする。そして、検索部24は、ステップS19に進み、検索文字列に次の文字があるか否かを判定する。今の場合、次に文字があるので、検索部24は、ステップS20に進み、注目文字位置を一つ進め、ステップS12に進む。
ステップS12において、検索部24は、検索文字として、検索文字列の三番目の文字である"ウ"を取り出し、検索対象文字として、検索対象文字列の三番目の文字である"ユ"を取り出す。ステップS13において、検索部24は、ビット積演算を用いて、検索文字列と、検索対象文字列とを、類似関係テーブルを適用せずに比較する。そして、ステップS14において、検索部24は、一致するか否かを判定する。今、検索文字は"ウ"、検索対象文字は"ユ"で一致しないため、検索部24は、ステップS15に進み、類似関係テーブルAの適用可能回数が、類似関係テーブル適用カウンタより大きいか否かを判定する。今の例では、類似関係テーブルAの適用可能回数は2、類似関係テーブル適用カウンタは1のため、検索部24は、ステップS16に進み、検索文字と、検索対象文字とを、類似関係テーブルAを適用して比較する。
類似関係テーブルAを参照すると、"ウ"と、"ユ"とは類似関係にあるため、検索部24は、類似すると判定し、ステップS18に進み、類似関係テーブル適用カウンタを1つ増やして2とする。そして、検索部24は、ステップS19に進み、検索文字列に次の文字があるか否かを判定する。今の場合、次に文字があるので、検索部24は、ステップS20に進み、注目文字位置を一つ進め、ステップS12に進む。
ステップS12において、検索部24は、検索文字として、検索文字列の四番目の文字である"エ"を取り出し、検索対象文字として、検索対象文字列の四番目の文字である"エ"を取り出す。
ステップS13において、検索部24は、ビット積演算を用いて、検索文字列と、検索対象文字列とを、類似関係テーブルを適用せずに比較する。そして、ステップS14において、検索部24は、一致するか否かを判定する。今、両者は共に"エ"で一致するため、検索部24は、ステップS19に進み、検索文字列に次の文字があるか否かを判定する。今の場合、次に文字があるので、検索部24は、ステップS20に進み、注目文字位置を一つ進め、ステップS12に進む。
ステップS12において、検索部24は、検索文字として、検索文字列の五番目の文字である"オ"を取り出し、検索対象文字として、検索対象文字列の五番目の文字である"オ"を取り出す。
ステップS13において、検索部24は、ビット積演算を用いて、検索文字列と、検索対象文字列とを、類似関係テーブルを適用せずに比較する。そして、ステップS14において、検索部24は、一致するか否かを判定する。今、両者は共に"オ"で一致するため、検索部24は、ステップS19に進み、検索文字列に次の文字があるか否かを判定する。今の場合、次に文字がないので、検索部24は、ステップS21に進み、類似関係テーブル適用カウンタが、閾値以上か否かを判定する。
今の場合、類似関係テーブル適用カウンタは2、閾値は1であるため、検索部24は、類似関係テーブル適用カウンタが、閾値以上であると判定し、ステップS22に進み、検索対象文字列"アエユエオ"を、検索文字列"アイウエオ"に類似する文字列として、つまり、検索にヒットした検索対象文字列として、検索結果集約部27に出力する。
他に、類似関係テーブルAの適用可能回数が、類似関係テーブル適用カウンタより大きくない場合、検索文字列全てに対して比較処理を行わずに済む。例えば、検索対象文字列が"アエユルレ"、他は上述と同じ条件の処理の場合を説明する。検索文字列の注目文字位置が3番目までは、上述と同じ処理である為省略する。検索文字列の注目文字が4番目に移動し、ステップS14において、検索部24は、一致するか否かを上述したビットを用いた比較処理により判定する。今、検索文字は"ウ"、検索対象文字は"ル"で一致しないため、検索部24は、ステップS15に進み、類似関係テーブルAの適用可能回数が、類似関係テーブル適用カウンタより大きいか否かを判定する。2番目と3番目の検索文字列において類似関係テーブルAを適用して比較しているため、類似関係テーブルAの適用可能回数は2、類似関係テーブル適用カウンタは2となっている。そのため、検索部24は、類似関係テーブルAの適用可能回数が、類似関係テーブル適用カウンタより大きくないと判定すると(ステップS15においてNO)、図5に示す処理を終了する。
つまり、残りの4番目と5番目の検索文字列を比較する処理(ステップ16、ステップ13)を実行しなくとも、検索対象文字列"アエユルレ"を、検索文字列"アイウエオ"に類似しない文字列として、判定することが可能となる。
以上、上述したように本実施形態によれば、音の種類をビット列中の1となるビットの位置で表現し、ビット積演算を用いて比較を行うことによって、比較時間(又は検索時間)を短くすることができる。つまり、計算効率をよくすることができる。
また、上述したように本実施形態によれば、ルールに応じて、類似関係テーブルの適用可能回数及び閾値を設定し、この範囲内において比較を行うので、無駄な比較処理を行わなくてもよく、比較時間(又は検索時間)を短くすることができる。つまり、計算効率をよくすることができる。また、無駄な類似展開を行わなくてもよいため、メモリ効率をよくすることができる。また、オートマトンを用いる方法に比べて、ユーザがルールを設定し易く、また、ルールも理解し易いため、メンテナンス性がよい。
また、説明の簡略化のため1つの検索対象文字列との比較を例に挙げたが、検索対象文字列保持部25に保持されている複数ある全ての検索対象文字列との比較であっても本願は対応可能あることは言うまでも無い。例えば、検索対象文字列保持部25において検索対象文字列をトライ構造で保持しているのであればバックトラッキングを利用し、また、一覧形式で保持しているのであれば図5に示す処理を繰返すことによって、検索対象文字列保持部25において保持されている全ての検索対象文字列との比較を行い、その結果を検索結果集約部27に出力可能である。
<実施形態2>
図6は、情報処理装置1の一例の機能構成図(その2)である。図6に示されるように、情報処理装置1は、機能構成として、検索文字列取得部21と、設定部22と、ルール保持部23と、検索部24と、検索対象文字列保持部25と、類似関係テーブル保持部26と、検索結果集約部27と、ルール操作部28とを含む。
ルール操作部28以外の他の機能構成は、実施形態1と同様であるため、本実施形態では説明を省略する。
ルール操作部28は、入力装置11、表示装置12等を用いたユーザ操作に応じて、ルール保持部23に保持されているルールや、ルールに対応する類似関係テーブルの適用可能回数及び閾値等を、変更したり、新たなルールや、ルールに対応する類似関係テーブルの適用可能回数及び閾値等をルール保持部23に設定したりする。
例えば、実施形態1では、ルールとして、「1音乃至2音が類似関係テーブルAの関係にある」を例に説明を行ったが、例えば、このルールを「0音乃至2音が類似関係テーブルAの関係にある」に変更したい場合、ルール操作部28は、入力装置11、表示装置12等を用いたユーザ操作に応じて、ルール保持部23に保持されているファイルに記述されている「1音乃至2音が類似関係テーブルAの関係にある」を「0音乃至2音が類似関係テーブルAの関係にある」に変更する。また、ルール操作部28は、前記ルールに対応して、ルール保持部23に保持されている図3に示されるような類似関係テーブルの適用可能回数及び閾値の閾値を1から0に変更する。このように変更することで、検索文字列と完全一致する検索対象文字列についても、検索文字列に類似する文字列として、つまり、検索にヒットした検索対象文字列として、検索結果集約部27に出力する仕様へと変更できる。
以上、上述したように本実施形態によれば、ユーザは、ルールや、ルールに対応する類似関係テーブルの適用可能回数及び閾値等をより容易に設定、変更することができる。つまり、メンテナンス性をよくすることができる。
<その他の実施形態>
上述した実施形態1では、ルールとして、「1音乃至2音が類似関係テーブルAの関係にある」を例に説明を行った。しかしながら、ルールが例えば、「1音乃至2音が類似関係テーブルA、又は類似関係テーブルB、又は類似関係テーブルCの関係にある」等の場合もある。このような場合、検索部24は、図5のステップS16において、検索文字と、検索対象文字とが類似しているか否かを、類似関係テーブルA、類似関係テーブルB、類似関係テーブルCを適用して比較する。この際、各テーブルに優先順位が付加されている場合は、検索部24は、その優先順位に応じて、類似関係テーブルを用いて比較を行う。
なお、このような場合、類似関係テーブルの適用可能回数は、各テーブルに対して設定されていてもよいし、全てのテーブルに対して一つの値が設定されていてもよい。閾値も同様に、各テーブルに対して設定されていてもよいし、全てのテーブルに対して一つの値が設定されていてもよい。
上述した実施形態では、図5のステップS22において、検索部24は、対象としている検索対象文字列を、検索文字列に類似する文字列として、つまり、検索にヒットした検索対象文字列として、検索結果集約部27に出力するよう説明を行った。
しかしながら、検索部24は、図5のステップS22において、類似関係テーブル適用カウンタと共に、検索対象文字列を検索結果集約部27に出力するようにしてもよい。このようにすることによって、検索結果集約部27は、類似関係テーブル適用カウンタに応じて重み付けを行い、この重み付けに応じて、検索結果を出力することができる。
例えば、類似関係テーブル適用カウンタが1の検索対象文字列は、類似関係テーブル適用カウンタが2の検索対象文字列に比べて、検索文字列に対してより類似していると言える。したがって、検索結果集約部27は、類似関係テーブル適用カウンタが2の検索対象文字列より、類似関係テーブル適用カウンタが1の検索対象文字列に対して重み付けを行い、例えば、重み付けが高い(より類似している)検索対象文字列から順に、検索結果として出力するようにしてもよい。
このようにすることによって、ユーザは、例えば、検索文字列により類似した検索対象文字列の順に、検索対象文字列を得ることができる。
また、上述した実施形態では、検索文字列に対して類似関係テーブルの適用可能回数を設定する例を説明したが、図7或いは図8に示す通り、検索文字列を構成する各文字(一文字)に対して類似関係テーブルの適用可能回数を設定するようにしてもよいし、検索文字列を構成する各文字の集合(つまり、二文字、三文字、・・・)に対して類似関係テーブルの適用可能回数を設定するようにしてもよい。但し、検索文字列を構成する各文字の集合に対して類似関係テーブルの適用可能回数を設定する場合、検索文字列と、検索対象文字列との比較は、一文字ずつではなく、各文字の集合(つまり、二文字、三文字、・・・)ずつである。
また、上述した実施形態では、適用文字1文字に対応する類似文字は1文字であったが、図9に示す通り、適用文字1文字に対応する類似文字が複数文字から成る文字列であってもよい。
また、上述した実施形態では、テーブル(類似関係テーブル)を用いて文字(又は文字の音)同士の類似関係を示す例を用いて説明を行ったが、本発明の実施はテーブルに限定されるものではなく、例えば、ファイル(類似関係が記述されたファイル)等であってもよい。
また、上述した実施形態では、検索文字列と、検索対象文字列とを、互いの文字列の先頭から比較していく例を用いて説明を行ったが、本発明の実施は文字列の先頭からに限定されるものではなく、例えば、互いの文字列の末尾や特定の任意の場所から比較してもよい。
また、上述した実施形態では、検索文字列取得部21は、例えば、検索画面等においてユーザが入力した検索したい文字列を検索文字列として取得するよう説明を行ったが、本発明の実施はこのことに限定されるものではない。検索文字列取得部21は、例えば、OCR(Optical Character Reader)等で読み取った文字列を検索対象として取得するようにしてもよい。この場合、例えば、情報処理装置1は画像形成装置等に対応し、自身で文字列を読み取ってもよいし、文字列を読み取った画像形成装置より、文字列を取得してもよい。なお、OCRは、例えば、下線が付されている文字列等を検索文字列として読み取る。
また、上述した実施形態1では、ルールとして、「1音乃至2音が類似関係テーブルAの関係にある」を例に説明を行ったため、検索が類似検索となったが、本発明の実施は類似検索に限定されるものではなく、あるルールに従う記号間の配列を検索するようにしてもよい。例えば、DNA配列の一部"A(アデニン)G(グアニン)C(シトシン)T(チミン)"のうち先頭と先頭から2番目のアミノ酸配列が同じであれば、同じ特性を持つとする。この条件で同じ特性を持つDNAを検索したい場合、図10に示す適用関係テーブル、適用可能回数及び閾値を設定して上述した実施形態と同様に処理すれば、"AGGT"、"AGCA"、"AGTT"等、同じ特性を持ったDNA配列を検索することが可能になる。なお、ここでいう適用関係テーブルとは、実施形態1における類似関係テーブル(図4)と同等の役割を持つテーブルである。
また、上述した実施形態では、検索対象文字列は検索文字列の一部或いは全部を置き換えた文字列によって構成されていたが、本発明の実施はこれに限定されるものではなく、検索文字列の任意の位置に、任意の数の空白や文字、記号等が挿入された構成にある検索対象文字列であってもよい。
また、上述した実施形態では、文字列や記号を例に類似検索の説明を行ったが、本発明の実施はこれらに限定されるものではなく、音声や画像等あらゆるデータ列間の検索等であってもよい。
以上、上述した各実施形態によれば、計算効率及びメモリ効率と共に、システムの保守性がよい検索装置、検索方法及びプログラムを提供することができる。
なお、上述した各実施形態を任意に組み合わせて実施してもよい。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
情報処理装置1の一例のハードウェア構成図である。 情報処理装置1の一例の機能構成図(その1)である。 類似関係テーブルの適用可能回数及び閾値の一例を示す図(その1)である。 類似関係テーブルの一例を示す図(その1)である。 比較処理の一例を示すフローチャートである。 情報処理装置1の一例の機能構成図(その2)である。 類似関係テーブルの適用可能回数及び閾値の一例を示す図(その2)である。 類似関係テーブルの適用可能回数及び閾値の一例を示す図(その3)である。 類似関係テーブルの一例を示す図(その2)である。 類似関係テーブルと、類似関係テーブルの適用可能回数及び閾値との一例を示す図である。
符号の説明
1 情報処理装置
11 入力装置
12 表示装置
13 記録媒体ドライブ装置
14 記録媒体
15 ROM
16 RAM
17 CPU
18 インターフェース装置
19 HD
21 検索文字列取得部
22 設定部
23 ルール保持部
24 検索部
25 検索対象文字列保持部
26 類似関係テーブル保持部
27 検索結果集約部
28 ルール操作部

Claims (12)

  1. 検索対象データ列を保持する検索対象データ列保持手段と、
    検索データ列を取得する検索データ列取得手段と、
    前記検索データ列取得手段において取得された検索データ列に対して、オブジェクトを用いる回数の範囲を、予め定められたルールに応じて設定する設定手段と、
    検索処理として、前記設定手段において設定された回数の範囲内で、前記オブジェクトを用いて、前記検索データ列取得手段において取得された検索データ列と、前記検索対象データ列保持手段において保持されている検索対象データ列と、の比較を行う検索手段と、
    を有することを特徴とする検索装置。
  2. 前記検索手段は、前記設定手段において設定された回数の範囲内で、前記オブジェクトを用いて、前記検索データ列を構成する単位データと、前記検索対象データ列を構成する単位データと、の比較を行うことを特徴とする請求項1に記載の検索装置。
  3. 前記検索手段は、前記検索データ列を構成する単位データと、前記検索対象データ列を構成する単位データと、の比較を、ビット積演算を用いて行うことを特徴とする請求項2に記載の検索装置。
  4. 前記検索手段は、前記検索データ列を構成する単位データと、前記検索対象データ列を構成する単位データと、の比較を、単位データ毎に行い、一致しない単位データが存在すると、前記設定手段において設定された回数の範囲内で、前記オブジェクトを用いて、前記一致しない単位データが、前記オブジェクトを適用できる単位データか否かの比較を行うことを特徴とする請求項2又は3に記載の検索装置。
  5. 前記設定手段は、単位データと、検索結果として出力すべき前記検索データ列に適用できる前記検索対象データに係る、類似単位データと、の関係を保持するテーブルをオブジェクトとして、前記検索データ列取得手段において取得された検索データ列に対して、前記オブジェクトを用いる回数の範囲を、予め定められたルールに応じて設定し、
    前記検索手段は、前記検索データ列を構成する単位データと、前記検索対象データ列を構成する単位データと、の比較を、単位データ毎に行い、一致しない単位データが存在すると、前記設定手段において設定された回数の範囲内で、前記オブジェクトを用いて、前記一致しない単位データが、前記オブジェクトを適用できる単位データか否かの比較を行うことを特徴とする請求項2乃至4の何れか1項に記載の検索装置。
  6. 前記オブジェクトを複数有し、
    前記検索手段は、検索処理として、前記設定手段において設定された回数の範囲内で、優先順位に応じて、前記複数の内の一のオブジェクトを用いて、前記検索データ列取得手段において取得された検索データ列と、前記検索対象データ列保持手段において保持されている検索対象データ列と、の比較を行うことを特徴とする請求項1乃至5の何れか1項に記載の検索装置。
  7. 前記検索手段は、前記オブジェクトを用いて、前記検索データ列を構成する単位データと、前記検索対象データ列を構成する単位データと、の比較を行った回数をカウントし、カウントした回数に応じて、前記検索データ列と、前記検証対象データ列との適用度に係る重み付けを行い、前記重み付けに応じて、前記検索データ列に適用する前記検索対象データ列を出力することを特徴とする請求項1乃至6の何れか1項に記載の検索装置。
  8. 検索対象データ列を保持する検索対象データ列保持手段と、
    検索データ列を取得する検索データ列取得手段と、
    検索処理として、前記検索データ列取得手段において取得された検索データ列と、前記検索対象データ列保持手段において保持されている検索対象データ列と、の比較を、ビット積演算を用いて行う検索手段と、
    を有することを特徴とする検索装置。
  9. 前記検索手段は、前記検索データ列を構成する単位データと、前記検索対象データ列を構成する単位データと、の比較を、ビット積演算を用いて行うことを特徴とする請求項8に記載の検索装置。
  10. 検索装置における検索方法であって、
    検索データ列を取得する検索データ列取得段階と、
    前記検索データ列取得段階において取得された検索データ列に対して、オブジェクトを用いる回数の範囲を、予め定められたルールに応じて設定する設定段階と、
    検索処理として、前記設定段階において設定された回数の範囲内で、前記オブジェクトを用いて、前記検索データ列取得段階において取得された検索データ列と、検索対象データ列を保持する検索対象データ列保持手段において保持されている検索対象データ列と、の比較を行う検索段階と、
    を有することを特徴とする検索方法。
  11. 検索装置における検索方法であって、
    検索データ列を取得する検索データ列取得段階と、
    検索処理として、前記検索データ列取得段階において取得された検索データ列と、検索対象データ列を保持する検索対象データ列保持手段において保持されている検索対象データ列と、の比較を、ビット積演算を用いて行う検索段階と、
    を有することを特徴とする検索方法。
  12. 請求項10又は11に記載の検索方法をコンピュータに実行させることを特徴とするプログラム。
JP2006283227A 2006-10-18 2006-10-18 検索装置、検索方法及びプログラム Active JP5190192B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006283227A JP5190192B2 (ja) 2006-10-18 2006-10-18 検索装置、検索方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006283227A JP5190192B2 (ja) 2006-10-18 2006-10-18 検索装置、検索方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2008102641A true JP2008102641A (ja) 2008-05-01
JP5190192B2 JP5190192B2 (ja) 2013-04-24

Family

ID=39436939

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006283227A Active JP5190192B2 (ja) 2006-10-18 2006-10-18 検索装置、検索方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5190192B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110126610A (ko) 2009-02-09 2011-11-23 제이엔씨 주식회사 액정 조성물 및 액정 표시 소자
KR20140014379A (ko) 2009-05-29 2014-02-06 제이엔씨 주식회사 액정 조성물 및 액정 표시 소자
US11256756B2 (en) 2016-02-22 2022-02-22 Advanced New Technologies Co., Ltd. Character string distance calculation method and device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6027938A (ja) * 1983-07-26 1985-02-13 Fujitsu Ltd 文字列比較装置
JPH07152774A (ja) * 1993-11-30 1995-06-16 Hitachi Ltd 文書検索方法および装置
JPH0869474A (ja) * 1994-08-29 1996-03-12 Fujitsu Ltd 類似文字列検索装置
JPH08180064A (ja) * 1994-12-22 1996-07-12 Canon Inc 文書検索方法及び文書ファイリング装置
JPH11203315A (ja) * 1998-01-14 1999-07-30 Nec Corp 記号列検索方法及び記号列検索装置並びに記号列検索プログラムを記録した記録媒体
JP2004054538A (ja) * 2002-07-19 2004-02-19 Nec Corp 漢字コード変換システムおよび漢字コード変換方法
JP2005257954A (ja) * 2004-03-10 2005-09-22 Nec Corp 音声検索装置、音声検索方法および音声検索プログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6027938A (ja) * 1983-07-26 1985-02-13 Fujitsu Ltd 文字列比較装置
JPH07152774A (ja) * 1993-11-30 1995-06-16 Hitachi Ltd 文書検索方法および装置
JPH0869474A (ja) * 1994-08-29 1996-03-12 Fujitsu Ltd 類似文字列検索装置
JPH08180064A (ja) * 1994-12-22 1996-07-12 Canon Inc 文書検索方法及び文書ファイリング装置
JPH11203315A (ja) * 1998-01-14 1999-07-30 Nec Corp 記号列検索方法及び記号列検索装置並びに記号列検索プログラムを記録した記録媒体
JP2004054538A (ja) * 2002-07-19 2004-02-19 Nec Corp 漢字コード変換システムおよび漢字コード変換方法
JP2005257954A (ja) * 2004-03-10 2005-09-22 Nec Corp 音声検索装置、音声検索方法および音声検索プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110126610A (ko) 2009-02-09 2011-11-23 제이엔씨 주식회사 액정 조성물 및 액정 표시 소자
KR20140014379A (ko) 2009-05-29 2014-02-06 제이엔씨 주식회사 액정 조성물 및 액정 표시 소자
US11256756B2 (en) 2016-02-22 2022-02-22 Advanced New Technologies Co., Ltd. Character string distance calculation method and device

Also Published As

Publication number Publication date
JP5190192B2 (ja) 2013-04-24

Similar Documents

Publication Publication Date Title
JP6007784B2 (ja) 文書分類装置及びプログラム
JP2017162190A (ja) 類似文書検索プログラム、類似文書検索装置、及び類似文書検索方法
US8606779B2 (en) Search method, similarity calculation method, similarity calculation, same document matching system, and program thereof
CN110750704B (zh) 一种查询自动补全的方法和装置
US10394763B2 (en) Method and device for generating pileup file from compressed genomic data
JP5190192B2 (ja) 検索装置、検索方法及びプログラム
JP4524640B2 (ja) 情報処理装置および方法、並びにプログラム
JP6072922B2 (ja) 文字列検索装置、文字列検索方法および文字列検索プログラム
JP6722565B2 (ja) 類似文書抽出装置、類似文書抽出方法及び類似文書抽出プログラム
JP5439235B2 (ja) 文書分類方法、文書分類装置、およびプログラム
JP2007199966A (ja) 文書分類装置、文書分類方法および文書分類プログラム
JPH113343A (ja) 情報検索装置
JP2009098811A (ja) 文書分類装置およびプログラム
JP4544047B2 (ja) Web画像検索結果分類提示方法及び装置及びプログラム及びプログラムを格納した記憶媒体
CN106971117B (zh) 调查设备和调查方法
JP2008070921A (ja) 文書検索装置及び文書検索プログラム
JP2019148859A (ja) フローダイアグラムを用いたモデル開発環境におけるデザインパターンの発見を支援する装置および方法
JP4936455B2 (ja) 文書分類装置、文書分類方法、プログラムおよび記録媒体
JP5751318B2 (ja) 文書分類装置、文書分類方法、及びプログラム
JP6577922B2 (ja) 検索装置、方法、及びプログラム
JP6753190B2 (ja) 文書検索装置及びプログラム
JP2019125025A (ja) システム、文書データの管理方法、及びプログラム
JP2005242668A (ja) パターンマッチング装置および方法ならびにプログラム
JP2001290826A (ja) 文書分類装置、文書分類方法及び文書分類プログラムを記録した記録媒体
JP2004220082A (ja) 文書検索プログラム、文書検索方法および文書検索装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091009

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120406

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121009

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121207

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20121218

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: 20130115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130128

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

Free format text: PAYMENT UNTIL: 20160201

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5190192

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250