NL-080, Towards Empathetic Open-domain Conversation Models: a New Benchmark and Dataset (2019-ACL)
■ Comment
- 이 논문은 기본적으로 Empathetic-Dialogues (ED) 데이터에 관련된 논문으로 ED 데이터를 이해하는게 가장 중요한 논문이다.
- 데이터는 사람에게 특정 감정이 주어지고 그 사람이 그 감정에 맞는 상황을 구성한다. (예. 행복 -> 나는 시험을 백점 받아서 행복해!)
- 이러한 상황에서 두 명의 사람이 대화를 한다.
- 여기서 이러한 상황을 만든 사람은 (speaker) 당연히 상황을 알고 있지만, 상대방 (listener)은 이런 상황을 모르고 대화하는 것이다.
- 이런 데이터세트를 만든 이유는 일반 대화문과 달리 상대방의 감정을 이해하고 대응을 함으로써 공감적인 반응을 하는 모델을 만들 수 있다는 것이다.
- 이것으로 생성 테스크에서 성능이 올라간다고 한다.
- 이 데이터세트로 베이스라인 모델들을 학습하여 실험을 한다.
- 두 가지 접근법을 소개하는데 retrieval과 generation이다.
- retrieval은 후보 문장들 중에서 적절한 문장을 선택하는 식
- generation은 문장을 생성하는 것
- Retrieval
- 이것은 후보 문장 데이터세트가 있어야 한다.
- 논문에서는 1. ED 학습데이터 2. DAILYDIALOG 3. Reddit 총 3개의 데이터세트를 후보 문장들로 구성한다.
- 근데 실험을 보면, P@1을 측정하기 위해서 gold reference또한 포함되는 경우가 있다.
- 모델은 Transformer encoder기반으로 1) Reddit으로 pretraining, 2) BERT-base 총 두가지 weights을 pretrained 모델로 사용한다.
- Generation
- 여기서의 모델은 Transformer encoder-decoder을 사용하고 Reddit으로 pretrained 시킨 모델을 쓴다.
- Generation은 일반적으로 retreival에 비해 성능이 떨어지는 것을 보여준다.
- 나의 뇌피셜로는 매 step에서 token을 예측해야 하는 것이 아무래도 단 한번의 완성된 적절한 문장을 예측하는 것보다 어려운게 당연한 것이 아닌가 싶다.
- 대신 당연히 retreival 방법은 candidates에 의존하기 때문에 없는 문장이나 예측하지 못한 상황에서는 답변을 못하는 단점이 있을 것이다.
- prepend
- 이것은 listener 역할을 하는 모델입장에서 상대방의 (speaker) 담화를 emotion classifier을 통하여 감정을 앞에 조건으로 붙여주는 식이다.
- 당연히 emotion classifier은 사전에 학습시킨 것이고 이 방식은 style transfer하고 똑같다고 봐도 사실 무방하다.
- emotion 외에도 20-Newsgroup으로 학습시킨 topic classifier을 가져와서 활용하는 방식도 보여준다.
- 전체적으로 상당히 많은 실험을 하였으니 자세한 것은 논문의 실험부분을 쭉 보기를 권한다.
0. Abstract
- 대화 에이전트에 대한 하나의 챌린지는 대화 파트너에 대한 감정과 그에 따라서 대답하는 대화 스킬이다.
- 대화 중에 상대방의 감정을 인식하고 인정하는 것은 사람에게 있어서 간단하지만, 이것은 AI 시스템에게는 매우 중요한 챌린지이다.
- 왜냐하면 학습과 평가를 위한 공적으로 가능한 적절한 데이터세트가 없기(paucity) 때문이다.
- 이 연구는 감정 대화 생성에대한 새로운 벤치마크를 제시하고 새로운 데이터세트인 EMPATHETIC-DIALOGUES로 감정적인 상황을 기반으로한 25k 대화를 가진 데이터세이다.
- 우리의 실험은 우리의 데이터세트를 사용한 대화 모델이들은 많은 인터넷 대화 데이터로만 학습된 모델에 비해 사람의 평가자가 좀 더 공감한다는 것이다.
- 우리는 또한 공감적인 반응에 대한 대화 모델의 실험적 비교를 제시하고 기존의 모델 혹은 데이터세트를 활용한다. (전체 모델을 재학습하지는 않고)
1 Introduction
- 사람이 직면하는 대화 에이전트의 요구하는 특성은 대화 파트너에 대한 어떤 내재된 감정을 이해와 인정을 함으로써 개인적인 경험을 설명하는 적절한 반응이다.
- 이는 우리가 공감하는 반응의 스킬이다.
- 예를 들어, 그림 1에서 crossed-out 반응은 관련있게 “Congrats! That’s great!” 으로 좀 더 만족스럽다
- 왜냐하면 이는 공감하는 반응을 "성취"하는 감정을 인정했기 때문이다.
- 이 연구에서, 우리는 현재 대화 시스템으로부터 공감적인 반응 생성을 조사하고 새로운 리소스 EMPATHETIC-DIALOGUES를 이러한 스킬을 평가하는 벤치마크로 사용하는 실험을 제시한다.
- Empathetic responding은 일반적인 대화 및 칫챗 쪽으로 맞춰진 대화 시스템과 명백히 관련이 있다.
- 실제로 일상적인 소통은 자주 그들의 감정, 환경을 공유한 사람들로부터 발생한다.
- 그러나 goal-directed 대화를 분석하는 연구자들은 또한 이러한 상호 작용에서 “warm-up” 소개 또는 detour와 같은 일반적인 대화가 빈번하게 강요되는 것을 관찰했다.
- 실제로 social 대화에 참여하고 emotional cues에 반응하고 걱정하는 태도를 보이는 것은 많은 영역에서 더 나은 작업 결과와 관련이 있습니다.
- 이러한 많은 연구가 인간과 인간의 상호 작용을 다루지만 사람들은 종종 자연스럽고 사회적으로 기계와 상호 작용하는 것으로 나타났습니다.
- 따라서 dialogue 에이전트들은 empathetic responding을 통한 장점이 기대하는 것이 합리적이다.
- 가장 최근에, 강력한 언어 모델들은 방대한 양의 텍스트, 소설 미디어 대화 혹은 독단적인 책들로 학습되었다.
- 이것은 아마도 이러한 데이터의 타입으로 학습된 모델들은 인터넷 대화에서 발견되는 공격적이고 격렬한 반응을 보일 수 있다.
- 운이 나쁘게도, 칫챗 대화 벤치마크가 제안되었지만, 우리가 아는한, 대화 에이전트가 공감적인 대화를 하는지 체크하는 벤치마크는 없다.
- 이 연구는 모델의 능력이 공감적인 반응을 하는지 초점이 맞쳐져 있다.
- 우리는 새로운 대화 시스템의 테스크를 소개한다.
- 많은 범위의 감정을 커버하는 사람이 토의하는 상황에서의 응답으로 EMPATHETIC-DIALOGUES (ED)인 새로운 데이터세트로 25k 개인적인 대화를 가지고 있다.
- 각 대화는 특정 상황을 기반으로하고 speaker가 주어진 감정을 느끼고 listener가 응답하는 식이다. (그림 2)
- 새로운 리소스는 one-on-one 대화로 크라우드소싱으로 구성되고 밸런스있는 감정의 큰 셋으로 되어있다.
- 이 데이터세트는 많은 비슷한 emotion prediction dataset보다 크고 광범위한 감정을 담고 있다.
- 비슷한 데이터세트: other text domains such as Scherer and Wallbott (1994), Strapparava and Mihalcea (2007), Mohammad et al. (2018), and Gupta et al. (2017).
- 이 데이터세트는 논문의 결과의 메인 실험 결과를 리프로듀스한 코드와 함께 퍼블릭하게 릴리스되었다.
- 우리의 실험들은 자연히 일어나는 인터넷 대화로 학습된 큰 capacity 대화 모델들은 매우 공감적이지않게 평가된다.
- 우리는 두 개의 간단한 방법으로 우리의 데이터세트를 활용하여 다음의 모델들을 향상시킨다.
- 인퍼런스 할 때, 검색 모델에 있는 학습데이터로부터의 utteraces을 candidate response로 사용한다.
- 우리의 테스크에 대해 fine-tune 한다.
- 최종적으로는, 우리는 관련있는 테스크로부터의 정보를 결합하는 다양한 방법이 좀 더 공감적인 반응을 이끌 수 있는지 탐구한다.
- The contributions of this work are thus
- 1) we release a novel empathetic dialogue dataset as a new benchmark
- 2) we show that training over this dataset can improve the performance of an end-to-end dialogue system on empathetic dialogue.
2 Related Work
- Emotion data
- 데이터 세트를 만들려면 모델이 반응할 수 있는 감정의 세트가 무엇인지를 결정해야합니다.
- 다양한 방법은 생물학적 반응에서부터 나온 기본적인 소수의 감정(Ekman, 1992; Plutchik, 1984)에서부터 contextual 상황에서부터 추론된 많은 세밀한 감정까지 (Skerry and Saxe, 2015) 스펙트럼까지 구성하려고 시도했다.
- 우리는 어떤 상황에서 추론된 감정들이 대화 시나리오에서 중요하다는 것에 주목하면서 복수의 주석 스키마의 감정을 통합한다.
- 많은 emotion classification task의 distibutional representation 접근법의 넓은 연구가 있다.
- 이는 딥 네트워크를 큰 스케일의 공공의 소설 미디어 컨텐츠로부터(ex. 트위터) 얻어진 emojis(이모티콘) 혹슨 hashags와 같은 weakly-labelled 데이터로 pretrained되어 구축된다.
- SEMEVAL2019 EmoContext 챌린지는 또한 세 가지 기본의 감정들(기쁨, 슬픔, 화남)의 검출하는 유저의 대화 데이터를 사용한다.
- 이 데이터는 트위터의 컨텍스트의 two turns으로부터 얻어진다.
- 우리는 일대일 대화의 맥락에 더 가까워지기 위해 소셜 미디어 데이터를 이용하기보다는 개인적인 대화에 초점을 맞춘다.
- 대중 소셜 미디어 콘텐츠는 시청자가 얼마나 넓은지에 대한 불확실성과 절제된 자기표현의 필요성이 사적인 메시징에 비해 주제 선택의 차이로 이어지는 대규모 'peripheral(주변) audiences' 앞에서 발생하며, 사람들은 사적인 채널을 통해 더 강렬하고 부정적인 감정을 공유한다.
- 즉 사적인 대화와 대중 소설미디어에서 말하는 대화는 차이점이 있다는 것
- 대중 소설미디어는 대규모 주변 사람들에 의해 영향을 받기 때문에 자기를 표현하는데에 있어서 필터링이 있다는 것
- 사적인 대화는 더 강하고 부정적인 감정들을 드러낸다.
- 이 연구에서, 우리는 공공의 소설 미디어 컨텐츠에서 나타날 수 있는 균형있는 감정의 커버리즈를 보다 생성한다.
- 이 때 모든 감정에 반응할 수 있는 대화를 위한 모델의 학습이란 궁극적인 목표에 가까운 도메인을 사용한다.
- Controllable language generation (번역)
- 내가 알고 있는 부분에 대한 설명이라 번역기로 간단히..
- 다른 몇몇 작품들은 공감 반응보다는 미리 결정된 원하는 감정을 일치시키는 것에 초점을 맞춘 평가와 함께, 수동으로 지정된 대상을 통해 또는 더 높은 수준의 영향을 장려하기 위해 일반적인 용어를 통해 텍스트 응답의 감정 내용을 제어하는 데 초점을 맞추었다.
- Niu와 Bansal은 지정된 공손함 설정(폴리트, 무례 또는 중립)에 따라 응답을 생성한다. Huber는 이미지에서 감지된 감정에 어떻게 반응하는지 조사한다.
- 우리의 연구는 사전 지정된 감정을 전달하기보다는 순수하게 텍스트에서 유추된 signals에 적합한 공감적인 반응에 초점을 맞추고 있다.
- 이 부분이 핵심인거 같은데, style transfer등과 같은 많은 연구는 문장을 생성할 때, 사전에 control 하는 정보를 준다.
- 그러나 여기서는, 상대방의 텍스트로부터 그 condition을 받는 것이라 보면 될 듯하다.
- Related chit-chat data
- 많은 연구들이 좀 더 개인적인 contexts을 기반으로하는 매력적인 칫챗 대화 모델을 시도하고 있다.
- Another interesting resource is the DAILYDIALOG (DD) dataset (Li et al., 2017), which comprises about 13k dialogues obtained by crawling educational websites intended for learners of English and also has emotion label annotations.
- 많은 대화 내용은 ESL 학습자를 위한 주제(식당에서 주문, 길안내, 소개 등)에 초점이 맞춰져 있지만, 대화의 5%만 "none"이나 "happy" 이외의 라벨을 가지고 있다.
- 우리의 과제는 감정적으로 바탕을 둔 개인적인 상황에 대한 대화에 명백하게 초점을 맞추고, 더 풍부하고 고르게 분포된 감정 세트를 고려한다.
- 우리는 또한 우리가 원하는 일대일 공감 대화라는 목표에 최대한 가깝게 설정을 만들기 위해 공감하는 방식으로 묘사되고 있는 상황에 반응하고 있는 명시적인 싱글 listener를 대화에서 소개한다.
3 Talking about Personal Situations
- 우리는 두 사람이 그들 중 한 사람에게 일어난 상황에 대해 토론하고 있는, 주어진 감정과 관련된 open-domation 일대일 대화 환경을 고려한다.
- 우리는 다음과 같은 형식을 사용하여 약 25k개의 대화를 수집한다.
- Emotional situation grounding
- 각 대화는 이는 한 명이 감정 레이블와 관련하여 작성한 어떤 상황을 기반으로 한다.
- 우리는 32개의 감정 레이블을 그림 3처럼 고려하고 이는 다양한 감정 예측 데이터세트로부터 모아서 선택한 것이다 (Scherer and Wallbott, 1994; Strapparava and Mihalcea, 2007; Skerry and Saxe, 2015; Li et al., 2017; Mohammad, 2012).
- 이러한 감정 레이블들은 positive와 negative 감정들의 넓은 범위를 커버한다.
- 한 개의 감정 레이블이 주어졌을 때, 우리의 목표는 최소 한 명의 감정 경험과 매우 관련된 상황을 가지는 것이다.
- 이 때 우리는 특정 감정들은 매우 관련있거나 추가적인 감정들이 주어진 대화에 관련있을 수도 있지만
- Speaker and listener
- 상황을 설명하는 사람은 (speaker)은 대화를 시작한다.
- 다른 대화자는 (listner) speaker가 말하고 반응하는 것을 통하여 상황을 인지한다.
- Speaker and Listener은 6개 이상의 턴을 주고 받는다.
- 우리는 학습데이터에서의 두 개의 예제 대화를 그림 2에 포함하고 테이블 5에는 더 있다.
- 아래에서 논의되는 모델들은 speaker에 반응하는 listener의 역할을 테스트한다.
- speaker에 의해 작성된 상황 설명이나 감정 라벨은 모델에게 주어지지 않는다 (대화 수집 중 청취자에게 주어지지 않은 것처럼).
- 우리의 데이터는 또한 상황을 조건으로하는 speaker의 대화 생성에도 사용될 수 있으나 미래 연구로 남겨둔다.
- Collection details
- 우리는 크라우드소싱된 대화를 ParlAI 플랫폼을 사용하여 수집하여 MTurk와 상호작용하여 810 US workers을 고용했다.
- 작업자들 쌍은 다음을 요청 받는다.
- 감정 단어를 선택하고 그들이 느끼는 방법으로 상황을 설명하라.
- 아래에 설명된대로 각 상황들에대해 대화를 진행해라.
- 각 작업자들은 최소한 한 개의 상황 설명과 대화의 한 쌍에 기여를 한다.
- 한 사람은 그들이 기여한 상황에 대해 speaker로써 한사람은 다른 작업자로 상황에 기여하는 listner로 있다.
- 즉 한 사람이 감정 레이블이 주어졌을 때, 그에 맞는 상황 설명을 만들고 그 상황속에서 다른 누군가와 대화를 이어간다. (물론 그 상황은 다른 사람은 모름)
- 그들은 처음 ~ 10k 대화에 대해 원하는만큼 많은 히트에 참여할 수있게되었으며, 우리는 더 자주 활동하는 근로자를 최대 100 개의 대화로 제한했습니다.
- 작업자 1인당 대화 건수는 중 median은 8건, 평균은 61건 (일부 근로자는 다른 근로자보다 적극적 기여자가 많았다)이었다.
- 품질을 보장하기 위해, 우리는 가장 빈번한 노동자들의 무작위 대화 하위 세트를 수동으로 점검했다.
- Task set-up
- 테스크의 첫 번째 스테이지에서, 작업자들은 감정 레이블을 기반으로하는 상황에 대해 몇 개의 문장으로 설명하도록 요청받는다.
- 우리는 작업자에게 1~3 사이의 문장들 사이에서 이러한 설명들을 유지하도록 요청한다.
- 평균적인 response는 19.8 단어들을 가진다.
- 두 번째 스테이지에선, 두 명의 작업자들이 쌍을 지어 서로에게 두 개의 짧은 챗을 하도록 요청한다.
- 각각의 챗에서 한 작업자는 (speaker) 그들이 이미 설명했던 상황에 대해 대화를 시작한다.
- 다른 작업자 (listener)은 이에 응답한다.
- 다른 작업자에게 (listner) 그들이 제출했던 설명 상황 혹은 감정 레이블이 주어지지 않고, 그들은 오직 대화속 단서만을 기반으로 서로의 스토리에 응답해야만 한다.
- 각 대화는 4-8 담화의 길이가 가능하다. (평균적으로 4.31 담화/대화)
- 평균적인 담화의 길이는 15.2 단어를 가진다.
- Ensuring balanced emotion coverage
- 처음 데이터 수집을 몇 번하고 나서는, 만약 이 테스크가 첫 번째 작업이라면, 우리는 작업자들이 가장 적게 선택되었던 3개 감정 레이블들 사이에서 감정을 선택하게한다.
- 만약, 그들이 이미 테스크를 수행했었더라면, 제공된 감정 레이블들은 그들이 이전에 자주 선택했던 감정들 중에 하나이다.
- 즉 새로운 작업자에게는 데이터 수집이 안된 감정 레이블들을 준다는 것이고
- 이미 해본 작업자에게는 익숙한 감정 레이블들을 준다는 것
- 공감적 대응을 위해 훈련된 대화 모델은 비록 빈번하지 않은 감정을 다룰 수 있어야 한다는 점을 감안하여, 우리는 이러한 범주에 대한 훈련을 더 쉽게 하는 한편, 여전히 근로자들에게 선택권을 어느 정도 허용하기 위해 이 균형 조정 절차를 선택했다.
- 그림 3에서 보여주듯이, 감정 레이블의 분포는 꽤 균등하게 분포되어 있고 약간의 차이가 있다.
- EMPATHETIC-DIALOGUES dataset statistics
- 결과 데이터 세트는 810명의 다른 참가자로부터 수집된 상황 설명에 관한 24,850개의 대화로 구성되며, 이는 ParlAI 프레임워크를 통해 공개적으로 이용 가능하며, 수반되는 코드와 함께 직접 다운로드할 수 있다.
- 우리는 대화를 약 80%의 열차, 10%의 검증, 10%의 시험 칸으로 나누었다.
- 파티션 간의 논의된 상황의 중복을 방지하기 위해, 우리는 데이터를 분할하여 초기 상황 설명을 제공하는 동일한 스피커와의 모든 대화 집합이 동일한 파티션에 있도록합니다.
- The final train/val/test split was 19533 / 2770 / 2547 conversations, respectively.
- 부록 A에 있는 훈련 세트의 10가지 예를 포함한다.
4 Empathetic Response Generation
- 이 절에서는 ED가 어떻게 모델이 공감적으로 반응할 수 있는 능력을 측정하는 벤치마크로 사용될 수 있는지, 그리고 일반적인 잡담 모델을 보다 공감할 수 있는 학습 리소스으로 사용될 수 있는지를 보여준다.
- 우리는 또한 기존의 모델들이 좀 더 공감적인 반응을 생성하도록 결합될 수 있는 다른 방법들을 조사한다.
- 우리는 ED dialogues을 listener role의 대화에서 응답을 생성하는 테스크로 모델의 학습과 평가에 사용한다.
- 일반적인 대화를 모방하기 위해, 모델은 이전의 대화속의 담화를 접근하나, 감정적인 단어 (e.g. "proud")와 speaker에의해 생성된 상황 설명에는 접근하지 못한다.
- 이전 concated된 대화 담화 n개의 대화 context x와 토큰화된 x1, ... , xm과 이에 따르는 target response
가 주어지면, 우리 모델은 target response을 생성하도록 likelihood
을 maximize 하도록 한다.
- We investigate both generative and retrieval-based settings (Lowe et al., 2016) as described in Figure 4.
4.1 Base Architecture
- 우리는 기계 번역과 대화 생성 작업에서 (Jang et al., 2018; Mazare et al., 2018) 성공적인 것으로 입증된 Transformer 네트워크 (Vaswani et al., 2017)를 기반으로 한다.
- Retrieval-based
- Retrieval 기반의 셋업에서는, 모델은 candidate responses의 큰 세트 Y가 주어지고 "best"
을 고르게 된다.
- 여기서 candidates 셋이 데이터로100개가 주어져있다. (이것은 다른 데이터에서 100개를 샘플링하여 만든 것)
- 학습할 땐 배치의 문장들이 candidates라고 보는 것
- 인퍼런스할 땐, 아래에서 설명하는 3개의 데이터세트 문장들이 candidates라고 보는 것
- 우리는 먼저 retrieval Transformer 기반의 구조로 실험을 했다.
- 우리는 또한 BERT로 기본 구조로 마지막 hidden vector을
,
encodings으로 사용하여 candidates와 contexts을 인코딩한다.
- 모델은 candidate 담화를 다음의 내적을 통한 softmax에 따라서 선택한다.
- 우리는 correct candidate을 선택하는 것의 negative log-likelihood을 최소화한다.
- 학습에서, 우리는 배치의 모든 담화를 candidates로 사용하고 batch size을 512로 가져가서 모델에게 negative examples 좀 더 준다. (배치가 256으로 사용된 BERT는 제외)
- 인퍼런스할 땐, 우리는 모델이 세 가지 candidate utterances의 셋을 줘서 선택하라고 한다.
- Generative
- 생성 셋업에서는, 우리는 encoder와 decoder로 구성된 full Transformer 구조를 사용한다.
- Transformer decoder은 encoder출력을 사용하여 단어들 y의 시퀀스 예측하고 target 시퀀스
의 negative log-likelihood을 최소핟
- 인퍼런스 때는, 우리는 diverse beam search을 사용한다. (Vijayakumar et al. (2016))
- Training details
- 모델들은 dump of 1.7 billion Reddit conversations으로 부터 응답을 예측하도록 pretrain되는 식의 Transformer 구조으로부터 시작하거나 BERTbase으로부터 시작한다.
- 즉 초기 모델로 사용되는게 1. Transformer (reddit으로부터 pretrain) 2. Bert-base 가 있다.
- ED로 부터의 fine-tuning없는 Pretrained models은 "Pretrained"라고 부른다.
- 우리는 context와 response에 있는 단어 tokens의 최대 수를 100으로 제한한다.
- 많은 실험에서 사용되는 Transformer 네트워크들은 똑같은 base 아케틱쳐을 (four layers and six transformer heads) 가지고 Mazare et al. (2018)와 같은 방법으로 학습된다.
- 우리 또한 5 layers (Large로 부름) 큰 아케틱쳐를 가지고 실험을 하고 BERT retreival models은 더 긴것에 대해 학습을 한다. (Table 3 참고)
- 일단 여기서 retrieval에 있는 모델들은 encoders이고 generative 모델은 encoder-decoder 구조를 가진다.
- pretrinaed으로 명시되어 있는 것은 transformer을 reddit으로 pretrain을 한 것을 말하는 것이고
- pretrained-BERT는 BERT-base을 의미한다고 볼 수 있다.
- 즉 BERT는 encoder이기 때문에 retrieval에서는 사용되지만, generative 모델에서는 사용되지 않는 것이다.
- 모든 모델에 대해 validation 세트에서 loss가 가장 낮은 것의 버전이다.
- Transformer 모델들에서, 우리는 common-crawl data에서 fastText으로 학습된 300차원의 word embeddings을 사용하고
- BERT 모델에서는 BooksCorpus and English Wikipedia에서 학습된 768차원의 word embeddings을 사용한다. (BERT-base가 이러니까)
- 좀 더 자세한 과정은 부록 D.1에 있다.
4.2 Leveraging the Training Data from ED
- retrieval-based 모델은 candidates에 의존하게 된다.
- ED 데이터는 one-to-one으로 공감할 수 있는 지침으로 명시적으로 수집되었으며, 이는 pretraining에 사용되는 Reddit 대화 데이터와는 다르며, 이러한 도메인 candidates는 일반적인 대화 발언보다 공감적인 응답에 더 적합할 수 있다.
- 따라서 ED에 대한 fine-tuning없이 pretrained retrieval-based 모델에 의한 인퍼런스에 사용되는 pool에 ED training candidates를 통합하는 실험을합니다.
- 즉 답변의 candidates에 ED training candidates을 추가했다는 것인데, ED 데이터세트가 공감적인 문장들이 많기 때문이다.
- retrieval-based와 generative 모델들에서, 우리는 또한 pretrained 모델들을 fine-tuning을 하여 4개의 이전의 utterances의 context로부터 next utteracne을 예측하는 실험을 한다.
- 이는 우리의 데이터세트의 평균 대화 길이이다.
- 즉 context 히스토리를 4개의 문장으로 했다는 것.
- 실제로 대화는 여러 turn이 진행되는데, 첫 문장부터 예측하는 것은 큰 의미가 없을 수 있기 때문에 적절한 수의 history가 필요한데 그것을 2 turn인 4 문장을 했다는 것 같다.
- 여기서 이러한 모델들은 "FineTuned" 모델들이라고 부른다.
- 이러한 fine-tuning은 "Pretrained"을 빼고 모든 구조가 수렴할 때까지 학습된다.
4.3 Adding Information from External Predictors
- 많은 기존의 모델들은 공감적 반응과 관련되어 supervised tasks로 pretrained 되었다.
- 이러한 모델을 기본 아키텍처의 representations과 결합하면 작업을 다시 수행하거나 해당 데이터에 대한 액세스를 요구하지 않고도 이전 training 시간 및 external training 데이터의 이점을 얻을 수 있으며 이는 실무자에게 중요 할 수 있습니다.
- 이는 전체적으로 사용되는 총 교육 데이터 양뿐만 아니라 결과 모델의 유효 capacity 을 상당히 증가시킬 수 있지만, 여기서 우리의 목표는 architecture 설정 또는 supervision 영역의 변화에 대한 성능 향상이 얼마나 강력한지에 대한 경험적 감각을 얻는 데 있다.
- 우리는 두 가지 예측 작업에서 감독 된 정보를 추가하는 실험을합니다.
- emotion detection, which is more closely relevant to our task,
- topic detection, which may also be useful in crafting relevant replies.
- 즉 external 데이터를 사용한 pretrained 모델을 활용하면, 학습 시간이나 데이터적으로 이점을 얻을 수 있어서 capacity 및 효율성은 증가한다.
- 여기서 우리는 supervision 영역의 변화에 대한 성능 향상을 검토하는 것이라고 한다.
- Prepending Top-k Predicted Labels
- 이 셋업은 그림5에 있고, PREPEND-1은 매우 간단한 방법으로 구조의 수정없이 데이터에 supervised 정보를 추가하고 이는 black-box classifier을 사용할 수 있다.
- supervised classifier을 통하여 top 예측된 레이블은 단지 인코더의 입력으로써 토큰 시퀀스의 앞부분에 다음과 같이 부는 것 뿐이다.
- Original: “I finally got promoted!”
- Prepend-1: “proud I finally got promoted!”
- 유사한 방법들은 style을 컨트롤하여 텍스트 생성하는 곳에서 사용된다.
- 여기서, 우리는 fastText 모델을 prediction 구조로 사용한다.
- context와 candidates 둘 다 classifier을 통해서 작동하고 prepended 레이블들을 받게된다.
- fine-tuning은 이전과 비슷하게 실행되나 수정된 입력들을 사용한다.
- 우리는 두 개의 external 정보의 소스를 사용한다.
- emotion 시그널을 제공하기 위해 ED (EMOPREPEND-1)의 학습세트에서 대화 전에 speaker가 작성한 situation 설명에서 emotion 레이블을 예측하는 분류기를 학습한다. (당연한 얘기: 나라도 이렇게 해서 emotion 정보를 주는 식으로 할 듯)
- 좀 더 많은 distant(덜 상관있는) task의 supervision이 여전히 도움이 될지를 측정하기 위해, 우리는 또한 topic classification (TOPICPREPEND-1)를 위해 20-Newsgroup 데이터 집합 (Joachims, 1996)에 대해 훈련된 classifier를 실험한다.
- 밑에 실험을 보면 알겠지만, prepend로 emotion이 아니라 topic을 넣는다는 개념이다.
5 Experimental Evaluation
- 우리는 모델이 대화에서 Listener’s의 역할을 재현하는 능력 (즉, 다른 사람의 이야기에 반응하는 능력)을 평가합니다.
- automated mterics과 사람의 평가를 모두 사용하여 각 모델의 retrievals/generations에 점수를 매깁니다.
- automated metrics 항목이 대화 품질에 대한 사람의 판단과 항상 연관되는 것은 아니기 때문에 사람의 평가가 중요합니다 (Liu et al., 2016).
- 그러나 우리는 이 작업에 대한 사람의 판단과 얼마나 잘 일치하는지 알 수 있도록 automated 측정 항목을 제시합니다.
- Automated metrics (Table 1) (번역)
- 검색 시스템과 생성 시스템 모두에서, 우리는 대화 생성 초기 작업 관행(Wen et al., 2015; Li et al., 2016a,b)에 따라 골드 라벨(실제 응답)과 비교하여 모델 응답에 대한 BLEU 점수(Papineni et al., 2002)를 계산한다.
- 생성 시스템의 경우 실제 골드 응답의 perplexity을 추가로 보고한다.
- 검색 기반 시스템의 경우, 테스트 세트에서 무작위로 선택한 100개의 예 중에서 올바른 반응을 선택할 때 모형의 정확도인 p@1,100을 추가로 계산한다.
- p@1,100을 계산할 때, 교육용 발언만을 후보로서 사용하는 다른 모든 지표에 대한 검색 시스템의 추론과는 달리, actual response은 후보군에 포함된다.
- 정리하면) p@1, 100은 retrieval 모델을 평가하는 지표로 100개의 샘플을 뽑고 샘플들에서 candidates에서 정답을 잘 선택했는지 판단하는 것이다.
- 근데 원래 retreival 모델의 candidates안에는 테스트 데이터세트의 실제 정답은 없고, 1) training 데이터세트, 2) DailyDialog, 3) Reddit 3개 데이터셑트를 쓴다고 했었다.
- 따라서 이렇게하면 실제 정답이 뽑힐리가 없으니까, p@1, 100을 평가할 때는 actual response가 candidates에 포함되도록 하였다.
- PPL은 generative 모델을 평가할때 판단하는 지표이다.
- 이는 모델이 gold reference의 토큰들을 얼만큼의 확률로 뽑을지에 대해 계산한 것이다.
- 일단 pretrined보다 fine-tuned이 좋다.
- fiine-tuned에서 실험결과를 보면 괜히 candidates풀에 DD, R의 데이터를 사용하는것보다 ED만을 사용하는 것이 좋음을 알 수 있다.
- prepend는 오히려 큰 성능향상을 보여주지 않는다.
- 이 부분이 이해는 안됨. 그냥 이런거 없이해도 모델이 알아서 잘 감정을 판단하여 생성한다는 것인데?
- Human ratings (Table 2) (번역)
- MTurk에서 크라우드 소싱 작업을 실행했습니다 (자세한 내용은 부록 B 참조).
- 참가자는 무작위로 선택된 테스트 세트 예제에 대한 모델의 결과물을 받고 모델의 다양한 측면에 점수를 매기도록 요청 받았습니다.
- 평가 작업은 응답의 측면을 비교하는 수단을 제공하며 평가자에게 응답이 대화 파트너의 감정을 인정하는지 구체적으로 묻습니다.
- 모델 당 최소 100 개의 평가를 수집하고 모두 Likert 척도로 평가 된 세 가지 성능 측면에 대해 질문했습니다 (1 : 전혀, 3 : 다소, 5 : 매우 많이).n a Likert scale (1:
- Empathy/Sympathy: 반응이 자신의 경험에 대해 이야기하는 사람의 감정을 이해했음을 보여 줍니까?
- Relevance: 응답이 대화에 적절 해 보였습니까? 주제에 맞았나요?
- Fluency: 답변을 이해할 수 있습니까? 언어가 정확 해 보였습니까?
- Retrieval 모델에서는 BERT을 사용하는 것이 성능이 살짝 좋다.
- BERT는 성능 좋은 pretrained 모델로 알려져있기 때문에 그런 것 같다.
- 물론 reddit으로만 pretraining한 transformer도 BERT을 활용한 것과 큰 차이는 없다.
- Retrieval 모델이 Generative 모델보다 성능이 괜찮음을 알 수 있다.
- 즉, 문장 전체를 생성하는 것은 쉽지 않다는 것을 보여주는 결과이다.
- 수 많은 데이터의 후보에서 적절한 문장을 뽑아서 대응하는 retrieval 방법은 실제 사람의 문장이므로 여러모로 자연스러운 문장이다.
- context와 얼마나 유사한 문장을 내뱉는지가 관건이므로 사실상 한 번의 classification task와 유사하다고 생각된다.
- 즉 classification을 매 step에서 token을 예측하는 것보단 훨씬 쉽다는 생각이다.
5.1 Results
- Pretrained models baseline (번역)
- 사전 훈련 된 대화 모델은 후보자가 Reddit 발화에서 검색되거나 생성 모델이 사용될 때 공감에 대해 인간에 의해 낮은 평가를받습니다 (표 2).
- BERT 또는 더 큰 Transformer 모델을 기반으로 한 모델의 등급이 높을수록 용량을 늘리면 모델이 더 공감 해 보이지만 여전히 인간의 성능과는 거리가 멀고 훈련하기가 훨씬 더 힘들다는 것을 알 수 있습니다 (표 3).
- but still remain far from human performance, while being considerably more onerous to train
- Using EMPATHETICDIALOGUES for candidate selection (번역)
- 표 1은 ED의 훈련 세트에서 후보자 풀을 사용하는 것만으로 검색 모델의 BLEU 점수가 향상된다는 것을 보여줍니다.
- 또한 데이터 세트의 후보를 사용하면 모든 인간 메트릭, 특히 우리가 가장 관심을 갖는 공감 하위 점수에 대해 사전 훈련 된 검색 모델의 성능이 크게 향상됩니다 (표 2).
- Using EMPATHETICDIALOGUES for finetuning (번역)
- 또한 데이터에 대한 대화 응답을 예측하기위한 미세 조정은 모든 자동화 된 지표를 개선합니다 (표 1).
- ED 데이터를 미세 조정하면 다음 ED 발화 예측 성능이 향상되지만 다른 말뭉치에서 다음 발화를 예측할 때 성능이 저하 될 수 있습니다.
- 이를 측정하기 위해 DAILYDIALOG 및 REDDIT에서 예측할 때 ED 데이터 (기본 및 더 큰 검색 기반 Transformer 모델의 경우)를 사용하여 미세 조정 된 사전 학습 된 모델 및 모델과 다음 발화 예측에 대한 자동화 된 메트릭을 비교했습니다 (컨텍스트 및 후보 모두 동일한 말뭉치).
- ED로 측정 된 12-14 % P @ 1,100 증가와 비교하여 (표 1 및 7 참조) ED를 미세 조정하면 DD가 5-7 % 증가하고 R이 2-3 % 감소합니다.
- 세 가지 데이터 세트 모두에 대해 미세 조정은 AVG BLEU를 0.2에서 0.5로 증가시킵니다. 사전 훈련 된 모델이 Reddit 예측에서 직접 훈련 되었기 때문에 R에서 약간의 성능 저하는 놀라운 일이 아닙니다.
- 그러나 DD의 개선은 ED의 미세 조정으로 인한 개선이 다른 대화 데이터 세트로 일반화 될 수 있다는 고무적인 신호입니다.
- ED 데이터에 대한 미세 조정은 일반적으로 검색 및 생성 설정 모두에서 ED 작업에 대한 인간 메트릭을 향상시킵니다 (표 2).
- Augmenting conversation models with external pretrained classifiers (번역)
- 자동화되고 인간적인 평가는 감정이나 주제 예측을 미리 예측하는 것이 인간 수행에 근접하는 공감 등급과 함께 BERT(소형 모델은 아님)를 기반으로 한 대용량 모델의 관능성을 높일 수 있다는 것을 시사한다.
- 대형 모델에 대한 보다 광범위한 실험이 더 큰 용량이 이 과제에 대해 추가적인 외부 감독을 효과적이게 한다는 것을 확인하기 위해 필요할 것이다.
- Resources and capacity (번역)
- 표 3은 더 큰 Transformer 생성 모델(4개 대신 5개 레이어)과 더 긴 훈련을 필요로 하는 훨씬 더 많은 매개변수를 가진 BERT 기반 아키텍처를 포함하여 여러 모델과 설정의 자원 및 매개변수 사용을 정량화한다.
- Using ED candidates in pretrained retrieval models, or fine-tuning pretrained conversation models on ED data makes smaller models perform better than larger ones with minimal increase in resource usage.
- 즉 무작정, 큰 데이터로 큰 모델을 학습하기보다 적절하게 pretrained retreival 모델에 ED 데이터로만 fine-tuning하는 식이 리소스 측면에서 나을수 있다.
6 Conclusion
- 우리는 특정한 감정 레이블을 가지고 있는 상황에 기반한 25k 대화를 가지는 새로운 데이터세트를 소개한다.
- 우리의 실험은 이 데이터세트를 사용하여 retreival candidates 혹은 대화 모델을 finetune한 것이 좀 더 공감적인 response을 하게끔 이끌었다.
- 공감의 필요성이 (topic을 유지하거나 정보를 제공하는 것과) 균형을 이루어야 할 때 공감의 반응을 보다 일반적인 대화에 통합하는 방법.
- 우리의 결과와 데이터 세트가 대화 시스템을보다 공감적으로 만드는 중요한 방향에 대한 더 많은 연구를 자극하기를 바랍니다.
Appendix
Reference
댓글
댓글 쓰기