JP2012533819A - 文書インデックス化およびデータクエリングのための方法およびシステム - Google Patents

文書インデックス化およびデータクエリングのための方法およびシステム Download PDF

Info

Publication number
JP2012533819A
JP2012533819A JP2012521619A JP2012521619A JP2012533819A JP 2012533819 A JP2012533819 A JP 2012533819A JP 2012521619 A JP2012521619 A JP 2012521619A JP 2012521619 A JP2012521619 A JP 2012521619A JP 2012533819 A JP2012533819 A JP 2012533819A
Authority
JP
Japan
Prior art keywords
component partition
partition
component
document
forming
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012521619A
Other languages
English (en)
Other versions
JP5616444B2 (ja
JP2012533819A5 (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of JP2012533819A publication Critical patent/JP2012533819A/ja
Publication of JP2012533819A5 publication Critical patent/JP2012533819A5/ja
Application granted granted Critical
Publication of JP5616444B2 publication Critical patent/JP5616444B2/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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • 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
    • 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/316Indexing structures
    • 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
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3337Translation of the query language, e.g. Chinese to English
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems

Landscapes

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

Abstract

【解決手段】文書インデックスの生成は、インデックス化される文書を取得し、文書に対して単成分分割動作を実行して、複数の単成分パーティションを取得し、複数の単成分パーティションの各単成分パーティションに対して、各単成分パーティションがフィルタ文字であるか否かを判定し各単成分パーティションがフィルタ文字である場合に、単成分パーティションをその単成分パーティションに隣接する少なくとも1つの他の単成分パーティションと結びつけることによって多成分パーティションを形成し、多成分パーティションをインデックス化し、単成分パーティションがフィルタ文字ではない場合に、単成分パーティションをインデックス化することを備わる。データのクエリングは、データクエリを受信し、データクエリに対して単成分分割動作を実行して、複数の単成分パーティションを取得し、複数の単成分パーティションの各単成分パーティションに対して、各単成分パーティションがフィルタ文字であるか否かを判定し、単成分パーティションがフィルタ文字である場合に、単成分パーティションをその単成分パーティションに隣接する少なくとも1つの単成分パーティションと結びつけることによって多成分パーティションを形成し、多成分パーティションを用いて、予め設定されたインデックスを検索して、多成分パーティションに対応する検索結果を取得し、単成分パーティションがフィルタ文字ではない場合に、単成分パーティションを用いて、予め設定されたインデックスを検索して、単成分パーティションに対応する検索結果を取得し、検索結果を結びつけて、最終的なクエリ検索結果を形成することを備える。
【選択図】図2

Description

[関連出願の相互参照]
本願は、すべての目的のために参照により本明細書に組み込まれる、2009年7月23日出願の発明の名称を「DOCUMENT INDEXING METHOD, DATA QUERY METHOD AND SERVER FOR SEARCH ENGINE(検索エンジンのための文書インデックス化方法およびデータクエリ方法並びにサーバ)」とする中国特許出願第200910151487.2号に基づく優先権を主張する。
本発明は、情報技術の技術分野に関し、特に、文書インデックス化およびデータクエリングに関する。
検索エンジンは、ワールドワイドウェブ上で情報を検索するように設計されている。検索エンジンは、しばしば、特定のポリシーに従って、特定のコンピュータプログラムによってインターネット上の情報を収集する。検索エンジンは、さらに、検索型サービスをユーザに提供する。すなわち、検索エンジンは、収集した情報を組織化して処理し、処理された情報をユーザに表示する。
ウェブ検索エンジンは、通常、多くのウェブページに関する情報を格納することによって機能する。これらのページは、ウェブクローラ(時にスパイダとしても知られる)と呼ばれる情報キャプチャシステムによって取得される。ウェブクローラは、組織的な自動化された方法あるいは規則的な方法で、ワールドワイドウェブをブラウズするコンピュータプログラムである。この処理は、ウェブクローリングまたはウェブスパイダリングと呼ばれる。ほとんどのウェブクローラは、迅速な検索を提供するためにダウンロード済みのページをインデックス化する検索エンジンによる後の処理に向けて、訪問したページすべてのコピーを作成するために用いられる。一般に、ウェブクローラは、シードと呼ばれる訪問すべきURLのリストから開始する。クローラは、これらのURLを訪問すると、ページ内のすべてのハイパーリンク(クロールフロンティアと呼ばれる)を特定し、訪問すべきURLのリストにそれらを追加する。フロンティアからのURLは、1組のポリシーに従って再帰的に訪問される。このクロール処理では、ハイパーリンクと共にウェブページがキャプチャされる。これらのウェブページは、ウェブページスナップショットと呼ばれる。ハイパーリンクはインターネット上で広く利用されているため、理論的に、特定のウェブページから開始して、ほとんどのウェブページを収集することができる。キャプチャされたウェブページが処理される時、検索サービスを提供するために、キーワードが抽出され、インデックスが構築される。次いで、ユーザが検索エンジンに(通例はキーワードを用いて)クエリを入力すると、検索エンジンは、そのインデックスを調べて、自身の基準に従って、最も良く一致するウェブページURLのリストを、通常は文書のタイトルおよび時にはテキストの一部を含む短い要旨と共に提供する。インデックスは、データと共に格納された情報と、その情報をインデックス化した方法から構築される。検索エンジンの有用性は、検索エンジンが返す結果群の妥当性によって決まる。特定の単語またはフレーズを含む多くのページが存在し得るが、一部のページが、他のページよりも関連性が高く、人気があり、または、信頼できるページである可能性がある。ほとんどの検索エンジンは、「最良の」結果を最初に提供するために、結果を順位付けする方法を用いる。どのページが最良一致であるか、および、どのような順番で結果を提示するのかを、検索エンジンが決定する方法は、検索エンジンごとに大きく異なっている。
特に、漢字を検索できる検索エンジンにとっては、インデックス化およびクエリング処理中に、漢字分割動作が必要とされる。従来の漢字分割方法は、文中の各漢字が一単位とみなされる単成分分割方法を用いている。例えば、「中国股市」(「中国株式市場」と翻訳される)という表現を単成分分割すると、結果セットは、以下の4つの単一文字を含む。それぞれ「中」(「中国の」)、「国」(「国」)、「股」(「株式」)、「市」(「市場」)。ここで、600万の文書をインデックス化している単一の検索エンジンサーバにおける「市」(「市場」)という文字の出現確率は、93%である。したがって、単成分分割方法を用いる場合、「市」(「市場」)というクエリは、「中国股市」(「中国株式市場」)というクエリの際に、検索エンジンサーバのリソースの大部分を消費する。かかる状況を避けるために、高頻度文字のリストが、検索エンジンに予め格納されており、高頻度文字は、クエリ実行前にフィルタリングされる。かかる高頻度文字は、「フィルタ文字」とも呼ばれる。同じ例を用いると、「中国股市」(「中国株式市場」)というクエリは、クエリ内の高頻度文字「市」(「市場」)をスキップするために、「中国股」(「中国株式」)というクエリに単純化される。
しかしながら、インデックス化およびクエリングは従来の単成分分割方法で高頻度文字を除外することによって実行されるため、結果セットが正確でない場合がある。再び、「中国股市」(「中国株式市場」)を一例として用いると、「市」(「市場」)がクエリにおいて除外されるため、クエリ結果セットは、「中国股民」(「中国株投資家」)および「中国股票」(「中国株式」)など、「中国股」(「中国株」)を含むが、ユーザのクエリと正確には一致しない多くの表現を含む場合がある。したがって、より正確かつ効率的なインデックス化およびクエリングの技術が必要とされる。
以下の詳細な説明と添付の図面に、本発明の様々な実施形態を開示する。
文書データのインデックス化およびクエリングのための技術を提供するプログラムされたコンピュータシステムの一実施形態を示す機能図。
文書クエリおよびデータインデックス化システムの一実施形態を用いた検索エンジンを示す概略図。
文書インデックス化処理の一実施形態を示すフローチャート。
文書インデックス化処理の別の実施形態を示すフローチャート。
検索エンジンのデータクエリ処理の一実施形態を示すフローチャート。
検索エンジンのデータクエリ処理の別の実施形態を示すフローチャート。
文書をインデックス化するよう構成されたシステムの一実施形態を示すブロック図。
文書をインデックス化するよう構成されたシステムの別の実施形態を示すブロック図。
検索エンジンのためにデータクエリングを実行するよう適合されたシステムの一実施形態を示すブロック図。
検索エンジンのためにデータクエリングを実行するよう適合されたシステムの別の実施形態を示すブロック図。
本発明は、処理、装置、システム、物質の組成、コンピュータ読み取り可能な格納媒体上に具現化されたコンピュータプログラム製品、および/または、プロセッサ(プロセッサに接続されたメモリに格納および/またはそのメモリによって提供される命令を実行するよう構成されたプロセッサ)を含め、様々な形態で実装されうる。本明細書では、これらの実装または本発明が取りうる任意の他の形態を、技術と呼ぶ。一般に、開示された処理の工程の順序は、本発明の範囲内で変更されてもよい。特に言及しない限り、タスクを実行するよう構成されるものとして記載されたプロセッサまたはメモリなどの構成要素は、ある時間にタスクを実行するよう一時的に構成された一般的な構成要素として、または、タスクを実行するよう製造された特定の構成要素として実装されてよい。本明細書では、「プロセッサ」という用語は、1または複数のデバイス、回路、および/または、コンピュータプログラム命令などのデータを処理するよう構成された処理コアを指すものとする。
以下では、本発明の原理を示す図面を参照しつつ、本発明の1または複数の実施形態の詳細な説明を行う。本発明は、かかる実施形態に関連して説明されているが、どの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定されるものであり、多くの代替物、変形物、および、等価物を含む。以下の説明では、本発明の完全な理解を提供するために、多くの具体的な詳細事項が記載されている。これらの詳細事項は、例示を目的としたものであり、本発明は、これらの具体的な詳細事項の一部または全てがなくとも特許請求の範囲に従って実施可能である。簡単のために、本発明に関連する技術分野で周知の技術事項については、本発明が必要以上にわかりにくくならないように、詳細には説明していない。
図1Aは、文書データのインデックス化およびクエリングのための技術を提供するプログラムされたコンピュータシステムの一実施形態を示す機能図である。明らかに、他のコンピュータシステムアーキテクチャおよび構成が、文書データのインデックス化およびクエリングのための技術を実行するために用いられてもよい。以下に述べるような様々なサブシステムを備えるコンピュータシステム100は、少なくとも1つのマイクロプロセッササブシステム(プロセッサまたは中央処理装置(CPU)とも呼ばれる)102を備える。例えば、プロセッサ102は、シングルチッププロセッサまたはマルチプロセッサによって実装できる。いくつかの実施形態において、プロセッサ102は、コンピュータシステム100の動作を制御する汎用デジタルプロセッサである。メモリ110から読み出された命令を用いて、プロセッサ102は、入力データの受信および操作、ならびに、出力デバイス(例えば、ディスプレイ118)上でのデータの出力および表示を制御する。いくつかの実施形態において、プロセッサ102は、例えば、メモリ110(または、その他のコンピュータ読み取り可能な記憶媒体要素/デバイス)と通信し、本明細書に述べるように文書データのインデックス化およびクエリングのための技術を備え、および/または、その技術を実装するために用いられる。
プロセッサ102は、メモリ110と双方向的に接続されており、メモリ110は、第1のプライマリストレージ(通例は、ランダムアクセスメモリ(RAM))および第2のプライマリストレージ領域(通例は、読み出し専用メモリ(ROM))を含みうる。当業者に周知のように、プライマリストレージは、一般的な記憶領域として、および、スクラッチパッドメモリとして利用可能であり、また、入力データおよび処理済みデータを格納するために利用可能である。プライマリストレージは、さらに、プロセッサ102上で実行される処理のための他のデータおよび命令に加えて、データオブジェクトおよびテキストオブジェクトの形態で、プログラミング命令およびデータを格納できる。また、当業者に周知のように、プライマリストレージは、通例、機能(例えば、プログラムされた命令)を実行するためにプロセッサ102によって用いられる基本的な動作命令、プログラムコード、データ、および、オブジェクトを備える。例えば、プライマリストレージデバイス110は、例えば、データアクセスが双方向である必要があるか、単方向である必要があるかに応じて、後述の任意の適切なコンピュータ読み取り可能な記憶媒体を含みうる。例えば、プロセッサ102は、頻繁に必要になるデータをキャッシュメモリ(図示せず)に直接的かつ非常に迅速に格納し取り出すことができる。
着脱可能なマスストレージデバイス112が、コンピュータシステム100にさらなるデータ記憶容量を提供しており、プロセッサ102に対して双方向(読み出し/書き込み)または単方向(読み出しのみ)に接続されている。例えば、ストレージ112は、磁気テープ、フラッシュメモリ、PCカード、携帯型マスストレージデバイス、ホログラフィックストレージデバイス、および、その他のストレージデバイスなどのコンピュータ読み取り可能な媒体も含みうる。固定マスストレージ120も、例えば、さらなるデータ記憶容量を提供しうる。マスストレージ120の最も一般的な例は、ハードディスクドライブである。マスストレージ112、120は、一般に、プロセッサ102によって通例はあまり利用されないさらなるプログラミング命令、データなどを格納する。当然のことながら、マスストレージ112、120内に保持された情報は、必要であれば、仮想メモリとしてのプライマリストレージ110(例えば、RAM)の一部に標準的な方式で組み込まれてよい。
プロセッサ102がストレージサブシステムにアクセスできるようにすることに加えて、バス114は、その他のサブシステムおよびデバイスへのアクセスを可能にするために用いられてもよい。図に示すように、これらは、ディスプレイモニタ118、ネットワークインターフェース116、キーボード104、および、ポインティングデバイス106、ならびに、必要に応じて、補助入力/出力デバイスインターフェース、サウンドカード、スピーカ、および、その他のサブシステムを含みうる。例えば、ポインティングデバイス106は、マウス、スタイラス、トラックボール、または、タブレットであってよく、グラフィカルユーザインターフェースと相互作用するのに有用である。
ネットワークインターフェース116は、図に示すように、ネットワーク接続を用いて、別のコンピュータ、コンピュータネットワーク、または、遠隔通信ネットワークにプロセッサ102を接続することを可能にする。例えば、ネットワークインターフェース116を通して、プロセッサ102は、方法/処理ステップを実行する過程で、別のネットワークから情報(例えば、データオブジェクトまたはプログラム命令)を受信したり、別のネットワークに情報を出力したりすることができる。情報は、プロセッサ上で実行される一連の命令として表されることが多く、別のネットワークから受信されたり、別のネットワークへ出力されたりしうる。インターフェースカード(または同様のデバイス)と、プロセッサ102によって実装(例えば、実行/実施)される適切なソフトウェアとを用いて、コンピュータシステム100を外部ネットワークに接続し、標準プロトコルに従ってデータを転送することができる。例えば、本明細書に開示された様々な処理の実施形態は、プロセッサ102上で実行されてもよいし、処理の一部を共有するリモートプロセッサと共に、ネットワーク(インターネット、イントラネットワーク、または、ローカルエリアネットワークなど)上で実行されてもよい。さらなるマスストレージデバイス(図示せず)が、ネットワークインターフェース116を通してプロセッサ102に接続されてもよい。
補助I/Oデバイスインターフェース(図示せず)が、コンピュータシステム100と共に用いられてよい。補助I/Oデバイスインターフェースは、プロセッサ102がデータを送信すること、ならびに、より典型的には、他のデバイス(マイクロホン、タッチセンサ方式ディスプレイ、トランスデューサカードリーダ、テープリーダ、音声または手書き認識装置、バイオメトリクスリーダ、カメラ、携帯型マスストレージデバイス、および、他のコンピュータなど)からデータを受信することを可能にする汎用インターフェースおよびカスタマイズされたインターフェースを含みうる。
さらに、本明細書に開示された様々な実施形態は、さらに、様々なコンピュータ実装された動作を実行するためのプログラムコードを備えたコンピュータ読み取り可能な媒体を含むコンピュータストレージ製品に関する。コンピュータ読み取り可能な媒体は、データを格納できる任意のデータストレージデバイスであり、そのデータは、後にコンピュータシステムによって読み出されうる。コンピュータ読み取り可能な媒体の例は、以下の媒体すべてを含むがそれらに限定されない。ハードディスク、フレキシブルディスクおよび磁気テープなどの磁気媒体、CD−ROMディスクなどの光学媒体、光学ディスクなどの磁気光学媒体、ならびに、特定用途向け集積回路(ASIC)、プログラム可能論理デバイス(PLD)およびROM/RAMデバイスなど、特別に構成されたハードウェアデバイス。プログラムコードの例としては、例えば、コンパイラによって生成されるマシンコード、または、インタープリタを用いて実行できる高水準コード(例えば、スクリプト)を含むファイルが挙げられる。
図1Aに示したコンピュータシステムは、本明細書に開示された様々な実施形態と共に利用するのに適切なコンピュータシステムの一例にすぎない。かかる利用に適した他のコンピュータシステムは、より多いまたは少ないサブシステムを含みうる。さらに、バス114は、サブシステムをリンクさせるよう機能する任意の相互接続スキームの例である。異なる構成のサブシステムを有する他のコンピュータアーキテクチャが利用されてもよい。
図1Bは、文書クエリングおよびデータインデックス化システムの一実施形態を用いた検索エンジンを示す概略図である。検索エンジン150は、以下のような1または複数の計算デバイスを用いて実装されてよい。パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたは携帯型デバイス、フラットパネルデバイス、マルチプロセッサシステム、マイクロプロセッサを用いたシステム、セットトップボックス、プログラム可能な消費者電子デバイス、ネットワークPC、ミニコンピュータ、大規模コンピュータ、専用デバイス、任意の前述のシステムまたはデバイスを含む分散型計算環境、もしくは、1または複数のプロセッサと、プロセッサに接続されてプロセッサに命令を提供するよう構成されたメモリとを備えたその他のハードウェア/ソフトウェア/ファームウェアの組み合わせ。
図の例において、検索エンジン150は、クロールモジュール152、インデックス(インデックス化)モジュール154、クエリングモジュール156、および、ユーザインターフェースモジュール158を備える。クロールモジュールは、ウェブクローラを用いてインターネット上を巡回することによってウェブページ情報を発見および収集するよう適合される。インデックスモジュールは、クロールモジュールによって収集されたウェブページからインデックス項目を抽出するよう適合される。インデックスは、文書を表すために用いられ、文書データベースのインデックステーブルに格納される。クエリングモジュールは、ユーザのクエリに従って、インデックスデータベース内の文書を取得し、出力結果をソートし、ユーザのクエリ要求に従って出力フィードバック情報を合理的に出力するよう適合される。インターフェースモジュールは、ユーザのクエリ要求を受信し、ユーザにクエリ結果を戻すよう適合される。本発明の以下の実施形態では、主に、検索エンジンの文書インデックス化およびクエリング機能の処理について記載する。
図2は、文書インデックス化処理の一実施形態を示すフローチャートである。
工程210では、文書が取得される。この例では、ウェブページなどの文書が検索エンジンのウェブクローラによってインターネットから取得される。次いで、文書は、検索エンジンの一部であるかもしくは検索エンジンに接続されているデータストレージに格納される。データストレージの例としては、複数のデータベース、複数のディスクなどが挙げられる。検索エンジンは、インデックス化が行われる前に、データストレージから文書を読み出す。いくつかの実施形態において、文書は、中国語などの文字ベースの言語で表されている。
工程220では、単成分分割動作が文書に対して実行される。換言すると、各文字が、個々の分割単位を形成する。
工程230では、単成分パーティション内の文字は、フィルタ文字であるか否かを判定するために、フィルタ文字リストと比較される。
フィルタ文字は、クエリ処理中に検索エンジンによって除外される高頻度の文字である。検索エンジンに格納された文書内にフィルタ文字が高頻度で出現するために、フィルタ文字がクエリに含まれる場合には、大量のシステムリソースが消費されることになる。したがって、統計的に高頻度の文字が予め決定されて、検索エンジンのフィルタ文字リスト内に格納される。インデックス化またはクエリ動作を実行する前に、単成分パーティション内の文字は、フィルタ文字であるか否かを判定するために、フィルタ文字リスト内の文字と比較される。例えば、「中国股市」(「中国株式市場」)内の「市」(「市場」)は、検索エンジンのフィルタ文字リスト内に見出されるため、「市」(「市場」)は、フィルタ文字であり、クエリ動作またはインデックス化動作から除外される。
文書の単成分分割動作は、繰り返し実行される。それらの動作後に、一連の単成分パーティションが取得される。各単成分パーティションは、フィルタ文字か否かを判定するために、フィルタ文字リストと比較される。インデックス化される文書が、「市」(「市場」)などの高頻度文字(フィルタ文字とも呼ばれる)のみを有する場合、その文書に対してはインデックスが構築されない。
工程240では、単成分パーティション内の文字がフィルタ文字である場合、単成分パーティションをその単成分パーティションに隣接する少なくとも1つの単成分パーティションと結びつけることによって、多成分パーティション(N成分パーティションとも呼ばれる)が形成され、次いで、多成分パーティションはインデックス化される。本明細書で用いられているように、多成分パーティションとは、少なくとも2つの隣接する単成分パーティションによって形成されたパーティションを指す。
いくつかの実施形態では、単成分パーティションをそれに隣接する単成分パーティションと結びつけることによって、二成分パーティションが形成される。単成分パーティションPが高頻度フィルタ文字であると判定されたとすると、Pが文書内の最初の単成分パーティションである場合、Pをその次の単成分パーティションと結びつけることによって、二成分パーティションが形成される。Pが文書内の最後の単成分パーティションである場合、Pをその前の単成分パーティションと結びつけることによって、二成分パーティションが形成される。Pが文書内の最初の単成分パーティションでも最後の単成分パーティションでもなく、文書の中ほどのどこかに出現する場合、Pをその前の単成分パーティションおよびその後の単成分パーティションとそれぞれ結びつけることによって、2つの二成分パーティションが形成される。1または複数の二成分パーティションはインデックス化される。例えば、「我」(「私」)は高頻度フィルタ文字であり、単成分パーティションである。「我」が文書内の最初の単成分パーティションである場合、「我」は、その後の単成分パーティション(「的」(「〜の」:所有を表す語)など)と結びついて、インデックス化される二成分パーティション「我的」(「私の」)を形成する。
同様に、いくつかの実施形態において、三成分パーティションが形成されてもよい。例えば、三成分パーティション「中国人」は、3つの単成分パーティション「中」、「国」、および、「人」から形成される。同様に、四成分以上のパーティションが形成されてもよい。
工程250では、単成分パーティション内の文字がフィルタ文字でない場合、この文字は直接インデックス化される。
工程240および工程250は、文書内のすべての単成分パーティションが処理されるまで繰り返されてよい。処理200は、検索インデックスを作成するために、複数の文書に対して繰り返されてよい。
図3は、文書インデックス化処理の別の実施形態を示すフローチャートである。この実施形態では、文書のインデックス化処理を例示するために、二成分パーティションを用いる。三成分パーティションまたは四成分パーティションなど、他の多成分パーティションが、同様に実施されうる。
工程310では、フィルタ文字リストが予め決定される。いくつかの実施形態では、文字の出現頻度は、大量のサンプルインターネット文書から計算される。文字がフィルタ文字であるか否か、および、文字がフィルタ文字リストに含まれるべきか否かを判定するための基準は、サンプルセットの文書内での文字の出現頻度に従って設定されてよい。例えば、サンプルインターネット文書のセットは、600万の文書からなる。単成分分割動作は、これら600万の文書の各々において実行される。単成分パーティション内の文字は、これらの文書内での出現頻度に従ってソートされ、最も出現頻度の高いX個(例えば、100個)の文字をリストに追加することによって、高頻度文字リストが構築される。フィルタ文字リストは、必要に応じて時間と共に動的に調整されてよく、例えば、さらなる文書がサンプルセットに追加された時、または、異なるサンプルセットを取得した時などに調整される。
工程320では、インデックス化される文書が取得される。
工程330では、文書の複数の単成分パーティションを取得するために、単成分分割動作が、文書に対して実行される。
工程340では、単成分パーティションがトラバース(詳細に検討)される。すなわち、文書内の各単成分パーティションに対して、工程342から工程346が実行される。
工程342では、フィルタ文字であるか否かを判定するために、文書の単成分パーティションが、フィルタ文字リスト内で検索される。
単成分パーティションがフィルタ文字である場合、工程344において、その単成分パーティションを当該単成分パーティションに隣接する単成分パーティションと結びつけることによって、二成分パーティションが形成され、この二成分パーティションは、キーワードインデックス化、ハッシュ値インデックス化などの標準的なインデックス化技術を用いてインデックス化される。
単成分パーティションがフィルタ文字でない場合、工程346では、この単成分パーティションは直接インデックス化される。
工程348では、すべての単成分パーティションがトラバースされた場合、文書のインデックス化処理は完了する。その場合、処理は工程350で終了する。そうでない場合、制御は、工程340に戻り、次の単成分パーティションが処理される。
いくつかの実施形態では、文書内の単成分パーティションは、以下の擬似コードの例に従って処理される:
Token token=getCurrentToken(); //現在のパーティションを取得する
If(isFreqWord(token)) //現在のパーティションが高頻度単語である場合
{
Token token2=mergeToken(prevToken,token);//前のパーティションと共に新しい単語を形成する
indexToken(token2);//インデックスを構築する
Token token3=mergeToken(nextToken,token);//次のパーティションと共に新しい単語を形成する
indexToken(token3); //インデックスを構築する
}
else
indexToken(token); //高頻度単語でない場合にインデックスを直接構築する
上記の処理で構築されたインデックスは、高頻度文字だけのためのインデックス項目を含まず、その代わり、高頻度文字およびそれらに隣接する文字から、二成分パーティションが形成され、これらの二成分パーティションがインデックス化される。したがって、その後のデータクエリの精度が、従来の方法に比べて大きく改善される。
様々な実施形態において、文書は、文書インデックス化方法の上記の実施形態によって構築されたインデックスを用いてクエリングされる。
図4は、検索エンジンのデータクエリ処理の一実施形態を示すフローチャートである。
工程410では、データクエリが受信される。例えば、クエリは、インターネットウェブサイトからユーザによって入力され、検索エンジンによって受信される。
工程420では、複数の単成分パーティションを取得するために、単成分分割動作が、データクエリに対して実行される。
工程430では、フィルタ文字であるか否かを判定するために、各単成分パーティションがフィルタ文字リストと比較される。フィルタ文字である場合、制御は工程440に進む。フィルタ文字でない場合、制御は工程450に進む。
単成分パーティションがフィルタ文字である場合、工程440では、多成分パーティションを形成するために、単成分パーティションを少なくとも1つの隣接する単成分パーティションと結びつけて、多成分パーティションが単成分パーティションに対して形成される。
工程445では、以前に構築されたインデックスが、この多成分パーティションを用いて検索され、クエリ結果が取得される。例えば、処理200または300と同様のインデックス化処理によって以前に構築されたインデックスが、クエリと一致する文書を特定するために、キーワードマッチングなど従来の技術を用いて検索される(ここで、多成分パーティションが検索キーワードとして用いられる)。
いくつかの実施形態では、単成分パーティションをそれに隣接する単成分パーティションと結びつけることによって、二成分パーティションが形成される。単成分パーティションPが高頻度フィルタ文字であると判定されたとすると、Pが文書内の最初の単成分パーティションである場合、Pをその次の単成分パーティションと結びつけることによって、二成分パーティションが形成される。Pが文書内の最初の単成分パーティションでない場合、Pをその前の単成分パーティションと結びつけることによって、二成分パーティションが形成される。
単成分パーティションがフィルタ文字でない場合、工程450において、以前に構築されたインデックスがこの単成分パーティションについて検索され、クエリ結果が取得される。
工程460では、単成分パーティションおよび多成分パーティションからのクエリ結果が組み合わされて最終的な検索結果を形成し、その最終的な結果は、任意選択的にユーザに提示される。
図5は、検索エンジンのデータクエリ処理の別の実施形態を示すフローチャートである。この実施形態では、クエリング処理を例示するために、二成分および三成分パーティションを用いる。ただし、二成分パーティション以外の多成分パーティションを同様に利用できる。
工程510では、クエリが受信される。
工程520では、複数の単成分パーティションを取得するために、単成分分割動作が、クエリに対して実行される。
工程530では、クエリの単成分パーティションがトラバースされる。換言すると、文書内の各単成分パーティションに対して、工程532〜536が実行される。
工程532では、フィルタ文字であるか否かを判定するために、文書の単成分パーティションが、フィルタ文字リストと比較される。
工程534では、単成分パーティションがフィルタ文字である場合、単成分パーティションを当該単成分パーティションに隣接する少なくとも1つの他の単成分パーティションと結びつけることによって、二成分パーティションが形成され、インデックスにおいて、この二成分パーティションが検索され、クエリ結果が取得される。
単成分パーティションがフィルタ文字でない場合、工程536において、インデックスがこの単成分パーティションについて検索され、クエリ結果が取得される。
いくつかの実施形態では、工程538が完了した後、単成分パーティションの処理と同様の方法で、二成分パーティションがさらに処理される。二成分パーティションを含む以前に構築されたリストに基づいて、各二成分パーティションがフィルタ単語またはフレーズであるか否かが判定され、そうである場合、さらなる検索は必要でない。そうでない場合、いくつかの実施形態では、二成分パーティションと、1または複数の隣接する単成分パーティションとに基づいて、1または複数の新たな三成分パーティションが形成され、いくつかの実施形態では、二成分パーティションと、1または複数の隣接する二成分パーティションとに基づいて、1または複数の新たな四成分パーティションが形成される。
工程540では、すべてのパーティションのクエリ結果が組み合わされる。クエリ結果は、任意選択的に、事前設定された条件(例えば、上位20個の独自の結果が戻されるなど)に従ってユーザに返され表示される。
いくつかの実施形態では、クエリの単成分パーティションは、以下の擬似コードの例に従って処理される:
Token token=getCurrentToken(); //現在のパーティションを取得する
If(isFreqWord(token)) //現在のパーティションが高頻度フィルタ文字である場合

Token token2;
If(isFirstWord(token))
token2=mergeToken(nextToken,token);//トークンが文章の始めにあれば後方と結びつける
else
token2=mergeToken(prevToken,token);//トークンが文章の始めになければ前方と結びつける
doTokenSearch(token2); //新たに結びつけられたパーティションをクエリする

else
doTokenSearch(token); //高頻度フィルタ文字でない場合に直接クエリを行う
上記の実施形態に従って実行されたクエリについては、インデックスが構築される前に、すべての高頻度文字が他の単成分パーティションと結びつけられて、多成分パーティションが形成されるため、高頻度文字がインデックス内に単独で存在しないことが保証される。したがって、高頻度文字の検索が避けられることから、検索エンジンリソースが節約され、クエリ結果の精度も改善される。
実施形態は、インデックス化およびクエリの例として漢字を用いているが、本方法は、中国語以外の言語におけるインデックス化およびクエリング動作を実行する検索エンジンにも適用される。例えば、中国語に基づく検索エンジンでは、単成分パーティションは、文書またはクエリ内の各漢字を指す。データクエリ「中国股市」(「中国株式市場」)に対する分割動作を実行することによって取得される単成分パーティションは、「中」「国」「股」(「株式」)、および、「市」(「市場」)である。同様に、英語に基づく検索エンジンでは、「Chinese Stock Market」というクエリは、単成分パーティション「Chinese」、「Stock」、および、「Market」に分割できる。「stock」が、1組の文書内での単語の出現頻度に従って構築されたフィルタ文字リスト内の高頻度単語である場合、「stock」は、「Chinese」および「Market」とそれぞれ結びついて、2つの新たな多成分パーティション「Chinese Stock」および「Stock market」を形成する。したがって、クエリの最終的なパーティションは、それぞれ、「Chinese」、「Chinese Stock」、「Stock Market」、および、「Market」である。「Chinese Stock Market」というフレーズが検索エンジンによってクエリされる時、検索エンジンは、「Chinese」、「Chinese Stock」、「Stock Market」、および、「Market」をクエリして、クエリ結果が組み合わせられ、組み合わせたクエリ結果からの独自の項目が、ユーザに対して表示される。
上記の文書インデックス化およびデータクエリ処理の実施形態に対応して、本願は、さらに、文書インデックスシステムおよびデータクエリシステムの実施形態を提供する。文書インデックス化およびデータクエリのためのシステムの実施形態の実装例について、以下で説明する。システムは、複数のモジュールまたはユニットを備えるものとして記載される。モジュールまたはユニットは、1または複数のプロセッサ上で実行されるソフトウェアコンポーネントとして、特定の機能を実行するよう設計されたプログラム可能論理デバイスおよび/または特定用途向け集積回路などのハードウェアとして、もしくは、それらの組み合わせとして実装することができる。いくつかの実施形態において、モジュール/ユニット/サブユニットは、コンピュータデバイス(パーソナルコンピュータ、サーバ、ネットワーク装置など)に本発明の実施形態に記載された方法を実行させるための複数の命令など、不揮発性記憶媒体(光学ディスク、フラッシュ記憶装置、携帯用ハードディスクなど)に格納することができるソフトウェア製品の形態で具現化されてよい。モジュールまたはユニットは、単一のデバイス上に実装されてもよいし、複数のデバイスにわたって分散されてもよい。モジュールまたはユニットの機能は、互いに統合されてもよいし、複数のサブモジュールまたはサブユニットにさらに分割されてもよい。
図6は、文書をインデックス化するよう構成されたシステムの一実施形態を示すブロック図である。システム600は、以下のような1または複数の計算デバイスを用いて実装されてよい。パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたは携帯型デバイス、フラットパネルデバイス、マルチプロセッサシステム、マイクロプロセッサを用いたシステム、セットトップボックス、プログラム可能な消費者電子デバイス、ネットワークPC、ミニコンピュータ、大規模コンピュータ、専用デバイス、任意の前述のシステムまたはデバイスを含む分散型計算環境、もしくは、1または複数のプロセッサと、プロセッサに接続されてプロセッサに命令を提供するよう構成されたメモリとを備えたその他のハードウェア/ソフトウェア/ファームウェアの組み合わせ。
図の例において、システム600は、取得ユニット610、分割ユニット620、判定ユニット630、および、インデックス化ユニット640を備える。取得ユニット610は、インデックス化される文書を取得するよう適合される。分割ユニット620は、単成分パーティションを得るために、取得ユニット610によって取得された文書に対して分割動作を実行するよう適合される。判定ユニット630は、各単成分パーティションがフィルタ文字であるか否かを判定するよう適合される。単成分パーティションがフィルタ文字である場合、インデックス化ユニット640は、単成分パーティションとその単成分パーティションに隣接する少なくとも1つの単成分パーティションとを結びつけることによって多成分パーティションを形成した後に、多成分パーティションのためのインデックスを構築するよう適合される。単成分パーティションがフィルタ文字でない場合、インデックス(化)ユニット640は、単成分パーティションのためのインデックスを直接構築するよう適合される。
図7は、文書をインデックス化するよう構成されたシステムの別の実施形態を示すブロック図である。
図の例において、システム700は、事前設定ユニット710、ロードユニット720、取得ユニット730、分割ユニット740、判定ユニット750、および、インデックス(化)ユニット760を備える。
事前設定ユニット710は、フィルタ文字リストを予め設定するよう適合される。ロードユニット720は、事前設定ユニット710内のフィルタ文字リストをロードするよう適合される。取得ユニット730は、インデックス化される文書を取得するよう適合される。分割ユニット740は、単成分パーティションを得るために、取得ユニット730によって取得された文書に対して分割動作を実行するよう適合される。判定ユニット750は、各単成分パーティションがフィルタ文字であるか否かを判定するよう適合される。いくつかの実施形態において、判定ユニット750は、さらに、単成分パーティションをトラバースするためのパーティショントラバースユニットと、フィルタ文字リストを検索することによって各単成分パーティションがフィルタ文字であるか否かを判定するためのフィルタ文字検索ユニットとを備えてよい。
インデックス化ユニット760は、単成分パーティションとその単成分パーティションに隣接する少なくとも1つの単成分パーティションとを結びつけることによって多成分パーティションを形成した後に、単成分パーティションがフィルタ文字である場合、多成分パーティションのためのインデックスを構築し、単成分パーティションがフィルタ文字でない場合、単成分パーティションのための索引を直接構築するよう適合される。いくつかの実施形態において、インデックス化ユニット760は、単成分パーティションとその単成分パーティションに隣接する単成分パーティションとを結びつけることによって二成分パーティションを形成し、その二成分パーティションに対してインデックスが構築される。
上記の文書インデックス化システムによって構築されたインデックスは、検索エンジン内のデータクエリのためのシステムが検索動作を実行するために利用する。
図8は、検索エンジンのためにデータクエリを実行するよう適合されたシステムの一実施形態を示すブロック図である。システム800は、取得ユニット810、分割ユニット820、判定ユニット830、検索ユニット840、および、結合ユニット850を備える。
取得ユニット810は、クエリされるデータを取得するよう適合される。分割ユニット820は、単成分パーティションを得るために、取得ユニットによって取得されたデータに対して分割動作を実行するよう適合される。判定ユニット830は、各単成分パーティションがフィルタ文字であるか否かを判定するよう適合される。検索ユニット840は、単成分パーティションとその単成分パーティションに隣接する少なくとも1つの単成分パーティションから多成分パーティションを形成し、単成分パーティションがフィルタ文字であると判定ユニット830によって判定された場合、多成分パーティションに従ったインデックスを検索し、単成分パーティションがフィルタ文字でない場合、システム800は、単成分パーティションに従ったインデックスを直接検索するよう適合される。結合ユニット850は、インデックスを検索した後、検索ユニット840によって取得されたクエリ結果を組み合わせるよう適合される。
図9は、検索エンジンのためにデータクエリングを実行するよう適合されたシステムの別の実施形態を示すブロック図である。システム900は、ロードユニット910、取得ユニット920、分割ユニット930、判定ユニット940、検索ユニット950、および、結合ユニット960を備える。
ロードユニット910は、予め設定されたフィルタ文字リストをロードするよう適合される。取得ユニット920は、クエリされるデータを取得するよう適合される。分割ユニット930は、取得ユニット920によって取得されたデータに対して分割動作を実行して、単成分パーティションを得るよう適合される。判定ユニット940は、各単成分パーティションがフィルタ文字であるか否かを判定するよう適合される。いくつかの実施形態において、判定ユニット940は、さらに、単成分パーティションをトラバースするよう適合されたパーティショントラバースユニットと、フィルタ文字リストを検索することによって各単成分パーティションがフィルタ文字であるか否かを判定するよう適合されたフィルタ文字検索ユニットとを備えてよい。
検索ユニット950は、単成分パーティションとその単成分パーティションに隣接する少なくとも1つの単成分パーティションとを結びつけることによって多成分パーティションを形成し、単成分パーティションがフィルタ文字であると判定ユニット940によって判定された場合、多成分パーティションに従うインデックスを検索し、また、単成分パーティションがフィルタ文字ではないと判定ユニット940によって判定された場合、単成分パーティションに従うインデックスを検索するよう適合される。いくつかの実施形態において、検索ユニット950は、単成分パーティションとその単成分パーティションに隣接する単成分パーティションとを結びつけることによって二成分パーティションを形成するよう適合され、検索ユニットは二成分パーティションに従ったインデックスを検索する。結合ユニット960は、インデックスを検索した後、検索ユニット950によって取得されたクエリ結果を組み合わせるよう適合される。
上述のシステムの実施形態は、高頻度単成分パーティションから、限られた多成分パーティションを形成することによって、高頻度文字のクエリを低頻度文字のクエリに変換する。したがって、各クエリによって利用されるシステムリソースを削減することができるが、クエリ結果の精度は犠牲にならない。検索エンジンのクエリ性能は、従来の方法と比較して大幅に改善される。
本願は、本願の実施形態に従った方法、システム、および、コンピュータプログラム製品のフローチャートおよび/またはブロック図を参照して説明されている。フローチャートおよび/またはブロック図内の各フローおよび/またはブロック、ならびに、フローチャートおよび/またはブロック図内のフローおよび/またはブロックの組み合わせは、コンピュータプログラム命令で実現されうることを理解されたい。実際に、本願全体は、コンピュータによって実行されるコンピュータ実行可能な命令(例えば、プログラムモジュールなど)の一般的な文脈で説明できる。一般に、プログラムモジュールは、特定のタスクの実行または特定の抽象データ型の実施のためのルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを備える。あるいは、本発明は、分散型コンピュータ環境に実装されてよく、その場合、通信ネットワークを介して接続されたリモート処理デバイスがタスクを実行する。分散型コンピュータ環境において、プログラムモジュールは、ストレージデバイスを備えるローカルあるいはリモートの記憶媒体に格納されてよい。
上述の実施形態は、理解しやすいようにいくぶん詳しく説明されているが、本発明は、提供された詳細事項に限定されるものではない。本発明を実施する多くの代替方法が存在する。開示された実施形態は、例示であり、限定を意図するものではない。

Claims (20)

  1. 文書インデックスを生成するための方法であって、
    インデックス化される文書を取得し、
    前記文書に対して単成分分割動作を実行して、複数の単成分パーティションを取得し、
    前記複数の単成分パーティションの各単成分パーティションに対して、
    前記各単成分パーティションがフィルタ文字であるか否かを判定し、
    前記各単成分パーティションがフィルタ文字である場合に、前記単成分パーティションを前記単成分パーティションに隣接する少なくとも1つの他の単成分パーティションと結びつけることによって多成分パーティションを形成し、前記多成分パーティションをインデックス化し、
    前記単成分パーティションがフィルタ文字ではない場合に、前記単成分パーティションをインデックス化すること、
    を備える、方法。
  2. 請求項1に記載の方法であって、さらに、複数の文書内の文字の出現頻度に従って、フィルタ文字リストを予め設定することを備える、方法。
  3. 請求項2に記載の方法であって、単成分パーティションがフィルタ文字であるか否かの判定は、前記単成分パーティションを前記予め設定されたフィルタ文字リストと比較することを含む、方法。
  4. 請求項1に記載の方法であって、多成分パーティションの形成は、前記単成分パーティションを前記単成分パーティションに隣接する少なくとも1つの他の単成分パーティションと結びつけることによって、二成分パーティションを形成することを含む、方法。
  5. 請求項4に記載の方法であって、二成分パーティションの形成は、さらに、
    前記単成分パーティションが前記文書内の最初の単成分パーティションである場合に、前記単成分パーティションを次の単成分パーティションと結びつけることによって、二成分パーティションを形成し、
    前記単成分パーティションが前記文書内の最後の単成分パーティションである場合に、前記単成分パーティションを前の単成分パーティションと結びつけることによって、二成分パーティションを形成し、
    前記単成分パーティションが前記文書内の最初の単成分パーティションでも最後の単成分パーティションでもない場合に、前記単成分パーティションを前の単成分パーティションと結びつけることによって第1の二成分パーティションを形成し、前記単成分パーティションを後の単成分パーティションと結びつけることによって第2の二成分パーティションを形成すること、
    を含む、方法。
  6. データをクエリングするための方法であって、
    データクエリを受信し、
    前記データクエリに対して単成分分割動作を実行して、複数の単成分パーティションを取得し、
    前記複数の単成分パーティションの各単成分パーティションに対して、
    前記各単成分パーティションがフィルタ文字であるか否かを判定し、
    前記単成分パーティションがフィルタ文字である場合に、前記単成分パーティションを前記単成分パーティションに隣接する少なくとも1つの単成分パーティションと結びつけることによって多成分パーティションを形成し、前記多成分パーティションを用いて、予め設定されたインデックスを検索して、前記多成分パーティションに対応する検索結果を取得し、
    前記単成分パーティションがフィルタ文字ではない場合に、前記単成分パーティションを用いて、前記予め設定されたインデックスを検索して、前記単成分パーティションに対応する検索結果を取得し、
    前記検索結果を結びつけて、最終的なクエリ検索結果を形成すること、
    を備える、方法。
  7. 請求項6に記載の方法であって、前記予め設定されたインデックスは、
    インデックス化される文書を取得し、
    前記文書に対してインデックス化単成分分割動作を実行して、第2の複数の単成分パーティションを取得し、
    前記第2の複数の単成分パーティションの各単成分パーティションに対して、
    前記各単成分パーティションがフィルタ文字であるか否かを判定し、
    前記各単成分パーティションがフィルタ文字である場合に、前記各単成分パーティションを前記単成分パーティションに隣接する少なくとも1つの他の単成分パーティションと結びつけることによって第2の多成分パーティションを形成し、前記第2の多成分パーティションをインデックス化し、
    前記各単成分パーティションがフィルタ文字ではない場合に、前記各単成分パーティションをインデックス化することによって構築される、方法。
  8. 請求項6に記載の方法であって、前記単成分パーティションがフィルタ文字であるか否かの判定は、前記単成分パーティションを予め設定されたフィルタ文字リストと比較することを含む、方法。
  9. 請求項6に記載の方法であって、前記多成分パーティションの形成は、前記単成分パーティションを前記単成分パーティションに隣接する単成分パーティションと結びつけることによって、二成分パーティションを形成することを含む、方法。
  10. 請求項9に記載の方法であって、二成分パーティションの形成は、さらに、
    前記単成分パーティションが前記文書内の最初の単成分パーティションである場合に、前記単成分パーティションと次の単成分パーティションとを結びつけることによって、二成分パーティションを形成し、
    前記単成分パーティションが前記文書内の最後の単成分パーティションである場合に、前記単成分パーティションと前の単成分パーティションとを結びつけることによって、二成分パーティションを形成し、
    前記単成分パーティションが前記文書内の最初の単成分パーティションでも最後の単成分パーティションでもない場合に、前記単成分パーティションを前の単成分パーティションと結びつけることによって第1の二成分パーティションを形成し、前記単成分パーティションを後の単成分パーティションと結びつけることによって第2の二成分パーティションを形成すること、を含む、方法。
  11. 文書インデックス化システムであって、
    インターフェースに接続されている1または複数のプロセッサであって、
    インデックス化される文書を取得し、
    前記文書に対して単成分分割動作を実行して、複数の単成分パーティションを取得し、
    前記複数の単成分パーティションの各単成分パーティションに対して、
    前記各単成分パーティションがフィルタ文字であるか否かを判定し、
    前記各単成分パーティションがフィルタ文字である場合に、前記単成分パーティションを前記単成分パーティションに隣接する少なくとも1つの他の単成分パーティションと結びつけることによって多成分パーティションを形成し、前記多成分パーティションをインデックス化し、
    前記単成分パーティションがフィルタ文字ではない場合に、前記単成分パーティションをインデックス化することを実行するよう構成されている1または複数のプロセッサと、
    前記1または複数のプロセッサに接続され、前記プロセッサに命令を提供するよう構成されている1または複数のメモリと、
    を備える、システム。
  12. 請求項11に記載のシステムであって、前記1または複数のプロセッサは、さらに、複数の文書内の文字の出現頻度に従って、フィルタ文字リストを予め設定するよう構成されている、システム。
  13. 請求項12に記載のシステムであって、単成分パーティションがフィルタ文字であるか否かの判定は、前記単成分パーティションを前記予め設定されたフィルタ文字リストと比較することを含む、システム。
  14. 請求項11に記載のシステムであって、多成分パーティションの形成は、前記単成分パーティションを前記単成分パーティションに隣接する少なくとも1つの他の単成分パーティションと結びつけることによって、二成分パーティションを形成することを含む、システム。
  15. 請求項14に記載のシステムであって、二成分パーティションの形成は、さらに、
    前記単成分パーティションが前記文書内の最初の単成分パーティションである場合に、前記単成分パーティションを次の単成分パーティションと結びつけることによって、二成分パーティションを形成し、
    前記単成分パーティションが前記文書内の最後の単成分パーティションである場合に、前記単成分パーティションを前の単成分パーティションと結びつけることによって、二成分パーティションを形成し、
    前記単成分パーティションが前記文書内の最初の単成分パーティションでも最後の単成分パーティションでもない場合に、前記単成分パーティションを前の単成分パーティションと結びつけることによって第1の二成分パーティションを形成し、前記単成分パーティションを後の単成分パーティションと結びつけることによって第2の二成分パーティションを形成すること、
    を含む、システム。
  16. データクエリシステムであって、
    インターフェースに接続されている1または複数のプロセッサであって、
    前記データクエリに対して単成分分割動作を実行して、複数の単成分パーティションを取得し、
    前記複数の単成分パーティションの各単成分パーティションに対して、
    前記各単成分パーティションがフィルタ文字であるか否かを判定し、
    前記単成分パーティションがフィルタ文字である場合に、前記単成分パーティションを前記単成分パーティションに隣接する少なくとも1つの単成分パーティションと結びつけることによって多成分パーティションを形成し、前記多成分パーティションを用いて、予め設定されたインデックスを検索して、前記多成分パーティションに対応する検索結果を取得し、
    前記単成分パーティションがフィルタ文字ではない場合に、前記単成分パーティションを用いて、前記予め設定されたインデックスを検索して、前記単成分パーティションに対応する検索結果を取得し、
    前記検索結果を結びつけて、最終的なクエリ検索結果を形成することを実行するよう構成されている1または複数のプロセッサと、
    前記1または複数のプロセッサに接続され、前記プロセッサに命令を提供するよう構成されている1または複数のメモリと、
    を備える、システム。
  17. 請求項16に記載のシステムであって、前記予め設定されたインデックスは、
    インデックス化される文書を取得し、
    前記文書に対してインデックス化単成分分割動作を実行して、第2の複数の単成分パーティションを取得し、
    前記第2の複数の単成分パーティションの各単成分パーティションに対して、
    前記各単成分パーティションがフィルタ文字であるか否かを判定し、
    前記各単成分パーティションがフィルタ文字である場合に、前記各単成分パーティションを前記単成分パーティションに隣接する少なくとも1つの他の単成分パーティションと結びつけることによって第2の多成分パーティションを形成し、前記第2の多成分パーティションをインデックス化し、
    前記各単成分パーティションがフィルタ文字ではない場合に、前記各単成分パーティションをインデックス化することによって構築される、システム。
  18. 請求項16に記載のシステムであって、前記単成分パーティションがフィルタ文字であるか否かの判定は、前記単成分パーティションを前記予め設定されたフィルタ文字リストと比較することを含む、システム。
  19. 請求項16に記載の方法であって、前記多成分パーティションの形成は、前記単成分パーティションを前記単成分パーティションに隣接する単成分パーティションと結びつけることによって、二成分パーティションを形成することを含む、方法。
  20. 請求項19に記載の方法であって、二成分パーティションの形成は、さらに、
    前記単成分パーティションが前記文書内の最初の単成分パーティションである場合に、前記単成分パーティションと次の単成分パーティションとを結びつけることによって、二成分パーティションを形成し、
    前記単成分パーティションが前記文書内の最後の単成分パーティションである場合に、前記単成分パーティションと前の単成分パーティションとを結びつけることによって、二成分パーティションを形成し、
    前記単成分パーティションが前記文書内の最初の単成分パーティションでも最後の単成分パーティションでもない場合に、前記単成分パーティションを前の単成分パーティションと結びつけることによって第1の二成分パーティションを形成し、前記単成分パーティションを後の単成分パーティションと結びつけることによって第2の二成分パーティションを形成すること、
    を含む、方法。
JP2012521619A 2009-07-23 2010-07-21 文書インデックス化およびデータクエリングのための方法およびシステム Expired - Fee Related JP5616444B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN2009101514872A CN101963965B (zh) 2009-07-23 2009-07-23 基于搜索引擎的文档索引方法、数据查询方法及服务器
CN200910151487.2 2009-07-23
US12/804,441 US9275128B2 (en) 2009-07-23 2010-07-20 Method and system for document indexing and data querying
US12/804,441 2010-07-20
PCT/US2010/002047 WO2011011063A2 (en) 2009-07-23 2010-07-21 Method and system for document indexing and data querying

Publications (3)

Publication Number Publication Date
JP2012533819A true JP2012533819A (ja) 2012-12-27
JP2012533819A5 JP2012533819A5 (ja) 2013-08-29
JP5616444B2 JP5616444B2 (ja) 2014-10-29

Family

ID=43498187

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012521619A Expired - Fee Related JP5616444B2 (ja) 2009-07-23 2010-07-21 文書インデックス化およびデータクエリングのための方法およびシステム

Country Status (6)

Country Link
US (2) US9275128B2 (ja)
EP (1) EP2457185A4 (ja)
JP (1) JP5616444B2 (ja)
CN (1) CN101963965B (ja)
HK (1) HK1150081A1 (ja)
WO (1) WO2011011063A2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10311105B2 (en) * 2010-12-28 2019-06-04 Microsoft Technology Licensing, Llc Filtering queried data on data stores
US9129010B2 (en) * 2011-05-16 2015-09-08 Argo Data Resource Corporation System and method of partitioned lexicographic search
CN103064840A (zh) * 2011-10-20 2013-04-24 北京中搜网络技术股份有限公司 索引装置、索引方法、检索装置、检索方法和检索系统
US9536105B2 (en) 2012-01-26 2017-01-03 Nokia Technologies Oy Method and apparatus for providing data access via multi-user views
US8972715B2 (en) * 2012-07-13 2015-03-03 Securerf Corporation Cryptographic hash function
US9087055B2 (en) 2013-01-28 2015-07-21 International Business Machines Corporation Segmenting documents within a full text index
CN104376014B (zh) * 2013-08-15 2018-03-23 中国科学院声学研究所 一种结构化p2p网络中的资源发布及查询方法
US9715515B2 (en) * 2014-01-31 2017-07-25 Microsoft Technology Licensing, Llc External data access with split index
US10095807B2 (en) * 2015-04-28 2018-10-09 Microsoft Technology Licensing, Llc Linked data processor for database storage
CN106844638B (zh) * 2017-01-19 2020-11-03 杭州汇数智通科技有限公司 信息检索方法、装置及电子设备
CN107451122B (zh) * 2017-08-09 2020-11-13 南京华飞数据技术有限公司 一种基于Lucene的动态n元分词方法
CN110516141B (zh) * 2019-07-22 2022-08-30 视联动力信息技术股份有限公司 数据查询方法、装置、电子设备以及可读存储介质
US20240020330A1 (en) * 2022-07-18 2024-01-18 Providence St. Joseph Health Searching against attribute values of documents that are explicitly specified as part of the process of publishing the documents

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07105237A (ja) * 1993-10-08 1995-04-21 Matsushita Electric Ind Co Ltd 索引作成方法およびその装置と文書検索装置
JPH10312395A (ja) * 1997-03-10 1998-11-24 Toshiba Corp 全文検索システム及び全文検索方法並びに全文検索プログラムを記録した記録媒体
JP2001109754A (ja) * 1999-09-30 2001-04-20 Internatl Business Mach Corp <Ibm> 索引ファイルを使用した検索方法及びそれに用いる装置
JP2003208433A (ja) * 2002-01-10 2003-07-25 Mitsubishi Electric Corp 電子ファイリングシステム及びその検索インデックス作成方法
JP2009104669A (ja) * 2009-02-12 2009-05-14 Toshiba Corp 文書検索方法、システム及びプログラム

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5235654A (en) 1992-04-30 1993-08-10 International Business Machines Corporation Advanced data capture architecture data processing system and method for scanned images of document forms
US6076088A (en) * 1996-02-09 2000-06-13 Paik; Woojin Information extraction system and method using concept relation concept (CRC) triples
WO1998016889A1 (fr) * 1996-10-16 1998-04-23 Sharp Kabushiki Kaisha Appareil d'entree de caracteres et support de donnees dans lequel le programme d'entree de caracteres est mis en memoire
US6128613A (en) 1997-06-26 2000-10-03 The Chinese University Of Hong Kong Method and apparatus for establishing topic word classes based on an entropy cost function to retrieve documents represented by the topic words
US7039637B2 (en) * 1998-12-31 2006-05-02 International Business Machines Corporation System and method for evaluating characters in an inputted search string against a character table bank comprising a predetermined number of columns that correspond to a plurality of pre-determined candidate character sets in order to provide enhanced full text search
JP3696745B2 (ja) * 1999-02-09 2005-09-21 株式会社日立製作所 文書検索方法及び文書検索システム及び文書検索プログラムを記録したコンピュータ読み取り可能な記録媒体
US6631373B1 (en) 1999-03-02 2003-10-07 Canon Kabushiki Kaisha Segmented document indexing and search
US7725307B2 (en) * 1999-11-12 2010-05-25 Phoenix Solutions, Inc. Query engine for processing voice based queries including semantic decoding
US20020022953A1 (en) * 2000-05-24 2002-02-21 Bertolus Phillip Andre Indexing and searching ideographic characters on the internet
US6941513B2 (en) 2000-06-15 2005-09-06 Cognisphere, Inc. System and method for text structuring and text generation
US6687687B1 (en) 2000-07-26 2004-02-03 Zix Scm, Inc. Dynamic indexing information retrieval or filtering system
US6697801B1 (en) * 2000-08-31 2004-02-24 Novell, Inc. Methods of hierarchically parsing and indexing text
US7254269B2 (en) * 2000-08-31 2007-08-07 Hewlett-Packard Development Company, L.P. Character recognition system
CN1253815C (zh) * 2000-09-08 2006-04-26 百度在线网络技术(北京)有限公司 计算机在中文数据中识别中文姓名的方法
US7860706B2 (en) * 2001-03-16 2010-12-28 Eli Abir Knowledge system method and appparatus
EP1417824A4 (en) * 2001-07-18 2006-09-13 Min-Kyum Kim DEVICE AND METHOD FOR ENTERING ALPHABETIC CHARACTERS
US7814043B2 (en) * 2001-11-26 2010-10-12 Fujitsu Limited Content information analyzing method and apparatus
CA2475319A1 (en) * 2002-02-04 2003-08-14 Cataphora, Inc. A method and apparatus to visually present discussions for data mining purposes
CA2501114A1 (en) * 2002-04-12 2003-10-23 Metainformatics System and method for semantics driven data processing
US7254580B1 (en) 2003-07-31 2007-08-07 Google Inc. System and method for selectively searching partitions of a database
US7617249B2 (en) 2003-09-06 2009-11-10 Oracle International Corporation Method and system of handling document operation requests on documents having large collections with constrained memory
US7493322B2 (en) * 2003-10-15 2009-02-17 Xerox Corporation System and method for computing a measure of similarity between documents
US7458022B2 (en) 2003-10-22 2008-11-25 Intel Corporation Hardware/software partition for high performance structured data transformation
GB2417103A (en) * 2004-08-11 2006-02-15 Sdl Plc Natural language translation system
US7487138B2 (en) 2004-08-25 2009-02-03 Symantec Operating Corporation System and method for chunk-based indexing of file system content
US20080077570A1 (en) 2004-10-25 2008-03-27 Infovell, Inc. Full Text Query and Search Systems and Method of Use
US7516125B2 (en) 2005-08-01 2009-04-07 Business Objects Americas Processor for fast contextual searching
US20080155239A1 (en) * 2006-10-10 2008-06-26 Honeywell International Inc. Automata based storage and execution of application logic in smart card like devices
CN101149739A (zh) * 2007-08-24 2008-03-26 中国科学院计算技术研究所 一种面向互联网的有意义串的挖掘方法和系统
US9218166B2 (en) * 2008-02-20 2015-12-22 Embarcadero Technologies, Inc. Development system with improved methodology for creation and reuse of software assets
JP5408128B2 (ja) * 2008-05-15 2014-02-05 株式会社ニコン 画像処理装置、画像処理方法、処理装置、およびプログラム
KR20120009446A (ko) * 2009-03-13 2012-01-31 인벤션 머신 코포레이션 자연 언어 텍스트의 자동화 의미적 라벨링 시스템 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07105237A (ja) * 1993-10-08 1995-04-21 Matsushita Electric Ind Co Ltd 索引作成方法およびその装置と文書検索装置
JPH10312395A (ja) * 1997-03-10 1998-11-24 Toshiba Corp 全文検索システム及び全文検索方法並びに全文検索プログラムを記録した記録媒体
JP2001109754A (ja) * 1999-09-30 2001-04-20 Internatl Business Mach Corp <Ibm> 索引ファイルを使用した検索方法及びそれに用いる装置
JP2003208433A (ja) * 2002-01-10 2003-07-25 Mitsubishi Electric Corp 電子ファイリングシステム及びその検索インデックス作成方法
JP2009104669A (ja) * 2009-02-12 2009-05-14 Toshiba Corp 文書検索方法、システム及びプログラム

Also Published As

Publication number Publication date
WO2011011063A2 (en) 2011-01-27
WO2011011063A3 (en) 2014-03-13
US9275128B2 (en) 2016-03-01
CN101963965A (zh) 2011-02-02
US20160171052A1 (en) 2016-06-16
EP2457185A2 (en) 2012-05-30
JP5616444B2 (ja) 2014-10-29
US9946753B2 (en) 2018-04-17
HK1150081A1 (en) 2011-10-28
EP2457185A4 (en) 2015-04-08
CN101963965B (zh) 2013-03-20
US20110022596A1 (en) 2011-01-27

Similar Documents

Publication Publication Date Title
JP5616444B2 (ja) 文書インデックス化およびデータクエリングのための方法およびシステム
US10289700B2 (en) Method for dynamically matching images with content items based on keywords in response to search queries
JP6266080B2 (ja) 類似性スコアに基づきコンテンツアイテムと画像とのマッチングを評価する方法、およびシステム
CN107103016B (zh) 基于关键词表示使图像与内容匹配的方法
CN107463591B (zh) 响应于搜索查询对待与内容匹配的图像动态排序的方法和系统
US10140368B2 (en) Method and apparatus for generating a recommendation page
US8983947B2 (en) Augmenting search with association information
JP6165955B1 (ja) 検索クエリに応答してホワイトリストとブラックリストを使用し画像とコンテンツをマッチングする方法及びシステム
US10275472B2 (en) Method for categorizing images to be associated with content items based on keywords of search queries
JP6363682B2 (ja) 画像とコンテンツのメタデータに基づいてコンテンツとマッチングする画像を選択する方法
CN103226601A (zh) 一种图片搜索的方法和装置
CN114020867A (zh) 一种搜索词的扩展方法、装置、设备及介质
JP5589009B2 (ja) 推薦クエリ抽出装置及び方法及びプログラム
CN111782958A (zh) 推荐词确定方法、装置、电子装置及存储介质
CN105808607A (zh) 一种文档索引的生成方法和装置
CN115496065A (zh) 识别复合词的方法、装置、设备及存储介质
TWI647578B (zh) Search engine based document indexing method, data query method and server
Kumar et al. Enhancing the Search Results through Web Structure Mining Using Frequent Pattern Analysis and Linear Correlation Method
US20150081682A1 (en) Method and System for Filtering Search Results

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130708

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130708

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140508

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140911

R150 Certificate of patent or registration of utility model

Ref document number: 5616444

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees