python3で文章を単語単位に分割する
今回は文章を単語単位に分割する形態素解析をpython3で行います。
と言っても、超便利なライブラリがあるので、それを使うだけです。
準備
今回は「Janome」と言うライブラリを使用します。
他にも形態素解析のライブラリは多くあるみたいだけど(MeCab、Juman、Cabocha等)
一番手軽にできる 「Janome」を使います。
まずは、ライブラリを入れます
pip install janome
プログラム
wordに言葉を設定すれば、あとはjanomeが形態素解析をしてくれます。
恐ろしいくらい簡単に形態素解析ができます。
# -*- coding: utf-8 -*- from janome.tokenizer import Tokenizer import sys import io word = u'明日が僕らを呼んだって返事もろくにしなかった 「 イマ」という ほうき星 君と二人追いかけていた' # デフォルト文字コードをutf8に変更 sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') t = Tokenizer() tokens = t.tokenize(word) print('形態素解析文章:' + word) for token in tokens: print('-----------------------------------------') print('表層形:' + token.surface) # 表層形 print('品詞:' + token.part_of_speech.split(',')[0]) # 品詞 print('品詞細分類1:' + token.part_of_speech.split(',')[1]) # 品詞細分類1 print('品詞細分類2:' + token.part_of_speech.split(',')[2]) # 品詞細分類2 print('品詞細分類3:' + token.part_of_speech.split(',')[3]) # 品詞細分類3 print('活用型:' + token.infl_type) # 活用型 print('活用形:' + token.infl_form) # 活用形 print('原形:' + token.base_form) # 原形 print('読み:' + token.reading) # 読み print('発音:' + token.phonetic) # 発音 print('-----------------------------------------')
おわり
文章解析には必要な形態素解析を今回は行いました。
pythonは機械学習が盛んな言語なので、文章系の機械学習をしたいときはJanomeが便利でオススメです。