본문 바로가기

deeplearning

Conversation Model Fine-Tuning for Classifying Client Utterances in Counseling Dialogues (Sungjoon Park et al., 2019)

 

Conversation Model Fine-Tuning for Classifying Client Utterances in Counseling Dialogues(Sungjoon Park, Donghyun Kim, Alice Oh)는 2019년 NAACL에 게재된 논문이다.

 

 

1) Abstract

 

최근 텍스트 기반의 온라인 카운셀링이 발달하면서 전문 상담가와 환자의 대화 데이터를 수집 및 분석할 수 있게 되었으며, 이 데이터를 기반으로 환자의 말을 특정 의미있는 카테고리로 분류하는 모델을 만들면 상담가의 상담을 도와줄 수 있다.

이 논문은 이를 위해

1. 상담가와 환자의 대화를 얻었다.

2. 전문 상담가가 환자의 말을 의미있는 카테고리로 분류하였다. 

3. ConvMFiT이라는 사전학습된 대화 모델을 제안했으며, 이 모델은 다른 SOTA text classification 모델모다 높은 성능을 보였다.

 

 

 

 

2) Introduction

 

특정 정신 질환들은 정신과 상담을 통해 효과적으로 치료가 가능하다.

하지만 환자들이 시간, 돈, 감정의 벽, 사회적 낙인 등으로 인해 대면 상담을 꺼리는 경우가 존재한다.

최근 기술의 발달은 이를 해결하려고 노력하고 있으며, 그 중 하나는 전문 상담가가 진행하는 text 기반 온라인 상담 서비스이다.

text 기반 상담의 경우 대면 상담처럼 비언어적 신호를 읽을 수 없으며 입을 통하는 발화가 아니기 때문에 기존의 상담과는 다르다. 

이 논문에서는 text 기반 상담임을 인지하면서 환자의 말을 상담가의 관점에서 분석하고 Cognitive Behavioral Theory(CBT)의 관점에서 분류를 진행한다.

 

 

 

 

3) Categorization of Client Utterance

 

text only 이기 때문에 이에 맞는 카테고리 제안

CBT를 기반으로 해서 40개 이상의 카테고리(emotion/positive, emotion/negative, hope 등)를 만들고 이를 기반으로 상위 카테고리 5개를 만듬

 

 

 

4) Dataset

 

1. 상담 대화(counseling dialogue)은 일반 대화(general dialogue)의 차이점

- 말하는 사람 별로 구분된 역할이 존재한다

상담 대화는 긍정적인 상담 결과를 이끌어 내고자 하는 목적이 있으며 두 대화자는 구분된 역할을 가진다. 환자는 자신의 마주한 문제에 대해 이야기하기 위해 이에 대한 객관적 정보와 주관적 경험 및 감정을 상담가에게 알린다. 그러면 상담가는 환자와 치료적 관계를 구축하고 정신적 변화를 이끌어 내기 위해 전략을 세운다.

 

- 서로 순서를 가지고 여러번 대화하며, 자신의 순서에 여러번 말한다

말(utterance)이 한 개의 말풍선일 때 상담가와 환자는 서로 순서를 가지고 여러 번 말한다. 특히 환자의 말은 중요한 정보를 담고 있다.

 

 

 

2. 데이터 수집 및 레이블링

Korean text-based online counseling platform Trost (https://www.trost.co.kr/)

1448 counseling dialogues

다섯 명의 상담전문가가 랜덤 100 dialogues에 대해 5개의 카테고리로 레이블링 진행(환자만 레이블링의 대상)

모든 환자의 utterance에 레이블링을 진행하며 하나의 utterance에 information이 존재하면 2개의 레이블이 달릴 수 있다.

 

 

 

3. 전처리

구두점(punctuation)과 이모티콘(emoji)는 카테고리를 나누는 데에 도움이 될 수 있으므로 삭제하지 않고 분리된 토큰으로 이용한다.

아래의 그림처럼 레이블링된 대화에서 트리플을 구축한다.

(상담가의 말<파랑>, 환자의 말의 맥락<초록>, 환자의 target utterance<노랑>)

 

5) 모델

 

ConvMFiT(Conversation Model Fine-Tuning)

사전학습한 seq2seq 기반 대화 모델을 기반으로 환자의 말을 분류하고자 함

100개의 레이블된 대화는 딥러닝을 학습하기에 충분히 크지 않다.

따라서 이를 해결하기 위한 자연어 사전학습 모델(Ramachandran et al., 2017; Howard and Ruder., 2018)을 이용한다.

즉, ULMFiT(Howard and Ruder., 2018)을 현 테스크에 맞게 수정하고 Fine tuning한 모델이 이 논문에서 제안하는 ConvMFiT이다. (brunch.co.kr/@learning/13에 본 논문 저자의 ULMFiT에 대한 설명이 있다.)

 

레이블링 되지 않은 상담 대화(in-domain)와 일반적인 대화 코퍼스(out-of-domain)를 사전학습으로 이용해 학습시키고 전이학습한다.

위와 같이 대화 모델을 임베딩한 사전학습된 seq2seq 위에 task specific feature를 잘 찾아내기 위한 추가적인 seq2seq 레이어를 올리고, 모델의 해석적 능력을 위해 Attention 레이어를 추가했다. 그리고 마지막으로 분류를 위한 레이어를 스택한다.

 

모델의 구성요소

1. Word Vectors (FastText)

한국어의 특성에 맞는 워드벡터를 이용(Park et al, "Subword-level word vector representations for korean", 2018)했으며, 이는 한국어 위키피디아, 온라인 뉴스, 세종코퍼스로 학습됨

 

2. Pre-trained Language Models(LMs) - 사전학습된 언어 모델

환자와 상담가는 서로 다른 역할을 가지기에 서로 다른 언어 모델을 가진다고 가정한다.  따라서 상담가 언어 모델(counselor language model)과 환자 언어 모델(client language model)은 따로 학습된다.

상담가와 환자의 언어 모델을 별도로 학습한다. 여기서는 레이블링 되지 않은 상담 대화록 1348개를 이용한다. 두 언어 모델은 동일한 구조를 가지지만, 상담자의 언어 모델은 대화록에서 추출한 모든 상담가의 말을 통해 학습되며, 환자의 언어 모델은 나머지인 모든 환자의 말을 통해 학습된다. 각 언어 모델은 3개의 LSTM 레이어를 가진다. 학습이 끝난 뒤 다음 단어를 예측(Next Word Prediction)하기 위해 사용했던 Softmax레이어는 제거되고 나머지 부분이 다음 단계에 사용된다.

 

3. Pre-trained Conversation Model - 사전학습된 대화 모델

앞선 단계에서 학습된 상담자 및 환자의 언어모델을 조합한다. 각 언어 모델 위에 Seq2Seq레이어(각 2개의 LSTM)가 추가되고, 이 대화모델은 주어진 상담자의 발화를 보고 환자의 발화가 무엇이었는지를 예측하는 대화모델로서 학습된다. 즉, 상담자의 언어 모델이 인코더, 환자의 언어 모델이 디코더로 기능한다. 이 대화 모델의 학습이 끝나면 환자의 발화를 생성하는 데에 사용된 Softmax레이어는 제거되고 나머지 부분이 다음 단계에서 사용된다.

 

4. Task Specific Layers

사전학습된 대화 모델 위해 Seq2Seq레이어(2개의 LSTM 레이어)와 Attention레이어, 분류를 위한 Softmax 레이어가 추가된다. 그리고 sigmoid function을 이용해 각 utterance에 information 레이블이 추가 되었는지 확인한다. information이 있으면 information을 포함한 추가 레이블이 달릴 수 있다는 의미다. 

마지막에 학습되는 분류레이어는 100개의 레이블링된 데이터이며 Gradual Unfreezing 기법을 이용한다. 이는 처음부터 모든 레이어를 한 번에 학습하는 것이 아니라, 분류 레이어와 가까운 레이어부터 순차적으로 학습하는 것이다. 따라서 학습 초반에는 사전 학습된 모델 부분은 weight 갱신이 되지 않는다.

 

 

6) 결과