logblog

業界経験2年目のしがないWebエンジニアのブログです。

【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', '形態素解析', 'する']

おわり