Views
No views yet
1import torch
2from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
3
4
5repo_id = "snowseol/persona-translator"
6
7tokenizer = AutoTokenizer.from_pretrained(repo_id)
8model = AutoModelForSeq2SeqLM.from_pretrained(repo_id)
9
10persona_list = {
11 'informal': '구어체',
12 'android': '안드로이드',
13 'azae': '아재',
14 'chat': '채팅',
15 'choding': '초등학생',
16 'emoticon': '이모티콘',
17 'enfp': 'enfp',
18 'gentle': '신사',
19 'halbae': '할아버지',
20 'halmae': '할머니',
21 'joongding': '중학생',
22 'king': '왕',
23 'naruto': '나루토',
24 'seonbi': '선비',
25 'sosim': '소심한',
26 'translator': '번역기'
27}
28
29tokenizer = AutoTokenizer.from_pretrained(repo_id)
30model = AutoModelForSeq2SeqLM.from_pretrained(repo_id)
31
32
33device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
34model.to(device)
35model.eval()
36
37def generate_response(text: str, persona: str, max_length: int = 50):
38 input_text = f"<{persona}>{text}"
39 inputs = tokenizer(input_text, return_tensors="pt", padding=True, truncation=True).to(device)
40
41 with torch.no_grad():
42 output_ids = model.generate(
43 input_ids=inputs["input_ids"],
44 attention_mask=inputs["attention_mask"],
45 max_length=max_length,
46 num_beams=5,
47 do_sample=False,
48 early_stopping=True,
49 )
50
51 return tokenizer.decode(output_ids[0], skip_special_tokens=True)
52
53
54if __name__ == "__main__":
55 text = input("\n sentence to translate :").strip()
56 for persona, kor_persona in persona_list.items():
57 output = generate_response(text, kor_persona)
58 print(f"{persona} :", output)1 sentence to translate : BBQ 샌드위치를 먹고 있습니다. 제가 제일 좋아하는 메뉴에요.
2informal : 나는 샌드위치를 먹고 있어. 내가 제일 좋아하는 메뉴야.
3android : 샌드위치. 섭취중. 안드로이드. 제일. 선호. 메뉴.
4azae : 잉~BBQ 샌드위치 먹고 있어~ 내가 젤 좋아하는 메뉴야~
5chat : BBQ 샌드위치 먹고 있음. 내가 제일 좋아하는 메뉴임
6choding : BBQ 샌드위치 먹는 중 내가 젤 좋아하는 메뉴임
7emoticon : 난 샌드위치 먹고 있어! (★★) 내가 제일 좋아하는 메뉴야! (★★)
8enfp : 웅웅! 샌드위치 먹구 있어 ᄒᄒ 내가 젤 좋아하는 메뉴얌 ᄒᄒ
9gentle : 샌드위치를 먹고 있습니다. 제가 제일 좋아하는 메뉴입니다.
10halbae : 나는...BBQ 샌드위치를 먹고 있구먼...내가 제일 좋아하는 메뉴구먼...
11halmae : 염병 샌드위치 먹고 있네 내가 젤 좋아하는 메뉴여
12joongding : 샌드위치 먹는중 ᅳᅳ 내가 제일 좋아하는 메뉴임
13king : BBQ 샌드위치를 먹고 있소. 짐이 제일 선호하는 메뉴요.
14naruto : BBQ 샌드위치를 먹고 있다니깐! 내가 제일 좋아하는 메뉴라니깐!
15seonbi : 샌드위치를 먹고 있소! 소생이 제일 좋아하는 메뉴인 것이오!
16sosim : 샌드위치 먹고 있어.. 내가 제일 좋아하는 메뉴야..
17translator : 나는 BBQ 샌드위치를 먹고 있다. 그것은 내가 가장 선호하는 메뉴입니다.
18
19 sentence to translate : 안녕하세요. 세탁소에 맡긴 옷을 가지러 가는건데, 그리 급하지는 않습니다.
20informal : 안녕. 세탁소에 맡긴 옷을 가지러 가는건데, 그리 급하지는 않아.
21android : 반갑다. 세탁소. 맡긴 옷. 가지러 간다. 그러나. 그리.급하지. 않다.
22azae : 안녕~ 세탁소에 맡긴 옷 가지러 가는건데, 그리 급하지는 않네
23chat : 하이, 세탁소에 맡긴 옷 가지러 가는건데, 그리 급하지는 않음
24choding : ᄒᄋ 세탁소에 맡긴 옷 가지러 가는건데, 그리 급하지는 않음
25emoticon : 안녕! 세탁소에 맡긴 옷 가지러 가는건데, 그리 급하지는 않아 (⊙_⊙;)
26enfp : 안녕~ 세탁소에 맡긴 옷 가지러 가는건뎅,, 그리 급하지는 않앙 ᄒᄒ
27gentle : 안녕하십니까. 세탁소에 맡긴 옷을 가지러 가는건데, 그리 급하지는 않습니다.
28halbae : 안녕하신가... 세탁소에 맡긴 옷을 가지러 가는 것이구먼...그렇게 급하지는 않구먼...
29halmae : 염병하네 세탁소에 맡긴 옷을 가지러 가는건디 그리 급하지는 않어
30joongding : ᄋ 세탁소에 맡긴 옷 가지러 가는건데 그리 급하지는 않음
31king : 반갑소. 세탁소에 맡긴 옷을 가지러 가는 것이오. 그리 급하지는 않소.
32naruto : 안녕하냐니깐! 세탁소에 맡긴 옷 가지러 가는 거라니깐! 그리 급하지는 않다니깐!
33seonbi : 안녕하시오! 세탁소에 맡긴 옷을 가지러 가는 것이오! 그리 급하지는 않소!
34sosim : 안녕.. 세탁소에 맡긴 옷 가지러 가는건데.. 그리 급하지는 않은 것 같아..
35translator : 반가운. 세탁소에 맡긴 옷을 가지러 가는 것은 급하지 않다.
36
37 sentence to translate : 의사 선생님은 뭐라고 하셨어요?
38informal : 의사 선생님은 뭐라고 하셨어?
39android : 의사. 선생님. 뭐라고. 하는가.
40azae : 의사 선생님은 뭐라고 하셨어?
41chat : 의사 선생님은 뭐라고 하셨음?
42choding : 의사 선생님은 뭐라고 함?
43emoticon : 의사 선생님은 뭐라고 하셨어? (⊙_⊙)?
44enfp : 치과 선생님은 뭐라고 하셨엉??
45gentle : 선생님은 뭐라고 하셨습니까?
46halbae : 의사 선생님은 뭐라고 하신겐가?...
47halmae : 의사 선생님은 뭐라고 하셨냐?
48joongding : 의사 선생님은 뭐라고 했는데
49king : 의사 선생님은 무엇을 말하였는가?
50naruto : 의사 선생님은 뭐라고 하셨냐니깐!
51seonbi : 선생님은 뭐라고 하셨소?
52sosim : 의사 선생님은 뭐라고 하셨어 혹시..?
53translator : 의사 선생님은 무엇이라고 하셨습니까?
54
55 sentence to translate : 좋아보이는데요, 그러면 한번 게스트로 출연해볼게요.
56informal : 좋아보이는데, 그러면 한번 게스트로 출연해볼게.
57android : 좋음. 추측됨. 따라서. 게스트. 출연. 희망.
58azae : 좋아보이네 그럼 한번 게스트로 출연해볼게
59chat : 좋아보이는데, 그럼 한 번 게스트로 출연해볼게
60choding : 좋아보이누 그럼 한번 게스트로 출연해봄
61emoticon : 좋아보이네! 그럼 한 번 게스트로 출연해볼게! (★★)
62enfp : 좋아보이넹!! 그럼 한번 게스트로 출연해볼게!!
63gentle : 좋아보이네요. 그럼 한번 게스트로 출연해보겠습니다.
64halbae : 좋아보이는구먼...그래서 한 번 게스트로 출연해보겠구먼...
65halmae : 염병 좋아보이네 그럼 한번 게스트로 출연해볼게
66joongding : 좋아보이네 그럼 게스트로 출연해볼게
67king : 좋아보이오. 허면 한번 게스트로 출연해 보겠소.
68naruto : 좋아보인다니깐! 그럼 한 번 게스트로 출연해보겠다니깐!
69seonbi : 좋아보이오! 그럼 한번 게스트로 출연해보겠소!
70sosim : 좋아보이는데.. 그럼 한번 게스트로 출연해볼게..
71translator : 그것은 좋은. 따라서 나는 게스트로 출연한다.
72
73 sentence to translate : 안 다치고 이렇게 오래 할 수 있었던게 축복인 것 같습니다. 저는 나무를 좋아하거든요.
74informal : 다치고 이렇게 오래 할 수 있었던게 축복인 것 같아. 나는 나무를 좋아해.
75android : 부상. 없음. 축복. 안드로이드. 나무. 선호.
76azae : 안 다치고 이렇게 오래 할 수 있었던게 축복인 거 같네. 난 나무를 좋아하거든
77chat : 안 다치고 이렇게 오래 할 수 있었던게 축복인 거 같음. 난 나무 좋아하거든
78choding : 다치지 않고 이렇게 오래 할 수 있었던게 축복인 듯 난 나무 좋아함
79emoticon : 다치지 않고 이렇게 오래 할 수 있었던게 축복인 것 같아 (*°▽°*) 난 나무 좋아하거든 (*°*)
80enfp : 안 다치구 이렇게 오래 할 수 있었던게 축복인 거 가타!! 난 나무 좋아해 ᄒᄒ
81gentle : 다치지 않고 이렇게 오래 할 수 있었던게 축복인 것 같습니다. 저는 나무를 좋아합니다.
82halbae : 다치지 않고 이렇게 오래 할 수 있었던게 축복인 것 같구먼...난 나무를 좋아하는구먼...
83halmae : 안 다치고 이렇게 오래 할 수 있었던게 축복인 거 같어. 난 나무 좋아하는디
84joongding : 다치고 이렇게 오래 할 수 있었던게 축복임. 난 나무 좋아하는데
85king : 다치지 않고 이렇게 오래 할 수 있었던 것은 축복인 것 같소. 짐은 나무를 선호하오.
86naruto : 다치지 않고 이렇게 오래 할 수 있었던게 축복인 것 같다니깐! 난 나무를 좋아한다니깐!
87seonbi : 다치지 않고 이렇게 오래 할 수 있었던게 축복인 것 같소! 소생은 나무를 좋아하오!
88sosim : 안 다치고 이렇게 오래 할 수 있었던게 축복인 것 같아.. 난 나무 좋아해..
89translator : 부상을 입지 않고 이렇게 오래 할 수 있었다는 것은 축복인. 나는 나무의 큰 애호가입니다.
90
91 sentence to translate : 멋진 계획이네요. 이미 아시겠지만, 캐나다는 정말 아름다운 나라입니다.
92informal : 멋진 계획이네. 이미 알겠지만, 캐나다는 정말 아름다운 나라야.
93android : 계획. 훌륭함. 이미. 아는가. 캐나다. 아름다운 나라.
94azae : 멋진 계획이네~ 이미 아시겠지만 캐나다는 정말 아름다운 나라여
95chat : 멋진 계획이네. 이미 아시겠지만, 캐나다는 정말 아름다운 나라임
96choding : ᆪᆪ 이미 아시겠지만 캐나다는 ᄅᄋ 아름다운 나라임
97emoticon : 멋진 계획이네! (★★) 이미 아시겠지만, 캐나다는 정말 아름다운 나라야! (★★)
98enfp : 멋진 계획이넹!! 이미 아시겠지만,, 캐나다는 진짜 아름다운 나라얌 ᄒᄒ
99gentle : 멋진 계획이군요. 이미 아시겠지만, 캐나다는 정말 아름다운 나라입니다.
100halbae : 멋진 계획이구먼...지금도 아시겠지만...캐나다는 정말 아름다운 나라이구먼...
101halmae : 염병 지랄맞은 계획이네. 이미 알았지만 캐나다는 참말로 아름다운 나라여
102joongding : ᄏ 이미 아시겠지만 캐나다는 아름다운 나라임
103king : 멋진 계획이로오. 이미 알겠으나, 캐나다는 참으로 아름다운 나라요.
104naruto : 멋지다니깐! 이미 아시겠지만 캐나다는 정말 아름다운 나라라니깐!
105seonbi : 멋진 계획이오! 이미 아시겠지만, 캐나다는 정말 아름다운 나라인 것이오!
106sosim : 멋진 계획인 것 같아.. 이미 아시겠지만 캐나다는 진짜 아름다운 나라야..
107translator : 그것은 멋진 계획인. 이미 알겠지만, 캐나다는 정말 아름다운 나라입니다.
108
109 sentence to translate : 그렇게 생각하면 파이브 가이즈 행버거를 먹는 이유가 이해가 되네요.
110informal : 그렇게 생각하면 파이브 가이즈 행버거를 먹는 이유가 이해가 되네.
111android : 따라서. 파이브 가이즈. 행버거. 섭취. 이유. 이해됨.
112azae : 그렇게 생각하면 파이브 가이즈 행버거를 먹는 이유가 이해가 되네
113chat : 그렇게 생각하면 파이브 가이즈 행버거 먹는 이유가 이해가 되네
114choding : 그렇게 생각하면 파이브 가이즈 행버거 먹는 이유가 이해가 되네
115emoticon : 그렇게 생각하면 파이브 가이즈 행버거를 먹는 이유가 이해가 되네 (★★)
116enfp : 그렇게 생각하면 파이브 가이즈 행버거를 먹는 이유가 이해가 되넹 ᄒᄒ
117gentle : 그렇게 생각하면 파이브 가이즈 행버거를 먹는 이유가 이해가 되네요.
118halbae : 그렇게 생각하면 파이브 가이즈 행버거를 먹는 이유가 이해가 되는구먼...
119halmae : 그렇게 생각하면 파이브 가이즈 행버거를 먹는 이유가 이해가 되네
120joongding : 파이브 가이즈 행버거 먹는 이유가 이해가 안되네
121king : 그리 생각하면 파이브 가이즈 행버거를 먹는 이유가 이해가 되는구려.
122naruto : 그렇게 생각하면 파이브 가이즈 행버거를 먹는 이유가 이해가 된다니깐!
123seonbi : 그렇게 생각하면 파이브 가이즈 행버거를 먹는 이유가 이해가 되는 것이오!
124sosim : 그렇게 생각하면 파이브 가이즈 행버거 먹는 이유가 이해가 되는 것 같아..
125translator : 그렇게 생각하면 파이브 가이즈 행버거를 먹는 이유가 이해가 된다.
126
127 sentence to translate : 여기 수족관은 볼 거리가 정말 많군요.
128informal : 수족관은 볼 거리가 정말 많군.
129android : 수족관. 볼 거리. 많음.
130azae : 어기 수족관은 볼 거리가 정말 많네
131chat : 수족관은 볼 거리가 진짜 많네
132choding : 수족관은 볼 거리가 ᄅᄋ 많네
133emoticon : (*°▽°*)여기 수족관은 볼 거리가 정말 많네 (★★)
134enfp : 웅! 수족관은 볼 거리가 진짜 많넹 ᄒᄒ
135gentle : 네. 수족관은 볼 거리가 정말 많군요.
136halbae : 그렇구먼...여기 수족관은...볼 거리가 정말 많구먼...
137halmae : 니기럴 수족관은 볼 거리가 염병하게 많네
138joongding : 수족관은 볼 거리가 너무 많네
139king : 그렇소. 수족관은 볼 거리가 참으로 많구려.
140naruto : 그렇다니깐! 수족관은 볼 거리가 정말 많다니깐!
141seonbi : 수족관은 볼 거리가 정말 많소!
142sosim : 수족관은 볼 거리가 진짜 많은 것 같아..
143translator : 그런, 수족관은 볼 거리가 아주 많다.
144
145 sentence to translate : 그리고 스키장 무료 입장권도 받았어요.
146informal : 그리고 스키장 무료 입장권도 받았어.
147android : 스키장. 무료. 입장권. 수령.
148azae : 글고 스키장 무료 입장권도 받았어
149chat : 글고 스키장 무료 입장권도 받음
150choding : 글고 스키장 무료 입장권도 받음
151emoticon : 그리고 스키장 무료 입장권도 받았어! (★★)
152enfp : 글구 스키장 무료 입장권도 받았엉 ᄒᄒ
153gentle : 그리고 스키장 무료 입장권도 받았습니다.
154halbae : 그리고...스키장 무료 입장권도 받았구먼...
155halmae : 염병 스키장 무료 입장권도 받았네
156joongding : 스키장 무료 입장권도 받음
157king : 그리하여 스키장 무료 입장권도 받았소.
158naruto : 그리고 스키장 무료 입장권도 받았다니깐!
159seonbi : 그리고 스키장 무료 입장권도 받았소!
160sosim : 그리고 스키장 무료 입장권도 받았어..
161translator : 나는 스키장 무료 입장권을 받았다.
162
163 sentence to translate : 지금 물어봤는데, 동생도 시간이 안된다고 하네요.
164informal : 지금 물어봤는데, 동생도 시간이 안된다고 하네.
165android : 확인. 동생. 시간. 안된다.
166azae : 나도 물어봤는데, 동생도 시간이 안된다고 하네
167chat : 나도 물어봤는데 동생도 시간이 안된다고 하더라
168choding : 나도 물어봤는데 동생도 시간이 안된대
169emoticon : 나도 물어봤는데 동생도 시간이 안된다고 하더라...(⊙_⊙;)
170enfp : 지금 물어봤는뎅,, 동생두 시간이 안된다구 하넹,,
171gentle : 지금 물어봤습니다. 동생도 시간이 안된다고 하더군요.
172halbae : 나도...지금 물어봤는디...동생도 시간이 안된다고 하더구먼...
173halmae : 시방 물어봤는디, 동생도 시간이 안된대
174joongding : 나도 물어봤는데 동생도 시간 안된다고 하더라
175king : 금일 물어봤는데, 동생 또한 시간이 안된다고 하였소.
176naruto : 지금 물어봤는데 동생도 시간이 안된다고 하더라니깐!
177seonbi : 지금 물어봤소! 동생도 시간이 안된다고 하오!
178sosim : 나도 물어봤는데 동생도 시간이 안된다고 하더라구..
179translator : 나는 그것에 대해 물었고, 동생은 시간이 없다고 대답했다.