TensorFlow.js 中是否提供 texts_to_sequences、pad_sequences,或者是否有其他替代方案?

时间:2021-01-31 15:23:53

标签: javascript python keras deep-learning tensorflow.js

我已经构建了一个用于下一个单词预测的 Keras 模型,并且我正在尝试在前端使用我的模型来根据文本字段的输入预测下一个单词,我必须将以下代码从 Python 转换为 JavaScript,但是没有没有找到任何合适的选择。 有什么办法可以解决这个问题吗?

from keras.preprocessing.sequence import pad_sequences
input_text = input().strip().lower()

encoded_text = tokenizer.texts_to_sequences([input_text])[0]
pad_encoded = pad_sequences([encoded_text], maxlen=seq_len, truncating='pre')

for i in (model.predict(pad_encoded)[0]).argsort()[-10:][::-1]:
  pred_word = tokenizer.index_word[i]
  print("Next word suggestion:",pred_word)

我在 Python 中得到了对 I 的以下预测:

  • 下一个词建议:有
  • 下一个词建议:am
  • 下一个词建议:知道
  • 下一个词建议:思考
  • 下一个词建议:从不
  • 下一个词建议:做
  • 下一个词建议:想要
  • 下一个词建议:ever
  • 下一个词建议:will
  • 下一个词建议:见

1 个答案:

答案 0 :(得分:1)

我刚刚在 node.js 中写了一个替代方案,也许可以帮到你

回购:https://github.com/Shadowhusky/node_tokenizer

你可以安装它

npm install --save tf_node_tokenizer

示例:

const { Tokenizer } = require("tf_node_tokenizer");
const tokenizer = new Tokenizer({ num_words: 5, oov_token = "<unk>", });

const text = [
  "<start> Cake and frosting all over a face and hands tells a happy story.  <end>",
  "<start> A baby is feeding himself with his hands and is smeared with food. <end>",
  "<start> A baby eating pink dessert in a highchair <end>"
];

tokenizer.fitOnTexts(text);
tokenizer.texts_to_sequences(text);