「n-gram & SVMでやらせレビューを判別」という研究があったが微妙だった

id:flalin:20120126:1327598604 辺りの話の続きで, [twitter:@dekosuke] に教わって読んだ論文

題材はホテルのレビュー投稿サイト,点数ではなく自然言語のレビュー部分が対象.
まずAMT (jawp:"Amazon Mechanical Turk") でバイトを大量に雇って1人1件ずつ $1 でそれっぽい「やらせ」の高評価レビューを書かせる.計400件.これは実際のやらせ業者がやってることをほぼ忠実に再現してると言ってよかろう.どうでもいいがAMTなんて知らなかったよ.2005年開始とな.CAPTCHAを破るのにインド人をオンラインで安く大量に雇って云々というのは聞いたことあったが,ボットネット並の裏社会なサービスだと思っていた.アメリカの貪欲さは素晴らしいですね...
次に以下の基準で「やらせじゃない」高評価レビュー文を多数(最終的に>2000件)集める:

  • 5つ星
  • 英語に限る
  • 150字未満を除く(「やらせ」を発注する時に150字以上と制限していた.統計量の安定性の都合だろう)
  • 初回投稿を除く

「おいおいそれだけじゃ,やらせがまだ混じってる可能性 全然あるよね?」って思うがその点はスルーらしい.ステログのアプローチとそっくりだ.そんで文字数のlognormal分布が「やらせ」データセットのlognormal分布と等しくなるように同じく200件を選び出して,これで教師データはお終い.うーん,すげー突っ込みどころが...
後は品詞ごとの頻度分布(ラベル "POS")やら,どっかのデータベース使った単語の性格スコアの分布(ラベル "LWIC"),またはn-gramの何とかを最尤法またはSVMに突っ込んで判別.n-gramのとこで UNIGRAM, BIGRAM+, TRIGRAM+ というラベル名称がよく分からんかったな.n-gramの何たるかくらいは当然知っているが,それ自身はSVMの対象になるものではなく(無限次元になってしまう),実際n-gramに分割した後に "feature set" をSVMにかけたとあるが... どゆこと?
ともあれ LWIC + BIGRAM+ をSVMに突っ込んだ判別器が90 %くらいの「正答率」で,これは人間にやらせるとせいぜい60 %なのに比べずっと高かったと.繰り返すようだが「正答率」って言っちゃうのも何だかなぁ.まぁ一定の意義があることは認める.1番上の論文本文がうpされ次第,また見てみる価値はあるかも.