memo

今はpipで入れられる

pip install pynlpir

ただしまともに動かないのでいろいろ手を入れる必要ある。分かち書きだけが必要ならpos_mapをゴニョゴニョしてるところを書き換えて無効にするのが良い

以下は2013年当時の古い情報

ICTCLAS(NLPIR)をpythonで使ってみる

昔からある中国語(簡体字)のPOS tagger。なんか新しくなってNLPIRとかいうのに変わっている。

NLPIRはバイナリとヘッダ、辞書は手に入れられるのでラップすればいろいろ動くわけだが、pythonで動かすコードが落ちてた。script言語から呼べるのは楽で良い

SWIGでラッパーを書いているので、SWIGが必要

チェックアウトしてみて中身をみてみると、同梱されているlibNLPIR.soはどうも32bit Linuxの物なので、64bit環境の人は64bit用のlibNLPIR.soに置き換える必要がある。

ここで、Linux,64bit,Cのzipをダウンロードすると、中にlibNLPIR.soが入っているので、gitで落としてきたlibNLPIR.soと差し替えれば問題なく動く。 取り敢えず64bitのdebianでは問題なく動いているようだ。

インストールは、必要に応じてlibNLPIR.soを差し替えたあと、

./setup.sh

で入る。sudoとかしてるところは適当に書き換えてあげたり、'setup.py install'も必要であればrootでやる。

ついでにpinyinを振ってくれるpinyinライブラリを使えば、単語に分けた後にpinyinを振れる。

インストール出来たらこんな感じのコードで分かち書きやpinyin化が出来る。

from PyNLPIR import *
import pinyin
import sys
import cStringIO
sys.stdout = cStringIO.StringIO()#nlpir_initで標準出力にメッセージが出るのでそいつをトラップする
nlpir_init('/path/to/NLPIR_DIR(ex /home/hogehoge/python-nlpir)', 'UTF-8')
sys.stdout = sys.__stdout__#標準出力を戻す
dat = nlpir_paragraph_process(r'@ICTCLAS张华平博士 应各位ICTCLAS用户的要求,张华平博士提前发布ICTCLAS2013 版本,为了与以前工作进行大的区隔,并推广NLPIR自然语言处理与信息检索共享平台,从本版本开始,系统名称调整为NLPIR汉语分词系统。')
[pinyin.get(unicode(w,"utf8")) for w in dat.split(' ')]#pinyin化

#kakasi

kakasi -ja -ga -ka -Ea -Ka -Ha -Ja

  トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-02-03 (火) 03:39:06 (928d)