予測されたシーケンスをkerasでテキストに戻すにはどうすればいいですか? 質問する

予測されたシーケンスをkerasでテキストに戻すにはどうすればいいですか? 質問する

正常に動作し、いくつかの出力を予測できるシーケンスツーシーケンス学習モデルがあります。問題は、出力をテキスト シーケンスに戻す方法がわからないことです。

これは私のコードです。

from keras.preprocessing.text import Tokenizer,base_filter
from keras.preprocessing.sequence import pad_sequences
from keras.models import Sequential
from keras.layers import Dense

txt1="""What makes this problem difficult is that the sequences can vary in length,
be comprised of a very large vocabulary of input symbols and may require the model 
to learn the long term context or dependencies between symbols in the input sequence."""

#txt1 is used for fitting 
tk = Tokenizer(nb_words=2000, filters=base_filter(), lower=True, split=" ")
tk.fit_on_texts(txt1)

#convert text to sequence
t= tk.texts_to_sequences(txt1)

#padding to feed the sequence to keras model
t=pad_sequences(t, maxlen=10)

model = Sequential()
model.add(Dense(10,input_dim=10))
model.add(Dense(10,activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam',metrics=['accuracy'])

#predicting new sequcenc
pred=model.predict(t)

#Convert predicted sequence to text
pred=??

ベストアンサー1

逆関数を直接使用することができますtokenizer.sequences_to_texts

    text = tokenizer.sequences_to_texts(<list_of_integer_equivalent_encodings>)

上記をテストしたところ、期待どおりに動作しました。

PS.: 引数が One Hot ではなく整数エンコーディングのリストになるように特に注意してください。

おすすめ記事