【问题标题】:How to add known words tokenizer keras python?如何添加已知单词标记器keras python?
【发布时间】:2019-05-13 14:25:58
【问题描述】:

我想使用带有印度尼西亚语的 keras 将文本转换为序列。但 keras 分词器只检测已知单词。

如何在keras中添加已知单词?或任何解决方案让我将文本转换为序列?

from keras.preprocessing.text import Tokenizer
tokenizer = Tokenizer(num_words=n_most_common_words, filters='!"#$%&()*+,-./:;<=>?@[\]^_`{|}~', lower=True)
tokenizer.fit_on_texts(concated['TITLE'].values)
txt = ["bisnis di indonesia sangat maju"]
seq = list(tokenizer.texts_to_sequences_generator(txt))

如果我使用印度尼西亚语,“seq”变量会产生空数组,如果我使用英文单词,它会完美地工作。如何将 keras 用于不同的语言?或者无论如何要向 keras 添加一些已知的单词?

谢谢

【问题讨论】:

  • 无法重现您的示例。你能包括你用来适合标记器的文本吗? (连接['TITLE'].values)。对于分词器来说,语言应该无关紧要。

标签: python keras nlp data-science tokenize


【解决方案1】:

Keras 不知道任何语言或单词。 使用fit_on_textsfit_on_sequences 方法创建词汇表。

我猜你是fitting 一些英文文本的标记器(即concated['TITLE'].values)。结果,内部词汇表只包含英语单词(没有印尼语单词)。这就解释了为什么如果txt 只包含非英语单词,seq 将是空的。

另外,你可以看看source code of the Tokenizer class

【讨论】:

  • 非常感谢,我的代码现在可以工作了。是的,keras 只知道 fit_on_sequences 中的这个词。
猜你喜欢
  • 2022-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多