簡體   English   中英

文本情感檢測

[英]Emotion detection on text

我是 ML 的新手,正在嘗試對文本進行情感檢測。 所以我有一個 ISEAR 數據集,其中包含帶有情感標記的推文。 所以我目前的准確率是 63%,我想提高到至少 70% 甚至更高。

繼承人的代碼:

inputs = Input(shape=(MAX_LENGTH, ))

embedding_layer = Embedding(vocab_size,
                            64,
                            input_length=MAX_LENGTH)(inputs)

# x = Flatten()(embedding_layer)
x = LSTM(32, input_shape=(32, 32))(embedding_layer)
x = Dense(10, activation='relu')(x)

predictions = Dense(num_class, activation='softmax')(x)
model = Model(inputs=[inputs], outputs=predictions)
model.compile(optimizer='adam',
              loss='categorical_crossentropy',
              metrics=['acc'])

model.summary()
filepath="weights-simple.hdf5"
checkpointer = ModelCheckpoint(filepath, monitor='val_acc', verbose=1, save_best_only=True, mode='max')
history = model.fit([X_train], batch_size=64, y=to_categorical(y_train), verbose=1, validation_split=0.1, 
          shuffle=True, epochs=10, callbacks=[checkpointer])

這是一個非常普遍的問題,優化神經網絡的性能可能需要調整許多因素。 例如:

  1. 選擇的優化器:在 NLP 任務中 rmsprop 也是一種流行的優化器
  2. 調整學習率
  3. 正則化 - 例如 dropout、recurrent_dropout、batch norm。 這可能有助於模型更好地泛化
  4. LSTM 中的更多單元
  5. 嵌入中的更多維度

您可以嘗試網格搜索,例如使用不同的優化器並在驗證集上進行評估。 數據可能還需要一些調整,例如:

  1. 文本規范化 - 更好地表示推文 - 刪除不必要的標記(@,#)

  2. 在擬合之前打亂數據 - keras validation_split 使用最后的數據記錄創建驗證集

你的問題沒有簡單的答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM