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

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

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

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

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

自然言語処理

自然言語処理は、日常的に使用される自然言語をコンピューターに処理させる技術やソフトウェアの総称です。

Q&A

0回答

2943閲覧

pyknp(juman++)が機能しない

tiovita

総合スコア10

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

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

自然言語処理

自然言語処理は、日常的に使用される自然言語をコンピューターに処理させる技術やソフトウェアの総称です。

0グッド

0クリップ

投稿2020/11/04 05:44

編集2020/11/04 06:33

当方、機械学習初学者です。
twitterから取得した日本語の対話データを形態素解析するために、juman++(2.0.0-rc3)とpyknpを以下のサイトを参考にインストールしました。

https://dev.classmethod.jp/articles/pyknpjumann-tutorial/

juman++に関してはバージョン、動作共に確認できたのですが、pyknpが機能しない状況です。
環境としてはMac Catalina, Anacondaでjupyter noteを利用しており、pyknpはcondaでインストールしました。conda listでも入っていることは確認できています。```python3.6.6
コード

from

1jumanpp = Juman() 2result = jumanpp.analysis("すもももももももものうち") 3for mrph in result.mrph_list(): # 各形態素にアクセス 4 print("見出し:%s, 読み:%s, 原形:%s, 品詞:%s, 品詞細分類:%s, 活用型:%s, 活用形:%s, 意味情報:%s, 代表表記:%s" \ 5 % (mrph.midasi, mrph.yomi, mrph.genkei, mrph.hinsi, mrph.bunrui, mrph.katuyou1, mrph.katuyou2, mrph.imis, mrph.repname)) 6 7 8 9しかし、上記pyknpの構文解析コードを実行すると以下のエラー文が出ます。 10FileNotFoundError Traceback (most recent call last) 11<ipython-input-3-8d55d3987271> in <module> 12 1 from pyknp import Juman 13 2 jumanpp = Juman() 14----> 3 result = jumanpp.analysis("すもももももももものうち") 15 4 for mrph in result.mrph_list(): # 各形態素にアクセス 16 5 print("見出し:%s, 読み:%s, 原形:%s, 品詞:%s, 品詞細分類:%s, 活用型:%s, 活用形:%s, 意味情報:%s, 代表表記:%s" \ 17 18~/opt/anaconda3/envs/py38/lib/python3.6/site-packages/pyknp/juman/juman.py in analysis(self, input_str, juman_format) 19 87 MList: 形態素列オブジェクト 20 88 """ 21---> 89 return self.juman(input_str, juman_format) 22 90 23 91 def result(self, input_str, juman_format=JUMAN_FORMAT.DEFAULT): 24 25~/opt/anaconda3/envs/py38/lib/python3.6/site-packages/pyknp/juman/juman.py in juman(self, input_str, juman_format) 26 74 """ analysis関数と同じ """ 27 75 assert(isinstance(input_str, six.text_type)) 28---> 76 result = MList(self.juman_lines(input_str), juman_format) 29 77 return result 30 78 31 32~/opt/anaconda3/envs/py38/lib/python3.6/site-packages/pyknp/juman/juman.py in juman_lines(self, input_str) 33 66 if 'jumanpp' not in self.command and self.rcfile: 34 67 command.extend(['-r', self.rcfile]) 35---> 68 self.subprocess = Subprocess(command) 36 69 if self.socket: 37 70 return self.socket.query(input_str, pattern=self.pattern) 38 39~/opt/anaconda3/envs/py38/lib/python3.6/site-packages/pyknp/juman/process.py in __init__(self, command, timeout) 40 45 try: 41 46 env = os.environ.copy() 42---> 47 self.process = subprocess.Popen(command, env=env, **subproc_args) 43 48 self.process_command = command 44 49 self.process_timeout = timeout 45 46~/opt/anaconda3/envs/py38/lib/python3.6/subprocess.py in __init__(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, encoding, errors) 47 707 c2pread, c2pwrite, 48 708 errread, errwrite, 49--> 709 restore_signals, start_new_session) 50 710 except: 51 711 # Cleanup if the child failed starting. 52 53~/opt/anaconda3/envs/py38/lib/python3.6/subprocess.py in _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, restore_signals, start_new_session) 54 1342 if errno_num == errno.ENOENT: 55 1343 err_msg += ': ' + repr(err_filename) 56-> 1344 raise child_exception_type(errno_num, err_msg, err_filename) 57 1345 raise child_exception_type(err_msg) 58 1346 59 60FileNotFoundError: [Errno 2] No such file or directory: 'jumanpp': 'jumanpp' 61 62元来は、以下のサイトと同じことがしたいのですが、品詞分解の段階でつまづいています... 63[リンク内容](https://qiita.com/gacky01/items/b786b2a097bf473176e8) 64 65検討外れな質問かもしれませんが、ご教授いただけると幸いです。

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

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

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

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

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

quickquip

2020/11/04 06:24 編集

OSはなんですか? jumanpp や knp のコマンド実行はできているのですか? (それとも載せてあるページの通りknpはスキップしたのでしょうか?) Tracebackを一部しか載せていないのではないですか? 全体的に「質問者さんがやったこと」が書かれていなくてぜんぜん状況が分かりません。("質問者さんが参考にしたページ"を読まされても質問者さんの状況はこちらには分かりません)
quickquip

2020/11/04 06:21

Mecabタグは要らないですよね
tiovita

2020/11/04 06:37

ありがとうございます。jumanppに関してはインストールが完了し、バージョンの確認と動作の確認が取れているため問題ないと考えています。knpはスキップしています。 現在の問題点としましてはpyknpをcondaでインストールし、conda listでも入っていることが確認できていますが、実際に構文解析のコードを実行すると、上記のエラーとなってしまう点です。 非常にわかりにくい文面で申し訳ありません。
quickquip

2020/11/05 00:36

> バージョンの確認と動作の確認が取れているため問題ないと考えています。 何をして何を確認したのかこちらには分からないです。 which jumanpp で jumanpp コマンドの場所を調べた結果 Pythonから import os; print(os.environ['PATH']) の結果 あたりがあるといいかもしれません。
tiovita

2020/11/05 07:05

「jumanpp -v のコマンドでバージョンを確認した結果」 Juman++ Version: 2.0.0-rc3 / Dictionary: 20190731-356e143 / LM: K:20190430-7d143fb L:20181122-b409be68 F:20171214-9d125cb 「echo "すもももももももものうち" | jumanpp というコマンドにて構文解析を行った結果」 すもも すもも すもも 名詞 6 普通名詞 1 * 0 * 0 "自動獲得:テキスト" @ すもも すもも すもも 名詞 6 普通名詞 1 * 0 * 0 "代表表記:酸桃/すもも 自動獲得:EN_Wiktionary" も も も 助詞 9 副助詞 2 * 0 * 0 NIL もも もも もも 名詞 6 普通名詞 1 * 0 * 0 "代表表記:桃/もも ドメイン:料理・食事 カテゴリ:植物;人工物-食べ物 漢字読み:訓" @ もも もも もも 名詞 6 普通名詞 1 * 0 * 0 "代表表記:股/もも カテゴリ:動物-部位" も も も 助詞 9 副助詞 2 * 0 * 0 NIL もも もも もも 名詞 6 普通名詞 1 * 0 * 0 "代表表記:桃/もも ドメイン:料理・食事 カテゴリ:植物;人工物-食べ物 漢字読み:訓" @ もも もも もも 名詞 6 普通名詞 1 * 0 * 0 "代表表記:股/もも カテゴリ:動物-部位" の の の 助詞 9 接続助詞 3 * 0 * 0 NIL うち うち うち 名詞 6 副詞的名詞 9 * 0 * 0 "代表表記:うち/うち" EOS 以上がバージョン確認と動作確認に値しています。 「jumanpp コマンドの場所を調べた結果」 /usr/local/bin/jumanpp 「import os; print(os.environ['PATH']) の結果」 /Users/****/opt/anaconda3/envs/py38/bin:/Users/*****/opt/anaconda3/condabin:/usr/bin:/bin:/usr/sbin:/sbin ***はユーザー名になります。 お手数ですがご確認いただけますと嬉しいです。
quickquip

2020/11/05 07:15

情報は質問に書きましょう。 jupyterをどうやって起動しているかも書いた方がいいかもしれません。 (私はanacondaを使わないのでなんでこんなPATHになってしまうのか想像できません。悪しからず)
tiovita

2020/11/05 08:26

jupyterの起動場所を変えたら無事動きました... 次回から質問の仕方をもう少し考えて投稿したいと思います。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問