LoginSignup
7
5

More than 5 years have passed since last update.

JRubyで中国語形態素解析

Posted at

はじめに

FNLP (FudanNLP)は、Javaで書かれた中国語形態素解析器です。これを使ってRuby (JRuby)で中国語形態素解析をやってみます。

準備

次のソフトウエアのインストールが必要です。JRubyは、私はrbenv経由で使いました。

fnlp-jrubyのインストール

fnlpをJRubyから使うGemを、bundlerを使ってインストールします。

Gemfile
gem "fnlp", github: "xiaotuanzi/fnlp-jruby"

Gemのインストール

$ jruby -S bundle install

形態素解析の実行

前もって、FNLPがインストールされているディレクトリを環境変数に設定しておきます。

$ export FNLP_HOME=~/fnlp

Rubyプログラム

sample.rb
require 'bundler/setup'
require 'fnlp'

# サンプルテキスト
text = <<EOF
妈妈亲了我, 爸爸也亲了我。
我去过好几次北京。
这本书是我借给他的。
你想去哪儿我就去哪儿。
党叫干啥就干啥。
EOF

# 形態素解析器を準備する
fnlp = FNLP::Tokenizer.new

# サンプルテキストを1行毎に形態素解析して結果を表示する
text.each_line do |t|
  puts fnlp.tokenize(t.chomp)
  puts ""
end

jrubyで実行します。次のような出力が得られます。単語のうしろに品詞も表示されます。

$ jruby sample.rb
妈妈/名词
亲/动词
了/时态词
我/人称代词
,/标点
爸爸/名词
也/副词
亲/动词
了/时态词
我/人称代词
。/标点

我/人称代词
去/动词
过/时态词
好几/数词
次/量词
北京/地名
。/标点

这/限定词
本/量词
书/名词
是/动词
我/人称代词
借给/动词
他/人称代词
的/语气词
。/标点

你/人称代词
想/情态词
去/动词
哪儿/疑问代词
我/人称代词
就/副词
去/动词
哪儿/疑问代词
。/标点

党叫干/名词
啥/副词
就/副词
干啥/动词
。/标点

最後の、「党叫干啥就干啥」以外は、概ね正しいように見えます。

7
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
5