Acdong
commited on
Commit
•
37b474a
1
Parent(s):
0dab382
mod readme
Browse files
README.md
CHANGED
@@ -4,4 +4,60 @@ language:
|
|
4 |
pipeline_tag: text-generation
|
5 |
---
|
6 |
|
7 |
-
## Korean Typos Corrector
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
pipeline_tag: text-generation
|
5 |
---
|
6 |
|
7 |
+
## 한국어 맞춤법 교정기(Korean Typos Corrector)
|
8 |
+
- ETRI-et5 모델을 기반으로한 한국어 구어체 맞춤법 교정기 입니다.
|
9 |
+
|
10 |
+
## Base on PLM model(ET5)
|
11 |
+
- ETRI(https://aiopen.etri.re.kr/et5Model)
|
12 |
+
|
13 |
+
## Base on Dataset
|
14 |
+
- 모두의 말뭉치(https://corpus.korean.go.kr/request/reausetMain.do?lang=ko) 맞춤법 교정 데이터
|
15 |
+
|
16 |
+
## Data Preprocessing
|
17 |
+
- 1. 특수문자 제거 (쉼표) .(마침표) 제거
|
18 |
+
- 2. null 값("") 제거
|
19 |
+
- 3. 너무 짧은 문장 제거(길이 2 이하)
|
20 |
+
- 4. 문장 내 &name&, name1 등 이름 태그가 포함된 단어 제거
|
21 |
+
|
22 |
+
## How to use
|
23 |
+
```python
|
24 |
+
from transformers import T5ForConditionalGeneration, T5Tokenizer
|
25 |
+
|
26 |
+
# T5 모델 로드
|
27 |
+
model = T5ForConditionalGeneration.from_pretrained("j5ng/et5-typos-corrector")
|
28 |
+
tokenizer = T5Tokenizer.from_pretrained("j5ng/et5-typos-corrector")
|
29 |
+
|
30 |
+
model = model.to('mps:0') # for mac m1
|
31 |
+
# model = model.to('cuda:0') # for nvidia cuda
|
32 |
+
|
33 |
+
# 예시 입력 문장
|
34 |
+
input_text = "아늬 진짜 무ㅓ하냐고"
|
35 |
+
|
36 |
+
# 입력 문장 인코딩
|
37 |
+
input_encoding = tokenizer("맞춤법을 고쳐주세요: " + input_text, return_tensors="pt")
|
38 |
+
|
39 |
+
input_ids = input_encoding.input_ids.to('mps:0')
|
40 |
+
attention_mask = input_encoding.attention_mask.to('mps:0')
|
41 |
+
|
42 |
+
# input_ids = input_encoding.input_ids.to('cuda:0') # for nvidia cuda
|
43 |
+
# attention_mask = input_encoding.attention_mask.to('cuda:0') # for nvidia cuda
|
44 |
+
|
45 |
+
# T5 모델 출력 생성
|
46 |
+
output_encoding = model.generate(
|
47 |
+
input_ids=input_ids,
|
48 |
+
attention_mask=attention_mask,
|
49 |
+
max_length=128,
|
50 |
+
num_beams=5,
|
51 |
+
early_stopping=True,
|
52 |
+
)
|
53 |
+
|
54 |
+
# 출력 문장 디코딩
|
55 |
+
output_text = tokenizer.decode(output_encoding[0], skip_special_tokens=True)
|
56 |
+
|
57 |
+
# 결과 출력
|
58 |
+
print(output_text)
|
59 |
+
```
|
60 |
+
|
61 |
+
```bash
|
62 |
+
아니 진짜 뭐 하냐고.
|
63 |
+
```
|