讓機器從情緒中回應你

EQ在人們日常的對話中佔據很重要的角色,而在人機對話中,引入情商也可以使人類有更好的感受,像是Siri or Alexa等智慧型助理,也都會考慮用戶的情緒進行回應。

而帶有情緒的回應這件事,對於機器學習來說,大致可以分為內容的規劃以及情感的規劃,內容的規劃指的是未來將要回答的文本信息,而情感規劃則是未來將要用什麼情緒表達該內容。

情感規劃這項任務可以當成一個將現有文本歸類成各種情緒的任務,對於這項任務,現有的機器學習模型已經表現的足夠出色。但對於即時的對話,以人類日常對話來看,情感應該要產生的比文本內容更早,接著基於當下的情緒生成文本,而不是事先生成文本,才標定情感,當然也會有這種情況,不過那就是成人的世界了。

從這張圖可以看到,在三個dataset中,標定當前文本的情緒這項任務各種模型都表現得很好,但在基於當前文本預測下一個時間的情緒的任務中,目前的機器學習模型無法表現的很好,在第三個dataset甚至只比隨機選擇好一點點。(圖一)
圖一

基於這樣的情況,作者開發了新的模型來解決這個問題,這個模型很好理解,它分為三個部分,最下方的部分是很常出現在自然語言處理中的網路架構,可以看到它將輸入的句子拆分後輸入到transformer中,並編碼成向量的形式,但左方和右方不同的是,左方的輸入是目前對話的文本,而右方輸入的則是未來回應的文本。(圖二)

第二步是將剛才的輸入經過Muti-head Attention後,輸出成文本x以及文本y的機率分布。(圖二)

最後的部分就是要預測情緒了,上一部x的輸出會同時輸入至最右方的網路,而y的輸出只會輸入到右方的網路,左方最後會輸出一個下一步對話中每種情緒產生的機率。(圖二)

最後用來測試的網路就是圖二中最左方的網路,在測試時我們沒有未來的答案,所以圖二中右方的網路會移除,只留下圖二中左方的網路用以預測情緒。
圖二

最後是結果的分析,我們可以看到此網路相比起其他網路,它的precision and recall都要來的高出許多,precision指的是true positives和tp +fp的比值,recall是tp和tp+fn的比值,而f1則是recall和precision的 harmonic mean。(圖三)(圖四)
圖三

圖四


撰文:唐朝洋


Reference:
1. R. Zhang, Z. Wang, Z. Huang, L. Li and M. Zheng, "Predicting Emotion Reactions for Human–Computer Conversation: A Variational Approach," in IEEE Transactions on Human-Machine Systems, vol. 51, no. 4, pp. 279-287, Aug. 2021, doi: 10.1109/THMS.2020.3044975.

留言