NL-139, Synthesizing Adversarial Negative Responses for Robust Response Ranking and Evaluation, ACL Findings 2021
◼ Comment
- https://github.com/prakharguptaz/Adv_gen_dialogue
- 이 논문은 멀티턴 대화 선택에서 negative sample을 생성하는 법을 소개한다.
- 보통 negative sample을 랜덤 샘플링해서 사용한다.
- 관련 연구에서는 보통 커리큘럼 러닝 / 선별된 샘플링 등으로 랜덤샘플링을 대체한다.
- 즉 negative sampling만으로 성능이 향상된다는 것이다.
- 여기서는 샘플링이아닌 데이터 자체를 만들자는 것이다.
- 2가지 기법은 mask-and-fill과 keyword-guided 방법을 소개한다.
- 접근법은 아래 그림들을 보면 되는데,
- mask-and-fill은 context + response (blank) -> blank 생성식이다.
- 즉 response에 mask 토큰을 넣어 그것을 생성하는 식이다.
- 테스트때는, context을 랜덤으로 바꾸고 response (blank)는 그대로해서 adversarial response을 생성하는 것이다.
- 즉 response와 뼈대는 비슷하나 다른 토큰이 (random context에 관련된) 중간에 매꿔지는 식이다.
- 여기서 mask는 최대 2개 토큰에 대해 수행하고, 랜덤으로 여러 번 적용하여 최대 3개의 후보 response을 생성하는 것이다.
- 물론 이렇게 생성된것중 positive가 포함될 수 있기 때문에 glove embedding을 활용해서 필터링을 했다고 한다.
- 그리고 GPT2을 통해 fluency을 통해 여러 후보중 최종 하나의 adversarial negative 을 선택한듯
- keyword-guided는
- context + keyword -> response 식으로 학습된다.
- 여기서 keyword는 context에서 뽑힌 것이다. (여기서는 Rake라는 keyword을 뽑는 모델을 썼음)
- keyword는 뽑힌 keyword들중에서 1~3개로 무작위 선택된다고한다.
- 테스트때는, context을 랜덤으로 바꾸고 keyword는 그대로 둬서 adversarial response을 생성한다.
- 이런 식으로 했을 때 구축한 adversarial negative sample이 효과가 있는지 실험을 통해 보여준다.
- 새롭게안 적절한 데이터로 dailydialog++가 있다.
- 여기서는 human adversarial negative sample이 있다.
- 즉 구축한 데이터 vs human vs random 각각 negative로 주고 모델을 학습했을 때의 성능을 비교하는 것이다.
- adversarial test에서는 사람보다는 떨어지지만 그냥 랜덤샘플링했을 때보다 성능이 월등히 뛰어나다.
- 근데 random negative test에서는 오히려 사람보다 뛰어나다.
- 아마 사람 데이터는 adversarial에 너무 초점이 맞쳐져 있어서 그런 듯.
0 Abstract
- 오픈 도메인 뉴럴 대화 모델들은 response ranking과 evaluation tasks에서 높은 성능을 달성해왔다.
- 이러한 테스크들은 주어진 대화 컨텍스트에서 response의 binary classification로 풀게되고, 모델들은 일반적으로 context-response content 유사도를 기반으로 예측을 하게 학습된다.
- 그러나, context 유사성에 대한 과도한 의존성은 모델이 불일치, 부정확한 time 표현들과 다른 중요한 적절하고 일관성있는 response의 요소들의 존재에 대해 덜 민감하게 한다.
- 우리는 자동으로 adversarial negative 학습 데이터를 만드는 접근법을 제안하여 ranking과 평가모델들이 context 유사성을 넘어 features을 배우게 도와준다.
- 우리는 mask-and-fill와 keyword-guided 접근법읍 제안한다.
- 이는 더욱 강인한 대화 시스템들 학습하기 위한 negative examples을 생성하는 것이다.
- 이러한 생성된 adversarial responses들은 context와 높은 context similarity을 가지나, 일관성이 없거나 부적절하거나 유창하지 않습니다.
- 우리의 접근법들은 fully data-driven이고 기존의 모델들, 데이터세트와 결합하기 쉽다.
- 여러 데이터세트에서 classification, ranking, evaluation tasks들에 대한 실험들은 우리의 접근법은 유익한 negative examples을 학습 대화 시스템에 제공함으로써 강력한 베이스라인보다 뛰어남을 보여준다.
1 Introduction
- 대화 말뭉치의 가용성 증가와 신경 아키텍처의 발전으로 인해 대화 시스템은 상당한 성공을 거두었습니다.
- 일반적으로 공식화되는 대로 대화 모델은 과거 대화 차례로 구성된 제공된 컨텍스트에 대한 하나 이상의 후보 응답을 생성합니다.
- 대화 순위 및 평가 모델은 일관성과 적절성에 따라 후보 응답을 선택하고 점수를 매기기 위해 배포됩니다.
- Ranking and evaluation 모델은 일반적으로 true positive responses과 무작위로 선택된 negative responses을 사용하여 훈련되며, 이는 두 가지 문제를 제기합니다.
- 첫 번째는 random negative candidates는 주로 context와 낮은 content similarity을 가지고, 그래서 모델들은 context similarity와함께 response 일관성 및 적절성을 학습한다.
- 실제 시스템들에서, 생성된 response candidates는 context와 연관하여 더욱 유사한 경향을 가지고 있고 그래서 다른 요소들 (time expressions, dialogue acts, inconsistencies)가 더욱 중요한 경향이 있다.
- 두 번째는, 오픈도메인 context에서 negative examples로써 랜덤으로 선택된 cnadidates은 false negatives 결과 일 수 있고, 적절한 response의 오분류를 이끌어낼 수 있다.
- 대화 모델을 content similarity의 가짜패턴에 더 강력하게 만들기 위해 adversarial 및 counterfactual(반사실적) examples를 활용하기 위해 이전 작업들이 제안되었다.
- counterfactual 데이터를 생성하는 신뢰할 수 있는 방법은 사람이 작성한 adversarial 부정적인 응답을 수집하는 것이지만 비용이 많이 들고 시간이 많이 걸리며 확장하기 어렵습니다.
- 우리의 목표는 믿을만한 자동 방법들로 adversarial negative responses들 합성하는 것이다.
- adversarial examples을 생성하는 대부분의 일반적인 접근법은 typos(오타), synonyms(동의어), context와 연관있는 단어들을 입력에 넣어서 paraphrase을 하는 것이다.
- 그러나 open-domain conversations에서 컨텍스트는 다양한 형식과 의미를 가진 광범위한 가능한 응답을 가질 수 있습니다.
- substitutions and paraphrasing을 통한 작은 lexical variations은 적대적 응답의 가능한 공간에 대한 적절한 범위를 제공하지 않으며 대화의 개방형 특성으로 인해 거짓 부정의 생성으로 이어질 수도 있습니다.
- 따라서 adversarial dialogue responses을 생성하는 것은 다르며 다른 자연어 영역에서보다 더 어려울 수 있습니다.
- 우리는 adversarial response 생성에 대해 2가지 접근법을 제안한다.
- 1) mask-and-fill 접근법은 context와 연관된 gold responses을 corrupt하나, context similarity을 유지한다.
- 2) keyword-guided 생성 방법은 context로부터 concepts을 사용하는 것으로 토픽적으로 연관된것을 생성하나 일관성없는 response이다.
- 이러한 접근법들은 추가적인 annotations을 요구하지않고, black-box (모델 파라미터들에 접근할 필요가 없다)이고, 새로운 데이터세트와 도메인에 적용하기 쉽다.
- 논문의 주요 contribution은 다음과 같다.
- 1) 높은 콘텐츠 유사도로 인해 감지하기 어려운 검색 및 생성 모델 출력에 있는 오류 패턴을 식별하고 논의합니다.
- 2) 우리가 아는 한, 우리는 블랙박스 환경에서 대화 모델 훈련을 위한 적대적 응답을 생성하기 위한 자동 접근 방식을 최초로 제안했습니다.
- 3) 제안된 접근 방식이 대화 classification, ranking evaluation tasks에 대한 두 데이터 세트의 강력한 기준선에 비해 더 나은 성능을 달성함을 보여줍니다.
2 Properties of Adversarial Responses
- 무작위로 샘플링된 부정적인 예를 사용하여 훈련된 모델은 문맥과 내용 유사도가 높은 응답에 높은 점수를 할당하는 경향이 있으며 응답의 적절성과 일관성에 필요한 다른 중요한 요소를 종종 무시합니다.
- 따라서 우리는 문맥과의 내용 유사도가 높지만 여전히 문맥에 부적절하게 응답을 만드는 요소를 가지고 있는 적대적 부정적인 응답을 생성하는 것을 목표로 합니다.
- 응답을 부적절하게 만들 수 있는 이러한 요인 또는 오류 유형의 범주를 표 1에 제시합니다.
- 각 category에 대해 설명과 샘플 컨텍스트-응답 쌍을 제공합니다.
- 이 분류를 생성하기 위해, 우리는 outputs of generative models, candidates of retrieval sets 및 human written adversarial dialogue responses에 있는 응답을 수동으로 분석했습니다.
- 카테고리 C-ent, C-time 및 C-cont는 응답의 다양한 불일치 및 논리적 결함과 관련된 오류로 응답 적절성이 불량함을 나타냅니다.
- 카테고리 C-speaker, C-follow 및 C-strat는 대화 설정에 특정한 오류 유형이며 불량한 응답 일관성을 나타냅니다.
- 범주 C-lang은 응답 유창성이 좋지 않음을 나타냅니다.
- 오류의 범주화는 요약의 사실성에 대해 Pagnoni가 제안한 범주화와 대화에 대해 Higasinaka, Ko 및 Sato가 제안한 범주화에서 영감을 받았습니다.
- 이러한 범주는 우리의 접근 방식과 오류 분석에 대한 정보를 제공합니다.
3 Methodology
- 대화 컨텍스트 C와 gold response $R_g$가 주어지면, 우리의 목표는 adversarial response $R_a$을 생성하여 대화 랭킹 혹은 평가 모델들의 높은 scores을 달성하는 것이다.
- $R_a$는 context C에 대한 유요한 response가 아니어야한다.
- 어려운 합성 negative responses로 학습이된 대화 랭킹과 평가 모델들은 context 유사도를 넘어선 features로 response 연관성을 결합하는 것을 배워서, 가짜 features에 대해 강인해야한다.
- adversarial responses는 다음의 조건을 만족해야한다.
- 1) 입력 contexts와 content similarity가 높은 것
- 2) 하나 혹은 여러 개의 errors (테이블 1)은 response가 context에 부적절한 응답을 만듬.
- 3) hard training 예제로, 그들은 현재 모델들로 오분류할만한 경우
- 4) 모델 생성 응답 및 검색 후보에서 자연스럽게 발생하는 오류를 충분히 커버하므로 그럴듯하고 다양해야 한다.
- 우리는 adversarial negative examples을 합성하는 두가지 방법을 제안한다.
- mask-and-fill 접근법
- keyword-guided 생성 접근법
3.1 Mask-and-fill Approach
- 이 접근법은 context와 관련된 기존의 발화들을 그림 1처럼 손상시킨다.
- ILM 모델을 사용한 Mask-and-fill 접근 방식.
- ILM은 응답에서 공백 대신 n-gram을 채우도록 훈련되었습니다. [infill] 뒤의 토큰은 [blank] 토큰을 대체합니다.
- 훈련 중에 Mask-and-fill은 올바른 컨텍스트에 따라 응답을 채우는 방법을 배웁니다.
- 테스트하는 동안 응답에 오류가 발생하는 임의의 컨텍스트에 따라 응답을 채웁니다.
- 참조 논문을 가져온건데, 즉 target을 생성한다고 보면 된다.
- 입력의 blank부분이 생성되고 [answer] 스페셜 토큰을 생성하는 식
- 이것은 두 가지 스텝으로 구성된다.
- 1) masking으로 기존의 발화에서 하나 혹은 더 많은 토큰들을 마스킹합니다.
- 2) infilling으로 마스크된 토큰들은 새로운 토큰들로 대체한다.
- context C에서, 기존 발화들의 set은 다음과 같이 구성된다.
- Set of ground truth responses of the context - $R_g$.
- Set of utterances from the context - $U_c$.
- Set of retrieved responses based on context - $R_e$.
- Masking
- 우리는 Donahue로부터 hierarchical masking 함수를 사용하고, 이는 문장들, n-grams, 단어들의 세분성에서 mask span을 선택하는 것이다.
- 각 발화에 마스킹 기능을 여러 번 적용하여 발화당 최대 3개의 마스킹된 버전을 얻습니다.
- 각 발화는 최소 2개의 maksed spans을 가지도록 제약이 된다.
- spans은 Donahue을 따른 마스킹으로 랜덤하게 선택된다.
- Infilling
- 우리는 Donahue의 infilling language model (ILM)을 그림 1처럼 dialouge response infilling으로 확장한다.
- ILM 모델은 GPT-2을 기반으로 한다.
- [blank] 토큰으로 마스킹된 일부 범위가 있는 텍스트 t의 경우 시퀀스 생성 문제로 t의 공백 범위를 예측하도록 훈련됩니다.
- 각 blank는 n-gram으로 infilled되고, 이는 하나 혹은 더 많은 tokens으로 구성될 수 있다.
- adversarial responses을 생성하기 위해, infilling은 기존의 context C대신 random context $C_{rand}$을 기반으로 다양한 카테고리의 errors을 도입한다. (테이블1)
- 그림 1의 예제에서, random 컨텍스트를 조건으로한 것은 response에서 'the marriage'의 infilling을 이끌고, 이는 type C-ent의 에러이다.
- For the context “Did you stay your stay at our hotel?” it generates a response “I enjoyed at lot at the marriage”.
- 세 가지 유형의 발화 $R_g$, $U_c$ 및 $R_e$를 손상시킴으로써 이 접근 방식은 표 1의 7개 범주를 포괄하는 오류를 도입할 수 있습니다.
- 즉, ILM모델은 (context, reponse) -> (blank 채우기) 식으로 생성하는 모델로 학습된다.
- 즉 그림 1에서 기존 데이터는
- context: Did you enjoy your stay at our hotel?
- response: I enjoyed a lot at the hotels.
- 학습할 때는 그림1의 training 부분처럼, blank처리하고 이를 infilling하도록 학습된다.
- 이렇게 학습된 모델을 가져다가 context을 다음과 같이 바꾼 것이다.
- context (random): The marriage ceremony was grand.
- 그러면 다시 blank을 예측할 때 다른 blank을 생성하게 될 것이다.
- 그러면 생성된 오류 response: I enjoyed a lot at the marriage.가 된다는 것이다.
- 이것이 adversarial 데이터라는 것
- 직관적으로 그냥 랜덤으로 키워드를 대체한 것이 아닌가?
- Preventing false negatives:
- 훈련 중에 실수로 false negatives을 통합하면 적절한 응답을 잘못 분류하는 모델 학습으로 이어질 수 있습니다.
- 그러나 대화 응답의 open-ended 특성으로 인해 false negatives 생성을 방지하는 것은 쉬운 일이 아닙니다.
- random contexts에 대한 조건외에도 infilling 중에 false-negative 생성을 더욱 줄이기 위해 다음 메커니즘을 통합합니다.
- Semantics of substitution:
- 비어 있는 토큰에 없는 토큰 대체만 선택합니다.
- 우리는 또한 GloVe 임베딩 유사성을 기반으로 하여 blanked tokens의 상위 10개 관련 단어의 생성 확률을 100배로 낮춥니다.
- 이렇게 하면 blanks이 원래 blanked tokens이나 관련 단어로 채워지지 않습니다.
- 즉 random context만으로 어느정도 adversarial하게 생성할 수 있지만 false negative을 방지하기 위한 추단 수단을 말한다.
- 그러기 위해, 기존 token glove embedding와 유사한 top-10 token을 blank 토큰의 생성확률을 100배 낮춘다고 한다.
- 즉 기존단어, 유의어 등이 안나타나도록 한다는 것.
- Degree of substitution
- 생성된 부정적인 응답이 원래 발화와 충분히 다른지 확인하기 위해 stop-word 제거 후 발화의 단어 수가 2 미만인 경우 원래 발화를 필터링합니다.
- 또한 원래 응답과 생성된 응답 간의 non stop-words 수의 차이가 2 미만인 경우 생성된 응답을 필터링합니다.
- 생성된 발화의 단어수가 2보다 작으면 기존 발화를 필터링 (학습 데이터로 안쓴다는 것인가?)
- 기존 응답과 생성 발화와 단어 수 차이가 2보다 작으면, 생성 발화를 필터링한다. (생성을 다시 하나?)
- Improving fluency:
- ILM 모델은 종종 문법이나 구조가 좋지 않은 응답을 생성합니다.
- 적대적 응답 세트의 유창함을 개선하기 위해 먼저 마스킹된 원래 발화의 최대 4가지 다른 채워진 변형을 생성한 다음 lm-scorer 라는 GPT-2 기반 스코어러를 사용하여 점수를 매깁니다.
- 그런 다음 이 더 큰 집합에서 원하는 수의 응답을 선택합니다.
3.2 Keyword-guided Approach
- 이 접근 방식은 그림 2와 같이 컨텍스트의 키워드를 지침으로 사용하여 adversarial 응답을 생성합니다.
- 적대적 응답 생성을 위한 키워드 기반 접근 방식.
- 훈련 중에 모델은 키워드와 올바른 컨텍스트에 따라 응답을 생성하는 방법을 학습합니다.
- 테스트하는 동안 올바른 컨텍스트에서 추출한 임의의 컨텍스트와 키워드에 따라 응답을 생성합니다.
- 따라서 생성된 응답은 테스트 컨텍스트와 콘텐츠를 공유하지만 컨텍스트를 직접 다루지는 않습니다.
- 즉 그림에서 testing시 licenese라는 것은 기존 context인 "How long ~"에서 추출한 것이다.
- 이 접근법은 그림2처럼, context을 가이던스로해서 keywrods을 사용한 adversarial responses을 생성한다.
- 기본적인 생성 구조는 대화 모델을 기반으로한 GPT2이고 이것은 context와 response keywords을 조건으로 response을 생성하도록 훈련된다.
- adversarial response generation에 대해, generation은 test context의 random context $C_{rand}$와 keywords을 조건으로 된다.
- 그림 2에서, context “How long did it take you to get your license?”은 response “We will bring our license and documents.”을 생성한다.
- 응답에 대한 키워드 세트 K를 생성하기 위해 모델은 컨텍스트 C에서 추출된 모든 키워드 세트에서 무작위로 n개의 키워드를 선택합니다.
- 여기서 n은 모든 컨텍스트에 대해 1에서 3 사이에서 무작위로 선택됩니다.
- Keyword extraction is performed using Rake (Rose et al., 2010).
- 우리는 이 모델을 key-context로 부른다.
- 생성은 컨텍스트 C의 키워드에 따라 결정되므로 생성된 응답은 테스트 컨텍스트와 일부 content and semantics를 공유합니다.
- 그러나, random context $C_{rand}$을 조건으로 하기 때문에, 생성된 response또한 $C_{rand}$을 기반으로한 entities, time expressions, speaker role, dialogue act, and other details 을 포함한다.
- generation 모델은 완벽하지 않기 때문에, 이 또한 fluency에 관련된 errors을 가질 수 있다.
- 그래서 모델은 테이블1에서 7개 카테고리들을 커버하는 error들을 가질 수 있다.
- key-context는 오직 context로부터 keywords을 사용하여 context와 context 유사도를 야기한다.
- 그러나, responses들은 단지 keywords대신 유사한 컨셉의 존재때문에 context similarity가 높을 수 있다.
- concept 레벨에서의 context 유사도를 소개하기위해, 우리는 GloVe 임베딩을 기반으로 가장 관련성이 높은 상위 10개 단어로 keyword 세트 K를 확장합니다.
- We use the gensim library to find the most related words.
- For example, the related words for the keyword “christmas” are “holidays” and “easter”.
- 키워드 세트 K의 키워드를 확률 0.5로 관련 단어 중 하나로 교체합니다.
- We call this variant Key-sem.
3.3 Classification Model
- 우리의 분류 모델 아키텍처는 SA-Bert(Speaker-Aware Bert) 모델을 기반으로 합니다.
- 주어진 대화 컨텍스트 C = {C1, C2, . . . , Ch} 문맥에서 k번째 발화를 나타내는 Ck, 응답 r 및 레이블 y ∈ {0, 1}, 대화 모델 M의 목표는 교차 엔트로피 손실을 최소화하여 점수 s(C, r)를 학습하는 것입니다.
- 이진 분류 작업을 위한 함수입니다.
- s(C, r)를 계산하기 위해 C와 r이 연결되고 [CLS] 토큰이 추가됩니다.
- [CLS] 토큰에 대한 출력 벡터 E[CLS] ∈ RH는 컨텍스트-응답 쌍 분류를 위한 집계된 표현으로 사용됩니다.
- 최종 예측은 yˆ = softmax(WE[CLS] )로 이루어지며, 여기서 W ∈ R^{2×H}입니다.
- SA-Bert 모델은 두 가지 방식으로 화자 정보를 통합합니다.
- 먼저, 각 발화에 대한 화자의 신원을 나타내는 토큰 표현에 추가 화자 임베딩이 추가됩니다.
- 둘째, [EOT] 토큰은 각 발언자의 턴이 끝날 때 추가됩니다.
- 분류 작업에서 Bert 모델을 미세 조정하기 전에 먼저 표준 마스크 언어 모델 목표를 사용하여 Bert를 데이터 세트에 적용합니다.
4 Experiments
- We test our approaches and baselines on dialogue classification, ranking and evaluation tasks.
4.1 Training Details
- HuggingFace transformers 라이브러리의 BERT 및 ELECTRA에 대해 케이스가 없는 기본 체크포인트를 사용합니다.
- 우리는 4개의 Nvidia 2080Ti GPU가 있는 머신에서 최대 시퀀스 길이가 128이고, 최대 훈련 에포크 수가 3으로 설정된 모델, 선형 감쇠가 있는 초기 학습률이 5e-5인 Adam 최적화, GPU당 배치 크기가 60인 모델을 훈련했습니다.
- 생성을 위해 우리는 0.9의 temperature, 0.9의 p와 5의 최소 길이로 nucleus sampling을 사용합니다.
- 다른 무작위 시드로 각 실험을 세 번(BERT 기반 모델의 경우 다섯 번) 반복하고 검증 분할을 사용하여 최상의 모델을 선택하고 평균 메트릭 값을 보고합니다.
- 검증은 200 배치마다 수행되었습니다.
4.2 Experimental Setup
4.2.1 Datasets
- 우리는 DailyDialog++(Sai et al., 2020)와 PersonaChat(Zhang et al., 2018)의 두 가지 개방형 대화 데이터 세트를 사용합니다.
- DailyDialog++는 학습 세트의 16900개 대화 컨텍스트, 검증 세트의 1028개, 테스트 세트의 1142개로 구성됩니다.
- 각 context는 5개의 positive responses와 5개의 random negative responses을 함유한다.
- 또한 context당 5개의 adversarial responses가 크라우드소싱으로 수집되었고, annotators들은 context와 유사한 높은 context을 가진 negative responses을 생성하도록 지시받았다.
- 16900 학습 contexts중 9529개의 하위집합은 5개의 사람이쓴 adversarial negative responses을 가진다.
- negative response의 타입을 기반으로 두 개의 테스트 세트인, adversarial test set과 random test set이 있다.
- PersonaChat 데이터 세트(Zhang et al., 2018)는 학습 세트에서 8938개의 대화로 구성된 인간-인간 조건 대화의 코퍼스입니다.
- 우리는 훈련을 위해 총 17876개의(=8938*2) 컨텍스트로 각 대화에서 2개의 랜덤으로 컨텍스트-응답 쌍을 샘플링합니다.
- 우리는 우리의 실험에서 persona 발화들을 dialouge contexts 앞에 붙인다.
- PersonaChat에서는 사람이만든 가능한 adversarial test set이 없기 때문에, 우리는 인공적으로 adversarial dataset을 대화 컨텍스트에서 발화를 선택해서 구축하고, candidate responses의 세트에 삽입한다. (Jia and Liang과 Whang 처럼)
- The random test set consists of 9 random negative responses.
4.2.2 Metrics
- 분류 작업의 경우 다음 정확도를 보고합니다(Sai et al., 2020).
- 순위 지정 작업의 경우 표준 순위 측정항목인 Recall Rn@k 및 MRR(mean reciprocal rank)을 보고합니다.
- DailyDialog++의 경우 후보는 5개의 부정적인 응답과 하나의 긍정적인 응답으로 구성되므로 Recall에서 n은 6입니다.
- 즉 positive 1개, negative 5개 로 6개의 후보들이 있고 여기서 R6@1을 구하는 식
- negative 5개는 랜덤 후보인 경우와 adversarial인 경우에 대해 각각 계산한 듯
- 근데 positive가 총 5개인데, 그럼 하나의 context에 대해 5번의 평가를 하는 건가?
- PersonaChat의 경우 n은 10입니다.
- classification and ranking tasks 모두에 대해 adversarial and the random test 세트에 대한 결과를 별도로 보고합니다.
- dialogue evaluation task은 품질에 대한 응답을 scoring or rating하는 것으로 구성됩니다.
- 이 작업을 위해 모델 점수와 사람이 제공한 ratings 간의 상관 관계를 보고합니다.
- 우리는 다음 출처에서 발표한 human ratings를 활용합니다.
- 1) inter-rater agreement > 0.6 (Krippendorff의 α)과 함께 응답 "sensibility"에 대한 600 ratings (Zhao and Kawahara, 2020).
- model은 Attention을 가지는hierarchical recurrent encoder decoder (HRED) mode와 Variational HRED model with attention의 출력으로 구성됩니다.
- 2) 응답 품질에 대한 700 ratings (Zhao et al., 2020).
- 응답은 6개의 다른 생성 모델에서 가져온 것입니다.
- Seq-2-Seq(Sutskever et al., 2014),
- attentino Seq-2-Seq,
- HRED,
- VHRED,
- GPT2-small,
- GPT2-medium,
- greedy decoding, ancestral sampling, and nucleus sampling based decoding (Holtzman et al., 2020).
- The inter-rater agreement is 0.815 (Krippendorff’s α),
- 3) 처음 두 소스는 검색 모델 출력을 다루지 않기 때문에 검색 모델(Poly-Encoder)에서 선택한 응답 100개와 주석자 간 동의(Cohen's Kappa 0.45)가 있는 사람이 작성한 100개 응답에 대한 품질 평가를 추가로 수집합니다.
- All data points belong to the Dailydialog dataset and ratings are scaled between 0–1.
- By combining these sources we have a total of 1500 ratings for different context-response pairs.
4.2.3 Baselines
- Human (Sai et al., 2020)
- Human written adversarial responses.
- Random
- Responses sampled from random contexts.
- Semi-hard (Li et al., 2019)
- 긍정적 응답 점수에서 α의 여백을 가진 유사성 점수를 기반으로 배치에서 샘플을 선택하는 샘플링 방식. 정적 샘플링을 수행하고 α를 권장 값 0.07로 설정하여 의미론적 유사성 계산을 위해 Sentence-Bert를 사용합니다.
- Token-subs (Kryscinski et al., 2020)
- 훈련 데이터는 긍정적인 응답에 대한 일련의 규칙 기반 변환을 적용하여 생성됩니다. 변환에는 대명사, 엔터티 및 숫자 스와핑, 문장 부정 및 노이즈 주입이 포함됩니다.
- BM25
- 컨텍스트와의 유사성을 기반으로 BM25에서 반환된 상위 응답입니다.
- 모든 정답 응답은 우연히 존재하는 경우 이 응답 세트에서 제거됩니다.
- 이 기준선은 Karpukhin과 Lin에서 영감을 받았으며 통과 및 응답 검색에서 강력한 성능을 보여주었습니다.
- Mask-and-fill
- Our approach that infills utterances conditioned on random contexts.
- Key-context
- Our approach that generates responses conditioned on test context keywords and random context history.
- Key-sem
- Our approach similar to Key-context which additionally conditions on words semantically related to the keywords in the context.
- 각 컨텍스트에 대해 위의 접근 방식에서 생성된 5개의 부정적인 응답 세트에 5개의 무작위 부정적인 응답을 추가하여 적대적 기차 세트를 생성합니다.
- 접근 방식이 5개 이상의 응답을 생성하는 경우 무작위로 5개를 선택합니다.
- 대화 평가를 위해 위의 접근 방식을 BLEU, METEOR, Embedding 기반 메트릭 SkipThought, Vec Extrema 및 RUBER(Tao et al., 2018) 및 BERTScore와 비교합니다.
4.2.4 Models
4.3 Results and Discussion
- In this section, we compare the performance of our approaches with the baselines on dialogue classification, ranking and evaluation tasks.
- 학습할때 어떤 negative samples을 쓰냐에 따라 approach가 적힌듯?
- Performance on classification
- 우리가 제안한 접근 방식 Mask-and-fill 및 Key-sem은 적대적 테스트 세트(표 2)에서 가장 높은 분류 정확도를 달성하며, 이는 인간 기준선보다 몇 퍼센트 부족합니다.
- 가장 가까운 기준선은 BM25로 우리의 접근 방식에 비해 정확도가 3% 차이가 납니다.
- 긍정적인 반응에 변형을 적용하여 손상시키는 토큰 서브는 이 작업에 적합하지 않습니다.
- 이것은 단순한 변환이 적대적 테스트 응답에 존재하는 의미론적 변화를 잘 커버하지 못한다는 것을 나타냅니다.
- 우리의 접근 방식은 다른 모델 아키텍처에서 유사한 성능을 달성하여 일반화 가능성을 보여줍니다.
- 당연히 Human 기준선은 훈련 및 테스트 데이터가 동일한 방식으로 생성되고 유사한 분포를 갖기 때문에 강력한 성능을 보입니다.
- 무작위 테스트 세트에서 모든 접근 방식의 성능은 무작위 기준선에 매우 가깝거나 낮습니다.
- 정답과 컨텍스트 사이의 유사성은 일반적으로 랜덤 테스트 세트의 컨텍스트와 랜덤 응답 사이보다 훨씬 높기 때문에 랜덤 베이스라인은 일관성을 대부분 의미론적 유사성과 연관시키기 때문에 더 나은 성능을 보입니다.
- 마지막으로, 우리의 분석은 모든 기준선이 컨텍스트를 직접적으로 다루지 않는 유효한 응답에 낮은 점수를 할당하는 경향이 있음을 보여줍니다.
- 예를 들어 "콘서트에 함께 하시겠습니까?"라는 컨텍스트의 경우 응답이 "이번 주에 비가 올 예정입니다."이면 모델이 낮은 점수를 할당합니다.
- 이러한 시나리오는 사회 및 상식 관련 요소에 대한 이해가 필요합니다.
- 이 제한 사항을 해결하는 것은 향후 작업에 남겨둡니다.
- Performance on ranking
- DailyDialog 적대적 테스트 세트에서 Mask-and-fill 및 Key-sem 접근 방식은 최고의 리콜 및 MRR을 달성하고 BM25 기준선이 그 뒤를 잇습니다(표 2).
- 순위 메트릭의 추세는 정확도 메트릭에 대해 관찰된 추세와 유사합니다.
- 우리의 접근 방식은 무작위 테스트 세트에서 인간 기준선보다 더 나은 성능을 보입니다.
- PersonaChat 데이터 세트에서 Mask-and-fill 및 Keysem은 특히 적대적 테스트 세트에서 기준선(표 3)보다 더 나은 성능을 보입니다.
- 이는 데이터 세트 전반에 걸친 접근 방식의 확장성을 보여줍니다. Mask-and-fill은 키워드 세트에 페르소나의 많은 키워드가 포함되어 있기 때문에 응답이 컨텍스트보다는 페르소나와 콘텐츠 유사성이 높기 때문에 Keysem보다 더 나은 성능을 보입니다.
- 무작위 기준선의 열악한 성능은 무작위 음성 후보를 사용하는 훈련 모델이 테스트 중 하드 테스트 사례에 대해 모델을 강력하게 만들지 않는다는 증거를 제공합니다.
- 검색된 응답이 다양한 범주의 오류에 대한 적용 범위를 제공하기 때문에 BM25는 두 데이터 세트 모두에 대한 강력한 기준선입니다.
- 그러나 검색된 응답 품질과 다양성은 검색 풀의 크기에 따라 다릅니다.
- 또한 더 강력한 검색 메커니즘은 더 높은 위음성을 유발할 수 있습니다.
- BM25 응답 세트의 변형은 데이터 세트의 크기에 따라 제약을 받고 Ccont, C-strat 및 C-lang 범주에 대해 더 적은 범위를 제공하지만(표 1), 우리의 접근 방식에는 그러한 제약이 없습니다.
- Performance on dialogue evaluation
- 실제 시스템에서 다양한 접근 방식의 성능을 연구하기 위해 대화 평가 또는 채점 작업에서 이를 비교합니다.
- 우리는 표 4의 접근 방식에 의해 예측된 점수와 인간이 제공한 등급 간의 상관 관계를 측정합니다.
- BLEU-2, METEOR, SkipThought 및 Vec Extrema와 같은 기준 기반 메트릭은 선행 기술에서 보고된 결과와 유사한 매우 낮은 상관 관계를 달성합니다.
- BERTScore와 RUBER는 중간 정도의 상관 관계를 나타냅니다.
- 우리의 접근 방식 Key-sem은 최고의 상관 관계를 달성하고 Mask-and-fill이 뒤따릅니다.
- BM25의 성능은 우리의 접근 방식보다 낮지만 Random 및 Semi-hard 접근 방식보다 높습니다.
- Token-subs는 분류 및 순위 지정 작업에서 높은 성능을 달성하지 못했지만 이 작업에서는 잘 수행합니다.
- 이는 실제 모델 출력에 적대적 테스트 세트가 포함하는 것보다 이 접근 방식이 포착하는 사실적 불일치 및 모순이 더 많이 포함되어 있기 때문일 수 있습니다.
- Mask-andfill은 컨텍스트와 관련된 발화만 수정하지만 Key-sem은 훈련을 위해 더 다양한 적대적 응답을 자유롭게 생성할 수 있기 때문에 Key-sem은 평가에서 Mask-and-fill보다 더 나은 성능을 보입니다.
- 또한 Key-sem은 Human 기준보다 높은 상관관계를 달성합니다.
- 이는 인간이 모델 생성 또는 선택된 응답, 특히 C-speaker, C-strat 및 Clang과 같은 오류 유형의 분포와 유사한 분포로 잘못된 응답을 생성하기 어렵기 때문일 수 있습니다.
- 대조적으로, 우리의 접근 방식은 모든 오류 유형에 대해 우수한 적용 범위를 제공합니다.
- Analysis of errors types
- DailyDialog++ 적대적 테스트 세트에서 다양한 접근 방식의 분류 출력을 분석하고 각 접근 방식에 따른 오분류 유형을 그림 3에 보고합니다.
- 먼저 접근 방식 중 하나 이상이 적대적 응답을 긍정적으로 잘못 분류하는 테스트 데이터의 하위 집합을 선택합니다.
- 그런 다음 이 하위 집합에서 무작위로 선택된 200개의 컨텍스트에 대해 표 1에 표시된 오류 유형을 수동으로 분류합니다.
- 각 응답에는 여러 오류 유형이 있을 수 있습니다. C-follow 및 C-extra는 기준선 Random, BM25 및 Token-subs에 의해 잘못 분류되는 주요 오류 유형입니다.
- Key-sem 및 Mask-and-fill 접근 방식은 기준선과 비교하여 모든 오류 유형에서 개선을 달성하고 더 균일한 오류 분포를 갖습니다.
- Key-sem은 C-extra에서 더 나은 성능을 보이지만 Mask-and-fill은 C-follow 및 C-speaker에서 더 좋습니다.
- Adversarial response examples
- 표 5에 무작위 및 인간 기준 응답과 함께 접근 방식의 샘플 응답을 제시합니다.
- 무작위 접근 방식은 정답 응답과 쉽게 구별되는 응답을 생성합니다.
- Mask-and-fill 접근 방식은 정답 응답, 컨텍스트의 발화 또는 BM25 검색 응답을 수정합니다.
- 비문맥적 토큰, 관련 없는 개체, 잘못된 시간 표현, 정동적 단어 또는 모순과 같은 손상을 도입하기 위해 이러한 발화를 수정하여 응답을 문맥에 부적절하거나 일관성이 없게 만들지만 문맥적으로는 여전히 유사합니다.
- Key-sem 대화 동작에서 생성된 응답의 일부 엔터티 및 기타 토큰은 응답이 조건화된 임의의 컨텍스트에 따라 달라지며, 이로 인해 응답이 컨텍스트에 부적절하거나 일관성이 없습니다.
5 Related Work
6 Conclusion
- 이 논문은 보다 강력한 대화 응답 순위 및 평가 모델을 훈련하기 위해 적대적 부정적인 응답을 합성하는 접근법을 소개합니다.
- 풍부하고 포괄적인 응답 세트를 합성하기 위해 모델에 영향을 미치는 오류 범주를 제시하고 분석합니다.
- 제안된 접근 방식은 수동 주석이 필요하지 않으며 두 데이터 세트에서 대화 분류, 순위 지정 및 평가 작업에서 고성능을 달성합니다.
- 이러한 결과는 열린 도메인 대화를 개선하기 위한 합성 부정적인 예의 가능성을 보여줍니다.
- 향후 작업에서는 더 세분화되고 제어된 적대적 응답 생성을 위한 적대적 테스트 세트 및 방법을 합성하는 방법을 탐구할 것입니다.
Reference
댓글
댓글 쓰기