はじめに
オープンソースの中国語形態素解析器FNLPを使ったときの、インストールと実行の方法を、簡単にメモしました。
FNLPとは
FNLPは、Javaで書かれた、形態素解析器を含む中国語の自然言語処理パッケージです。LGPL 3.0で配布されています。正式にはFudanNLPといいます。
次のところに情報があります。
- GitHub xpqiu/fnlp - ソースコード
- Google Code fudannlp - GitHubへ引っ越す前のリポジトリ
インストール
ソースコードは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'
実行結果
上記のコマンドを実行すると、下記の表示が得られます。単語の後に品詞も表示されます。
自然/副词
语言/名词
是/动词
人类/名词
交流/名词
和/并列连词
思维/名词
的/结构助词
主要/形容词
工具/名词
,/标点
是/动词
人类/名词
智慧/名词
的/结构助词
结晶/名词
。/标点