NL-150, Content Selection Network for Document-grounded Retrieval-based Chatbots, ECIR 2021
◼ Comment
- 보통 persona을 주어진 5개중에, 어떤 걸 써야하는지 label이 없기 때문에, 이전 모델들에서는 attention weight 같은 걸 구해서 사용했다.
- 여기서는 이를 일종의 soft selection으로 표현한거 같다.
- 암튼 그래서 key point는 필요없는 부분까지 참고하기때문에 noise가 껴서 hard selection을 해주자는 것이 핵심. (식 4, 8 참고)
- 여기서는 γ 파라미터로 조절하는 듯
- 그림 3a는 γ가 너무 작거나 너무 크면 문서에서 너무 많거나 너무 적은 정보가 선택될 수 있음을 보여줍니다.
- γ=0인게, soft weight 개념이고 γ=1인게 아예 ground document을 안쓰는 개념이다.
- γ=1이면 성능이 많이 하락하는 걸 볼 수 있다.
- 적절한 γ는 0.3 정도로 보인다.
- 또 먼 context는 사실 현재 턴의 response selection과는 상관없는 경우가 있다.
- 즉 전체 context을 쓰면 이런 문제가 발생하기 때문에 gate 메커니즘으로, 현재 발화에 가중치를 주려고하는 시도를 한다.
- 여기서는 이를 η 파라미터로 조절하는 것 같음
- 모델은 word embedding을 BiLSTM을 태우고 엄청 복잡하게 모델을 쌓는다.
- 이 과정에서 word-level과 sentence-level 두 가지 갈림길로 모델이 나뉜다.
- 실험 결론은 word-level이 좀 더 좋은 것으로 보인다.
- 개인적으로는 γ와 η이 하이퍼파라미터인게 단점인 거 같다.
- 적절한 값은 모델과 데이터에 따라 달라져서 매번 찾아야할 거 같다는 생각이든다.
- 모델은 복잡하다 너무... 요즘 트렌드하곤 좀 떨어짐
- 암튼 그래도 hard selection과 최근 발화들이 좀 더 중요하다는 점을 기억하면 된다.
0 Abstract.
- 문서에서 human-machine 대화를 기반으로하는 것은 검색기반 챗봇의 성능을 향상시키는 효율적인 방법이다.
- 그러나, document content의 일부분만이 적절한 response을 찾는데 도움을 주는데 관련이 있다.
- 그래서, 현재 대화 컨텍스트에 관련있는 document context의 부분을 선택하는것은 중요하다.
- 이 논문에서, 우리는 document content selection network (CSN)을 제안하여, 관련있는 document contents의 명시적 선택을 수행하고 불필요한 parts을 필터링한다.
- 우리는 두 개의 public document 기반의 대화 데이터세트에서 실험을 하고, CSN은 효과적으로 대화 컨텍스트와 관련있는 document contents을 선택하고, SoTA 접근법보다 좋은 결과들을 생성한다.
- Our code and datasets are available at https://github.com/DaoD/CSN .
1 Introduction
- Microsoft XiaoIce [19] and Amazon Alexa [16]와 같은 검색 기반 챗봇들은 real-world 어플리케이션에 널리 사용된다.
- 유저 입력이 주어졌을 때, upstream retrieval system은 response candidates의 세트를 제공하고, retrieval-based 챗봇은 적절한 하나를 선택할 수 있어야 한다.
- 이것은 주로 context와 각 candidate response 사이의 matching score에 의존한다.
- 많은 경우에 대화 컨텍스트만으로는 응답 선택에 충분하지 않은 것으로 나타났습니다[22,28].
- 추후에 ref로 괜찮을듯?
- 실제로, 사람 대화들은 보통 external knowledge 혹은 documents을 기반으로 한다.
- 우리의 responses들은 우리의 documents에 포함된 knowledge or information와 밀접한 관련이 있다.
- Reddit에서, 예를 들어, 사람은 보통 쓰레드의 시작에 포스팅된 document에 대해 토론을 하고, 이는 뒤따라오는 대화에 대해 기본적인 facts와 백그라운드 topics을 제공한다.
- 트위터에서, 사람들은 또한 새로운 글과 관련된 의견들을 교환한다.
- 이 케이스에서, 대화 컨텍스트외에도, document or news article 또한 유용한 background information을 주어서 response selection을 가이드할 수 있다.
- background information을 고려하지 안흔 대화는 토픽 밖의 response을 이끌 수 있다.
- 이 논문에서, document-grounded conversation의 문제를 다룬다.
- conversation based on a given document [28,1,15,29,4].
- document-grounded response selection의 테스크는 candidate pool로부터 좋은 response을 선택하는데, 이는 context와 관련있는 문서와 일관성이 있어야한다.
- 여러 기존의 스터디들은 background document을 레버리징하여 많은 성능 향상을 보여준다 [28,29,4].
- 이것도 ref로 달면 좋을듯? 는 이미 읽은것들이군
- 일반적으로, 공통의 전략은 context-response matching과 document-response matching의 조합을 기반으로 response을 선택하는 것이다.
- 후자는 문서 내용과 관련된 응답을 높일 수 있습니다.
- 그러나, 좋은 response는 document의 전체 content에 연관되는 것이 아니라, 그것의 작은 파트만 연관된다.
- document의 관련있는 part의 selection은 중요하다.
- 그림1에서 CMUDoG에서의 예제에 의해 문제는 설명된다.
- 이 데이테세트에서, 영화와 연관된 위키글은 grounding document로써 사용된다.
- 우리는 conversation이 document와 높게 연관됨을 볼 수 있다.
- R1, R2, R3는 U6에 대한 3개 candidate response이고 R3는 원하던 response이다.
- 잘못된 response R1은 documnet와 여러 keywords을 공유함으로써 높은 점수를 가질 수 있다. (즉 document-response matching score가 높다)
- 그러나, R1은 현재 context에 대해 적절한 response가 아니고, 이는 movie의 길이에 대한 질문이다.
- 이 예는 문서 내용에 해당하기 때문이 아니라 대화 컨텍스트와 관련된 부분에 해당하기 때문에 올바른 응답이 문서에 잘 기반을 두고 있음을 보여줍니다.
- 그래서, 첫 번째 챌린지는 현재 대화 컨텍스트와 연관된 document content의 파트를 선택하는 것이다.
- R2는 U6에 적절한 것처럼 보이나, U3와 비슷한 정보를 전달하므로 대화에 덜 유익하다.
- 우리가 대화 컨텍스트로 전체 대화 히스토리를 사용한다면, 이 response는 선택될 수 있다.
- response는 context-response matching 점수가 높을 것이다.
- 실제로, 이 예의 현재 context는 영화의 길이에 대한 것이다.
- 히스토리의 이전의 발화들은 연관성이 적다.
- 이 사례는 현재 대화 컨텍스트를 잘 조정하고 모델링해야 할 필요성을 보여줍니다.
- 위 예제에서 설명하는 두 개의 key 문제들은 이전의 연구들에서 잘 설명되지 않았다 (R1과 R2).
- (1) 그들은 보통 document content에 attention weights을 할당하여 그들을 soft selection 한다. [29, 4]
- 관련이 적은 파트들은 lower weights가 할당할 수 있더라도, 많은 관련 없는 부분의 누적 가중치가 클 수 있으므로 잘못된 방향으로 응답 선택에 집합적으로 영향을 미칠 수 있습니다.
- 우리는 soft weighting 대신에, 현재 대화 컨텍스트에 맞는 document content의 적절한 hard selection이 중요한 key element라고 믿는다.
- document content의 hard selection은 다음의 관측에서 동기를 얻는다.
- 전체 대화가 grounding document에서 설명되는 많은 관점들을 커버함에도 불구하고, 각 step은 오직 document content의 일부분만 관련되있다.
- 예를 들어, 영화에 대한 우리의 대화에서, 우리는 한 step에서 배우에 대한 토론을 할 수 있다.
- 이런 content의 작은 파트의 선택은 중요하다.
- 이 관측은 이전의 연구에서 사용된 soft weighting 대신에 hard selection을 지지한다.
- (2) 이전의 연구들은 보통 전체 context을 사용해서 document content의 parts의 (sentence) weights을 결정한다.
- 이 전략은 현재 대화 context을 히스토리의 context로부터 구별하는데 실패한다.
- 결과적으로 과거 대화가 현재 대화로 오인되어 R2 예제에서 설명한 것처럼 중복 응답으로 이어질 수 있습니다.
- 이 논문에서, 우리는 Content Selection Network (CSN)을 제안하여 이러한 문제들을 해결한다.
- 먼저, response candidate와 매칭하는데 사용하기전에, 우리는 수정된 gate 메커니즘을 사용해서 대화 컨텍스트에따른 document content selection을 수행한다.
- 현재 대화 단계와 관련된 내용은 더 높은 가중치를 부여하여 선택 게이트를 통과하고 관련 없는 부분은 차단됩니다.
- 우리는 문장이나 단어를 선택하기 위해 게이트 메커니즘을 사용합니다.
- 둘째, 일반적으로 대화 중에 주제가 발전하기 때문에 전체 대화 기록보다는 가장 최근의 발화에 초점을 맞추어 현재 대화 컨텍스트를 결정합니다.
- 이를 위해 우리는 모델이 현재 대화 주제에 더 집중하도록 하는 히스토리에 대한 decay mechanism을 설계합니다.
- 선택한 문서 내용과 대화 컨텍스트를 최종적으로 결합하여 후보 응답을 선택합니다.
- The main contributions of this paper are:
- (1) We propose a content selection network to explicitly select the relevant sentences/words from the document to complement the conversation context.
- Our experiments show that this is a much more effective way to leverage the grounding document than a soft weighting.
- (2) We show that document-grounded conversation should focus on the topics in the recent state rather than using the whole conversation context.
- On two public datasets for document-grounded conversation, our method outperforms the existing state-of-the-art approaches significantly.
2 Related Work
- Retrieval-based Chatbots
- open-domain dialogue를 위한 기존 방법은 두 그룹으로 분류할 수 있습니다.
- retrieval-based and generation-based.
- 생성 기반 방법은 주로 주의 메커니즘이 있는 시퀀스 대 시퀀스(Seq2seq) 아키텍처를 기반으로 하며 대화 컨텍스트에 대한 새로운 응답 생성을 목표로 합니다[18,17,8,26,2].
- 반면, 검색 기반 방법은 대화 데이터의 대규모 저장소에서 가장 합리적인 응답을 찾으려고 합니다[10,25,21,27].
- 이 백서에서는 검색 기반 방법에 중점을 둡니다.
- 초기 연구는 컨텍스트가 단일 메시지인 단일 턴 응답 선택을 사용하는 반면[7,6], 최근 연구에서는 다중 턴 응답 선택을 위한 컨텍스트로 모든 이전 발화를 고려합니다[25,31,21,27].
- 우리 작업에서는 전체 대화 기록도 고려합니다 (그러나 가중치가 감소함).
- Document-grounded Conversation
- 여러 연구에서 지식이나 문서를 기반으로 하는 것이 인간-기계 대화를 효과적으로 향상시킬 수 있음을 보여주었습니다[3,11,28,29].
- 예를 들어, Seq2seq 모델은 대화 기록과 외부 지식을 기반으로 응답을 생성하기 위해 먼저 적용됩니다[3].
- 공유 구조를 이용하여 컨텍스트-응답 매칭과 문서-응답 매칭을 별도로 수행하는 이중 대화형 매칭 네트워크를 이용한 접근 방식이 제안되었다[4].
- 이 모델은 페르소나 관련 대화에서 최신 성능을 달성했습니다[28].
- 최근 Zhao et al. [29]는 응답 선택을 위한 더 나은 표현을 생성하기 위해 문서와 컨텍스트가 서로 관련되도록 하는 문서 기반 매칭 네트워크를 제안했습니다.
- 주의 메커니즘을 통해 문서의 다른 부분(문장)에 다른 가중치가 할당되고 다른 범위에서 응답 선택에 참여합니다.
- 그러나 노이즈 콘텐츠(현재 단계에 대한)가 더 낮은 가중치로 할당될 것으로 예상하더라도 응답 선택에 여전히 참여할 수 있습니다.
- 우리의 연구는 문서 내용 선택 과정을 명시적으로 모델링하고 관련 없는 내용이 응답 선택에 참여하는 것을 방지한다는 점에서 기존 연구와 다릅니다.
- 이걸 여기선 hard selection이라고 함.
- 즉 필요없는건 버린다는 것.
- 기존의 연구에선 soft개념으로, 관련정도를 attention으로 찾아서 이를 반영함.
- 따라서 관련있든 없든 일정 attention이 되기는 함.
- 또한 전체 history를 흐릿하게 보기보다 history 속 최근 발화에 집중하여 현재 대화 맥락을 정의하기도 합니다.
- 그냥 윈도우 개념아닌가?
- 이전 논문에서는 3개의 context을 사용하는게 좋았다는 거 같은데
- 이러한 아이디어는 기존 방법에 비해 상당한 개선을 가져올 것입니다.
3 Content Selection Network
3.1 Problem Formalization
- 우리가 가진 데이터세트 D는 각 샘플들이 (c, d, r, y)로 표현된다.
- where c = {u1, . . . , un} represents a conversation context with {ui}^n_i=1 as utterances;
- d = {s1, . . . , sm} represents a document with {si}^m_i=1 as sentences;
- r is a response candidate;
- y ∈ {0, 1} is a binary label, indicating whether r is a proper response.
- 우리의 목표는 매칭 모델 g을 D로부터 학습하는 것이다.
- 그래서 새로운 context-document-responese triple (c,d,r)에대해, g(c,d,r)은 주어진 c, d에 대해 적절한 정도를 측정한다.
3.2 Model Overview
- 우리는 content selection network (CSN) model g(·, ·, ·)을 제안하고, 그림2에서 보여준다.
- 전체 문서 콘텐츠를 사용하는 이전 연구[25,21,4]와 달리, 우리는 컨텍스트에 따라 문서 콘텐츠의 관련 부분을 선택하는 gate mechanism이 있는 selection 모듈을 제안합니다.
- 즉, 이 부분이 hard selection일 듯
- 그리고나서, context-response matching과 document-response matching들은 연속적이고, self-attention, cross-attention representation을 기반으로 모델링된다.
- 마침내, CNNs과 RNNs은 matching features을 extract, distill, aggregate하는데 적용되어서, 이를 기반으로 response 점수가 계산된다.
3.3 Representation
- 문맥에서 i번째 발화 ui = (wu1 , · · · , wuL), 문서에서 j번째 문장 sj = (ws1 , · · · , wsL), 응답 r = (wr1, · · · , wrL),
- 여기서 L은 단어 수입니다.
- CSN은 먼저 사전 훈련된 임베딩 테이블을 사용하여 각 단어 w를 de차원 임베딩 e, 즉 w ⇒ e에 매핑합니다.
- 따라서 발화 ui , 문장 sj 및 응답 r 은 각각 행렬 Eui, Esj 및 Er으로 표시됩니다.
- 그런 다음 CSN은 양방향 장단기 기억(BiLSTM)[5]으로 발화, 문장 및 응답을 인코딩하여 순차적 표현을 얻습니다.
- ui = BiLSTM(Eui), sj = BiLSTM(Esj), r = BiLSTM(Er).
- 즉 word embedding을 BiLSTM 태워서 각 문장에 대한 representation을 태운다는 것.
- 쉽게 BERT을 태우면 될 거 같은데..
- 이러한 BiLSTM의 매개변수는 구현에서 공유됩니다.
- 따라서 전체 컨텍스트는 C = [u1, · · · , un]으로 표시됩니다.
- BiLSTM을 사용하면 양방향 단어 간의 순차적 관계와 종속성이 숨겨진 벡터로 인코딩될 것으로 예상됩니다.
3.4 Content Selection
- 문서 기반 대화에서 문서에는 일반적으로 많은 양의 다양한 정보가 포함되지만 그 중 일부만 대화의 현재 단계와 관련됩니다.
- document contents의 관련있는 부분을 선택하기 위해, 우리는 gate mechanism에 의해 content selection phase을 제안하고, 이는 document와 context 사이의 연관성을 기반으로 한다.
- 근데 다 context와 기반으로 하네..?
- 난 response하고만 매칭했는데, context하고도 한번 해봐야겠다.
- 우리는 두 개의 다른 레벨들에서, gate 메커니즘을 고안한다.
- 즉, sentence-level과 word-level로 다른 수준에서의 관련있는 정보를 캡쳐한다.
- 만약, documnet안의 setences/words가 현재 대화와 연관없다면, 그들을 필터링될 것이다.
- 이것은, elements들이 다른 attention weights으로 할당되나 element가 필터링되지 않는 전통적인 전통적인 gating 메커니즘과의 차이이다.
- 우리는 conversation 컨텍스트를 사용해서 gate을 컨트롤하고, 이는 여러 이전의 대화 턴들을 가지고 있다.
- 턴들 사이에서, 대화 토픽은 점진적으로 바뀐다.
- 가장 중요한 토픽은 최근 턴들이고, 반면 오래된 턴들은 중요도가 떨어진다.
- 이러한 사실들을 반영하기 위해, 우리는 history에대해 decay 메커니즘을 적용하여 거리가 먼 것들보다 최근 context에 높은 중요도를 할당한다.
- selection 프로세스는 자동적으로 전체 모델을 end-to-end 방식으로 학습이된다.
- Sentence-level Selection
- 먼저 대화 문맥에 따라 document 문장을 선택하는 방법을 설명하겠습니다.
- 문맥 c = (u1, · · · , un) 및 document의 j번째 문장 sj를 고려하여 CSN은 현재 대화 문맥과의 일치 정도를 측정하여 문장 sj에 대한 점수를 계산합니다.
- 특히, CSN은 먼저 순차적 표현의 word dimension에 대한 mean-pooling을 통해 컨텍스트 c와 문장 sj의 문장 표현을 얻습니다.
- where C¯ ∈ R n×2d and ¯sj ∈ R 2d .
- 여기서 C는 컨텍스트 발화로 구성되고, 각 컨텍스트 발화는 n x 2d x de차원인듯?
- 여기서 de차원 (word-embedding 차원)을 mean-pooling해서, C-는 nx2d 차원이 되는 듯 하다.
- s는 각 발화에 해당하는 것이므로 2d x de 차원인거 같고, 마찬가지로 de차원에 대해 mean-pooling해서 s-는 2d차원이 된다.
- 그런 다음 CSN은 코사인 유사도로 sentence-level matching vector A를 계산합니다.
- We can treat A ∈ R n as a similarity array A = [A1, · · · , An] and compute a matching score S for the sentence sj by fusing the similarity scores:
- 즉 context와 document의 각 문장의 임베딩 사이의 cosine 유사도가 A1, A2,, 이다.
- 이를 합쳐서 matching socre S을 계산한다.
- Ai는 sclar인듯? A는 n차원이고 S도 n차원이 되는듯. 여기서 n은 발화개수
- fusion 함수 f(·)는 다른 방식들로 설계할 수 있으며, 이에 대해서는 나중에 설명합니다.
- 문장에 대한 일치 점수를 얻은 후 관련 문장을 선택하고 다음과 같이 표현을 업데이트합니다.
- 여기서 σ(·)는 시그모이드 함수이고 γ는 게이트 임계값의 하이퍼파라미터입니다.
- 이를 통해 관련성 점수가 γ 미만인 경우 문장 sj를 필터링합니다.
- 즉 여기서 σ(S)가 γ이하면 0으로 할당되서 S의 그 부분은 attention이 0이 되는 개념이다.
- 따라서 상관없는 발화는 무시하게됨.
- 필터링은 문서 내용에서 명확하게 관련이 없는 부분의 영향을 제거하기 위한 것입니다.
- Word-level Selection
- 문장 수준 선택에서는 문장의 모든 단어에 동일한 가중치가 할당됩니다.
- mean-pooling을 하게 되므로
- 문장의 각 단어에 대한 점수를 계산하여 단어 선택을 추가로 수행할 수 있습니다.
- 특히 CSN은 다음과 같이 주의 메커니즘을 통해 단어 수준 일치 맵을 구성합니다.
- 여기서 W1 ∈ R 2d×2d×h , b1 ∈ R h 및 v ∈ R h×1 은 매개변수입니다.
- C는 n x 2d x de차원인데, 이를 n x L x L 차원으로 만든다는 것?
- s는 2d x de인데..
- B ∈ R n×L×L 은 문맥과 문서 문장 사이의 단어 정렬 행렬입니다.
- 그런 다음 컨텍스트에서 sj와 각 발화 간의 가장 중요한 일치 특성을 얻기 위해 CSN은 다음과 같이 최대 풀링 작업을 수행합니다.
- 요소 Bˆ i ∈ R L 은 발화 ui 에 대한 문서 문장 sj 의 모든 단어에 대한 L 로컬 매칭 신호를 포함합니다.
- 그 후 CSN은 이러한 local matching signals를 결합하기 위해 fusion 함수를 적용하고 global matching vector를 얻습니다.
- 다음 단계에서 CSN은 문서에서 관련 단어를 선택하고 다음과 같이 문서 표현을 업데이트합니다.
- 수학식 4의 문장 수준 매칭 점수 S'와 달리 단어 수준 매칭 점수 S'은 서로 다른 단어에 대한 가중치를 포함하는 벡터이다.
- Fusion Function
- 식 (3) 및 (7)의 융합 함수 f(·)는 컨텍스트에서 각 발화와 일치하는 신호를 집계하는 데 사용됩니다.
- 우리의 융합 전략은 대화 기록의 발화에 다른 가중치를 부여합니다. 두 가지 다른 기능이 고려됩니다.
- (1) 선형 조합 – 각 일치 신호의 가중치는 모델 교육 중에 학습됩니다.
- 이상적으로는 대화 주제에 대한 더 많은 정보를 포함하는 발화가 문서 내용 선택에 더 많이 기여할 것입니다.
- (2) 감쇠 계수와 선형 조합. 이 방법은 주제가 대화를 따라 점차적으로 변경되고 응답이 일반적으로 컨텍스트에서 가장 최근의 주제와 관련성이 높다고 가정합니다.
- 따라서 우리는 컨텍스트의 발화에 감쇠 계수 η ∈ [0, 1]을 사용하여 멀리 있을 때 중요성을 줄입니다. 일치 점수는 다음과 같이 계산됩니다.
- The decay factor η is a hyperparameter.
- Note that when η = 1, it degenerates to the normal linear combination.
3.5 Matching and Aggregation
4.1 Dataset
- We conduct experiments on two public datasets.
- PersonaChat [28] contains multi-turn dialogues with user profiles.
- 목표는 근거 문서[28]로 사용되는 사용자 프로필에 해당하는 응답을 생성/검색하는 것입니다.
- 이 데이터 세트는 훈련을 위한 8,939개의 완전한 대화, 검증을 위한 1,000개의 대화, 테스트를 위한 968개의 대화로 구성됩니다.
- 응답 선택은 대화의 매 턴마다 수행되며 훈련, 검증 및 테스트 세트에서 양성 및 음성 샘플의 비율이 1:19이므로 훈련용 샘플 1,314,380개, 검증용 샘플 156,020개, 테스트용 샘플 150,240개가 생성됩니다.
- 긍정적인 응답은 실제 인간의 응답이고 부정적인 응답은 다른 대화에서 무작위로 샘플링됩니다.
- 모델이 사소한 단어 겹침을 이용하는 것을 방지하기 위해 수정된 버전의 데이터 세트는 문장을 바꿔 말하거나, 일반화하거나, 전문화하여 페르소나 프로필을 수정하여 작업을 훨씬 더 어렵게 만들었습니다.
- 데이터 세트의 다른 버전을 나타내기 위해 "개정" 및 "원본"을 사용합니다.
- CMUDoG [30] is designed specifically for document-grounded conversation.
- 대화 중 발표자에게는 영화 관련 위키 기사가 제공됩니다.
- 두 가지 시나리오가 고려됩니다.
- (1) 한 화자만 기사에 액세스할 수 있으므로 다른 화자에게 영화를 소개해야 합니다.
- (2) 두 speakers는 기사에 액세스할 수 있으므로 토론을 합니다.
- [29]에서 제공하는 데이터셋을 사용하는데, 각 데이터셋의 크기가 상대적으로 작기 때문에 두 시나리오의 데이터를 병합한다.
- 모델은 문서에 액세스할 수 있는 사용자에 대한 응답만 선택하라는 메시지가 표시됩니다.
- 양성과 음성의 비율은 훈련, 검증 및 테스트 세트에서 1:19입니다.
- 그 결과 훈련용 샘플 723,180개, 검증용 샘플 48,500개, 테스트용 샘플 132,740개가 생성됩니다.
- 이전 연구[29]에 이어, k = {1, 2, 5}인 평가 메트릭(R@k)으로 위치 k에서의 회상을 사용합니다.
- 단일 샘플의 경우 상위 k개 위치 내에서 유일한 양성 후보가 순위가 지정되면 R@k = 1이고 그렇지 않은 경우 R@k = 0입니다.
- 최종 값은 모든 테스트 샘플의 평균입니다.
- R@1은 관련 작업[28,4]에서 사용되는 hit@1과 동일합니다.
4.2 Baseline Models
- We compare CSN using sentence-level and word-level selection (denoted as CSNsent and CSN-word respectively) with the following models:
- (1) Starspace[24]는 문서와 컨텍스트를 긴 문장으로 연결하고 마진 순위 손실과 k-음수 샘플링을 사용하여 임베딩을 최적화하여 응답 후보와의 유사성을 학습합니다. 매칭은 단어 임베딩 합계의 코사인 유사도로 수행됩니다.
- (2) 프로파일 메모리 네트워크[28]는 컨텍스트를 입력으로 사용하는 메모리 네트워크를 사용하고 문서에 주의를 기울여 관련 문장을 찾습니다. 결합된 표현은 응답을 선택하는 데 사용됩니다. 이 모델은 문서 내용을 평가하기 위해 주의 메커니즘에 의존합니다.
- (3) 키-값(KV) 프로필 메모리 네트워크[28]는 대화 기록을 키로 사용하고 다음 대화 발화를 값으로 사용합니다. 문서 메모리 외에도 이 모델에는 응답 선택에 영향을 줄 수 있는 과거 대화에 대한 메모리가 있습니다.
- (4) Transformer [23]는 [11]에서 컨텍스트, 문서 및 응답에 대한 인코더로 사용됩니다. 얻어진 표현은 메모리 네트워크에 입력되어 프로필 메모리 네트워크와 동일한 방식으로 매칭을 수행합니다.
- (5) DGMN[29]은 CMUDoG 데이터 세트의 최신 모델입니다. 컨텍스트와 문서 간의 교차 주의 메커니즘을 사용하고 컨텍스트 인식 문서 표현과 문서 인식 컨텍스트 표현을 얻습니다. 두 표현과 원래 컨텍스트 표현은 모두 응답 표현과 일치합니다. 3개의 매칭 특징이 최종적으로 결합되어 매칭 스코어를 출력한다.
- (6) DIM[4]은 PersonaChat 데이터 세트의 최신 모델입니다. 컨텍스트-응답 일치 및 문서-응답 일치를 각각 모델링하기 위해 이중 대화식 일치 구조를 적용합니다. DIM은 여러 BiLSTM으로 표현, 매칭, 집계를 수행하고 최종 매칭 기능은 MLP로 매칭 점수를 계산하는 데 사용됩니다.
4.3 Implementation Details
4.4 Experimental Results
- The experimental results are shown in Table 1.
- 세 가지 데이터 세트 모두에 대한 결과는 우리의 CSN이 두 가지 최신 모델인 DGMN 및 DIM을 포함한 모든 기준선을 능가함을 나타냅니다.
- PersonaChat 데이터셋에서 CSNword와 CSN-sent 모두 이 데이터셋의 최상의 모델인 DIM과 비교하여 통계적으로 유의한 개선(p-값 ≤ 0.05)을 달성했습니다.
- 일반적으로 CSN-word는 CSN-sent보다 성능이 뛰어나 단어 수준 선택이 문장 수준 선택보다 세분화된 문서 내용을 선택할 수 있음을 나타냅니다.
- 이 비교는 또한 문서 기반 대화가 문서의 세분화된 정보에 의존하는 것이 유리하다는 우리의 직관을 확인시켜줍니다.
- CMUDoG에서는 두 가지 문서 콘텐츠 선택 전략이 똑같이 잘 작동합니다.
- 우리는 이 데이터 세트에서 기초 문서가 더 길고, 한 수준의 선택이 다른 수준보다 더 관련성 있는 부분을 결정할 수 있다는 명백한 이유가 없다는 사실로 이를 설명합니다.
- 그럼에도 불구하고 두 선택 전략 모두 선택이 없는 기준 방법에 비해 분명한 이점을 보여줍니다.
- 전체 문서를 단일 벡터로 나타내는 다른 기준선과 비교하여 DGMN, DIM 및 CSN은 문서 부분과 응답 간의 세밀한 일치를 고려합니다.
- 우리는 이러한 모델이 분명히 더 나은 성능을 달성하는 것을 볼 수 있으며 전체 문서보다 문서의 일부를 사용해야 할 필요성을 확인합니다.
- 그러나 DGMN 및 DIM은 가중치가 낮은 문장을 제거하지 않고 문맥에 따라 문장에 주의 가중치만 할당합니다. 대조적으로, 우리의 CSN 모델은 모든 관련 없는 부분을 걸러냅니다.
- 그렇게 함으로써 우리는 모델이 명백히 관련 없는 부분에 의해 영향을 받지 않기를 기대합니다.
- 실험 결과에서 볼 수 있듯이 CSN은 모든 데이터 세트에서 DGMN 및 DIM보다 훨씬 높은 성능을 달성하여 문서 내용의 명시적 선택(및 필터링)의 유용성을 확인했습니다.
- Effect of Content Selection
- 식 (4)와 (8)의 하이퍼파라미터 γ는 문서 내용이 선택되는 정도를 제어합니다.
- 이 하이퍼파라미터가 원본 PersonaChat 데이터 세트에 미치는 영향을 테스트합니다.
- 그림 3a는 γ가 너무 작거나 너무 크면 문서에서 너무 많거나 너무 적은 정보가 선택될 수 있음을 보여줍니다.
- γ가 클수록 hard selection의 정도를 가리키는 것이라 보면됨
- 특히 γ = 0 - 전체 문서 내용이 유지되면 성능이 많이 떨어집니다.
- 이 전략은 어텐션 기반의 기존 모델 DIM 및 DGMN에서 사용되는 것과 유사합니다.
- 명시적 문서 콘텐츠 필터링의 유용성을 다시 한 번 확인합니다.
- 반면에 γ = 1인 경우, 즉 문서 내용이 선택되지 않은 경우 비문서 기반 응답 선택으로 저하되고 성능도 급격히 떨어집니다.
- γ의 최상의 설정은 CSN 전송 및 CSN 단어 모두에 대해 약 0.3이며 응답 일치를 위해 적절한 양의 관련 문서 내용을 유지합니다.
- Effect of Decaying Factor
- decay factor η는 최근 발화에 더 초점을 맞춘 모델을 안내하는 사전 지식으로 작동합니다.
- η가 낮을수록 이전 발화가 문서 선택에 덜 기여했음을 의미합니다.
- "η = 1"은 정규 선형 조합(첫 번째 종류의 융합 함수)이 있는 모델에 해당합니다.
- 결과에 따라 감쇠 전략(η = 0.9)이 가장 잘 수행됨을 알 수 있습니다.
- 이것은 대화의 최근 주제에 더 집중하는 것이 도움이 된다는 우리의 가정을 확인시켜줍니다.
- 그러나 η = 0일 때 히스토리의 마지막 발화만을 사용하여 성능이 저하된다.
- 이것은 더 큰 컨텍스트를 사용해야 함을 보여줍니다.
5 Conclusion and Future Work
- 이 논문에서, 우리는 document conten selection 네트워크를 제안하여 대화의 근거가 되는 관련있는 context을 선택한다.
- 우리는 gate 메커니즘을 고안한다.
- 이는 대화 컨텍스트가 관련있는 document contents을 유지하고 연과없는 파트들을 필터링한다.
- 게다가, 우리는 또한 decay factor을 대화 히스토리에 사용해서 좀 더 최근 발화들에 집중한다.
- document-grounded respons selection을 위한 두 개의 큰 데이터세트에서의 우리의 실험들은 우리의 모델의 효과성을 입증한다.
- 우리는 document content slsection (and filtering)과 deacay factor의 사용이 response selection의 효과성을 증가시키는데 기여한다.
- As a future work, it would be interesting to study if the selection can be done at topic level, in addition to sentence and word levels.
Reference
댓글
댓글 쓰기