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

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

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

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

Q&A

解決済

1回答

1626閲覧

AttributeError: module 'tokenization' has no attribute 'FullTokenizer'を解決したいです。

amaturePy

総合スコア131

Python 3.x

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

0グッド

0クリップ

投稿2020/05/21 11:50

編集2020/05/21 15:52

下記の環境で以下のエラーが出てしまいます。

Traceback (most recent call last): File "_count_tokenization.py", line 26, in <module> my_tokenizer = tokenization.FullTokenizer(vocab_file=vocab_path) AttributeError: module 'tokenization' has no attribute 'FullTokenizer'

解決に関してアドバイスを頂ければ幸いです。
tensorflowは1.0〜2.0まで切り替えて試したのですが、同様のエラーが出てうまくtokenizationモジュールを呼べませんでした。
pip listで見るときちんとtensorflow並びにtokenizationはインストールされています。
「環境」
Python3.7 
tensorflow1.0/1.5/2.0
AWS(EC2)

import tokenization import codecs import numpy as np vocab_path = "./model_ch/vocab.txt" max_seq_length = 128 file0 = "./task/message_bert.tsv" f0 = codecs.open(file0, "r", "utf-8") lines = f0.readlines() f0.close() len_file = len(lines) count = np.zeros([len_file]) count0 = np.zeros([len_file]) my_tokenizer = tokenization.FullTokenizer(vocab_file=vocab_path) #file1 = "./task_data_ch/%s_count.tsv" % filename file1 = "./task/message_bert_count.tsv" f1 = codecs.open(file1, "w", "utf-8") f1.write("%s\t%s\t%s\r\n" % ("label","count","count_truncated")) for i in range(1,len_file): a = lines[i] a = a.split("\t") text = a[1] token = my_tokenizer.tokenize(text) print(token) count[i] = len(token) + 2 # for [CLS] and [SEP] if count[i] > max_seq_length: count0[i] = max_seq_length else: count0[i] = count[i] f1.write("%s\t%s\t%s\n" % (i-1,int(count[i]),int(count0[i]))) sum0 = int(np.sum(count0)) sum1 = int(np.sum(count)) print(sum0, sum1) print(int(len_file-1)) f1.write("Total: %s, %s" % (sum1,sum0)) f1.close()

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

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

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

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

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

meg_

2020/05/21 14:15

エラー詳細が不明です。エラーメッセージ全文を掲載ください。
amaturePy

2020/05/21 15:53

失礼しました!ただいま追記させて頂きました!
guest

回答1

0

自己解決

ディレクトリの問題でした。
google bertにデフォルトで入っているtokenization.pyと同じディレクトリにして実行する事でうまく動きました。

投稿2020/05/23 09:22

amaturePy

総合スコア131

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問