在深度神经网络中使用 word 的 n-gram 是真的吗?
例如,句子列表包含在带有“句子”列的 X_train 数据框中。我以以下方式使用 Keras 的标记器:
tokenizer = Tokenizer(lower=True, split=' ')
tokenizer.fit_on_texts(X_train.sentences)
X_train_tokenized = tokenizer.texts_to_sequences(X_train.sentences)
后来我使用填充:
X_train_sequence = sequence.pad_sequences(X_train_tokenized)
我也使用简单的 LSTM 网络:
model = Sequential()
model.add(Embedding(MAX_FEATURES, 128))
model.add(LSTM(32, dropout=0.2, recurrent_dropout=0.2,
activation='tanh', return_sequences=True))
model.add(LSTM(64, dropout=0.2, recurrent_dropout=0.2, activation='tanh'))
model.add(Dense(number_classes, activation='sigmoid'))
model.compile(loss='categorical_crossentropy', optimizer = 'rmsprop',
metrics=['accuracy'])
在这种情况下,tokenizer 执行。在 Keras 文档中:https : //keras.io/preprocessing/text/ 我只看到字符处理,但它不适合我的情况。
我的主要问题:我可以将 n-grams 用于具有深度学习的 NLP 任务(不是必要的情感分析,任何抽象的 NLP 任务)。
事实上,在许多教程或书籍中,我没有看到任何用于文本处理的剩余 n-gram,只有嵌入。
澄清一下:我想考虑的不仅仅是单词,而是单词的组合——我想尝试一下我的任务。