言語モデルで(ryを解く
以前、(ryを分析したけど、そのときに気になっていた言語モデルで(ryが推定できるかを少し試してみた。
(ry - skozawa's blog
結果としては思っていたよりできなかった。
問題設定
基本的には穴埋め問題で、
- まぁ、冗談はさておき作ったら報告よr(ry
の場合、
- まぁ、冗談はさておき作ったら報告よ()
の()を埋める問題。
普通の穴埋め問題と異なるのは、以下の2点
- 埋める単位が一定でない
- 文字、単語、文節など、さまざまな可能性がある
- ヒントがある
- 上の例の場合、よr(ryとなっており、(ryにはら行から始まる文字列が入ることがわかる
アプローチ
nグラム言語モデルを使って穴埋め問題を解く。
「冗談はさておき作ったら報告よ」の次に現れやすい文字列/単語列を言語モデルを使って取得する
実験
2014年1月~3月のツイートの中から(ryを含むツイートをランダムで100ツイート抽出して、手法を適用してみた。
正しく解けたのは、100ツイート中34ツイート。
比較的簡単なものはちゃんとできているという印象
- とりあえず二日酔いで気持ちわ(ry...
- -> とりあえず二日酔いで気持ちわるい...
- レヴナンツトールだと何度言(ry
- -> レヴナンツトールだと何度言えば
- そうなんですよね。先日Twitterで見かけて知りました。JRのEG-20はやはり画面の位置が(ryですね(笑)
- -> そうなんですよね。先日Twitterで見かけて知りました。JRのEG-20はやはり画面の位置がおかしいですね(笑)
解けなかったものはコンテキストを考慮しないといけないもの知識が必要なものがあって、そもそも自分でも何が入るかわからないものも結構あった。
- ところで赤坂って(ry
- ゲスト参加で(ry
- 水に濡れる夢を見ると(ry
おしい感じのものもいくつかあった。3つめの形態素解析がうまくいかなかったので、おかしくなった。
- そなのかって初七日に似t(ry
- -> そなのかって初七日に似た
- その時は私も念力送りつつ今どの辺ですかと聞(ry
- -> その時は私も念力送りつつ今どの辺ですかと聞かれている
- 何を放送するか、放送しないかはオレたちの勝手だ(ドヤァ)ですねわか(ry
- -> 何を放送するか、放送しないかはオレたちの勝手だ(ドヤァ)ですねわかかりました
あと、言語モデルで解くよりも、文中の表現を利用したほうがよいものもあって、以下の例だと、言語モデルで解くと「証明」になってしまったけど、実際には「書け」と文中に出てきているので、そういうものも考慮しないといけないみたい。