Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nlp 使用Keras标记器生成n-gram_Nlp_Keras_Tokenize_Text Processing_N Gram - Fatal编程技术网

Nlp 使用Keras标记器生成n-gram

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

是否可以在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_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图是有意义的。