ことばの見分け方 - テキスト言語判定

漢字・ハングルのゼロ頻度問題

岩波データサイエンス vol.5 の記事「ことばの見分け方 - テキスト言語判定」では、テキスト言語判定の2つの実装(language-detection, ldig)を軸に、言語判定の基本的な仕組みとモデルの概要を紹介している。 実はそれだけではなく、言語判定の精度を高めるには、言語と文字の使われ方の知識に基づく正規化などの前処理が大きな比重を占めるのだが、紙幅の関係で記事では触れられなかった。 本ページは、language-detection にて行っている前処理のうち、漢字におけるスパースネスの影響を低減するための正規化について、補足的なミニコラムの形で紹介する。

世界の言語の文字は多種多様に渡るが、系統の異なる複数の言語で広く用いられる代表的な文字としては、ラテン文字、キリル文字、アラビア文字、デーヴァナーガリー、そして漢字の5種類がある。 このうち、ラテン文字、キリル文字、アラビア文字、デーヴァナーガリーを用いる言語はいずれも30文字前後、大文字小文字の区別を入れたとしても60文字に収まる標準的な文字セットを持つ。ただしベトナム語はラテン文字だが、音調まで文字に表すことから例外的に大きな文字セットを持つ(6つの母音に12種類の音調記号のいずれかが付くため、母音だけで 6×12、大文字小文字の区別を入れて 144 文字ある)。 一方、残る漢字はいわゆる表意文字の流れをくむ文字であり、その文字セットはよく使われるものだけでも1~2万、総数は10万とも言われている。文字セットがこれだけ大きいと、他の文字では起きなかった「文字のゼロ頻度問題」が発生する。例えば「谢谢」(シエシエ)は「ありがとう」を意味する簡体字だが、language-detection の訓練コーパスである Wikipedia の中国語版ではほとんど使われない。人名漢字も使用頻度が偏る代表的な文字だ。

language-detection では、この問題を解消するために漢字の実際の利用と、日本語・中国語(簡体字)・中国語(繁体字)それぞれの言語の正書法の中で定められた基本文字セットを反映したクラスタリングを行い、各クラスタに属する文字を同一視し、この3言語間の識別の改善を図った。具体的には、各文字に対して訓練コーパスにおける tf-idf を求め、これを K-means で 50 クラスタにクラスタリングした結果と、各言語の基本文字セット(日本語:常用漢字と JIS 第1水準に属する 2998字、簡体字:现代汉语常用字表に属する 3500字、繁体字:常用国字標準字体表と Big5 第1水準に属する 5401字)に含まれるかどうかの情報を掛け合わせた 130 組の集合ごとに同一視を行った。これにより、3言語間の識別は5%ほど向上、特に漢字の重複が多い日本語と繁体字は8%ほど向上した。

日本語にはひらがな・カタカナという固有の文字があるから、それを使えば日本語と中国語(繁体字)との区別は難しくないのでは、と思われるかもしれない。 確かに十分長い日本語の文書についてはその通りであるが、特に新聞の見出しのような、短く、ひらがながあまり/ほとんど含まれない文については、この工夫を行う前はとても判定精度が低かったことを付記しておく。

漢字についで文字種が多いのがハングルだ。表音文字ながら、2~3個の音素の部品(字母)を組み合わせて文字が構成されており、その組み合わせ全体は 1万1千字を超える。したがって同様に文字のゼロ頻度問題が発生しうるのだが、ハングルは韓国語(朝鮮語)の固有文字であり、その問題による言語判定の精度低下の影響がほとんどないため、特別な対処は行わずに済んでいる。

(中谷秀洋 / サイボウズ・ラボ株式会社)

参考文献

    • [ 1 ] 中谷秀洋(2010),language-detection, https://github.com/shuyo/language-detection

    • [ 2 ] 中谷秀洋(2012),極大部分文字列を使ったtwitter 言語判定.自然言語処理学会年次大会.

    • [ 3 ] 中谷秀洋(2012),ldig, https://github.com/shuyo/ldig

    • [ 4 ] 中谷秀洋(2014),ldigcpp https://github.com/shuyo/ldig/tree/cpp/ldigcpp

    • [ 5 ] Cavnar, W. B. and Trenkle, J. M.(1994), N-Gram-Based Text Categorization.

    • [ 6 ] Okanohara, D. and Tsujii, J.(2009), Text Categorization with All Substring Features.

    • [ 7 ] Tsuruoka, Y., Tsujii, J. and Ananiadou, S.(2009), Stochastic Gradient Descent Training for L1-regularized Log-linear Models with Cumulative Penalty.