tf.keras.layers.TextVectorization
层将文本特征Map为整数序列,由于它可以作为keras模型层添加,因此可以轻松地将模型部署为单个文件,该文件将字符串作为输入并对其进行处理。但我还需要执行相反的操作,但找不到任何方法来完成此操作。我正在使用一个LSTM
模型,该模型可以从前面的单词预测下一个单词。例如,我的模型需要接受一个字符串“I love”,并且应该输出可能的下一个单词,如“cats”、“dogs”等。我可以使用tf.keras.preprocessing.text.Tokenizer
手动将字符串Map到integer,或者从integerMap字符串,如下所示:
text = "I love cats"
tokenizer = tf.keras.preprocessing.text.Tokenizer(num_words=10000, oov_token='<oov>')
tokenizer.fit_on_texts([text])
seqs = tokenizer.texts_to_sequences([text])
prediction = model.predict(seqs) # an integer
actual_prediction = tokenizer.sequences_to_texts(prediction) # now the desired string
如何在模型的输出层实现TextVecorization
层的功能,以便获得由TextVectorization
层的索引表示的字符串,而不是获得索引的预测?
2条答案
按热度按时间uz75evzq1#
这很简单,但是您需要将字符串-文本-序列和模型之间任务分开,以找到它们之间的关系。
[样品1 ]:作为字符串序列
[输出]:
[样品2 ]:作为单词序列应用模型要求
lb3vh1jj2#
就这么办吧: