2017-09-12 12 views
2

Kerasで単語のnグラムを使用するのは本当ですか?Keras Tokenizer用のnグラム

たとえば、文リストには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']) 

、トークナイザを実行。 Keras docs:https://keras.io/preprocessing/text/ 私は文字処理のみを参照していますが、私のケースではnt apprepriateです。

私の主な質問:NLPのタスク(必要なSentiment Analysis、抽象NLPタスク)にnグラムを使用できますか?

明確化のために:私は単語だけでなく単語の組み合わせも考慮したいと思います。私は自分の仕事のために試してみたいと思います。

答えて

1

残念ながら、Keras Tokenizer()はnグラムをサポートしていません。回避策を作成し、自分の文書でトークン化し、ニューラルネットワークにフィードする必要があります。

関連する問題