うまい飯食いたい

うまい飯食えるようにガンバリマス

twitterのコーパスを作る

研究の合間にひっそりと溜め込んでいたツイートを整形した
その備忘録的な何か

ツイートの溜め込み方ツイート自体は、public streamで取ってきた
pythonの場合は、python-twitterってラッパーがあるので、お手軽
日本語ツイートだけ欲しかったので、langを見て取捨選択

見た感じ結構めんどくさいjsonデータだったので、思考停止でMongoDBにつっこむ
RDBSだと設計が面倒だし、その段階で何の情報を使うことになるか分からんしね

どのくらい容量食うか分からなかったけど、
適当に500tweets/minで2~3日くらい集計した結果、5GBくらいだったハズ


ツイートの整形、コーパスまずは適当に見てみる
すると、botが非常に多いことがわかる

そこでまず、ツイートのsourceを見る
ここはhtml形式でviaの情報が記載されているので、
適当なパーサーでテキストをとってくる
10000万ツイート取得して見た感じ、
Twitter Web Client」「Twitter for iPhone」「Twitter for Android」が非常に多い
これらだけで6~7割くらい占めている印象
勿論、もっと色々なクライアントを使ってもいいんだが、
クライアントが多様すぎてそこに手間をかける気力がなかった

次に、ツイート中のurlやtwitter idを消す
色々正規表現書いて消したんだけど、
entitiesを見れば、urlとかハッシュタグとかの情報がわかる
最初はとれそうな情報を全部とろうと結構苦労しながら書いたけど、
強いこだわりがなかったし楽ちんなので、entitiesに値がないツイートを残す
(ブログ記事などのツイートとか省けるので、これでよかったかも?)

これで出力すればOK


word2vec用に形態素解析僕自身の目標はここだったので、更に進める
MeCab形態素解析 -> 名詞・形容詞・動詞をとってくる
顔文字とか結構残っているのが問題かなぁ
後、全体的に細かく切れすぎていたので、形態素解析は検討したほうがいいかも


最終的に残ったツイート数を見てなかったなぁ
しかし、できたコーパスでword2vecしたら、結構イイカンジでした

学習も10秒かからないくらいだったし、もっとデータ量増やしたほうがいいのかな
ただ、一文辺りの語数が短いから、パラメータの調整したり、
そもそも共起とかのほうがいいのかも
ちゃんと中身を勉強しないとなぁ


ここまで、何もデータに関する見せものがないんだけど、
研究室のPCに置いてきちゃったため
覚えてたら今度なんか追記しよう