Nlp 使用Keras标记器生成n-gram
是否可以在Keras中使用n-gram 例如,包含在X_列车数据框中的句子,带有“句子”列 我以以下方式使用Keras的标记器:Nlp 使用Keras标记器生成n-gram,nlp,keras,tokenize,text-processing,n-gram,Nlp,Keras,Tokenize,Text Processing,N Gram,是否可以在Keras中使用n-gram 例如,包含在X_列车数据框中的句子,带有“句子”列 我以以下方式使用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_sequen
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'])
在本例中,标记器执行。
在Keras文档中:
我认为字符处理是可能的,但这不适合我的情况
我的主要问题是:我是否可以将n-grams用于NLP任务(不仅仅是情绪分析,而是任何NLP任务)
澄清:我不仅要考虑词,还要考虑词的组合。我想尝试一下,看看它是否有助于对我的任务建模。不幸的是,Keras Tokenizer()不支持n-gram。您应该创建一个变通方法,自己对文档进行标记,然后将其输入神经网络。如果您不知道,您可以使用sklearn模块,如或生成n-gram,然后将其输入网络。这是一个非常奇怪的神经网络模型, son@VeltzerDoron我也在考虑使用双图。我正在使用keras使用文字包特征数据来训练前馈网络。所以,我没有使用序列数据或序列模型(RNN等),所以bi图是有意义的。