aisatsu suruto tomodachiga popopoponnto hueruyo
- 1. あいさつ学習すると
友達が
ぽぽぽぽーんと増えるよ!
2011/07/16 しょうゆ
(twitter,hatena:showyou)
1
- 3. 自己紹介
名前:しょうゆ(@showyou)
職業:データマイニン
グエンジニア
趣味:人工無脳づくり
今日もこの話
@ha_ma @yuka_ 3
- 7. 図で言うと
愛してるよ!
えっ!!
私も!
in out
愛してる 私も
7
- 8. 一番簡単な方法
● あいさつがあった発言(あいさつ元
発言)と全く同じものが来たら、
過去に覚えた文章を返す
●
実装はとても楽
●
だけど文が全く一致することはない
– 語尾が変わるだけでも一致しない
8
- 9. ちょっと凝った方法
●
あいさつ元発言と似たもの
→過去に覚えたのと似た言葉を返
す
・・「似た」って何だ?編集距離が近
いとか?
9
- 10. 以下の方法を取った
●
あいさつ元発言と似たもの
=単語に分解して単語の出現頻度
が近い物。単語の出現順は考慮しない
●
さらに手抜き
「入力文章を単語に分ける→それぞれ
の単語の応答が一番出そうな返信語を
持つ文」
を返事とするようにした
10
- 11. イメージ
●
おはようございます。今日は暑いで
すね
11
- 12. イメージ
●
おはようございます。今日は暑いで
すね
助詞などありふれた単語はカット
12
- 13. イメージ
●
おはようございます。今日は暑いで
すね
文章 返信文章
おはようございます。今 おはようございます
日も一日頑張りましょ
う。
おはよう。今日も電車 おはよう。お気の毒
が止まった に。
・・・
単語に分割集計
13
- 14. イメージ
●
おはようございます。今日は暑いで
すね
順位 返信語 確率 順位 返信語 確率 順位 返信語 確率
1 おはよう 0.8 1 今日 0.5 1 溶ける 0.5
2 おはよー 0.5 2 明日 0.1 2 水分 0.1
3 お気の毒 0.5 3 3
「おはよう」
(一番有意な単語/属性を推定)
(今回はまだ単語一つのみ)
14
- 15. イメージ
●
おはようございます。今日は暑いで
すね
● {おはよう}を含む文章を取ってくる
15
- 16. イメージ
●
おはようございます。今日は暑いで
すね
● {おはよう,}を含む文章を取ってくる
●
「おはよう、今日も溶けるよ~」
16
- 18. デモ
● Python + MySQL + MeCab
●
学習データ
● Tweets 7000万,75GB(thx
@penguinana_)
● 応答Tweets 740万,15GB
18
- 19. Future work
● 現状応答の都度、適応する文章をlike
検索しているためとても重い
共起テーブル入れます。。↓
返信元単語 返信先単語 回数
帰宅 ただいま 125
起きた おはよう 30
19
- 20. Future work
●
返答精度向上
●
モデル改良
– 返答元の単語群から一番尤度の高い返答語群
を選べないか?
●
大量の学習データ
– 現状
● MySQL + TokyoCabinet
– Hadoop等も視野
20
- 21. Future work
●
会話を行ってる人の感情をモデル化
できないか
● 例:HMMを使って状態を推測してか
ら発言
●
ツン状態→「ふん、あなたの入り込む余地
はなくてよ」
●
デレ状態→「や、あなたと離れ離れになる
なんていや・・」
21
- 22. ● HMMを使って状態を推測してか
ら発言
B
おはよう やあ、 またねー またねー
A
「朝の挨拶」の状態 「さよなら」の状態
発話 発話
22
- 23. 課題
● Penguinana_様のデータに
in_reply_toがなかった
● tweetのidから元tweetを取得し、そこから
in_reply_to抽出
● API制限(IP制限)
● Mecabの品詞判定ミス
● (とかが名詞と判定される
●
このあたりは仕掛けでなんとかできそう 23