Forturne's picture
Update README.md
ab5b12a

How to use

import torch
from transformers import PreTrainedTokenizerFast
from transformers import BartForConditionalGeneration

tokenizer = PreTrainedTokenizerFast.from_pretrained('Forturne/KPMG-NARVIS-summarization')
model = BartForConditionalGeneration.from_pretrained('Forturne/KPMG-NARVIS-summarization')
model.eval()

device="cuda:0"
model.to(device)

text = """โ€œ์ฒ˜์Œ์—๋Š” โ€˜๊ธˆ๋ฐฉ ๋๋‚˜๊ฒ ์ง€โ€™๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ์–ด๋Š๋ง 100์ผ์ด ๋๋„ค์š”. \
๊ทธ๋™์•ˆ ์ถฅ๊ณ  ์•„ํ”„๊ณ  ํž˜๋“ค์—ˆ์ง€๋งŒ ์ธ๊ฐ„์œผ๋กœ์„œ ๋Œ€์šฐ๋ฅผ ๋ฐ›์„ ์ˆ˜๋งŒ ์žˆ๋‹ค๋ฉด ๋๊นŒ์ง€ ๋ฒ„ํ‹ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.โ€ \
LGํŠธ์œˆํƒ€์›Œ ์ฒญ์†Œ ๋…ธ๋™์ž๋“ค์ด ๊ณ ์šฉ์Šน๊ณ„๋ฅผ ์ฃผ์žฅํ•˜๋ฉฐ ํŒŒ์—…์— ๋‚˜์„ ์ง€ 100์ผ์งธ๋ฅผ ํ•˜๋ฃจ ์•ž๋‘” 24์ผ \
์„œ์šธ ์—ฌ์˜๋„ LGํŠธ์œˆํƒ€์›Œ ์•ž โ€˜ํ–‰๋ณตํ•œ ๊ณ ์šฉ์Šน๊ณ„ ํ…ํŠธ์ดŒโ€™์—์„œ ๋งŒ๋‚œ ๋ฐ•์ƒ์„ค(63)์”จ๋Š” ํž˜๋“ค์—ˆ๋˜ ํˆฌ์Ÿ ๊ณผ์ •์„ \
ํšŒ์ƒํ•˜๋ฉฐ ๋ˆˆ์‹œ์šธ์„ ๋ถ‰ํ˜”๋‹ค. ๋ฐ•์”จ๋Š” 2017๋…„๋ถ€ํ„ฐ LGํŠธ์œˆํƒ€์›Œ์—์„œ ์ฒญ์†Œ ๋…ธ๋™์„ ํ–ˆ์ง€๋งŒ ์ง€๋‚œ 1์›” 1์ผ๋ถ€๋กœ \
๊ณ„์•ฝ์ด ์ข…๋ฃŒ๋ผ ์ง์žฅ์„ ๋– ๋‚ฌ๋‹ค. ์ž๋™์ฐจ ์†Œ์Œ๊ณผ ๋ถˆํŽธํ•œ ์ž ์ž๋ฆฌ๋กœ ํ…ํŠธ์—์„œ ๋งค์ผ ๋ฐค์ž ์„ ์„ค์น˜์ง€๋งŒ ํˆฌ์Ÿ์„ \
ํฌ๊ธฐํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ํ•œ๋‹ค. ๊ทธ๋Š” โ€œLG๊ฐ€ ๊ทธ๋™์•ˆ ์‚ฌํšŒ์  ์ฑ…์ž„๊ณผ ์ •๋„๊ฒฝ์˜์„ ๊ฐ•์กฐํ•ด ์™”๊ธฐ์— ํŒŒ์—…์ด ๊ธˆ๋ฐฉ ๋๋‚  \
์ค„ ์•Œ์•˜๋‹คโ€๋ฉฐ โ€œ๋ฒ„ํ‹ฐ์ง€ ๋ชปํ•˜๊ณ  ์ ์  ๋– ๋‚˜๋Š” ๋™์ง€๋“ค์„ ๋ฐ”๋ผ๋ณผ ๋•Œ๋งˆ๋‹ค ๋งˆ์Œ์ด ์•„ํ”„์ง€๋งŒ ์ •๋‹นํ•œ ๋…ธ๋™ ๊ถŒ๋ฆฌ๋ฅผ \
์ธ์ •๋ฐ›๊ธฐ ์œ„ํ•ด ๋๊นŒ์ง€ ํˆฌ์Ÿํ•  ๊ฒƒโ€์ด๋ผ๊ณ  ๊ฐ•์กฐํ–ˆ๋‹ค. ์ง€๋‚œํ•ด 11์›” 26์ผ๋ถ€ํ„ฐ ํŒŒ์—…์— ๋Œ์ž…ํ•œ ์ฒญ์†Œ \
๋…ธ๋™์ž๋“ค์€ 25์ผ ํŒŒ์—… 100์ผ์งธ๋ฅผ ๋งž๋Š”๋‹ค. ๊ฑด๋ฌผ 1์ธต ๋กœ๋น„์—์„œ ์‹œ์œ„๋ฅผ ํ•˜๋˜ 25๋ช…์˜ ์ฒญ์†Œ ๋…ธ๋™์ž๋“ค์€ ์ง€๋‚œ \
22์ผ๋ถ€ํ„ฐ ์ •๋ฌธ ์•ž ๋„๋ณด์— ํ…ํŠธ์ดŒ์„ ์„ค์น˜ํ•˜๊ณ  ์žฅ์†Œ๋ฅผ ์˜ฎ๊ฒผ๋‹ค. ํŒŒ์—… 100์ผ์— ๋งž์ถฐ 25์ผ๊นŒ์ง€ ์‹œ๋ฏผ์—ฐ๋Œ€์™€ \
ํ•จ๊ป˜ ํ…ํŠธ 100๊ฐœ๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์ฃผยท์•ผ๊ฐ„ ์—ฐ๋Œ€ ์‹œ์œ„๋ฅผ ์ด์–ด๊ฐ€๊ฒ ๋‹ค๋Š” ๋œป์—์„œ๋‹ค. ๋…ธ๋™์ž๋“ค์€ ํ•œ ๋ช…์ด ๊ฐ„์‹ ํžˆ \
๋ˆ„์šธ ์ˆ˜ ์žˆ๋Š” ํฌ๊ธฐ์˜ ํ…ํŠธ ์•ˆ์—์„œ ๋”ฑ๋”ฑํ•œ ์‹œ๋ฉ˜ํŠธ ๋ฐ”๋‹ฅ์— ๋ชธ์„ ๊ธฐ๋Œ€ ์ชฝ์ž ์„ ์ฒญํ•˜๊ณ  ์žˆ๋‹ค. LGํŠธ์œˆํƒ€์›Œ๋ฅผ \
๊ด€๋ฆฌํ•˜๋Š” LG๊ทธ๋ฃน ๊ณ„์—ด์‚ฌ โ€˜์—์Šค์—”์•„์ด์ฝ”ํผ๋ ˆ์ด์…˜โ€™์€ ์ง€๋‚œํ•ด ๋ง โ€˜์ง€์ˆ˜์•„์ด์•ค์”จโ€™์™€ ์ฒญ์†Œ ์šฉ์—ญ ๊ณ„์•ฝ์„ \
๋๋‚ด๊ณ  ๋‹ค๋ฅธ ์—…์ฒด์™€ ์ƒˆ๋กœ ๊ณ„์•ฝํ–ˆ๋‹ค. ์‚ฌ์ธก์€ โ€˜ํ’ˆ์งˆ ์ €ํ•˜โ€™๋ฅผ ์ด์œ ๋กœ ๋“ค์—ˆ๋‹ค. ๋ฐ˜๋ฉด ๋…ธ๋™์ž๋“ค์€ 2019๋…„ \
๋…ธ์กฐ๋ฅผ ๊ฒฐ์„ฑํ•˜๊ณ  ๊ถŒ๋ฆฌ๋ฅผ ์ฃผ์žฅํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด์„œ ์‚ฌ์ธก ๋ˆˆ ๋ฐ–์— ๋‚ฌ๋‹ค๊ณ  ์ฃผ์žฅํ•œ๋‹ค. ๊ทธ๋™์•ˆ ์—…์ฒด๊ฐ€ \
๋ณ€๊ฒฝ๋˜๋”๋ผ๋„ ๊ธฐ์กด ์—…์ฒด ๋…ธ๋™์ž๋“ค์ด ์ƒˆ ์—…์ฒด์— ๊ณ ์šฉ์Šน๊ณ„๊ฐ€ ๋˜๋Š” ๊ฒŒ ๊ด€๋ก€์˜€์ง€๋งŒ ์ƒˆ ์—…์ฒด๋Š” ๊ณ ์šฉ์Šน๊ณ„๋ฅผ \
๋ณด์žฅํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ๋ฐํ˜”๋‹ค. ์ง€๋‚œ๋‹ฌ๊นŒ์ง€ ๊ณ ์šฉ๋…ธ๋™๋ถ€ ์ค‘์žฌ๋กœ ์ˆ˜์ฐจ๋ก€ ๋…ธ์‚ฌ ๊ต์„ญ์ด ์žˆ์—ˆ์ง€๋งŒ ์ƒํ™ฉ์€ ๋‹ฌ๋ผ์ง€์ง€ \
์•Š์•˜๋‹ค. ์‚ฌ์ธก์€ ๋Œ€์‹  ๋…ธ๋™์ž๋“ค์—๊ฒŒ ๋‹ค๋ฅธ ์‚ฌ์—…์žฅ์—์„œ ์ผ์„ ํ•˜๊ฒŒ ํ•ด์ฃผ๊ฒ ๋‹ค๊ณ  ๊ถŒ์œ ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋…ธ๋™์ž๋“ค์€ \
๋…ธ์กฐ๋ฅผ ์ธ์ •ํ•˜์ง€ ์•Š๋Š” ๋Œ€๊ธฐ์—…์˜ ํ–‰ํƒœ๋ฅผ ๋ฌต์ธํ•œ ์ฑ„ ์‚ฌ์ธก์˜ ๊ถŒ์œ ์— ๋”ฐ๋ฅธ๋‹ค๋ฉด ์–ด๋Š ์‚ฌ์—…์žฅ์—์„œ ์ผ์„ ํ•˜๋˜ \
๋˜‘๊ฐ™์€ ํ–‰ํƒœ๊ฐ€ ๋ฐ˜๋ณต๋  ์ˆ˜๋ฐ–์— ์—†๋‹ค๊ณ  ๋ชฉ์†Œ๋ฆฌ๋ฅผ ๋†’์ธ๋‹ค. ๋•Œ๋ฌธ์— ๋ฐ˜๋“œ์‹œ LGํŠธ์œˆํƒ€์›Œ์—์„œ ์ •๋‹นํ•œ ๊ถŒ๋ฆฌ๋ฅผ \
์ธ์ •๋ฐ›๊ณ  ๋…ธ๋™์„ ์ด์–ด๊ฐ€์•ผ๋งŒ ํ•œ๋‹ค๊ณ  ๋งํ•œ๋‹ค. ์ด๋“ค์€ ๊ตฌ๊ด‘๋ชจ LG๊ทธ๋ฃน ํšŒ์žฅ์ด ๋‚˜์„œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์•ผ ํ•œ๋‹ค๊ณ  \
์ฃผ์žฅํ•œ๋‹ค. ์ดํ˜œ์ • LGํŠธ์œˆํƒ€์›Œ ๊ณต๋™๋Œ€์ฑ…์œ„์›ํšŒ ์ง‘ํ–‰์œ„์›์€ โ€œ๊ตฌ ํšŒ์žฅ์ด ์ฑ…์ž„์žˆ๋Š” ๋‹ต๋ณ€์„ ๋‚ด๋†“์„ ๋•Œ๊นŒ์ง€ \
์‹œ๋ฏผ์‚ฌํšŒ ๋‹จ์œ„์™€ ํ•จ๊ป˜ ๊ฒฐ์˜๋ฅผ ๋‹ด์•„ ๋๊นŒ์ง€ ํ…ํŠธ์ดŒ์„ ์œ ์ง€ํ•  ๊ฒƒโ€์ด๋ผ๊ณ  ๊ฐ•์กฐํ–ˆ๋‹ค."""


text = text.replace('\n', ' ')

raw_input_ids = tokenizer.encode(text)
input_ids = [tokenizer.bos_token_id] + raw_input_ids + [tokenizer.eos_token_id]

summary_ids = model.generate(torch.tensor([input_ids]).to(device),  num_beams=4,  max_length=512,  eos_token_id=1)

print(tokenizer.decode(summary_ids.squeeze().tolist(), skip_special_tokens=True))