下記のコードを
print(extractKeyword(text))
すると
['pythonでMeCabを使って形態素解析を行う。', 'MeCabを使って形態素解析を行う。', '使って形態素解析を行う。', '形態素解析を行う。', '解析を行う。', '行う。']
となってしまいます。
結果として欲しいのは
['python', 'MeCab', '使っ', '形態素解析', '行う']
なのですがprint()をどうすればいいでしょうか。
Mecabで形態素解析して、名詞。動詞、形容詞のみを抽出しています。
python
1import MeCab 2 3def extractKeyword(text): 4 tagger = MeCab.Tagger('-Ochasen') 5 tagger.parse('') 6 node = tagger.parseToNode(text) 7 keywords = [] 8 while node: 9 if node.feature.split(",")[0] == u"名詞": 10 keywords.append(node.surface) 11 elif node.feature.split(",")[0] == u"形容詞": 12 keywords.append(node.surface) 13 elif node.feature.split(",")[0] == u"動詞": 14 keywords.append(node.surface) 15 node = node.next 16 return keywords 17text = "pythonでMeCabを使って形態素解析を行う。" 18extractKeyword(text) 19#=>['python', 'MeCab', '使っ', '形態素解析', '行う']
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/01/19 04:43