ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Text Summarization: Overview and Metric
    [+] 인공지능 [+] 2021. 2. 20. 19:36

     

    Motivation

    • 특정한 문제를 해결하기 위해서, 이에 대한 최신 정보 혹은 최근 연구를 필요로 합니다.
    • 습득해야하는 정보량이 늘어남에 따라 핵심만 선별하고자 하고, 명료하며 정제된 형태로 접근하고자합니다.
    • 최신 정보 뿐 아니라, 회의록 작성, 논평, 헤드라인, 보고서 등 다양한 분야에서 요약을 필요로 합니다.

    Definition

    Text summarization is the process of distilling the most important information from a source (or sources) to produce an abridged version for a particular user (or users) and task (or tasks).

    Advances in Automatic Text Summarization, 1999.
    Automatic text summarization is the task of producing a concise and fluent summary while preserving key information content and overall meaning

    Text Summarization Techniques: A Brief Survey, 2017.

     

    • Source text $x$에서 Target text $y$ 를 추출하는 작업입니다.
    • $y$는 $x$의 중요한 내용을 포함하고 있어야 합니다.
    • $y$는 간결하고(distill), 명료해야(concise) 합니다.
    • $x$는 1개 이상의 문서로 이루어져 있습니다.

     

    추출 요약 (Extractive Summarizaiton)

    • 입력 문서에서 대표성을 갖는 문장이나 구를 추출하여 요약을 생성합니다
    • Source text $x$ 에서 중요한 문장이나, 구를 추출합니다.
    • Source text $x$ 는 Target text $y$를 모두 포함합니다.

     

    생성 요약 (Abstractive Summarization)

    • NLG(Natural Language Generation)를 결합하여 새로운 문장을 생성합니다.
    • Target text $y$ 가 Source text $x$ 에 등장하지 않은 표현을 생성한다는 점에서 추출 요약과 차이가 있습니다.

    Metric

    • 위 정의에서 살펴 보았듯이 Target text $y$는 간결하고, 명료하고, 중요한 정보를 포함하고 있어야 합니다.
    • ROUGE Score는 문서 요약, 기계 번역 등 모델의 성능을 평가하기 위한 지표로서 사용됩니다.
    • 모델이 생성한 요약문과 참조 요약문에 등장한 토큰(단어) 수에 기반합니다.
    • ROUGE: A Package for Automatic Evaluation of Summaries

     

    ROUGE-N: Overlap of N-grams between the system and reference summaries

    • n-gram 에 기반하여 단어의 개수를 카운트합니다.
    • 두 요약문 중 겹치는 토큰의 개수를 분자로 사용합니다.

     

     

    $ROUGE_{recall} = $ 두 요약문 중 겹치는 토큰 수 / 사람이 작성한 요약문의 토큰 $ = y \cap \hat{y}$ / $y$
    $ROUGE_{precision} = $ 두 요약문 중 겹치는 토큰 수 / 모델이 생성한 요약문의 토큰 수 $ = y \cap \hat{y}$ / $\hat{y}$

     

     

     

    모델이 생성한 요약문($y$) : I bought a new macbook

    사람이 직접 만든 요약문($\hat{y}$) : he bought a new macbook yesterday

     

    위의 두 문장이 있다고 가정하겠습니다.

     

    ROUGE-1의 경우

    $y$의 토큰 : I, bought, a, new, macbook (5개)

    $\hat{y}$의 토큰 : he, bought, a, new, macbook, yesterday (6개)

    두 요약문 중 겹치는 토큰($y \cap \hat{y}$) : bought, a, new, macbook  (4개)

     

    $\therefore$ ROUGE$_{recall} = 4/5,$    ROUGE$_{precision} = 4/6$

     

     

    ROUGE-L: LCS(Longest Common Subsequence) based statistics

    • ROUGE-N의 경우 토큰의 출현 순서나, 위치 관계 등을 파악할 수 없습니다.
    • 이를 해결하고자 ROUGE-L에서는 LCS알고리즘을 적용합니다.
    • 두 요약문의 공통된 LCS의 길이를 분자로 사용합니다.

     

    참조 요약문(R) : 도레미파솔라시도

    생성 요약문(S) : 도레파파솔솔시레레

     

    마찬가지로 위의 두 문장이 있다고 가정하겠습니다.

     

    두 요약문 중 공통된 부분문자열 중 가장 길이가 긴 문자열(LCS)은 도레파솔시 입니다.

    ROUGE-N 에서와 마찬가지로 R의 길이를 분모로 하여 재현율(Recall)을 계산하고 S의 길이를 분모로 하여 정밀도(Precision)를 계산합니다.

     

    $\therefore R_{lcs} = 5/8,$    $P_{lcs} = 5/9$

     

     

    ROUGE-S: Skip-bigram based co-occurrence statistics

    • skip-bigram을 적용하여 계산합니다.
    • 두 개의 토큰을 한 쌍으로 묶어서($_{n}C_{2}$) ROUGE Score를 계산합니다.
    • 두 요약문 중 공통된 토큰의 개수를 분자로 사용합니다.

     

    참조 요약문(R) : Impossible is nothing

    생성 요약문(S) : Impossible is just impossible

     

     

    Skip-bigram을 적용하여 R이 취할 수 있는 토큰은 3가지 입니다.

    (Impossible, is), (Impossible, nothing), (is, nothing) 

     

    마찬가지로 S가 갖는 토큰은 6가지 입니다.

    (Impossible, is), (Impossible, just), (Impossible, Impossible), (is, just), (is, Impossible), (just, Impossible)

     

    이 중 겹치는 토큰은 (Impossible, is) 1가지 입니다.

     

    $\therefore R_{skip2} = 1/3,$    $P_{skip2} = 1/6$

     

    ROUGE-SU: Skip-bigram plus unigram-based co-occurrence statistics.

    • ROUGE-S 의 경우, 비슷한 문장일 지라도 공통으로 등장하는 토큰 쌍이 없다면 집계되지 않는다는 한계가 있습니다.
    • ROUGE-SU의 경우 skip-bigram 과 unigram 을 모두 사용하여 계산합니다.

     

    참조 요약문(R) : Impossible is nothing

    생성 요약문(S) : Nothing is impossible

     

    위 두 문장은 동일한 의미임에도 ROUGE-S 점수는 0 입니다.

    이를 해결하고자 skip-bigram과 unigram을 모두 적용하여 ROUGE Score를 계산합니다.

     

    위 경우 R이 갖는 토큰은 6가지 입니다.

    Impossible, is, nothing, (Impossible, is), (Impossible, nothing), (is, nothing)

     

    S가 갖는 토큰 또한 6가지 입니다.

    Nothing, is, Impossible, (Nothing, is), (Nothing, Impossible), (is, Impossible)

     

    이 중 겹치는 토큰은 3가지 입니다.

    nothing, impossible, is

     

    $\therefore$ ROUGE-SU$_{recall} = 3/6,$    ROUGE-SU$_{precision} = 3/6$

     

     

     

    ROUGE 2.0: Updated and Improved Measures for Evaluation of Summarization Tasks

     

     

    BLEU: a Method for Automatic Evaluation of Machine Translation

    • ROUGE 와 마찬가지로 카운트 기반 측정 방식입니다.
    • n-gram 정밀도를 이용하여 겹치는 토큰 수를 측정합니다.
    • 단, 예측문장의 중복된 단어 수는 실제 문장의 중복단어 수를 초과하지 못합니다.
    • BLEU: a Method for Automatic Evaluation of Machine Translation

     

    $BLEU = \min(1,\dfrac{S\,\,length}{R\,\,length}) \, (\prod_{n=1}^{4}n\text{-}gram_{precision}) $

     

     

    참조 요약문(R) : No one can make you inferior without your consent

    생성 요약문(S) : Nobody makes you feel inferior without your consent

     

     

    위 두 문장에 대하여 1-gram 정밀도부터, 4-gram 정밀도까지 계산하여 기하평균을 산출합니다.

     

    $(\prod_{n=1}^{4}n\text{-}gram_{precision}) = (\dfrac{5}{9} \times \dfrac{3}{8} \times \dfrac{2}{7} \times \dfrac{1}{6})^{\frac{1}{4}} = 0.315$

     

    생성 요약문에서 특정 토큰이 반복해서 계속 등장한다면, 생성 문장의 품질이 떨어짐에도 높은 점수를 받게됩니다.

    이러한 문제를 방지하고자, 중복 등장하는 토큰은 참조 요약문에 반복 등장하는 토큰 수를 초과하여 점수를 부여하지 못하게 됩니다.

    (make 가 참조 요약문에서 3번 등장했다면, 생성 요약문에서 10회 등장해도, 3회 등장했다고 집계합니다.)

     

    비슷한 맥락에서, 생성 요약문의 길이가 지나치게 길다면, 생성 문장의 질이 떨어짐에도 높은 점수를 받습니다.

    생성 문장의 길이가 참조 요약문의 길이를 초과하여도 참조 요약문의 길이를 상한선으로 제한합니다.

    (위 예제에서 참조 요약문의 길이는 9 입니다. 만약 생성 요약문의 길이가 100이어도, 9를 최대값으로 하여 집계합니다.)

     

    $\min(1,\dfrac{S\,\,length}{R\,\,length}) = \min(1,\dfrac{8}{9}) = \dfrac{8}{9}$ 

     

    $\therefore$  $BLEU = 0.315\times\dfrac{8}{9} = 0.355$

     

     

    BERTScore: Evaluating Text Generation with BERT

    • 참조 문장과 생성 문장을 각각 BERT에 태워 문맥 벡터(Contextual embedding)를 구한 후 코사인 유사도를 이용합니다.
    • Contextual Embedding -> Pairwise cosine Similarity -> Maximum similarity -> Importance Weight(Optioin)
    • BERTScore: Evaluation Text Generation with BERT

     

     

    참조 문장(R) : $x = \langle x_{1},...x_{k} \rangle$

    생성 문장(S) : $\hat{x} = \langle\hat{x}_{1},...,\hat{x}_{l}\rangle$

     

    위의 두 문장을 BERT에 태워서 각각 문맥 벡터를 추출합니다.

     

    참조 문장 (BERT output of $x$) : $y = \langle y_{1}, ... , y_{m} \rangle$

    생성 문장 (BERT output of $\hat{x}$) : $\hat{y} = \langle \hat{y}_{1}, ... , \hat{y}_{n} \rangle$

     

    BERT모델은 NLU에 강합니다. 언어 전반을 이해하고 이를 벡터로 표현하는데에 특화된 모델입니다.

    BERT를 걸쳐 추출된 문맥 벡터는 각 토큰 간의 상호관계와, 위치 정보, 의미, 맥락 등이 압축되어 있습니다.

     

    두 문맥 벡터 간의 코사인 유사도를 계산하여 정밀도와 재현율을 구합니다.

     

    $R_{BERT} = \dfrac{1}{|y|} \sum_{y_{i} \in y}\max_{\hat{y}_{j} \in \hat{y}} y_{i}^{\top} \hat{y}_{j}\, ,$   $P_{BERT} = \dfrac{1}{|\hat{y}|} \sum_{\hat{y}_{i} \in y}\max_{y_{j} \in y} y_{i}^{\top} y_{j}\, ,$   $F_{BERT} = 2 \dfrac{P_{BERT} \cdot R_{BERT}}{P_{BERT} + R_{BERT}}$

     

     

    이에 추가적으로, 빈출도가 낮은 토큰이 되려 문장간 유사성 검증에 핵심이 되는 경우가 있습니다.

    본 논문에서는 유사도 계산시 idf값을 추가로 이용하는 방법 또한 제안되었습니다.

     

    RDASS

    댓글

Designed by Tistory.