-
Notifications
You must be signed in to change notification settings - Fork 0
/
jp_tokenizer.py
58 lines (51 loc) · 1.68 KB
/
jp_tokenizer.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
def split_fonemas_jp(text, fonema_list):
# Separar os caracteres japoneses e aplicar o mapeamento
fonemas = []
i = 0
while i < len(text):
found = False
for fonema in fonema_list:
if text[i:i+len(fonema)] == fonema:
fonemas.append(fonema)
i += len(fonema)
found = True
break
if not found:
fonemas.append(text[i])
i += 1
return fonemas
# Lista de fonemas
fonema_list = [
'きゃ', 'きゅ', 'きょ',
'しゃ', 'しゅ', 'しょ',
'ちゃ', 'ちゅ', 'ちょ',
'にゃ', 'にゅ', 'にょ',
'ひゃ', 'ひゅ', 'ひょ',
'みゃ', 'みゅ', 'みょ',
'りゃ', 'りゅ', 'りょ',
'ぎゃ', 'ぎゅ', 'ぎょ',
'じゃ', 'じゅ', 'じょ',
'びゃ', 'びゅ', 'びょ',
'ぴゃ', 'ぴゅ', 'ぴょ',
'あ', 'い', 'う', 'え', 'お',
'か', 'き', 'く', 'け', 'こ',
'さ', 'し', 'す', 'せ', 'そ',
'た', 'ち', 'つ', 'て', 'と',
'な', 'に', 'ぬ', 'ね', 'の',
'は', 'ひ', 'ふ', 'へ', 'ほ',
'ま', 'み', 'む', 'め', 'も',
'や', 'ゆ', 'よ',
'ら', 'り', 'る', 'れ', 'ろ',
'わ', 'を', 'ん',
'が', 'ぎ', 'ぐ', 'げ', 'ご',
'ざ', 'じ', 'ず', 'ぜ', 'ぞ',
'だ', 'ぢ', 'づ', 'で', 'ど',
'ば', 'び', 'ぶ', 'べ', 'ぼ',
'ぱ', 'ぴ', 'ぷ', 'ぺ', 'ぽ',
# ... adicione outras entradas conforme necessário
]
# Exemplo de uso
input_text = "またとうじのようにごだいみょう"
fonemas_separados = split_fonemas_jp(input_text, fonema_list)
# Imprimir os fonemas separados
print(" ".join(fonemas_separados))