新しく追加されたツイートの言語判定の精度が高すぎる!日本語はなんと100%!完璧! #Twitter4J
ツイッターのAPIの変更スケジュールは次のページにあり、新しい機能が追加されていることが分かりますね。
→Calendar of API changes | Twitter Developers
今回はこの中から、言語判定(lang attribute & language parameter appears on streaming)について、その精度を検証してみました。
言語判定は以前からありましたが、プロフィール情報などから判定しており、それほど精度が高いとは言えませんでした。
また、各ツイートごとでの言語判定はできず、各ユーザごとの判定のみでした。
そのため、ユーザがプロフィール情報で英語にしていた場合、日本語でツイートした場合でも英語として判定されてしまっていました。
このような事情により、てぃーが以前行ったツイッター分析においても日本語のみのツイートを取得するのは難しく、最終的には手作業で選別しました^^
→ツイッター調査:約173万ツイートを調査して分かったTwitterの利用動向 #twtr_hack
(スライド15枚目)
ツイッターでの言語の自動判定の精度が高ければ、このような苦労をすることなく必要な言語のツイートを取得できますね!
使用データと判定の検証方法
さて、言語の検証判定に用いたデータと検証方法は次のとおりです。
<使用データ>
日時: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
※注 当初、smoove I c u bro lolとlmfaoも該当するとしていましたが、@Scaled_Wurmさんよりlmfaoはlaughing my fucking ass offの略、I c u broはI see you brotherの略とのご指摘があり、除くこととなりました。ありがとうございました。省略表現であっても言語判定ができるというわけですごいですね!
まとめ
日本語に関しては完璧な判定となることはすごいですね。
英語に関してもほぼ完璧と考えてよいでしょう。
もはや特別な言語判定メソッドを考えたりする必要はまずない、としてもよいのではないのでしょうか!!
いろいろ構想が膨らみますね!
↓この記事が参考になったら拍手、ツイート、いいね、はてブ、いずれかをお願いします。今後のブログ作りに役立てたいので。
- 関連記事
-
- ツイッター公式クライアントに追加された「コメント付きリツイート」は内部ではリツイートではなく引用ツイートだった! #Twitter4J (2015/05/25)
- 【Twitter4J】リトライ処理の設定方法 (2013/10/27)
- 新しく追加されたツイートの言語判定の精度が高すぎる!日本語はなんと100%!完璧! #Twitter4J (2013/04/29)
- 【Twitter4J】Streaming APIのsampleで各ツイートのlang(言語情報)を取得する方法 (2013/04/29)
- ある地点の近傍のツイートの取得方法!setGeoCodeや計算による半径の指定とGeohash(ジオハッシュ)による矩形の指定 #Twitter4J (2012/12/02)