わかち書き Parsing

-O オプション

natto-py を利用して文章にある語の区切りに空白を挟んで、わかち書き出力ができます。


In [1]:
from natto import MeCab

text = "卓球に人生かけるなんて、気味悪いです。"

wakati = MeCab("-Owakati")

文字列として出力

mecab の -O オプションを利用して wakati 出力を指定して返り値を文字列にする方法です。MeCab インスタンスを取得する際に下記の通り出力フォーマットの指定をします。


In [2]:
wakati.parse(text)


Out[2]:
'卓球 に 人生 かける なんて 、 気味悪い です 。'

単語のリストとして出力

しかし文字列より各語をもつリストの内包表記の方が取り扱いやすくて便利です。

下記の例は、MeCab インスタンスを取得するときに as_modes=True を指定します。 ここは未知語形態素、形態素解析の結果に先頭(header)や後を位置する footer などの出力をしません。


In [3]:
[n.surface for n in wakati.parse(text, as_nodes=True) if n.is_nor()]


Out[3]:
['卓球', 'に', '人生', 'かける', 'なんて', '、', '気味悪い', 'です', '。']

以上。