Est-il réel d'utiliser les n-grammes de mots dans Keras? Par exemple, la liste de phrases contient dans une trame de données X_train avec une colonne "phrases". J'utilise tokenizer de Keras dans la prochaine manière:Mots d'usage n-grammes pour Keras Tokenizer
tokenizer = Tokenizer(lower=True, split=' ')
tokenizer.fit_on_texts(X_train.sentences)
X_train_tokenized = tokenizer.texts_to_sequences(X_train.sentences)
Et je l'utilise plus tard padding:
X_train_sequence = sequence.pad_sequences(X_train_tokenized)
J'utilise aussi simple, réseau 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'])
Dans ce cas, tokenizer exécution. Dans les documents Keras: https://keras.io/preprocessing/text/ Je ne vois que le traitement des caractères, mais il n'est pas approprié pour mon cas.
Ma question principale: Puis-je utiliser n-grammes pour les tâches de la PNL (pas nécessaire analyse de sentiment, toute tâche abstraite NLP). Pour clarifier: Je voudrais considérer non seulement les mots, mais la combinaison de mots - je voudrais l'essayer pour ma tâche.