###前提・実現したいこと
現在、python2.7(WinPython-32bit-2.7.10.3)でjanomeを使って形態素解析を行うシステムを作成しています。
実装中に以下のエラーメッセージが発生しました。pythonを始めたばかりの初心者で右も左も分からない状態です。ご教授いただければと思います。よろしくお願いいたします。
追記:http://neuro-educator.com/ml7/様を参考に作成しました。
###発生している問題・エラーメッセージ
runfile('F:/WinPython-32bit-2.7.10.3/scikitest.py', wdir='F:/WinPython-32bit-2.7.10.3') File "F:/WinPython-32bit-2.7.10.3/scikitest.py", line 17 if not ps in ['名詞', '動詞', '形容詞']:continue #他の品詞は無視 ^--- SyntaxError: invalid syntax
###該当のソースコード
# -*- coding: utf-8 -*- from janome.tokenizer import Tokenizer import os, glob #Janomeを使って形態素解析を行う ja_tokenizer=Tokenizer() #日本語を単語や品詞ごとに分ける def ja_tokenize(text): res=[] lines=text.split("\n") lines=lines[2:] #最初の2行はヘッダーなので捨てる for line in lines: malist=ja_tokenizer.tokenize(line) for tok in malist: ps=tok.part_of_speech.split(",")[0] if not ps in ['名詞', '動詞', '形容詞']:continue #他の品詞は無視 w=tok.base_form if w=="*" or w=="": w=tok.surface if w=="" or w=="\n": continue res.append(w) res.append("\n") return res #テストデータを読み込み root_dir ='F:\WinPython-32bit-2.7.10.3' for path in glob.glob(root_dir + "**tweet.txt", recursive=True): if path.find("LICENSE")>0: continue #LICENSE.txtは除く print(path) path_wakati=path + ".wakati" if os.path.exists(path_wakati): continue #ファイルができているときはスルー text=open(path,"r", encoding='utf-8').read() #エンコーディングに注意 words=ja_tokenize(text) wt=" ".join(words) open(path_wakati, "w", encoding="utf-8").write(wt)
回答1件
あなたの回答
tips
プレビュー