top of page

CNN

​資料預處理

​利用前一階段標記好的中文文字情緒的Valence值、Arousal值並計算每句話的Valence_Mean, Arousal_Mean, Valence_SD, Arousal_SD,並從CVAS資料集中讀取數據,選擇特定的列,將'Valence_Mean'和'Arousal_Mean'的數值做分類,轉換為類別標籤。

  • 自然語言處理

使用ckip_transformers,ckip_transformers是中研院開發的一個基於Transformers的中文自然語言處理工具包,專為分析繁體中文文本而設計。

導入:

A. CkipWordSegmenter(詞分割器)

B. CkipPosTagger(詞性標註器)

C. CkipNerChunker(命名實體識別器)

定義一個clean函數,目的是對輸入的句子進行清理和過濾,保留特定詞性的詞語並去除不需要的詞語。

使用ckip_transformers工具對texts列表中的文本進行詞分割、詞性標註和命名實體識別,並利用clean函數進一步清理這些結果。將clean函數返回的short結果保存到short_values中

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

模型訓練

  • 使用Keras

  1. 建立和訓練了一個一維卷積神經網絡(1D CNN)模型,用於預測文本的情感(valence),arousal的模型也類似這樣。

  2. 導入Keras模塊:Sequential、設定模型參數、VOCAB_SIZE​

  3. 建立CNN模型:Embedding層、Conv1D和MaxPooling1D層、GlobalMaxPooling1D、Dense層

  4. 編譯模型​​:使用categorical_crossentropy作為損失函數、adam優化器、設置度量標準為accuracy,即準確率

  5. 訓練模型:使用fit方法訓練模型、validation_data評估模型的性能

  • 使用先前訓練的CNN模型對測試集進行VA預測,並將預測結果與真實標籤進行比較

輸出結果為:

​   

 
 
 
 
 
 
 
 
 
 
 
 
CNN.png
bottom of page