온라인 커뮤니티에서 고위험군 사용자 탐색하기
공공보건에서 정신건강은 매우 중요한 분야입니다. 그 중에서도 특히, WHO에 따르면 우울증은 전 세계에서 3억 5천명이 앓고 있는 질환이라고 보고되었으며, 미국 성인 전체 인구의 7% 가량이 경험한 적이 있다고 합니다. 이와 더불어, 심각한 우울증으로 인한 자살과 자해(self-harm)는 미국 사회의 주요 사망원인이 될 뿐만 아니라, 환자 주변인들에게 심각한 정서적, 신체적 피해를 입힙니다.
우울증으로 고통받는 이들은 온라인 커뮤니티 및 SNS를 통해서 자신이 겪고 있는 문제를 표출하거나 도움을 요청하기도 합니다. 그렇기 때문에 온라인 상에 게재되는 포스팅들은 이러한 문제를 겪고 있는 사람들이 어떤 언어를 사용하는지 연구할 수 있는 적합한 매체가 됩니다. 이번 글은, 이러한 점에 착안하여 기계학습 알고리즘을 이용해 온라인 커뮤니티 및 SNS 게시글에서 나타나는 언어적 패턴을 학습하여, 우울 및 자해 위험에 처한 고위험군 사용자를 효과적으로 찾은 연구를 소개하고자 합니다. 이 연구는 미국의 조지타운 대학교 컴퓨터공학부와 독일 막스 플랑크 연구소의 공동 연구결과입니다.
일견 심각한 우울증을 겪고 있거나 자해 위험에 노출된 이들은 어떠한 형태의 사회적 활동도 하지 않을 것이라고 생각할 수 있지만, 이는 사실이 아닙니다. 자신이 겪는 어려움과 관련된 이야기를 나눌 수 있는 온라인 포럼(forum)은 우울증을 겪는 이들이 자신의 이야기를 나누고 정신건강과 관련한 사회적 지지 얻을 수 있는 곳입니다. 이들은 이러한 커뮤니티에서 활동하는 이유는 분명합니다. 일련의 연구에 따르면 자기표현(self-expression)과 사회적 지지는 개인의 마음의 상태(state of the mind)에 긍정적인 영향을 미친다고 알려져 있기 때문입니다.
이러한 지지적 포럼(support forum)의 운영진(moderator)중 일부는 정신건강 전문가, 혹은 교육받은 자원봉사자가 참여하고 있으며, 이들의 주요 역할 중 하나는 포럼 이용자의 게시글을 모니터링 하다가, 어떤 이용자가 지금 위험한 상황에 처했다고 판단되면 즉시 도움을 제공하는 것입니다. 이러한 포럼이나 온라인 커뮤니티에서 전문가가 적절한 시점에 개입(intervention)하여 비극적 결과를 예방하는 것은 매우 중요한 일입니다. 하지만, 안타깝게도 매일 수 천, 수 만 개의 글이 올라오는 초대형 커뮤니티, 더 나아가 일반적으로 사람들이 많이 사용하는 SNS상에서는 전문가가 직접 일일이 모든 포스팅을 직접 읽어보고 위험을 감지하는 현실적인 어려움이 따릅니다.
이러한 어려움은 기술적으로 해결될 수 있습니다. 방법은 간단합니다. 인공신경망 알고리즘을 이용해 SNS 이용자들이 올린 포스팅을 분산표상(representation)으로 나타내고, 이를 바탕으로 게시글을 작성한 이용자가 위험군인지 아닌지를 판별하는 분류기(classifier)를 학습하는 것입니다. 이 연구에서는 여기서는 크게 우울증(depression)을 겪는 이용자과 자해 위험(self-harm)에 처한 이용자를 판별하는 분류기를 각각 학습하였습니다.
먼저, 연구에 이용된 자료를 소개하겠습니다. 우울성향 여부를 판별하는 분류기 학습을 위해서 연구진은 2006-2016년 사이에 작성된 레딧(Reddit)의 공개적으로 활용가능한(publicly available) 데이터를 이용했습니다. 약 10년 간의 게시글 전체 자료 중에서, 자신의 임상적 진단에 대해 직접적으로 언급한 이용자( e.g., “I was just diagnosed with depression” )들의 게시글을 골라냈습니다. 이에 대한 대조군으로써는 임상적 진단을 언급한 적이 없는 일반 이용자의 게시물이 포함되었습니다. 최종 데이터셋에는 107,000명의 이용자들의 게시글이 포함되었고, 이 중에는 9,000여명의 우울증을 겪고 있는 이용자가 포함되었습니다. 한편, 자해 위험을 판별하는 분류기 학습을 위해서는 관련 온라인 포럼(Reach.out) 의 게시물이 이용되었습니다.
주의할 것은, 이러한 데이터셋은 매우 민감한 내용을 포함하고 있으며, 연구진은 이를 충분히 인식하고 있었습니다. 연구에 사용된 데이터셋은 개인정보 관련 이슈가 없는, 누구나 접근가능한 대중에게 공개된 게시글만을 포함하였으며, 포스팅을 게재한 이용자 정보는 익명화 되었습니다.
연구진이 사용한 알고리즘은 위 그림처럼 단순합니다. 먼저 한 명의 이용자가 작성한 여러 개의 포스팅은 합성곱(convolution) 레이어와 풀링(pooling) 레이어 거칩니다. 합성곱 레이어의 필터들은 학습을 거치며, 각각의 게시글에 포함된 특정한 언어적 패턴의 등장 여부를 학습하게 될 것 입니다. 이렇게 모든 포스팅은 합쳐져서 어떤 이용자의 분산표상(representation) 벡터로 변환됩니다. 변환된 벡터는 몇 개의 모두연결된(fully-connected) 레이어를 거쳐서, 최종적으로 이 이용자가 우울증을 겪고 있는지를 판별하게 됩니다. 자해 위험 여부를 판별하는 모델 또한 동일한 아키텍쳐를 가진 모델에서 학습되었습니다.
실험 결과, 우울 성향을 판별하는 모형의 경우, 정밀도(precision)는 0.59, 재현율(recall)은 0.45를 기록하였으며, 이를 종합하는 F1-score는 지금까지 제안되었던 방법론보다 더 높은 성능이었습니다. 다만, 이는 현실에 적용하기에 충분히 높은 성능은 아니었는지 연구진은 이에 대해 후속 연구가 필요하다고 기술하고 있습니다. 반면, 자해 위험을 판별하는 모형은 실제로 적용가능한 수준의 정확도를 보였는데, 긴급한(urgent) 도움을 필요로 하는 이용자를 97~98%의 정확도로 예측하였으며, 위험군(flagged) 이용자에 대해서도 96%의 분류정확도를 보였습니다.
이러한 접근법은 다음과 같은 의의를 가집니다. 대량의 데이터를 확보하여 기계학습 알고리즘을 적용하면, 우을증과 그로 인한 자해(self-harm)로 고통받는 이들이 온라인 상의 게시글로써 표현하는 도움의 요청을 빠르고 정확하게 찾아낼 수 있다는 것을 의미합니다. 이러한 작업을 전문가를 동원하여 사람이 직접 진행할 경우 하루에 처리할 수 있는 게시물의 양은 적지만, 알고리즘은 초당 수천 개의 포스팅을 읽고 처리할 수 있기 때문에 이는 곧 확장가능한(scalable)한 접근법입니다. 더 나아가, 학습된 인공신경망을 탐색하여 어떠한 언어적 표현을 기준으로 이러한 포스팅 혹은 이용자가 위험에 처했다고 판단하는지를 살펴보면, 이는 임상심리학 연구 및 정신언어학(psycholinguistics) 연구에도 기여할 수 있을 것입니다.
그러나 이러한 방법이 갖는 한계 또한 분명합니다. 알고리즘은 기존에 학습된 패턴을 기반으로 예측을 수행하기 때문에, 학습된 패턴이 아닌 포스팅에 대해서는 이러한 예측이 어려울 것임은 자명합니다. 또한, 일반적으로 기계학습 알고리즘은 대량의 데이터가 필요하기 때문에, 수 만 단위의 데이터셋이 갖추어지지 않으면 유용한 어플리케이션을 만들어내기 어렵다는 단점이 있습니다. 그럼에도 불구하고, 이러한 단점은 학습덴 모델이 예측하는 결과에 대해 지속적으로 전문가의 피드백을 제공함으로써 알고리즘의 성능을 향상시킬 수 있을 뿐만 아니라, 규칙기반(rule-based) 접근법을 결합하여 좀 더 적은 데이터에 대해서도 이러한 방법을 효과적으로 적용할 수 있을 것으로 기대합니다.
이 글은 자연어처리 분야의 국제 컨퍼런스 중 하나인 EMNLP (Empirical Method of Natural Language Processing) 에서 올해 발표된 논문들 중에서 최우수상(best paper award)을 받은 “Depression and Self-Harm Risk Assessment in Online Forums” 의 번역 및 요약입니다.
글 : 박성준 (Research Engineer)
휴마트컴퍼니는 정신건강과 관련한 다양한 기술, 서비스와의 제휴 및 협업에 열려 있습니다.
trost@hu-mart.com
[참고문헌]
Yates, A., Cohan, A., & Goharian, N. (2017). Depression and Self-Harm Risk Assessment in Online Forums. In Proceedings of the Conference on Empirical Methods in Natural Language Processing (EMNLP 2017)