๐ t5-small-korean-summarization
This project presents a T5-based model designed for Korean text summarization. It leverages the power of the T5 architecture to effectively condense Korean texts into concise summaries, providing a valuable tool for information extraction and content understanding.
๐ Quick Start
The model is based on the 'paust/pko-t5-small' model and has been fine-tuned using three datasets:
๐ป Usage Examples
Basic Usage
import nltk
nltk.download('punkt')
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
model = AutoModelForSeq2SeqLM.from_pretrained('eenzeenee/t5-small-korean-summarization')
tokenizer = AutoTokenizer.from_pretrained('eenzeenee/t5-small-korean-summarization')
prefix = "summarize: "
sample = """
์๋
ํ์ธ์? ์ฐ๋ฆฌ (2ํ๋
)/(์ด ํ๋
) ์น๊ตฌ๋ค ์ฐ๋ฆฌ ์น๊ตฌ๋ค ํ๊ต์ ๊ฐ์ ์ง์ง (2ํ๋
)/(์ด ํ๋
) ์ด ๋๊ณ ์ถ์๋๋ฐ ํ๊ต์ ๋ชป ๊ฐ๊ณ ์์ด์ ๋ต๋ตํ์ฃ ?
๊ทธ๋๋ ์ฐ๋ฆฌ ์น๊ตฌ๋ค์ ์์ ๊ณผ ๊ฑด๊ฐ์ด ์ต์ฐ์ ์ด๋๊น์ ์ค๋๋ถํฐ ์ ์๋์ด๋ ๋งค์ผ ๋งค์ผ ๊ตญ์ด ์ฌํ์ ๋ ๋๋ณด๋๋ก ํด์.
์ด/ ์๊ฐ์ด ๋ฒ์จ ์ด๋ ๊ฒ ๋๋์? ๋ฆ์์ด์. ๋ฆ์์ด์. ๋นจ๋ฆฌ ๊ตญ์ด ์ฌํ์ ๋ ๋์ผ ๋ผ์.
๊ทธ๋ฐ๋ฐ ์ด/ ๊ตญ์ด์ฌํ์ ๋ ๋๊ธฐ ์ ์ ์ฐ๋ฆฌ๊ฐ ์ค๋น๋ฌผ์ ์ฑ๊ฒจ์ผ ๋๊ฒ ์ฃ ? ๊ตญ์ด ์ฌํ์ ๋ ๋ ์ค๋น๋ฌผ, ๊ต์์ ์ด๋ป๊ฒ ๋ฐ์ ์ ์๋์ง ์ ์๋์ด ์ค๋ช
์ ํด์ค๊ฒ์.
(EBS)/(์ด๋น์์ค) ์ด๋ฑ์ ๊ฒ์ํด์ ๋ค์ด๊ฐ๋ฉด์ ์ฒซํ๋ฉด์ด ์ด๋ ๊ฒ ๋์์.
์/ ๊ทธ๋ฌ๋ฉด์ ์ฌ๊ธฐ (X)/(์์ค) ๋๋ฌ์ฃผ(๊ณ ์)/(๊ตฌ์). ์ ๊ธฐ (๋๊ทธ๋ผ๋ฏธ)/(๋ฅ๊ทธ๋ผ๋ฏธ) (EBS)/(์ด๋น์์ค) (2์ฃผ)/(์ด ์ฃผ) ๋ผ์ด๋ธํน๊ฐ์ด๋ผ๊ณ ๋์ด์์ฃ ?
๊ฑฐ๊ธฐ๋ฅผ ๋ฐ๋ก ๊ฐ๊ธฐ๋ฅผ ๋๋ฆ
๋๋ค. ์/ (๋๋ฅด๋ฉด์)/(๋๋ฅด๋ฉด์). ์ด๋ป๊ฒ ๋๋? b/ ๋ฐ์ผ๋ก ๋ด๋ ค์ ๋ด๋ ค์ ๋ด๋ ค์ ์ญ ๋ด๋ ค์.
์ฐ๋ฆฌ ๋ช ํ๋
์ด์ฃ ? ์/ (2ํ๋
)/(์ด ํ๋
) ์ด์ฃ (2ํ๋
)/(์ด ํ๋
)์ ๋ฌด์จ ๊ณผ๋ชฉ? ๊ตญ์ด.
์ด๋ฒ์ฃผ๋ (1์ฃผ)/(์ผ ์ฃผ) ์ฐจ๋๊น์ ์ฌ๊ธฐ ๊ต์. ๋ค์์ฃผ๋ ์ฌ๊ธฐ์ ๋ค์ด์ ๋ฐ์ผ๋ฉด ๋ผ์.
์ด ๊ต์์ ํด๋ฆญ์ ํ๋ฉด, ์ง์/. ์ด๋ ๊ฒ ๊ต์ฌ๊ฐ ๋์ต๋๋ค .์ด ๊ต์์ (๋ค์ด)/(๋ฐ์ด)๋ฐ์์ ์ฐ๋ฆฌ ๊ตญ์ด์ฌํ์ ๋ ๋ ์๊ฐ ์์ด์.
๊ทธ๋ผ ์ฐ๋ฆฌ ์ง์ง๋ก ๊ตญ์ด ์ฌํ์ ํ๋ฒ ๋ ๋๋ณด๋๋ก ํด์? ๊ตญ์ด์ฌํ ์ถ๋ฐ. ์/ (1๋จ์)/(์ผ ๋จ์) ์ ๋ชฉ์ด ๋ญ๊ฐ์? ํ๋ฒ ์ฐพ์๋ด์.
์๋ฅผ ์ฆ๊ฒจ์ ์์. ๊ทธ๋ฅ ์๋ฅผ ์ฝ์ด์ ๊ฐ ์๋์์. ์๋ฅผ ์ฆ๊ฒจ์ผ ๋ผ์ ์ฆ๊ฒจ์ผ ๋ผ. ์ด๋ป๊ฒ ์ฆ๊ธธ๊น? ์ผ๋จ์ ๋ด๋ด ์๋ฅผ ์ฆ๊ธฐ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ๊ณต๋ถ๋ฅผ ํ ๊ฑด๋ฐ์.
๊ทธ๋ผ ์ค๋์์ ์ด๋ป๊ฒ ์ฆ๊ธธ๊น์? ์ค๋ ๊ณต๋ถํ ๋ด์ฉ์์ ์๋ฅผ ์ฌ๋ฌ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์ฝ๊ธฐ๋ฅผ ๊ณต๋ถํ ๊ฒ๋๋ค.
์ด๋ป๊ฒ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์ฝ์๊น ์ฐ๋ฆฌ ๊ณต๋ถํด ๋ณด๋๋ก ํด์. ์ค๋์ ์ ๋์๋ผ ์ง์/! ์๊ฐ ๋์์ต๋๋ค ์์ ์ ๋ชฉ์ด ๋ญ๊ฐ์? ๋คํฐ ๋ ์ด์์ ๋คํฐ ๋ .
๋๊ตฌ๋ ๋คํ๋ ๋์์ด๋ ๋คํ๋ ์ธ๋๋ ์น๊ตฌ๋? ๋๊ตฌ๋ ๋คํ๋์ง ์ ์๋์ด ์๋ฅผ ์ฝ์ด ์ค ํ
๋๊น ํ๋ฒ ์๊ฐ์ ํด๋ณด๋๋ก ํด์."""
inputs = [prefix + sample]
inputs = tokenizer(inputs, max_length=512, truncation=True, return_tensors="pt")
output = model.generate(**inputs, num_beams=3, do_sample=True, min_length=10, max_length=64)
decoded_output = tokenizer.batch_decode(output, skip_special_tokens=True)[0]
result = nltk.sent_tokenize(decoded_output.strip())[0]
print('RESULT >>', result)