Symptom Identification for Interpretable Detection of Multiple Mental Disorders (EMNLP, 2022)

Eun·2023년 5월 9일
READING POINTS
모델은 뭐 사용했는지
우리 베이스라인으로 사용할 수 있는지?
우리 연구가 어떤 부분이 더 좋은지 등 위주로 읽어보기!

✔︎ Background

소셜 미디어의 정신 질환 감지에 대한 관심이 높아지고 있다. (Coppersmith et al., 2015; Cohan et al., 2018).

✔︎ Limitation

소셜 미디어의 정신 질환 탐지는 증상 모델링의 부족으로 인해 일반화 가능성과 해석 가능성이 낮다.
기존 연구 한계점들

  • 일반화 실패
    특정 단어와 질병 라벨 사이의 잘못된 상관관계를 학습할 수 있다.
  • 블랙박스 모델
    DSM-5와 같은 증상 기반 진단 기준을 활용하는 임상과 다르다.
    따라서 딥러닝 모델의 결과는 사용자의 신뢰를 얻기 힘들다.
  • 지도 학습을 위한 대규모 annotation copus가 없음
    unsupervised/weakly supervised 방식으로만 symtom feature를 추출할 수 있어서 추출된 feature의 품질 보장이 어렵다.
  • 대부분 task는 우울증 탐지에만 초점을 맞추고 있다.

✔︎ Method - 해결 방안

많은 정신 장애가 유사한 증상을 공유하기 때문에 여러 질병의 증상을 공동으로 모델링하면 모든 계층의 성능을 향상시킬 수 있다.

PsySym 제안

: first annotated symptom identification corpus of multiple psychiatric disorders

  • 7가지 정신 질환과 관련된 38가지 증상 클래스의 지식 그래프와 다양성 및 품질을 위한 새로운 annotation framework에 따라 annation이 추가 된다.
  • 소셜 미디어 게시물(8,554개 Reddit)을 기반으로 한다.
  • DSM-5의 진단 기준을 기반으로 한다.
  • (키워드 매칭 대신) embeddingbased retrieval methods (Reimers and Gurevych, 2019)을 활용하여 annotation을 할 후보 문장을 선정한다.

symptom-assisted MDD 프레임 워크 제안

PsySym에서 모델을 훈련하여 MDD의 symtom feature를 추출한다. BERT를 능가했다.

MDD에 대한 증상 식별의 해석 가능성을 탐색한다. DSM-5 준수 설명을 합리적으로 제공할 수 있다.
이를 활용해서 MDD 데이터세트에서 잘못된 레이블을 찾는데 도움이 될 수 있다.

✔︎ Contribution

  1. 최조의 다중 정신 질환의 소셜 미디어 기반 증상 식별 데이터 세트인 PsySym을 구축함
  2. PsySym 훈련 모델에서 추출한 기능을 활용하고 baseline을 능가하는 symptom-assisted MDD를 제안함
  3. 증상에 의한 MDD의 직관적인 해석 가능성 확인 및 활용

✔︎ Data

Disease-Symptom Knowledge Graph
데이터를 구성하기 전에 annotation할 질병과 증상을 먼저 결정해야 한다.
MDD의 downstream 적용을 고려하여 SMHD dataset (Cohan et al., 2018)에서 사용되는 7가지 질병을 선택한다.

  • Depression, Anxiety, ADHD, Bipolar Disorder, OCD, PTSD, Eating Disorder

DSM-5 내에서 이러한 질병의 진단 기준에 사용되는 증상을 찾는다.
최종 지식 그래프에는 45개의 노드(7개의 질병, 38개의 증상)와 162개의 엣지가 존재한다.

그래프 구성 방법

  • 이때, DSM-5는 자연어로 표현되고 유사한 증상은 뉘앙스의 차이가 있기 때문에 유사한 증상 표현을 하나의 표준화된 클래스로 수동 병합하고 표현을 자세한 설명(하위 증상)으로 저장한다.
  • bipartite Knowledge Graph (KG)로 구성한다.
  • 대표적인 임상 설문지를 활용하여 KG를 보완한다.
  • 각 질문/항목에 언급된 증상을 표준 클래스로 병합하고 그러한 엣지가 발견되지 않는 경우 대상 질병과 측정된 증상 사이의 링크를 추가한다.
  • 이때 자폐증과 정신 분열증에 대한 샘플을 찾기가 어려워서 제외 (근데 표 5의 실험은 9개 질병에 대해 실험함)

Annotation Candidates Retrieval
1. 정신건강 관련 하위 레딧에서 후보자만 선택
2. 임베딩 기반 검색을 활용하여 후보자 선택
1. Sentence-BERT를 사용하여 레딧 post sentences와 KG의 symptom descriptions을 임베딩으로 인코딩한다.
2. 두 임베딩 사이의 코사인 유사도를 계산하고 모든 증상의 하위 증상과 최대 유사도를 사용하여 증상에 대한 문장의 관련성을 추정한다.

Annotation Design
단순히 증상의 유무를 판단하기 보다는 더 유익한 분석과 downstream task의 향상을 위해 annotation을 두 가지 task로 나눴다.

  • 관련성 판단 (relevance judgment)
    • annotator는 문장이 주어진 증상과 관련이 있는지를 판단한다.
  • 상태 추론 (status inference)
    • annotator는 관련 증상이 있는지 여부를 결정한다.
    • positive/negative 상태를 “True”/”Uncertain”으로 명명한다.

  • annotation 과정
    • 크라우드 소싱하기 전에 직접 사전 주석을 수행
    • 주석 작업 대기열을 질병별로 분리
    • KG에 따라 질병의 전형적인 증상으로만 제한
      → 비정형 증상에 영향이 있을수도 있지만 주석 효율성과 일치도를 크게 향상
    • 3명의 annotator (정신과 의사 / 교육된 자원 봉사자)
  • annotation 평가 과정
    • 31명의 지원자를 모집하여 주석에 대한 평가 진행
    • 8,554개 문장과 주석 제공
    • Fleiss’s κ for the relevance judgement of all 38 symptoms is 0.7708, and the κ of status inference is 0.2518

정신 질환과 관련이 없는 게시물(control posts)를 포함해서 총 83,779개 문장

Disease Detection Dataset
SMHD의 데이터 수집 방법을 재구현하여 데이터 세트를 구성한다.
두 가지 요소의 패턴 매칭을 통해 진단된 사용자를 찾는다.
1. 자가 보고 진단
2. 키워드를 9가지 정신 질환에 매핑
5,624명의 진단 사용자와 20,891명의 control 사용자로 구성

✔︎ Model

BERT ← 768-dim embedding & symptom
CNN ← MDD

Symptom Relevance Judgment

  • Loss Masking
  • Label Enhancement
    • twostage trainings: teacher model & student model

BERT based encoder를 사용하여 sigmoid activation으로 모든 증상의 확률을 예측하고 binary cross entropy로 모델을 훈련

Symptom Status Inference
single-label binary classification problem → 주석 불일치 발생
따라서, label을 0, 1/3, 2/3, 1로 변경, non-binary label
BERT based encoder를 사용하여 sigmoid activation, cross entropy loss로 모델을 훈련

Mental Disease Detection
PsySym의 예측 확률을 추출된 증상 특징으로 활용
symptom features를 향상 시키기 위해 subject & status feature도 사용

  • subject feature
    포스트에서 언급한 증상이 자신에 대한 것인지를 나타내는 이진 변수
    타인에 대한 언급이 더 많으면 0 아니면 1

  • status feature
    증상이 존재하는 상태 추론 모델의 예측 확률

Reweighting 접근법을 사용하여 symtom feature를 사용함

CNN of various kernel sizes, proposed by Nguyen et al. (2022)

✔︎ Experiments & Analysis

train:val:test = 5:1:4

Symptom Relevance Judgment

  • TFIDF + logistic regression
  • pre-trained BERT
  • pre-trained Mental BERT

control post 없이 실험

  1. 각 질병에 대해 따로 학습해서 모델 구축
  2. 하나의 모델로 7개 질병 분류

loss mask와 label enhance를 적용하면 성능 향상
multi disease data의 동시 모델링 관련성 판단 성능을 향상 시키는데 도움이 된다는 가설 입증

Symptom Status Inference

Mental Disease Detection

텍스트만 활용한 방법과 비교
진단 사용자와 control 사용자를 구분
9가지 질병에 대한 평균 F1 score
reweighting이 효과적임

Case Study on Interpretability
Table 3
강박장애가 있을 것으로 예상되는 환자의 경우 reweighting한 증상 모델이 모든 강박 증상을 찾을 수 있기 때문에 진단을 정당화 할 수 있다.

Tabel 4
해당 증상의 병력이 거의 없거나 전혀 없는 경우 잘못 표시된 질병을 쉽게 찾아 제거할 수 있다.

✔︎ Conclusion

Future works & limits

  • 게시글만 보고 annotation을 할 수 없는 유형의 증상
    • ex) 환각 같은 경우 타인의 관찰을 통해 증상을 판단
  • Reddit 플랫폼의 한계
    • 성인 사용자가 주를 이루기 때문에 어린이에게 자주 나타나는 자폐증과 ADHD 증상은 잘 나타나지 않음
  • 텍스트 이외의 양식에서 나오는 신호
    • 게시 시간 패턴 → 불면증
    • 사용자의 자아 중심 네트워크 feature → 사회적 관계의 문제
    • 게시된 이미지의 얼굴과 색상 등 → 우울증
    • 동영상이나 소리 활용
profile
A-I Can do anything

0개의 댓글