JP2015525929A - 検索品質を改善するための重みベースのステミング - Google Patents
検索品質を改善するための重みベースのステミング Download PDFInfo
- Publication number
- JP2015525929A JP2015525929A JP2015521758A JP2015521758A JP2015525929A JP 2015525929 A JP2015525929 A JP 2015525929A JP 2015521758 A JP2015521758 A JP 2015521758A JP 2015521758 A JP2015521758 A JP 2015521758A JP 2015525929 A JP2015525929 A JP 2015525929A
- Authority
- JP
- Japan
- Prior art keywords
- query term
- query
- documents
- expanded
- distance
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 48
- 230000004044 response Effects 0.000 claims abstract description 14
- 230000003247 decreasing effect Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 8
- 241000282326 Felis catus Species 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 241000238876 Acari Species 0.000 description 2
- 241000282324 Felis Species 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 235000019013 Viburnum opulus Nutrition 0.000 description 1
- 244000071378 Viburnum opulus Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 238000012015 optical character recognition Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 235000020004 porter Nutrition 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3338—Query expansion
Abstract
検索クエリを受信するステップと、当該クエリに基づいて第1のオリジナル・クエリ・タームを特定するステップと、当該第1のオリジナル・クエリ・タームに関連する第1の拡張クエリ・タームを特定するステップと、当該第1のオリジナル・クエリ・タームと当該第1の拡張クエリ・タームの間の第1の語彙距離を決定するステップと、当該決定された第1の語彙距離に基づいて当該第1の拡張クエリ・タームに対する第1の重みを決定するステップと、それぞれが当該検索クエリに関連する複数のドキュメントをドキュメントのコーパスから特定するステップであって、当該複数のドキュメントは当該第1の拡張クエリ・タームを含むことに基づいて特定された第1のドキュメントを含む、ステップと、当該計算された第1の重みに基づく当該第1のドキュメントの順位を用いて当該複数のドキュメントを順位付けするステップと、当該順位に従って順位付けられた、当該複数のドキュメントのうち2つ以上を特定する当該検索クエリに対する応答を生成するステップとを含む技術である。
Description
本発明は一般に電子情報の検索および抽出に関する。より具体的には、検索品質を改善するためのシステムおよび方法を開示する。
単純な情報検索システムでは、ユーザは一般に、1つまたは複数のクエリ・タームを含むクエリを入力し、当該クエリ・タームを含むドキュメントのリストを受信する。当該クエリ・タームを含まないドキュメントは無視される。しかし、「再現率」または検索に成功したクエリに関連するドキュメントの割合はこの単純な情報検索システムでは低い。結果として、ユーザが関心のないドキュメントを、当該クエリに応じて特定することはできず、したがってユーザには決して提供されない。
再現率を高めるために使用される1つの技術は、単語のプレフィックスまたはポストフィックスを除去する「ステミング」として知られている。かかるプレフィックスおよびポストフィックスは英語では一般的であり、他の言語でも見られるものである。従来、ステミングは一般にドキュメントのボディをインデックス付けするときに適用される。例えば、ドキュメント中の単語「tickets」の出現は「ticket」としてインデックス付けされる。クエリが検索エンジンに提供されると、(「語減縮(termreduction)」としても知られる)クエリ・タームのステミングが実施され、同種の変換がインデックス付けの間に実施され、インデックスがステミングされたクエリ・タームを用いてアクセスされる。1例として、ステミングを使用する検索エンジンで「ticketing」を検索すると、当該単語「ticket」を含むドキュメント(「ticketing」の語幹)と(「ticketing」と同じ語幹「ticket」を有する)単語「tickets」を含むドキュメントが返される。
再現率を高めるために使用される別の技術は、1つまたは複数のクエリ・タームが追加の関連するクエリ・タームで補完された「クエリ拡張」として知られる。関連するタームを特定するための1つの公知技術は、タームの共起、または、インデックス付け中にドキュメント内で見つかった類語および(一般にクエリのログを処理することで得られる)過去の検索クエリで送信されたクエリ・タームとの共起を分析して、意味的に関連するタームの類語を生成することである。かかる技術では、例えば、「plane(飛行機)」と「aircraft(航空機)」が関連し、「hospital(病院)」と「medical(診察、医療行為)」が関連すると判定してもよい。かかる例では、「hospital」というタームを含む検索クエリを、「medical」というタームを含むように拡張してもよい。幾つかのケースでは、元のタームと拡張タームの間の観測された共起度合に基づいて、追加されたタームに重み付けを適用してもよい。かかる重み付けは、低い共起度合を有する拡張タームに基づいてドキュメントが検索される結果の順位付けプロセスに影響する。当該拡張タームは、検索されたドキュメントの中で低く順位付けされるべきである。
ステミングやクエリ拡張はそれぞれ一般に再現率を高めるが、これらは一般に「精度」またはクエリに関連するドキュメントが検索される割合を低下させる。結果として、検索の結果、クエリに応じてユーザに関心のない多数のドキュメントが生じることとなりうる。この精度損失を回避しかつ/または検索結果の順位を高めつつ、再現率を高めることによって検索結果を改善する必要がある。
精度を高める上述の必要性は、顧客サポート・システムの状況で特に感じられている。当該システムでは、様々なサポート問題を記述し追跡するためにサポート・チケットがユーザやサポート・スタッフにより生成される。しかし、かかるサポート・チケットに格納された情報の性質は一般に、従来のステミングまたはクエリ拡張技術を使用することで再現率を高めるのを求めるときに、精度を急激に低下させる。多数の顧客サポート・システムでは、大量のサポート・チケットがあり、これらのサポート・チケットは通常、タームが滅多に変更されないのが通常である特定の知識部分にフォーカスしている。この適用事例では、一般に顧客サポート・チケットの状況で観られる精度損失に対抗する技術を示している。しかし、これらの技術はまた、他種のドキュメントに対して実施される検索にもより一般的に適用可能であり、当該検索の精度を高める可能性がある。さらに、幾つかの実施形態では、結果のインデックスを後処理せずに現存のインデックス付けエンジンを使用してもよい。
開示した主題の1態様は、検索クエリを受信するステップと、当該クエリに基づいて第1のオリジナル・クエリ・タームを特定するステップと、当該第1のオリジナル・クエリ・タームに関連する第1の拡張クエリ・タームを特定するステップと、当該第1のオリジナル・クエリ・タームと当該第1の拡張クエリ・タームの間の第1の語彙距離を決定するステップと、当該第1の拡張クエリ・タームに対する第1の重みを当該決定された第1の語彙距離に基づいて決定するステップと、当該検索クエリ、当該第1の拡張クエリ・タームを含むことに基づいて特定された第1のドキュメントに含む当該複数のドキュメントと関連する複数のドキュメントをドキュメントのコーパスから特定するステップ、当該計算された第1の重みに基づく当該第1のドキュメントの順位で当該複数のドキュメントを順位付けするステップと、当該順位に従って順位付けられた、当該複数のドキュメントのうち2つ以上を特定する当該検索クエリに対する応答を生成するステップと含むコンピュータ実行型の方法を含む。
別の態様は、検索クエリを受信し、第1のオリジナル・クエリ・タームを当該クエリに基づいて特定し、当該第1のオリジナル・クエリ・タームに関連する第1の拡張クエリ・タームを特定し、当該第1のオリジナル・クエリ・タームと当該第1の拡張クエリ・タームの間の第1の語彙距離を決定し、当該第1の拡張クエリ・タームに対する第1の重みを当該決定された第1の語彙距離に基づいて決定するようにプログラムされたクエリ拡張エンジンと、それぞれが当該検索クエリに関連する、当該第1の拡張クエリ・タームを含むことに基づいて特定された第1のドキュメントに含む複数のドキュメントをドキュメントのコーパスから特定するようにプログラムされた検索システムと、当該計算された第1の重みに基づく当該第1のドキュメントの順位で当該複数のドキュメントを順位付けするようにプログラムされた順位付けエンジンとを備えた検索システムであって、当該検索システムはさらに、当該順位に従って順位付けられた当該複数のドキュメントのうち2つ以上を特定する当該検索クエリに対する応答を生成するようにプログラムされた検索システムを含む。
図1は、インターネット、イントラネット、または別のクライアントおよびサーバ環境で実装できる送信クエリに関連する検索結果を提供するために使用できる例示的な検索システム160のブロック図であり、図3および4は検索システム160のための方法を示す。検索システム160は、後述するシステム、コンポーネント、および技術を実装できる情報検索システムの例である。しかし、開示されたシステムに対する多数の変形は本発明の革新的な態様を実装するためにも有効であることは当業者には理解される。
ユーザ110は、クライアント装置120を介して検索システム160と対話することができる。例えば、クライアント120は、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)、例えば、インターネットを通じて検索システム160に接続されたコンピュータであってもよい。かかるコンピュータの例には、デスクトップコンピュータ、ラップトップまたはノートブック・コンピュータ、タブレットコンピュータ、およびスマートフォンまたは他のモバイル通信装置が含まれるがこれらに限られない。幾つかの実装形態では、検索システム160およびクライアント装置120が1つのマシンであってもよい。例えば、ユーザは、デスクトップ検索アプリケーションをクライアント装置120にインストールすることができる。クライアント装置120は一般にランダム・アクセス・メモリ(RAM)121とプロセッサ122を備える。
ステップ310では、ユーザ110は、フロントエンド・サーバ150の背後の検索システム160にクエリ131aを送信することができる。例えば、ユーザ110は、クライアント装置120で実行されているウェブ・ブラウザ・アプリケーションを使用してHTTPでフォーマットしたクエリ131aを生成してもよい。ユーザ110がクエリ131aを送信すると、クエリ131aがネットワーク140を介してフロントエンド・サーバ150に送信される。クエリ131aを受信したことに応答して、フロントエンド・サーバ150がクエリ131bを検索システム160に発行する。幾つかの実施形態では、クエリ131aの内容を実質的に修正することなく、クエリ131aは単にクエリ131bとして中継または反復される。幾つかの実施形態では、ステップ320では、フロントエンド・サーバ150は、クエリ131aに応答して追加の処理を行ってクエリ131bを生成する。例えば、クエリ・タームをクエリ131bに追加して、クエリ131aを介したユーザ110により要求された検索を狭めてもよい。したがって、ステップ330では、フロントエンド・サーバ150は、クエリ131bを検索システム160に送信する。クエリ131aの処理に加えて、他の情報サービスを提供するようにフロントエンド・サーバ150を構成してもよい。例えば、コンテンツ・サーバ170により格納され利用可能とされたドキュメントまたは他の情報へのアクセスの提供を含めて、ウェブサーバまたはウェブアプリケーションエンジンを実行してネットワーク140を介してネットワークベースのサービスを提供するようにフロントエンド・サーバ150を構成してもよい。1つの具体的なネットワークベースのサービスには、クライアント装置120で実行されるウェブ・ブラウザ・アプリケーションを介してユーザ110にアクセス可能なネットワークベースの顧客サポート・システムが含まれる。1実施形態では、図3の上の点線で示すように、中間フロントエンド・サーバ150なしに、クエリ131aを、クライアント装置120から検索システム160に直接送信してもよい。かかる1実施形態では、検索システム160は、図3の下の点線で示すようにクライアント装置120に対して直接応答する。
検索システム160を、例えば、ネットワークを介して互いと接続される1つまたは複数の位置において1つまたは複数のコンピュータで実行されている1つまたは複数のコンピュータとして実装することができる。検索システム160は、インデックス・データベース161と検索エンジン165を備える。検索システム160は、検索結果132bを生成することでクエリ131bに応答する。検索結果132bはステップ350でフロントエンド・サーバ150に送信される。クエリ131aとともに、フロントエンド・サーバ150は単純に結果132bを結果132aとして渡すこともできるし、または、結果132bを受信したことに応答して、ステップ360において、フロントエンド・サーバ150が追加の処理を実施して結果132aを生成してもよい。ステップ370では、結果132aは、ネットワーク140を介してクライアント装置120に送信される。1実施形態では、結果132aは、クライアント装置120で実行されているウェブ・ブラウザ・セッションにおいてステップ380で表示されるHTMLでフォーマットされた検索結果のウェブ・ページのような、ユーザ110に提供できる形態である。
ステップ340では、クエリ131bが検索システム160により受信されると、検索エンジン165がクエリ131bを処理し、クエリ131bにマッチするかまたは応答するドキュメントを特定する。ここでは「ドキュメント」とは、インデックス付け可能な任意の形のコンテンツであると理解される。当該コンテンツには、任意のテキスト形式またはグラフィック形式のテキスト情報、画像、ビデオ、オーディオ、マルチメディア、プレゼンテーション、および(組込みのハイパーリンクおよび他のメタデータ、ならびに/またはプログラム、例えばJavascriptを含む)ウェブ・ページが含まれるがこれらに限られない。検索エンジン165は一般に、ドキュメントのコーパスをインデックス付けしインデックス付け情報をインデックス・データベース161に格納するインデックス付けエンジン166を備えるかまたはインデックス付けエンジン166にアクセスする。検索エンジン165は、インデックス・データベース161を利用してクエリ13laに応答してドキュメントを特定する。インデックス付けエンジン166によりインデックス付けされたドキュメントのコーパスは、コンテンツ・サーバ170を介してアクセス可能であってもよく、または、ネットワーク140を介してインデックス付けエンジン166およびクライアント装置120にアクセス可能な1つまたは複数のコンテンツ・サーバ175を介してアクセス可能であってもよい。コンテンツ・サーバ170もフロントエンド・サーバ150の背後にある(言い換えれば、ネットワーク140からは直接アクセス可能ではない)。インデックス付けを種々の特徴に基づいて実施してもよい。当該特徴には、ドキュメントの内容、ドキュメントから自動的に生成された情報(例えば、画像またはビデオに適用される光文字認識または機械視覚技術で生成された情報があるがこれに限られない)、ドキュメント、およびドキュメントのメタデータを記述または特徴付けるためにユーザまたは管理者により割り当てられた「タグ」が含まれるがこれらに限られない。
一般に、検索エンジン165は、クエリ131aに応答して複数のドキュメントを特定するので、最終の結果132bは複数のドキュメントを特定することになる。一般に、結果132bで特定される複数のドキュメントがある場合、当該ドキュメントは、一般に当該ドキュメントに関連する関連レベルに従って明示的な順序または「順位付け」で結果132bにおいて提供される。これを行うために、検索エンジン165は一般に、例えば、結果132bが最も関連するドキュメントを最初に提示できるように、検索エンジン165によりクエリ131bに応答すると判定されたドキュメントを順位付けする順位付けエンジン168を備える。順位付けのための多数の技術が当業界で知られている。検索システム160は、ユーザ110に提示するためのフロントエンド・サーバ150とネットワーク140を介して結果132bをクライアント装置120に送信することができる。幾つかの実施形態では、フロントエンド・サーバ150は、検索システム160から受信した結果132bを操作して、フロントエンド・サーバ150により提供された他の情報サービスと一貫する形式でそれらをユーザ110に提供してもよい。例えば、結果132bが、コンテンツ・サーバ170を介して利用可能な情報に対するドキュメント識別子の単純なXMLベースのリストであってもよく、フロントエンド・サーバ150は、これらのドキュメント識別子を、結果132bで特定されたドキュメントにアクセスするためにクライアント装置120が使用できる結果132aに含まれるURI(Uniform Resource Identifier)に変換するように構成される。
ステップ410では、検索システム160がクエリ131bを受信する。ステップ420では、検索エンジン165が、1つまたは複数のオリジナル・クエリ・タームをクエリ13lbに基づいて特定する。クエリ・タームは、文字の1つまたは複数のシーケンス(通常は単語)を規定する。当該シーケンスはまた、パターンまたは正規表現を規定してもよい(例えば、当該クエリ・ターム「cat*」は「cat」および「catch」と前方一致する)。例えば、クエリ131bが、URI「http://server/search?q=concert+ticket」を含むHTTP GETメッセージであってもよく、そこから、検索エンジン165が2つのオリジナル・クエリ・ターム、即ち「concert」と「ticket」の組を特定する。幾つかの実施形態では、クエリ131bが、クエリ・タームと組み合わせてまたはクエリ・タームに加えて使用される様々な演算子、修正子、および/またはパラメータを特定してもよい。例えば、クエリ131bが、URI「http://server/search?q=concert+ticket&max_create_days=7」を含むHTTP GETメッセージであってもよく、そこから、検索エンジン165が上述の2つのオリジナル・クエリ・ターム、即ち「concert」と「ticket」の組を特定し、さらに、それに応じたドキュメントを直近の7日間に生成されたものに制限する(換言すれば、7日より前に生成された他の関連ドキュメントを除外する)。上のHTTPGETメッセージは例にすぎず、他のメッセージ形式を使用してもよい。
検索エンジン165はクエリ拡張エンジン167を備える。クエリ拡張エンジン167は、ステップ420で、オリジナル・クエリ・タームに関連するゼロまたは1個以上の拡張クエリ・タームを特定するように構成される。例えば、クエリ拡張エンジン167を、オリジナル・クエリ・タームごとに、ゼロまたは1個以上の関連拡張クエリ・タームを特定するように構成してもよい。幾つかのオリジナル・クエリ・タームに対して、クエリ拡張エンジン167がどの拡張されたクエリ・タームも特定しなくともよい。一般に、拡張クエリ・タームは、オリジナル・クエリ・タームに加えて使用される。しかし、幾つかの実施形態では、クエリ拡張エンジン167により特定される拡張クエリ・タームを優先して、1つまたは複数のオリジナル・クエリ・タームが置き換えられる状況もありうる。
オリジナル・クエリ・タームに関連する拡張クエリ・タームを特定するための1つの技術には、オリジナル・クエリ・タームと語幹を共有する単語を特定することがある。例えば、語幹「ticket」を有するオリジナル・クエリ・ターム「tickets」と関連して、クエリ拡張エンジン167は「ticket」「ticketed」および「ticketing」を拡張タームとして特定するであろう。なぜならば、それぞれがオリジナル・タームと同じ語幹「ticket」を有するからである。英語では所与の単語が通常1つの語幹のみを有するが、英語以外の言語を含めて、タームが複数の語幹を有する状況があることに留意されたい。クエリ拡張エンジン167を、1つのタームに対して特定される全ての語幹に対応する拡張タームを特定するように構成してもよい。1実施形態では、このように語幹に従って関連する単語を特定するのを、その語幹(複数可)に従ってインデックス付けした単語の辞書によって実装する。例えば、「ticket」「ticketed」「ticketing」および「tickets」に関する辞書のエントリをそれぞれ、語幹「ticket」のもとでインデックス付けする。当該実施形態では、クエリ拡張エンジン167は、「tickets」の語幹を決定し(これを辞書検索によって実施してもよい)、当該語幹をインデックスとして用いて辞書の検索を実施する。別の実施形態では、辞書内の単語を、共通の語幹を有する辞書内の他の単語と関連付ける。例えば、「tickets」に関する辞書のエントリを、単語「ticket」「ticketed」「ticketing」および「tickets」に直接リンクする。当該実施形態では、クエリ拡張エンジン167が、辞書にアクセスする前にオリジナル・クエリ・ターム「tickets」に対する語幹を決定する必要はない。幾つかの実施形態では、かかる辞書を、部分的にまたは全体として、インデックス付けエンジン166によるドキュメント処理に基づいて自動的に生成することができる。オリジナル・クエリ・タームと語幹を共有する単語を特定するための他の多くの技術は当業界の技術常識である。英語に有用なステミング技術には、雪だるま式ステマ(Snowball−based stemmer)やPorterステミング・アルゴリズムがあるがこれらに限られない。
1実施形態では、Lucene検索エンジンで提供されるような標準的なインデックス付けエンジンを使用して、インデックスやインデックス付けされたタームの対応する辞書を生成する。当該辞書はアルファベット順に整列される。この辞書を使用して、最初の3文字のように、オリジナル・クエリ・タームと同じn個の文字で始まる辞書内のタームを特定することにより、拡張候補を特定することができる。例えば、オリジナル・クエリ・ターム「tickets」からは、「tic」「tick」「ticket」「ticketed」「ticketing」「tickled」「ticklish」「ticktack」「ticktock」「tics」および「tictac」がかかる拡張候補に含まれうる。次に、ステミングを拡張候補の各々に実施して、オリジナル・クエリ・タームと語幹を共有する拡張を特定する。
前述のように、ステミングと関連する従来技術がある。当該従来技術では、ドキュメントのインデックス付けには、ドキュメントに含まれる単語に対する語幹を特定し、特定された語幹によりドキュメント・インデックスでドキュメントをインデックス付けすることが含まれ、クエリ・タームはステミングされ(換言すれば、クエリ・タームがその語幹に減縮される)、ドキュメントが、ステミングされたクエリ・タームに基づいてドキュメント・インデックスから特定される。1例として前述したように、この従来技術を使用する検索エンジンで「ticketing」を検索すると、単語「ticket」(「ticketing」の語幹)を含むドキュメントと、(それぞれが「ticketing」と同じ語幹「ticket」を有する)単語「tickets」および/または「ticketless」を含むドキュメントが返される。しかし、前述のように、このインデックス付けおよび検索の技術では精度が低下する。なぜならば、全てが同じ語幹を有し結果として同じ語幹のもとで纏めてインデックス付けされる多数の単語が存在する可能性があり、それらは多くの場合は互いに殆ど関係しないからである。結果として、ドキュメントのインデックスはあまり正確でない。対照的に、上の段落で論じた技術は、本発明の他の態様と組み合わせると、この従来技術と比べて改善された結果を得ることができる。なぜならば、当該技術は、ドキュメント内で見つかった単語に従ってインデックス付けすることでより正確なインデックス・データベースを利用することができ、従来技術と同じ広さでドキュメントを特定することができ、特定されたドキュメントの改善された順位付けを容易にすることができるからである。
オリジナル・クエリ・タームと関連する拡張タームを特定するための別の技術は類語を利用することである。この場合、所与のタームに対する拡張タームが互いに関連付けられる。例えば、「cat(猫)」や「feline(猫科の動物)」のような共通の語幹を有さない類語を当該類語において関連付けて、オリジナル・クエリ・ターム「cat」を含むクエリが「feline」も含むように拡張されるようにしてもよい。例えば、特定のタームは一般により効果的に纏めて検索されるという領域経験に基づいて、類語関連付けをユーザまたは管理者により手動で指定してもよい。1実施形態では、類語関連付けを、インデックス付けエンジン166によるドキュメント処理に基づいて自動的に生成してもよい。例えば、ドキュメント内の2つのタームの頻繁な共起を使用して、これらのタームが類語で関連付けられるほど十分に関連すると判定してもよい。1実施形態では、当該類語関連付けを、検索システム160に送信されたクエリの自動分析に基づいて生成してもよい。例えば、単一の検索または詳細検索におけるタームの共起を使用して、当該タームが類語で関連付けられるほど十分に関連すると判定してもよい。
ステップ440では、特定した拡張クエリ・タームごとに、クエリ拡張エンジン167は、検索結果の順位付けでの使用を目的とした重みを決定するように構成される。この重み付けは、拡張クエリ・タームが特定されたオリジナル・クエリ・タームと当該拡張クエリ・タームの間の語彙距離に基づいて決定される。語彙距離は、特定の技術に従う2つの単語間の距離を示す。値が小さいことは、2つの単語間の類似度が高いことを示す。1つの単純な例は、単語ごとに文字数の絶対差を計算することである。この例によれば、「carry」と「carrier」の語彙距離は2である。他の技術には、Jaro技術またはJaro−Winkler距離技術に基づく語彙距離の決定が含まれるがこれらに限られない(正規スコアを考慮して、これらの技術では非マッチの0から完璧なマッチの1までの範囲を生成する)。
1実施形態では、当該語彙距離は、オリジナル・クエリ・タームと対応する拡張クエリ・タームの間の「編集距離」を決定することで決定される。編集距離は、第1の単語を第2の単語に変換する編集操作実施の最小コストを計算することで決定される。当該操作は一般に、単一の文字編集を実施するものである。編集操作には、文字または文字列の置換、挿入、削除、転置が含まれるがこれらに限られない。幾つかのケースでは、編集操作が、挿入と削除が同じコストを有し、置換えが挿入の2倍のコストを有するといったように、様々なコストを有してもよい。幾つかのケースでは、編集操作を、個々の文字ではなく、1つまたは複数の文字の音声単位に実施してもよい。1実施形態では、より広く使用されている編集距離の1つであるレーベンシュタイン距離を使用して、オリジナル・クエリ・タームと対応する拡張クエリ・タームの間の語彙距離を決定する。HirschbergのアルゴリズムやWagner−Fischerアルゴリズムを含む、レーベンシュタイン距離を計算するためのアルゴリズムが当業界で公知である。他の編集距離も当業界で公知であり、それにはDamerau−Levenshtein距離、Monge−Elkan距離、およびSmith−Waterman距離がある。
同じ拡張クエリ・タームが2つのオリジナル・クエリ・タームに対して特定された場合には、2つの各重み付けのうち大きい方のみが、拡張クエリ・タームに対して適用される重み付けであると判定するようにクエリ拡張エンジン167を構成してもよい。
ステップ440では、拡張クエリ・タームのクエリに対する関連性の期待度合いを反映する重みを、決定された語彙距離に基づいて決定する。1実施形態では、当該重みは、(語彙距離が増大すると2つのターム間の類似度が減少するという仮定のもと)語彙距離の狭義単調減少関数に従って決定される。1実施形態では、当該重みを、一般にexp(x)またはexと書かれる指数関数に基づいて決定する。この場合、対応するオリジナル・クエリ・タームから語彙距離dを有する拡張クエリ・タームの重みwは、w=exp(−d)またはその近似により決定される。例えば、語幹ベースの拡張が実施され、レーベンシュタイン距離が使用され、w=exp(−d)の近似が使用される場合、オリジナル・クエリ・ターム「tickets」に対して、以下の拡張クエリ・タームと対応する重み、即ち、ticket/0.37およびticketing/0.05を決定してもよい(さらに、1.00の重みをオリジナル・クエリ・ターム「tickets」に関連付けてもよい)。当該重みは、語彙距離に基づくものであるが、追加の因子に基づいてもよい。
1実施形態では、距離と重みの決定を畳み込み(collapse)、それにより語彙距離に基づいて重みを取得する。例えば、非マッチの0から2つの単語間の完璧なマッチの1までのスコアを生成するJaro Winkler距離を直接、拡張クエリ・タームの重み付けに使用してもよい。
1実施形態では、語彙距離を拡張クエリ・タームに対して決定した後、クエリ拡張エンジン167は、決定された距離が閾値以上かどうかを判定する。閾値以上である場合には、拡張クエリ・タームはオリジナル・タームから非常に遠くに離れているとみなされ、それに応じて、拡張クエリ・タームは当該クエリに関連するドキュメントの後の特定の一部としては含まれない。1実施形態では、拡張クエリ・タームに対して重みを決定した後、クエリ拡張エンジン167は、決定された距離が閾値以下であるかどうかを判定する。そうである場合には、拡張クエリ・タームはオリジナル・タームに十分に関連していないとみなされ、それに応じて、拡張クエリ・タームは当該クエリに関連するドキュメントの後の特定の一部としては含まれない。
ステップ450では、クエリ拡張エンジン167により特定されたオリジナル・クエリ・タームと拡張クエリ・タームを検索エンジン165により使用して、当該オリジナル・クエリ・タームが特定されたクエリに関連するインデックス・データベース161内のドキュメントを特定する。例えば、検索エンジン165を、1つまたは複数のオリジナル・タームまたは拡張クエリ・タームを含む各ドキュメントを特定するように構成してもよい。結果として、複数のドキュメントは当該クエリに関連するとして特定される。しかし、これは当該クエリに対する関連度を反映する順序では必ずしも特定されない。
拡張クエリ・タームに対して生成された重みが順位付けエンジン168に提供される。これらの重みをステップ460で順位付けエンジン168により使用して、特定されたドキュメントを順位付けする。1実施形態では、ドキュメントが拡張クエリ・タームを含むことに基づいて特定される場合に、当該拡張クエリ・タームに対応する重みが当該ドキュメントの順位付けに使用される。非限定的な例では、検索クエリ文字列におけるカラット記号(carat symbol)を用いてクエリ・タームに関するLucene検索エンジンに対する重みまたは「ブースト因子(boost factor)」を指定してもよい。ドキュメントの検索クエリに対する関連度の決定において、Lucene検索エンジンは、ドキュメントのインデックス付けされたコーパス全体にわたってクエリ・タームが出現する頻度のような、重み付けを他の順位付け因子に加えて適用する。
ステップ470でこの順位付けを検索システム165により使用して当該順位に従って順序付けられた特定されたドキュメントを識別する応答132bを生成する。1実施形態では、特定の度合または順位以下のドキュメントをクエリ131bに十分に関連しておらず、結果として応答132bで特定されないと判定してもよい。1実施形態では、クエリ131aに関連するドキュメントとその順位の特定を、連続するステップではなく、組み合わせてもよい。
幾つかの実施形態では、順位付けエンジン168は、語彙距離に基づく上述の重み付けに加えて他の因子を利用する。例えば、語彙距離に基づく重み付けは夫々のクエリ・タームに関連付けられるけれども、他の重み付けがよりドキュメントに固有の事項に基づいてもよい。当該事項には例えば、引用またはアクセスの頻度、または、所与のドキュメントの作成者もしくは提供者に割り当てられたスコアがあるがこれらに限られない。顧客サポート・チケットシステムの順位付け因子として使用できる他のドキュメント特徴には、チケットの期間、作成日、最終アクセス日、チケットのステータス(例えば、公開または解決済み)、コメント数が含まれるがこれらに限られない。1実施形態では、クエリ131bが、ドキュメントの順位を決定する際の因子を順位付けエンジン168に包含、除外、および/または調節させる情報を含んでもよい。例えば、クエリ131bが、ユーザが生成したドキュメントより高い順位を管理者が生成したドキュメントに与えるように検索システムに指示してもよい。
1実施形態では、重みは計算されず、順位付けエンジン168による順位付けは拡張クエリ・タームに関する語彙距離に依存する。
上の例では、クエリに関連するドキュメントを特定する前に拡張クエリ・タームの距離と重みを決定することを説明したが、1実施形態では、これらの決定を、検索エンジン165が当該クエリに関連するドキュメントを特定した後に行うことができる。
1実施形態では、再帰的な拡張を、対応する重み付けを用いてまたは対応する重み付けなしに実施してもよい。例えば、クエリ拡張エンジン167が、類語を用いて第1の拡張タームを特定し、オリジナル・クエリ・タームに関連付けられた単語を見つけてもよい。類語から特定された拡張は、オリジナル・タームに対する関連性に対応しない長い語彙距離を有する可能性が高いので、オリジナル・クエリ・タームからの語彙距離に基づく重み付けを第1の拡張タームに関連付けないようにクエリ拡張エンジン167を構成してもよい(しかし、別の重み付けを当該第1の拡張タームに適用して、例えば、オリジナル・タームに関連する拡張タームの重みを削減してもよい)。次に、クエリ拡張エンジン167が、第1の拡張タームからの語彙距離に従う第2の拡張タームへの重みに従って、第1の拡張タームと語幹を共有する単語を特定することによって、第2の拡張タームを生成してもよい。第2の拡張タームの重みを、第2の拡張タームが再帰的な拡張でない場合に決定される重みに対して減らしてもよい。
別の実施形態では、第1の拡張タームを、オリジナル・クエリ・タームと語幹を共有する単語を特定することによって生成してもよく、第2の拡張タームを、オリジナル・クエリ・タームと関連付けられた単語を発見するための類語を用いて特定してもよい。第1の重みを、オリジナル・クエリ・タームと第1のクエリ・タームの間の語彙距離に基づいて第1の拡張タームに対して決定してもよく、第2の重みを、当該第1の重みに基づいて第2の拡張タームに対して決定してもよい。例えば、重み付けXが第2の拡張タームに対する何等かの方法にしたがって決定された場合には、重み付けXに第1の重みを乗じて、再帰的な拡張である第2の拡張タームと、オリジナル・クエリ・タームから拡張された第1の拡張クエリ・タームの関連性を反映してもよい。
1実施形態では、クエリ131bが、クエリ131bに含まれるクエリ・タームの一部または全部に対してクエリ拡張を実施しないように検索システム160に指示する情報を含んでもよい。例えば、ユーザ110が、クエリ・タームを引用記号で囲むかクエリ・タームの前にプラス記号を先行させて検索フレーズを入力してもよい。これは、当該クエリ・タームが拡張されないという結果を有する。1実施形態では、クエリ拡張エンジン167を、例えば、「拡張不可」リストにより、拡張を特定しようとしないというタームを特定するように構成してもよい。1実施形態では、インデックス付けエンジン166が、ドキュメント・タイプ、タイトル、作成者、または日付のような様々なフィールドで特定のドキュメント・データをインデックス付けして、クエリ131bが特定のフィールドと関連して使用されるクエリ・タームを指定できるようにしてもよい。1例では、1組の固定された所定のタグまたはラベルを、例えば顧客サポート・チケットが新規、公開、未決、解決、または終了であるかどうかを示すステータス・フィールドに対して、定義してもよい。この例では、当該ステータス・フィールドに対するクエリ・タームは拡張されない。
様々な値の計算を要する種々の例を開示したが、開示した計算を、様々な技術を利用したより直接的な値の計算で置き換えうることは当業者には理解される。当該技術にはテーブル検索技術が含まれるがこれに限られない。しかし、かかる技術は計算的により効率的であってもよく、本発明の範囲内に留まる代替的な計算にすぎない。
図2は、本発明の諸態様を実装できるコンピュータ・システム200を示すブロック図である。コンピュータ・システム200は、情報を通信するためのバス202または他の通信機構、および情報を処理するためのバス202に接続されたプロセッサ204を備える。コンピュータ・システム200はまた、ランダム・アクセス・メモリ(RAM)または他の動的記憶装置のような、情報とプロセッサ204により実行される命令とを格納するための、バス202に接続されたメイン・メモリ206を備える。メイン・メモリ206を、プロセッサ204により実行される命令の実行中に一時変数または他の中間情報を格納するために使用してもよい。コンピュータ・システム200はさらに、プロセッサ204に対して静的情報や命令を格納するための、バス202に接続された読取専用メモリ(ROM)208または他の静的記憶装置を備える。情報や命令を格納するための磁気ディスクまたは光ディスクのような記憶装置210が提供され、バス202に接続される。
コンピュータ・システム200を、カソード・レイ・チューブ(CRT)のような、情報をコンピュータのユーザに対して表示するためのディスプレイにバス202を介して接続してもよい。情報やコマンド選択をプロセッサ204に送信するための英数字キーと他のキーを含む入力装置214がバス202に接続される。別の種類のユーザ入力装置は、方向情報やコマンド選択をプロセッサ204に通信しディスプレイ212上のカーソルの移動を制御するための、マウス、トラックボール、またはカーソル方向キーのようなカーソル・コントロール216である。この入力装置は一般に、装置が平面内の位置を指定できるようにする2つの軸、即ち、第1の軸(例えば、x)および第2の軸(例えば、y)において2つの自由度を有する。
本発明は、本明細書で説明した技術を実装するためのコンピュータ・システム200の利用に関する。本発明の1実施形態によれば、これらの技術は、メイン・メモリ206に含まれる1つまたは複数の命令の1つまたは複数のシーケンスをプロセッサ204が実行したことに応答してコンピュータ・システム200により実施される。かかる命令を記憶装置210のような別の機械読取可能媒体からメイン・メモリ206に読み出してもよい。メイン・メモリ206に含まれるこれらの命令シーケンスを実行することで、プロセッサ204に本明細書に記載の処理ステップを実施させる。代替的な実施形態では、ハードワイヤードの回路をソフトウェア命令の代わりにまたはソフトウェア命令と組み合わせて使用して本発明を実施してもよい。したがって、本発明の諸実施形態はハードウェア回路とソフトウェアのどの特定の組合せにも限定されない。
本明細書で使用する「機械読取可能媒体」という用語は、機械を特定の形式で動作させるデータの提供に参加する任意の媒体を指す。コンピュータ・システム200を用いて実装した1実施形態では、例えば、命令をプロセッサ204に提供して実行する際に、様々な機械読取可能媒体が関与する。かかる媒体は様々な形態をとり、かかる形態には、不揮発性媒体、揮発性媒体、および送信媒体が含まれるがこれらに限られない。不揮発性媒体には例えば、記憶装置210のような光ディスクまたは磁気ディスクが含まれる。揮発性媒体には、メイン・メモリ206のような動的メモリが含まれる。送信媒体には、バス202を含む配線のような、同軸ケーブル、銅線、および光ファイバが含まれる。送信媒体は、電波および赤外線データ通信中に生成されるもののような、音波または光波の形をとってもよい。かかる媒体の全ては、当該媒体により運搬される命令を、命令を機械に読み込む物理機構により検出できるようにするために、具体的なものでなければならない。
一般的な形態の機械読取可能媒体には、例えば、フロッピ・ディスク、フレキシブル・ディスク、ハード・ディスク、磁気テープ、または他の任意の磁気媒体、CD−ROM、他の任意の光媒体、パンチカード、紙テープ、穴のパターンを有する他の任意の物理媒体、RAM、PROM、およびEPROM、FLASH−EPROM、他の任意のメモリチップもしくはカートリッジ、後述する搬送波、またはコンピュータが読み出せる他の任意の媒体が含まれる。
様々な形態の機械読取可能媒体が、1つまたは複数の命令の1つまたは複数のシーケンスをプロセッサ204に運搬して実行する際に必要であってもよい。例えば、当該命令を最初にリモート・コンピュータの磁気ディスクで運搬してもよい。当該リモート・コンピュータは当該命令をその動的メモリにロードして、モデムを用いて当該命令を電話線で送信することができる。コンピュータ・システム200にローカルなモデムが、電話線でデータを受信し、赤外線送信器を使用して当該データを赤外線信号に変換することができる。赤外線検出器は赤外線信号で運搬されるデータを受信することができ、適切な回路が当該データをバス202に置くことができる。バス202は当該データをメイン・メモリ206に運搬する。プロセッサ204は命令をメイン・メモリ206から取り出して実行する。場合によっては、メイン・メモリ206により受信した命令を、プロセッサ204による実行の前または後に記憶装置210に格納してもよい。
コンピュータ・システム200はまた、バス202に接続された通信インタフェース218を備える。通信インタフェース218は、ローカル・ネットワーク222に接続されたネットワーク接続220に接続する双方向データ通信を提供する。例えば、通信インタフェース218が、対応する種類の電話線へのデータ通信接続を提供するためのインテグレーテッド・サービス・デジタル・ネットワーク(ISDN)カードまたはモデムであってもよい。別の例として、通信インタフェース218が、互換LANへのデータ通信接続を提供するためのローカル・エリア・ネットワーク(LAN)であってもよい。無線接続を実装してもよい。任意のかかる実装では、通信インタフェース218が、様々な種類の情報を表現するデジタル・データ・ストリームを運搬する電気信号、電磁気信号、または光信号を送受信する。
ネットワーク接続220は一般に、1つまたは複数のネットワークを介した他のデータ装置へのデータ通信を提供する。例えば、ネットワーク接続220は、ローカル・ネットワーク222を介した接続をホストコンピュータ224またはインターネット・サービス・プロバイダ(ISP)226により動作されるデータ装置に提供してもよい。ISP226は、現在「インターネット」228と一般的に呼ばれている世界規模のパケット・データ通信ネットワークを介してデータ通信サービスを提供する。ローカル・ネットワーク222とインターネット228は両方とも、デジタル・データ・ストリームを運搬する電気信号、電磁気信号、または光信号を使用する。デジタル・データをコンピュータ・システム200に対して運搬する、様々なネットワークを介した信号、ネットワーク接続220および通信インタフェース218を介した信号は、情報を伝送する搬送波の例示的な形態である。
コンピュータ・システム200は、ネットワーク(複数可)、ネットワーク接続220および通信インタフェース218を介して、プログラム・コードを含む、メッセージを送信しデータを受信することができる。インターネットの例では、サーバ230は、インターネット228、ISP226、ローカル・ネットワーク222および通信インタフェース218を介して、アプリケーション・プログラムのために必要なコードを送信してもよい。
受信したコードを、受信したときにプロセッサ204により実行し、かつ/または後の実行のために記憶装置210、もしくは他の不揮発性記憶に格納してもよい。このように、コンピュータ・システム200がアプリケーション・コードを搬送波の形で取得してもよい。
以上の説明では、多数の具体的な詳細を参照して本発明の諸実施形態を説明した。当該詳細は、実装ごとに異なってもよい。したがって、本願の出願人が意図した本発明を示す唯一かつ包括的な指標は、任意の後の修正を含む、本願に添付した具体的な形の諸請求項である。かかる諸請求項に含まれる用語に関して本明細書で明示的に説明した任意の定義は、諸請求項で用いるかかる用語の意味を支配するものとする。したがって、請求項に明示的に記載されていない限定、要素、性質、機能、利点または属性はかかる請求項の範囲を何ら限定するものではない。したがって、本明細書と添付図面は限定的な意味ではなく例示的なものとして理解されるべきである。
Claims (20)
- 検索クエリを受信するステップと、
前記クエリに基づいて第1のオリジナル・クエリ・タームを特定するステップと、
前記第1のオリジナル・クエリ・タームに関連する第1の拡張クエリ・タームを特定するステップと、
前記第1のオリジナル・クエリ・タームと前記第1の拡張クエリ・タームの間の第1の語彙距離を決定するステップと、
前記第1の拡張クエリ・タームに対する第1の重みを、前記決定された第1の語彙距離に基づいて決定するステップと、
それぞれが前記検索クエリと関連する複数のドキュメントをドキュメントのコーパスから特定するステップであって、前記複数のドキュメントは、前記第1の拡張クエリ・タームを含むことに基づいて特定された第1のドキュメントを含む、ステップと、
計算された第1の重みに基づく前記第1のドキュメントの順位を用いて、前記複数のドキュメントを順位付けするステップと、
前記順位に従って順位付けられた前記複数のドキュメントのうち2つ以上を特定する、前記検索クエリに対する応答を生成するステップと、
を含む、コンピュータ実行型の方法。 - 前記第1のオリジナル・クエリ・タームに関連する第2の拡張クエリ・タームを特定するステップと、
前記第1のオリジナル・クエリ・タームと前記第2の拡張クエリ・タームの間の第2の語彙距離を決定するステップと、
前記決定された第2の語彙距離に基づいて、前記第2の拡張クエリ・タームに対する第2の重みを決定するステップと、
前記第2の拡張クエリ・タームを含むことに基づいて、ドキュメントの前記コーパスから第2のドキュメントを特定するステップであって、前記第2のドキュメントは前記複数のドキュメントに含まれる、ステップと
をさらに含み、
前記第2のドキュメントの前記順位は計算された第2の重みに基づく、
請求項1に記載の方法。 - 前記第1の語彙距離を決定するステップは、前記第1のオリジナル・クエリ・タームと前記第1の拡張クエリ・タームの間の編集距離を決定するステップを含む、請求項1に記載の方法。
- 前記編集距離を決定するステップは、前記第1のオリジナル・クエリ・タームと前記第1の拡張クエリ・タームの間のレーベンシュタイン距離を決定するステップを含む、請求項3に記載の方法。
- 前記第1の重みはexp(−d)に近似的に等しい関数に従って決定され、dは前記語彙距離に対応する、請求項1に記載の方法。
- 前記第1の拡張クエリ・タームを特定するステップは、単語が前記第1のオリジナル・クエリ・タームと語幹を共有することに基づいて前記単語を特定するステップを含む、請求項1に記載の方法。
- 前記単語を特定するステップは、
前記第1のオリジナル・クエリ・タームに対する語幹を決定するステップと、
前記決定された語幹をキーとして利用することによって、インデックスまたはテーブルから前記単語を取り出すステップと、
を含む、請求項6に記載の方法。 - 前記第1のオリジナル・クエリ・タームに関連する第2の拡張クエリ・タームを特定するステップと、
前記第1のオリジナル・クエリ・タームと前記第2の拡張クエリ・タームの間の第2の語彙距離を決定するステップと、
計算された第2の語彙距離に基づいて、前記第2の拡張クエリ・タームに対する第2の重みを決定するステップであって、前記第2の重みは、語彙距離の第1の狭義単調減少関数に従って決定される、ステップと、
前記第2の重みが閾値以下であることの結果として、前記複数のドキュメントを特定するために前記第2の拡張クエリ・タームを利用しないと判定するステップと、
をさらに含む、請求項1に記載の方法。 - 前記第1のオリジナル・クエリ・タームに関連する第2の拡張クエリ・タームを特定するステップと、
前記第1のオリジナル・クエリ・タームと前記第2の拡張クエリ・タームの間の第2の語彙距離を決定するステップと、
前記第2の語彙距離が閾値以上であることの結果として、前記複数のドキュメントを特定するために前記第2の拡張クエリ・タームを利用しない判定するステップと、
をさらに含む、請求項1に記載の方法。 - 前記複数のドキュメントは、顧客サポート・システムのためのサポート・チケットである、請求項1に記載の方法。
- 前記第1のオリジナル・クエリ・タームに関連する第2の拡張クエリ・タームを特定するステップと、
第3の拡張クエリ・タームを、当該第3の拡張クエリ・タームが前記第2の拡張クエリ・タームと語幹を共有することに基づいて、特定するステップと、
前記第2の拡張クエリ・タームと前記第3の拡張クエリ・タームの間の第2の語彙距離を決定するステップと、
前記決定された第2の語彙距離に基づいて、前記第3の拡張クエリ・タームに対する第2の重みを決定するステップと、
前記第3の拡張クエリ・タームを含むことに基づいて、ドキュメントの前記コーパスから第2のドキュメントを特定するステップであって、前記第2のドキュメントは、前記複数のドキュメントに含まれる、ステップと、
をさらに含み、
前記第2のドキュメントの前記順位は計算された第2の重みに基づく、
請求項1に記載の方法。 - 前記第2の拡張クエリ・タームを特定するステップは、前記第1のオリジナル・クエリ・タームに関連する前記第2の拡張クエリ・タームを特定する類語から、前記第2の拡張クエリ・タームを選択するステップを含む、請求項11に記載の方法。
- 検索クエリを受信し、
前記クエリに基づいて第1のオリジナル・クエリ・タームを特定し、
前記第1のオリジナル・クエリ・タームに関連する第1の拡張クエリ・タームを特定し、
前記第1のオリジナル・クエリ・タームと前記第1の拡張クエリ・タームの間の第1の語彙距離を決定し、
前記決定された第1の語彙距離に基づいて、前記第1の拡張クエリ・タームに対する第1の重みを決定する、
ようにプログラムされたクエリ拡張エンジンと、
それぞれが前記検索クエリに関連する複数のドキュメントを、ドキュメントのコーパスから特定するようにプログラムされた検索システムであって、前記複数のドキュメントは、前記第1の拡張クエリ・タームを含むことに基づいて特定された第1のドキュメントを含む、検索システムと、
計算された第1の重みに基づく前記第1のドキュメントの順位を用いて、前記複数のドキュメントを順位付けするようにプログラムされた順位付けエンジンと、
を備えた検索システムであって、
前記検索システムはさらに、前記順位に従って順位付けられた前記複数のドキュメントのうち2つ以上を特定する、前記検索クエリに対する応答を生成するようにプログラムされる、検索システム。 - 前記クエリ拡張エンジンはさらに、
前記第1のオリジナル・クエリ・タームに関連する第2の拡張クエリ・タームを特定し、
前記第1のオリジナル・クエリ・タームと前記第2の拡張クエリ・タームの間の第2の語彙距離を決定し、
前記決定された第2の語彙距離に基づいて、前記第2の拡張クエリ・タームに対する第2の重みを決定する
ようにプログラムされ、
前記検索システムはさらに、前記第2の拡張クエリ・タームを含むことに基づいて、ドキュメントの前記コーパスから第2のドキュメントを特定するようにプログラムされ、前記第2のドキュメントは前記複数のドキュメントに含まれ、
前記第2のドキュメントの前記順位は計算された第2の重みに基づく、
請求項13に記載の検索システム。 - 前記第1の語彙距離を決定するように前記クエリ拡張エンジンをプログラムすることは、前記第1のオリジナル・クエリ・タームと前記第1の拡張クエリ・タームの間の編集距離を決定する命令を含む、請求項13に記載の検索システム。
- 前記編集距離を決定するように前記クエリ拡張エンジンをプログラムすることは、前記第1のオリジナル・クエリ・タームと前記第1の拡張クエリ・タームの間のレーベンシュタイン距離を決定する命令を含む、請求項15に記載の検索システム。
- 前記第1の重みはexp(−d)に近似的に等しい関数に従って決定され、dは前記語彙距離に対応する、請求項13に記載の検索システム。
- 前記第1の拡張クエリ・タームを特定するように前記クエリ拡張エンジンをプログラムすることは、単語が前記第1のオリジナル・クエリ・タームと語幹を共有することに基づいて前記単語を特定する命令を含む、請求項13に記載の検索システム。
- 前記単語を特定する命令は、前記第1のオリジナル・クエリ・タームに対する語幹を決定するための命令と、前記決定された語幹をキーとして利用することによってインデックスまたはテーブルから前記単語を取り出すための命令を含む、請求項18に記載の検索システム。
- 前記クエリエンジンはさらに
前記第1のオリジナル・クエリ・タームに関連する第2の拡張クエリ・タームを特定し、
前記第1のオリジナル・クエリ・タームと前記第2の拡張クエリ・タームの間の第2の語彙距離を決定し、
計算された第2の語彙距離に基づいて、前記第2の拡張クエリ・タームに対する第2の重みを決定することであって、前記第2の重みは、語彙距離の第1の狭義単調減少関数に従って決定される、
ようにプログラムされ、
前記第2の拡張クエリ・タームは、前記第2の重みが閾値以下であることの結果として前記複数のドキュメントを特定するために使用されない、
請求項13に記載の検索システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/544,890 | 2012-07-09 | ||
US13/544,890 US8661049B2 (en) | 2012-07-09 | 2012-07-09 | Weight-based stemming for improving search quality |
PCT/US2013/049798 WO2014011689A1 (en) | 2012-07-09 | 2013-07-09 | Weight-based stemming for improving search quality |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015525929A true JP2015525929A (ja) | 2015-09-07 |
Family
ID=49879306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015521758A Pending JP2015525929A (ja) | 2012-07-09 | 2013-07-09 | 検索品質を改善するための重みベースのステミング |
Country Status (6)
Country | Link |
---|---|
US (1) | US8661049B2 (ja) |
EP (1) | EP2870549A4 (ja) |
JP (1) | JP2015525929A (ja) |
AU (1) | AU2013290306A1 (ja) |
CA (1) | CA2878891A1 (ja) |
WO (1) | WO2014011689A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017072885A (ja) * | 2015-10-05 | 2017-04-13 | 日本電信電話株式会社 | 情報検索装置、辞書作成装置、方法、及びプログラム |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8881005B2 (en) * | 2012-04-20 | 2014-11-04 | King Abdulaziz City For Science And Technology | Methods and systems for large-scale statistical misspelling correction |
US20140040302A1 (en) * | 2012-05-08 | 2014-02-06 | Patrick Sander Walsh | Method and system for developing a list of words related to a search concept |
US20140072226A1 (en) * | 2012-09-13 | 2014-03-13 | International Business Machines Corporation | Searching and Sorting Image Files |
US11144563B2 (en) * | 2012-11-06 | 2021-10-12 | Matthew E. Peterson | Recurring search automation with search event detection |
US10678870B2 (en) * | 2013-01-15 | 2020-06-09 | Open Text Sa Ulc | System and method for search discovery |
CN105447004B (zh) * | 2014-08-08 | 2019-12-03 | 北京小度互娱科技有限公司 | 查询推荐词的挖掘、相关查询方法及装置 |
US11178078B2 (en) | 2015-04-03 | 2021-11-16 | XSELL Technologies, Inc. | Method and apparatus to increase personalization and enhance chat experiences on the Internet |
US20180011929A1 (en) * | 2016-07-08 | 2018-01-11 | Newvoicemedia, Ltd. | Concept-based search and categorization |
US10217020B1 (en) * | 2016-12-19 | 2019-02-26 | Matrox Electronic Systems Ltd. | Method and system for identifying multiple strings in an image based upon positions of model strings relative to one another |
US10586237B2 (en) | 2017-09-20 | 2020-03-10 | XSELL Technologies, Inc. | Method, apparatus, and computer-readable media for customer interaction semantic annotation and analytics |
US10909210B2 (en) * | 2018-03-22 | 2021-02-02 | Ovh | Method and system for defining a web site development strategy |
US11042601B2 (en) | 2018-11-15 | 2021-06-22 | Ovh | Method for attracting users to a web page and server implementing the method |
US11526565B2 (en) | 2019-04-05 | 2022-12-13 | Ovh | Method of and system for clustering search queries |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5317507A (en) | 1990-11-07 | 1994-05-31 | Gallant Stephen I | Method for document retrieval and for word sense disambiguation using neural networks |
US5325298A (en) | 1990-11-07 | 1994-06-28 | Hnc, Inc. | Methods for generating or revising context vectors for a plurality of word stems |
US6470307B1 (en) | 1997-06-23 | 2002-10-22 | National Research Council Of Canada | Method and apparatus for automatically identifying keywords within a document |
US20030171914A1 (en) | 2000-04-18 | 2003-09-11 | Il-Hyung Jung | Method and system for retrieving information based on meaningful core word |
AU2001288469A1 (en) | 2000-08-28 | 2002-03-13 | Emotion, Inc. | Method and apparatus for digital media management, retrieval, and collaboration |
CA2323883C (en) | 2000-10-19 | 2016-02-16 | Patrick Ryan Morin | Method and device for classifying internet objects and objects stored oncomputer-readable media |
US20030020749A1 (en) | 2001-07-10 | 2003-01-30 | Suhayya Abu-Hakima | Concept-based message/document viewer for electronic communications and internet searching |
US7089234B2 (en) * | 2002-07-31 | 2006-08-08 | International Business Machines Corporation | Communicating state information in a network employing extended queries and extended responses |
US7171351B2 (en) * | 2002-09-19 | 2007-01-30 | Microsoft Corporation | Method and system for retrieving hint sentences using expanded queries |
US7194455B2 (en) * | 2002-09-19 | 2007-03-20 | Microsoft Corporation | Method and system for retrieving confirming sentences |
US8055669B1 (en) * | 2003-03-03 | 2011-11-08 | Google Inc. | Search queries improved based on query semantic information |
US20050149499A1 (en) | 2003-12-30 | 2005-07-07 | Google Inc., A Delaware Corporation | Systems and methods for improving search quality |
WO2005096174A1 (en) | 2004-04-02 | 2005-10-13 | Health Communication Network Limited | Method, apparatus and computer program for searching multiple information sources |
US7548929B2 (en) | 2005-07-29 | 2009-06-16 | Yahoo! Inc. | System and method for determining semantically related terms |
CA2545232A1 (en) | 2005-07-29 | 2007-01-29 | Cognos Incorporated | Method and system for creating a taxonomy from business-oriented metadata content |
US7668887B2 (en) | 2005-12-01 | 2010-02-23 | Object Positive Pty Ltd | Method, system and software product for locating documents of interest |
KR100785928B1 (ko) * | 2006-07-04 | 2007-12-17 | 삼성전자주식회사 | 멀티모달 정보를 이용한 사진 검색 방법 및 사진 검색시스템 |
US8234107B2 (en) | 2007-05-03 | 2012-07-31 | Ketera Technologies, Inc. | Supplier deduplication engine |
US20080313202A1 (en) | 2007-06-12 | 2008-12-18 | Yakov Kamen | Method and apparatus for semantic keyword clusters generation |
CN101339551B (zh) * | 2007-07-05 | 2013-01-30 | 日电(中国)有限公司 | 自然语言查询需求扩展设备及其方法 |
CN101802812B (zh) | 2007-08-01 | 2015-07-01 | 金格软件有限公司 | 使用互联网语料库的自动的上下文相关的语言校正和增强 |
US7788276B2 (en) | 2007-08-22 | 2010-08-31 | Yahoo! Inc. | Predictive stemming for web search with statistical machine translation models |
US8001139B2 (en) * | 2007-12-20 | 2011-08-16 | Yahoo! Inc. | Using a bipartite graph to model and derive image and text associations |
US8402046B2 (en) * | 2008-02-28 | 2013-03-19 | Raytheon Company | Conceptual reverse query expander |
US8290975B2 (en) | 2008-03-12 | 2012-10-16 | Microsoft Corporation | Graph-based keyword expansion |
KR100931025B1 (ko) * | 2008-03-18 | 2009-12-10 | 한국과학기술원 | 재현율의 저하 없이 정확도를 향상시키기 위한 추가 용어를이용한 질의 확장 방법 |
US9411886B2 (en) * | 2008-03-31 | 2016-08-09 | Yahoo! Inc. | Ranking advertisements with pseudo-relevance feedback and translation models |
US8473279B2 (en) | 2008-05-30 | 2013-06-25 | Eiman Al-Shammari | Lemmatizing, stemming, and query expansion method and system |
US8041729B2 (en) * | 2009-02-20 | 2011-10-18 | Yahoo! Inc. | Categorizing queries and expanding keywords with a coreference graph |
US8214363B2 (en) | 2009-07-06 | 2012-07-03 | Abhilasha Chaudhary | Recognizing domain specific entities in search queries |
US8280900B2 (en) | 2010-08-19 | 2012-10-02 | Fuji Xerox Co., Ltd. | Speculative query expansion for relevance feedback |
US9589072B2 (en) * | 2011-06-01 | 2017-03-07 | Microsoft Technology Licensing, Llc | Discovering expertise using document metadata in part to rank authors |
-
2012
- 2012-07-09 US US13/544,890 patent/US8661049B2/en active Active
-
2013
- 2013-07-09 AU AU2013290306A patent/AU2013290306A1/en not_active Abandoned
- 2013-07-09 JP JP2015521758A patent/JP2015525929A/ja active Pending
- 2013-07-09 EP EP13816835.6A patent/EP2870549A4/en not_active Withdrawn
- 2013-07-09 WO PCT/US2013/049798 patent/WO2014011689A1/en active Application Filing
- 2013-07-09 CA CA2878891A patent/CA2878891A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017072885A (ja) * | 2015-10-05 | 2017-04-13 | 日本電信電話株式会社 | 情報検索装置、辞書作成装置、方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20140012841A1 (en) | 2014-01-09 |
US8661049B2 (en) | 2014-02-25 |
EP2870549A1 (en) | 2015-05-13 |
WO2014011689A1 (en) | 2014-01-16 |
AU2013290306A1 (en) | 2015-02-05 |
CA2878891A1 (en) | 2014-01-16 |
EP2870549A4 (en) | 2016-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11775535B2 (en) | Presenting search result information | |
US8661049B2 (en) | Weight-based stemming for improving search quality | |
US8276060B2 (en) | System and method for annotating documents using a viewer | |
KR101554293B1 (ko) | 교차 언어 정보 검색 | |
JP5727512B2 (ja) | 検索提案のクラスタ化及び提示 | |
US8051080B2 (en) | Contextual ranking of keywords using click data | |
US7672932B2 (en) | Speculative search result based on a not-yet-submitted search query | |
US11580181B1 (en) | Query modification based on non-textual resource context | |
US8090708B1 (en) | Searching indexed and non-indexed resources for content | |
WO2015172490A1 (zh) | 一种提供扩展搜索项的方法与装置 | |
US20080201320A1 (en) | System and method for searching annotated document collections | |
CN103064956A (zh) | 用于搜索电子内容的方法、计算系统和计算机可读介质 | |
AU2015206807A1 (en) | Coherent question answering in search results | |
JP2011529600A (ja) | 意味ベクトルおよびキーワード解析を使用することによるデータセットを関係付けるための方法および装置 | |
KR20090006464A (ko) | 사용자 맞춤형 컨텐츠 제공 장치, 그 방법 및 기록매체 | |
US20150339387A1 (en) | Method of and system for furnishing a user of a client device with a network resource | |
AU2018250372A1 (en) | Method to construct content based on a content repository | |
US20150161279A1 (en) | Displaying Local Site Name Information with Search Results | |
EP1962202A2 (en) | System and method for annotating documents | |
US20150169526A1 (en) | Heuristically determining key ebook terms for presentation of additional information related thereto | |
CN116303873A (zh) | 专利检索系统及其方法 |