RoBERTa를 각 단어의 representation을 표현.
H = {h_1, ..., h_i, ..., h_M}
H = RoBERTa{w_1, ..., w_i, ..., w_M} (h_i는 RoBERTa의 [CLS] token)
이전 연구들은 document에서 n-gram으로 뽑은 것들을 candidate keyphrases로 간주했음. 이전 연구들에 motivated하여 언어 속성을 고려하고 CNN에 의해 n-gram으로 문맥화된 word representations을 구성함.
i-th n-gram인 c^n_i의 phrase represenation은 다음과 같이 표현된다.
h^n_i는 i-th n-gram의 represenation을 가리킴.
n: length of n-grams
N: maximum length of allowed candidate n-gram
각 n-gram은 window size가 n이고 stride가 1인 CNN^n의 convolution filters를 갖고 있음.
세 개 모듈의 관점을 모두 반영하여 keyphrase의 중요성을 판단하는 것은 성능 올리는 데에 굉장히 중요한 파트임.
phrase의 syntactic accuracy인 c^n_i는 다음과 같은 chunking module로 계산됨
W_1, b_1은 trainiable matrix와 bias임. softmax는 가능한 모든 n-gram의 각 position i와 length n임.
전체 모델은 cross-entropy loss를 통해 훈련됨.
y^n_i는 phrase c^n_i가 original document의 keyphrase인지 아닌지에 대한 label임.
candidate keyphraes에 순위를 매기기 위해 모든 candidates사이의 saliency(현저함) pairwise learning approach를 적용한다.
먼저, candidate keyphrases에 대해 positive set은 P+, 다른 것들은 P-으로 labeling한다. pairwise learning model의 loss function은 hinge loss를 사용한다.
I_2는 information saliency를 나타냄. 세타_1은 margin을 나타냄.
KIEMP는 동일한 문서 내에서 P-보다 먼저 candidate keyphrases인 P+의 순위를 지정하도록 함. 구체적으로, i-th n-gram representation c^n_i의 information saliency는 다음과 같이 계산됨.
W_2는 trainable matrix, b_2는 bias.
pairwise learning model을 통해 모든 candidates의 information saliency를 rank할 수 있고, 더 두드러진 정보가 있는 keyphrases를 추출할 수 있음.!
phrases는 문서의 concepts에 따라 다르게 표현될 수 있음. matching module은 candidate keyphrases와 그들에 해당되는 document 사이의 concept consistency를 계산하기 위해 metric learning을 진행함.
먼저, document D에 variation autoencoder를 적용하고, candidate keyphrases K의 concepts을 얻기 위해 적용함. 각 문서 D는 standard Gaussian prioir를 통해 latent variable z로 인코딩 됨. 각 variable을 통해 documents에 숨어있는 latent concepts 결정하고 keyphrase를 유용하게 추출할 수 있음. encoding process동안 z는 Gaussian distribution을 위한 re-parameterization trick을 통해 sampled됨.
decoding process동안 document는 multi-layer network with tanh에 의해 reconstructed 됨. 게다가 candidate keyphrases도 documents와 같은 과정을 거침.
일단 document의 z의 concept represenation와 phrase z^n_i를 얻으면, concept consistency는 다음과 같이 계산됨.
W_3는 learnable mapping matrix.
loss function은 triplet loss를 사용하고 다음과 같이 계산됨.
논문에서 사용된 triplet loss는 다음과 같다.
KIEMP가 해당 문서 D 내에서 non-keyphrase p- 보다 앞서 keyphrase p+의 conept consistency를 match하고 rank 하도록 강제함.
reconstruction loss를 최소화하고 prior distribution과 posterioir distribution의 discrepancy(불일치)를 penalize하기 위해 VAE는 다음과 같은 objection function을 통해 optimizing하도록 구현되었음.
D_KL는 두 개의 distributions에 대한 Kullback-Leibler divergence를 나타냄. 그리고 final loss는 다음과 같이 계산됨.
람다는 (0,1) 사이의 값이며 balance factor임.
concept consistency matching을 통해 document에서 high-level concepts를 포함한 keyphrases를 기대할 수 있음.
KIEMP는 syntactic chunking, saliency ranking, concept matching의 end-to-end learning을 진행함. 그리고 나서 training objective는 다음과 같은 conbination으로 학습됨
KIEMP는 keyphrase의 saliency에 따라 keyphrase를 추출하는 것을 목표로 함.
chunking과 matching은 적절한 candidate keyphrase를 rank를 enforce하기 위해 사용됨. 따라서 inference에서는 ranking module만을 사용함
KIEMP의 robustness를 증명하기 위해 Ispec, Krapivin, Nus, SemEval을 포함한 KP20k로 학습시킴.
많은 모델을 사용하여 평가했다.... 각 모델에 대한 공부는 각자..
top k predicted keyphrases로 평가함. 이 논문에서는 marco-aveaged recall과 F-measure (F1)을 평가 지표로 사용했고, k는 1, 3, 5, 10을 사용했음.
maximum document length: 512를 사용했음 (BERT의 limitations)
6개의 GeForce RTX 2080Ti GPUs를 사용했고, 31시간, 77시간 걸렸음.
유효성을 입증하기 위해 다른 concept dimensions로 실험을 진행함. latent concept representation dimension을 증가시킨다고 성능이 올라가지 않음. 반대로, 더 작은 dimension일 때 더 좋은 성능이 보임. 이러한 가장 큰 이유는 concept representation이 phrases or documents의 high-level conceptual information을 capture하기 때문임. 그러므로, KIEMP with concept consistency matching module은 주어진 document의 main topic과 유사한 keyphrases를 추출하는데에 초점이 맞춰져있음.
제안하는 모델의 effectiveness를 설명하기 위해 different algorithms에 대한 case study를 진행함.