(57)【要約】      （修正有）【課題】単語である可能性がある文字の組み合わせを、自然言語の文字列から選択するファシリティを提供する。【解決手段】ファシリティは、複数の文字の各々について、（ａ）当該文字で始まる単語の第２位置に現れる文字、および（ｂ）文字が単語内において現れる位置の指示を用いる。シーケンス内に現れる複数の文字の連続する組み合わせの各々について、ファシリティは、組み合わせの第２位置に現れる文字が、組み合わせの第１位置に現れる文字で始まる単語の中に現れるか否かについて判定を行なう。現れる場合、ファシリティは、組み合わせの各文字が、当該組み合わせの中でそれが現れる位置において、単語の中で現れることが示されているか否かについて判定を行なう。示されている場合、ファシリティは、文字の組み合わせが単語である可能性があると判定する。【選択図】図２
2010157260.tif 000002
【特許請求の範囲】
【請求項１】
中国語の文章を単語に区分するコンピュータ実施方法であって、
語彙知識ベース内の単語に含まれる文字毎に、前記語彙知識ベースにエントリを追加するステップであって、前記エントリは、前記単語内における前記文字の位置、および前記文字が含まれる前記単語の文字数を示すＣｈａｒＰｏｓ属性と、前記文字の次に続く文字を示すＮｅｘｔＣｈａｒｓ属性と、前記単語が他の単語を含むかどうかを示すＩｇｎｏｒｅＰａｒｔｓ属性とを含むステップと、
前記中国語の文章を受け取るステップと、
前記エントリを使用して、前記受け取った文章を単語に区分するステップであって、
前記文章に含まれる文字毎に、前記語彙知識ベース内の前記エントリに格納された前記３つの属性に基いて、前記文章内の多文字単語を前記文章内の単語を識別するための単語リストに追加するステップと、
前記文章に含まれる文字毎に、前記語彙知識ベース内の前記エントリに格納された前記３つの属性に基いて、前記文章内の単一文字単語を前記単語リストに追加するステップと、
前記単語リストに追加した前記多文字単語および前記単一文字単語について、前記文章の構文構造を規定する語彙レコードを生成するステップと、
前記単語リスト内の単語毎に、前記生成した語彙レコードに、前記単語が前記単語リスト内にあるより大きな単語に含まれるか否かを示す確率を割り当てるステップと、
前記語彙レコードを解析し、前記語彙レコードをリーフとして有する解析ツリーを生成するステップと、
を含むステップと
を備えることを特徴とする方法。
【請求項２】
中国語の文章を単語に区分するコンピュータ実施方法であって、
前記中国語の文章を受け取るステップと、
データベース内のエントリを使用して、前記受け取った文章を単語に区分するステップであって、前記エントリは、前記単語内における前記文字の位置、および前記文字が含まれる前記単語の文字数を示すＣｈａｒＰｏｓ属性と、前記文字の次に続く文字を示すＮｅｘｔＣｈａｒｓ属性と、前記単語が他の単語を含むかどうかを示すＩｇｎｏｒｅＰａｒｔｓ属性とを含み、
前記文章に含まれる文字毎に、前記語彙知識ベース内の前記エントリに格納された前記３つの属性に基いて、前記文章内の多文字単語を前記文章内の単語を識別するための単語リストに追加するステップと、
前記文章に含まれる文字毎に、前記語彙知識ベース内の前記エントリに格納された前記３つの属性に基いて、前記文章内の単一文字単語を前記単語リストに追加するステップと、
前記単語リストに追加した前記多文字単語および前記単一文字単語について、前記文章の構文構造を規定する語彙レコードを生成するステップと、
前記単語リスト内の単語毎に、前記生成した語彙レコードに、前記単語が前記単語リスト内にあるより大きな単語に含まれるか否かを示す確率を割り当てるステップと、
前記語彙レコードを解析し、前記語彙レコードをリーフとして有する解析ツリーを生成するステップと、
を含むステップと
を備えることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（技術分野）
本発明は、一般的に、自然言語処理の分野に関し、更に特定すれば単語区分（word segmentation）の分野に関するものである。
【背景技術】
【０００２】
（発明の背景）
単語区分とは、文のような言語の表現を構成する個々の単語を識別するプロセスのことである。単語の区分は、綴りや文法をチェックしたり、文から音声を合成したり、自然言語の解析や理解を行なったりする際に有用である。これらは全て、個々の単語の識別によって得られる効果である。
【０００３】
英文の場合、単語の区分を行なうのはむしろ単純である。即ち、空間や句読点符号が、文内の個々の単語を区切っているからである。以下の表１における英文を考えてみる。
【０００４】
【表１】
2010157260.tif 000003
【０００５】
隣接する一連の空間および／または一連の空間に先立つ単語の末端としての句読点符号を識別することによって、表１の英文は、以下の表２に示すように単純に区分することができる。
【０００６】
【表２】
2010157260.tif 000004
【０００７】
中国語の文では、単語の境界は、明示的ではなくむしろ暗示的である。以下の表３における文章を考えてみる。これは、“委員会はこの問題を昨日の午後ブエノス・アイレスで論じた”という意味である。
【０００８】
【表３】
2010157260.tif 000005
【０００９】
文章には句読点や空間がないにも拘らず、中国語の読者であれば、表３の文章を、以下の表４において下線を引いて区別した単語から成るものとして認識する。
【００１０】
【表４】
2010157260.tif 000006
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上述の例から、中国語の単語区分は、英語の単語区分と同様にはできないことがわかる。したがって、中国語の区分を自動的に行なう高精度で効率的な手法があれば、大きな有用性を有するであろう。
【課題を解決するための手段】
【００１２】
（発明の概要）
本発明によれば、単語区分ソフトウエア・ファシリティ（“ファシリティ”）が、中国語のような非区分言語における文の単語区分操作を行なう際に、（１）入力文章における文字の可能な組み合わせを評価して、入力文章内の単語を表す可能性がないものを破棄し、（２）辞書において残りの文字の組み合わせを調べ、これらが単語を構成できるか否か判定し、（３）単語であると判定した文字の組み合わせを、入力文章を表す代替語彙レコードとして、自然言語パーザに提出する。パーザは、入力文章の構文構造を表す構文解析ツリーを生成する。これは、入力文章における単語であることが証明された文字の組み合わせを表す語彙レコードのみを含む。語彙レコードをパーザに提出する際、ファシリティは、語彙レコードに重み付けを行い、パーザが長い文字の組み合わせを、短い文字の組み合わせよりも前に検討するようにする。何故なら、一般に、長い文字の組み合わせの方が、短い文字の組み合わせよりも文章の正しい区分を表す場合が多いからである。
【００１３】
入力文章における単語を表す可能性が低い文字の組み合わせを容易に破棄するために、ファシリティは、辞書内で現れる文字毎に、（１）単語長および単語が現れる文字位置の異なる組み合わせ全ての指示、および（２）この文字が単語を開始するときに、この文字の後に続く可能性がある文字全ての指示を、辞書に追加する。更に、ファシリティは、（３）多文字単語内に部分単語が存在可能で検討すべきか否かについて、多文字単語に対する指示も追加する。文章を処理する際、ファシリティは、いずれかの単語が辞書内にない単語長／位置の組み合わせで用いられている文字の組み合わせ、および（２）２番目の文字が最初の文字に可能な第２文字としてリストされていない文字の組み合わせを破棄する。更に、ファシリティは、（３）部分単語を考慮しない単語内に現れる文字の組み合わせも破棄する。
【００１４】
このように、ファシリティは、辞書内で調べる文字の組み合わせ数を最少に抑え、かつ文章の構文的文脈を利用して各々有効な単語から構成された区分選択肢の結果間で差別化する。
【図面の簡単な説明】
【００１５】
【図１】ファシリティが実行するすることが好ましい汎用コンピュータ・システムの上位ブロック図である。
【図２】ファシリティが動作することが好ましい２つのフェーズを示す概略フロー図である。
【図３】初期化フェーズにおいて語彙知識ベースを増強し、単語の区分を実行する際に用いる情報を含ませるために、ファシリティが実行することが好ましいステップを示すフロー図である。
【図４】特定の単語が、他の更に小さい単語を含む可能性があるか否かについて判定するために実行することが好ましいステップを示すフロー図である。
【図５】文章をその構成単語に区分するためにファシリティが実行することが好ましいステップのフロー図である。
【図６】多文字単語を単語リストに追加するためにファシリティが実行することが好ましいステップを示すフロー図である。
【図７】単語候補に対してＮｅｘＣｈａｒおよびＣｈａｒＰｏｓ条件を検査するためにファシリティが実行することが好ましいステップを示すフロー図である。
【図８】現単語候補の最後の文字が、単語であり得る別の単語候補と重複するか否かについて判定を行なうためにファシリティが実行することが好ましいステップを示すフロー図である。
【図９】単一文字単語を単語リストに追加するためにファシリティが実行することが好ましいステップを示すフロー図である。
【図１０】第１手法にしたがって単語リスト内の単語から発生した語彙レコードに確率を割り当てるためにファシリティが実行することが好ましいステップを示すフロー図である。
【図１１】第２手法にしたがって単語リスト内の単語から発生した語彙レコードに確率を割り当てるためにファシリティが実行することが好ましいステップを示すフロー図である。
【図１２】サンプル文章の構文構造を表す、パーザが生成する解析ツリーを示す解析ツリー図である。
【発明を実施するための形態】
【００１６】
（発明の詳細な説明）
本発明は、中国語文において単語区分を行なう。好適な実施形態では、単語区分ソフトウエア・ファシリティ（“ファシリティ”）が、中国語のような非区分言語における文の単語区分を行なう際に、（１）入力文章における文字の可能な組み合わせを評価して、入力文章内の単語を表す可能性がないものを破棄し、（２）辞書において残りの文字の組み合わせを調べ、これらが単語を構成できるか否か判定し、（３）単語であると判定した文字の組み合わせを、入力文章を表す代替語彙レコードとして、自然言語パーザに提出する。パーザは、入力センテンスの構文構造を表す構文解析ツリーを生成する。これは、入力文章における単語であることが証明された文字の組み合わせを表す語彙レコードのみを含む。語彙レコードをパーザに提出する際、ファシリティは、語彙レコードに重み付けを行い、パーザが長い文字の組み合わせを、短い文字の組み合わせよりも前に検討するようにする。何故なら、一般に、長い文字の組み合わせの方が、短い文字の組み合わせよりも文章の正しい区分を表す場合が多いからである。
【００１７】
入力文章における単語を表す可能性が低い文字の組み合わせを容易に破棄するために、ファシリティは、辞書内で現れる文字毎に、（１）単語長および単語が現れる文字位置の異なる組み合わせ全ての指示、および（２）この文字が単語の先頭にあるときに、この文字の後に続く可能性がある文字全ての指示を、辞書に追加する。更に、ファシリティは、（３）多文字単語に対して、多文字単語内に部分単語が存在可能であり検討すべきか否かについての指示も追加する。文章を処理する際、ファシリティは、（１）いずれかの単語が辞書内にない単語長／位置の組み合わせで用いられている文字の組み合わせ、および（２）２番目の文字が最初の文字に可能な第２文字としてリストされていない文字の組み合わせを破棄する。更に、ファシリティは、（３）部分単語を考慮しない単語内に現れた文字の組み合わせも破棄する。
【００１８】
このように、ファシリティは、辞書内で調べる文字の組み合わせ数を最少に抑え、かつ文章の構文的文脈を利用して、各々有効な単語から構成された代替区分の結果間で差別化する。
【００１９】
図１は、ファシリティが実行するのが好ましい汎用コンピュータ・システムの上位ブロック図である。コンピュータ・システム１００は、中央演算装置（ＣＰＵ）１１０、入出力デバイス１２０、およびコンピュータ・メモリ（メモリ）１３０を内蔵する。入出力装置間には、ハード・ディスク・ドライブのような記憶装置１２１、ＣＤ−ＲＯＭのようなコンピュータ読取可能媒体上で供給され、ファシリティを含むソフトウエア製品をインストールするために使用可能なコンピュータ読取可能媒体ドライブ１２２、およびコンピュータ１００が他の接続してあるコンピュータ・システム（図示せず）と通信可能なネットワーク接続部１２３がある。メモリ１３０は、中国語文内に現れる個々の単語を識別する単語区分ファシリティ１３１、自然言語文内に現れる単語を表す語彙レコードから、自然言語文の文章の構文構造を表す解析ツリーを生成する構文パーザ１３３、およびパーザが用いて解析ツリーのための語彙レコードを構築し、ファシリティが用いて自然言語文内に現れる単語を識別する語彙知識ベース１３２を含むことが好ましい。ファシリティは、前述のように構成したコンピュータ・システム上で実現することが好ましいが、異なる構成を有するコンピュータ・システム上でも実現可能であることを当業者は認めよう。
【００２０】
図２は、ファシリティが動作することが好ましい２つのフェーズを示す概略フロー図である。ステップ２０１において、初期化フェーズの一部として、ファシリティは語彙知識ベースを増強し、ファシリティが単語区分を実行する際に用いる情報を含ませる。ステップ２０１については、図３と関連付けて以下で更に詳しく論ずる。端的に言うと、ステップ２０１では、ファシリティは語彙知識ベース内のいずれかの単語内に現れた文字について、語彙知識ベースにエントリを追加する。文字毎に追加するエントリは、文字が単語内に現れる異なる位置を表すＣｈａｒＰｏｓ属性を含む。更に、文字毎のエントリは、現文字で始まる単語の２番目の位置において現れる文字の集合を示すＮｅｘｔＣｈａｒｓ属性も含む。最後に、ファシリティは、語彙知識ベース内に現れる各単語にＩｇｎｏｒｅＰａｒｔｓ属性も追加する。これは、当該単語を構成する文字列も、現単語を共に構成する、より小さな単語を構成すると考えるべきか否かを示す。
【００２１】
ステップ２０１の後、ファシリティはステップ２０２に進み、初期化フェーズを終了し、単語区分フェーズを開始する。単語区分フェーズでは、ファシリティは、語彙知識ベースに追加した情報を用いて、中国語文の文章の単語区分を実行する。ステップ２０２において、ファシリティは、単語区分のために、中国語文の文章を受け取る。ステップ２０３において、ファシリティは、受け取った文章をその構成単語に区分する。ステップ２０３については、図５と関連付けて以下で更に詳しく論ずる。端的に言えば、ファシリティは、語彙知識ベースにおいて、文章内の文字の可能な連続する組み合わせ全ての小さな断片を調べる。次いで、ファシリティは、語彙知識ベースによって単語であることが示された文字の調査済みの組み合わせを、構文パーザに提出する。パーザは、文章の構文構造を判定する際に、文章の著者が当該文章において単語を構成しようと意図した文字の組み合わせを識別する。ステップ２０３の後、ファシリティはステップ２０２に進み、単語区分のために次の文章を受け取る。
【００２２】
図３は、初期化フェーズにおいて語彙知識ベースを増強し、単語区分を実行する際に用いる情報を含ませるために、ファシリティが実行することが好ましいステップを示すフロー図である。これらのステップは、（ａ）語彙知識ベース内の単語に現れる文字について、語彙知識ベースにエントリを追加し、（ｂ）語彙知識ベース内にあるこの文字のエントリにＣｈａｒＰｏｓおよびＮｅｘｔＣｈａｒｓ属性を追加し、（ｃ）語彙知識ベース内の単語に対するエントリに、ＩｇｎｏｒｅＰａｒｔｓ属性を追加する。
【００２３】
ファシリティは、語彙知識ベース内の単語エントリ毎に、ステップ３０１〜３１２のループを繰り返す。ステップ３０２において、ファシリティは単語内の文字位置毎にループを繰り返す。即ち、３つの文字を含む単語について、ファシリティは、当該単語の第１、第２および第３文字に対してループを実行する。ステップ３０３において、現文字位置にある文字が語彙知識ベース内にエントリを有する場合、ファシリティはステップ３０５に進み、それ以外の場合、ファシリティはステップ３０４に進む。ステップ３０４において、ファシリティは現文字のエントリを語彙知識ベースに追加する。ステップ３０４の後、ファシリティはステップ３０５に進む。ステップ３０５において、ファシリティは、語彙知識ベース内の文字のエントリに格納してあるＣｈａｒＰｏｓ属性に、整列対（ｏｒｄｅｒｅｄ  ｐａｉｒ）を追加し、その文字は、現単語において現れた位置において現れる可能性があることを示す。追加する整列対は、（ｐｏｓｉｔｉｏｎ、ｌｅｎｇｔｈ）という形態を有し、ｐｏｓｉｔｉｏｎとは当該文字が単語内で占める位置であり、ｌｅｎｇｔｈは単語内の文字数である。例えば、
【００２４】
2010157260.tif 000007
【００２５】
という単語における文字“委”について、ファシリティは、整列対（１，３）を、文字“委”に対する語彙知識ベース・エントリ内のＣｈａｒＰｏｓ属性に格納されている整列対のリストに追加する。好ましくは、ファシリティは、整列対が既に現単語に対するＣｈａｒＰｏｓ属性に既に含まれている場合、ステップ３０５で説明したように、整列対を追加しない。ステップ３０６において、処理する現単語に未だ文字が残っている場合、ファシリティはステップ３０２に進み次の文字を処理する。それ以外の場合、ファシリティはステップ３０７に進む。ステップ３０７において、単語が単一文字単語である場合、ファシリティはステップ３０９に進み、それ以外の場合ファシリティはステップ３０８に進む。ステップ３０８において、ファシリティは、現単語の２番目の位置にある文字を、現単語の第１位置にある文字の語彙知識ベース・レコード内にあるＮｅｘｔＣｈａｒｓ属性内の文字リストに追加する。例えば、
【００２６】
2010157260.tif 000008
【００２７】
という単語では、ファシリティは、文字
【００２８】
2010157260.tif 000009
【００２９】
を文字“委”のＮｅｘｔＣｈａｒｓ属性に対して格納してある文字リストに追加する。ステップ３０８の後、ファシリティはステップ３０９に進む。  
ステップ３０９において、現単語が他の更に小さい単語を含むことができる場合、ファシリティはステップ３１１に進み、それ以外の場合ファシリティはステップ３１０に進む。ステップ３０９については、図４と関連付けて以下で更に詳しく論ずる。端的に言えば、ファシリティは多数の発見的方法を用いて、現単語を構成する文字列がある場合、ある文脈では、この文字列が２つ以上のより小さな単語を構成する可能性があるか否かについて判定を行なう。
【００３０】
ステップ３１０において、ファシリティは、前述の単語に対する語彙知識ベース・エントリにおいて、単語のＩｇｎｏｒｅＰａｒｔｓ属性をセット（set）する。ＩｇｎｏｒｅＰａｒｔｓ属性をセットすると、ファシリティがこの単語を入力文の文章内において発見した場合、この単語がより小さい単語を含むか否かについて判定するこれ以上のステップを実行しないことを意味する。ステップ３１０の後、ファシリティはステップ３１２に進む。ステップ３１１において、現単語は他の単語を含む可能性があるので、ファシリティは当該単語に対するＩｇｎｏｒｅＰａｒｔｓ属性をクリア（clear）し、入力文の文章内でその単語を発見した場合、ファシリティは当該単語がより小さな単語を含むか否かについての調査に進むようにする。ステップ３１１の後、ファシリティはステップ３１２に進む。ステップ３１２において、処理する語彙知識ベースに未だ単語が残っている場合、ファシリティはステップ３０１に進み、次の単語を処理する。それ以外の場合、これらのステップは終了する。
【００３１】
ファシリティが図３に示すステップを実行し、ＣｈａｒＰｏｓおよびＮｅｘｔＣｈａｒｓ属性を各文字に割り当てることによって、語彙知識ベースを増強する際、以下の表５に示すように、表３に示したサンプル文章内に現れた文字（Character）に対して、これらの属性を割り当てる。
【００３２】
表５：文字語彙知識ベース・エントリ
【００３３】
【表５】
2010157260.tif 000010
2010157260.tif 000011
【００３４】
図５の表から、例えば、文字“昨”のＣｈａｒＰｏｓ属性から、この文字は２、３または４文字長の単語の最初の文字として現れる可能性があることがわかる。更に、文字“昨”のＮｅｘｔＣｈａｒｓ属性から、この文字で始まる単語では、２番目の文字は、“儿”、“天”または“晩”のいずれかの可能性があることもわかる。
【００３５】
図４は、特定の単語が、他の更に小さい単語を含む可能性がる否かについて判定するために実行することが好ましいステップを示すフロー図である。英語との類似性として、英文からスペースおよび句読点記号を除去した場合、“ｂｅａｔ”という文字列は、単語“ｂｅａｔ”または２つの単語“ｂｅ”および“ａｔ”のいずれかとして解釈することが可能である。ステップ４０１において、単語が４つ以上の文字を含む場合、ファシリティはステップ４０２に進み、この単語は他の単語を含む可能性がないという結果を返す。それ以外の場合、ファシリティはステップ４０３に進む。ステップ４０３において、単語内の全ての文字が単一文字単語を構成することができる場合、ファシリティはステップ４０５に進み、それ以外の場合、ファシリティはステップ４０４に進み、単語は他の単語を含む可能性がないという結果を返す。ステップ４０５において、単語は派生接辞、即ち、接頭辞または接尾辞として頻繁に用いられる単語を含む場合、ファシリティはステップ４０６に進み、単語は他の単語を含む可能性がないという結果を返す。それ以外の場合、ファシリティはステップ４０７に進む。ステップ４０７において、単語内の隣接する文字対が言語の文中で隣接して現れる際分割されることが多い場合、ファシリティはステップ４０９に進み、単語は他の単語を含む可能性があるという結果を返す。それ以外の場合、ファシリティはステップ４０８に進み、単語は他の単語を含む可能性がないという結果を返す。
【００３６】
個々の単語が他のより小さい単語を含む可能性があるか否かについての判定結果を以下の表６に示す。
【００３７】
表６：単語語彙知識ベース・エントリ
【００３８】
【表６】
2010157260.tif 000012
【００３９】
例えば、表６から、単語（Word）“昨天”は他の単語を含む可能性はなく、一方“天下”は他の単語を含む可能性があるとファシリティが判定したことがわかる。
【００４０】
図５は、文章をその構成単語に区分するためにファシリティが実行することが好ましいステップのフロー図である。これらのステップは、文章内で現れる言語の異なる単語を識別する単語リストを生成し、この単語リストをパーザに提出し、著者が文章を構成しようとした、単語リスト内の単語の部分集合を識別する。
【００４１】
ステップ５０１において、ファシリティは、文章内に現れた多文字単語を単語リストに追加する。ステップ５０１については、図６と関連付けて以下で更に詳しく論ずる。ステップ５０２において、ファシリティは、文章内に現れた単一文字単語を、単語リストに追加する。ステップ５０２については、図９と関連付けて以下で更に詳しく説明する。ステップ５０３において、ファシリティは、語彙レコードを生成する。これは、語彙パーザが、ステップ５０１および５０２において単語リストに追加した単語のために用いる。ステップ５０４において、ファシリティは、語彙レコードに確率を割り当てる。語彙レコードの確率は、当該語彙レコードが文章の正しい解析ツリーの一部である確度を反映し、パーザが解析プロセスにおいて語彙レコードの適用を命令するために用いる。パーザは、解析プロセス中、語彙レコードをその確率が小さくなる順に適用する。ステップ５０４については、図１０と関連付けて以下で更に詳しく論ずる。ステップ５０５において、ファシリティは構文パーザを利用して、語彙レコードを解析し、文章の構文構造を反映する解析ツリーを生成する。この解析ツリーは、ステップ５０３において生成した語彙レコードの部分集合を、そのリーフとして有する。ステップ５０６において、ファシリティは、解析ツリーのリーフである語彙レコードが表す単語を、文章の単語として識別する。ステップ５０６の後、これらのステップは終了する。
【００４２】
図６は、多文字単語を単語リストに追加するためにファシリティが実行することが好ましいステップを示すフロー図である。これらのステップは、文章内の現位置を用いて文章を分析し、多文字単語を識別する。更に、これらのステップは、図４に示したように、ファシリティが語彙知識ベースに追加したＣｈａｒＰｏｓ、ＮｅｘｔＣｈａｒおよびＩｇｎｏｒｅＰａｒｔｓ属性を利用する。第１の好適な実施形態によれば、ファシリティは、図６に示すステップの実行中、必要に応じて、語彙知識ベースからこれらの属性を検索する。第２の好適な実施形態では、文章内の文字のＮｅｘｔＣｈａｒ属性および／またはＣｈａｒＰｏｓ属性の値は、全て、図６に示すステップの実行前に、予めロードしてある。第２の好適な実施形態に関連して、文章内に現れた文字毎に、ＣｈａｒＰｏｓ属性の値を含む三次元アレイをメモリに格納することが好ましい。このアレイは、文章内の所与の位置における文字について、当該文字が所与の長さの単語において所与の位置にある可能性があるか否かについて示すものである。これらの属性の値をキャッシュすることによって、図６に示すステップを実行する際に、これらに正式にアクセスすることが可能となる。
【００４３】
ステップ６０１において、ファシリティは、文章の最初の文字にこの位置をセットする。ステップ６０２ないし６１４において、ファシリティは、位置が文章の終端まで進み終えるまで、ステップ６０３ないし６１３を繰り返し続ける。
【００４４】
ステップ６０３ないし６０９において、ファシリティは、現位置から開始する単語候補毎にループを繰り返す。ファシリティは、現位置から開始し７文字長である単語候補から開始し、繰り返し毎に、単語候補の終端から１つの文字を除去し、単語候補が２文字長になるまで続ける。現位置から開始する文章内に残っている文字が７つ未満の場合、ファシリティは、文章内に十分な文字が残っていない単語候補に対する繰り返しを省略することが好ましい。ステップ６０４において、ファシリティは、単語候補を構成する文字のＮｅｘｔＣｈａｒおよびＣｈａｒＰｏｓ属性に関係する現単語候補の条件を検査する。ステップ６０４については、図７と関連付けて以下で更に詳しく論ずる。ＮｅｘｔＣｈａｒおよびＣｈａｒＰｏｓ条件双方が単語候補に対して満たされる場合、ファシリティはステップ６０５に進み、それ以外の場合、ファシリティはステップ６０９に進む。ステップ６０５において、ファシリティは、語彙知識ベース内で単語候補を調べ、当該単語候補が単語であるか否かについて判定を行なう。ステップ６０６において、単語候補が単語である場合、ファシリティはステップ６０７に進み、それ以外の場合、ファシリティはステップ６０９に進む。ステップ６０７において、ファシリティは、文章内に現れた単語のリストに、この単語候補を追加する。ステップ６０８において、単語候補が他の単語を含む可能性がある場合、即ち、この単語のＩｇｎｏｒｅＰａｒｔｓ属性がクリア（clear）の場合、ファシリティはステップ６０９に進み、それ以外の場合、ファシリティはステップ６１１に進む。ステップ６０９において、処理すべき単語候補が未だ残っている場合、ファシリティはステップ６０３に進み、次の単語候補を処理する。それ以外の場合、ファシリティはステップ６１０に進む。ステップ６１０において、ファシリティは、文章の終端に向かって現位置を１文字だけ進ませる。ステップ６１０の後、ファシリティはステップ６１４に進む。
【００４５】
ステップ６１１において、単語候補の最後の文字が、同様に単語であり得る他の単語候補と重複する場合、ファシリティはステップ６１３に進み、それ以外の場合、ファシリティはステップ６１２に進む。ステップ６１１については、図８と関連付けて以下で更に詳しく論ずる。ステップ６１２において、ファシリティは、文章内の単語候補の最後の文字の後ろにある文字に位置を進ませる。ステップ６１２の後、ファシリティはステップ６１４に進む。ステップ６１３において、ファシリティは、現単語候補の最後の文字に位置を進ませる。ステップ６１３の後、ファシリティはステップ６１４に進む。ステップ６１４において、位置が文章の終端でない場合、ファシリティはステップ６０２に進み、新たな単語候補群を検討する。それ以外の場合、これらのステップは終了する。
【００４６】
図７は、単語候補に対してＮｅｘｔＣｈａｒおよびＣｈａｒＰｏｓ条件を検査するためにファシリティが実行することが好ましいステップを示すフロー図である。ステップ７０１において、単語候補の２番目の文字が、単語候補の最初の文字のＮｅｘｔＣｈａｒリスト内にある場合、ファシリティはステップ７０３に進む。それ以外の場合、ファシリティはステップ７０２に進み、条件を双方共満足したという結果を返す。ステップ７０３ないし７０６において、ファシリティは、単語候補内の文字位置毎にループを繰り返す。ステップ７０４において、単語候補の現位置および長さで構成した整列対が、現文字位置における文字に対するＣｈａｒＰｏｓリスト内の整列対の中にある場合、ファシリティはステップ７０６に進み、それ以外の場合、ファシリティはステップ７０５に進み、双方の条件を満たしてはいないという結果を返す。ステップ７０６において、単語候補内に処理すべき文字位置が未だ残っている場合、ファシリティはステップ７０３に進み、単語候補内の次の文字位置を処理する。それ以外の場合、ファシリティはステップ７０７に進み、単語候補が双方の条件を満足したという結果を返す。
【００４７】
図８は、現単語候補の最後の文字が、単語であり得る別の単語候補と重複するか否かについて判定を行なうためにファシリティが実行することが好ましいステップを示すフロー図である。ステップ８０１において、単語候補の後ろにある文字が、当該単語候補の最後の文字に対するＮｅｘｔＣｈａｒ属性における文字リスト内にある場合、ファシリティはステップ８０３に進む。それ以外の場合、ファシリティはステップ８０２に進み、重複はないという結果を返す。ステップ８０３において、ファシリティは、語彙知識ベースにおいて、単語候補を、その最後の文字を除いて調べ、最後の文字を除いた単語候補が単語となるか否かについて判定を行なう。ステップ８０４において、最後の文字を除いた単語候補が単語になる場合、ファシリティはステップ８０６に進み、重複があるという結果を返す。それ以外の場合、ファシリティはステップ８０５に進み、重複がないという
結果を返す。
【００４８】
前述の例に関する、図６に示したステップの実行を、以下の表７に示す。
【００４９】
表７：検討した文字の組み合わせ
【００５０】
【表７】
2010157260.tif 000013
2010157260.tif 000014
2010157260.tif 000015
【００５１】
表７は、ファシリティが検討したサンプル文章からの文字の５３通りの組み合わせ（combination）の各々について、ＣｈａｒＰｏｓ検査の結果、ＮｅｘｔＣｈａｒｓ検査の結果、ファシリティが語彙知識ベース内で当該単語を調べたか否か（look up?）、そして語彙知識ベースが、文字の組み合わせが単語になることを示したか否か（is a word?）を示すものである。
【００５２】
組み合わせ１ないし４は、ＣｈａｒＰｏｓ検査で不合格（fail）であったことがわかる（fail on 昨）。何故なら、文字“昨”のＣｈａｒＰｏｓ属性は、整列対（１，７）、（１，６）、（１，５）または（１，４）を含まないからである。一方、組み合わせ５および６では、ＣｈａｒＰｏｓ検査およびＮｅｘｔＣｈａｒｓ検査双方共、合格（pass）である。したがって、ファシリティは、組み合わせ５および６を語彙知識ベース内で調べ、組み合わせ５は単語ではないが、組み合わせ６は単語であると判定する。組み合わせ６を処理し、現在位置からどれだけ進ませるか決定した後、ファシリティは、ＩｇｎｏｒｅＰａｒｔｓ属性がセット（set）されているが、単語“昨天”は文字“天”で始まるある単語候補と重複することを判定する。したがって、ファシリティは、ステップ６１３にしたがって、組み合わせ６の終端にある文字“天”まで進む。組み合わせ７〜１２では、組み合わせ１２のみがＣｈａｒＰｏｓ検査およびＮｅｘｔＣｈａｒｓ検査双方に合格している。したがって、組み合わせ１２を調べ、単語であると判定する。組み合わせ１２を処理し、現在位置をどれだけ進ませるか決定した後、ファシリティは、組み合わせ１２が構成する単語のＩｎｇｏｒｅＰａｒｔｓ属性がクリア（clear）であることを判定し、したがって、現位置を、組み合わせ１２に続く文字ではなく、文字“下”まで１文字進ませる。
【００５３】
更に、組み合わせ１８、２４、３７および４３は、ＩｇｎｏｒｅＰａｒｔｓ属性がセットされ、単語であり得るいずれの単語候補ともそれらの最後の文字が重複しない単語であることもわかる。したがって、各々を処理した後、ファシリティは、ステップ６１２にしたがって、当該文字の組み合わせに続く文字まで現位置を進ませることによって、これらの４つの組み合わせの各々に対して、不必要に４１個の余分な組み合わせまで処理することを省略する。
【００５４】
更に、組み合わせ２３および５０が構成する単語のＩｇｎｏｒｅＰａｒｔｓ属性はクリアであることもわかる。このため、ファシリティは、これらの組み合わせを処理した後、ステップ６１０にしたがって、１文字だけ現位置を進ませる。
【００５５】
更に、２文字の組み合わせ３０、３６、４７および５２は、ファシリティが単語を構成するとは判定しなかったこともわかる。したがって、ファシリティは、ステップ６１０にしたがって、これらの組み合わせを処理した後、１文字だけ現位置を進ませる。結局、ファシリティは、サンプル文章において可能な１１２個の組み合わせの内、わずか１４個のみを調べたに過ぎない。ファシリティが調べた１４個の組み合わせの内、９つは実際の単語である。
【００５６】
表８に示すように、表７と関連付けて説明した処理の後、単語リストは、組み合わせ６、１２、１８、２３，２４，３７、４３、５０および５３で構成された単語を含む（名詞（noun）、動詞（verb）、代名詞（pronoun）の品詞（part of speech）も示す）。
【００５７】
表８：多文字単語の単語リスト
【００５８】
【表８】
2010157260.tif 000016
【００５９】
図９は、単一文字単語を単語リストに追加するためにファシリティが実行することが好ましいステップを示すフロー図である。ステップ９０１ないし９０６において、ファシリティは、文章における文字毎に、最初の文字から最後の文字まで、ループを繰り返す。ステップ９０２において、ファシリティは、語彙知識ベース内にあるそのエントリに基づいて、当該文字が単一文字単語を構成するか否かについて判定を行い、構成しない場合、ファシリティは、単語リストに文字を追加せずに、ステップ９０６に進む。文字が単一文字単語を構成する場合、ファシリティはステップ９０３に進み、それ以外の場合、ファシリティはステップ９０６に進み、単語リストに文字を追加しない。ステップ９０３において、他の単語を含む可能性がない単語、即ち、既に単語リスト上にありそのＩｇｎｏｒｅＰａｒｔｓ属性がセットされている単語にこの文字が含まれる場合、ファシリティはステップ９０４に進み、それ以外の場合、ファシリティはステップ９０５に進み、この文字を単語リストに追加する。ステップ９０４において、この文字が、単語リスト上の別の単語と重複する、単語リスト上の別の単語内に含まれている場合、ファシリティはステップ９０６に進み、この文字を単語リストに追加しない。それ以外の場合、ファシリティはステップ９０５に進む。ステップ９０５において、ファシリティは、現文字を構成する単一文字単語を単語リストに追加する。ステップ９０６において、文章内に未だ処理すべき文字が残っている場合、ファシリティはステップ９０１に進み、文章内の次の文字を処理する。それ以外の場合、これらのステップは終了する。
【００６０】
以下の表９は、図９に示すステップを実行する際に、ファシリティが単語リストに追加した単一文字単語５４〜６１を示す（名詞（noun）、形態素（morpheme）、名詞（場所限定語）（noun(localizer）、動詞（verb）、前置詞（preposition）、副詞（adverb）、機能語（function word）、代名詞（pronoun）、名詞（分類辞）（noun(classifier)）の品詞（part of speech）も示す）。
【００６１】
表９：単一および多文字単語の単語リスト
【００６２】
【表９】
2010157260.tif 000017
【００６３】
多文字単語および単一文字単語を単語リストに追加し、これらの単語に対する語彙レコードを生成した後、ファシリティは、語彙レコードに確率を割り当てる。これは、パーザが、解析プロセスにおいて語彙レコードの適用を順序付ける際に用いる。以下で論ずる図１０および図１１は、ファシリティが語彙レコードに確率を割り当てるために用いる２つの代替手法を示す。
【００６４】
図１０は、第１手法にしたがって単語リスト内の単語から生成した語彙レコードに確率を割り当てるためにファシリティが実行することが好ましいステップを示すフロー図である。ファシリティは、究極的には、語彙レコード毎の確率を、パーザに解析プロセス中早期に語彙レコードを検討させる高い確率値、またはパーザに解析プロセス中後期に語彙レコードを検討させる低い確率値のいずれかにセットすることが好ましい。ステップ１００１ないし１００５において、ファシリティは、単語リスト内における単語毎にループを繰り返す。ステップ１００２において、現単語が単語リスト内にあるより大きな単語に含まれる場合、ファシリティはステップ１００４に進み、それ以外の場合、ファシリティはステップ１００３に進む。ステップ１００３において、ファシリティは、この単語を表す語彙レコードの確率を、高い確率値にセットする。ステップ１００３の後、ファシリティはステップ１００５に進む。ステップ１００４において、ファシリティは、その単語を表す語彙レコードの確率を、低い確率値にセットする。ステップ１００４の後、ファシリティはステップ１００５に進む。ステップ１００５において、単語リスト内に未だ処理すべき単語が残っている場合、ファシリティはステップ１００１に進み、単語リスト内にある次の単語を処理する。それ以外の場合、これらのステップは終了する。
【００６５】
以下の表１０は、図１０に示すステップにしたがって、単語リスト内の各単語に割り当てた確率値（probability value）を示す。確率を調べることにより、ファシリティは各文字を含む少なくとも１つの単語に高い（high）確率値を割り当てており、各文字を含む少なくとも１つの語彙レコードを解析プロセスの早期において検討するようにしていることがわかる。
【００６６】
表１０：確率を加えた単語リスト
【００６７】
【表１０】
2010157260.tif 000018
【００６８】
図１１は、第２手法にしたがって単語リスト内の単語から発生した語彙レコードに確率を割り当てるためにファシリティが実行することが好ましいステップを示すフロー図である。ステップ１１０１において、ファシリティは、単語リストを用いて、単語リスト内の単語で全体的に構成されている文章に可能な全ての区分を特定する。ステップ１１０２において、ファシリティは、ステップ１１０１において特定した、可能な区分の内、含む単語数が最も少ない１つ以上の区分を選択する。最少数の単語を有する可能な区分が１つよりも多い場合、ファシリティは、このような可能な区分の各々を選択する。
【００６９】
以下の表１１は、表９に示した単語リストから生成した、最も少ない単語（９個）を有する、可能な区分を示す。
【００７０】
【表１１】
2010157260.tif 000019
【００７１】
ステップ１１０３において、ファシリティは、選択した区分（複数）における単語の語彙レコードの確率を高い確率値にセットする。ステップ１１０４において、ファシリティは、選択した区分（複数）にない単語の語彙レコードの確率を低い確率値にセットする。ステップ１１０４の後、これらのステップは終了する。
【００７２】
以下の表１２は、図１１に示すステップにしたがって、単語リスト内にある各単語に割り当てた確率値（probability value）を示す。確率を調べることにより、ファシリティは各文字を含む少なくとも１つの単語に高い（high）確率値を割り当てており、各文字を含む少なくとも１つの語彙レコードを解析プロセスの早期において検討するようにしていることがわかる。
【００７３】
表１２：確率を加えた単語リスト
【００７４】
【表１２】
2010157260.tif 000020
【００７５】
図１２は、パーザが生成した、サンプル文章の構文構造を表す解析ツリーを示す解析ツリー図である。解析ツリーは、単一の文章レコード１２３１をその頭部として有し、かつ多数の語彙レコード１２０１〜１２１１をそのリーフとして有する階層構造であることがわかる。更に、解析ツリーは、単語を表す各語彙レコードを組み合わせて、１つ以上の単語を表すより大きな構文構造にする、中間構文レコード１２２１〜１２２７も有する。例えば、前置詞句レコード１２２３は、前置詞（preposition）を表す語彙レコード１２０４および名詞（noun）を表す語彙レコード１２０６を組み合わせる。図５のステップ５０６にしたがって、ファシリティは、解析ツリー内にある語彙レコード１２０１〜１２１１が表す単語を、サンプル文章を区分すべき単語として特定する。ファシリティがこの解析ツリーを保有して、文章に対して更に別の自然言語処理を実行するようにしてもよい。
【００７６】
以上、好適な実施形態を参照しながら本発明について示しかつ説明したが、本発明の範囲から逸脱することなく、形態および詳細において種々の変化または変更が可能であることは、当業者には認められよう。例えば、中国語以外の言語においても、単語の区分を行なうために、前述のファシリティの特徴（ａｓｐｅｃｔ）を適用することができる。更に、ここに記載した技術の適当な部分集合または上位集合も、単語の区分を実行するために適用することができる。
【図１】
2010157260.tif 000021
【図２】
2010157260.tif 000022
【図３】
2010157260.tif 000023
【図４】
2010157260.tif 000024
【図５】
2010157260.tif 000025
【図６】
2010157260.tif 000026
【図７】
2010157260.tif 000027
【図８】
2010157260.tif 000028
【図９】
2010157260.tif 000029
【図１０】
2010157260.tif 000030
【図１１】
2010157260.tif 000031
【図１２】
2010157260.tif 000032