形態素解析
中国語

FNLPで中国語形態素解析

More than 3 years have passed since last update.


はじめに

オープンソースの中国語形態素解析器FNLPを使ったときの、インストールと実行の方法を、簡単にメモしました。


FNLPとは

FNLPは、Javaで書かれた、形態素解析器を含む中国語の自然言語処理パッケージです。LGPL 3.0で配布されています。正式にはFudanNLPといいます。

次のところに情報があります。


インストール

ソースコードはJavaで書かれています。GitHubからダウンロードしたソースコードを、Mavenでビルドします。モデルファイルを忘れずにダウンロードしてください。


必要なソフトウエア

ビルドには次のソフトウエアが必要です。


  • JDK

  • Apache Maven


ダウンロード

GitHubからソースコードをダウンロードします。

$ git clone https://github.com/xpqiu/fnlp.git


ビルド

mavenを使ってビルドします。(下記の例は、maven 3.2.5を使ったものです)

$ cd fnlp

$ mvn install -Dmaven.test.skip=true
$ mvn dependency:copy-dependencies -DoutputDirectory=libs


モデルファイルの配置

https://github.com/xpqiu/fnlp/releases で公開されているモデルファイル(pos.m, seg.m, dep.m)をmodelsディレクトリにコピーします。

$ wget https://github.com/xpqiu/fnlp/releases/download/v2.1/dep.m -O models/dep.m

$ wget https://github.com/xpqiu/fnlp/releases/download/v2.1/pos.m -O models/pos.m
$ wget https://github.com/xpqiu/fnlp/releases/download/v2.1/seg.m -O models/seg.m


形態素解析の実行

コマンドラインから形態素解析を実行してみます。解析対象の文章「自然语言是人类交流和思维的主要工具,是人类智慧的结晶。」はコマンドラインに書いています。また、この例では、Rubyで出力を簡単に整形しています。

$ java -Xmx1024m -classpath "fnlp-core/target/fnlp-core-2.1-SNAPSHOT.jar:libs/trove4j-3.0.3.jar:libs/commons-cli-1.2.jar" org.fnlp.nlp.cn.tag.POSTagger -s models/seg.m models/pos.m "自然语言是人类交流和思维的主要工具,是人类智慧的结晶。" | ruby -ane 'puts $F'


実行結果

上記のコマンドを実行すると、下記の表示が得られます。単語の後に品詞も表示されます。

自然/副词

语言/名词
是/动词
人类/名词
交流/名词
和/并列连词
思维/名词
的/结构助词
主要/形容词
工具/名词
,/标点
是/动词
人类/名词
智慧/名词
的/结构助词
结晶/名词
。/标点