質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

2767閲覧

PythonとJanomeを使っての形態素解析を行いたい

jirose

総合スコア5

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2018/01/18 12:36

編集2018/01/18 13:01

###前提・実現したいこと
現在、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)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

LouiS0616

2018/01/18 12:39

インデントが崩れて読めないです。質問編集画面を開き、コードを選択した状態で<code>ボタンを押してください。エラーメッセージも空白が潰れて読みづらいです。
guest

回答1

0

ベストアンサー

SyntaxError: invalid syntax

ぐーぐる翻訳
SyntaxError:無効な構文

質問文のコードでは以下の2行のcontinueの後に全角スペースが入っています。

Python

1if not ps in ['名詞', '動詞', '形容詞']:continue #他の品詞は無視 2if os.path.exists(path_wakati): continue 

IDEを使うか、全角スペースを表示できるエディタを使うとこの問題は防げます

投稿2018/01/18 13:14

編集2018/01/18 13:15
umyu

総合スコア5846

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jirose

2018/01/18 13:22

解決しました。貴重な時間を割いていただきありがとうございました。
umyu

2018/01/18 13:42

解決してよかったですー。 あ、1点ほど。Python2.7のサポートが2020年で切れるので、 今から新規にコードとかを記述する時はpython 3の環境を作って作成したほうがいいですよー。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問