Twitter APIのツイートの言語判定の精度が高すぎる!日本語はなんと100%!完璧!


※本内容は2013年5月に自分のブログに書いた内容ですが、現在も通用する内容です。


Twitter Streaming APIのsampleで各ツイートのlang(言語情報)が取得できますので、今回はその言語判定の精度を検証してみました。

使用データと判定の検証方法

<使用データ>
日時:2013年04月29日(月)00:10:00~00:10:09 の10秒間
方法:Streaming APIのsample(全公開ツイートの約1%)
ツイート数:736 ツイート(日本語161、英語219、他言語358)

<検証方法>
・日本語(jp)と英語(en)を対象とする。
・てぃー自身がツイート内容を確認し、言語判定と比較して検証する。
・検証では「正解」「不正解」「どちらでもない」の3種類に分ける。

<ソースコード>
 →【Twitter4J】Streaming APIのsampleで各ツイートのlang(言語情報)を取得する方法

日本語・英語以外はてぃーが分からないのでパスです^^
検証の「どちらでもない」には記号のみ、特に顔文字のみの場合を含みます。確かに顔文字なら各言語でよく使われるものもあって判定は可能とも言えますが、主観が入ってしまうこともあるので今回は不明としました。

検証結果

判定結果は次の表のようになりました。(上段:ツイート数、下段:割合%)

日本語

  日本語と判定されたもの 日本語と判定されなかったもの
正解 161
100.0%
575
100.0%
不正解 0
0.0%
0
0.0%
どちらでもない 0
0.0%
0
0.0%

英語

  英語と判定されたもの 英語と判定されなかったもの
正解 211
99.5%
516
98.5%
不正解 1
0.5%
8
1.5%
どちらでもない 0
0.0%
0
0.0%

日本語で100.0%、英語で99.5%ととても高い精度です。
特に日本語は完璧ですね!
「どちらでもない」は今回は該当がありませんでした。
一方で英語では不正解があり、英語と判定された場合で0.5%、英語と判定されなかった場合で1.5%と完璧ではなかったですが、かなりの精度です!

ちなみにこれらのツイート内容は次のようなものでした(本文のみ)。

<英語と判定されたツイート内容>(1つ)
・fOOLY & cOOLY – Them a Fe Get a Beatin' di @petertosh, da #SoundHound

<英語と判定されなかったツイート内容>(8つ)
・Come on United! #ArsenalForEuropaLeague
・*Unfollows*
・Was That Malik
・Lmao I had to #repost #regram #purecomedy lol
・thanks ^^
・the ring two>
・Well hello new Follower
・I swear I could eat a dozen donuts

まとめ

日本語に関しては完璧な判定となることはすごいですね。
英語に関してもほぼ完璧と考えてよいでしょう。
もはや特別な言語判定メソッドを考えたりする必要はまずない、としてもよいのではないのでしょうか!!
いろいろ構想が膨らみますね!

応用

てぃーはこの方法を応用して、ツイッターの曜日別ツイートやよく使われるアプリなどを分析しています。分析結果はネットで評判になったり、学術研究に利用されています!
 →【分析】ツイッター分析のシリーズの目次 by Twitter4J - creativi.tea