あんまりすっきりしないけど、とりあえずできた。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
import MeCab import unidic class Morph(): def analy_noun(self, tt): nouns = [] tagger = MeCab.Tagger() lines = tagger.parse(tt).split('\n') for line in lines: words = line.split('\t') if len(words) == 2: word = words[1].split(',') if word[0] == '名詞': nouns.append(words[0]) return nouns if __name__ == '__main__': mp = Morph() txt = mp.analy_noun('裏の畑でポチが鳴く') print(txt) |
ポチが抽出されていないけど、辞書の問題なのでとりあえず放置。 もっとすっきりした方法がありそうだけど、今のスキルじゃこの程度が限界。