gensim で LDA 回してみた。
gensim を使えば簡単に topic model が使えるみたい。
適当なテキストが転がってたので LDA (Latent Dirichlet Allocation) を回してみた。
簡単すぎて吹いた。
でも、パラメータをどうしたらいいのか分からないのでトピック数以外はデフォルト。
https://groups.google.com/forum/#!topic/gensim/ojySenxQHi4 なんか見っけたけどよくわからなかった。
とりあえず、道具としては使えるようになりそう。
実は2ヶ月ぐらい前にやった内容だけど、どこかに書き留めておかないと忘れてしまいそうなので。
これからは何かやったら書くようにしたい・・・。
Debian Wheezy に MeCab と CaboCha を入れた。
ソースから入れた。めも。
MeCab
wget https://mecab.googlecode.com/files/mecab-0.996.tar.gz
tar xvf mecab-0.996.tar.gz
cd mecab-0.996/
./configure --prefix=$HOME/local --with-charset=utf8 --enable-utf8-only
make
make install
mecab -v
IPADIC
tar xvf mecab-ipadic-2.7.0-20070801.tar.gz
cd mecab-ipadic-2.7.0-20070801/
./configure --prefix=$HOME/local --with-charset=utf8
make
make install
echo '大阪は今日も熱い。' | mecab
Python and Ruby Bindings
sudo apt-get install python-dev するのを忘れずに。
ruby extconf.rb --with-opt-lib=/usr/local/mecab/lib
入れたら libmecab.so.2 がないとか言われたから、/etc/ld.so.conf あたりに一行追加
/home/*/local/lib
CaboCha
CRF++
wget https://crfpp.googlecode.com/files/CRF%2B%2B-0.58.tar.gz
tar xvf CRF++-0.58.tar.gz
cd CRF++-0.58/
./configure --prefix=$HOME/local
make
make install
CaboCha
wget https://cabocha.googlecode.com/files/cabocha-0.66.tar.bz2
tar xvf cabocha-0.66.tar.bz2
cd cabocha-0.66/
LDFLAGS="-L$HOME/local/lib" CPPFLAGS="-I$HOME/local/include" ./configure --prefix=$HOME/local --with-charset=utf8
make
make install
$CABOCHA/src/utils.cpp に #include <unistd.h> を追加した
Python and Ruby Bindings
ruby extconf.rb --with-opt-lib=/usr/local/mecab/lib
SPARQL であそぼう。
SPARQL を使って DBpedia から NBA player に関する情報を取得してみた。
SELECT ?person ?team ?position ?height
WHERE {
?person a dbpedia-owl:BasketballPlayer;
dbpedia-owl:team ?team.
?person dbpedia-owl:height ?height.
?person dbpedia-owl:position ?position.
?team dbpprop:conference ?conference.
FILTER(?conference = <http://dbpedia.org/resource/Western_Conference_(NBA)> ||
?conference = <http://dbpedia.org/resource/Eastern_Conference_(NBA)> )
FILTER NOT EXISTS { ?person dbpedia-owl:activeYearsEndYear ?o }
}
ORDER BY DESC(?height)
Python とか Ruby とかの endpoint interface があるのでとりあえずなんか取ってくるだけなら簡単。 Ruby でやってみた。
https://github.com/otknoy/nba_player_sparql
問題はこれで何をするのか。
入門機械学習
まだ、2章までしか読んでないけどなかなかおもしろい。
まだ、Rをインストールしてないのであとでまた読む。
ちょっとづつ読んでいこう。
この本の原題は「Machine Learning for Hackers」なんだけど、「入門」って誤訳だろ。
と思っていたが数式が全然出てこない。だから入門か。
そのかわり、Rのコードがたくさん出てきます。:)
- 作者: Drew Conway,John Myles White,萩原正人,奥野陽,水野貴明,木下哲也
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/12/22
- メディア: 大型本
- 購入: 2人 クリック: 38回
- この商品を含むブログ (4件) を見る
Ruby で XML をパース
REXML は遅いので Nokogiri を使おう。
class Twitter def self.read_xml *filenames tweets = [] filenames.each do |filename| xml = Nokogiri::XML(open(filename)) xml.search('feed/entry/title').each do |title| tweets.push title.text.gsub(/\n/, '') end end tweets.uniq! Twitter.new *tweets end
シンタックスハイライトさせたいときはどうしたらいいんだろ。
Pythonで自然言語処理をするために入れたものメモ
環境を整えただけ。まだ何もしてない。とりあえずメモ代わり。てきとーに入れたのでなんかまずいかもしれない。
MacPorts
'sudo port selfupdate'を忘れずに
Python 2.7.3
sudo port install python27
sudo port select --set python python27
NLTK
sudo port install py27-nltk
installが終わったら、pythonのinteractive shellを開き、
import nltk
nltk.download()
GUIが起動するので、allを選択しDonwload. ちょっと待ったらおしまい。
MeCab
sudo port install mecab
CaboCha
sudo port install cabocha
CaboChaもportsから入れたけど、そのままではpythonにうまくbindingできなかった。 sourceからインストールするわけじゃないけど、Google CodeからCaboChaをダウンロードして、その中に入ってるbinding用のscriptを使ったらいけた。っぽい?
cd [CABOCHA_DIR]/python
python seup.py build sudo python seup.py install
libsvm
sudo port install libsvm +python27