入力されてきた文相に対して、名詞だけを抜き取る分かち書きをしたいと思っております。
いろいろと、検索してカスタマイズして最終的に以下のコードに落ち着きました。
import MeCab mecab = MeCab.Tagger("mecabrc") # MeCabを使って形態素解析をします。 def ma_parse(sentence, fileter="名詞"): node = mecab.parseToNode(sentence) while node: if node.feature.startswith('名詞'): yield node.surface node = node.next while True: sentence = input('入力してください') words = [word for word in ma_parse(sentence)] print(words)
そこで質問なのですが、 yieldは、generaterで使うものだと本に書いてあったのですが、ここではどのような記述方法になるのでしょうか。
また、mecabのライブラリの使い方がいまいちよくわからなく、理解できていません。
入力された、文章がma_parseにわたっているとは思うのですが、形態素分析を行っていないのに、ワードごとになぜ、区切られてうまく動くのかもよくわかりません。
出来ましたら、各行が大まかにどんな役割をしているか教えていただけると幸いです。
素人的な質問で大変もうしわけないのですが、どうぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/27 02:30
2018/11/27 02:41