僕はChasen出力の方が好きです。する必要があり少し取り出しにくいですね。僕が研究を始めてから一番使ってるやつです。"日本政府に引き取られた難民は、定住促進センターで、生まれて初めての日本語を、来日からわずか3カ月間学習の後、満足な職業訓練もないまま、まったく異質な社会に投げ出される。"print(m.parse(line))"-Owakati"を付けると分かち書きです。見やすいように途中で改行してます。単純に分かち書きしてくれます。語義判別とか文書分類とかではかなり重宝します。読みをカタカナで出力するモードです。"日本政府に引き取られた難民は、定住促進センターで、生まれて初めての日本語を、来日からわずか3カ月間学習の後、満足な職業訓練もないまま、まったく異質な社会に投げ出される。"print(m.parse(line))"-Oyomi"です。ニッポンセイフニヒキトラレタナンミンハ、テイジュウソクシンセンターデ、ウマレテハジメテノニホンゴヲ、ライニチカラワズカサンカゲツカンガクシュウノノチ、マンゾクナショクギョウクンレンモナイママ、マッタクイシツナシャカイニナゲダサレル。使わないかな?って感じ。注意点Mecabなんですが、parseにかけたあとに改行コードが付与されてしまいます。大規模データをMecabで扱う場合は、parseにかけた後、rstrip()を必ずしましょう。"日本政府に引き取られた難民は、定住促進センターで、生まれて初めての日本語を、来日からわずか3カ月間学習の後、満足な職業訓練もないまま、まったく異質な社会に投げ出される。node.nextsurfaceは表層形(文章で使われているそのままの形)を返します。featureは、詳細情報を返します。featureは下記のような順番で出力されます。今回のソースでは、","でsplitをかけた後にインデックス[0]を取り出しているので、品詞を取り出しています。出力した結果は以下のようになります。BOS/EOS特定の情報だけ取り出したい場合など、parseToNodeを使うと簡潔にプログラムを書くことができます。parseToNodeはparseに比べてかなり遅いというデメリットがあります。短い文章ではあまり影響はありませんが、大規模データを扱う場合には注意が必要です。まとめいかがでしたか?今回は形態素解析エンジンであるMeCabの使い方を記事にしました。自然言語処理では必須のライブラリです。自分の備忘録も兼ねて記事にしましたが、Mecabを初めて使う方々に読んでいただいてお役に立てれば幸いです。こちらの記事もおすすめです。はてなブログPro筋トレを愛する大学4年生。(1)このブログについてプライバシーポリシーお問い合わせスポンサーリンク。