やりたいこと
テキストファイルを読み込み、mecab-ipadic-neologdを使った形態素解析を行い、動詞と形容詞だけの分かち書きを行いたい。
問題点
入力するテキストファイルが小さいサイズのテキストファイルならばうまく実行することができるが、大きいサイズののテキストファイルを使うと、実行結果になにも表示されない。
コード
python
1import MeCab 2import re 3 4bindata = open('mihon.txt').read() 5 6 7mecab = MeCab.Tagger('-d /usr/local/lib/mecab/dic/mecab-ipadic-neologd') 8mecab.parse('') # バグ対処 9results = [] 10lines = bindata.split("\r\n") 11for line in lines: 12 r = [] 13 # 学習に使わない表現の削除処理 14 s = line 15 s = s.replace("|", "") 16 s = re.sub(r'《.+?》', "", s) 17 s = re.sub(r'[.+?]', '', s) 18 # Mecab 19 node = mecab.parseToNode(s) 20 while node: 21 # 単語を取得 22 word = node.surface 23 24 # 品詞を取得 25 part = node.feature.split(",")[0] 26 27 if part in ["形容詞", "動詞"]: 28 r.append(word) 29 node = node.next 30 rl = (" ".join(r)).strip() 31 results.append(rl) 32 33# write to a file 34w_file = "mmihon-keitaiso-.txt" 35with open(w_file, 'w') as wf: 36 wf.write("\n".join(results)) 37
このコードはこのサイトを参考にテキストファイルだけにしてみたものです。
どのようにしたらサイズの大きいテキストファイルでもうまく実行することができるのでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。