์ด๋ฒ ํฌ์คํ ์์๋ lexrankr์ ์ฌ์ฉํด์ ์ฅ๋ฌธ์ ํ ์คํธ๋ฅผ 3์ค๋ก ์์ฝํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๊ฐ์ฅ ๋ง๋งํ ๋ด์ค ๋ฐ์ดํฐ๋ฅผ ์ํ๋ก ๋ฃ์ด์ ๊ฒฐ๊ณผ๊ฐ ์ด๋ป๊ฒ ๋์ค๋์ง ๋ณด์ฌ๋๋ฆฌ๊ฒ ์ต๋๋ค. ๊ทธ์ ์ lexrank์ ๋ํด ๊ฐ๋จํ๊ฒ ๋ค๋ค๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
lexrank
lexrank๋ ์ด ๋ ผ๋ฌธ์์ ์ฒ์ ๋ฑ์ฅํ์ต๋๋ค. ๊ฐ๋จํ๊ฒ ์ค๋ช ํ์๋ฉด ๊ตฌ๊ธ์ ๊ฒ์์์ง์ ์ ์ฉ๋์๋ PageRank๋ผ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ฌธ์ ์์ฝ์ ์ ์ฉ์ ํ ๊ฒ์ด lexrank์ ๋๋ค. ์ด๋ค ์น์ฌ์ดํธ์ URL์ด ๋ค๋ฅธ ์น์ฌ์ดํธ์์ ๋งํฌ๊ฐ ๋ง์ด ๊ฑธ๋ ธ๋ค๋ฉด ์ํฅ๋ ฅ์ด ๋๋ค๊ณ ํ๋จํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋งํฌ๋ฅผ ๊ฑด ํ์ด์ง์ ์ํฅ๋ ฅ์ด ํด์๋ก ๋งํฌ๋ฅผ ๋ฐ์ ํ์ด์ง ๋ํ ์ํฅ๋ ฅ์ด ๋๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค. ๋ง์ ์ฌ๋๋ค์ ์กด๊ฒฝ์ ๋ฐ๋ ํ์๊ฐ ์ด๋ค ์ฌ๋์ ์นญ์ฐฌํ๋ฉด, ์นญ์ฐฌ๋ฐ๋ ์ฌ๋์ ๊ถ์๊ฐ ์ด๋ ์ ๋ ์ฌ๋ผ๊ฐ๊ฒ ์ฃ ? PageRank๋ ์ด๋ฌํ ๋ด์ฉ์ ์์ํํ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค.
lexrank๋ ๋ฌธ์ ์์์ ๋ฌธ์ฅ๊ณผ ๋ฌธ์ฅ์ ๊ด๊ณ๋ฅผ ๊ทธ๋ํ๋ก ํํํ๊ธฐ ์ํด์ tf-idf ์ฝ์ฌ์ธ ์ ์ฌ๋๋ฅผ ์ฌ์ฉํ๊ณ , PageRank ์๊ณ ๋ฆฌ์ฆ์ ์ ์ฉํ์ฌ ์ค์ํ ๋ฌธ์ฅ์ ์ ์ํฉ๋๋ค. ๋ฌธ์์ ์๋ ๋ฌธ์ฅ ๋ค ์ค์์ ์ฌ๋ฌ ๊ฐ์ ๋ฌธ์ฅ๋ค๊ณผ '๋น์ทํ ๋ฌธ์ฅ'์ด ์์ ๊ฒ๋๋ค. PageRank์ ๊ฐ์ ๋งฅ๋ฝ์ผ๋ก "๋ง์ '๋น์ทํ ๋ฌธ์ฅ'๋ค๊ณผ ๋น์ทํ ํ ์๋ก ํต์ฌ ๋ฌธ์ฅ"์ผ๋ก ์ฌ๊ฒจ์ง๋๋ค.
์์ค์ฝ๋
์ฝ๋๋ ๋งค์ฐ ๊ฐ๋จํฉ๋๋ค.
from lexrankr import LexRank
from typing import List
class Tokenizer:
def __call__(self, text: str) -> List[str]:
tokens: List[str] = text.split()
return tokens
# ์์ฝ ๋์ ๋ฌธ์ ์ ์ ## ๋ด์ค ์๋ฌธ: https://www.yna.co.kr/view/AKR20230215109852003?section=society/education
doc = """๊น๊ธฐ๋จ ์ผ์ฑ์ ์[005930] SAIT(๊ตฌ ์ข
ํฉ๊ธฐ์ ์) ํ์ฅ๊ณผ ๋ฐ์ ํธ SKํ์ด๋์ค ๋ํ์ด์ฌ ๋ถํ์ฅ์ด ํ๋ชฉ์๋ฆฌ๋ก ๋ฐ๋์ฒด ์ธ๋ ฅ ์์ฑ์ ์ค์์ฑ์ ๊ฐ์กฐํ๋ค.
์ด๋ค์ 15์ผ ์์ธ ํ๋ ์ค์ผํฐ์์ ์ด๋ฆฐ ํ๋ฆผ๋ ๋ํํ์ ์(์์ฅ ์กํธ๊ทผ) ๊ฐ์ ๊ธฐ๋
ํ์ ์ฌํฌ์ง์์์ 'ํ๊ตญ ๋ฐ๋์ฒด ์ฐ์
์ ํํฉ๊ณผ ๋ฏธ๋'๋ฅผ ์ฃผ์ ๋ก ๊ฐ๊ฐ ๊ธฐ์กฐ์ฐ์ค์ ํ๋ค.
๊น ํ์ฅ์ "(๋ฐ๋์ฒด) ์ฒจ๋จ ๊ธฐ์ ๊ฒฝ์๋ ฅ์ ๋ง๋ค์ด๋ด๋ ค๋ฉด ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ๊ฒฐ๊ตญ ์ธ๋ ฅ"์ด๋ผ๋ฉฐ "์๋ฌด๋ฆฌ ์ง๊ธ ์ธ๊ณต์ง๋ฅ(AI)๊ณผ ์ฑGPT๊ฐ ์ํ๋ค๊ณ ํด๋ ๋ฐ๋์ฒด ๊ณต์ ๋ฐ์ดํฐ๋ฅผ ํ์ตํ์ง ์์ผ๋ฉด ์ ํ ์ธ๋ชจ๊ฐ ์๋ค"๊ณ ๋งํ๋ค.
๊ทธ๋ฌ๋ฉด์ "์ฐ์ํ ์ธ๋ ฅ์ ํตํด ๋ง๋ค์ด์ง ์ต์ฒจ๋จ ๊ธฐ์ ๋ก ๊ท๋ชจ์ ๊ฒฝ์ ๋ฅผ ์ด๋ค์ผ ํ๋ค"๋ฉฐ "์ฐ์ํ ์ธ๋ ฅ์ด ์์ผ๋ฉด ๊ธฐ์ ํ์ ์ ์ง์๋ ๊ฒ์ผ๋ก ํ์ ํ๋ค"๊ณ ๊ฐ์กฐํ๋ค.
๊ทธ๋ "์ธ๋ ฅ ์์ฑ์ ๊ดํด ์์งํ ๋ง์๋๋ฆฌ๋ฉด ์ ํฌ๋ ๋ฐ๋์ฒด ๊ณ์ฝํ๊ณผ๋ ๋ง๋ค๊ณ ๋ฌด์ง ๋
ธ๋ ฅํ๋๋ฐ ์ ์๋๋ค"๋ฉฐ "๊ธฐ์
์ด ํ ์ ์๋ ๋ถ๋ถ์ด ์๋๊ณ ๊ตญ๊ฐ, ํ๊ณ, ์ฐ์
๊ณ๊ฐ ๊ณต๋์ผ๋ก ๋
ธ๋ ฅํด ์ ์ํ ์ฌ์ดํด์ ๋ง๋ค์ด์ผ ํ๋ค"๊ณ ์ ์ํ๋ค.
์ ๋ถ์ ๋ฐ๋์ฒด ์ก์ฑ ์ ์ฑ
์๋ ์ต๊ทผ ์ฐ์ธ๋ ์์คํ
๋ฐ๋์ฒด๊ณตํ๊ณผ ์ ์ ๋ชจ์ง 1์ฐจ ํฉ๊ฒฉ์ ์ ์์ด ๋ฑ๋ก์ ํฌ๊ธฐํ๋ ๋ฑ ๋ฐ๋์ฒด ๊ณ์ฝํ๊ณผ๊ฐ ์ธ์ฌ๋ค์ ์ธ๋ฉด์ ๋ฐ๊ณ ์๋ค.
๊น ํ์ฅ์ "๊ตญ๊ฐ๊ฐ ํ๋ฅญํ ์ ์ฑ
์ ๋ง๋ค๊ณ ์ฐ๊ตฌ๊ฐ๋ฐ(R&D)์ ํตํด ํ๊ต์์ ์ข์ ์ธ๋ ฅ์ ์์ฑํ๋๋ก ๋ท๋ฐ์นจํ๋ฉด ๊ทธ ์ธ๋ ฅ์ด ํ์ฌ์ ๋ค์ด์ ๋์ ๋ฒ๊ณ ํ์ฌ๋ ์ฌํฌ์๋ฅผ ํ๋ค"๋ฉฐ "์ด๋ฐ ์ฌ์ดํด์ ๋ง๋ค๋ฉด ๋ฌธ์ ์์ ๊ฒ ๊ฐ๋ค"๊ณ ๋งํ๋ค.
์ด์ด ์ ๋ถ ๋ฐ๋์ฒด ์ ์ฑ
์ ๋ํด "ํฌ์ ํจ๊ณผ๋ฅผ ๊ทน๋ํํ๊ธฐ ์ํด ๋ฐ๋์ฒด ์ง์์ด๋ ์ก์ฑ์ด ํ์ํ๋ค"๋ฉฐ "์ ์ด๋ ๊ฒฝ์๊ตญ์ ๋ค์ง์ง ์๋ ์ ๋์ ์ง์์ ์ธ ์ ์ฑ
์ ํ์ํ๋ค"๊ณ ๋ง๋ถ์๋ค.
๋ฐ ๋ถํ์ฅ๋ ํ๊ตญ์ด ๋ฐ๋์ฒด ๊ฐ๊ตญ์ ์์์ ์งํค๋ ค๋ฉด โฒ ์ฐ์ ์ธ์ฌ ์ก์ฑ โฒ ์ ๋ถ์ ๋ฐ๋์ฒด ์ํ๊ณ ๊ฐํ ๋
ธ๋ ฅ โฒ ๋ฏธ๋ ๊ธฐ์ ์ค๋น๊ฐ ํ์์ ์ด๋ผ๊ณ ์ ์ธํ๋ค.
๋ฐ ๋ถํ์ฅ์ ์ต๊ทผ ๊ธฐ์ ์ธ์ฌ ํ๋ฆ์ ๋ํด "๋ง์ดํฌ๋ก ์ด (์ธ์ฌ๋ฅผ) ๋๋ํ๊ฒ ๋ง๋ค์ด๋์ผ๋ฉด ์ธํ
์ด ๋ฐ๋ ค๊ฐ๊ณ , ๋ง์ดํฌ๋ก ์ ๋น์๋ฆฌ์ ์ผ์ฑ๊ณผ SKํ์ด๋์ค ์ฌ๋์ ๋ฝ์๊ฐ๋ค"๋ฉฐ "๋ ์ธํ
์ ์ธ์ฌ๋ฅผ ํค์๋์ผ๋ฉด ๊ตฌ๊ธ๊ณผ ์๋น๋์๋ก ๊ฐ๋ค"๊ณ ์ ํ๋ค.
๊ทธ๋ฌ๋ฉด์ "์ฐ๋ฆฌ๋ ์ข์ ์ธ์ฌ๊ฐ ํ์ํ๋ฐ ์ค์ ๋ก ๋ ๊ณ ๋ถ๊ฐ๊ฐ์น๋ฅผ ์ฐฝ์ถํ๋ ๊ธฐ์
์ด ๋ ์ข์ ์ธ์ฌ๋ฅผ ๋ฐ๋ ค๊ฐ๋ค"๋ฉฐ "์ธ์ฌ ์์ฑ์ ๋ํด์๋ ์ ์ถ์ฐ ๋ฌธ์ ๋งํผ์ด๋ ๋ณต์กํ ํจ์๋ฅผ ํ์ด๊ฐ์ผ ํ๋ค"๊ณ ๋ง๋ถ์๋ค.
์์ธ๋ฌ ๊ทธ๋ "์ต๊ทผ์ ๋ฐ๋์ฒด ํ๊ณผ์ ์
ํํ๊ธฐ๋ก ํ๋ค๊ฐ ํ์๋ค์ด ์ ๋ค์ด์๋ค๊ณ ํ๋ค"๋ฉฐ "๊ทธ๋๋ (ํ์์ด) ๋ง์ด ์ฑ์์ก๋ค๊ณ ๋ค์์ง๋ง, ํ์๋ค์๊ฒ๋ ํ๋ฒ ์ํฌ์์ ๋๊ฐ์ผ ํ์ง ์์๊น ์๊ฐํ๋ค"๊ณ ๋งํ๋ค.
๋ฐ ๋ถํ์ฅ์ ๋๊ธฐ์
๊ณผ ์๋ถ์ฅ, ํ๊ณ๊ฐ ํจ๊ป ๋ฐ๋์ฒด ์ํ๊ณ๋ฅผ ํ์ฑํํ ํ๋ซํผ์ผ๋ก '๋ฏธ๋ ํน(๊ณต์ฅ)'์ ๊ตฌ์ถํ๋ ์๋ ์ ์ํ๋ค.
๋ฏธ๋ ํน์ ๋ฐ๋์ฒด ์ํ๊ณ ๊ธฐ์
๊ณผ ํ๊ณ์ ์ฐ๊ตฌ ๊ฒฐ๊ณผ๋ ์์ ํ ๋ถ์, ์์ฐ ํ
์คํธ๋ฅผ ์ง์ํ ์ ์๋๋ก ๋ฐ๋์ฒด ๊ณต์ ์ ๊ฐ์ํํ ํํ๋ก ํน ์ฅ๋น ํ๊ฒฝ์ ์ ๊ณตํ๋ ์์ค์ด๋ค.
๋ ๋ฐ ๋ถํ์ฅ์ "์์ผ๋ก AI ์ฑ๋ด ์๋น์ค ๋ถ์ผ๊ฐ ๋ฐ๋์ฒด ์์์ ์๋ก์ด 'ํฌ๋ฌ ์ ํ๋ฆฌ์ผ์ด์
(์ฑ)'์ด ๋ ๊ฒ"์ด๋ผ๋ฉฐ "AI ์๋์ ์ผ์ด๋ ๊ธฐ์ ํ์ ์ ์ค์ฌ์ ํญ์ ๋ฉ๋ชจ๋ฆฌ ๋ฐ๋์ฒด๊ฐ ์์ ๊ฒ"์ด๋ผ๊ณ ๋งํ๋ค.
๊ทธ๋ "์ฑGPT ๋ฑ AI ์๋๊ฐ ํผ์ณ์ง๊ณ ๊ด๋ จ ๊ธฐ์ ์ด ์งํํ๋ฉด์ ๊ธ๋ก๋ฒ ๋ฐ์ดํฐ ์์ฑ, ์ ์ฅ, ์ฒ๋ฆฌ๋์ ๊ธฐํ๊ธ์์ ์ผ๋ก ๋์ด๋ ์ ๋ง"์ด๋ผ๋ฉฐ "์ด๋ฌํ ํ๋ฆ ์์ SKํ์ด๋์ค๊ฐ ์ธ๊ณ ์ต์ด๋ก ๊ฐ๋ฐํ ์ต๊ณ ์ D๋จ์ธ HBM(๊ณ ๋์ญํญ ๋ฉ๋ชจ๋ฆฌ)์ AI ์๋ ๊ธฐ์ ์งํ์ ํฐ ์ญํ ์ ํ๊ณ ์๋ค"๊ณ ์๊ฐํ๋ค.
"""
# ํ ํฌ๋์ด์ ์ ์
tokenizer = Tokenizer()
# lexrank ๋ชจ๋ ์ ์
lexrank = LexRank(tokenizer, birch_n_clusters=3)
lexrank.summarize(doc)
summaries = lexrank.probe()
for summary in summaries:
print(summary)
for summary in summaries:
print([summary])
['๊น๊ธฐ๋จ ์ผ์ฑ์ ์[005930] SAIT(๊ตฌ ์ข
ํฉ๊ธฐ์ ์) ํ์ฅ๊ณผ ๋ฐ์ ํธ SKํ์ด๋์ค ๋ํ์ด์ฌ ๋ถํ์ฅ์ด ํ๋ชฉ์๋ฆฌ๋ก ๋ฐ๋์ฒด ์ธ๋ ฅ ์์ฑ์ ์ค์์ฑ์ ๊ฐ์กฐํ๋ค']
['๋ฐ ๋ถํ์ฅ๋ ํ๊ตญ์ด ๋ฐ๋์ฒด ๊ฐ๊ตญ์ ์์์ ์งํค๋ ค๋ฉด โฒ ์ฐ์ ์ธ์ฌ ์ก์ฑ โฒ ์ ๋ถ์ ๋ฐ๋์ฒด ์ํ๊ณ ๊ฐํ ๋
ธ๋ ฅ โฒ ๋ฏธ๋ ๊ธฐ์ ์ค๋น๊ฐ ํ์์ ์ด๋ผ๊ณ ์ ์ธํ๋ค']
['์์ธ๋ฌ ๊ทธ๋ "์ต๊ทผ์ ๋ฐ๋์ฒด ํ๊ณผ์ ์
ํํ๊ธฐ๋ก ํ๋ค๊ฐ ํ์๋ค์ด ์ ๋ค์ด์๋ค๊ณ ํ๋ค"๋ฉฐ "๊ทธ๋๋ (ํ์์ด) ๋ง์ด ์ฑ์์ก๋ค๊ณ ๋ค์์ง๋ง, ํ์๋ค์๊ฒ๋ ํ๋ฒ ์ํฌ์์ ๋๊ฐ์ผ ํ์ง ์์๊น ์๊ฐํ๋ค"๊ณ ๋งํ๋ค']
17 ๋ฌธ์ฅ์ ๋ด์ค ๊ธฐ์ฌ๋ฅผ 3 ๋ฌธ์ฅ์ผ๋ก ์์ฝํ์ต๋๋ค. ์์ฝ๋ ๋ถ๋ถ๋ง ๋ด๋ ๊ธฐ์ฌ์ ํต์ฌ์ ์ธ ๋ด์ฉ์ ๋๋ต์ ์ผ๋ก ์ ๋ถ ํ์ ์ด ๋๋ ๊ฒ ๊ฐ์ต๋๋ค.
์๋๋ Konlpy์ Okt (ํธ์ํฐ) ํ ํฌ๋์ด์ ๋ฅผ ํ์ฉํ ๊ฒฐ๊ณผ์ ๋๋ค. ์์์ ์ ์ํ ๋์ด์ฐ๊ธฐ ๊ธฐ๋ฐ ํ ํฌ๋์ด์ ์ ๊ฒฐ๊ณผ๊ฐ ํ์ฐํ๊ฒ ๋ฌ๋ผ์ก์ต๋๋ค.
from typing import List
from konlpy.tag import Okt
from lexrankr import LexRank
class OktTokenizer:
okt = Okt()
def __call__(self, text: str) -> List[str]:
tokens: List[str] = self.okt.pos(text, norm=True, stem=True, join=True)
return tokens
# ์์ฝ ๋์ ๋ฌธ์ ์ ์
## ๋ด์ค ์๋ฌธ: https://www.yna.co.kr/view/AKR20230215109852003?section=society/education
doc = """๊น๊ธฐ๋จ ์ผ์ฑ์ ์[005930] SAIT(๊ตฌ ์ข
ํฉ๊ธฐ์ ์) ํ์ฅ๊ณผ ๋ฐ์ ํธ SKํ์ด๋์ค ๋ํ์ด์ฌ ๋ถํ์ฅ์ด ํ๋ชฉ์๋ฆฌ๋ก ๋ฐ๋์ฒด ์ธ๋ ฅ ์์ฑ์ ์ค์์ฑ์ ๊ฐ์กฐํ๋ค.
์ด๋ค์ 15์ผ ์์ธ ํ๋ ์ค์ผํฐ์์ ์ด๋ฆฐ ํ๋ฆผ๋ ๋ํํ์ ์(์์ฅ ์กํธ๊ทผ) ๊ฐ์ ๊ธฐ๋
ํ์ ์ฌํฌ์ง์์์ 'ํ๊ตญ ๋ฐ๋์ฒด ์ฐ์
์ ํํฉ๊ณผ ๋ฏธ๋'๋ฅผ ์ฃผ์ ๋ก ๊ฐ๊ฐ ๊ธฐ์กฐ์ฐ์ค์ ํ๋ค.
๊น ํ์ฅ์ "(๋ฐ๋์ฒด) ์ฒจ๋จ ๊ธฐ์ ๊ฒฝ์๋ ฅ์ ๋ง๋ค์ด๋ด๋ ค๋ฉด ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ๊ฒฐ๊ตญ ์ธ๋ ฅ"์ด๋ผ๋ฉฐ "์๋ฌด๋ฆฌ ์ง๊ธ ์ธ๊ณต์ง๋ฅ(AI)๊ณผ ์ฑGPT๊ฐ ์ํ๋ค๊ณ ํด๋ ๋ฐ๋์ฒด ๊ณต์ ๋ฐ์ดํฐ๋ฅผ ํ์ตํ์ง ์์ผ๋ฉด ์ ํ ์ธ๋ชจ๊ฐ ์๋ค"๊ณ ๋งํ๋ค.
๊ทธ๋ฌ๋ฉด์ "์ฐ์ํ ์ธ๋ ฅ์ ํตํด ๋ง๋ค์ด์ง ์ต์ฒจ๋จ ๊ธฐ์ ๋ก ๊ท๋ชจ์ ๊ฒฝ์ ๋ฅผ ์ด๋ค์ผ ํ๋ค"๋ฉฐ "์ฐ์ํ ์ธ๋ ฅ์ด ์์ผ๋ฉด ๊ธฐ์ ํ์ ์ ์ง์๋ ๊ฒ์ผ๋ก ํ์ ํ๋ค"๊ณ ๊ฐ์กฐํ๋ค.
๊ทธ๋ "์ธ๋ ฅ ์์ฑ์ ๊ดํด ์์งํ ๋ง์๋๋ฆฌ๋ฉด ์ ํฌ๋ ๋ฐ๋์ฒด ๊ณ์ฝํ๊ณผ๋ ๋ง๋ค๊ณ ๋ฌด์ง ๋
ธ๋ ฅํ๋๋ฐ ์ ์๋๋ค"๋ฉฐ "๊ธฐ์
์ด ํ ์ ์๋ ๋ถ๋ถ์ด ์๋๊ณ ๊ตญ๊ฐ, ํ๊ณ, ์ฐ์
๊ณ๊ฐ ๊ณต๋์ผ๋ก ๋
ธ๋ ฅํด ์ ์ํ ์ฌ์ดํด์ ๋ง๋ค์ด์ผ ํ๋ค"๊ณ ์ ์ํ๋ค.
์ ๋ถ์ ๋ฐ๋์ฒด ์ก์ฑ ์ ์ฑ
์๋ ์ต๊ทผ ์ฐ์ธ๋ ์์คํ
๋ฐ๋์ฒด๊ณตํ๊ณผ ์ ์ ๋ชจ์ง 1์ฐจ ํฉ๊ฒฉ์ ์ ์์ด ๋ฑ๋ก์ ํฌ๊ธฐํ๋ ๋ฑ ๋ฐ๋์ฒด ๊ณ์ฝํ๊ณผ๊ฐ ์ธ์ฌ๋ค์ ์ธ๋ฉด์ ๋ฐ๊ณ ์๋ค.
๊น ํ์ฅ์ "๊ตญ๊ฐ๊ฐ ํ๋ฅญํ ์ ์ฑ
์ ๋ง๋ค๊ณ ์ฐ๊ตฌ๊ฐ๋ฐ(R&D)์ ํตํด ํ๊ต์์ ์ข์ ์ธ๋ ฅ์ ์์ฑํ๋๋ก ๋ท๋ฐ์นจํ๋ฉด ๊ทธ ์ธ๋ ฅ์ด ํ์ฌ์ ๋ค์ด์ ๋์ ๋ฒ๊ณ ํ์ฌ๋ ์ฌํฌ์๋ฅผ ํ๋ค"๋ฉฐ "์ด๋ฐ ์ฌ์ดํด์ ๋ง๋ค๋ฉด ๋ฌธ์ ์์ ๊ฒ ๊ฐ๋ค"๊ณ ๋งํ๋ค.
์ด์ด ์ ๋ถ ๋ฐ๋์ฒด ์ ์ฑ
์ ๋ํด "ํฌ์ ํจ๊ณผ๋ฅผ ๊ทน๋ํํ๊ธฐ ์ํด ๋ฐ๋์ฒด ์ง์์ด๋ ์ก์ฑ์ด ํ์ํ๋ค"๋ฉฐ "์ ์ด๋ ๊ฒฝ์๊ตญ์ ๋ค์ง์ง ์๋ ์ ๋์ ์ง์์ ์ธ ์ ์ฑ
์ ํ์ํ๋ค"๊ณ ๋ง๋ถ์๋ค.
๋ฐ ๋ถํ์ฅ๋ ํ๊ตญ์ด ๋ฐ๋์ฒด ๊ฐ๊ตญ์ ์์์ ์งํค๋ ค๋ฉด โฒ ์ฐ์ ์ธ์ฌ ์ก์ฑ โฒ ์ ๋ถ์ ๋ฐ๋์ฒด ์ํ๊ณ ๊ฐํ ๋
ธ๋ ฅ โฒ ๋ฏธ๋ ๊ธฐ์ ์ค๋น๊ฐ ํ์์ ์ด๋ผ๊ณ ์ ์ธํ๋ค.
๋ฐ ๋ถํ์ฅ์ ์ต๊ทผ ๊ธฐ์ ์ธ์ฌ ํ๋ฆ์ ๋ํด "๋ง์ดํฌ๋ก ์ด (์ธ์ฌ๋ฅผ) ๋๋ํ๊ฒ ๋ง๋ค์ด๋์ผ๋ฉด ์ธํ
์ด ๋ฐ๋ ค๊ฐ๊ณ , ๋ง์ดํฌ๋ก ์ ๋น์๋ฆฌ์ ์ผ์ฑ๊ณผ SKํ์ด๋์ค ์ฌ๋์ ๋ฝ์๊ฐ๋ค"๋ฉฐ "๋ ์ธํ
์ ์ธ์ฌ๋ฅผ ํค์๋์ผ๋ฉด ๊ตฌ๊ธ๊ณผ ์๋น๋์๋ก ๊ฐ๋ค"๊ณ ์ ํ๋ค.
๊ทธ๋ฌ๋ฉด์ "์ฐ๋ฆฌ๋ ์ข์ ์ธ์ฌ๊ฐ ํ์ํ๋ฐ ์ค์ ๋ก ๋ ๊ณ ๋ถ๊ฐ๊ฐ์น๋ฅผ ์ฐฝ์ถํ๋ ๊ธฐ์
์ด ๋ ์ข์ ์ธ์ฌ๋ฅผ ๋ฐ๋ ค๊ฐ๋ค"๋ฉฐ "์ธ์ฌ ์์ฑ์ ๋ํด์๋ ์ ์ถ์ฐ ๋ฌธ์ ๋งํผ์ด๋ ๋ณต์กํ ํจ์๋ฅผ ํ์ด๊ฐ์ผ ํ๋ค"๊ณ ๋ง๋ถ์๋ค.
์์ธ๋ฌ ๊ทธ๋ "์ต๊ทผ์ ๋ฐ๋์ฒด ํ๊ณผ์ ์
ํํ๊ธฐ๋ก ํ๋ค๊ฐ ํ์๋ค์ด ์ ๋ค์ด์๋ค๊ณ ํ๋ค"๋ฉฐ "๊ทธ๋๋ (ํ์์ด) ๋ง์ด ์ฑ์์ก๋ค๊ณ ๋ค์์ง๋ง, ํ์๋ค์๊ฒ๋ ํ๋ฒ ์ํฌ์์ ๋๊ฐ์ผ ํ์ง ์์๊น ์๊ฐํ๋ค"๊ณ ๋งํ๋ค.
๋ฐ ๋ถํ์ฅ์ ๋๊ธฐ์
๊ณผ ์๋ถ์ฅ, ํ๊ณ๊ฐ ํจ๊ป ๋ฐ๋์ฒด ์ํ๊ณ๋ฅผ ํ์ฑํํ ํ๋ซํผ์ผ๋ก '๋ฏธ๋ ํน(๊ณต์ฅ)'์ ๊ตฌ์ถํ๋ ์๋ ์ ์ํ๋ค.
๋ฏธ๋ ํน์ ๋ฐ๋์ฒด ์ํ๊ณ ๊ธฐ์
๊ณผ ํ๊ณ์ ์ฐ๊ตฌ ๊ฒฐ๊ณผ๋ ์์ ํ ๋ถ์, ์์ฐ ํ
์คํธ๋ฅผ ์ง์ํ ์ ์๋๋ก ๋ฐ๋์ฒด ๊ณต์ ์ ๊ฐ์ํํ ํํ๋ก ํน ์ฅ๋น ํ๊ฒฝ์ ์ ๊ณตํ๋ ์์ค์ด๋ค.
๋ ๋ฐ ๋ถํ์ฅ์ "์์ผ๋ก AI ์ฑ๋ด ์๋น์ค ๋ถ์ผ๊ฐ ๋ฐ๋์ฒด ์์์ ์๋ก์ด 'ํฌ๋ฌ ์ ํ๋ฆฌ์ผ์ด์
(์ฑ)'์ด ๋ ๊ฒ"์ด๋ผ๋ฉฐ "AI ์๋์ ์ผ์ด๋ ๊ธฐ์ ํ์ ์ ์ค์ฌ์ ํญ์ ๋ฉ๋ชจ๋ฆฌ ๋ฐ๋์ฒด๊ฐ ์์ ๊ฒ"์ด๋ผ๊ณ ๋งํ๋ค.
๊ทธ๋ "์ฑGPT ๋ฑ AI ์๋๊ฐ ํผ์ณ์ง๊ณ ๊ด๋ จ ๊ธฐ์ ์ด ์งํํ๋ฉด์ ๊ธ๋ก๋ฒ ๋ฐ์ดํฐ ์์ฑ, ์ ์ฅ, ์ฒ๋ฆฌ๋์ ๊ธฐํ๊ธ์์ ์ผ๋ก ๋์ด๋ ์ ๋ง"์ด๋ผ๋ฉฐ "์ด๋ฌํ ํ๋ฆ ์์ SKํ์ด๋์ค๊ฐ ์ธ๊ณ ์ต์ด๋ก ๊ฐ๋ฐํ ์ต๊ณ ์ D๋จ์ธ HBM(๊ณ ๋์ญํญ ๋ฉ๋ชจ๋ฆฌ)์ AI ์๋ ๊ธฐ์ ์งํ์ ํฐ ์ญํ ์ ํ๊ณ ์๋ค"๊ณ ์๊ฐํ๋ค.
"""
# ํ ํฌ๋์ด์ ์ ์
tokenizer = OktTokenizer()
# lexrank ๋ชจ๋ ์ ์
lexrank = LexRank(tokenizer,birch_n_clusters=3)
lexrank.summarize(doc)
summaries = lexrank.probe()
for summary in summaries:
print([summary])
['๊น ํ์ฅ์ "๊ตญ๊ฐ๊ฐ ํ๋ฅญํ ์ ์ฑ
์ ๋ง๋ค๊ณ ์ฐ๊ตฌ๊ฐ๋ฐ(R&D)์ ํตํด ํ๊ต์์ ์ข์ ์ธ๋ ฅ์ ์์ฑํ๋๋ก ๋ท๋ฐ์นจํ๋ฉด ๊ทธ ์ธ๋ ฅ์ด ํ์ฌ์ ๋ค์ด์ ๋์ ๋ฒ๊ณ ํ์ฌ๋ ์ฌํฌ์๋ฅผ ํ๋ค"๋ฉฐ "์ด๋ฐ ์ฌ์ดํด์ ๋ง๋ค๋ฉด ๋ฌธ์ ์์ ๊ฒ ๊ฐ๋ค"๊ณ ๋งํ๋ค']
['์์ธ๋ฌ ๊ทธ๋ "์ต๊ทผ์ ๋ฐ๋์ฒด ํ๊ณผ์ ์
ํํ๊ธฐ๋ก ํ๋ค๊ฐ ํ์๋ค์ด ์ ๋ค์ด์๋ค๊ณ ํ๋ค"๋ฉฐ "๊ทธ๋๋ (ํ์์ด) ๋ง์ด ์ฑ์์ก๋ค๊ณ ๋ค์์ง๋ง, ํ์๋ค์๊ฒ๋ ํ๋ฒ ์ํฌ์์ ๋๊ฐ์ผ ํ์ง ์์๊น ์๊ฐํ๋ค"๊ณ ๋งํ๋ค']
["๋ฐ ๋ถํ์ฅ์ ๋๊ธฐ์
๊ณผ ์๋ถ์ฅ, ํ๊ณ๊ฐ ํจ๊ป ๋ฐ๋์ฒด ์ํ๊ณ๋ฅผ ํ์ฑํํ ํ๋ซํผ์ผ๋ก '๋ฏธ๋ ํน(๊ณต์ฅ)'์ ๊ตฌ์ถํ๋ ์๋ ์ ์ํ๋ค"]
๋ฌธ์ฅ ์๋ฅผ ์ ๊ฒ ๋ฝ์ ๋๋ tf-idf ๋ฒกํฐ๋ฅผ ๊ณ์ฐํ๊ธฐ ์ํ ์ ์ฒ๋ฆฌ ์์ ์ผ๋ก ์ฌ์ฉํ๋ Tokenizer์ ์ฑ๋ฅ์ ๊ฒฐ๊ณผ๊ฐ ํฌ๊ฒ ์ข์ฐ๋ ๊ฒ ๊ฐ์ต๋๋ค. Tokenizer ๋ถ๋ถ์ Konlpy์ Twitter๋ฑ ์ฌ๋ฌ ํ ํฌ๋์ด์ ๋ฅผ ํ์ฉํ ์ ์์ผ๋ฏ๋ก ์ํฉ์ ๋ง๊ฒ ๊ณจ๋ผ์ ์ฐ์๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค.
'๐ป ITยท๊ธฐ์ ยทํต๊ณ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Snippet] ์ํฉ๋ณ Tuple, List ๋ณํ ๋ฐฉ๋ฒ (0) | 2023.03.10 |
---|---|
[API] ChatGPT Python์ผ๋ก ์ฌ์ฉํด๋ณด๊ธฐ - Part.2 (0) | 2023.03.08 |
[์นํฌ๋กค๋ง 3ํ - ไธ] requests-html์ ํ์ฉํ ๋ค์ด๋ฒ ๋ด์ค ๊ฐ์ ธ์ค๊ธฐ (0) | 2023.02.15 |
Image to Textโฆ? ์ด๋ฏธ์ง๋ก ์์คํค ์ํธ ์์ฑํ๊ธฐ (2) | 2023.02.11 |
[Snippet] ์์ฃผ ์ฌ์ฉํ๋ List, Dictionary ๊ธฐ๋ฅ (0) | 2023.02.09 |
๋๊ธ