# **korean-style-converter-6b**

korean-style-converter는 입력된 한국어 문장을 **특정 문체에 맞게 재작성**하도록 학습된 LLM으로서,
[korean_smile_style_dataset](https://github.com/smilegate-ai/korean_smile_style_dataset) 데이터셋과
AIHUB의 ["한국어 어체 변환 데이터셋"](https://aihub.or.kr/aihubdata/data/view.do?dataSetSn=287), ["중·노년층 한국어 방언 데이터 (충청도, 전라도, 제주도)"](https://aihub.or.kr/aihubdata/data/view.do?dataSetSn=71558), ["중·노년층 한국어 방언 데이터 (강원도, 경상도)"](https://aihub.or.kr/aihubdata/data/view.do?dataSetSn=71558)데이터셋을 활용해
[beomi/Yi-Ko-6B](https://huggingface.co/beomi/Yi-Ko-6B)에 추가 학습되어 제작되었습니다.

## Prompt-template

```
### 원문: {text}
### 문체: {style}
### 수정문:
```

원문으로 입력된 텍스트에 대해 **해요체**, **합쇼체**, **반말체**, **로봇체**, **아재체**, **채팅체**, **초딩체**, **이모티콘체**, **인싸체**, **정중체**, **할배체**, **할매체**, **중딩체**, **임금체**, **나루토체**, **선비체**, **소심체**, **번역체**, **냥체**, **곰체**, **멍체**, **고래체**, **개굴체**, **너굴체**, **닭체**, **경상도방언**, **충청도방언**, **전라도방언**, **강원도방언** 로의 문체 변환을 지원합니다.

각 문체 변환의 출력 예시는 다음과 같습니다.

- 해요체
```
### 원문: 너. 누구. 지금. 당장. 밖으로
### 문체: 해요체
### 수정문: 지금 당장 밖으로 나가보세요.<|endoftext|>
```
- 합쇼체
```
### 원문: 너. 누구. 지금. 당장. 밖으로
### 문체: 합쇼체
### 수정문: 당신은 지금 당장 밖으로 나가야 합니다.<|endoftext|>
```
- 반말체
```
### 원문: 너. 누구. 지금. 당장. 밖으로
### 문체: 반말체
### 수정문: 지금 당장 밖으로 나가.<|endoftext|>
```
- 로봇체
```
### 원문: 싸늘하다. 가슴에 비수가 날아와 꽂힌다. 하지만 걱정하지 마라 손은 눈보다 빠르니까.
### 문체: 로봇체
### 수정문: 부정적. 가슴에. 비수. 날아옴. 그러나. 걱정. 금지. 손. 눈보다. 빠름.<|endoftext|>
```
- 채팅체
```
### 원문: 싸늘하다. 가슴에 비수가 날아와 꽂힌다. 하지만 걱정하지 마라 손은 눈보다 빠르니까.
### 문체: 채팅체
### 수정문: ㅇㅇ  싸늘하네...가슴에 비수가 날아와 꽂히는데...걱정하지 마. 손은 눈보다 빠르니까...<|endoftext|>
```
- 초딩체
```
### 원문: 싸늘하다. 가슴에 비수가 날아와 꽂힌다. 하지만 걱정하지 마라 손은 눈보다 빠르니까.
### 문체: 초딩체
### 수정문: ㄹㅇ  싸늘하네 가슴에 비수가 날아오는 느낌 근데 걱정 ㄴㄴ  손이 눈보다 빠르니까<|endoftext|>
```
- 이모티콘체
```
### 원문: 싸늘하다. 가슴에 비수가 날아와 꽂힌다. 하지만 걱정하지 마라 손은 눈보다 빠르니까.
### 문체: 이모티콘체
### 수정문: 싸늘하네...가슴에 비수가 날아와 꽂히는데, 걱정하지마 손은 눈보다 빠르니까...(⊙_⊙;)<|endoftext|>
```
- 인싸체
```
### 원문: 싸늘하다. 가슴에 비수가 날아와 꽂힌다. 하지만 걱정하지 마라 손은 눈보다 빠르니까.
### 문체: 인싸체
### 수정문: 싸늘하넹,, 가슴에 비수가 날아와 꽂히지만,, 걱정마! 손은 눈보다 빠르니까!!<|endoftext|>
```
- 정중체
```
### 원문: 싸늘하다. 가슴에 비수가 날아와 꽂힌다. 하지만 걱정하지 마라 손은 눈보다 빠르니까.
### 문체: 정중체
### 수정문: 싸늘하네요. 가슴에 비수가 날아와 꽂힙니다. 하지만 걱정하지 마십시오. 손은 눈보다 빠르니까요.<|endoftext|>
```
- 할배체
```
### 원문: 싸늘하다. 가슴에 비수가 날아와 꽂힌다. 하지만 걱정하지 마라 손은 눈보다 빠르니까.
### 문체: 할배체
### 수정문: 싸늘하구먼...가슴에 비수가 날아와 꽂히는 것 같구먼...허나 걱정하지 말게나...손은 눈보다 빠르니깐...<|endoftext|>
```
- 할매체
```
### 원문: 싸늘하다. 가슴에 비수가 날아와 꽂힌다. 하지만 걱정하지 마라 손은 눈보다 빠르니까.
### 문체: 할매체
### 수정문: 염병하네 가슴에 비수가 날아와 꽂히는디, 염병하지 말어 손이 눈보다 빠르니께<|endoftext|>
```
- 중딩체
```
### 원문: 싸늘하다. 가슴에 비수가 날아와 꽂힌다. 하지만 걱정하지 마라 손은 눈보다 빠르니까.
### 문체: 중딩체
### 수정문: ㅡㅡ  가슴에 비수 날라오는 느낌인데 ㅡㅡ  걱정마 손은 눈보다 빠르니까<|endoftext|>
```
- 임금체
```
### 원문: 싸늘하다. 가슴에 비수가 날아와 꽂힌다. 하지만 걱정하지 마라 손은 눈보다 빠르니까.
### 문체: 임금체
### 수정문: 싸늘하오. 가슴에 비수가 날아와 꽂히는 것 같소. 허나 걱정하지 말게나. 손은 눈보다 빠르오.<|endoftext|>
```
- 나루토체
```
### 원문: 싸늘하다. 가슴에 비수가 날아와 꽂힌다. 하지만 걱정하지 마라 손은 눈보다 빠르니까.
### 문체: 나루토체체
### 수정문: 싸늘하다니깐! 가슴에 비수가 날아와 꽂힌 것 같다니깐! 근데 걱정하지 말라니깐! 손은 눈보다 빠르니깐!<|endoftext|>
```
- 선비체
```
### 원문: 싸늘하다. 가슴에 비수가 날아와 꽂힌다. 하지만 걱정하지 마라 손은 눈보다 빠르니까.
### 문체: 선비체
### 수정문: 싸늘하오...가슴에 비수가 날아와 꽂히는 것 같소...하지만 걱정하지 마시오! 손은 눈보다 빠르오!<|endoftext|>
```
- 소심체
```
### 원문: 싸늘하다. 가슴에 비수가 날아와 꽂힌다. 하지만 걱정하지 마라 손은 눈보다 빠르니까.
### 문체: 소심체
### 수정문: 싸늘하네.. 가슴에 비수가 날아와 꽂히는 기분이야.. 근데 걱정하지마 손은 눈보다 빠르니까..<|endoftext|>
```
- 번역체
```
### 원문: 싸늘하다. 가슴에 비수가 날아와 꽂힌다. 하지만 걱정하지 마라 손은 눈보다 빠르니까.
### 문체: 번역체
### 수정문: 냉담한. 가슴에 비수가 날아와 꽂힌다. 그러나 걱정하지 마십시오, 손은 눈보다 빠르다.<|endoftext|>
```
- 냥체
```
### 원문: 호의가 계속되면은, 그게 권리인 줄 알아요.
### 문체: 냥체
### 수정문: 호의가 계속되면은냥, 그게 권리인 줄 알아냥.<|endoftext|>
```
- 곰체
```
### 원문: 호의가 계속되면은, 그게 권리인 줄 알아요.
### 문체: 곰체
### 수정문: 호의가 계속되면은곰, 그게 권리인 줄 알아곰.<|endoftext|>
```
- 멍체
```
### 원문: 호의가 계속되면은, 그게 권리인 줄 알아요.
### 문체: 멍체
### 수정문: 호의가 계속되면은멍, 그게 권리인 줄 알아멍.<|endoftext|>
```
- 고래체
```
### 원문: 호의가 계속되면은, 그게 권리인 줄 알아요.
### 문체: 고래체
### 수정문: 호의가 계속되면은고래, 그게 권리인 줄 알아고래.<|endoftext|>
```
- 개굴체
```
### 원문: 호의가 계속되면은, 그게 권리인 줄 알아요.
### 문체: 개굴체
### 수정문: 호의가 계속되면은개굴, 그게 권리인 줄 알아개굴.<|endoftext|>
```
- 너굴체
```
### 원문: 호의가 계속되면은, 그게 권리인 줄 알아요.
### 문체: 너굴체
### 수정문: 호의가 계속되면은구리, 그게 권리인 줄 알아구리.<|endoftext|>
```
- 닭체
```
### 원문: 호의가 계속되면은, 그게 권리인 줄 알아요.
### 문체: 닭체
### 수정문: 호의가 계속되면은닭, 그게 권리인 줄 알아닭.<|endoftext|>
```
- 경상도방언
```
### 원문: 가족들끼리 마음 맞춰서 하면은 손발도 잘 맞고 좋지.
### 문체: 경상도방언
### 수정문: 가족들끼리 마음 맞춰가 하면은 손발도 잘 맞고 좋지예.<|endoftext|>
```
- 충청도방언
```
### 원문: 가족들끼리 마음 맞춰서 하면은 손발도 잘 맞고 좋지.
### 문체: 충청도방언
### 수정문: 가족들끼리 마음 맞춰서 하믄은 손발도 잘 맞고 좋지.<|endoftext|>
```
- 전라도방언
```
### 원문: 가족들끼리 마음 맞춰서 하면은 손발도 잘 맞고 좋지.
### 문체: 전라도방언
### 수정문: 가족들끼리 마음 맞춰서 하믄은 손발도 잘 맞고 좋지라잉<|endoftext|>
```
- 강원도방언
```
### 원문: 가족들끼리 마음 맞춰서 하면은 손발도 잘 맞고 좋지.
### 문체: 강원도방언
### 수정문: 가족들끼리 마음 맞춰서 하믄은 손발도 잘 맞고 좋지.<|endoftext|>
```

방언으로의 변환의 경우, 제대로 변환되지 않을 가능성이 높습니다.

방언을 제외한 문체들은 자유로운 상호변환이 가능합니다.

## Implementation Code
```python
from transformers import AutoModelForCausalLM, AutoTokenizer, StoppingCriteria, StoppingCriteriaList
import torch
repo = "squarelike/korean-style-converter-6b"
model = AutoModelForCausalLM.from_pretrained(
        repo,
        load_in_4bit=True
        device_map='auto'
)
tokenizer = AutoTokenizer.from_pretrained(repo)

def gen(style, text):
    gened = model.generate(
        **tokenizer(
            f"""### 원문: {text}\n### 문체: {style}\n### 수정문:""",
            return_tensors='pt',
            return_token_type_ids=False
        ).to("cuda"),
        max_new_tokens=100,
        temperature=1,
        do_sample=True,
        repetition_penalty=1.2,
        num_beams=3
    )
    return result[result.find("수정문:")+5:].replace("<|endoftext|>","")

styles = ["로봇체", "아재체", "채팅체", "초딩체", "이모티콘체", "인싸체", "정중체", "할배체", "할매체", "중딩체", "임금체", "나루토체", "선비체", "소심체", "번역체", "해요체", "반말체", "합쇼체", "냥체", "곰체", "멍체", "고래체", "개굴체", "너굴체", "닭체", "경상도방언", "충청도방언", "전라도방언", "강원도방언"]

text = "가족들끼리 마음 맞춰서 하면은 손발도 잘 맞고 좋지."
print(f"입력 문장: \"{text}\"")
for style in styles:
    print(f"{style}: \"{gen(style, text)}\"")
```
```
입력 문장: "가족들끼리 마음 맞춰서 하면은 손발도 잘 맞고 좋지."
로봇체: "가족들. 마음. 맞춰서. 수행. 손발. 잘 맞음."
아재체: "가족들끼리 마음 맞춰서 하면 손발도 잘 맞고 좋지~"
채팅체: "가족들끼리 마음 맞춰서 하면 손발도 잘 맞고 좋지"
초딩체: "가족들끼리 마음 맞춰서 하면 손발도 잘 맞고 좋지"
이모티콘체: "가족들끼리 마음 맞춰서 하면 손발도 잘 맞고 좋지! (❁ ́◡`❁)(❁ ́◡`❁)"
인싸체: "가족들끼리 마음 맞춰서 하면 손발도 잘 맞고 좋지 ㅎㅎ"
정중체: "가족들끼리 마음 맞춰서 하면 손발도 잘 맞고 좋지요."
할배체: "가족끼리 마음 맞춰서 하면은...손발도 잘 맞고 좋구먼..."
할매체: "가족들끼리 맘 맞춰서 하면 손발도 잘 맞고 좋제"
중딩체: "가족들끼리 마음맞춰서 하면 손발도 잘맞음"
임금체: "가족들끼리 마음을 맞춰서 하면 손발도 잘 맞고 좋소."
나루토체: "가족들끼리 마음 맞춰서 하면 손발도 잘 맞고 좋다니깐!"
선비체: "가족끼리 마음을 맞춰서 하면 손발도 잘 맞고 좋은 것이오!"
소심체: "가족들끼리 마음 맞춰서 하면 손발도 잘 맞고 좋지 않을까..?"
번역체: "만약 가족이 같은 마음으로 임한다면, 그것은 좋은 일입니다."
해요체: "가족들끼리 마음 맞춰서 하면은 손발도 잘 맞고 좋죠."
반말체: "가족들끼리 마음 맞춰서 하면은 손발도 잘 맞고 좋지."
합쇼체: "가족들끼리 마음 맞춰서 하면은 손발도 잘 맞고 좋지 않습니까?"
냥체: "가족들끼리 마음 맞춰서 하면은 손발도 잘 맞고 좋지냥."
곰체: "가족들끼리 마음 맞춰서 하면은 손발도 잘 맞고 좋지곰."
멍체: "가족들끼리 마음 맞춰서 하면은 손발도 잘 맞고 좋지멍."
고래체: "가족들끼리 마음 맞춰서 하면은 손발도 잘 맞고 좋지고래."
개굴체: "가족들끼리 마음 맞춰서 하면은 손발도 잘 맞고 좋지개굴."
너굴체: "가족들끼리 마음 맞춰서 하면은 손발도 잘 맞고 좋지구리."
닭체: "가족들끼리 마음 맞춰서 하면은 손발도 잘 맞고 좋지닭."
경상도방언: "가족들끼리 마음 맞춰가 하면은 손발도 잘 맞고 좋지예."
충청도방언: "가족들끼리 마음 맞춰서 하믄은 손발도 잘 맞고 좋지."
전라도방언: "가족들끼리 마음 맞춰서 하믄은 손발도 잘 맞고 좋제라우."
강원도방언: "가족들끼리 마음 맞춰서 하믄은 손발도 잘 맞고 좋지."
```


## Lisence
korean-style-converter-6b는 [korean_smile_style_dataset](https://github.com/smilegate-ai/korean_smile_style_dataset)데이터셋의 라이센스를 따라 **CC-BY-NC 4.0** 하에 공개되어 있습니다.

본 모델을 사용하여 생성된 출력물에 대해 제작자는 책임을 지지 않습니다.
{"language": ["ko"], "license": "cc-by-nc-4.0", "pipeline_tag": "text-generation"}
transformers tensorboard safetensors llama text-generation ko license:cc-by-nc-4.0 autotrain_compatible endpoints_compatible text-generation-inference region:us