๐Paper Review
[paper review] TextRank: Bringing Order into Text
IntroductionProposed approachTextRank for Keyword ExtractionTextRank for Sentence ExtractionExperimentsConclusion
Introduction
TextRankย ์๊ณ ๋ฆฌ์ฆ์ ์์ ์ ๋ฆฌํ PageRank๋ฅผ Text ๋ฐ์ดํฐ์ ์ ์ฉํ๊ธฐ ์ํ variation์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค.
๋ณธ ๋
ผ๋ฌธ์์๋ Keyword Extraction๊ณผ Sentence Extraction์ ์ํ ๋๊ฐ์ TextRank ๋ฐฉ๋ฒ๋ก ์ ์ ์ํ๊ณ ์์ต๋๋ค.
Proposed approach
PageRank๋ ๊ธฐ๋ณธ์ ์ผ๋กย unweighted, directed graph ๋ฅผ ๊ตฌ์ฑํ์ฌ vertex์ ์ค์๋๋ฅผ ๊ณ์ฐํฉ๋๋ค.
๋ฐ๋ฉด์ย TextRank๋ย weighted graph์ย undirected graphย ๋ํย ์ค์๋๋ฅผ ๊ณ์ฐํ ์ ์๋๋ก ๊ฐ๋
์ ํ์ฅํ์์ต๋๋ค.
์ด๋ ์น ํ์ด์ง์ ๋นํด ์ํธ ๋ณต์กํ ์ฐ๊ด๊ด๊ณ๋ฅผ ๊ฐ๋ text data์ ํน์ฑ์ ๋ฐ์ํ๊ธฐ ์ํจ ์
๋๋ค.
๋ฐ๋ผ์ TextRank์ ๊ทธ๋ํ๋ฅผ ๊ตฌ์ฑํ ๋์๋ directed/undirected, weighted/unweighted์ ํํ ์ค ์์ ๋กญ๊ฒ ์ ํ์ด ๊ฐ๋ฅํฉ๋๋ค.
ย
๋ฐ๋ผ์
weighted graph์์์ vertexย ์ ๋ํ ์ค์๋๋ ๋ค์์ ๊ฐ์คํฉ ๊ณผ์ ์ ํตํด ๊ณ์ฐํ ์ ์์ต๋๋ค.
ย
๊ฐ๊ฐ vertex ์ฌ์ด edge์ ๋ํ ๊ฐ์ค์น๋ Keyword Extraction๊ณผ Sentence Extraction ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ๊ฐ๊ฐ ๋ค๋ฅด๊ฒ ๊ณ์ฐ ๋ฉ๋๋ค.
ย
TextRank๋ฅผ text data์ ์ ์ฉํ๊ธฐ ์ํด์๋ ๊ทธ๋ํ์ ์ถ๊ฐํ text์ ํํ์ ์๊ด์์ด ๋ค์์ ๋ค๊ฐ์ง ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด๋ฉด ๋ฉ๋๋ค.
- task์ ๋ง๋ ๊ฐ์ฅ ์ ๋นํ text units์ ์ ์ํ์ฌ ๊ทธ๋ํ์ vertex๋ก ์ถ๊ฐํฉ๋๋ค.
- text unit ์ฌ์ด์ ๊ด๊ณ๋ฅผ ์ ์ํ๊ณ , vertex ์ฌ์ด์ edge๋ก์ ์ถ๊ฐํฉ๋๋ค. ์ด ๋, edge๋ ์์ ์ค๋ช ๋๋ฆฐ๋๋ก directed/undirected, weighted/unweighted์ ํํ ์ค ์์ ๋กญ๊ฒ ์ ํ ๊ฐ๋ฅํฉ๋๋ค.
- ๊ทธ๋ํ๊ฐ ์๋ ดํ ๋๊น์ง ๋ญํน ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๋ณตํฉ๋๋ค.
- ์ต์ข ์ ์ผ๋ก vertex์ ์ค์๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ๋ ฌํ์ฌ ranking/selection์ ์ฌ์ฉํฉ๋๋ค.
ย
ย
TextRank for Keyword Extraction
TextRank๋ฅผ Keyword Extraction์ ์ํด ์ฌ์ฉํ๋ค๋ฉด, ์ฃผ์ด์ง Text data์ ๋ํ ์ต์ข
๊ฒฐ๊ณผ๋ ๋จ์ด ํน์ ๊ตฌ๋ฌธ์ ์งํฉ์ด ๋ ๊ฒ์
๋๋ค.
๋ฐ๋ผ์ ํ๋ ์ด์์ ์ดํ(lexical units)๋ก ๊ตฌ์ฑ๋ ์ํ์ค(1~n gram)๋ฅผ Vertex๋ก ์ฌ์ฉํ๊ณ , Vertex ์ฌ์ด์ ์ ์๋ฏธํ edge๋ฅผ ์ ์ํ์ฌ Keyword Extraction์ ์ํ ์ค์๋๋ฅผ ํ๋จํด์ผ ํฉ๋๋ค.
๋ณธ ๋
ผ๋ฌธ์์๋ ์ดํ ๋จ์(lexical units)์ co-occurrence๋ฅผ ํตํด TextRank ๊ทธ๋ํ์ edge๋ฅผ ์ ์ํ์์ต๋๋ค.
co-occurrence๋ Window size N ์ด๋ด์ ๋์์ ์ถํ์ ๊ณ ๋ คํ์ฌ Vertex๋ฅผ ์ฐ๊ฒฐ์์ผ ์ค๋๋ค.
ํํฐ๋ง์ ํตํ์ฌ ์ํ๋ ์กฐ๊ฑด์ ๋ง๋ ๋จ์ด๋ง์ Vertex์ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ ๋ํ ์กด์ฌํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด, ์ค์ง ๋ช
์ฌ์ ๋์ฌ๋ง์ vertex๋ก ์ถ๊ฐ ํ์ฌ ๊ทธ๋ํ๋ฆ ์์ฑํ ์ ์์ ๊ฒ ์
๋๋ค.
์ดํ ๊ณผ์ ์์ ์ต์ ์ ํํฐ๋ง ์กฐํฉ์ ์ฐพ๊ธฐ ์ํ ์คํ์ ์งํํ ๊ฒฐ๊ณผ, ๋ช
์ฌ์ ํ์ฉ์ฌ๋ง์ ๊ทธ๋ํ์ ์ถ๊ฐํ์์ ๋ ๊ฐ์ฅ ์ข์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์๋ค๊ณ ํฉ๋๋ค.
ย
์ ๋ฆฌํด ๋ณด๋ฉด, TextRank์ keyword extraction ์๊ณ ๋ฆฌ์ฆ์ ๋ค์๊ณผ ๊ฐ์ด ๋น ์ง๋ํํ๋ก ์งํ๋ฉ๋๋ค.
- Text๋ฅผ ํ ํฐํ ํ๊ณ , ํํฐ๋ง์ ์ํด POS ํ๊น ์ ์งํํฉ๋๋ค.
- ํํฐ๋ง์ ์งํํ vertex๋ฅผ ๊ทธ๋ํ์ ์ถ๊ฐํ๊ณ , Co-occurrence๋ฅผ ๊ณ ๋ คํ์ฌ edge ๋ํ ์ถ๊ฐํฉ๋๋ค.
- ์ด๊ธฐ vertex ์ค์๋๋ฅผ 1๋ก ์ค์ ํ๊ณ ์๋ ดํ ๋๊ฐ์ง ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๋ณตํฉ๋๋ค.
- ์ต์ข ์ ์ผ๋ก ์ป์ ์ค์๋๋ฅผ ์ ๋ ฌํ์ฌ Top-N๊ฐ์ vertex๋ฅผ ๋ฌธ์ฅ์ keyword๋ก ์ ์ํฉ๋๋ค.
๋ณธ ๋
ผ๋ฌธ์์๋ ๊ทธ๋ํ๊ฐ ๋๋ฌด ์ปค์ง๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํ์ฌ n-gram์ด ์๋ ๊ฐ๋ณ ๋จ์ด๋ค๋ง์ vertex๋ก ์ถ๊ฐํ์์ต๋๋ค.
ํ์ง๋ง ๊ฐ๋ณ ํค์๋๋ค์ ํฉ์น๋ post-processing ์์
์ ํตํด multi-word keyword๋ก์ ๋ณํ ๋ํ ๊ฐ๋ฅํ๋ค๊ณ ํฉ๋๋ค.
ย
TextRank for Sentence Extraction
TextRank ์๊ณ ๋ฆฌ์ฆ์ Sentence๋ฅผ vertex๋กํ๋ ๊ทธ๋ํ์ ๋ํด์๋ ์ ์ฉ์ด ๊ฐ๋ฅํฉ๋๋ค.
ํ์ง๋ง ๋ฌธ์ฅ์ ๋ํด์๋ ์ผ์ผ์ด ๋์์ถํ์ ๊ณ ๋ คํ ์๊ฐ ์์ต๋๋ค.
๋ฐ๋ผ์ ๋ค์๊ณผ ๊ฐ์ด ๋ ๋ฌธ์ฅ ์ ์ฌ์ด์์ ๋์์ ์ถํํ๋ ๋จ์ด์ ๊ฐ์๋ฅผ ๊ณ ๋ คํ์ฌ edge๋ฅผ ์ ์ํฉ๋๋ค.
๋ฐ๋ผ์ Sentence Extraction์ ์ํ TextRank๋ ๋ฌธ์ฅ์ ์ค์๋๋ฅผ ๋ถ์ฌํ๋ ๊ณผ์ ๊ณผ ๊ฐ์ต๋๋ค.
์ ๋ฆฌํด ๋ณด๋ฉด, Sentence Extraction ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ์ด ์งํ๋ฉ๋๋ค.
- ๊ฐ ๋ฌธ์ฅ์ ๋ํ ์ธ๋ฑ์ค๋ฅผ ์ง์ ํฉ๋๋ค.
- ๊ทธ๋ํ์ ๋ฌธ์ฅ์ vertex๋ก ์ถ๊ฐํ๊ณ , ์ฃผ์ด์ง ์์์ ์ด์ฉํ์ฌ vertex ์ฌ์ด์ edge ๋ํ ์ ์ํฉ๋๋ค.
- Vertex์ ์ค์๋๋ฅผ ์ด๊ธฐํํ๊ณ ์๋ ดํ ๋๊น์ง ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๋ณตํฉ๋๋ค.
- ์ต์ข ์ ์ผ๋ก ์ ๋ ฌ์ ํตํด ์ค์๋๊ฐ ๋์ ๋ฌธ์ฅ๋ค์ ์ฌ์ฉํ์ฌ ๋ฌธ์์ ๋ํ ์์ฝ์ ์์ฑํฉ๋๋ค.
Experiments
TextRank์ Keyword Extraction์ ๋ํ ๊ฒ์ฆ ๊ฒฐ๊ณผ์
๋๋ค. ๊ฒฐ๊ณผ๋ฅผ ํตํ์ฌ ๋ค์์ ์ฌ์ค๋ค์ ์ ์ ์์์ต๋๋ค.
- ๋น์ TextRank๊ฐ ๊ฐ์ฅ ๋ฐ์ด๋ F-1 score๋ฅผ ๋ณด์์.
- window size๋ฅผ ๋๋ฆฌ๋ ๊ฒ์ ์ญํจ๊ณผ๋ฅผ ๋ถ๋ฌ์ด
- ๊ฐ์ ์กฐ๊ฑด์์ ๋น๊ตํด ๋ดค์ ๋, directed ๊ทธ๋ํ๋ฅผ ํ์ฉํ ๋ชจ๋ธ์ด Undiriected ๊ทธ๋ํ๋ฅผ ํ์ฉํ ๋ชจ๋ธ๋ณด๋ค ์ฑ๋ฅ์ด ์ข์์.
- ๋ช ์ฌ, ํ์ฉ์ฌ๋ฅผ vertex๋ก ์ฌ์ฉํ์์ ๋, ๊ฐ์ฅ ์ฑ๋ฅ์ด ์ข์์.
ย
ย
Conclusion
TextRank๋ ๋ฌธ์ฅ ์ฌ์ด์ ์ ์ฌ๋์ ์ค์๋ ์์๋ฅผ ๋์์ ์ป์ ์ ์์ต๋๋ค.
์ง๋ํ์ต์ ์ํด ์์ฝ๋ณธ์ ์ป๋ ๊ฒ์ ๋งค์ฐ ํฐ ๋
ธ๋๋ ฅ์ด ํ์ํฉ๋๋ค. ๋ฐ๋ผ์ TextRank๋ ๋น์ง๋ ํ์ต ๋ชจ๋ธ์ด๋ผ๋ ์ฅ์ ๋ํ ์กด์ฌํฉ๋๋ค.
ย