NL-136, Call for Customized Conversation: Customized Conversation Grounding Persona and Knowledge, AAAI 2022

◼ Comment

  • 평상시에 관심을 둔 논문이라 학회기간동안 살펴봤다.
  • 일단 ConvAI persona chat과 유사하게 persona을 이용하는 것뿐만 아니라 knowledge을 이용한 데이터를 구축한다.
    • 즉 이전의 연구에서는 persona을 반영한 대화데이터 혹은 knowledge 기반의 대화 데이터 따로 존재했지만, 여기서 같이 구축한 것이다.
    • 이유는 따로 구축하면 종합적인 정보를 고려하지 않아 지식과 페르소나가 적절히 융합되기 힘들다는 것이다.
    • 기존의 데이터세트를 이용하여 융합한 연구가 있기는 하다고 한다.
  • 아무튼 데이터는 Amazon Mechanical Turk을 통해 만들어진다.
    • 1) 어노테이터가 사람과 기계 두 개의 역할을 혼자서 다 한다. (즉 한명이 대화 데이터를 전부 생성)
    • 2) 랜드마크를 설명하는 위키피디아가 지식이 된다.
    • 3) 여기에 알맞는 persona을 생성한다. (랜드마크에 연관있는 persona와 그렇지 않은 persona 둘 다 가능하다)
    • 4) 일반 사람과 persona 기계 사이의 대화를 생성한다.
    • 5) 기계 발화에서 persona을 사용하면 해당하는 persona index, knowledge을 사용하면 사용하는 knowledge index을 같이 태깅한다.
  • 모델링 순서
    • 1) 전체 knowledge는 pragraph K이다.
    • 2) 모델링할 때는, 이 중에서 어떤 knowledge을 사용하지 모르기 때문에 K'개 (=5개) pragraph을 tf-idf로 뽑는다.
    • 3) 즉 persona 문장들 / knowledge paragraph K' / 대화 히스토리를 통해 CR이란 벡터를 만든다.
    • 4) CR과 knowledge candidates와 비교하여 실제 사용할 knowledge을 찾는다.
      • 여기서 knowledge candidates는 데이터 만들때, 어노테이터가 태깅한 knolwedge가 한 개, 나머지 랜덤 샘플링을 통한 distractor 9개해서 총 10개가 후보로 데이터가 저장되어있다.
      • knowledge는 대화만들때 항상 사용되는 듯?
      • 여기서 궁금한건 실제 시나리오에서는 candidates라는게 없다면 이 candidates을 어떻게 설정해야할까? 모든 paragraph K 문장들? tf-idf로 뽑은 paragraph K'에 해당하는 문장들?
      • 아니면 시스템을 설정할 때, 사용할 knowledge을 따로 설정하는 시나리오로 해도 괜찮을거 같기도?
    • 5) CR과 persona들과 비교하여 실제 사용한 persona을 찾는다.
      • persona는 항상 사용되는 것은 아니기 때문에 persona가 사용되지 않을 수도 있다.
    • 6) 사용되는 knowledge와 persona와 대화 히스토리를 concat하여 GPT2 혹은 BART로 다음 문장을 생성하도록 학습한다.

0 Abstract

  • 인간은 일반적으로 대화 상대의 주제와 배경 정보에 대한 사전 지식을 사용하여 대화를 합니다. 
  • 그러나 기존의 대화형 에이전트와 데이터셋은 이러한 종합적인 정보를 고려하지 않아 지식과 페르소나가 적절히 융합된 발화를 생성하는데 한계가 있다. 
  • 이 문제를 해결하기 위해 사용자의 페르소나와 Wikipedia 지식을 사용하여 맞춤형 답변이 구축되는 FoCus(For 맞춤형 대화) 데이터 세트를 도입합니다. 
  • 사전 훈련된 언어 모델의 정보 및 맞춤형 발화 능력을 평가하기 위해 BART 및 GPT-2는 물론 transformer 기반 모델을 활용합니다. 
  • 우리는 자동 점수로 생성 능력을 평가하고 정성적 결과에 대한 인간 평가를 수행합니다. 
  • 우리는 제안된 두 가지 하위 작업인 페르소나 기반(PG)과 지식 기반(KG)을 통해 모델이 적절한 페르소나와 지식을 반영하는지 여부를 조사합니다. 
  • 또한 기초 품질 평가를 통해 데이터의 발화가 적절한 지식과 페르소나로 구성되었음을 보여줍니다.

1 Introduction

  • 채식주의자가 뉴욕에 있는 레스토랑을 추천해 달라는 요청을 받은 사람은 일반적으로 볼프강 스테이크하우스를 추천하지 않습니다. 
  • 사람들은 다른 사람에게 정보를 제공할 때 대화 상대의 배경을 고려합니다. 
  • 이러한 인간의 대화 방식에 이어 사전 지식과 사용자의 개인 정보를 바탕으로 맞춤형 답변을 제공하는 대화형 에이전트의 능력은 사용자를 만족시키는 데 중요합니다. 
  • 예를 들어 그림 1과 같이 사용자의 페르소나와 지식을 모두 고려한 답변은 정보를 제공할 뿐만 아니라 훨씬 매력적입니다.
  • 인간-기계 대화에 대한 연구는 다양한 대화 데이터 세트와 사전 훈련된 언어 모델의 발전으로 인해 최근 상당한 성공을 거두었습니다. 
  • 눈부신 성공에도 불구하고 사용자의 개인 정보를 반영한 지식 기반 답변을 제공하는 모델의 기능은 크게 제한적입니다.
  • 선호도, 관심 또는 경험과 같은 사용자의 페르소나를 고려하는 여러 데이터 세트와 모델이 있습니다(Majumder et al. 2020; Xu et al. 2020; Wu et al. 2019; Zhang et al. 2018; Rashkin et al. 2018; Shuster et al. 2018; Li et al. 2017; Joshi, Mi, and Faltings 2017), 이는 사용자의 감정과 관심사에 대해 이야기할 수 있는 에이전트 구축에 기여합니다. 
    • 대화 에이전트는 페르소나에 액세스할 수 있지만 지식이 없으면 전문 지식으로 답변을 생성하는 능력이 제한되는 경우가 많습니다.
  • 한편, 보다 지식이 풍부한 답변을 생성하는 대화 에이전트를 구축하기 위해 유익한 답변이 포함된 데이터 세트가 출시되었습니다 (Dinan et al. 2018; Zhou, Prabhumoye, and Black 2018). 
    • 이러한 데이터 세트에서 대화 에이전트는 문서에서 필요한 지식을 검색하는 방법을 배웁니다. 
    • 그러나 이러한 데이터 세트는 사용자 정의 답변 생성을 제한하는 사용자의 페르소나를 고려하지 않습니다. 
  • 사용자의 배경을 고려하지 않고 많은 양의 지식을 제공하는 것은 사람들이 관심 분야에 따라 다양한 지식을 필요로 할 수 있기 때문에 사용자에게 쓸모없는 정보를 제공할 수 있습니다.
  • 페르소나와 지식을 모두 활용하는 능력을 위해 이들을 혼합하려는 몇 가지 시도가 있었습니다(Smith et al. 2020; Roller et al. 2020). 
    • 그러나 기존 데이터 세트를 연결하기만 하므로 모델은 두 소스가 아닌 한 번에 하나의 소스만 처리합니다. 
    • 페르소나와 지식을 발화에 융합시키는 작업이 거의 이루어지지 않았기 때문에 맞춤형 지능형 대화 에이전트를 구축하기 위한 충분한 조건이 있을 수 없었습니다. 
  • 이 작업에서는 사용자의 페르소나를 반영하는 지식 기반 답변을 지원하는 새로운 데이터 세트인 For 맞춤형 대화 데이터 세트(FoCus라고 함)를 소개합니다. 
  • 사람들이 선호도에 따라 다양한 유형의 지식을 필요로 하는 상황 중 하나는 세계를 여행할 때 발생합니다. 
  • 랜드마크에 대한 지식은 역사, 디자인, 구조, 용도, 관광 및 지질 정보의 범위를 포괄하므로 지식의 다양성이 보장됩니다. 
  • 이러한 상황에서 영감을 받아 에이전트가 사용자의 페르소나를 고려하여 지리적 랜드마크에 대한 지식을 알려주는 데이터 세트를 구축했습니다. 
  • 우리의 기여는 다음과 같습니다: 
    • 발화에 지식과 맞춤형 답변이 모두 포함된 FoCus 데이터 세트를 처음으로 제시합니다.
    • 우리는 데이터셋에서 훈련된 기본 생성 모델을 제안하고 자동 점수로 평가하고 생성 능력과 관련하여 인간 평가를 수행합니다.
    • persona grounding (PG) and knowledge grounding (KG)와 같은 grounding 능력을 측정하기 위한 두 가지 하위 작업을 제공합니다.

2 FoCus Dataset

  • 특정 주제의 다양한 영역을 다루기 위해 우리는 geographical 랜드마크에 대한 Wikipedia 지식에 대해 이야기하는 설정 아래에 대화를 배치했습니다. 
  • 주어진 랜드마크의 문서는 다양한 영역의 다양한 정보를 제공하므로 우리의 데이터셋은 전문 지식이 필요한 상황에 잘 적용됩니다. 
  • 이 섹션에서는 데이터 수집 프로세스와 수집된 데이터의 분석에 대해 설명합니다. 
  • 또한 데이터 세트에서 관찰된 세 가지 유형의 맞춤형 답변을 보여줍니다.

2.1 Dataset Creation

  • Amazon Mechanical Turk (AMT)를 통해 지리적 랜드마크 안내에 대한 대화를 수집했습니다. 
  • 대화 주제로 Google Landmarks Dataset v2(GLDv2)에서 랜드마크를 선택했습니다.
  • 다양한 랜드마크에 대한 위키피디아 페이지는 5,316개이며, 역사, 디자인, 관광, 건축물 등 풍부한 주제를 담고 있는 8,000자 이상의 콘텐츠를 보유하고 있습니다. 
  • 페르소나 문장의 경우 다양성을 암시하는 랜드마크 키워드와 관련된 27,170개의 고유한 페르소나 문장이 있습니다.
  • 작업자에게 지식 소스로 해당 Wikipedia 페이지를 제공했습니다. 
    • 주제의 다양한 측면에 대한 풍부한 설명이 있는 페이지를 선택합니다.
    • 글자수가 8,000개 이상인 페이지만 채택했습니다.
  • 작업자는 2단계 데이터 생성 절차를 지시받았습니다.
    • 1단계. 페르소나를 만들고 2단계. 대화를 만듭니다.
  • Step 1. Make a Persona.
    • FoCus 데이터 세트에서 우리는 5개의 문장으로 설명되는 페르소나를 experience, preference, possession, hobby or interest에 대한 문장이 될 수 있는 개인 배경으로 정의합니다. 
    • 직원들은 자신의 아바타와 랜드마크를 선택하도록 지시받았습니다. 
    • 그런 다음 랜드마크에 대한 가상의 개인 배경을 만듭니다. 
    • 작업자가 topic-relevant persona를 생성하도록 장려하기 위해 주어진 Wikipedia 페이지에서 키워드를 추출하고 키워드를 통해 페르소나 문장을 만들 수 있습니다.
    • 키워드를 기반으로 페르소나를 생성하면 주제와 페르소나가 밀접하게 관련되어 그림 2와 같이 더 매력적인 대화로 이어집니다. 
    • 한편 작업자는 주제에 구애받지 않는 페르소나 문장을 만들 수도 있습니다.
    • 먼저 랜드마크를 고른다.
    • 그리고 랜드마크에 대한 위키피디아에서, 이에 관련된 주제를 가진 페르소나를 생성하게끔 한다.
    • 꼭 이에 관련된 것은 아니여도 된다고 함.
  • Step 2. Make a Dialog.
    • 페르소나 문장을 만든 후 작업자는 페르소나와 랜드마크 지식을 모두 고려하여 대화를 작성하도록 지시했습니다. 
    • 이전 데이터 세트에서 수행된 절차와 달리 인간과 기계의 역할을 번갈아 가며 단독으로 다중 라운드 대화를 만들도록 지시하여 보다 일관되고 자연스러운 대화를 가능하게 했습니다. 
    • 우리는 대화 생성 설정에 대한 파일럿 연구를 수행했으며 1인 설정의 데이터가 특히 페르소나와 지식을 융합하는 데 품질이 높다고 결론지었습니다. 
      • 질문을 하는 사람이 다른 사람보다 자신에게 필요한 지식이 무엇인지 더 잘 알기 때문에 1인 설정의 데이터가 관련성이 높고 맞춤화된 답변을 제공했습니다.
    • 즉 혼자서 사람과 기계의 역할을 번갈아서 한다는 것
      • 페르소나는 기계의 것
    • 또한 답변을 할 때 페르소나 또는 지식에서 작업자가 사용한 소스를 표시하도록 하여 기계 답변의 grounding 소스를 수집했습니다.
      • 그림 2 참고
      •  예를 들어 페르소나를 사용한 경우 해당 페르소나 문장을 표시하고, 위키백과 지식을 사용한 경우 위키백과 페이지에 참조 문장을 표시합니다. 
      • 이러한 근거 정보는 모델이 답의 출처를 근거로 삼는 능력을 평가하는 데 사용됩니다. 
      • 모델의 접지 능력은 제안된 persona grounding (PG) 및 knowledge grounding (KG) 하위 작업을 통해 정량적으로 측정할 수 있으며 이는 실험 섹션에서 설명합니다.

2.2 Dataset Analysis

  • 우리는 상세한 통계와 함께 우리의 데이터세트와 다른 데이터세트 간의 비교를 보고합니다. 
  • 또한 데이터 세트에 있는 맞춤형 답변의 특성을 분석합니다.
  • Dataset Statistics
    • 마침내 우리는 평균적으로 대화당 6라운드로 14,452개의 대화를 수집했습니다. 
    • 대화 수, 평균 회전 수, 발화 및 사용된 데이터 소스를 포함하여 FoCus 데이터 세트를 다른 데이터 세트와 비교한 내용이 표 1에 나와 있습니다. 
    • 수집된 데이터를 학습 세트, 유효 세트 및 테스트 세트로 분할합니다. 
    • 기계 발화의 평균 길이는 기차 세트에서 약 141.13으로 학습 세트에서 약 40.94인 인간의 발화보다 훨씬 깁니다. 
    • 질문에 답할 때 기계가 전문 지식을 제공하기 때문입니다. 
    • 또한 지식 전용 답변이 44,518개, 페르소나 지식 답변이 42,194개였습니다. 
    • 데이터 세트의 자세한 통계는 표 2에 요약되어 있습니다. 
  • Types of Customized Answers 
    • 기계의 응답은 의도에 따라 Inform, Confirm, and Suggest 의 3가지 유형으로 분류할 수 있습니다. 
    • 각 인텐트 유형의 특성을 설명합니다. 
    • Utt. 발언을 나타냅니다.
  • Inform.
    • 페르소나를 반영하지 않은 답변은 이전 대화 데이터 세트의 유형과 유사한 Inform으로 분류될 수 있습니다. 
    • 이러한 유형의 답변은 답변을 할 때에만 지식을 활용합니다. 
    • 그림 2에 예시된 바와 같이 섬의 크기를 알려주는 답이 그 예 중 하나이다.
  • Confirm. 
    • Confirm의 목적은 그림 2의 첫 번째 답변에 나와 있는 것처럼 사용자의 페르소나를 rephrase하고 이에 대한 동의를 표시하는 것입니다.
    • 기계의 응답은 싱가포르 방문에 대한 사용자의 선호도를 확인합니다. 
    • 이러한 유형의 답변은 주어진 페르소나 문장이 반영되기 때문에 Inform 의도가 있는 답변보다 상대적으로 더 매력적입니다.
    • Zhang의 답변과 유사합니다. 
    • 그러나 이러한 답변의 범위는 여전히 제한적이며 페르소나는 답변에 깊이 활용되지 않습니다.
  • Suggest. 
    • 위의 두 답변 유형과 달리 제안 유형의 답변은 사용자가 좋아하거나 즐길 수 있는 추가 정보를 추천하거나 사용자가 싫어하거나 불편할 수 있는 특정 지식을 제안합니다. 
    • 이러한 답변은 사용자의 페르소나를 고려하여 사용자에게 맞춤화된 지식을 제공하며 다른 데이터 세트에는 도입되지 않았습니다. 
    • 예를 들어, 사용자가 투어 중 어트랙션을 즐기기 때문에 유니버설 스튜디오를 추천하는 기계의 답변에는 제안 의도가 있습니다.

3. Model

  • 검색 모듈과 대화 모듈로 구성된 FoCus 데이터 세트에서 훈련된 기본 모델을 소개합니다. 
  • retrieval 모듈은 질문과 관련된 knowledge paragraphs을 검색하고 dialog 모듈은 retrieved knowledge paragraphs, 인간의 페르소나 및 이전 발화를 입력으로 가져와 기계의 발화를 생성합니다. 
  • 우리 모델의 개요는 그림 3에 나와 있습니다.

3.1 Notation

  • FoCus 데이터셋은 N개의 대화로 구성되며 각 대화는 D = {(uh1 , um1 ), ..., (uhR, umR )} 와 같은 R 라운드로 구성되며 인간 uh 및 기계 um의 발화를 사용합니다.
  • 대화는 해당 인물 및 랜드마크 지식과 함께 제공됩니다.
    • 인간의 페르소나는 P로 표시하고, 랜드마크에 대한 지식 문서는 K로 표시한다.
  • 우리는 각각의 페르소나와 지식의 후보 세트인 Cp와 Ck를 더 정의합니다. 
    • 각각 Cp와 Ck는 매 턴마다 주어지고 정답과 distracting 답변으로 구성됩니다. 
    • 이러한 후보 중에서 정답을 선택하는 방법을 학습하여 에이전트의 grounding 능력을 향상시키는 데 사용할 수 있으며 자세한 내용은 실험 섹션에 있습니다.
  • Cp와 Ck의 후보의 수는 각각 J와 S이다.
    • 즉 persona 문장들과 knowledge 문장들이 J, S 개수만큼 주어진다는 것 같은데

3.2 Retrieval Module

  • 과도한 메모리 소비를 피하기 위해 우리는 Wikipedia 문서를 인간 uh 의 주어진 발화와 관련된 5개의 단락 K'로 좁힐 수 있는 검색 모듈을 제시합니다.
    • KNN, TF-IDF 및 밀집된 구절 검색 방법 중 빠르고 효율적인 계산을 위해 가장 관련성이 높은 상위 5개 paragraph을 검색하기 위해 TF-IDF 점수를 선택합니다.
    • 즉 문단 K에서 tf-idf을 이용해서 5개의 paragraph K'을 뽑는다는 거다.
  • 검색 기능을 보장하기 위해 BERTscore는 검색된 단락이 의미론적으로 골드 지식과 얼마나 유사한지를 추정하는 데 사용됩니다.
    • gold knowledge은 주어진 Wikipedia 단락에서 선택한 문장으로 작업자에 의해 재구성됩니다.
    • gold knowledge과 top 1 paragraph 사이의 평균 BERTscore는 약 83%로 비교적 높은 점수입니다.
  • 결과적으로 TF-IDF 점수는 주어진 지식 문서 K에서 다섯 개의 문단 K'를 선택하는 데 사용되며 이는 그림 3과 같이 답변에 대한 지식 소스로 활용됩니다.
    • TF-IDF로 5개의 paragraph 후보를 뽑고, 이중 top1과 gold knowledge BERTScore을 측정해보니 83%로 꽤 유사하다는 것인 듯.
    • 우리는 검색된 단락에 대한 평가 후 last question of human과 possible knowledge paragraphs 사이의 term frequency-inverse document frequency (TF-IDF) 유사성 점수를 계산합니다.
  • 검색된 구절의 평균 토큰 수는 약 132개이며 처음 150개 토큰만 입력으로 사용됩니다.

3.3 Dialog Module

  • 관련 지식 단락을 선택한 후 모델은 먼저 context-relevant representations을 생성하여 주어진 knowledge, persona및 history와 매우 관련성이 높은 벡터를 얻습니다. 
  • 표현은 각각 Cp와 Ck에서 페르소나와 지식을 선택하는 데 사용됩니다.
    • 선택된 지식과 페르소나는 대화 기록과 연결되어 기계의 응답과 함께 언어 모델링에 입력됩니다. 
  • 결과적으로 우리의 훈련 목표는 주어진 페르소나와 지식 후보 Cp와 Ck 중 페르소나 기반, 지식 기반, 발화 생성을 위한 언어 모델링으로 구성되며, 이는 MTL(Multi-task learning) 방식으로 훈련됩니다.
  • 후보 J와 S는 각각 5명과 10개이다.
    • 즉 맨처음의 입력은 persona 5개 문장과 10개 knowledge개의 지식 문장이 입력이다.
  • Context-Relevant Representation
    • 대화 모듈은 먼저 현재 대화 차례의 컨텍스트 관련 표현(CR)을 만듭니다.
    • 선택된 knowledge paragraphs K'와 페르소나 및 history 연결 [P;U]이 입력으로 제공됩니다.
    • 그것들은 변환기에 의해 인코딩되어 각각 T(K') 및 T([P;U])가 됩니다. 
      • 여기서 T는 변환기 모델을 나타냅니다.
    • 그런 다음 T(K')는 attention 메커니즘으로 업데이트되고 T([P;U])와 연결되어 최종 표현 CR이 됩니다.
  • Persona Grounding
    • 답변을 할 때 인간의 적절한 페르소나를 반영하는 모델을 만들기 위해 모델은 CR 표현이 주어졌을 때 어떤 페르소나를 활용할 것인지 학습합니다. 
    • 여러 페르소나 문장이 실제 답변에 없을 수 있으므로 모델을 학습하여 페르소나 후보 간에 사용할 각 페르소나 문장을 구별합니다. 
    • 각 후보자에게 특별한 토큰이 추가됩니다. 
    • CR과 각 후보의 특수 토큰에 대한 마지막 숨겨진 상태 표현을 연결하여 이를 활용합니다. 
    • 손실 함수는 다음과 같이 정의됩니다.
    • j번째 페르소나 문장이 진실이면 1로 정의된 레이블을 나타내는 qj*, 그렇지 않으면 0입니다. 
    • h(pj)는 m 의 특수 토큰의 마지막 은닉 상태 표현입니다. 
    • Prob([CR; ℎ(pj)])는 모델의 추정 확률입니다.
    • 즉, 모든 persona와 K'개의 knowledge들과 history을 이용해서 CR을 추출하고
    • 이 CR과 persona와의 관계를 통해서 persona grounding을 하겠다는 것
  • Knowledge Grounding.
    • 이 모델은 또한 지식 기반을 사용하여 유익한 답변을 생성하는 방법을 배웁니다.
    • Ck는 실제 문장과 다른 랜드마크의 문서에서 나온 주의를 distracting candidates로 구성됩니다.
    • 각 라운드에서 knowledge candidates가 주어지면 모델은 CR과 knowledge candidates의 특수 토큰에 대한 마지막 숨겨진 상태 표현을 연결하여 질문에 답하는 데 사용할 것으로 예상되는 하나의 지식 항목을 선택하도록 훈련됩니다.
      • 위 예시에서보면, knowledge가 총 32개가 있는데, 이는 위키피디아 페이지의 모든 paragraph이다.
        • 이들중 5개의 paragraph K'을 뽑는다. (이는 실제로 tf-idf로 뽑는 것?)
        • CR을 만들때는 paragraph K'가 들어간다.
        • CR와 10개의 knowledge candidate을 이용해서 knowledge grounding을 한다.
        • 10개 knowledge의 label은 7번째 index라는 것 (데이터를 보니, 무조건 사용하는 knowledge가 있는 듯하다)
        • 즉 이 예시에서는 knowledge grounding을 학습할 때, Ck가 10개의 knowledge candidates가 되고 label은 1개의 1과 9개의 0이 되는 것
        • 여기서 실제 사용된 knowledge는 paragraph에 포함된 문장으로 데이터를 만들 때 표시하도록 받은 것이다.
        • 나머지는 랜덤 샘플링?인거 같다. (paragraph에 없음)
      • persona은 각 persona에 대해 사용여부의 label이 주어진다. (True or False)
        • CR을 만들떄는 5개의 persona가 다 들어가고, 이와 각 persona을 사용해서 persona grounding을 하게 된다.
        • persona는 사용하지 않을 수도 있음.
      • 만약 candidates가 없다면? paragraph의 모든 문장들이 후보가 될 수 있을듯..
    • qs*는 s번째 knowledge paragraph 이 사실이면 1로 정의된 레이블을 나타내고, 그렇지 않으면 0입니다. 
    • h(ks)는 ks의 특수 토큰의 마지막 숨겨진 상태 표현입니다.
    • Prob([CR; h(ks)])는 모델의 추정된 확률입니다.
  • Language Modeling.
    • 생성 에이전트를 만들기 위해 자동 회귀 방식으로 기계의 발언을 모델링합니다. 디코더 전용 및 인코더-디코더의 두 가지 유형의 모델 구조를 고려합니다. 
    • Jelinek, Bengio의 전작에 이어, 언어 모델링 손실 함수는 다음과 같이 정의됩니다.
    • 여기서 Prob(·)는 언어 모델의 확률, xi는 um의 i번째 토큰, I는 토큰 수, v는 시퀀스 [Kˆ; Pˆ;U]로 Kˆ, Pˆ 및 U를 연결합니다.
    • Kˆ와 Pˆ는 각각 지식 기반(KG) 및 페르소나 기반(PG) 작업에서 모델에 의해 예측된 후보입니다.
    • 즉, grounding으로 persona와 knowledge의 후보들을 grounding으로 뽑아서, 이를 앞에 concat시키는 방식의 LM 모델링을 쓴다는 것
    • 디코더 전용 모델에서는 [Kˆ; Pˆ;U]는 이전 토큰의 시퀀스로 정의되며 인코더-디코더 모델에서 인코더 입력으로 사용됩니다.
  • Full Objectives.
    • 전체 손실 함수는 (Radford et al. 2018; Wolf et al. 2019)에서와 같이 언어 모델링 및 하위 작업의 음의 로그 가능성을 최소화하는 것을 목표로 합니다. 
    • 전체 교육 목표는 다음과 같이 정의됩니다.
    • 여기서 $\lambda$는 훈련 중 각 작업의 비율을 제어합니다. 
    • 실험에서 $\lambda_{LM}$, $\lambda_{PG}$, $\lambda_{KG}$는 각각 10, 1, 1로 설정하였다. 
    • $\lambda$는 수동 검색에 의해 선택됩니다.

4. Experiments

  • 이 섹션에서는 기준선, 교육 설정 및 평가를 포함한 실험의 모든 세부 정보를 설명합니다. 
  • 또한 데이터 세트에서 훈련된 대화 모델의 실험 결과와 인간 평가를 분석합니다. 

4.1 Language Model Baselines

  • 먼저 변환기 디코더, 변환기 인코더-디코더, GPT-2 및 BART를 포함한 기본 언어 모델을 설명합니다. 
  • 이러한 모델은 다중 작업으로 훈련되어 어떤 페르소나와 지식을 사용할지 선택하고 발언을 생성할 수 있습니다.
  • HuggingFace의 변환기(Wolf et al. 2020, 2019)의 소스 코드를 기반으로 모델을 구현합니다. 
  • Transformer-based Models. 
    • 우리는 변압기(Vaswani et al. 2017) 구조로 모델을 훈련합니다. 
    • 디코더 전용 모델과 인코더-디코더 모델은 모두 발화를 생성하는 데 사용됩니다. 
    • 사전 학습의 효율성을 평가하기 위해 다음 사전 학습된 언어 모델과 동일한 구조를 갖도록 변환기 계층을 설정했습니다.
  • Pre-trained Language Models. 
    • 우리는 GPT-2(Radford et al. 2018)와 BART(Lewis et al. 2019)를 사전 훈련된 디코더 전용 모델과 사전 훈련된 인코더-디코더 모델로 각각 채택합니다. 
    • 방대한 코퍼스에서 엄청난 수의 매개변수를 훈련합니다.

4.2 Experimental Setup

  • 우리는 12개의 레이어와 768개의 임베딩 차원을 가진 12개의 어텐션 헤드가 있는 GPT-2(소형)와 인코더와 디코더 모두에 6개의 레이어가 있는 BART(베이스)와 768개의 임베딩 차원을 가진 12개의 어텐션 헤드를 훈련합니다.
  • 우리는 4의 배치 크기와 32의 그래디언트 누적을 사용합니다. Adam 옵티마이저가 사용되었으며 학습률은 6.25e-5로 설정되었습니다. 
  • 여기서 $\beta_1$ = 0.9, $\beta_2$ = 0.999(선형 감쇠 포함)입니다.
  • 초매개변수 설정의 경우 PERSONA-CHAT(Zhang et al. 2018) 및 Wizard-of-Wikipedia(Dinan et al. 2018) 데이터 세트에서 훈련된 모델의 초기 초매개변수를 채택합니다.
  • 후보 중에서 가장 좋은 성능을 보인 하이퍼파라미터를 선택합니다.
  • 2개의 에포크로 전체 데이터를 미세 조정하는 데 하나의 RTX-8000 GPU로 약 10시간이 걸립니다.
  • 발화 생성을 위해 top-p = 0.9인 핵 샘플링과 0.7의 샘플링 온도를 사용합니다.
  • 최대 시퀀스 길이는 20으로 설정됩니다. 생성 및 grounding 평가에는 약 30분이 소요됩니다.

4.3 Automatic Score Evaluation

  • 유창하고 매력적이며 유익한 발화를 제공하는 모델의 능력을 평가하기 위해 generating customized responses (생성) 및 discriminating which source to reflect (grounding) 능력을 측정하기 위한 하위 작업이 제공됩니다.
  • Task 1 - Generation. 
    • 생성 능력을 평가하기 위해 다른 생성 작업과 마찬가지로 유창성을 측정하기 위해 perplexity (ppl)가 사용됩니다.
    • Dinan(2019)에 따른 유니그램 F1 점수, BLEU1~BLEU4의 거시 평균값, 요약 평가를 위한 회상 중심 연구(ROUGE-1-F, ROUGE-2-F, ROUGE-LF)를 채택하여 닫기 생성된 답변은 원래 답변입니다.
  • Task 2 - Grounding. 
    • 또한 제안된 PG 및 KG 작업으로 모델의 grounding 능력을 평가하여 모델이 주어진 후보자 중에서 적절한 페르소나 및 지식을 선택하여 답변을 생성하는지 테스트할 수 있습니다.
    • 매 턴마다 다른 페르소나와 지식을 활용하는 기계의 답으로 매 라운드마다 페르소나 후보와 지식 후보를 제공합니다.
    • Cp는 5개의 주어진 페르소나 문장으로 구성되어 있는 반면, Ck는 Wikipedia의 실제 문장과 다른 랜드마크에 있는 다른 문서에서 동일한 수의 문장을 가진 산만한 후보자를 포함합니다.
    • 페르소나 기반 페르소나 선택 및 지식 기반 선택의 정확도를 각각 측정합니다.
  • Analysis
    • Table 3과 같이 트랜스포머 기반 디코더 모델, 인코더-디코더 모델, GPT-2, BART를 실험하였다.
    • 검증 세트와 테스트 세트에서 생성 능력을 분석합니다. 트랜스포머 기반 모델 중 디코더 전용 모델은 인코더-디코더 모델보다 더 높은 생성 성능을 보인다. 
    • grounding 작업에서는 비슷한 성능을 보여줍니다. 
    • GPT2(small) 및 BART(base) 모델은 사전 훈련된 언어 모델로 채택되어 기계의 발화를 생성하도록 훈련됩니다. 
    • grounding 작업의 효율성을 조사하기 위해 두 개의 grounding 하위 작업이 있거나 없는 모델을 추가로 훈련합니다. 
    • 생성 태스크에서 KG(Knowledge Grounding) 태스크로 훈련된 언어 모델이 높은 점수를 보였으며, 특히 KG로 훈련된 BART가 대부분의 생성 점수에서 가장 높습니다. 
    • 하지만 PG(페르소나 grounding) 정확도가 다른 이들에 비해 낮아 매 턴에 맞는 페르소나를 잘 선택하지 못한다. 
    • PG와 KG로 훈련된 언어 모델은 생성 작업과 KG 작업에서 약간 낮지만 비슷한 성능을 보이지만 두 가지 grounding 하위 작업 모두에서 유능한 점수를 보여줍니다. 
    • 모든 결과는 가장 가까운 100분의 1로 반올림되므로 PG의 숫자는 동일한 것으로 보입니다. 
    • PG의 최상의 결과는 특정 숫자로 수렴되며 베이스라인 모델의 상한을 나타냅니다. 
    • 우리의 실험 결과는 생성 작업에 대한 높은 자동 점수가 항상 높은 grounding 능력을 보장하지 않는다는 것을 나타냅니다. 
    • 실험은 유창한 발화를 만들 수 있을 뿐만 아니라 적절한 출처를 선택하고 유능하게 융합할 수 있는 다목적 생성 모델의 필요성을 시사합니다.

4.4 Human Evaluation

  • 기계 발화의 유창성, 참여도 및 일관성을 1에서 5까지의 숫자 척도로 평가하기 위해 테스트 세트에 있는 모델에서 생성된 20개의 대화를 무작위로 선택했습니다. 
  • 세 가지 질문을 설정하고 리커트 척도(Likert 1932)로 답변 수준을 지정했습니다. 
  • 또한, 인간 평가자 MTurk 작업자 2에게 Cho와 May(2020)에 이어 기계가 가장 인간다운 발화를 나타내는 대화의 순서를 각 예시에 대해 순위를 매기도록 요청했습니다. 
  • 순위는 1에서 3까지이며 숫자가 낮을수록 더 나은 품질을 나타냅니다. 
  • 설문 결과는 <표 4>와 같다. 
  • 인간이 만든 골드 데이터는 유창성, 몰입도, 일관성 등 모든 기준에서 1위를 차지해 최고 점수를 기록했다. 
  • GPT-2 및 BART 중에서 PK 및 KG에 대해 교육을 받았으며 BART는 모든 기준에서 GPT-2를 능가하는 것으로 나타났습니다. 
  • 결과는 골드 데이터의 품질이 모델의 세대를 능가함을 보여줍니다. 
  • 사전 훈련된 모델의 방대한 매개변수와 능력에도 불구하고 상황에 따른 응답은 인간의 응답보다 훨씬 덜 매력적이고 유창하며 일관성이 있어 데이터 세트가 상당히 까다롭습니다.

4.5 Grounding Quality Assessment

  • 인간 평가자와 함께 데이터 세트의 grounding 품질을 평가합니다. 
  • 우리는 작업자에게 각 발화의 답변에 Wikipedia 지식이 포함되었는지 또는 Wikipedia 지식과 페르소나 문장이 모두 포함되었는지 평가하도록 요청했습니다. 
  • 데이터 세트에서 무작위로 선택된 200개의 대화를 사용하여 5명의 독립 작업자 3가 각 대화를 평가했습니다. 
  • 표 6의 결과는 잘 근거된 발화의 비율을 보여준다. 
  • 지식만 있는 근거가 있는 발화의 비율은 약 99%이고 지식인에 근거한 답변의 비율은 94% 이상입니다.

5. Conclusion

  • 이 작업에서는 페르소나와 Wikipedia 지식을 모두 활용하여 맞춤형 응답을 포함하는 FoCus 데이터 세트를 도입했습니다.
  • 데이터 세트의 효율성을 검증하기 위해 FoCus 데이터 세트에서 언어 모델을 채택하고 훈련했습니다.
  • 생성 작업과 함께 제공된 PG 및 KG 하위 작업으로 모델의 grounding 능력을 평가합니다.
  • 실험은 사전 훈련된 모델이 생성 작업에서 높은 성능을 보여주지만 반드시 높은 grounding 성능으로 이어지는 것은 아니며 grounding 능력에 제한이 있을 수 있음을 보여주었습니다.
  • 인간 평가 및 grounding 품질 평가에서 볼 수 있듯이 우리의 데이터 세트는 자연스럽지만 기계가 모방하기에는 복잡한 것으로 입증되었습니다.
  • 우리는 FoCus 데이터 세트가 적절한 지식으로 맞춤형 답변을 제공하는 보다 인간과 유사한 에이전트를 구축하는 데 기여할 수 있다고 믿습니다.
  • 또한 모델이 답변을 생성하는 동안 목적을 학습할 수 있도록 각 답변의 의도 유형에 추가로 주석을 달 것입니다.
  • 향후 우리의 데이터셋으로 훈련된 모델은 개인 비서의 형태로 사용자의 페르소나에 따라 전문 지식이 필요한 상황에서 활용될 수 있습니다.
  • 대화 에이전트가 탐색할 grounding 능력을 통해 더 매력적이고 지식이 풍부하도록 연구를 목표로 하기를 바랍니다.

Reference

댓글