koruri
koruriの構成 †
koruriはMysqlのデータベースと、そこにアクセスするいくつものrubyスクリプトで構成されています。
また、各種ツールやライブラリを利用しています。
- twitter ruby-gem
- Twitter APIへのアクセスライブラリ
- mecab
- 形態素解析エンジン
- IPA 辞書
- mecab用
- mecab rubyバインディング
- rubyからmecabにアクセスするバインディング
- はてなキーワード辞書
- mecab用辞書に変換して利用、また koruri DB にも入れておく
- はてなキーワード関連語API
- API経由で利用、単語間の関連性構築のため情報をもらっている
koruriスクリプト †
koruri を構成するスクリプト群です。
1つ1つ実験しながら作っていたので、細かい機能毎になっています。
機能コマンド †
- get_twitter
- Twitterにアクセスして自分のタイムラインと指定したリスト(公開ならば自分のでなくても良い)をいくつか読み込み、加工せずにDBに積んでいくコマンドです。
koruri/source/get_twitter.rb
- split_sentence
- get_twitterで取得したログから不要な部分を除きつつ、1センテンス単位で刻んでDBに蓄積していきます。
koruri/source/split_sentence.rb
- nouns_catcher
- sentenceをmecabで形態素解析して、名詞だけを抽出しDBに蓄積していきます。
koruri/source/nouns_catcher.rb
- template
- sentenceから名詞部分をワイルドカードで塗りつぶしたものをテンプレートとしてDBに蓄積していきます。
koruri/source/template.rb
- trend_word
- Twitterで今話題の単語を抽出する。t_cloud や buzztter のTLから言葉を拾います。
koruri/source/trend_word.rb
- recommend_url
- はてなブックマークのRSSからおすすめURLとタイトルに含まれる名詞の抽出を行います。
koruri/source/recommend_url.rb
共通部分クラス †
共通化というよりラッパークラスな感じ
- mecab_util
- mecabへアクセスする部分のラッパーです
koruri/source/mecab_util.rb
- hatena_keyword
- はてなキーワードにアクセスしてRSSボディで結果を受け取ることと、はてなキーワード関連語APIから関連語リストを取得することの2つが書かれています
koruri/source/hatena_keyword.rb
その他 †
- auto_correct
- cronで定期的に起動される収集コマンド、上記スクリプトを呼ぶだけでなく念のため多重起動しないようにロックをしている
koruri/source/auto_correct
- tweet_correct
- 文章解析は時間がかかるので、比較的短時間で回したいTwetter TL取得部分だけ別タイミングのcronで回すようにしたのでそのための起動スクリプト。
koruri/source/tweet_correct