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

Mar*_*k D 2 python tokenize nltk keras

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

nur*_*ric 6

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

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

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

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

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