JP2016058016A - 検索インデックス作成装置、検索インデックス作成方法及びプログラム - Google Patents

検索インデックス作成装置、検索インデックス作成方法及びプログラム Download PDF

Info

Publication number
JP2016058016A
JP2016058016A JP2014186097A JP2014186097A JP2016058016A JP 2016058016 A JP2016058016 A JP 2016058016A JP 2014186097 A JP2014186097 A JP 2014186097A JP 2014186097 A JP2014186097 A JP 2014186097A JP 2016058016 A JP2016058016 A JP 2016058016A
Authority
JP
Japan
Prior art keywords
gram
extracted
character
same
bigram
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.)
Pending
Application number
JP2014186097A
Other languages
English (en)
Inventor
佐藤 勝彦
Katsuhiko Sato
勝彦 佐藤
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2014186097A priority Critical patent/JP2016058016A/ja
Publication of JP2016058016A publication Critical patent/JP2016058016A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】高速に検索インデックスを作成することが可能な検索インデックス作成装置、検索インデックス作成方法及びプログラムを提供する。【解決手段】検索インデックス作成装置100において、検索対象文書130から抽出したNグラムと第1文字が同一であるNグラムが抽出済みNグラム群に含まれていないと判別した場合、及び、抽出したNグラムと第2文字が同一であるNグラムが、第1文字が同一であるNグラムの中に含まれていないと判別した場合、Nグラム追加手段は、抽出したNグラムを、該Nグラムの検索対象文書130における位置を示す位置情報と紐付けて、抽出済みNグラム群に追加する。位置情報追加手段は、抽出したNグラムが抽出済みNグラム群に含まれている場合、該Nグラムの検索対象文書130における位置を示す位置情報を、抽出済みNグラム群において該Nグラムに紐付けられた位置情報に追加する。【選択図】図2

Description

本発明は、検索インデックス作成装置、検索インデックス作成方法及びプログラムに関する。
文書の電子化の増大に伴い、これまでに蓄積されてきた大量の文書群から所望の文書を見つけ出す検索技術の重要性が高まっている。
大量の文書群を対象とした検索では、検索処理の高速化のため、検索対象となる文書群に含まれる単語等を索引単位として、索引ファイルを作成することが一般的である。あらかじめ作成された索引ファイル(検索インデックス、転置インデックスと呼称する。)を検索時に用いることで、検索のたびに大量の文書群にアクセスする必要がなくなり、高速な検索処理が実現されるからである。
英語などの多くの言語においては、単語を索引単位として転置インデックスを作成することが一般的である。しかし、日本語の場合、スペース等によって単語の切れ目が明示的に示されないため、しばしば、単語の代わりにNグラムを索引単位とする方法が用いられる。Nグラムとは、連続するN文字の部分文字列のことである。Nグラムによる検索インデックスの作成は、単語を認識する必要がないため、日本語の文書を検索対象とした検索に適している。
Nグラムを索引単位とする検索インデックスは、検索対象文書の先頭から1文字ずつずらしながらN文字ずつ文字列を抽出して、抽出したN文字の文字列(Nグラム)の種類毎に検索対象文書内における出現位置を記録することにより、作成される。例えば特許文献1は、検索対象となる文書群を文書番号順に並べたテキストに対して、先頭から1文字ずつずらしながら2文字ずつ文字列抽出して、抽出した2文字の文字列(バイグラム)毎に出現位置と出現頻度とを記録することにより、転置インデックスを生成する方法を開示している。
特開2012−198794号公報
検索対象となる文書群(以下、検索対象文書という。)内にM種類の文字が存在すると仮定すると、この検索対象文書内に存在するNグラムの種類は最大でMのN乗通りになる。そのため、検索インデックスを作成する際、検索対象文書から抽出されたNグラムが抽出済みのNグラムと同一であるか否かを、最大でMのN乗回評価する必要がある。これは、検索インデックスの作成時間を増大させる要因となっていた。特に、検索対象文書が更新されて検索インデックスを更新したり、検索対象文書に新規の文書を追加して検索インデックスを追加したりすることを考慮すると、検索インデックスの作成時間増大による影響が大きくなる。そのため、検索インデックスの作成時間を短縮することが求められていた。
本発明は、以上のような課題を解決するためのものであり、高速に検索インデックスを作成することが可能な検索インデックス作成装置、検索インデックス作成方法及びプログラムを提供することを目的とする。
上記目的を達成するため、本発明に係る検索インデックス作成装置は、
検索対象文書から、N文字の文字列であるNグラムを抽出する抽出手段と、
前記抽出手段が抽出した前記Nグラムと第1文字が同一であるNグラムが、抽出済みNグラム群に含まれているか否かを判別する第1の判別手段と、
前記第1文字が同一である前記Nグラムが前記抽出済みNグラム群に含まれていると前記第1の判別手段が判別した場合、前記抽出手段が抽出した前記Nグラムと第2文字が同一であるNグラムが、前記第1文字が同一である前記Nグラムに含まれているか否かを判別する第2の判別手段と、
前記第1文字が同一である前記Nグラムが前記抽出済みNグラム群に含まれていないと前記第1の判別手段が判別した場合、及び、前記第2文字が同一である前記Nグラムが、前記第1文字が同一である前記Nグラムの中に含まれていないと前記第2の判別手段が判別した場合、前記抽出手段が抽出した前記Nグラムを、該Nグラムの前記検索対象文書における位置を示す位置情報と紐付けて、前記抽出済みNグラム群に追加するNグラム追加手段と、
前記第2文字が同一である前記Nグラムが、前記第1文字が同一である前記Nグラムの中に含まれていると前記第2の判別手段が判別した場合であって、前記抽出手段が抽出した前記Nグラムが前記抽出済みNグラム群に含まれている場合、該Nグラムの前記検索対象文書における位置を示す位置情報を、前記抽出済みNグラム群において該Nグラムに紐付けられた位置情報に追加する位置情報追加手段と、
前記抽出手段が前記検索対象文書から前記Nグラムを抽出する位置を変えて、前記抽出手段、前記第1の判別手段、前記第2の判別手段、前記Nグラム追加手段、及び前記位置情報追加手段の処理を繰り返す繰り返し手段と、
前記繰り返し手段が繰り返し処理を実行した後の前記抽出済みNグラム群に基づいて、前記検索対象文書に含まれる各Nグラムと、該各Nグラムの前記検索対象文書における位置を示す位置情報と、が紐付けられた検索インデックスを作成する検索インデックス作成手段と、
を備えることを特徴とする。
本発明によれば、高速に検索インデックスを作成することができる。
本発明の実施形態に係る検索インデックス作成装置の物理構成を示すブロック図である。 本発明の実施形態に係る検索インデックス作成装置の機能構成を示すブロック図である。 検索対象文書の例を示す図である。 抽出済みバイグラム群の例を示す図である。 本発明の実施形態に係る検索インデックス作成装置が実行する検索インデックス作成処理の流れを示す第1のフローチャートである。 本発明の実施形態に係る検索インデックス作成装置が実行する検索インデックス作成処理の流れを示す第2のフローチャートである。 (a)、(b)共に、バイグラム文字列を抽出済みバイグラム群に追加する例を示す図である。 位置情報を抽出済みバイグラム群に追加する例を示す図である。 本発明の実施形態に係る検索インデックス作成装置が作成した検索インデックスの例を示す図である。
以下、本発明の実施形態について、図面を参照して説明する。なお、図中同一又は相当する部分には同一符号を付す。
本実施形態に係る検索インデックス作成装置は、電子辞書等のような多数の文書データを搭載した情報処理装置において、ユーザが所望の検索文字列を含む文書データを検索する際に用いられる検索インデックスを作成する。
本実施形態に係る検索インデックス作成装置は、物理的には図1に示すように構成される。検索インデックス作成装置100は、ROM(Read Only Memory)1と、RAM(Random Access Memory)2と、外部記憶装置3と、入力装置4と、出力装置5と、外部インターフェース6と、CPU(Central Processing Unit)7と、を備える。
ROM1は、各種初期設定、ハードウェアの検査、プログラムのロード等を行うための初期プログラムを記憶する。RAM2は、CPU7が実行する各種ソフトウェアプログラム、これらのソフトウェアプログラムの実行に必要なデータ等を一時的に記憶する。
外部記憶装置3は、例えば、ハードディスク等であって、各種ソフトウェアプログラム、データ等を記憶する。これらソフトウェアプログラムの中には、アプリケーションソフトウェアプログラムやOS(Operating System)のような基本ソフトウェアプログラムなどが含まれている。
入力装置4は、例えば、キーボード等である。入力装置4は、ユーザがキーボードを用いて操作入力したテキストデータ等をCPU7に入力する。出力装置5は、例えば、液晶ディスプレイ等の画面を備える。出力装置5は、CPU7によって出力されたテキストデータを画面に表示出力する。
外部インターフェース6は、検索インデックス作成装置100の外部の機器とデータをやり取りするためのインターフェースである。外部インターフェース6は、USB(Universal Serial Bus)やLAN(Local Area Network)等を介してデータを送受信することにより、又は、フラッシュメモリ等の各種の記憶媒体にデータを読み書きすることにより、外部の機器との間でデータの授受を行う。
CPU7は、命令やデータを転送するための伝送経路であるシステムバスを介して検索インデックス作成装置100の各部と接続され、検索インデックス作成装置100全体を制御する。
検索インデックス作成装置100は、機能的には図2に示すように構成される。検索インデックス作成装置100は、抽出部101と、第1の判別部102と、第2の判別部103と、バイグラム追加部104と、位置情報追加部105と、繰り返し部106と、検索インデックス作成部107と、を備える。CPU7は、ROM1に記憶されたソフトウェアプログラムをRAM2に読み出して、そのソフトウェアプログラムを実行制御することにより、これら各部として機能する。
また、検索インデックス作成装置100は、検索対象文書130と、抽出済みバイグラム群140と、検索インデックス150と、を記憶する記憶部110を備える。記憶部110は、外部記憶装置3によって構成される。
検索対象文書130は、文字列検索の対象となる文書(テキスト)である。図3に、検索対象文書130の一例を示す。検索対象文書130は、文字列検索の対象となる多数の文字列を含むものであって、具体的には、辞書を構成する複数の文書データを含む。検索対象文書130を構成する個々の文書データは、辞書を構成する構成単位であって、辞書の見出しとなる語句である「見出し語」と、「見出し語」を説明する「説明文」と、を含む。検索インデックス作成装置100は、このような検索対象文書130を、検索インデックス150の作成前に予め、外部インターフェース6を介して外部の機器から取得しておき、記憶部110に記憶しておく。
抽出済みバイグラム群140とは、抽出部101が検索対象文書130から抽出した抽出済みバイグラムを、検索対象文書130内の出現位置情報に紐付けて格納したデータである。
図4に、抽出済みバイグラム群140の例を示す。抽出済みバイグラム群140は、抽出済みバイグラムとして、「RT」、「RA」、「EL」という3個のバイグラムを、検索対象文書130内における出現位置情報に紐付けて格納している。具体的に説明すると、バイグラム「RT」は、検索対象文書130の先頭から5文字目と324文字目に出現し、バイグラム「RA」は、検索対象文書130の先頭から32文字目と198文字目に出現し、バイグラム「EL」は、検索対象文書130の先頭から8文字目と109文字目に出現する。
より詳細に説明すると、抽出済みバイグラム群140は、バイグラムを、バイグラム第1文字ExtractedBigram1stChar[i]毎に分類し、各バイグラム第1文字ExtractedBigram1stChar[i]にバイグラム第2文字ExtractedBigram2ndChar[i][j]を紐付けて、格納する。例えば、2個のバイグラム「RT」及び「RA」は、共通の第1文字「R」をバイグラム第1文字ExtractedBigram1stChar[0]として、このバイグラム第1文字ExtractedBigram1stChar[0]に、バイグラム第2文字ExtractedBigram2ndChar[0][0]とバイグラム第2文字ExtractedBigram2ndChar[0][1]としてそれぞれ文字「T」と文字「A」とが紐付けられる。
検索インデックス作成装置100は、このような抽出済みバイグラム群140を中間データとして記憶部110に記憶しながら、最終的な目的物である検索インデックス150を作成する。
以下、検索インデックス作成装置100が備える各機能構成の詳細について、図5及び図6に示すフローチャートを参照しながら、説明する。
図5のフローチャートに示す検索インデックス作成処理は、検索対象文書130を指定する操作入力を、例えば入力装置4を介してユーザから受け付け、検索対象文書130を文字列検索するための検索インデックス150の作成を開始する旨の操作入力を受け付けると、開始する。
検索インデックス作成処理が開始すると、CPU7は、第1に、変数p,i,jを初期化する(ステップS1)。変数p,i,jは、以降の検索インデックス作成処理において使用する変数である。CPU7は、変数p,i,jのそれぞれに値1を代入することにより、変数p,i,jのそれぞれを初期化する。
変数p,i,jを初期化すると、抽出部101は、検索対象文書130の先頭からp文字目の出現位置において、2文字を切り出して、Nグラムの一種であるバイグラム文字列BigramStrを抽出する(ステップS2)。検索インデックス作成処理の開始時には、変数pは1に初期化されているので、抽出部101は、検索対象文書130の先頭の2文字のバイグラム文字列を抽出する。
抽出部101がバイグラム文字列を抽出すると、第1の判別部102は、抽出したバイグラム文字列BigramStrの第1文字と、抽出済みバイグラム群140内のバイグラム第1文字ExtractedBigram1stChar[i]とが、同一であるか否かを判別する(ステップS3)。ここで、バイグラム第1文字ExtractedBigram1stChar[i]は、抽出済みバイグラム群140に含まれるバイグラムの第1文字としてX種類の文字があると仮定した場合の、X種類の文字のうちの第i種類目の文字を示す。
例えば、図4に示したように、抽出済みバイグラム群140が「RT」、「RA」、「EL」という3個のバイグラムを含んでいる場合、これらのバイグラムの第1文字は、それぞれ「R」、「R」、「E」である。そのため、抽出済みバイグラム群140内のバイグラム第1文字ExtractedBigram1stChar[i]として、「R」と「E」との2種類の文字がある。第1の判別部102は、これら2種類のバイグラム第1文字「R」と「E」とを順次選択して、選択したバイグラム第1文字と、抽出したバイグラム文字列BigramStrの第1文字とが、同一であるか否かを判別する。
なお、検索インデックス作成処理の開始時には、抽出済みバイグラム群140は未だバイグラムを含んでいないため、第1の判別部102は、抽出済みバイグラム群140内のバイグラム第1文字ExtractedBigram1stChar[i]と、抽出したバイグラム文字列BigramStrの第1文字とが、同一でないと判別する。
判別の結果、抽出したバイグラム文字列BigramStrの第1文字と、抽出済みバイグラム群140内のバイグラム第1文字ExtractedBigram1stChar[i]とが、同一でない場合(ステップS3;NO)、続いて、第1の判別部102は、抽出したバイグラム文字列BigramStrの第1文字を、抽出済みバイグラム群140内のバイグラム第1文字の全てと比較し終えたか否かを判別する(ステップS4)。
抽出したバイグラム文字列BigramStrの第1文字を抽出済みバイグラム群140内のバイグラム第1文字の全てと比較し終えていない場合(ステップS4;NO)、第1の判別部102は、変数iをインクリメントして(ステップS5)、処理をステップS3に戻す。すなわち、第1の判別部102は、抽出済みバイグラム群140内の別のバイグラム第1文字を新たに1つ選択して、抽出したバイグラム文字列BigramStrの第1文字が、選択したバイグラム第1文字と同一であるか否かを判別する。
このように、第1の判別部102は、抽出済みバイグラム群140内のバイグラム第1文字のそれぞれについて、抽出したバイグラム文字列BigramStrの第1文字と同一であるか否かを、順次判別していく。これにより、第1の判別部102は、抽出したバイグラム文字列BigramStrと第1文字が同一であるバイグラムが、抽出済みバイグラム群140に含まれているか否かを判別する。例えば、抽出済みバイグラム群140内にX種類のバイグラム第1文字がある場合、第1の判別部102は、バイグラム文字列BigramStrの第1文字と同一のバイグラム第1文字を抽出済みバイグラム群140の中から見付けるまで、ステップS3〜S5の処理を、最大X回繰り返す。
最終的に、抽出したバイグラム文字列BigramStrの第1文字を、抽出済みバイグラム群140内のバイグラム第1文字の全てと比較し終えても、抽出したバイグラム文字列BigramStrの第1文字と同一のバイグラム第1文字を抽出済みバイグラム群140内から見付けられなかった場合(ステップS4;YES)、すなわち、バイグラム文字列BigramStrと第1文字が同一であるバイグラムが、抽出済みバイグラム群140に含まれていないと第1の判別部102が判別した場合、バイグラム追加部104は、検索対象文書130における位置を示す位置情報と紐付けて、抽出したバイグラム文字列BigramStrを、抽出済みバイグラム群140に新規追加する(ステップS6)。
図7(a)に、図4に示した抽出済みバイグラム群140に、抽出したバイグラム文字列BigramStrを追加する例を示す。例えば、抽出部101が、検索対象文書130の先頭から331文字目からバイグラム文字列BigramStr「BI」を抽出した場合、抽出したバイグラム文字列BigramStrの第1文字「B」と同一のバイグラム第1文字ExtractedBigram1stChar[i]は、図4に示した抽出済みバイグラム群140内に存在しない。この場合、バイグラム追加部104は、図7(a)において破線で示したように、抽出したバイグラム文字列BigramStr「BI」を、文字「B」をバイグラム第1文字ExtractedBigram1stChar[2]とし、文字「I」をバイグラム第2文字ExtractedBigram2ndChar[2][0]として、且つ、出現位置情報として「331」を紐付けて、抽出済みバイグラム群140に新規追加する。
このように、抽出したバイグラム文字列BigramStrを抽出済みバイグラム群140に新規追加すると、検索インデックス作成処理は、図6に示すフローチャートに移る。
図6に示すフローチャートにおいて、バイグラム追加部104が抽出したバイグラム文字列BigramStrを抽出済みバイグラム群140に新規追加すると、繰り返し部106は、検索対象文書130内の全バイグラムを抽出し終えたか否かを判別する(ステップS7)。すなわち、繰り返し部106は、検索対象文書130の末尾の文字を含むバイグラムまで、抽出部101が抽出し終えたか否かを判別する。
検索対象文書130内の全バイグラムを抽出し終えていない場合(ステップS7;NO)、繰り返し部106は、変数pをインクリメントして(ステップS8)、また変数i,jを1に初期化して、処理を図5のフローチャートにおけるステップS2に戻す。そして、繰り返し部106は、検索対象文書130内の次の文字の出現位置において、2文字を切り出して、バイグラム文字列BigramStrを抽出し、抽出したバイグラム文字列BigramStrに対して、上述した処理を実行する。
このように、繰り返し部106による繰り返し処理の過程において、抽出部101は、検索対象文書130内の各バイグラム文字列BigramStrを順次抽出して、バイグラム追加部104は、検出対象テキスト内の位置情報と紐付けて、抽出したバイグラム文字列BigramStrを抽出済みバイグラム群140に追加していく。
繰り返し部106による繰り返し処理の過程において、抽出部101が検索対象文書130から抽出したバイグラム文字列BigramStrの第1文字と同一のバイグラム第1文字が、抽出済みバイグラム群140内のバイグラム第1文字ExtractedBigram1stChar[i]と同一である場合(ステップS3;YES)、すなわち、抽出部101が抽出したバイグラム文字列BigramStrの第1文字と同一のバイグラム第1文字が抽出済みバイグラム群140内にある場合、次に、第2の判別部103が第2の判別処理を実行する。
具体的に説明すると、第2の判別部103は、抽出したバイグラム文字列BigramStrの第2文字と、抽出したバイグラム文字列BigramStrと第1文字が同一であるバイグラム内のバイグラム第2文字ExtractedBigram2ndChar[i][j]と、が同一であるか否かを判別する(ステップS9)。ここで、バイグラム第2文字ExtractedBigram2ndChar[i][j]は、抽出したバイグラム文字列BigramStrと第1文字が同一であるバイグラムの第2文字としてY種類の文字があると仮定した場合の、Y種類の文字のうちの第j番目の文字を示す。
例えば図7(a)に示したように、抽出済みバイグラム群140に、「RT」、「RA」、「EL」、「BI」という4個のバイグラムが含まれていた場合であって、抽出部101が抽出したバイグラム文字列BigramStrの第1文字が「R」である場合、抽出したバイグラム文字列BigramStrと第1文字が同一であるバイグラムとして、「RT」と「RA」との2個のバイグラムがある。これらのバイグラムの第2文字は、それぞれ「R」と「A」であるため、バイグラム第2文字ExtractedBigram2ndChar[i][j]として、「R」と「A」との2種類の文字がある。第2の判別部103は、これら2種類のバイグラム第2文字「R」と「A」とを順次選択して、選択したバイグラム第2文字と、抽出したバイグラム文字列BigramStrの第2文字とが同一であるか否かを判別する。
判別の結果、抽出したバイグラム文字列BigramStrの第2文字と、バイグラム第2文字ExtractedBigram2ndChar[i][j]とが、同一でない場合(ステップS9;NO)、続いて、第2の判別部103は、抽出したバイグラム文字列BigramStrの第2文字を、抽出したバイグラム文字列BigramStrと第1文字が同一であるバイグラム内のバイグラム第2文字の全てと比較し終えたか否かを判別する(ステップS10)。
抽出したバイグラム文字列BigramStrの第2文字を、抽出したバイグラム文字列BigramStrと第1文字が同一であるバイグラム内のバイグラム第2文字の全てと比較し終えていない場合(ステップS10;NO)、第2の判別部103は、変数jをインクリメントして(ステップS11)、処理をステップS9に戻す。すなわち、第2の判別部103は、抽出したバイグラム文字列BigramStrと第1文字が同一であるバイグラム内の別のバイグラム第2文字を新たに1つ選択して、抽出したバイグラム文字列BigramStrの第2文字が、選択したバイグラム第2文字と同一であるか否かを判別する。
このように、第2の判別部103は、バイグラム文字列BigramStrと第1文字が同一であるバイグラム内のバイグラム第2文字のそれぞれについて、抽出したバイグラム文字列BigramStrの第2文字と同一であるか否かを、順次判別していく。これにより、第2の判別部103は、抽出したバイグラム文字列BigramStrと第2文字が同一であるバイグラムが、バイグラム文字列BigramStrと第1文字が同一であるバイグラムに含まれているか否かを判別する。例えば、バイグラム文字列BigramStrと第1文字が同一であるバイグラム内にY種類のバイグラム第2文字がある場合、第2の判別部103は、バイグラム文字列BigramStrの第2文字と同一のバイグラム第2文字を、バイグラム文字列BigramStrと第1文字が同一であるバイグラムの中から見付けるまで、ステップS9〜S11の処理を、最大Y回繰り返す。
最終的に、抽出したバイグラム文字列BigramStrの第2文字を、バイグラム文字列BigramStrと第1文字が同一であるバイグラム内のバイグラム第2文字の全てと比較し終えても、抽出したバイグラム文字列BigramStrの第2文字と同一のバイグラム第2文字を見付けられなかった場合(ステップS10;YES)、すなわち、バイグラム文字列BigramStrと第2文字が同一であるバイグラムが、バイグラム文字列BigramStrと第1文字が同一であるバイグラムの中に含まれていないと第2の判別部103が判別した場合、バイグラム追加部104は、検索対象文書130における位置を示す位置情報と紐付けて、抽出したバイグラム文字列BigramStrを、抽出済みバイグラム群140に新規追加する(ステップS6)。
図7(b)に、図7(a)に示した抽出済みバイグラム群140に、抽出したバイグラム文字列BigramStrを追加する例を示す。例えば、抽出部101が、検索対象文書130の先頭から392文字目からバイグラム文字列BigramStr「RV」を抽出した場合、抽出したバイグラム文字列BigramStrの第1文字「R」と同一のバイグラム第1文字ExtractedBigram1stChar[i]として、2個のバイグラム「RT」と「RA」とが抽出済みバイグラム群140内にある。しかし、抽出したバイグラム文字列BigramStrの第2文字「V」と同一のバイグラム第2文字ExtractedBigram2ndChar[i][j]は、バイグラム文字列BigramStrと第1文字が同一であるバイグラム「RT」と「RA」との中には含まれていない。この場合、バイグラム追加部104は、図7(b)において破線で示したように、抽出したバイグラム文字列BigramStr「RV」を、バイグラム第1文字ExtractedBigram1stChar[0](文字「R」)のグループの中に、文字「V」をバイグラム第2文字ExtractedBigram2ndChar[0][2]として、且つ、出現位置情報として「392」を紐付けて、抽出済みバイグラム群140に新規追加する。
一方で、抽出部101が検索対象文書130から抽出したバイグラム文字列BigramStrの第2文字と同一のバイグラム第2文字が、バイグラム第2文字ExtractedBigram2ndChar[i][j]と同一である場合(ステップS9;YES)、すなわち、バイグラム文字列BigramStrの第2文字と同一のバイグラム第2文字が、バイグラム文字列BigramStrと第1文字が同一であるバイグラム内に含まれていると第2の判別部103が判別した場合、位置情報追加部105は、検索対象文書130内におけるバイグラム文字列BigramStrの位置を示す位置情報を、抽出済みバイグラム群140内の該当するバイグラムの位置情報に追加する(ステップS12)。
すなわち、ステップS9において、バイグラム文字列BigramStrと第2文字が同一であるバイグラムが、バイグラム文字列BigramStrと第1文字が同一であるバイグラムの中から見付かったということは、抽出したバイグラム文字列BigramStrと同一のバイグラムが、抽出済みバイグラム群140に既に含まれているということを意味する。そのため、位置情報追加部105は、重複を避けるため、抽出したバイグラム文字列BigramStrを抽出済みバイグラム群140に新たに追加することはせず、バイグラム文字列BigramStrの位置情報を抽出済みバイグラム群140内の該当するバイグラムの位置情報に追加することに留める。
図8に、図7(b)に示した抽出済みバイグラム群140に、抽出したバイグラム文字列BigramStrの位置情報を追加する例を示す。例えば、抽出部101が、検索対象文書130の先頭から571文字目からバイグラム文字列BigramStr「RT」を抽出した場合、抽出したバイグラム文字列BigramStr「RT」と同一のバイグラムは、抽出済みバイグラム群140内に既に存在している。この場合、バイグラム追加部104は、図8において破線で示したように、抽出済みバイグラム群140内のバイグラム文字列「RT」に紐付けられた出現位置情報に、抽出したバイグラム文字列BigramStr「RT」の検索対象文書130における出現位置情報「571」を追加する。
なお、検索インデックス作成装置100が、出現位置情報だけでなく、検索対象文書130内における各バイグラムの出現頻度(出現回数)の情報を、各バイグラムに紐付けて格納した検索インデックス150を作成する場合には、位置情報追加部105は、ステップS12において、抽出済みバイグラム群140内の該当するバイグラムの出現回数に1を加えることにより、出現頻度を更新する。
この後、検索インデックス作成処理は、図6に示すフローチャートのステップS7に移行して、繰り返し部106が、検索対象文書130内の全バイグラムを抽出し終えたか否かを判別する(ステップS7)。検索対象文書130内の全バイグラムを抽出し終えていない場合(ステップS7;NO)、繰り返し部106は、変数pをインクリメントして(ステップS8)、また変数i,jを1に初期化して、処理を図5のフローチャートにおけるステップS2に戻す。そして、繰り返し部106は、抽出部101が検索対象文書130からバイグラムを抽出する位置を次の文字の出現位置に変えて、ステップS2〜S12に示した抽出部101、第1の判別部102、第2の判別部103、バイグラム追加部104、及び位置情報追加部105の処理を、検索対象文書130内の全バイグラムを抽出し終えるまで繰り返す。
最終的に、検索対象文書130内の全バイグラムを抽出し終えると(ステップS7;YES)、検索インデックス作成部107は、抽出済みバイグラム群140に含まれる、検索対象文書130における位置を示す位置情報が紐付けられた各バイグラムを、文字コード順(例えばアルファベット順や五十音順)に並べ替える(ステップS13)。そして、検索インデックス作成部107は、バイグラムを文字コード順に並べ替えた抽出済みバイグラム群140を、検索インデックス150としてファイルに出力する(ステップS14)。
図9に、検索インデックス作成部107が作成した検索インデックス150の例を示す。検索インデックス作成部107は、繰り返し部106が繰り返し処理を実行した後の検索対象文書130に含まれるバイグラムを、「AA」、「AB」、「AC」、…というように、文字コード順(アルファベット順)に並べる。そして、検索対象文書130に含まれる各バイグラムと、該各バイグラムの検索対象文書130における位置を示す位置情報と、が紐付けられた検索インデックス150を作成する。バイグラムを文字コード順に並べて検索インデックス150を作成することで、検索インデックス150を用いた検索時に、例えば二分探索によって検索インデックス150の中から必要なバイグラムを探索することができるので、高速な文字列検索が可能になる。
以上により、検索インデックス作成装置100が実行する検索インデックス作成処理は終了する。検索インデックス作成部107が作成した検索インデックス150は、外部インターフェース6を介して外部の機器に提供され、例えば電子辞書のような、検索対象文書130を検索対象とする検索装置に搭載される。
検索インデックス作成装置100が作成した検索インデックス150を搭載した検索装置は、検索インデックスを用いる周知の検索方法によって、検索文字列が出現する検索対象文書130内の位置を検索することができる。具体的に説明すると、検索インデックス150を搭載した検索装置は、所望の検索文字列に含まれるバイグラムの検索対象文書130内における出現位置情報を、検索インデックス150から取得して、検索文字列が出現する検索対象文書130内の位置を検索する。
以上説明したように、本実施形態に係る検索インデックス作成装置100は、検索対象文書130に含まれるバイグラムを抽出して検索インデックス150を作成する際、抽出したバイグラムと同一のバイグラムが抽出済みバイグラム群140内に存在するか否かを、抽出したバイグラム文字列全体で評価するのではなく、抽出したバイグラムを構成する1文字単位で階層的に評価する。
検索対象文書130内にM種類の文字が存在すると仮定すると、この検索対象文書130内には、最大でMの2乗通りのバイグラムが存在する。そのため、検索インデックス150を作成する際、従来のように抽出したバイグラム文字列全体で評価する場合には、検索対象文書130から抽出されたバイグラムが抽出済みのバイグラムと同一であるか否かを、最大でMの2乗回評価する必要がある。これに対して、本実施形態に係る検索インデックス作成装置100は、検索対象文書130から抽出したバイグラムが抽出済みのバイグラムと同一であるか否かを、抽出したバイグラムを構成する1文字単位で階層的に評価するため、評価回数は最大でM×2回で済む。評価の対象数を削減することができるため、本実施形態に係る検索インデックス作成装置100は、高速に検索インデックス150を作成することができる。
(変形例)
以上に本発明の実施形態について説明したが、上記実施形態は一例であり、本発明の適用範囲はこれに限られない。すなわち、本発明の実施形態は種々の応用が可能であり、あらゆる実施の形態が本発明の範囲に含まれる。
例えば、上記実施形態では、検索インデックス作成装置100は、2文字の文字列であるバイグラムを検索対象文書130から抽出して、検索インデックス150を作成した。しかし、本発明に係る検索インデックス作成装置は、バイグラムに限らず、トライグラム等、Nが3以上のNグラムを検索対象文書130から抽出して、検索インデックスを作成してもよい。すなわち、本発明に係る検索インデックス作成装置は、検索対象文書130から抽出されたNグラムが抽出済みのNグラムと同一であるか否かを、Nグラムを構成する1文字単位で階層的に評価して、検索対象文書130に含まれる各Nグラムと、各Nグラムの検索対象文書130における位置情報と、が紐付けられた検索インデックスを作成する構成とすることができる。
Nが3以上のNグラムを用いて検索インデックスを作成する場合、検索インデックス作成装置は、第1の判別部102と第2の判別部103という2個の判別部だけでなく、抽出部101が抽出したNグラムを構成する文字が既に抽出済みのNグラム群の対応する文字を同一であるか否かを、1文字ずつ階層的に判別するN個の判別部を備える。具体的に説明すると、n番目の判別部(nは2からNまでの自然数)は、抽出したNグラムと第(n−1)文字が同一であるNグラムが抽出済みNグラム群に含まれていると第(n−1)番目の判別部が判別した場合に、抽出したNグラムと第n文字が同一であるNグラムが、抽出したNグラムと第(n−1)文字が同一であるNグラムに含まれているか否かを判別する。
そして、N個の判別部のうちのいずれかの判別部が、抽出したNグラムを構成する文字が抽出済みNグラム群の対応する文字と同一でないと判別した場合、後続する判別部は判別処理を実行せずに、バイグラム追加部104に相当するNグラム追加部が、抽出したNグラムを、該Nグラムの検索対象文書130における位置情報と紐付けて、抽出済みNグラム群に追加する。一方で、全ての判別部が、抽出したNグラムを構成する文字が抽出済みNグラム群の対応する文字と同一であると判別した場合のみ、抽出部101が抽出したNグラム文字列が既に抽出済みNグラム群に含まれていると判別して、位置情報追加部105が、抽出したNグラムの検索対象文書130における位置情報を、抽出済みNグラム群において該Nグラムに紐付けられた位置情報に追加する。
検索対象文書130内にM種類の文字が存在すると仮定すると、この検索対象文書130内には、最大でMのN乗通りのNグラムが存在する。そのため、検索インデックスを作成する際、従来のように抽出したNグラム文字列全体で評価する場合には、検索対象文書130から抽出されたNグラムが抽出済みのNグラムと同一であるか否かを、最大でMのN乗回評価する必要がある。これに対して、本発明に係る検索インデックス作成装置は、検索対象文書130から抽出したNグラムが抽出済みのNグラムと同一であるか否かを、抽出したNグラムを構成する1文字単位で階層的に評価するため、評価回数は最大でM×N回で十分である。Nの値が大きくなるほど、検索インデックス150を作成する際の高速化の程度が大きくなるため、本発明の効果がより発揮される。
また、上記実施形態では、検索インデックス作成装置100は、検索対象文書130の先頭の文字から順に1文字ずつ変えてバイグラムを抽出して、抽出したバイグラムを検索対象文書130内の出現位置情報と紐付けて検索インデックス150を作成した。しかし、本発明に係る検索インデックス作成装置は、バイグラム(Nグラム)を、検索対象文書130の先頭の文字から抽出することに限らず、末尾の文字から逆の順序で抽出してもよいし、ランダムな順序で抽出してもよい。
なお、本発明に係る機能を実現するための構成を予め備えた検索インデックス作成装置として提供できることはもとより、プログラムの適用により、既存のパーソナルコンピュータや情報端末機器等を、本発明に係る検索インデックス作成装置として機能させることもできる。すなわち、上記実施形態で例示した検索インデックス作成装置100による各機能構成を実現させるためのプログラムを、既存のパーソナルコンピュータや情報端末機器等を制御するCPU等が実行できるように適用することで、本発明に係る検索インデックス作成装置として機能させることができる。また、本発明に係る検索インデックス作成方法は、検索インデックス作成装置を用いて実施できる。
また、このようなプログラムの適用方法は任意である。プログラムを、例えば、コンピュータが読取可能な記録媒体(CD−ROM(Compact Disc Read-Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto Optical disc)等)に格納して適用できる他、インターネット等のネットワーク上のストレージにプログラムを格納しておき、これをダウンロードさせることにより適用することもできる。
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲とが含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
(付記1)
検索対象文書から、N文字の文字列であるNグラムを抽出する抽出手段と、
前記抽出手段が抽出した前記Nグラムと第1文字が同一であるNグラムが、抽出済みNグラム群に含まれているか否かを判別する第1の判別手段と、
前記第1文字が同一である前記Nグラムが前記抽出済みNグラム群に含まれていると前記第1の判別手段が判別した場合、前記抽出手段が抽出した前記Nグラムと第2文字が同一であるNグラムが、前記第1文字が同一である前記Nグラムに含まれているか否かを判別する第2の判別手段と、
前記第1文字が同一である前記Nグラムが前記抽出済みNグラム群に含まれていないと前記第1の判別手段が判別した場合、及び、前記第2文字が同一である前記Nグラムが、前記第1文字が同一である前記Nグラムの中に含まれていないと前記第2の判別手段が判別した場合、前記抽出手段が抽出した前記Nグラムを、該Nグラムの前記検索対象文書における位置を示す位置情報と紐付けて、前記抽出済みNグラム群に追加するNグラム追加手段と、
前記第2文字が同一である前記Nグラムが、前記第1文字が同一である前記Nグラムの中に含まれていると前記第2の判別手段が判別した場合であって、前記抽出手段が抽出した前記Nグラムが前記抽出済みNグラム群に含まれている場合、該Nグラムの前記検索対象文書における位置を示す位置情報を、前記抽出済みNグラム群において該Nグラムに紐付けられた位置情報に追加する位置情報追加手段と、
前記抽出手段が前記検索対象文書から前記Nグラムを抽出する位置を変えて、前記抽出手段、前記第1の判別手段、前記第2の判別手段、前記Nグラム追加手段、及び前記位置情報追加手段の処理を繰り返す繰り返し手段と、
前記繰り返し手段が繰り返し処理を実行した後の前記抽出済みNグラム群に基づいて、前記検索対象文書に含まれる各Nグラムと、該各Nグラムの前記検索対象文書における位置を示す位置情報と、が紐付けられた検索インデックスを作成する検索インデックス作成手段と、
を備えることを特徴とする検索インデックス作成装置。
(付記2)
前記繰り返し手段は、前記抽出手段が前記検索対象文書から前記Nグラムを抽出する位置を、前記検索対象文書における先頭の文字から順に1文字ずつ変えて、前記抽出手段、前記第1の判別手段、前記第2の判別手段、前記Nグラム追加手段、及び前記位置情報追加手段の処理を繰り返す、
ことを特徴とする付記1に記載の検索インデックス作成装置。
(付記3)
前記検索インデックス作成手段は、前記繰り返し手段が繰り返し処理を実行した後の前記抽出済みNグラム群に含まれる、前記検索対象文書における位置を示す位置情報が紐付けられた各Nグラムを、文字コード順に並べ替えて、前記検索インデックスを作成する、
ことを特徴とする付記1又は2に記載の検索インデックス作成装置。
(付記4)
検索対象文書から、N文字の文字列であるNグラムを抽出する抽出ステップと、
前記抽出ステップで抽出した前記Nグラムと第1文字が同一であるNグラムが、抽出済みNグラム群に含まれているか否かを判別する第1の判別ステップと、
前記第1文字が同一である前記Nグラムが前記抽出済みNグラム群に含まれていると前記第1の判別ステップで判別した場合、前記抽出ステップで抽出した前記Nグラムと第2文字が同一であるNグラムが、前記第1文字が同一である前記Nグラムに含まれているか否かを判別する第2の判別ステップと、
前記第1文字が同一である前記Nグラムが前記抽出済みNグラム群に含まれていないと前記第1の判別ステップで判別した場合、及び、前記第2文字が同一である前記Nグラムが、前記第1文字が同一である前記Nグラムの中に含まれていないと前記第2の判別ステップで判別した場合、前記抽出ステップで抽出した前記Nグラムを、該Nグラムの前記検索対象文書における位置を示す位置情報と紐付けて、前記抽出済みNグラム群に追加するNグラム追加ステップと、
前記第2文字が同一である前記Nグラムが、前記第1文字が同一である前記Nグラムの中に含まれていると前記第2の判別ステップで判別した場合であって、前記抽出ステップで抽出した前記Nグラムが前記抽出済みNグラム群に含まれている場合、該Nグラムの前記検索対象文書における位置を示す位置情報を、前記抽出済みNグラム群において該Nグラムに紐付けられた位置情報に追加する位置情報追加ステップと、
前記抽出ステップで前記検索対象文書から前記Nグラムを抽出する位置を変えて、前記抽出ステップ、前記第1の判別ステップ、前記第2の判別ステップ、前記Nグラム追加ステップ、及び前記位置情報追加ステップの処理を繰り返す繰り返しステップと、
前記繰り返しステップで繰り返し処理を実行した後の前記抽出済みNグラム群に基づいて、前記検索対象文書に含まれる各Nグラムと、該各Nグラムの前記検索対象文書における位置を示す位置情報と、が紐付けられた検索インデックスを作成する検索インデックス作成ステップと、
を含む検索インデックス作成方法。
(付記5)
コンピュータを、
検索対象文書から、N文字の文字列であるNグラムを抽出する抽出手段、
前記抽出手段が抽出した前記Nグラムと第1文字が同一であるNグラムが、抽出済みNグラム群に含まれているか否かを判別する第1の判別手段、
前記第1文字が同一である前記Nグラムが前記抽出済みNグラム群に含まれていると前記第1の判別手段が判別した場合、前記抽出手段が抽出した前記Nグラムと第2文字が同一であるNグラムが、前記第1文字が同一である前記Nグラムに含まれているか否かを判別する第2の判別手段、
前記第1文字が同一である前記Nグラムが前記抽出済みNグラム群に含まれていないと前記第1の判別手段が判別した場合、及び、前記第2文字が同一である前記Nグラムが、前記第1文字が同一である前記Nグラムの中に含まれていないと前記第2の判別手段が判別した場合、前記抽出手段が抽出した前記Nグラムを、該Nグラムの前記検索対象文書における位置を示す位置情報と紐付けて、前記抽出済みNグラム群に追加するNグラム追加手段、
前記第2文字が同一である前記Nグラムが、前記第1文字が同一である前記Nグラムの中に含まれていると前記第2の判別手段が判別した場合であって、前記抽出手段が抽出した前記Nグラムが前記抽出済みNグラム群に含まれている場合、該Nグラムの前記検索対象文書における位置を示す位置情報を、前記抽出済みNグラム群において該Nグラムに紐付けられた位置情報に追加する位置情報追加手段、
前記抽出手段が前記検索対象文書から前記Nグラムを抽出する位置を変えて、前記抽出手段、前記第1の判別手段、前記第2の判別手段、前記Nグラム追加手段、及び前記位置情報追加手段の処理を繰り返す繰り返し手段、
前記繰り返し手段が繰り返し処理を実行した後の前記抽出済みNグラム群に基づいて、前記検索対象文書に含まれる各Nグラムと、該各Nグラムの前記検索対象文書における位置を示す位置情報と、が紐付けられた検索インデックスを作成する検索インデックス作成手段、
として機能させるためのプログラム。
1…ROM、2…RAM、3…外部記憶装置、4…入力装置、5…出力装置、6…外部インターフェース、7…CPU、100…検索インデックス作成装置、101…抽出部、102…第1の判別部、103…第2の判別部、104…バイグラム追加部、105…位置情報追加部、106…繰り返し部、107…検索インデックス作成部、110…記憶部、130…検索対象文書、140…抽出済みバイグラム群、150…検索インデックス

Claims (5)

  1. 検索対象文書から、N文字の文字列であるNグラムを抽出する抽出手段と、
    前記抽出手段が抽出した前記Nグラムと第1文字が同一であるNグラムが、抽出済みNグラム群に含まれているか否かを判別する第1の判別手段と、
    前記第1文字が同一である前記Nグラムが前記抽出済みNグラム群に含まれていると前記第1の判別手段が判別した場合、前記抽出手段が抽出した前記Nグラムと第2文字が同一であるNグラムが、前記第1文字が同一である前記Nグラムに含まれているか否かを判別する第2の判別手段と、
    前記第1文字が同一である前記Nグラムが前記抽出済みNグラム群に含まれていないと前記第1の判別手段が判別した場合、及び、前記第2文字が同一である前記Nグラムが、前記第1文字が同一である前記Nグラムの中に含まれていないと前記第2の判別手段が判別した場合、前記抽出手段が抽出した前記Nグラムを、該Nグラムの前記検索対象文書における位置を示す位置情報と紐付けて、前記抽出済みNグラム群に追加するNグラム追加手段と、
    前記第2文字が同一である前記Nグラムが、前記第1文字が同一である前記Nグラムの中に含まれていると前記第2の判別手段が判別した場合であって、前記抽出手段が抽出した前記Nグラムが前記抽出済みNグラム群に含まれている場合、該Nグラムの前記検索対象文書における位置を示す位置情報を、前記抽出済みNグラム群において該Nグラムに紐付けられた位置情報に追加する位置情報追加手段と、
    前記抽出手段が前記検索対象文書から前記Nグラムを抽出する位置を変えて、前記抽出手段、前記第1の判別手段、前記第2の判別手段、前記Nグラム追加手段、及び前記位置情報追加手段の処理を繰り返す繰り返し手段と、
    前記繰り返し手段が繰り返し処理を実行した後の前記抽出済みNグラム群に基づいて、前記検索対象文書に含まれる各Nグラムと、該各Nグラムの前記検索対象文書における位置を示す位置情報と、が紐付けられた検索インデックスを作成する検索インデックス作成手段と、
    を備えることを特徴とする検索インデックス作成装置。
  2. 前記繰り返し手段は、前記抽出手段が前記検索対象文書から前記Nグラムを抽出する位置を、前記検索対象文書における先頭の文字から順に1文字ずつ変えて、前記抽出手段、前記第1の判別手段、前記第2の判別手段、前記Nグラム追加手段、及び前記位置情報追加手段の処理を繰り返す、
    ことを特徴とする請求項1に記載の検索インデックス作成装置。
  3. 前記検索インデックス作成手段は、前記繰り返し手段が繰り返し処理を実行した後の前記抽出済みNグラム群に含まれる、前記検索対象文書における位置を示す位置情報が紐付けられた各Nグラムを、文字コード順に並べ替えて、前記検索インデックスを作成する、
    ことを特徴とする請求項1又は2に記載の検索インデックス作成装置。
  4. 検索対象文書から、N文字の文字列であるNグラムを抽出する抽出ステップと、
    前記抽出ステップで抽出した前記Nグラムと第1文字が同一であるNグラムが、抽出済みNグラム群に含まれているか否かを判別する第1の判別ステップと、
    前記第1文字が同一である前記Nグラムが前記抽出済みNグラム群に含まれていると前記第1の判別ステップで判別した場合、前記抽出ステップで抽出した前記Nグラムと第2文字が同一であるNグラムが、前記第1文字が同一である前記Nグラムに含まれているか否かを判別する第2の判別ステップと、
    前記第1文字が同一である前記Nグラムが前記抽出済みNグラム群に含まれていないと前記第1の判別ステップで判別した場合、及び、前記第2文字が同一である前記Nグラムが、前記第1文字が同一である前記Nグラムの中に含まれていないと前記第2の判別ステップで判別した場合、前記抽出ステップで抽出した前記Nグラムを、該Nグラムの前記検索対象文書における位置を示す位置情報と紐付けて、前記抽出済みNグラム群に追加するNグラム追加ステップと、
    前記第2文字が同一である前記Nグラムが、前記第1文字が同一である前記Nグラムの中に含まれていると前記第2の判別ステップで判別した場合であって、前記抽出ステップで抽出した前記Nグラムが前記抽出済みNグラム群に含まれている場合、該Nグラムの前記検索対象文書における位置を示す位置情報を、前記抽出済みNグラム群において該Nグラムに紐付けられた位置情報に追加する位置情報追加ステップと、
    前記抽出ステップで前記検索対象文書から前記Nグラムを抽出する位置を変えて、前記抽出ステップ、前記第1の判別ステップ、前記第2の判別ステップ、前記Nグラム追加ステップ、及び前記位置情報追加ステップの処理を繰り返す繰り返しステップと、
    前記繰り返しステップで繰り返し処理を実行した後の前記抽出済みNグラム群に基づいて、前記検索対象文書に含まれる各Nグラムと、該各Nグラムの前記検索対象文書における位置を示す位置情報と、が紐付けられた検索インデックスを作成する検索インデックス作成ステップと、
    を含む検索インデックス作成方法。
  5. コンピュータを、
    検索対象文書から、N文字の文字列であるNグラムを抽出する抽出手段、
    前記抽出手段が抽出した前記Nグラムと第1文字が同一であるNグラムが、抽出済みNグラム群に含まれているか否かを判別する第1の判別手段、
    前記第1文字が同一である前記Nグラムが前記抽出済みNグラム群に含まれていると前記第1の判別手段が判別した場合、前記抽出手段が抽出した前記Nグラムと第2文字が同一であるNグラムが、前記第1文字が同一である前記Nグラムに含まれているか否かを判別する第2の判別手段、
    前記第1文字が同一である前記Nグラムが前記抽出済みNグラム群に含まれていないと前記第1の判別手段が判別した場合、及び、前記第2文字が同一である前記Nグラムが、前記第1文字が同一である前記Nグラムの中に含まれていないと前記第2の判別手段が判別した場合、前記抽出手段が抽出した前記Nグラムを、該Nグラムの前記検索対象文書における位置を示す位置情報と紐付けて、前記抽出済みNグラム群に追加するNグラム追加手段、
    前記第2文字が同一である前記Nグラムが、前記第1文字が同一である前記Nグラムの中に含まれていると前記第2の判別手段が判別した場合であって、前記抽出手段が抽出した前記Nグラムが前記抽出済みNグラム群に含まれている場合、該Nグラムの前記検索対象文書における位置を示す位置情報を、前記抽出済みNグラム群において該Nグラムに紐付けられた位置情報に追加する位置情報追加手段、
    前記抽出手段が前記検索対象文書から前記Nグラムを抽出する位置を変えて、前記抽出手段、前記第1の判別手段、前記第2の判別手段、前記Nグラム追加手段、及び前記位置情報追加手段の処理を繰り返す繰り返し手段、
    前記繰り返し手段が繰り返し処理を実行した後の前記抽出済みNグラム群に基づいて、前記検索対象文書に含まれる各Nグラムと、該各Nグラムの前記検索対象文書における位置を示す位置情報と、が紐付けられた検索インデックスを作成する検索インデックス作成手段、
    として機能させるためのプログラム。
JP2014186097A 2014-09-12 2014-09-12 検索インデックス作成装置、検索インデックス作成方法及びプログラム Pending JP2016058016A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014186097A JP2016058016A (ja) 2014-09-12 2014-09-12 検索インデックス作成装置、検索インデックス作成方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014186097A JP2016058016A (ja) 2014-09-12 2014-09-12 検索インデックス作成装置、検索インデックス作成方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2016058016A true JP2016058016A (ja) 2016-04-21

Family

ID=55758752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014186097A Pending JP2016058016A (ja) 2014-09-12 2014-09-12 検索インデックス作成装置、検索インデックス作成方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2016058016A (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003067400A (ja) * 2001-08-27 2003-03-07 Mitsubishi Electric Corp 文書検索装置、文書検索方法および文書検索プログラム
JP2008065395A (ja) * 2006-09-04 2008-03-21 Fuji Xerox Co Ltd 翻訳装置、翻訳方法および翻訳プログラム
JP2009093556A (ja) * 2007-10-11 2009-04-30 Hitachi Ltd インデクス構築方法、文書検索装置及びインデクス構築プログラム
JP2011210094A (ja) * 2010-03-30 2011-10-20 Hitachi Solutions Ltd 検索機能付きファイルストレージ装置及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003067400A (ja) * 2001-08-27 2003-03-07 Mitsubishi Electric Corp 文書検索装置、文書検索方法および文書検索プログラム
JP2008065395A (ja) * 2006-09-04 2008-03-21 Fuji Xerox Co Ltd 翻訳装置、翻訳方法および翻訳プログラム
JP2009093556A (ja) * 2007-10-11 2009-04-30 Hitachi Ltd インデクス構築方法、文書検索装置及びインデクス構築プログラム
JP2011210094A (ja) * 2010-03-30 2011-10-20 Hitachi Solutions Ltd 検索機能付きファイルストレージ装置及びプログラム

Similar Documents

Publication Publication Date Title
US8473501B2 (en) Methods, computer systems, software and storage media for handling many data elements for search and annotation
US20160006456A1 (en) Compression device, compression method, dictionary generation device, dictionary generation method, decompression device, decompression method, information processing system, and recording medium
WO2016095645A1 (zh) 笔画输入方法、装置和系统
KR102182672B1 (ko) 다국어 통합 자음 패턴 검색 방법 및 그 장치
US10387543B2 (en) Phoneme-to-grapheme mapping systems and methods
CN114297143A (zh) 一种搜索文件的方法、显示文件的方法、装置及移动终端
JP5083367B2 (ja) 検索装置、検索方法、ならびに、コンピュータプログラム
JP6805720B2 (ja) データ検索プログラム、データ検索装置およびデータ検索方法
WO2018040356A1 (zh) 一种连续字符与模糊字符的检索系统及方法
JP6737117B2 (ja) 符号化データ検索プログラム、符号化データ検索方法および符号化データ検索装置
JP2016058016A (ja) 検索インデックス作成装置、検索インデックス作成方法及びプログラム
KR20080082985A (ko) 데이터 파일 조작 방법 및 장치
CN108595584B (zh) 一种基于数字标记的汉字输出方法和系统
KR101247346B1 (ko) 사전 검색 서비스 시스템 및 방법
WO2017009958A1 (ja) 圧縮プログラム、圧縮方法および圧縮装置
KR102317910B1 (ko) 중국어 형태소 분석 장치 및 방법
US10546061B2 (en) Predicting terms by using model chunks
JP5971069B2 (ja) 情報処理装置、タイトル抽出方法及びプログラム
KR102222769B1 (ko) 전화번호 검색 방법 및 장치
JP5648360B2 (ja) 文字列検索装置、文字列検索方法および文字列検索プログラム
Lehal et al. Automatic Bilingual Legacy-Fonts Identification and Conversion System.
JP5526985B2 (ja) 検索プログラム、検索装置、および検索方法
JP2006126883A (ja) 情報検索装置及び情報検索方法
JP4061283B2 (ja) 字句をデータに変換する装置、方法及びプログラム
EP3061007B1 (en) Method for the generation of an it ontology, computer program product configured to implement the operations of said method and it equipment configured to execute said computer program product.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170911

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180620

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180703

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180831

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190108