Create README.md
Browse files
README.md
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
language:
|
3 |
+
- ko
|
4 |
+
metrics:
|
5 |
+
- rouge
|
6 |
+
library_name: transformers
|
7 |
+
pipeline_tag: summarization
|
8 |
+
tags:
|
9 |
+
- bart
|
10 |
+
---
|
11 |
+
# kobart-summary
|
12 |
+
- μ΄ λͺ¨λΈμ [kobartλͺ¨λΈ](https://huggingface.co/hyunwoongko/kobart)μ [λ¬Έμμμ½](https://aihub.or.kr/aihubdata/data/view.do?currMenu=115&topMenu=100&aihubDataSe=realm&dataSetSn=97), [λμμλ£μμ½](https://www.aihub.or.kr/aihubdata/data/view.do?currMenu=115&topMenu=100&aihubDataSe=data&dataSetSn=93), [μμ½λ¬Έ λ° λ ν¬νΈ μμ± λ°μ΄ν°](https://www.aihub.or.kr/aihubdata/data/view.do?currMenu=115&topMenu=100&dataSetSn=582) λ°μ΄ν°λ‘ fine-tuningν λͺ¨λΈμ
λλ€.
|
13 |
+
- v2μ λΉμ·μ§λ§ λ°μ΄ν°λ₯Ό μ‘°κΈ λ μΆκ°νκ³ λ¬Έμ₯μ΄ μ‘°κΈ λ λ겨μ μΆλ ₯λ©λλ€.
|
14 |
+
|
15 |
+
## How to use
|
16 |
+
```python
|
17 |
+
from transformers import PreTrainedTokenizerFast, BartForConditionalGeneration
|
18 |
+
|
19 |
+
# Load Model and Tokenizer
|
20 |
+
tokenizer = PreTrainedTokenizerFast.from_pretrained("EbanLee/kobart-summary-v3")
|
21 |
+
model = BartForConditionalGeneration.from_pretrained("EbanLee/kobart-summary-v3")
|
22 |
+
|
23 |
+
# Encoding
|
24 |
+
input_text = "10λ
λ
Όλ λμ λ°κΈμ¨κΉμ§ μκΈ°κ³ μ μ μλ£λ₯Ό λμμ λ βκ΄νλ¬Έ ννβμ μμ μμ μ¬κ²ν ν΄ νκΈ ννμΌλ‘ κ΅μ²΄νμλ μ£Όμ₯μ΄ λ¬Ένκ³ λͺ
μ¬λ€μ΄ ν¬ν¨λ μμΉ βμλ―Όλͺ¨μβμμ λμλ€.\n μ΄λ€μ λ¬Ένμ¬μ²μ΄ μ§λν΄ 8μ μ΅μ’
νμ ν 볡μμμ΄ μλ―Ό μ견과 μλμ μ μ λ°μν κ²μ΄ μλλΌλ©΄μ μ€λ νκΈλ κΉμ§ λλμ μΈ νν κ΅μ²΄ μλ―Όμ΄λμ λ²μ΄κ² λ€κ³ μκ³ νλ€.\n βκ΄νλ¬Έ νν νλ―Όμ μμ²΄λ‘ μλ―Όλͺ¨μβ(곡λλν κ°λ³μΈβ§νμ¬μ€, μ΄ν βμλ―Όλͺ¨μβ)μ μ΄λ¦μ μ¬λ¦° λ¬Ένμμ μΈμ νμ¬κΉμ§ μ΄ 24λͺ
.\n μ΄ μ€μ 2014~2016λ
μμΈμ μ΄κ΄κ±΄μΆκ°λ₯Ό μ§λΈ μΉν¨μ μ΄λ‘μ¬ λνμ βμμμ체βλ‘ μ λͺ
ν μμμ νμ£Όνμ΄ν¬κ·ΈλΌνΌνκ΅ κ΅μ₯, μ μμ μ νκ²½λΆμ₯κ΄(μΈμ’
μ¬λλ°© νμ₯), μμ₯μ λ―Έμ κ° λ±μ΄ μλ€.\n 곡λλνμΈ κ°λ³μΈ μκ°λ βμ°Έμ΄μ¬β βνμβ λ±μ μν κΈμ¨λ‘ μ λͺ
ν μΊλ¦¬κ·ΈλΌνΌ(μ체) μκ°λ€.\n βμλ―Όλͺ¨μβμ 14μΌ μ€ν μμΈ μ’
λ‘ꡬμ ν μμ μμ κΈ°μκ°λ΄νλ₯Ό μ΄κ³ μ΄ κ°μ μ
μ₯κ³Ό ν¨κ» νλ―Όμ μ ν΄λ‘ κΈμκΌ΄λ‘ μλ² μ μν λͺ¨ν νν(1/2 ν¬κΈ° μΆμν)λ 곡κ°ν μμ μ΄λ€.\n κ° κ³΅λλνλ 13μΌ κΈ°μμ ν΅νμμ βμ νν μ μ κ³Όμ μμ νκΈλ‘ λ§λ€μλ μ견μ 묡μ΄λλ€βλ©΄μ βμ§λν΄ 8μ μ΄ν λ¬Ένμ¬μ²μ κ±°λ μ
μ₯μ μ νμ§λ§ λ°μλμ§ μμ μλ―Όμ΄λμ λμκΈ°λ‘ νλ€βκ³ λ§νλ€.\n μΌλ¨ λ¬Ένμμ μΈ μ£ΌμΆμΌλ‘ κΎΈλ Έμ§λ§ μ‘°λ§κ° νκΈνν λ± νκΈ κ΄λ ¨λ¨μ²΄λ€κ³Ό μ°λνλ€λ λ°©μΉ¨μ΄λ€.\n μ΄λ€μ΄ λ°°ν¬ν μ¬μ μλ£μ ^νμνν μ€μΉλ μ€κ΅μ μκ΅μμ νμνλ κ²μΌλ‘ λνλ―Όκ΅ μ 체μ±μ λμμ΄ λμ§ μκ³ ^κ΄νλ¬Έμ 21μΈκΈ°μ μ€κ±΄μ΄μ§ 볡μμ΄ μλλ―λ‘ λΉλμ μλμ μ μΈ νκΈλ‘ ννμ μ¨μΌνλ©° ^νκΈννμ λ―Έλμ λ¨κ²¨μ€ μ°λ¦¬ μ μ°μ μ¬μ°½μ‘°νλ€λ μλ―ΈλΌλ μ£Όμ₯μ΄ λ΄κ²Όλ€.\n νμ¬ κ΄νλ¬Έ ννμ λν΄μ βκ³ μ’
μ΄ κ²½λ³΅κΆμ μ€κ±΄ν λ λΉμ νλ ¨λμ₯μ΄λ μνμμ΄ μ΄ κ΄νλ¬Έ ννμ κΈμ¨λ₯Ό μ‘°κ·Έλ§ μ¬μ§μμ μ€μΊλνκ³ μ΄λ₯Ό λ€λ¬μ΄ μ΄λͺ
λ°μ λΆ λ μ€μΉλ κ²βμ΄λΌλ©΄μ 볡μ κΈ°μ€μΌλ‘μμ μ λΉμ±μ κΉμλ΄λ Έλ€.\n βμλ―Όλͺ¨μβμ μ°Έμ¬ν μΉν¨μ λνλ κ°μΈμ견μ μ μ λ‘ βννμ κΌ νκ°μ§λ§ κ³ μ§ν νμλ μλ€.\n 맀λ
κ΅μ²΄ν μλ μκ³ , κ΄μ₯μμ 보μ΄λ μ λ©΄μ νκΈνν, λ°λνΈμ νμννμ λ€λ μμ΄λμ΄λ κ°λ₯ν κ² μλλβκ³ λ§νλ€.\n κ·Έλ¬λ©΄μ βλ¬Ένμ¬ μ λ¬Έκ°λ€μ 보μμ μΌ μλ°μ μμ§λ§ ννμ΄λ κ² μμ¦ λ§λ‘λ βκ°νβμΈλ° μ μλμ λ§κ² λ°κΏ λ€λ κ² λ°λμ§νλ€βκ³ μ£Όμ₯νλ€.\n"
|
25 |
+
inputs = tokenizer(input_text, return_tensors="pt", padding="max_length", truncation=True, max_length=1026)
|
26 |
+
|
27 |
+
# Generate Summary Text Ids
|
28 |
+
summary_text_ids = model.generate(
|
29 |
+
input_ids=inputs['input_ids'],
|
30 |
+
attention_mask=inputs['attention_mask'],
|
31 |
+
bos_token_id=model.config.bos_token_id,
|
32 |
+
eos_token_id=model.config.eos_token_id,
|
33 |
+
length_penalty=1.0,
|
34 |
+
max_length=300,
|
35 |
+
min_length=12,
|
36 |
+
num_beams=6,
|
37 |
+
repetition_penalty=1.5,
|
38 |
+
no_repeat_ngram_size=15,
|
39 |
+
)
|
40 |
+
|
41 |
+
# Decoding Text Ids
|
42 |
+
print(tokenizer.decode(summary_text_ids[0], skip_special_tokens=True))
|
43 |
+
|
44 |
+
```
|