JP5285491B2 - 情報検索システム、方法及びプログラム、索引作成システム、方法及びプログラム、 - Google Patents

情報検索システム、方法及びプログラム、索引作成システム、方法及びプログラム、 Download PDF

Info

Publication number
JP5285491B2
JP5285491B2 JP2009096383A JP2009096383A JP5285491B2 JP 5285491 B2 JP5285491 B2 JP 5285491B2 JP 2009096383 A JP2009096383 A JP 2009096383A JP 2009096383 A JP2009096383 A JP 2009096383A JP 5285491 B2 JP5285491 B2 JP 5285491B2
Authority
JP
Japan
Prior art keywords
token
document
search
storage device
tokens
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
JP2009096383A
Other languages
English (en)
Other versions
JP2010250389A (ja
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2009096383A priority Critical patent/JP5285491B2/ja
Publication of JP2010250389A publication Critical patent/JP2010250389A/ja
Application granted granted Critical
Publication of JP5285491B2 publication Critical patent/JP5285491B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、コンピュータの記憶装置に蓄積されたテキスト情報などを情報検索する技術に関するものである。
近年のコンピュータやインターネットの普及などの理由で、ニュース、ブログ、その他のテキストのコンテンツなど、膨大な数の非定型文書が作られるようになり、必要な文書を高速かつ的確に検索できる検索システムの必要性が高まっている。
大量の文章からユーザーが意図した文書を的確に検索するためには、言語の特定や文章の解析を行って単純な文字列一致よりも高精度な検索を実現しているが、日本語などの区切りが明確ではない言語や、日本語やドイツ語など多くの言語に見られる複合語などは、テキスト検索索引の性格上の問題で効率的に利用できないのが現状である。
従来より、このような複合語に対処する典型的な技法として、形態素解析手法と、Nグラム解析手法が知られている。
文書の解析に形態素解析手法を利用した場合には、文法や語彙を考慮するため、より検索ユーザーの入力した検索語の意味に近い文書を結果の上位にすることができるが、ユーザーの入力した検索語によっては異なるトークン分割が行われる可能性があるため検索漏れが発生する。
一方、文書の解析にNグラム解析手法を利用した場合には、検索漏れは生じないが、文法や語彙を考慮しないため検索結果のランキングに、これらの要素を考慮することができない。
これら両手法の問題点を補うために、両手法を用いて作成した検索索引を同時に持ち、結果を統合するような方法も考えられるが、索引だけでなく、要約文作成などのためのトークン列も二重に記憶しなければならないなど効率的ではない。
ここで、典型的な従来技術について、もう少し詳しく説明する。すなわち、従来の検索システムでは、元文書およびユーザーの入力した文章をある単位(以下、トークン)に分割し、そのトークン同士が一致するかどうかで検索結果にその文書を含めるかどうかを判断している。トークンを inverted index (逆引き索引)に格納する際に、元文書内でのトークンの出現順に位置番号を与えて保持する。
そのトークンを作成する際、主に2つの手法が使用されている。1つは、上述の形態素解析で、文章を意味のある単語単位に分割し、その単語をトークンとする方法である。もう1つは、これも上述したNグラムと呼ばれる方法で、文字をN文字ごとに、重なりを考慮して分割する。
形態素解析は辞書を用い、意味のある分割を行い、単語の活用なども考慮できるために高品質な検索が行える半面、辞書にない単語は分割できなかったり、誤った単語分割を行ってしまうことで、たとえ検索文字列とまったく同じ単語が含まれている文書でも検索結果から漏れるという欠点がある。
Nグラム技法は、逆に機械的に分割を行うため、検索文字列と完全に一致していれば検索結果に含めることができるが、逆に部分一致(「東京都」に対して「京都」で一致)してしまうノイズや、単語の活用などは対応できないという欠点がある。従来の技法では、一般的には、これら2つの手法を択一で採用するため、どちらにも長所、短所があり、十分な検索品質を提供できていない場合が多い。それぞれの手法で作成した索引に対しての検索をそれぞれ別に行い、結果を合成する手法が用いられることもあるが、合成の仕方が非常に複雑になる上にコストもかかる。また、Nグラムに形態素の単語境界の情報を記録してランキングの精度を向上させる手法もよく知られているが、この手法では形態素の大きな特徴である活用や表記の”ゆれ”などを拾うことができず、優れた解決方法とは言えない。
特開平11−204867号公報は、Nグラムをベースに、単語境界の情報をそれぞれのNグラムに記憶することで、検索の精度を向上させる手法を開示する。この手法では、単語分割とNグラム分割で使用する文字列がまったく同一でなくてはならないため、形態素解析の特徴である活用や表記のゆれを考慮した検索を行うことができない。更には、この技法においては、実際に文書が保管されている場所より元文書を取得することなく、ユーザーに検索した文書の内容を表示する方法や、ユーザーが要求に合う文書を実際に文書全体を読まずに判断できるよう、検索結果に含まれた文書に対してユーザーの検索要求に即した要約を作成し検索結果に含める方法がよく利用される。その場合に、実際の元文書を取得することなく高速に要約を作成するために、索引時に元文書のトークン分割結果を保持しておくことにより、検索結果提示時に元文書を再現し、検索索引から取得したヒット位置から、再現された元文書内での位置を計算し、その箇所を強調表示するという方法が使用されている。しかし、形態素解析とNグラム解析手法など幾つかの解析手法を使用する場合は異なるトークン分割結果を生じることとなり、検索索引では、トークンの出現順に位置番号を与えて保持しているため、それぞれのトークン分割結果を個別に記憶しなければならず、また、検索結果も、それぞれの方法で生成した後に結果を統合しなければならず、効率的ではない。
特開平8−249346号公報は、文書の索引での単語並び、および、元文書での表記と索引の単語表記が異なる場合に単語を再生するためのインデックスを持つことで、元文書の復元、および、ヒット位置の強調表示を可能とする技術を開示する。一つのトークン分割列(主に形態素解析)を取り扱うための手法であり、この手法では複数のトークン分割手法を用いた場合には元文書の復元およびヒット位置の強調表示を行うことができない。
特開2006−99427公報に開示の手法においては、あらかじめ、Nグラムインデックスと形態素インデックスの二つが作成される。そうして、検索要求の処理に際して、Nグラムインデックスによる一次検索(正確ではないが高速)のヒット数と形態素インデックスによる検索のヒット数の近似度を判定し、近似している場合にはNグラムインデックスによる二次検索(正確だが一次検索おり低速)を省略することで、検索精度をある程度確保しながら、全文検索の高速化を図る手法である。この手法では、一旦近似度を判定することが必要である。
本出願に係る特願2008−46582号明細書には、ある基準となる一つの分割方法により生成されたトークン列に、その他の分割方法で生成されたトークン列をマッピングし、マッピングに必要となる情報を各トークンに付加することで、複数の分割方法を同時に使用した検索システムを構築する方法が記載されている。しかし、この方法は、基準となる分割方法が無い場合には適用することができない。
特開平11−204867号公報 特開平8−249346号公報 特開2006−99427公報 特願2008−46582号明細書
従って、この発明の目的は、検索の漏れをなくしつつ、適切な検索結果を与えることのできる検索技術を提供することにある。
本発明は、上記目的を達成するために、少なくとも2つのトークン分割の手法を利用する。本発明はこれには限定されないが、好適には形態素解析とNグラム方式という、2つの手法が用いられる。
本発明に従うコンピュータ・システムは先ず、検索に使用する索引を構築する際に、1つの文書をそれぞれの方式によってトークン分割する。そして、複数のトークン分割結果より全トークンの境界を計算し、各トークンの出現位置情報と次に続くトークンの出現位置情報を計算し、索引付けを行う。
次に、コンピュータ・システムは、元文書の復元およびヒット位置の強調表示のために、複数のトークン分割結果から算出した全トークン境界からなるトークン列を保管する。この時、各トークンの開始位置番号、終了位置番号と共に保管する。
検索にあたっては、コンピュータ・システムは、ユーザーが入力した検索語をそれぞれのトークン分割方法によって分割し、出来上がったトークン列を OR で結合して検索を行う。これによってどちらかのトークン列が一致した場合には検索結果に含まれるため、検索漏れを防ぐことができる。
コンピュータ・システムが元文書の復元およびヒット位置の強調表示を行う際には、ヒットしたトークンの位置情報および次に続くトークンの出現位置情報を使用することで、複数のトークン分割が行われていても、保管している全トークン境界からなるトークン列より元文書の復元およびヒット位置の強調表示を正確に効率よく行うことができる。
以上のように、本発明によれば、形態素解析とNグラム解析手法などの複数のトークン分割手法を組み合わせることにより、ある検索語が複数のトークン分割方法により、複数のトークン列に展開されるような場合にも正しく検索を行うことができる。また、文書をトークン分割した際に、形態素解析とNグラム解析手法によるものなど、複数候補が考えられる場合においても、両者の結果を個別に保持することなく、かつ、元文書の復元及びヒット位置の強調表示を正確に行うことができる。
インターネットを介して複数のクライアント・コンピュータがウェブ・サーバに接続される構成を示す図である。 クライアント・コンピュータの構成を示すブロック図である。 ウェブ・サーバの構成を示すブロック図である。 論理構成の機能ブロック図である。 索引作成処理のフローチャートを示す図である。 複数の分割方法を適用する処理を示す図である。 保留中トークンから、元文書復元用と索引用トークンを出力する処理のフローチャートを示す図である。 索引用トークンの例を示す図である。 元文書復元用トークン列の例を示す図である。 検索処理のフローチャートを示す図である。 元文書復元処理のフローチャートを示す図である。 検索結果の重要度計算の例を示す図である。
以下、図面を参照して、本発明の実施例を説明する。特に断わらない限り、同一の参照番号は、図面を通して、同一の対象を指すものとする。また、以下で説明するのは、本発明の検索システムを、Webサーバ上で使用する実施例であるが、これは本発明の一実施形態であり、スタンドアロンのコンピュータ上でも同様に実施可能であることを理解されたい。
図1において、ウェブ・サーバ102には、インターネット104を介して、複数のクライアント・コンピュータ106a、106b・・・106zが接続されている。図1のシステムにおいては、クライアント・コンピュータのユーザは、Webブラウザを通じて、インターネット104の回線を介して、ウェブ・サーバ102に、ログインする。具体的には、所定のURLをWebブラウザに打ち込んで、所定のページを表示する。なお、Webブラウザではなく、所定の専用クライアント・アプリケーション・プログラムを使ってログ・インするようにしてもよい。
クライアント・コンピュータのユーザは、インターネット104を経由してウェブ・サーバ102にアクセスすると、所望のキーワードを打ち込んで、文書の検索を行う。
次に、図2を参照して、図1で参照番号106a、106b・・・106zのように示されているクライアント・コンピュータのハードウェア・ブロック図について、説明する。図2において、クライアント・コンピュータは、メイン・メモリ206、CPU204、IDEコントローラ208をもち、これらは、バス202に接続されている。バス202には更に、ディスプレイ・コントローラ214と、通信インターフェース218と、USBインターフェース220と、オーディオ・インターフェース222と、キーボード・マウス・コントローラ228が接続されている。IDEコントローラ208には、ハードディスク・ドライブ(HDD)210と、DVDドライブ212が接続されている。DVDドライブ212は、必要に応じて、CD−ROMやDVDから、プログラムを導入するために使用する。ディスプレイ・コントローラ214には、好適には、LCD画面をもつディスプレイ装置216が接続されている。ディスプレイ装置216には、ウェブ・ブラウザを通じて、ウェブの画面が表示される。
USBインターフェース220には、必要に応じて、専用コントローラ、加速度センサ・デバイスなどのデバイスを接続をすることができる。これらのデバイスは、ウェブ内での操作性を向上するために使用することができる。
キーボード・マウス・コントローラ228には、キーボード230と、マウス232が接続されている。キーボード230は、ユーザーが検索したい文字を、ディスプレイ216に表示された検索用のダイアログ(図示しない)に打ち込んだりするために使用される。
CPU204は、例えば、32ビット・アーキテクチャまたは64ビット・アーキテクチャに基づく任意のものでよく、インテル社のPentium(インテル・コーポレーションの商標)4、Core(商標)2 Duo、AMD社のAthlon(商標)などを使用することができる。
ハードディスク・ドライブ210には、少なくとも、オペレーティング・システムと、オペレーティング・システム上で動作するWebブラウザ(図示しない)が格納されており、システムの起動時に、オペレーティング・システムは、メインメモリ206にロードされる。オペレーティング・システムは、Windows XP(マイクロソフト・コーポレーションの商標)、Windows Vista(マイクロソフト・コーポレーションの商標)、Linux(Linus Torvaldsの商標)などを使用することができる。
通信インターフェース218は、オペレーティング・システムが提供するTCP/IP通信機能を利用して、イーサネット(商標)・プロトコルなどにより、ウェブ・サーバ102と、通信する。
図3は、ウェブ・プロバイダ側のハードウェア構成の概要ブロック図である。図3に示すように、クライアント・コンピュータ106a、106b・・・106zは、インターネット104を経由して、ウェブ・サーバ102の通信インターフェース302に接続される。通信インターフェース302はさらに、バス304に接続され、バス304には、CPU306、主記憶(RAM)308、及びハードディスク・ドライブ(HDD)310が接続されている。
図示しないが、ウェブ・サーバ102にはさらに、キーボード、マウス、及びディスプレイが接続され、これらによって、ウェブ・サーバ102全体の管理やメンテナンス作業を行うようにしてもよい。
ウェブ・サーバ102のハードディスク・ドライブ310には、オペレーティング・システム、クライアント・コンピュータクライアント・コンピュータ106a、106b・・・106zのログイン管理のための、ユーザIDとパスワードの対応テーブルが保存されている。ハードディスク・ドライブ310にはさらに、ウェブ・サーバ102をWebサーバとして機能させるためのApacheなどのソフトウェアが保存され、ウェブ・サーバ102の立ち上げ時に、主記憶308にロードされて、動作する。これによって、クライアント・コンピュータ106a、106b・・・106zが、TCP/IPのプロトコルで、ウェブ・サーバ102にアクセスすることが可能となる。
後で詳しく説明するが、ハードディスク・ドライブ310には、検索される文書のコンテンツ、文書のインデックス、インデックス作成用モジュール、検索用モジュールなどが保存され、必要に応じて、主記憶308にロードされる。
尚、上記ウェブ・サーバ102として、インターナョナル・ビジネス・マシーンズ・コーポレーションから購入可能な、IBM(インターナョナル・ビジネス・マシーンズ・コーポレーションの商標)System X、System i、System pなどの機種のサーバを使うことができる。その際、使用可能なオペレーティング・システムは、AIX(インターナョナル・ビジネス・マシーンズ・コーポレーションの商標)、UNIX(The Open Groupの商標)、Linux(商標)、Windows(商標)2003 Serverなどがある。
図4は、本発明の実施例に係る機能論理ブロック図である。この機能論理ブロック図は、ウェブ・サーバ102に含まれる部分402と、クライアント・コンピュータ106に含まれる部分404と、外部コンテンツ源としてのインターネット206と、データの収集範囲を指定するリレーショナル・データベース(RDB)408と、ファイルサーバ410とからなる。
ウェブ・サーバ102において、コンテンツ収集部412は、インターネット406、RDB408、及びファイル・サーバ410などの情報ソースから、検索対象となるコンテンツを巡回収集し、収集したコンテンツと、そのコンテンツに対するポインタとを対応付けて、コンテンツ格納部414に一時的に格納する。
コンテンツ格納部414は、ハードディスク・ドライブ310などの記憶装置内に構成され、収集したコンテンツを検索可能とする処理を行なうための一時的記憶領域を与える。ここに巡回収集されるコンテンツからは、少なくとも文書データが抽出され、その際、テキスト以外の画像や音声、ビデオなどのコンテンツも、必要に応じて収集される。
コンテンツ収集部412は、予め設定されたスケジュールに従うなど、所定のタイミングでコンテンツの巡回収集を行なう。
ウェブ・サーバ102はさらに、文字列解析部416を有する。文字列解析部416は、コンテンツ格納部414に格納された様々なデータ形式のコンテンツから、文書データを抽出する。文字列解析部416は、HTMLやXMLなどで記述されたコンテンツの場合、タグを除去して、文書データを抽出する。文字列解析部416は、PDF形式のファイルから、埋め込まれている文書情報を抽出する機能をもつ。さらに文字列解析部416は、OCR機能により、イメージデータ中の文字を抽出する機能ももつ。
文字列解析部416は、コンテンツ格納部414に格納されている文書をトークンに分割するための規則や辞書を含むトークン位置定義部418を含む。
本発明によれば、文字列解析部416は、少なくとも2とおりの方法で文書をトークンに分割する。この実施例では、その1つの方法は、形態素解析法であり、もう1つの方法は、Nグラム分割法である。
トークン分割部420は、トークン位置定義部418に格納されている辞書を参照しながら、形態素解析法により、文字列からトークンを切り出して分割する。トークン分割部420の初期の分割の粒度は任意であるが、好適には、複合語など大きな意味単位の語を残すようにする。
トークン展開部422は、同様に、トークン位置定義部418に格納されている辞書を参照しながら、分割されたトークンに対して、必要に応じて表記の揺れ、活用語、同義語、複合語及び略語を展開し派生したトークンを付加していく。トークンの展開のために使用できる辞書としては、同義語のトークンを関連付けて登録する同義語辞書、複合語のトークンとその複合語を構成するさらに小さな意味単位のトークンとを関連付けて登録する複合語辞書、及び、略語とその略語が表す語とのトークンを関連付けて登録する略語辞書などがある。この際、種々の辞書を用いてトークンを展開し、派生したトークンを文字列に割り当てることにより、情報検索の再現率を向上させることが可能となる。更には、係り受けなどの構文解析、意味解析、文脈解析、固有表現抽出など、他のテキスト・マイニングを行なうことにより、トークン間の関連性を抽出し、トークンに対して、関連情報をあらわすトークンを追加して割り当てることができる。
トークン分割部424は、Nグラム分割法により、文字列からトークンを切り出して分割する。結果のトークンは、トークン展開部426に格納される。
なお、文字列解析部416で使用するトークン分割方法は、形態素解析法及びNグラム分割法以外に、単にタブやスペースで単語を分割する、という方法も使うことができる。
本発明によれば、基本的に既知の任意のトークン分割方法を採用することができ、しかも、2種類以上の任意の種類のトークン分割方法を併せて使用することができるを理解されたい。
文字列解析部416において、トークンの解析処理中、文字列から分割されたトークン及び派生したトークンは、トークン間の位置関係を維持するデータ構造として、解析データ格納部428に書き込まれる。このときの解析データのデータ構造は、特に限定されないが、例えば、コンテンツ中の文書データにおけるトークン及び、文書データ中での文字位置の組を概ね出現順に繋げた構造とすることができる。さらに、トークンの解析処理中に、各トークンについて、HTMLやXMLのタグなどからさらにその重要度を判定し、検索時のランキングのために、トークンの重要度を関連付けることもできる。
文字列解析部416は、システム管理者による操作や、予め設定されたスケジュールに従って、または、所定量のコンテンツがコンテンツ格納部414に新たに追加されたり更新された場合に、処理を開始するようにしてもよい。また、トークン分割部420、424及び、トークン展開部422、426は、好適にはCPU306の実行空間を提供するRAM308にロードされて、実行される。
ウェブ・サーバ102はさらに、索引構築部430を有する。索引構築部430は、解析データ格納部428に書き込まれた解析データを読み出して、索引付けを施して、索引格納部436に格納する。索引構築部430は、トークン位置定義部432と文書内索引作成部434のモジュールを有し、これらのモジュールは、好適にはCPU306の実行空間を提供するRAM308にロードされて、実行される。
索引格納部436は、ハードディスク・ドライブ310上に、データベースまたはファイルとして 構成される。
索引格納部436が格納する索引データは、好適には、文書中のトークンの出現位置を示す情報を含んだ転置インデックス(inverted index)として構成することができる。しかし、これは、一例であって、索引データのデータ構造は、トークンと、そのトークンを文書内に有するコンテンツと、その文書データ中の当該トークンの出現位置とが対応付けられる限り、任意のデータ構造でよい。
トークン位置定義部432は、各解析データに表れる各トークン間の位置関係から、各トークンに対して、文書内位置番号を定義して、割り当てる。文書内位置番号は、コンテンツ内の位置を識別する。
文書内索引作成部434は、コンテンツ毎に、トークン、文書内位置番号、及び適宜付加情報を対応づけて、文書データ内での索引である、索引エントリを作成する。索引エントリのデータ構造は、例えば、各トークン毎に、文書内位置番号及び適宜付加情報を整理した配列に、コンテンツ識別値を関連付けたものとして構成することができる。
ウェブ・サーバ102は更に、検索部438を有する。検索部438は、クライアント・コンピュータ106からの検索要求に応じて、その検索要求に含まれる検索式について、索引格納部436からの索引データと照合しながら検索処理を実行し、検索結果をクライアント・コンピュータ106に返す。
検索部438は、検索要求受付部440、検索結果作成部442、検索処理部446及び元文書復元部448を有し、これらのモジュールは、好適にはCPU306の実行空間を提供するRAM308にロードされて、実行される。
一方、クライアント・コンピュータ106側では、ウェブ・ブラウザ、プロセッサ204、プロセッサ204の実行空間を与えるメイン・メモリ206などが協働して機能するの検索照会部404が構成される。検索照会部404は、検索要求部450と、検索結果表示部452とからなる。
検索時には、検索要求部450は、ユーザが、クライアント・コンピュータ106のウェブ・ブラウザの画面のテキスト入力領域にユーザが検索したい文字を打ち込んで、所定のボタンをマウスでクリックすることに応答して、検索要求を、検索要求受付部440に送る。この際、CGIなどの周知の技術を使うことができる。
検索要求受付部440では、検索照会部450からの検索要求を受け取ると、その受け取った検索要求を解析して、その解析結果を、検索処理部438に発行する。検索要求は、検索文字列、及び検索文字列間を接続する論理演算子などの検索式を含むことができる。検索文字列はさらに、形態素解析などにより、検索トークンに分割することができる。この分割の際に、文字列解析部416を呼び出すことができる。
検索処理部438は、検索要求に基づき、索引格納部436の索引データに対する照会を実行して、その照会に対する照会集合を取得する。元文書復元部448は、当該照会集合に基づき、解析データ格納部428のデータを参照して、元文書を復元する。復元された元文書は、検索結果作成部442を介して、クライアント・コンピュータ106の検索結果表示部452に送られ、その内容は、クライアント・コンピュータ106のウェブ・ブラウザの画面に表示される。このとき、元文書復元部448は、元文書を復元しつつ、ヒット位置が強調表示可能であるように、ウェブ・ブラウザの画面上の属性を設定可能である。典型的には、元文書復元部448は、ヒット位置に<font color=red>〜</font>などのタグを付与して、復元した元文書を、クライアント・コンピュータ106に送出してもよい。
次に、図5のフローチャートを参照して、インデックスを作成する処理について説明する。
先ず、ステップ502では、コンテンツ収集部412が、インターネット406、ファイルサーバ410などから、文書データを取得して、コンテンツ格納部414に格納する。
ステップ504では、文字列解析部416が、コンテンツ格納部414に格納された文書データに含まれる文字列を、用意されている複数のトークン分割手法で分割する。この実施例では、トークン分割部420による形態素解析手法と、トークン分割部424によるNグラム手法である。こうして分割されたトークンはさらに、トークン展開部422、424でそれぞれ適宜展開される。これらの展開は、好適には、主記憶308に展開されるが、主記憶308に十分な容量がない場合は、ハードディスク・ドライブ310に展開される。
図6に、「日本IBM株式会社」という文字列を、形態素解析手法である分割方法1と、Nグラム手法である分割方法2で分割する様子が示されている。図6にはまた、「株式会社」というトークンに、「(株)」という同義語が展開によって付加されることも示されている。
ステップ506では、文字列解析部416が、分割されたトークンを出現順に選択する。
ステップ508では、トークンの開始境界と異なるかどうか、文字列解析部416が判断する。もしそうでないなら、処理は、ステップ532に進む。ステップ532については、後で説明する。
ステップ508での判断が肯定的だと、処理は、ステップ510に進み、そこで、位置決定保留中トークンがあるかどうかが判断される。
ステップ510で、位置決定保留中トークンがあると判断されると、ステップ512で、位置決定保留中トークンが選択される。後で詳しく説明するが、位置決定保留中トークンとは、好適には主記憶308上の所定の領域に保持され、元文書復元用トークンを作成する基となるものである。
ステップ510で、位置決定保留中トークンがないと判断されると、処理は、ステップ524に進む。ステップ524については、後で説明する。
戻って、ステップ512の後は、ステップ514で、選択中トークンの開始境界が、選択した保留中トークンの終了境界より大きいかどうかが判断される。もしそうであるなら、処理はステップ524に進む。
ステップ514で、選択中トークンの開始境界が、選択した保留中トークンの終了境界より大きくないと判断されると、ステップ516で、記憶している境界が、選択した保留中トークンの終了境界より小さいかどうかが判断される。ここでいう記憶している境界とは、後述するステップ520で記憶される保留中トークンの終了位置と、ステップ528におけるトークンの開始位置とで規定されるものである。なお、記憶している境界、保留中トークンの終了位置、トークンの開始位置などは、好適には主記憶308の所定の共有メモリ領域に書き換え可能に維持されて、文字列解析部416などのモジュールによってアクセス可能な変数である。
ステップ516で、記憶している境界が、選択した保留中トークンの終了境界より小さいと判断されると、ステップ518で、記憶している境界と保留中トークンの終了境界より、元文書復元用トークンが生成され、次のステップ520で、位置カウンタを増加し、保留中トークンの終了位置を記憶し、位置決定保留中全トークンの終了位置の再計算を行なう処理が行なわれ、ステップ522で、選択した保留中トークンを索引用トークンとして出力し、位置決定保留中トークンから除くという処理が行なわれて、処理はステップ510の判断に戻る。
ステップ516で、記憶している境界が、選択した保留中トークンの終了境界より小さくないと判断されると、直ちにステップ522に進んで、そこでの処理の後、ステップ510の判断に戻る。
さて、ステップ524の判断は、ステップ510で位置決定保留中トークンがないと判断された場合、あるいはステップ514で選択中トークンの開始位置が選択した保留中トークンの終了境界より大きいと判断される場合に、実行される。
そのステップ524で、トークンの開始境界が記憶している境界より大きいと判断されると、ステップ526では、記憶している境界とトークンの開始境界より、元文書復元用トークンが生成される。次にステップ528で、位置カウンタを増加し、トークンの開始位置を記憶する処理が行なわれ、ステップ530では、位置決定保留中全トークンの終了位置の再計算が行なわれる。
ステップ524で、トークンの開始境界が記憶している境界より大きくないと判断されると、ステップ526とステップ528をスキップして、直接ステップ530の処理に進む。
次のステップ530では、選択したトークンが、位置決定保留中トークンに追加される。なお、ステップ508での処理が否定的である場合にも、処理は直接ステップ530に来る。
ステップ534では、最後のトークンかどうかが判断され、そうであれば処理はステップ536に進み、そうでなければ、処理はステップ508の判断に戻る。
ステップ536では、保留中トークンから、元文書復元用トークンと、索引用トークンを出力する処理が行なわれる。このとき、出力された元文書復元用トークンと、索引用トークンの情報は、後で検索及び文書の表示に利用するため、ハードディスク・ドライブ310に書き出されて保存される。
図7は、図5のステップ536の処理をより詳細に示すフローチャートである。図7のステップ702では、位置決定保留中トークンを調べて、位置決定保留中トークンがある限り、ステップ706〜710を実行する。
すなわち、ステップ704では、位置決定保留中トークンが選択され、ステップ706では記憶している境界と保留中トークンの終了境界により、元文書復元用トークンが生成される。
ステップ708では、位置カウンタを増加し、位置決定保留中トークンの終了位置を記憶し、位置決定保留中全トークンの終了位置の再計算する処理が行なわれ、次のステップ710では、選択した位置決定保留中トークンを索引用トークンとして出力し、位置決定保留中トークンから除く処理が行なわれる。
こうして、位置決定保留中トークンがなくなると、ステップ702の判断が否定的となって、処理が終了する。
図8は、「日本IBM株式会社」という文字列に対して、図5及び図7のフローチャートの処理で生成された索引用トークンを示す図である。これは、採用されている全種類のトークン分割方法(この実施例では、形態素解析とNグラム)で分割された全てのトークンを含む。例えば、「株式」は、位置番号3で登録され、その次に来るトークンの位置は5である、という情報をトークンがもつようにする。より効率的には、トークン位置の差分を保持するようにしてもよい。実際は、トークンの先頭に、そのトークンがあらわれる文書の文書IDが付けられることになる。
図9は、元文書復元用トークン列を示す図である。元文書復元用トークンは、図8に示すような、全種類のトークン分割方法で得られたトークンの分割結果から算出された全トークン境界を元にしたトークン列を、各トークンの開始位置番号、終了位置番号と共に保管したものである。この場合も、より効率的には、トークン位置の差分を保持するようにしてもよい。
次に、図10のフローチャートを参照して、作成された索引に基づき、検索を行う処理を説明する。この処理は、図4の検索処理部446によって実行される。図10においてまず、ステップ1002では、ユーザが入力し、検索要求受付部440が受領した検索語が、全解析手法で解析され、トークンに分解され、分解されたトークンは更に展開される。このとき、好適には、図5のステップ504と同じ処理が行なわれる。
ステップ1004では、索引作成と同様に、各トークン位置の検出が行なわれる。ここでは、好適には、図5で実行されるトークン生成方法と同様にして、検索トークン列が生成され、ステップ1006では、そうして生成された複数の検索トークン列が順次選ばれる。
ステップ1008では、選ばれた検索トークン列を文書データ内に含むコンテンツの集合1〜Sが検索により取得される。ここでSは、1以上の整数である。この検索は、好適には、索引格納部436を検索することによって行われる。
ステップ1010では、集合1〜Sが交わりをもつかどうか判断され、もし交わりをもたないなら、ステップ1026に進み、最後のトークン列かどうかが判断され、もし最後のトークン列であるなら、処理は終わり、もしそうでないなら、ステップ1006に戻る。
ステップ1010で、集合1〜Sが交わりをもつと判断されると、ステップ1012で、集合1〜Sの積集合が中間照会集合として作成される。
ステップ1014で、中間照会集合に含まれるコンテンツが選択される。
ステップ1016で、選択したコンテンツの文書データ内での検索トークン列の連続性が検証される。これは、検索トークン列が文書データの境界に跨らないかどうかの検証である。
ステップ1018では、連続が少なくとも1つ維持されたかどうかが判断され、もしそうなら、ステップ1020で、選択したコンテンツが中間照会集合に維持され、そうでなければ、ステップ1022で選択したコンテンツが中間照会集合から削除される。
ステップ1024では、照会結果集合と中間照会集合の和集合が、照会結果集合とされる。そして、ステップ1026に進み、最後のトークン列かどうかが判断され、もし最後のトークン列であるなら、処理は終わり、もしそうでないなら、ステップ1006に戻る。
図11は、元文書復元処理のフローチャートを示す図である。この処理は、図4の元文書復元部448によって実行される。図11のステップ1102では、表示する文書に含まれる全ての元文書復元用トークンが取得される。
ステップ1104では、例えば図10の検索結果として得られた、ヒットしたトークンの索引格納部436に保持されている開始位置情報及び終了位置情報が取得される。
ステップ1106では、ステップ1102で選択されたトークンが順次選択される。
ステップ1108では、選択されたトークンの開始位置が、ヒット範囲としての開始位置情報及び終了位置情報の間に含まれるかどうかが判断され、もしそうなら、ステップ1110で、強調表示が開始される。
ステップ1112では、トークンが、元文書復元文字列に追加される。
ステップ1114では、選択されたトークンの終了位置が、ヒット範囲としての開始位置情報及び終了位置情報の間に含まれるかどうかが判断され、もしそうなら、ステップ1116で、強調表示が終了される。
そして、ステップ1118に進み、最後のトークン列かどうかが判断され、もし最後のトークン列であるなら、処理は終わり、もしそうでないなら、ステップ1106に戻る。
結果の元文書復元文字列は、検索結果作成部442から、検索結果表示部452に送られて、ユーザのクライアント・コンピュータ105のディスプレイ216に表示される。
図12は、検索結果を重要度で重み付けするための処理の例を示す図である。この例では、「東京都」という元検索文字列が、形態素解析と所定の論理操作によって、(東京都 OR (東京 AND 京都))と論理式に分解される。
論理式中で、「東京都」のところは、元検索文字列と同一なので1と置かれ、「東京」のところは、形態素解析によって「東京都」と同一視されるので1と置かれ、「京都」のところは、「東京都」の文脈では、「東」+「京都」と読まれる場合なので、可能性は1/3であると看做すと、
(東京都 OR (東京 AND 京都)) = (1 + (1 * 1/3)) = 4/3で、この値で正規化すると、「東京都」の部分の重みは0.75、(東京 AND 京都)の部分の重みは0.25となる。
索引中では、例えば、その個々のキーワード毎の、ヒットした文書中の出現率に、その重みを掛けた値を個々のキーワードの重みと看做して、元の論理式に代入して全体の重みを計算するなどして、検索結果の重要度を計算することにより、複数の検索結果を重要度順にソートして表示することが可能となる。
これは検索結果の重要度を計算するための、本発明に適用し得る一例に過ぎないことを理解されたい。
なお、この実施例では、クライアント・コンピュータは、通常のパーソナル・コンピュータとして示されているが、携帯、PDAなどのモバイル・デバイスからアクセスして検索できるようにしてもよい。
また、トークン分割方法は、2つでなく3つ以上を適用してもよい。その際、形態素解析分割法とNグラム分割法を含んでいてもよく、そうでなくてもよい。すなわち、単にタブやスペースで単語を分割する、という分割方法も適宜使用することができる。本発明によれば、どのような分割方法で得られたトークンでも、統一的に扱うことができる。
また、上記実施例では、文書として、日本語の文書を検索するものであったが、英語、ドイツ語、フランス語などの任意の印欧語、アラビア語、ヘブライ語などのセム語、あるには文字をもつ任意の言語で書かれた文書の検索に本発明を適用することが可能である。その際、本発明における、任意のトークン分割方法を使用できるという柔軟性が、多様な言語への適用性を高めることが理解されるだろう。
さらに、本発明を、ウェブ・サーバ上で索引の作成及び検索を行う構成の実施例で説明したが、本発明は、スタンドアロンのコンピュータ・システム上でも実現できることは当業者に明らかであろう。
420・・・第1のトークン分割部
424・・・第2のトークン分割部
428・・・解析データ格納部
430・・・索引構築部
436・・・索引格納部

Claims (6)

  1. コンピュータの処理により、記憶装置に格納された文書を検索するための索引作成システムであって、
    前記文書を読み込んで、形態素解析手法でトークンを生成する第1のトークン分割部と、
    前記文書を読み込んで、Nグラム手法でトークンを生成する第2のトークン分割部と、
    前記生成したトークンの各々に、前記文書中の開始位置と終了位置を付与して前記記憶装置に索引として格納する手段と、
    前記第1及前記第2のトークン分割部で得られた全トークン境界を元にしたトークン列を、各トークンの開始位置番号、終了位置番号と共に保管する元文書復元用トークンを生成して前記記憶装置に格納する手段を有する、
    索引作成システム。
  2. コンピュータの処理により、記憶装置に格納された文書を検索するための索引作成方法であって、
    前記文書を読み込んで、形態素解析手法でトークンを生成するステップと、
    前記文書を読み込んで、Nグラム手法でトークンを生成するステップと、
    前記生成したトークンの各々に、前記文書中の開始位置と終了位置を付与して前記記憶装置に索引として格納するステップと、
    前記形態素解析手法によるトークン生成手法と前記Nグラム手法によるトークン生成手法とで得られた全トークン境界を元にしたトークン列を、各トークンの開始位置番号、終了位置番号と共に保管する元文書復元用トークンを生成して前記記憶装置に格納するステップを有する、
    索引作成方法。
  3. コンピュータの処理により、記憶装置に格納された文書を検索するための索引作成プログラムであって、
    前記コンピュータをして、
    前記文書を読み込んで、形態素解析手法でトークンを生成するステップと、
    前記文書を読み込んで、Nグラム手法でトークンを生成するステップと、
    前記生成したトークンの各々に、前記文書中の開始位置と終了位置を付与して前記記憶装置に索引として格納するステップと、
    前記形態素解析手法によるトークン生成手法と前記Nグラム手法によるトークン生成手法とで得られた全トークン境界を元にしたトークン列を、各トークンの開始位置番号、終了位置番号と共に保管する元文書復元用トークンを生成して前記記憶装置に格納するステップを実行させる、
    索引作成フログラム。
  4. コンピュータの処理により、記憶装置に格納された文書を検索するための検索システムであって、
    前記文書を読み込んで、形態素解析手法で生成された第1のトークンと、Nグラム手法で生成されたトークンとに、前記文書中の開始位置と終了位置を付与して前記記憶装置に保管された索引ファイルと、
    検索すべき文字列を受け入れる手段と、
    前記受け入れられた文字列を、前記形態素解析手法と前記Nグラム手法で分割することにより、複数の検索すべきトークンを得る手段と、
    前記検索すべきトークンにより、前記索引ファイルを検索することにより、検索結果として、個々の前記トークンを含む文書の和集合を計算する手段と、
    前記形態素解析手法によるトークン分割手法と前記Nグラム手法によるトークン分割手法とで得られた全トークン境界を元にしたトークン列を、各トークンの開始位置番号、終了位置番号と共に前記記憶装置に保管された元文書復元用トークンのファイルと、該元文書復元用トークンから元文書を復元するための元文書復元手段とを有する、
    検索システム。
  5. コンピュータの処理により、記憶装置に格納された文書を検索するための検索方法であって、
    前記文書を読み込んで、形態素解析手法で生成された第1のトークンと、Nグラム手法で生成されたトークンとに、前記文書中の開始位置と終了位置を付与して前記記憶装置に保管された索引ファイルを用意するステップと、
    検索すべき文字列を受け入れるステップと、
    前記受け入れられた文字列を、前記形態素解析手法と前記Nグラム手法で分割することにより、複数の検索すべきトークンを得るステップと、
    前記検索すべきトークンにより、前記索引ファイルを検索することにより、検索結果として、個々の前記トークンを含む文書の和集合を計算するステップと、
    前記形態素解析手法によるトークン分割手法と前記Nグラム手法によるトークン分割手法とで得られた全トークン境界を元にしたトークン列を、各トークンの開始位置番号、終了位置番号と共に前記記憶装置に保管された元文書復元用トークンのファイルと、該元文書復元用トークンから元文書を復元するステップとを有する、
    検索方法。
  6. コンピュータの処理により、記憶装置に格納された文書を検索するための検索プログラムであって、
    前記コンピュータをして、
    前記文書を読み込んで、形態素解析手法で生成された第1のトークンと、Nグラム手法で生成されたトークンとに、前記文書中の開始位置と終了位置を付与して前記記憶装置に保管された索引ファイルを用意するステップと、
    検索すべき文字列を受け入れるステップと、
    前記受け入れられた文字列を、前記形態素解析手法と前記Nグラム手法で分割することにより、複数の検索すべきトークンを得るステップと、
    前記検索すべきトークンにより、前記索引ファイルを検索することにより、検索結果として、個々の前記トークンを含む文書の和集合を計算するステップと、
    前記形態素解析手法によるトークン分割手法と前記Nグラム手法によるトークン分割手法とで得られた全トークン境界を元にしたトークン列を、各トークンの開始位置番号、終了位置番号と共に前記記憶装置に保管された元文書復元用トークンのファイルと、該元文書復元用トークンから元文書を復元するステップを実行させる、
    検索プログラム。
JP2009096383A 2009-04-10 2009-04-10 情報検索システム、方法及びプログラム、索引作成システム、方法及びプログラム、 Expired - Fee Related JP5285491B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009096383A JP5285491B2 (ja) 2009-04-10 2009-04-10 情報検索システム、方法及びプログラム、索引作成システム、方法及びプログラム、

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009096383A JP5285491B2 (ja) 2009-04-10 2009-04-10 情報検索システム、方法及びプログラム、索引作成システム、方法及びプログラム、

Publications (2)

Publication Number Publication Date
JP2010250389A JP2010250389A (ja) 2010-11-04
JP5285491B2 true JP5285491B2 (ja) 2013-09-11

Family

ID=43312676

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009096383A Expired - Fee Related JP5285491B2 (ja) 2009-04-10 2009-04-10 情報検索システム、方法及びプログラム、索引作成システム、方法及びプログラム、

Country Status (1)

Country Link
JP (1) JP5285491B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013015967A (ja) 2011-07-01 2013-01-24 Internatl Business Mach Corp <Ibm> 検索システム、索引作成装置、検索装置、索引作成方法、検索方法およびプログラム
US9111095B2 (en) 2012-08-29 2015-08-18 The Johns Hopkins University Apparatus and method for identifying similarity via dynamic decimation of token sequence n-grams
WO2017126057A1 (ja) * 2016-01-20 2017-07-27 株式会社日立製作所 情報検索方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3696745B2 (ja) * 1999-02-09 2005-09-21 株式会社日立製作所 文書検索方法及び文書検索システム及び文書検索プログラムを記録したコンピュータ読み取り可能な記録媒体
JP3636941B2 (ja) * 1999-07-19 2005-04-06 松下電器産業株式会社 情報検索方法と情報検索装置
JP2002269139A (ja) * 2001-03-08 2002-09-20 Ricoh Co Ltd 文書検索方法
JP2003150636A (ja) * 2001-11-13 2003-05-23 Ricoh Co Ltd 文書検索装置、文書検索方法、プログラムおよび記録媒体
JP4646289B2 (ja) * 2004-07-14 2011-03-09 株式会社リコー データベースマネジメントシステム
JP5010885B2 (ja) * 2006-09-29 2012-08-29 株式会社ジャストシステム 文書検索装置、文書検索方法および文書検索プログラム
JP4205753B2 (ja) * 2007-04-16 2009-01-07 株式会社リコー 文書検索システム
JP4237813B2 (ja) * 2008-05-26 2009-03-11 株式会社東芝 構造化文書管理システム

Also Published As

Publication number Publication date
JP2010250389A (ja) 2010-11-04

Similar Documents

Publication Publication Date Title
JP6461980B2 (ja) 検索結果におけるコヒーレントな質問回答
US10552467B2 (en) System and method for language sensitive contextual searching
JP2007517338A (ja) サーチ品質の改善システムおよび改善方法
JPH11110416A (ja) データベースからドキュメントを検索するための方法および装置
JPWO2010047286A1 (ja) 検索システム、検索方法およびプログラム
JP4160548B2 (ja) 文書要約作成システム、方法、及びプログラム
JP2005107597A (ja) 類似文検索装置、類似文検索方法、およびプログラム
WO2010109594A1 (ja) 文書検索装置、文書検索システム、文書検索プログラム、および文書検索方法
JP4935243B2 (ja) 検索プログラム、情報検索装置及び情報検索方法
JP5285491B2 (ja) 情報検索システム、方法及びプログラム、索引作成システム、方法及びプログラム、
JP2006178599A (ja) 文書検索装置および方法
CN112380337A (zh) 基于富文本的高亮方法及装置
JP2009295052A (ja) 複合語の区切り位置を推定する複合語区切り推定装置、方法、およびプログラム
JP5491446B2 (ja) 話題語獲得装置、方法、及びプログラム
JP4953440B2 (ja) 形態素解析装置、形態素解析方法、形態素解析プログラム及びコンピュータプログラムを格納した記録媒体
JP2007133682A (ja) 全文検索システム、及び、その全文検索方法
JP7279481B2 (ja) 検索処理プログラム、検索処理方法および検索処理装置
JP2022002034A (ja) 抽出方法、抽出プログラム、及び、抽出装置
JP2010009237A (ja) 多言語間類似文書検索装置及び方法及びプログラム及びコンピュータ読取可能な記録媒体
JP6787101B2 (ja) 検索プログラム、検索装置、および検索方法
JP2007148630A (ja) 特許分析装置、特許分析システム、特許分析方法およびプログラム
JP4574186B2 (ja) 重要言語識別方法、重要言語識別プログラム、重要言語識別装置、文書検索装置およびキーワード抽出装置
US8930373B2 (en) Searching with exclusion tokens
JP2019113937A (ja) 検索支援システム、検索支援方法、及び検索支援プログラム
JPH10283368A (ja) 情報処理装置及びその方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120910

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120918

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121018

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130531

R150 Certificate of patent or registration of utility model

Ref document number: 5285491

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees