[논문] Simple Unsupervised Keyphrase Extraction using Sentence Embeddings
https://arxiv.org/abs/1801.04470
Simple Unsupervised Keyphrase Extraction using Sentence Embeddings
Keyphrase extraction is the task of automatically selecting a small set of phrases that best describe a given free text document. Supervised keyphrase extraction requires large amounts of labeled training data and generalizes very poorly outside the domain
arxiv.org
해당 논문을 보고 작성했습니다.
Abstract
keyphrase extraction은 주어진 free text document를 가장 잘 설명할 수 있는 작은 크기의 phrase set을 자동으로 선택하는 task를 의미합니다. supervised keyphrase extraction은 많은 양의 labeled training data를 필요로 하며, training dat 이외의 domain에서는 일반화 성능이 매우 떨어집니다. unsupervised system은 낮은 정확도를 보이며, 일반화 성능이 좋지 않습니다. 이러한 단점을 해결하기 위해, 이 논문에서는 EmbedRank를 사용하여 single document에서 keyphrase를 추출합니다. EmbedRank는 새로운 unsuperivsed method이며 sentence embedding을 leverage 합니다. EmbedRank는 standard dataset에서 graph-based SOTA system보다 더 높은 F-score를 달성하고, 대규모 Web data의 실시간 처리에 적합합니다. EmbedRank를 사용하여, 저자들은 embedding-based maximal marginal relevance (MMR)을 사용하여 명시적으로 수렴을 향상시키고 선택된 keyphrase의 다양성을 향상시켰습니다.
Introduction
unsupervised keyphrase extraction은 supervised method보다 몇 가지 이점이 있습니다. supervised keyphrase extraction은 항상 대규모 annotated document와 manually selected keyphrase를 필요로 합니다. supervised methods는 training corpus 외의 domain에서는 좋지 않은 성능을 달성하며, 알지 못하는 새로운 문서를 고려하지 못합니다. unsupervised keyphrase extraction은 이러한 information constrained situation을 해결할 수 있는 방법 중 하나입니다.
저자들은 EmbedRank라는 간단하고 current document만 사용하여 자동으로 keyphrase를 추출하는 unsupervised method를 제안합니다. 저자들의 method는 새로운 text representation learning을 사용합니다. 이 방식은 임의의 길이의 문서나 word sequence를 동일한 연속적인 vector space로 embed 시킵니다. 이 방식은 feature space에서 유도된 similarity measure을 사용하여 text fragment 간의 의미적 관련성을 계산할 수 있게 됩니다. 이렇게 semantic text representation을 사용하여 저자들은 keyphrase의 2가지 가장 도전적은 특성을 보장합니다. 첫 번째는 정보성으로, 이는 후보 phrase의 embedding과 전체 문서의 embedding 간의 거리로 나타냅니다. 두 번째는 다양성으로, 이는 후보 phrase 사이의 거리로 표현합니다.
Related Work
Unsupervised Keyphrase Extraction
unsupervised keyphrase extraction은 두 가지 유형으로 나눌 수 있습니다: corpus-dependent, corpus-independent입니다. 저자들의 method를 포함하는 Corpus-independent method는 keyphrase를 추출해야 하는 하나의 문서 이외의 input을 필요로 하지 않습니다. 대부분의 method들은 graph-based입니다. graph-based keyphrase extraction의 중 하나로 TextRank가 있으며, target document는 graph이며 node가 단어를 나타내고 edge가 window 내 두 단어의 동시 발생을 나타냅니다. SingleRank method와 같이 edge에 동시 발생 횟수를 weight로 부여할 수도 있습니다. 단어는 node ranking metric을 사용하여 scoring 됩니다. 각 단어들의 점수는 multi-word phrase의 점수로 aggregate 됩니다. 특정 품사 tag sequence가 후보 phrase로 간주되며, 이들은 점수에 따라 순위가 매겨집니다. 최근 WordAttractionRank는 SingleRank와 유사한 방식을 사용했지만, word embedding 간의 거리를 통합하는 새로운 weight scheme을 사용합니다.
후보 phrase의 scoring을 word score의 aggreagtion으로 구하는 것은 over-generation error를 야기할 수 있습니다. 이는 하나의 구성 단어가 높은 점수를 받기 때문에, 여러 후보 phrase가 높은 점수를 받을 수 있는 경우 발생합니다. 중요한 단어는 포함하지만 전체적으로 정보가 부족한 비정보적인 keyphrase를 만들게 됩니다. 또한, 개별 단어에 집중하는 것은 다양성에 좋지 않은 영향을 끼칩니다.
EmbedRank: From Embeddings to Keyphrases
EmbedRank는 keyphrase를 추출하는 새로운 method입니다. method은 3가지 main step으로 구성됩니다. (1) 품사 tag를 기반으로 text로부터 후보 phrase를 추출합니다. 구체적으로 phrase는 뒤에 1개 또는 여러 개의 명사가 따라오는 형용사로 구성됩니다. 아무것도 없는 경우도 존재합니다. (2) 저자들은 sentence embedding을 사용해 후보 phrase와 document 자체를 same high-dimensional vector space에서 표현합니다. (3) 저자들은 후보 phrase를 rank 하여 output keyphrase를 선택합니다.
Embedding the Phrases and the Documents
최신 text embedding (word, sentence, document)는 shared vector space에서 연관된 vector representation 사이 거리를 통해 의미적 연관성을 capture 합니다. 저자들은 이전 step에서 추출된 후보 phrase들과 original document 사이 거리를 측정함으로써 rank 합니다. 그러므로 후보 phrase와 문서 사이 의미적 연관성은 phrase의 정보를 얼마나 잘 반영하는지의 기준이 됩니다. 구체적으로 저자들의 keyphrase extraction method는 다음 두 step으로 구성됩니다.
1) document embedding을 계산합니다. 이는 noise 감소 과정을 포함하며, 문서 내에서 형용사와 명사만 유지합니다. 여기서 noise 감소란, document 내에서 의미가 없는, 즉 noise와 같이 동작하는 단어들을 제거하는 것을 의미합니다.
2) 동일한 algorithm을 사용하여 각 후보 phrase의 embedding을 따로따로 계산합니다.
document embedding method가 마지막 outcome에 끼치는 영향을 확인하기 위해, 저자들은 Doc2Vec (denoted EmbedRank d2v)와 Sent2vec (denoted EmbedRank s2v)를 통해 얻은 keyphrase를 평가했습니다. 두 embedding method들은 임의의 길이의 word sequence를 추출할 수 있도록 만들어 줍니다. phrase와 document를 embedding하기 위해, pretrained Sent2Vec and Doc2vec을 사용했습니다. pre-computed Sent2vec embeddings은 단어 및 n-gram vector를 기반으로 하며, dimension Z = 700이지만, Doc2vec은 dimension = 300입니다. 모든 embedding들은 대규모 English Wikipedia corpus로 학습되었습니다. Sent2vec은 pre-trained model을 통해 document embedding을 infer 하기 때문에, EmbedRank s2v는 매우 빠릅니다. 이때 embedding은 text's component의 pre-computed representation의 평균을 통해 계산됩니다. Doc2vec은 전체 document에 대한 vector를 infer하기 위해 embedding network를 사용하기 때문에, EmbedRank d2v는 느립니다. 두 methods는 input document가 단어이든, phrase든, 문장이든, 전체 document이든 상관없이 동일한 semantic space에서 비교 가능한 vector를 제공합니다.
이렇게 embedding을 계산하면 document에 대한 Z차원 vector representing와 각 후보 phrase의 Z차원 vector를 얻습니다.
위는 document tilte과 후보 phrase를 비교한 결과를 보여주며, document vector와 더 가까운 phrase가 document에 대한 더 많은 정보를 담고 있다는 것을 볼 수 있습니다. 그러므로, 후보 phrase의 embedding과 document embedding 사이 cosine similarity를 정보의 척도로 사용하는 것이 타당함을 알 수 있습니다.
Selecting the Top Candidates
위를 바탕으로, 저자들은 document embedding과의 cosine distance에 따라 후보 phrase를 ranking 하는 방식으로 초기 set에서 top keyphrase를 선택합니다. 위 결과는 10개의 주요 key phrase를 추출했으며, 이는 document title과 정확히 일치합니다.
그럼에도 불구하고, top keyphrase에는 중복성이 있을 수 있다는 점을 주목해야 합니다. 예를 들어 "molecular equivalence numbers"와 "molecular equivalence indices"는 따로 선택된 keyphrase이지만 동일한 의미를 나타냅니다. 이 문제는 phrase embedding과 cosine similarity를 한번 더 사용하여 의미적 연관성을 반영하여 해결할 수 있습니다.
EmbedRank++: Increasing Keyphrase Diversity with MMR
document embedding가 가장 가까운 N개 후보 phrase를 return 함으로써, EmbedRank는 phrase informativeness 특성만 고려하며 phrase의 중복을 야기합니다. 사용자가 추출된 keyphrase를 직접 볼 수 있는 scenario (e.g. text summarizaiton, tagging for search)에서는 이러한 중복 문제가 발생할 수 있습니다. 중복된 keyphrase는 악영향을 미치며, keyphrase 제공이 무의미해질 정도로 안 좋은 영향을 미칠 수 있습니다.
그리고 고정된 수의 top keyphrase를 추출한다면, 중복은 추출된 keyphrase의 다양성을 감소시킵니다. 위 그림에서 추출된 keyphrase는 {topological shape, topological shapes}와 {molecular equivanlence number, molecular quivalence numbers, molecular equivance indices}를 포함하고 있습니다. 즉, 10개의 keyphrase 중 4개가 중복된 모습입니다.
간단하지만 매우 효과적으로 다양성을 보장하는 방법 중 하나로 Maximal Marginal Relevance (MMR) metric이 있습니다. 이는 연관성과 다영성을 조절 가능한 방식으로 결합하는 방식입니다. 저자들은 MMR을 keyphrase extraction에 적용하여 정보성과 선택된 keyphrase 간의 dissimilarity를 결합하는 방법을 제시합니다.
information retrieval과 text summarization에서 사용되는 original MMR은 all initially retrievedd document set R, input query Q, initially empty set S를 기반으로 합니다. 이때 S는 Q에 대해 잘 선택된 좋은 답변으로 채워집니다.
위처럼 MMR은 정의되며, D_i와 D_j는 retrieved document를 나타내고, Sim_1, Sim_2는 유사도 함수를 나타냅니다. λ = 1인 MMR은 standard relevance-ranked list를 계산하지만, λ = 0인 MMR은 R에 있는 document의 최대 다양성 순위를 계산합니다. MMR을 사용하기 위해 저자들은 original equation을 다음과 같이 수정했습니다.
C는 후보 keyphrase를 나타내며, K는 추출된 keyphrase set을 의미하며, doc은 full document embedding을 나타내고, C_i와 C_j는 각각 후보 phrase i, j에 대한 embedding을 나타냅니다. 마지막으로 cos_{sim}은 normalized cosine similarity를 나타냅니다. λ = 0.5인 경우, relevance와 diversity가 equal importance를 갖습니다. 저자들은 후보 phrase 사이 유사도에 대해서도 유사한 변환을 적용합니다.
요약하자면, 이전 section에서 이야기한 method는 MMR을 사용한 keyphrase extraction (λ = 1)과 동일합니다. 일반화된 algorithm인 EmbedRank++는 마지막 부분을 제외하고는 이전 식과 동일하며, 최종적으로 N개의 후보를 선택하며 동시에 관련성과 다양성을 띄는 keyphrase를 return 합니다. 이때 λ를 tuning 하여 trade-off를 조절할 수 있습니다.
Experiments and results
EmbedRank가 대부분의 common dataset에서 graph-based SOTA scheme보다 F-score evaluation에 대해 뛰어난 성능을 보여줍니다. 비록 EmbedRank++가 EmbedRank보다 약간 낮은 F-score를 기록했지만, 사용자들은 EmbedRank++가 반환하는 다양한 keyphrase를 더 선호하는 모습을 보였습니다.
Performance Comparison
저자들은 EmbedRank s2v와 d2v (no diversity)를 5가지 SOTA corpus-independent method와 비교했습니다: TextRank, SingleRank, WordAttractionRank, TopicRank, Multipartite.
실험 결과는 위와 같습니다. EmbedRank는 precision, recall, Macro F_1 score에 대해 2개에서 3개 dataset에서 더 뛰어난 모습을 보여줬습니다. 하지만 long document에 대해서는 Multipartie가 모든 method보다 뛰어난 모습을 보여줬습니다. Multipartite와 TopicRank가 후보의 위치 정보를 통합하기 때문에 이와 같은 결과가 생성되었다고 합니다.
Conclusion
이 논문에서 저자들은 EmbedRank와 EmbedRank++라는 2가지 simple and scalable keyphrase extraction method를 제안했습니다. 이는 sentence embedding을 사용하여 single document로부터 keyphrase를 추출합니다. 두 방식 모두 unsupervised, corpus-independent이며 current document만 필요로 합니다. 이 방식들은 input text의 graph represntation 기반 traditional keyphrase extraction method와는 다르며, informativeness와 diversity 모두 modelling 할 수 있는 능력을 가지고 있습니다.
EmbedRank는 기본적으로 문서 길이에 상관없이 embedding 할 수 있는 document embedding을 가지고 구현됩니다. 저자들은 Doc2Vec와 Sent2Vec을 사용하여 얻은 결과를 비교했으며, 후자가 더 빠른 추론 속도를 보여줍니다. 저자들은 short and medium length document의 경우, EmbedRank based on Sent2Vec가 일관성 있게 가장 좋은 성능을 보여줌을 확인했습니다. 또한 대규모 사용자 연구를 통해, 사용자들이 keyphrase의 다양성을 선호한다는 것을 확인했습니다.