6. 既存の言語判定サービス
• Google AJAX Language API
– 短いテキストでも比較的的確に判定&対応言語も多い
– 最も可能性の高い言語を1つだけ返す
– Web API でいい&非商用利用なら鉄板か
• http://code.google.com/intl/lt/apis/ajaxlanguage/documentation/
• http://www.google.com/uds/samples/language/detect.html
• G2LI (Global Information Infrastructure Laboratory's
Language Identifier)
– オンラインデモのみ
• http://gii.nagaokaut.ac.jp:8080/g2liWebHome/index.jsp
• PetaMem Language Identification
– オンラインデモのみ
• http://nlp.petamem.com/eng/nlp/langident.mpl
8. 言語判定の論文 (1)
• [Dunning 1994] Statistical Identification of Language
– 英西の2言語、5万件の学習データで 正解率は 92%(20bytes)、99%(500bytes)
– Markov モデルによる識別。おそらく学習コストがめちゃめちゃ高い。
– 確率的言語識別では多分一番引用数が多い論文。
• [Grefenstette 1995] Comparing two language identification schemes
– 欧文9言語、10~20語の入力で 99%
– 手法は「 Trigram ごとの確率を求め、シーケンスの確率を求めて、一番大きいヤツ」と文章で書
かかれているだけ。
• [Sibun & Reynar 1996] Language identification: Examining the issues
– 欧文18言語で、90%(テストデータ1行)、99%(テストデータ5行) ((注:単位は「行」))
– 各言語の n-gram の確率分布をあらかじめ求めておき、対象とのKLダイバージェンスが一番小
さいものをとる。
• [Cavnar & Trenkle 1994] N-gram-based text categorization
– 欧文8言語、正解率 98~99%(テストデータ 300bytes 前後)。
– N-gram のランキングの類似度による判別。
9. 言語判定の論文 (2)
• [Giguet 1995] Multilingual sentence categorization according to language
– 欧文4言語で error rate は 0.01%
– 方式は「機能語(of とか)が出てきたら、その言語の尤度を増加させる」と書かれているだけ
– テストセットは「集めてきた」と書かれているだけ
• [Poutsma 2001] Applying Monte Carlo Techniques to Language
Identification
– trigramの確率を「加算」して比較。モンテカルロと言いつつ先頭から順に「サンプリング」
• [Martins+ 2005] Language Identification in Web Pages
– 1~5-gram+similarity。欧文12言語で 91%。イタリア語が 80%(スペイン語と間違う)
• [AMINE+ 2010] Automatic Language Identification: An Alternative
Unsupervised Approach Using a New Hybrid Algorithm
– 不えられた「ドキュメントのセット」をクラスタ分類するものであり、未知のドキュメントの言語判別を
するものではない
– 基本 K-means だが、K を不えるのではなく人工蟻コロニーで推定する
13. ナイーブベイズによる「言語判定」
• 「言語」をカテゴリとした文書分類を行う
– 文書が「英語」に分類されるか、「日本語」に分類されるか判定
• 特徴量に単語ではなく「文字 n-gram」を使う
– 正確には「Unicodeのコードポイント n-gram」 (≠単語/バイト)
– 文字コードが判明していることを前提(特に Unicode とする)
• アプリはテキストの文字コードは把握している
• 文字コード判別が必要なら別途( ICU-4C など)
□T h i s □ 単語の区切りを
表す記号
T h i s ←1-gram
□T Th hi is s□ ←2-gram
□Th Thi his is□ ←3-gram