JP2006236318A - クエリスペリングの訂正方法およびシステム - Google Patents
クエリスペリングの訂正方法およびシステム Download PDFInfo
- Publication number
- JP2006236318A JP2006236318A JP2006007829A JP2006007829A JP2006236318A JP 2006236318 A JP2006236318 A JP 2006236318A JP 2006007829 A JP2006007829 A JP 2006007829A JP 2006007829 A JP2006007829 A JP 2006007829A JP 2006236318 A JP2006236318 A JP 2006236318A
- Authority
- JP
- Japan
- Prior art keywords
- word
- query
- corpus
- suggested
- words
- 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
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/332—Query formulation
- G06F16/3322—Query formulation using system suggestions
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F16—ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
- F16K—VALVES; TAPS; COCKS; ACTUATING-FLOATS; DEVICES FOR VENTING OR AERATING
- F16K15/00—Check valves
- F16K15/02—Check valves with guided rigid valve members
- F16K15/025—Check valves with guided rigid valve members the valve being loaded by a spring
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F16—ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
- F16K—VALVES; TAPS; COCKS; ACTUATING-FLOATS; DEVICES FOR VENTING OR AERATING
- F16K27/00—Construction of housing; Use of materials therefor
- F16K27/02—Construction of housing; Use of materials therefor of lift valves
- F16K27/0209—Check valves or pivoted valves
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mechanical Engineering (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】検索時に代案クエリをユーザに提供する。
【解決手段】本発明は、アプリケーションにとって利用可能なドキュメントのコーパス内におけるすべてのワードのインデックスを作成すること、そのインデックス内の各ワードに関するコーパス内におけるそのワードの出現に基づく頻度の値を有するそのインデックス用の頻度テーブルを作成すること、その頻度テーブル内の各項目をワードジェネレータからの提案と比較すること、その頻度テーブル内で見つかるワードジェネレータによる提案ワードのレキシコンを編集すること、提案ワードを決定するために検索クエリ内の各ワードをワードジェネレータに提案すること、クエリワードよりも頻度の高いレキシコンからの提案ワードの1つまたは複数をユーザに表示することを含む。
【選択図】図1
【解決手段】本発明は、アプリケーションにとって利用可能なドキュメントのコーパス内におけるすべてのワードのインデックスを作成すること、そのインデックス内の各ワードに関するコーパス内におけるそのワードの出現に基づく頻度の値を有するそのインデックス用の頻度テーブルを作成すること、その頻度テーブル内の各項目をワードジェネレータからの提案と比較すること、その頻度テーブル内で見つかるワードジェネレータによる提案ワードのレキシコンを編集すること、提案ワードを決定するために検索クエリ内の各ワードをワードジェネレータに提案すること、クエリワードよりも頻度の高いレキシコンからの提案ワードの1つまたは複数をユーザに表示することを含む。
【選択図】図1
Description
本発明は、一般にコンピュータソフトウェアに関し、より詳細には、アプリケーション内でのクエリ(query)の間にクエリワードの別のスペルをユーザに提案するための方法およびシステムに関する。
ユーザは、アプリケーション内またはオペレーティングシステム上で検索クエリを発して所望のドキュメント等を見つける。
しかしながら、ユーザは、アプリケーション内またはオペレーティングシステム上で検索クエリを発する際にスペルミスを犯すことがある。検索エンジンは、これらのミススペルを検知しない場合が多い。ユーザは、このミスを自覚できないことがあり、検索エンジンが悪いと考える。さらにユーザは、自分が探していたドキュメントを見つけることができない。
この問題を解決する1つの方法は、ミススペルを検知するためのMicrosoft(登録商標)Officeワードジェネレータ(word generator)等のワードジェネレータを使用することである。訂正されたワードは、代わりのクエリ提案(query suggestions)として表示し、ユーザへ返すことができる。
本発明によれば、アプリケーション内のクエリを処理するためのシステムであって、各クエリワードが分析され、普及度(prevalence)、すなわちそのアプリケーションにとって利用可能なドキュメントのコーパス内におけるそのワードの頻度(popularity of the word's usage)に基づいてユーザへの提案として頻度の高い代案が提供されるシステムによって、前述の問題およびその他の問題が解決される。このシステムはまた、クエリワードに類似したスペルを提供するワードジェネレータと、そのアプリケーションにとって利用可能なドキュメントのコーパス内に登場するすべてのワードのインデックスと、そのインデックス内の各項目に与えられる頻度(popularity)すなわち関連度(relevance)の値を提供する頻度テーブルと、その頻度テーブル内に登場するワードジェネレータワードのレキシコン(lexicon)とを含む。
本発明の実施形態による、アプリケーション内でのクエリ中にユーザへのクエリ提案を作成する方法は、提案ワード(suggestion words)を決定するためにクエリ内の各ワードをワードジェネレータによって分析することと、頻度の高い提案ワードを決定するために、ワードジェネレータから得られた各ワードの提案をワードの頻度テーブル内の項目と比較することと、クエリワードよりも頻度の高い提案ワードの1つまたは複数をユーザに表示することを含む。分析オペレーションは、アプリケーションにとって利用可能なドキュメントのコーパス内におけるすべてのワードのインデックスを作成することと、そのインデックス内の各ワードに関するコーパス内におけるそのワードの出現に基づく頻度の値を有する頻度テーブルを作成することとを含む。
より詳細には、本発明の実施形態による方法、システム、およびコンピュータ可読媒体製品は、アプリケーションにとって利用可能なドキュメントのコーパス内におけるすべてのワードのインデックスを作成することと、そのインデックス内の各ワードに関するコーパス内におけるそのワードの出現に基づく頻度の値を有するそのインデックス用の頻度テーブルを作成することと、その頻度テーブル内で見つかるワードジェネレータによる提案ワードのレキシコンをワードジェネレータが編集することと、提案ワードを決定するために検索クエリ内の各ワードをワードジェネレータに提案することと、ワードジェネレータからの各提案ワードに関する頻度の値を頻度テーブルから割り出すことと、クエリワードよりも頻度の高いレキシコンからの提案ワードの1つまたは複数をユーザに表示することとを含む。
本発明は、コンピュータプロセスやコンピューティングシステムとして、またはコンピュータプログラム製品などの製品として実装することができる。このコンピュータプログラム製品は、コンピュータシステムによって読み取り可能な、コンピュータプロセスを実行するための命令のコンピュータプログラムをコード化しているコンピュータストレージ媒体とすることができる。このコンピュータプログラム製品は、コンピューティングシステムによって読み取り可能な、コンピュータプロセスを実行するための命令のコンピュータプログラムをコード化している、搬送波上で伝搬される信号とすることもできる。
本発明およびその改良形態については、以降で簡単に要約されている添付の図面と、現時点で好ましい本発明の実施形態に関する以降の詳細な説明と、添付の特許請求の範囲とを参照することによって、より完全に理解することができる。
次いで以降では、本発明の実施形態が示されている添付の図面を参照して、本発明についてさらに十分な説明を行う。しかし本発明は、多くの異なる形態において具体化することができ、本明細書で説明されている実施形態に限定されるものと解釈すべきではなく、むしろこれらの実施形態は、本開示が徹底した完全なものになるように、また本発明の範囲を当業者に十分に伝えるように提供されている。本発明の実施形態によれば、本明細書に記載の方法は、単独のスタンドアロンのコンピュータシステム上で実行することもできるが、相互に接続されて分散コンピュータネットワークを形成する複数のコンピュータシステム上で実行するのが、より一般的である。図1は、本発明によるクエリ提案システム100の一実施形態を示している。システム100は、任意のソフトウェアアプリケーションまたはオペレーティングシステム内で動作することができる。このシステムは、ユーザクエリ102を受け取り、そのクエリを従来の方法で検索エンジン(図示せず)に渡す。また同時に、このユーザクエリ102は、クエリ提案モジュール104にも渡される。クエリ提案モジュール104は、ユーザクエリ102を受け取り、そのクエリを分析し、以降でさらに十分に論じる一定の条件の下で、ユーザが選択して利用する可能性のある代案クエリ106をユーザに提供する。
クエリ提案モジュール104は、基本的にクエリ分析モジュール108および関連度プロセッサモジュール110という2つのモジュールを含む。クエリ分析モジュール108は、代替可能性があるクエリワードに関する関連度情報を得るために関連度プロセッサモジュールにクエリを提供する。これらの代替クエリワードおよびその関連度は、クエリ分析モジュール108へフィードバックされ、次いでクエリ分析モジュール108は、1つまたは複数の代案クエリ106を提供するか否かを決定する。
図2は、本発明の実施形態を実装するための典型的な環境200を示している。この環境200は、汎用コンピューティングデバイスをコンピュータ210の形態で含む。コンピュータ210のコンポーネントは、処理装置220と、システムメモリ230と、システムメモリを含むさまざまなシステムコンポーネントを処理装置220に結合するシステムバス221とを含むことができるが、これらには限定されない。システムバス221は、メモリバスまたはメモリコントローラと、ペリフェラルバスと、さまざまなバスアーキテクチャのいずれかを使用するローカルバスとを含む複数のタイプのバス構造のいずれにすることもできる。たとえばこのようなアーキテクチャは、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカルバス、AGP(Accelerated Graphics Port)バス、およびメザニンバスとしても知られているPCI(Peripheral Component Interconnect)バスを含むが、これらには限定されない。
コンピュータ210は通常、さまざまなコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ210によってアクセスできる利用可能な任意の媒体とすることができ、揮発性媒体および不揮発性媒体、ならびに着脱式媒体および固定式媒体の双方を含む。たとえばコンピュータ可読媒体は、コンピュータストレージ媒体および通信媒体を含むことができるが、これらには限定されない。コンピュータストレージ媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、その他のデータなどの情報を記憶するための任意の方法または技術において実装される揮発性媒体および不揮発性媒体、ならびに着脱式媒体および固定式媒体を含む。コンピュータストレージ媒体は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは希望の情報を保存するために使用可能で、コンピュータ210によってアクセス可能な他の任意の媒体を含むが、これらには限定されない。通信媒体は通常、搬送波やその他の伝送メカニズムなどの変調されたデータ信号内のコンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータを具体化し、任意の情報伝達媒体を含む。「変調されたデータ信号」という用語は、情報をその信号内でコード化するような方法で設定または変更されたその特性のうちの1つまたは複数を有する信号を意味する。たとえば通信媒体は、有線ネットワークや直接有線接続などの有線媒体と、音波媒体、RF媒体、赤外線媒体、その他の無線媒体などの無線媒体とを含むが、これらには限定されない。また上記のいずれの組合せも、コンピュータ可読媒体の範囲内に含まれるものである。
システムメモリ230は、コンピュータストレージ媒体を読み取り専用メモリ(ROM)231およびランダムアクセスメモリ(RAM)232などの揮発性メモリおよび/または不揮発性メモリの形態で含む。基本入出力システム233(BIOS)は、起動中などにコンピュータ210内の要素間における情報伝達を補助する基本ルーチンを含み、通常はROM231内に格納されている。RAM232は通常、処理装置220がすぐにアクセスできるか、および/または処理装置220によってその時点で操作されているデータモジュールおよび/またはプログラムモジュールを含む。図4は、例としてオペレーティングシステム234、アプリケーションプログラム235、その他のプログラムモジュール236、およびプログラムデータ237を示しているが、これらには限定されない。
またコンピュータ210は、その他の着脱式/固定式、揮発性/不揮発性コンピュータストレージ媒体を含むこともできる。図2は、例示のみを目的として、固定式の不揮発性の磁気媒体との間で読み取りや書き込みを行うハードディスクドライブ241と、着脱式の不揮発性の磁気ディスク452との間で読み取りや書き込みを行う磁気ディスクドライブ451と、CD−ROMやその他の光媒体などの着脱式の不揮発性の光ディスク256との間で読み取りや書き込みを行う光ディスクドライブ255とを示している。典型的な動作環境において使用できるその他の着脱式/固定式、揮発性/不揮発性コンピュータストレージ媒体としては、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、ソリッドステートRAM、ソリッドステートROMなどがあるが、これらには限定されない。ハードディスクドライブ241は通常、インターフェース240などの固定式のメモリインターフェースを介してシステムバス221に接続されており、磁気ディスクドライブ251および光ディスクドライブ255は通常、インターフェース250などの着脱式のメモリインターフェースによってシステムバス221に接続されている。
図2に示されている上述のドライブおよびそれらに関連するコンピュータストレージ媒体は、コンピュータ210用のコンピュータ可読命令、データ構造、プログラムモジュール、およびその他のデータの記憶を提供する。たとえば図2において、ハードディスクドライブ241は、オペレーティングシステム244、アプリケーションプログラム245、その他のプログラムモジュール246、およびプログラムデータ247を記憶するものとして示されている。これらのコンポーネントは、オペレーティングシステム234、アプリケーションプログラム235、その他のプログラムモジュール236、およびプログラムデータ237と同一とするか、または異なっていてもよいという点に留意されたい。ここでは、オペレーティングシステム244、アプリケーションプログラム245、その他のプログラムモジュール246、およびプログラムデータ247が最低限異なるコピーであることを示すために、異なる番号を割り当てている。ユーザは、タブレット(電子デジタイザ)264、マイクロフォン263、キーボード262、および通常はマウス、トラックボール、またはタッチパッドと呼ばれるポインティングデバイス261などの入力デバイスを介してコンピュータ210にコマンドおよび情報を入力することができる。その他の入力デバイス(図示せず)は、ジョイスティック、ゲームパッド、衛星放送受信用アンテナ、スキャナなどを含むことができる。これらおよびその他の入力デバイスは、システムバスに結合されているユーザ入力インターフェース160を介して処理装置220に接続される場合が多いが、パラレルポート、ゲームポート、ユニバーサルシリアルバス(USB)などの他のインターフェース構造およびバス構造によって接続することもできる。またモニタ291やその他のタイプのディスプレイデバイスも、ビデオインターフェース290などのインターフェースを介してシステムバス221に接続される。モニタ291は、タッチスクリーンインターフェース292などのインターフェースを介してコンピュータシステム210に手書きなどのデジタル化された入力を入力できるタッチスクリーンパネル293などと一体化することもできる。モニタおよび/またはタッチスクリーンパネルは、タブレットタイプのパーソナルコンピュータにおけるように、コンピューティングデバイス210が内蔵されている筐体に物理的に結合することができ、タッチスクリーンパネル293は基本的にタブレット264として機能するという点に留意されたい。さらに、コンピューティングデバイス210などのコンピュータは、スピーカ295およびプリンタ296などの他の周辺出力デバイスを含むこともでき、これらは周辺出力インターフェース294などを介して接続することができる。
コンピュータ210は、リモートコンピュータ280などの1つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク化された環境内で動作することができる。リモートコンピュータ280は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、またはその他の一般的なネットワークノードとすることができ、図2にはメモリストレージデバイス281しか示されていないが、通常はコンピュータ210に関連する上述の要素の多くまたはすべてを含む。図2に示されている論理接続は、ローカルエリアネットワーク(LAN)271およびワイドエリアネットワーク(WAN)273を含むが、その他のネットワークを含むこともできる。このようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、およびインターネットにおいてよく見受けられる。
LANネットワーキング環境において使用する場合、コンピュータ210は、ネットワークインターフェースまたはアダプタ270を介してLAN271に接続される。WANネットワーキング環境において使用する場合、コンピュータ210は通常、モデム272、またはインターネットなどのWAN273上で通信を確立するためのその他の手段を含む。モデム272は、内蔵型または外付け型とすることができ、ユーザ入力インターフェース260またはその他の適切なメカニズムを介してシステムバス221に接続することができる。ネットワーク化された環境では、コンピュータ210に関連して示されているプログラムモジュール、またはその一部をリモートメモリストレージデバイス内に格納することができる。図2は、例としてリモートアプリケーションプログラム285をメモリデバイス281上に常駐するものとして示しているが、この形態には限定されない。示されているネットワーク接続は代表的なものであり、コンピュータ間に通信リンクを確立するその他の手段も使用できることが理解できるであろう。
このコンピューティング環境を念頭に置いて、本発明のさまざまな実施形態を具体化するプロセスを実施するために実行される論理オペレーションを参照して、本発明の実施形態について説明する。これらの論理オペレーションは、(1)コンピュータによって実施されるステップのシーケンスや、コンピューティングシステム上で実行されるプログラムモジュールとして、および/または(2)コンピューティングシステム内で相互に接続された機械論理回路や回路モジュールとして実装される。この実装は、本発明を実施するコンピューティングシステムのパフォーマンス要件に応じた選択の問題である。したがって本明細書に記載されている本発明の実施形態を構成する論理オペレーションは、オペレーション、構造的なデバイス、行為、あるいはモジュールなど、さまざまに呼ばれる。これらのオペレーション、構造的なデバイス、行為、およびモジュールは、本明細書に添付されている特許請求の範囲内に記載された本発明の趣旨および範囲から逸脱することなく、ソフトウェア、ファームウェア、専用のデジタル論理、およびそれらの任意の組合せにおいて実装できることを当業者なら認識するであろう。
次いで図3を参照すると、クエリ提案モジュール104のさらに詳細なモジュール図が提供されている。クエリ分析モジュール108は、コーパスインデックス302、頻度テーブルモジュール304、およびワードジェネレータモジュール306という、関連度モジュール110内における3つの定義されたソースから情報を引き出す。
コーパスインデックス302は、基本的にアプリケーションがアクセスできるドキュメントのコーパス(ドメイン)内に存在するすべてのワードのレキシコンである。フルテキストインデックシングは、ドキュメントからワードを抽出して、迅速な検索のためにそれらのワードを語彙の面から整理するプロセスである。各ワードは、そのワードを含むドキュメントのリストに関連付けられる。このワードのリストとドキュメントセットとの関連付けを(逆)インデックスと呼ぶ。コーパスインデックス302は動的であり、呼び出し中のアプリケーションによってドキュメントがアクセスされるたびに、それらのドキュメントをコーパスに追加することができ、これによって、システム100が使用されるにつれて、コーパスのサイズは継続的に増大する。コーパスインデックス302は、コーパス内におけるすべての言語のワードを含み、ワードだけでなくn−gramも含む。アプリケーションにとって利用可能なドキュメントのコーパス内における各ワード/n−gramは、そのワード/n−gramが使用されているドキュメントに関連付けられる。したがって各ワードは、ドキュメントのリストに関連付けられる。このリストを逆インデックスと呼ぶ。さらに各ワードは、1つのドキュメント内におけるその頻度に関連付けることができる。この頻度の値はまた、各ワードごとにインデックス302内に含まれる。
頻度テーブルモジュール304は、コーパスインデックス302を点検し、コーパスインデックス302内の各ワードに関連付けられている頻度の値を編集する。この頻度の値はまた、呼び出し中のアプリケーションがアクセスできるドキュメントのコーパス内でドキュメントが新規に追加されたり、削除されたり、修正されたりするたびに、継続的に更新される。この頻度の値は、1つのドキュメント内に特定のワードまたはn−gramが登場する回数、コーパス内におけるそのワードまたはn−gramを含むドキュメントの数、あるいはすべてのコーパスドキュメント全体にそのワードまたはn−gramが登場する回数の絶対数に基づくことができる。この頻度の値は、そのワードまたはn−gramが登場するコーパスドキュメントの数に基づくこと、したがってワードの登場頻度の指標であることが好ましい。頻度のリストを管理可能なサイズに維持するために、頻度の低いワードを頻度のリストに追加しない場合がある。
頻度テーブルモジュール304内のワードを使用して、ワードジェネレータレキシコン308が作成される。レキシコン308は、ノイズワードを除去するための1つまたは複数のフィルタ312を内部に有する。ノイズワードとは、あまりに頻繁に登場するためにクエリ提案プロセスにまったく寄与しないワードである。このようなワードとしては、冠詞、前置詞など、ならびに英語の「and」および「or」、ドイツ語の「und」、スペイン語の「y」などの接続語がある。したがってレキシコン308は、頻度テーブルから複数のワードを引き出し、ノイズワードを除去し、結果として生じるワードのリストをワードジェネレータモジュール306が使用する。あるいはフィルタ312を頻度テーブルモジュール304に組み込むこともできる。いずれの場合も、フィルタ312は、所定の値を上回る登場頻度を有するワードをすべて拒絶するように動作することができる。極端に頻度の低いワードを除去するためのフィルタを提供することもできる。
ワードジェネレータモジュール306は、レキシコン308からの引き出しを行う。ワードジェネレータモジュール306は、クエリ分析モジュール108内で点検されているクエリワードに類似したスペルおよびシンタックスを探してレキシコン308内のワードを分析し、類似したスペルおよび/またはシンタックスに基づいて提案ワードをクエリ分析モジュール108に提供する。ワードジェネレータモジュール306は、基本的に近似したスペルのリストを作成するワードジェネレータまたはスペルチェッカーである。本発明の実施形態においてワードジェネレータとして使用できるスペルチェッカーは、従来のMicrosoft(登録商標)Word SpellAPIであり、これは、クエリ分析モジュール108に提供する提案を作成するために、クエリワードに近似したスペルを提案し、その結果をレキシコン308と比較する。あるいは、点検対象のワードに類似したスペルのワードを作成するUNIX(登録商標)関数のファミリー(grep、agrep、egrepなど)もある。たとえば「airpalne」に近似したスペルのワードのためのディレクトリを検索するために、「agrep −e airpalne」と書き、また「airplane」というワードを有するファイルを受け取ることが予想される。一般に、類似したワードを作成するために、いかなる近似パターンマッチングアルゴリズムを使用することもできる。これらの1つを、前述したスペルチェッカーの代わりに使用することもできる。
図4は、ユーザのクエリ102に対する代案を作成するためにクエリ分析モジュール108内で発生するオペレーション400のオペレーショナルフロー図である。プロセス400は、オペレーション402において開始し、ユーザクエリ102が感知される。次いで制御は、オペレーション404に渡る。
オペレーション404では、クエリ(通常は複数のワードである)が、個々のワードまたはn−gramへとトークン化される。各ワードは、以降のステップにおいて個々に分析される。しかしこの時点でクエリを解析して、分析用の2つまたは3つのワードグループへと分けることもできることを理解されたい。その場合、この方法は、本明細書に記載されている個々のワードのアプローチにきわめて類似したものとなる。その上、この複数のワードのケースで関心のある頻度のいくつかは、単にコーパス内における句の頻度ではなく、1つのワードが別のワードの後に続く可能性を示す頻度とすることができる。これらの頻度は、調整して評価することもできる。クエリが別々のワードへとトークン化または解析されると、制御はオペレーション406に移る。
オペレーション406では、最初の/次のワードが点検される。クエリ分析モジュール108は、ワードジェネレータモジュール306を呼び出し、ワードジェネレータモジュール306に最初のワードを提供する。そしてワードジェネレータモジュール306は、レキシコン308内に存在する最初の/次のクエリワードに近似したスペルをすべてクエリ提案ワードとして返す。次いでクエリ分析モジュール108は、制御をオペレーション408に移す。
オペレーション408では、頻度テーブルモジュール304がアクセスされ、クエリ提案ワードのそれぞれについて頻度の値を返す。そして制御はオペレーション410に移り、点検されている最初の/次のクエリワードに関する頻度の値もクエリ分析モジュール108に提供される。次いで制御は、オペレーション412へ移る。
オペレーション412では、最初の/次のクエリワードに関する頻度の値が、代案ワードに関する各頻度の値と比較される。そして制御はクエリオペレーション414に移り、ユーザの最初の/次のクエリワードよりも頻度の高いクエリ提案ワードがあるかどうかについて質問がなされる。ユーザの最初の/次のクエリワードに関する頻度の値が、(1つまたは複数の)提案ワードに関する頻度の値よりも大きい場合、答えは「いいえ」であり、代案はまったく返されない。制御は、次のクエリワードを点検するためにオペレーション406へ戻る。一方、提案ワードの1つまたは複数が、ユーザのクエリワードよりも頻度が高い場合、オペレーション414の答えは「はい」であり、制御はオペレーション416に移る。
オペレーション416では、クエリ提案ワードまたはn−gramが、クエリ分析モジュール108によって代替クエリワードとしてユーザに返されるための提案として立てられ、すぐにユーザに表示するか、またはクエリ内のすべてのワードの点検が済むまで保留することができる。いずれの場合も、制御はオペレーション418へ渡り、クエリ分析モジュール108は、次のクエリワード用の点検を行う。そして制御は、クエリオペレーション420に移る。
クエリオペレーション420では、評価すべきトークン化されたユーザクエリワードがほかにあるかどうかについてクエリを行う。答えが「はい」である場合、制御は再びオペレーション406へ戻り、次のワードが点検される。一方、答えが「いいえ」である場合、ユーザクエリ内にさらなるワードはなく、制御は終了オペレーション422へ渡り、送信すべき代替クエリワードが残っている場合は、それらのワードが選択肢としてユーザに表示される。
はじめにすべてのドキュメントが点検され、ドキュメントのコーパス内に登場するワードのインデックスが作成される。ドキュメントがコーパスに追加される際に、新規のインデックス、頻度テーブル、およびレキシコンを作成して、既存のインデックス、頻度テーブル、およびレキシコンと置き換えることができる。あるいは新たなドキュメントが追加されるたびに、それらの既存のインデックス、頻度テーブル、およびレキシコンを更新することもできる。
本発明について、構造的な特徴、方法論的な行為、およびそのような行為を含むコンピュータ可読媒体に特有の言葉で説明したが、添付の特許請求の範囲において定義される本発明は、説明した特定の構造、行為、または媒体に必ずしも限定されるものではないことを理解されたい。したがってそうした特定の構造、行為、または媒体は、特許請求されている本発明を実施する好ましい形態としてのみ、本明細書に開示されている。それらは、本発明の範囲を限定するものとして解釈すべきではない。さらに、多くの変形形態および変更ならびに代替形態を当業者なら容易に想起するであろう。したがってそうした変形形態、変更、および代替形態はすべて、添付の特許請求の範囲によって定義されるように意図されている本発明の広い範囲および意味の中に収まるものでもある。
102 ユーザクエリ
104 クエリ提案モジュール
106 代案クエリ
108 クエリ分析モジュール
110 関連度プロセッサモジュール
104 クエリ提案モジュール
106 代案クエリ
108 クエリ分析モジュール
110 関連度プロセッサモジュール
Claims (17)
- ソフトウェアアプリケーション内で検索クエリを作成するユーザにクエリの代案を提供する方法において、
ドキュメントのコーパス内のワードのための頻度テーブルであって、前記コーパス内の各ワードに関する前記コーパス内における前記ワードの出現に基づく頻度の値を有する頻度テーブルを作成することと、
前記頻度テーブル内の各項目をワードジェネレータからの提案と比較することと、
前記頻度テーブル内で見つかるワードジェネレータによる提案ワードのレキシコンを作成することと、
提案ワードを決定するために前記検索クエリ内の各ワードを前記ワードジェネレータに提案することと、
前記クエリワードよりも頻度の高い前記レキシコンからの前記提案ワードの1つまたは複数を作成することを含むことを特徴とする方法。 - 前記頻度テーブル内の各値は、前記コーパス内のすべてのドキュメントにおけるワードの出現回数に基づくことを特徴とする請求項1に記載の方法。
- 前記頻度テーブル内の各値は、前記コーパス内の単独のドキュメントにおいて前記ワードが出現する最大頻度に基づくことを特徴とする請求項1に記載の方法。
- 各提案ワードに関する前記頻度の値は、前記提案ワードを含むドキュメントの総数に基づくことを特徴とする請求項1に記載の方法。
- クエリの代案をユーザに提供するためのシステムにおいて、
プロセッサと、
前記プロセッサに結合され、前記プロセッサによって読み取り可能なメモリであって、前記プロセッサによって実行されると、
提案ワードを決定するためにクエリ内の各ワードをワードジェネレータによって分析すること、
頻度の高い提案ワードを決定するために、前記ワードジェネレータから得られた各提案ワードをワードの頻度テーブル内の項目と比較すること、および
前記クエリワードよりも頻度の高い前記提案ワードの1つまたは複数を提供することを前記プロセッサに実行させる一連の命令を含むメモリを含むことを特徴とするシステム。 - 前記一連の命令は、
前記アプリケーションにとって利用可能なドキュメントのコーパス内におけるすべてのワードのインデックスを作成することと、
前記インデックス内の各ワードに関する前記コーパス内における前記ワードの出現に基づく頻度の値を有する前記頻度テーブルを作成することによって、前記プロセッサに各ワードを分析させることを特徴とする請求項5に記載のシステム。 - 前記一連の命令は、
前記アプリケーションにとって利用可能なドキュメントのコーパス内におけるすべてのワードのインデックスを作成することと、
前記インデックス内の各ワードに関する前記コーパス内における前記ワードの出現に基づく頻度の値を有する前記インデックス用の前記頻度テーブルを作成することと、
前記頻度テーブル内で見つかるワードジェネレータによる提案ワードのレキシコンを編集することと、
提案ワードを決定するために前記検索クエリ内の各ワードを前記ワードジェネレータに提案することと、
前記クエリワードよりも頻度の高い前記レキシコンからの前記提案ワードの1つまたは複数を提供することを前記プロセッサに実行させることを特徴とする請求項5に記載のシステム。 - 前記頻度テーブルは、前記コーパス内の前記すべてのドキュメントにおける前記ワードの前記出現回数に基づくことを特徴とする請求項7に記載のシステム。
- 各提案ワードに関する前記頻度の値は、前記提案ワードを含むドキュメントの前記総数に基づくことを特徴とする請求項7に記載のシステム。
- 各提案ワードに関する前記頻度の値は、前記コーパス内における任意の単独のドキュメント内で前記ワードが出現する回数の総計に基づくことを特徴とする請求項7に記載のシステム。
- ユーザクエリの代案をユーザに提供するためのコンピュータプロセスを実行するための命令のコンピュータプログラムをコード化しているコンピュータ可読媒体であって、前記コンピュータプロセスは、
提案ワードを決定するために前記ユーザクエリ内の各ワードをワードジェネレータによって分析することと、
頻度の高い提案ワードを決定するために、前記ワードジェネレータから得られた各提案ワードをワードの頻度テーブル内の項目と比較することと、
前記クエリワードよりも頻度の高い前記提案ワードの1つまたは複数を提供することを含むことを特徴とするコンピュータ可読媒体。 - 前記分析することは、
前記アプリケーションにとって利用可能なドキュメントのコーパス内におけるすべてのワードのインデックスを作成することと、
前記インデックス内の各ワードに関する前記コーパス内における前記ワードの出現に基づく頻度の値を有する前記頻度テーブルを作成することを含むことを特徴とする請求項11に記載のコンピュータ可読媒体。 - 前記頻度テーブル内の各値は、前記コーパス内の単独のドキュメントにおいて前記ワードが出現する前記最大頻度に基づくことを特徴とする請求項12に記載のコンピュータ可読媒体。
- 各提案ワードに関する前記頻度の値は、前記提案ワードを含むドキュメントの前記総数に基づくことを特徴とする請求項12に記載のコンピュータ可読媒体。
- 前記頻度テーブル内で見つかるワードジェネレータによる提案ワードのレキシコンを編集することをさらに含むことを特徴とする請求項12に記載のコンピュータ可読媒体。
- 前記頻度テーブル内の各値は、前記コーパス内の単独のドキュメントにおいて前記ワードが出現する前記最大頻度に基づくことを特徴とする請求項15に記載のコンピュータ可読媒体。
- 前記頻度テーブル内の各ワードに関する前記頻度の値は、前記コーパス内における前記ワードを含むドキュメントの前記総数に基づくことを特徴とする請求項15に記載のコンピュータ可読媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/064,405 US20060190447A1 (en) | 2005-02-22 | 2005-02-22 | Query spelling correction method and system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006236318A true JP2006236318A (ja) | 2006-09-07 |
Family
ID=36263871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006007829A Pending JP2006236318A (ja) | 2005-02-22 | 2006-01-16 | クエリスペリングの訂正方法およびシステム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20060190447A1 (ja) |
EP (1) | EP1693770A3 (ja) |
JP (1) | JP2006236318A (ja) |
KR (1) | KR20060093647A (ja) |
CN (1) | CN100543740C (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010271869A (ja) * | 2009-05-20 | 2010-12-02 | Yahoo Japan Corp | 商品検索装置 |
JP2013175217A (ja) * | 2013-04-18 | 2013-09-05 | Casio Comput Co Ltd | 名称検索装置およびプログラム |
WO2019106997A1 (ja) * | 2017-11-29 | 2019-06-06 | 日本電気株式会社 | 検索システム、サーバ、端末装置、サーバの動作方法、端末装置の動作方法及びプログラム |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8117540B2 (en) * | 2005-05-18 | 2012-02-14 | Neuer Wall Treuhand Gmbh | Method and device incorporating improved text input mechanism |
US9606634B2 (en) * | 2005-05-18 | 2017-03-28 | Nokia Technologies Oy | Device incorporating improved text input mechanism |
US8374846B2 (en) | 2005-05-18 | 2013-02-12 | Neuer Wall Treuhand Gmbh | Text input device and method |
US8036878B2 (en) * | 2005-05-18 | 2011-10-11 | Never Wall Treuhand GmbH | Device incorporating improved text input mechanism |
US8024349B1 (en) * | 2005-07-25 | 2011-09-20 | Shao Henry K | String-based systems and methods for searching for real estate properties |
US8548799B2 (en) * | 2005-08-10 | 2013-10-01 | Microsoft Corporation | Methods and apparatus to help users of a natural language system formulate queries |
US7912700B2 (en) * | 2007-02-08 | 2011-03-22 | Microsoft Corporation | Context based word prediction |
US7809719B2 (en) * | 2007-02-08 | 2010-10-05 | Microsoft Corporation | Predicting textual candidates |
US8583670B2 (en) * | 2007-10-04 | 2013-11-12 | Microsoft Corporation | Query suggestions for no result web searches |
US9195743B2 (en) * | 2007-10-04 | 2015-11-24 | Yahoo! Inc. | System and method for creating and applying predictive user click models to predict a target page associated with a search query |
US7984004B2 (en) * | 2008-01-17 | 2011-07-19 | Microsoft Corporation | Query suggestion generation |
EP2133772B1 (en) * | 2008-06-11 | 2011-03-09 | ExB Asset Management GmbH | Device and method incorporating an improved text input mechanism |
EP2166460A1 (fr) * | 2008-09-17 | 2010-03-24 | AIRBUS France | Procédé et outil de recherche pour groupes d'utilisateurs |
US20100138402A1 (en) * | 2008-12-02 | 2010-06-03 | Chacha Search, Inc. | Method and system for improving utilization of human searchers |
US8949265B2 (en) | 2009-03-05 | 2015-02-03 | Ebay Inc. | System and method to provide query linguistic service |
US8392440B1 (en) * | 2009-08-15 | 2013-03-05 | Google Inc. | Online de-compounding of query terms |
US8631004B2 (en) * | 2009-12-28 | 2014-01-14 | Yahoo! Inc. | Search suggestion clustering and presentation |
JP5768492B2 (ja) | 2011-05-18 | 2015-08-26 | ソニー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
US8700654B2 (en) | 2011-09-13 | 2014-04-15 | Microsoft Corporation | Dynamic spelling correction of search queries |
US8892591B1 (en) | 2011-09-30 | 2014-11-18 | Google Inc. | Presenting search results |
US20140280290A1 (en) * | 2013-03-14 | 2014-09-18 | Microsoft Corporation | Selection and display of alternative suggested sub-strings in a query |
US9552411B2 (en) * | 2013-06-05 | 2017-01-24 | Microsoft Technology Licensing, Llc | Trending suggestions |
CA2943745C (en) * | 2014-03-29 | 2022-07-26 | Thomson Reuters Global Resources | Improved method, system and software for searching, identifying, retrieving and presenting electronic documents |
US20150278264A1 (en) * | 2014-03-31 | 2015-10-01 | International Business Machines Corporation | Dynamic update of corpus indices for question answering system |
US10089297B2 (en) | 2016-12-15 | 2018-10-02 | Microsoft Technology Licensing, Llc | Word order suggestion processing |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6424983B1 (en) * | 1998-05-26 | 2002-07-23 | Global Information Research And Technologies, Llc | Spelling and grammar checking system |
US7062483B2 (en) * | 2000-05-18 | 2006-06-13 | Endeca Technologies, Inc. | Hierarchical data-driven search and navigation system and method for information retrieval |
US6721728B2 (en) * | 2001-03-02 | 2004-04-13 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | System, method and apparatus for discovering phrases in a database |
US7440941B1 (en) * | 2002-09-17 | 2008-10-21 | Yahoo! Inc. | Suggesting an alternative to the spelling of a search query |
US7207004B1 (en) * | 2004-07-23 | 2007-04-17 | Harrity Paul A | Correction of misspelled words |
-
2005
- 2005-02-22 US US11/064,405 patent/US20060190447A1/en not_active Abandoned
-
2006
- 2006-01-03 KR KR1020060000480A patent/KR20060093647A/ko not_active Application Discontinuation
- 2006-01-16 JP JP2006007829A patent/JP2006236318A/ja active Pending
- 2006-01-17 EP EP06100435A patent/EP1693770A3/en not_active Withdrawn
- 2006-01-24 CN CNB2006100046778A patent/CN100543740C/zh not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010271869A (ja) * | 2009-05-20 | 2010-12-02 | Yahoo Japan Corp | 商品検索装置 |
JP2013175217A (ja) * | 2013-04-18 | 2013-09-05 | Casio Comput Co Ltd | 名称検索装置およびプログラム |
WO2019106997A1 (ja) * | 2017-11-29 | 2019-06-06 | 日本電気株式会社 | 検索システム、サーバ、端末装置、サーバの動作方法、端末装置の動作方法及びプログラム |
JPWO2019106997A1 (ja) * | 2017-11-29 | 2020-12-17 | 日本電気株式会社 | 検索システム、端末装置の動作方法及びプログラム |
JP7014232B2 (ja) | 2017-11-29 | 2022-02-01 | 日本電気株式会社 | 検索システム、端末装置の動作方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
CN100543740C (zh) | 2009-09-23 |
CN1825315A (zh) | 2006-08-30 |
KR20060093647A (ko) | 2006-08-25 |
EP1693770A3 (en) | 2007-04-18 |
US20060190447A1 (en) | 2006-08-24 |
EP1693770A2 (en) | 2006-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006236318A (ja) | クエリスペリングの訂正方法およびシステム | |
Perkins | Python text processing with NLTK 2.0 cookbook | |
KR101004515B1 (ko) | 문장 데이터베이스로부터 문장들을 사용자에게 제공하는 컴퓨터 구현 방법 및 이 방법을 수행하기 위한 컴퓨터 실행가능 명령어가 저장되어 있는 유형의 컴퓨터 판독가능 기록 매체, 문장 데이터베이스로부터 확인 문장들을 검색하는 시스템이 저장되어 있는 컴퓨터 판독가능 기록 매체 | |
Adriani et al. | Stemming Indonesian: A confix-stripping approach | |
US8346795B2 (en) | System and method for guiding entity-based searching | |
EP1999561B1 (en) | Expansion of database search queries | |
US7593940B2 (en) | System and method for creation, representation, and delivery of document corpus entity co-occurrence information | |
Clegg et al. | Benchmarking natural-language parsers for biological applications using dependency graphs | |
EP2354967A1 (en) | Semantic textual analysis | |
Spasić et al. | FlexiTerm: a flexible term recognition method | |
AU2006269494A1 (en) | Processing collocation mistakes in documents | |
CN110851610B (zh) | 知识图谱生成方法、装置、计算机设备以及存储介质 | |
US7860873B2 (en) | System and method for automatic terminology discovery | |
EP2162838B1 (en) | Phonetic search using normalized string | |
JP2006073012A (ja) | 予め定められた個数の予め定義された質問に応答することによって情報を管理するシステムおよび方法 | |
US20220121694A1 (en) | Semantic search and response | |
WO2020157887A1 (ja) | 文構造ベクトル化装置、文構造ベクトル化方法、及び文構造ベクトル化プログラム | |
US10572592B2 (en) | Method, device, and computer program for providing a definition or a translation of a word belonging to a sentence as a function of neighbouring words and of databases | |
KR101052004B1 (ko) | 번역서비스 제공방법 및 그 시스템 | |
KR20060043583A (ko) | 언어 데이터의 로그의 압축 방법 및 시스템 | |
US20060248037A1 (en) | Annotation of inverted list text indexes using search queries | |
TWI385538B (zh) | 單詞擷取翻譯系統及其方法 | |
Riedl et al. | Using semantics for granularities of tokenization | |
US20200257990A1 (en) | Plug-And-Ingest Framework for Question Answering Systems | |
Wu et al. | Aligned-layer text search in clinical notes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081222 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110330 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110415 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20111122 |