————————————————————————— AttributeError Traceback (most recent call last) Cell In[1], line 54 51 return seed_text 53 # 製品特徴の自動生成(サンプルの開始テキスト: “コンパクトなデザイン”) —> 54 generated_description = generate_product_description(“コンパクトなデザイン”) 55 print(“Generated Product Description:”, generated_description) Cell In[1], line 48, in generate_product_description(seed_text, length) 46 sequence = tokenizer.texts_to_sequences([seed_text])[0] 47 padded_sequence = pad_sequences([sequence], maxlen=maxlen, padding=’pre’) —> 48 predicted_index = model.predict_classes(padded_sequence, verbose=0) 49 next_word = tokenizer.index_word.get(predicted_index[0], ”) 50 seed_text += ‘ ‘ + next_word AttributeError: ‘Sequential’ object has no attribute ‘predict_classes’
Sequentialオブジェクトにpredict_classesメソッドが存在しないため、エラーが発生しています。このエラーを修正するには、代わりにpredictメソッドを使用して、モデルからの出力を取得し、その出力から次の単語のインデックスを選択する必要があります。
以下は修正したコードです。
python
import numpy as np from tensorflow import keras from tensorflow.keras.preprocessing.sequence import pad_sequences # 製品特徴の自動生成関数 def generate_product_description(seed_text, length=50): maxlen = 20 # シーケンスの最大長 next_words = length # 生成する単語の数 # 生成された製品特徴を初期化 generated_description = seed_text # 指定された長さになるまで製品特徴を生成 for _ in range(next_words): # シーケンスをトークン化してパディング sequence = tokenizer.texts_to_sequences([seed_text])[0] padded_sequence = pad_sequences([sequence], maxlen=maxlen, padding='pre') # モデルを使って次の単語を予測 predicted_probabilities = model.predict(padded_sequence)[0] # 予測された確率から次の単語のインデックスをサンプリング predicted_index = np.random.choice(len(predicted_probabilities), p=predicted_probabilities) # インデックスから次の単語を取得 next_word = tokenizer.index_word.get(predicted_index, '') # 生成された製品特徴に次の単語を追加 generated_description += ' ' + next_word # 生成された製品特徴を更新 seed_text += ' ' + next_word return generated_description # 修正後の製品特徴の自動生成(サンプルの開始テキスト: "コンパクトなデザイン") generated_description = generate_product_description("コンパクトなデザイン") print("Generated Product Description:", generated_description)
この修正後のコードでは、model.predictメソッドを使用して次の単語の確率分布を取得し、その分布から次の単語のインデックスをサンプリングしています。

ディスカッション
コメント一覧
まだ、コメントがありません