2017年11月7日 星期二

小筆記 – 利用社群媒體資料研究精神疾病



你是否曾想過有一天,在臉書上面公開說話,就等於把自己的精神狀態昭告天下,而且電腦還會默默給你貼上某個標籤?

這次精神醫學年會,我最有興趣的就是「機器學習在精神醫學的應用」,所以很認真做了筆記。以下是清大資工陳宜欣副教授主講的「利用社群媒體資料研究精神疾病」,帶給我幾個啟發。



與時俱進


陳老師的研究歷程,原本是做資料探勘,和精神醫學沒有關聯。

然而,她堅持不受業界影響,致力於免費數據的研究,在資料來源方向與時俱進。一開始做的資料是 wikipedia、delicious、search engine 資料的研究,後來有些資料被關閉,就轉向目前較好的資料,如 twitter、facebook、plurk、ptt 等等。

研究主題也是與時俱進。因為人們會在社群網站上談自己的經驗,於是可以從這些文字來做「情緒分析」,做了幾年之後,發現情緒的變化,可以用來研究特定的精神疾病:「躁鬱症」,於是有了更大的社會意義。對精神疾病的偵測,不良後果 (例如自殺) 的預防,都有很大的潛力。

與時俱進的概念還包括:群眾外包 (crowdsourcing)。這是一種利用大量網路用戶,取得特定服務和想法的模式。雖然我們沒有錢去聘請許多人,提供大量有關精神疾病的想法和資料,但是透過這種群眾外包的概念,我們可以從免費的社群網站資料中,獲得群眾智慧。

老師舉了一些例子,譬如人們可能在 school day again 後面加上一個 #sad 標註。我們把大量的「#sad」標註收集起來,會發現許多原本沒想到會跟「難過」有關的語句、經驗、情境。甚至在得到許多這些句型之後,可以比「情緒詞典」更好地判斷一個人的情緒狀態。


機器學習應用到精神醫學,產生社會意義

克服障礙


使用社群媒體資料,來做精神疾病研究時,有三個障礙:

(1) 如何從線上確認出病患(真的是病患)?
(2) 如何有效收集病患資料(哪個社群有病患資料)?
(3) 選擇偏誤 (某人經由資料判定為病患,但他可能其實是個醫療人員,常常在談那些病名)

要收集最多病患的資料,可以去很多治療師、很多病友出沒的粉絲專頁 (我找到的 https://twitter.com/bipolar_blogs 就有上萬人追蹤),從「追蹤者」去收集。而陳老師除了撈資料以外,也用「人工方式」再確認網路帳戶的資料是否真的自稱為病患(或是醫療人員)。當然這和醫師診斷出來的病患,還有一定的差距,所以需要和更多精神科醫師合作,取得更好的資料。

其他部份就是「特徵萃取」(language model、LIWC、pattern of life、emotional score、social feature、age、gender......等等)、「機器學習模型」(SVM, neural network......等等)分析的過程。

總而言之,老師做出來的模型,使用愈多特徵(加上生活模式、熬夜、詞彙發聲能量等等)來做預測,就可以愈精準;而且在判斷是病患還是醫療人員的表現上,優於過去的「病人詞彙模型 (character n-gram language models, CLM)」。再考慮到時間點的因素,以發病前兩個月內的這些資料來預測最精準。

這裡又有一個障礙要克服。因為做出來的模型,如果醫療人員根本無法取得資料,也沒有用。所以老師把模型簡化,只要醫師能要求病人寫一篇文章,用文章當中的情緒詞彙、詞彙發聲能量、加上病人的性別年齡,就可以做出很好的判斷。


精益求精


強者我同學(也是精神科醫師)就說了,他看臉書也可以大概判斷那個人有沒有發病啊 ~

機器機師 vs. 人類醫師,dochi?所以陳老師也去研究,機器判定的發病與否,和醫師判定的發病與否,是否一致。

老師先用機器判定三種狀態:「病人發病期」、「病人穩定期」、「非病人的一般時期」。然後拿這些社群網站資料,去請多位精神科醫師做判斷。結果......

如果嚴格要求「機器」跟「三位精神科醫師」一致的話,在「沒發病」(病人穩定期、非病人的一般時期) 的時候意見的確都是一致的;但是對「病人發病期」就意見不合,一致比率只有「四成」左右。

如果「料敵從寬」,看看「機器」是否跟「一位精神科醫師」有一致意見,這時候對「病人發病期」的意見一致比率就增加到「八成」左右,敏感度增加。

敏感度高,所以說,做為一個公衛篩檢工具,應該蠻有潛力的。



我的啟發


首先,我感覺「隱私」和「學術研究」似乎有一點兩難。這些隱私資料,如果好好運用,提前、精準偵測 (甚至預測) 到精神的變化,讓大家能多多關心協助,應該是件好事。但如果隱私資料過度揭露,讓人們在社群網站上的一言一行 (經過強大的機器分析之後) 完全曝露出他的精神狀態,甚至給他貼上標籤、增加社會對他的歧視。這就是壞事了。

其次,我覺得在中文世界中,似乎自稱、自介、自述有躁鬱症的網民並不那麼常見。如果拿中文的社群媒體資料來做分析,或許找到的其實是一群「喜歡述說自己」的小族群,只佔了真正「病友」族群當中的一小部份?另外在社群網站上,醫師和自己的病患不太會互相加好友交流,以避免雙重關係,也就是說活躍跟病友互動的醫師,可能也是少數族群?

最後,對於陳老師這一系列研究,我蠻希望看到精神科醫師們能夠主動去瞭解這些機器學習工具、積極合作、好好利用 (反正人工智慧就是已經來了啊)。我認為,雖然人類棋手提供棋譜之後,現在已經完全輸給人工智慧,但人類醫師提供資料給機器,倒不一定會迎來醫師這個行業的滅亡。

就讓機器做機器擅長的事,我們去做我們可以發揮的事吧。




相關參考文獻:

Chang, C. H., Saravia, E., & Chen, Y. S. (2016, August). Subconscious Crowdsourcing: A feasible data collection mechanism for mental disorder detection on social media. In Advances in Social Networks Analysis and Mining (ASONAM), 2016 IEEE/ACM International Conference on (pp. 374-379). IEEE.

Coppersmith, G., Dredze, M., & Harman, C. (2014). Quantifying mental health signals in twitter. In Proceedings of the Workshop on Computational Linguistics and Clinical Psychology: From Linguistic Signal to Clinical Reality (pp. 51-60).

Saravia, E., Chang, C. H., De Lorenzo, R. J., & Chen, Y. S. (2016, August). MIDAS: Mental illness detection and analysis via social media. In Advances in Social Networks Analysis and Mining (ASONAM), 2016 IEEE/ACM International Conference on (pp. 1418-1421). IEEE.