(57)【要約】【課題】文の集合から例文を検索する方法およびコンピュータ可読媒体を提供する。【解決手段】入力照会文を受け取り（３０５）、用語頻度−逆文書頻度（ＴＦ−ＩＤＦ）アルゴリズムを使用して、文の集合から入力照会文に対する候補例文を選択する（３１０，３１５）。次いで、選択した候補例文と入力照会文との間の重み付き編集距離に基づいて、選択した候補例文を再ランク付けする（３２０，３２５）。この方法を実施するシステムも提供される。【選択図】　　　　図３
2004062893.tif 000002
【特許請求の範囲】
【請求項１】
文の集合から例文を検索する方法であって、
入力照会文を受け取るステップと、
用語頻度−逆文書頻度アルゴリズムを使用して、前記文の集合から前記入力照会文に対する候補例文を選択するステップと、
前記選択した候補例文と前記入力照会文との間の編集距離に基づいて、前記選択した候補例文を再ランク付けするステップと
を含むことを特徴とする方法。
【請求項２】
前記選択した候補例文を再ランク付けするステップは、各候補例文を前記入力照会文に変更するのに必要な演算の最小数の関数として、前記選択した候補例文を再ランク付けするステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記選択した候補例文を再ランク付けするステップは、前記入力照会文を前記候補例文のそれぞれに変更するのに必要な演算の最小数の関数として、前記選択した候補例文を再ランク付けするステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記選択した候補例文を再ランク付けするステップは、前記選択した候補例文と前記入力照会文との間の重み付き編集距離に基づいて、前記選択した候補例文を再ランク付けするステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
重み付き編集距離に基づいて、前記選択した候補例文を再ランク付けするステップは、
各候補例文についての別々の重み付き編集距離を、前記候補例文中の用語の関数として、かつ前記候補例文中の前記用語に対応した重み付きスコアの関数として計算するステップであって、前記重み付きスコアは、前記候補例文中の対応する用語に関連した品詞に基づいて異なる値を有するステップと、
各候補例文について前記計算した別々の重み付き編集距離に基づいて、前記選択した候補例文を再ランク付けするステップとをさらに含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記用語頻度−逆文書頻度アルゴリズムを使用して、前記文の集合から前記入力照会文に対する候補例文を選択するステップは、
前記文の集合の文中における対応した用語に関連する品詞をタグ付けするステップと、
前記入力照会文からストップワードを除去するステップと、
前記文の集合における各文について用語頻度−逆文書頻度スコアを計算するステップと
をさらに含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記用語頻度−逆文書頻度アルゴリズムを使用して、前記文の集合から前記入力照会文に対する候補例文を選択するステップは、前記文の集合のうち、しきい値よりも大きい用語頻度−逆文書頻度スコアを有する文を前記候補例文として選択するステップをさらに含むことを特徴とする請求項６に記載の方法。
【請求項８】
入力照会文を受け取るステップと、
用語頻度−逆文書頻度アルゴリズムを使用して、文の集合から前記入力照会文に対する候補例文を選択するステップと、
前記選択した候補例文と前記入力照会文との間の編集距離に基づいて、前記選択した候補例文を再ランク付けするステップとを含むステップを実行する
コンピュータ実行可能命令を有することを特徴とするコンピュータ可読媒体。
【請求項９】
前記選択した候補例文を再ランク付けするステップは、各候補例文を前記入力照会文に変更するのに必要な演算の最小数の関数として、前記選択した候補例文を再ランク付けするステップをさらに含むことを特徴とする請求項８に記載のコンピュータ可読媒体。
【請求項１０】
前記選択した候補例文を再ランク付けするステップは、前記入力照会文を前記候補例文のそれぞれに変更するのに必要な演算の最小数の関数として、前記選択した候補例文を再ランク付けするステップをさらに含むことを特徴とする請求項８に記載のコンピュータ可読媒体。
【請求項１１】
前記選択した候補例文を再ランク付けするステップは、前記選択した候補例文と前記入力照会文との間の重み付き編集距離に基づいて、前記選択した候補例文を再ランク付けするステップをさらに含むことを特徴とする請求項８に記載のコンピュータ可読媒体。
【請求項１２】
重み付き編集距離に基づいて、前記選択した候補例文を再ランク付けするステップは、
各候補例文についての別々の重み付き編集距離を、前記候補例文中の用語の関数として、かつ前記候補例文中の前記用語に対応した重み付きスコアの関数として計算するステップであって、前記重み付きスコアは、前記候補例文中の対応する用語に関連した品詞に基づいて異なる値を有するステップと、
各候補例文についての前記計算した別々の重み付き編集距離に基づいて、前記選択した候補例文を再ランク付けするステップとをさらに含むことを特徴とする請求項１１に記載のコンピュータ可読媒体。
【請求項１３】
前記用語頻度−逆文書頻度アルゴリズムを使用して、前記文の集合から前記入力照会文に対する候補例文を選択するステップは、
前記文の集合の文中における対応した用語に関連する品詞をタグ付けするステップと、
前記入力照会文からストップワードを除去するステップと、
前記文の集合における各文について用語頻度−逆文書頻度スコアを計算するステップと
をさらに含むことを特徴とする請求項１２に記載のコンピュータ可読媒体。
【請求項１４】
前記用語頻度−逆文書頻度アルゴリズムを使用して、前記文の集合から前記入力照会文に対する候補例文を選択するステップは、前記文の集合のうち、しきい値よりも大きい用語頻度−逆文書頻度スコアを有する文を前記候補例文として選択するステップをさらに含むことを特徴とする請求項１３に記載のコンピュータ可読媒体。
【請求項１５】
文の集合から例文を検索するシステムであって、
照会文を受け取る入力と、
用語頻度−逆文書頻度アルゴリズムを使用して、前記文の集合から前記照会文に対する候補例文を選択する前記入力に結合された、用語頻度−逆文書頻度文検索コンポーネントと、
選択した各候補例文について別々の重み付き編集距離を、前記候補例文中における用語の関数として、かつ前記候補例文中における前記用語に対応した重み付きスコアの関数として計算する、前記用語頻度−逆文書頻度コンポーネントに結合された重み付き編集距離計算コンポーネントであって、前記重み付きスコアは、前記候補例文中の対応した用語に関連する品詞に基づいて異なる値を有する重み付き編集距離計算コンポーネントと、
各候補例文について前記計算した別々の重み付き編集距離に基づいて、前記選択した候補例文をランク付けする、前記重み付き編集距離計算コンポーネントに結合されたランク付けコンポーネントと
を備えることを特徴とするシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、重み付き編集距離に基づく例文の自動検索用システムおよび方法に関する。換言すると本発明は、機械支援執筆（ｍａｃｈｉｎｅ　ａｉｄｅｄ　ｗｒｉｔｉｎｇ）システム／方法に関する。より詳述すると、本発明は、執筆過程または翻訳過程での助けとなるように例文を自動的に検索する（ａｕｔｏｍａｔｉｃａｌｌｙ　ｒｅｔｒｉｅｖｉｎｇ　ｅｘａｍｐｌｅ　ｓｅｎｔｅｎｃｅｓ）システムおよび方法に関する。
【０００２】
【従来の技術】
例文の自動検索が必要であり、または有益である応用例は多数存在する。例えば、例ベースの機械翻訳（ｅｘａｍｐｌｅ−ｂａｓｅｄ　ｍａｃｈｉｎｅ　ｔｒａｎｓｌａｔｉｏｎ）では、翻訳すべき文と構文的に似ている文を検索することが必要である。次いで、検索した文を動かし、または選択することによって訳文が得られる。
【０００３】
翻訳メモリシステムなどの機械支援翻訳システム（ｍａｃｈｉｎｅ　ａｓｓｉｓｔｅｄ　ｔｒａｎｓｌａｔｉｏｎ　ｓｙｓｔｅｍ）では、関連する文を取得するための検索方法が必要となる。しかし、多くの検索アルゴリズム（ｒｅｔｒｉｅｖａｌ　ａｌｇｏｒｉｔｈｍ）には様々な種類の欠点があり、その一部は効果的ではない。例えば、検索した文はしばしば、入力文とほとんど関連を有さない。多くの検索アルゴリズムに伴うその他の問題には、その一部が効率的ではなく、その一部がかなりのメモリ／処理資源を必要とし、その一部が、非常に時間のかかる負担となる、文コーパス（ｓｅｎｔｅｎｃｅ　ｃｏｒｐｕｓ）に対する事前の注釈（ｐｒｅ−ａｎｎｏｔａｔｉｏｎ）を必要とすることが含まれる。
【０００４】
例文の自動検索（ａｕｔｏｍａｔｉｃ　ｒｅｔｒｉｅｖａｌ　ｏｆ　ｅｘａｍｐｌｅ）はまた、執筆支援、例えばワードプロセッサに関する一種のヘルプ機能として使用することもできる。このことは、ユーザがユーザの母語で執筆していても、母語でない言語で執筆していても当てはまる。例えば、世界経済の発展やインターネットの急速な発展に伴い、世界中の人々にとって、自分の母語ではない言語で執筆することはますます普通のことになりつつある。遺憾ながら、著しく異なる文化や書き方を有する一部の社会にとって、母語でない何らかの言語で執筆することは常に存在する障壁である。母語でない言語（例えば英語）で書くとき、非ネイティブスピーカ（例えば、中国語、日本語、韓国語、またはその他の英語でない言語を話す人々）は、しばしば言語の語法についての誤りを犯す。例文の検索は、筆者の生み出した文を改善するために、類似の内容、類似の文法構造、またはその両方を有する文例を筆者に提供する。
【０００５】
【発明が解決しようとする課題】
したがって、効果的な例文検索を実現する改良型の方法またはアルゴリズムにより、著しい改善がもたらされることになる。
【０００６】
よって本発明の目的は、上述の点に鑑み、従来の欠点を除去した重み付き編集距離に基づく例文の自動検索用システムおよび方法を提供することにある。
【０００７】
【課題を解決するための手段】
本発明によれば、文の集合（ｃｏｌｌｅｃｔｉｏｎ　ｏｆ　ｓｅｎｔｅｎｃｅｓ）から例文（ｅｘａｍｐｌｅ　ｓｅｎｔｅｎｃｅ）を検索する方法、コンピュータ可読媒体、およびシステムが提供される。入力照会文（ｉｎｐｕｔ　ｑｕｅｒｙ　ｓｅｎｔｅｎｃｅ）を受け取り、用語頻度−逆文書頻度（ＴＦ−ＩＤＦ：ｔｅｒｍ　ｆｒｅｑｕｅｎｃｙ　−　ｉｎｖｅｒｓｅ　ｄｏｃｕｍｅｎｔ　ｆｒｅｑｕｅｎｃｙ）アルゴリズムを使用して、文の集合から入力照会文に対する候補例文（ｃａｎｄｉｄａｔｅ　ｅｘａｍｐｌｅ　ｓｅｎｔｅｎｃｅ）を選択する。次いで、選択した候補例文と入力照会文との間の重み付き編集距離（ｗｅｉｇｈｔｅｄ　ｅｄｉｔｉｎｇ　ｄｉｓｔａｎｃｅ）に基づいて、選択した候補例文を再ランク付け（ｒｅ−ｒａｎｋ）する。
【０００８】
ある実施形態の下では、各候補例文を入力照会文に変更するのに必要な演算の最小数の関数として（ａｓ　ａ　ｆｕｎｃｔｉｏｎ　ｏｆ　ａ　ｍｉｎｉｍｕｍ　ｎｕｍｂｅｒ　ｏｆ　ｏｐｅｒａｔｉｏｎｓ　ｒｅｑｕｉｒｅｄ　ｔｏ　ｃｈａｎｇｅ）、選択した候補例文を再ランク付けする。他の実施形態の下では、入力照会文を各候補例文に変更するのに必要な演算の最小数の関数として、選択した候補例文を再ランク付けする。
【０００９】
様々な実施形態の下では、選択した候補例文と入力照会文との間の重み付き編集距離に基づいて、選択した候補例文を再ランク付けする。ある実施形態の下では、選択した候補例文を重み付き編集距離に基づいて再ランク付けすることは、各候補例文についての別々の重み付き編集距離を、候補例文中の用語の関数（ｆｕｎｃｔｉｏｎ　ｏｆ　ｔｅｒｍ）として、かつ候補例文中の用語に対応する重み付きスコアの関数（ｆｕｎｃｔｉｏｎ　ｏｆ　ｗｅｉｇｈｔｅｄ　ｓｃｏｒｅ）として計算することをさらに含む。この重み付きスコアは、候補例文中の対応する用語に関連する品詞（スピーチのパート：　ｐａｒｔｏｆ　ｓｐｅｅｃｈ）に基づいて異なる値を有する。次いで、各候補例文についての計算した別々の重み付き編集距離に基づいて、選択した候補例文を再ランク付けする。
【００１０】
【発明の実施の形態】
図１は、本発明を実施することができる適切なコンピューティングシステム環境１００の一例を示す。コンピューティングシステム環境１００は、適切なコンピューティング環境の一例に過ぎず、本発明の使用法または機能の範囲に関して何らかの制限を示唆するものではない。例示的動作環境１００に図示するコンポーネント（ｃｏｍｐｏｎｅｎｔ）のうちのいずれか１つ、あるいはそれらの組み合わせに関係する何らかの依存関係または要件をコンピューティング環境１００が有するものと解釈すべきでもない。
【００１１】
本発明は、他の多数の汎用／特殊目的コンピューティングシステム環境／構成を用いて動作可能である。本発明と共に使用するのに適した周知のコンピューティングシステム、環境、および／または構成の例には、限定はしないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド／ラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル消費者向け電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、電話通信システム、ならびに上記のシステムまたは装置のいずれかを含む分散コンピューティング環境などが含まれる。
【００１２】
本発明は、コンピュータが実行中の、プログラムモジュールなどのコンピュータ実行可能命令の一般的状況で説明することができる。一般に、プログラムモジュールは、特定のタスクを実行し、または特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明はまた、通信ネットワークを介してリンクされるリモート処理ユニットによってタスクが実行される分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶装置を含む、ローカルコンピュータ記憶媒体とリモートコンピュータ記憶媒体のどちらにも位置することができる。
【００１３】
図１を参照すると、本発明を実装する例示的システムは、コンピュータ１１０の形態の汎用コンピューティング装置を含む。コンピュータ１１０のコンポーネントには、限定はしないが、処理ユニット１２０と、システムメモリ１３０と、システムメモリを含む様々なシステムコンポーネントを処理ユニット１２０に結合するシステムバス１２１とを含めることができる。システムバス１２１は、メモリバスまたはメモリコントローラと、周辺バスと、様々なバスアーキテクチャのうちのいずれかを用いるローカルバスとを含むいくつかのタイプのバス構造のうちのいずれでもよい。例えば、限定はしないが、このようなアーキテクチャには、ＩＳＡ（Ｉｎｄｕｓｔｒｙ　Ｓｔａｎｄａｒｄ　Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ　Ｃｈａｎｎｅｌ　Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ　ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ　Ｅｌｅｃｔｒｏｎｉｃｓ　Ｓｔａｎｄａｒｄｓ　Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、およびメザニンバスとも呼ばれるＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ　Ｃｏｍｐｏｎｅｎｔ　Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスが含まれる。
【００１４】
コンピュータ１１０は、一般に様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ１１０がアクセス可能である入手可能などんな媒体でもよく、それには揮発性媒体と不揮発性媒体、取り外し可能媒体と取り外し不能媒体のどちらも含まれる。例えば、限定はしないが、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するための何らかの方法または技術で実装される、揮発性媒体と不揮発性媒体、取り外し可能媒体と取り外し不能媒体のどちらも含まれる。コンピュータ記憶媒体には、限定はしないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、または他のメモリ技術、ＣＤ−ＲＯＭ、デジタルバーサタイルディスク（ＤＶＤ）、または他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、または他の磁気記憶装置、あるいは、所望の情報を格納するのに使用することができ、コンピュータ１１０でアクセスすることができる他のどんな媒体も含まれる。通信媒体は一般に、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他の移送機構（ｔｒａｎｓｐｏｒｔ　ｍｅｃｈａｎｉｓｍ）などの被変調データ信号で実施し、その通信媒体にはどんな情報送達媒体も含まれる。「被変調データ信号（ｍｏｄｕｌａｔｅｄｄａｔａ　ｓｉｇｎａｌ）」という用語は、その特性集合のうちの１つまたは複数を有する信号、または情報を符号化するように変化する信号を意味する。例えば、限定はしないが、通信媒体には、ワイヤードネットワークまたはダイレクトワイヤード接続などのワイヤード媒体、ならびに音響媒体、ＲＦ媒体、赤外線媒体、および他のワイヤレス媒体などのワイヤレス媒体が含まれる。上記のいずれの組み合わせも、コンピュータ可読媒体の範囲内に含まれるべきである。
【００１５】
システムメモリ１３０は、読取り専用メモリ（ＲＯＭ）１３１およびランダムアクセスメモリ（ＲＡＭ）１３２などの揮発性メモリおよび／または不揮発性メモリの形態のコンピュータ記憶媒体を含む。起動中などにコンピュータ１１０内の要素間で情報を転送する助けになる基本ルーチンを含む基本入出力システム（ＢＩＯＳ）１３３が、一般にＲＯＭ　１３１内に格納される。ＲＡＭ　１３２は一般に、処理ユニット１２０が即座にアクセス可能であり、かつ／または処理ユニット１２０が現在操作しているデータおよび／またはプログラムモジュールを含む。例えば、限定はしないが、図１にオペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７を示す。
【００１６】
コンピュータ１１０はまた、他の取り外し可能／取り外し不能な、揮発性／不揮発性コンピュータ記憶媒体も含むことができる。単なる一例であるが、図１は、取り外し不能不揮発性磁気媒体を読み書きするハードディスクドライブ１４１と、取り外し可能不揮発性磁気ディスク１５２を読み書きする磁気ディスクドライブ１５１と、ＣＤ　ＲＯＭまたは他の光媒体などの取り外し可能不揮発性光ディスク１５６を読み書きする光ディスクドライブ１５５とを示す。例示的動作環境で使用することのできる他の取り外し可能／取り外し不能な揮発性／不揮発性コンピュータ記憶媒体には、限定はしないが、磁気テープカセット、フラッシュメモリカード、デジタルバーサタイルディスク、デジタルビデオテープ、固体ＲＡＭ、および固体ＲＯＭなどが含まれる。ハードディスクドライブ１４１は一般に、インターフェース１４０などの取り外し不能メモリインターフェースを介してシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は一般に、インターフェース１５０などの取り外し可能メモリインターフェースによってシステムバス１２１に接続される。
【００１７】
上記で議論し、図１に図示するドライブとその関連するコンピュータ記憶媒体は、コンピュータ１１０に対してコンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの記憶を実現する。例えば図１では、ハードディスクドライブ１４１がオペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７を格納するものとして図示している。これらのコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７と同じであっても、異なっていてもよいことに留意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７には、少なくともこれらが相異なるコピーであることを示すために異なる符号を付けてある。
【００１８】
ユーザは、キーボード１６２と、マイクロフォン１６３と、マウス、トラックボール、またはタッチパッドなどのポインティングデバイス１６１などの入力装置を介して、コマンドおよび情報をコンピュータ１１０に入力することができる。他の入力装置（図示せず）には、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどを含めることができる。これらの入力装置や他の入力装置はしばしば、システムバスに結合されるユーザ入力インターフェース１６０を介して処理ユニット１２０に接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）などの他のインターフェースおよびバス構造によって接続することもできる。モニタ１９１または他のタイプのディスプレイ装置もまた、ビデオインターフェース１９０などのインターフェースを介してシステムバス１２１に接続される。モニタに加えて、コンピュータはまた、スピーカ１９７およびプリンタ１９６などの他の周辺出力装置も含むことができ、それらは、出力周辺インターフェース１９５を介して接続することができる。
【００１９】
コンピュータ１１０は、リモートコンピュータ１８０などの１つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク環境で動作することができる。リモートコンピュータ１８０は、パーソナルコンピュータ、ハンドヘルド装置、サーバ、ルータ、ネットワークＰＣ、ピア装置、または他の共通ネットワークノードでよく、一般にコンピュータ１１０に関して上記で述べた要素のうちの多数またはすべてを含む。図１に示す論理接続は、ローカルエリアネットワーク（ＬＡＮ）１７１および広域ネットワーク（ＷＡＮ）１７３を含むが、他のネットワークも含むことができる。このようなネットワーキング環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、およびインターネットで一般的なものである。
【００２０】
ＬＡＮネットワーキング環境で使用する際、コンピュータ１１０は、ネットワークインターフェース／アダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーキング環境で使用する際、コンピュータ１１０は一般に、インターネットなどのＷＡＮ１７３を介して通信を確立するためのモデム１７２または他の手段を含む。モデム１７２は内蔵でも外付けでもよく、ユーザ入力インターフェース１６０、または他の適切な機構を介してシステムバス１２１に接続することができる。ネットワーク環境では、コンピュータ１１０に関して示したプログラムモジュールまたはその一部を、リモートメモリ記憶装置内に格納することができる。例えば、限定はしないが、図１には、リモートアプリケーションプログラム１８５がリモートコンピュータ１８０上に常駐するものとして示す。図示するネットワーク接続は例示的なものであって、コンピュータ間の通信リンクを確立する他の手段も使用できることを理解されたい。
【００２１】
図２は、例示的コンピューティング環境であるモバイルデバイス２００のブロック図である。モバイルデバイス２００は、マイクロプロセッサ２０２、メモリ２０４、入出力（Ｉ／Ｏ）コンポーネント２０６、ならびにリモートコンピュータまたは他のモバイルデバイスと通信するための通信インターフェース２０８を含む。一実施形態では、上記のコンポーネントは、適切なバス２１０を介して互いに通信するように結合される。
【００２２】
メモリ２０４は、モバイルデバイス２００への総電力（ｇｅｎｅｒａｌ　ｐｏｗｅｒ）が遮断されたときにメモリ２０４中に格納された情報が失われないようにバッテリバックアップモジュール（図示せず）を備えるランダムアクセスメモリ（ＲＡＭ）などの不揮発性電子メモリとして実装される。メモリ２０４の一部は、プログラム実行用のアドレス指定可能メモリとして割り振ることが好ましく、メモリ２０４の別の部分は、ディスクドライブ上の記憶をシミュレートするためなどに使用することが好ましい。
【００２３】
メモリ２０４は、オペレーティングシステム２１２、アプリケーションプログラム２１４、およびオブジェクトストア２１６を含む。動作中、オペレーティングシステム２１２をプロセッサ２０２によってメモリ２０４から実行することが好ましい。ある好ましい実施形態でのオペレーティングシステム２１２は、Ｍｉｃｒｏｓｏｆｔ　Ｃｏｒｐｏｒａｔｉｏｎから市販されているＷＩＮＤＯＷＳ（登録商標）ＣＥブランドのオペレーティングシステムである。好ましくは、オペレーティングシステム２１２は、モバイルデバイス用に設計され、１組の公開されたアプリケーションプログラミングインターフェース／メソッドを介してアプリケーション２１４が使用することのできるデータベース機能を実施する。オブジェクトストア２１６内のオブジェクトは、アプリケーション２１４およびオペレーティングシステム２１２によって維持され、公開されたアプリケーションプログラミングインターフェース／メソッドに対する呼出しに少なくとも部分的に応答する。
【００２４】
通信インターフェース２０８は、モバイルデバイス２００が情報を送受信することを可能にする多数の装置および技術を表す。この装置は、ほんの数例を挙げれば、ワイヤード／ワイヤレスモデム、サテライト受信機、および放送同調器を含む。モバイルデバイス２００はまた、コンピュータと直接接続してそれらの間でデータを交換することもできる。そのような場合、通信インターフェース２０８は、赤外線トランシーバまたはシリアル／パラレル通信接続でよい。これらのすべては、ストリーミング情報を伝送することができる。
【００２５】
入出力コンポーネント２０６は、タッチ検知画面、ボタン、ローラ、およびマイクロフォンなどの様々な入力装置と、オーディオジェネレータ、振動装置、およびディスプレイを含む様々な出力装置とを含む。上記で列挙した装置は例であり、かつモバイルデバイス２００上にすべて存在する必要はない。加えて、本発明の範囲内で他の入出力装置をモバイルデバイス２００に取り付けることができ、またはモバイルデバイス２００を用いて検出することができる。
【００２６】
本発明の様々な態様によれば、執筆過程または翻訳過程での助けとなるように例文を自動的に検索するシステムおよび方法が提案される。本発明のシステムおよび方法は、図１および図２に示すコンピューティング環境、ならびに他のコンピューティング環境として実施することができる。本発明による例文検索アルゴリズムは、重み付き用語頻度−逆文書頻度（ＴＦ−ＩＤＦ）手法を使用して候補文を選択し、重み付き編集距離によって候補文をランク付けするという２つのステップを含む。図３は、この方法を実施するシステム３００を示すブロック図である。図４は、一般的方法を示すブロック図４００である。
【００２７】
図３に示すように、３０５に示す照会文Ｑがシステムに入力される。照会文３０５に基づいて、文検索コンポーネント３１０は、通常のＴＦ−ＩＤＦアルゴリズムまたは方法を使用して、３１５に示す例文の集合Ｄから候補例文Ｄｉを選択する。これに対応する、照会文を入力するステップ４０５と、集合Ｄから候補例文Ｄｉを選択するステップ４１０を図４に示す。ＴＦ−ＩＤＦ手法は通常の情報検索（ＩＲ）システムで広く使用されてはいるが、検索コンポーネント（ｒｅｔｒｉｅｖａｌ　ｃｏｍｐｏｎｅｎｔ）３１０で使用するＴＦ−ＩＤＦアルゴリズムの議論を以下に述べる。
【００２８】
文検索コンポーネント３１０が集合（ｃｏｌｌｅｃｔｉｏｎ）３１５から候補例文を選択した後、重み付き編集距離計算コンポーネント（ｗｅｉｇｈｔｅｄ　ｅｄｉｔｉｎｇ　ｄｉｓｔａｎｃｅ　ｃｏｍｐｕｔａｔｉｏｎ　ｃｏｍｐｏｎｅｎｔ）３２０は、候補例文それぞれについての重み付き編集距離を生成する。以下でより詳細に説明するように、候補例文のうちの１つと入力照会文との間の編集距離は、候補例文を照会文に変更するのに必要な演算の最小数（ｍｉｎｉｍｕｍ　ｎｕｍｂｅｒ　ｏｆ　ｏｐｅｒａｔｉｏｎ）として定義される。本発明によれば、異なる品詞（ＰＯＳ：　ｐａｒｔｓ　ｏｆ　ｓｐｅｅｃｈ）には、編集距離の計算中に異なる重みまたはスコアが割り当てられる。ランク付けコンポーネント（ｒａｎｋｉｎｇ　ｃｏｍｐｏｎｅｎｔ）３２５は、編集距離の順序（ｏｒｄｅｒ　ｏｆ　ｅｄｉｔｉｎｇ　ｄｉｓｔａｎｃｅ）で、最低の編集距離値（ｌｏｗｅｓｔ　ｅｄｉｔｉｎｇ　ｄｉｓｔａｎｃｅ）を有する例文が最高のランクとなるように候補例文を再ランク付けする。選択した例文または候補例文を重み付き編集距離によって再ランク付けすることに対応するステップを図４の４１５に示す。このステップは、重み付き編集距離を生成または計算するサブステップを含むことができる。
【００２９】
１．ＴＦ−ＩＤＦ手法を用いた候補文の選択
図３および図４を参照しながら上記で説明したように、候補文は、ＩＲシステムで一般的なＴＦ−ＩＤＦ手法を使用して、文の集合から選択される。以下の議論では、図３に示すコンポーネント３１０で使用することができ、図４に示すステップ４１０として使用することができるＴＦ−ＩＤＦ手法の例を与える。他のＴＦ−ＩＤＦ手法も使用することができる。
【００３０】
Ｄと表す例文の全集合３１５は、各文書が実際に例文であるいくつかの「文書（ｄｏｃｕｍｅｎｔ）」からなる。通常のＩＲ索引付け手法を用いた（１文だけを含む）文書に対する索引付けの結果は、式（１）に示す重みのベクトルとして表すことができる。
【００３１】
Ｄｉ→（ｄｉ１，ｄｉ２，．．．，ｄｉｍ）・・・式（１）
上式において、
【００３２】
【数１】
2004062893.tif 000003
【００３３】
は、文書（ｄｏｃｕｍｅｎｔ）Ｄｉ中の用語（ｔｅｒｍ）ｔｋの重みであり、ｍは、集合（ｃｏｌｌｅｃｔｉｏｎ）内で見つかった異なる用語（ｄｉｆｆｅｒｅｎｔ　ｔｅｒｍｓ）の数によって決定されるベクトル空間のサイズ（ｔｈｅ　ｓｉｚｅ　ｏｆ　ｖｅｃｔｏｒ　ｓｐａｃｅ）である。例示的実施形態では、用語は英単語である。文書中の用語の重みｄｉｋは、文書中でのその用語の出現頻度（ｏｃｃｕｒｒｅｎｃｅ　ｆｒｅｑｕｅｎｃｙ）（ｔｆ−用語頻度：　ｔｅｒｍ　ｆｒｅｑｕｅｎｃｙ）と、全集合（ｅｎｔｉｒｅ　ｃｏｌｌｅｃｔｉｏｎ）内でのその用語の分布（ｉｄｆ−逆文書頻度：　ｉｎｖｅｒｓｅ　ｄｏｃｕｍｅｎｔ　ｆｒｅｑｕｅｎｃｙ）とに従って計算される。用語の重みｄｉｋを計算および定義するには複数の方法が存在する。ここでは例として、式（２）に示す関係を用いる。
【００３４】
【数２】
2004062893.tif 000004
【００３５】
上式において、ｆｉｋは文書Ｄｉ中での用語ｔｋの出現頻度であり、Ｎは集合内の文書の総数であり、ｎｋは用語ｔｋを含む文書の数である。これは、ＩＲで最も一般的に使用されるＴＦ−ＩＤＦ重み付け方式の１つである。
【００３６】
やはりＴＦ−ＩＤＦ重み付け方式（ｗｅｉｇｈｔｉｎｇ　ｓｃｈｅｍｅｓ）として一般的であるが、ユーザの入力文である照会Ｑが同様に索引付けされ（ｉｎｄｅｘｅｄ）、式（３）に示すような、照会についてのベクトルも得られる。
【００３７】
Ｑｊ→（ｑｊ１，ｑｊ２，．．．，ｑｊｍ）・・・式（３）
上式において、照会Ｑｊについてのベクトルの重み
【００３８】
【数３】
2004062893.tif 000005
【００３９】
は、式（２）のタイプの関係を用いて求めることができる。
【００４０】
文書の集合内の文書（文）Ｄｉと照会文Ｑｊとの類似性Ｓｉｍ（Ｄｉ，Ｑｊ）は、式（４）に示すように、それらのベクトルの内積として計算することができる。
【００４１】
【数４】
2004062893.tif 000006
【００４２】
出力は１組の文Ｓであり、Ｓは、式（５）に示すように定義される。
【００４３】
【数５】
2004062893.tif 000007
【００４４】
２．重み付き編集距離（ｗｅｉｇｈｔｅｄ　ｅｄｉｔ　ｄｉｓｔａｎｃｅ）による文Ｓの組（ｓｅｔ　ｏｆ　ｓｅｎｔｅｎｃｅｓ　Ｓ）の再ランク付け（ｒｅ−ｒａｎｋｉｎｇ）
図３および図４を参照しながら上記で説明したように、集合から選択された候補文の組Ｓは、入力照会文Ｑに対する最短の編集距離から最長の編集距離まで再ランク付けされる。以下の議論では、図３に示すコンポーネント３２０で使用することができ、図４に示すステップ４１５で使用することができる編集距離計算アルゴリズムの例を与える。他の編集距離計算手法も使用することができる。
【００４５】
議論したように、選択した文の組Ｓを再ランク付けするのに、重み付き編集距離手法を使用する。文の組Ｓ中の選択した文Ｄｉ→（ｄｉｌ，ｄｉ２，．．．，ｄｉｍ）が与えられた場合、ＥＤ（Ｄｊ，Ｑｊ）と表すＤｉとＱｊとの間の編集距離を、２つの文字列ＡおよびＢを等しくするのに必要な、用語（ｔｅｒｍ）の挿入（ｉｎｓｅｒｔｉｏｎ）、削除（ｄｅｌｅｔｉｏｎ）、および置換（ｒｅｐｌａｃｅｍｅｎｔ）の最小数として定義する。編集距離はＬｅｖｅｎｓｈｔｅｉｎ距離（ＬＤ）とも呼ばれることがあり、ソース文字列（ｓｏｕｒｃｅ　ｓｔｒｉｎｇ）とターゲット文字列（ｔａｒｇｅｔ　ｓｔｒｉｎｇ）の２つの文字列の間の類似性の尺度（ｍｅａｓｕｒｅ　ｏｆ　ｔｈｅ　ｓｉｍｉｌａｒｉｔｙ）である。この距離は、ソース文字列をターゲット文字列に変換するのに必要な削除、挿入、または置換の数を表す。
【００４６】
具体的には、ＥＤ（Ｄｉ，Ｑｊ）は、ＤｉをＱｊに変更するのに必要な最小の操作数として定義される。ただし操作は以下のうちの１つである。
１．用語の変更（ｃｈａｎｇｉｎｇ　ａ　ｔｅｒｍ）；
２．用語の挿入（ｉｎｓｅｒｔｉｎｇ　ａ　ｔｅｒｍ）；または
３．用語の削除（ｄｅｌｅｔｉｎｇ　ａ　ｔｅｒｍ）
しかし、本発明に従って使用することのできる編集距離の代替定義は、ＱｊをＤｉに変更するのに必要な最小の操作数である。
【００４７】
２つの文字列の編集距離を計算するのに、動的（ｄｙｎａｍｉｃ）プログラミングアルゴリズムを使用する。動的プログラミングアルゴリズムを使用し、ｉが０から｜Ｓ１｜（ここで、｜Ｓ１｜は、第１候補文中の用語の数である）の間にあり、ｊが０から｜Ｓ２｜（ここで、｜Ｓ２｜は、照会文中の用語の数である）の間にある２次元行列ｍ［ｉ，ｊ］を使用して編集距離値を保持する。この２次元行列は、ｍ［０．．｜Ｓ１｜，０．．｜Ｓ２｜］とも表すことができる。動的プログラミングアルゴリズムは、以下の疑似コードで記述されるような方法を使用して、その中に含まれる編集距離値ｍ［ｉ，ｊ］を定義する。
【００４８】
ｍ［ｉ，ｊ］＝ＥＤ（Ｓ１［１．．ｉ］，Ｓ２［１．．ｊ］）
ｍ［０，０］＝０
ｍ［ｉ，０］＝ｉ，　ｉ＝１．．｜Ｓ１｜
ｍ［０，ｊ］＝ｊ，　ｊ＝１．．｜Ｓ２｜
ｍ［ｉ，ｊ］＝ｍｉｎ（ｍ［ｉ−１，ｊ−１］
＋ｉｆ　Ｓ１［ｉ］＝Ｓ２［ｊ］　ｔｈｅｎ　０　ｅｌｓｅ　１，
ｍ［ｉ−１，ｊ］＋１，
ｍ［ｉ，ｊ−１］＋１），
ｉ＝１．．｜Ｓ１｜，ｊ＝１．．｜Ｓ２｜
ｍ［　，］の編集距離値（ｅｄｉｔ　ｄｉｓｔａｎｃｅ　ｖａｌｕｅ）は、行（ｒｏｗ）ごとに計算することができる。行ｍ［　ｉ，］は、行ｍ［　ｉ−１，］だけに依存する。このアルゴリズムの時間複雑性は、Ｏ（｜ｓ１｜＊｜ｓ２｜）である。ｓ１およびｓ２が用語の数の点で「同様の」長さ、例えば約「ｎ」を有する場合、この複雑性はＯ（ｎ２）である。本発明に従って使用する重み付き編集距離は、各演算（挿入、削除、または置換）のペナルティが通常の編集距離計算技法の場合のように常に１に等しいわけではなく、用語の重要性に基づいてペナルティを異なるスコアに設定できるものである。例えば、以下の［表１］のような品詞（ｐａｒｔ−ｏｆ−ｓｐｅｅｃｈ）によるスコアリストを使用するように上記のアルゴリズムを修正することができる。
【００４９】
【表１】
2004062893.tif 000008
【００５０】
したがって、以下のように、注目されている用語の品詞（ｐａｒｔｓ　ｏｆ　ｓｐｅｅｃｈ　ｏｆ　ｔｅｒｍｓ　ｉｎ　ｑｕｅｓｔｉｏｎ）を考慮に入れるようにアルゴリズムを変更することができる。
【００５１】
ｍ［ｉ，ｊ］＝ＥＤ（Ｓ１［１．．ｉ］，Ｓ２［１．．ｊ］）
ｍ［０，０］＝０
ｍ［ｉ，０］＝ｉ，　ｉ＝１．．｜Ｓ１｜
ｍ［０，ｊ］＝ｊ，　ｊ＝１．．｜Ｓ２｜
ｍ［ｉ，ｊ］＝ｍｉｎ（ｍ［ｉ−１，ｊ−１］
＋ｉｆ　Ｓ１［ｉ］＝Ｓ２［ｊ］　ｔｈｅｎ　０　ｅｌｓｅ　［ｓｃｏｒｅ］，
ｍ［ｉ−１，ｊ］＋［ｓｃｏｒｅ］，
ｍ［ｉ，ｊ−１］＋［ｓｃｏｒｅ］），
ｉ＝１．．｜Ｓ１｜，ｊ＝１．．｜Ｓ２｜
例えば、アルゴリズムのある状態で、名詞の単語について何らかの操作（挿入、削除）を行う必要がある場合、スコアは０．６となる。
【００５２】
編集距離Ｓ１およびＳ２の計算は反復的なプロセス（ｒｅｃｕｒｓｉｖｅ　ｐｒｏｃｅｓｓ）である。ＥＤ（Ｓ１［１．．ｉ］，Ｓ２［１．．ｊ］）を計算するには、以下の３つのケースのうちの最小値が必要となる。
【００５３】
１）Ｓ１とＳ２が共に、末尾の単語（ｔｒａｉｌ　ｗｏｒｄ）（またはその他の編集単位）を削除（ｃｕｔ）する・・・行列中でｍ［ｉ−１，ｊ−１］＋ｓｃｏｒｅと表す。　２）Ｓ１だけが単語（ｗｏｒｄ）を削除（ｃｕｔ）し、Ｓ２は維持（ｋｅｐｔ）される・・・ｍ［ｉ−１，ｊ］＋ｓｃｏｒｅと表す。
３）ｓ２だけが単語（ｗｏｒｄ）を削除（ｃｕｔ）し、Ｓ１は維持（ｋｅｐｔ）される・・・ｍ［ｉ，ｊ−１］＋ｓｃｏｒｅと表す。
【００５４】
ケース１では、スコアを以下のように計算することができる。
Ｓ１とＳ２の末尾の単語が同一である場合、ｓｃｏｒｅ＝０
そうでない場合、ｓｃｏｒｅ＝１（コストは１つの操作である）／／重み付きＥＤでは、スコアが変更可能である。上記の表を参照されたい。例えば名詞は０．６となる。
【００５５】
上記のように、反復的なプロセスを計算するのに、「動的プログラミング」と呼ばれる方法を使用することができる。
【００５６】
このように特定のＰＯＳスコアを示したが、他の実施形態では、異なる品詞（ｐａｒｔｓ　ｏｆ　ｓｐｅｅｃｈ）に対するスコアは、様々な応用例において、［表１］に示したスコアから変更することができる。したがって、ＴＦ−ＩＤＦ手法によって選択される文
【００５７】
【数６】
2004062893.tif 000009
【００５８】
は、重み付き編集距離ＥＤによってランク付けされ、順序付きリストＴを得ることができる。
Ｔ＝｛Ｔ１，Ｔ２，Ｔ３，．．．Ｔｎ｝
ここで、
【００５９】
【数７】
2004062893.tif 000010
【００６０】
である。
【００６１】
上式において、Ｔ１からＴｎは候補例文であり（先にはＤ１からＤｎとも呼んだ）、ＥＤ（Ｔｉ，Ｑｊ）は、文Ｔｉと入力照会文Ｑｊとの間の計算編集距離である。
【００６２】
図４に示す一般的なシステムおよび方法の別の実施形態を、図５のブロック図に示す。図５の５０５に示すように、入力文Ｑｊが照会としてシステムに供給される。５１０では、照会文Ｑｊの品詞（ｐａｒｔｓ　ｏｆ　ｓｐｅｅｃｈ）を、当技術分野で周知のタイプのＰＯＳタガー（ｔａｇｇｅｒ）を使用してタグ付けし、５１５では、Ｑｊからストップワード（ｓｔｏｐ　ｗｏｒｄ）を除去する。ストップワードについて、情報検索に関して多くの情報を含まない単語であることは情報検索の分野で周知である。これらの単語は一般に、「ｉｓ」、「ｈｅ」、「ｙｏｕ」、「ｔｏ」、「ａ」、「ｔｈｅ」、「ａｎ」などの高い頻度で出現する単語である。これらの単語を除去することにより、プログラムのスペース要件と効率を向上させることができる。
【００６３】
５２０に示すように、文集合内の各文についてのＴＦ−ＩＤＦスコアを、前述のように、またはそれと類似の方式で得る。しきい値δを超えるＴＦ−ＩＤＦスコアを有する文が、入力照会文Ｑを洗練させ、または改良するのに使用し、あるいは機械支援翻訳過程で使用するための候補例文として選択される。これをブロック５２５に示す。次いで、選択した候補例文を、先に論じたように再ランク付けする。図５ではこのことを、５３０において、選択した各文と入力文の間の編集距離「ＥＤ」を計算するものとして示し、５３５で、候補文を「ＥＤ」スコアでランク付けすることによって示す。
【００６４】
本発明を特定の実施形態を参照しながら説明したが、本発明の精神および範囲から逸脱することなく、形態および細部を変更できることを当業者は理解されよう。例えば、本願で例として示した特定のＴＦ−ＩＤＦアルゴリズムを変更することができ、または当技術分野で周知のタイプの類似のアルゴリズムで置き換えることができる。同様に、選択した文を重み付き編集距離に基づいて再ランク付けする際に、例として与えたアルゴリズム以外のアルゴリズムを使用することができる。
【図面の簡単な説明】
【図１】本発明を実施することができるコンピューティング環境を示すブロック図である。
【図２】本発明を実施することができる他のコンピューティング環境を示すブロック図である。
【図３】本発明の実施形態による、例文を検索し、かつ編集距離に基づいて例文をランク付けする、図１および図２に示すようなコンピューティング環境で実施することができるシステムを示すブロック図である。
【図４】本発明の実施形態による、例文を検索し、かつ編集距離に基づいて例文をランク付けする方法を示すブロック図である。
【図５】本発明の別の実施形態による、例文を検索し、かつ編集距離に基づいて例文をランク付けする方法を示すブロック図である。
【符号の説明】
１００　コンピューティングシステム環境
１１０　コンピュータ
１２０　処理ユニット
１２１　システムバス
１３０　システムメモリ
１３１　読み取り専用メモリ（ＲＯＭ）
１３２　ランダムアクセスメモリ（ＲＡＭ）
１３３　基本入出力システム（ＢＩＯＳ）
１３４　オペレーティングシステム
１３５　アプリケーションプログラム
１３６　他のプログラムモジュール
１３７　プログラムデータ
１４０　インターフェース
１４１　ハードディスクドライブ
１４４　オペレーティングシステム
１４５　アプリケーションプログラム
１４６　他のプログラムモジュール
１４７　プログラムデータ
１５０　インターフェース
１５１　磁気ディスクドライブ
１５２　取り外し可能不揮発性磁気ディスク
１５５　光ディスクドライブ
１５６　取り外し可能不揮発性光ディスク
１６０　ユーザ入力インターフェース
１７０　ネットワークインターフェース／アダプタ
１７１　ローカルエリアネットワーク（ＬＡＮ）
１７２　モデム
１７３　広域ネットワーク（ＷＡＮ）
１８０　リモートコンピュータ
１８５　リモートアプリケーションプログラム
１９０　ビデオインターフェース
１９１　モニタ
１９５　出力周辺インターフェース
１９６　プリンタ
１９７　スピーカ
２００　モバイルデバイス
２０２　マイクロプロセッサ
２０４　メモリ
２０６　入出力（Ｉ／Ｏ）コンポーネント
２０８　通信インターフェース
２１０　バス
２１２　オペレーティングシステム
２１４　アプリケーションプログラム
２１６　オブジェクトストア
３０５　照会文
３１０　文検索コンポーネント
３２０　重み付き編集距離計算コンポーネント
３２５　ランク付けコンポーネント
【図１】
2004062893.tif 000011
【図２】
2004062893.tif 000012
【図３】
2004062893.tif 000013
【図４】
2004062893.tif 000014
【図５】
2004062893.tif 000015