JP4646289B2 - データベースマネジメントシステム - Google Patents
データベースマネジメントシステム Download PDFInfo
- Publication number
- JP4646289B2 JP4646289B2 JP2004207143A JP2004207143A JP4646289B2 JP 4646289 B2 JP4646289 B2 JP 4646289B2 JP 2004207143 A JP2004207143 A JP 2004207143A JP 2004207143 A JP2004207143 A JP 2004207143A JP 4646289 B2 JP4646289 B2 JP 4646289B2
- Authority
- JP
- Japan
- Prior art keywords
- document
- index
- word
- search
- database
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
したがって、形態素解析誤りが原因で検索漏れが起こる。例えば、「東京都にある清水寺」(ひがしきょうとにあるきよみずでら)という文書を登録する際、
/東/京都/に/ある/清水寺/
と形態素解析されるべきところを
/東京/都/に/ある/清水/寺/
のように誤って解析されれば、検索文字列が「京都」のときに「東京都にある清水寺」という文書を検索することができない。
また、単語の切れ目を発見するための形態素解析系(あるいはそれが使用する辞書)を更新した場合、切れ目の位置が変わるため、索引全体の作り直しが必要となり、その結果、索引のメンテナンス作業に多大な時間を要することになる。
3−gramを使用して索引語を作成すると、「データベース」からは、「データ」、「ータベ」、「タベー」、「ベース」が索引語として得られる。また、検索語「データーベース」からは、「データ」、「ーター」、「ターベ」、「ーベー」、「ベース」が得られる。
したがって、これらの索引語のうち「データ」と「ベース」しか一致しないので、検索語「データーベース」を含む文書は検索されないことになる。
前記データベースマネジメントシステムのコンピュータが、前記構築部に、元文書として前記文書データベースへ登録するとともに、異表記の文字列とそれらの文字列を統一した代表文字列とを対応させた異表記統一用のテーブルを予め記憶手段へ記憶しておき、このテーブルを参照して、この読み込んだ文書中の異表記の文字列を検出し、この文字列を代表文字列に置き換えることによって元文書を正規化文書として作成して一時的に記憶装置へ記憶させるとともに、正規化文書における各文字の位置と、この文字位置の文字に対応する元文書の文字とが何文字ずれたかを示すずれ情報とを対応させて記録した対応表をも記憶させる手順、一時的に記憶した正規化された文書から単語を取り出し、取り出された単語を索引語にする手順、索引語、文書、および文書中での索引語の位置から、前記文書データベースへ記憶した元文書の文書識別子ごとに、その正規化文書が含んでいる索引語のリストを対応させ、さらに、この索引語のリストの各索引語に正規化文書中で出現場所を対応させた索引を作成する手順、正規化文書での索引語の出現場所を、前記対応表を参照して、元文書での出現場所へ変換する手順、出現場所の値を圧縮変換する手順、索引語に対して、その索引語が含まれる文書の文書識別子とその文書における索引語の出現場所を素早く取り出せるデータ構造であるB木で構成された転置索引を作成し前記索引データベースへ格納する手順、前記検索部に、入力された検索要求にある検索語の異表記を、異表記統一用テーブルを参照して正規化する手順、索引を作成したときと同様にして、正規化された検索語から単語を取り出す手順、分割された各単語について、前記索引データベースのB木を探索して、探索結果として索引語を得る手順、各索引語に関連付けられた文書識別子のリストを取得する手順、各検索語に共通する文書識別子を選択する手順、選択された各文書識別子に関連付けられている出現場所リストを取得する手順、索引語の隣接関係を確認する手順、を実行させることを特徴とする。
また、開始位置や終了位置をさらに小さい数値で表せるので、データ量の増加を抑えることができる。
また、マルチバイト文字コードを使って文書が作成されているときでも、検索語の出現箇所の特定にエンコードの必要がないので、検索一般を高速にすることができる。
また、任意のビット長で索引語を取り出しを行えるので、単語の切り出しをしなくとも索引の作成ができるようになり、日本語のように単語の切り出しが難しい言語においても容易に適用することができる。
図1は、本発明のデータベースマネジメントシステムのシステム構成を示すブロック図であり、同図において、データベースマネジメントシステムは、構築部1、検索部2、索引データベース3および文書データベース4とからなっている。
まず、文書を入力装置や記憶手段等を介して入力し、元文書として文書データベース4へ登録するとともに、異表記の文字列とそれらの文字列を統一した代表文字列とを対応させた異表記統一用のテーブルを予め記憶手段等へ用意しておき、このテーブルを参照して、この読み込んだ文書中の異表記の文字列を検出し、この文字列を代表文字列に置き換えることによって元文書を正規化文書として作成して一時的に記憶装置へ記憶させる(ステップS1)。
このとき、正規化文書の何文字目と元文書の何文字目が対応しているかを対応表として保存しておく。この対応表には、正規化文書における各文字の「文字位置」と、この文字位置の文字に対応する元文書の文字とが何文字ずれたかを示す「ずれ情報」とを対応させて記録する。
正規化文書の「データベースに」の「ベ」は、正規化前は先頭から5文字目であったのが4文字目に変わる。同様に、「データを」の「を」は、正規化前は先頭から13文字目であったのが11文字目に変わる。
例えば、一つ目の「データー」を正規化したときに4文字目の「べ」以降の各文字はマイナス1文字、二つ目の「データー」を正規化したときに11文字目の「を」以降の各文字はさらにマイナス1文字の変更があった、即ち、先頭から数えるとマイナス2文字の変更があったことを対応表に記録しておく。
即ち、3文字目の「タ」と、10文字目の「タ」の直後の文字が削除されたことも記録しておく。
上記の例についてまとめると、対応表には以下の表に示した情報が記録されることになる。
正規化文書から単語を取り出す場合、形態素解析を利用するが、形態素解析は既存の手法(例えば、松本裕治他、「単語と辞書」言語の科学第3巻、岩波書店の53ページ以降に書かれている)を採用すればよい。
例えば、図3に示したように、3−gramで分割して、正規化文書に含まれるすべての3文字の文字列を順番に取り出して索引語とする。
これらの索引語、文書、および文書中での索引語の位置から、文書データベース4へ記憶した元文書の文書識別子ごとに、その正規化文書が含んでいる索引語のリストを対応させ、さらに、この索引語のリストの各索引語に正規化文書中で出現場所(開始位置と終了位置)を対応させた索引を作成する(図4参照)(ステップS3)。
例えば、索引語の文字列の開始位置に対する「ずれ情報」に「マイナス1文字」とあれば、正負を反転してプラス1文字すれば元文書の文字位置に戻せることを意味するので、1を加える。
また、索引語の文字列の終了位置に対する「ずれ情報」に「直後の1文字削除」とあれば、「データー」が「データ」に正規化されたことを意味するので、これにも1を加える。ここで、1を加えないと、正規化後の「データ」が対応するのは、元文書の「データ」であって「データー」ではなくなってしまうからである。
同じ索引語が文書中に複数個現れる場合、二つ目の出現場所を一つ目の出現場所との差分で表した方が出現場所を小さな数値で表せるので、索引のデータ量を抑えることができる。このため、次の漸化式のように、二つ目からの開始位置は一つ前の開始位置との文字数の差分で表し、終了位置は開始位置からの文字数で表して、出現場所の値を圧縮する。
s(k)=S(k)−S(k−1)
e(k)=E(k)−S(k)+1
S(k): k番目に出現した索引語の元文書における開始位置。
E(k): k番目に出現した索引語の元文書における終了位置。
s(k): k番目に出現した索引語の開始位置として索引に記録する値。
e(k): k番目に出現した索引語の終了位置として索引に記録する値。
例えば、転置索引は図5のようなデータ構造をしている。索引語のリストは、一般にB木で構成され、各索引語はその索引語を含む文書識別子のリストを持ち、さらにその文書識別子は索引語の出現場所のリストを持つように構成される。このようなデータ構造をしているので、ある索引語を含む文書IDと出現場所を素早く取り出すことができる。
まず、入力された検索要求にある検索語の異表記を、異表記統一用テーブルを参照して正規化する(ステップS11)。
例えば、「データー」という文字列を「データ」に統一することで、「データー」を含む文書を「データ」を含む文書として扱えるので、検索語が「データ」の場合でも、「データー」を含む文書も検索でき、検索漏れを防止することができる。
次に、分割された各単語について、索引データベース3のB木を探索して、探索結果として索引語を得て(ステップS13)、各索引語に関連付けられた文書識別子のリストを取得する(ステップS14)。
これは、「データ」と「ベース」の片方しか含まれない文書には「データベース」は含まれないので、両方に含まれる文書識別子を選択する。
即ち、出現場所の値から各索引語の開始位置と終了位置を、以下に示す漸化式から計算して、検索語と同じ順番で隣接していることを確認する。即ち、終了位置と開始位置が隣り合っていることを確認する。
S(k)=S(k−1)+s(k)
E(k)=S(k)+e(k)−1
実施形態1では、最初に現れる索引語の開始位置だけ先頭からの文字数で表し、二つ目以降の索引語の開始位置は一つ前の開始位置との文字数の差分で表し、終了位置は開始位置からの文字差分で表していた。
本実施形態2では、開始位置が最初に現れる索引語だけ先頭からの文字数で表し、二つ目以降の索引語からは開始位置をその索引語の一つ前に現れる索引語の終了位置との文字数の差分で表し、終了位置は開始位置からの文字数の差分で表すようにした。
このため、索引データベース3に記憶される出現場所は、次の漸化式で計算され、索引の作成方法および検索方法は実施形態1と同様に行える。
s(k)=S(k)−E(k−1)
e(k)=E(k)−S(k)+1
S(1)=s(1)
S(k)=E(k−1)+s(k)
E(k)=S(k)+e(k)−1
一般に小さい値で表せるほどデータ量も小さくすることができる。これらの数値の分布に偏りが見られる場合、圧縮アルゴリズムを使って、データ量をさらに減らすことができる。例えば、同一意味であるが異表記の文字列である索引語を正規化した索引語(代表索引語という)で表した場合、代表索引語の長さと異表記の各索引語の長さの差分で終了位置を表した場合、値は0の近くに集まることが予想される。
また、代表索引語を、索引語群の中で最も長いか、あるいは短い索引語とすることで、終了位置の値を正か負のいずれかにすることができる。負であれば、正負を反転させることによってExponential Golomb符号化を利用することができる。
この場合の索引データベース3に記憶される出現場所は、次のような漸化式で計算され、索引の作成方法および検索方法は実施形態1と同様に行える。
s(k)=S(k)−E(k−1)
e(k)=(E(k)−S(k)+1)−N
ここで、Nは、正規化された索引語の文字数を表す。
S(1)=s(1)
S(k)=S(k−1)+s(k)
E(k)=S(k)+N−1+e(k)
また、索引語としては、固定長の文字列に限らず、任意の長さの文字列、数値列、ビット列のいずれであってもよい。
さらに、出現場所を文字数で表していたが、これをバイト数やビット数で表すようにしてもよい。
このように、本発明の機能をプログラムして、記録媒体に記録し頒布することによって、コスト、可搬性、汎用性を向上させることができる。
Claims (3)
- 維持管理する文書を入力して文書データベースへ登録する入力手段、入力された文書の異表記の単語を正規化して正規化文書を作成する正規化手段、及び入力された文書に対して索引を作成して索引データベースへ格納する索引作成手段を有する構築部と、
前記文書データベース中の文書の検索要求を入力する入力手段、検索要求中の検索語の異表記を正規化する正規化手段、前記索引データベースと前記文書データベースとを参照して、正規化された検索語の解析や索引語の探索を行って該当する文書を検索する検索手段、及び検索結果を出力する出力手段を有する検索部と、を備えたデータベースマネジメントシステムであって、
前記データベースマネジメントシステムのコンピュータが、
前記構築部に、元文書として前記文書データベースへ登録するとともに、異表記の文字列とそれらの文字列を統一した代表文字列とを対応させた異表記統一用のテーブルを予め記憶手段へ記憶しておき、このテーブルを参照して、この読み込んだ文書中の異表記の文字列を検出し、この文字列を代表文字列に置き換えることによって元文書を正規化文書として作成して一時的に記憶装置へ記憶させるとともに、正規化文書における各文字の位置と、この文字位置の文字に対応する元文書の文字とが何文字ずれたかを示すずれ情報とを対応させて記録した対応表をも記憶させる手順、
一時的に記憶した正規化された文書から単語を取り出し、取り出された単語を索引語にする手順、
索引語、文書、および文書中での索引語の位置から、前記文書データベースへ記憶した元文書の文書識別子ごとに、その正規化文書が含んでいる索引語のリストを対応させ、さらに、この索引語のリストの各索引語に正規化文書中で出現場所を対応させた索引を作成する手順、
正規化文書での索引語の出現場所を、前記対応表を参照して、元文書での出現場所へ変換する手順、
出現場所の値を圧縮変換する手順、
索引語に対して、その索引語が含まれる文書の文書識別子とその文書における索引語の出現場所を素早く取り出せるデータ構造であるB木で構成された転置索引を作成し前記索引データベースへ格納する手順、
前記検索部に、入力された検索要求にある検索語の異表記を、異表記統一用テーブルを参照して正規化する手順、
索引を作成したときと同様にして、正規化された検索語から単語を取り出す手順、
分割された各単語について、前記索引データベースのB木を探索して、探索結果として索引語を得る手順、
各索引語に関連付けられた文書識別子のリストを取得する手順、
各検索語に共通する文書識別子を選択する手順、
選択された各文書識別子に関連付けられている出現場所リストを取得する手順、
索引語の隣接関係を確認する手順、
を実行させることを特徴とするデータベースマネジメントシステム。 - 請求項1に記載のデータベースマネジメントシステムにおいて、
前記コンピュータが、
前記構築部に、文書に最初に現れる索引語の開始位置は先頭からの文字数で表す手順、
二つ目以降に現れる索引語の開始位置はその索引語の一つ前に現れる索引語の終了位置との文字数の差分で表す手順、
終了位置は前記索引語の文字数で表す手順、
を実行させることを特徴とするデータベースマネジメントシステム。 - 請求項1または2に記載のデータベースマネジメントシステムにおいて、
前記コンピュータが、
前記構築部に、前記終了位置を、代表索引語の文字数と各索引語の文字数の差分で表す手順、
を実行させることを特徴とするデータベースマネジメントシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004207143A JP4646289B2 (ja) | 2004-07-14 | 2004-07-14 | データベースマネジメントシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004207143A JP4646289B2 (ja) | 2004-07-14 | 2004-07-14 | データベースマネジメントシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006031243A JP2006031243A (ja) | 2006-02-02 |
JP4646289B2 true JP4646289B2 (ja) | 2011-03-09 |
Family
ID=35897536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004207143A Expired - Fee Related JP4646289B2 (ja) | 2004-07-14 | 2004-07-14 | データベースマネジメントシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4646289B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5260123B2 (ja) * | 2008-04-09 | 2013-08-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 検索システム、索引作成装置、検索エンジン、索引作成方法、検索方法およびプログラム |
JP5135272B2 (ja) * | 2009-03-24 | 2013-02-06 | 株式会社東芝 | 構造化文書管理装置、及び方法 |
JP5285491B2 (ja) * | 2009-04-10 | 2013-09-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報検索システム、方法及びプログラム、索引作成システム、方法及びプログラム、 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998052130A1 (en) * | 1997-05-16 | 1998-11-19 | Hitachi, Ltd. | Text retrieval method |
JP2001043228A (ja) * | 1999-07-28 | 2001-02-16 | Ricoh Co Ltd | 文書検索システム、文書検索方法及び記憶媒体 |
JP2001312517A (ja) * | 2000-05-02 | 2001-11-09 | Mitsubishi Electric Corp | インデクス生成装置及び文書検索装置 |
JP2002269136A (ja) * | 2001-03-14 | 2002-09-20 | Ricoh Co Ltd | 文書検索システム及びプログラム |
JP2003058578A (ja) * | 2001-08-10 | 2003-02-28 | Ricoh Co Ltd | 文書検索装置、文書検索方法、プログラム及びコンピュータに読み取り可能な記憶媒体 |
JP2003281171A (ja) * | 2002-03-19 | 2003-10-03 | Ricoh Co Ltd | 文書検索装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3477822B2 (ja) * | 1994-05-26 | 2003-12-10 | 富士ゼロックス株式会社 | 文書登録検索システム |
JPH09114856A (ja) * | 1995-10-12 | 1997-05-02 | Fuji Xerox Co Ltd | 検索用索引生成装置 |
JPH10269233A (ja) * | 1997-03-25 | 1998-10-09 | Hitachi Ltd | 文書データベースの検索結果表示方法及び装置 |
JP3832693B2 (ja) * | 1997-07-01 | 2006-10-11 | 株式会社日立製作所 | 構造化文書検索表示方法及び装置 |
-
2004
- 2004-07-14 JP JP2004207143A patent/JP4646289B2/ja not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998052130A1 (en) * | 1997-05-16 | 1998-11-19 | Hitachi, Ltd. | Text retrieval method |
JP2001043228A (ja) * | 1999-07-28 | 2001-02-16 | Ricoh Co Ltd | 文書検索システム、文書検索方法及び記憶媒体 |
JP2001312517A (ja) * | 2000-05-02 | 2001-11-09 | Mitsubishi Electric Corp | インデクス生成装置及び文書検索装置 |
JP2002269136A (ja) * | 2001-03-14 | 2002-09-20 | Ricoh Co Ltd | 文書検索システム及びプログラム |
JP2003058578A (ja) * | 2001-08-10 | 2003-02-28 | Ricoh Co Ltd | 文書検索装置、文書検索方法、プログラム及びコンピュータに読み取り可能な記憶媒体 |
JP2003281171A (ja) * | 2002-03-19 | 2003-10-03 | Ricoh Co Ltd | 文書検索装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2006031243A (ja) | 2006-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7072889B2 (en) | Document retrieval using index of reduced size | |
US7809553B2 (en) | System and method of creating and using compact linguistic data | |
RU2503058C2 (ru) | Оптимизация формата поискового индекса | |
US9208256B2 (en) | Methods of coding and decoding, by referencing, values in a structured document, and associated systems | |
US7512533B2 (en) | Method and system of creating and using chinese language data and user-corrected data | |
US8171052B2 (en) | Information search system, method and program | |
US20070016602A1 (en) | Method and apparatus for representation of unstructured data | |
CN109712613B (zh) | 语义分析库更新方法、装置及电子设备 | |
JP4237813B2 (ja) | 構造化文書管理システム | |
JP4314204B2 (ja) | 文書管理方法、システム及びプログラム | |
JP4646289B2 (ja) | データベースマネジメントシステム | |
US7076423B2 (en) | Coding and storage of phonetical characteristics of strings | |
JP2002269139A (ja) | 文書検索方法 | |
JP4439496B2 (ja) | 検索処理装置及びプログラム | |
JP4382663B2 (ja) | 簡潔言語学データを生成かつ使用するシステムおよび方法 | |
EP0878766A2 (en) | Method for converting formatted documents to ordered word lists | |
JP2009104669A (ja) | 文書検索方法、システム及びプログラム | |
JPH0133866B2 (ja) | ||
JP2011221662A (ja) | 辞書編集装置およびプログラム | |
JP2005222244A (ja) | 単語検索装置、単語検索方法、およびその単語検索装置を備える情報提供システム | |
JP4304226B2 (ja) | 構造化文書管理システム、構造化文書管理方法及びプログラム | |
JP3804609B2 (ja) | 検索チューニング方法および情報検索システム | |
JP2006106907A (ja) | 構造化文書管理システム、索引構築方法及びプログラム | |
JP4160627B2 (ja) | 構造化文書管理システム及びプログラム | |
JP2008084132A (ja) | 文書検索装置、文書検索方法および文書検索プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070625 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20090210 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20090313 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091222 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100205 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100302 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100506 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100601 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100802 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100817 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101018 |
|
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: 20101116 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101206 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131217 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |