【Python】MeCabにより形態素解析を行い名詞・動詞を抽出する
何をする
MeCabにより日本語文章を分割して特定の品詞情報を抽出する
事前準備
MeCabをインストール
いっぱい参考ページあるので検索下さい
コード
make_word_list.py
import MeCab tagger = MeCab.Tagger("-d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd") # 初期化しないとエラーになる tagger.parse("") # 入力された文章を分解しリスト化する class MakeWordList: def __init__(self): pass # 文字列を単語で分割しリストに格納する def word_tokenaize(self, doc): node = tagger.parseToNode(doc) result = [] while node: hinshi = node.feature.split(",")[0] if hinshi == '名詞' or hinshi == '動詞': result.append(node.feature.split(",")[6]) node = node.next return result
main.py
import MeCab import make_word_list str = input("文字列を入力.-> ") # インスタンスの作成 make_words = make_word_list.MakeWordList() # 入力文を形態素解析後、リスト化 word_list = make_words.word_tokenaize(str) print(word_list)
結果
文字列を入力.->MeCabで形態素解析をする ['MeCab', '形態素解析', 'する']
おわり