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

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

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

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Mecab

Mecabは、オープンソースの形態素解析エンジンです。 言語、辞書、コーパスに依存しない汎用的な設計を基本方針としています。 Mecabの由来は、開発者の好物である和布蕪(めかぶ)から名づけられました。

Q&A

解決済

1回答

593閲覧

AttributeError: 'tuple' object has no attribute 'feature'というエラーが出る。

Neosoft_8319

総合スコア2

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Mecab

Mecabは、オープンソースの形態素解析エンジンです。 言語、辞書、コーパスに依存しない汎用的な設計を基本方針としています。 Mecabの由来は、開発者の好物である和布蕪(めかぶ)から名づけられました。

1グッド

1クリップ

投稿2022/12/11 16:40

前提

Pythonで学ぶテキストマイニング入門(2022; シーアンドアール研究所)で載っているcodeでMecabを使えるように練習している者です。
品詞情報を抽出する作業で、エラーが発生してしまいました。

実現したいこと

  • 'tuple' object has no attribute 'feature'を解消する。
  • [ ]

発生している問題・エラーメッセージ

<Swig Object of type 'MeCab::Node *' at 0x0000025FF24D2930>
BOS/EOS * *

AttributeError Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_15332\394891289.py in <module>
3 print(node)
4 while node:
----> 5 elem= node.feature.split(",")
6 print(elem[0], elem[1], elem[6])
7 node= node,next#繰り返しの最後で次の要素にアクセスできるように先頭要素から次々できるnext

AttributeError: 'tuple' object has no attribute 'feature'

エラーメッセージ

該当のソースコード

node = tagger.parseToNode("還暦を迎えたら、沖縄に住みたい。") print(node) while node: elem= node.feature.split(",") print(elem[0], elem[1], elem[6]) node= node,next ー-- 以下のコードはきちんと出力されました。 import MeCab tagger =MeCab.Tagger(r'-d "C:\mecab-ipadic-neologd"') #品詞情報を出力する node= tagger.parseToNode("還暦祝いって何がいい?") while node : print(node.surface)#それぞれ出力できるように引き出すためにwhileで繰り返し print(node.feature) node=node.next

試したこと

ソースコードに書いているように、nodeの中を見るなどを行いました。

補足情報(FW/ツールのバージョンなど)

Windows10
Mecab 64bit
Python (jupyter notebook(anaconda))
です。

!pip install mecab-python3
!conda install -c conda-forge mecab-python3
!pip install ipadic

!apt install aptitude
!aptitude install mecab libmecab-dev mecab-ipadic-utf8 git make curl xz-utils file -y
!pip install mecab-python3==0.7

↑以上を行った結果、
Collecting mecab-python3==0.7
Using cached mecab-python3-0.7.tar.gz (41 kB)
Preparing metadata (setup.py): started
Preparing metadata (setup.py): finished with status 'error'

Neosoft_8319👍を押しています

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

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

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

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

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

PondVillege

2022/12/11 18:46

node,nextはtupleなので属性featureは無く,node.nextはnodeなので属性featureをもつことからこのようなエラーになっています.
Neosoft_8319

2022/12/12 13:00

ご教授いただきありがとうございます。私の方でも改善できました。 今後ともよろしくお願いいたします。
guest

回答1

0

自己解決

申し訳ございません。ググってみたものの、べストアンサーを選ぶボタンが見つけられなかったため、こちらでお礼を代わりにさせていただきます。
大変助かりました。ありがとうございました。

投稿2022/12/12 13:54

Neosoft_8319

総合スコア2

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問