説明

CJK名前検出

【課題】中国、日本、および韓国の言語のための名前を検出する。
【解決手段】名前検出に関する実施例が提供される。方法は、姓のコレクションと、n-グラムのコレクションを含む注釈付コーパスとを使用することで、未加工名前検出モデルを生成するステップを含み、各n-グラムは、前記注釈付コーパスにおいて名前として出現することの対応する確率を有する。方法は、前記未加工名前検出モデルを準構造化データのコレクションに適用して、注釈付準構造化データを形成するステップと、前記未加工名前検出モデルを大規模な注釈のないコーパスに適用して、名前を特定する前記大規模な注釈のないコーパスのn-グラムと、名前を特定しないn-グラムとを特定する大規模な注釈付コーパスデータを形成するステップとを含み、前記注釈付準構造化データは、名前を特定するn-グラムと名前を特定しないn-グラムとを特定する。方法は、名前検出モデルを生成するステップを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、名前検出に関し、特に、中国、日本、および韓国(「CJK」)の言語のための名前検出に関する。
【0002】
名前検出は、自然言語処理で通常使用される(例えば、自動音声認識(ASR)、機械翻訳(MT)、光学文字認識(OCR)、文の構文解析、非ローマ字インプットメソッドエディタ(IME)、およびWebサーチアプリケーション)。
【0003】
単純ベイズ式分類法(Naive Bayesian classification method)を使用して、文字のシーケンス「X」が名前を特定するか否かを検出することができる(そのコンテキスト(例えば、「X」の前または後に出現する文字)を付与された名前を特定する「X」の確率と、そのコンテキストを付与された名前を特定しない「X」の確率との比率によって)。言語モデルを使用して、これらの条件付き確率を計算する。代表的な統計的言語モデルは、その履歴(例えば、データのコレクションにおける、以前の単語又は文字シーケンスの出現)を付与された、単語又は文字シーケンスの確率測定である。特に、マルコフの仮定に基づく従来のn-グラム言語モデルを使用して、単語又は文字シーケンスを予測する。
【0004】
n-グラムは、n個の連続したトークン(例えば、単語または文字)のシーケンスである。nグラムは、順序を有する(n-グラムの中のトークンの数である)。例えば、1グラム(または、ユニグラム)は1つのトークンを含み、2グラム(または、バイグラム)は2つのトークンを含んでいる。
【0005】
所定のn-グラムは、n-グラムの異なった部分に従って、記述することができる。n-グラムは、コンテキストおよび将来のトークン(コンテキスト、c)として記述することができ、ここで、コンテキストは長さn-1を有し、かつ、cは将来のトークンを表す。例えば、3グラム「x y z」は、n-グラムコンテキストおよび将来のトークンの観点から記述することができる。n-グラムコンテキストは、n-グラムの最後のトークンに先行するn-グラムのすべてのトークンを含んでいる。所定の例で、「x y」がコンテキストである。コンテキストの中の左端のトークンが、左のトークンと称される。将来のトークンは、n-グラムの最後のトークンであり、例では「z」である。また、n-グラムは、右のコンテキストおよびバックオフ(backed off)コンテキストに関して記述することができる。右のコンテキストは、n-グラムの第1トークンに続くn-グラムのすべてのトークンを含む((n-l)グラムとして表される)。上記した例では、「y z」が右のコンテキストである。さらに、バックオフコンテキストは、コンテキストの中の左端のトークンを差し引いた、n-グラムのコンテキストである。上記した例では、「y」がバックオフコンテキストである。
【0006】
各n-グラムは、トレーニングデータにおけるn-グラム相対度数の関数として計算される、関連した確率評価を有する。例えば、L個のトークンのストリングが、
【0007】
【数1】

【0008】
として表される。ストリング
【0009】
【数2】

【0010】
に以下として、
【0011】
【数3】

【0012】
確率を割り当てることができる。ここで、近似は、ストリングにおける次のトークンを予測するとき、直前の(n-1)トークンだけが関連しているというマルコフの仮定に基づき、かつ、Pに対する「^」という記号は確率関数の近似であることを示す。
【0013】
CJK言語では、文には単語境界がない。その結果、文は、人々の名前の検出の前に、自動的に区分される必要がある。したがって、区分化エラーは名前検出に伝播する。
【0014】
CJK名前は、大規模な統計から得ることができる形態学的な法則を有する。例えば、300個の一般的な中国人の姓が、人口の99%以上をカバーしている。多くの場合、女性の名前は、
【0015】
【数4】

【0016】
(na, hong, bing, li)などの文字を含んでいる。通常、一般的な名は姓から独立している。例えば、
【0017】
【数5】

【0018】
という姓、および、
【0019】
【数6】

【0020】
という名の組合せに対する統計が利用可能である場合、名前を特定する他の
【0021】
【数7】

【0022】
という姓、および、
【0023】
【数8】

【0024】
という名の組合せを、姓を特定する
【0025】
【数9】

【0026】
の統計および、名を特定する
【0027】
【数10】

【0028】
の統計を使用することで予測することができる。さらに、中国語の一部の単語は、人の名前又は通常の単語のどちらでもあり得る。例えば、
【0029】
【数11】

【0030】
は、中国の有名な歌手の名前か、又は、夜明けを意味する一般的な単語のどちらでもあり得る。そのような名前の検出は、コンテキストに大いに依存する。
【0031】
加えて、一般に、CJK名前は、2グラム(バイグラム)又は3グラム(トリグラム)を使用することで特定される。左から右にCJKテキストを読むことの水平の慣例を仮定すれば、コンテキストの中の左端の文字は姓である。右のコンテキストは名である。例えば、「x y z」がCJK名前である場合、次いで、「x」は姓であり、かつ、「y z」は名である。更なる例として、「x y」がCJK名前である場合、次いで、「x」は姓であり、かつ、「y」は名である。
【発明の概要】
【課題を解決するための手段】
【0032】
名前検出のためのシステム、方法、およびコンピュータプログラム製品が提供され、特に、表意文字(例えば、漢字)で作られた名前を検出するのに役立つ。一般に、1態様では、方法が提供される。方法は、姓のコレクションと、n-グラムのコレクションを含む注釈付コーパスとを使用することで、未加工(raw)名前検出モデルを生成するステップを具備し、各n-グラムは、注釈付コーパスにおいて名前として出現することの対応する確率を有する。また、方法は、未加工名前検出モデルを準構造化データのコレクションに適用して、注釈付準構造化データを形成するステップを具備し、注釈付準構造化データは、名前を特定するn-グラムと名前を特定しないn-グラムとを特定する。また、方法は、未加工名前検出モデルを大規模な注釈のないコーパスに適用して、名前を特定する大規模な注釈のないコーパスのn-グラムと、名前を特定しないn-グラムとを特定する大規模な注釈付コーパスデータを形成するステップを具備している。また、方法は、名前を特定する注釈付準構造化データ、および名前を特定する大規模な注釈付コーパスデータを使用することで名前モデルを導出するステップと、名前を特定しない準構造化データを使用することで非名前モデルを導出するステップと、大規模な注釈付コーパスを使用することで言語モデルを導出するステップとを含む、名前検出モデルを生成するステップを具備している。この態様の他の具体化例は、システムおよびコンピュータプログラム製品を含んでいる。
【0033】
態様の具体化例は、以下の特徴のうちの1又は複数を含むことができる。態様は、名前検出モデルを準構造化データのコレクションに適用して、注釈付準構造化データを形成するステップと、名前検出モデルを大規模な注釈のないコーパスに適用して、名前を特定する大規模な注釈のないコーパスのn-グラムと、名前を特定しないn-グラムとを特定する大規模な注釈付コーパスデータを形成するステップと、改良された名前検出モデルを生成するステップとをさらに具備することができ、注釈付準構造化データは、名前を特定するn-グラムと名前を特定しないn-グラムとを特定する。改良された名前検出モデルを生成するステップは、名前を特定する注釈付準構造化データ、および名前を特定する大規模な注釈付コーパスデータを使用することで改良された名前モデルを導出するステップと、名前を特定しない準構造化データを使用することで改良された非名前モデルを導出するステップと、大規模な注釈付コーパスを使用することで改良された言語モデルを導出するステップとを具備することができる。
【0034】
名前モデルは、名前を特定する注釈付準構造化データ、および名前を特定する大規模な注釈付コーパスからのn-グラムのコレクションを具備することができ、ここで、各n-グラムは、左の文字として姓、および右のコンテキストとして名を含み、かつ、各n-グラムは名前を特定することの対応する確率を有する。非名前モデルは、名前を特定しない注釈付準構造化データからのn-グラムのコレクションを具備することができ、ここで、各n-グラムは、左の文字として姓、および右のコンテキストとして名を含み、かつ、各n-グラムは、名前を特定しないことの対応する確率を有する。未加工名前モデルは、注釈付コーパスからのn-グラムのコレクションを含むことができ、ここで、各n-グラムは、姓のコレクションからの姓である左の文字を含み、かつ、各n-グラムは、注釈付コーパスにおける名前の相対度数に従って、名前を特定することの対応する確率を有する。未加工名前モデルは、外国人の姓のコレクションを使用することで生成することができる。
【0035】
姓のコレクションは、複数の疎な姓を含むことができ、かつ、未加工名前検出モデルは、名前を特定する各n-グラムの確率(疎な姓である左の文字を含んでいる)を特定するために、複数の疎な姓のうちの特定の疎な姓の計算された確率の代わりに、すべての疎な姓の単一の確率を使用する。姓のコレクションは、複数の外国人の姓を含むことができる。
【0036】
一般に、1態様では、方法が提供される。方法は、文字の入力ストリングを受信するステップと、名前検出モデルを複数の文字を有する入力ストリングに適用するステップとを含んでいる。名前検出モデルを適用するステップは、1又は複数の名前を含まない、複数の文字の最も尤もらしい区分化を特定するステップと、1又は複数の名前を潜在的に特定するとして、複数の文字のうちの1又は複数の文字シーケンスを検出するステップと、1又は複数の潜在的な名前を含んでいる、複数の文字の区分化を特定するステップと、潜在的な1又は複数の名前を含む区分化の尤度が、1又は複数の名前を含まない最も尤もらしい区分化より大きいとき、1又は複数の名前を含むとして、複数の文字を区分するステップとを具備する。この態様の他の具体化例は、システムおよびコンピュータプログラム製品を含んでいる。
【0037】
態様の具体化例は、以下の特徴のうちの1又は複数を含むことができる。態様は、複数の文字が1又は複数の名前を含んでいるとして区分されるとき、1又は複数の名前を検出するステップをさらに含むことができる。態様は、複数の文字を含むストリングを受信するステップと、ストリングの特定のシーケンスが名前を特定する確率を計算するステップとをさらに具備し、名前は姓および名を含み、コーパスにおいて特定のシーケンスの頻度がしきい値より少ないとき、名を表すシーケンスの部分があらゆる姓と共に出現する相対度数と、姓を表すシーケンスの部分の相対度数との関数として、特定のシーケンスが名前を特定する確率を決定するステップを含んでいる。
【0038】
態様は、ユーザ入力データを受信するステップと、未加工名前検出モデルをユーザ入力データに適用して、注釈付ユーザ入力データを形成するステップとをさらに具備し、注釈付ユーザ入力データは、名前を特定するn-グラム、および名前を特定しないn-グラムを特定する。名前検出モデルを生成するステップは、名前を特定する注釈付ユーザ入力データを使用することで名前モデルを導出するステップと、名前を特定しない注釈付ユーザ入力データを使用することで非名前モデルを導出するステップと、注釈付ユーザ入力データを使用することで言語モデルを導出するステップとをさらに具備することができる。
【0039】
本明細書に記載された本発明の特定の具体化例は、以下の利点のうちの1又は複数を実現するように実施することができる。CJK名前検出は、入力テキストを単語にあらかじめ区分するステップの有無にかかわらず実行することができ、名前検出エラーを生じさせる単語区分化エラーを回避する。名前検出モデルをトレーニングするステップは、多量の人間による注釈付データを必要としない。一部のトレーニングデータは、準構造化データ(例えば、xmlファイルにおける、ダウンロードの記述)に適用することができる。膨大な注釈のないデータ(特に、インプットメソッドエディタ(IME)ユーザ入力、IMEユーザ辞書、ウェブページ、サーチクエリーログ、電子メール、ブログ、インスタントメッセージ(IM)、およびニュース記事)を使用して、名前検出モデルをトレーニングすることができる。このデータの使用は、名前検出において、高い精度および高い再現度の両方を保証する。また、名前検出モデルを使用して、疎な姓を有する名前および外国人の名前を検出することができる。加えて、CJK名前検出は、名前検出モデルをさらに改良するために繰り返しトレーニングをして、以前の名前検出モデルに追加された名前を検出するステップを含んでいる。
【0040】
本明細書に記載された本発明の1又は複数の具体化例の詳細は、添付図面および以下の記載で説明される。本発明の他の特徴、態様および利点は、記載、図面および特許請求の範囲から明らかになる。
【図面の簡単な説明】
【0041】
【図1A】例の中国語のテキストを示している。
【図1B】例の中国語のテキストを示している。
【図2】未加工名前検出モデルの例の生成を図示したブロック図である。
【図3】名前検出モデルの例の生成を図示したブロック図である。
【図4】例の名前検出モデルのコンポーネントを図示したブロック図である。
【図5】観測された漢字シーケンスのための例の隠れマルコフモデルを図示したブロック図である。
【図6】名前を検出するための例のプロセスを示したフローチャートである。
【図7】CJK名前検出の例のシステムである。
【発明を実施するための形態】
【0042】
様々な図面の類似の参照番号及び記号は類似の要素を示す。
【0043】
§名前を検出するための数式
中国語の一部の単語は、人の名前又は通常の単語のどちらでもあり得る。例えば、
【0044】
【数12】

【0045】
は、中国の有名な歌手の名前か、又は夜明けを意味する一般的な単語のどちらでもあり得る。例えば、図1Aは、夜明けを意味する文字シーケンス
【0046】
【数13】

【0047】
100を含む中国語テキストを示している。別の例として、図1Bは、中国の有名な歌手の名前として、文字シーケンス
【0048】
【数14】

【0049】
102を含む中国語テキストを示している。これらの文字シーケンスは、名前を特定するか、又は名前を特定しないとして、どちらにでも分類することができる。
【0050】
特に、n-グラムは名前を特定するか、又は名前を特定しないとして、どちらにでも分類される。所定のn-グラムwは、ベイズ規則を使用することで、名前を特定するか(NAME)、又は、名前を特定しない(NOTNAME)として、どちらにでも分類することができる。ベイズ規則は、コンテキストを付与された名前を特定する所定のn-グラムwの確率を以下のように定義することができると定める。
【0051】
【数15】

【0052】
同様に、名前を特定しない所定のn-グラムの確率を以下のように定義することができる。
【0053】
【数16】

【0054】
その上、比率を以下のように定義することができる。
【0055】
【数17】

【0056】
1実施例では、結果とした生じた比率値が1以上である場合、次いで、n-グラムは名前を特定するとして分類される。換言すれば、n-グラムwが名前を特定するコスト加重尤度(cost-weighted likelihood)は、n-グラムwが名前を特定しないコスト加重尤度より大きい。そうでなければ、n-グラムは名前を特定しないとして分類される。Lは、特定の損失関数を表す。一部の実施例では、損失関数は、以下のように方程式を単純化することができるように定数である。
【0057】
【数18】

【0058】
ここで、cは定数である。結合確率(P(w=NAME, context)およびP(w = NOTNAME, context))は、名前検出モデルからの出力として、もうけることができる(図2乃至4に関して以下に詳細に説明する)。
【0059】
初期の概要として、名前検出モデルは、名前モデルと、非名前モデルと、言語モデルとを具備している。未加工名前モデルは、注釈付コーパスのn-グラムが名前を特定するか否かを特定するために、事前に定義された姓のコレクションと、注釈付コーパスとを使用することで生成される。未加工名前モデルは、準構造化データおよび大規模な注釈のないデータに適用されて、名前検出モデルを生成する。
【0060】
特に、名前検出モデルは、確率評価を、P(w = NAME, context)及びP(w = NOTNAME, context)から導出する。特に、結合確率P(w = NAME, context)を以下のように書き直すことができる。
Pname(W, context) = Pname(prefix)Pname(W | prefix)Pname(suffix | W, prefix).
Pname(W, context)は、以下のようにさらに近似することができる。
Pname(prefix)Pname(family_name, given name | prefix)Pname(suffix | family_name, given_name)Pname 式(1)
加えて、結合確率P(w = NOTNAME, context)を同様に以下のように近似することができる。
Pnotname(prefix)Pnotname (family_name, given_name | prefix)Pnotname (suffix | family_name, given_name) 式(2)
【0061】
§未加工名前検出モデル
図2は、未加工名前検出モデル206の例の生成を図示したブロック図200である。便宜上、未加工名前検出モデル206の生成は、生成を実行するシステムに関して説明される。
【0062】
CJKテキストでは、所定のn-グラムは、n-グラムにおける左の文字が姓である場合にだけ、名前を特定することができる。右のコンテキストは名である。したがって、事前に定義された姓のコレクション204を使用して、未加工名前検出モデル206を生成する。システムは、少量の注釈付トレーニングデータを使用することで、未加工名前検出モデル206を生成することができる。システムは、注釈付コーパス(例えば、少量の注釈付コーパス202)と、事前に定義された姓のコレクション204とを使用することによって、未加工名前モデル206をトレーニングする。
【0063】
事前に定義された姓204は、1又は複数のCJK言語の姓のコレクションを含んでいる。例えば、中国の名前検出モデルのために、事前に定義された姓204は、300個の一般的な中国の姓のコレクションを含むことができ、所定の人口における99%以上の可能性のある中国の姓を統計的にカバーする。小規模な注釈付コーパス202は、テキストデータの小規模なコレクション(例えば、ウェブドキュメントまたはサーチクエリー)を含んでいる。小規模な注釈付コーパス202のテキストデータは、名前を特定するか、又は名前を特定しないとして特定された(例えば、注釈される)n-グラムを含んでいる。例えば、名前は、1又は複数の個人によって手動で特定することができる。
【0064】
生成後に、未加工名前検出モデル206は、(姓204のコレクションで見つけられる左の文字で)名前を特定する小規模な注釈付コーパス202におけるn-グラムと、名前と名前を特定しないn-グラムとの相対度数の関数として計算される確率評価を含む。したがって、未加工名前モデル206を使用して、入力n-グラムが名前を特定するか、又は名前を特定しない確率を計算することができる (例えば、上記した比率に基づく名前を検出する)。しかしながら、これは、小規模な注釈付コーパスの確率によって制限され、データの大規模なコレクションで正確でない。その結果、未加工名前検出モデル206は、トレーニングデータにさらに適用されて、名前検出モデルを生成する(図3に関して以下でさらに詳細を論じる)。
【0065】
§トレーニングデータ
図3は、名前検出モデル314の例の生成を図示したブロック図300である。注釈プロセス316(例えば、未加工名前検出モデル206によって実行される)が、拡張名前検出モデルを生成するために、注釈のないデータに適用される。準構造化データ302及び大規模な注釈のないコーパス308を、注釈のないデータとして使用することができる。
【0066】
準構造化データ302は、例えばxmlファイルを含むことができる。準構造化データ302は、多くの異なったフィールドを有するデータを含むことができる。特定のフィールドを使用して、名前および非名前を特定することができる。例えば、準構造化データ302は、フィールドのうちの1つがアーティストフィールドである音楽情報を特定するXMLファイルを含むことができる。
【0067】
大規模な注釈のないコーパス308は、ターゲット言語(例えば、中国語、日本語、または韓国語)でテキストのコレクションを提供する。大規模な注釈のないコーパス308は、多くの異なったソースのテキスト(例えば、ウェブクエリー、ウェブページ、及びニュース記事を含む)を具備することができる。一部の実施例では、大規模な注釈のないコーパス308は、およそ数百から数千億の(又はさらに多くの)文字のテキストを含む。
【0068】
注釈プロセス316は、適用され、かつ、名前検出モデル314のサブモデルをトレーニングするために使用されるトレーニングデータのサブセットを形成する。特に、名前を特定するn-グラムと名前を特定しないn-グラムとの確率評価(未加工名前検出モデル206を生成するために、小規模な注釈付コーパス202から決定される)を使用して、名前を特定するトレーニングデータ、および名前を特定しないトレーニングデータにトレーニングデータを分離する。
【0069】
システムは、注釈付準構造化データ(例えば、304及び306)を形成するために、注釈プロセス316を準構造化データ302に適用する。特に、未加工名前検出モデル206を使用して、準構造化データ302を分離し、かつ、名前304を特定するn-グラムを含んでいる注釈付準構造化データのサブセットを形成し、かつ、名前306を特定しないn-グラムを含んでいる注釈付準構造化データのサブセットを形成する。例えば、xmlファイルが「アーティスト: c1 c2 c3」というn-グラムを含み、ここで、「c1 c2 c3」がCJK名前である場合、n-グラムは、名前304を特定するn-グラムを含んでいる注釈付準構造化データのサブセットに配置される。別の例として、xmlファイルが「タイトル: c4 c5」というn-グラムも含み、ここで、「c4 c5」が名前(例えば、歌のタイトル)を特定しない場合、n-グラムは、名前306を特定しないn-グラムを含んでいる注釈付準構造化データのサブセットに配置される。
【0070】
また、システムは、大規模な注釈付コーパスデータ(例えば、310及び312)を形成するために、大規模な注釈のないコーパス308に注釈プロセス316を適用する。特に、未加工名前検出モデル206を使用して、名前310を特定するn-グラムを含んでいる1セットの大規模な注釈付コーパスデータ、および名前312を特定しないn-グラムを含んでいる1セットの大規模な注釈付データに、大規模な注釈のないコーパスを分離する。例えば、ウェブページ文が文字シーケンス「c1 c2 c3 c4 c5 c6」(ここで、「c2 c3 c4」はCJK名前である)を含んでいる場合、次いで、文は、名前310を特定するn-グラムを含んでいる大規模な注釈付コーパスデータのセットの中に配置される。代わりに、文に適用されるとき、注釈プロセス316が名前を検出しない場合、文は、名前312を特定しないn-グラムを含んでいる大規模な注釈付コーパスデータのセットの中に配置される。
【0071】
トレーニングプロセス318は、名前検出モデル314を生成するために、注釈付準構造データ(例えば、304及び306)と大規模な注釈付コーパスデータ(例えば、310及び312)とを使用する(図4に関して以下で詳細に論じる)。
【0072】
一部の実施例では、注釈のないデータは、ユーザ入力データ(例えば、IMEのスクリプト、及び、単語又は句のユーザによって編集されたリストを含む)を具備することができる。システムは、名前を特定する注釈付ユーザ入力データと、名前を特定しない注釈付ユーザ入力データとを形成するために、注釈プロセス316をユーザ入力データに適用する。次いで、トレーニングプロセス318は、名前検出モデル314を生成するために、注釈付ユーザ入力データを使用する。
【0073】
§名前検出モデル
図4は、例の名前検出モデル314のコンポーネントを図示したブロック図である。名前検出モデル314は、名前モデル402と、非名前モデル404と、言語モデル406とを具備している。
【0074】
§§名前モデル
名前304を特定するn-グラムを含んでいる準構造化データのサブセットと、名前310を特定するn-グラムを含んでいる大規模な注釈付コーパスデータのセットとを使用して、名前モデル402を導出する。システムは、姓および名を含むn-グラムが名前を特定する確率、又は、Pname(family_name, given_name)を決定するために、これらのデータのセットを使用する。
【0075】
特に、名前304を特定するn-グラムを含んでいる準構造化データのサブセットと、名前を特定するn-グラムを含んでいる大規模な注釈付コーパスデータのセットとを使用して、データのセットにおいて出現する名前を特定するn-グラムの相対度数の関数として、確率評価を生成する。
【0076】
一部の実施例では、注釈付ユーザ入力を使用して、確率評価を生成する。
【0077】
§§非名前モデル
名前を特定しないnグラムを含んでいる準構造化データのサブセットを使用して、非名前モデル404を導出する。システムは、姓および名を含むn-グラムが名前を特定しない確率、又は、Pnotname(family_name, given_name)を決定するために、このデータのサブセットを使用する。
【0078】
特に、このデータのサブセットを使用して、データのサブセットにおいて名前を特定するn-グラムの相対度数の関数として確率評価を生成する。
【0079】
一部の実施例では、注釈付ユーザ入力を使用して、確率評価を生成する。
【0080】
§§言語モデル
大規模な注釈付データ(例えば、310及び312)のセットを使用して、言語モデル406を導出する。システムは、コンテキストを使用することで確率(n-グラムが名前を特定するか、または名前を特定しない)を決定するために、これらのデータのセットを使用する。特に、システムは、名前を伴う言語サブモデルを導出するために、確率(接尾語が名前候補を付与された名前を特定し、かつ、名前候補が接頭語を付与された名前を特定する)、又は、Pname(suffix | name)およびPname(name | prefix)を決定する。
【0081】
その上、システムは、名前を伴わない言語サブモデルを導出するために、確率(接尾語が名前候補を付与された名前を特定せず、かつ、名前候補が接頭語を付与された名前を特定しない)、又は、Pnotname(suffix | name)およびPnotname(name | prefix)を決定する。
【0082】
接頭語は、nグラム名前候補に先行する文字シーケンスのうちの1又は複数の文字である。接尾語は、n-グラム候補に続く文字シーケンスのうちの1又は複数の文字である。例えば、「c1 c2 c3 c4 c5 c6 c7」という文字シーケンスに対しては、名前候補は「c3 c4 c5」であり、接頭語は「c1 c2」であり、かつ、接尾語は「c6 c7」である。
【0083】
名前310を特定するn-グラムを含んでいる大規模な注釈付データのセットを使用して、特定の接頭語又は接尾語を付与されたデータのセットにおいて名前であるn-グラムの相対度数の関数として確率評価を生成する。また、名前312を特定しないn-グラムを含んでいる大規模な注釈付データのセットを使用して、特定の接頭語又は接尾語を付与されたデータのセットにおいて名前でないn-グラムの相対度数の関数として確率評価を生成する。
【0084】
一部の実施例では、注釈付ユーザ入力を使用して、確率評価を生成する。
【0085】
要約すれば、未加工名前検出モデル206を注釈プロセス316で使用して、準構造化データ302と、大規模な注釈のないコーパス308とを分離し、かつ、注釈付準構造化データ(304及び306)と、大規模な注釈付コーパス(310及び312)とを形成する。システムは、名前モデル402、非名前モデル404、および言語モデル406を含む名前検出モデル314をトレーニングするために、この注釈付データとトレーニングプロセス318とを使用する。
【0086】
§名前を検出するための改良された数式
名前モデルおよび言語モデルからの確率評価を使用して、P(NAME | context)を決定する。例えば、文字シーケンスが「c1 c2 c3 c4 c5 c6 c7」であり、かつ、「c3 c4 c5」が名前である場合、次いで、「c3 c4 c5」がコンテキストを付与された名前である(即ち、接頭語が「c1 c2」であり、かつ、接尾語が「c6 c7」である)確率、又は、P(NAME | context)は、上記した式(1)から導出することができる。P(NAME | context)は、以下として表現することができる。
Pname(c3 | prefix)Pname(c4 c5 | c3)Pname(suffix | c3, c4 c5)
【0087】
この式は、一般的に以下のように書き直すことができる。
Pname(family_name | prefix)Pname(given_name | family_name)Pname(suffix | family_name, given_name)
ここで、
【0088】
【数19】

【0089】
である。
【0090】
上記したように、名前モデルをトレーニングして、Pname(family_name, given_name)を決定することができる。その上、言語モデルをトレーニングして、Pname(family_name | prefix)およびPname(suffix | family, given_name)を決定することができる。
【0091】
同じように、名前モデルおよび言語モデルからの確率評価を使用して、P(NOTNAME | context)を決定する。例えば、文字シーケンスが「c1 c2 c3 c4 c5 c6 c7」であり、かつ、「c3 c4 c5」が名前でない場合、次いで、「c3 c4 c5」がコンテキストを付与された名前でない(すなわち、接頭語が「c1 c2」であり、かつ、接尾語が「c6 c7」である)確率、又は、P(NOTNAME | context)は、上記した式(2)から導出することができる。P(NOTNAME | context)は、以下として表現することができる。
Pnotname(c3 | prefix)Pnotname(c4 c5 | c3)Pnotname(suffix | c4 c5)
【0092】
この式は、一般に以下のように書き直すことができる。
Pnotname(family_name | prefix)Pnotname(given_name |family_name)Pnotname(suffix | family_name, given_name)
【0093】
上記したように、非名前モデルをトレーニングして、Pnotname(family_name, given_name)を決定することができる。その上、言語モデルをトレーニングして、Pnotname(family_name | prefix)および Pnotname(suffix | family_name, given_name)を決定することができる。
【0094】
§トレーニング繰り返し
一部の実施例では、名前検出モデル314をさらに使用して、準構造化データ302と大規模な注釈のないコーパス308とを、注釈付準構造化データ(304及び306)と大規模な注釈付コーパス(310及び312)とに分離する。例えば、図3では、名前検出モデル314は、注釈プロセス316で使用されて、準構造化データ302と大規模な注釈のないコーパス308とを分離する。一部の実施例では、これらの新しいトレーニングデータのセットを使用して、より改良された名前検出モデルを生成する。より改良された名前検出モデルは、名前を特定するか、または名前を特定しないn-グラムの確率評価を導出するために、より大規模なトレーニングデータの使用によって、未加工名前検出モデルより広い適用範囲を有する。
【0095】
一部の実施例では、注釈付ユーザ入力を使用して、より改良された名前検出モデルを生成する。
【0096】
名前検出モデルの更なる改良は、2回以上の繰り返しで、名前検出モデルをトレーニングすることによって達成することができる。各繰り返しは、名前モデルの適用範囲を向上させる。一部の実施例では、繰り返しの回数(例えば、3回の繰り返し)を指定することができる。代わりに、繰り返しの回数は条件に基づくことができる(例えば、名前検出モデルによる出力として提供される確率評価が、繰り返し間にしきい値以上に変化しないという条件)。
【0097】
§名前検出モデルへの更なる改良
相対度数は、特定の名前(例えば、トレーニングデータにおいて低い出現頻度を有する疎な名前、疎な姓、または外国人の名前)に対して低い場合がある。その結果、対応する確率評価は不正確であり得る。これは、追加的な疎データ問題をもたらす。したがって、平滑化技術を使用して、低頻度、または疎な名前を計上することができる。トレーニングデータに出現する文字シーケンスの頻度がしきい値より低い場合、平滑化技術を使用することができる。
【0098】
§§疎な名前
一部の実施例では、出現する名前の確率は、出現する姓および出現する名の確率から独立している。例えば、「y」が姓「x」に対する名である場合、次いで、名前は「xy」である。その上、「z」は疎な姓である。名前「zy」は疎な姓「z」及び名「y」を表し、ここで、疎な姓「z」は、サンプリングされなかったか、または低頻度でサンプリングされる(例えば、指定されたしきい値頻度より低い)。1実施例では、システムは、「zy」の確率を近似するために、「xy」の確率を使用する。特に、「x」が姓であるというイベントと、「y」が名であるというイベントとの確率は、独立して扱われる。
【0099】
その結果、疎な姓「z」を付与された出現する名「y」の確率、又は、P(y| z)は、「xy」の統計の形で近似することができる。ここで、
【0100】
【数20】

【0101】
である。
【0102】
例えば、トレーニングデータにおいて「zy」の頻度がしきい値より低い場合、「z y」が名前である確率は、「y」があらゆる名前に対して名である確率と、姓「z」出現の確率との関数である。
【0103】
例えば、名前を検出するために改良された数式に戻れば、Pnotname(suffix | family _name, given_name)は、正確に推定できないかもしれない。一部の実施例では、Pnotname(suffix | family _name, given_name)が以下として表すことができるように、バックオフストラテジーを実施することができる。
BackoffWeight(family_name, given_name)Pnotname(suffix | all_family_names, given_name).
【0104】
§§疎な姓
一部の実施例では、すべての疎な姓の確率は、単一の疎な姓の確率のための置換として使用される。例えば、「a」は名であり、かつ、「b」は姓である。コンテキストを付与された出現する名前の確率を、P(a | b)P(b | context)によって表すことができる。「b」が疎な姓である場合、確率P(a | b)は不正確である場合がある。この実施例では、所定のコンテキストで出現する名前の確率は、確率(すべての疎な姓がコンテキストを付与されたトレーニングデータにおいて出現する)によって多重化されたすべての疎な姓を付与されたトレーニングデータにおいて「a」が出現する確率、又は、
P(a | all_sparse_family_name)P(b | all_sparse_family)P(all_sparse_family_name | context)
を使用することによってより正確に表される。
【0105】
§§外国人の名前検出モデル
外国人の名前(例えば、翻訳された名前)の相対度数も低く、不正確な確率評価をもたらす。したがって、外国人の名前検出モデルを、名前検出モデル314を生成するステップに関して上記した同じステップに従って、生成することができる。特に、未加工外国人の名前検出モデルは、未加工名前検出モデル206を生成するステップと同じように、外国人の姓の事前に定義されたコレクションから生成される。未加工外国人の名前検出モデルを他のデータ(例えば、大規模な注釈のないデータおよび準構造化データ)に適用して、名前検出モデル314を生成するステップと同じように、外国人の名前検出モデルを生成することができる。
【0106】
§区分化
n-グラムの所定の入力シーケンスに対して名前を検出するために、名前検出モデルを使用するとき、名前を特定するか、または名前を特定しないn-グラムの確率評価を使用して、文字シーケンスを単語に区分し、かつ、同時に、名前を検出する。
【0107】
一部の実施例では、CJK文字シーケンスは隠れマルコフモデルで配列される。隠れマルコフモデルは、隠されたパラメタと観測可能なパラメタとを含んでいる統計モデルである。例えば、観測可能なパラメタはCJK文字シーケンスであり、かつ、隠されたパラメタはCJK単語の可能性のあるシーケンスである。特に、CJK文字又はCJK文字の組み合わせが異なった意味を持つことができるので、CJKの文字の特定のシーケンスは、単語の1又は複数のシーケンスをもたらすことができる。例えば、文字シーケンス「c1 c2 c3」はCJK単語の可能性のあるシーケンスである。さらに、「c1 c2」も、別のCJK単語の可能性のあるシーケンスであり得る。
【0108】
一部の実施例では、ビタビアルゴリズムを使用して、隠れマルコフモデルを区分する。ビタビアルゴリズムは、観測されたイベントのシーケンスをもたらす隠された状態の最も尤もらしいシーケンス(例えば、区分化経路)を見つけ出すための動的プログラミングアルゴリズムである。例えば、ビタビアルゴリズムを使用して、CJK文字のシーケンスをもたらすCJK単語の最も尤もらしいシーケンスを見つけ出す。
【0109】
CJK単語の最も尤もらしいシーケンスを以下のように書くことができる。
【0110】
【数21】

【0111】
これは、CJK単語のシーケンスである、W(CJK単語のすべての可能性のあるシーケンスの中から)を記述し、P(W | C)のための最高値を提供し、ここで、W= w1, w2, ...wMであり、かつ、Cは、C=c1,c2, ...cLによって表されるCJK単語のシーケンスである。加えて、ベイズ規則は、
【0112】
【数22】

【0113】
を提供する。
【0114】
言語モデルはP(W)を提供する。ベイズ規則を使用することで、CJK文字のシーケンスを付与された、CJK単語の最も尤もらしいシーケンスを以下として書き直すことができる。
【0115】
【数23】

【0116】
その結果、最も尤もらしいW(すなわち、CJK単語の最も尤もらしいシーケンス)は、Wが出現する確率と、WがCからなる確率(すなわち、CJK単語の所定のシーケンスが、CJK文字のシーケンスを写像する確率)との積を最大化するものである。
【0117】
CJK名前検出は、それが文字シーケンスを単語に区分しているとしてCJK名前を検出する。
【0118】
図5を参照すれば、例えば、観測されたCJK文字502の入力ストリングは、
【0119】
【数24】

【0120】
を含み、ここで、
【0121】
【数25】

【0122】
はシーケンスの開始を指定する識別子<S>によって先行され、かつ、
【0123】
【数26】

【0124】
はシーケンスの終了を指定する識別子<E>が後に続いている。
【0125】
文字シーケンス
【0126】
【数27】

【0127】
および
【0128】
【数28】

【0129】
がトレーニングにおいて以前に検出された単語であると仮定する。さらに、
【0130】
【数29】

【0131】
および
【0132】
【数30】

【0133】
が潜在的名前であると仮定する(すなわち、トレーニングデータにおいて名前を特定するとして、検出された)。単純モデルでは、
【0134】
【数31】

【0135】
および
【0136】
【数32】

【0137】
が単語として検出されなかった場合、
【0138】
【数33】

【0139】
および
【0140】
【数34】

【0141】
が単語であるという確率は低く、かつ、文字シーケンスは、単一の文字におそらく区分される。この区分化スキームの後に名前を検出するステップはエラーを生じさせる。
【0142】
単純モデルでは、隠れマルコフモデル(例えば、隠れマルコフモデル500)における単語の一部の例の区分化は、
【0143】
【数35】

【0144】
である。
【0145】
しかし、名前検出モデルを組み込めば、文字シーケンス
【0146】
【数36】

【0147】
は、潜在的に名前を特定する文字として検出することができ、かつ、文字シーケンス
【0148】
【数37】

【0149】
も潜在的に名前を特定する文字として検出することができる。これらの文字シーケンスは、単語であることの関連付けられた確率を有する(文字シーケンスが、潜在的に名前を特定することの関連付けられた確率を有するという意味で)。
【0150】
したがって、単語の他の例の区分化がモデルに追加される。この改良された隠れマルコフモデルでは、単語の区分の追加例は以下の通りである。
【0151】
【数38】

【0152】
このモデルを使用して、文字シーケンスを区分するステップは、潜在的な名前を含む区分の尤度によって、文字シーケンスを単語に区分するステップを含んでいる。潜在的な名前を含んでいる他の尤もらしいシーケンスの導入は、前述の区分化エラーが名前検出に伝播するのを回避させる。名前を含む区分経路が、名前を含んでいない分割経路より出現しそうである場合、次いで、名前を含む区分経路は使用され、かつ、名前は検出される。検出された名前を特定する文字シーケンスと、名前を特定することのその対応する確率とは、名前検出モデル314に追加される。
【0153】
一部の実施例では、名前検出モデル314を使用して、入力テキストで名前を検出する。例えば、検出器は、同時に、CJK入力テキストを単語に区分し、かつ、CJK入力テキストから名前を検出するために、CJK入力テキストを受信し、かつ、名前検出モデル314を使用する。
【0154】
図6は、名前を検出するための例のプロセス600を示したフローチャートである。便宜上、名前を検出するためのプロセス600は、検出を実行するシステムに関して説明される。名前を検出するためのプロセス600の間、システムは、名前のためのシーケンスの開始からシーケンスの終了まで、受信された文字シーケンスをスキャンする。
【0155】
システムは、文字シーケンス(例えば、漢字シーケンス)を受信する602。特に、システムは、シーケンスの第1文字を特定する604。システムは、特定された文字が姓の候補であるか否かを決定する606。文字が姓の候補である場合(例えば、姓のコレクション204の中の文字)、システムは、上記したように、名前を検出するための改良された数式(例えば、改良を伴う比率)を使用することで名前を検出する614。
【0156】
文字が姓の候補でない場合、次いで、システムは、文字が姓の候補の接頭語であるか否かを決定する608。文字が姓の候補の接頭語である場合、次いで、システムは、上記したように、名前を検出するための改良された数式(例えば、改良を伴う比率)を使用することで名前を検出する614。
【0157】
文字が姓の候補の接頭語でない場合、次いで、システムは、システムが文字シーケンスの終端に達した否かを決定する610。また、同様に、名前を検出するための改良された数式を使用することで名前を検出した614後に、システムは、システムが文字シーケンスの終端に達したか否かを決定する610。システムがシーケンスの終端に達した場合、プロセスは終了する616。システムが文字シーケンスの終端に達していない場合、次いで、システムは、シーケンスの次の文字を特定し612、かつ、シーケンスの終端に達するまで、シーケンスの他の文字に対して、ステップ606、608、610、および選択的に614を繰り返す。
【0158】
§例のシステム
図7は、CJK名前検出の例のシステム700である。データ処理装置710は、検出プログラム720を含む、ハードウェア/ファームウェア、オペレーティングシステム、および1又は複数のプログラムを含むことができる。検出プログラム720は、本明細書に記載されたオペレーションを実行するために、データ処理装置710に関連して、動作する。その結果、検出プログラム720は、1又は複数のプロセッサおよびコンピュータ可読媒体(例えば、メモリ)を組み合わせて、システム700の1又は複数の構造上のコンポーネントを表す。
【0159】
検出プログラム720は、検出処理アプリケーション、または部分であってもよい。本明細書で使用されるように、アプリケーションは、ユーザが定義された目的に使用される異なったコンピュータツールとして知覚するコンピュータプログラムである。アプリケーションは、データ処理装置710のオペレーティングシステム(OS)に完全に組み込むことができ、または、アプリケーションは、異なったロケーションに配置された異なったコンポーネントを有することができ(例えば、OS又はカーネルモードにおける1部分、ユーザモードにおける1部分、およびリモートサーバにおける1部分)、かつ、アプリケーションは、装置710のソフトウェアプラットホームとして機能するランタイムライブラリ上に組み込むことができる。そのうえ、アプリケーション処理は、1又は複数のプロセッサ790を使用することでネットワーク780の上に分散することができる。例えば、検出プログラム720の言語モデルは、1又は複数のプロセッサ790上で分配的にトレーニングすることができる。
【0160】
データ処理装置710は、1又は複数のプロセッサ730と、少なくとも1つのコンピュータ可読媒体740 (例えば、ランダムアクセスメモリ、ストレージデバイスなど)とを備えている。また、データ処理装置710は、通信インターフェース750、1又は複数のユーザインターフェースデバイス760、および1又は複数の追加デバイス770を備えることができる。ユーザインターフェースデバイス760は、ディスプレイスクリーン、キーボード、マウス、スタイラス、またはこれらの組み合わせを備えることができる。
【0161】
いったんプログラムされると、データ処理装置710は、言語モデル、名前モデル、および外国人の名前モデルを生成するよう動作する。
【0162】
本発明の実施例及び本明細書に開示された機能操作は、本明細書で開示された構造又はそれらの構造的等価物、又は、それらの1又は複数の組合せを含む、デジタル電子回路又はコンピュータソフトウェア、ファームウェア又はハードウェアで実行することができる。本明細書に開示された本発明の実施例は、1又は複数のコンピュータプログラム製品として実行することができる(即ち、データ処理装置によって実行するためか、又は、その動作を制御するために、有形のプログラムキャリア上にコード化されたコンピュータプログラム命令の1又は複数のモジュール)。有形のプログラムキャリアは、伝播信号又はコンピュータ可読媒体であり得る。伝播信号は、例えば、機械により発生された電気的、光学的又は電磁的信号等の人工的に発生された信号であり、好適な受信装置への転送用に情報を符号化するために発生される。コンピュータ可読媒体は、マシーン可読記憶装置、マシーン可読記憶基板、メモリ装置、又は、マシーン可読伝播信号を生じるものの構成、又は、それらの1又は複数の組み合わせであり得る。用語「データ処理装置」は、例として、プログラム可能プロセッサ、コンピュータ、又は、多重プロセッサ又は多重コンピュータを含む、データを処理するための全ての装置、デバイス及びマシーンを包含する。装置は、ハードウェアに加えて、問題になっているコンピュータプログラムのための実行環境を創り出すコード(例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又は、それらの1又は複数の組合せを構成するコード)を含むことができる。
【0163】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる)は、コンパイル又はインタープリタ言語を含むどのような形式のプログラミング言語ででも書くことができ、スタンドアローンプログラムとして、又は、モジュール、コンポーネント、サブルーチンとして、又は、コンピュータ環境での使用に好適な他のユニットを含む形式で配備することができる。コンピュータプログラムは必ずしもファイルシステム中のファイルに対応しなくてもよい。プログラムは、他のプログラム又はデータを保持するファイルの一部に(例えば、マークアップ言語文書中に蓄積された1又は複数のスクリプト)、問題になっているプログラムに専用の単一のファイルに、又は、複数の組織的なファイル(例えば、1又は複数のモジュール、サブプログラム、又はコードの一部を格納するファイル)に、蓄積することができる。コンピュータプログラムは、1つのコンピュータ、又は、複数のコンピュータ(1つのサイトに配置されたか、又は、複数サイトにわたって分散され、かつ、通信ネットワークによって相互接続された)で実行するために配備することができる。
【0164】
本明細書で説明したプロセスおよび論理の流れは、入力データに対して動作して出力を生成することにより機能を実行する1又は複数のコンピュータプログラムを実行する、1又は複数のプログラム可能なプロセッサによって実行することができる。例えば、FPGA(Field Programmable Gate Array、フィールドプログラマブルゲートアレイ)又はASIC(Application-Specific Integrated Circuit、特定用途向け集積回路)等の特定用途論理回路により、そのプロセスおよび論理の流れを実行することもでき、装置を実装することもできる。
【0165】
コンピュータプログラムの実行に好適なプロセッサには、例として、汎用および特定目的用の両方のマイクロプロセッサ、及び、どのような種類のデジタルコンピュータでも1又は複数のプロセッサが含まれる。一般に、プロセッサは読み出し専用メモリ又はランダムアクセスメモリ又はその両方から、命令及びデータを受け取る。コンピュータの本質的要素は、命令を実行するプロセッサ、及び、命令及びデータを格納する1又は複数のメモリである。コンピュータはまた、一般に、データを格納するための1又は複数の大容量記憶装置(例えば、磁気、磁気光学ディスク、又は光学ディスク)を含むか、又は、それらからデータを受信し又はそれらへデータを送信し、又は、その両方を実行できるようそれらに接続される。しかし、コンピュータはそのような装置を持たなくてもよい。さらに、コンピュータは、他の装置(例えば、例を挙げると、PDA(Personal Digital Assistance、携帯型情報端末)、GPS(Global Positioning System、全地球測位システム))に組み込むことができる。
【0166】
コンピュータプログラム命令及びデータを格納するのに好適なコンピュータ可読媒体には、全ての形態の不揮発性メモリ、媒体及びメモリ装置(例としては、EPROM、EEPROM、及びフラッシュメモリ装置等の半導体メモリ装置、内蔵ハードディスク又は取り外し可能ディスク等の磁気ディスク装置、磁気光学ディスク、及び、CD−ROM及びDVD−ROMディスクを含む)が含まれる。プロセッサ及びメモリは、特定用途論理回路で補足することができ、又は、それに組み込むことができる。
【0167】
ユーザとの相互作用に備えて、開示された実施例は、コンピュータ(情報をユーザに提示するための表示装置、例えば、CRT(cathode ray tube、陰極線管)又はLCD(liquid crystal display、液晶ディスプレイ)モニタ、及び、ユーザがコンピュータに入力を与えることができるキーボードおよびポインティングデバイス、例えば、マウスまたはトラックボールを備えた)上で実行することができる。その他の種類の装置もまたユーザとの相互作用に備えて使用することができ、例えば、ユーザに提供されるフィードバックは、例えば、視覚的フィードバック、聴覚的フィードバック、又は触覚的フィードバック等のどのような形式の感覚フィードバックであってもよく、かつ、ユーザからの入力は、音響、音声又は触覚入力を含むどのような形式で受信されてもよい。
【0168】
本明細書に開示された本発明の実施例は、コンピュータシステム(バックエンド構成要素、例えば、データサーバ等、を含む、又は、ミドルウェア構成要素、例えば、アプリケーションサーバ、を含む、又は、フロントエンド構成要素、例えば、ユーザが本明細書に開示された本発明の実施例と相互作用できるようにするためのグラフィカルユーザインタフェース又はウェブブラウザを有するクライアントコンピュータ、を含む)において実行することができ、又は、そのようなバックエンド、ミドルウェア、又はフロントエンド構成要素の1又は複数のどのような組合せでも実行することができる。システムの構成要素は、通信ネットワーク等のデジタルデータ通信のどのような形態又は媒体によってでも相互接続することができる。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)及びインターネット等の広域ネットワーク(「WAN」)が含まれる。
【0169】
コンピュータシステムはクライアント及びサーバを含むことができる。クライアント及びサーバは、一般には相互に遠く離れており、通常は通信ネットワークを通して相互作用する。クライアント及びサーバの関係は、それぞれのコンピュータ上で実行され、かつ、相互にクライアント−サーバ関係にあるコンピュータプログラムによって、発生する。
【0170】
本明細書は多くの詳細を含むが、これらは、特許請求の範囲を限定するものとして解釈されてはならず、むしろ、特定の実施例に固有の特徴の説明として解釈されなければならない。別々の実施例との関連で本明細書に説明されたある特徴は、単一の実施例に組み合わせて実行することもできる。逆に、単一の実施例との関連で説明された種々の特徴は、多様な実施例に別々で、又は、適切なサブコンビネーションで実行することもできる。さらに、特徴がある組み合わせで動作するように上記され、かつ、さらにそのように初期に請求されるが、請求された組み合わせから1又は複数の特徴が、一部の場合は、組み合わせから切り取られることが可能であり、かつ、請求された組み合わせは、サブコンビネーション又はサブコンビネーションの変形例に導かれる。
【0171】
同様に、操作が特定の順序で図面に示されているが、これは、所望の結果を得るために、そのような操作が図示された特定の順序又は起こった順番で実行されるか、又は、図示された全操作が実行される必要があると理解されてはならない。ある環境では、マルチタスク及びパラレル処理が好ましい。さらに、上記した実施例の種々のシステムコンポーネントの分離は、全ての実施例にそのような分離が必要であると理解されてはならず、かつ、上記したプログラムコンポーネント及びシステムは、一般に、単一のソフトウェア製品に一緒に組み込まれるか、又は、複数のソフトウェア製品にパッケージ化されることが可能である。
【0172】
このように、特定の実施例について説明がなされた。他の実施例も添付の特許請求の範囲の範囲に含まれている。例えば、請求項に記載されたアクションは、異なった順序で実行することができ、所望の結果をまだ達成させる。1例として、添付図面に示されたプロセスは、示された特定の順序、シーケンシャルの順序を必ずしも必要とすることなく、所望の結果を達成させる。ある実施例では、マルチタスクおよび並列処理が好都合であってもよい。
【符号の説明】
【0173】
202 小規模な注釈付コーパス
204 姓のコレクション
206 名のコレクション
402 名前モデル
404 非名前モデル
406 言語モデル

【特許請求の範囲】
【請求項1】
文字の入力ストリングを受信するステップと、
名前検出モデルを複数の文字を有する前記入力ストリングに適用するステップと
を具備し、
前記名前検出モデルを適用するステップは、
1又は複数の名前を含まない、前記複数の文字の最も尤もらしい区分化を特定するステップと、
1又は複数の名前を潜在的に特定するとして、前記複数の文字のうちの1又は複数の文字シーケンスを検出するステップと、
前記1又は複数の潜在的な名前を含んでいる、前記複数の文字の区分化を特定するステップと、
前記潜在的な1又は複数の名前を含む前記区分化の尤度が、1又は複数の名前を含まない最も尤もらしい区分化より大きいとき、前記1又は複数の名前を含むとして、前記複数の文字を区分するステップと
を具備することを特徴とする方法。
【請求項2】
前記複数の文字が1又は複数の名前を含むとして区分されるとき、1又は複数の名前を検出するステップをさらに具備することを特徴とする請求項2に記載の方法。
【請求項3】
文字の入力ストリングを受信する手段と、
名前検出モデルを複数の文字を有する前記入力ストリングに適用する手段と
を備え、
前記名前検出モデルを適用する手段は、
1又は複数の名前を含まない、前記複数の文字の最も尤もらしい区分化を特定する手段と、
1又は複数の名前を潜在的に特定するとして、前記複数の文字のうちの1又は複数の文字シーケンスを検出する手段と、
前記1又は複数の潜在的な名前を含んでいる、前記複数の文字の区分化を特定する手段と、
前記潜在的な1又は複数の名前を含む前記区分化の尤度が、1又は複数の名前を含まない最も尤もらしい区分化より大きいとき、前記1又は複数の名前を含むとして、前記複数の文字を区分する手段と
を備えることを特徴とするシステム。
【請求項4】
コンピュータプログラム製品であって、
有形のプログラムキャリア上にコード化され、
文字の入力ストリングを受信するステップと、
名前検出モデルを複数の文字を有する前記入力ストリングに適用するステップと
を具備するオペレーションをデータ処理装置に実行させ、
前記名前検出モデルを適用するステップは、
1又は複数の名前を含まない、前記複数の文字の最も尤もらしい区分化を特定するステップと、
1又は複数の名前を潜在的に特定するとして、前記複数の文字のうちの1又は複数の文字シーケンスを検出するステップと、
前記1又は複数の潜在的な名前を含んでいる、前記複数の文字の区分化を特定するステップと、
前記潜在的な1又は複数の名前を含む前記区分化の尤度が、1又は複数の名前を含まない最も尤もらしい区分化より大きいとき、前記1又は複数の名前を含むとして、前記複数の文字を区分するステップと
を具備することを特徴とするコンピュータプログラム製品。
【請求項5】
前記複数の文字が1又は複数の名前を含むとして区分されるとき、1又は複数の名前を検出するステップをさらに具備するオペレーションをデータ処理装置に実行させることを特徴とする請求項4に記載のコンピュータプログラム製品。
【請求項6】
システムであって、
文字の入力ストリングを受信するステップと、
名前検出モデルを複数の文字を有する前記入力ストリングに適用するステップと
を具備するオペレーションを実行するように構成された1又は複数のコンピュータを備え、
前記名前検出モデルを適用するステップは、
1又は複数の名前を含まない、前記複数の文字の最も尤もらしい区分化を特定するステップと、
1又は複数の名前を潜在的に特定するとして、前記複数の文字のうちの1又は複数の文字シーケンスを検出するステップと、
前記1又は複数の潜在的な名前を含んでいる、前記複数の文字の区分化を特定するステップと、
前記潜在的な1又は複数の名前を含む前記区分化の尤度が、1又は複数の名前を含まない最も尤もらしい区分化より大きいとき、前記1又は複数の名前を含むとして、前記複数の文字を区分するステップと
を具備することを特徴とするシステム。
【請求項7】
前記複数の文字が1又は複数の名前を含むとして区分されるとき、1又は複数の名前を検出するステップをさらに具備するオペレーションを実行するように構成された1又は複数のコンピュータを備えることを特徴とする請求項6に記載のシステム。

【図1A】
image rotate

【図1B】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2013−109364(P2013−109364A)
【公開日】平成25年6月6日(2013.6.6)
【国際特許分類】
【出願番号】特願2013−4333(P2013−4333)
【出願日】平成25年1月15日(2013.1.15)
【分割の表示】特願2010−536305(P2010−536305)の分割
【原出願日】平成19年12月6日(2007.12.6)
【出願人】(507103802)グーグル・インコーポレーテッド (191)
【Fターム(参考)】