(57)【要約】　　　（修正有）【課題】異なる計量単位間で数値変換を、迅速にかつ容易に行うこと。【解決手段】テキスト文字列が関連する単位名を有する数値を含むかどうかが判定され、そのテキスト文字列が関連する単位名を有する数値を含む場合、その数値に、その単位名をソース計量単位として特定するスキーマ情報で意味のラベルが付けられる。ラベルが付けられたという指示の選択が受け取られたとき、その数値に用意された変換オプションを特定するアクションのリストが提供されて、変換オプションの１つが選択され、選択された数値の選択されたアクションによって特定された目的の計量単位への変換がもたらされ、選択された数値に取って代わる変換された数値が、目的の計量単位に対応する単位名とともにテキスト文字列に挿入される。【選択図】　　　　図１Ａ
2004038943.tif 000002
【特許請求の範囲】
【請求項１】
電子ドキュメントを作成し、編集するためのシステムにおいて、異なる計量法間で数値変換を行うための数値変換方法であって、
前記電子ドキュメント内に含まれるテキスト文字列が、関連する単位名を有する数値を含むかどうかを判定するステップと、
前記テキスト文字列が、関連する単位名を有する数値を含むと判定されたことに応答して、該数値に、前記単位名をソース計量単位として特定するスキーマ情報で意味のラベルを付けるステップと、
前記数値を目的の計量単位に変換するために該数値に対して行うアクションのリストを提供するステップであって、ここで、該アクションのリストは、前記スキーマ情報に基づいて特定されており、
前記アクションのリストから、アクションの選択を受け取るステップと、
前記数値を、前記ソース計量単位から、前記選択されたアクションによって特定された前記目的の計量単位に変換することによって、変換された数値を生成するステップと
を具えたことを特徴とする数値変換方法。
【請求項２】
前記数値を、前記ソース計量単位から、前記選択されたアクションによって特定された前記目的の計量単位に変換することによって、変換された数値を生成するステップは、
変換設定ファイルから、前記選択されたアクションに対応する変換比または変換公式を取得するステップと、
前記変換比または前記変換公式を使用して、前記数値を、前記ソース計量単位から前記目的の計量単位に変換することによって、変換された数値を生成するステップと
を含むことを特徴とする請求項１記載の数値変換方法。
【請求項３】
前記変換設定ファイルは、１つまたは複数の計量変換に対応する変換比または変換公式を有し、
ユーザ定義型の変換比または変換公式を、ユーザから受け取るステップと、
前記ユーザによって定義された比または公式を前記変換設定ファイルの中に記憶するステップと
をさらに具えたことを特徴とする請求項２記載の数値変換方法。
【請求項４】
前記数値および前記関連する単位名を、前記変換された数値および前記目的の計量単位に関連する単位名に置き換えるステップをさらに具えたことを特徴とする請求項１記載の数値変換方法。
【請求項５】
前記数値および前記関連する単位名を、前記変換された数値および前記目的の計量単位に関連する単位名に置き換えるステップは、
前記電子ドキュメントを編集するためのアプリケーションによって提供されるドキュメントオブジェクトモデルを利用して、前記数値および前記関連する単位名を、前記変換された数値および前記目的の計量単位に関連する単位名に置き換えるステップを含むことを特徴とする請求項４記載の数値変換方法。
【請求項６】
アクションの前記リストは、前記数値を前記目的の計量単位に変換するのに前記数値に対して行うことが可能なアクションの前記リストに対応する１つまたは複数のメニュー項目を有するドロップダウンメニューを含むことを特徴とする請求項５記載の数値変換方法。
【請求項７】
前記アプリケーションに関する現行のユーザインターフェース言語設定を判定するステップと、
前記ドロップダウンメニューの前記メニュー項目を前記現行のユーザインターフェース言語設定によって指定される言語で生成するステップと
をさらに具えたことを特徴とする請求項６記載の数値変換方法。
【請求項８】
前記ドロップダウンメニューの前記メニュー項目を生成するステップは、
すべての言語で使用が可能にされたメニュー項目を生成するステップと、
前記現行のユーザインターフェース言語設定によって指定された前記言語で使用が可能にされたメニュー項目を生成するステップと
を含むことを特徴とする請求項７記載の数値変換方法。
【請求項９】
前記数値と、前記数値に意味のラベルが付けられたことの指示とを表示するステップをさらに具え、
アクションの前記リストは、前記数値または前記指示の選択に応答して提供されることを特徴とする請求項８記載の数値変換方法。
【請求項１０】
前記スキーマ情報は、前記ソース計量単位と、前記現行のユーザインターフェース言語設定によって指定される前記言語とに、一意的に対応するデータを含むことを特徴とする請求項９記載の数値変換方法。
【請求項１１】
前記テキスト文字列が表現されている言語に関連する形式に基づき、前記数値を変換するステップに先立って前記数値の値を決定するステップをさらに具えたことを特徴とする請求項１０記載の数値変換方法。
【請求項１２】
コンピュータによって実行されたとき、該コンピュータに、請求項２記載の数値変換方法を行わせるコンピュータ可読命令を含むことを特徴とするコンピュータ可読媒体。
【請求項１３】
請求項２記載の数値変換方法を行うことを特徴とするコンピュータによって制御された数値変換装置。
【請求項１４】
電子ドキュメントを作成し、編集するためのシステムにおいて、異なる計量法間で数値変換を行う数値変換方法であって、
前記電子ドキュメントの一部分をテキスト文字列として受け取るステップと、前記テキスト文字列を解析して、前記テキスト文字列が関連する単位名を有する数値を含むかどうかを判定するステップと、
前記テキスト文字列が、関連する単位名を有する数値を含むと判定されたことに応答して、前記数値に、前記単位名をソース計量単位として特定するスキーマ情報で意味のラベルを付けるステップと、
前記数値と、前記単位名と、前記数値に意味のラベルが付けられた指示とを、表示するステップと、
前記数値または前記指示の選択を受け取るステップと、
前記数値または前記指示の前記選択が受け取られたことに応答して、前記数値を目的の計量単位に変換するのに前記数値に対して行うことが可能なアクションのリストを提供するステップと、
前記アクションのリストからのアクションの選択を受け取るステップと、
アクションの前記選択が受け取られたことに応答して、前記テキスト文字列が表現されている言語に関連する形式に基づいて前記数値の値を決定するステップと、
前記値を、前記選択されたアクションによって特定された前記目的の計量単位に変換することによって、変換された数値を生成するステップと、
前記テキスト文字列の中で、前記数値を前記変換された数値で置き換えるステップと
を具えたことを特徴とする数値変換方法。
【請求項１５】
前記アクションのリストは、前記数値を前記目的の計量単位に変換するのに該数値に対して行うことが可能な、前記アクションのリストに対応する１つまたは複数のメニュー項目を有するドロップダウンメニューを含むことを特徴とする請求項１４記載の数値変換方法。
【請求項１６】
前記電子ドキュメントに関連するアプリケーションプログラムに関する現行のユーザインターフェース言語設定を判定するステップと、
前記ドロップダウンメニューの前記メニュー項目を、前記現行のユーザインターフェース言語設定によって指定された言語で生成するステップと
をさらに具えたことを特徴とする請求項１５記載の数値変換方法。
【請求項１７】
前記ドロップダウンメニューの前記メニュー項目を生成するステップは、
すべての言語で使用が可能にされたメニュー項目を生成するステップと、
前記現行のユーザインターフェース言語設定によって指定された言語で、使用が可能にされたメニュー項目を生成するステップと
を含むことを特徴とする請求項１６記載の数値変換方法。
【請求項１８】
コンピュータによって実行されたとき、前記コンピュータに、請求項１４記載の数値変換方法を行わせるコンピュータ可読命令を含むことを特徴とするコンピュータ可読媒体。
【請求項１９】
請求項１４記載の数値変換方法を行うことを特徴とするコンピュータによって制御された数値変換装置。
【請求項２０】
異なる計量法間で数値変換を行うための数値変換システムであって、
電子ドキュメントの一部分をテキスト文字列としてアプリケーションプログラムから受け取ること、前記テキスト文字列を解析して、該テキスト文字列が関連する単位名を有する数値を含むかどうかを判定すること、前記テキスト文字列が関連する単位名を有する数値を含むと判定されたことに応答して、前記数値に、前記単位名をソース計量単位として特定しかつ前記テキスト文字列を表現するのに使用されている言語を特定するスキーマ情報で意味のラベルを付けること、を行うレコグナイザプラグインと、
電子ドキュメントを作成し、編集するためのアプリケーションプログラムであって、前記テキスト文字列および前記数値に意味のラベルが付けられたという指示を表示すること、前記数値または前記指示の選択を受け取ること、前記数値または前記指示の前記選択が受け取られたことに応答して、前記数値を目的の計量単位に変換するのに前記数値に対して行うことが可能なアクションのリストを提供すること、該アクションのリストからのアクションの選択を受け取ること、前記選択されたアクションおよび前記数値をアクションプラグインに提供すること、を行うプログラムと、
前記数値を前記選択されたアクションによって特定された前記目的の計量単位に変換することによって変換された数値を生成すること、前記テキスト文字列の中で、前記数値を前記変換された数値および前記目的の計量単位に対応する単位名で置き換えること、を行うアクションプラグインと
を具えたことを特徴とする数値変換システム。
【請求項２１】
前記アクションのリストは、前記数値を、前記目的の計量単位に変換するのに前記数値に対して行うことが可能な、アクションのリストに対応する１つまたは複数のメニュー項目を有するドロップダウンメニューを含み、かつ、該アクションプラグインは、
前記アプリケーションプログラムに関する現行のユーザインターフェース言語設定を判定し、かつ
前記ドロップダウンメニューの前記メニュー項目を前記現行のユーザインターフェース言語設定によって指定された言語で生成するようにさらに動作することを特徴とする請求項２０記載の数値変換システム。
【請求項２２】
前記アクションプラグインは、前記アプリケーションプログラムに関する１つまたは複数の使用可能にされた言語を特定し、かつすべての言語で使用が可能にされたメニュー項目を生成し、かつ前記現行のユーザインターフェース言語設定によって指定された前記言語で使用が可能にされたメニュー項目を生成するように動作することを特徴とする請求項２１記載の数値変換システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、計量単位変換の分野に係り、より詳細には、意味のラベルが付けられた文字列（ｓｅｍａｎｔｉｃａｌｌｙ　ｌａｂｅｌｅｄ　ｓｔｒｉｎｇ）に基づいて、異なる計量システム間で数値を容易に変換することが可能な、異なる計量法間での数値変換方法、そのシステム、および、その装置に関する。
【０００２】
なお、本発明の関連出願として、米国特許出願番号０９／５８８，４１１がある。
【０００３】
【従来の技術】
インターネットおよびＷｏｒｌｄ　Ｗｉｄｅ　Ｗｅｂ（「Ｗｅｂ」）の登場と急速な普及の結果として、今日のコンピュータユーザは、世界中の国々に所在する他のユーザから電子ドキュメントを頻繁に受け取る。そのような電子ドキュメントは、しばしば、送信側の特定の国内で使用される計量単位で表現された数値を含む。例えば、米国に所在するユーザは、ヤードポンド計量法（Ｉｍｐｅｒｉａｌ　ｓｙｓｔｅｍ　ｏｆ　ｍｅａｓｕｒｅｍｅｎｔ）（例えば、インチ、フィート等）で数値を表現する可能性が高く、他方、欧州のユーザは、メートル計量法（例えば、センチメートル、キロメートル等）で数値を表現する可能性が高い。
【０００４】
【発明が解決しようとする課題】
ユーザは、自国で使用される計量法以外の計量法で表現された数値を有する電子ドキュメントを受け取ったとき、その数値の意味を理解するのにその数値を自らのローカルな計量法に変換する必要がある。
【０００５】
例えば、ユーザは、米国内で一般に使用される温度の計量単位である華氏温度で表現された数値を、その計量法とは異なる欧州で一般に使用される温度の計量単位である摂氏温度に変換することを望むような場合がある。
【０００６】
しかし、ユーザが、そのように異なる計量法の間で数値変換を、迅速にかつ容易に実行することは、これまで困難であった。
【０００７】
例として、従来、ユーザは、計量法の間で、ワードプロセッシングドキュメントなどの電子ドキュメントに含まれる数値を変換することを望むような場合、最初に、変換されるべき数値をクリップボードにコピーしなければならない。次に、ユーザは、その数値を所望の目的の計量単位に変換することができる外部プログラムまたはＷｅｂサイトにその数値をペーストする。外部プログラムまたはＷｅｂサイトが変換を完了すると、ユーザは、変換された数値をクリップボードにコピーし、次に、その変換された数値を電子ドキュメントにペーストして戻すことができる。以上のようなシステムにより、ユーザは、計量法の間で数値を変換することができるようになるが、それらのシステムは、変換を完了するのに多数のステップが必要とされるため、使用するのが困難である。
【０００８】
さらに、以上の従来の解決策は、ユーザが、変換プログラムまたはＷｅｂサイトのユーザインターフェース言語を使用して変換を行うことを必要とする。これは、変換プログラムまたはＷｅｂサイトの言語を理解できないユーザにとって、極めて不満の残るものとなる。
【０００９】
そこで、本発明の目的は、ユーザが、異なる計量法の間で数値を変換するために、外部アプリケーションまたはＷｅｂサイトをわざわざ利用することなく、その異なる計量法間で数値を迅速にかつ容易に変換することが可能な、数値変換方法、そのシステム、および、その装置を提供することにある。
【００１０】
また、本発明の他の目的は、ユーザによって選択される、異なる計量法の間で数値を容易に変換できる数値変換オプション用のユーザインターフェース言語を、ユーザに提示することが可能な、数値変換方法、そのシステム、および、その装置を提供することにある。
【００１１】
【課題を解決するための手段】
本発明の実施形態は、数値を変換するのに外部アプリケーションまたはＷｅｂサイトを使用することを必要としない計量法および計量単位の間で数値を容易に変換することにより、前述した問題を解決する。
【００１２】
さらに、本発明の実施形態は、ユーザによって選択されたインターフェース言語で変換オプションをユーザに提示することができる単位間で数値を変換することにより、前述した問題を解決する。
【００１３】
さらに、本発明の実施形態は、ユーザが、変換規則を追加することができ、最初にサポートされていなかった計量法の間で数値を変換することにより、前述した問題を解決する。
【００１４】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態を詳細に説明する。
本発明の実施形態は、異なる計量単位間で、数値を、迅速にかつ容易に変換するための数値変換方法、数値変換システム、数値変換装置、および数値変換コンピュータ可読媒体を提供するものである。
【００１５】
以下の詳細な説明では、説明の一部を成す添付の図面を参照する。図面では、例示のため、特定の実施形態、または特定の例を示している。本発明の趣旨および範囲を逸脱することなく、それらの実施形態を組み合わせること、他の実施形態を利用すること、および構造上の変更を加えることが可能である。したがって、以下の詳細な説明は、限定を行うものと受け取られるべきではなく、本発明の範囲は、頭記の特許請求の範囲、およびそれと等価なものによって定義される。
【００１６】
次に、いくつかの図面すべてで同様の符号が同様の要素を表す図面を参照して、本発明の態様、および例示的な動作環境を説明する。
【００１７】
図１Ａおよび以下の考察は、本発明を実施することができる適切な計算環境の簡単な一般的説明を提供することを意図する。本発明は、パーソナルコンピュータ上のオペレーティングシステム上で実行されるアプリケーションプログラムに連携して実行されるプログラムモジュールの一般的なコンテキストで説明するが、本発明をその他のプログラムモジュールと組み合わせて実施することも可能であることが、当分野の技術者には理解できるものである。本発明の様々な実施形態を実施するための例示的な動作環境およびソフトウェアアーキテクチャのさらなる態様は、参照により本明細書に明確に組み込まれている「Ｍｅｔｈｏｄ　ａｎｄ　Ｓｙｓｔｅｍ　ｆｏｒ　Ｓｅｍａｎｔｉｃａｌｌｙ　Ｌａｂｅｌｉｎｇ　Ｓｔｒｉｎｇｓ　ａｎｄ　Ｐｒｏｖｉｄｉｎｇ　Ａｃｔｉｏｎｓ　Ｂａｓｅｄ　ｏｎ　Ｓｅｍａｎｔｉｃａｌｌｙ　Ｌａｂｅｌｅｄ　Ｓｔｒｉｎｇｓ」という名称の（例えば、前述した関連文献を参照）に記載されている。
【００１８】
一般に、プログラムモジュールには、特定のタスクを行う、または特定の抽象データタイプを実装するルーチン、プログラム、構成要素、データ構造、およびその他のタイプの構造が含まれる。さらに、本発明は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースの家庭用電化製品またはプログラマブル家庭用電化製品、ミニコンピュータ、メインフレームコンピュータ等を含め、他のコンピュータシステム構成で実施してもよい。また、本発明は、タスクが、通信網を介してリンクされた遠隔の処理デバイスによって行われる分散計算環境において実施してもよい。分散計算環境では、プログラムモジュールが、ローカルのメモリ記憶デバイスと遠隔のメモリ記憶デバイスの両方の中に配置されることが可能である。
【００１９】
次に、図１Ａを参照して、本発明の様々な実施形態を実施するためのパーソナルコンピュータ２に関する例示的なコンピュータアーキテクチャを説明する。図１Ａに示したコンピュータアーキテクチャは、中央処理装置４（「ＣＰＵ」）、ランダムアクセスメモリ８（「ＲＡＭ」）および読取り専用メモリ１０（「ＲＯＭ」）を含むシステムメモリ６、ならびにこのメモリをＣＰＵ４に結合するシステムバス１２を含む従来のパーソナルコンピュータを例示している。始動中など、コンピュータ内部の要素間で情報を転送するのを助ける基本ルーチンを含む基本入力／出力システムが、ＲＯＭ１０の中に記憶されている。パーソナルコンピュータ２は、オペレーティングシステム１６、アプリケーションプログラム２０５のようなアプリケーションプログラム、およびデータを記憶するための大容量記憶デバイス１４をさらに含む。
【００２０】
大容量記憶デバイス１４は、バス１２に接続された大容量ストーレッジコントローラ（図示せず）を介してＣＰＵ４に接続される。大容量記憶デバイス１４、および関連するコンピュータ可読媒体により、不揮発性ストーレッジがパーソナルコンピュータ２に提供される。本明細書に含まれるコンピュータ可読媒体の説明は、ハードディスクドライブまたはＣＤ−ＲＯＭドライブなどの大容量記憶デバイスについて述べるが、コンピュータ可読媒体は、パーソナルコンピュータ２がアクセスすることができる任意の利用可能な媒体であるのが可能なことが、当分野の技術者には理解されよう。
【００２１】
例として、限定としてではなく、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことが可能である。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を記憶するための任意の方法または任意の技術で実装された揮発性の媒体および不揮発性の媒体、取外し可能な媒体および取外し不可能な媒体が含まれる。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたはその他のソリッドステート（ｓｏｌｉｄ　ｓｔａｔｅ）メモリ技術、ＣＤ−ＲＯＭ、ＤＶＤまたはその他の光ストーレッジ、磁気カセット、磁気テープ、磁気ディスクストーレッジまたはその他の磁気記憶デバイス、あるいは所望の情報を記憶するのに使用することができ、かつコンピュータがアクセスすることができる任意の他の媒体が含まれるが、以上には限定されない。
【００２２】
本発明の様々な実施形態によれば、パーソナルコンピュータ２は、インターネットなどのＴＣＰ／ＩＰネットワーク１８を介する遠隔コンピュータに対する論理接続を使用するネットワーク化された環境において動作することが可能である。パーソナルコンピュータ２は、バス１２に接続されたネットワークインターフェースユニット２０を介してＴＣＰ／ＩＰネットワーク１８に接続することが可能である。ネットワークインターフェースユニット２０を利用してその他のタイプのネットワークおよび遠隔コンピュータシステムに接続することも可能であることを理解されたい。また、パーソナルコンピュータ２は、キーボードまたはマウス（図示せず）を含め、いくつかのデバイスからの入力を受け取り、処理するための入力／出力コントローラ２２も含むことが可能である。同様に、入力／出力コントローラ２２が、表示スクリーン、プリンタ、またはその他のタイプの出力デバイスに出力を提供することも可能である。
【００２３】
簡単に前述したとおり、ワシントン州レッドモンドのマイクロソフトコーポレーションからのＷＩＮＤＯＷＳ（登録商標）　ＸＰオペレーティングシステムなどの、ネットワーク化されたパーソナルコンピュータの動作を制御するのに適したオペレーティングシステム１６を含め、いくつかのプログラムモジュールおよびデータファイルが、パーソナルコンピュータ２の大容量記憶デバイス１４およびＲＡＭ８の中に記憶されていることが可能である。大容量記憶デバイス１４およびＲＡＭ８は、１つまたは複数のアプリケーションプログラムも記憶することができる。詳細には、大容量記憶デバイス１４およびＲＡＭ８は、電子ドキュメント２４を作成し、編集するためのアプリケーションプログラム２０５を記憶することが可能である。例えば、アプリケーションプログラム２０５が、ワードプロセッシングアプリケーションプログラムを含み、電子ドキュメント２４が、ワードプロセッシングドキュメントを含むことが可能である。また、アプリケーションプログラム２０５が、スプレッドシートアプリケーションプログラムを含み、電子ドキュメント２４が、スプレッドシートを含むことも可能である。同様に、アプリケーションプログラム２０５が、電子メールアプリケーションプログラムを含み、電子ドキュメント２４が、電子メールメッセージを含むことも可能である。その他のタイプの電子ドキュメントを作成し、編集するためのアプリケーションプログラムも、本発明の様々な実施形態で使用することができる。
【００２４】
本発明の実施形態は、本明細書で計量単位または計量法とも呼ぶ計量の単位の間で電子ドキュメント２４内に含まれる数値を変換する、アプリケーションプログラム２０５と併せて使用するためのプログラムモジュールを提供する。詳細には、本発明の実施形態は、レコグナイザプラグイン２２０およびアクションプラグイン２２５を提供する。以下にさらに詳細に説明するとおり、レコグナイザプラグイン２２０は、電子ドキュメント２４内に含まれる関連する単位名を有する数値を認識し、その単位名をソース計量単位として特定する意味情報でその数値にラベルを付ける。次に、レコグナイザプラグイン２２０は、アクションプラグイン２２５が使用するようにその情報をアプリケーションプログラム２０５に送る。アクションプラグイン２２５は、計量単位の間で変換するためにその認識された数値に対してアクションを行う。利用可能な変換は、変換設定ファイル２８の中で定義されている。変換設定ファイル２８に関するさらなる詳細を図１Ｂを参照して以下に説明する。
【００２５】
本発明の様々な実施形態によれば、アクションプラグイン２２５は、所与の数値に対して行われることが可能なアクションのリストを生成することもできる。このプロセスの一環として、アクションプラグイン２２５は、アプリケーションプログラム２０５またはオペレーティングシステム１６の言語設定２６のクエリを行うことができる。言語設定２６は、現行のユーザインターフェース言語を指定する。次に、アクションのリストを現行のユーザインターフェース言語で作成することができる。さらに、アクションプラグイン２２５は、変換設定ファイル２８を調べて、すべての使用可能にされている言語で使用可能にされている各ソース単位名、および現行のユーザインターフェース言語で使用可能にされている各ソース単位名に関してアクションメニュー項目を生成することもできる。変換設定ファイル２８および言語設定２６の使用を含め、レコグナイザプラグイン２２０およびアクションプラグイン２２５の動作に関するさらなる詳細を以下により詳細に説明する。
【００２６】
次に、図１Ｂを参照して、変換設定ファイル２８の様々な態様を説明する。簡単に前述したとおり、変換設定ファイル２８は、レコグナイザプラグイン２２０とアクションプラグイン２２５の両方によって利用される。詳細には、レコグナイザプラグイン２２０は、変換設定ファイル２８の部分を利用して、テキスト文字列内で認識されるべきソース単位名を決定し、またアクションプラグイン２２５は、変換設定ファイル２８を利用して、ユーザに提示されるべきものであり、かつ実際に変換を行うアクションメニューを作成する。レコグナイザプラグイン２２０およびアクションプラグイン２２５による変換設定ファイル２８の使用に関するさらなる詳細を以下により詳細に説明する。
【００２７】
図１Ｂに示すとおり、変換設定ファイル２８は、フィールド５０Ａ〜５０Ｊを有するデータファイルを含む。フィールド５０Ａは、特定の変換が使用可能にされるべきロケール（ｌｏｃａｌｅ）識別（「ＬＣＩＤ」）番号を含む。当分野の技術者には周知のとおり、ワシントン州レッドモンドのマイクロソフトコーポレーションからのＷＩＮＤＯＷＳ（登録商標）　ＸＰオペレーティングシステムと併せて使用されるとき、ＬＣＩＤは、ロケールおよび言語を識別するのに使用される識別番号である。ＬＣＩＤは、本明細書では、現在、使用可能にされている言語で使用可能にされている変換に関してだけ変換オプションがユーザに提示されることを確実にするのに使用される。別法では、フィールド５０Ａが、「すべて」という句を含み、これにより、すべての使用可能にされている言語で使用される変換が使用可能になる可能性がある。フィールド５０Ａの使用に関するさらなる詳細を以下に説明する。
【００２８】
変換設定ファイル２８は、ソース単位名を表すフィールド５０Ｂも含む。ソース単位名は、認識された数値に関連する計量のソース単位の名前である。レコグナイザプラグイン２２０は、フィールド５０Ｂを使用して、自らが認識すべきソース単位名を識別する。変換設定ファイル２８は、フィールド５０Ｂの中で特定されたソース単位名に対応するソース記述を含むフィールド５０Ｃも含む。フィールド５０Ｃの内容は、特定のロケールに合わせてローカライズすることができる。変換設定ファイル２８は、ソース単位名と数値の間にスペースが配置されているかどうかを示すフィールド５０Ｄも含む。一部の地域の形式は、数値と単位名の間にスペースを利用しているが、他の地域の形式はそうしていない。したがって、フィールド５０Ｄは、どちらかの形式を使用して表現された数値を認識するようにレコグナイザプラグイン２２０によって利用される。変換設定ファイル２８は、ソース単位名の大文字小文字（ｃａｓｅ）がレコグナイザプラグイン２２０によって考慮されるべきかどうかを定義するフィールド５０Ｅも含む。
【００２９】
変換設定ファイル２８は、目的の単位名を特定するデータを含むフィールド５０Ｆ、および目的の記述を特定するデータを含むフィールド５０Ｇも含む。フィールド５０Ｃと同様に、フィールド５０Ｇも、特定のロケールに合わせてローカライズすることができる。変換結果において目的の数値と関連する単位名の間にスペースを置くべきかどうかを示すフィールド５０Ｈも含まれる。フィールド５０Ｈは、変換結果を形式設定する際、アクションプラグイン２２５によって利用される。
【００３０】
変換設定ファイル２８は、変換結果を丸める際に利用すべき小数点以下の桁数を示すフィールド５０Ｉも含む。フィールド５０Ｉは、各変換に関して変更することができる。通常、フィールド５０Ｉに含まれる丸めの精度値は、目的の値がソース数値よりはるかに大きいか、またははるかに小さい変換に関して調整される。
【００３１】
変換設定ファイル２８は、特定の変換のために利用すべき変換比または公式リファレンス（ｆｏｒｍｕｌａ　ｒｅｆｅｒｅｎｃｅ）を定義するフィールド５０Ｊも含む。変換が、係数を掛けることによって行われる場合、フィールド５０Ｊは、その係数を含む。変換が、より複雑な数式を利用して行われる場合、フィールド５０Ｊは、適切な公式に対する公式リファレンスを含むことが可能である。例えば、フィールド５０Ｊは、「ＣＴＯＦ」などの、摂氏の値を華氏の値に変換するための公式に対するリファレンスを含むことが可能である。より複雑な変換を行うために、その他のタイプの公式リファレンスを提供することも可能である。
【００３２】
図１Ｂに示した変換設定ファイル２８は、いくつかの例示的な変換エントリ５２Ａ〜５２Ｅを含む。エントリ５２Ａは、キロメートル（ｋｉｌｏｍｅｔｅｒ）からマイル（ｍｉｌｅ）への変換に対応し、すべて（ａｌｌ）の言語に関して使用可能にされている。エントリ５２Ｂは、摂氏温度から華氏温度への変換に対応し、やはり、すべての言語に関して使用可能にされている。エントリ５２Ｃ〜５２Ｄは、スウェーデン（Ｓｗｅｄｉｓｈ）の「長い」マイルとキロメートルの間で変換を行い、アクティブなユーザインターフェース言語が、ＬＣＩＤ「１０５４」に対応するときにだけ、使用可能にされる。エントリ５２Ｅは、キロメートルからヤード（ｙａｒｄ）への変換に対応し、やはり、すべての言語に関して使用可能にされている。
【００３３】
エントリ５２Ａ〜５２Ｅは、変換設定ファイル２８の中で定義することが可能な変換のタイプの例示的な例に過ぎず、他のタイプの変換も同様に定義できる。詳細には、マイルとキロメートルの間、インチとセンチメートルの間、ミリメートルとインチの間、フィートとセンチメートルの間、メートルとフィートの間、ヤードとメートルの間、エーカーとヘクタールの間、英国のパイントとリットルの間、米国のパイントとリットルの間、リットルとガロンの間、オンスとデシリットルの間、クォートとリットルの間、ポンドとキログラムの間、毎時マイルと毎時キロメートルの間、およびその他の計量単位の間で変換を定義することができる。さらに、新しい変換を定義する変換設定ファイル２８に適切なエントリを追加することにより、追加の変換を定義することも可能である。
【００３４】
次に、図２を参照して、本発明の様々な実施形態と併せて使用するための例示的なソフトウェアアーキテクチャを説明する。図２に示したアーキテクチャは、ワードプロセッサアプリケーションプログラム、スプレッドシートアプリケーションプログラム、または電子ドキュメントを作成し、編集するためのその他のタイプのアプリケーションプログラムなどのアプリケーションプログラム２０５を含む。アプリケーションプログラム２０５は、Ｗｅｂブラウザも含むことが可能である。
【００３５】
アプリケーションプログラム２０５は、レコグナイザダイナミックリンクライブラリ（ｄｙｎａｍｉｃａｌｌｙ　ｌｉｎｋｅｄ　ｌｉｂｒａｒｙ）（「ＤＬＬ」）２１０およびアクションＤＬＬ２１５と通信することができる。以下により詳細に説明するとおり、レコグナイザＤＬＬ２１０は、１つまたは複数のレコグナイザプラグイン２２０Ａ〜２２０Ｎを制御し、またアクションＤＬＬ２１５は、１つまたは複数のアクションプラグイン２２５Ａ〜２２５Ｎを制御する。
【００３６】
本発明の一実施形態によれば、レコグナイザプラグイン２２０Ａ〜２２０Ｎおよびアクションプラグイン２２５Ａ〜２２５Ｎは、オートメーションサーバである。オートメーションサーバは、プログラムに組み立てられる、またはワシントン州レッドモンドのマイクロソフトコーポレーションからのＷＩＮＤＯＷＳ（登録商標）　ＸＰオペレーションシステム上で実行される既存のプログラムに機能を追加する周知のソフトウェア構成要素である。オートメーションサーバは、様々な計算言語で書くことができ、プログラムを再コンパイルする必要なしに実行時にプログラムにプラグインし、またプラグインを解除することができる。
【００３７】
レコグナイザＤＬＬ２１０は、アプリケーションプログラム２０５によって編集されている電子ドキュメントからのテキスト文字列を個々のレコグナイザプラグイン２２０Ａ〜２２０Ｎに分配することを扱う。レコグナイザプラグイン２２０Ａ〜２２０Ｎは、ワードプロセッシングドキュメントまたはスプレッドシートドキュメントなどの電子ドキュメントの中の特定の文字列を認識する。レコグナイザプラグイン２２０Ａ〜２２０Ｎは、関心対象の特定の文字列を認識するようにアプリケーションプログラムモジュール２０５を使用してパッケージ化すること、またはサードパーティによって書かれることが可能である。通常、レコグナイザＤＬＬ２１０は、単独の段落で、またはセル値の増分でレコグナイザプラグイン２２０Ａ〜２２０Ｎに文字列を送る。ただし、他のサイズおよび他の形式で文字列をレコグナイザプラグイン２２０Ａ〜２２０Ｎに送ることも可能である。
【００３８】
意味情報を含むものとしてある文字列を認識することの一環として、レコグナイザプラグイン２２０Ａ〜２２０Ｎは、どの文字列にラベルを付けるべきか、またどのようにラベルを付けるべきかを決定する。その結果を様々なレコグナイザプラグイン２２０から受け取った後、レコグナイザＤＬＬ２１０は、意味カテゴリをアプリケーションプログラムモジュール２０５に送る。
【００３９】
本発明の一実施形態によれば、関連する単位名を有する数値を含むものとして文字列を認識するためのレコグナイザプラグイン２２０が提供される。そして、この実施形態によれば、意味カテゴリは、その単位名をソース計量単位として特定するスキーマ情報を含む。スキーマ情報は、そのテキスト文字列が表現されている言語を特定する情報も含むことが可能である。この情報は、数値のコピー、ソース単位名、およびテキスト文字列が表現されている言語などの、対応するアクションプラグイン２２５が利用することができる他の情報とともに、レコグナイザプラグイン２２０によってレコグナイザＤＬＬ２１０に戻される。さらに、レコグナイザプラグイン２２０は、テキスト文字列の長さ、数値の第１の文字の文字番号を含め、テキスト文字列の中で数値の場所を特定する情報を戻す。
【００４０】
レコグナイザプラグイン２２０Ａ〜２２０Ｎのそれぞれは、別々に実行される。レコグナイザＤＬＬ２１０は、異なるレコグナイザプラグイン２２０Ａ〜２２０Ｎが異なる時点で結果を戻すことでもたらされる非同期性に対処することを担う。このようにして、様々なタイプのデータがテキスト文字列の中で認識され、それぞれの意味のラベルが付けられた文字列に関して異なるアクションが提供されることが可能である。数値を認識するためのレコグナイザプラグイン２２０の動作に関するさらなる詳細を図３〜図８を参照して以下に説明する。
【００４１】
レコグナイザプラグイン２２０Ａ〜２２０Ｎによって文字列にラベルが付けられた後、スキーマ情報は、アプリケーションプログラムモジュール２０５に送られる。次に、アプリケーションプログラムモジュール２０５のユーザが、認識された文字列に対してスキーマ情報に関連付けられたアクションを実行することができる。アクションＤＬＬ２１５は、そのアクションを行うために実行されるアクションプラグイン２２５Ａ〜２２５Ｎを管理する。レコグナイザプラグイン２２０Ａ〜２２０Ｎの場合と同様に、アクションプラグイン２２５Ａ〜２２５Ｎも、関心対象の特定のアクションを行うように、アプリケーションプログラムモジュール２０５を使用してパッケージ化すること、またはサードパーティによって書かれることが可能である。アクションプラグイン２２５Ａ〜２２５Ｎは、文字列に関連するスキーマ情報、つまりタイプラベルに基づいてユーザに提示されるべき可能なアクションを提供する。以下により詳細に説明するとおり、ユーザに提供されるアクションのリストは、各スキーマタイプに関して動的に生成される。次に、この情報は、文字列が選択されたときにユーザにアクションのリストを表示するアプリケーションプログラム２０５に提供される。
【００４２】
アクションのリストからあるアクションが選択された後、アクションＤＬＬ２１５が、適切なアクションプラグイン２２５Ａ〜２２５Ｎを管理し、アクションプラグインとアプリケーションプログラムモジュール２０５の間で必要な情報をやり取りさせて、アクションプラグインが、所望のアクションを実行することができるようにする。通常、アプリケーションプログラムモジュール２０５は、アクションＤＬＬ２１５に、ユーザが選択したアクションを起動するオートメーション要求を送る。以下により詳細に説明するとおり、本発明の一実施形態によれば、認識された数値を他の計量単位に変換するアクションプラグイン２２５が提供される。アクションプラグイン２２５の動作、および異なるソース単位名を識別するのに利用されるスキーマ情報に関するさらなる詳細を図３〜８を参照して以下により詳細に説明する。
【００４３】
次に、図３Ａ〜図３Ｄを参照して、本発明の様々な実施形態によって提供される例示的なユーザインターフェースを説明する。図３Ａに示すとおり、関連する単位名を含む数値３２が、ユーザにより、テキスト文字列の一部分としてワードプロセッサなどのアプリケーションプログラム２０５にタイプ入力されることが可能である。ユーザがテキスト文字列を提供すると、そのテキスト文字列が、数値３２などの、そのテキスト文字列の中に含まれる数値を認識するレコグナイザプラグイン２２０に提供される。レコグナイザプラグイン２２０によって識別された関連する単位名を有する数値３２が、アクションが行われることが可能なあるタイプの意味情報としてアプリケーションプログラムモジュールに明らかにされる。したがって、アプリケーションプログラムモジュール２０５は、数値３２に対してアクションを行うことが可能であるという指示をユーザに提供する。この指示は、数値３２を強調表示すること、または数値３２の近くでユーザインターフェース指示３４を提供することによってユーザに提供することができる。
【００４４】
数値３２または指示３４がユーザによって選択されたとき、その数値を別の計量単位に変換するのに、その数値に対して行うことができるアクションのリストが表示される。アクションのこのリストは、数値３２に対して行うことができるアクションのリストに対応する１つまたは複数のメニュー項目を有するドロップダウンメニュー３６を含むことが可能である。本発明の一実施形態によれば、ドロップダウンメニュー３６の内容は、多数の異なる言語の１つで表示されることが可能である。ドロップダウンメニュー３６が表示される言語は、アプリケーションプログラムモジュール２０５またはオペレーティングシステム１６に関する現行のユーザインターフェース言語に基づく。このようにして、世界中の国際的なユーザに、ユーザの現在、インストールされ、アクティブなユーザインターフェース言語でドロップダウンメニュー３６が表示される。
【００４５】
図３Ａに示すとおり、ドロップダウンメニュー３６は、変換されるべき数値３２の別の指示を含む。また、ドロップダウンメニュー３６は、数値３２を別の計量法に変換するのに行うことができるアクションのリスト３８も含む。本発明の一実施形態によれば、ドロップダウンメニュー３６の中で表示されるアクションのリスト３８は、パーソナルコンピュータ２上で現在、使用可能にされているユーザインターフェース言語で使用するように指定されている変換オプションに限られる。このようにして、パーソナルコンピュータ２の現在、使用可能にされている言語に適切でない数値を変換するためのアクションが、ドロップダウンメニュー３６の中で表示されない。
【００４６】
図３Ａに示すとおり、アプリケーションプログラムモジュール２０５は、メニュー項目４４Ａおよび４４Ｂもドロップダウンメニュー３６に追加する。項目４４Ａの選択により、選択されたテキストから意味のラベル付けが除去される。同じ（または他の）ドキュメント内の他の認識されたテキストは、ラベルが付いたままであり、新たにタイプされたテキストは、やはり継続して認識され、ラベルが付けられる。項目４４Ｂの選択により、レコグナイザプラグインおよびアクションプラグインの動作および挙動を定義するユーザにより選択可能な選好のリストが提供される。
【００４７】
簡単に前述したとおり、関連する単位名を有する数値３２がレコグナイザプラグイン２２０によって認識されたとき、その数値３２には、その関連する単位名をソース計量単位として特定するスキーマ情報でラベルが付けられる。さらに、そのテキスト文字列の言語もスキーマ情報の中で特定されることが可能である。次に、このスキーマ情報がアプリケーションプログラム２０５に戻され、アクションプラグイン２２５によって利用されて、ドロップダウンメニュー３６の中に含められるべきアクションの適切なリスト３８が判定される。このようにして、テキスト文字列を表現するのに使用されているソース計量単位および言語と整合する変換動作だけが、ドロップダウンメニュー３６を介してユーザに提供される。
【００４８】
図３Ａに示した数値３２は、キログラムで表現されている。したがって、ドロップダウンメニュー３６は、数値３２をポンドに変換するためのアクション、およびストーンとポンドに変換するためのアクションをアクションのリスト３８の中に含む。同様に、図３Ｂで示した数値３２は、メートルで表現されている。したがって、ドロップダウンメニュー３６は、数値３２をフィートに変換するためのアクション、およびヤードに変換するアクションをアクションのリスト３８の中に含む。同様に、図３Ｄに示した数値３２は、摂氏温度で示されている。したがって、ドロップダウンメニュー３６は、数値３２を摂氏温度から華氏温度に変換するためのアクションだけを含む。また、図３Ａ、図３Ｂ、および図３Ｄに示したアクションのリスト３８は、英語で表示されている。ただし、英語以外の言語がパーソナルコンピュータ２上の現行のユーザインターフェース言語として選択されている場合、ドロップダウンメニュー３６は、別の言語で現れることを理解されたい。
【００４９】
図３Ｃに示すとおり、ユーザが、アクションのリスト３８からのアクション選択を行うと、数値３２の変換が、選択されたアクションに従って行われる。次に、変換された数値が、図３Ｃに示すとおり、ダイアログボックス３７の中でユーザに表示されることが可能である。あるいは、数値３２が、テキスト文字列の中で、変換された数値、および目的の計量単位に関連する単位名で置き換えられることが可能である。数値３２は、アプリケーションプログラム２０５によって提供されるドキュメントオブジェクトモデルを使用してテキスト文字列の中で置き換えることができる。このプロセスを以下により詳細に説明する。さらに、以下により詳細に考察するとおり、アプリケーションプログラム２０５は、ドロップダウンメニュー３６の中で示されるテキストのほとんどをアクションプラグイン２２５から受け取る。このプロセスは、アプリケーションプログラム２０５が最初に実行され、アクションプラグイン２２５が自体をアプリケーションプログラム２０５に登録したときに行われる。この登録プロセスに関するさらなる詳細を図４を参照して以下に説明する。
【００５０】
次に、図４を参照して、数値変換ソフトウェア構成要素をアプリケーションプログラム２０５に登録するための例示的なルーチン４００を説明する。詳細には、数値を変換するためのアクションプラグイン２２５およびレコグナイザプラグイン２２０が最初に実行されたとき、アクションプラグイン２２５およびレコグナイザプラグイン２２０が、アプリケーションプログラム２０５に登録される。アプリケーションプログラム２０５に登録することにより、アプリケーションプログラム２０５が、これらのソフトウェア構成要素を認知させられ、レコグナイザプラグイン２２０によって認識されるスキーマタイプとともに使用することが可能にされる。さらに、各スキーマタイプに対応する、ユーザに表示されるべきアクション項目もアプリケーションプログラム２０５に対して列挙されて、数値３２または指示子３４がユーザによって選択されたとき、アプリケーションプログラム２０５がドロップダウンメニュー３６を表示することができるようになる。
【００５１】
ルーチン４００は、ブロック４０２で開始し、現行のユーザインターフェース言語が特定される。簡単に前述したとおり、現行のユーザインターフェース言語は、オペレーティングシステム１６またはアプリケーションプログラム２０５によって保持される言語設定２６の中に記憶されていることが可能である。現行のユーザインターフェース言語が特定されると、ルーチン４００は、ブロック４０４に進む。ブロック４０４で、アクションプラグイン２２５が、変換設定ファイル２８を調べ、すべての言語で動作するように指定されている定義された変換のためのアクションメニュー項目を生成する。詳細には、アクションプラグイン２２５は、変換設定ファイル２８のフィールド５０Ａの中で「すべて」という句を含むすべての定義された変換に関してアクションメニュー項目を作成する。次に、ルーチン４００は、ブロック４０６に進む。
【００５２】
ブロック４０６で、現行のユーザインターフェース言語に対応する、フィールド５０Ａの中でエントリを有するそれぞれの定義された変換に関してもアクションメニュー項目が生成される。このようにして、アクションメニュー項目は、すべてのユーザインターフェース言語で使用が可能にされた変換、および現行のユーザインターフェース言語で使用が可能にされた変換に関してだけ生成される。アクションメニュー項目は、ソース単位名ごとに生成される。このようにして、各ソース単位名に関して１つの、多数の別々のドロップダウンメニュー３６を生成することができる。さらに、それぞれソース単位名、およびそれぞれの現行のユーザインターフェース言語に関して別個のスキーマ名が利用される。このようにして、ソース単位名、または現行のユーザインターフェース言語に関わらず、適切なドロップダウンメニュー３６が提示される。
【００５３】
ブロック４０６から、ルーチン４００は、ブロック４０８に進み、各スキーマに関するアクションメニュー項目が、アプリケーションプログラム２０５に戻される。本発明の一実施形態によれば、アプリケーションプログラム２０５は、数値３２または指示子３４の選択に応答してドロップダウンメニュー３６を表示する。ただし、アクションプラグイン２２５、またはその他のソフトウェア構成要素が、ドロップダウンメニュー３６の表示を担うことが可能であることを理解されたい。ルーチン４００は、ブロック４０８からブロック４１０に進み、終了する。
【００５４】
次に、図５を参照して、アプリケーションプログラム２０５において新しい文字列の入力を処理するための例示的なルーチン５００を説明する。ルーチン５００は、ブロック５０２で開始し、アプリケーションプログラム２０５が、ユーザが新しい段落を電子ドキュメントに入力する際、または以前に入力された段落を編集する際などに、新しい文字列を受け取る。ブロック５０２から、ルーチン５００は、ブロック５０４に進み、アプリケーションプログラム２０５が、新しい文字列をレコグナイザＤＬＬ２１０に送る。前述したとおり、レコグナイザＤＬＬ２１０は、アプリケーションプログラム２０５と通信すること、レコグナイザプラグイン２２０Ａ〜２２０Ｎによって行われる必要があるジョブを管理すること、レコグナイザプラグイン２２０Ａ〜２２０Ｎから結果を受け取ること、および認識された数値およびソース単位名に関してスキーマ情報をアプリケーションプログラムモジュール２０５に送ることを担う。本発明の一実施形態では、ブロック５０４で、ある段落が、レコグナイザＤＬＬ２１０に送られることを理解されたい。ただし、代替の実施形態では、文、スプレッドシートセルの内容、ドキュメントの節、ドキュメント全体等が、レコグナイザＤＬＬ２１０に送られることも可能である。言い換えれば、本発明の実施形態は、単に段落をレコグナイザＤＬＬ２１０に送ることに限定されない。
【００５５】
ブロック５０４から、ルーチン５００は、ブロック５０６に進み、レコグナイザＤＬＬ２１０が、文字列をレコグナイザプラグイン２２０Ａ〜２２０Ｎに送る。次に、ルーチン５００は、ブロック５０８に進み、レコグナイザプラグインが、その段落に対して実行されて、その文字列の中の重要な語、または重要な文字が認識される。詳細には、計量法の間で数値を変換するためのレコグナイザプラグインが、その文字列に対して実行される。数値変換のためのレコグナイザプラグインの動作を記述する例示的なルーチンを図６を参照して以下に説明する。
【００５６】
ブロック５１０で、レコグナイザプラグイン２２０からの結果が、レコグナイザＤＬＬ２１０において受け取られる。次に、ルーチン５００は、ブロック５１２に進み、文字列がレコグナイザプラグイン２２０Ａ〜２２０Ｎに伝送されて以来、段落が編集されているかどうかの判定が、レコグナイザＤＬＬ２１０によって行われる。段落が編集されている場合、ルーチン５００は、ブロック５０４に戻り、編集された文字列が、レコグナイザＤＬＬ２１０に送られる。段落が編集されていない場合、ルーチン５００は、ブロック５１４に進み、レコグナイザＤＬＬ２１０が、レコグナイザプラグイン２２０から受け取られた結果をアプリケーションプログラム２０５に送る。次に、ルーチン５００は、ブロック５１６に進み、終了する。
【００５７】
次に、図６を参照して、本発明の一実施形態による計量単位の間で数値を変換するためのレコグナイザプラグイン２２０の動作を示す例示的なルーチン６００を説明する。ルーチン６００は、ブロック６０２で開始し、あるテキスト文字列が、レコグナイザプラグイン２２０においてレコグナイザＤＬＬ２１０から受け取られる。次に、ルーチン６００は、ブロック６０４に進み、そのテキスト文字列が数値を含むかどうかの判定が行われる。
【００５８】
ブロック６０４から、ルーチン６００は、ブロック６０６に進み、テキスト文字列の中で数値が見出されたかどうかの判定が行われる。数字が見出されなかった場合、ルーチン６００は、ブロック６０６からブロック６１４に分岐し、図５に示されるブロック５１０に戻る。しかし、ブロック６０６で、テキスト文字列の中で数字が見出されたと判定された場合、ルーチン６００は、ブロック６０８に進む。
【００５９】
ブロック６０８で、識別された数字の後に位置するテキストが走査されて、その数値にソース単位名が関連しているかどうかが判定される。例えば、レコグナイザプラグイン２２０は、ソース単位名「ｋｍ」、「ｌｂ」、「ｍｉ」、およびその他のソース単位名を探して識別された数字の後のテキストを走査することが可能である。レコグナイザプラグイン２２０が探索するソース単位名のリストは、変換設定ファイル２８のフィールド５０Ｂによって定義される。
【００６０】
ブロック６０８から、ルーチン６００は、ブロック６１０に進み、認識された数値に関連するソース単位名が探し出されたかどうかの判定が行われる。ソース単位名が見出されなかった場合、ルーチン６１０は、ブロック６１４に分岐し、図５に示されるブロック５１０に戻る。認識された数値に関連するソース単位名が見出された場合、ルーチン６００は、ブロック６１２に進む。
【００６１】
ブロック６１２で、スキーマ情報が、レコグナイザＤＬＬ２１０に戻される。詳細には、ソース単位名、および現在、使用可能にされている言語に関連するスキーマ名が、レコグナイザＤＬＬ２１０に戻される。さらに、「プロパティバッグ（ｐｒｏｐｅｒｔｙ　ｂａｇ）」もレコグナイザＤＬＬ２１０に戻されることが可能である。プロパティバッグは、アクションプラグイン２２５が利用することができる認識された数値に関する情報を記憶するオブジェクトである。例えば、プロパティバッグは、認識された数値がどの形式で書かれているかを一般的に示す形式番号を含むことが可能である。さらに、テキスト文字列の中で認識された数値に対する索引も、レコグナイザＤＬＬ２１０に戻されることが可能である。レコグナイザプラグイン２２０からレコグナイザＤＬＬ２１０に戻される情報のすべては、後に、アクションプラグイン２２５に送られ、変換プロセスにおいて使用される。これを図７および８に関して以下により詳細に説明する。ブロック６１２から、ルーチン６００は、ブロック６１４に進み、図５に示されるブロック５１０に戻る。
【００６２】
次に、図７を参照して、関連する単位名を有する意味で分類された数値の選択を処理するための例示的なルーチン７００を説明する。前述したとおり、テキスト文字列の中で数値が、関連する単位名を有するものとしてレコグナイザプラグイン２２０Ａによって認識されると、その数値が強調表示され、または指示がユーザに提供されて、その数値が認識され、その数値に対してアクションを行うことが可能であると示されることが可能である。したがって、ブロック７０２で、数値または指示子がユーザによって選択されたかどうかの判定が行われる。数値が選択されていない場合、ルーチン７００は、ブロック７１４に進み、終了する。しかし、数値または指示子が選択されている場合、ルーチン７００は、ブロック７０４に進む。
【００６３】
ブロック７０４で、アプリケーションプログラム２０５が、選択された数値に対応するスキーマに関連するアクションのリストを表示する。このようにして、図３Ａに関連して前述したドロップダウンメニュー３６が、ユーザに提示される。次に、ルーチン７００は、ブロック７０４からブロック７０６に進み、ユーザがアクションのリストからの項目のどれかを選択したかどうかの判定が行われる。ユーザが、アクションのリストからの項目の１つ以外のユーザインターフェース項目の選択を行った場合、ルーチン７００は、ブロック７１０に分岐し、アクションのリストが除去される。しかし、ユーザが、アクションのリストからの項目のどれかを選択した場合、ルーチン７００は、ブロック７０８に進む。
【００６４】
ブロック７０８で、アプリケーションプログラム２０５が、適切なスキーマタイプに対応するアクションプラグイン２２５を呼び出してアクション項目が選択されたことを示す。アクションプラグイン２２５に対するアプリケーションプログラム２０５からの呼出しは、認識された数値に対応するスキーマ名、選択されたメニュー項目の項目番号、呼出し側のアプリケーションプログラム２０５の名前、ドキュメント２４にアクセスするためにアプリケーションプログラム２０５によって提供されるオブジェクトモデルを指すポインタ、図６に関連して前述したプロパティバッグ、および認識された数値のテキストを含む。次に、ルーチン７００は、ブロック７１２に進み、計量単位の間で数値を変換するためのアクションプラグインが実行される。数値変換のためのアクションプラグイン２２５を実行するための例示的なルーチンを図８を参照して以下に説明する。アクションプラグイン２２５が実行を完了すると、ルーチン７００は、ブロック７１２からブロック７１４に進み、終了する。
【００６５】
次に、図８を参照して、計量法の間で数値を変換するためにアクションプラグイン２２５を実行するための例示的なルーチン８００を説明する。ルーチン８００は、ブロック８０２で開始し、アクションプラグイン２２５が、アクションＤＬＬ２１５から呼出しを受け取り、ユーザがアクションメニュー項目を選択したことが示される。ブロック８０２から、ルーチン８００は、ブロック８０４に進み、アクションプラグイン２２５が、数値を含む文字列が表現されている言語に関連する形式に鑑みて、その認識された数値の実際の値を決定する。これが必要なのは、異なる言語で表現された数値は、異なる言語で異なる意味を有する区切り文字を含む可能性があるためである。例えば、ある数値が、フランス語で「１，７２９」と表現されるが、英語では、その数値は、「１７２９」と表現されるであろう。したがって、ブロック８０４で、アクションプラグイン２２５は、数値が表現されている言語に基づき、言語設定ファイル２６からその数値に合った地域的形式を明らかにする。地域的形式を使用して、数値の実際の値を決定することができる。
【００６６】
ブロック８０４から、ルーチン８００は、ブロック８０６に進み、認識された数値が、選択されたアクションメニュー項目に従って目的の計量単位に変換される。詳細には、選択された変換に関する変換設定ファイル２８のフィールド５０Ｊの値を利用して、認識され、選択された数値を変換することができる。また、変換設定ファイル２８の中のフィールド５０Ｉの値を利用して、変換された数値を適切な桁数に丸めることもできる。
【００６７】
ブロック８０６から、ルーチン８００は、ブロック８０８に進み、変換された数値が形式設定される。変換された数値は、言語設定ファイル２６の中で指定された地域的形式に従って形式設定することが可能である。さらに、変換設定ファイル２８の中のフィールド５０Ｈの値を利用して、変換された数値と目的の単位名の間の間隔を形式設定することもできる。その他のタイプの形式設定も変換された数値に適用することができる。
【００６８】
ブロック８０８から、ルーチン８００は、ブロック８１０に進み、テキスト文字列の中の数値が、変換された数値で置き換えられる。本発明の一実施形態によれば、この置換えは、アプリケーションプログラム２０５によって提供されるドキュメントオブジェクトモデルにアクセスすることによって行われる。ドキュメントオブジェクトモデルを介して、アクションプラグイン２２５は、ドキュメント２４に直接にアクセスし、ドキュメント内で変更を行うことができる。そのようなドキュメントオブジェクトモデルの使用に関する詳細は、当分野の技術者には周知である。別法では、変換された数値、および関連する単位名をユーザに表示することができる。ブロック８１０から、ルーチン８００は、ブロック８１２に進み、図７に関連して前述したブロック７１４に戻る。
【００６９】
以上に基づき、本発明の様々な実施形態により、意味のラベルが付けられた文字列に基づいて計量単位の間で数値を変換するための方法、システム、装置、およびコンピュータ可読媒体が提供されることが、当分野の技術者には理解されよう。以上の明細、例、およびデータにより、本発明の構成の製造および使用の完全な説明が提供されている。本発明の趣旨および範囲を逸脱することなく、本発明の多くの実施形態を実施することができるので、本発明は、頭記の特許請求の範囲に存する。
【００７０】
（まとめ）
以下、本発明の作用効果についてまとめる。
【００７１】
本発明の一実施形態によれば、電子ドキュメントを作成し、編集するためのシステムにおいて、異なる計量法間で、数値変換を、迅速にかつ容易に行える方法を得ることができる。
【００７２】
本発明の一実施形態によれば、計量単位間で数値の便利な変換を可能にするソフトウェアモジュールが、電子ドキュメントを作成し、編集するためのソフトウェアアプリケーションと併せて実行される。ユーザが、段落などの、あるテキスト文字列をソフトウェアアプリケーションにタイプ入力したとき、その文字列が解析されて、その文字列が関連する単位名を有する数値を含むかどうかが判定される。例えば、ユーザが、数値「１０」、ならびにキロメートルを表す関連する単位名「ｋｍ」をタイプすることが可能である。そのテキスト文字列が、関連する単位名を有する数値を含む場合、その数値には、その単位名をソース計量単位として特定するスキーマ情報で意味のラベルが付けられる。例えば、あるテキスト文字列が、数値「１０」の後に続いて計量単位「ｋｍ」を含む場合、その数値がソース計量単位で表現されていることを示すスキーマ情報が、その数値に関連付けられる。
【００７３】
関連する単位名を有する数値が、段落などの、あるテキスト文字列内で特定されると、アプリケーションは、その数値に意味のラベルが付けられたことの指示をユーザに表示することができる。また、この指示は、その数値に対してアクションを行うことができることもユーザに明らかにする。その数値または指示の選択が受け取られたとき、その数値に用意された変換オプションを明らかにするアクションのリストが、ユーザに提供されることが可能である。例えば、特定された数値が、メートルを表す関連する単位名「ｍ」を含む場合、その数値をフィートまたはヤードに変換するためのアクションメニュー項目が、ユーザに表示されることが可能である。その数値を変換するための他のタイプの変換オプションも、ユーザに提示されることが可能である。
【００７４】
また、本発明の一実施形態によれば、アプリケーションプログラムに関する現行のユーザインターフェース言語設定が、アクションのリストをユーザに提供するのに先立って判定される。ユーザがアクションのリストを選択したとき、利用可能なアクションが、現行のユーザインターフェース言語設定によって指定された言語でユーザに表示される。このようにして、ユーザには、常に現行のユーザインターフェース言語で変換オプションが提示される。また、アクションは、現行のユーザインターフェース言語設定に関してサポートされる変換だけのために、アクションのリストに含まれることが可能であり、またすべてのユーザインターフェース言語で使用可能であることが指定されることも可能である。
【００７５】
アクションのリストがユーザに表示された後、アクションの１つの選択が受け取られることが可能である。変換アクションの選択が受け取られたことに応答して、選択された数値を選択されたアクションによって特定された目的の計量単位に変換することにより、変換された数値が生成されることが可能である。変換が完了すると、変換された数値、および関連する単位名が、テキスト文字列に挿入されて選択された数値、および関連する単位名と置き換えることが可能である。本発明の様々な実施形態によれば、アプリケーションプログラムによってサポートされるドキュメントオブジェクトモデルを利用して変換された数値をテキスト文字列に挿入することができる。あるいは、変換された数値をユーザに表示することができる。
【００７６】
また、本発明の一実施形態によれば、計量法の間で数値を変換するためのシステムが提供される。この実施形態によれば、このシステムは、電子ドキュメントの一部分をテキスト文字列としてアプリケーションプログラムから受け取ることができるレコグナイザ（ｒｅｃｏｇｎｉｚｅｒ）プラグインを含む。例えば、レコグナイザプラグインは、ある段落のテキストをアプリケーションプログラムから、ユーザによってタイプされるにつれて受け取ることができる。レコグナイザプラグインは、テキスト文字列を受け取ると、そのテキスト文字列を解析して、テキスト文字列が関連する単位名を有する数値を含むかどうかを判定する。テキスト文字列が、関連する単位名を有する数値を含む場合、レコグナイザプラグインが、その単位名をソース計量単位として特定し、またそのテキスト文字列を表現するのに使用する言語と特定するスキーマ情報でその数値に意味のラベルを付ける。次に、この情報が、レコグナイザプラグインによってアプリケーションプログラムに戻される。
【００７７】
また、本発明の一実施形態によれば、システムは、電子ドキュメントを作成し、編集するためのアプリケーションプログラムも含む。例えば、アプリケーションプログラムは、ワードプロセッサ、スプレッドシートアプリケーションプログラム、編集機能を含む電子メールアプリケーション、または電子ドキュメントを作成し、編集するためのその他のタイプのアプリケーションプログラムを含むことが可能である。本発明のこの実施形態によれば、アプリケーションプログラムは、レコグナイザプラグインによって数値に意味のラベルが付けられていることの指示とともにテキスト文字列を表示することができる。この指示は、数値に意味のラベルが付けられていること、および数値に対して変換アクションを行うことができることをユーザに示すためのユーザインターフェースオブジェクトを含むことが可能である。
【００７８】
また、アプリケーションプログラムは、数値または指示の選択を受け取り、その数値を別の計量単位に変換するのに、その数値に対して行うことができるアクションのリストを提供するように動作することも可能である。次に、アプリケーションは、リストのアクションの１つの選択を受け取り、その選択および数値をアクションプラグインに提供することが可能である。
【００７９】
また、本システムは、選択された数値をアクションのリストから選択されたアクションによって特定された目的の計量単位に変換することによって変換された数値を生成することができるアクションプラグインも含む。また、アクションプラグインは、テキスト文字列の中で選択された数値、および関連する単位名を変換された数値、および関連する単位名で置き換えるようにも動作する。本発明の実際の一実施形態によれば、アクションプラグインは、アプリケーションプログラムによって提供されるドキュメントオブジェクトモデルにアクセスすることによってテキスト文字列の中で数値を変換された数値で置き換えることができる。あるいは、変換された数値、および関連する単位名を表示することができる。
【００８０】
また、本発明の一実施形態によれば、本明細書で提供されるシステムは、あらゆる変換機能を行うのに先立ってアプリケーションプログラムに登録を行うように動作するアクションプラグインも含むことが可能である。登録手続きの一環として、アクションプラグインは、数値を別の計量法に変換するのに数値に対して行うことができるアクションのリストをアプリケーションプログラムに提供することができる。さらに、アクションのリストを作成する際、アクションプラグインは、アプリケーションプログラムに関する現行のユーザインターフェース言語設定を判定し、その現行のユーザインターフェース言語設定で指定された言語でアクションメニュー項目を生成することができる。加えて、アクションプラグインは、すべての使用可能にされている言語で使用可能にされている各ソース単位名、および現行のユーザインターフェース言語で使用可能にされている各ソース単位名に関して、変換設定ファイルを調べてアクションメニュー項目を生成することもできる。変換設定ファイルの内容は、変換設定ファイルの中で最初に定義されたもの以外の計量法の間で変換を可能にするように、ユーザが変更することができる。
【００８１】
また、本発明のその他の実施形態は、意味のラベルが付けられた文字列に基づいて、異なる計量法間で、数値を、迅速にかつ容易に変換することが可能な、コンピュータによって制御された装置およびコンピュータ可読媒体を作成することができる。
【００８２】
【発明の効果】
以上発明したように、本発明によれば、あるテキスト文字列がアプリケーションプログラムに入力されたとき、その文字列が解析されて、テキスト文字列が関連する単位名を有する数値を含むかどうかが判定され、そのテキスト文字列が、関連する単位名を有する数値を含む場合、その数値に、その単位名をソース計量単位として特定するスキーマ情報で意味のラベルが付けられ、その数値またはその数値にスキーマ情報でラベルが付けられたという指示の選択が受け取られたとき、その数値に用意された変換オプションを特定するアクションのリストが提供され、変換オプションの１つが選択され、選択された数値の選択されたアクションによって特定された目的の計量単位への変換がもたらされ、選択された数値に取って代わる変換された数値が、目的の計量単位に対応する単位名とともにテキスト文字列に挿入されるようにしたので、ユーザが、異なる計量法の間で数値を変換するために、外部アプリケーションまたはＷｅｂサイトをわざわざ利用することなく、その異なる計量法間で数値を迅速にかつ容易に変換することが可能となる。
【００８３】
また、本発明によれば、ユーザによって選択される、異なる計量法の間で数値を容易に変換する数値変換オプション用のユーザインターフェース言語を、ユーザに提示することが可能となる。
【図面の簡単な説明】
【図１Ａ】本発明の実施形態のための例示的な動作環境を提供するパーソナルコンピュータのアーキテクチャを示すブロック図である。
【図１Ｂ】利用可能な変換を定義するのに本発明の様々な実施形態で利用される変換設定ファイルの形式および内容を示すブロック図である。
【図２】本発明の様々な実施形態によるテキスト文字列を認識し、認識されたテキスト文字列にラベルを付け、アクションを行うためのソフトウェアアーキテクチャを示すブロック図である。
【図３Ａ】本発明の様々な実施形態によって提供される計量法の間で数値を変換するためのアクションメニューを含むスクリーン表示を示すスクリーン図である。
【図３Ｂ】本発明の様々な実施形態によって提供される計量法の間で数値を変換するためのアクションメニューを含むスクリーン表示を示すスクリーン図である。
【図３Ｃ】本発明の様々な実施形態によって提供される計量法の間で数値を変換するためのアクションメニューを含むスクリーン表示を示すスクリーン図である。
【図３Ｄ】本発明の様々な実施形態によって提供される計量法の間で数値を変換するためのアクションメニューを含むスクリーン表示を示すスクリーン図である。
【図４】本発明の実際の一実施形態によるアクションプラグインをアプリケーションプログラムに登録するための例示的なルーチンを示す流れ図である。
【図５】本発明の実際の一実施形態によるアプリケーションプログラムにおいて提供される文字列入力を処理するための例示的なルーチンを示す流れ図である。
【図６】本発明の実際の一実施形態に従って提供されるレコグナイザプラグインソフトウェアモジュールの動作を例示する流れ図である。
【図７】本発明の実際の一実施形態による意味で分類された数値の選択を処理するためのルーチンを例示する流れ図である。
【図８】本発明の実際の一実施形態による計量単位間で数値を変換するためのアクションプラグインを実行するためのルーチンを示す流れ図である。
【符号の説明】
２　パーソナルコンピュータ
４　中央処理装置
６　システムメモリ
８　ランダムアクセスメモリ
１０　読取り専用メモリ
１２　システムバス
１４　大容量記憶デバイス
１６　オペレーティングシステム
１８　ＴＣＰ／ＩＰネットワーク
２０　ネットワークインターフェースユニット
２２　入力／出力コントローラ
２４　電子ドキュメント
２６　言語設定
２８　変換設定ファイル
５０Ａ、５０Ｂ、５０Ｃ、５０Ｄ、５０Ｅ、５０Ｆ、５０Ｇ、５０Ｈ、５０Ｉ、５０Ｊ　フィールド
２０５　アプリケーションプログラム
２２０　レコグナイザプラグイン
２２５　アクションプラグイン
【図１Ａ】
2004038943.tif 000003
【図１Ｂ】
2004038943.tif 000004
【図２】
2004038943.tif 000005
【図３Ａ】
2004038943.tif 000006
【図３Ｂ】
2004038943.tif 000007
【図３Ｃ】
2004038943.tif 000008
【図３Ｄ】
2004038943.tif 000009
【図４】
2004038943.tif 000010
【図５】
2004038943.tif 000011
【図６】
2004038943.tif 000012
【図７】
2004038943.tif 000013
【図８】
2004038943.tif 000014
【外国語明細書】
2004038943.tif 000015
2004038943.tif 000016
2004038943.tif 000017
2004038943.tif 000018
2004038943.tif 000019
2004038943.tif 000020
2004038943.tif 000021
2004038943.tif 000022
2004038943.tif 000023
2004038943.tif 000024
2004038943.tif 000025
2004038943.tif 000026
2004038943.tif 000027
2004038943.tif 000028
2004038943.tif 000029
2004038943.tif 000030
2004038943.tif 000031
2004038943.tif 000032
2004038943.tif 000033
2004038943.tif 000034
2004038943.tif 000035
2004038943.tif 000036
2004038943.tif 000037
2004038943.tif 000038
2004038943.tif 000039
2004038943.tif 000040
2004038943.tif 000041
2004038943.tif 000042
2004038943.tif 000043
2004038943.tif 000044
2004038943.tif 000045
2004038943.tif 000046
2004038943.tif 000047
2004038943.tif 000048
2004038943.tif 000049
2004038943.tif 000050
2004038943.tif 000051
2004038943.tif 000052