16
Text summarization(ch.16) 고급파일처리론 발표 1 서울시립대학교 컴퓨터비전 연구실

Text summarization(ch.16)datamining.uos.ac.kr › ... › 02 › 김형욱_ch.16_text-summary.pdf · 2019-06-11 · Text summarization(ch.16) 고급파일처리론 발표 1 서울시립대학교

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Text summarization(ch.16)datamining.uos.ac.kr › ... › 02 › 김형욱_ch.16_text-summary.pdf · 2019-06-11 · Text summarization(ch.16) 고급파일처리론 발표 1 서울시립대학교

Text summarization(ch.16)

고급파일처리론 발표

1

서울시립대학교컴퓨터비전 연구실

김 형 욱

Page 2: Text summarization(ch.16)datamining.uos.ac.kr › ... › 02 › 김형욱_ch.16_text-summary.pdf · 2019-06-11 · Text summarization(ch.16) 고급파일처리론 발표 1 서울시립대학교

2

Contents1. What is Text summarization?

2. Extractive summarization

a. split document into passagers

b. extract summary sentences from passagers

3. Abstractive summarization

a. Define a language model

b. generate summary with generative language model

Page 3: Text summarization(ch.16)datamining.uos.ac.kr › ... › 02 › 김형욱_ch.16_text-summary.pdf · 2019-06-11 · Text summarization(ch.16) 고급파일처리론 발표 1 서울시립대학교

3

Text summarization이란?

많은 양의 텍스트를 좀 더 명확하면서, 짧은 형태로 변형하는 것

전체 문서를 읽지 않고도 내용을 이해할 수 있다는 장점이 있다.

Page 4: Text summarization(ch.16)datamining.uos.ac.kr › ... › 02 › 김형욱_ch.16_text-summary.pdf · 2019-06-11 · Text summarization(ch.16) 고급파일처리론 발표 1 서울시립대학교

4

Text summarization이란?

● 인간에게 있어서 직관적인 Task이나 시스템을 설계하기 위한 프로세스를 명확하게 정의하는 것이 어려움.

● Text summarization은 요약 목적 또는 문서 포맷에 따라 구현이 크게 달라질 수 있음.

오늘의 신문 헤드라인

단일 신문 기사 기사에서 가장 중요한 문단

검색 엔진 결과 Short snippet을 통한 단어 하이라이트 or 주요 문장 선택

Examples

summary

summary

summary

Page 5: Text summarization(ch.16)datamining.uos.ac.kr › ... › 02 › 김형욱_ch.16_text-summary.pdf · 2019-06-11 · Text summarization(ch.16) 고급파일처리론 발표 1 서울시립대학교

5

Two main methods in text summarization

1. Extractive(selection-based) summarization

원본 문서에서 요약에 해당하는 문장들을 선택하는 방식.

2. Abstractive(generation-based) summarization

원본 문서를 요약할 수 있는 새로운 문장을 생성하는 방식.

Page 6: Text summarization(ch.16)datamining.uos.ac.kr › ... › 02 › 김형욱_ch.16_text-summary.pdf · 2019-06-11 · Text summarization(ch.16) 고급파일처리론 발표 1 서울시립대학교

6

Extractive summarization

원본 문서에서 중요한 문장들을 추출하는 방식. 원본 문서에 없는 새로운 문장은 쓰여지지 않는다.

Step 1. 요약할 문서를 여러 구절(Passage)로 나누기.

Step 2. Passage를 요약하는 문장 추출하기.

Page 7: Text summarization(ch.16)datamining.uos.ac.kr › ... › 02 › 김형욱_ch.16_text-summary.pdf · 2019-06-11 · Text summarization(ch.16) 고급파일처리론 발표 1 서울시립대학교

7

Step 1. 요약할 문서를 여러 Passage로 나누기.

1. Sentence to vector (tf-idf, word-to-vec 등)

2. 연속된 문장 간 유사도 분석(vector 간 cosine similarity)

3. 유사도의 저점 구간 별로 문서를 나눠 Passage들을 얻는다.

연속된 문장 간 유사도

Page 8: Text summarization(ch.16)datamining.uos.ac.kr › ... › 02 › 김형욱_ch.16_text-summary.pdf · 2019-06-11 · Text summarization(ch.16) 고급파일처리론 발표 1 서울시립대학교

8

Step 2. Passage를 요약하는 문장 추출하기

핵심적 아이디어는 각 Passage 별 요약 문장은 다음 두 가지를 동시에 충족해야 한다는 것!

1. Passage를 잘 대표하는 문장이어야 한다.

2. Sentence 간 내용이 중복되지 않아야 한다.

두 가지를 만족하는 Sentence들을 각 Passage 별로 찾아내기 위해 MMR formula 사용

Page 9: Text summarization(ch.16)datamining.uos.ac.kr › ... › 02 › 김형욱_ch.16_text-summary.pdf · 2019-06-11 · Text summarization(ch.16) 고급파일처리론 발표 1 서울시립대학교

9

Step 2. Passage를 요약하는 문장 추출하기

Maximum Marginal Relevance (Re-ranking algorithm)

R : 현재 Passage의 문장 집합S : 사전에 선별된 문장 집합p : passage에 대한 vector 표현λ∈[0, 1]

해당 문장이 passage를 얼마나 대표하는가? (유사도)

앞서 선별된 요약 문장들과 가장 유사한 정도(Redundancy 계산)

Page 10: Text summarization(ch.16)datamining.uos.ac.kr › ... › 02 › 김형욱_ch.16_text-summary.pdf · 2019-06-11 · Text summarization(ch.16) 고급파일처리론 발표 1 서울시립대학교

10

Abstractive summarization

언어 모델을 통해 문서를 요약할 수 있는 새로운 문장을 생성해내는 방식.

Step 1. 요약하고자 하는 문서에 대한 언어 모델(Language model)을 생성.

Step 2. 언어모델을 사용한 문장 생성

Page 11: Text summarization(ch.16)datamining.uos.ac.kr › ... › 02 › 김형욱_ch.16_text-summary.pdf · 2019-06-11 · Text summarization(ch.16) 고급파일처리론 발표 1 서울시립대학교

11

Step 1. 언어 모델(Language model)을 생성

언어 모델이란?

단어 시퀀스에 대한 확률 분포를 가리킨다. 즉 m개의 단어가 주어졌을 때 시퀀스가 나타날 확률을 분포로서 추정하는 모델을 말함.

예시와 같이 언어 모델은 Context dependent하고 시퀀스에 대한 확률의 정량화가 가능함.

문서가 가지고 있는 컨텐츠를 단어들의 확률 분포가 대변할 수 있다는 아이디어

Page 12: Text summarization(ch.16)datamining.uos.ac.kr › ... › 02 › 김형욱_ch.16_text-summary.pdf · 2019-06-11 · Text summarization(ch.16) 고급파일처리론 발표 1 서울시립대학교

12

Step 1. 언어 모델(Language model)을 생성

Uni-gram model

가장 단순한 언어모델로 각 단어가 서로 독립이라고 가정한 모델이다.어떤 n개의 단어가 등장할 확률은 단순히 다음과 같다.

Page 13: Text summarization(ch.16)datamining.uos.ac.kr › ... › 02 › 김형욱_ch.16_text-summary.pdf · 2019-06-11 · Text summarization(ch.16) 고급파일처리론 발표 1 서울시립대학교

13

Step 2. 언어모델을 통한 문장 생성

Q. 언어 모델은 확률 분포이다. 어떻게 확률 분포로부터 실제 데이터를 샘플링하는가?

Inverse cumulative distribution function에 대해 U(0,1) 분포로부터 샘플링한 값을 입력으로하는 결과값으로부터 얻을 수 있다.

Probabilistic-generative model G

(inverse cumulative distribution function)

uniform distU(0, 1)

Generated wordx~U(0,1) G(x)

Page 14: Text summarization(ch.16)datamining.uos.ac.kr › ... › 02 › 김형욱_ch.16_text-summary.pdf · 2019-06-11 · Text summarization(ch.16) 고급파일처리론 발표 1 서울시립대학교

14

Step 2. 언어모델을 통한 문장 생성

마찬가지로 문서를 Unigram model을 통해 나타내고 있다고 할 때, 언어모델의 inverse cumulative distribution function을 통해 간단하게 문장을 만들어낼 수 있다.

“a” = G(x1), “the” = G(x2) x1, x2 ~ U(0,1)

Page 15: Text summarization(ch.16)datamining.uos.ac.kr › ... › 02 › 김형욱_ch.16_text-summary.pdf · 2019-06-11 · Text summarization(ch.16) 고급파일처리론 발표 1 서울시립대학교

15

Step 2. 언어모델을 통한 문장 생성

그러나 실제로 Unigram을 사용하여 sentence를 생성할 시 정상적인 문장을 생성해내지 못 한다.

따라서 N-gram model을 사용하면 , 앞서 샘플링된 단어들 고려한 생성모델을 만들 수 있다.N-gram model

N의 크기에 따른 trade-off 발생

1. Too large N → 특정 문장에 과적합될 수 있음.2. Too small N → 생성한 문장 전체를 아우르는 context를 갖기 어려워짐(지엽적).

Page 16: Text summarization(ch.16)datamining.uos.ac.kr › ... › 02 › 김형욱_ch.16_text-summary.pdf · 2019-06-11 · Text summarization(ch.16) 고급파일처리론 발표 1 서울시립대학교

16

Thank you!