프로젝트 소개: kobart-summary-v3
kobart-summary-v3는 한국어 문서 요약을 위한 강화된 AI 모델로, 특별히 긴 문서를 효율적으로 요약하기 위해 설계되었다. 이 모델은 kobart 모델을 기반으로 여러 종류의 데이터 세트를 활용하여 최적화되었다.
모델 개요
kobart-summary-v3는 특히 세 가지 주요 목적을 위해 훈련되었다:
- 문서 요약: 긴 텍스트 문서를 간결하게 요약하여 중요한 정보를 쉽게 파악할 수 있도록 한다.
- 도서 요약: 도서 자료의 내용을 핵심 위주로 요약해 독자가 필요한 내용을 빠르게 이해하도록 돕는다.
- 요약문 및 리포트 생성: 다양한 주제에 관한 요약문이나 보고서를 자동으로 생성한다.
이 모델은 기존의 kobart-summary v2 모델과 유사하지만, 데이터의 양을 조금 더 확장하여 더욱 긴밀한 문장 생성을 가능케 했다. 따라서, 연결된 문장들이 더 자주 분리되어 나타나며, 보다 명확한 요약 결과를 제공한다.
사용 방법
kobart-summary-v3 모델을 사용하는 것은 간단하다. Python의 transformers 라이브러리를 통해 다음과 같은 방법으로 요약 작업을 수행할 수 있다:
-
모델 및 토크나이저 로드:
from transformers import PreTrainedTokenizerFast, BartForConditionalGeneration tokenizer = PreTrainedTokenizerFast.from_pretrained("EbanLee/kobart-summary-v3") model = BartForConditionalGeneration.from_pretrained("EbanLee/kobart-summary-v3")
-
입력 텍스트 인코딩: 대상 텍스트를 토크나이저를 사용하여 인코딩한다.
input_text = "요약하고자 하는 긴 문서 내용을 여기에 넣으세요." inputs = tokenizer(input_text, return_tensors="pt", padding="max_length", truncation=True, max_length=1026)
-
요약 텍스트 생성: 모델을 사용해 인코딩된 텍스트에서 요약을 생성한다.
summary_text_ids = model.generate( input_ids=inputs['input_ids'], attention_mask=inputs['attention_mask'], bos_token_id=model.config.bos_token_id, eos_token_id=model.config.eos_token_id, length_penalty=1.0, max_length=300, min_length=12, num_beams=6, repetition_penalty=1.5, no_repeat_ngram_size=15, )
-
요약 텍스트 디코딩: 생성된 요약을 사람이 읽을 수 있는 형태로 변환한다.
print(tokenizer.decode(summary_text_ids[0], skip_special_tokens=True))
모델의 장점
kobart-summary-v3의 주요 강점은 긴 문서를 명확하고 잘 분리된 문장을 생성하여 요약할 수 있다는 점이다. 이전 모델 버전에서 발생할 수 있었던 중복이나 불명확한 문장의 문제를 개선하고, 보다 자연스럽고 이해하기 쉬운 요약 결과를 제공하는 것을 목표로 한다. 이처럼 이 모델은 특히 정보의 빠른 이해와 핵심 내용 추출이 중요한 분야에서 유용하게 쓰일 수 있다.