(57)【要約】【課題】辞書を動的に更新可能とする。【解決手段】コーパスの中のテキストを構文解析するための方法を提供する。テキストの第１のセグメントに基づいて辞書の可能な新しいエントリの仮説を立てる（ステップ３０２）。次に、その可能な新しいエントリを使用して、テキストの第１のセグメントに関する正常な構文解析が形成される（ステップ３０７）。その正常な構文解析に基づき、新しいエントリを含むように辞書が変更される（ステップ３１２）。次に、辞書の中のその新しいエントリを使用してテキストの第２のセグメントを構文解析する（ステップ３００）。【選択図】図３
2008108274.tif 000002
【特許請求の範囲】
【請求項１】
コーパスの中のテキストを構文解析するコンピュータ・プログラムであって、該コンピュータ・プログラムはコンピュータのシステム・メモリ内に記憶可能であり、コンピュータの処理ユニットにより実行可能であり、前記コンピュータ・プログラムが記憶手段から読取られて前記処理ユニットにより実行される時、前記コンピュータが
入力テキスト・セグメント中の個別の語と句及び前記語と句の可能な品詞を識別する、トークン生成、モフォロジイ、及び品詞ユニットと、
前記トークン生成、モフォロジイ、及び品詞ユニットにより識別された語について構文解析トークンを提供する辞書仮説コーディネータと、
前記辞書仮説コーディネータにより前記解析トークンを提供されたシーディング・ユニットであって、前記解析トークンへスコアを割当て、そして前記コンピュータのメモリ内に格納された候補リスト内に開始ノードとして前記解析トークンとそのスコアを挿入するシーディング・ユニットと、
テキストの第１のセグメントの全体にわたって前記テキストの第１セグメントの構文解析を形成するノードセレクタ、規則エンジン及びメトリック計算機であって、メモリ内に格納された前記候補リスト内に挿入された前記解析トークンは前記解析の一部を形成するものであるノードセレクタ、規則エンジン及びメトリック計算機と、を構成して、
前記辞書仮説コーディネータは、前記トークン生成、モフォロジイ、及び品詞ユニットにより使用されなかった辞書内のエントリを変更することにより前記構文解析に基づいてメモリ内に記憶された前記辞書を変更し、
前記トークン生成、モフォロジイ、及び品詞ユニットがテキストの前記第１セグメントから分離されたテキストの次のセグメントを構文解析するためにメモリ内に記憶されそして前記仮説コーディネータにより変更された前記辞書内のエントリを使用する
ことを特徴とするコーパスの中のテキストを構文解析するコンピュータ・プログラム。
【請求項２】
前記辞書のエントリを変更することは、
成功的な構文解析に基づいて前記構文解析と関連するカウントを増加し、
しきい値を越える前記カウントを判定し、
前記しきい値を超過する前記カウントに基づいて既存の前記エントリをアクティブに設定することを含む請求項１に記載のコンピュータ・プログラム。
【請求項３】
前記カウントがしきい値を超えたことを判定することは、前記エントリに基づいて複数の可能なしきい値の中からしきい値を選択することを含むことを特徴とする請求項２に記載のコンピュータ・プログラム。
【請求項４】
前記辞書を変更するステップは、特有の領域と関連のあるテキストを構文解析するために使用できる領域特有の辞書を変更することを含むことを特徴とする請求項１に記載のコンピュータ・プログラム。
【請求項５】
第２のセグメントを構文解析するために、前記辞書の中の前記新しいエントリを使用する際、
メモリ内にマージされた辞書を形成するために、メモリ内に記憶された前記領域特有の辞書をメモリ内に記憶された一般的な辞書とマージし、
前記第２のセグメントを構文解析するために、前記マージされた辞書を使用する
ことを含むことを特徴とする請求項４に記載のコンピュータ・プログラム。
【請求項６】
前記領域特有の辞書と前記一般的な辞書をマージすることは、前記マージされた辞書の中の語に関する属性を、前記属性のいくつかが前記領域特有の辞書に由来し、前記属性のいくつかが前記一般的な辞書に由来するように指定することを含むことを特徴とする請求項５に記載のコンピュータ・プログラム。
【請求項７】
コンピュータ実行可能な命令を有するコンピュータ読取可能記憶媒体であって、前記命令がコンピュータの処理ユニットにより実行される時、前記コンピュータが
入力テキスト・セグメント中の語について可能な属性を識別し、前記可能な属性はメモリ内に記憶された辞書中にリストされておらず、そしてテキスト・セグメントから構文解析構造を形成するために使用される、トークン生成、モフォロジイ、及び品詞ユニットと、
前記語についての前記可能な属性に基づいて構文解析トークンを生成する辞書仮説コーディネータと、
前記テキスト・セグメントに対して構文解析構造を形成するために前記構文解析トークンを使用するノードセレクタ、規則エンジン及びメトリック計算機と、を構成して、
前記構文解析構造中に出現する構文解析トークンに基づいて前記辞書仮説コーディネータは、前記語に対する前記可能な属性をメモリ内に記憶されて構文解析構造を形成するために使用される前記辞書に追加し、
前記トークン生成、モフォロジイ、及び品詞ユニットが次のセグメントを構文解析するために辞書内の前記語についての可能な属性を検索するために前記辞書にアクセスする
ことを特徴とするコンピュータ読取可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自然言語処理に関連し、テキストの構文の構文解析において使用される辞書に関連した、コーパスの中のテキストを構文解析するコンピュータ・プログラムおよび記録媒体に関する。
【背景技術】
【０００２】
自然言語パーサは、自然言語（例えば、英語などの人間の言語）のテキストセグメントを取り上げ、普通は文を取り上げ、普通、構文解析ツリーと呼ばれるデータ構造を生成するプログラムである。この構文解析ツリーは、通常、入力セグメントの中の語と語の間の構文上の関係を表わす。
【０００３】
構文解析プロセスは、所与の言語における語の形態上の特性、構文上の特性、および意味上の特性を列挙する辞書を利用する。この辞書を使用して、パーサは、テキストを個別の語に分け、各語に関する標準化された形態（見出し語）を特定し、各語に関して適当な品詞を特定する。次に、この情報が、構文解析ツリーを構成する際に使用される。
【０００４】
従来、辞書は、１名または複数名の言語学者によって手作業で作成されてきた。しかし、このやり方で辞書を作成することは、時間がかかり、多くの労力を要する。辞書を作成する、または既存の辞書に新しいエントリを追加するのに必要とされる作業の量を削減するため、辞書のいくつかの部分を自動的に構築するいくつかの学習技術が開発されている。しかし、それらのヒューリスティックス（heuristics）は、完全なトレーニングコーパス（ｔｒａｉｎｉｎｇ  ｃｏｒｐｕｓ）が解析された後、通常、手作業の点検を含む別個の段階で辞書を更新する。言い換えれば、辞書は、動的に更新されない。このため、辞書は、望まれるほど完全ではない。
【０００５】
いくつかの文献に上述のような従来の技術に関連した技術内容が開示されている（例えば、非特許文献１参照）。
【０００６】
【非特許文献１】S. Thede他著「Analysis of Unknown Lexical Items Using Morphological and Syntactic Information with the TIMIT Corpus」Fifth Workshop on Very Large Corpora、１９９７年、ｐ．２６１−２７２
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来のシステムには上述したような種々の問題があり、さらなる改善が望まれている。  本発明は、このような状況に鑑みてなされたもので、その目的とするところは、辞書を動的に更新可能なコーパスの中のテキストを構文解析する方法および記録媒体を提供することにある。
【課題を解決するための手段】
【０００８】
コーパスの中のテキストを構文解析するための方法を提供する。この方法は、テキストの第１のセグメントに基づいて辞書の可能な新しいエントリの仮説を立てることを含む。次に、その可能な新しいエントリを使用して、テキストの第１のセグメントに関して正常な構文解析が形成される。その正常な構文解析に基づき、その新しいエントリを含むように辞書が変更される。次に、辞書の中のその新しいエントリを使用してテキストの第２のセグメントが構文解析される。
【０００９】
一実施形態では、テキストの第２のセグメントから第２の可能な新しいエントリの仮説が立てられ、その新しい辞書エントリおよび第２の可能な新しいエントリで正常な構文解析が形成される。正常な構文解析に基づき、第２の可能な新しいエントリを含むように辞書が変更される。
【発明の効果】
【００１０】
以上説明したように本発明によれば、辞書を動的に更新できる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して本発明の実施形態を詳細に説明する。図１は、本発明を実施することが可能な適切なコンピューティングシステム環境１００の例を示している。コンピューティングシステム環境１００は、適切なコンピューティング環境の一例に過ぎず、本発明の使用または機能の範囲に関して何ら限定を示唆するものではない。また、コンピューティングシステム環境１００が、例示的なコンピューティングシステム環境１００に例示した構成要素の任意の１つ、または任意の組み合わせに関連する何らかの依存性、または要件を有するものと解釈してはならない。
【００１２】
本発明は、多数の他の汎用、または特殊目的のコンピューティングシステムの環境または構成で動作する。本発明で使用するのに適している可能性がある周知のコンピューティングシステム、コンピューティング環境、および／またはコンピューティング構成の例には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、以上のシステムまたはデバイスの任意のものを含む分散コンピューティング環境等が含まれるが、以上には限定されない。
【００１３】
本発明は、コンピュータによって実行される、プログラムモジュールなどのコンピュータ実行可能命令の一般的な状況で説明することができる。一般に、プログラムモジュールには、特定のタスクを行う、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、構成要素、データ構造等が含まれる。また、本発明は、通信網を介してリンクされたリモートの処理デバイスによってタスクが行われる分散コンピューティング環境において実施してもよい。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶デバイスを含むローカルのコンピュータ記憶媒体とリモートのコンピュータ記憶媒体の両方の中に配置されることが可能である。
【００１４】
図１を参照すると、本発明を実施するための例示的なシステムが、コンピュータ１１０の形態で汎用コンピューティングデバイスを含んでいる。コンピュータ１１０の構成要素には、プロセッサ１２０、システムメモリ１３０、ならびにシステムメモリからプロセッサ１２０までを含む様々なシステム構成要素を結合するシステムバス１３０が含まれることが可能であるが、以上には限定されない。システムバス１２１は、メモリバスまたはメモリコントローラ、周辺バス、および様々なバスアーキテクチャの任意のものを使用するローカルバスを含むいくつかのタイプのバス構造の任意のものであることが可能である。例として、限定としてではなく、そのようなアーキテクチャには、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、およびメザニン（Ｍｅｚｚａｎｉｎｅ）バスとしても知られるＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｓ）バスが含まれる。
【００１５】
コンピュータ１１０は、通常、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ１１０によってアクセス可能な任意の利用可能な媒体であることが可能であり、揮発性の媒体と不揮発性の媒体、取外し可能な媒体と取外し不可能な媒体がともに含まれる。例として、限定としてではなく、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことが可能である。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を記憶するための、任意の方法または任意の技術で実装される揮発性の媒体および不揮発性の媒体、取外し可能な媒体および取外し不可能な媒体がともに含まれる。コンピュータ記憶媒体には、ＲＡＭ（random access memory）、ＲＯＭ（read only memory）、ＥＥＰＲＯＭ（electrically erasable programmable read-only memory）、フラッシュメモリまたは他のメモリ技術、ＣＤ（compact disk）−ＲＯＭ、ＤＶＤ（digital versatile disk）または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気記憶デバイス、あるいは所望の情報を記憶するのに使用することができ、コンピュータ１１０がアクセスすることができる任意の他の媒体が含まれるが、以上には限定されない。
【００１６】
通信媒体は、通常、搬送波などの変調されたデータ信号、または他のトランスポート機構で、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータを具現化し、あらゆる情報配信媒体を含む。「変調されたデータ信号」という用語は、信号に情報を符号化するような仕方で特性の１つまたは複数が設定または変更されている信号を意味する。例として、限定としてではなく、通信媒体には、有線ネットワークまたは直接配線接続などの有線媒体、ならびに音響媒体、ＲＦ（radio frequencies）媒体、赤外線媒体、およびその他の無線媒体などの、無線媒体が含まれる。また、前述したもののいずれかの組み合わせも、コンピュータ可読媒体の範囲に含まれるべきものである。
【００１７】
システムメモリ１３０は、読取り専用メモリ（ＲＯＭ）１３１およびランダムアクセスメモリ（ＲＡＭ）１３２などの揮発性メモリおよび／または不揮発性メモリの形態でコンピュータ記憶媒体を含む。スタートアップ中など、コンピュータ１１０内部の要素間で情報を転送するのを助ける基本ルーチンを含むＢＩＯＳ（Basic Input/Output System）１３３が、通常、ＲＯＭ１３１の中に記憶されている。ＲＡＭ１３２は、通常、プロセッサ１２０によって即時にアクセス可能であり、かつ／または現在、処理されているデータおよび／またはプログラムモジュールを含む。例として、限定としてではなく、図１は、オペレーティングシステム１３４、アプリケーションプログラム１３５、その他のプログラムモジュール１３６、およびプログラムデータ１３７を示している。
【００１８】
また、コンピュータ１１０は、他の取外し可能な／取外し不可能な、揮発性／不揮発性のコンピュータ記憶媒体を含むことも可能である。単に例として、図１は、取外し不可能な不揮発性の磁気媒体に対して読取りおよび書込みを行うハードディスクドライブ１４１、取外し可能な不揮発性の磁気ディスク１５２に対して読取りおよび書込みを行う磁気ディスクドライブ１５１、およびＣＤ−ＲＯＭまたは他の光媒体などの取外し可能な不揮発性の光ディスク１５６に対して読取りおよび書込みを行う光ディスクドライブ１５５を示している。例示的な動作環境において使用することができる他の取外し可能な／取外し不可能な揮発性／不揮発性のコンピュータ記憶媒体には、磁気テープカセット、フラッシュメモリカード、デジタルバーサタイルディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭ等が含まれるが、以上には限定されない。ハードディスクドライブ１４１は、通常、インタフェース１４０のようなノンリムーバブルメモリインタフェースを介してシステムバス１２１に接続され、また磁気ディスクドライブ１５１および光ディスクドライブ１５５は、通常、インタフェース１５０のようなリムーバブルメモリインタフェースでシステムバス１２１に接続される。
【００１９】
前述し、図１に示すドライブおよび関連するコンピュータ記憶媒体により、コンピュータ可読命令、データ構造、プログラムモジュール、およびその他のデータのストレージがコンピュータ１１０に提供される。図１では、例えば、ハードディスクドライブ１４１が、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７を記憶しているものとして示されている。以上の構成要素は、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７と同じであることも、異なることも可能であることに留意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７に、ここでは、少なくともそれらが異なるコピーであることを示すために異なる符号を付けている。
【００２０】
ユーザは、キーボード１６２、マイクロホン１６３、ならびにマウス、トラックボール、またはタッチパッドなどのポインティングデバイス１６１などの入力デバイスを介してコンピュータ１１０にコマンドおよび情報を入力することができる。他の入力デバイス（図示せず）には、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナ等が含まれてもよい。以上の入力デバイスおよび他の入力デバイスは、しばしば、システムバスに結合されたユーザ入力インタフェース１６０を介してプロセッサ１２０に接続されるが、パラレルポート、ゲームポート、またはＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などの他のインタフェースおよびバス構造で接続してもよい。また、モニタ１９１または他のタイプの表示デバイスも、ビデオインタフェース１９０などのインタフェースを介してシステムバス１２１に接続される。モニタに加えて、コンピュータは、出力周辺インタフェース１９５を介して接続することができるスピーカ１９７やプリンタ１９６などの他の周辺出力デバイスも含むことが可能である。
【００２１】
コンピュータ１１０は、リモートリモートコンピュータ１８０のような１つまたは複数のリモートリモートコンピュータに対する論理接続を使用するネットワーク化された環境で動作することも可能である。リモートリモートコンピュータ１８０は、パーソナルコンピュータ、ハンドヘルドデバイス、サーバ、ルータ、ネットワークＰＣ、ピア（peer）デバイス、または他の一般的なネットワークノードであることが可能であり、通常、コンピュータ１１０に関連して前述した要素の多く、またはすべてを含む。図１に描いた論理接続は、ローカルエリアネットワーク（ＬＡＮ）１７１およびワイドエリアネットワーク（ＷＡＮ）１７３を含むが、他のネットワークを含むことも可能である。そのようなネットワーキング環境は、オフィス、企業全体のコンピュータ網、イントラネット、およびインターネットで一般的である。
【００２２】
ＬＡＮネットワーキング環境で使用されるとき、コンピュータ１１０は、ネットワークインタフェースまたはネットワークアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーキング環境で使用されるとき、コンピュータ１１０は、通常、インターネットなどのＷＡＮ１７３を介して通信を確立するためのモデム１７２、または他の手段を含む。内部にあることも、外部にあることも可能なモデム１７２は、ユーザ入力インタフェース１６０または他の適切な機構を介してシステムバス１２１に接続することが可能である。ネットワーク化された環境では、パーソナルコンピュータ１１０に関連して描いたプログラムモジュール、またはプログラムモジュールの部分は、リモートのメモリ記憶デバイスの中に記憶されることが可能である。例として、限定としてではなく、図１は、リモートアプリケーションプログラム１８５をリモートコンピュータ１８０上に常駐するものとして示している。図示したネットワーク接続は、例示的なものであり、コンピュータ間で通信リンクを確立する他の手段を使用してもよいことが認められよう。
【００２３】
図２は、例示的なコンピューティング環境であるモバイルデバイス２００を示すブロック図である。モバイルデバイス２００は、マイクロプロセッサ２０２、メモリ２０４、入力／出力（Ｉ／Ｏ）コンポーネント２０６、ならびにリモートコンピュータまたは他のモバイルデバイスと通信するための通信インタフェース２０８を含む。一実施形態では、前述した構成要素は、適切なバス２１０を介して互いに通信するように結合される。
【００２４】
メモリ２０４は、バッテリバックアップモジュール（図示せず）を伴うランダムアクセスメモリ（ＲＡＭ）などの不揮発性の電子メモリとして実装され、モバイルデバイス２００への基本電力（ｇｅｎｅｒａｌ  ｐｏｗｅｒ）が遮断されたときにメモリ２０４の中に記憶された情報が失われないようにしている。メモリ２０４の一部分は、好ましくは、プログラム実行のためのアドレス指定可能なメモリとして割り振られ、メモリ２０４の別の部分は、好ましくは、ディスクドライブ上の記憶をシミュレートするように記憶のために使用される。
【００２５】
メモリ２０４は、オペレーティングシステム２１２、アプリケーションプログラム２１４、およびオブジェクトストア２１６を含む。動作中、オペレーティングシステム２１２は、好ましくは、メモリ２０４からプロセッサ２０２によって実行される。オペレーティングシステム２１２は、１つの好ましい実施形態では、マイクロソフトコーポレーションから市販されるＷＩＮＤＯＷＳ（登録商標）ＣＥブランドのオペレーティングシステムである。オペレーティングシステム２１２は、好ましくは、モバイルデバイス向けに設計されており、１組の公開されたアプリケーションプログラミングインタフェースおよびメソッドを介してアプリケーション２１４が利用することができるデータベース機能を実装している。オブジェクトストア２１６の中のオブジェクトは、少なくともある程度、公開されたアプリケーションプログラミングインタフェースおよびメソッドに対する呼出しに応答して、アプリケーション２１４およびオペレーティングシステム２１２によって保持される。
【００２６】
通信インタフェース２０８は、モバイルデバイス２００が情報を送受信することを可能にする多数のデバイスおよび技術を表わす。このデバイスには、いくつかを挙げれば、有線モデムおよび無線モデム、衛星受信機、および放送チューナが含まれる。また、モバイルデバイス２００は、コンピュータとデータを交換するようにコンピュータに直接に接続することも可能である。そのような場合、通信インタフェース２０８は、赤外線トランシーバ、あるいはシリアル通信接続またはパラレル通信接続であることが可能であり、以上のすべては、ストリーミング情報を伝送することができる。
【００２７】
入力／出力コンポーネント２０６には、タッチセンシティブ（ｔｏｕｃｈ−ｓｅｎｓｉｔｉｖｅ）スクリーン、ボタン、ローラ（ｒｏｌｌｅｒ）、およびマイクロホンなどの様々な入力デバイス、ならびに音声生成器、振動デバイス、およびディスプレイを含む様々な出力デバイスが含まれる。以上に挙げたデバイスは、例としてのものであり、すべてがモバイルデバイス２００上に存在する必要はない。さらに、他の入力／出力デバイスが、本発明の範囲内でモバイルデバイス２００に付加されること、またはモバイルデバイス２００と一体になっていることが可能である。
【００２８】
本発明は、自然言語構文解析において使用される辞書を動的に更新する方法を提供する。この方法を以下に図３のフローチャート、および図４のブロック図を参照して説明する。
【００２９】
図３のプロセスは、ステップ３００で開始し、入力テキストセグメント４０２が受け取られる。受け取られたテキストを使用して、ステップ３０２で、可能な新しい辞書エントリが特定される。本発明では、可能な新しい辞書エントリは、構文解析ツリーを形成することに関連する１つまたは複数の技術を使用し、かつ一般的な辞書４５４と領域特有の辞書４５６の組み合わせであるマージされた辞書４５２の現行の形態を使用して特定される。
【００３０】
構文解析ツリーを構成する前に、入力テキストセグメントの中の個々の語および個々の句、ならびにそれらの語および句の可能な品詞が、「トークン生成（tokenization）、モフォロジ（morphology）および品詞タガー（tagger）」ユニット４０３を使用して特定される。
【００３１】
トークン生成中、テキストの中の文字が、語および句にグループ化される。ほとんどの言語の場合、これは、文字と文字の間のスペースを探すことによって大体、達せられる。ただし、中国語などの分節されない（ｕｎｓｅｇｕｍｅｎｔｅｄ）言語の場合、トークン生成には、グループの文字が、辞書の中の有効な語を成すかどうかを判定することが関わる。辞書の可能な新しいエントリは、その言語の要件を満たすが辞書の中に存在しない語群または語の属性を含む、区分（ｓｅｇｍｅｎｔａｔｉｏｎ）を見出すことによってトークン生成中に特定される。
【００３２】
例えば、中国語テキストのトークン生成中、本発明の一実施形態は、辞書の中で独立の語としてリストされていない単一文字の形態素が、１文字の語として扱われるべきかどうかを判定する。この判定は、その文字が、可能な区分の中で複数文字の語に包含されるかどうか、またその形態素が、所与の文脈において出現するかどうかなどに基づく。
【００３３】
さらなる実施形態では、辞書の中の語であると判明しなかった文字の組み合わせが、辞書に追加されるべき新しい語である可能性があるかどうかについての判定が行われる。そのような組み合わせは、文字のその組み合わせが他の語に包含されない区分が存在し、それらの文字が独立の語である同時確率（ｊｏｉｎｔ  ｐｒｏｂａｂｉｌｉｔｙ）が低く、新しい語の内部構造が、その言語に関する語形成規則に適合し、かつ構成要素の文字が、辞書の中の他の語と同様の振舞いを見せる場合、新しい語である可能性があるものと見なされる。
【００３４】
形態解析は、語の形（shape）に基づき、語の適当な品詞、および語がとる可能性がある論法（ａｒｇｕｍｅｎｔ）を判定することに関わる。例えば、英語では、「ｉｎｇ」で終わる語は、動詞である可能性が高い。本発明では、可能な新しい辞書エントリは、形態解析中に特定することができる。詳細には、語の形状（form）を使用して、その語に関する新しい品詞の仮説を立てることができる。
【００３５】
品詞タグ付け（tagging）は、テキストセグメントの全般的な内容を調べ、そのテキストの中の他の語の場所に基づき、そのテキストセグメント内の語に関して適当な品詞の判定を行う。例えば、ある語は、法動詞または助動詞が先行している場合、相のマーカが後に続く場合、または副詞または副詞句が先行する場合、中国語における動詞と見なすことができる。このタイプの解析を本発明において使用して、語に関する新しい品詞の仮説を立てることができる。
【００３６】
トークン生成、モフォロジ、および品詞タグ付けの後、擬似事実（factoid）および名前付きエンティティユニット４０４が、入力テキストの中の擬似事実、および名前付きエンティティを特定する。これには、特定の人物、場所、または日付を表わす「Ｂｉｌｌ  Ｇａｔｅｓ」、「Ｌｏｎｄｏｎ  Ｂｒｉｄｇｅ」、および「Ｓｅｐｔｅｍｂｅｒ  ２０，１９９２」などが含まれる。テキストの構造により、いくつかのトークンが実際に名前付きエンティティであることが示されることが可能である。そのトークンに関する辞書エントリがマージされた辞書４５２の中に存在しない場合、またはエントリにより、そのトークンが名前付きエンティティを表わすことが示されない場合、本発明は、そのトークンにそのようにマークを付け、辞書の中で可能な新しいエントリを生成する。
【００３７】
本発明のさらなる実施形態では、テキストセグメントから形成された構文解析ツリー４１４を検査し、その構文解析ツリーの中のトークンを組み合わせて、または再定義して、構文解析ツリーを改良することができるかどうかを判定することにより、辞書の可能なエントリが特定される。改良される場合、トークンのその組み合わせ、またはトークンに関するその新しい定義を可能な新しい辞書エントリとして提示することができる。
【００３８】
例えば、構文解析ツリーを検査して、構文解析ツリーが名詞複合語（ｎｏｕｎ  ｃｏｍｐｏｕｎｄ）として知られるマルチワードフレーズ（ｍｕｌｔｉ−ｗｏｒｄ  ｐｈｒａｓｅ）を含むかどうかを判定することができる。そのような句は、一緒に単一の事項を表わす２つまたはそれより多くの語を含む。例えば、「ｄｉａｌｏｇ  ｂｏｘ」、「ｍｏｕｓｅ  ｐｏｉｎｔｅｒ」、および「ｆｉｌｅ  ｎａｍｅ」がそうである。新しい可能な名詞複合語の仮説を立てるのに、構文解析ツリーを検査して、名詞複合語として構文解析されたマルチワードフレーズが存在するかどうかを調べる。存在し、その名詞複合語が辞書の中に存在しない場合、その名詞複合語が、辞書に追加されるべき新しい可能な複数語エントリとして特定される。
【００３９】
ステップ３０２で、可能な新しい辞書エントリが特定されると、新しいエントリを表わす構文解析トークンが、辞書仮説コーディネータ４５０によってシーディング（ｓｅｅｄｉｎｇ）ユニット４０５に提供される。このトークンは、可能な新しいエントリに関連する１つまたは複数の語、ならびにその語に関する品詞、およびその語がとる可能性がある論法などの、サブカテゴリ化（ｓｕｂ−ｃａｔｅｇｏｒｉｚａｔｉｏｎ）情報を含む。辞書仮設コーディネータ４５０によって提供されるトークンに対する代替を表わすトークンを含め、テキストセグメントの残りの部分に関するトークンが、擬似事実および名前付きエンティティユニット４０４によって提供される。辞書の中の既存の語に関する潜在的な新しい品詞がテストされている場合、各品詞に関して別個のトークンがシーディングユニット４０５に提供されることに留意されたい。
【００４０】
シーディングユニット４０５は、自らが受け取る各トークンにスコアを付けて、そのトークンが最終構文解析の中に入る確率を示す。誤ったエントリが辞書の中に導入される確率を小さくするため、シーディングユニット４０５は、ステップ３０４で仮説コーディネータ４５０によって提供されたトークンに低いスコアを割り当てる。これにより、この提案のエントリが不利にされ、この提案のエントリは、満足の行く構文解析を提供するその他のトークンが用意されていない場合にだけ、最終の構文解析の中で出現する。次に、各トークン、および各トークンのスコアが、ステップ３０６で、開始ノードとして候補リスト４０６の中に挿入される。
【００４１】
次に、ステップ３０７で、構文解析ツリーが反復プロセスを介して構成される。各回の反復中、単一の候補ノードが、ノードセレクタ４０７によって候補リスト４０６からノードチャート４０８に起用される。通常、これは、最高スコアを有するノードを先に起用することによって行われる。起用されたノードは、次に、規則エンジン４０９によって規則文法４１０における規則に照らしてテストされ、その規則の１つを使用して起用されたノードをより高いレベルのノードに変換することが可能かどうかが調べられる。これは、単一の要素から成る規則を起用されたノードに単独で適用することによって、または起用されたノードをノードチャート４０８の中のノードの１つまたは複数と組み合わせる規則を適用することによって行われることが可能である。
【００４２】
テスト中、考慮されているノードのフレーズタイプが、規則によって必要とされるフレーズタイプと比較される。例えば、規則は、動詞句と名詞句を取り上げてより大きい動詞句を形成するかもしれない。そのような規則の場合、その規則の条件が満たされるには、起用されたノードと、ノードチャートの中の少なくとも１つの他のノードによって名詞句のフレーズタイプと動詞句のフレーズタイプが提供されなければならない。適切なフレーズタイプがノードチャートの中に存在しない場合、規則セットの中の次の規則が調べられる。
【００４３】
いくつかの実施形態では、規則は、フレーズタイプを超えたさらなる条件を有することに留意されたい。例えば、規則により、名詞句と動詞句の間で数の一致（単数または複数）が要求されることが可能である。さらに、規則により、構成ノードの１つまたは複数に関して特定のフレーズレベルが要求されることが可能である。
【００４４】
ノードチャートがある規則を満たすノードを含むとき、その規則が実行されて新しいノードが形成される。この実行は、ノードの構造を記述する１組の属性、およびそのノードによって表わされる節の中で見出される関係を定義する属性を判定することを含む。例えば、節の中の主語、目的語、間接目的語、および主動詞（ｈｅａｄ  ｖｅｒｂ）の見出し語形態、ならびにそのノードが範囲とする最初のトークンおよび最後のトークンが判定されることが可能である。
【００４５】
次に、規則を実行することによって形成された新しいノードに、メトリック計算器（ｍｅｔｒｉｃ  ｃａｌｃｕｌａｔｏｒ）４１２を使用してスコアが付けられる。次に、ノードに割り当てられたスコアが、存在すれば、どのノードを次にチャートに起用するかを判定するのに使用される。多数の異なるメトリック（ｍｅｔｒｉｃ）の任意のものを使用してノードにスコアを付けることができる。例えば、ノードタイプの頻度、ノードに関連する主要語（ｈｅａｄｗｏｒｄ）、ノードのフレーズレベル、およびノードの構文上の履歴（ｓｙｎｔａｃｔｉｃ  ｈｉｓｔｏｒｙ）をすべて使用することが可能である。ＳＧＭ（Ｓｔａｔｉｓｔｉｃａｌ  Ｇｒａｍｍｅｒ  Ｍｅｔｒｉｃ）として知られる１つのタイプのメトリックは、前掲のファクタの１つまたは複数のに関連する確率に基づいてノードに関するスコアを判定する。
【００４６】
スコアが付けられたノードは、候補リスト４０６に挿入される。一部の実施形態では、候補リスト４０６は、各ノードのスコアに基づいてソートされ、最高スコアを有するノードが候補リストの先頭に来るようにする。次回の反復の開始時に、この先頭の候補ノードが、ノードチャートに起用される。
【００４７】
前述した反復は、入力セグメント全体にわたる１つまたは複数のノードがノードチャート４０８の中に形成されるまで続けられる。次に、以上の最終ノードの少なくとも１つが、構文解析ツリー４１４として選択される。
【００４８】
ステップ３０８で、辞書仮説コーディネータ４５０が構文解析ツリー４１４を検査して、可能な新しい辞書エントリに関するトークンが構文解析ツリーの一部を形成しているかどうかを判定する。トークンが、構文解析ツリーの一部を形成していない場合、そのエントリは、辞書に追加されず、プロセスは、ステップ３００に戻り、次のテキストセグメントが選択される。
【００４９】
ステップ３０８で、トークンが構文解析ツリー４１４の一部を形成している場合、辞書仮説コーディネータ４５０が、辞書４５２の中のトークンに関連するエントリを探索する。一部の実施形態では、エントリは、辞書の中に存在するが、アクティブではないことが可能である。これは、そのエントリが、以前に最終の構文解析を形成するのに使用されているが、辞書の中のそのアクティブなエントリを正当化するだけ十分な回数、使用されていない場合に生じる。アクティブでないエントリは、「トークン生成、モフォロジおよび品詞タガー」ユニット、または擬似事実および名前付きエンティティユニットによって使用されない。
【００５０】
エントリは、ステップ３１０で辞書の中にない場合、ステップ３１２で辞書に追加され、非アクティブなものとしてマークが付けられる。ステップ３１２の後、プロセスは、ステップ３００に進み、次のテキストセグメントが選択される。
【００５１】
本発明のほとんどの実施形態では、エントリは、領域特有の辞書４５６に追加される。これにより、医学、コンピュータサイエンス、または政治などの特定の領域に関連するテキストを構文解析するのに使用することができる特殊化された辞書の自動的な生成が可能になる。処理されているテキストに応じて、適切な領域特有の辞書をすべての領域で使用される一般的な辞書とマージすることができる。このマージ中、領域特有の辞書の中の属性が、一般的な辞書の中の属性よりも優先される。ただし、属性が矛盾しない場合、領域特有の辞書と一般的な辞書の両方の中の属性を構文解析中に使用することが可能である。
【００５２】
エントリが既に辞書の中にある場合、そのエントリが最終の構文解析の中で出現した回数を示すカウントが、ステップ３１４で増分される。ステップ３１６で、このカウントが、しきい値と比較されて、エントリが、辞書の中のそのアクティブなエントリを正当化するだけ十分な数の最終の構文解析の中で出現したかどうかが判定される。エントリは、十分な数の構文解析の中で出現していない場合、非アクティブなままになり、プロセスは、ステップ３００に戻る。エントリは、十分な数の構文解析の中で出現している場合、ステップ３１８でアクティブに設定され、プロセスは、ステップ３００に戻る。
【００５３】
一実施形態では、異なるタイプのエントリに関して異なるしきい値が使用される。詳細には、エントリは、辞書の中の新しい語を表わす場合、辞書の中の既存の語に関する新しい属性または新しいサブカテゴリ化を表わす場合よりも、低いしきい値を有する。
【００５４】
エントリがアクティブにされた後、そのエントリを次のテキストセグメントの、トークン生成中、モフォロジ、品詞タグ付け中、および名前付きエンティティ特定中に使用できることに留意されたい。したがって、辞書は、コーパスの中のすべてのテキストセグメントの構文解析が済むまで待ってから変更されるのではなく、テキストコーパスの構文解析中に動的に変更される。
【００５５】
これにより、本発明に利点が提供される。というのは、新しいエントリをより早く使用することが可能になり、これにより、現行のコーパスの中でテキストのよりよい構文解析が達せられ、辞書に加える追加のエントリの仮説を立てることが可能になるからである。
【００５６】
辞書にエントリを動的に追加することにより、新しいエントリを、そのエントリが存在している可能性を推測させるだけ十分な手掛りを与えないテキストセグメントの中で識別することが可能になるため、よりよい構文解析が可能になる。例えば、あるテキストセグメントに関する最良の構文解析が、ある特定の語の動詞形を含むが、テキストセグメントが、その語の動詞形を識別するのを可能にするだけ十分な文脈情報を与えない場合、その語の動詞形に関するエントリを含むように辞書を更新することにより、そのテキストに関する最良の構文解析を実現することが可能になる。
【００５７】
また、辞書を動的に更新することにより、テキストを解析するためのより多くの情報が提供されるため、より多くの辞書エントリを特定することが可能になる。詳細には、辞書を更新することにより、ある文においてパーサが行わなければならない推測の回数が少なくなる。各回の推測に関連するトークンには、候補リストに入れられるときに低いスコアが与えられるので、特定の構文解析構造に関連する推測の回数を減らすことにより、構文解析が形成される可能性が高まる。したがって、本発明では、新たに追加されたエントリを使用して、辞書への別の可能な追加を含む文を構文解析することができる。新たに追加されたエントリには、候補リストに入れられるときに、推測されたエントリよりも高いスコアが与えられるため、新たに追加されたエントリが辞書に入れられなかった場合よりも、可能な追加を含む構文解析が生成される可能性が高い。したがって、図３で前述したとおり、辞書を動的に更新することにより、辞書へのより多くの可能な追加が特定される。
【００５８】
本発明を特定の実施形態に関連して説明してきたが、本発明の趣旨および範囲を逸脱することなく、形態および詳細の変更を行うことが可能であることが、当業者には認められよう。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施形態の一般的なコンピューティング環境を示すブロック図である。
【図２】本発明の実施形態のモバイルデバイスを示すブロック図である。
【図３】本発明の実施形態の辞書を拡張する方法を示すフローチャートの図である。
【図４】本発明の実施形態の構文解析システムを示すブロック図である。
【符号の説明】
【００６０】
４０２  入力テキストセグメント
４０３  トークン生成、モフォロジおよび品詞タグ付けユニット
４０４  擬似事実および名前付きエンティティユニット
４０５  シーディングユニット
４０６  候補リスト
４０７  ノードセレクタ
４０８  ノードチャート
４０９  規則エンジン
４１０  規則文法
４１２  メトリック計算器
４１４  構文解析ツリー
４５０  辞書仮説コーディネータ
４５２、４５４、４５６  辞書
【図１】
2008108274.tif 000003
【図２】
2008108274.tif 000004
【図３】
2008108274.tif 000005
【図４】
2008108274.tif 000006