twitter botをもっとリッチにしたいんですね。というわけで、形態素解析エンジンのmecab入れようと思います。
MeCab: Yet Another Part-of-Speech and Morphological Analyzer
archiveの取得
本体
# curl -O http://downloads.sourceforge.net/project/mecab/mecab/0.98/mecab-0.98.tar.gz?use_mirror=jaist
perlバインディング
# curl -O http://downloads.sourceforge.net/project/mecab/mecab-perl/0.98/mecab-perl-0.98.tar.gz?use_mirror=jaist
辞書
# curl -O http://iij.dl.sourceforge.jp/naist-jdic/40865/mecab-naist-jdic-0.6.1-20090630.tar.gz /download
# curl -O http://download.wikimedia.org/jawiki/latest/jawiki-latest-all-titles-in-ns0.gz
インストール
本体
# tar zxvf mecab-0.98.tar.gz # cd mecab-0.98 # ./configure # make # make install # cd /var/shared/lib/ # ln -s mecab-0.98 mecab
辞書
# tar zxvf mecab-naist-jdic-0.6.1-20090630.tar.gz # cd mecab-naist-jdic-0.6.1-20090630 # ./configure --with-charset=utf8
辞書の設定
# vi /usr/local/etc/mecabrc
dicdir = /usr/local/lib/mecab/dic/naist-jdic/
Wikipediaのタイトルリストから辞書を作る
# gunzip jawiki-latest-all-titles-in-ns0.gz
makedic.rcを作成
以下を参考に
#!/usr/bin/ruby
open($*[0]).each do |line|
title = line.strip
next if title =~ /^\./
next if title =~ /[0-9]{4}/
next if title =~ /^[-.0-9]+$/
score = [-36000.0 ,-400 *(title.size**1.5)].max.to_i
print "#{title},0,0,#{score},名詞,一般,*,*,*,*,#{title},*,*,wikipedia_keyword,\n" if title.size > 9
end
# ruby ./makedic.rb jawiki-latest-all-titles-in-ns0 > jawikipedia.csv # nkf -e jawikipedia.csv > /usr/local/lib/mecab/dic/naist-jdic/jawikipedia.csv # cd /usr/local/lib/mecab/dic/naist-jdic/ # /usr/local/libexec/mecab/mecab-dict-index -f euc-jp -t utf8