中国語の形態素解析

英語のように単語をスペースで区切る言語と異なり、日本語や中国語は単語がつながっているため、言語処理用のツールを使って単語に分ける必要があります。 日本語だとMecabが有名で情報も多く揃っていますが、中国語のものを日本語で探そうとすると、ほとんどありません。

それじゃあ中国語で探してしまおう! というわけで、中国語の形態素解析エンジンJiebaのチュートリアルをやってみます。 インストールはpipで行けます。

# jieba.cut(str)

まずは単語に分解するjieba.cut(string)を使ってみます。

import jieba

fenci_s = jieba.cut("我是日本人")

for fenci in fenci_s:
    print("fenci")
#出力結果
#我
#是
#日本
#人

jieba.cutの戻り値はジェネレータのようなので、forで回して取り出します。

# jieba.posseg.cut()

次に、品詞を判定させるサンプルもやってみます。 これにはjiebaのpossegオブジェクトが必要になるので、インポートしておきます。

import jieba.posseg as pseg
fen_cixing = pseg.cut("我是日本人")
for word, flat in fen_cixing:
    print(word, flag)
#出力結果
#我 r
#是 v
#日本 ns
#人 n

# 中国語の品詞

分割させた単語の後ろに品詞を表すアルファベットが表示されます。

この品詞はICTCLASに沿った表記となっています。

参考:

http://blog.csdn.net/memray/article/details/14105643

原則として

  • 1文字目が品詞の大分類、
  • 2文字目がやや細かな分類 となっています。

代表的な大分類だけまとめると、次のようなものが挙げられます。

記号 品詞
n 名詞
t 時間
v 動詞
a 形容詞
r 代名詞
d 副詞

形態素解析を使えば、原文から用語の抽出や共起語解析、機械翻訳のpre-editにも使えるのではないかと考えています。

# PR

pythonで自然言語処理を始めるのに最適な本を紹介します。

ゴールデンブリッジでは、
翻訳・通訳・インバウンドツアー・国際会議運営など
ご用命をお待ちしております!
また、翻訳に関わるツール・ソフトウェアの開発等についてもお気軽にお声掛けください。

株式会社ゴールデンブリッジ 公式Webサイト