JP5389186B2 - エンティティをマッチングするシステム及び方法 - Google Patents

エンティティをマッチングするシステム及び方法 Download PDF

Info

Publication number
JP5389186B2
JP5389186B2 JP2011537857A JP2011537857A JP5389186B2 JP 5389186 B2 JP5389186 B2 JP 5389186B2 JP 2011537857 A JP2011537857 A JP 2011537857A JP 2011537857 A JP2011537857 A JP 2011537857A JP 5389186 B2 JP5389186 B2 JP 5389186B2
Authority
JP
Japan
Prior art keywords
entity
index
matching
entities
word
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
JP2011537857A
Other languages
English (en)
Other versions
JP2012510654A (ja
Inventor
リカルド カールソン,
オロフ ルンドストレム,
アリツメンディ, ジェラルド モンテロ
ヤルマル オルソン,
Original Assignee
テレフオンアクチーボラゲット エル エム エリクソン(パブル)
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 テレフオンアクチーボラゲット エル エム エリクソン(パブル) filed Critical テレフオンアクチーボラゲット エル エム エリクソン(パブル)
Publication of JP2012510654A publication Critical patent/JP2012510654A/ja
Application granted granted Critical
Publication of JP5389186B2 publication Critical patent/JP5389186B2/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/33Querying
    • G06F16/3331Query 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
    • G06F16/316Indexing structures
    • G06F16/322Trees

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)
  • Information Transfer Between Computers (AREA)

Description

本発明は、データの取得及び解析の分野に関し、特に、マッチングシステムにより受信されたエンティティが先に受信したエンティティと一致するかを判定する方法及びシステムに関する。
過去5〜10年の間に、「検索(Search)」は世界中の人々のデジタル世界における1つの現象となった。一般的な検索の状況において、短い検索クエリは、大きな文書又は少なくともより大きな文書を見つけるために使用される。一般的な例は、インターネット検索エンジン又は図書館に貯蔵された論文や書籍を検索するための図書館コンピュータにインストールされた検索エンジンである。
上述したような従来の検索(Search)の例は、一般的なマッチング(match)例とは異なる。マッチング例において、他のユーザにより入力されたデータと一致するかを見つける目的で2人以上のユーザがデータをシステムに入力する。すなわち、検索の例とは対照的に、システムに情報を入力する全てのユーザが一致する情報を見つけることに興味を有する。検索の例においては、一般的には1つ又はいくつかのキーワードの形態である検索クエリを入力するユーザのみがマッチング結果に興味を有する。技術的な観点から、マッチングシステムは、少なくとも入力「クエリ」が先に受信したクエリ又は後で受信されるクエリに対して潜在的に一致するものであるためにマッチングシステムがそれらのクエリに索引付けをする必要があるという点で検索エンジンとは異なる。「一致クエリ(match query)」を従来の検索クエリ(search query)と区別するために、「一致クエリ」においてマッチングシステムに送信されたデータは、本明細書において「エンティティ(entity)」と呼ばれる。
マッチングシステムは、多くの種々のマッチングサービスにおいて使用される。そのようなサービスの例は、オンライン就職/採用サービス、電子商取引サービス、オンラインデートサービスである。
既存のマッチングシステムにおいて、マッチング動作は、少なくとも2つのサブ動作、すなわち挿入動作及び検索動作に分割されると言われる。最初に、新しいユーザがエンティティをシステムに送出すると、エンティティがシステムのデータ構造に挿入される挿入動作が行われる。この動作は、高速で正確なエンティティの検索を助長するためにエンティティがインデックスポイントと関連付けられる索引にエンティティを索引付けすることにより他のユーザがエンティティを検索できるようにするステップを含む。後の段階で、システムが一致するエンティティを検索する検索動作が行われる。検索動作は、システム内で起こるある事象により開始される。そのような事象は、「一致トリガ事象」と考えられてもよい。既存のマッチングシステムにおいて、一致トリガ事象は、例えば就職ウェブサイトを訪問した時又は就職アプリケーションをホストするサーバにおいて実行しているタイマの満了時にウェブブラウザにおいてユーザに対して表示された「一致する就職検索ボタン」をユーザが押下することであってもよい。前回一致トリガ事象が起こってから新しく一致するものがシステムに追加されたかを見つけるために、ユーザは次に事象が起こるのを待つ必要がある。すなわち、この例示的な例において、ユーザは、タイマが満了するのを待つか又は検索ボタンを再度押下する必要がある。マッチングシステムが潜在的に一致するものを検索する方法及び時期は、知覚される一致サービスの品質にとって重要である。また、それぞれの一致トリガ事象が起こる間では、マッチングシステムが「不一致状態」である危険性があり、これは、システムがシステムに格納された種々のエンティティが互いに一致することを認識できない可能性があることを意味する。当然、これは、システムが一致するエンティティの存在を認識できない限りユーザがそれら一致するエンティティに関して通知されないため、マッチングシステムの望ましくない状態である。これにより、マッチングシステムが使用されるサービスに関してユーザが知覚する品質は低下することが多い。
マッチングシステムが潜在的に一致するものの検索を実行する方法及び時期は、マッチングシステムにより必要とされる計算能力にとっても重要である。既存のシステムにおいて、索引は、マッチング動作中少なくとも2度考察される必要がある。1度は、エンティティを索引付けする挿入動作中であり、1度は一致するエンティティを追跡するために索引を考察する検索動作中である。一般的なマッチングシステムの索引が膨大なデータを含むため、この処理は遅く且つ計算能力を消費することが多い。
従って、従来技術に係るマッチングシステムと関連する1つの問題は、システムが使用されるマッチングサービスに関してユーザが知覚する品質を向上する方法である。別の問題は、マッチングシステムにおいて必要とされる計算容量を低減する方法である。更に別の問題は、システムにおいて潜在的に一致するものを全て見つけるのに必要な時間を短縮する方法である。
本発明の目的は、マッチングシステムに対する上述の問題のうち少なくとも1つを解決するか又は少なくとも軽減することである。
この目的は、第1のユーザのクライアントデバイスから受信された第1のエンティティが、各エンティティが1つ以上のインデックスポイントと関連付けられる索引において索引付けされた複数のエンティティのうちの少なくとも1つと一致するかを判定できるマッチングシステムにより達成される。マッチングシステムは、マッチングエンジン及びクライアントデバイスと通信するように構成されるJavaEEアプリケーションサーバ等のアプリケーションサーバを含む。マッチングエンジンは、第1のエンティティを索引の1つ以上のインデックスポイントと関連付けることにより第1のエンティティを索引付けし、且つ第1のエンティティが関連付けられるインデックスポイントのうちの少なくとも1つと関連付けられたエンティティを検索することにより索引において索引付けされた複数のエンティティの中から第1のエンティティと一致するエンティティを検索するように構成される。マッチングシステムは、本明細書では一致トリガ事象と呼ばれるものが起こった時に第1のエンティティと一致するエンティティの検索を開始するように構成される。マッチングシステムは、そのような一致トリガ事象として第1のエンティティの受信を解釈するように構成される。これにより、マッチングシステムは、第1のエンティティの受信時に検索を開始するように構成される。
背景の節で説明したように、「エンティティ」という用語は、本明細書において、「一致クエリ」でマッチングシステムに送信されたデータを検索クエリで従来の検索エンジンに送出されたデータと区別するために使用される。本明細書において、エンティティが別のエンティティと一致するということは、エンティティが少なくとも1つの共通のインデックスポイントを有すること、すなわち双方のエンティティが関連付けられるインデックスポイントが少なくとも1つ索引に存在することを意味する。インデックスポイントは、そのインデックスポイントと関連付けられた1つ/複数のエンティティ内で見つけられた1つの記号又は記号シーケンスに対応するあらゆる記号(文字等)又は記号シーケンス(単語等)であってもよく、あるいは関連付けらえた1つ/複数のエンティティの1つ又はいくつかの特性を反映する記号又は記号シーケンスであってもよい。エンティティは、例えばテキストファイル、画像ファイル、オーディオファイル、あるいは関連付けられたエンティティを特徴付けるインデックスポイントの役割を果たす単語又は他の記号シーケンスに「変換」される特性を有するあらゆる他の種類のデータであってもよい。マッチングシステムにより使用される索引は、従来技術において既知のあらゆる種類の検索エンジン/一致エンジン索引であってもよい。使用する索引の種類及び索引データを構造化し且つ格納する方法は、種々の設計因子を満たすように変更されてもよく、例えばシステムが使用されるマッチングサービス及びそのサービスで使用されるエンティティの種類に適合するように変更されてもよい。
新しいエンティティの受信を一致トリガ事象として解釈し、新しいエンティティの受信時に一致するエンティティの検索を実行することにより、マッチングシステムは継続して「一致状態」に維持され、これは、システムがシステムに格納された全てのエンティティ間で一致するもの全てを常に認識していることを意味する。この特徴は、一致するエンティティがマッチングシステムにより受信された時にシステムがユーザのエンティティと一致する新しいエンティティに関してユーザに自動的に通知することを可能にする効果を有する。背景の節で説明した従来技術に係るマッチングシステムと比較すると、ユーザは、先の検索動作の実行後にユーザのエンティティと一致する新しいエンティティがマッチングシステムに提出されたかを調査するために、時間でトリガされる検索動作を実現するマッチングシステムの場合のように時間の決定された検索動作が次に行われることを待つ必要がないという点において、あるいはクリックによりトリガされる検索動作を実現するマッチングシステムの場合のように「一致検索ボタン」を再度押下する必要がないという点において利点を有する。システムの観点から、その特徴は、検索動作が前回実行されてから新しいエンティティがシステムにより受信されない限り、検索が行われる必要がないため、マッチングシステムにより必要とされる計算能力を低減するという点で利点を有する。従って、提案された原理は、既に検索されたエンティティに対して検索が重複して行われないことを保証する。上述した従来技術に係るマッチングシステムにおいて、検索動作が前回実行されてから新しいエンティティがシステムに提出されていないのに、検索動作、並びに従って時間及び計算能力を消費する索引の考察が実行される可能性がある。
第1のエンティティと一致するエンティティの検索及び第1のエンティティの索引付けは、マッチングシステムがマッチング動作毎に1度だけ索引を考察する必要があるように単一の動作で実行されるのが好ましい。これは、第1のエンティティが関連付けられる索引のインデックスポイント毎に、そのインデックスポイントと第1のエンティティとを関連付け且つそのインデックスポイントと関連付けられる他のエンティティを識別する情報を検索するようにマッチングシステムを構成することにより達成されてもよい。インデックスポイントとのエンティティの関連付けは、一般に、索引のそのインデックスポイントにエンティティを一意に識別するエンティティ識別パラメータを格納することにより達成される。従って、この場合、第1のエンティティが関連付けられるインデックスポイントに第1のエンティティのエンティティ識別パラメータを格納する時、既に格納されているエンティティ識別パラメータは追加のコストなしで同時に検索可能である。一般にマッチングシステムの索引が複雑なデータ構造に膨大なデータを格納するため、索引の1回の考察で索引付け及び検索の双方を実行する特徴により、マッチングシステムにより必要とされる計算能力が低減され且つ/又は各マッチング動作を実行するのに必要な時間、すなわち新しいエンティティの索引付け及び新しいエンティティに一致するエンティティの検索に必要な時間が短縮される。
本発明に係るマッチングシステムの更に有利な特徴については、以下の詳細な説明及び添付の請求の範囲において説明する。
更に本発明は、第1のユーザのクライアントデバイスから受信された第1のエンティティが、各エンティティが1つ以上のインデックスポイントと関連付けられる索引において索引付けされた複数のエンティティのうち少なくとも1つと一致するかを判定する請求項9に記載されるような方法、並びにこの方法をサーバノードに実行させる請求項17に記載されるようなコンピュータプログラムに関する。また、本発明は、コンピュータプログラムが格納された記憶媒体を含むコンピュータプログラム製品に関する。
本発明の目的、利点及び効果、並びに特徴は、添付の図面と共に以下の本発明の例示的な実施形態の詳細な説明を読むことにより更に容易に理解されるだろう。
図1は、システムにより受信されたエンティティが先に受信されたエンティティと一致するかを判定する例示的なマッチングシステムを示す図である。 図2は、マッチング動作が従来技術に係る一般的なマッチングシステムにより実行される方法を示す図である。 図3は、図1のマッチングシステムにより実行される例示的なマッチング動作を示す図である。 図4は、図1のマッチングシステムにより達成される利点のうちの1つを示すマッチングの例を示す図である。 図5は、図3に示したマッチング動作の実行方法のより詳細な例を概略的に示す図である。 図6は、図1のマッチングシステムの種々の構成要素が図5に示したようなマッチング動作中に互いに通信するように構成される方法を示す信号フロー図である。 図7は、図1のマッチングシステムの索引に対して使用されてもよい例示的な索引データ構造を示す図である。 図8は、データが図7に示したように構造化される索引を使用する時に組み合わせ検索/索引付け動作が図1のマッチングシステムにより実行される方法を示すフローチャートである。 図9は、データが図7に示したように構造化される索引を使用する時に組み合わせ検索/索引付け動作がマッチングシステムにより実行される方法を示す信号フロー図である。
本発明は、種々の変形例及び別の構成を範囲に含むが、本発明の実施形態を図に示し以下に詳細に説明する。しかし、特定の説明及び図面は、本発明を開示される特定の形態に限定することを意図しないことが理解されるだろう。これに対して、請求される本発明の範囲は、添付の請求の範囲に表されるような発明の範囲内に入る全ての変形例及び別の構成を含むことが意図される。
図1は、本発明に係る例示的なマッチングシステム1を示す。マッチングシステム1は、異なるユーザ13A、13Bのクライアントデバイス15A、15Bから受信されたエンティティ17A、17Bが互いに一致するかを判定するように構成される。マッチングシステム1は、ウェブサーバ3、アプリケーションサーバ5及びデータベースサーバ11を含み、それらは図中に双方向の矢印で示されるようにデータをやり取りするために通信可能に接続される。
一般にユーザ13A、13Bは、自身のクライアントデバイス15A、15Bにおいてウェブブラウザを介しインターネットを通してマッチングシステム1によりホストされるマッチングサービスにアクセスする。ウェブサーバ3は、クライアントデバイス15A、15Bとの通信を処理し且つ満足のいく機能ユーザインタフェースをレンダリングする役割を果たす。一般にこれは、XHTML(拡張ハイパーテキストマークアップ言語)/HTMLウェブページを構成し且つクライアントデバイス15A、15Bに配布することにより達成される。
アプリケーションサーバ5は、ソフトウェアにより実現されたマッチングサービスを実行する役割を果たすシステムの一部である。アプリケーションサーバ5は、以下においてマッチングエンジン7と呼ばれるマッチング機能を含み、マッチング機能は、1つ又はいくつかのクライアントデバイス13A、13Bから受信されたエンティティ17A、17Bが互いに一致するかを判定するのに必要な全ての機能性を含む。ここで、マッチングエンジン7は、アプリケーションサーバ5のハードディスクドライブ、ROM(読み出し専用メモリ)、フラッシュメモリ又はEEPROM(電気的消去可能プログラマブル読み出し専用メモリ)等のコンピュータ可読媒体8に格納されるコンピュータプログラムとして実現される。コンピュータプログラム6がアプリケーションサーバ5のプロセッサで実行される場合、本発明に係るマッチング動作をアプリケーションサーバ5に実行させる。マッチング動作については以下に更に詳細に説明する。アプリケーションサーバ5は、例えばJavaEE(Enterprise Edition)アプリケーションサーバであってもよい。
データベースサーバ11は、SQL(構造化照会言語)データベース等のデータベース12を含み、マッチングシステム1により受信された全てのエンティティを格納する。新しいエンティティは、データベース12に格納された場合、そのエンティティを一意に識別するエンティティ識別パラメータ19A、19Bが割り当てられる。データベース12はエンティティ記憶装置として機能し、エンティティ識別パラメータ19A、19Bはエンティティ記憶装置のエンティティを見つけるためのキーである。エンティティ識別パラメータ19A、19Bは、以下においてエンティティIDと呼ばれる。
アプリケーションサーバ5は、全てのエンティティ17A、17Bが一致するエンティティの検索を助長するために索引付けされるマッチングエンジン索引23を更に含む。索引データが構造化及び格納される方法は、種々のシステム設計因子を満たすように変更されてもよい。例えば索引データは、順序木データ構造(「トライ(trie)」と呼ばれることもある)、2分木データ構造、ハッシュテーブル又は分散ハッシュテーブルで構造化されてもよい。この例示的な実施形態において、エンティティ19A、19Bはテキスト列であり、索引23は、各単語を含むエンティティ17A、17BのエンティティID19A、19Bのリストを格納するものとして示される。一般的なマッチングエンジン索引において、各エンティティは1つ以上のインデックスポイントと関連付けられる。あるエンティティ及び別のエンティティが少なくとも1つの共通のインデックスポイントを有する場合、すなわち双方が少なくとも1つの共通のインデックスポイントと関連付けられる場合、それらのエンティティは少なくともある程度一致すると言われる。この例示的な索引において、各単語21は索引23のインデックスポイントに対応する。本実施形態の索引23はアプリケーションサーバ5の記憶手段8に格納されるが、索引は、別個の「索引データベースサーバ」(不図示)又はデータベースサーバ11等のマッチングシステム1の別のノード、あるいはアプリケーションサーバ5のキャッシュメモリに格納されてもよい。使用される索引の種類及び索引の格納方法は、本発明に係るマッチングシステム1の限定的な特徴として解釈されるべきではない。
図示したマッチングシステムアーキテクチャは単なる例示であり、マッチングシステム1は多くの他の方法で実現可能であることが理解されるべきである。例えばウェブサーバ3及び/又はデータベースサーバ11は、マッチングシステム1全体が単一のサーバノード内に常駐するようにアプリケーションサーバ5に含まれてもよく、クライアントデバイス13A、13Bは、ウェブサーバ3を介してアプリケーションサーバ5と通信する代わりに例えばJavaME(Micro Edition)アプリケーションを介してアプリケーションサーバ5と直接通信してもよい。
図2は、マッチング動作が従来技術に係る一般的なマッチングシステムにより実行される方法を示す。
第1のステップS201において、ユーザは、以下において新しいエンティティと呼ばれるエンティティをクライアントデバイスからマッチングシステムに送出する。マッチングシステムは、新しいエンティティを受信すると、ステップS202においてマッチングシステムのデータ構造に新しいエンティティを挿入することを開始する。ステップS203において、新しいエンティティを索引付けし且つ一般には更に格納することを含む挿入動作が実行される。索引付けは、マッチングシステムの索引を考察し且つ新しいエンティティを1つ以上のインデックスポイントと関連付けることにより実行され、その新しいエンティティが他のユーザにより検索できるようにする。ステップS204において、マッチングシステムは、データ構造への新しいエンティティの挿入が成功したことを通知される。その後ある時点で、新しいエンティティと一致するエンティティを検索するようにマッチングシステムをトリガする事象(イベント)が起こる。背景の節で説明したように、一致するエンティティの検索を開始するそのような事象は、一致トリガ事象(matching triggering event)と呼ばれてもよい。従来のマッチングシステムにおいて、検索は所定のある時点で開始されてもよく、この場合、一般に一致トリガ事象はマッチングシステムをホストするサーバで実行されているタイマの満了に対応する。TT(「タイマによるトリガ」を表す)により示された円は、そのような一致トリガ事象の発生を示す。従来技術に係る他のマッチングシステムにおいて、検索は、ウェブブラウザにおいてユーザに対して表示された「一致検索ボタン」をクリックすることによりエンティティを送出したユーザにより開始されてもよい。TC(「クリックによるトリガ」を表す)により示された円は、そのようなクリックの発生及び従って別の種類の一致トリガ事象の発生を示す。一致トリガ事象TT、TCが発生すると、ステップS205において、システムは新しいエンティティと一致するエンティティの検索を開始する。ステップS206において、検索は新しいエンティティと一致するエンティティを追跡するために索引を再度考察することにより実行される。ステップS207において、一致するエンティティ又は少なくとも一致するエンティティを識別可能にする情報がマッチングシステムにより検索され、ステップS208において一致するエンティティはユーザのクライアントデバイスに送出される。
マッチング動作は、2つの別個のサブ動作、すなわちステップS203の挿入動作及びステップS206の検索動作を含むものとして示される。一般に挿入動作は、新しいエンティティが受信されると実行され、検索動作は一致トリガ事象TT、TCにより開始される後の段階で実行される。これは、新しいエンティティをマッチングシステムに送出するユーザが入手可能な一致するエンティティの有無を調査する前に一致トリガ事象が起こるのを待つ必要があり、マッチングシステムが新しいエンティティの挿入と一致トリガ事象の発生との間では「不一致状態である」ことを意味する。この状態は、マッチングシステムが新しいエンティティとマッチングシステムに格納された他のエンティティとの間で潜在的に一致するものをいずれも認識できないことを意味する。
図3は、マッチング動作が本発明に係るマッチングシステム1により実行される方法の一例を示す。
ここで、ステップS301において、クライアントデバイスから送出された新しいエンティティはマッチングシステムにより受信される。マッチングシステムは、新しいエンティティの受信を一致トリガ事象として解釈し、新しいエンティティの受信時に一致するエンティティの検索を開始するように構成される。一致するエンティティの検索が新しいエンティティの受信時に開始されることは、受信と検索との間にマッチングシステムにより行われる中間動作がないことを必ずしも意味するわけではなく、受信が検索動作を1つの動作として含む一連の動作を実行するようにマッチングシステムをトリガすることを単に意味する。従って、マッチングシステムが検索を開始するために、新しいエンティティの受信以外の事象が起こる必要はない。ここで、一致トリガ事象は、TR(「受信によるトリガ」を表す)で示された破線の円により図示される。本実施形態において、マッチングシステムは、ステップS302で組み合わせ挿入/検索動作を開始する。これについては以下に更に詳細に説明する。ステップS303において、データ構造への新しいエンティティの挿入及び新しいエンティティに一致するエンティティの検索の双方が実行される。ステップS304において、一致するエンティティがマッチングシステムにより検索され、ステップS305において、一致するエンティティは新しいエンティティをマッチングシステムにアップロードしたユーザのクライアントデバイスに送出される。新しいエンティティの受信時に検索を実行することにより、マッチングシステムは継続して一致状態に維持される。
図4は、新しいエンティティの受信時に一致するエンティティの検索を開始するように構成されたマッチングシステムにより達成される利点のうちの1つを示す例を示す。ここで、第1のステップS401において、マッチングシステムは、第1のユーザのクライアントデバイスから第1のエンティティを受信する。ステップS402において、マッチングシステムは、第1のエンティティを索引付けし且つ一般には更に格納することによりマッチングシステムのデータ構造に第1のエンティティを挿入し、一致するエンティティを検索する。図2に示した例のように、挿入及び検索は共通の動作で実行される。ステップS403において、マッチングシステムは、この例示的な例においては否定で示される検索結果を第1のユーザに通知する。ここで、マッチングシステムが従来技術に係るマッチングシステムであった場合、図中で検索動作を示す×印をつけた矢印により示されるように、新しいエンティティがシステムに提出されていないが重複した検索が実行された可能性がある。しかし、提案したマッチング動作により、新しいエンティティがマッチングシステムにより受信されるまで検索は繰り返されない。これは、第2のエンティティが第2のユーザのクライアントデバイスからマッチングシステムに送出されるステップS404で実行されるように示される。第2のエンティティの受信により、ステップS405で実行される新しい検索がトリガされる。この例示的な例において、第1のエンティティは第2のエンティティと一致すると仮定され、その結果、ステップS406A及びS406Bにおいて、マッチングシステムは、第2のエンティティを第1のユーザに送出し且つ第1のエンティティを第2のユーザに送出することによりユーザのそれぞれのエンティティに一致するものが見つけられたことを第1のユーザ及び第2のユーザの双方に通知する。従って、提案したマッチング動作を実現するように構成されたマッチングシステムは、重複した検索が実行されないため計算能力を節約でき、マッチングシステムが使用されるサービスのユーザは、自身のエンティティと一致する新しいエンティティがマッチングシステムに提出されるとすぐに自動的に通知されるため既存の一致するもの関して通知されないことを心配する必要がない。
当然、マッチングシステムは、ステップS406A及びS406Bにおいて各ユーザ(すなわち、各ユーザのクライアントデバイス)に一致するエンティティ自体を送出する必要はない。マッチングシステムは、一致するエンティティを識別する何らかの情報を各ユーザに送出するように構成される。例えば、マッチングシステムがオンラインデートサービスに使用される場合(この場合、エンティティは、例えばサービスを使用する人のユーザプロファイル又はユーザプロファイルの一部に対応してもよい)、ステップS406A及びS406Bにおいて第1のユーザ及び第2のユーザのクライアントデバイスに送出された情報は、デートサービスをホストするウェブサイトの一致するユーザの「個人ページ」に対するURL(ユニフォームリソースロケータ)であってもよい。あるいは、例えばステップS405で一致するものが見つけられた時に第1のユーザがデートサービスにログインしていない場合、マッチングシステムは、例えば第1のエンティティを第2のユーザに送出する一方で、新しく一致するものが見つけられ且つそれを添付のURLで閲覧できるという情報と共にSMSメッセージ又は電子メールで第2のユーザの個人ページに対するURLを第1のユーザに送出するように構成される。別の実施形態によると、マッチングシステムは、ステップS405において一致するものが検出されると、第1のユーザ及び第2のユーザのユーザデバイスに何も送出しないように構成される。その代わり、マッチングシステムは一致するものをデータベース又はキャッシュメモリに格納するように構成され、ユーザが次にサービスにログインした時にそのデータベース又はキャッシュメモリから一致するものが検索され且つユーザに送出される。この場合、一致するものはユーザの個人ページ「ようこそ画面」等に表示されてもよい。
図3及び図4で示した例示的なマッチング動作において、挿入及び検索はステップS303並びにステップS402及びS405で実行された単一の動作に組み合わされたが、新しいエンティティの受信時に検索が開始される提案したマッチング動作は、図2に示したような従来技術に係るマッチング動作(ステップS203及びS206)で行われるように2つの別個のサブ動作で挿入及び検索を実行することにより行われてもよいことが理解されるべきである。検索動作が他の事象ではなく新しいエンティティの受信によりトリガされる限り、マッチングシステムは継続して一致状態で維持され、上述した利点の恩恵を受ける。
しかし、単一の動作で挿入及び検索を実行することは、マッチングシステムにより必要とされる計算能力が更に低減され且つ/又はマッチング動作を実行するのに必要な時間が短縮されるという点で利点を有する。次に、組み合わせ挿入/検索を採用するマッチング動作について図5を参照して説明する。
図5は、本発明に係るマッチング動作の更に詳細な例を概略的に示す。図5を説明する際、図1のマッチングシステム1を同時に参照する。
ステップS501 − 新しいエンティティの受信及び格納
新しいエンティティ17Aは、クライアントデバイス15A及び15Bの一方からマッチングシステム1により受信される。この例において、エンティティ17Aは、「Blue car」というテキスト列であり、テキスト列「Blue car」を含む他のエンティティとマッチングされるべきである。マッチングシステム1は、新しいエンティティ17Aをデータベース12に格納し、この時整数「64」の形態のエンティティID19Aが割り当てられる。
ステップS502 − エンティティの前処理
エンティティを索引付けする前に、テキスト列は前処理される必要がある場合がある。この例において、前処理は非常に単純な動作である。テキスト列の末尾の特殊文字「.」が除去され、テキスト列はテキスト列を形成するリスト22又は単語シーケンスにトークン化され、全ての文字は大文字にされる。これは、プリプロセッサと呼ばれてもよいマッチングエンジン7の一部により達成される。前処理は、この例においては単純な動作であるが、はるかに複雑であり且つ同義語への置換及びステミング(stemming)等の特徴を含む可能性がある。更に、「a」、「an」、「the」、「and」等のマッチングの観点からごく僅かな情報を保持する共通の単語を除去するステップを含んでもよい。
ステップS503 − エンティティの索引付け及び一致するエンティティの検索
次に新しいエンティティ17Aを索引付けする。これは、エンティティを索引23の1つ又はいくつかのインデックスポイント21と関連付けることにより実行される。索引23は、各々が索引23のインデックスポイント21に属する6つの「バスケット」を含むものとして示される。この例において、インデックスポイントはエンティティ記憶装置12に格納されたエンティティ17B内で発生する単語に対応する。各バスケット内の数字は、バスケットが属する単語を含むエンティティ17BのエンティティID19Bである。新しいエンティティ17Aは、それをリスト22中の単語「blue」及び「car」に対応するインデックスポイントと関連付けることにより索引付けされる。これは、新しいエンティティ17AのエンティティID19Aをそれらのバスケットに挿入することにより示される。バスケットに格納された他のエンティティIDは、新しいエンティティと一致すると考えられるエンティティのエンティティIDである。
通常、新しいエンティティを関連付けられる全てのインデックスポイントと関連付けた時、従来技術に係るマッチングシステムは、一般に新しいエンティティの挿入が成功したことを確認し且つ一致トリガ事象が起こるまで「アイドルモード」に戻る。一致トリガ事象が発生し且つ新しいエンティティと一致するエンティティの検索が実行される時、そのような従来技術に係るマッチングシステムは、新しいエンティティのエンティティIDが格納されるバスケットを見つけるために(比喩的に言うと)索引23を再度考察し、同一バスケットに格納された他の全てのエンティティIDを検索する必要がある。しかし、本発明の1つの態様によると、新しいエンティティ19AのエンティティID17Aが各「バスケット」に挿入されるのと同時に一致するエンティティのエンティティIDが検索される。新しいエンティティ19AのエンティティID17Aが挿入されるべきバスケットを見つけるために索引23が考察される必要があるため、一致するエンティティのエンティティIDの検索は追加のコストなしで達成される。
結論として、提案された原理により、新しいエンティティ17Aの索引付けの結果、一致するエンティティが検索される。換言すると、エンティティの索引付け及びそのエンティティに一致するエンティティの検索が索引23の1回の考察で実行される。インデックスポイントとのエンティティの関連付けは、エンティティIDを「バスケット」に事実上配置することにより行われないことは言うまでもない。当業者には既知であるように、索引は多く種々の方法で設計され、エンティティを種々のインデックスポイントと関連付ける方法は索引の種類に依存する。上述した索引付け/検索動作は、検索エンジンと呼ばれてもよいマッチングエンジン7の一部により実行される。
ステップS504 − 一致するエンティティの評価
ステップS503で実行された組み合わせ索引付け/検索動作の結果、一致するエンティティを識別するエンティティIDのリスト25が得られる。リスト25は、新しいエンティティ17Aに対する未処理のマッチング結果を表すと考えられる。ある状況において、そのようなリストは非常に広範なものであり、マッチング結果が有用となる前に、リスト25は評価処理で向上される必要がある。評価は、マッチングシステム1が完成した結果の集合25から重要な部分を選別する方法である。通常、最も関連性の低い一致するエンティティが除去され、残りが関連性により順序付けされる。
評価を実現する最も基本的な方法は、マッチングされたエンティティ17Aが一致する各エンティティと共通に有するインデックスポイント21の数をカウントすることである。この例示的な例において、エンティティID「16」を有するエンティティは、「16」がリスト25で2回発生するため新しいエンティティ17Aと共通のインデックスポイントを2つ有し、エンティティID「32」を有するエンティティ及び新しいエンティティ17Aは共通のインデックスポイント21を1つだけ有する。従って、マッチングシステム1は、エンティティID「16」のエンティティをエンティティID「32」のエンティティより高く評価するように構成される。
評価を実現する別の単純で一般的な方法は、いわゆる逆出現頻度の方法を使用することである。基本的にこの方法は、珍しい単語を一般的な単語より高く評価する。その結果、共通の珍しい単語を含む2つのエンティティは、頻繁に発生する共通の単語を有する2つのエンティティより一致すると考えられる。これは、従来の検索アプリケーションにおける一般的な評価方法である。逆出現頻度の方法により2つのエンティティ間の関係を評価するために、2つのエンティティの共通の単語が既知であると仮定される。システムにおける単語の合計数を認識していることが前提条件である。逆出現頻度は、以下の公式により単語毎に計算される。
Figure 0005389186
式中、wtは単語の重みであり、Nはシステムにおけるエンティティの合計数であり、ftは単語を含むシステムにおけるエンティティ数である。これは、一致するエンティティを評価する最適な方法でないことは言うまでもない。高機能化のためにその評価に対して多くの改善を行える。しかし、これは場合によっては十分に適切な解決策である。別の処理しにくいタスクは、一致するエンティティと考えるべきものか考えるべきでないものかを判定する方法である。一般にこれは、マッチングシステムの精度に関する要件に依存する。
検索中に見つけられた一致するエンティティを評価する多くの方法が従来技術において既知である。上述した2つの原理は、別個に使用されてもよく、あるいは互いに組み合わされて及び/又は未処理のマッチング結果リスト25のエンティティIDにより識別された各エンティティが新しいエンティティ17Aと一致する程度を記述する評価を取得する他の既知の評価原理と組み合わされて使用されてもよい。マッチングシステム1は、評価に基づいてリスト25をソートし且つ最も関連性の低い一致するエンティティを除去するように構成される。上述した評価動作は、一致評価器と呼ばれてもよいマッチングエンジン7の一部により実行される。
この例示的な例において、評価の結果(向上されたマッチング結果)は、エンティティID「16」のみを含む「リスト」27である。この時点において、マッチングシステム1は、新しいエンティティ17Aをマッチングシステムに提出したユーザ及びエンティティID「16」を有する古いエンティティを提出したユーザの双方に対して、各エンティティに対して一致するものが見つけられたことを通知するように構成される。更にマッチングシステム1は、マッチングシステム1により格納された全ての一致するエンティティを保持し且つ追跡する内部又は外部レコードを更新するように構成される。
新しいエンティティ17Aと共通のインデックスポイントを少なくとも1つ有するあらゆるエンティティは最初はマッチングシステム1により新しいエンティティと一致するものと考えられるが、一般にこれらの「一致するもの」の多くは評価処理中に「不一致」として無視されることが理解されるべきである。上述したように、評価処理は、非常に複雑であり且つ一致するものの全て(未処理)の集合から関連する(向上された)一致するものを検索する1つ又はいくつかの評価機能を使用できる。評価機能は対称的又は少なくとも可能な限り対称的になるように選択されるのが好ましく、これは、「古い」エンティティが新しいエンティティに一致すると考えられる場合に新しいエンティティが「古い」エンティティに一致すると考えられるべきであることを意味する。
図6は、図1のマッチングシステム1の種々の構成要素がマッチング動作中に互いに通信するように構成される方法を示す信号フロー図である。信号フロー図を説明する際、図1のマッチングシステムを同時に参照する。
ステップS601:テキスト列を含むpostパラメータを含むHTTP POST要求が、クライアントデバイス15A、15Bのウェブブラウザからマッチングシステム1のウェブサーバ3に送出される。マッチングシステム1が使用されるマッチングサービスの種類に依存して、テキスト列は、例えばデートサービスに対するユーザプロファイル、電子商取引サービスに対する商業広告、採用/就職サービスに対するCV又はマッチングシステム1がマッチングすべき他のものであってもよい。
ステップS602:ウェブサーバ3は、方法の呼び出しの文字列パラメータであるpostパラメータをマッチングシステムのアプリケーションサーバ5に転送する。
ステップS603:アプリケーションサーバ5は文字列をデータベース12に送出する。
ステップS604:データベース12は、その文字列をエンティティ17Aとして格納し、エンティティに対してエンティティID19Aを生成する。
ステップS605:エンティティIDはアプリケーションサーバ5に返される。
ステップS606:アプリケーションサーバ5は、エンティティコンテンツ(この例においては、テキスト列)及びエンティティIDによりマッチングエンジン7を呼び出す。ここで、マッチングエンジン7は、内部及び外部通信を処理するマッチングエンジン(ME)インタフェース7Aを含む。このステップは、アプリケーションサーバ5がステップS602で受信した新しいエンティティと一致するエンティティの検索を開始するためにマッチングエンジン7を呼び出すステップである(この例示的な実施形態において、検索は新しいエンティティの索引付け中に実行される)。アプリケーションサーバ5によりマッチングエンジン7に対して行われる方法の呼び出しは、ステップS602における新しいエンティティの受信によりトリガされる。これは、ステップS602においてエンティティを受信すると、マッチングシステム1が実行する一連の動作をトリガすることを意味する。そのうちの1つの動作は、新しく受信したエンティティと一致するエンティティの検索である。
ステップS607:マッチングエンジンインタフェース7Aは、コンテンツを前処理するためのエンティティコンテンツによりマッチングエンジン7のプリプロセッサ7Bを呼び出す。
ステップS608:プリプロセッサは、エンティティコンテンツを処理する。上述したように、前処理は複雑な動作である可能性がある。テキストエンティティを処理する時、このステップの最も重要な部分の1つはテキストを単語にセグメント化/トークン化することである。
ステップS609:プリプロセッサ7Bは、各々がエンティティコンテンツの単語に対応する複数の文字列の配列を返す。文字列/単語の配列は図5のリスト22に対応する。
ステップS610:マッチングエンジン7のインタフェース7Aは、先行ステップでプリプロセッサ7Bから受信した単語の配列及び新しいエンティティ17AのエンティティIDにより検索エンジン7Cを呼び出す。
ステップS611:検索エンジン7Cは、単語の配列に索引付けを行い、全ての潜在的に一致するエンティティを検索する。
ステップS612:検索エンジン7Cは、ステップS610で検索エンジンに提出された単語の配列内の各単語に対するエントリを有する未処理のマッチング結果リスト(図5のリスト25に対応する)を返す。単語毎に、その単語に一致する全てのエンティティのエンティティIDを含むサブリスト(図5において25で示されたリストの「リスト」{16}、{16,32}に対応する)が未処理のマッチング結果リストに添付される。
ステップS613:マッチングエンジン7により実行された最後のステップは、検索エンジン7Cにより取得された結果を評価することである。従って、先行ステップで検索エンジン7Cから返された未処理のマッチング結果リストは、マッチングエンジン7の一致評価器7Dに転送される。
ステップS614:一致評価器7Dは、未処理のマッチング結果リストのエンティティ毎に評価を計算する。評価が低すぎる場合、エンティティは一致するものとは考えられず、リストから除去される。一般に一致評価器は、残りの一致するエンティティのリストのエンティティIDの複製を除去し、評価に基づいて残りの一致するエンティティをソートする。その結果として、図5において27で示したリスト等の向上されたマッチング結果リストが得られる。
ステップS615:一致評価器7Dは、向上されたマッチング結果リストを返す。このリストは、評価に基づいてソートされた一致するエンティティのエンティティIDのリストであってもよく、あるいは一致する各エンティティに対する評価が返され且つ後で処理において使用されるようにエンティティID及び評価パラメータの対のリストであってもよい。
ステップS616:検索エンジン7のインタフェース7Aは、向上されたマッチング結果リストをアプリケーションサーバ5に返す。
ステップS617:アプリケーションサーバは、向上されたマッチング結果リストに含まれたエンティティIDによりデータベース12を呼び出す。
ステップS618:データベース12は、エンティティIDが向上されたマッチング結果リストすなわち全ての一致するエンティティのリストに含まれていたエンティティを含むリストを返す。
ステップS619:アプリケーションサーバ5は、各エンティティの評価と共に全ての一致するエンティティのリストをウェブサーバ3に返す。
ステップS620:ウェブサーバ3は、結果(すなわち、一致するエンティティ及びそれに加えて各エンティティの評価を提示する)を提示するXHTML/HTML文書を構築する。
ステップS621:XHTML/HTML文書は、ステップS601のHTTP POST要求を発信したクライアントデバイス13A、13Bのウェブブラウザに対してHTTP応答で送出される。
図7は、本発明に係るマッチングシステム1のマッチングエンジン索引23のデータが構造化される方法を示す図である。この例示的な例において、マッチングシステム1によりマッチングされるエンティティはテキスト列であると仮定される。ここで、索引データは、上述したように「トライ」と呼ばれることもある順序木データ構造で構造化されるものとして示される。従って、マッチングエンジン索引23は、この例示的な例において、トライ又は木構造索引23Aと考えられる。テキストエンティティのいずれかにおいて発生する単語を形成する文字シーケンス29は、枝のルートノード(branch root node)31と単語末尾ノード(word-end node)33との間の枝又は枝の一部35を形成する。コンピュータ科学用語を使用すると、文字シーケンス29は結合したchar配列を構成すると考えられる。枝の各ルートノード31は、木構造のルートノード(ツリールートノード)の子ノードであり、一意の文字又は数字に対応する。例示するために、2つの枝のルートノード31(文字「A」及び「B」に対応する)及びシステムのエンティティ内に発生すると仮定される例示的な単語のみを図に示す。図中の全ての単語末尾ノード33は破線の楕円で示され、単語末尾ノードの各々は、インデックスポイント/単語末尾ノード21/33の各々が枝のルートノード31から単語末尾ノード33に対する文字シーケンス29により形成された単語を含む全てのエンティティと関連付けられるため木構造索引23Aのインデックスポイント21Aである。すなわち、木構造索引23Aのインデックスポイント21が単一文字ノード33であるが、各インデックスポイント21はそのノード33で終了する枝又は枝の部分29により形成された単語に対応する。論理的な木構造に従って順序付けされたデータを有する木構造索引23Aは、エンティティ全体で発生する全ての固有の単語を格納する索引と比較すると、格納される必要がある文字数及び要求されるシステムのメモリ空間が減少されるという点で利点を有する。木構造索引23Aは、例えばマッチングシステムのアプリケーションサーバ5等のノードのキャッシュメモリ及び索引データベースに格納される。一般に木構造索引23Aは、木構造の各ノードの全ての子ノードを指し示すポインタと共に各ノードを格納することにより格納される。換言すると、各ノードは、そのノードの全ての子ノードを含む子リストと関連付けられるように格納される。
当然、上述した木構造に従って索引データを構造化する原理は、数字及び結合された記号シーケンスにより形成される他のあらゆる情報に対しても適用可能である。例えば木構造は、数字シーケンスにより形成される枝、あるいはコンピュータ科学用語を使用すると結合した整数配列を含む。結合した整数配列は、数字の第1の桁に対応する枝のルートノードと数字の最後の桁に対応する数字末尾ノードとの間で相関して順序付けされる。単語を使用した例と同様に、そのような枝のルートノードと数字末尾ノードとの間で形成された数字に対応する数字を含むテキストエンティティは、木構造索引23Aのインデックスポイントとなる数字末尾ノードと関連付けられる。記号シーケンスが単語又は数字を形成する必要がないため、シーケンス末尾ノード33という用語は、単語末尾ノード、数字末尾ノード又はエンティティ内で見つけられた記号シーケンスの最後の記号に対応するあらゆる他の木構造索引ノードに対して使用されてもよい。
図8は、マッチングシステム1の索引23が図7において23Aで示された木構造索引等の木構造索引である場合に組み合わせ検索/索引付け動作が図1及び図5のエンティティ17A等の新しいエンティティに対して実行される方法を示すフローチャートである。
ここでも、エンティティはテキスト列であると仮定され、新しいエンティティ17Aは、テキスト列がテキストを形成する単語シーケンス22にトークン化されるようにマッチングエンジン7のプリプロセッサ7Bにより前処理されると仮定される。一般に、フローチャートに示した方法のステップは、本明細書において検索エンジン7Cと呼ばれるマッチングエンジン7の一部により実行される。
ステップS801:テキスト列の第1の単語が検索される。
ステップS802:木構造の「現在処理中のノード」がツリールートノードに設定される。
ステップS803:単語の次の文字が検索される。
ステップS804:現在のノードが子ノードを有するかのチェックが実行される。現在のノードの子ノードが存在する場合はステップS807に進み、存在しない場合はステップS805に進む。
ステップS805:現在処理中の文字に対応する子ノードが作成される。
ステップS806:子ノードが現在のノードの子リストに格納される。
ステップS807:木構造の「現在処理中のノード」が子ノードに設定される。
ステップS808:現在処理中の単語が更なる文字を含むかのチェックが実行される。更なる文字が単語にある場合はステップS803に進み、ない場合はステップS809に進む。
ステップS809:現在処理中の文字が現在処理中の単語の最後の文字であるため単語末尾ノード33である現在処理中のノードに対して、新しいエンティティ17AのエンティティID19Aが挿入される。エンティティID19Aが現在処理中のノードに挿入されるということは、新しいエンティティ17AのエンティティID19Aが現在処理中のノードと関連付けられるように索引記憶装置(データベース又はキャッシュメモリ)に格納されることを意味する。同時に、そのノードと関連付けられた他の全てのエンティティID(ある場合)は索引記憶装置から検索される。1つ又はいくつかのエンティティとまだ関連付けられていない場合、この時点で、現在処理中のノードは新しいエンティティ17Aと関連付けられることによりインデックスポイント21Aとなる。
ステップS810:テキスト列が現在処理中の単語の他に更なる単語を含むかのチェックが実行される。テキスト列に更なる単語が存在する場合はステップS801に戻り、ない場合は方法は終了し、ステップS809で検索されたエンティティID(テキスト列の各単語に対する)は図6を参照して説明されたようにマッチングエンジン7の一致評価器7Dに転送されてもよい。
図9は、マッチングシステムの索引23が図7において23で示される木構造索引等の木構造索引である場合に図6のステップS611で検索エンジン7Cにより実行されたサブステップを示す信号フロー図である。
ここでも、新しいエンティティは図1及び図5のエンティティ17Aであると仮定され、「blue car」というテキスト列である。また、プリプロセッサ7B(図6を参照)は、特殊文字「.」を除去し、テキスト列を単語のリスト22にトークン化したと仮定される。
ステップ901:検索エンジン7Cにより実行された索引付け/検索動作は、新しいエンティティ17AのエンティティID19A及び文字列の配列22({「blue」,「car」})により呼び出される。ここで、各文字列はテキスト列の単語に対応する。
その後に続くS902〜S913で示されるステップは、文字列の配列22の各文字列に対して実行される。すなわち、この例においては文字列「blue」及び「car」に対して実行される。
ステップS902:文字列/単語は、例えば{「b」,「l」,「u」,「e」}である文字の配列にトークン化される。
ステップS903:新しく作成された文字の配列は、新しいエンティティ17AのエンティティID19Aと共に索引23、23Aに更に送出される。
ステップS904〜S907:索引23、23Aは、文字の配列に基づいて考察される。図8のステップS805及びS806で示されるように、文字シーケンスに対応し且つ木構造に先に存在していなかったあらゆるノードが作成され且つ格納される。
ステップS908:新しいエンティティ17AのエンティティID19Aは、新しいエンティティ17Aのインデックスポイント21Aとなる文字「e」に対応する単語末尾ノード33に格納される。それと同時に、そのノード33に先に格納され且つ新しいエンティティ17Aと一致するエンティティのエンティティIDであるあらゆるエンティティIDが検索される。
ステップS909〜ステップS913:ステップS908で検索されたエンティティIDを含むリストが木構造のノードを介して検索エンジン7Cに再帰的に返される。
ステップS914:新しいテキストエンティティ17Aの全ての単語に対してステップS908で検索されたエンティティIDのリストが図5の未処理のマッチング結果リスト25に対応する統合リストに結合される。従って、この例示的な例において、統合リストは単語「blue」及び「car」を含む全てのエンティティのエンティティIDを含む。
ステップS915:ステップS914で作成された統合リストが返される。一般に図6に示すように、検索エンジン7Cは、統合リストを入力パラメータとして一致評価器7Dを呼び出す。
新しいエンティティの索引付け及び新しいエンティティと一致するエンティティの検索を単一の動作で実行する本明細書で説明した原理は、各インデックスポイント21、21Aが複数のエンティティ17A、17Bと関連付けられる索引23、23Aを使用してあらゆる種類のマッチングシステムにおいて適用可能である。各インデックスポイント21、21Aは、新しいエンティティがそのインデックスポイントと関連付けられた時にそのインデックスポイントが対応する特性を有する全てのエンティティが検索されるように、その特性を有する全てのエンティティと関連付けられるのが最も好ましい。
上記例において、エンティティ17A、17Bはテキスト列であり、索引23、23Aの各インデックスポイント21、21Aはいずれかのテキスト列内で発生する単語に対応する。従って、それらの例において、インデックスポイント21、21Aは、例えば単語「blue」を含むという特性であるマッチングされるエンティティの「意味特性(semantic property)」に対応すると考えられる。しかし、索引はあらゆる可能なエンティティ特性を反映できることが理解されるべきである。例えばエンティティがテキスト列である例において、マッチングシステム1は、各エンティティの文字数をカウントするように構成されてもよく、索引は文字数又は文字数の間隔に対応するインデックスポイントを含んでもよい。更にマッチングシステム1は、エンティティの文脈を解析する論理を含むことができ、この時、索引のインデックスポイントはエンティティの文脈を記述する単語又は句に対応してもよい。索引23、23Aは、これらの種類のインデックスポイントの組み合わせを更に含んでもよいことは言うまでもない。
更に、一般に索引23、23Aは単語の特性を反映することによりエンティティを索引付けするように構成されるが、エンティティ自体は単語を含む必要がない。例えばマッチングシステム1は、写真マッチングサービス又はオーディオトラックマッチングサービスに使用され、その場合、クライアントデバイス13A、13Bから送出されたエンティティはそれぞれ写真及びオーディオトラックである。写真マッチングに使用される場合、マッチングシステム1は、画像(エンティティを構成するデジタル画像ファイルのデータにより与えられる)の「視覚特性」を、索引23、23Aのインデックスポイントを構成できる単語又は数字に変換する画像認識ソフトウェアを含むことができる。例えば画像認識ソフトウェアは、例えば画像のオブジェクトの形状を解析することにより画像に描写されたオブジェクトを判定する機能性を含むことができ、各々がルックアップテーブル中の形状を記述する単語と関連付けられた事前に格納された形状とそれらの形状を比較できる。また、画像認識ソフトウェアは、画像又は画像中の特定のオブジェクトの最も目立つ色をデジタルカラー解析により判定するように構成される。それにより、画像認識ソフトウェアは画像を解析でき、例えば画像が青い自動車を描写することを判定できる。この場合、画像認識ソフトウェアは、「blue car」というテキスト列又は{「blue」,「car」}という図5の文字列配列22等の既にセグメント化されたテキスト列をマッチングエンジン7に提供でき、この時、マッチングエンジン7は、上述したように索引23、23Aにおいて単語「blue」及び「car」に対応するインデックスポイントと画像エンティティとを関連付けられる。従って、この場合、索引23、23Aの単語は、エンティティ内で発生する単語に対応するのではなく、他のエンティティ特性を反映することによりエンティティを記述する単語に対応する。同様に、マッチングシステム1はオーディオトラックをマッチングするために使用され、この場合、マッチングシステムは波形認識技術を使用して且つ/又はシステムに提出されたオーディオファイルのオーディオファイルデータコンテンツに埋め込まれているテキスト情報を解析することにより、オーディオトラックを解析するソフトウェアを含むことができる。オーディオトラックの特性は、これらの特性を記述する単語又は数字(例えば、曲のタイトル及びアーティスト名、オーディオトラックの1分間のビート数、音楽トラックのジャンル等)に変換され、この時、オーディオトラックは索引23、23Aの特性に対応するインデックスポイントと関連付けられる。更にマッチングシステム1は、エンティティの特性をインデックスポイントとして使用される単語又は数字に変換するように構成された外部ノードに通信可能に接続される。例えばマッチングシステム1は、音楽トラック(すなわち、曲)のサンプルを曲のタイトル及びそれを演奏するアーティスト名に「変換」するサーバであるGracenote・サーバに接続される。
従って、マッチングエンジン索引23、23Aのインデックスポイント21、21Aに対応する単語又は数字等の記号(symbol)シーケンスは、マッチングシステム1により受信されたテキストエンティティで見つけられた記号シーケンスに対応する必要はなく、あらゆる種類のエンティティ又はエンティティ特性を記述するあらゆる記号シーケンス(すなわち、単語及び/又は数字)であってもよいことが理解されるべきである。

Claims (19)

  1. 第1のユーザのクライアントデバイスから受信された第1のエンティティが、各エンティティが1つ以上のインデックスポイントと関連付けられる索引において索引付けされた複数のエンティティのうちの少なくとも1つの他のエンティティと一致するかを判定できるマッチングシステムであって、
    マッチングエンジン及び前記クライアントデバイスと通信するように構成されるアプリケーションサーバと、
    前記第1のエンティティを前記索引の1つ以上のインデックスポイントと関連付けることにより前記第1のエンティティを索引付けし、前記第1のエンティティと関連づけられた1つ以上のインデックスポイントと関連付けられた他のエンティティを検索することで、前記索引において索引付けされた複数のエンティティの中から前記第1のエンティティと一致する他のエンティティを検索するように構成される前記マッチングエンジンとを備え、
    一致トリガ事象が発生した時に前記第1のエンティティと一致する他のエンティティの検索を開始するように構成されるマッチングシステムであって、
    前記マッチングシステムは、検索が前記第1のエンティティの受信時に開始されるように前記第1のエンティティの受信を一致トリガ事象として解釈するように構成されることを特徴とするマッチングシステム。
  2. 前記マッチングエンジンは、前記第1のエンティティが関連付けられるインデックスポイント毎に、前記第1のエンティティをそのインデックスポイントと関連付け且つそのインデックスポイントと関連付けられる他のエンティティを識別する情報を検索し、それにより前記索引の1回の考察で前記第1のエンティティを索引付けし且つ前記第1のエンティティと一致するエンティティを識別するように構成される
    ことを特徴とする請求項1に記載のマッチングシステム。
  3. 前記エンティティは単語を含み、前記索引は、各々が単語に対応し且つ前記単語を含むエンティティと関連付けられる複数のインデックスポイントを含み、
    前記マッチングエンジンは、
    対応するインデックスポイントが前記索引に存在しない前記第1のエンティティ内で発生する単語毎に、その単語に対応する新しいインデックスポイントを前記索引に追加し且つ前記第1のエンティティを前記新しいインデックスポイントと関連付け、
    対応するインデックスポイントが前記索引に既に存在する前記第1のエンティティ内で発生する単語毎に、前記第1のエンティティをそのインデックスポイントと関連付け且つ関連付けられた他のエンティティを識別する情報を検索するように構成される
    ことを特徴とする請求項2に記載のマッチングシステム。
  4. 前記索引は、前記インデックスポイントが対応する前記単語が前記単語を形成する文字シーケンスにトークン化される木構造索引であり、前記文字シーケンスは、各単語の文字が枝の根ノードと単語末尾ノードとの間の枝又は枝の一部を形成し、前記木構造索引の前記インデックスポイントが前記木構造の前記単語末尾ノードに対応し且つ各インデックスポイントが前記インデックスポイントと前記枝の根ノードとの間の前記文字シーケンスにより形成された前記単語を含む全てのエンティティと関連付けられるように、各シーケンスの第1の文字が前記枝の根ノードと関連付けられ且つ後続する各文字が先行する文字の関連付けられた前記ノードの子ノードと関連付けられる順序木構造に従って構造化され、
    前記マッチングエンジンは、
    前記第1のエンティティ内の各単語を文字シーケンスにトークン化し且つ前記そのように形成された文字シーケンスを前記木構造の既存の枝又は枝の一部とマッチングし、
    一致する文字シーケンスが見つけられない単語毎に、前記そのように形成された枝が前記単語の前記文字シーケンスに対応するように新しい枝を作成するか又は既存の枝に子ノードを追加し且つ前記第1のエンティティを前記そのように形成された枝の葉ノードと関連付けることにより新しいインデックスポイントを作成し、
    一致する文字シーケンスが見つけられる単語毎に、前記第1のエンティティを前記一致する文字シーケンスの前記インデックスポイントと関連付け且つ関連付けられた他のエンティティを識別する情報を検索するように構成される
    ことを特徴とする請求項3に記載のマッチングシステム。
  5. 前記マッチングエンジンは、前記第1のエンティティが関連付けられる少なくとも1つのインデックスポイントと関連付けられる複数のエンティティを前記マッチングエンジンが見つけた時に前記複数のエンティティの各々が前記第1のエンティティと共通に有するインデックスポイント数、すなわち前記複数のエンティティの各々が関連付けられ且つ前記第1のエンティティとも関連付けられるインデックスポイント数である少なくとも1つの基準に基づいて前記複数のエンティティを評価するように構成される一致評価手段を含むことを特徴とする請求項1乃至4のいずれか1項に記載のマッチングシステム。
  6. 各インデックスポイントと関連付けられた前記エンティティを識別する前記検索された情報は、前記インデックスポイントと関連付けられた全てのエンティティを識別するエンティティ識別パラメータのリストであり、前記マッチングエンジンは、全てのインデックスポイントに対して検索された全てのエンティティ識別パラメータを構成するように構成され、前記一致評価手段は、各エンティティのエンティティ識別パラメータが前記リストで発生する回数に基づいて前記一致するエンティティを評価するように構成されることを特徴とする請求項2乃至4のいずれか1項を引用する場合の請求項5に記載のマッチングシステム。
  7. 前記アプリケーションサーバは、少なくとも1つの一致するエンティティが前記検索中に見つけられた時、前記一致トリガ事象に応答して前記第1のユーザの前記クライアントデバイスに対して前記少なくとも1つの一致するエンティティを識別する情報を送出するように構成されることを特徴とする請求項1乃至6のいずれか1項に記載のマッチングシステム。
  8. 前記アプリケーションサーバは、第2のユーザのクライアントデバイスから前記アプリケーションサーバに先に送出された少なくとも1つの一致するエンティティが前記検索中に見つけられた時、前記一致トリガ事象に応答して前記第2のユーザの前記クライアントデバイスに対して前記第1のエンティティを識別する情報を送出するように構成されることを特徴とする請求項1乃至7のいずれか1項に記載のマッチングシステム。
  9. 第1のユーザのクライアントデバイスから受信された第1のエンティティが、各エンティティが1つ以上のインデックスポイントと関連付けられる索引において索引付けされた複数のエンティティのうちの少なくとも1つの他のエンティティと一致するかを判定する方法であって、
    サーバノードにおいて前記第1のエンティティを受信するステップと、
    前記第1のエンティティを前記索引の1つ以上のインデックスポイントと関連付けることにより前記第1のエンティティを索引付けするステップと、
    前記第1のエンティティが関連付けられる前記インデックスポイントのうちの少なくとも1つと関連付けられた他のエンティティを検索することにより前記索引において索引付けされた前記複数のエンティティのうち前記第1のエンティティと一致する他のエンティティを検索するステップとを有し、
    前記第1のエンティティと一致する他のエンティティの検索が一致トリガ事象の発生時に開始される方法であって、
    前記第1のエンティティの受信を一致トリガ事象として解釈し、それにより前記第1のエンティティの受信時に前記検索を開始するステップを有することを特徴とする方法。
  10. 前記第1のエンティティに一致する他のエンティティを検索するステップ及び前記第1のエンティティを索引付けするステップは、前記第1のエンティティが関連付けられるインデックスポイント毎に、
    前記第1のエンティティをそのインデックスポイントと関連付け、
    そのインデックスポイントと関連付けられる他のエンティティを識別する情報を検索することによって実行され、
    これにより前記索引の1回の考察で前記第1のエンティティを索引付け、及び、前記第1のエンティティと一致する他のエンティティを識別が行われる
    ことを特徴とする請求項9に記載の方法。
  11. 前記エンティティは単語を含み、前記索引は、各々が単語に対応し且つ前記単語を含むエンティティと関連付けられる複数のインデックスポイントを含み、前記方法は、
    対応するインデックスポイントが前記索引に存在しない前記第1のエンティティ内で発生する単語毎に、
    その単語に対応する新しいインデックスポイントを前記索引に追加するステップと、
    前記第1のエンティティを前記新しいインデックスポイントと関連付けるステップと、
    対応するインデックスポイントが前記索引に既に存在する前記第1のエンティティ内で発生する単語毎に、
    前記第1のエンティティをそのインデックスポイントと関連付けるステップと、
    関連付けられた他のエンティティを識別する情報を検索するステップと
    を含むことを特徴とする請求項10に記載の方法。
  12. 前記索引は、前記インデックスポイントが対応する前記単語が前記単語を形成する文字シーケンスにトークン化される木構造索引であり、前記文字シーケンスは、各単語の文字が枝のルートノードと単語末尾ノードとの間の枝又は枝の一部を形成し、前記木構造索引の前記インデックスポイントが前記木構造の前記単語末尾ノードに対応し且つ各インデックスポイントが前記インデックスポイントと前記枝のルートノードとの間の前記文字シーケンスにより形成された前記単語を含む全てのエンティティと関連付けられるように、各シーケンスの第1の文字が前記枝のルートノードと関連付けられ且つ後続する各文字が先行する文字の関連付けられた前記ノードの子ノードと関連付けられる順序木構造に従って構造化され、前記方法は、
    前記第1のエンティティ内の各単語を文字シーケンスにトークン化するステップと、
    前記そのように形成された文字シーケンスを前記木構造の既存の枝又は枝の一部とマッチングするステップと、
    致する文字シーケンスが見つけられない単語毎に、
    前記そのように形成された枝が前記単語の前記文字シーケンスに対応するように新しい枝を作成するか又は既存の枝に子ノードを追加するステップと、
    前記第1のエンティティを前記そのように形成された枝の葉ノードと関連付けることにより新しいインデックスポイントを作成するステップと、
    致する文字シーケンスが見つけられる単語毎に、
    前記第1のエンティティを前記一致する文字シーケンスの前記インデックスポイントと関連付けるステップと、
    関連付けられた他のエンティティを識別する情報を検索するステップと
    を含むことを特徴とする請求項11に記載の方法。
  13. 前記第1のエンティティが関連付けられる少なくとも1つのインデックスポイントと関連付けられる複数のエンティティが前記一致するエンティティの検索中に見つけられた時、
    前記複数のエンティティの各々が前記第1のエンティティと共通に有するインデックスポイント数、すなわち前記複数のエンティティの各々が関連付けられ且つ前記第1のエンティティとも関連付けられるインデックスポイント数である少なくとも1つの基準に基づいて前記複数のエンティティを評価するステップを更に含むことを特徴とする請求項9乃至12のいずれか1項に記載の方法。
  14. 各インデックスポイントと関連付けられた前記エンティティを識別する前記検索された情報は、前記インデックスポイントと関連付けられた全てのエンティティを識別するエンティティ識別パラメータのリストであり、前記方法は、
    リスト中の全てのインデックスポイントに対して検索された全てのエンティティ識別パラメータを構成するステップと、
    各エンティティのエンティティ識別パラメータが前記リストで発生する回数に基づいて前記一致するエンティティを評価するステップとを含むことを特徴とする請求項10乃至12のいずれか1項を引用する場合の請求項13に記載の方法。
  15. 少なくとも1つの一致するエンティティが前記検索中に見つけられた時、前記一致トリガ事象に応答して前記第1のユーザの前記クライアントデバイスに対して前記少なくとも1つの一致するエンティティを識別する情報を送出するステップを含むことを特徴とする請求項9乃至14のいずれか1項に記載の方法。
  16. 第2のユーザのクライアントデバイスから前記サーバノードにより先に受信された少なくとも1つの一致するエンティティが前記検索中に見つけられた時、前記一致トリガ事象に応答して前記第2のユーザの前記クライアントデバイスに対して前記第1のエンティティを識別する情報を送出するステップを含むことを特徴とする請求項9乃至15のいずれか1項に記載の方法。
  17. サーバコンピュータ上で実行したとき、前記サーバコンピュータを、第1のユーザのクライアントデバイスから受信された第1のエンティティが、各エンティティが1つ以上のインデックスポイントと関連付けられる索引において索引付けされた複数のエンティティのうちの少なくとも1つの他のエンティティと一致するかを判定させるコンピュータ可読コード手段を含むコンピュータプログラムであって、
    前記第1のエンティティを前記索引において1つ以上のインデックスポイントと関連付けることにより、前記第1のエンティティを索引付けするステップと、
    前記第1のエンティティが関連付けられる前記インデックスポイントのうちの少なくとも1つと関連付けられた他のエンティティを検索することにより前記索引において索引付けされた複数のエンティティのうち前記第1のエンティティと一致する他のエンティティを検索するステップとを有し、
    前記第1のエンティティと一致する他のエンティティの検索が一致トリガ事象の発生時に開始されるコンピュータプログラムであって、
    前記コンピュータプログラムは、前記サーバコンピュータに前記第1のエンティティの受信を一致トリガ事象として解釈させ、それにより前記第1のエンティティの受信時に前記検索を開始するように構成されることを特徴とするコンピュータプログラム。
  18. 前記第1のエンティティが関連付けられるインデックスポイント毎に、前記サーバコンピュータが前記第1のエンティティをそのインデックスポイントと関連付け且つそのインデックスポイントと関連付けられる他のエンティティを識別する情報を検索し、それにより前記索引の1回の考察で前記第1のエンティティを索引付けし且つ前記第1のエンティティと一致するエンティティを識別するように索引付け及び検索を前記サーバコンピュータに実行させるように構成されることを特徴とする請求項17に記載のコンピュータプログラム。
  19. 請求項17又は18記載のコンピュータプログラム格納したことを特徴とするコンピュータ可読記憶媒体
JP2011537857A 2008-12-02 2008-12-02 エンティティをマッチングするシステム及び方法 Expired - Fee Related JP5389186B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2008/066617 WO2010063311A1 (en) 2008-12-02 2008-12-02 System and method for matching entities

Publications (2)

Publication Number Publication Date
JP2012510654A JP2012510654A (ja) 2012-05-10
JP5389186B2 true JP5389186B2 (ja) 2014-01-15

Family

ID=41175686

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011537857A Expired - Fee Related JP5389186B2 (ja) 2008-12-02 2008-12-02 エンティティをマッチングするシステム及び方法

Country Status (5)

Country Link
US (1) US8224809B2 (ja)
EP (1) EP2370911A1 (ja)
JP (1) JP5389186B2 (ja)
CN (1) CN102227725B (ja)
WO (1) WO2010063311A1 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9171311B2 (en) * 2010-08-31 2015-10-27 Microsoft Technology Licensing, Llc Maintaining targetable user inventory for digital advertising
US8352496B2 (en) * 2010-10-26 2013-01-08 Microsoft Corporation Entity name matching
US9971324B2 (en) * 2011-11-03 2018-05-15 Honeywell International Inc. Storage for real time process
US8930374B2 (en) * 2012-06-29 2015-01-06 Nokia Corporation Method and apparatus for multidimensional data storage and file system with a dynamic ordered tree structure
CN103745008B (zh) * 2014-01-28 2016-08-31 河海大学 一种大数据索引的排序方法
CN104881413B (zh) * 2014-02-28 2018-01-09 华为技术有限公司 实体匹配方法和装置
US9350792B2 (en) 2014-04-16 2016-05-24 Go Daddy Operating Company, LLC Method for location-based website hosting optimization
US9654587B2 (en) * 2014-04-16 2017-05-16 Go Daddy Operating Company, LLC System for location-based website hosting optimization
US10176442B2 (en) * 2015-08-28 2019-01-08 Magna Services, LLC System and method for matching resource capacity with resource needs
CN106991090B (zh) * 2016-01-20 2020-12-11 北京国双科技有限公司 舆情事件实体的分析方法及装置
EP3420517B1 (en) * 2016-02-23 2022-07-06 nChain Holdings Limited A method and system for the secure transfer of entities on a blockchain
EP3420518B1 (en) * 2016-02-23 2023-08-23 nChain Licensing AG Methods and systems for efficient transfer of entities on a peer-to-peer distributed ledger using the blockchain
JP2018013893A (ja) * 2016-07-19 2018-01-25 Necパーソナルコンピュータ株式会社 情報処理装置、情報処理方法、およびプログラム
US10372382B2 (en) * 2016-12-29 2019-08-06 Western Digital Technologies, Inc. Methods and apparatus for read disturb detection based on logical domain
JP6839360B2 (ja) * 2017-05-15 2021-03-10 富士通株式会社 表示プログラム、表示方法および表示装置
US10733243B2 (en) * 2017-08-30 2020-08-04 Microsoft Technology Licensing, Llc Next generation similar profiles
CN110213778B (zh) * 2018-02-28 2021-11-05 中兴通讯股份有限公司 一种网元主备智能配对的方法及装置
EP3813007A4 (en) * 2018-06-25 2022-01-26 Forum Engineering Inc. DEVICE FOR CALCULATING A MATCH SCORE
EP3812984A4 (en) * 2018-06-25 2022-01-26 Forum Engineering Inc. DEFICIENT CAPACITY EXTRACTION DEVICE
CN109379415B (zh) * 2018-09-28 2021-09-28 珠海豹趣科技有限公司 一种新闻推送方法、装置、终端及计算机可读介质
US20210383249A1 (en) * 2018-10-08 2021-12-09 Schlumberger Technology Corporation Automatic fact extraction
CN111309851B (zh) * 2020-02-13 2023-09-19 北京金山安全软件有限公司 一种实体词存储方法、装置及电子设备
CN111506494B (zh) * 2020-02-25 2023-07-07 中信银行股份有限公司 一种业务流程实例化的方法
CN111400561B (zh) * 2020-03-17 2023-09-12 杭州迪普科技股份有限公司 电子设备及其配置方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8380630B2 (en) * 2000-07-06 2013-02-19 David Paul Felsher Information record infrastructure, system and method
JP2002278893A (ja) * 2001-03-16 2002-09-27 Toshiba Corp 情報配信システム、情報配信方法、プログラム
KR100877461B1 (ko) * 2001-12-28 2009-01-07 인터내셔널 비지네스 머신즈 코포레이션 실시간 데이터 웨어하우징
US7664734B2 (en) * 2004-03-31 2010-02-16 Google Inc. Systems and methods for generating multiple implicit search queries
CN100409241C (zh) * 2006-09-20 2008-08-06 网易有道信息技术(北京)有限公司 一种基于搜索引擎的信息检索方法及检索系统
JP4770694B2 (ja) * 2006-10-18 2011-09-14 セイコーエプソン株式会社 デバイスと接続される装置、データ内を検索する方法、コンピュータプログラム、および、インデックスデータ
WO2010105246A2 (en) * 2009-03-12 2010-09-16 Exbiblio B.V. Accessing resources based on capturing information from a rendered document

Also Published As

Publication number Publication date
JP2012510654A (ja) 2012-05-10
CN102227725A (zh) 2011-10-26
EP2370911A1 (en) 2011-10-05
WO2010063311A1 (en) 2010-06-10
US8224809B2 (en) 2012-07-17
US20110238694A1 (en) 2011-09-29
CN102227725B (zh) 2014-05-07

Similar Documents

Publication Publication Date Title
JP5389186B2 (ja) エンティティをマッチングするシステム及び方法
CN107229668B (zh) 一种基于关键词匹配的正文抽取方法
US8630972B2 (en) Providing context for web articles
US7921097B1 (en) Systems and methods for generating a descriptive uniform resource locator (URL)
US8812493B2 (en) Search results ranking using editing distance and document information
US8185530B2 (en) Method and system for web document clustering
US8352396B2 (en) Systems and methods for improving web site user experience
AU2013329525C1 (en) System and method for recursively traversing the internet and other sources to identify, gather, curate, adjudicate, and qualify business identity and related data
US20090089278A1 (en) Techniques for keyword extraction from urls using statistical analysis
US20110060717A1 (en) Systems and methods for improving web site user experience
US7783660B2 (en) System and method for enhanced text matching
US20120084291A1 (en) Applying search queries to content sets
US20070250501A1 (en) Search result delivery engine
US20070294252A1 (en) Identifying a web page as belonging to a blog
US20080097968A1 (en) Knowledge extraction for automatic ontology maintenance
US8825620B1 (en) Behavioral word segmentation for use in processing search queries
US20080147588A1 (en) Method for discovering data artifacts in an on-line data object
US8423885B1 (en) Updating search engine document index based on calculated age of changed portions in a document
US20080147641A1 (en) Method for prioritizing search results retrieved in response to a computerized search query
WO2007085187A1 (fr) Procédé d'extraction de données, procédé de production de fichiers d'index et moteur de recherche
Elshater et al. godiscovery: Web service discovery made efficient
CN113065018A (zh) 一种音视频的索引库创建和检索方法、装置及电子设备
CN103226601A (zh) 一种图片搜索的方法和装置
Ahamed et al. An efficient mechanism for deep web data extraction based on tree-structured web pattern matching
JP4853915B2 (ja) 検索システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130212

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131008

R150 Certificate of patent or registration of utility model

Ref document number: 5389186

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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