JP5224851B2 - 検索エンジン、検索システム、検索方法およびプログラム - Google Patents

検索エンジン、検索システム、検索方法およびプログラム Download PDF

Info

Publication number
JP5224851B2
JP5224851B2 JP2008046582A JP2008046582A JP5224851B2 JP 5224851 B2 JP5224851 B2 JP 5224851B2 JP 2008046582 A JP2008046582 A JP 2008046582A JP 2008046582 A JP2008046582 A JP 2008046582A JP 5224851 B2 JP5224851 B2 JP 5224851B2
Authority
JP
Japan
Prior art keywords
search
information
token
tokens
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.)
Expired - Fee Related
Application number
JP2008046582A
Other languages
English (en)
Other versions
JP2009205397A (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 JP2008046582A priority Critical patent/JP5224851B2/ja
Priority to US12/371,736 priority patent/US8930372B2/en
Publication of JP2009205397A publication Critical patent/JP2009205397A/ja
Application granted granted Critical
Publication of JP5224851B2 publication Critical patent/JP5224851B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/313Selection or weighting of terms for indexing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、情報検索に関し、より詳細には、複数の文字列解析を並列的に適用する検索技術に関する。
近年、コンピュータ、インターネットなどの高速大容量通信基盤の普及などの理由から、膨大な数の情報が作成され、ネットワークを介してアクセス可能に登録されるようになっている。これに伴って、近年、ネットワークを介して情報にアクセスする場合、情報検索する者が、文書、画像、音響ファイルなどを含む情報を高速に検索し、かつアクセスできる検索システムの必要性が高まっている。
検索システムでは、多くの場合、検索対象の情報を、適切な文字列解析方法を使用して文字、単語、センテンスなどの単位(以下、トークンとして参照する。)に分割して索引付けを行う。また、入力された検索語または検索語列についても、文字、単語、センテンスなど所定の単位(以下、検索トークンとして参照する。)に分割され、検索対象の情報について登録されたトークンが、検索トークンに一致するか否かの判断に応じて情報を検索結果として抽出するかどうかを決定する。この際、文字列からトークンを生成する処理が必要とされる。トークンを生成する処理は、従来では主に2つの手法が使用されている。
第1の手法は、文字列の形態素解析法である。形態素解析におけるトークンの生成は、まず、文字列を有為な意味を持つ単語単位に分割し、分割された単語をそれぞれトークンとして登録する。第2の手法は、Nグラム法と参照される方法である。Nグラム法では、文字をN文字ごとに文字の重なりを考慮してN文字単位に分割し、トークンとして登録する。
形態素解析法は、辞書を用い、トークン自体が有為な意味のある単位で分割および生成される。このため、形態素解析法は、辞書を参照することにより単語の活用なども考慮でき、高品質な検索が可能とされる。一方、形態素解析法はその半面で、(i)辞書にない単語は分割できないこと、(ii)誤った単語分割を行ってしまうことで、文字列とまったく同じ単語が含まれている情報であっても検索結果から排除されてしまうこと、(iii)辞書のメンテナンスが必要なこと、という欠点もある。
また、Nグラム法は、この逆に文字列の機械的な分割によりトークンを生成する。したがって、Nグラム法は、完全に一致する文字列を含む情報を検索結果に含めることができる。一方で、Nグラム法は、(i)部分一致、例えば、「東京都」という単語について、トークンが「京都」である場合に一致と判断してしまうことによりノイズが生成されやすいこと、(ii)トークンとして登録する単語の活用など、単語の同義的な「ゆれ」には対応できないこと、という欠点もある。
図12に、従来の形態素解析法およびNグラム法を使用する検索情報の照会処理を示す。図12(a)が形態素解析法を使用する場合の照会処理であり、図12(b)がNグラム法を使用する場合の照会処理を示す。検索者が、クライアント・コンピュータから検索語として「都庁」および「取り扱い時間」を入力し、ネットワークを介して検索エンジンに対して検索要求を発行するものとする。検索エンジンは、例えばリレーショナル・データベースなどを含んで構成されており、受領した検索語を、リレーショナル・データベースが管理する情報に対してSQL文などを使用して照会する。
ここで、現在検索の対象とされている情報が含む文書データは、「東京都庁のご案内取扱い時間」という、メタデータ、タイトル、または見出し情報を含んでいるものとする。形態素解析法では、情報を構成する文字列を、辞書を使用してトークンに分解し、辞書を参照して同義・活用・送り仮名などの表記のゆれなどが相違するトークンを、文書データの対応するトークンに関連付け、索引リストに表現の揺れを含めたトークンを、その出現位置、トークン番号などと共に登録する。
図12(a)の従来例では、情報が含む文書データは、辞書にしたがって、「東京都」、「庁」、「の」、「ご」、「案内」、「取扱い」、「時間」のトークンに分解され、トークン「取扱い」に対しては、辞書を参照して送り仮名の異なるトークン「取り扱い」が元のトークン「取扱い」に対応付けて索引付けが行われる。この状況下で図12(a)の照会処理を行うと、検索トークン「都庁」は、情報の索引リストに登録されていないのでミスヒットの値を返す。一方、検索トークン「取り扱い」および検索トークン「時間」は、対応するトークンが索引リストに登録されているので、ヒットの値を返す。
図12(a)の場合、検索システムの実装方式に応じ、検索語「都庁」がヒットしなかったため、ミスヒットとして検索結果として返す場合もあるし、また、信頼度確率などを付け、本来検索者が検索したい情報を他の情報よりも下位にランク付けした検索結果を返してしまう。
一方、図12(b)は、Nグラム法を使用する照会処理であり、「都庁」、「取り扱い時間」という検索語については、Nグラム法で情報について索引付けされた「都庁」、「扱い」、「い時」、「時間」がヒットしている。一方、検索語から生成された検索トークン「取り」および検索トークン「り扱」についてはヒットとなるトークンが索引付けされておらず、ミスヒットの値が検索システムによって返される。この場合も、検索システムの実装方式によっては、検索全体に対してミスヒットであった結果が返されるか、または本来意図しない情報よりも下位にランク付けされてクライアント・コンピュータに検索結果として返される。
この理由は、図12(a)では、主として辞書のメンテナンスの不備によるものであり、図12(b)では、Nグラムにおいて活用や表記のゆれを考慮することができないという欠点によるものである。
形態素解析法とNグラム法とを使用する文書検索技術として、これまで例えば特開2001−34623号公報(特許文献1)、特開2006−99427号公報(特許文献2)、および特開2006−106907号公報(特許文献3)を挙げることができる。
特許文献1では、検索対象テキストを単語単位に分割し、単語単位に分割したテキストから、単語の区切りを示す単語情報を持ち文字数がNである単語情報付文字列インデックスを作成し、単語情報付文字列インデックスから、検索語を文字列検索または単語検索、またはその両方で検索する情報検索技術が開示されている。さらに、特許文献1では、Nグラムに形態素の単語境界の情報を記録してランキングの精度を向上させる手法も知られているが、この手法では、単語境界の単語を使用するという点で、形態素の大きな特徴である活用や表記の“ゆれ”などを反映させた検索を行う技術については直接適用することができる技術ではない。
また、特許文献2では、Nグラム・インデックスによる一次検索のヒット件数と形態素インデックスによる形態素検索のヒット件数との近似度を判定する近似度判定手段と、前記Nグラムインデックスによる一次検索のヒット件数と前記形態素インデックスによる形態素検索のヒット件数とが近似していると近似度判定手段によって判定された場合、前記Nグラムインデックスによる二次検索が省略されるように前記第1の検索手段を制御して、前記一次検索の結果または前記形態素検索の結果を検索結果として採用する全文検索実行制御手段とを具備することを特徴とする全文検索技術が開示されている。
さらに、特許文献3では、索引を付与すべき、構造化文書に含まれる各要素毎に、当該要素に基づいて、当該要素に適した索引種別を決定する索引種別決定手段と、索引種別決定手段によって各要素毎に決定された索引種別に基づいて、当該要素に対応する当該決定された索引種別の索引を構築して前記索引格納手段に格納する索引構築手段とを具備することを特徴とする構造化文書管理技術が開示されている。
特許文献1〜特許文献3では、形態素解析法およびNグラム法の2つの手法を、いずれか一方を択一的に選択し、文字列解析法の異なる索引付けがなされた情報に対して検索を行うものである。また、それぞれの文字列解析方法で作成した索引に対する検索を独立して行い、結果を合成することにより、形態素解析とNグラム法の両方の結果を含ませることもできる。
しかしながら、結果を合成する方法は、結果処理が複雑化する上に、形態素解析法での検索を行うエンジンとNグラム法での検索エンジンの両方を実装することが必要となり、コスト的にも高くつくものとなる。また、検索結果をNグラム法、形態素解析法を使用してそれぞれ生成させ、各結果集合を合成するにしても、各結果集合は、それぞれの文字列解析方法の長所・短所を有したままなので、これらを単に独立して検索を実行し、検索結果を外部的に結合させても、例えば図12に示した従来例では、各々の方法の欠点を反映してしまうことになって、充分な精度をおよび検索満足度を提供することができないことになる。なお、「検索品質」とは、検索漏れが最小で、ノイズも適切な程度に除去でき、さらに検索者の入力した検索語(列)に対して忠実性の高い検索結果を得ることを意味する。
さらに、検索結果の両方法による検索処理を独立して行う場合、2種類の検索エンジンを実装することが必要であること、検索を、文字列解析方法に関連する回数分実行しなければ成らないこと、各検索結果は、依然として文字列解析方法固有の長所・短所を含んだままであり、単に結果を結合させるだけでは検索品質を改善することにはつながらないことなど、人的・ハードウェア資源的・および品質・コスト面から魅力的なものとはいえない。
特開2001−34623号公報 特開2006−99427号公報 特開2006−106907号公報
上述したように、従来の技術では、単に入力した検索語(列)が一致しているなどの理由で検索結果の上位にリストされる文書は、必ずしも検索者が意図している文書であるとはいえず、効果的な検索が行えていないという問題があった。また、形態素解析法は、言語によって表現の揺れが多様な場合、単語の活用、送り仮名、謙譲語、敬語など多様な表記の揺れを含む文字列については、辞書メンテナンスに関する労力が多大となる反面、形態素解析法固有の問題点は依然として残されてしまう。
一方で、単語の間に空白文字、例えばスペースといった区切りで区切られず、非空白の文字による連続シーケンスで特定の意味を有する単語、例えば「東京都」、「日本」、「町田市」を与え、「町田市は、日本の東京都にあります。」などの文章表現を行う言語については、文字が2バイトで表現され、文字それ自体が簡潔または未完結の意味を有している。このような言語については、Nグラム法も有効と考えられ、Nグラム法を有効に使用することで、検索漏れを最小限とすることが期待できる。しかしながら、Nグラム法は、形態素解析法に比較して、意味に関係なく文字列の一致でヒット判定を行う特徴を有しているので、ノイズが増加してしまう点、本来的に表現の揺れに対応することができない点、などNグラム法固有の欠点は依然として残されてしまう。
本発明は、上記従来技術の問題点に鑑みてなされたものであり、本発明は、より検索者の入力した検索語(列)に対する忠実度が高い検索結果を提供することができる検索エンジン、検索システム、検索方法およびプログラムを構築することを目的とする。
また、本発明は、単語の間にスペースといった区切りを配置することなく、文字の特定の連続により有意的な意味を与える言語、例えば、日本語、中国語、韓国語、アラビア語など、マルチバイト文字を含んで構成される文字列について検索精度を向上させ、より忠実度の改善された検索結果を提供する検索エンジン、検索システム、検索方法およびプログラムを構築することを目的とする。
さらに本発明は、検索結果の表示を、形態素解析法およびNグラム法の両方の長所を保持させながら、かつ短所を相互的に低減させ、検索結果の識別性を向上させる、検索エンジン、検索システム、検索方法およびプログラムを構築することを目的とする。
本発明は、上記従来技術の不都合に鑑みてなされたものであり、本発明では、検索対象の情報に対し、検索者が入力した検索語(列)から、形態素解析法およびNグラム法で得られた検索トークンを、並列結合した並列照会を生成する。生成された並列照会を使用して、検索対象の情報を検索する。情報が含む文書データは、形態素解析法およびNグラム法により生成されたトークンにより索引付けられている。並列照会による検索では、並列照会が同一の検索語に基づき、異なる文字列解析方法により生成された検索トークンを含むため、いずれかの種類の検索トークンが文書データのトークンと一致することにより、当該検索語についての検索がヒットと判定される。なお、本発明において並列照会とは、SQL文などとして構成される検索指令に同一の検索語から生成された、異なる文字列解析により生成された検索トークンを連結させ、ヒットした情報を抽出した照会集合として、各検索トークンのヒット結果の集合和を返す照会処理を意味する。
検索語が複数の検索語列として与えられる場合、検索語単位で並列照会が実行され、照会集合は、全照会集合をリストアップするように生成される。検索語または検索語列に対応する各並列照会の照会集合は、検索トークンごとに割当てられた、スコアを合計することによりランク付けされ、スコア合計が高い情報から検索結果とされる。
上述のように生成されたスコアは、検索対象の情報が、形態素解析法およびNグラム法で生成されたトークンを、検索対象の情報が含む程度を反映する。この結果、本発明により生成される検索結果は、検索対象とされた情報が含む文字列やテキスト部分が含む検索語(列)に退位する忠実度が向上する。さらに、辞書メンテナンスによるトークン化の漏れといった形態素解析法の欠点については、Nグラム法の長所により補強でき、また、Nグラム法の表現の揺れへの未対応といった欠点については、形態素解析の長所により補強することができる。
本発明では、情報のスコア計算は、Nグラム法および形態素解析法により抽出されたそれぞれのトークンが検索トークンにそれぞれ一致した情報について高スコアを与えるように実行される。この結果、形態素解析法およびNグラム法によらず、情報の文書データの検索語(列)に対する忠実度がさらに改善される。
さらに本発明では、検索結果は、検索結果に含まれる情報のサマリーを作成し、サマリーに対してNグラム・トークン分割の結果を利用して検索トークンの出現位置を決定し、検索語のハイライトを形態素解析により生成された単語により行う。Nグラム法により生成されたトークンは、情報のテキスト部分の正確な位置を与え、また形態素解析の結果をNグラム・トークンにより与えられたテキスト部分の位置にマッピングすることで、正確な位置決定を行うことともに、Nグラム法および形態素解析によるトークン列についての一致レベルについても対応付けてハイライトを行うことが可能となる。
なお、本発明によりトークン分割が行われた後の処理は言語に依存しないので、本発明は、日本語、中国語、韓国語、アラビア語、ヒンディー語、ヘブライ語などのいわゆるマルチバイト文字で表現される文字を使用する言語の他、英語、ドイツ語、フランス語、イタリア語、スペイン語など単語間のスペースなど、区切りを含みシングルバイト文字で表現される言語での情報の検索についても適用することが可能である。
以下、本発明について実施形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。図1は、本実施形態の検索システム100の実施形態を示す。検索システム100は、複数のクライアント・コンピュータ(以下、クライアントとして参照する。)102と、クライアント102からの検索要求を受領し、検索結果をクライアントに返すサーバ・コンピュータ(以下、サーバとして参照する。)104とを含んで構成されている。
クライアント102と、サーバ104とは、ネットワーク108を介して相互接続されている。また、クライアント102と、サーバ104との間は、ネットワーク108を介して、TCP/IPなどのトランザクション・プロトコルを使用し、RMI(Remote Method Invocation)、RPC(Remote Procedure Call)、EJB(Enterprise
Java(登録商標) Beans)、CORBA(Common Object Broker Architecture)などの分散コンピューティング環境またはHTTPプロトコルを使用して、クライアント102側にウェブ・ブラウザ、サーバ104側にCGI(Common
Gateway Interface)、サーブレット、データベース・アプリケーションなどのサーバ・プログラムを実装して構成することができる。
クライアント102は、パーソナル・コンピュータまたはワークステーションなど、これまで知られた、いかなるシングルコア・プロセッサまたはデュアルコア・プロセッサを含んでいてもよい。また、クライアント102は、WINDOWS(登録商標)、UNIX(登録商標)、LINUX(登録商標)、MAC OSなど、いかなるオペレーティング・システムを実行させてもよい。
サーバ104は、また、WINDOWS(登録商標)200X、UNIX(登録商標)、LINUX(登録商標)などのオペレーティング・システムにより制御され、クライアント102からの検索要求を処理し、クライアント102に処理結果を変えることができる限り、分散コンピューティングのプロキシ・サーバとして実装することもできるし、ウェブ・サーバとして実装することができる。
また、クライアントは、データベース106に遠隔的に接続して検索結果を取得するため、JDBC(Java(登録商標)Database
Component)およびその他のコンポーネント・クラスを実装し、MySQL、DB2、ORACLE(商標)、PostageSQL、SQLserver、ACESSなどのデータベースにアクセスすることが可能とされていてもよい。なお、この他、特に商用データベースを使用することなく、ウェブ・ブラウザ、CGI、JAVA(登録商標)、PERL、RUBYなどの言語を使用してサーバ・プログラムを作成し、同等の機能を提供することができることは、いうまでもない。
図1に示したサーバ104は、ハードディスク装置などの記憶装置上に構成されRAMなどのデータベース・アプリケーションを展開して実現され、データベース手段として機能する、データベース(DB)106を管理している。データベース106は、コンピュータがアクセス可能なフォーマットとされた情報を格納している。上述した情報としては、ドキュメント・データ、イメージ・データ、マルチメディア・データなどを挙げることができ、これらの情報は、文字列を、例えばデータ本体、メタデータ、タイトル、見出しなどとして含むことができる。以下、情報がみ、検索対象となる文字列について、文書データとして参照する。サーバ104は、情報をデータベース106に登録する場合、情報に含まれる文書データに対して形態素解析またはNグラム法を適用して、各方法に対応したトークンを生成し、トークンの位置情報(Posting List)と共に索引リストとしてデータ・マイニングを行った後、データベース106に当該情報に対応付けて登録する。
なお、データベース手段は、上述した特定のデータベース・アプリケーションにより実装されることは必要とはされず、特定の情報について複数の項目を対応付けて登録することができる限り、いかなる構成として実装することができ、また、リレーショナル・データベースの外、OODB(Object Oriented Database)として構成することができる。
図1には、検索システムの他の実施形態も示されている。他の実施形態では、サーバ104は、ハードウェアおよびソフトウェアが協働して検索エンジンの機能を専ら提供する検索エンジン手段の機能を提供し、破線枠120で示すように、プロキシ・サーバとして配置されたデータベース・サーバ110がデータベース112を管理し、情報などの取得、データ・マイニング、および情報の格納などを処理するものである。図1に示した他の実施形態では、サーバ104からの検索要求を受領して、データベース・サーバ110がデータベース112に対して照会を実行し、照会の実行結果を、サーバ104に返すことにより、クライアント102に対して検索結果を提示する。
図1に示した他の実施形態では、サーバ104は、データベース106を実装する必要が無く、クライアントからの検索要求を処理するだけで済むので、検索処理および検索結果の表示処理を高速に行うことができ、サーバ104をウェブ・サーバとして構成する場合に好適な実施形態ということができる。
なお、データベース・サーバ110を実装する場合、リモート・プロキシとして構成するのではなく、サーバ104のハードウェア資源の一部をデータベース・サーバのために割当てる構成とすることもできるし、アプライアンス・サーバやシンサーバなどを使用して、サーバ104と、データベース・サーバ110とを単一のラック内に設置した構成とすることもできる。
さらに、本発明の他の実施形態では、検索システム100を、大容量のハードディスク装置を実装するスタンドアローンのパーソナル・コンピュータまたはサーバ、メインフレームなどの情報検索用のモジュールとして実装することもできる。
図2は、本実施形態のサーバ104上に実現される検索システム100の機能ブロック200を示す。図2に示した各機能部は、サーバ104のメモリ上にプログラムを展開し、プログラムの実行により各ハードウェア資源を動作制御することによりサーバ104上に実現することができる。
より詳細にサーバ104の機能を説明する。サーバ104は、ネットワーク・アダプタ202を含んで構成されている。ネットワーク・アダプタ202は、ネットワーク・インタフェース・カード(NIC)などを含んだ通信処理部として構成されており、インターネット、LANまたはWANといったネットワーク108から、クライアント102が発行した検索要求を受領し、各機能手段へと受領した検索要求を送付する。また、ネットワーク・アダプタ202は、ネットワーク108を介してデータベース106に蓄積するための情報を受領して、情報に対してデータ・マイニングを行い、データベース106に登録する処理を可能とさせている。以下、サーバ104の処理を、各処理段階ごとに分けて説明する。
(1)サーバによる情報蓄積
サーバ104は、蓄積するべき情報を受領すると、データベース管理部204に通知し、取得した情報のデータベースへの登録およびデータ・マイニングを実行させて索引リストを生成する。データベース管理部204は、プロセッサの実行空間を提供するRAMなどにプログラムを展開することにより、データベース管理手段としてサーバ104上に実現される。データベース管理部204は、情報を受領すると、データベース106の情報格納部106aに情報を格納する。そして、データベース管理部204は、形態素トークン生成部216、Nグラム・トークン解析部218を呼出して、取得した情報に対し、形態素解析およびNグラム法を実行し、形態素トークンおよびNグラム・トークンを生成させる。用語「形態素トークン」は、文書データから形態素解析により生成されたトークンである。また、用語「Nグラム・トークン」は、文書データからNグラム法により生成されたトークンである。
なお、形態素トークン生成部216、Nグラム・トークン生成部218は、プロセッサの実行空間を提供するRAMなどにプログラムを展開することにより、形態素トークン生成手段およびNグラム・トークン生成手段としてサーバ104上に実現される。また、形態素トークン生成部216およびNグラム・トークン生成部218は、本実施形態では、統合的にハードウェアおよびソフトウェアが協働してトークン割当手段として機能するトークン割当部222として参照される。なお、特定の用途に応じて、トークン割当部222は、さらに他の文字列解析手法を使用した文字列解析トークン生成部を実装することができる。各解析によるトークンの生成処理中に、情報中の文書データにおけるトークンのシリアル番号(TOK_ID)および文書データ中での文字範囲(POS_ID)、位置情報(Posting List)として取得する。
その後、データベース管理部204は、生成した形態素トークン、Nグラム・トークン、トークンのシリアル番号、および文書データにおける絶対位置範囲を、当該文書データを含む情報の情報識別値であるINF_IDに対応付けて登録し、索引リストを生成する。さらに、この際、データベース管理部204は、索引リストには、検索語(列)に対するランク付けを可能とするために、形態素トークン、Nグラム・トークンについてそれぞれ割当てられたスコアを登録する。生成された索引リストは、データベース106の適切な記憶領域、図2に示した実施形態では索引リスト格納部106bに格納する。
(2)トークン生成
各トークン生成部216、218のトークン生成は、概略的に以下のように実行される。各トークン生成部216、218は、それぞれの分割手法にしたがって1つの文書データの文字列を分割して所定のトークンとして生成する。例えば、情報の文書データ部分が、「町田市は東京都にあります」というテキストで与えられているものと仮定する。上記のテキストに対し、形態素解析を適用する場合、形態素トークン生成部216は、辞書を参照しながら、テキストを、「町田、市、は、東京都、に、あり(ある)、ます」と分割する。括弧内は、表現の揺れを含め辞書に登録されている活用変化を対応付けたことを示す。一方、Nグラム(N=2)では、重複文字数を重複させて、「町田、田市、市は、は東、東京、京都、都に、にあ、あり、りま、ます」と分割する。なお、Nグラム法では、辞書は必要とされず、文字列の並び順にトークンが生成されて行く。また、Nグラム法では、N=2とする場合、1文字文だけ重複する用にしてNグラム・トークンを生成する。なお、他の実施形態では、Nを、他の正の整数とし、重複文字数をさらに他の正の整数とすることができる。
(3)索引リスト生成
索引リストは、生成された形態素トークンおよびNグラム・トークンを文書データが由来する情報に索引付けするようなフォーマットとして、索引生成部220が生成し、データベース106の索引リスト格納部106bに格納する。なお、索引生成部220は、プロセッサの実行空間を提供するRAMなどにプログラムを展開することにより、索引生成手段としてサーバ104上に実現される。例示的な実装例では、索引リストは、そのフィールドとして、形態素トークンを登録するmtext、Nグラム・トークンを登録するntextとを定義し、それぞれのフィールドにこれらのトークンを対応付けて保持しておき、元の情報を索引付け可能に登録することができる。
なお、索引リスト内でトークンを保持する場所が明確に分離できない場合は、たとえばトークンに型を付加することや、トークンの文字列自体を加工して区別して登録することもできる。なお、mtextおよびntextのフィールド自体またはフィールド名、または型、文字などは、トークンを生成した際の文字列解析の種類を識別するための種類識別値として機能する。
さらに、索引リストには、情報識別値、文書データから生成された各トークンのシリアル番号および元の文書データ内でのトークンの位置範囲、およびトークンについて割当てられ、文字列解析法に固有に付されたスコアを登録する。
(4)スコア割当て
また、形態素トークン生成およびNグラム・トークン生成により生成されるトークン数は、一般的にみて、Nグラム法の方が多い。上述したテキスト「町田市は東京都にあります」については、形態素トークンは、表現の揺れを含めて8個であり、Nグラム・トークンは、11個となる。この条件を考慮して、形態素トークンについて割当てるスコアおよびNグラム・トークンについて割当てるスコアに対して重み付けを行うことができる。例えば、形態素トークンについて、Nグラム・トークンのスコアを1とした場合、11/8に設定することができる。
上述した重み付けは、検索のランク付けに応じて適宜設定することができ、例えば、形態素トークンとNグラム・トークンとに対して、同一のスコアを割当てることもできるし、形態素トークンおよびNグラム・トークンそれぞれの存在数を情報から実際に取得した後、形態素トークンの全一致とNグラム・トークンの全一致で、同一の合計スコアを与えるように設定してもよい。さらに他の実施形態では、トークンの意味表現の有意性を考慮して、形態素トークンの一致に対して有意性を付与するために、形態素トークンの全一致の合計を、Nグラム・トークンの全一致の合計のs倍(sは、1以上の任意の実数)となるように設定することができる。
さらに他の実施形態では、形態素トークンについては、スコア=10、Nグラム・トークンについてはスコア=1など固定的に割当てることもできる。以上のデータを含む索引リストは、索引生成部220により生成された後、データベース106の適切な記憶領域に確保された索引リスト格納部106bに、情報が含む文書データを参照可能に登録される。
(5)検索処理
検索処理は、検索処理部206が実行する。検索処理部206、照会文生成部208、照会文発行部210、照会処理部212は、それぞれプロセッサの実行空間を提供するRAMなどにプログラムを展開することにより、検索手段、照会処理手段、照会文生成手段、および照会処理手段としてサーバ104上に実現される。また、データベース106がデータベース・サーバなどにより管理される実施形態の場合には、図2に示した検索処理部206は、データベースに対して検索を依頼する検索手段として機能する。紹介文生成部208は、クライアント102から受領した検索要求を解析して、検索語(列)から検索語(列)を取得し、例えば、SQL(Structured Query Language)などの照会文への引数として設定して、照会文を生成する。紹介文生成部208が生成した照会文は、照会文発行部210に送付され、照会文発行部210からデータベース管理部204へと、検索指令として発行または送付される。
データベース管理部204は、照会文を受領すると、データベース106に対する照会を実行し、当該照会に対応する照会集合を取得する。取得した照会集合は、照会処理部212に送られる。照会処理部212は、スコア付けされた情報の会々を使用して、例えば最大値から1000個を検索結果として抽出する処理を実行する。このため、照会処理部212は、合計スコアについてソーティングを実行することもできる。その後、照会処理部212は、検索結果作成部214に対して検索結果とするべき結果集合を構成するためのデータを検索結果作成部に送付する。
(6)検索結果作成処理
検索結果作成部214は、プロセッサの実行空間を提供するRAMなどにプログラムを展開することにより、それぞれ検索結果作成手段としてサーバ104上に実現される。検索結果作成部214は、結果集合を構成するためのデータを受領すると、索引リストを参照してPosting Listを取得し、情報の文書データからサマリーを作成し、トークンおよびPosting Listを使用してハイライト表示を追加する。検索結果作成部214は、処理したサマリーに例えば元情報のURIやパス名を指定してリンク可能な態様とし、例えばHTML、XMLなどの構造化文書、またはそれ以外のアプリケーション固有のフォーマットのファイルとして生成する。生成された検索結果は、ネットワーク・アダプタ202を介してクライアント102に送付され、クライアント102が検索結果を参照することを可能とさせる。
なお、他の実施形態では、サーバ104として図2の破線で示すように、検索エンジン230を構成させることもできる。この実施形態では、検索エンジン230は、例えばウェブ・サーバにおける検索手段として機能し、検索処理部206、データベース管理部204、形態素トークン生成部216、Nグラム・トークン生成部218、索引生成部220を含んで構成することができる。なお、検索エンジン230は、データベース106を管理するデータベース・サーバとは別に構成することができ、データベース・サーバを別のプロキシ・サーバとして構成する場合、サーバ104のデータベース管理部204、形態素トークン生成部216、Nグラム・トークン生成部218、索引生成部220は、データベース・サーバが実装してもよい。
この実施形態では、サーバ104は、検索エンジン検索処理部206は、JDBCなどのコンポーネント・クラスを実装し、取得した検索語、検索語トークンなどをデータベース・サーバに送付し、その結果を取得してクライアント102に返す処理を実行する処理を実行する。説明している他の実施形態の場合、リモート・プロキシとして構成されたデータベース・サーバ110への問合わせを省略するために、照会処理部212が照会集合として取得するデータに、さらにPosting Listとして機能する位置情報についてのデータ・セットを含ませることができる。以下、本実施形態では、説明の便宜上、サーバ104は、データベース106についても管理するものとして説明する。
図3は、本実施形態におけるデータベース管理部204、形態素トークン生成部216、Nグラム・トークン生成部218および索引生成部220の処理を、各処理により生成されるデータ構造と共に示した概略図である。データベース管理部204は、新規な情報を取得すると、情報識別値などを付してデータベース106に登録する。図3に示した実施形態では、情報は、文書データ「取扱い時間」300であり、情報識別値(INF_ID)=1であるものと仮定して説明を行う。文書データ「取扱い時間」300は、形態素トークン生成部216およびNグラム・トークン生成部218に送られ、それぞれの分割方法にしたがって、トークンが生成される。
形態素トークン生成部216では、辞書を参照して、文書データ「取扱い時間」300を「取扱い」、「取り扱い」、「時間」のトークン列302に分割する。さらに、形態素トークン生成部216は、「取扱い」について、TOK_ID=1、文書データ中の位置POS_ID=1−3としてPosting Listを生成する。同様に、「取り扱い」についてTOK_ID=1、POS_ID=1−3として取得し、「時間」について、TOK_IDを2、POS_ID=4−5として取得する。そして、これらのトークンは、形態素解析から生成されたトークンなので、索引生成部220は、SCORE=mを対応付けて登録する。これらのデータは、図示する実施形態では、TOK_IDが若い順にトークンフィールド310のmtextフィールド、INF_IDフィールド312、TOK_IDフィールド314、POS_IDフィールド316およびSCOREフィールド318に登録される。
一方、Nグラム・トーン生成部218は、文字列「取扱い時間」300を、「取扱」、「扱い」、「い時」、「時間」のトークン列304に分解する。その後、Nグラム・トークン生成部218は、TOK_IDおよびPOS_IDといったPosting Listを生成する。索引生成部220は、上述の値を取得し、さらにSCOREについては、Nグラム・トークン解析から生成されたのでSCORE=nを取得し、TOK_IDが若い順に、トークンフィールド310のntextフィールド、OC_IDフィールド312、TOK_IDフィールド314、POS_IDフィールド316およびSCOREフィールド318に登録することにより、INF_1で参照される情報についての索引データ308を構成する。
これらのデータが、INF_1について終了すると、次の情報INF_2、INF_3、INF_4、・・・、INF_nが取得され、それぞれの情報が含む検索対象となる文書データについて、対応する索引データが生成される。索引リスト306は、図3に示した実施形態では、情報の識別値であるINF_IDに対応する索引データが降順に登録されて行き、データベース106の索引リスト格納部106bに登録される。なお、索引リスト格納部106bは、情報格納部106aと別に与えられた記憶領域とすることができ、例えば、表データの情報登録部106aとは異なるフィールドを割当てて構成させることもできる。
なお、好ましい実施形態では、照会の発行先とされる索引リストに、形態素トークンおよびNグラム・トークンをともに登録するものとして説明した。しかしながら、特定の用途において、上述した好ましい形態に比較してハードウェア資源の消費量および処理効率の点で許容される場合、形態素トークンを含む索引リストおよびNグラム・トークンを含む索引リストを別リストとして構成させ、照会するべき索引リストの識別値を変えて各別に並列照会させ、それらの結果を集合和することもできる。
図4は、索引リスト306の生成処理を、フローチャートとして示した実施形態である。処理は、ステップS400から開始し、ステップS401で最初の情報を選択する。ステップS402で、形態素トークン生成部216を呼出して、辞書データを参照して形態素トークンに分割する。ステップS403では、Nグラム・トークン生成部218を呼出してNグラム・トークンに分割する。なお、ステップS402とステップS403は、図4に示すように、順次処理ではなく、並列処理で実行させることもできる。
ステップS404では、形態素トークン、Nグラム・トークン、および各トークンの位置データであるTOK_ID、POS_IDを、Posting Listとして取得し、ステップS405で索引データの形式にコンバートして、索引リスト306にINF_1に対応するように登録する。ステップS406では、全情報について索引付けが終了したか否かを判断する。ステップS406の判断で、全文書の処理が終了したと判断された場合(yes)、ステップS407で処理を終了させる。また、ステップS406で、全情報の処理が終了していない都判断された場合(no)、処理をステップS401に分岐させ、全文書の索引付けが終了するまで処理を反復させる。
図5は、図4のステップS404の処理の詳細を示すフローチャートを示す。処理はステップS500から開始し、ステップS501で形態素トークン生成手段216およびNグラム・トークン生成手段218を使用して、各トークンを抽出する。ステップS502では、抽出したトークンに、トークンのシリアル番号となるTOK_IDおよび対象の情報中のトークンが示す位置データであるPOS_IDを追加する。ステップS503で、トークン/TOK_ID/POS_ID/情報識別値であるINF_IDのデータ・セットを生成して登録該当するレコードに登録し、ステップS504で形態素トークン列およびNグラム・トークン列のデータ・セットを、mtextおよびntextなどで項目付けられた別々のレコードに登録して索引リストにおいて結合する。
ステップS505では、特定の情報についての各トークン列が生成された段階で、これを、当該特定の情報識別値に対する索引データとして登録し、処理をステップS506で処理を終了する。
図6は、検索システムが実行する検索方法の実施形態のフローチャートを示す。図6の処理は、サーバ104のサービスまたはDaemonプロセスとして構成され、サーバ104が起動している間、要求に対する結果を送付した後、処理をステップS600から開始させ、検索要求を待機させることが好ましい。図6の検索方法は、ステップS600から開始し、ステップS601で検索要求を受領する。検索要求は、サーバ104がウェブ・サーバとして実装されている場合、HTTPプロトコルで送付され、他の分散コンピューティング基盤上で構築されている場合、TCP/IPなどのトランザクション・プロトコルを使用したパケットとして送付される。
ステップS602で、サーバ104は、検索要求を解析し、検索語(列)を取得する。検索語は、検索者がクライアント102から入力した文字列のことを意味し、検索語列とは、区切文字(例えばスペース文字)などで区切られた非空白文字からなる検索語の列を意味する。ステップS603では、索引リストから情報の索引データに対して検索語(列)を使用した照会を発行する。照会は、照会が含む検索語をmtextまたはntextに登録されているかを検索することにより行われる。
ステップS604では、すべての検索語についてmtext、ntextの照会を終了したか否かを判断する。ステップS604で、すべての検索語についてmtext、ntextの照会が終了した場合(yes)には、ステップS605で、情報を、当該検索語に関連してスコア付けする。また、すべての検索語についてmtext、ntextの照会が終了しない場合(no)、すべての検索語についてmtext、ntextの照会が終了するまで処理を反復させる。このスコア付けは、mtextのスコアと、ntextのスコアとを、同一の情報について別々にではなく同時に総和することにより実行される。なお、この総和(SUM)を与える式は、数学的に種々考えられるものの、最も直接的には、下記式(1)により与えることができる。
Figure 0005224851
上記式(1)中、mは、形態素トークンに割当てたスコアであり、nは、Nグラム・トークンに割当てたスコアである。また、hit_mtextは、検索語にヒットした形態素トークンの数であり、hit_ntextは、検索語にヒットしたNグラム・トークンの数である。なお、スコアm、スコアnについては、上述した通り、形態素トークンのヒットを重視するように、別途、適切な重付けw、wを与えておくことができる。なお、重み付けwは、形態素トークンについての重みであり、wは、Nグラム・トークンについての重みであり、形態素トークンおよびNグラム・トークン両方についてヒットした場合、w=wmn(wmn>w)として、さらに形態素トークンについてのヒットを加重評価させることもできる。
その後、ステップS606では、結果として、情報の参照を可能とするように、情報識別値INF_IDと、スコアとを対応付けて登録し、ステップS607では、すべての情報についてスコア付けを終了したか否かを判断する。ステップS607でスコア付けが終了していない場合(no)、ステップS608で次の情報を選択して処理をステップS603に分岐させ、処理を繰り返す。また、ステップS607ですべての情報についてスコア付けが終了した場合(yes)、処理をステップS609で終了させる。なお、結果集合は、例えばRAW_TABLEとしてテンポラリ・テーブル(グローバル変数)として定義することができ、当該RAW_TABLEを使用して以後に検索結果を作成する場合に利用される。
図7は、図6の処理を、特定の実施形態として、DB2(DB2は、インターナショナル・ビジネス・マシーンズ・コーポレーションの登録商標である。)などのデータベース・アプリケーションを使用し、SQL文を使用して実装する場合の実施形態を示す。サーバ104は、検索要求700を受領する。検索要求は、検索語=都庁、検索語=取り扱い時間の2検索語がANDにより結合された検索語列として送付される。サーバ104の照会文生成部208は、形態素トークン生成部216を呼出して辞書を参照して検索要求解析702において要求を解析して、検索語を、形態素解析について検索語トークンを、「都庁」、「取り扱い」、「時間」として抽出し、照会文706のSQL文の値に当該検索語を設定する。
同様に、照会文生成部208は、要求解析704で、Nグラム・トークン生成部218を呼出して検索語を、「都庁」、「取り」、「り扱」、「扱い」、「い時」、「時間」の検索語トークンに分解し、照会文706のSQLに当該検索語を設定する。照会文発行部210は、データベース管理部204に対して照会文を発行し、照会を実行させる。
ここで、検索語の関係は、図7に示す特定の実施形態では、検索要求に含まれた検索語の種類、すなわち、「都庁」と、「取り扱い時間」についての照会集合をUNION ALLで結合することにより実行される。また、「都庁」についての照会は、WHERE mtext=都庁 OR ntext=都庁としてORで形態素トークンとNグラム・トークンとをORで連結した単一照会文とし、「取り扱い時間」についての照会は、「取り扱い時間」から派生するトークン全種を、WHERE内でORで連結した単一SQL文とし、これらの照会集合を、重複を含めて連結する。
さらに多くの検索語列がある場合、検索語単位で、検索語トークンを生成し、照会条件を{WHERE 形態素トークン OR Nグラム・トークン}として照会文を生成させ照会を実行して照会集合を生成させる。検索語単位の照会集合は、SQL文の実施形態では、UNION ALL句を使用して結合されて、結果集合を生成することで、情報が含む文書データの形態素トークンおよびNグラム・トークン両方の存在を検索段階で考慮した照会集合およびスコア付けが可能となる。
生成された照会集合は、RAW_TABLEの名称で、例えばビュー、新規テーブルとしてデータベース管理部204により生成される。その後、データベース管理部204は、照会文708を使用して結果集合であるRAW_TABLEからINF_IDおよびSCOREの合計を抽出し、テンポラリ・テーブル(グローバル)としてTEMP_TABLEを生成し、照会文710を使用してのTEMP_TABLEにINF_IDおよびSCORE_SUMのフィールドを生成させ、各フィールドにINF_IDの値およびSUMの値を登録する。その後、ブロック712で、照会するべき情報を指定するINF_IDの値を、次情報を指定する値に設定し、次情報に対して照会文706を適用する。
上述の照会処理が全情報について完了した段階で検索処理が終了する。この段階で、TEMP_TABLEには、検索語(列)に関連付けられた情報のINF_IDおよび検索語(列)による形態素スコアおよびNグラムスコアのスコアの合計が登録された中間結果集合が生成される。なお、上述した照会処理は、JAVA(登録商標)、PERL、RUBYなど適切なプログラミング言語を使用してマクロ・オブジェクトとして構成させ、JDBCなどの適切なコンポーネント・クラスを使用してサーバに対して実行させることができる。また、特定のデータベース・アプリケーションを使用せずに、ウェブ・ブラウザ、JAVA(登録商標)SCRIPT、CGI、JAVA(登録商標)などのサーバ・プログラムなどを使用して実装することができる。いずれの実装形態を使用するかについては、データベース・アプリケーションの利用性(データベース・アプリケーションが構築済み、ライセンス供与済み)などに応じて適宜選択することができる。
なお、本実施形態で、データベース106を管理するデータベース・サーバをプロキシ・サーバとして用いる場合、RAW_TABLE内に、形態素トークンおよびNグラム・トークンに対応付けられたTOK_ID、POS_IDなどのPosting Listを構成するデータを照会集合として含ませ、より詳細に後述するTEMP_TABLEや、RESULT_TABLEのエントリ・フィールドに記入したデータ構造とすることができる。この実施形態では、サーバ104が、都度リモート・プロキシが管理するべき索引リストをネットワーク108を介して参照する必要が排除でき、より高い処理効率で検索結果の表示処理を実行することができる。
さらに他の実施形態では、照会文706で示されるように、UNION ALLで結果を結合するのではなく、データベース106に登録された情報量が少ない場合など、ハードウェア資源が許容する限り、並列照会によりRAW_TABLEを作成し、RAW_TABLEに対してさらに他の検索トークンによる並列照会を行うという、シーケンシャルな検索処理を適用し、照会集合を生成することも可能である。
図8は、図6および図7で説明した処理にしたがって生成された中間結果集合から、クライアント102に対して表示させるための結果集合の生成処理を示す。中間結果集合800は、TEMP_TABLEとして生成され、情報を指定するための情報識別値を登録するフィールド802と、当該情報識別値で指定される情報の検索語(列)に関連付けられたスコア合計値を登録するフィールド804とを含んでおり、それぞれのフィールド802、804に情報識別値と当該情報のスコア合計とがレコードとして登録されている。
クライアント102に対して検索結果を表示する場合には、特定の実施形態では、中間結果集合800から、スコア合計により中間結果集合800をソーティングして結果集合810を生成し、結果集合810のエントリ順で、クライアント102に対して検索結果として表示する。この処理は、照会処理部212により実行される。結果集合810の形式で結果を処理した場合、照会処理部212は、結果集合810をテーブル形式で、検索結果作成部214に送付する。また、他の実施形態では、照会処理部212は、明示的に結果集合810を作成することなく、中間結果集合800から、スコア合計順に検索結果作成部214にCSV、カンマ区切り、スペース区切りなどのフォーマットでレコード・データを送付する処理を実行することもできる。
いずれの実施形態でも、検索結果作成部214が受領したデータを使用して、検索結果作成部214は、情報の格納されているURI、URL、またはパス名などを取得し、その後、情報の文書データを参照してサマリーを作成して、情報の参照およびサマリーを別々に表示可能なフォーマットとして検索結果を作成する。さらに、検索結果作成部214は、サマリーに対して検索語をハイライト表示するハイライト処理を行い、クライアント102への表示可能なフォーマットとして、検索結果を作成する。
図9は、本検索システムが実行するトークン並列検索処理によるヒット率向上の実施形態を、従来例と比較して示す。図9(a)が、Federation型またはNグラム・ベースの単語境界型など、形態素トークンおよびNグラム・トークンを分離して検索させる場合の比較例である。また、図9(b)が、本実施形態により、形態素トークンおよびNグラム・トークンを連結して検索する場合の実施形態である。
図9(a)に示すように、比較例では、形態素トークンが、検索語トークン「都庁」を含んでいない場合には、当該検索語トークンについてはミスヒットと判定され、当該情報が検索結果から除外されるか、またはミスヒットを反映して表示ランクが降下することになる。一方、本実施形態では、検索トークンとして、形態素解析およびNグラム法により生成された両方の検索語トークンを使用して検索を実行する。図9(b)に示した実施形態では、形態素解析による検索語トークン「都庁」と、Nグラム法による「都庁」とが並列的に使用され、情報の検索が実行される。情報は、形態素トークンおよびNグラム・トークンで索引付けされており、また検索は、形態素解析およびNグラム法により生成された検索語トークンをOR連結して実行される。この結果、検索トークンは、善美ヒットし、この結果、形態素解析と、Nグラム法の各トークンを独立して検索させるよりも、ヒット率または表示ランクを昇位させることが可能となる。
なお、図9に示した実施形態では、検索語トークン「取り扱い」、「時間」について、形態素トークンにより索引付けされているものとして説明した。しかしながら、辞書メンテナンス周期や用語の斬新性などによっては、検索結果が完全にミスヒットとなり、検索結果から排除される情報もある。この場合でも、本実施形態の検索システムでは、辞書メンテナンスや用語の斬新性などに依存することなく、その時点でサーバ104に登録されている情報に基づいて、形態素解析およびNグラム法の特徴を効果的に統合した高精度の検索が可能となる。
さらに、本実施形態では、形態素トークンおよびNグラム・トークンでそれぞれ索引付けされた索引リストを使用することなく、索引リストのデータ量を削減でき、さらに、ハイライト処理を可能とすることが可能となる。
図10は、検索結果作成部214が実行する検索結果作成処理の実施形態のフローチャートを示す。処理は、ステップS1000から開始し、ステップS1001で情報についてNグラム・トークン列からサマリーを生成する。サマリーは、情報が含む文字列の中から最も早くに特定の検索語を含む文字列を所定長さ分だけ抽出し、それぞれをテキストエディタなどで結合して生成することができる。また、他の実施形態では、所定長さの文字列内にヒットした検索語の出現頻度が高い文字列を任意的に抽出して適宜結合することによっても生成することができる。サマリーをNグラム・トークン列から生成するのは、ハイライト表示の処理で、位置情報を正確に取得し、かつ形態素およびNグラムごとのヒットおよび両方のヒットのマッピングを容易にするためである。ステップS1002では、ヒットした形態素トークンのトークン識別値(TOK_ID)のうち、サマリーに含まれる形態素トークンの、情報に含まれる文書データの絶対位置を示すPOS_IDを取得する。
ステップS1003では、形態素トークンのPOS_IDをサマリーに含まれるNグラム・トークンのトークン識別値(TOK_ID)にマッピングして、両方のトークンの位置を照合する。
ステップS1004では、形態素トークンの範囲でNグラム・トークンもヒットしているか否かをマッピング結果を使用して判断する。なお、一部が重合する場合でも、両トークンの重合として判断し、この場合、意味的により認識しやすい可能性がある形態素トークンの範囲をヒットとして設定する。ステップS1004の判断で、両方ヒットとして判断された場合、ステップS1005で両方のヒットを示すハイライト表示である第1ハイライト表示を、形態素トークンに対応する検索語の範囲の文字色、背景色、フォントなどの文字表示フォーマットを変更するなどの設定によりサマリーの属性情報として登録する。
また、形態素トークンのみがヒットした場合、ステップS1007で形態素トークンのみがヒットしたことに対応する文字色などの文字表示フォーマットに設定して、対応する検索語に関して第2ハイライト表示としたサマリーの属性情報を登録する。さらに、Nグラム・トークンのみがヒットした場合、ステップS1008でNグラム・トークンのみがヒットしたことを示すように対応する検索語を第3ハイライト表示を与えるための属性情報を、サマリーに追加設定する。なお、他の実施形態では、検索者が入力した検索語をハイライト表示させるのではなく、検索語が含む形態素トークンを、表現の揺れに対応した形式で表示させることもできる。
ステップS1006では、ハイライト処理したサマリーを検索結果である情報のURIまたはパス名と共に表示する構造化文書など、適切なフォーマットの結果表示を作成し、ネットワーク・アダプタ202を介してクライアント102に対して送信し、クライアント102のディスプレイ画面上に表示させ、ステップS1009で処理を終了する。
図11は、本実施形態で、情報が含む文書データのサマリーに対してハイライト表示を行う実施形態を示す。図11に示すように、クライアント102のディスプレイ画面上には、ウィンドウ1100が表示され、ウィンドウ1100の内側に検索語入力フィールド1102および検索実行ボタン1104が表示されている。図11に示した実施形態では、ユーザは、まず、サーバ104にアクセスし、検索エンジンの入力画面を取得する。なお、この場合、検索エンジンへのアクセスを制限する必要がある場合、パスワードおよびユーザIDなどのセットでアクセス制限してもよい。
ユーザは、図11に示された検索画面の検索語入力フィールド1102に検索語を入力する。図示した実施形態では、検索語は、検索語間にスペースを挿入することにより、検索語列として識別される。この他、情報を検索する領域、例えば、メタデータ、タイトル、本文など検索範囲毎に入力フィールドを設け、それぞれANDまたはORの検索語入力を可能とすることができる。図11に示した実施形態では、検索語列は、「コンピューター」、「デイトレ」、「東京市場」である。
その後、ユーザが検索実行ボタン1104をクリックして検索語(列)を、検索要求と共にサーバ104に送信する。検索要求を受領したサーバ104は、検索処理部206を起動し、検索語(列)を解析し、データベース管理部204を呼出して検索を実行させ、検索結果作成部214により検索結果を生成させ、検索結果は、結果を表示させるためのファイルを生成するために使用される。生成された検索結果は、サーバ104からクライアント102へと送信され、クライアント102のディスプレイ画面上に図11に示されたGUI(Graphical User Interface)として表示される。図11では、検索対象とされた情報のURIまたはパス名がリンク可能に表示され、その下側のテキスト表示フィールドに、情報が含む文書データのサマリーが表示されている。なお、検索結果を表示させるためのファイルは、HTML、XMLなどこれまで知られた、いかなる構造化文書とすることができる。また、他の実施形態で、ウェブ・サービスではなく分散コンピューティングを使用してシステムを構築する場合、検索された情報にリンク可能であり、かつハイライトを付することができるいかなるファイルとして検索結果を生成させることができる。
表示されたサマリーは、検索時のヒット状態に対応してトークン間の一致レベルに対応して、第1ハイライト表示から第3ハイライト表示として、文書データが含むトークンのうち、検索トークンがヒットした領域の形態素トークンを、表現の揺れがある場合には表現の揺れに対応するトークンを使用して示されている。例えば、Nグラム・トークンのみのヒットは、ヒットしたNグラム・トークンの検索トークンの領域に対応する形態素トークンが第3ハイライト表示1106で示されている。また、図11に示した実施形態では、形態素トークンのみのヒットは、形態素トークンに相当する表現の揺れを含めた検索トークンの領域が第2ハイライト表示1108で示されている。なお、図11の実施形態では、「コンピュータ」が辞書に登録されており、検索語「コンピューター」の末尾の長音が一致しておらず、Nグラム・トークンのヒットとは判定されていない。一方、検索語「コンピューター」は、揺れの範囲として、形態素トークンが一致するものとしてヒットの値が返されることになる。
さらに、形態素トークンおよびNグラム・トークンの両方がヒットした場合には、対応する形態素トークンの領域が、第1ハイライト表示1110として表示されている。図11に示した実施形態の場合、形態素トークンとして「東京市場」が登録され、東京市場に一致するNクラム・トークンも全部ヒットしているので、形態素トークンに対して、第1ハイライト表示が重畳されて表示されている。第1ハイライト表示、第2ハイライト表示、第3ハイライト表示は、ユーザに対して検索結果の信頼度を示すため、第1ハイライト表示を最も心理的に印象づける色調、文字サイズ、背景色などのフォーマットとし、順次第2ハイライト表示、第3ハイライト表示へと心理的効果が低い表示フォーマットとすることができる。
本実施形態では、検索結果に、形態素トークンおよびNグラム・トークンを並列的に含めて、両方についてコンフィデンシャルなランク付けを行うことができるので、検索語に対する忠実度を向上させると共に、検索漏れを最小限とし、辞書メンテナンスの状態や斬新な用語、特殊な用語への対応も可能となる。また、図11に示した実施形態で、検索結果のランク付けと共にハイライト表示を行うことで、ユーザが、検索結果に満足せず、画面をプルダウンする操作を低減させることができ、検索エンジンに対してユーザの満足度をささらに向上させることが可能となる。
以上説明したように、本発明によれば、文字列の解析方法を等価的に含めて情報検索を可能とするので、情報が含む文字列により即した情報検索を可能とする検索システム、検索方法およびプログラムを提供することができる。また、本発明では、特定の実施形態として文字列解析方法について形態素解析およびNグラム法を使用して説明した。しかしながら、特定の言語により適切な文字列解析方法が存在する場合、形態素解析、Nグラム法の他、特定の言語に最適な文字列解析方法での索引付けおよび検索処理も可能であることは、当業者であれば、容易に想到することができるものである。このような、言語としては、例えば、中国語、日本語、韓国語など、いわゆるCJK(Chinese, Japanese, Korean)として参照される、アルファベット以外の文字を使用する言語、アラビア語などなどを挙げることができるが、本発明は、上述した以外の言語についても適用可能である。
なお、本発明につき、発明の理解を容易にするために各機能手段および各機能手段の処理を記述したが、本発明は、上述した特定の機能手段が特定の処理を実行する外、処理効率や実装上のプログラミングなどの効率を考慮して、いかなる機能手段に、上述した処理を実行するための機能を割当てることができる。
本発明の上記機能は、C++、Java(登録商標)、Java(登録商標)Beans、Java(登録商標)Applet、Java(登録商標)Script、Perl、Rubyなどのオブジェクト指向プログラミング言語、SQLなどの検索専用言語などで記述された装置実行可能なプログラムにより実現でき、装置可読な記録媒体に格納して頒布または伝送して頒布することができる。
これまで本発明を、特定の実施形態をもって説明してきたが、本発明は、実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
本実施形態の検索システムの機能ブロック図。 本実施形態のサーバ104上に実現される検索システム100の機能ブロック図。 本実施形態におけるデータベース管理部204、形態素トークン生成部216、Nグラム・トークン生成部218および索引生成部220の処理を、各処理により生成されるデータ構造と共に示した概略図。 索引リスト306の生成処理を、フローチャートとして示した実施形態を示した図。 図4のステップS404の処理の詳細を示すフローチャート。 検索システムが実行する検索方法のフローチャート。 図6の処理を、データベース・アプリケーションを使用し、SQL文を使用して実装する場合の実施形態を示した図。 図6および図7で説明した処理にしたがって生成された中間結果集合から、クライアントに対して表示させるための結果集合の生成処理を示した図。 本検索システムが実行するトークン並列検索処理によるヒット率向上の実施形態を、従来例に比較して示した図。 検索結果作成部214が実行する検索結果作成処理の実施形態のフローチャート。 本実施形態で、情報が含む文書データのサマリーに対してハイライト表示を行う実施形態を示した図。 従来の形態素解析法およびNグラム法を使用する検索情報の照会処理を示した図。
符号の説明
100…検索システム、102…クライアント・コンピュータ(クライアント)、104…サーバ、106…データベース、108…ネットワーク、110…データベース・サーバ、112…データベース、200…機能ブロック(サーバ)、202…ネットワーク・アダプタ、204…データベース管理部、206…検索処理部、208…照会文生成部、210…照会文発行部、212…照会処理部、214…検索結果作成部、216…形態素トークン生成部、218…Nグラム・トークン生成部、220…索引生成部、230…検索エンジン、306…索引リスト、308…索引データ

Claims (15)

  1. コンピュータがアクセスできる形式で格納された情報を検索するための検索エンジンであって、前記検索エンジンは、
    前記情報が含む文字列を抽出し、異なる文字列解析により得られる複数種類のトークンを割当てるトークン割当部と、
    前記トークンと、前記文字列解析の種類を識別するための種類識別値と、前記情報を識別するための情報識別値とを対応付けて登録すると共に、前記種類識別値に対応して割当てられたスコアを登録する索引リストを生成する索引生成部と、
    前記情報を照会するための検索語を受領し、前記検索語から生成された前記複数種類の検索トークンを並列連結して前記情報を並列照会する検索指令を発行し、前記検索指令により前記索引リストを検索させ、前記複数種類の検索トークンについての並列照会で得られたスコアを生成する検索処理部と、
    前記並列照会により前記検索語に関連付けて検索された前記情報を検索結果として表示させるためのファイルを作成する検索結果作成部と
    を含む、検索エンジン。
  2. さらに前記検索処理部は、前記複数種類の検索トークンについて割当てられたスコアの合計値を生成し、前記スコアの合計値の高い順に前記情報を前記ファイルに登録する請求項1に記載の検索エンジン。
  3. 前記検索結果作成部は、前記情報が含む前記文字列からサマリーを作成し、前記複数種類の検索トークンによりそれぞれ照会された前記トークンと、前記複数種類の検索トークンにより重複して照会された他トークンとを識別表示するため、異なる属性情報を前記サマリーに追加して、前記複数種類の検索トークンの一致レベルを表示する前記ファイルを作成する、請求項2に記載の検索エンジン。
  4. 前記検索処理部は、複数の検索語を含む検索語列を受領して複数の前記検索語それぞれから複数種類の検索トークンを生成し、前記検索語列に対応する複数の前記並列照会を含む検索指令を生成し、抽出された情報が含む前記検索トークンに割当てられたスコアのスコア合計を取得して、検索語列に対する前記ファイルを生成する、請求項3に記載の検索エンジン。
  5. 前記文字列は、シングルバイト文字を含む文字列、または中国語、日本語、韓国語、アラビア語を含む、文字列中にマルチバイト文字を含む文字列である、請求項4に記載の検索エンジン。
  6. 検索の対象とされる情報を格納するデータベースと、
    検索語を含む検索要求を受領して、前記データベースに対する検索要求を送付し、かつ検索結果を送出する通信処理部と、
    前記通信処理部を介して前記検索要求を取得し、前記情報を検索する請求項1〜請求項4のいずれか1項に記載の検索エンジンを含む検索エンジンと
    を含む検索システム。
  7. 前記データベースは、前記通信処理部を介して接続されたリモート・サーバにより管理される、請求項6に記載の検索システム。
  8. 前記文字列は、シングルバイト文字を含む文字列、または中国語、日本語、韓国語、アラビア語を含む、文字列中にマルチバイト文字を含む文字列である、請求項6に記載の検索システム。
  9. コンピュータがアクセスできる形式で格納された情報を検索するための、コンピュータが実行する検索方法であって、前記検索方法は、コンピュータが、
    前記情報が含む文字列を抽出するステップと、
    異なる文字列解析により得られる複数種類のトークンを前記文字列に割当てるステップと、
    前記情報を照会するための検索語を受領し、前記検索語から生成された前記複数種類の検索トークンを並列結合して前記情報を並列照会する検索指令を生成するステップと、
    生成した前記検索指令を、前記トークンと、前記文字列解析の種類を識別するための種類識別値と、前記種類識別値に対応して割当てられたスコアと、前記情報を識別するための情報識別値とを対応付けて登録する索引リストに対して発行するステップと、
    前記検索指令に含まれる前記検索トークンを使用して、前記索引リストを並列照会により検索するステップと、
    前記並列照会によって検索された前記情報について前記複数の種類識別値に関連付けて割当てられたスコアの合計値を生成し、前記スコアの合計値の高い順に前記情報を登録するステップと、
    登録した前記情報を検索結果として表示させるファイルを作成するステップと、
    を実行する、検索方法。
  10. 前記検索結果を生成するステップは、前記情報が含む前記文字列からサマリーを作成するステップと、
    前記複数種類の検索トークンによりそれぞれ照会された前記トークンと、前記複数種類の検索トークンにより重複して照会された他トークンとを識別表示するため、異なる属性情報をサマリーに追加して、前記複数種類の検索トークンの一致レベルを表示するステップと
    を含む請求項9に記載の検索方法。
  11. 前記検索指令を生成するステップは、複数の検索語を含む検索語列を受領して複数の前記検索語それぞれから複数種類の検索トークンを生成し、前記検索語列に対応する複数の前記並列照会を含む検索指令を生成するステップを含む、請求項10に記載の検索方法。
  12. 前記文字列は、シングルバイト文字を含む文字列、または中国語、日本語、韓国語、アラビア語を含む、文字列中にマルチバイト文字を含む文字列である、請求項11に記載の検索方法。
  13. 請求項1〜請求項5のいずれか1項に記載の機能手段をコンピュータに実現するためのコンピュータ実行可能なプログラム。
  14. コンピュータに対して、
    検索の対象とされる情報を格納するデータベースと、
    検索語を含む検索要求を受領して、前記データベースに対する検索要求を送付し、かつ検索結果を送出する通信処理部と、
    前記通信処理部を介して前記検索要求を取得し、前記情報を検索する請求項1〜請求項4のいずれか1項に記載の検索エンジンを含む検索エンジンと
    を実現するコンピュータ実行可能なプログラム。
  15. 前記データベースは、前記通信処理部を介して接続されたリモート・サーバにより管理される、請求項14に記載のプログラム。
JP2008046582A 2008-02-27 2008-02-27 検索エンジン、検索システム、検索方法およびプログラム Expired - Fee Related JP5224851B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008046582A JP5224851B2 (ja) 2008-02-27 2008-02-27 検索エンジン、検索システム、検索方法およびプログラム
US12/371,736 US8930372B2 (en) 2008-02-27 2009-02-16 Search engine, search system, search method, and search program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008046582A JP5224851B2 (ja) 2008-02-27 2008-02-27 検索エンジン、検索システム、検索方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2009205397A JP2009205397A (ja) 2009-09-10
JP5224851B2 true JP5224851B2 (ja) 2013-07-03

Family

ID=40999305

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008046582A Expired - Fee Related JP5224851B2 (ja) 2008-02-27 2008-02-27 検索エンジン、検索システム、検索方法およびプログラム

Country Status (2)

Country Link
US (1) US8930372B2 (ja)
JP (1) JP5224851B2 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7219098B2 (en) 2002-01-14 2007-05-15 International Business Machines Corporation System and method for processing data in a distributed architecture
US8656039B2 (en) 2003-12-10 2014-02-18 Mcafee, Inc. Rule parser
US7984175B2 (en) 2003-12-10 2011-07-19 Mcafee, Inc. Method and apparatus for data capture and analysis system
US8548170B2 (en) 2003-12-10 2013-10-01 Mcafee, Inc. Document de-registration
US8560534B2 (en) 2004-08-23 2013-10-15 Mcafee, Inc. Database for a capture system
US7949849B2 (en) 2004-08-24 2011-05-24 Mcafee, Inc. File system for a capture system
US7907608B2 (en) 2005-08-12 2011-03-15 Mcafee, Inc. High speed packet capture
US7818326B2 (en) 2005-08-31 2010-10-19 Mcafee, Inc. System and method for word indexing in a capture system and querying thereof
US7730011B1 (en) 2005-10-19 2010-06-01 Mcafee, Inc. Attributes of captured objects in a capture system
US8504537B2 (en) 2006-03-24 2013-08-06 Mcafee, Inc. Signature distribution in a document registration system
US7958227B2 (en) 2006-05-22 2011-06-07 Mcafee, Inc. Attributes of captured objects in a capture system
US8225402B1 (en) * 2008-04-09 2012-07-17 Amir Averbuch Anomaly-based detection of SQL injection attacks
US8205242B2 (en) 2008-07-10 2012-06-19 Mcafee, Inc. System and method for data mining and security policy management
US9253154B2 (en) 2008-08-12 2016-02-02 Mcafee, Inc. Configuration management for a capture/registration system
US8850591B2 (en) 2009-01-13 2014-09-30 Mcafee, Inc. System and method for concept building
US8706709B2 (en) 2009-01-15 2014-04-22 Mcafee, Inc. System and method for intelligent term grouping
US8473442B1 (en) 2009-02-25 2013-06-25 Mcafee, Inc. System and method for intelligent state management
US8447722B1 (en) 2009-03-25 2013-05-21 Mcafee, Inc. System and method for data mining and security policy management
US8667121B2 (en) 2009-03-25 2014-03-04 Mcafee, Inc. System and method for managing data and policies
JP5141671B2 (ja) * 2009-11-27 2013-02-13 カシオ計算機株式会社 辞書機能を備えた電子機器およびプログラム
CN102859515B (zh) * 2010-02-12 2016-01-13 谷歌公司 复合词拆分
WO2011104754A1 (ja) * 2010-02-24 2011-09-01 三菱電機株式会社 検索装置及び検索プログラム
AR082780A1 (es) * 2010-08-31 2013-01-09 Directv Group Inc Metodo y sistema para buscar el contenido de un dispositivo de usuario
JP5601123B2 (ja) * 2010-09-28 2014-10-08 カシオ計算機株式会社 Nグラム検索のための転置インデックスの生成方法および生成装置、当該転置インデックスを用いた検索方法および検索装置、ならびに、コンピュータプログラム
US8806615B2 (en) * 2010-11-04 2014-08-12 Mcafee, Inc. System and method for protecting specified data combinations
US8909633B2 (en) * 2011-07-01 2014-12-09 Yahoo! Inc. Method and system for improving relevance of web content
US8788521B2 (en) * 2011-09-29 2014-07-22 Rakuten, Inc. Information processing device, information processing method, program for information processing device, and recording medium
US20130246431A1 (en) 2011-12-27 2013-09-19 Mcafee, Inc. System and method for providing data protection workflows in a network environment
JP5694234B2 (ja) * 2012-05-11 2015-04-01 株式会社東芝 電子機器、手書き文書表示方法、及び表示プログラム
JP5567097B2 (ja) 2012-10-26 2014-08-06 株式会社東芝 電子機器、手書き文書表示方法、及び表示プログラム
CN103853797B (zh) * 2012-12-07 2017-10-17 中兴通讯股份有限公司 一种基于n元图片索引结构的图片检索方法与***
JP2013239203A (ja) * 2013-08-05 2013-11-28 Toshiba Corp 電子機器、方法、及びプログラム
US20150254241A1 (en) * 2014-03-04 2015-09-10 Bank Of America Corporation Help desk search engine
CN107111624B (zh) * 2014-10-28 2021-07-13 索尼公司 接收装置、发送装置和数据处理方法
CN106933938A (zh) * 2015-12-30 2017-07-07 唯溥思株式会社 利用多字节编码的文献检索方法及文献索引方法
US10606815B2 (en) 2016-03-29 2020-03-31 International Business Machines Corporation Creation of indexes for information retrieval
CN109145034B (zh) * 2017-06-15 2022-05-06 阿里巴巴集团控股有限公司 资源呈现方法、装置及计算机终端
US11188594B2 (en) * 2018-02-07 2021-11-30 Oracle International Corporation Wildcard searches using numeric string hash
US11281854B2 (en) * 2019-08-21 2022-03-22 Primer Technologies, Inc. Limiting a dictionary used by a natural language model to summarize a document
CN114138798B (zh) * 2022-01-29 2022-05-10 阿里巴巴达摩院(杭州)科技有限公司 查询结果命中概率估计***、方法、电子设备及介质
CN116756301B (zh) * 2023-08-17 2023-11-10 北京睿企信息科技有限公司 一种用户信息搜索的方法、电子设备及存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5706365A (en) * 1995-04-10 1998-01-06 Rebus Technology, Inc. System and method for portable document indexing using n-gram word decomposition
JP3508312B2 (ja) * 1995-07-25 2004-03-22 富士ゼロックス株式会社 キーワード抽出装置
JP3666066B2 (ja) * 1995-08-08 2005-06-29 富士ゼロックス株式会社 多言語文書登録検索装置
US6167369A (en) 1998-12-23 2000-12-26 Xerox Company Automatic language identification using both N-gram and word information
JP3696745B2 (ja) * 1999-02-09 2005-09-21 株式会社日立製作所 文書検索方法及び文書検索システム及び文書検索プログラムを記録したコンピュータ読み取り可能な記録媒体
US6493721B1 (en) * 1999-03-31 2002-12-10 Verizon Laboratories Inc. Techniques for performing incremental data updates
JP3636941B2 (ja) 1999-07-19 2005-04-06 松下電器産業株式会社 情報検索方法と情報検索装置
US6393389B1 (en) * 1999-09-23 2002-05-21 Xerox Corporation Using ranked translation choices to obtain sequences indicating meaning of multi-token expressions
US6675159B1 (en) * 2000-07-27 2004-01-06 Science Applic Int Corp Concept-based search and retrieval system
JP2002269139A (ja) * 2001-03-08 2002-09-20 Ricoh Co Ltd 文書検索方法
JP4342753B2 (ja) * 2001-08-10 2009-10-14 株式会社リコー 文書検索装置、文書検索方法、プログラム及びコンピュータに読み取り可能な記憶媒体
US6732090B2 (en) * 2001-08-13 2004-05-04 Xerox Corporation Meta-document management system with user definable personalities
US7284191B2 (en) * 2001-08-13 2007-10-16 Xerox Corporation Meta-document management system with document identifiers
US7219098B2 (en) * 2002-01-14 2007-05-15 International Business Machines Corporation System and method for processing data in a distributed architecture
US20070214126A1 (en) * 2004-01-12 2007-09-13 Otopy, Inc. Enhanced System and Method for Search
JP4037859B2 (ja) 2004-09-29 2008-01-23 株式会社東芝 全文検索システム及び方法
JP4091586B2 (ja) 2004-09-30 2008-05-28 株式会社東芝 構造化文書管理システム、索引構築方法及びプログラム
JP2007286742A (ja) * 2006-04-13 2007-11-01 Ricoh Co Ltd 文書検索装置

Also Published As

Publication number Publication date
JP2009205397A (ja) 2009-09-10
US20090216752A1 (en) 2009-08-27
US8930372B2 (en) 2015-01-06

Similar Documents

Publication Publication Date Title
JP5224851B2 (ja) 検索エンジン、検索システム、検索方法およびプログラム
JP5611390B2 (ja) 対話型サーチクエリーを改良するためのシステム及び方法
JP5264892B2 (ja) 多言語情報検索
US5826258A (en) Method and apparatus for structuring the querying and interpretation of semistructured information
US20120095984A1 (en) Universal Search Engine Interface and Application
CA2406203A1 (en) Method and system for retrieving information based on meaningful core word
JP3944102B2 (ja) 語義関連ネットワークを用いた文書検索システム
WO2015062340A1 (zh) 一种兼容关键词搜索的自然语言搜索方法及***
KR20020058639A (ko) 엑스엠엘 문서 검색 시스템 및 그 방법
US20090055374A1 (en) Method and apparatus for generating search keys based on profile information
JP6435467B1 (ja) 検索システム及び検索システムの動作方法
US20060248037A1 (en) Annotation of inverted list text indexes using search queries
JP2012083929A (ja) ファイル検索装置およびファイル検索プログラム
JP2002024262A (ja) 情報源所在推定方法及び装置及び情報源所在推定プログラムを格納した記憶媒体
JP5260123B2 (ja) 検索システム、索引作成装置、検索エンジン、索引作成方法、検索方法およびプログラム
JP5285491B2 (ja) 情報検索システム、方法及びプログラム、索引作成システム、方法及びプログラム、
JP3565117B2 (ja) 複数異種情報源アクセス方法及びクライアント装置及び複数異種情報源アクセスプログラムを格納した記憶媒体
Batjargal et al. Providing universal access to Japanese humanities digital libraries: an approach to federated searching system using automatic metadata mapping
JP2005158044A (ja) 情報検索プログラム、当該プログラムを格納するコンピュータ読み取り可能な記録媒体、情報検索方法、および情報検索装置
Matthews et al. Internationalising data access through LIMBER
US8930373B2 (en) Searching with exclusion tokens
JP5199168B2 (ja) 検索装置
JP4034503B2 (ja) 文書検索システムおよび文書検索方法
JP2006163723A (ja) ドキュメント検索方法
AU2010362878A1 (en) Universal search engine interface and application

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101028

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120626

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120827

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20130219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130312

R150 Certificate of patent or registration of utility model

Ref document number: 5224851

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160322

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees