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

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

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

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

Python

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

Q&A

解決済

1回答

399閲覧

pythonで感情の値をつける際のエラー

koppen54

総合スコア15

Python 3.x

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

Python

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

0グッド

0クリップ

投稿2018/06/01 18:02

編集2018/06/02 06:55

前提・実現したいこと

pythonでjanomeを使っていたらエラーが出た

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

tokenize_result = b.tokenizer_all(say) AttributeError: module 'bot' has no attribute 'tokenizer_all'

該当のソースコード

python

1from janome.tokenizer import Tokenizer 2import bot as b 3import pandas as pd 4 5pn_csv = 'pn.dic.csv' 6emo_param_file = 'emo_param.dat' 7bot_emo = [1,2,3,4,5]#数字が若いほど明るい 8 9 10def make_pndict(csv): 11 """ 12 極性辞書を読み込んで扱いやすい形式にして返す関数 13 :param csv: 極性辞書 14 :return: '文':pn値の辞書 15 """ 16 pn_df = pd.read_csv('../src/' + csv, sep=':', encoding='utf-8', names=('word', 'read', 'POS', 'PN')) 17 word_list = list(pn_df['word']) 18 pn_list = list(pn_df['PN']) 19 pn_dict = dict(zip(word_list, pn_list)) 20 21 return pn_dict 22 23 24def emotion(say): 25 """ 26 感情を数値で算出する関数 27 パラメータはsrcフォルダ下のdatファイルで管理 28 :param say: こっちの発言 29 :return: 気分 30 """ 31 pn_dict = make_pndict(pn_csv) 32 tokenize_result = b.tokenizer_all(say) 33 feel_dict = { 34 1:'絶好調', 35 2:'好調', 36 3:'普通', 37 4:'不快', 38 5:'最悪' 39 } 40 41 with open('../src/' + emo_param_file, "r") as f: 42 param = float(f.read()) 43 for token in tokenize_result: 44 if token in pn_dict: 45 param += pn_dict[token] 46 with open('../src/' + emo_param_file, "w") as f: 47 f.write(str(param)) 48 if -1 < param < 1: 49 return feel_dict[bot_emo[2]] 50 elif 1 <= param < 2: 51 return feel_dict[bot_emo[1]] 52 elif 2 <= param: 53 return feel_dict[bot_emo[0]] 54 elif -2 < param <= -1: 55 return feel_dict[bot_emo[3]] 56 elif param <= -2: 57 return feel_dict[bot_emo[4]] 58

試したこと

ファイルの名前を変えてみたけれどもだめでした

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

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

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

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

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

quickquip

2018/06/02 00:56

janomeといっさい関連が無さそうなのでタイトルを変更した方がいいと思います
coco_bauer

2018/06/21 07:41

まず、何がしたいのかを明らかにして、どこで困っているのかを示してください。コンパイルエラーが出るのは、コードに問題があるためでjanomeとは関係ありません。 pandasというモジュールは一般に使われていると思いますが、botというモジュールは何なのですか? 聞いたことのない bot といモジュールを使って、使い方が間違えていると指摘されているのですから、自分で解決する以外に方法がなさそうに思われます。
guest

回答1

0

ベストアンサー

AttributeError: module 'bot' has no attribute 'tokenizer_all'

google翻訳
AttributeError:モジュール 'bot'には属性 'tokenizer_all'がありません

モジュールbottokenizer_allが定義されていないというエラーメッセージですが
そもそも論としてjanome公式ページに記載されているのですがTokenizerを作り、解析したい文字列をtokenizeに渡す。この手順が必要です。

Python

1from janome.tokenizer import Tokenizer 2t = Tokenizer() 3for token in t.tokenize(u'すもももももももものうち'): 4 print(token)

投稿2018/06/01 18:56

編集2018/06/01 19:21
umyu

総合スコア5846

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問