使用 keras.preprocessing.tokenizer 或 nltk.tokenize 哪个更好

What is better to use keras.preprocessing.tokenizer or nltk.tokenize

我正在使用 Keras 处理多类分类问题。 尝试使用 Keras tokenize,但认为 nltk.tokenizer 会更好地解决我的问题。我没有找到任何文章 可以描述这两个分词器的区别,它们之间文本预处理的区别和准确性是什么?

默认情况下,它们都使用一些基于正则表达式的标记化。区别在于它们的复杂性:

它们都非常快,因为它们只是 运行 正则表达式。如果您有非常基本的文本,没有太多标点符号或乱序字符,那么 Keras 可能是最简单的选择。

如果您真的想要一个基于神经网络的神经网络,它可以正确解析数字、日期等并可能执行词性标记、实体识别,您可以使用:

  • Stanford CoreNLP 为处理文本、查找依赖项、识别实体等提供完整的管道
  • SpaCy 也是一个完整的 Python NLP 流水线,可为您提供类似的结果以及加载相应的词向量,例如 GloVe。

以上两种方法比任何基于正则表达式的方法都慢,但这取决于您要处理的源文本。