JP2012529108A - ライティングシステム及び言語の検出 - Google Patents

ライティングシステム及び言語の検出 Download PDF

Info

Publication number
JP2012529108A
JP2012529108A JP2012513970A JP2012513970A JP2012529108A JP 2012529108 A JP2012529108 A JP 2012529108A JP 2012513970 A JP2012513970 A JP 2012513970A JP 2012513970 A JP2012513970 A JP 2012513970A JP 2012529108 A JP2012529108 A JP 2012529108A
Authority
JP
Japan
Prior art keywords
text
language
writing system
detecting
identifying
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2012513970A
Other languages
English (en)
Inventor
リチャード エル サイツ
Original Assignee
グーグル・インク
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by グーグル・インク filed Critical グーグル・インク
Publication of JP2012529108A publication Critical patent/JP2012529108A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/263Language identification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)

Abstract

ライティングシステム及び言語を検出するための方法、システム、及びコンピュータプログラム製品を含む装置が開示される。一実施例では、方法が提供される。この方法は、テキストを受け入れ、かなりの量が第1言語を表現するテキストの第1セグメントを検出し、かなりの量が第2言語を表現するテキストの第2セグメントを検出し、テキスト中に含まれるサイズxの各nグラムに対してスコアを確認し、スコアの変化に基づき、テキストにおいて第1言語から第2言語への遷移を識別するエッジを検出することを含む。

Description

本明細書は、ライティングシステム及び言語の検出に関する。
ライティングシステムは、シンボル、例えば、文字又は書記素を使用して、言語の音声を表現する。ライティングシステムにおけるシンボルの集合を、スクリプトと呼ぶことができる。例えば、1つ又はそれ以上のローマン・スクリプトにおけるローマ字の集合を含む、ラテン・ライティングシステムは、英語を表現するのに使用され得る。特定のライティングシステムは、1つ以上の言語を表現するのに使用され得る。例えば、ラテン・ライティングシステムは、またフランス語を表現するのに使用され得る。
さらに、所与の言語は、1つ以上のライティングシステムによって表現され得る。例えば、中国語は、第1ライティングシステム、例えば、ピンイン(即ち、ローマ字表記された中国語)によって表現され得る。中国語は、また第2ライティングシステム、例えば、ボポモフォ即ち注音符号(「注音」)を使用して表現され得る。さらに別の例として、中国語は、第3ライティングシステム、例えば、漢字を使用して表現され得る。
ライティングシステムと言語との複雑な関係は、入力テキストから言語を自動的に検出する困難性を増大させる。入力テキストから言語を検出する確度と精度は、分類辞をトレーニングするのに使用されるトレーニングデータの量と質に依存することができる。
本明細書では、言語検出に関する技術を述べる。
一般に、本明細書で述べる主題の1つの態様は、テキストを受け入れ、かなりの量が第1言語を表現するテキストの第1セグメントを検出し、かなりの量が第2言語を表現するテキストの第2セグメントを検出し、テキスト中に含まれるサイズxの各nグラムに対してスコアを確認し、スコアの変化に基づき、テキストにおいて第1言語から第2言語への遷移を識別するエッジを検出する動作を含む方法において具体化されることができる。この態様の他の実施形態は、対応するシステム、装置、及びコンピュータプログラム製品を含む。
これらの及び他の実施形態は、必要に応じて1つ又はそれ以上の以下の特徴を含み得る。スコアは、nグラムが特定の言語を表現する可能性を表現する。スコアは、nグラムが第1言語を表現する可能性と、nグラムが第2言語を表現する可能性との相違を表現する。エッジの検出は、連続したnグラムの第1グループに対するスコアの第1平均を計算することを備え、連続したnグラムが、第1左コンテキストと第1右コンテキストとを備える第3nグラムと、第2左コンテキストと第2右コンテキストとを備える第4nグラムとを含むものとして規定されており、第2左コンテキストが第1右コンテキストであり、連続したnグラムの第1グループが、終りのnグラムを備えた特定数の連続したnグラムを含むものとして規定されている。エッジの検出はさらに、連続したnグラムの第2グループに対するスコアの第2平均を計算することを備え、連続したnグラムの第2グループが、終りのnグラムに隣接する始めのnグラムを備える同数の連続したnグラムを含むものとして規定されており、第1平均と第2平均との相違に基づきエッジを識別することを備える。
一般に、本明細書に記載される主題の別の態様は、テキストを受け入れ、1つ又はそれ以上の第1言語を表現するテキストの第1部分において表現されるライティングシステムを識別し、テキストの第1部分において表現される1つ又はそれ以上の第1言語からのみの特定の言語を検出する動作を含む方法において具体化されることができる。この態様の他の実施形態は、対応するシステム、装置、及びコンピュータプログラム製品を含む。
これらの及び他の実施形態は、必要に応じて1つ又はそれ以上の以下の特徴を含むことができる。ライティングシステムの識別は、テキストの第1部分でのコード化における文字を、対応するライティングシステムにマッピングすることを含む。コード化はユニコードである。
一般に、本明細書に記載される主題の別の態様は、文書を受け入れ、かなりの量のテキストが第1ライティングシステムにおけるテキストを表現する文書の第1部分を識別し、かなりの量のテキストが第1ライティングシステムの言語で表わされている文書の第1部分における1つ又はそれ以上のセグメントを識別し、1つ又はそれ以上のセグメントにおいてかなりの量のテキストによって表現される第1ライティングシステムの特定の言語を検出する動作を含む方法において具体化されることができる。この態様の他の実施形態には、対応するシステム、装置、及びコンピュータプログラム製品が含まれる。
これらの及び他の実施形態は、必要に応じて1つ又はそれ以上の以下の特徴を含むことができる。方法は、かなりの量のテキストが第2ライティングシステムにおけるテキストを表現する文書の第2部分を識別し、1つ又はそれ以上のセグメントのうち1つ又はそれ以上の各々においてかなりの量のテキストが、第2ライティングシステムの言語で表現される、文書の第2部分における1つ又はそれ以上のセグメントを識別することをさらに含む。第1ライティングシステムは、中国語、日本語及び韓国朝鮮語を表現するのに使用されるライティングシステムを含む、合体したライティングシステムである。
本明細書に記載される主題の特定の実施形態は、1つ又はそれ以上の次の利点を達成するように実現され得る。
言語検出のための開示されたシステム及び技術は、例えば、ノイズのあるデータを取り除き、特定の言語を表すようなトレーニングデータを正確に分類することによって、トレーニングデータの質を向上させるのに使用されることができ、これにより入力テキストから言語を検出する正確さ、効率性及び精度を増加させる。特に、反復性のテキストを検出し取り除くと、言語を検出することができる文書(例えば、ウェブページ、ブログ及びEメールのようなノイズのある文書)の種類が増加し、これにより利用可能なトレーニングデータの量を増大させる。さらに、単一の文書において混合された言語を検出することは、多くの文書が2つ又はそれ以上の言語のテキストを収容しているので、利用可能なトレーニングデータの量も増大させる。
言語検出のためのシステム及び技術はまた、例えば、ノイズのあるデータを入力テキストから取り除き、入力テキストが表現するかもしれない唯一のライティングシステムの特定の言語に関する分析に焦点を合わせ、類似の言語を区別し、入力テキストに使用される言語間の正確な遷移を検出することによって、言語検出を合理化するのに使用されることができ、これにより入力テキストから言語を検出する正確さ、効率性及び精度をさらに増加させる。
本明細書に記載される主題の1つ又はそれ以上の実施形態の詳細は、添付図面及び以下の説明に記載される。主題の他の特徴、態様、及び利点は、以下の記載、図面、及び特許請求の範囲から明らかになるであろう。
図1は、検出システムの例を含む図である。 図2Aは、圧縮を使用して反復性を検出するプロセスの例を図示する。 図2Bは、反復性のトークンを含むテキストのシーケンスの例を図示する。 図3は、ライティングシステム及び言語を検出するため、テキストにおけるセグメントを識別するためのプロセスの例を示す。 図4Aは、第2言語におけるテキストを表現するトークンの第2シーケンスが後に続く第1言語におけるテキストを表現するトークンの第1シーケンスを含むテキストの例を示す。 図4Bは、テキストにおいて表現される異なる言語間のエッジを検出するためのプロセスの例を示す。 図5は、人工言語を生成し、人工言語を使用して言語を検出するためのプロセスの例を示す。 図6Aは、類似の言語からの用語を含むテキストのシーケンスの例を図示する。 図6Bは、類似の言語を区別するためのプロセスの例を図示する。 図7は、一般的なコンピュータシステムの概略図である。種々の図面における同じ参照符号及び名称は、同じ要素を示す。
(統計的な言語検出の概要)
nグラムは、n個の連続したトークン、例えば、単語又は文字のシーケンスである。nグラムは、nグラムにおけるトークンの数である序列又はサイズを有する。例えば、1グラム(又はユニグラム)は1つのトークンを含み、2グラム(又はバイグラム)は2つのトークンを含む。
所与のnグラムは、nグラムの異なる部分によって記載され得る。nグラムは、コンテキスト及び将来のトークン(コンテキストw)として記載され得、その場合、コンテキストの長さはn−1であり、wは将来のトークンを表す。例えば、3グラム「c」は、nグラムのコンテキスト及び将来のトークンに特有の表現で記載され得る(ここで、c、c及びcは各々、文字を表す)。nグラムの左のコンテキストは、nグラムの最後のトークンに先行するnグラムの全てのトークンを含む。この所与の例では、「c」がそのコンテキストである。コンテキストにおける最も左のトークンは、左トークンと呼ばれる。将来のトークンは、nグラムの最後のトークンであり、この例では、「c」である。nグラムは、右のコンテキストに関して記載され得る。右のコンテキストは、nグラムの第1トークンの後に続くnグラムの全てのトークンを含み、(n−1)グラムとして表現される。上述の例では、「c」が右のコンテキストである。
各nグラムは、関連づけられた確率推定量、例えば対数確率を有することができ、対数確率は、トレーニングデータでの全出現回数に対する特定の言語におけるトレーニングデータでの出現回数の関数として計算される。例えば、言語検出システムは、トレーニングデータにおいて4グラム(クワッドグラム)を全て識別することによって、トレーニングデータを構文解析することができる。各クワッドグラムに対して、トレーニングデータでの特定の言語の各々における出現数の回数を維持し記録することができる。各クワッドグラムは、クワッドグラムが特定の言語を識別する可能性を示す確率推定量と関連づけることもできる。例えば、英−羅、例えば英語−ラテン文字に対応する第1クワッドグラムについてのエントリは、第1クワッドグラムが英語のテキストを示す可能性と関連づけることができる。別の例として、第1クワッドグラムについての別のエントリは、仏−羅、例えばフランス語−ラテン文字に対応し、第1クワッドグラムがフランス語のテキストを示す可能性と関連づけることができる。
幾つかの実施例では、特定の言語において単語を識別するnグラムの確率は、特定の言語におけるトレーニングデータで表わされたnグラムの相対頻度を使用してトレーニングされる。さらに、幾つかの実施例では、大量のトレーニングデータ(例えば、テラバイトのデータ)のための分散型トレーニング環境が使用される。分散型トレーニングの技術の一例は、マップリデュース(MapReduce)である。マップリデュースについての更なる詳細は、「マップリデュース:大規模なクラスタ上での単純化されたデータ処理(MapReduce:Simplified Data Processing on Large Clusters)」(J.Dean及びS.Ghemawat著、第6回オペレーティングシステムデザイン及び実施例に関するシンポジウム予稿集、137頁〜150頁、2004年12月6日)に記載されている。
nグラム、関連づけられた確率推定量及びそれぞれの回数は、入力テキストにおける言語を検出する分類辞、例えば単純ベイズ分類辞用の分類モデル中に記憶され得る。入力テキストが特定の言語を表現する可能性を示すスコアは、入力テキスト中に含まれるnグラムを、特定の言語に対して関連づけられた確率推定量にマッピングし、各々のnグラムに対して関連づけられた確率推定量に対応する対数確率を総計することによって、計算され得る。
例えば、2つのグループのトレーニングデータは、第1グループのフランス語のトレーニングデータ(例えば、フランス語で表わされたウェブページのコーパス、検索クエリログ、Eメール、及びブログ)と、第2グループの英語のトレーニングデータとを含む。従来の技術は、各々のnグラムに対する上述の回数及び確率推定量を識別し、例えばハッシュテーブルを使用して分類モデル内に記憶することができるように、各グループのトレーニングデータを処理するのに使用され得る。その際、確率推定量は、他のテキストにおける言語を検出するのに使用され得る。特に、他のテキストは、指定されたサイズのnグラムを使用して、構文解析され得る。指定されたサイズのnグラムは、それぞれの確率を決定するため、分類モデルのエントリと比較され得る。他の技術及び従来の技術に対する改良は、後述のように可能である。
(言語検出システムの例)
図1は、検出システム100の例を含む。検出システム100は、圧縮モジュール105と、セグメントモジュール110と、エッジ検出モジュール115と、言語生成モジュール120と、比較モジュール125と、分類モジュール130と、検出モジュール135とを含む。検出システム100の構成要素は、1つ又はそれ以上、互いに通信可能に接続され得る。他の実施例が可能である。例えば、分類モジュール130は、検出システム100とは別個の構成要素とすることができる。さらに、検出システム100において識別される構成要素が論理的に別体又は別個のものとして記載されているが、検出システム100の1つ又はそれ以上の構成要素は、結合してもよいし更に分割してもよい。
検出システム100は、図2A〜図6Bに関して後述される動作を含む操作を実行することによって、テキスト中に表現されたライティングシステム及び言語を検出するのに使用され得る。幾つかの実施例では、検出システム100は、他のテキストの言語を識別するのに使用することができる、特定の言語に対するトレーニングデータのグループを識別する。例えば、識別されたトレーニングデータのグループは、言語検出に使用される素朴な単純ベイズ分類辞をトレーニングするのに使用され得る。幾つかの実施例では、検出システム100は、特定の言語を表現するトレーニングデータの指定されたグループから生成された分類モデルに基づき、入力テキストにおける言語を識別する。他の実施例が可能である。例えば、検出システム100は、特定の言語に対するトレーニングデータのグループを識別し、トレーニングデータの識別されたグループを使用して、従来の技術、後述される技術又はそれらの組み合わせによって他の入力テキストにおける言語を検出することができる。
概観すると、圧縮モジュール105は、テキストの反復を検出し、特定の言語を識別しない。セグメントモジュール110は、テキストをセグメント化して部分にし、テキストの当該部分において表現される特定の言語の正確な識別を容易にする。エッジ検出モジュール115は、特定の言語で表わされているテキスト中のシーケンスの確率を識別するのに使用されるスコアのエッジを検出し、テキストの当該部分における言語間の遷移の正確な識別を容易にする。言語検出モジュール120は、テキストが表現する特定の言語を識別するのに使用されるべきではないテキストの部分の識別を容易にするため、例えば分類モデルの形態で人工言語を生成する。比較モジュール125、分類モジュール130及び検出モジュール135は、単独で又は言語検出を行う他のモジュールと共に使用されることができる。例えば、比較モジュール125及び分類モジュール130は、類似の用語を使用する言語を区別するのに使用されることができる。
(反復性のテキストの検出)
反復性のテキストは、特定の言語を識別するテキストのシーケンスの計算された確率をゆがめる「ノイズ」とみなされることがある。従って、トレーニングデータから、又は言語を検出しようとする入力テキストから、反復性のテキストを取り除くことが好都合となり得る。
図2Aは、圧縮を使用して反復性を検出するためのプロセス200の例を示している。便宜上、テキストの圧縮は、圧縮を実施するシステム(例えば、図1の検出システム100)に関連して記載される。システムは、テキストを受け入れる(202)。システムは、非反復性であるようなテキストの部分を識別する。
特に、システムは、テキストの第1部分の基礎となるデータを圧縮する(204)。例えば、圧縮モジュール105は、入力テキストの一部分、例えば、入力テキストの1つ又はそれ以上のライン又はパラグラフを圧縮するため、従来の圧縮技術を使用することができる。例えば、システムは、可逆データ圧縮技術又は不可逆データ圧縮技術を使用することができる。基礎となるデータを圧縮した後、システムは、基礎となるデータの圧縮の量に基づき、データ圧縮比を識別する(206)。例えば、圧縮モジュール105は、データ圧縮比を識別することができる。
システムは、テキストの第1部分がデータ圧縮比に基づき非反復性であるか否かを決定する(208)。例えば、圧縮モジュール105は、データ圧縮比を閾値と比較することができる。一般に、テキストは、基礎となるデータを圧縮することができる量が増加するとき、より反復性になるものと思われる。従って、使用される閾値は、実施される圧縮技術に依存し得る。例えば、可逆データ圧縮技術が使用されるとき、閾値を、不可逆データ圧縮技術が使用されるときよりも低い値に設定することができる。幾つかの実施例では、識別されたデータ圧縮比が閾値よりも小さい場合、例えば、テキストの第1部分が、反復性のテキストを表現する圧縮の量以上に圧縮され得ない場合には、テキストの第1部分は、非反復性であると決定される。同様に、識別されたデータ圧縮比が閾値と等しいか又はそれ以上である場合には、テキストの第1部分は、反復性であると決定される。
システムは、非反復性であると決定されるテキストの部分に基づき、言語検出に用いられる候補テキストとして、テキストの第1部分を識別する(210)。例えば、分類モジュール130は、テキストの第1部分が非反復性であるとして識別される場合には、言語検出に用いられる候補テキストとして、テキストの第1部分を識別することができる。幾つかの実施例では、候補テキストは、言語を検出するための1つ又はそれ以上の分類モデルを生成するのに使用され得るトレーニングデータとして使用される。幾つかの別の実施例では、候補テキストは、1つ又はそれ以上の言語が検出される入力テキストの部分である。
幾つかの実施例では、一定サイズのブロック、例えば、48バイトの入力テキストは、予測ウィンドウを使用して構文解析される。予測ウィンドウは、例えば、トリグラムに続く次のトークンを予測するため、12ビットのハッシュのトリグラムを実施するのに使用され得る。予測ウィンドウは、多くの正確な予測(又は反復)を計算するため、各トリグラム上を移動させ、例えば、テキスト中の1つのトークンを一度に移動させることができる。
図2Bは、反復性のトークンを含むテキストのシーケンスの例を図示している。テキストのシーケンスは、トークン「X」を示す。例えば、各トークンは、文字を表現することができる。検出システムは、文字のシーケンス「X」を受け入れる。第1文字Xは、例えばハッシュテーブルのようなデータ構造でメモリ内に記憶され得る。検出システムはまた、第2文字が当該テキストにおいて第1文字の直後に出現するとき、第1文字を第2文字と関連づける。例えば、XがXの直後に出現するので、XをXと関連づけることができる。検出システムは、第2文字が第1文字と既に関連づけられているとき、例えば、第2文字が第1文字によって予測されるとき、第2文字が後に続く第1文字の組み合わせを反復性として識別する。例えば、文字「X」は、Xの出現後に再現し、反復性として検出される。
幾つかの実施例では、第1文字、例えばXは、第1文字の直後に出現するとして検出された直近の文字とのみ関連づけられる。例えば、Xは、Xの三回目の出現の直後に出現する。従って、XはXと関連づけられ、Xはもはや、Xと関連づけられない。その結果、文字「X」の次の出現は、反復性として識別されなくなる。むしろ、Xは、文字「X」の次の出現時にXと関連づけられる。換言すると、第2文字とは異なる第3文字が後に続く第1文字の出現前に、第2文字が後に続く第1文字の組み合わせが再び出現した場合にのみ、反復性の文字が識別される。
幾つかの実施例では、一定サイズのブロックの入力テキストにおける正確な予測の大きな割合(例えば、60%)は、反復性のテキストであることを示し、一定サイズのブロックの入力テキストは、システムが言語検出を実施する前に取り除かれる。別の実施例では、テキストは、例えば上述の技術の実施に基づき、反復性であるとみなされないかもしれないが、特定の言語によって表現されるとして、低い確実性で識別されるかもしれない。例えば、2つの蓋然性の高い言語がテキストによって表現される確率が同様なものであるかもしれず、或いはテキストによって最も表現されそうな言語が、テキストの3分の1未満を表現するとして検出される。確実性が低く、正確な予測の大きな割合(例えば、50%)が反復性のテキストを示すとき、反復性のテキストを含む単語は、言語検出が実施される前に取り除かれる。例えば、図2Bに示されるように、Xの後の「X」の出現は、言語検出における使用から取り除かれえる。
他の実施例が可能である。例えば、確実性が低くないときでさえ、反復性の単語を取り除くことができる。幾つかの実施例では、反復性の単語は、削除によって取り除かれる。別の実施例では、反復性の単語の関連づけられた確率推定量は、重みを使用して修正(例えば、低減)される。例えば、取り除くために、関連づけられた確率推定量に、ゼロを乗ずることができる。別の例として、反復する単語によってもたらされるかもしれない統計誤差を当該反復性の単語を完全に取り除かずに減少させるため、関連づけられた確率推定量は、0〜1の値の重みを乗ずることができる。
(テキストにおけるセグメントの識別)
セグメント化したテキストは、言語の検出時に有用となり得る。これは、テキストの異なる部分を異なるライティングシステムで表現することができるからである。さらに、特定のライティングシステムにおける異なるセグメントの部分を、異なる言語で表現することができる。例えば、テキストは、ラテン文字のテキストの第1部分と、キリル文字のテキストの第2部分とを含むことができる。ラテン文字のテキストの第1部分は、英語及びスペイン語を表現するテキストのセグメントを含むことができる。キリル文字のテキストの第2部分は、ブルガリア語及びロシア語を表現するテキストのセグメントを含むことができる。テキストの第1部分又は第2部分が中国語を表現するテキストのセグメントを含む可能性は、ありそうにもない。さらに、テキストの第1部分がブルガリア語を表現するテキストのセグメントを含む可能性も、ありそうにもない。その結果として、ライティングシステムによって表現される言語を検出する前に、テキストで表現されるライティングシステムを最初に検出することが好都合となり得る。
図3は、ライティングシステム及び言語を検出するため、テキスト中のセグメントを識別するためのプロセス300の例を示している。便宜上、セグメントの識別は、識別を実施するシステム(例えば、図1の検出システム100)に関連して記載される。システムは、テキストを受け入れる(302)。システムは、例えばテキスト文書の形態で入力テキストを受け入れることができる。
システムは、テキストの第1部分において表現されるライティングシステムを識別する(304)。ライティングシステムは、1つ又はそれ以上の第1言語を表現する。例えば、システムは、ライティングシステムを識別するため、従来の技術、ここに記載された技術、又はそれらの組み合わせを使用することができる。特別な例として、ライティングシステムは、テキストのコード化を検出することによって識別されることができる。
上述のように、ライティングシステムは、1つ又はそれ以上の言語に対応することができる。システムは、テキストの第1部分において表現される1つ又はそれ以上の第1言語からのみ特定の言語を検出する(306)。例えば、システムは、第1部分におけるかなりの量のテキストが第1ライティングシステムにおけるテキストを表現する文書の第1部分を識別することができる。一般に、入力テキスト中の各文字は、特定のスクリプト又はライティングシステムに属する。文字テーブルにおける文字の検索は、例えば、UTF−8のような入力エンコーディングにおける文字をUTF−8文字テーブルにおける文字値にマッピングすることによって実施され、文字値及びライティングシステムを識別することができる。このようなやり方での各文字のマッピングは、入力テキストの連続した部分を識別することができる。
同様の技術を使用して、システムはまた、他のライティングシステムを識別するとして文書の他の部分、例えばテキストのパラグラフ又はラインを識別することができる。異なるライティングシステムにおいてテキストを表現する識別された各部分を別個に処理して、異なるライティングシステムの各々に対応する言語を識別することができる。例えば、システムは、文書の第1部分において1つ又はそれ以上のセグメント、例えばテキストのパラグラフ又はライン内の文字のシーケンスを識別することができ、1つ又はそれ以上のセグメントの各々におけるかなりの量のテキストが、第1ライティングシステムの言語で表現される。システムはまた、1つ又はそれ以上のセグメントにおいてかなりの量のテキストによって表現される第1ライティングシステムの特定の言語を検出することができる。例えば、システムは、文書中の第1パラグラフがラテン文字で表わされていることを識別するかもしれない。その際、システムは、第1パラグラフの当該箇所が英語であり、第1パラグラフの別の箇所がフランス語であることを検出するかもしれない。
他の実施例が可能である。幾つかの実施例では、2つ又はそれ以上のライティングシステムが、単一のライティングシステムとして扱われる。例えば、中国語、日本語及び韓国朝鮮語(CJK)を表現するライティングシステムを合体して、言語検出の目的のため、単一のライティングシステム、例えば合体ライティングシステムとして扱うことができる。合体ライティングシステムの使用は、2つ又はそれ以上の言語が同じライティングシステムからの文字を使用するとき、好都合となり得る。特に、中国語、日本語、及び韓国朝鮮語は各々、漢字(中国文字)を使用する。日本語テキストが漢字部分、かたかな部分及びひらがな部分にセグメント化された場合には、漢字部分は、日本語ではなく中国語を表現するとして誤って識別されるかもしれない。例えばCJK用の合体ライティングシステムを使用して当該部分を結合することにより、混合された漢字の識別時に、かたかなとひらがなのテキストによるコンテキストであるとみなすことができ、理想的にいえば日本語が識別される。
(エッジの検出)
言語検出を改善するための別の技術は、テキストにおいて或る言語から別の言語への遷移を示すエッジの検出を伴う。特に、スコア間の変化を検出して、遷移を識別することができる。
図4Aは、第2言語におけるテキストを表現するトークンの第2シーケンスが後に続く第1言語におけるテキストを表現するトークンの第1シーケンスを含むテキストの例を図示している。特に、テキスト「hello bonjour」は、フランス語の単語「bonjour」(例えば、英語における「hello」)が後に続く英語の単語「hello」を含む。このテキストは、トークン「hellobonjour」のシーケンスとして表わされ得る。テキストにおいて表現される1つ又はそれ以上の言語を識別するため、スコアは、トークンのシーケンスにおけるnグラムに対して計算され得る。
図4Bは、テキストにおいて表現される異なる言語間のエッジを検出するためのプロセス400の例を示す。便宜上、エッジの検出は、検出を実施するシステム(例えば、図1の検出システム100)に関連して記載される。システムは、テキストを受け入れる(402)。システムは、かなりの量が第1言語を表現するテキストの第1セグメントを検出する(404)。システムは、かなりの量が第2言語を表現するテキストの第2セグメントを検出する(406)。例えば、システムは、図1〜図4Bに関連して上述された技術に基づき、第1言語を表現するとしてテキストの第1セグメントを検出し、第2言語を表現するとしてテキストの第2セグメントを検出することができる。単なる例示的な目的のため、システムは最初に、英語のテキストとして「hello bon」を、フランス語のテキストとして「jour」(例えば、英語の「day」)を識別しても良い。
システムは、テキスト中に含まれるサイズxの各nグラムについてのスコアを識別する(408)。図4Aに示されるように、例えば、スコアは、サイズ4のnグラム(クワッドグラム)について計算されることができる。この例では、クワッドグラムには、「hell」、「ello」、「llob」、「lobo」、「obon」、「bonj」、「onjo」、「njou」、及び「jour」が含まれる。
幾つかの実施例では、クワッドグラムが英語を表現する確率を示す各クワッドグラムについての第1スコアが計算される。さらに、クワッドグラムがフランス語を表現する確率を示す各クワッドグラムについての第2スコアが確認される。例えば、「hell」が英語を表現する確率を示す第1スコアAを確認することができる。さらに、「hell」がフランス語を表現する確率を示す第2スコアBを確認することができる。第1スコアから第2スコアを引いて(例えば、A−B)、「hell」についての中間スコアを生成することができる。各クワッドグラムに対して、同様の方法で、中間スコアを計算することができる。幾つかの実施例では、フランス語ではなく英語を表わしそうなクワッドグラムは、正の中間スコアを有し、英語ではなくフランス語を表わしそうなクワッドグラムは、負の中間スコアを有する。
単一のnグラムについての中間スコアには一般にノイズが含まれ、多数の中間スコアを平均することによってノイズを取り除くことができる。その平均化は、2つの言語間の遷移を示す最も適当な境界が識別されるように、データを均等にする。それ故、別の実施例では、テキスト中に連続して出現するクワッドグラムについての特定数の中間スコアの平均が計算される。例えば、特定数が4つである場合には、「hell」、「ello」、「llob」、及び「lobo」についての中間スコアの平均が計算される。この例では、(1)「hell」、「ello」、「llob」、「lobo」、(2)「ello」、「llob」、「lobo」、「obon」、(3)「llob」、「lobo」、「obon」、「bonj」、(4)「lobo」、「obon」、「bonj」、「onjo」、(5)「obon」、「bonj」、「onjo」、「njou」、及び(6)「bonj」、「onjo」、「njou」、「jour」を含む、クワッドグラムの6グループについての中間スコアの平均が計算される。テキスト中に連続して出現する2つのグループのクワッドグラムについての中間スコアの各対間の相違を計算することができる。特に、グループ(1)と(2)、(2)と(3)、(3)と(4)、(4)と(5)、及び(5)と(6)について、中間スコア間の相違を計算することができる。
システムは、スコアの変化に基づき、テキスト中における第1言語から第2言語への遷移を識別するエッジを検出する(410)。例えば、スコア間における最大の相違は、エッジを検出するのに使用され得る。理想的には、中間スコア間における最大の相違は、「hello」と「bonjour」との間にエッジが存在することを識別する、グループ(5)と(6)に対応するであろう。他の実施例が可能である。例えば、6つのグループのクワッドグラムについて第1スコアのみの平均間の最大変化に基づき、エッジを識別することができる。
(人工言語)
ウェブページからのテキストは、文学作品又は新聞のようなソースに見られるテキストとは異なり、自然言語(例えば、人が話す言語)がテキスト中で表われるものに関する有用な指標を提供しないかもしれない。このようなテキストは、少なくともその全体を、言語を検出する分類辞をトレーニングするためのトレーニングデータとして使用されるべきではない。例えば、「Copyright2008」は、英語以外の言語で書かれたウェブページ上に出現する。従って、単語「Copyright」は、言語を検出するための有用な指標とはならないであろう。同様に、文字のシーケンス「jpg」(例えば、画像ファイルフォーマットの拡張子を表現する)は、テキスト中に頻繁に出現するが、これも言語を検出するための有用な指標を提供しない。実際には、「Copyright」及び「jpg」は、英語ではない特定の自然言語に属するものとして識別され、これにより言語検出の結果をゆがめるかもしれない。これらの型式のnグラムを含む人工言語を、テキスト中の言語の検出時に当該nグラムが統計誤差の一因とならないように、生成することができる。
図5は、人工言語を生成し、この人工言語を使用して言語を検出するためのプロセス500の例を示している。便宜上、生成及び検出は、生成及び検出を実施するシステム(例えば、図1の検出システム100)に関連して説明される。システムは、多数の自然言語を識別する同様の可能性と各々関連づけられるトレーニングデータにおける1つ又はそれ以上のnグラムを検出する(502)。例えば、システムは、従来の技術、ここに記載された技術又はそれらの組み合わせを使用してnグラムにスコアをつけ、2つ又はそれ以上の自然言語、例えば人が話す言語を識別する実質的に同様の可能性を有する1つ又はそれ以上のnグラムを識別することができる。
システムは、識別されたnグラムに基づき人工言語を生成する(504)。例えば、システムは、識別されたnグラムを含む人工言語に対して、nグラムが人工言語を表現する確率推定量及びそれぞれの回数を関連づけた分類モデルを生成することができる。
幾つかの実施例では、人工言語は、入力テキストによって潜在的に表現される言語として、自然言語のように取り扱われる。例えば、テキストは、受け入れられることができる。システムは、受け入れたテキストが人工言語又は他の自然言語を表すテキストを含むか否かを検出することができる。特に、システムは、テキストを受け入れ(506)、受け入れたテキストが人工言語を表現する第2の可能性に対する、受け入れたテキストが第1自然言語を表現する第1の可能性を計算する(508)。例えば、システムは、受け入れたテキストが英語を表現する30%の可能性、受け入れたテキストがフランス語を表現する40%の可能性、受け入れたテキストが人工言語を表現する30%の可能性を検出しても良い。
例えば、受け入れたテキストがフランス語又は他の自然言語に対して英語を表現する可能性を表現する信頼値を識別するため、受け入れたテキストが人工言語を表現する可能性を、受け入れたテキストが英語を表現する可能性と比較することができる。
幾つかの実施例では、人工言語を表現するとして識別された受け入れたテキストを、受け入れたテキストから取り除いて、修正したテキストを作ることができる。上述のように、取り除くことは、削除によって、或いは、重み(例えば、ゼロの重み)を使用して関連づけられた確率推定量を修正することによって、実施され得る。その結果、システムは、自然言語を表現する修正したテキストの新たな可能性を検出する。例えば、修正したテキストの第2段階に関して、システムは、英語の60%の可能性とフランス語の40%の可能性を検出しても良い。
(類似の言語)
図6Aは、類似の言語を区別するためのプロセス600の例を図示している。便宜上、類似の言語の区別は、区別を実施するシステムに関連して記載される。システム(例えば、検出システム100)は、テキストを受け入れる(602)。システムは、テキストの一部分において表現され、各々が実質的に類似する多数の言語を検出する(604)。例えば、システムは、従来の技術、上述の技術、又はそれらの組み合わせを使用して、テキストの部分に表現された多数の言語(例えば、マレーシア語とインドネシア語のような類似の言語)を検出することができる。言語は、例えば、同じ言語族に属するとき又は共通の言語構造を共有している場合に、互いに実質的に類似しているとみなされることができる。類似の言語の他の例には、チェコ語とスロバキア語が含まれる。
幾つかの実施例では、2つ又はそれ以上の言語において頻繁に出現し、2つ又はそれ以上の言語を表現する実質的に類似の可能性を有する特定のnグラムを識別することによって、類似の言語を識別することができる。
システムは、多数の言語における第1言語がテキスト全体を表現する第1の可能性を識別する(606)。例えば、システムは、マレーシア語がテキスト全体を表現する第1の可能性を識別することができる。システムは、多数の言語における第2言語がテキスト全体を表現する第2の可能性を識別する(608)。例えば、システムは、インドネシア語がテキスト全体を表現する第2の可能性を識別することができる。システムは、第1の可能性を第2の可能性と比較する(610)。例えば、システムは、マレーシア語がテキスト全体を表現する可能性を、インドネシア語がテキスト全体を表現する可能性と比較することができる。
システムは、テキストの部分が比較に基づき第1言語で表現されることを識別する(612)。例えば、マレーシア語がテキスト全体を表現する可能性が、インドネシア語がテキスト全体を表現する可能性よりも大きい場合に、システムは、テキストの部分がマレーシア語で表現されていることを識別することができる。他の実施例が可能である。例えば、第1の可能性と第2の可能性は、全体よりも少ないテキストに基づいて、例えば、多数の言語が最初に検出されたテキストの部分よりも多いテキストの別の部分に基づいて、識別され得る。
さらに、言語が類似しているかもしれないが、類似の言語間の相違は、幾つかの実施例では、多数のトークン(例えば、8トークン)を一度に処理することによって、より容易に識別されることができる。多数のトークンを一度に処理することを全ての言語に対して実施することができるが、多くの言語が少数のトークン(例えば、4トークン)での処理により区別され得るので、類似の言語のみに対するこの処理の実施は、言語検出の効率を増大させることができる。
例えば、類似の言語は、サイズxのnグラムの検討に基づき、テキストのシーケンスを潜在的に表現するとして検出され得る。nグラムをサイズy(>検討したサイズx)に増加させると、nグラムが言語における1つ又はそれ以上の完全な単語にマッピングする可能性が増大し、これにより1つの類似した言語を別の言語から区別する可能性を増大させる。例えば、「keuangan」はインドネシア語である確率が高く、「kewangan」はマレーシア語である確率が高いが、「keua」、「uang」、「ngan」、「kewa」、「wang」、及び「ngan」は、インドネシア語又はマレーシア語である確率は同じである。
図6Bは、類似の言語を区別するためのプロセス650の別の例を図示している。便宜上、類似の言語の区別は、区別を実施するシステムに関連して記載される。システム(例えば、検出システム100)は、テキストを受け入れる(652)。システムは、テキストをセグメント化してサイズxのnグラムにすることによって、テキストにおいて表現される第1言語と第2言語を検出する(654)。例えば、システムは、サイズx(例えばサイズ4)のnグラムを使用して、テキストを構文解析する。
システムは、第1言語が第2言語に実質的に類似していることを決定する(656)。第1言語が第2言語に実質的に類似しているとき、システムは、第1言語が第2言語に実質的に類似していることを識別することに基づき、テキストにおいて表現される特定の言語を識別するため、テキストをセグメント化してサイズy(>x)のnグラムにすることによってテキストを処理する(658)。例えば、システムは、サイズy(例えばサイズ8)のnグラムを使用してテキストを構文解析する。
他の実施例が可能である。例えばシステムが多量のトレーニングデータ(例えば、多数のウェブページ)上で常に1つの言語のみを識別するときには、例えば、nグラムのサイズを減少させることができる。
上述の技術は、実行時に、例えば入力テキストの受け入れに応答してリアルタイムで又はそれを組み合わせてオフラインで実施され得る。当該技術をオフラインで実施する例には、入力テキストにおいて表現される言語の識別に使用されるトレーニングデータの生成が含まれる。当該技術を実行時に実施する例には、入力テキストを圧縮して反復性の部分を取り除くこと、残りの部分をセグメント化すること、及び検出されたエッジに基づきセグメント化した部分における言語を識別することが含まれる。他の実施例が可能である。
図7は、一般的なコンピュータシステム700の概略図である。システム700は、上述の技術(例えば、プロセス200、220、300、400、500、600及び650)と関連して記載された操作を実施するのに使用され得る。システム700は、プロセッサ710と、メモリ720と、記憶装置730と、入力/出力装置740とを含み得る。構成要素710、720、730、740の各々は、システムバス750を使用して互いに接続されている。プロセッサ710は、システム700内で実行される命令を処理することができる。このような実行される命令は、例えば図1〜図6Bに関連して説明されたような、言語を検出するためのシステムの1つ又はそれ以上の構成要素を実現することができる。一実施例では、プロセッサ710は、シングルスレッド・プロセッサである。別の実施例では、プロセッサ710は、マルチスレッド・プロセッサである。プロセッサ710は、メモリ720内又は記憶装置730上に記憶された命令を処理し、入力/出力装置740上にユーザインタフェース用の画像情報を表示することができる。
メモリ720は、コンピュータで読み取り可能な媒体であり、例えばシステム700内の情報を記憶する揮発性又は不揮発性の媒体を含む。メモリ720は、例えば分類モデルを記憶することができる。記憶装置730は、システム700に対して永続的な記憶を提供することができる。記憶装置730は、フロッピーディスク装置、ハードディスク装置、光ディスク装置、又はテープ装置、又は他の適当な永続的な記憶手段でもよい。入力/出力装置740は、システム700に対して入力/出力操作を提供する。一実施例では、入力/出力装置740は、キーボード及び/又はポインティング装置を含む。別の実施例では、入力/出力装置740は、グラフィカルユーザインタフェースを表示するためのディスプレイユニットを含む。
入力/出力装置740は、システム、例えば図1の検出システム100に対して入力/出力操作を提供することができる。検出システム100は、例えばモジュール105、110、115、120、125、130を実行するコンピュータソフトウェアコンポーネントを含むことができる。このようなソフトウェアコンポーネントは、記憶装置730、メモリ720内に消えずに残ることができ、或いはネットワーク接続を介し数例を指定して得ることができる。
本明細書に記載された主題及び操作の実施形態は、デジタル電子回路において、又はコンピュータソフトウェア、ファームウェア、又は本明細書に開示された構造及びその構造的等価物を含むハードウェア、又はそれらの1つ又はそれ以上の組み合わせにおいて実現され得る。本明細書に記載される主題の実施形態は、1つ又はそれ以上のコンピュータプログラム、即ち、データ処理装置によって実行され、又はデータ処理装置の操作を制御するようにコンピュータ記憶媒体上にコード化されたコンピュータプログラムの命令の1つ又はそれ以上のモジュールとして実現され得る。コンピュータ記憶媒体は、コンピュータで読み取り可能な記憶装置、コンピュータで読み取り可能な記憶基板、ランダム又はシリアルアクセスメモリアレイ又はデバイス、又はこれらの1つ又はそれ以上の組み合わせとすることができ、或いはこれらに含まれても良い。
「データ処理装置」という語は、一例としてプログラム可能なプロセッサ、コンピュータ、又はマルチプルプロセッサ又はコンピュータを含む、データ処理用の全ての装置、デバイス、及び機械を包含する。装置は、ハードウェアに加えて、当該コンピュータプログラムのための実行環境を作り出すコード、例えば、プロセッサファームウェア、プロトコルスタック、データベースマネジメントシステム、オペレーティングシステム、又はこれらの1つ又はそれ以上の組み合わせを構成するコードを含み得る。
(プログラム、ソフトウェア、ソフトウェアプリケーション、スクリプト、又はコードとしても知られる)コンピュータプログラムは、コンパイルされ又はインタープリットされた言語、又は宣言型又は手続型言語を含む任意の形態のプログラミング言語で書かれ、スタンドアローン・プログラムとして、又はモジュール、コンポーネント、サブルーチン、又はコンピューティング環境に使用するのに適した他のユニットとして含まれる任意の形態でインストールされ得る。コンピュータプログラムは、ファイルシステムにおけるファイルには必ずしも対応しない。プログラムは、他のプログラム又はデータ(例えば、記述言語の文書中に記憶された1つ又はそれ以上のスクリプト)を保持するファイルの部分に、当該プログラムに割り当てられた単一のファイルで、又は多数の連動するファイル(例えば、1つ又はそれ以上のモジュール、サブプログラム、又はコードの部分を記憶するファイル)で記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、又は1つのサイト又は通信ネットワークによって相互接続された分散した多数のサイトに置かれた多数のコンピュータ上で実行されるようにインストールされ得る。
本明細書に記載されたプロセス及びロジックのフローは、入力データで操作し、出力を生成することによって機能を実施するように、1つ又はそれ以上のコンピュータプログラムを実行する1つ又はそれ以上のプログラム可能なプロセッサによって実施され得る。このプロセス及びロジックのフローはまた、特定目的用の論理回路、例えばFPGA(書替え可能ゲートアレイ)又はASIC(特定用途向け集積回路)によって実施され得、装置も、特定目的用の論理回路、例えばFPGA又はASICとして実現され得る。
コンピュータプログラムの実行に適したプロセッサは、一例として、一般用途と特定用途の両方のマイクロプロセッサと、任意の種類のデジタルコンピュータの1つ又はそれ以上のプロセッサとを含む。一般に、プロセッサは、読み取り専用メモリ又はランダムアクセスメモリ又は両方から命令とデータを受け入れる。コンピュータの必須要素は、命令を実施するためのプロセッサと、命令及びデータを記憶するための1つ又はそれ以上のメモリ装置である。一般に、コンピュータはまた、データを記憶するための1つ又はそれ以上の大容量記憶装置(例えば、磁気ディスク、光磁気ディスク又は光ディスク)を含み、或いは、これらの大容量記憶装置からデータを受け入れ又はこれらの大容量記憶装置にデータを移送するように動作可能に結合され、或いは、これらの大容量記憶装置を含み且つ大容量記憶装置からデータを受け入れ又は大容量記憶装置にデータを移送するように動作可能に結合されている。しかしながら、コンピュータは、このような装置を有する必要はない。さらに、コンピュータを、別の装置、例えば、携帯式電話機、パーソナルデジタルアシスタント(PDA)、モバイルオーディオ、又はビデオプレイヤ、ゲームコンソール、全地球測位システム(GPS)レシーバに、ほんの数個を指定して組み込むことができる。
コンピュータプログラムの命令及びデータを記憶するのに適したコンピュータで読み取り可能な媒体には、あらゆる形態の不揮発性メモリ、メディア、及びメモリデバイス(一例として半導体メモリデバイス(例えば、EPROM、EEPROM、及びフラッシュメモリデバイス)、磁気ディスク(例えば、内蔵式ハードディスク又はリムーバブルディスク)、光磁気ディスク、CD−ROM及びDVD−ROMディスクを含む)が含まれる。プロセッサ及びメモリは、特定用途向け論理回路が追加され、又は特定用途向け論理回路内に組み込まれることができる。
ユーザとの対話を提供するため、本明細書に記載される主題の実施形態は、ユーザに情報を表示するためのディスプレイ装置(例えば、CRT(陰極線管)又はLCD(液晶表示)モニタ)と、ユーザがコンピュータに入力を行うことができるキーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを有するコンピュータ上で実現され得る。他の種類の装置も、ユーザとの対話を提供するのに使用され得る。例えば、ユーザに提供されるフィードバックは、任意の形態の感覚的フィードバック(例えば、視覚的フィードバック、聴覚的フィードバック、又は触覚的フィードバック)とすることができ、ユーザからの入力は、聴覚、音声、又は触覚的入力を含む任意の形態で受け入れ得る。
本明細書に記載される主題の実施形態は、例えばデータサーバのようなバックエンドコンポーネントを含むコンピューティングシステム、又はミドルウェアコンポーネント(例えば、アプリケーションサーバ)を含むコンピューティングシステム、又はフロントエンドコンポーネント(例えば、グラフィカルユーザインタフェース又はユーザが本明細書に記載された主題の実施例と対話することができるウェブブラウザを有するクライアントコンピュータ)を含むコンピューティングシステム、又は1つ又はそれ以上のこのようなバックエンドコンポーネント、ミドルウェアコンポーネント又はフロントエンドコンポーネントの任意の組み合わせで実現され得る。システムの構成要素は、任意の形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によって相互接続されることができる。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)及びワイドエリアネットワーク(「WAN」)、例えばインターネットが含まれる。
コンピューティングシステムは、クライアントとサーバとを含むことができる。クライアントとサーバは一般に互いに離れており、一般的には通信ネットワークを介して対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で動作し、互いにクライアント−サーバ関係を有するコンピュータプログラムによって生ずる。
本明細書は、多くの具体的な実施例の詳細を含んでいるが、これらは、任意の実施例又は特許請求の範囲に関する限定として解釈されるべきではなく、むしろ特定の実施例の特定の実施形態に特有の特徴の記載として解釈されるべきである。本明細書において別個の実施形態のコンテキストで記載されている或る特徴は、単一の実施形態において組み合わせて実現されることもできる。逆に、単一の実施形態のコンテキストに記載されている種々の特徴は、多数の実施形態において別個に又は任意の適当な副組み合わせで実現され得る。さらに、特徴が、ある一定の組み合わせで動作するとして上述され、むしろ当初はそのように請求されているかもしれないが、請求された組み合わせからの1つ又はそれ以上の特徴を、幾つかの場合において当該組み合わせから削除することができ、請求された組み合わせを、サブコンビネーション又はサブコンビネーションの変形に向けてもよい。
同様に、操作は特定の順序で図面に示されているが、これは、所望の結果を達成するため、このような操作が、図示された特定の順序又は一連の順序で実施され、或いは全ての例示された操作が実施されることを必要とするとして理解されるべきではない。ある一定の環境では、マルチタスク及び並行処理が好都合であるかもしれない。さらに、上述の実施形態における種々のシステム構成要素の分離は、全ての実施形態においてこのような分離を必要とするとして理解されるべきではなく、記載されたプログラムコンポーネント及びシステムを一般に、単一のソフトウェア製品において互いに一体化し或いは多数のソフトウェア製品にひとまとめにすることができることを理解すべきである。
本明細書に記載される主題の特定の実施形態について説明してきた。他の実施形態は、以下の特許請求の範囲の範囲内にある。例えば、特許請求の範囲に列挙された動作は、異なる順序で実施されることができ、それでもなお望ましい結果を達成する。一例として、添付図面に図示されたプロセスは、望ましい結果を達成するために、示された特定の順序又は一連の順序を必ずしも必要としない。ある実施例では、マルチタスク及び並行処理が好都合であり得る。

Claims (16)

  1. テキストを受け入れ、
    かなりの量が第1言語を表現する前記テキストの第1セグメントを検出し、
    かなりの量が第2言語を表現する前記テキストの第2セグメントを検出し、
    前記テキスト中に含まれるサイズxの各nグラムに対してスコアを確認し、
    前記スコアの変化に基づき、前記テキストにおいて前記第1言語から前記第2言語への遷移を識別するエッジを検出する、
    ことを含むコンピュータにより実現される方法。
  2. スコアが、前記nグラムが特定の言語を表現する可能性を意味する請求項1に記載の方法。
  3. スコアが、前記nグラムが前記第1言語を表現する可能性と、前記nグラムが前記第2言語を表現する可能性との相違を意味する請求項1に記載の方法。
  4. エッジの検出が、
    連続したnグラムの第1グループに対するスコアの第1平均を計算すること、
    連続したnグラムの第2グループに対するスコアの第2平均を計算すること、および
    前記第1平均と前記第2平均との相違に基づきエッジを識別することを備え、
    連続したnグラムが、第1左コンテキストと第1右コンテキストとを備える第3nグラムと、第2左コンテキストと第2右コンテキストとを備える第4nグラムとを含むものとして規定され、前記第2左コンテキストが前記第1右コンテキストであり、連続したnグラムの前記第1グループが、終りのnグラムを備える特定数の連続したnグラムを含むものとして規定されており、
    連続したnグラムの前記第2グループが、前記終りのnグラムに隣接する始めのnグラムを備える同数の連続したnグラムを含むものとして規定されている請求項3に記載の方法。
  5. テキストを受け入れ、
    1つ又はそれ以上の第1言語を表現する、前記テキストの第1部分において表現されるライティングシステムを識別し、
    前記テキストの第1部分において表現される前記1つ又はそれ以上の第1言語からのみの特定の言語を検出する、
    ことを含むコンピュータにより実現される方法。
  6. 前記ライティングシステムの識別が、前記テキストの前記第1部分でのコード化における文字を、対応するライティングシステムにマッピングすることを含む請求項5に記載の方法。
  7. 前記コード化がユニコードである請求項6に記載の方法。
  8. 文書を受け入れ、
    かなりの量のテキストが第1ライティングシステムにおけるテキストを表現する、前記文書の第1部分を識別し、
    かなりの量のテキストが前記第1ライティングシステムの言語で各々表わされている、前記文書の前記第1部分における1つ又はそれ以上のセグメントを識別し、
    前記1つ又はそれ以上のセグメントにおいてかなりの量のテキストによって表現される前記第1ライティングシステムの特定の言語を検出する、
    ことを含むコンピュータにより実現される方法。
  9. かなりの量のテキストが第2ライティングシステムにおけるテキストを表現する、前記文書の第2部分を識別し、
    1つ又はそれ以上のセグメントのうち1つ又はそれ以上の各々においてかなりの量のテキストが、前記第2ライティングシステムの言語で表わされる、前記文書の前記第2部分における前記1つ又はそれ以上のセグメントを識別することを含むことをさらに含む請求項8に記載の方法。
  10. 前記第1ライティングシステムが、中国語、日本語及び韓国朝鮮語を表現するのに使用されるライティングシステムを含む、合体したライティングシステムである請求項8に記載の方法。
  11. データ処理装置の操作を実施させるように動作できる有形のプログラムキャリア上にコード化されたコンピュータプログラム製品であって、
    テキストを受け入れ、
    かなりの量が第1言語を表現する前記テキストの第1セグメントを検出し、
    かなりの量が第2言語を表現する前記テキストの第2セグメントを検出し、
    前記テキスト中に含まれるサイズxの各nグラムに対してスコアを確認し、
    前記スコアの変化に基づき、前記テキストにおいて前記第1言語から前記第2言語への遷移を識別するエッジを検出する、
    ことを含むコンピュータプログラム製品。
  12. データ処理装置の操作を実施させるように動作できる有形のプログラムキャリア上にコード化されたコンピュータプログラム製品であって、
    テキストを受け入れ、
    1つ又はそれ以上の第1言語を表わし、前記テキストの第1部分において表現されるライティングシステムを識別し、
    前記テキストの第1部分において表現される前記1つ又はそれ以上の第1言語からのみ特定の言語を検出する、
    ことを含むコンピュータプログラム製品。
  13. データ処理装置の操作を実施させるように動作できる有形のプログラムキャリア上にコード化されたコンピュータプログラム製品であって、
    テキストを受け入れ、
    かなりの量のテキストが第1ライティングシステムでテキストを表現する前記文書の第1部分を識別し、
    かなりの量のテキストが前記第1ライティングシステムの言語で各々表現される前記文書の前記第1部分における1つ又はそれ以上のセグメントを識別し、
    前記1つ又はそれ以上のセグメントにおいてかなりの量のテキストによって表現される前記第1ライティングシステムの特定の言語を検出する、
    ことを含むコンピュータプログラム製品。
  14. プログラム製品を備える機械で読み取り可能な記憶装置と、前記プログラム製品を実行し、操作を実施させるように動作できる1つ又はそれ以上のコンピュータとを含み、
    テキストを受け入れ、
    かなりの量が第1言語を表現する前記テキストの第1セグメントを検出し、
    かなりの量が第2言語を表現する前記テキストの第2セグメントを検出し、
    前記テキスト中に含まれるサイズxの各nグラムに対してスコアを確認し、
    前記スコアの変化に基づき、前記テキストにおいて前記第1言語から前記第2言語への遷移を識別するエッジを検出することを含むシステム。
  15. プログラム製品を備える機械で読み取り可能な記憶装置と、前記プログラム製品を実行し、操作を実施させるように動作できる1つ又はそれ以上のコンピュータとを含み、
    テキストを受け入れ、
    1つ又はそれ以上の第1言語を表わし、前記テキストの第1部分において表現されるライティングシステムを識別し、
    前記テキストの第1部分において表現される前記1つ又はそれ以上の第1言語からのみ特定の言語を検出することを含むシステム。
  16. プログラム製品を備える機械で読み取り可能な記憶装置と、前記プログラム製品を実行し、操作を実施させるように動作できる1つ又はそれ以上のコンピュータとを含み、
    文書を受け入れ、
    かなりの量のテキストが第1ライティングシステムにおけるテキストを表現する前記文書の第1部分を識別し、
    かなりの量のテキストが前記第1ライティングシステムの言語で各々表わされている前記文書の前記第1部分における1つ又はそれ以上のセグメントを識別し、
    前記1つ又はそれ以上のセグメントにおいてかなりの量のテキストによって表現される前記第1ライティングシステムの特定の言語を検出することを含むシステム。
JP2012513970A 2009-06-05 2010-05-19 ライティングシステム及び言語の検出 Withdrawn JP2012529108A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/479,522 2009-06-05
US12/479,522 US8326602B2 (en) 2009-06-05 2009-06-05 Detecting writing systems and languages
PCT/US2010/035413 WO2010141219A1 (en) 2009-06-05 2010-05-19 Detecting writing systems and languages

Publications (1)

Publication Number Publication Date
JP2012529108A true JP2012529108A (ja) 2012-11-15

Family

ID=42312961

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012513970A Withdrawn JP2012529108A (ja) 2009-06-05 2010-05-19 ライティングシステム及び言語の検出

Country Status (6)

Country Link
US (1) US8326602B2 (ja)
EP (1) EP2438538A1 (ja)
JP (1) JP2012529108A (ja)
KR (1) KR101656418B1 (ja)
CN (1) CN102483743B (ja)
WO (1) WO2010141219A1 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112010005226T5 (de) * 2010-02-05 2012-11-08 Mitsubishi Electric Corporation Erkennungswörterbuch-Erzeugungsvorrichtung und Spracherkennungsvorrichtung
US9785987B2 (en) 2010-04-22 2017-10-10 Microsoft Technology Licensing, Llc User interface for information presentation system
US9043296B2 (en) 2010-07-30 2015-05-26 Microsoft Technology Licensing, Llc System of providing suggestions based on accessible and contextual information
US20120035905A1 (en) * 2010-08-09 2012-02-09 Xerox Corporation System and method for handling multiple languages in text
US8635061B2 (en) * 2010-10-14 2014-01-21 Microsoft Corporation Language identification in multilingual text
US8600730B2 (en) * 2011-02-08 2013-12-03 Microsoft Corporation Language segmentation of multilingual texts
US9535895B2 (en) * 2011-03-17 2017-01-03 Amazon Technologies, Inc. n-Gram-based language prediction
WO2013046218A2 (en) * 2011-06-17 2013-04-04 Tata Consultancy Services Limited Method and system for differentiating plurality of scripts of text in broadcast video stream
JP2015505082A (ja) * 2011-12-12 2015-02-16 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 情報ドメインに対する自然言語処理モデルの生成
US8818791B2 (en) * 2012-04-30 2014-08-26 Google Inc. Techniques for assisting a user in the textual input of names of entities to a user device in multiple different languages
US9239827B2 (en) 2012-06-19 2016-01-19 Microsoft Technology Licensing, Llc Identifying collocations in a corpus of text in a distributed computing environment
US9269273B1 (en) 2012-07-30 2016-02-23 Weongozi Inc. Systems, methods and computer program products for building a database associating n-grams with cognitive motivation orientations
EP2736042A1 (en) * 2012-11-23 2014-05-28 Samsung Electronics Co., Ltd Apparatus and method for constructing multilingual acoustic model and computer readable recording medium for storing program for performing the method
US10095692B2 (en) * 2012-11-29 2018-10-09 Thornson Reuters Global Resources Unlimited Company Template bootstrapping for domain-adaptable natural language generation
US9600473B2 (en) 2013-02-08 2017-03-21 Machine Zone, Inc. Systems and methods for multi-user multi-lingual communications
US10650103B2 (en) 2013-02-08 2020-05-12 Mz Ip Holdings, Llc Systems and methods for incentivizing user feedback for translation processing
US9231898B2 (en) 2013-02-08 2016-01-05 Machine Zone, Inc. Systems and methods for multi-user multi-lingual communications
US9298703B2 (en) 2013-02-08 2016-03-29 Machine Zone, Inc. Systems and methods for incentivizing user feedback for translation processing
US9031829B2 (en) 2013-02-08 2015-05-12 Machine Zone, Inc. Systems and methods for multi-user multi-lingual communications
US8996352B2 (en) 2013-02-08 2015-03-31 Machine Zone, Inc. Systems and methods for correcting translations in multi-user multi-lingual communications
US10162811B2 (en) 2014-10-17 2018-12-25 Mz Ip Holdings, Llc Systems and methods for language detection
US10765956B2 (en) 2016-01-07 2020-09-08 Machine Zone Inc. Named entity recognition on chat data
US9898457B1 (en) * 2016-10-03 2018-02-20 Microsoft Technology Licensing, Llc Identifying non-natural language for content analysis
JP2019535082A (ja) * 2016-10-03 2019-12-05 エム・ゼット・アイ・ピィ・ホールディングス・リミテッド・ライアビリティ・カンパニーMz Ip Holdings, Llc 言語検出のためのシステムおよび方法
US10120860B2 (en) * 2016-12-21 2018-11-06 Intel Corporation Methods and apparatus to identify a count of n-grams appearing in a corpus
WO2019060353A1 (en) 2017-09-21 2019-03-28 Mz Ip Holdings, Llc SYSTEM AND METHOD FOR TRANSLATION OF KEYBOARD MESSAGES
US10796090B2 (en) * 2018-09-21 2020-10-06 Sap France Quick language detection with language neutral functionality
US10990879B2 (en) 2019-09-06 2021-04-27 Digital Asset Capital, Inc. Graph expansion and outcome determination for graph-defined program states
US11501067B1 (en) * 2020-04-23 2022-11-15 Wells Fargo Bank, N.A. Systems and methods for screening data instances based on a target text of a target corpus
WO2021247752A1 (en) * 2020-06-03 2021-12-09 Digital Asset Capital, Inc. Semantic map generation from natural-language-text documents
CN113536743B (zh) * 2020-11-06 2024-08-06 腾讯科技(深圳)有限公司 一种文本处理方法和相关装置

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4864503A (en) 1987-02-05 1989-09-05 Toltran, Ltd. Method of using a created international language as an intermediate pathway in translation between two national languages
US5425110A (en) 1993-04-19 1995-06-13 Xerox Corporation Method and apparatus for automatic language determination of Asian language documents
US5377280A (en) 1993-04-19 1994-12-27 Xerox Corporation Method and apparatus for automatic language determination of European script documents
US5873056A (en) 1993-10-12 1999-02-16 The Syracuse University Natural language processing system for semantic vector representation which accounts for lexical ambiguity
US5548507A (en) 1994-03-14 1996-08-20 International Business Machines Corporation Language identification process using coded language words
US5913185A (en) * 1996-08-19 1999-06-15 International Business Machines Corporation Determining a natural language shift in a computer document
US6216102B1 (en) 1996-08-19 2001-04-10 International Business Machines Corporation Natural language determination using partial words
GB9701866D0 (en) 1997-01-30 1997-03-19 British Telecomm Information retrieval
US6263336B1 (en) * 1997-02-27 2001-07-17 Seiko Epson Corporation Text structure analysis method and text structure analysis device
US6081774A (en) 1997-08-22 2000-06-27 Novell, Inc. Natural language information retrieval system and method
US6047251A (en) * 1997-09-15 2000-04-04 Caere Corporation Automatic language identification system for multilingual optical character recognition
US6157905A (en) * 1997-12-11 2000-12-05 Microsoft Corporation Identifying language and character set of data representing text
US6292772B1 (en) 1998-12-01 2001-09-18 Justsystem Corporation Method for identifying the language of individual words
US6275789B1 (en) 1998-12-18 2001-08-14 Leo Moser Method and apparatus for performing full bidirectional translation between a source language and a linked alternative language
US6167369A (en) * 1998-12-23 2000-12-26 Xerox Company Automatic language identification using both N-gram and word information
WO2001090879A1 (en) * 2000-05-26 2001-11-29 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for displaying information
GB2366940B (en) * 2000-09-06 2004-08-11 Ericsson Telefon Ab L M Text language detection
US7027974B1 (en) 2000-10-27 2006-04-11 Science Applications International Corporation Ontology-based parser for natural language processing
FI20010644A (fi) * 2001-03-28 2002-09-29 Nokia Corp Merkkisekvenssin kielen määrittäminen
US7191116B2 (en) * 2001-06-19 2007-03-13 Oracle International Corporation Methods and systems for determining a language of a document
US7020338B1 (en) 2002-04-08 2006-03-28 The United States Of America As Represented By The National Security Agency Method of identifying script of line of text
US7212963B2 (en) * 2002-06-11 2007-05-01 Fuji Xerox Co., Ltd. System for distinguishing names in Asian writing systems
FR2848688A1 (fr) * 2002-12-17 2004-06-18 France Telecom Identification de langue d'un texte
US7359851B2 (en) 2004-01-14 2008-04-15 Clairvoyance Corporation Method of identifying the language of a textual passage using short word and/or n-gram comparisons
US7523102B2 (en) 2004-06-12 2009-04-21 Getty Images, Inc. Content search in complex language, such as Japanese
US7552045B2 (en) * 2006-12-18 2009-06-23 Nokia Corporation Method, apparatus and computer program product for providing flexible text based language identification
US8583418B2 (en) * 2008-09-29 2013-11-12 Apple Inc. Systems and methods of detecting language and natural language strings for text to speech synthesis
US8224641B2 (en) * 2008-11-19 2012-07-17 Stratify, Inc. Language identification for documents containing multiple languages

Also Published As

Publication number Publication date
KR101656418B1 (ko) 2016-09-09
CN102483743A (zh) 2012-05-30
EP2438538A1 (en) 2012-04-11
CN102483743B (zh) 2015-01-07
US8326602B2 (en) 2012-12-04
WO2010141219A1 (en) 2010-12-09
KR20120042829A (ko) 2012-05-03
US20100312545A1 (en) 2010-12-09

Similar Documents

Publication Publication Date Title
JP2012529108A (ja) ライティングシステム及び言語の検出
US8463598B2 (en) Word detection
KR101650112B1 (ko) 음역을 위한 기계 학습
US8380488B1 (en) Identifying a property of a document
US8706472B2 (en) Method for disambiguating multiple readings in language conversion
US7478033B2 (en) Systems and methods for translating Chinese pinyin to Chinese characters
US7983902B2 (en) Domain dictionary creation by detection of new topic words using divergence value comparison
JP5241828B2 (ja) 辞書の単語及び熟語の判定
JP5379138B2 (ja) 領域辞書の作成
US10803241B2 (en) System and method for text normalization in noisy channels
US20140380169A1 (en) Language input method editor to disambiguate ambiguous phrases via diacriticization
US8224642B2 (en) Automated identification of documents as not belonging to any language
US20190303437A1 (en) Status reporting with natural language processing risk assessment
US20150039290A1 (en) Knowledge-rich automatic term disambiguation
US8468011B1 (en) Detecting writing systems and languages
CN116152831A (zh) 用于表意字符分析的方法和系统
Yasin et al. Transformer-Based Neural Machine Translation for Post-OCR Error Correction in Cursive Text
Sreejith et al. N-gram based algorithm for distinguishing between Hindi and Sanskrit texts
US20200311059A1 (en) Multi-layer word search option
US20220139369A1 (en) Method for recognizing chinese-english mixed speech, electronic device, and storage medium
CN110023931A (zh) 用于语言检测的系统和方法
Zeldes A characterwise windowed approach to Hebrew morphological segmentation
JP2014215970A (ja) 誤り検出装置、方法、及びプログラム
Takahasi et al. Keyboard logs as natural annotations for word segmentation
US20230267274A1 (en) Mapping entities in unstructured text documents via entity correction and entity resolution

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130806