enabling the model to Attend to the promising scope of the session(Attend)
세션 중간에 발생 할 수 있는 노이즈에 대해서도 robust 하다
대부분의 많은 질의들이 이전 질의에 텀을 유지하면서 발생한다 (Copy)
the decoder of our model to access the source words from the session context during decoding by incorporating a copy mechanism
검색어 추천 관점에서 성능 매트릭을 고안한다
PROPOSED MODEL
extended seq2seq model
based on Seq2seq with Attention
focused on two component ( seq2seq(attend), decoder(copy, generate) )
input data : sequencial query in session ( 성남 맛집 \ 성남 파스타 맛집 \ ...)
hierarchical attention mechanism
adding bidirectional RNN query-level encoder
query level weight. not token. multiply the word-level attention weight
copy mechanism
마지막 단계에 Fully connected 로 vocab 의 확률값이 나오는데, 이것이 커지면 파라메터가 커지고, 학습이 느려지는 것. 그래서 이것을 고정된 matrix 로 하지 않고 인코더의 hidden state 를 사용하여 계산한다.
인코더의 hidden state, 디코더의 hidden state 를 이용하여 (term attetion matrix를 만드는 것과 같음) attention weight 를 만드는 것 대신 이것을 단어(retain term)를 복사 할 확률로 삼음.
마지막 단계에 이것을 copy 할 것인지, 아님 context에 의해 생성(vocab 의 fully connect 에서 나오는 값) 할 것인지를 학습한다.
cross entropy loss 를 기반으로 하고 gerneator, copy 두 메커니즘에 따라 다르게 설정하는데,
copy 메카니즘에는 input 의 길이를 사용하도록 변형한다.(vocab 사이즈를 사용한것 과 비슷하게 평균길이로 )
switch gate(생성/카피 선택 구조)에서 copy target UNK 를 발생하지 않도록 하기 위해 target 이 UNK 일 경우 생성을 선택하도록 한다 (copy 1, generate 0) 를 이용해서 loss를 계산하고 학습함.
실험 평가
질의 추천 + 생성 이라는 관점으로 평가 매트릭을 고안함.
생성의 관점에서 평가
MRR 을 성능 매트릭으로 설정
Word Overlap Based Query Similarity : 각 워드가 index에 무관하게 얼마나 겹치는가(삭제, 삽입 되는가) (edit distance 같은 것인 듯 보임 )
Embedding Based Query Similarity : 단어가 겹치지 않아도 의미적으로 유의할 수 있는 정도를 표현하기 위해서 위 평가를 보완함. pretrain 된 임베딩으로 코사인 유사도를 측정함. (pretrain 임베딩 성능에 의존적일것으로 보임)
질의 추천 관점
Retrieval Based Query Similarity : 생성된 질의를 사용하여 검색엔진의 결과를 이용한 측정. 확장 전 후 이 두 질의의 검색 결과를 가지고 얼마나 유사한가를 평가. (사용자의 검색 니즈 서포트를 얼마나 충족했는가의 관점) 데이터 셋의 종류에 따라 매트릭을 정의함 (이 부분 다른 참조 논문의 데이터 셋을 이야기 하는 것 같다. 태깅/정리된 데이터 셋)
sim_ret: target 질의?와 생성 질의로 나온 문서의 검색 결과의 유사도
sim+_ret:Pseudo Relevance Feedback 데이터를 활용한 유사도?
sim++_ret: 세션길이가 2이상인 것들 중 절반을 컨텍스트(인풋)으로 이용하여 생성하고 나온 검색 결과 유사도
이후 위 두개의 측정 방법으로 다른 변수(아래)에 대한 평가
질의 랭크에 따른 성능
모델이 생성한 top10 질의를 대상으로 랭킹 감소에 따른 퍼포먼스 측정(대부분 랭킹이 하락할 수록 성능 하락)
세션 길이에 따른 성능
세개의 세션 <2, 3-4, >4 로 구분하여 퍼포먼스 측정(Retrieval Based Query Similarity, MRR)
짧은 세션(<2) 에서도 긴 세션 만큼 (>4) 상당히 효과를 보여준다.
세션 noise robustness 에 대한 성능
사용자가 중간에 navi 성 질의(like google, naver) 를 사용할 경우 이것은 노이즈가 될 수 있고, 이런것들에 대해서 robust 한가 ( 사용자의 의도가 반영되지 않은 질의라고 판단. 노이즈라고 판단) . 아래와 같이 데이터 셋을 임의로 조작(노이즈 생성)하고 측정. Embedding Based Query Similarity 기준 평가
Noise query insertion : 빈도 상위 200개 단어를 세션의 임의 질의에 임의 자리에 삽입
Noise session insertion : 같은 사용자의 임의 세션을 다른 세션의 앞에 붙임
Noise term insertion : 빈도 상위 100개의 질의를 세션의 임의 순서에 질의로 삽입
제안된 모델이 baseline(seq2seq) 보다 상당히(위 세가지 모두 10% 이상) 앞서는 것으로 보임
https://arxiv.org/pdf/1708.03418.pdf
ABSTRACT
PROPOSED MODEL
실험 평가
질의 추천 + 생성 이라는 관점으로 평가 매트릭을 고안함.
생성의 관점에서 평가
질의 추천 관점
이후 위 두개의 측정 방법으로 다른 변수(아래)에 대한 평가
질의 랭크에 따른 성능
세션 길이에 따른 성능
세션 noise robustness 에 대한 성능