中国語の形態素解析器はNLPIR / ICTCLASにあったのでこれを用いてみることにする。
できればこの辺の解析はpythonで実行したいのでPyNLPIRをpipでインストールする。
# pip install pynlpir Collecting pynlpir Downloading PyNLPIR-0.4.2.tar.gz (13.1MB) 100% |████████████████████████████████| 13.1MB 3.1kB/s Installing collected packages: pynlpir Running setup.py install for pynlpir Successfully installed pynlpir-0.4.2インストールされて動くか試してみる。PyNLPIRのページを参考にした。
まずはpythonのデフォルトエンコーディングをUTF8にしておく。/usr/lib/python2.7/site-packages/sitecustomize.pyを作成する。
import sys sys.setdefaultencoding('utf-8')インタラクティブモードでpythonを起動しpynlpirを試す。文章はweiboから適当に引っ張ってきた。
>>> import pynlpir >>> pynlpir.open() >>> s = '大阪最后一夜 关西机场附近最高建筑俯瞰大阪湾' >>> pynlpir.segment(s) [(u'\u5927\u962a', u'noun'), (u'\u6700\u540e', u'noun of locality'), (u'\u4e00', u'numeral'), (u'\u591c', u'classifier'), (u' ', None), (u'\u5173\u897f', u'noun'), (u'\u673a\u573a', u'noun'), (u'\u9644\u8fd1', u'noun of locality'), (u'\u6700\u9ad8', u'adjective'), (u'\u5efa\u7b51', u'noun'), (u'\u4fef\u77b0', u'verb'), (u'\u5927\u962a', u'noun'), (u'\u6e7e', u'noun')]漢字が読めない。。。リストをタプルに分解してencodeして表示させる。
>>> words = pynlpir.segment(s) >>> for w in words: ... if w[0] != ' ': ... print '単語:' + w[0].encode('utf-8') + ', 品詞:' + w[1].encode('utf-8') ...表示結果はこんな感じ。
単語:大阪, 品詞:noun 単語:最后, 品詞:noun of locality 単語:一, 品詞:numeral 単語:夜, 品詞:classifier 単語:关西, 品詞:noun 単語:机场, 品詞:noun 単語:附近, 品詞:noun of locality 単語:最高, 品詞:adjective 単語:建筑, 品詞:noun 単語:俯瞰, 品詞:verb 単語:大阪, 品詞:noun 単語:湾, 品詞:nounnoun:名詞
noun of locality:方位詞
classifier:分類辞
numeral:数詞
adjective:形容詞
verb:動詞
あってるんかなぁ。。。中国語全然分からんけど。。。まぁ、とっかかりにはなるかなと。