(57)【特許請求の範囲】
【請求項１】
コンピュータを言語処理システムとして機能させるコンピュータ実行可能命令を記録するコンピュータ読み取り可能な記録媒体であって、
前記言語処理システムは、テキストアナライザを有し、
前記テキストアナライザは、１つまたは複数の単語からなるテキスト列の形で入力テキストを受け取り、前記コンピュータ読み取り可能な記録媒体に記録されたレキシコンにアクセスすることによって前記入力テキストを解析するとともに、前記レキシコンにアクセスすることによって得られる単語情報にしたがって、１つまたは複数の単語からなるテキスト列の形で出力を生成するように構成され、
前記レキシコンに格納されている前記単語情報は、複数のエントリを含み、
各エントリは、前記レキシコンに入力される単語に対応するとともに、
入力単語に関するスペル情報を含む第１のフィールドと、
前記入力単語と関連する品詞情報を含む第２のフィールドと、
前記入力単語と関連する見出し語デルタ情報を含む第３のフィールドと
を含み、
前記見出し語デルタ情報は、前記入力単語と関連する変形情報を含み、前記変形情報は、オペレーションコードと引数値を含み、前記オペレーションコードは、前記入力単語を第２の単語に変換するために前記引数値に基づいて前記入力単語に対して実行するオペレーションを示すことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項２】
前記スペル情報は、前記入力単語に対応する識別値を含むことを特徴とする請求項１に記載のコンピュータ読み取り可能な記録媒体。
【請求項３】
前記第１のフィールドは、前記入力単語と関連する動的セグメンテーション情報をさらに含むことを特徴とする請求項１に記載のコンピュータ読み取り可能な記録媒体。
【請求項４】
前記動的セグメンテーション情報は、前記入力単語が、選択された言語における有効な複合語を認識するために、少なくとも２つの別個の単語のエントリにマッピングされることができるかどうか判定するための情報を含むことを特徴とする請求項３に記載のコンピュータ読み取り可能な記録媒体。
【請求項５】
前記第１のフィールドは、最大４バイトの記憶空間を含むことを特徴とする請求項３に記載のコンピュータ読み取り可能な記録媒体。
【請求項６】
前記品詞情報は、前記入力単語と関連する複数の品詞を含むことを特徴とする請求項１に記載のコンピュータ読み取り可能な記録媒体。
【請求項７】
前記品詞情報は、最大４つの品詞を含み、各品詞は、最大１バイトの記憶空間を占有することを特徴とする請求項６に記載のコンピュータ読み取り可能な記録媒体。
【請求項８】
前記言語処理システムからアクセス可能な中間索引テーブルをさらに備え、前記中間索引テーブルは、前記入力単語と関連する前記品詞のそれぞれに関する確率情報を含むことを特徴とする請求項６に記載のコンピュータ読み取り可能な記録媒体。
【請求項９】
前記第２の単語は、前記入力単語に対応する見出し語であることを特徴とする請求項１に記載のコンピュータ読み取り可能な記録媒体。
【請求項１０】
前記変形情報は、最大４つのオペレーションコードおよびそれに対応する引数値を含むことを特徴とする請求項１に記載のコンピュータ読み取り可能な記録媒体。
【請求項１１】
コンピュータを言語処理システムとして機能させるコンピュータ実行可能命令を記録するコンピュータ読み取り可能な記録媒体であって、
前記言語処理システムは、テキストアナライザを有し、
前記テキストアナライザは、１つまたは複数の単語からなるテキスト列の形で入力テキストを受け取り、前記コンピュータ読み取り可能な記録媒体に記録されたレキシコンにアクセスすることによって前記入力テキストを解析するとともに、前記レキシコンにアクセスすることによって得られる単語情報にしたがって、１つまたは複数の単語からなるテキスト列の形で出力を生成するように構成され、
前記レキシコンに格納されている前記単語情報は入力単語に関する情報を含み、
入力単語毎に、それに対応する単語情報がデータフィールドに格納され、
前記データフィールドは、
前記入力単語に関連するスペルおよび動的セグメンテーションフィールドと、
前記入力単語に関連する品詞フィールドと、
前記入力単語に関連する見出し語デルタフィールドと、
前記入力単語に関する記述フィールドと、
前記入力単語に関する静的セグメンテーションマスクフィールドと
を含み、
前記見出し語デルタフィールドは、見出し語デルタ情報を含み、
前記見出し語デルタ情報は、前記入力単語と関連する変形情報を含み、前記変形情報は、オペレーションコードと引数値を含み、前記オペレーションコードは、前記入力単語を第２の単語に変換するために前記引数値に基づいて前記入力単語に対して実行するオペレーションを示すことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１２】
各フィールドは、最大４バイトの記憶空間を占有することを特徴とする請求項１１に記載のコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自然言語処理またはテキスト処理に関する。より詳細には、本発明は、レキシコン（ｌｅｘｉｃｏｎ）を格納する改良データ構造、および改良データ構造を構成し使用する方法に関する。
【背景技術】
【０００２】
自然言語処理またはテキスト処理は、多くの種類のシステムまたはアプリケーションを包含する。すなわち、サーチエンジンなどのための単語の分割、文法チェックおよびスペルチェック、手書き文字認識および音声認識、機械翻訳、テキストマイニングなどである。多くの自然言語処理システムおよびアプリケーションの、共通かつ重要なコンポーネントは、１つまたは複数のレキシコンである。
【０００３】
概して、レキシコンは、異なる種別に分類される単語についての情報を含むデータ構造である。単語種別は、基本形または「見出し語」、変化形、および派生形を含む。見出し語は概して、単語の最も単純な形、たとえば「ｊｕｍｐ」を含み、この形に対して、他の種別の単語が語尾変化され、または派生される。見出し語は完全な単語であるが、語幹は必ずしも完全な単語ではない点で、見出し語は語幹とは異なる。
【０００４】
変化形は、単語、一般に見出し語の代替形または語尾が変化した形であり、（接頭辞または接尾辞などの）接辞を追加し、または数、人称、法、もしくは時制など文法的な特徴を反映する。したがって、「ｊｕｍｐｓ」、「ｊｕｍｐｉｎｇ」、および「ｊｕｍｐｅｄ」などは、見出し語「ｊｕｍｐ」の変化形である。派生形は、派生によって別の単語から形成される単語である。したがって、「ｅｌｅｃｔｒｉｃｉｔｙ」は、「ｅｌｅｃｔｒｉｃ」の派生形である。
【０００５】
レキシコンは、構文情報および意味情報を含むこともできる。構文情報は、単語がそれによって文法的に正しい句または文に組み合わされる構文規則に関する。したがって、単語に関する構文情報は、単語が名詞、動詞、形容詞などであるかを含むことができ、その単語と、同じ文中の１つまたは複数の他の単語との関係、たとえば主語−動詞や動詞−目的語の関係を含むことができる。対照的に、意味情報は意味を伝える。単語の意味は、定義、性、数、および、単語が名前付きエンティティ、たとえば名前、姓、都市名などであるかを含むことができる。構文情報と意味情報の間には、ある程度の重なりがある。たとえば、単数や複数などの数、および性は、意味も伝え、特定の構文規則に従っても使われる。
【０００６】
さらに、レキシコンは、特定の種類の言語処理に有用な情報を含むことができる。たとえば単語およびその単語のセグメンテーションを含む情報は、たとえば単語の分割アプリケーションを補助するために格納されることができる。他の構文情報および／または意味情報は、クエリ、文法チェック、またはスペルチェックなど、他の言語処理システムを補助するために格納されることができる。
【０００７】
概して、演算速度と、レキシコンに格納される情報の量および詳細さとの間には妥協点が存在する。したがって、たとえば、単語の分割アプリケーションでは、レキシコンが、遭遇した各見出し語の様々な変化形および派生形についての詳細な情報を既に格納している場合、演算速度が向上する。ワードブレーカが、体系的にクエリ中の単語を分割して、たとえば、照会された単語から見出し語および変化形を生成しなければならない場合、演算速度は低下する。
【０００８】
動作中、自然言語処理システムは、入力単語または単語列を受け取り、レキシコンに格納された情報にアクセスして、システムパラメータに従って１つの単語または複数の単語を処理することができる。たとえば、拡張ワードステミング（ｓｔｅｍｍｉｎｇ）システムを使用するサーチエンジンまたはデータ取出しエンジンは、「ｄｏｇｓ」などのクエリを受け取り、格納されているレキシコンから、（たとえば複合語、見出し語、変化形、派生形、類義語、名前付きエンティティなどの）関連する用語、たとえば「ｈｏｕｎｄｄｏｇ」、「ｄｏｇ」、「ｄｏｇｇｅｄ」、「Ｃｏｌｌｉｅ」、または「Ｌａｓｓｉｅ」を取り出すことができる。あるいは、受け取られたクエリは、「ｄｏｇｓ」、「ｄｏｇｇｅｄ」などとして入力されることもでき、システムは、レキシコンにアクセスして、見出し語「ｄｏｇ」を取り出す。このような単語生成または単語縮小（ｃｏｌｌａｐｓｅ）は、システムパラメータに応じて、単語探索を広げるまたは狭めるのに使われることができる。
【０００９】
文法チェックシステムやスペルチェックシステムなど別のシステムは、「Ｈｅ  ｅａｔ  ａ  ｈｐｔｄｇ」などの単語列を受け取り、レキシコンに格納された情報にアクセスして、文を「Ｈｅ  ｅａｔｓ  ａ  ｈｏｔ  ｄｏｇ」に修正することができる。同様に、手書き文字認識および音声認識、機械翻訳、テキストマイニングなどのシステム、および類似のシステムは、システムパラメータに従ってさらに処理を行うために、レキシコンに格納された情報にアクセスすることができる。
【００１０】
【特許文献１】２００３年１０月３０日に出願した、米国特許出願公開第２００３／０２０４３９２Ａ１号明細書「Lexicon with Sectionalized Data and Method of Using the Same」
【発明の開示】
【発明が解決しようとする課題】
【００１１】
複数の自然言語処理システムまたはテキスト処理システムに使用されることも適合されることもできるレキシコン、特に、効率的に格納され、容易にアクセス可能であり、更新されることができるレキシコンが、非常に有益であろう。
【課題を解決するための手段】
【００１２】
レキシコンは、コンピュータ可読媒体に格納され、様々な言語処理システムによってアクセスされることができる。レキシコンは一般に、単語情報を、各単語エントリに関連づけられた複数のデータフィールドに格納する。データフィールドは、スペルおよび動的セグメンテーションについての情報と、品詞と、単語が別の単語に変形されることができるステップと、単語の記述と、複合語に関するセグメンテーションとを含むことができる。レキシコンに格納されることができない情報は、中間索引テーブルに格納されることができる。
【００１３】
一態様では、レキシコンは、様々なアプリケーションとともに使われることも、単一のアプリケーションに組み込まれることもできる。別の態様では、レキシコンを構成する方法が提示される。任意選択で、この方法は、レキシコンを新しい単語で更新することを含むことができる。さらに別の態様では、レキシコンは、ある特定の言語、たとえば英語用に構成される。ただし、ある特定の分野、たとえば工学に関する部分集合（ａ  ｓｕｂｓｅｔ）レキシコンが構成されることもできる。
【発明を実施するための最良の形態】
【００１４】
図１は、本発明が実施されることができる、適切な計算機システム環境の例１００を示す。計算機システム環境１００は、適切な計算機環境の一例に過ぎず、本発明の使用または機能の範囲に対するどのような限定を示唆することも意図していない。計算機環境１００は、例示的な動作環境１００に示されるどのコンポーネントにもその組合せにも関するどのような依存も要件も有していると解釈されるべきではない。
【００１５】
本発明は、他の数多くの汎用または専用の通信環境または構成とも動作する。本発明とともに使用するのに適切であり得る他の公知の計算システム、環境、および／または構成の例は、パーソナルコンピュータ、サーバコンピュータ、携帯型装置またはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家電製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、電話システム、上記のシステムまたは装置のいずれをも含む分散型計算機環境などを含むが、それに限定されるものではない。
【００１６】
本発明は、コンピュータによって実行される、プログラムモジュールなどのコンピュータ実行可能命令という一般的な状況において説明されることができる。概して、プログラムモジュールは、特定のタスクを実施しまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明は、通信ネットワークを介してリンクされるリモート処理装置によってタスクが実施される分散型計算機環境でも実施されることができる。分散型計算機環境では、プログラムモジュールは、メモリ記憶装置を含むローカルおよびリモートコンピュータ記憶媒体両方に置かれることができる。
【００１７】
図１を参照すると、本発明を実施する例示的なシステムは、汎用計算装置を、コンピュータ１１０の形で含む。コンピュータ１１０のコンポーネントは、処理装置１２０と、システムメモリ１３０と、システムメモリなど様々なシステムコンポーネントを処理装置１２０に結合するシステムバス１２１とを含むことができるが、それに限定されない。システムバス１２１は、様々なバスアーキテクチャのどれをも使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスなどいくつかの種類のバス構造のいずれでもよい。限定ではなく例として、このようなアーキテクチャは、ＩＳＡ（業界標準アーキテクチャ）バス、ＭＣＡ（マイクロチャネルアーキテクチャ）バス、ＥＩＳＡ（拡張ＩＳＡ）バス、ＶＥＳＡ（米国ビデオ電子装置規格化協会）ローカルバス、およびメザニン（Ｍｅｚｚａｎｉｎｅ）バスとしても知られるＰＣＩ（周辺装置相互接続）バスを含む。
【００１８】
コンピュータ１１０は通常、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ１１０によってアクセスされることができるとともに揮発性媒体および不揮発性媒体両方、取外し可能媒体および固定型媒体を含む、利用可能などの媒体でもよい。限定ではなく例として、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報の格納のためのどの方法でも技術でも実施される揮発性媒体および不揮発性媒体両方、取外し可能媒体および固定型媒体を含む。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、あるいは、所望の情報を格納するのに使われることができるとともにコンピュータ１１０によってアクセスされることができる他のどの媒体も含むが、それに限定されない。通信媒体は一般に、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、変調データ信号、たとえば搬送波や他の移送機構として具体化し、どの情報配信媒体も含む。「変調データ信号」という用語は、信号中の情報を符号化するようなやり方で設定されまたは変更される信号特性の１つまたは複数を有する信号を意味する。限定ではなく例として、通信媒体は、有線ネットワークや直接有線接続などの有線媒体、ならびに音響、ＲＦ、赤外線、および他の無線媒体などの無線媒体を含む。上記のどの組合せも、やはりコンピュータ可読媒体の範囲に含まれるべきである。
【００１９】
システムメモリ１３０は、コンピュータ記憶媒体を、読出し専用メモリ（ＲＯＭ）１３１およびランダムアクセスメモリ（ＲＡＭ）１３２など、揮発性および／または不揮発性メモリの形で含む。基本入出力システム（ＢＩＯＳ）１３３は、たとえば起動中にコンピュータ１１０内部の要素間の情報の転送を助ける基本ルーチンを含み、通常はＲＯＭ１３１に格納される。ＲＡＭ１３２は一般に、処理装置１２０に対してただちにアクセス可能な、かつ／または処理装置１２０によって現在操作されているデータおよび／またはプログラムモジュールを含む。限定ではなく例として、図１では、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７を示す。
【００２０】
コンピュータ１１０は、他の取外し可能／固定型、揮発性／不揮発性コンピュータ記憶媒体を含むこともできる。単なる例として、図１では、固定型の不揮発性磁気媒体からの読出しまたはそこへの書込みを行うハードディスクドライブ１４１、取外し可能な不揮発性磁気ディスク１５２からの読出しまたはそこへの書込みを行う磁気ディスクドライブ１５１、および、ＣＤ  ＲＯＭや他の光学媒体など取外し可能な不揮発性光ディスク１５６からの読出しまたはそこへの書込みを行う光ディスクドライブ１５５を示す。例示的な動作環境で使われることができる、他の取外し可能／固定型、揮発性／不揮発性コンピュータ記憶媒体は、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、固体ＲＡＭ、固体ＲＯＭなどを含むが、それに限定されない。ハードディスクドライブ１４１は通常、インタフェース１４０などの固定型メモリインタフェースによって、システムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は通常、インタフェース１５０などの取外し可能メモリインタフェースによって、システムバス１２１に接続される。
【００２１】
上述し、かつ図１に示されているディスクドライブおよびそれに関連するコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、およびコンピュータ１１０のための他のデータの格納を可能にする。図１では、たとえば、ハードディスクドライブ１４１は、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７を格納するものとして示される。こうしたコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７と同じでも、異なってもよいことに留意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７は、少なくとも異なるものであることを示すために、ここでは異なる番号が与えられている。
【００２２】
ユーザは、キーボード１６２、マイクロホン１６３、および指示装置１６１、たとえばマウス、トラックボール、またはタッチパッドなどの入力装置を介して、コマンドおよび情報をコンピュータ１１０に入力することができる。図示しない他の入力装置は、ジョイスティック、ゲーム用パッド、衛星パラボラアンテナ、スキャナなどを含むことができる。こうしたおよび他の入力装置はしばしば、システムバスに結合されるユーザ入力インタフェース１６０を介して処理装置１２０に接続されるが、他のインタフェースおよびバス構造、たとえば並列ポート、ゲームポート、ＵＳＢ（ユニバーサルシリアルバス）によって接続されることもできる。モニタ１９１または他の種類の表示装置も、映像インタフェース１９０などのインタフェースを介してシステムバス１２１に接続される。モニタに加え、コンピュータは、出力周辺インタフェース１９５を介して接続されることができるスピーカ１９７およびプリンタ１９６など、他の周辺出力装置も含むことができる。
【００２３】
コンピュータ１１０は、リモートコンピュータ１８０など、１つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク接続された環境において動作することができる。リモートコンピュータ１８０は、パーソナルコンピュータ、携帯型装置、サーバ、ルータ、ネットワークＰＣ、ピア装置、または他の共通ネットワークノードでよく、通常、コンピュータ１１０に関連して上述された要素の多くまたはすべてを含む。図１に示される論理接続は、ローカルエリアネットワーク（ＬＡＮ）１７１およびワイドエリアネットワーク（ＷＡＮ）１７３を含むが、他のネットワークを含むこともできる。このようなネットワーク環境は、会社、企業規模のコンピュータネットワーク、イントラネットおよびインターネットにおいてよく見られる。
【００２４】
ＬＡＮネットワーク環境において使われる場合、コンピュータ１１０は、ネットワークインタフェースまたはアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーク環境において使われる場合、コンピュータ１１０は通常、モデム１７２、または、たとえばインターネットなどのＷＡＮ１７３を介して通信を確立する他の手段を含む。モデム１７２は、内部にあっても外部にあってもよく、ユーザ入力インタフェース１６０または他の適切な機構を介してシステムバス１２１に接続されることができる。ネットワーク接続された環境では、コンピュータ１１０に関連して図示したプログラムモジュールまたはその一部は、リモートメモリ記憶装置に格納されることができる。限定ではなく例として、図１は、リモートアプリケーションプログラム１８５を、リモートコンピュータ１８０に常駐するものとして示す。図示したネットワーク接続は例示的なものであり、コンピュータ間の通信リンクを確立する他の手段も使われることができることが理解されよう。
【００２５】
図２は、例示的な代替計算機環境であるモバイル装置２００のブロック図である。モバイル装置２００は、マイクロプロセッサ２０２、メモリ２０４、入出力（Ｉ／Ｏ）コンポーネント２０６、およびリモートコンピュータまたは他のモバイル装置と通信するための通信インタフェース２０８を含む。一実施形態では、上述したコンポーネントは、適切なバス２１０を介して互いに通信するために結合される。
【００２６】
メモリ２０４は、不揮発性電子メモリ、たとえば（図示しない）バッテリバックアップモジュールを有するランダムアクセスメモリ（ＲＡＭ）として実装され、そうすることによって、モバイル装置２００全体の電源がシャットダウンされたときに、メモリ２０４に格納された情報が失われないようになる。メモリ２０４の一部分は、好ましくはプログラム実行用にアドレス指定可能なメモリとして割り振られ、メモリ２０４の別の部分は、好ましくは記憶用に、たとえばディスクドライブ上で記憶をシミュレートするために用いられる。
【００２７】
メモリ２０４は、オペレーティングシステム２１２、アプリケーションプログラム２１４、ならびにオブジェクトストア２１６を含む。動作中、オペレーティングシステム２１２は、好ましくは、メモリ２０４から、プロセッサ２０２によって実行される。オペレーティングシステム２１２は、好ましい一実施形態では、マイクロソフトコーポレーションから販売されているＷＩＮＤＯＷＳ（登録商標）ＣＥブランドのオペレーティングシステムである。オペレーティングシステム２１２は、好ましくは、モバイル装置用に設計され、公表されている１組のアプリケーションプログラミングインタフェースおよび方法を介してアプリケーション２１４によって利用されることができるデータベースの特徴を実装する。オブジェクトストア２１６内のオブジェクトは、公表されているアプリケーションプログラミングインタフェースおよび方法に対する呼出しに少なくとも部分的に応答して、アプリケーション２１４およびオペレーティングシステム２１２によって維持される。
【００２８】
通信インタフェース２０８は、モバイル装置２００が情報を送受信することを可能にする多数の装置および技術を表す。このような装置は、いくつか例を挙げると、有線モデムおよび無線モデム、衛星受信機、ならびに放送チューナを含む。モバイル装置２００は、データ交換を行うコンピュータに直接接続されることもできる。このような場合、通信インタフェース２０８は、赤外線送受信機でも、直列または並列通信接続でもよく、これらはすべて、ストリーム情報を伝送することができる。
【００２９】
入出力コンポーネント２０６は、接触式画面、ボタン、ローラ、およびマイクロホンなどの様々な入力装置、ならびに音声ジェネレータ、振動装置、およびディスプレイを含む様々な出力装置を含む。上に列挙した装置は例であり、すべてがモバイル装置２００上になくてもよい。さらに、他の入力／出力装置が、本発明の範囲内において、モバイル装置２００に取り付けられてもよく、モバイル装置２００とともにあってもよい。
【００３０】
図３は、言語処理システムまたはテキスト処理システム３００を全体的に示す。システム３００は、通常１つまたは複数の単語からなるテキスト列の形で言語入力３０２を受け取り、言語入力３０２を処理して、やはり通常１つまたは複数の単語からなるテキスト列の形で言語出力３０４をもたらす。言語入力３０２および出力３０４は、ストリーミングレキシコンデータでもよく、この場合、処理システム３００は、たとえば音声認識システムでは、レキシコン３０８の情報に高速にアクセスして、出力３０４を生成する。
【００３１】
概して、言語処理システム３００は、（たとえばクエリシステム用の）ワードブレーカ、スペルチェッカ、文法チェッカ、音声認識システム、手書き文字認識システム、機械翻訳システム、テキストマイニングシステム、または他の言語処理システムとして実施されることができる。言語処理システム３００は、別のシステムによってアクセス可能な、またはそれに含まれる、独立型（ｓｔａｎｄ−ａｌｏｎｅ）アプリケーション、モジュール、またはコンポーネントでよいことが、当業者には理解されよう。
【００３２】
言語処理システムまたはアプリケーション３００は、テキストアナライザ３０６およびレキシコン３０８を含む。テキストアナライザ３０６は、入力３０２を受け取り、レキシコン３０８に格納された単語情報にアクセスするとともにその情報を受け取り、受け取った単語情報を処理して、出力３０４を生成しまたは提供するコンポーネントおよび／またはモジュールを概略的に表す。本発明の一態様は、ある特定のアプリケーションによる要求に応じて、テキストアナライザ３０６に情報を効率的に提供するような、レキシコン３０８用の改良データ構造である。レキシコン３０８は、拡張ワードステミングシステム、クエリシステムおよび／またはワードブレーカ、スペルチェッカ、文法チェッカ、音声認識システム、手書き文字認識システム、ならびに機械翻訳システムなど、多数のアプリケーションを実装し、あるいはその実装を助けるのに適合され、使用され、または必要とされる基本的な側面またはデータを含むことができる。
【００３３】
レキシコン３０８は、様々な言語処理システムにおいて使われることができ、かつ／または様々なテキストアナライザとともに使われることができる個別のコンポーネントでよいことに留意されたい。様々なテキストアナライザ３０６がどのようにしてレキシコン３０８に適合されることができるか、当業者は容易に理解できよう。レキシコン３０８は、ある特定のアプリケーションにとって不可欠とされることも、あるアプリケーションに対して単にアクセス可能とされることもできる。テキストアナライザ３０６は、図１のコンピュータ１１０にも、リモートコンピュータ１８０など、コンピュータ１１０と通信するどのコンピュータにも常駐できることも理解されよう。同様に、レキシコン３０８は、コンピュータ１１０上で、上述した記憶装置のいずれに常駐することもでき、適切な通信リンクを介してアクセス可能となることもできる。
【００３４】
図４は、本発明のレキシコン、たとえばレキシコン３０８に入力される単語の配置またはデータ構造を概略的に示す。レキシコン３０８に格納される各エントリまたは単語４０１、４０３、４０５は、関連づけられたデータフィールドを有する。たとえば、単語４０１は、それにデータフィールド４０２、４０４、４０６、４０８、４１０を関連づける。単語４０３は、それにデータフィールド４１２、４１４、４１６、４１８、４２０を関連づける。単語４０５は、それにデータフィールド４３２、４３４、４３６、４３８、４４０を関連づける。好ましくは、各入力単語ごとに、１つのフィールド４０２、４１２、４３２が、スペルおよび動的セグメンテーション情報を含む。第２のフィールド４０４、４１４、４３４は、品詞（ＰＯＳ）情報を含む。第３のフィールド４０６、４１６、４３６は、見出し語デルタ情報を含む。第４のフィールド４０８、４１８、４３８は、記述情報、すなわち入力単語の記述を含むが、これは、辞書種別の定義を通常通り含むわけではない。第５のフィールド４１０、４２０、４４０は、静的セグメンテーション情報、すなわち静的セグメンテーションマスクを含む。静的セグメンテーションマスクは、本明細書において詳細に説明される、「ｂｌｕｅｈｏｕｎｄｄｏｇ」などの複合語に特に適している。いくつかの実施形態では、データフィールドは、図４に示すように可変サイズでよい。他の実施形態では、データフィールドのサイズは固定される。
【００３５】
図４Ａは、どのようにして単語がレキシコン３０８に格納されることができるかを詳細に示す。データフィールド４５０、４６０、４７０、４８０、４９０は、それぞれ、図４に示した、スペルおよび動的セグメンテーションデータフィールド、ＰＯＳデータフィールド、見出し語デルタデータフィールド、記述データフィールド、および静的セグメンテーションデータフィールドに対応する。各フィールド４５０、４６０、４７０、４８０、４９０は、複数の情報データバイトに分割される。スペルおよび動的セグメンテーションフィールド４５０は、バイト４５２、４５４、４５６、４５８を含むことができる。ＰＯＳフィールド４６０は、バイト４６２、４６４、４６６、４６８を含むことができる。見出し語デルタフィールド４７０は、バイト４７２、４７４、４７６、４７８を含むことができる。記述フィールド４８０は、バイト４８２、４８４、４８６、４８８を含むことができる。静的セグメンテーションフィールド４９０は、バイト４９２、４９４、４９６、４９８を含むことができる。いくつかの実施形態では、図示したデータバイトはそれぞれ、８ビットのデータを含むことができ、したがって、各データフィールドは、３２ビットの情報、すなわち２３２通りの可能な組合せまたはデータの値を含むことができる。ただし、公知であるように、「ハフマン符号化」が、様々なデータフィールドを符号化するのに使われることができ、その結果、より少ない量の空間が、（たとえば５つの４バイトフィールドのような）各エントリに割り当てられる最大量の記憶空間まで、単語情報またはデータを符号化するのに使われることができるようになる。
【００３６】
図５は、本発明によるレキシコン３０８、５４０を構成するレキシコン構成および更新モジュール５００を示す。レキシコンデータ５０２は、上述した入力装置または記憶装置のいずれからも、レキシコン構成および更新モジュール５００によって受け取られる。レキシコンデータ５０２は、新聞、または、たとえば機関誌、雑誌、本などの出版物から受け取られる未処理データを含むことができる。レキシコンデータ５０２は、ウェブソースまたは様々な音声認識エンジンから受け取られるテキストでもよい。代替実施形態では、レキシコンデータ５０２は、単語リストまたは用語集５１０を構築するのに必要な前処理の量を制限する、単語からなる辞書、特にある言語に特有の辞書を含むことができる。
【００３７】
いくつかの実施形態では、レキシコン構成および更新モジュール５００は、前処理モジュール５０４を備え、前処理モジュール５０４は、ある特定の言語に関してレキシコン３０８、５４０に入力される単語からなる用語集または単語リスト５１０を生成する。単語リスト５１０は、レキシコン３０８、５４０に最初に入力されるすべての単語からなる完全なリストでもよい。あるいは、単語リスト５１０は、レキシコン３０８、５４０を増大しまたは更新するためにレキシコン３０８、５４０に追加される新しい単語を含むこともできる。
【００３８】
本発明は、入力される各単語ごとの情報の量または豊富さと、レキシコン中のすべてのエントリにわたる、データの可能な組合せの量とを対比して調整することに留意されたい。ほとんどの実施形態では、特定のテーブルまたは列を有する公知の「ハフマン符号化」が、上述したような本発明を実施するのに使われることができる。概して、あるエントリに対する情報の量は、その情報を符号化するのに必要な最低限の記憶サイズまたは空間を占有する。より多くのデータパターンが複数のエントリの間で共有されると、レキシコン全体の大きさはより小さくなることに留意されたい。しかし、各エントリごとの情報がより豊富になると、レキシコン全体に対して符号化されるパターンの総数はより多くなる。こうした、符号化されるパターンの増加は、「エントロピー」と類推され、圧縮技術の主要な挑戦課題である。したがって、「エントロピー」がより高くなると、損失なくデータを符号化するのに必要とされる情報ビットがより多くなる。したがって、レキシコンに格納されるデータのエントロピーを、実行可能な程度までできるだけ抑えることが有利である。
【００３９】
再度図５を参照すると、従来、前処理モジュール５０４は、レキシコンデータ５０２を、単語、ならびにピリオドおよびコンマなどの文法素性に解析しまたはセグメント化する構文解析系（ｐａｒｓｅｒ）５０６を備えることができる。図６は、レキシコン３０８、５４０を構成するための方法のステップを示す。前処理モジュール５０４は、図６に示されるステップ６０２でレキシコンデータを受け取り、レキシコンデータ５０２において、単語リストまたは用語集５１０に追加される単語をステップ６０４で選択しまたは識別する単語抽出装置５０８を備えることができる。前処理モジュール５０４は、特に、レキシコンデータ５０２が本発明に従って更新される辞書またはレキシコンを含む実施形態では、任意選択でよい。
【００４０】
単語リストまたは用語集５１０は、タグ付けモジュール５１２によって受け取られ、タグ付けモジュール５１２は、本発明に従って単語を処理し、または単語にタグ付けして、レキシコン３０８、５４０を構成する。概して、タグは、アプリケーションまたはシステムによってアクセスされるときに有用な、単語に関する特定の構文情報および／または意味情報を示す。タグ付けモジュール５１２は、スペルおよび動的セグメンテーションモジュール５１４、品詞モジュール５１６、見出し語デルタモジュール５１８、記述モジュール５２０、ならびに静的セグメンテーションマスクモジュール５２２のいくつかまたは全部を含むことができる下位モジュールを備える。各タグ付け下位モジュールは、レキシコン３０８、５４０中の各エントリごとに、情報からなるビット、またはタグを追加する。
【００４１】
ステップ６０６で、スペルおよび動的セグメンテーションモジュール５１４は、スペルおよび動的セグメンテーション情報を含む１つまたは複数のタグを構成する。ほとんどの実施形態では、各入力単語のテキストスペルは、一意の識別番号に関連づけられる。スペル情報は、レキシコン３０８、５４０中の各単語がどのようにしてスペル修正アプリケーションを補助するかを示すように符号化されることができる。たとえば、いくつかの実施形態では、スペル情報は、頻度指示を含むことができ、頻度指示は、スペルチェッカによって、起こり得るミススペルが遭遇されるときに、提案セットにおける単語の順位づけを生成しまたは調整するのに使われることができる。スペル情報は、単語が正しいかチェックされるべきであっても、提案セット中に生成されるべきではないかどうかを含むことができる。この情報は、不適当または通俗的とみなされる単語には特に有用である。符号化されたこのような情報は、通俗的な単語が、スペルに関してチェックされるが、ミススペルに関する代替単語からなる提案セットの一部とはならないことを可能にする。スペル情報は、同じ言語の異なる方言において単語をスペルチェックするための情報も含むことができる。たとえば、アメリカ英語は、「ｃｏｌｏｒ」という用語を使用するが、イギリス英語は、別のスペル「ｃｏｌｏｕｒ」をもつ。したがって、スペルタグは、たとえば、「ｃｏｌｏｕｒ」が、イギリス英語では正しいスペルであるが、アメリカ英語ではミススペルであることを示すことができる。
【００４２】
さらに、スペルおよび動的セグメンテーションモジュール５１４は、動的セグメンテーション情報を含む。動的セグメンテーション情報は、構成単語が、複合語において正当に組み合わされるかどうかを判定する検証処理によってアクセスされることができる情報からなるビットを含む。いくつかの実施形態では、検証処理は、選択された言語における有効な複合語を認識するために、単語を、２つ以上の別個のレキシコンエントリにマッピングさせる。
【００４３】
たとえば、複合語「ｂｌｕｅｈｏｕｎｄｄｏｇ」は、セグメンテーションビットまたは値でマーク付けされることができる構成単語「ｂｌｕｅ」、「ｈｏｕｎｄ」、および「ｄｏｇ」を有する。アプリケーションの実行時中、こうしたビットは、構成単語が正しく組み合わされるかどうか、したがって有効な複合語であるかどうかを判定するためにアクセスされることができる。動的セグメンテーションビットは、ある構成単語の、別の構成単語に対する相対的な位置を示すこともできる。構成単語とは、たとえば接頭辞、接尾辞などであり、構成単語の位置は、ドイツ語など、長い複合語を形成する言語では特に重要である。他の実施形態では、構成単語は、スペイン語において一般に出現するように、複数の符号を含むことができる。
【００４４】
レキシコン３０８、５４０は、単語の複合を「認めすぎる」（ｏｖｅｒ−ａｃｃｅｐｔ）べきでないことに留意されたい。言い換えると、複合語がある特定の言語において有効でない場合、構成単語は、組み合わされることができると示すべきでない。したがって、本発明において、ある特定の言語をレキシコンに適合させることは、言語固有である。たとえば、複合語に関するドイツ語の言語規則は、スペイン語とは非常に異なる。しかし、モジュール５１４は、スペルおよび動的セグメンテーションフィールド４５０に格納されたビットを用いて、いずれの言語においても、構成単語に適した動的セグメンテーション情報を符号化することができる。
【００４５】
いくつかの実施形態では、モジュール５１４は、ある特定のコードまたは値を用いて、複合語の先頭になり得る単語に関する動的セグメンテーション情報を符号化する。先頭の単語に付加し得るものは、付加物として符号化され、それが先頭の単語に付加されることができることを示す別のコードを用いて、さらに符号化される。要するに、概して、ある特定の言語用のレキシコンにおいて複合語を構築するための可能な組合せ規則、すなわち音声規則、構文規則、および／または形態規則からなる行列が存在する。ただし、アプリケーションが、レキシコンに格納された情報に高速にアクセスできることが有利である。ステップ６０８で、品詞モジュール５１６は、品詞（ＰＯＳ）に関する情報、たとえば単語が、名詞、動詞、または形容詞であるかという情報を追加する。ただし、より詳細なＰＯＳ情報が含まれることができる。たとえば、複数の名詞が、同じ名詞の単数形に関連する一義的なコードをもつことができる。ＰＯＳタグ用の重要な１つのアプリケーションは、所与の文または文字列における単語の役割を識別することである。たとえば、単語「ｄｏｇ」は、異なる２つのＰＯＳタグをもつことができる。すなわち、一方のタグは、その役割を名詞として示し、他方は動詞として示す。文字列「Ｉ  ｐｅｔ  ｔｈｅ  ｄｏｇ」において、用語「ｄｏｇ」は名詞である。しかし、文「Ｉ  ｄｏｇｇｅｄ  ａｆｔｅｒ  ｍｙ  ｂｉｇ  ｂｒｏｔｈｅｒ」では、基本語「ｄｏｇ」は、動詞として働く。単語の具体的な役割は、単語の間の関係を規定する、個々の単語ごとに符号化される周囲の用語およびＰＯＳタグに関連して決定されることができる。ＰＯＳタグは、一般に「チャンク」（ｃｈｕｎｋ）または「アイランド」（ｉｓｌａｎｄ）解析として知られる単純な構文解析を実施するための規則の組とともに使われることもできることに留意されたい。構文解析において、ＰＯＳタグおよび他の情報、たとえば時制は、隣接する用語からなる小さい「チャンク」を、１つの構文単位としてリンクされる文として認識するのに使われることができる。
【００４６】
ステップ６１０で、見出し語デルタモジュール５１８は、（たとえば変化形および見出し語などの）２つの単語が互いにどれだけ異なるかということに関する情報を符号化する。いくつかの実施形態では、最大４バイトの情報が、見出し語デルタフィールド４７０に符号化され、この符号化は、本質的に、（たとえば変化形または派生形などの）ある単語を（たとえば基本形または見出し語などの）別の単語に変形するステップである。単語「ｒｕｎｓ」が、レキシコン３０８，５４０に入力されると仮定する。本発明において、単語「ｒｕｎｓ」は、たとえば、完全な変形を作るのに必要な最大４つの状態またはステップを用いて、その見出し語「ｒｕｎ」に変形されることができる。概して、本発明は、所与の言語に関して、変化形または派生形を、対応する見出し語に変形するのに必要な、（たとえば可能な１５個のステップなどの）最も一般的なステップを符号化することを試みる。
【００４７】
ほとんどの実施形態において、４つの状態をもつステートマシンが、「オペレーションコード」とそれに続く「引数値」を用いて、単語を他の単語に変形しまたはマッピングする。「ｒｕｎｓ」が「ｒｕｎ」に変形される例において、オペレーションコードは、「接尾辞をカットする」こと、すなわち「ＣｕｔＳｕｆｆｉｘ」であり、引数値は、「１」、（すなわち、「ｒｕｎｓ」の末尾からカットされる文字数）となり得る。いくつかの実施形態では、１５個の異なるオペレーションコードが、変形を記録するのに使われることができる。たとえば、「接頭辞をカットする」、すなわち「ＣｕｔＰｒｅｆｉｘ」は、単語の先頭をカットすることを示す別のオペレーションコードとそれに続く引数値、すなわちカットされる文字数でよい。いくつかのオペレーションコードは、滅多に使われない。例示的な一実施形態では、４ビットの情報が、オペレーションコードとそれに続く４ビットの引数値を示すように符号化される。したがって、８ビットの情報、すなわち各ステップごとに１バイト、すなわち最大４バイトが、見出し語デルタモジュール５１８によって見出し語デルタフィールド４７０に符号化されることができる。
【００４８】
他の変形ステップは、ある特定の識別子に対応する引数値を有する、接尾辞が追加されるためのオペレーションコード「ＡｄｄＳｕｆｆｉｘ」を含むことができる。各識別子は、「ｓ」や「ｅｒ」など、ある特定の接尾辞に関連づけられる。このような識別子は、定義リスト中にある。
【００４９】
別のオペレーションコード「ＡｄｄＳｕｆｆｉｘＣｈａｒ」は、追加される接尾辞が定義リストにないが、実際の接尾辞文字を有する引数を含む場合に使われることができる。この形のオペレーションコードは、（たとえば２バイトといった）２倍の量の記憶空間をとり得ることに留意されたい。
【００５０】
オペレーションコード「ＡｄｄＰｒｅｆｉｘ」は、「ＡｄｄＳｕｆｆｉｘ」と類似しているが、定義リストにある接頭辞に関する、ある特定の識別子に対応する引数値を含む。
【００５１】
オペレーションコード「ＡｄｄＰｒｅｆｉｘＣｈａｒ」は、「ＡｄｄＳｕｆｆｉｘＣｈａｒ」と類似しているが、接頭辞に関する、実際の文字に対応する引数値を含む。
【００５２】
オペレーションコード「ＴｏＵｐｐｅｒ」は、文字を大文字に変えるのに使われることができ、引数値は、文字の位置を提供する。同様に、オペレーションコード「ＴｏＬｏｗｅｒ」は、文字を小文字に変え、引数値が文字の位置を提供する。
【００５３】
オペレーションコード「ＲｅｍｏｖｅＡｃｃｅｎｔ」は、文字からアクセントを取り除くのに使われることができ、引数値が文字の位置を提供する。
【００５４】
オペレーションコード「ＡｄｄＡｃｕｔｅＡｃｃｅｎｔ」は、文字に鋭アクセントを追加するのに使われることができ、引数値が文字の位置を提供する。同様に、オペレーションコード「ＡｄｄＧｒａｖｅＡｃｃｅｎｔ」は、引数値によって規定されるある特定の文字の位置に、抑音アクセントを追加するのに使われることができる。オペレーションコード「ＡｄｄＤｉａｅｒｅｓｉｓ」は、引数値によって規定される文字の位置に、分音記号を追加するのに使われることができる。オペレーションコード「ＡｄｄＣｉｒｃｕｍｆｌｅｘＡｃｃｅｎｔ」は、引き数値によって規定される文字の位置に、曲折アクセントを追加するのに使われることができる。同様に、オペレーションコード「ＡｄｄＴｉｌｄｅ」は、引数値によって規定される文字の位置に、波形記号を追加するのに使われることができる。
【００５５】
最後に、オペレーションコード「ＳｕｂｓｔｉｔｕｔｅＣｈａｒ」は、ある特定の位置にある特定の文字を置換するのに使われることができる。この場合、２つの引数値があり得る。すなわち、１つは文字に関連づけられ、１つは選択される位置に関連づけられる。
【００５６】
ステップ６１２で、記述モジュール５２０は、基本的な意味、たとえば人称、性、時制、数、または、用語が名前付きエンティティの一部であり得るかどうかを伝える情報を記述フィールド４８０に符号化する。たとえば、「Ｊｏｈｎ  Ｓｍｉｔｈ」などの単語列は、「Ｊｏｈｎ」が名前として符号化され、「Ｓｍｉｔｈ」が姓として符号化されるように符号化されることができる。単語「ｈｅ」は、三人称、単数、および男性として符号化されることができる。単語「ｒａｎ」は、一人称、二人称、および三人称、ならびに過去時制として符号化されることができる。たとえば、名前付きエンティティ検出を有するシステムまたはアプリケーションでは、本発明のレキシコンは、単語列が名前付きエンティティである場合を判定するためにアクセスされることができ、単語列は、個別に処理されるのではなく、まとめて処理されるべきである。他の記述ビット、たとえば人称、性、時制、および数は、スペルおよび文法訂正などのアプリケーションにおいて有用である。いくつかの実施形態では、記述フィールド４８０中の記述情報は、先行するデータフィールド４５０、４６０、４７０のように、最大４バイトのデータフィールドを占有することができる。
【００５７】
ステップ６１４で、静的セグメンテーションマスクモジュール５２２は、情報を静的セグメンテーションマスクフィールド４９０に符号化する。符号化される情報は、セグメンテーション、すなわち、単語、特に複合語を、異なるセグメントおよび長さに分割する一連のカットポイントを含む。たとえば、複合語「ｂｌｕｅｈｏｕｎｄｄｏｇ」では、カットポイントまたはセグメントの長さは、４、５、および３、（すなわちｂｌｕｅに対して４文字、ｈｏｕｎｄに対して５文字、およびｄｏｇに対して３文字）となり得る。セグメントの長さは、たとえばサーチエンジンにおいて、実行時に複合語の構成単語を復元するのに使われることができる。いくつかの実施形態では、最後の数字３は、４および５のような最初の２つのカットポイントから暗示されるので、取り去られることができる。（たとえば、「ｈｏｕｎｄｄｏｇ」の例では３のような）最後のセグメンテーションの長さを取り去ることは、コードの組合せの数を削減するのに必要とされる、記憶空間の量の削減に有利である。他の実施形態では、ある特定の複合語に対して複数のセグメンテーションをもつことが可能である。したがって、「ｂｌｕｅｈｏｕｎｄｄｏｇ」は、４、５、３および／または４、５のようにセグメント化されることができる。他のセグメンテーションは、４、８および／または４（すなわち「ｂｌｕｅ」に対して４、「ｈｏｕｎｄｄｏｇ」に対して８を）含むことができ、この場合、「ｈｏｕｎｄｄｏｇ」は、単一の構成単語としてセグメント化される。したがって、静的セグメンテーションマスクモジュール５２２は、ある特定の複合語に対して、レキシコン３０８、５４０に格納されるセグメンテーションの複数の組を生成することができる。
【００５８】
上記の実施形態では、静的セグメンテーションマスク情報は、構成単語の長さを示す値を含む。しかし、代替実施形態では、値は、構成単語の最初または最後の文字を示す文字を示すことができる。したがって、「ｂｌｕｅｈｏｕｎｄｄｏｇ」の例では、可能なセグメンテーションは、５、１０または４、９を含むことができる。というのは、値５、１０および４、９は、それぞれ、構成単語の最初および最後の文字を示すからである。
【００５９】
いくつかの実施形態では、レキシコン中の各エントリまたは単語に関連づけられた、符号化される情報または「タグ」は、最大５個の４バイト量として格納されることができ、スペルおよび動的セグメンテーションモジュール５１４、品詞モジュール５１６、見出し語デルタモジュール５１８、記述モジュール５２０、および静的セグメンテーションマスクモジュール５２２がそれぞれ、４バイト量の情報を格納し、またはその情報を格納させる。しかし、他の実施形態では、他のデータ量または追加フィールドが、要望に応じて、レキシコン３０８、５４０中のエントリ用に使われることができる。
【００６０】
いくつかの状況では、データは、上述したような５つのタグの１つに符号化されることができないことに留意されたい。このような状況では、ステップ６１６で、データは、このようなデータが格納される公知の中間索引テーブル（ＩＩＴ）５５４をポイントするポインタ５５２を使う第２の機構を用いて、符号化されることができる。このような中間索引テーブルは、その内容の全体が参照によって本明細書に組み込まれている特許文献１で説明されている。
【００６１】
概して、このようなやり方でサポートされるいくつかの種類の拡張データがある。第１の種類は、複数の見出し語をもつエントリ用である。第１のまたは主要な見出し語のみが、見出し語デルタモジュール５１８によってタグに格納されることができるので、後続の見出し語は、実行時に利用可能なＩＩＴ５５４に格納されなければならない。ＩＩＴ５５４に格納される後続の見出し語は、各単語に関連づけられた所与のデータの値または単語識別番号とともに格納されることができる。実行時に、この一義的なデータの値は、所与のエントリに必要とされる見出し語列を復元するのに使われることができる。
【００６２】
いくつかの実施形態では、ＩＩＴ５５４の記憶配置は、４バイトの値のアレイを含み、１バイトの値は、エントリの「種類」を示し、３バイトの値は、見出し語の識別コードを符号化する。変化形などは、同じやり方で格納されるが、エントリがある特定の変化形種類であることを示すために、異なる識別コードでマーク付けされる。ＩＩＴ５５４に格納される別の種類のデータは、テキスト文中に出現する所与の品詞タグに関する確率情報を含む。たとえば、「ｄｏｇ」が名詞でも動詞でもよい例では、「ｄｏｇ」が名詞である確率は、どの文においても、「ｄｏｇ」が動詞として使われる確率より確実に高い。この確率情報は、見出し語および変化形と同様のやり方で格納されることができる。たとえば、合計で４バイトの情報が格納されることができるが、この場合、１バイトの値が「種類」を示し、３バイトの値が、用語集５１０中の特定の単語に関連づけられる。
【００６３】
ステップ６１８で、レキシコン構成および更新モジュール５００は、データフィールド４５０、４６０、４７０、４８０、４９０を生成しまたは提供して、ある特定の言語用のレキシコン３０８、５４０を構成する。レキシコン構成および更新モジュール５００は、たとえば英語、ドイツ語、スペイン語、中国語、韓国語など、どの言語においても、レキシコンを生成することができる。他の実施形態では、モジュール５００は、単語リスト５１０にある新しい単語を用いて、レキシコン３０８、５４０を更新する。このようなレキシコン更新機能は、レキシコン構成および更新モジュール５００が、たとえば、新しい単語が使用可能になると、レキシコン３０８、５４０に追加される、そうした新しい単語に関する（たとえば出版物やウェブサイトなどの）レキシコンデータを絶えず監視することを可能にする。さらに他の実施形態では、レキシコン構成および更新モジュール５００は、特定の目的のための部分集合レキシコンを生成することができる。たとえば、特定の科学、工学、スポーツ、文化、または芸術活動において使われる単語を含む、そうした活動を対象とする異なるレキシコンを有することが有利な場合がある。特定の活動に限定されたレキシコンは、有利には、レキシコン全体の大きさを制限する傾向にある。というのは、いくつかの単語は、一部の活動において共通であるが、それ以外の活動においては共通でないからである。また、いくつかの単語は、活動に応じて、違うように用いられる場合も、違うつづりをされる場合もあり得る。
【００６４】
本発明は、特定の実施形態を参照して説明されたが、本発明の精神および範囲から逸脱することなく、形体および細部において変更が行われることができることを当業者は理解するであろう。
【図面の簡単な説明】
【００６５】
【図１】本発明が実施されることができる一般的な計算機環境を示すブロック図である。
【図２】本発明が実施されることができる一般的なモバイル計算機環境を示すブロック図である。
【図３】本発明による、レキシコンにアクセスする言語処理システムを示すブロック図である。
【図４】本発明によるデータフィールドを示す図である。
【図４Ａ】図４に示したデータフィールドを拡大したものを示す図である。
【図５】本発明のレキシコンを構成する一実施形態を示すブロック図である。
【図６】本発明のレキシコンを構成する方法を示すフロー図である。
【符号の説明】
【００６６】
１２０  処理装置
１３０  システムメモリ
１３４  オペレーティングシステム
１３５  アプリケーションプログラム
１３６  他のプログラムモジュール
１３７  プログラムデータ
１４０  固定型不揮発性メモリインタフェース
１４４  オペレーティングシステム
１４５  アプリケーションプログラム
１４６  他のプログラムモジュール
１４７  プログラムデータ
１５０  取外し可能不揮発性メモリインタフェース
１６０  ユーザ入力インタフェース
１６１  指示装置
１６２  キーボード
１６３  マイクロホン
１７０  ネットワークインタフェース
１７１  ローカルエリアネットワーク
１７２  モデム
１７３  ワイドエリアネットワーク
１８０  リモートコンピュータ
１８５  リモートアプリケーションプログラム
１９０  映像インタフェース
１９１  モニタ
１９５  出力周辺インタフェース
１９６  プリンタ
１９７  スピーカ
２０２  プロセッサ
２０４  メモリ
２０８  通信インタフェース
２１４  アプリケーション（群）
２１６  オブジェクトストア
３０２  入力
３０４  出力
３０６  テキストアナライザ
３０８  レキシコン
【図１】
0004676181.tif 000002
【図２】
0004676181.tif 000003
【図３】
0004676181.tif 000004
【図４】
0004676181.tif 000005
【図４Ａ】
0004676181.tif 000006
【図５】
0004676181.tif 000007
【図６】
0004676181.tif 000008