🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Python

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

Q&A

2回答

1827閲覧

python 動詞 名詞の抽出

savaniased

総合スコア5

Python

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

0グッド

0クリップ

投稿2020/12/26 00:13

動詞、名詞の抽出が上手く行きません

pythonを使って、動詞と名詞の抽出をやってみようとしたんですが
なぜが空リストのが出るだけで、上手く行きません

python

1import MeCab 2tagger = MeCab.Tagger() 3 4text = "果物動く" 5wo = tagger.parse(text).splitlines() 6wo_arr = [] 7parts = ["名詞", "動詞"] 8wo = tagger.parse(text).splitlines() 9wo_arr = [] 10for i in wo: 11 if i == 'EOS' or i == '': continue 12 word_tmp = i.split()[0] 13 part = i.split()[1].split(",")[0] 14 if not (part in parts):continue 15 wo_arr.append(word_tmp) 16wo_arr

やったこと

参考書籍の見直しや、コードまる写しなど試してみましたが
だめでした

そもさん、まるうつしで同じ結果です。

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

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

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

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

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

dodox86

2020/12/26 01:27

既に回答されているqnoirさんが提示されているように、詳細な動作環境(OSやPythonその他バージョン)を示さないと、誰も問題を検証できないと思いますよ。実際に動かして検証するかどうかは回答者さんそれぞれの事情次第ですが、正確な回答のためには重要な情報です。
guest

回答2

0

print(word_tmp)
print(part)

で逐次結果抜き出してみたら?

if not (part in parts):continue
ここでpartが思った形で出てきてなくて抜けてるとかありそう。

part = i.split()[1].split(",")[0]
弄る所としては上記かな、splitの条件が多いのでここで間違った動作でもしてるんじゃない?
結果partsの中に予期せぬ値入ってたりとか

投稿2021/08/05 15:16

himahumanGuitar

総合スコア2

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

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

0

自分の環境だと下記で単語と品詞をprintできましたが、、、
Python 3.8.6
MeCab Version: 0.996.2
OS:Windows 10 Professional
Visual Studio Code

import MeCab tagger = MeCab.Tagger() text = "果物動く" wo = tagger.parse(text).splitlines() wo_arr = [] parts = ["名詞", "動詞"] wo = tagger.parse(text).splitlines() wo_arr = [] for i in wo: if i == 'EOS' or i == '': continue word_tmp = i.split()[0] part = i.split()[1].split(",")[0] if not (part in parts):continue wo_arr.append({'word': word_tmp, 'part': part}) #<--変えた print(wo_arr) #<--変えた

投稿2020/12/26 00:41

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

savaniased

2020/12/26 01:01

ダメでした、というかなぜかバージョンが出てこないのですが !pip3 install mecab-python3 !pip install unidic-lite でインストールして下記のコードだと上手く行ったのですが mecab -vをやったらそんなものはないと何故か出ます ``` import MeCab tagger = MeCab.Tagger() text="すももももももももものうち" words=tagger.parse(text) words ```
退会済みユーザー

退会済みユーザー

2020/12/26 01:14

上記に書いてあるように自分の環境はMacではなくWindowsですが pip show mecab として出てくる情報からバージョンを見ることはできています。 ライブラリは pip install mecab でインストールしました。
savaniased

2020/12/26 13:54

仕事で返信が遅れ申し訳ないです 最初はpip install mecabでやろうとしたんですが よくわからないエラーがでて前のコメントのような手順を踏んだわけです
savaniased

2020/12/26 13:55

Collecting mecab Using cached mecab-0.996.2.tar.gz (62 kB) ERROR: Command errored out with exit status 1: command: /Users
退会済みユーザー

退会済みユーザー

2020/12/26 14:34 編集

macならば、 pip3 install mecab-python3 --uninstall でいったんアンインストールし、 この記事 https://mojitoba.com/2019/01/29/solve-error-installation-mecab-python3/ に従って、 brew install mecab brew install mecab-ipadic としたあと、 pip3 install mecab-python3 で再インストールしてみた場合はどうでしょうか。
savaniased

2020/12/26 15:57 編集

同じですね 何故か、brewでエラーが出てきています
savaniased

2020/12/26 16:10

brewでのエラーはgit -C "/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core" fetch --unshallowで解決しましたが以前、結果は変わらずです
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問