給你兩句話,來品一下它們所蘊含的情感:“我真的會謝。”“聽我說謝謝你,因為有你,溫暖四季……”或許你會說,這很簡單啊,不就是最近經常被玩的梗嗎?但如果問問長輩,他們可能就是一副“地鐵老人看手機”的模樣。
不過與流行文化之間有代溝這事,可不僅限於長輩們,還有 AI。這不,一位博主最近就 po 出一篇分析Google數據集的文章,發現它對 Reddit 評論的情緒判別中,錯誤率竟高達 30%。
就比如這個例子:
我要向朋友怒表達對他的愛意。
Google數據集把它判斷為“生氣”。
還有下面這條評論:
你 TM 差點嚇壞我。
Google數據集將其判別為“困惑”。
網友直呼:你不懂我的梗。
人工智能秒變人工智障,這麼離譜的錯誤它是怎麼犯的?
斷章取義它最“拿手”
這就得從他判別的方式入手。Google數據集在給評論貼標簽時,是把文字單拎出來判斷的。我們可以看看下面這張圖,Google數據集都把文字中的情緒錯誤地判斷為憤怒。
不如我們由此來推測一下Google數據集判別錯誤的原因,就拿上面的例子來說,這四條評論中均有一些“臟話”。
Google數據集把這些“臟話”拿來作為判斷的依據,但如果仔細讀完整個評論,就會發現這個所謂的“依據”隻是用來增強整個句子的語氣,並沒有實際的意義。
網友們的發表的評論往往都不是孤立存在的,它所跟的帖子、發佈的平臺等因素都可能導致整個語義發生變化。
比如單看這條評論:
his traps hide the fucking sun.
單單依靠這個很難判斷其中的情緒元素。但如果知道他是來自一個肌肉網站的評論,或許就不難猜出,(他隻是想稱贊一下這個人的肌肉)。
忽略評論的帖子本身,或者將其中某個情感色彩強烈的詞語單拎出來判斷其情緒元素都是不合理的。一個句子並不是孤立存在的,它有其特定的語境,其含義也會隨著語境的變化而變化。
將評論放入完整的語境中去判斷其情緒色彩,或許會大大提升判別的準確率。但造成 30% 這麼高的失誤率可不僅僅隻是“斷章取義”,其中還有更深層次的原因。
“我們的梗 AI 不懂”
除語境會幹擾數據集判別之外,文化背景也是一個非常重要的因素。
大到國傢地區,小到網站社群都會有其內部專屬的文化符號,這種文化符號圈層之外的人很難解讀,這就造成一個棘手的問題:若想更準確地判斷某一社區評論的情緒,就得針對性地對其社區進行一些數據訓練,深入解整個社區的文化基因。
在 Reddit 網站上,網友評論指出“所有的評分者都是以英語為母語的印度人”。
這就導致會對一些很常見的習語、語氣詞及一些特定的“梗”造成誤解。說這麼多,數據集判別失誤率這麼高的原因也就顯而易見。
但與此同時,提高 AI 判別情緒的精確度也有清晰的方向。例如博主也在這篇文章中就給出幾條建議:
首先,在對評論貼標簽時,得對他所處的文化背景有深刻地理解。以 Reddit 為例,要判斷其評論的情緒色彩,要對美國的一些文化、政治理解透徹,並且還要能夠迅速 get 到專屬網站的“梗”;
其次,要測試標簽對一些諷刺、習語、梗的判別是否正確,確保模型能夠整整理解文本的意思;
最後,核查模型判斷與我們真實判別,以做出反饋,更好地訓練模型。
One More Thing
AI 大牛吳恩達曾發起過一項以數據為中心的人工智能運動。
將人工智能從業者的重點從模型 / 算法開發轉移到他們用於訓練模型的數據質量上。吳恩達曾說:
數據是人工智能的食物。
用於訓練數據的好壞對於一個模型也至關重要,在新興的以數據為中心的 AI 方法中,數據的一致性至關重要。為獲得正確的結果,需要固定模型或代碼並迭代地提高數據質量。
……
最後,你覺得在提高語言 AI 判別情緒這件事上,還有什麼方法呢?
歡迎在留言區討論~
參考鏈接:
[1]https://www.reddit.com/r/MachineLearning/comments/vye69k/30_of_googles_reddit_emotions_dataset_is/
[2]https://www.surgehq.ai/blog/30-percent-of-googles-reddit-emotions-dataset-is-mislabeled
[3]https://mitsloan.mit.edu/ideas-made-to-matter/why-its-time-data-centric-artificial-intelligence