NL-146, Learning to Detect Relevant Contexts and Knowledge for Response Selection in Retrieval-based Dialogue Systems, CIKM 2020

◼ Comment

  • 논문의 핵십은 response을 선택할때, context와 persona에서 관련있는 부분을 찾는 step을 추가한 것이다.
  • discrete하게 찾아서 입력으로 넣는 식은 아니고, 그냥 end-to-end로 학습하되, 먼저 response와 context or persona와 attention을 통하는 과정이 있는 것이다.
  • attention을 통해, 모델이 진행되는 과정은 꽤나 복잡하다.
    • 예전에 MRC 논문들을 볼때의 느낌이 났다.
    • 막 복잡하게 attention하고 weight 구하고 resnet처럼 더했다가, concat했다가 등등..
    • 사실 이렇게할때 수많은 모델의 파라미터들이 있는데 그에 대한 설명은 없다.
    • 내 생각엔 직관적으로 흐름을 구상하고 모델 파라미터들은 그냥 실험해보면서 조금씩 변형한게 아닐까 싶다.
    • 중간에 파란글씨로 어느정도 정리한 모델흐름을 살펴보면 된다.
  • 결론은 supervised 학습이고, 성능이 이전보다 올라갔다는 것이다.
    • 2020년 논문인데 BERT 등을 쓴게 아니라, 옛날 방식의 word embedding을 결합한다.
    • 그림을 보면, word2vec, glove, char embedding 3개를 사용한 것으로 보여진다.
  • 하나 또 기억하면 좋을 것이
    • utterance number 부분인데, 너무 많은 context을 쓰면 오히려 성능이 하락한다는 것이다.
    • (논문에서 말하길) 대화 맥락에서 주제 이동이 존재하고, 발화 횟수가 증가함에 따라 모델이 대화 이력과 관련 없는 새로운 주제로 인해 어려움을 겪을 수 있어 성능 저하로 이어질 수 있기 때문입니다.
    • 다른 모델에선 이런 처리를 안하기 때문에 utterance number 3개이하로 썼을때 성능이 가장 좋게 나온다.
  • CIKM 논문은 처음읽어본거 같은데 왜케 긴 느낌이지;;

0 Abstract

  • 최근에, 오픈 도메인에서 knowledge-grounded conversations은 연구자로부터 맏은 관심을 받는다.
  • 검색기반의 대화 시스템들에서 기존의 연구들은 뉴럴 네트워크를 활용해서 매칭 모델을 설계하는 많은 노력을 들이고, context와 knowledge contexts의 모든 것은 다양한 representation 방법들과 함께 response candidate을 매칭하는데 사용된다.
  • 실제로, context와 knowledge의 다른 부분은 적절한 response candidate을 인식하는데 다른 중요성을 가지고, 많은 utterances은 topic 변화때문에 쓸모없다.
  • context와 knowledge 에서 이러한 과도한 불필요한 정보는 매칭 프로세스에 악영향을 주고 성능 저하를 이끌 수 있다.
  • 이러한 문제를 해결하기 위해, 우리는 context와 knowledge collection (RSM-DCK)의 파트와 연관성있는 부분을 검출할 수 있는 MRS 모델을 제안한다.
  • 우리의 모델은 먼저, query로써 최근 context을 사용하여서 word-level과 utterance-level semantics에서 context와 knowledge collection 파트의 연관있는 파트를 미리 선택한다.
  • 더 나아가서, response candidate는 선택된 context와 knowledge collection과 각각 상호작용을 한다.
  • 끝으로, context와 response candiate의 fused representation은 더욱 정확한 매칭을 위해 knowledge collection의 관련있는 파트를 추후 선택한다.
  • 우리는 두 가지 벤치마크 데이터세트에서 제안한 모델을 테스트한다.
  • 실험 결과는 우리의 모델이 기존의 방법들보다 뛰어남과 RS에 관련있는 context and knowledge을 효과적으로 검출하는 것을 가리킨다.

1 INTRODUCTION

  • human-machine conversation은 궁극적으로 AI의 목표이다.
  • 최근에, 지능을 가진 대화 시스템을 만드는 것은 아카데믹 및 산업에서 많은 관심을 받아왔다.
  • 기존의 연구들은 일반적으로 2개의 그룹들로 카테고리화될 수 있다.
  • 첫 번째 그룹은 retrieval-based 대화 시스템들이고, 이는 user 입력 혹은 대화 컨텍스트가 주어졌을 때, response candidates에서 적절한 response을 선택하는 것이고 많은 산업 제품들에 적용되어왔다. (XiaoIce from Microsoft [29] and AliMe Assist from Alibaba [14])
  • 두 번째 그룹은 generation-based 대화 시스템들로, 이는 encoder-decoder 프레임워크로 단어별로 response을 생성한다.
  • 이 논문에서, 우리는 retrieval-based 대화속의 response selection tasks에 집중한다.
  • 전통적인 response selection 테스크에 핵심은 dialogue context와 response candidate 사이의 매칭 정도를 측정하는 것이다.
  • 기전의 연구들은 query로써 user 입력을 가지는 single-turn dialogue systems에 집중하고 최근에 대화 컨텍스트와 user input을 둘다 고려한 multi-turn dialogue systems으로 관심이 바뀌어서, 대화 컨텍스트와 response candidate 사이의 semantic relevance을 계산하여 response candidates을 랭킹하는데 집중한다.
  • sequential matching network는 representation-matching-aggregation 프레임워크를 제안하고, 이는 후속작업이 뒤따른다.
    • 모델은 word와 utterance level에서 utterances와 response candidate 사이의 매칭을 수행하고 매칭 features을 모아서 matching score을 얻는다.
    • deep attention matching network [52]는 여러 수준의 세분성에서 (세분화정도에서) matching features을 캡쳐한다.
    • Interaction over interaction network [32]은 matching features을 모으고 각 세분성의 레벨에서 직접 supervise한다.
  • Human conversations은 background knowledge와 연관이있는 경향을 보여준다.
    • 예를 들어, 영화에 대해 얘기하는 두 사람은, 보통 그들의 뇌에 영화에 대한 사전 지식이 존재한다.
    • 이러한 관측을 기반으로하여, chatbots에서 external knowledge을 기반으로하는 것은 필수적이고, 이는 human-machine conversations이 좀 더 실용적이고 매력적이게 만들어준다 [4].
  • 그래서, 대화 시스템에서 중요한 연구는 external knowledge을 chatbots에 결합하는것으로 최근 이동되었다.
    • Starspace network [36]은 task-specific embedding을 학습하고 대화 컨텍스트에 document을 concat시킨 것과 response candidate 사이의 cosine similarity으로 적절한 response을 선택한다.
    • profile memory 네트워크는 query로써 대화 컨텍스트를 사용하고 document에 대해 attention을 수행해서 query와 결합하고나서 fused query와 response candidate 사이의 similarity을 계산한다.
    • document 기반의 매칭 네트워크 [47]은 대화 컨텍스트와 document을 서로가 상호작용하게하고 독립적으로 추후에 hierarchical attention 메커니즘을 통해 response candidate와 상호작용하게한다.
    • Dual interaction-matching network [8]은 대화 컨텍스트와 document가 response candidate와 각각 cross-attention 메커니즘으로 상호작용하게 한다.
  • retrieval-based 시스템에 대한 기존 작업은 모든 컨텍스트와 지식 내용을 사용하여 response candidate를 일치시키는 다양한 텍스트 일치 모델을 구축하기 위해 신경망을 활용하는 데 엄청난 노력을 기울였습니다.
  • 실제로, context와 knowledge collection의 일부는 response candidate와 연관성이 없고, 이는 모델이 혼란스럽도록 다소 noise을 줘서 성능 저하를 발생시킨다.
    • 이 문제를 설명하기 위해, 우리는 테이블 1에서 예제를 보여준다.
    • 최근 대화 컨텍스트에서, 현재 topic은 영화들에 대한 것이고 따라서 영화에 대한 이전의 utterances들은 좀 더 가중치가 주어지고 영화에 관련없는 utterances들은 가중치가 적게 된다. (즉 대화 컨텍스트에서 4번째 발화와 같은 것)
  • 유사하게, knowledge collection에서, 예를 들어, B의 profile중 두번째 문장은 다른 프로필문장보다 더욱 가중치를 할당해야 한다.
  • 이 예제는 많은 utterances들은 쓸모없기 때문에, context와 knowledge의 다른 파트들이 적절한 response candidate을 인식하는데 차별적으로 중요하다는 것을 말한다.
  • context와 knowledge에서 이렇게 과도하게 쓸모없는 정보는 매칭 프로세스에 영향을 준다.
  • 위의 문제를 해결하기 위해서, 우리는 context와 knowledge collection의 관련있는 파트들을 검출하는 multi-turn Response Selection Model을 제안한다 (RSM-DCK).
  • 모호성없이, 우리는 documents로써 knowledge collection라고 하고, RSM-DCK는 knowledge graphs와 같은 knowledge resources의 다른 타입들에 적용이 가능하다.
  • 모델은 먼저 대화 컨텍스트의 최근 utterances을 query로 사용하고 dialogue context와 document의 관련있는 파트를 미리 선택한다.
    • 그리고나서, 선택된 dialogue context와 document는 response candidate와 cross-attention을 통해 개인적으로 상호작용하고 BiLSTM은 context, document, response candidate의 matching feature을 각각 aggregate하는데 적용된다.
  • 대화 context안의 utterances사이에서 inter-dependency와 temporal relationship 때문에, 또다른 BiLSTM은 대화 컨텍스트를 축적하는데 적용된다.
  • knowledge collection에서 가장 관련있는 문장들을 선택하기 위해, 미리 선택된 대화 컨텍스트와 response candidate의 fused representation은 query로써 활용되어서 attention 메커니즘으로 document을 post-select을 한다.
    • document에서 문장들은 상대적으로 독립적이고 그들중 하나만이 true response와 연관되어있기 떄문이다.
  • 우리는 두 가지 벤치마크 데이터세트에 대해 multi-turn knowledge-grounded response selection을 실험한다.
    • Original/Revised Persona-Chat dataset [44], and the CMUDoG dataset [50]. 
  • 실험 결과들은 우리의 모델이 모든 데이터세트의 모든 metrics에 관하여 뛰어남을 가리킨다.
  • 뛰어난 베이스라인인 dual interaction-matching-network와 비교해서, 우리 모델은 Original Persona-Chat 데이터 세트에서 𝑅20@1에서 0.9% 절대 개선, Revised Persona-Chat 데이터 세트에서 𝑅20@1에서 1.2% 절대 개선, CMUDoG 데이터 세트에서 𝑅20@1에서 0.7% 절대 개선을 달성했습니다.

2 RELATED WORK

  • 검색 기반 개방형 도메인 대화 시스템은 사용자 입력과 응답 선택을 위한 후보 응답 간의 유사성을 계산하기 위해 매칭 모델을 학습합니다.
  • 초기 연구에서는 사용자 입력을 쿼리로 간주하는 단일 턴 대화에 중점을 두었고[11, 34, 35], 최근에는 대화 이력과 사용자 입력을 모두 고려하는 다중 턴 대화로 이동합니다.
  • 대표적인 방법으로는 다음을 포함한다.
    • Dual LSTM [19], 
    • the deep learning-to-respond architecture [40], 
    • the multi-view matching model [51], 
    • the sequential matching network [37], 
    • the deep attention matching network [52], 
    • the multi-representation fusion network [31], 
    • the interaction-over-interaction matching network [32], 
    • and the interaction matching network [7]. 
  • 지식은 현실 세계에서의 대화에 매우 중요합니다. 
  • 지식의 부족은 대화 시스템을 의미론적 문제[49]와 일관성 문제[16, 26]로 고통스럽게 만듭니다.
  • 게다가, 대화에 지식을 통합하는 것은 보다 설명 가능하고 유익한 응답을 생성하거나 선택하는 데 유익한 것으로 나타났습니다[4, 8, 22, 47, 48].
  • 지식 기반 대화 시스템에 대한 기존 작업은 일반적으로 지식의 유형에 따라 두 그룹으로 분류할 수 있습니다.
    • 첫 번째 그룹은 문서가 사용자 프로필 및 Wikipedia 기사와 같은 구조화되지 않은 텍스트인 문서 기반 대화 시스템입니다 [4, 5, 8, 44, 47, 50].
    • 두 번째 그룹은 지식 그래프가 엔티티 간의 의미 유형, 속성 및 관계를 포함하는 엔티티의 대규모 네트워크인 지식 그래프 기반 대화 시스템입니다[18, 41, 49].
  • 두 그룹 모두에서 모델은 더 나은 응답을 위해 컨텍스트 및 지식 수집의 관련 부분을 식별해야 합니다.
  • 최근 응답 생성 및 응답 선택에서 컨텐츠 선택을 사용한 Multi-turn context modeling이 널리 연구되었습니다.
  • 응답 생성에서 Xing[39]은 계층적 주의 메커니즘을 통해 단어 및 발화 수준 모두에서 대화 컨텍스트의 중요한 부분을 선택하기 위해 디코더의 숨겨진 상태를 사용하는 계층적 순환 주의 네트워크를 제안합니다.
  • 대화의 맥락을 효과적으로 모델링하기 위해 Zhang[45]은 대화에서 각 발화의 중요성을 평가하고 맥락적 표현을 얻기 위해 두 가지 유형의 주의 메커니즘(dynamic and static attention 포함)을 제안합니다.
  • Zhang [43]은 자체 주의 메커니즘이 컨텍스트와 마스크 응답 표현을 모두 업데이트하고 각 컨텍스트와 응답 표현 간의 주의 가중치가 디코딩 프로세스를 안내하는 관련 점수로 계산되는 ReCoSa라는 모델을 제안합니다.
  • 응답 선택에서 Zhang[46]은 마지막 발화 표현이 선행 발화를 정제하여 회전 인식 표현을 얻은 다음 발화 간에 자기 주의 메커니즘을 적용하는 심층 발화 집계 모델을 제안합니다.
  • Yuan[42]은 대화 컨텍스트의 후반부가 단어 및 발화 수준 모두에서 관련 발화를 선택하기 위한 쿼리로 사용되는 다중 홉 선택기 네트워크를 제안합니다.
  • knowledge에는 지식 기반 대화에 중복 항목이 많이 포함되어 있기 때문에 Lian[17]은 지식 선택을 용이하게 하기 위해 지식에 대한 사전 및 사후 분포를 모두 활용하는 지식 선택 메커니즘이 있는 모델을 제안합니다.
  • Kim [12]은 다중 회전 대화에서 지식 수집의 적절한 선택을 위해 응답 정보를 더 잘 활용하기 위해 순차 잠재 변수 모델을 사용하는 순차 지식 변환기를 제안합니다.
  • 이전 작업과 달리 우리 모델은 신중하게 설계된 선택 메커니즘으로 대화 컨텍스트와 지식 수집을 모두 선택합니다.

3 PROBLEM FORMALIZATION

  • 지식 컬렉션이 D = {𝑐𝑖 , 𝑘𝑖 , 𝑟𝑖 , 𝑦𝑖 }^𝑁_𝑖=1 인 대화 데이터세트가 있다고 가정합니다.
    • 여기서 𝑐𝑖 = {𝑢𝑖,1, 𝑢𝑖,2, ..., 𝑢𝑖,𝑛𝑐 }는 conversational context을 나타내고, nc는 대화 컨텍스트의 utterances의 수를 의미한다.
  • 𝑘𝑖 = {𝑘𝑖,1, 𝑘𝑖,2, ..., 𝑘𝑖,𝑛𝑘 }는 knowledge의 collection을 나타내고, 𝑛𝑘는 knowledge collection의 문장 수를 의미한다.
    • 즉, 이를 persona 문장들이라고 생각하면 될 듯
  • 𝑟𝑖는 candidate response을 의미하고, 𝑦𝑖 ∈ {0, 1}는 label이다.
    • 𝑦𝑖 = 1는 𝑟𝑖가 𝑐𝑖 and 𝑘𝑖에 대해 적절한 response을 말하고, 반대인 경우는 𝑦𝑖 = 0이다.
  • 𝑁는 training samples의 수이다.
  • 테스크는 D로부터 matching model 𝑔(𝑐, 𝑘, 𝑟) 을 학습하는 것이고, 그래서 새로운 context-knowledge-response tripl (𝑐, 𝑘, 𝑟)에 대해 𝑔(𝑐, 𝑘, 𝑟)은 𝑟 and (𝑐, 𝑘) 사이의 matching degree을 반환한다.

4 MODEL

4.1 Model Overview

  • 우리는 deep interaction을 가진 matching network인 모델 𝑔(𝑐, 𝑘, 𝑟)을 제안한다.
  • 그림 1은 RSM-DCK의 구조를 보여주고, 이는 6개의 layers로 구성되고, 아래에서부터 representation layer, encoding layer, selection layer, matching layer, aggregation layer, prediction layer라고 명명한다.
  • representation layer에서, 
    • embedding의 여러 타입들이 words을 표현하는데 채택된다.
  • encoding layer에서, 
    • BiLSTM은 context, knowledge collection, candidate responses을 인코딩하는데 채택된다.
  • selection layer에서,
    • context의 최근 파트들은 query로 사용되어서 관련있는 context 𝑐 and knowledge collection 𝑘의 관련있는 파트들이 pre-select된다.
  • matching layer에서,
    • context 𝑐 and knowledge collection 𝑘는 candidate response 𝑟과 attention 메커니즘으로 각각 상호작용한다.
  • aggregation layer에서,
    • 또 다른 BiLSTM은 context의 utterances사이의 의존성을 고려하여 matching signals을 추출하는데 사용된다.
  • 테이블 1에서 보여주듯이, knowledge collection안의 문장들은 각각이 독립적일 것이다.
  • 그래서, knowledge collection의 matching 정보는 context와 response candidate을 attending하여 합쳐지고, 이는 post-selection으로 갖누된다.
  • 결국, matching feature은 후보 응답 𝑟과 컨텍스트 지식 쌍(𝑐, 𝑘) 간의 매칭 정도를 측정하기 위해 예측 레이어에 입력됩니다.

4.2 Representation Layer 

  • 우리는 general pre-trained word embedding인 GloVe을 사용하고, 이는 context, knowledge, response candidate의 각 word을 표현한다.
  • out-of-vocabulary 이슈를 줄이기 위해, task-specific 학습 세트로 학습된 word2vec과 character-level embedding이 representation layer에 적용되었다.
  • 우리는 각 word에서 간단히 3가지 타입의 embedding을 연결한다.
  • 그래서, representation layer은 단어의 semantics와 morphology을 둘 다 캡쳐한다.
  • 형식적으로 컨텍스트 𝑐에서 발화 𝑢𝑖, knowledge collection에서 문장 𝑘𝑖 및 응답 후보 𝑟가 주어지면 우리는 𝑢𝑖 , 𝑘𝑖 및 𝑟을 임베딩한다.
    • 즉 u는 context utterance, k는 persona, r은 response이다.
    • 𝐸𝑢𝑖 = [𝑒𝑢𝑖,1 , 𝑒𝑢𝑖,2 , · · · , 𝑒𝑢𝑖,𝑙𝑝𝑖 ], 
    • 𝐸𝑘𝑖 = [𝑒𝑘𝑖,1 , 𝑒𝑘𝑖,2 , · · · , 𝑒𝑘𝑖,𝑙𝑞𝑖 ] 
    • 𝐸𝑟 = [𝑒𝑟1 , 𝑒𝑟2 , · · · , 𝑒𝑟𝑙𝑟 ]
    • 여기서 𝑒𝑢𝑖,𝑡 , 𝑒𝑘𝑖,𝑡 or 𝑒𝑟𝑡는 t번째 단어인  𝑢𝑖 , 𝑘𝑖 , 𝑟에 각각 해당하는 d차원 vector이다.
    • 𝑙𝑝𝑖 , 𝑙𝑞𝑖 , and 𝑙𝑟는 각각 시퀀스의 단어의 수이다.

4.3 Encoding Layer 

  • 우리는 BiLSTM으로 발화의 단어들 사이의 양방향 상호작용을 모델링하고, 시퀀스의 각 발화들을 hidden vectors로 인코딩한다.
  • sentence encoding은 다음과 같이 표기된다.
  • 여기서 𝑢𝑖,𝑗는 𝑖번째 문맥 발화에서 𝑗번째 단어의 인코딩된 표현이고, 𝑘𝑖,𝑗는 𝑖번째 지식 문장의 𝑗번째 단어의 인코딩된 표현입니다.
  • 𝑟𝑗는 응답 후보에서 𝑗 번째 단어의 인코딩된 표현입니다.
  • 𝑡번째 단계에서 forward LSTM의 hidden state는 다음과 같이 계산됩니다.
  • where “◦” denotes element-wise product;𝑐𝑡 is the cell state; 𝑊{𝑖,𝑓 ,𝑜,𝑔 } , 𝑉{𝑖,𝑓 ,𝑜,𝑔 } and 𝑏{𝑖,𝑓 ,𝑜,𝑔 } are learnt parameters. 
  • The hidden state of the backward LSTM at 𝑡-th step is ←ℎ𝑡 . 
  • The output of BiLSTM is the concatenation of two hidden vectors, namely ℎ𝑡 = [→ℎ 𝑡; ←ℎ𝑡].

4.4 Selection Layer

  • 그림 2는 RSM-DCK의 콘텐츠 선택기 모듈을 보여줍니다.
  • selection layer의 세부 사항을 살펴보기 전에 먼저 이 계층의 기본 구성 요소인 주의 모듈을 소개합니다.
  • 모듈은 3개의 문장들을 취하고, query sentence Q, key sentence K, value sentence V을 입력으로 받는다.
  • 구체적으로, Q = {𝑒𝑖}^𝑛𝑞_𝑖=1 , K = {𝑒𝑖}^𝑛𝑘_𝑖=1 ,V = {𝑒𝑖}^𝑛𝑣_𝑖=1이고, 여기서 𝑛𝑞, 𝑛𝑘 , and 𝑛𝑣는 각 문장의 단어의 수를 가리킨다.
  • 𝑒𝑖는 해당하는 문장의 i번째 단어의 feature vector이다.
  • attention 모듈은 scaled dot-produce attention을 적용해서 Q, K, V 사이의 attention operation을 수행한다.
    • 직관적으로, V의 각 단어는 Q의 단어와 K의 단어 사이의 유사도에 의해 계산된 importance score에의해 가중된다.
    • 식 10에서, 우리는 Q와 Q의 new representation을 획득할 수 있고, 이는 Q의 각 단어의 새로운 feature vector로 V의 단어의 representation의 가중합이다.
  • 모듈의 표현성을 향상시키기위해, linear transformation operation이 attention operation전에 적용된다.
  • layer normalization operation은 O에 적용되고, 이는 vanishing gradients을 완화시키는데 도움이된다.
  • 그 다음, RELU을 가지는 feed-forward network FFN은 normalization 결과에 적용되고, 이는 추후에 모듈의 표현성을 강화시킨다.
  • residual connection은 gradient flow을 도움주는데 적용된다.
  • 마침내, multi-head 메커니즘은 attention 모듈을 도와 입력의 다양한 features을 캡쳐하는데 적용된다.
  • 대화 컨텍스트안의 최근 utterances은 현재 컨텐츠에 대해 얘기하기 때문에, 보통 response candidates와 가장 큰 연관성을 보여준다.
  • 그래서, 우리의 모델에서, 우리는 context의 latest utterance을 query 𝑞으로 사용해서 대화 컨텍스트 혹은 knowledge collection으로부터 관련된 context을 선택한다.
  • 이는 query 𝑞는 컨텍스트에서 가장 최근 발화 (즉, 𝑢𝑛𝑐)이거나, 컨텍스트에서 최근 m개 발화들의 (>1개) 조합일 수 있다.
  • 즉 query는 response에서 가장 관련있는 컨텍스트에서 최근 발화이다.
    • 그림 2를 보면, key와 value는 context와 document을 의미하는 것 같다.
    • 즉 (query와 유사한 context의 발화), (query와 유사한 persona 발화) 이 두가지를 찾는다?
    • 다음 섹션에에서 설명하는데, 자세하게 볼필욘 없고, 대충보면 일단 self-attention을 한다.
    • 보통 self-attention을 할 때, Q, K, V의 matrix가 필요한데 여기선 같은 matrix을 사용한다. (이게 무슨의미지?)
    • Q는 unc로 컨텍스트에서 최근 발화인 query을 의미한다.
    • Ui는 i번째 발화를 의미한다. 
    • 아무튼 이렇게 Q, Ui을 각각 self-attention 한 후, 내적을 통해 phi 정보를 얻는다.
    • 그다음 pi의 max을 dimension에따라 word-level에서의 중요 feature와 context에서 relevant score을 뽑는 식으로 간다.
    • 여기서 dimension이란게 직관적이지는 않지만, Q=lqx2d, R=lpi x 2d이니까 phi는 lqxlpi의 차원이 될 것이다.
    • 근데 컨텍스트 발화인 Ui는 nc개 만큼 있으니 최종 phi는 lq x nc x lpi가 된다.
    • 먼저 dim=0으로 max-pooling을 하면, 최근 발화의 단어들중에서 중요한 feature을 뽑는 개념이다 --> tilde(phi) (nc x lphi)
    • tilde(phi)을 dim=1으로 max-pooling/mean-pooling을 하면, 컨텍스트 발화들의 단어들중에서, 중요한 feature을 뽑는 개념이 된다. 이는 relevance score --> s1, s2 (nc)
    • s1와 s2을 가중치합하고 softmax 태우고 matrix 곱한게 weight sc로 가정.
    • i번째 발화에 해당하는 가중치가 sci이고, sci을 통해 residual network구성.
  • 즉, 큰 개념은 query (컨텍스트의 마지막발화)와, 컨텍스트의 각 발화들 사이를 지지고 볶아서, 각 컨텍스트 발화에 해당하는 weight을 만든다.
    • 이 weight로 residual network을 구성하여 태움. 
    • 각 컨텍스트 발화가 query와의 연관성에 의해 중요도가 결합된 feature로 변신.

4.4.1 Context selector. (번역)

  • 시퀀스의 장기 종속성을 캡처하기 위해 위의 Attention Module을 사용하여 쿼리 𝑞와 컨텍스트의 각 발화 𝑢𝑖를 추가로 변환합니다. 
  • 이는 다음과 같이 공식화될 수 있습니다.
    • 여기서 𝑄 ∈ R 𝑙𝑝𝑖 ×2𝑑는 인코딩 계층에 의해 생성된 𝑢𝑛𝑐의 representation matrix입니다. 
    • 𝑈𝑖 ∈ R 𝑙𝑝𝑖 ×2𝑑는 encoding layer에서 생성된 𝑢𝑖의 representation matrix을 나타낸다.
  • 컨텍스트의 관련 부분을 미리 선택하기 위해 크기 조정된 내적을 사용하여 쿼리 발언과 컨텍스트의 이전 발언 간의 유사성 행렬을 계산합니다. 
  • 이는 다음과 같이 정의됩니다.
    • 여기서 𝜙𝑖 ∈ R 𝑙𝑞×𝑙𝑝𝑖 . 
    • 이 연산은 컨텍스트의 각 발화에 적용되므로 Φ ∈ R 𝑙𝑞×𝑛𝑐×𝑙𝑝𝑖 를 얻습니다. 
    • 여기서 𝑛𝑐은 컨텍스트의 발화 수입니다. 
  • 그런 다음 max-pooling 연산을 채택하여 다음과 같이 공식화된 word-level에서 쿼리에 대한 가장 중요한 특징을 추출합니다.
  • 문맥에서 쿼리와 각 발화 사이의 관련 점수를 얻기 위해 Φ~에 대해 max-pooling and mean-pooling 연산을 수행하여 다음과 같이 공식화된 주의 가중치의 최대값과 평균값을 요약합니다.
    • 여기서 𝑠1, 𝑠2 ∈ R 𝑛𝑐 . 
  • 그런 다음 하이퍼 매개변수 𝛼를 사용하여 두 점수를 융합합니다.
    • 𝛼의 초기 값을 0.5로 설정하고 훈련 중에 업데이트합니다.
    • MSN[42]에 이어 다중 홉 콘텐츠 선택을 수행하여 선택 모듈의 견고성을 향상시킵니다.
  • 구체적으로, 우리는 먼저 컨텍스트에서 최신𝑚 발화(즉, {𝑢𝑛𝑐−𝑚+1, · · · , 𝑢𝑛𝑐 }) 각각을 Attention 모듈에 공급합니다(방정식 (11)에서).
  • 그런 다음 출력 표현에 대해 평균 풀링 연산을 수행하여 새로운 쿼리 표현 𝑄ˆ(𝑚) 을 얻습니다.
  • 𝑄ˆ(𝑚) 을 사용하여 위의 선택 프로세스를 수행하여 𝑚 다른 가중치 분포를 얻습니다. 
    • 𝑠𝑐 = [𝑠 (1) , 𝑠(2) , · · · , 𝑠(𝑚) ]
  • 서로 다른 홉에 걸쳐 가중치 분포를 융합하기 위해 적응 조합을 사용하여 다음과 같이 최종 가중치 분포 𝑠¯𝑐 ∈ R 𝑛𝑐×1을 계산합니다.
    • 여기서 𝜋 ∈ R 𝑚×1은 학습된 가중치입니다. 
  • 마지막으로, 컨텍스트에서 𝑖 번째 발화(𝑢𝑖 )에 대한 업데이트된 표현 𝑈¯ 𝑖를 얻을 수 있으며, 
  • 이는 다음과 같이 공식화될 수 있습니다.
    • 여기서 𝑠¯𝑐(𝑖)는 𝑖번째 발화에 대한 relevance score입니다. 
  • residual connection은 여기에서 그래디언트 소실을 완화하는 데 사용됩니다.

4.4.2 Knowledge selector. 

  • Similarly, we also employ the attention module to process each sentence 𝑘𝑖 in the knowledge collection, which can be formulated as follows,

4.5 Matching Layer (번역)

  • ESIM [2]에 따라 우리는 컨텍스트와 후보 응답 간의 interaction, knowledge collection and the candidate response간의 interaction을 모델링하기 위해 cross attention 메커니즘을 활용합니다.
  • 여러 차례 발화가 있는 컨텍스트는 긴 시퀀스로 연결되며, 형식적으로 𝐶 = [𝑈1,𝑈2, · · · ,𝑈𝑛𝑐 ] ∈ R 𝑙𝑐×2𝑑으로 표시할 수 있습니다. (𝑙𝑐 = Í𝑛𝑐 𝑖=1 𝑙𝑝𝑖 ).
  • 그런 다음 내적을 사용하여 컨텍스트 𝑐의 𝑖 번째 단어와 후보 응답 𝑟의 𝑗 번째 단어 사이의 유사도를 계산합니다. 
  • 다음과 같이 공식화됩니다.
    • 여기서 𝑅 ∈ R 𝑙𝑟 ×2𝑑는 인코딩 계층에 의해 생성된 𝑟의 표현 행렬을 나타냅니다. 
    • E ∈ R 𝑙𝑐×𝑙𝑟 는 주의 행렬입니다.
  • 열과 행과 함께 정규화하여 가중치 행렬 𝛼 ∈ R 𝑙𝑐×𝑙𝑟 및 𝛽 ∈ R 𝑙𝑐×𝑙𝑟을 얻을 수 있으며, 다음과 같이 공식화될 수 있습니다.
  • weighted 조합을 통해 다음과 같이 공식화된 컨텍스트 및 응답 후보 각각에 대한 응답 인식 컨텍스트 표현 𝐶ˆ 및 컨텍스트 인식 응답 표현 𝑅ˆ을 얻을 수 있습니다.
  • TBCNN[23]을 참조하여 정렬된 토큰 수준 의미론적 유사도를 측정하기 위해 다음 함수를 도입하여 일치하는 특성 𝐶 및 𝑅¯를 얻습니다.
    • where “◦” denotes element-wise product operation. 
  • 마찬가지로 모든 지식 항목을 긴 시퀀스 𝐾 𝑐 로 연결한 다음 위의 교차 주의를 수행하여 응답 인식 지식 표현 𝐾ˆ𝑐 및 지식 인식 응답 표현 𝑅ˆ𝑐을 각각 얻습니다.
  • 두 표현은 다음 공식을 통해 일치하는 특성 𝐾¯𝑐 및 𝑅¯𝑐으로 추가 변환됩니다.

4.6 Aggregation Layer

4.7 Prediction Layer 

4.8 Learning

  • 식 (37)에서 볼 수 있듯이, 긍정과 부정 샘플 간의 불균형을 완화하기 위해 각 컨텍스트에 대한 모든 후보 응답의 일치 로짓에 softmax 정규화 계층을 채택합니다. 
  • 모델의 매개변수는 다음과 같이 정의되는 𝐷에 대한 교차 엔트로피 손실을 최소화하여 최적화됩니다. 

5 EXPERIMENTS 

5.1 Datasets and Evaluation

  • We test RSM-DCK on two benchmark datasets, namely the PersonaChat dataset [44] and the CMUDoG dataset [50]. 
  • Statistics of the two datasets are shown in Table 2.
  • Persona-Chat. 
    • 첫 번째 데이터는 Persona-Chat이고, 이는 대화에서 151,157 turns으로 구성된다.
    • 이 데이터세트는, training, validation, testing 세트로 분리해서 공개된다.
    • 3가지 세트에서, 각 발화는 한 개의 positive response와 19개의 negative response candidates로 구성되고, 이는 데이터세트에서 랜덤샘플링된 것이다.
    • 데이터세트를 만들기 위해, 크라우드워커들은 랜덤으로 쌍을 짓고, 그들에게 할당된 profiles에따라 그들의 파트너들과 자연스럽게 대화하도록 요구된다.
    • persona profiles은 화자의 특성을 표현하고, 그래서 knowledge의 collection으로 간주되고, 이는 평균적으로 4.49 문장들로 구성된다.
    • 각 대화에서, 두 format personas로 original profiles과 reviesd profiles가 주어진다.
    • 후자는 전자를 rephrase한 것이고, 이는 모델이 word overlap을 막아서 response selection을 더욱 챌린지하게 도와준다.
  • CMUDoG. 
    • 다른 데이터세트는 CMUDoG 데이터세트이다. [50]
    • 일부 특정 documents에 대한 대화는 AMT을 통해 수집되었다.
    • documents에 대한 토픽은 모두 영화에 대한 것이어서 대화 상대가 자연스럽게 이야기할 공통 주제를 가질 수 있다.
    • 두 쌍의 작업자가 주어진 문서에 대해 이야기하도록 하기 위해 두 가지 시나리오를 탐색합니다.
    • 첫 번째는, 한명의 대화자만 document을 보고 다른 한명은 볼 수 없다. 
      • document에 접근할 수 있는 대화자는 상대방에게 영화를 설명하게 지시된다.
    • 두 번째는, 두 명의 대화자가 주어진 document에 접근가능하고, document의 contents에 대해 이야기하도록 요구된다.
    • 각 시나리오에서 대화의 숫자가 적은 것을 고려하여, 두 시나리오의 데이터는 더 큰 데이터세트로 합쳐진다.
    • DGMN [47]에 따르면, 우리는 4 turns보다 적은 것으로 구성된 대화는 noise을 피하기 위해 필터링한다.
    • 데이터 세트에 negative responses이 없기 때문에 DGMN으로 구성된 동일한 세트에서 각 발화에 대해 19개의 negative responses 후보를 샘플링합니다.
  • 이전의 연구들 [47, 50]에 따라서, 우리는 𝑅𝑛@𝑘 을 평가 메트릭으로 적용하고, 여기서 (𝑛=20, 𝑘=1,2,5)은 n response candidates에서 position k에 대한 recall을 의미한다.

5.2 Baseline Models

  • We compare our model with the following models: 
  • IR Baseline [44]. 
    • 단순 단어 중복을 기반으로 적절한 응답을 선택하는 정보 검색 방법입니다.
  • Starspace [36]. 
    • 모델은 마진 순위 손실을 최소화하여 작업별 임베딩을 학습하고 관련 문서와 응답 후보에 의해 연결된 대화 컨텍스트 간의 코사인 유사도를 반환합니다.
  • Profile Memory [44]. 
    • 이 모델은 메모리 네트워크를 백본으로 사용합니다. 구체적으로, 이 모델은 대화 이력을 쿼리로 채택하고 프로필 문장에 대해 주의를 기울여 쿼리와 결합할 관련 라인을 찾은 다음 융합 쿼리와 응답 간의 유사도를 측정합니다.
  • KV Profile Memory [44] . 
    • 이 모델은 프로필 메모리를 다중 홉 버전으로 확장합니다. 첫 번째 홉에서 모델은 프로필 메모리를 사용하여 통합 쿼리를 얻습니다. 그런 다음 두 번째 홉에서는 대화 이력을 키로 하고 다음 대화 발화를 값으로 주의를 수행합니다. 두 번째 홉의 출력은 자신과 응답 후보 간의 유사성을 측정하는 데 사용됩니다.
  • Transformer [20] . 
    • 이 모델은 Transformer 인코더[33]를 사용하여 대화 기록 및 응답 후보를 인코딩하고 대신 bag-of-words 표현을 통해 프로필 문장을 인코딩합니다.
  • DGMN [47]. 
    • 모델은 self-attention이 있는 대화 컨텍스트 및 문서의 표현을 인코딩하고 교차 주의를 통해 대화 컨텍스트 및 문서의 표현을 서로 융합한 다음 계층적 주의를 통해 개별적으로 응답 후보와 상호 작용합니다.
  • DIM [8]. 
    • 이 모델은 BiLSTM을 사용하여 대화 컨텍스트, 문서 및 응답 후보의 표현을 인코딩하고 대화 컨텍스트 및 문서가 교차 주의 메커니즘을 통해 응답 후보와 각각 상호 작용하도록 합니다. 마지막으로, 대화 컨텍스트, 문서 및 응답 후보의 일치하는 기능을 집계하기 위해 또 다른 BiLSTM이 채택됩니다. 이 모델은 위의 모든 기준선을 능가합니다.

5.3 Implementation Details

5.4 Evaluation Results

  • Table 3 shows the evaluation results on the benchmark datasets. 
  • We can find that our proposed model can achieve better performance than the baseline models in terms of almost all metrics. 
  • 두 벤치마크 모두에서 이전의 가장 강력한 기준선인 DIM과 비교하여 우리 모델은 Original Persona-Chat 데이터 세트에서 𝑅20@1에서 0.9% 절대 개선, Revised Persona-Chat 데이터 세트에서 𝑅20@1에서 1.2% 절대 개선, CMUDoG 데이터 세트의 𝑅20@1에서 0.7% 절대 개선을 달성했습니다
  • CMUDoG 데이터 세트의 개선 사항이 Persona-Chat보다 약간 작다는 점은 주목할 가치가 있습니다.
  • 그 이유는 CMUDoG에 비해 Persona-Chat에 대한 지식이 더 중요하고 모델이 Persona-Chat 데이터 세트에서 지식을 선택하면 더 많은 이점을 얻을 수 있기 때문일 수 있습니다.
    • CMUDoG에 비해, Persona-chat에서의 영향이 더 크다?

6 DISCUSSIONS

  • 이 섹션에서는 대화 컨텍스트 및 knowledge collection의 변화가 RSM-DCK의 성능에 미치는 영향을 조사합니다.
  • 먼저 RSM-DCK의 효과를 실증적으로 입증하기 위해 절제 연구를 수행합니다.
  • 둘째, 대화 맥락에서 발화 수에 따라 RSM-DCK의 성능이 어떻게 달라지는지 살펴봅니다.
  • 또한 사례 연구를 통해 RSM-DCK에서 selection 메커니즘이 제공하는 컨텍스트 및 knowledge collection의 가중치를 시각화합니다.

6.1 Ablations 

  • 우리는 컨텍스트와 지식에 대한 선택 메커니즘의 상대적 중요성을 조사하기 위해 일련의 절제 실험을 수행합니다.
  • 또한 context and knowledge collection의 상대적 중요성을 개별적으로 조사합니다.
  • 먼저 완전한 모델을 기준선으로 사용하고 다음과 같이 절제 실험을 수행합니다.
    • w/o context selector: we remove the dialogue context selector in the selection layer. 
    • w/o knowledge selector: we remove the document selector in the selection layer. 
    • w/o knowledge post-selection: we remove the post-selection for knowledge (Equation (34-35)) in the aggregation layer, and replaced it with a simple mean-pooling operation. 
    • w/o context: we remove the dialogue context from the model. The setting means that the response is selected according to the knowledge collection only. 
    • w/o knowledge: we remove the knowledge collection from the model. The model becomes a traditional context-response matching architecture.
  • Table 4 shows the evaluation results of the ablation studies. 
  • 컨텍스트 선택기, 지식 선택기 및 지식 사후 선택 중 하나를 제거하면 전체 모델에 비해 성능이 저하되는 것을 관찰할 수 있으며, 이는 RSM-DCK의 각 구성 요소의 효율성과 필요성을 보여줍니다.
  • 게다가, 우리는 컨텍스트 선택기와 지식 선택기가 Persona-Chat 데이터 세트에서 비슷한 역할을 보여줍니다.
  • 컨텍스트 선택기가 제거될 때 모델의 성능이 더 많이 떨어지기 때문에 컨텍스트 선택기는 일반적으로 CMUDoG 데이터 세트의 지식 선택기보다 더 유용합니다.
  • Table 4의 마지막 두 행의 결과에 따르면, 대화문맥을 제거하면 지식집합을 제거하는 것보다 모델의 성능이 더 저하되는 것을 알 수 있으며, 이는 응답선택을 위한 지식집합보다 대화문맥이 더 중요함을 나타낸다. .
  • matching 모델에서 지식 수집을 제거할 때 Persona-Chat 데이터 세트에서 RSM-DCK의 성능이 CMUDoG 데이터 세트에서보다 더 극적으로 떨어집니다.
  • 결과는 Persona-Chat 데이터 세트에서 적절한 응답 후보를 인식하기 위해 지식 수집이 더 중요함을 의미합니다.

6.2 Length Analysis

  • 우리는 대화 컨텍스트의 발언 수에 따라 테스트 샘플을 다른 버킷으로 비닝함으로써 대화 컨텍스트의 발언 수가 RSM-DCK의 성능에 어떻게 영향을 미치는지 추가로 연구합니다.
  • 참고로 CMUDoG 데이터셋에서는 대화 컨텍스트당 최대 발화 수를 8로 설정했는데, 이는 DGMN 및 DIM에서 각각 4 및 15로 설정한 것과 다릅니다.
  • 따라서 설정에서 DGMN 및 DIM 코드를 실행합니다.
  • 표 5와 같이 발화 횟수가 증가할수록 성능이 저하된다.
  • 그 이유는 대화 맥락에서 주제 이동이 존재하고, 발화 횟수가 증가함에 따라 모델이 대화 이력과 관련 없는 새로운 주제로 인해 어려움을 겪을 수 있어 성능 저하로 이어질 수 있기 때문입니다.
  • 또한 RSM-DCK가 다른 모델보다 더 많은 발화로 대화 컨텍스트를 처리하는 능력이 더 강력함을 알 수 있습니다.
  • 주된 이유는 RSM-DCK가 대화 컨텍스트의 관련 부분을 선택할 수 있으므로 선택 계층의 컨텍스트 선택기의 도움으로 대화 컨텍스트를 더 잘 이해할 수 있기 때문입니다.

6.3 Case Study

7 CONCLUSION AND FUTURE WORK

  • 이 논문에서, 대화 컨텍스트와 document안의 관련없는 부분의 contents에 의해 성능 하락을 극복하기위해서, 우리는 selection 메커니즘을 고안한 MRS 모델을 제안하여 context와 knowledge collection의 관련있는 부분을 검출할 수 있게 한다. (RSM-DCK)
  • 두 개의 벤치마크 데이터 세트에 대한 실험을 수행하고 우리 모델이 더 나은 성능을 달성하여 모델의 우수성을 보여줍니다.
  • 향후 지식 그래프 및 세대 기반 대화에서 관련 트리플을 선택하기 위해 콘텐츠 선택 메커니즘을 KG 기반 대화 시스템에 적용하고자 합니다.
  • 또한 응답 선택의 성능을 더욱 향상시키기 위해 사전 훈련된 언어 모델(예: Bert [3])과 모델을 결합할 계획입니다.

Reference

댓글