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

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

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

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

Q&A

解決済

1回答

2806閲覧

pythonでcoreNLPを使いたいが…

kohekoh

総合スコア140

Python

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

0グッド

0クリップ

投稿2017/07/01 14:02

pythonというかanacondaで使いたいとおもっています

がしかし…

python

1Traceback (most recent call last): 2 File "corenlp_example.py", line 99, in <module> 3 vocaburary() 4 File "corenlp_example.py", line 38, in vocaburary 5 parser = corenlp.StanfordCoreNLP(corenlp_path=corenlp_dir, properties=properties_file) 6 File "C:\Users\AppData\Local\conda\conda\envs\anaconda\lib\site-packages\corenlp\corenlp.py", line 435, in __init__ 7 self._spawn_corenlp() 8 File "C:\Users\AppData\Local\conda\conda\envs\anaconda\lib\site-packages\corenlp\corenlp.py", line 404, in _spawn_corenlp 9 self.corenlp = pexpect.spawn(self.start_corenlp, timeout=60, maxread=8192, searchwindowsize=80) 10AttributeError: module 'pexpect' has no attribute 'spawn' 11Exception ignored in: <bound method StanfordCoreNLP.__del__ of <corenlp.corenlp.StanfordCoreNLP object at 0x0000022E446BDC50>> 12Traceback (most recent call last): 13 File "C:\Users\AppData\Local\conda\conda\envs\anaconda\lib\site-packages\corenlp\corenlp.py", line 445, in __del__ 14 if self.isalive(): 15 File "C:\Users\AppData\Local\conda\conda\envs\anaconda\lib\site-packages\corenlp\corenlp.py", line 441, in isalive 16 return self.corenlp.isalive() 17AttributeError: 'StanfordCoreNLP' object has no attribute 'corenlp'

このようなエラーがでます
いまいちanacondaでのインストール等がわかっていないので
そこらへんの問題のような気がします

どうすればよいでしょうか

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

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

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

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

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

guest

回答1

0

ベストアンサー

https://pexpect.readthedocs.io/en/stable/overview.html#pexpect-on-windows

pexpect.spawn and pexpect.run() are not available on Windows

Windowsでは動かないですね。

CoreNLPを別のプロセスで動かしてプロセス間通信で制御するようになっているのですけど、そういうことはWindowsではできないのです。

投稿2017/07/01 14:39

編集2017/07/01 14:45
quickquip

総合スコア11029

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

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

kohekoh

2017/07/03 04:44

英語の文章を名詞と形容詞に形態素解析するなら、 どの方法がおすすめですか?ライブラリとかがあれば助かります
quickquip

2017/07/03 05:49

形態素解析だけですか? 用意された文章を解析すればいいだけでかつ精度が大事なら、CoreNLPを普通にコマンドして動かして結果のXMLをPythonで取り扱うとかでもいいかもしれません。 そうでないなら、NLTK の WordPunctTokenizer と pos_tag を使ってもそれなりには解析できるかと。 NLTKだと簡単に済みますよ。 http://www.nltk.org/api/nltk.tag.html#nltk.tag.pos_tag pip install nltk python import nltk nltk.download('averaged_perceptron_tagger') nltk.download('punkt') from nltk.tag import pos_tag from nltk.tokenize import word_tokenize pos_tag(word_tokenize("John's big idea isn't all that bad."))
kohekoh

2017/07/03 07:26

形態素解析だけです 英語の文章を名詞と形容詞の単語リストにして TFIDFをする予定です
kohekoh

2017/07/03 09:05

ちなみに、 import nltk from nltk.tag import pos_tag from nltk.tokenize import word_tokenize このように入力して、実行すると ModuleNotFoundError: No module named 'nltk.tag'; 'nltk' is not a package このようになります nltkはpipでインストールしました なぜでしょうか anacondaを用いているからとかも関係あるのでしょうか
kohekoh

2017/07/03 09:26

ちなみに import nltk nltk.download('averaged_perceptron_tagger') nltk.download('punkt') from nltk.tag import pos_tag from nltk.tokenize import word_tokenize このように入力して、実行すると AttributeError: module 'nltk' has no attribute 'download' このようになります
quickquip

2017/07/03 09:50

実行ディレクトリに nltk.py という名前のファイルで保存してないですか?
kohekoh

2017/07/03 09:57

保存してます nltk.pyで保存して、実行しています ちなみに名前を変えて(nltk_exa.py)、実行しましたが 次はドライブにディスクがありませんとかなんとか言われて 結局キャンセルして終わりです
kohekoh

2017/07/03 10:03

また、downloadの2文を入力して、実行すると 2つがダウンロードされ、アンジップされました しかし、ドライブにディスクがありませんは相変わらず出てきて 特に実行されずに終わります
kohekoh

2017/07/03 10:17

インタプリタではできました 相変わらず注意は出てきます ちなみに.pyで実行して、実行結果を表示するには どうすればよいですか??
quickquip

2017/07/03 10:20

式の返り値をprint関数に渡せばいいかと思いますが。 ドライブにディスクがありません、はわからないですね。WindowsでPythonの環境を整えるのは、なにかの苦行にチャレンジしていたいからだろうと私は思ってます。
kohekoh

2017/07/03 10:44

ありがとうございます できました
quickquip

2017/07/03 11:03

ドライブにディスクがありません、は nltk.data.path の中にムーバブルディスクが入ってみたいですね。なんかC:\nltk_data D:\nltk_data E:\nltk_data を追加するらしいです…… (これはひどい)
kohekoh

2017/07/03 12:35

ということはnltk.data.pathの中のD,Eを削除すればよいということですか? どういう風に改善すればよいのでしょうか
quickquip

2017/07/03 12:54

中身を確認して del nltk.data.path[インデクス値] とかすればいいと思いますよ。
kohekoh

2017/07/03 13:01

いまいちnltk.data.pathがよくわからないのですが どこに存在するのですか?
quickquip

2017/07/03 13:09

nltk.data.path はPythonのコードでした。 なのでPythonのメモリ上に存在するデータです。 プログラムで print(nltk.data.path) するとその環境での状況が確認できます。
kohekoh

2017/07/03 13:17

削除をしたのですが結局でてきます…
quickquip

2017/07/03 13:24

読みこむ場所を追加するにはnltk.data.pathに追加するといい、というのは出てくるんですけど、削除するには、という情報はないんですよね。どうしても気になるならソースを見てみたらいいと思いますよ。
kohekoh

2017/07/03 13:32

毎回出てくるし、なかなかの量がでてくるので めんどくさいので出てこないようにできればうれしいです もし、方法がわかったら教えていただければありがたいです
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問