首页 > 解决方案 > 在 Keras 工作流程中使用 NLTK 分词器

问题描述

我正在使用 Keras 标记器来标记句子,而不是创建可用于训练神经网络的单词索引序列:

from keras.preprocessing.text import Tokenizer
tokenizer = Tokenizer(num_words=5000)
tokenizer.fit_on_texts(X_train)
X_train = tokenizer.texts_to_sequences(X_train)

如何使用casual_tokenize NLTK 标记器来获得类似的结果?NLTK toeknizer 不提供 texts_to_sequences() 方法。

标签: machine-learningkerasnlpnltk

解决方案


您可以先使用 NLTK 标记文本。然后将标记保存为带有空格分隔符的行。然后像往常一样使用 Keras Tokenizer。

from nltk.tokenize import word_tokenize

X_train_tokenized = []
for test in X_train:
    X_train_tokenized.append(' '.join([token for token in word_tokenize(text)]))

tokenizer = Tokenizer(num_words=5000)
tokenizer.fit_on_texts(X_train_tokenized)
X_train = tokenizer.texts_to_sequences(X_train_tokenized)

推荐阅读