(57)【特許請求の範囲】
【請求項１】
コンピュータがプロセッサにプログラムモジュールを実行させることによって、テキストを自動的に大文字化するためのキャピタライゼーションモデルをトレーニングする方法であって、前記コンピュータは前記プロセッサに、
ハーベスタが、トレーニング文書が特定のユーザに関連付けられていることを必要とする制限事項を満たす前記トレーニング文書を収集するステップであって、前記トレーニング文書はテキストセグメントを備える、ステップと、
キャピタライゼーションカウンタが、収集した前記トレーニング文書中のキャピタライゼーションフォームの出現カウントを更新するステップであって、
収集した前記トレーニング文書中の前記テキストセグメントごとに、前記テキストセグメントの小文字使用形を含む主エントリが出現リストに存在するかどうかを判定するステップであって、前記出現リストは、前記主エントリと、前記テキストセグメントの前記キャピタライゼーションフォームごとのサブエントリからなる、ステップと、
前記トレーニング文書がユーザに関連付けられる度合いに基づいて出現カウントに重み付けをするステップと、
前記テキストセグメントが大文字を含み、前記テキストセグメントに関する前記主エントリが前記出現リストに存在しないとき、前記主エントリと前記テキストセグメントのキャピタライゼーションフォームに関する前記サブエントリとを前記出現リストに加え、前記重み付けに基づいて前記サブエントリの出現カウントを増加するステップと、
前記テキストセグメントが大文字を含み、前記テキストセグメントに関する主エントリが前記出現リストに存在し、前記テキストセグメントの前記キャピタライゼーションフォームに関する前記サブエントリが前記出現リストに存在しないとき、前記サブエントリを前記出現リストに加え、前記重み付けに基づいて前記サブエントリの出現カウントを増加するステップと
を含む、ステップと、
ルールビルダが、前記出現リストにおいて前記テキストセグメントごとの主エントリに関連付けられた前記サブエントリ及び前記小文字使用形の間で最大の出現カウントを有するサブエントリ又は小文字使用形に対応するキャピタライゼーションフォームを前記キャピタライゼーションモデルに加えるステップであって、
ワード対で構成されるキャピタライゼーションフォームを前記キャピタライゼーションモデルに加えるステップであって、前記ワード対のうちの少なくとも１つのワードは大文字使用を含む、ステップと、
単一ワードで構成されるキャピタライゼーションフォームを前記キャピタライゼーションモデルに加えるステップであって、前記ワード対で構成されるキャピタライゼーションフォームが前記キャピタライゼーションモデルに加えられる場合、前記ワード対における大文字使用を含むワードは、前記単一ワードで構成されるキャピタライゼーションフォームとして前記キャピタライゼーションモデルに加えられない、ステップと
を含む、ステップと、
前記ワード対の各々のワードが大文字使用を含み、前記ワード対で構成されるキャピタライゼーションフォームに含まれるワードの大文字使用の各々が前記単一ワードで構成されるキャピタライゼーションフォームの大文字使用のいずれかと同じである場合、プルーニング要素が、前記キャピタライゼーションモデルから前記ワード対で構成されるキャピタライゼーションフォームを除去するステップと
を実行させることを特徴とする方法。
【請求項２】
前記制限事項は、前記トレーニング文書が前記ユーザによって書かれたものである、ことを必要とすることを特徴とする請求項１に記載の方法。
【請求項３】
前記ユーザが電子メールに返信した場合、前記電子メールは、前記ユーザによって書かれたものとみなされる、ことを特徴とする請求項２に記載の方法。
【請求項４】
前記ユーザが電子メールを転送した場合、前記電子メールは、前記ユーザによって書かれたものとみなされる、ことを特徴とする請求項２に記載の方法。
【請求項５】
前記制限事項は、前記トレーニング文書が前記ユーザのローカルマシン上に記憶されていることを必要とする、ことを特徴とする請求項１に記載の方法。
【請求項６】
前記制限事項は、前記トレーニング文書が前記ユーザに関連付けられたネットワーク上のディレクトリに記憶されていることを必要とする、ことを特徴とする請求項１に記載の方法。
【請求項７】
前記更新するステップは、ワード対の出現をカウントするステップを含む、ことを特徴とする請求項１に記載の方法。
【請求項８】
前記ワード対の出現をカウントするステップは、少なくとも１つの大文字を持つワード、および、前記ワードと少なくとも１つの大文字を持つ第２のワードとの間にある前置詞を含んだワード対の出現をカウントするステップを含む、ことを特徴とする請求項７に記載の方法。
【請求項９】
前記ワード対の出現をカウントするステップは、少なくとも１つの大文字を持つ第１のワード、および、少なくとも１つの大文字を持つ隣接した第２のワードを含んだワード対の出現をカウントするステップを含む、ことを特徴とする請求項７に記載の方法。
【請求項１０】
前記ワード対で構成されるキャピタライゼーションフォームをワード対リストに記憶し、前記単一ワードで構成されるキャピタライゼーションフォームを別個の単一ワードリストに記憶するステップをさらに含む、ことを特徴とする請求項１に記載の方法。
【請求項１１】
キャピタライゼーション訂正ユニットが、前記キャピタライゼーションモデルを用いてテキスト中のワードを大文字化するステップをさらに含む、ことを特徴とする請求項１に記載の方法。
【請求項１２】
前記大文字化するステップは、前記ワード対中のワードの１つを求めて前記単一ワードリストをサーチする前に、前記テキスト中のワード対に対するマッチングを求めて前記ワード対リストをサーチするステップを含む、ことを特徴とする請求項１０に記載の方法。
【請求項１３】
前記トレーニング文書が前記ユーザによって書かれている場合、前記トレーニング文書が前記ユーザによって書かれたものではなく、前記ユーザに関連付けられたものである場合に適用される重みよりも高い重みが前記出現カウントに適用される、ことを特徴とする請求項１に記載の方法。
【請求項１４】
コンピュータがプロセッサにプログラムモジュールを実行させることによってテキストを自動的に大文字化するためのキャピタライゼーションモデルをトレーニングする方法を実行するためのコンピュータ実行可能命令を記憶したコンピュータ可読な記憶媒体であって、前記コンピュータが前記プロセッサに、
ハーベスタが、特定のユーザに関連付けられた文書からトレーニングデータを獲得する手順であって、前記トレーニングデータはテキストセグメントを備える、手順と、
キャピタライゼーションカウンタが、収集した前記トレーニングデータ中のキャピタライゼーションフォームの出現カウントを更新する手順であって、
収集した前記トレーニングデータ中の前記テキストセグメントごとに、前記テキストセグメントの小文字使用形を含む主エントリが出現リストに存在するかどうかを判定する手順であって、前記出現リストは、前記主エントリと、前記テキストセグメントの前記キャピタライゼーションフォームごとのサブエントリからなる、手順と、
前記トレーニングデータがユーザに関連付けられる度合いに基づいて出現カウントに重み付けをする手順と、
前記テキストセグメントが大文字を含み、前記テキストセグメントに関する前記主エントリが前記出現リストに存在しないとき、前記主エントリと前記テキストセグメントのキャピタライゼーションフォームに関する前記サブエントリとを前記出現リストに加え、前記重み付けに基づいて前記サブエントリの出現カウントを増加する手順と、
前記テキストセグメントが大文字を含み、前記テキストセグメントに関する主エントリが前記出現リストに存在し、前記テキストセグメントの前記キャピタライゼーションフォームに関する前記サブエントリが前記出現リストに存在しないとき、前記サブエントリを前記出現リストに加え、前記重み付けに基づいて前記サブエントリの出現カウントを増加する手順と
を含む、手順と、
ルールビルダが、前記出現リストにおいて前記テキストセグメントごとの主エントリに関連付けられた前記サブエントリ及び前記小文字使用形の間で最大の出現カウントを有するサブエントリ又は小文字使用形に対応するキャピタライゼーションフォームを前記キャピタライゼーションモデルに加える手順であって、
ワード対で構成されるキャピタライゼーションフォームを前記キャピタライゼーションモデルに加える手順であって、前記ワード対のうちの少なくとも１つのワードは大文字使用を含む、手順と、
単一ワードで構成されるキャピタライゼーションフォームを前記キャピタライゼーションモデルに加える手順であって、前記ワード対で構成されるキャピタライゼーションフォームが前記キャピタライゼーションモデルに加えられる場合、前記ワード対における大文字使用を含むワードは、前記単一ワードで構成されるキャピタライゼーションフォームとして前記キャピタライゼーションモデルに加えられない、手順と
を含む、手順と、
前記ワード対の各々のワードが大文字使用を含み、前記ワード対で構成されるキャピタライゼーションフォームに含まれるワードの大文字使用の各々が前記単一ワードで構成されるキャピタライゼーションフォームの大文字使用のいずれかと同じである場合、プルーニング要素が、前記キャピタライゼーションモデルから前記ワード対で構成されるキャピタライゼーションフォームを除去する手順と、
キャピタライゼーション訂正ユニットが、前記キャピタライゼーションモデルを用いて、前記特定のユーザに関連付けられたテキストを自動的に大文字化する手順と、
を含む方法を実行させるためのコンピュータ実行可能命令を記憶した、ことを特徴とするコンピュータ可読な記憶媒体。
【請求項１５】
前記文書からトレーニングデータを獲得する手順は、前記特定のユーザに関連付けられた電子メールからトレーニングデータを獲得する手順を含む、ことを特徴とする請求項１４に記載のコンピュータ可読な記憶媒体。
【請求項１６】
前記電子メールからトレーニングデータを獲得する手順は、前記特定のユーザによって書かれた電子メールからデータを獲得する手順を含む、ことを特徴とする請求項１５に記載のコンピュータ可読な記憶媒体。
【請求項１７】
前記電子メールからトレーニングデータを獲得する手順は、前記特定のユーザによって転送された電子メールからデータを獲得する手順を含む、ことを特徴とする請求項１５に記載のコンピュータ可読な記憶媒体。
【請求項１８】
前記電子メールからトレーニングデータを獲得する手順は、前記特定のユーザによって返信された電子メールからデータを獲得する手順を含む、ことを特徴とする請求項１５に記載のコンピュータ可読な記憶媒体。
【請求項１９】
前記文書からトレーニングデータを獲得する手順は、前記特定のユーザによって書かれた文書からデータを獲得する手順を含む、ことを特徴とする請求項１４に記載のコンピュータ可読な記憶媒体。
【請求項２０】
前記文書からトレーニングデータを獲得する手順は、前記特定のユーザによって開かれた文書からデータを獲得する手順を含む、ことを特徴とする請求項１４に記載のコンピュータ可読な記憶媒体。
【請求項２１】
前記方法は、大文字使用を伴う少なくとも１つのワードを含んだ大文字使用を伴うワードのシーケンスを求めて、キャピタライゼーション訂正ユニットが前記トレーニングデータをサーチする手順をさらに含む、ことを特徴とする請求項１４に記載のコンピュータ可読な記憶媒体。
【請求項２２】
大文字使用を伴うワードのシーケンスを求めて、前記トレーニングデータをサーチする前記手順は、大文字使用を伴うワードだけを持つシーケンスを求めてサーチする手順を含む、ことを特徴とする請求項２１に記載のコンピュータ可読な記憶媒体。
【請求項２３】
大文字使用を伴うワードのシーケンスを求めて、前記トレーニングデータをサーチする前記手順は、大文字使用を伴うワード、および前記トレーニングデータ中の大文字使用を伴う２ワード間にある前置詞だけを持つシーケンスを求めてサーチする手順を含む、ことを特徴とする請求項２１に記載のコンピュータ可読な記憶媒体。
【請求項２４】
前記方法は、前記キャピタライゼーション訂正ユニットが前記単一ワードを求めてサーチする手順をさらに含む、ことを特徴とする請求項２１に記載のコンピュータ可読な記憶媒体。
【請求項２５】
前記方法は、前記単一ワードの出現が、大文字使用を伴うワードのシーケンスの出現の一部を構成しない場合に限って、前記キャピタライゼーションカウンタが前記単一ワードの出現をカウントする手順をさらに含む、ことを特徴とする請求項２４に記載のコンピュータ可読な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動テキスト訂正(automatic text correction)に関する。より詳細には、本発明は、自動大文字化(automatic capitalization)に関する。
【背景技術】
【０００２】
ユーザ入力から生成されたテキストは、しばしば、大文字化誤り(capitalization error)を含むことがある。これは、音声認識システムによって生成されたテキストでは特によく起こることである。そのような認識システムは、通常、各文および一部の既知の名称の最初のワードを大文字化(capitalizing)するための簡単なルールを含むが、それらは、決まって、テキスト中の多くのワードを大文字化(capitalize)し損なう。その結果、音声認識システムでの大文字化誤り率(capitalization error rate)は約５％になる。これは、音声認識システムによって提供されるテキスト中に存在する誤りへの多大な貢献を表すものである。
【０００３】
これまで、自動大文字化システム(automatic capitalization)が開発されている。しかしながら、そうしたこれまでのシステムは理想的とは言えない。１つのそのようなシステムによれば、大規模な文書コーパスに基づいてキャピタライゼーションルール(大文字化規則：capitalization rule)が策定される。それらのシステムが大規模なコーパスを使用するのは、大規模なコーパスが可能なキャピタライゼーションフォーム(capitalization form)のより適切な適用範囲を提供し、ゆえに、より正確な大文字化システムを提供するであろうと考えられるからである。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、そのようなシステムには多くの欠陥がある。まず、大規模なコーパスが使用されるため、キャピタライゼーションルール(大文字化規則：capitalization rule)自体が非常に大きくなり、テキスト中の各ワードごとにキャピタライゼーションルールをサーチすることを非効率的にする。また、ルールが大規模なコーパスから導出されるため、それらのルールは、通常、モデルが出荷される前に一度導出され、そのモデルが出荷された後は更新されない。その結果、そのモデルは、新しいキャピタライゼーションフォーム(capitalization form)に適合しないことになる。さらに、個々のユーザは、その大規模なコーパス中の文書の未知の著者とは異なるようにワードを大文字化し得る。その結果、そのモデルは、ユーザが期待するように動作しないことがある。
【０００５】
他のシステムでは、受け入れ可能な大文字使用のリスト(list of acceptable capitalization)が言語専門家によって生成される。このリストは、大規模なコーパスよりも縮約されたものであるが、専門家の関与を必要とするため作成するのに高くつくという問題がある。
【課題を解決するための手段】
【０００６】
テキストを自動的に大文字化(automatically capitalizing text)する方法は、キャピタライゼーションモデル(capitalization model)を利用する。このキャピタライゼーションモデルは、個々のユーザに関連付けられた文書(document)から取られたデータからトレーニング(train)される。特に、電子メールなどそのユーザによって書かれた文書を用いて、上記モデルがトレーニングされる。
【発明を実施するための最良の形態】
【０００７】
図１は、本発明を実施し得る適当なコンピューティングシステム環境１００の一例を示す。コンピューティングシステム環境１００は、適当なコンピューティング環境の一例にすぎず、本発明の用途または機能の範囲についてのどんな限定を示唆するためのものでもない。また、コンピューティング環境１００は、例示的動作環境１００に示す構成要素のいずれか１つまたはそれらの組み合わせに関連するどんな依存関係または要件を有するとも解釈すべきではない。
【０００８】
本発明は、他の多数の汎用または専用コンピューティングシステム環境または構成を用いて動作する。本発明と共に使用するのに適すると考えられるよく知られているコンピューティングシステム、環境、および／または構成の例には、それだけに限らないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップコンピュータ、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、電話技術システム、上記のシステムまたは装置のいずれかを含む分散コンピューティング環境などが含まれる。
【０００９】
本発明は、コンピュータにより実行される、プログラムモジュールなどのコンピュータ実行可能命令の一般的状況で説明することができる。一般に、プログラムモジュールには、個々のタスクを実行し、または個々の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。本発明は、通信ネットワークを介してリンクされたリモート処理ユニットによりタスクが実行される分散コンピューティング環境で実施されるように設計される。分散コンピューティング環境では、プログラムモジュールは、記憶装置を含むローカルとリモート両方のコンピュータ記憶媒体に位置し得る。
【００１０】
図１を参照すると、本発明を実施する例示的システムは、コンピュータ１１０の形で汎用コンピューティングデバイスを含む。コンピュータ１１０の構成要素には、それだけに限らないが、処理ユニット１２０、システムメモリ１３０、およびシステムメモリを含む様々なシステム構成要素を処理ユニット１２０に結合するシステムバス１２１が含まれ得る。システムバス１２１は、様々なバスアーキテクチャのいずれかを使用したメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含むいくつかの種類のバス構造のいずれでもよい。例をあげると、それだけに限らないが、そのようなアーキテクチャには、産業標準アーキテクチャ（ＩＳＡ）バス、マイクロチャネルアーキテクチャ（ＭＣＡ）バス、拡張ＩＳＡ（ＥＩＳＡ）バス、ビデオ電子装置規格化協会（ＶＥＳＡ）ローカルバス、およびメザニンバスとも呼ばれる周辺装置相互接続（ＰＣＩ）バスが含まれる。
【００１１】
コンピュータ１１０は、通常、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ１１０からアクセスし得る任意の使用可能な媒体とすることができ、それには揮発性媒体と不揮発性媒体の両方、取り外し可能媒体と取り外し不能媒体の両方が含まれる。例をあげると、それだけに限らないが、コンピュータ可読媒体には、コンピュータ記憶媒体および通信媒体が含まれ得る。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュールまたはその他のデータなどの情報を記憶するための任意の方法または技術で実施された、揮発性と不揮発性両方、取り外し可能と取り外し不能両方の媒体が含まれる。コンピュータ記憶媒体には、それだけに限らないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリなどのメモリ技術、ＣＤ−ＲＯＭ、ディジタル多用途ディスク（ＤＶＤ）などの光ディスク記憶、磁気カセット、磁気テープ、磁気ディスク記憶などの磁気記憶装置、あるいは所望の情報の記憶に使用でき、コンピュータ１１０からアクセスし得る他の任意の媒体が含まれる。通信媒体は、通常、コンピュータ可読命令、データ構造、プログラムモジュールまたはその他のデータを、搬送波または他の搬送機構などの変調データ信号として実施し、任意の情報配信媒体を含む。「被変調データ信号(modulated data signal)」という用語は、その特性の１つまたは複数が、その信号に情報を符号化するような方式で設定または変更されている信号を意味する。例をあげると、それだけに限らないが、通信媒体には、有線ネットワークや直接配線接続などの有線媒体、および音響、ＲＦ、赤外線、その他の無線媒体などの無線媒体が含まれる。上記のいずれかの組み合わせも、コンピュータ可読媒体の範囲内に含むべきである。
【００１２】
システムメモリ１３０は、読取り専用メモリ（ＲＯＭ）１３１やランダムアクセスメモリ（ＲＡＭ）１３２などの揮発性および／または不揮発性メモリの形でコンピュータ記憶媒体を含む。始動時などに、コンピュータ１１０内の要素間の情報転送を支援する基本ルーチンを含む基本入出力システム（ＢＩＯＳ）１３３は、通常、ＲＯＭ１３１に記憶される。ＲＡＭ１３２は、通常、処理ユニット１２０から直ちにアクセス可能であり、かつ／またはそれによって現在処理されているデータおよび／またはプログラムモジュールを含む。例として、それだけに限らないが、図１に、オペレーティングシステム１３４、アプリケーションプログラム１３５、その他のプログラムモジュール１３６、およびプログラムデータ１３７を示す。
【００１３】
コンピュータ１１０は、他の取り外し可能／取り外し不能、揮発性／不揮発性コンピュータ記憶媒体も含み得る。例にすぎないが、図１に、取り外し不能、不揮発性磁気媒体との間で読取りまたは書込みを行うハードディスクドライブ１４１、取り外し可能、不揮発性磁気ディスク１５２との間で読取りまたは書込みを行う磁気ディスクドライブ１５１、およびＣＤ−ＲＯＭまたは他の光媒体などの取り外し可能、不揮発性光ディスク１５６との間で読取りまたは書込みを行う光ディスクドライブ１５５を示す。例示的動作環境で使用され得る他の取り外し可能／取り外し不能、揮発性／不揮発性のコンピュータ記憶媒体には、それだけに限らないが、磁気テープカセット、フラッシュメモリカード、ディジタル多用途ディスク、ディジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭなどが含まれる。ハードディスクドライブ１４１は、通常、インターフェイス１４０などの取り外し不能メモリインターフェイスを介してシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は、通常、インターフェイス１５０などの取り外し可能メモリインターフェイスによってシステムバス１２１に接続される。
【００１４】
前述の、図１に示す各ドライブおよびそれに関連するコンピュータ記憶媒体は、コンピュータ１１０のためのコンピュータ可読命令、データ構造、プログラムモジュールおよびその他のデータの記憶を提供する。図１では、例えば、ハードディスクドライブ１４１は、オペレーティングシステム１４４、アプリケーションプログラム１４５、その他のプログラムモジュール１４６、およびプログラムデータ１４７を格納するものとして示されている。これらのコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、その他のプログラムモジュール１３６、およびプログラムデータ１３７と同じでも、異なっていてもよいことに留意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、その他のプログラムモジュール１４６、およびプログラムデータ１４７には、少なくともそれらが異なるコピーであることを示すために、図では異なる番号を付してある。
【００１５】
ユーザは、キーボード１６２や、マイクロホン１６３や、マウス、トラックボール、タッチパッドといったポインティングデバイス１６１などの入力装置を介してコンピュータ１１０にコマンドおよび情報を入力することができる。他の入力装置（図示せず）には、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、スキャナなどが含まれ得る。上記その他の入力装置は、しばしば、システムバス１２１に結合されたユーザ入力インターフェイス１６０を介して処理ユニット１２０に接続されるが、パラレルポート、ゲームポート、ユニバーサルシリアルバス（ＵＳＢ）といった他のインターフェイスおよびバス構造によって接続することもできる。システムバス１２１には、ビデオインターフェイス１９０などのインターフェイスを介して、モニタ１９１または他の種類の表示装置も接続される。モニタ１９１以外に、コンピュータは、スピーカ１９７やプリンタ１９６など他の周辺出力装置を含むこともでき、それらは、出力周辺インターフェイス１９５を介して接続され得る。
【００１６】
コンピュータ１１０は、リモートコンピュータ１８０など、１つまたは複数のリモートコンピュータへの論理接続を使用したネットワーク化環境で動作し得る。リモートコンピュータ１８０は、パーソナルコンピュータ、ハンドヘルド機器、サーバ、ルータ、ネットワークＰＣ、ピアデバイスなどの一般的ネットワークノードとすることができ、通常は、コンピュータ１１０に関連して前述した要素の多くまたはすべてを含む。図１に示す論理接続には、ローカルエリアネットワーク（ＬＡＮ）１７１および広域ネットワーク（ＷＡＮ）１７３が含まれるが、他のネットワークも含まれ得る。そのようなネットワーク環境は、オフィス、企業規模のコンピュータネットワーク、イントラネットおよびインターネットではよく見られるものである。
【００１７】
ＬＡＮネットワーク環境で使用されるとき、コンピュータ１１０はネットワークインターフェイスまたはアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーク環境で使用されるとき、コンピュータ１１０は、通常、モデム１７２またはインターネットなどのＷＡＮ１７３を介して通信を確立する他の手段を含む。モデム１７２は、内蔵でも外付けでもよく、ユーザ入力インターフェイス１６０または他の適当な機構を介してシステムバス１２１に接続することができる。ネットワーク化環境では、コンピュータ１１０に関連して示すプログラムモジュール、またはその一部は、リモート記憶装置にも格納し得る。例として、それだけに限らないが、図１に、リモートコンピュータ１８０上にあるものとしてリモートアプリケーションプログラム１８５を示す。図示のネットワーク接続は例示的なものであり、コンピュータ間で通信を確立する他の手段も使用され得ることが理解されるであろう。
【００１８】
図２は、例示的コンピューティング環境であるモバイル機器２００を示すブロック図である。モバイル機器２００は、マイクロプロセッサ２０２、メモリ２０４、入出力（Ｉ／Ｏ）コンポーネント２０６、およびリモートコンピュータまたは他のモバイル機器と通信するための通信インターフェイス２０８を含む。一実施形態では、前述の構成要素は、相互の通信のために適当なバス２１０を介して結合される。
【００１９】
メモリ２０４は、モバイル機器２００への全体電源が停止されたときにメモリ２０４に記憶された情報が失われないように、バッテリバックアップモジュール（図示せず）を備えるランダムアクセスメモリ（ＲＡＭ）などの不揮発性電子メモリとして実施される。メモリ２０４の一部は、好ましくは、プログラム実行のためのアドレス指定可能メモリとして割り振られ、メモリ２０４の別の部分は、好ましくは、ディスクドライブ上の記憶をシミュレートするなどの記憶のために使用される。
【００２０】
メモリ２０４は、オペレーティングシステム２１２、アプリケーションプログラム２１４ならびにオブジェクトストア２１６を含む。動作中、オペレーティングシステム２１２は、好ましくは、メモリ２０４からプロセッサ２０２によって実行される。オペレーティングシステム２１２は、好ましい一実施形態では、マイクロソフト社から市販されているＷＩＮＤＯＷＳ（登録商標）ＣＥブランドのオペレーティングシステムである。オペレーティングシステム２１２は、好ましくは、モバイル機器用に設計され、１組の公開されたアプリケーションプログラミングのインターフェイスおよび方法を介してアプリケーション２１４によって利用され得るデータベース機能を実施する。オブジェクトストア２１６中のオブジェクトは、少なくとも一部は公開されたアプリケーションプログラミングのインターフェイスおよび方法への呼び出しに応答して、アプリケーション２１４およびオペレーティングシステム２１２によって維持される。
【００２１】
通信インターフェイス２０８は、モバイル機器２００が情報を送受信できるようにする多数の装置および技術を表す。これらの装置には、いくつか例をあげると、有線および無線モデム、衛星受信機、放送チューナなどが含まれる。モバイル機器２００は、コンピュータに直接接続してデータをやりとりすることもできる。そのような場合、通信インターフェイス２０８は、赤外線送受信機あるいはシリアル／パラレル通信接続とすることができ、そのすべてがストリーミング情報を送信し得る。
【００２２】
入出力コンポーネント２０６には、タッチスクリーン、ボタン、ローラ、マイクロホンなど様々な入力装置、および音声発生器、振動装置、ディスプレイを含む様々な出力装置が含まれる。上記の装置は例としてあげたものであり、すべてがモバイル機器２００上にある必要はない。また、本発明の範囲内で、他の入出力装置をモバイル機器２００に接続し、またはこれと一緒に使用することもできる。
【００２３】
本発明によれば、特定のユーザのために、そのユーザによって書かれ、またはそのユーザに関連付けられた文書を利用することによって、キャピタライゼーションモデルが構築される。大文字化トレーニングデータを、そのユーザによって書かれ、またはそのユーザに関連付けられた文書に限定することによって、キャピタライゼーションモデルのサイズが縮小される一方で、キャピタライゼーションモデルが、その特定のユーザにとってより正確なものになる。特に、ユーザのデータから構築されるキャピタライゼーションモデルは、ユーザが使用することを望むキャピタライゼーションフォームを含み、ユーザが許容可能であると認めないキャピタライゼーションフォームを含まない。ゆえに、トレーニングデータを、そのユーザに関連付けられ、またはそのユーザによって書かれたデータのみに縮小することにより、本発明のキャピタライゼーションモデルは、より効率的で、より正確なものになる。
【００２４】
図３および図４は、それぞれ、本発明の実施形態によるキャピタライゼーションモデルの構成および使用を示すブロック図および流れ図を提示する。
【００２５】
図４のステップ４００において、図３のモデルアップデートユニット３０１のハーベスタ(harvester)３００は、ユーザに関連付けられた、アプリケーション文書３０２や電子メール３０４などの文書を獲得する。一実施形態によれば、ハーベスタ３００は周期的に実行され、ハーベスタが最後に実行されたときに存在しなかった文書だけを取り出す。
【００２６】
一実施形態では、ハーベスタ３００は、ユーザによって書かれた文書だけを獲得する。それには、ユーザによって書かれた文書、およびユーザによって転送され、または返信された電子メールを含むユーザによって送信された電子メールが含まれる。そのため、ユーザがその電子メールを転送し、またはそれに返信した場合は、誰か他の人によって書かれた電子メールがそのユーザによるものとされ得る。他の実施形態では、ユーザによって開かれた任意の文書が、そのユーザによって書かれたものであるか否かを問わず、ハーベスタ３００によって獲得される。別の実施形態では、ネットワーク上ではなくユーザのローカルマシン上に記憶された文書がハーベスタ３００によって獲得される。別の実施形態では、大文字化トレーニング(capitalization training)用の文書を探し出す(locate)ために、ユーザに関連付けられたネットワーク上に位置するディレクトリもハーベスタ３００によってサーチされる。
【００２７】
図４のステップ４０２において、大文字使用カウンタ３０６は、ハーベスタ３００によって獲得されたテキストに基づき、キャピタライゼーションフォームの出現カウントを更新する。これは、好ましくは、段落ごとに行われる。カウントには、大文字使用語の割合が高くない段落だけが使用される。この更新ステップの間、カウンタ３０６は、１つのテキストセグメントの大文字と小文字の各一意の組み合わせを別個のキャピタライゼーションフォームとして扱う。ゆえに、「Ｓｔａｔｅ  Ｄｅｐａｒｔｍｅｎｔ」と「ＳＴＡＴＥ  ＤＥＰＡＲＴＭＥＮＴ」は、テキストセグメント「ｓｔａｔｅ  ｄｅｐａｒｔｍｅｎｔ」の２つの異なるキャピタライゼーションフォームを表す。テキストセグメントは、シングルワード(single word)を含むことも、この例に示すようにワードのシーケンスを含むことできる。また、セグメントは、１ワード(one word)や２ワード(two word)など特定の長さのセット(set of specific length)に限定(limit)することもでき、その長さを全く限定しないこともできる。
【００２８】
獲得した文書(harvested document)中の各テキストセグメント(text segment)ごとに、キャピタライゼーションカウンタ(capitalization counter)３０６は、そのセグメントが出現リスト(occurrence list)３０８に出現するかどうか判定する。そのセグメントが出現リスト３０８に出現せず、大文字も含まない場合、それは無視される。そのセグメントが出現リスト３０８に出現せず、単にそのセグメント中のワードの１つが文頭にあるだけのために大文字使用を含む場合、そのセグメントはやはり無視される。そのセグメントが出現リスト３０８に出現し、かつ／またはそのセグメントが大文字使用を含む場合、そのセグメントのキャピタライゼーションフォームのカウントが出現リスト３０８で増分される。
【００２９】
一実施形態によれば、出現リスト３０８は、小文字使用形で書かれた各セグメントごとの主エントリ(primary entry)と、そのセグメントの各キャピタライゼーションフォームごとのサブエントリ(sub-entry)からなる。例えば、出現リスト３０８は、
<segment, total_occurrences>
<cap_form1, occurrence_1>
<cap_form2, occurrence_2>
・
<cap_formn, occurrence_n>
のフォーマットを持つことができ、その場合、主エントリは、すべて小文字で書かれたその「セグメント」と、そのセグメントのキャピタライゼーションフォームにかかわらず、その文書中にそのセグメントが出現する合計回数を示す合計出現値からなる。各サブエントリは、「ｃａｐ＿ｆｏｒｍ１」、「ｃａｐ＿ｆｏｒｍ２」、「ｃａｐ＿ｆｏｒｍｎ」などの特定のキャピタライゼーションフォームと、その文書中で各キャピタライゼーションフォームが見つかった回数を提供する「ｏｃｃｕｒｒｅｎｃｅ＿１」、「ｏｃｃｕｒｒｅｎｃｅ＿２」、「ｏｃｃｕｒｒｅｎｃｅ＿ｎ」などのカウントからなる。例えば、「ｓｔａｔｅ」というワードが、「ｓｔａｔｅ」として１回、「Ｓｔａｔｅ」として２回、「ＳＴＡＴＥ」として４回出現した場合、その主エントリは、「ｓｔａｔｅ」という形を合計出現値(total _ occurrences value)７と共に含み、サブエントリの一方は、出現値(occurrence value)２を持つ「Ｓｔａｔｅ」のものになり、サブエントリのもう一方は出現値４を持つ「ＳＴＡＴＥ」のものになるはずである。
【００３０】
キャピタライゼーションカウンタ３０６が、あるセグメントの新しいキャピタライゼーションフォームに遭遇すると、そのセグメントの主エントリがすでに出現リスト３０８に存在していた場合には、そのキャピタライゼーションフォームの新しいサブエントリが加えられ、主エントリの合計出現カウントが１増分される。そのセグメントが出現リスト３０８に存在していなかった場合には、そのセグメントの主エントリが、そのトレーニングデータ中で遭遇した特定のキャピタライゼーションフォームのサブエントリと一緒に出現リスト３０８に加えられる。出現リスト３０８に存在するキャピタライゼーションフォームに遭遇した場合、そのセグメントの合計出現カウントが１増分され、その特定のキャピタライゼーションフォームの出現カウントが１増分される。
【００３１】
文書中であるセグメントの小文字使用例に遭遇し、そのセグメントが出現リスト３０８に存在する場合には、そのワードのキャピタライゼーションフォームのいずれも増分せずに、そのセグメントの主エントリの合計出現カウントが１増分される。トレーニングデータ中であるセグメントの小文字使用例に遭遇しても、そのセグメントの主エントリがない場合は、そのセグメントは無視されることに留意されたい。
【００３２】
ある特定の実施形態によれば、セグメント(segments)は、ワード対(word pairs)とシングルワード(single words)からなる。一実施形態によれば、ワード対は、そのワード対の両方のワードが何らかのキャピタライゼーションフォームを含むとき、またはそのワード対の一方のワードが何らかのキャピタライゼーションフォームを含み、そのワード対の第２のワードが、そのワード対の大文字使用語を別の大文字使用語に接続するワード前置詞からなるときに記憶される。例えば、「Ｕｎｉｖｅｒｓｉｔｙ  ｏｆ  Ｗａｓｈｉｎｇｔｏｎ」という語句では、１つのワード対は「Ｕｎｉｖｅｒｓｉｔｙ  ｏｆ」として形成され、第２のワード対は「ｏｆ  Ｗａｓｈｉｎｇｔｏｎ」として形成される。これらのワード対のそれぞれは、出現リスト３０８に別個の主エントリ下のサブエントリとして入れられるはずである。他の実施形態では、少なくとも１つの大文字を含む任意のワードのシーケンスが、出現リスト３０８に別個のエントリとして記憶され得る。そのようなシステムは、多数の一意の文字列を記憶することが必要になるため、大量のメモリを必要とする。
【００３３】
一実施形態によれば、ある文書中の２ワードについてワード対が記憶され得る場合、そのワード対における大文字化ワード(capitalized word)のためのシングルワードエントリ(single word entry)は作成されない。例えば、文書中に「Ｕｎｉｖｅｒｓｉｔｙ  ｏｆ」が含まれる場合、出現リスト３０８にシングルワード対エントリ(single word pair entry)「Ｕｎｉｖｅｒｓｉｔｙ  ｏｆ」が入れられ、またはそれが更新される。しかしながら、出現リスト３０８で、「Ｕｎｉｖｅｒｓｉｔｙ」単独でのエントリは更新されない。
【００３４】
本発明のいくつかの実施形態によれば、キャピタライゼーションカウンタ３０６は、ユーザとそのセグメントが出現する文書の関係に応じて各出現に異なる重みを適用する。ある特定の実施形態では、文書がユーザによって書かれたものである場合、出現カウントに重み(weight)１が適用され、文書がユーザによって書かれたものではなく、そのユーザに関連付けられたものである場合、その出現カウントに、０．５または０．１といったより低い重み(lower weight)が適用される。
【００３５】
ステップ４０２において出現カウント(occurrence count)が更新された後、ルールビルダ(rule builder)３０７は、出現リスト３０８中の各セグメントごとに最も可能性の高いキャピタライゼーションフォームを選択する。一実施形態では、これは、最大出現カウントを持つキャピタライゼーションフォームを選択することによってなされる。この選択プロセスの間、そのセグメントの小文字使用形(lower case form)は、そのセグメントの１つの可能なキャピタライゼーションフォームであるとみなされる。セグメントの小文字使用形のカウントは、そのセグメントの合計出現カウントからその小文字使用形以外のキャピタライゼーションフォームすべての出現カウントの和を差し引くことにより導出される。結果として生じる差が様々なキャピタライゼーションフォームの出現カウントすべてより大きい場合、そのワードの小文字使用形が最も可能性の高いキャピタライゼーションフォームとして選択される。
【００３６】
ステップ４０４において各セグメントの最も可能性の高いキャピタライゼーションフォームが選択された後、ステップ４０５において、ルールビルダ３０７が１組のキャピタライゼーションルール(capitalization rule)３０９を構築する。次いで、ステップ４０６において、プルーニング（枝刈り:pruning）要素３１０がいくつかのキャピタライゼーションルールを除去する。具体的には、ステップ４０４の後、ある大文字使用語のより一般的なルールが存在する場合、その相対的に特殊なルールが除去される。例えば、「Ｍｉｃｒｏｓｏｆｔ」が存在する場合、より特殊なエントリ「ｆｒｏｍ  Ｍｉｃｒｏｓｏｆｔ」は除去される。同様に、「Ｍｉｃｒｏｓｏｆｔ」と「Ｏｆｆｉｃｅ」が両方とも存在する場合、「Ｍｉｃｒｏｓｏｆｔ  Ｏｆｆｉｃｅ」でのエントリは除去される。より大きなセグメントを除去するために、ワードのシーケンス中の大文字使用を伴うワードすべてがより小さいセグメントとして存在する必要があることに留意されたい。例えば、前述の例で「Ｏｆｆｉｃｅ」が存在しなかった場合、「Ｍｉｃｒｏｓｏｆｔ  Ｏｆｆｉｃｅ」のエントリは、リストに「Ｍｉｃｒｏｓｏｆｔ」があっても除去されない。
【００３７】
エントリを除去(pruning)した後、プルーニング（枝刈り）要素３１０は、残りのルールをソートして効率のよいサーチを可能にする。シングルワードおよびワード対エントリを許容する実施形態では、エントリは１ワードグループ(one-word group)と２ワードグループ(two-word group)に分けられる。各グループ中のエントリには、そのエントリが表すセグメントでの適正なキャピタライゼーションフォームだけが含まれることに留意されたい。
【００３８】
より長いワードのシーケンスを許容する実施形態では、選択されたキャピタライゼーションフォームは、それらのワードのシーケンス中の第１のワードに従ってグループ化される。一実施形態によれば、これらのキャピタライゼーションフォームは、以下の構造として記憶される。
<word, maxlength>
<word, 1>
<word word2, 2>
<word word2B word3, 3>
・
・
・
<word...wordN, maxlength>
上記において、トップエントリ(top entry)は、このワードで始まるすべてのワードのシーケンスの索引(index)であるワードを含み、ｍａｘｌｅｎｇｔｈは、その索引下に記憶された最長のワードのシーケンスに含まれるワード数である。トップエントリの下には、それぞれ、ワードのシーケンスの後にそのシーケンス中のワード数を示す数がくる一連のサブエントリがある。索引エントリ(index entry)の下には同じ長さで異なるワードのシーケンスを持つ複数のエントリが含まれる。上記の例では、副ワードエントリの１つは、「ｗｏｒｄ  ｗｏｒｄ２」というワードのシーケンスであり、そのシーケンスの長さは「２」であると示されている。
【００３９】
ステップ４０８において形成されたソート済みルールは、ステップ４１０においてキャピタライゼーション訂正(capitalization correction)ユニット３１６によってテキスト３１４に適用されるキャピタライゼーションモデル(capitalization model)３１２として配置される。詳細には、キャピタライゼーション訂正ユニット３１６は、テキスト３１４に含まれるワードの適正なキャピタライゼーションフォームを求めてキャピタライゼーションモデル３１２をサーチし、次いで、テキスト３１４中のワードを見つかったキャピタライゼーションフォームで置換して大文字使用を伴うテキスト３１８を作成する。キャピタライゼーションフォームをサーチする方法は、一部は、そのキャピタライゼーションフォームがキャピタライゼーションモデル３１２にどのようにして記憶されたかによって決まる。図５および６の流れ図において、キャピタライゼーションフォームをサーチする２つの別個の方法について説明する。
【００４０】
図５の方法は、キャピタライゼーションモデルが、シングルワード(single woes)用と２ワード対(two-word pairs)用の２つの別個のリストとして記憶されているときに用いられる。図５のプロセスはステップ５００から始まり、ステップ５０２に進み、テキスト３１４中の現在のテキスト文字列(text string)が調べられ、それが１ワードだけを含むか否かが判定される。テキスト文字列が複数のワードを含む場合、プロセスはステップ５０４に進み、テキスト３１４中の次の２ワードが選択される。ステップ５０６において、選択されたワードを求めてキャピタライゼーションモデルの２ワードリストがサーチされ、２ワードリストにマッチングしているか否かが判定される。２ワードリストはキャピタライゼーションフォームのワード対を含み、テキスト３１４から選択された２語は大文字化されないこともあるので、このサーチは、大文字と小文字を区別しない比較(case insensitive comparison)を用いて実行される。
【００４１】
ステップ５０８において、選択された２ワードのマッチングが２ワードリスト中で見つかった場合、ステップ５１０において、２ワードリストからのマッチングしているキャピタライゼーションフォームが、テキスト３１４にあったテキストの代わりに大文字化テキスト３１８で使用される。
【００４２】
テキスト３１８にキャピタライゼーションフォームが入れられた後、ステップ５１２において、サーチポインタがテキスト３１４中の次のワードに進められる。次いで、ステップ５１４において、プロセスは、現在のサーチポインタの後に次のワードがあるか否か判定する。次のワードがない場合、ステップ５１６において、プロセスが終了する。次のワードがある場合、プロセスはステップ５０２に戻り、残りが１ワードだけであるか否か調べる。複数のワードがある場合、ステップ５０４、５０６、５０８が繰り返される。
【００４３】
ステップ５０８において、入力テキスト３１４中の選択された２ワード対(two-word pair)のマッチングが見つからなかった場合、ステップ５１８において、その対の後のワード(last word)が除去(drop)される。これにより、ステップ５２０で１ワードリスト(one-word list)をサーチするのに使用されるシングルサーチワード(single search word)が生じる。同様に、ステップ５０２で入力テキスト３１４の現在の文に１ワードだけしか残されていない場合、ステップ５２０において、そのシングルワードを用い、マッチングを求めて１ワードリストがサーチされる。
【００４４】
ステップ５２２においてシングルワードのマッチングが見つかった場合、ステップ５１０において、マッチングしているキャピタライゼーションフォームが、テキスト３１８中のそのシングルワードの代わりに使用される。ステップ５１２において、サーチポインタ(search pointer)が、その１ワードリストエントリにマッチングしているシングルワードの後のポイントに進められる。
【００４５】
ステップ５２２においてそのシングルワードのマッチングが見つからなかった場合、ステップ５１２において、サーチポインタがそのシングルワードの後のポイントに進められ、テキスト３１４からのそのシングルワードのフォームがテキスト３１８に入れられる。次いで、プロセスはステップ５１４に進み、入力テキスト中に次のワードがあるか否かを判定する。
【００４６】
図６は、キャピタライゼーションモデルが各ワード文字列(word string)の第１のワードで索引付け(index)されるワード文字列エントリとして記憶されるときの、キャピタライゼーションモデルを適用する流れ図を示す。図６のステップ６００において、テキスト３１４からワードが選択される。ステップ６０２において、選択されたワードを求めてキャピタライゼーションモデルがサーチされる。詳細には、そのワードが、トップエントリと、そのトップエントリ中のワードを先頭とする、各ワード文字列ごとに１つずつの１組のサブエントリとからなる索引構造(index structure)のトップエントリとして含まれるか否かを判定するために、サーチが実行される。一実施形態によれば、各索引構造のトップエントリは、そのトップエントリの下にサブエントリとして含まれる最長の文字列の長さも含む。
【００４７】
ステップ６０４においてトップエントリが見つからなかった場合、ステップ６０５でサーチポインタを１ワードだけ進め、次いで、ステップ６０６において、プロセスは、入力テキスト３１４に次のワードがあるか否かを判定する。次のワードがある場合、プロセスはステップ６００に戻り、ステップ６００、６０２、６０４が繰り返される。
【００４８】
ステップ６０４において、選択されたワードがトップエントリとマッチングすると、ステップ６０７において、そのトップエントリに関連付けられた最大長が取り出される。ステップ６０８において、その最大長を用いて、テキスト３１４から次のワード文字列が選択される。この文字列が最初に選択されたワードに付加されてサーチ文字列(search string)が形成される。例えば、そのエントリのｍａｘｌｅｎｇｔｈが３である場合、テキスト３１４中の次の２ワードが選択され、前に選択されたワードに付加されてサーチ文字列が形成される。
【００４９】
ステップ６１０において、サーチ文字列の長さと同じ長さを持つマッチングしているトップエントリ(the matching top entry)下のサブエントリで、選択された文字列を求めるサーチが実行される。ステップ６１２でマッチングが見つからなかった場合、ステップ６１３で、サーチ文字列中の最後のワードが除去される。次いで、ステップ６１５において、新しいサーチ文字列が検査(examine)され、それがワードを含むか否かが判定される。サーチ文字列がワードを含まない場合、ステップ６２０でプロセスが終了する。サーチ文字列が少なくとも１つのワードを含む場合、ステップ６１０において、より短い文字列を求める新しいサーチが実行される。ゆえに、ステップ６１０、６１２、６１３、６１５は、サーチ文字列が十分に短くなってステップ６１２でマッチングが見つかるまで、あるいはサーチ文字列にそれ以上ワードがなくなるまで繰り返される。
【００５０】
ステップ６１２でマッチングが見つかった後、ステップ６１４において、大文字化テキスト(capitalized text)３１８中のそのサーチ文字列の代わりに、キャピタライゼーションモデル３１２中のマッチングしている文字列(the matching top entry)が使用される。その文字列のキャピタライゼーションフォームが大文字化テキスト(capitalized text)３１８に入れられた後、ステップ６１６において、サーチポインタが、テキスト３１４中のマッチングした文字列(the matched string)の末尾に進められる。次いで、プロセスは、ステップ６０６に戻ってテキスト３１４に次のワードがあるか否かを判定する。次のワードがない場合、ステップ６２０においてプロセスが終了する。
【００５１】
キャピタライゼーションモデル３１２を形成するのに使用されるトレーニングデータを、ユーザによって書かれ、またはユーザに直接関連付けられた文書に限定することにより、本発明は、キャピタライゼーションモデル３１２のサイズを縮小し、キャピタライゼーションモデル３１２をより正確なものにする。また、モデルをユーザデータに基づいて周期的に更新できるようにすることにより、そのモデルは、そのユーザによって採用された新しいキャピタライゼーションフォームを知ることもできる。
【００５２】
以上、本発明を特定の実施形態を参照して説明してきたが、本発明の精神および範囲を逸脱することなく形式および内容の変更が加えられ得ることを当分野の技術者は理解するであろう。
【図面の簡単な説明】
【００５３】
【図１】本発明を実施するための例示的環境を示すブロック図である。
【図２】本発明を実施するために使用可能なモバイル機器を示すブロック図である。
【図３】本発明の一実施形態によるキャピタライゼーションモデルの構築および使用について説明したブロック図である。
【図４】本発明の一実施形態によるキャピタライゼーションモデルの構築および使用について示した流れ図である。
【図５】本発明の一実施形態によるキャピタライゼーションモデルの構築および使用について示した流れ図である。
【図６】本発明の他の実施形態によるキャピタライゼーションモデルについて示した流れ図である。
【符号の説明】
【００５４】
１２０  処理ユニット
１３０  システムメモリ
１３４、１４４  オペレーティングシステム
１３５、１４５  アプリケーションプログラム
１３６、１４６  その他のプログラムモジュール
１３７、１４７  プログラムデータ
１４０  取り外し不能不揮発性メモリインターフェイス
１５０  取り外し可能不揮発性メモリインターフェイス
１６０  ユーザ入力インターフェイス
１６１  ポインティングデバイス
１６２  キーボード
１６３  マイクロホン
１７０  ネットワークインターフェイス
１７１  ローカルエリアネットワーク
１７２  モデム
１７３  広域ネットワーク
１８０  リモートコンピュータ
１８５  リモートアプリケーションプログラム
１９０  ビデオインターフェイス
１９１  モニタ
１９５  出力周辺インターフェイス
１９６  プリンタ
１９７  スピーカ
２０２  プロセッサ
２００  メモリ
２０８  通信インターフェイス
２１４  アプリケーション
２１６  オブジェクトストア
３００  ハーベスタ
３０１  モデルアップデート
３０２  アプリケーション文書
３０４  電子メール
３０６  キャピタライゼーションカウンタ
３０７  ルールビルダ
３０８  出現リスト
３０９  キャピタライゼーションルール
３１０  プルーニング（枝刈り）
３１２  キャピタライゼーションモデル
３１４  入力テキスト
３１６  キャピタライゼーション訂正
３１８  キャピタライゼーションを伴うテキスト
【図１】
0004672418.tif 000002
【図２】
0004672418.tif 000003
【図３】
0004672418.tif 000004
【図４】
0004672418.tif 000005
【図５】
0004672418.tif 000006
【図６】
0004672418.tif 000007