中国語の形態素解析器は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 |
まずはpythonのデフォルトエンコーディングをUTF8にしておく。/usr/lib/python2.7/site-packages/sitecustomize.pyを作成する。
import sys sys.setdefaultencoding( 'utf-8' ) |
>>> 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' )] |
>>> 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 単語:湾, 品詞:noun |
noun of locality:方位詞
classifier:分類辞
numeral:数詞
adjective:形容詞
verb:動詞
あってるんかなぁ。。。中国語全然分からんけど。。。まぁ、とっかかりにはなるかなと。