
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
-
建立和訓練了一個一維卷積神經網絡(1D CNN)模型,用於預測文本的情感(valence),arousal的模型也類似這樣。
-
導入Keras模塊:Sequential、設定模型參數、VOCAB_SIZE
-
建立CNN模型:Embedding層、Conv1D和MaxPooling1D層、GlobalMaxPooling1D、Dense層
-
編譯模型:使用categorical_crossentropy作為損失函數、adam優化器、設置度量標準為accuracy,即準確率
-
訓練模型:使用fit方法訓練模型、validation_data評估模型的性能
-
使用先前訓練的CNN模型對測試集進行VA預測,並將預測結果與真實標籤進行比較
輸出結果為:
