-
Notifications
You must be signed in to change notification settings - Fork 189
/
test_chinese_convert_mapper.py
232 lines (196 loc) · 8.3 KB
/
test_chinese_convert_mapper.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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
import unittest
from data_juicer.core.data import NestedDataset as Dataset
from data_juicer.ops.mapper.chinese_convert_mapper import ChineseConvertMapper
from data_juicer.utils.unittest_utils import DataJuicerTestCaseBase
class ChineseConvertMapperTest(DataJuicerTestCaseBase):
def setUp(self, mode='s2t'):
self.op = ChineseConvertMapper(mode)
def _run_chinese_convert(self, samples):
dataset = Dataset.from_list(samples)
dataset = dataset.map(self.op.process, batch_size=2)
for data in dataset:
self.assertEqual(data['text'], data['target'])
def test_s2t(self):
samples = [{
'text': '这是几个简体字,会被转换为繁体字',
'target': '這是幾個簡體字,會被轉換爲繁體字'
}, {
'text': '如果本身都是繁體字就不會被轉換',
'target': '如果本身都是繁體字就不會被轉換'
}, {
'text': '试试繁体afadf字$#@#和简体字,以及各123213*&dasd種不同字符数字的组合轉換效果',
'target': '試試繁體afadf字$#@#和簡體字,以及各123213*&dasd種不同字符數字的組合轉換效果'
}]
self.setUp('s2t')
self._run_chinese_convert(samples)
def test_t2s(self):
samples = [{
'text': '這是幾個繁體字,會被轉換爲簡體字',
'target': '这是几个繁体字,会被转换为简体字'
}, {
'text': '如果本身都是简体字,就不会被转换',
'target': '如果本身都是简体字,就不会被转换'
}, {
'text': '试试繁体afadf字$#@#和简体字,以及各123213*&dasd種不同字符数字的组合轉換效果',
'target': '试试繁体afadf字$#@#和简体字,以及各123213*&dasd种不同字符数字的组合转换效果'
}]
self.setUp('t2s')
self._run_chinese_convert(samples)
def test_s2tw(self):
samples = [{
'text': '群贤毕至,少长咸集',
'target': '群賢畢至,少長鹹集'
}, {
'text': '为你我用了半年的积蓄,漂洋过海来看你',
'target': '為你我用了半年的積蓄,漂洋過海來看你'
}, {
'text': '米线面粉里面启发吊钩',
'target': '米線麵粉裡面啟發吊鉤'
}]
self.setUp('s2tw')
self._run_chinese_convert(samples)
def test_tw2s(self):
samples = [{
'text': '群賢畢至,少長鹹集',
'target': '群贤毕至,少长咸集'
}, {
'text': '為你我用了半年的積蓄,漂洋過海來看你',
'target': '为你我用了半年的积蓄,漂洋过海来看你'
}, {
'text': '米線麵粉裡面啟發吊鉤',
'target': '米线面粉里面启发吊钩'
}]
self.setUp('tw2s')
self._run_chinese_convert(samples)
def test_s2hk(self):
samples = [{
'text': '群贤毕至,少长咸集',
'target': '羣賢畢至,少長鹹集'
}, {
'text': '为你我用了半年的积蓄,漂洋过海来看你',
'target': '為你我用了半年的積蓄,漂洋過海來看你'
}, {
'text': '米线面粉里面启发吊钩',
'target': '米線麪粉裏面啓發吊鈎'
}]
self.setUp('s2hk')
self._run_chinese_convert(samples)
def test_hk2s(self):
samples = [{
'text': '羣賢畢至,少長鹹集',
'target': '群贤毕至,少长咸集'
}, {
'text': '為你我用了半年的積蓄,漂洋過海來看你',
'target': '为你我用了半年的积蓄,漂洋过海来看你'
}, {
'text': '米線麪粉裏面啓發吊鈎',
'target': '米线面粉里面启发吊钩'
}]
self.setUp('hk2s')
self._run_chinese_convert(samples)
def test_s2twp(self):
samples = [{
'text': '网络连接异常,请检查信息安全',
'target': '網路連線異常,請檢查資訊保安'
}, {
'text': '今年想去新西兰和马尔代夫旅游',
'target': '今年想去紐西蘭和馬爾地夫旅遊'
}, {
'text': '我打个出租车打到了一辆奔驰,准备在车上吃冰棍和奶酪',
'target': '我打個計程車打到了一輛賓士,準備在車上吃冰棒和乳酪'
}]
self.setUp('s2twp')
self._run_chinese_convert(samples)
def test_tw2sp(self):
samples = [{
'text': '網路連線異常,請檢查資訊保安',
'target': '网络连接异常,请检查信息安全'
}, {
'text': '今年想去紐西蘭和馬爾地夫旅遊',
'target': '今年想去新西兰和马尔代夫旅游'
}, {
'text': '我打個計程車打到了一輛賓士,準備在車上吃冰棒和乳酪',
'target': '我打个出租车打到了一辆奔驰,准备在车上吃冰棍和奶酪'
}]
self.setUp('tw2sp')
self._run_chinese_convert(samples)
def test_t2tw(self):
samples = [{
'text': '羣賢畢至,少長鹹集',
'target': '群賢畢至,少長鹹集'
}, {
'text': '爲你我用了半年的積蓄,漂洋過海來看你',
'target': '為你我用了半年的積蓄,漂洋過海來看你'
}, {
'text': '米線麪粉裏面啓發吊鉤',
'target': '米線麵粉裡面啟發吊鉤'
}]
self.setUp('t2tw')
self._run_chinese_convert(samples)
def test_tw2t(self):
samples = [{
'text': '群賢畢至,少長鹹集',
'target': '羣賢畢至,少長鹹集'
}, {
'text': '為你我用了半年的積蓄,漂洋過海來看你',
'target': '爲你我用了半年的積蓄,漂洋過海來看你'
}, {
'text': '米線麵粉裡面啟發吊鈎',
'target': '米線麪粉裏面啓發吊鈎'
}]
self.setUp('tw2t')
self._run_chinese_convert(samples)
def test_t2hk(self):
samples = [{
'text': '說他癡人說夢,他深感不悅',
'target': '説他痴人説夢,他深感不悦'
}, {
'text': '爲你我用了半年的積蓄,漂洋過海來看你',
'target': '為你我用了半年的積蓄,漂洋過海來看你'
}, {
'text': '一隻憂鬱的臺灣烏龜',
'target': '一隻憂鬱的台灣烏龜'
}]
self.setUp('t2hk')
self._run_chinese_convert(samples)
def test_hk2t(self):
samples = [{
'text': '説他痴人説夢,他深感不悦',
'target': '說他癡人說夢,他深感不悅'
}, {
'text': '為你我用了半年的積蓄,漂洋過海來看你',
'target': '爲你我用了半年的積蓄,漂洋過海來看你'
}, {
'text': '一隻憂鬱的台灣烏龜',
'target': '一隻憂鬱的臺灣烏龜'
}]
self.setUp('hk2t')
self._run_chinese_convert(samples)
def test_t2jp(self):
samples = [{
'text': '他需要修復心臟瓣膜',
'target': '他需要修復心臓弁膜'
}, {
'text': '舊字體歷史假名遣 新字體現代假名遣',
'target': '旧字体歴史仮名遣 新字体現代仮名遣'
}, {
'text': '藝術 缺航 飲料罐',
'target': '芸術 欠航 飲料缶'
}]
self.setUp('t2jp')
self._run_chinese_convert(samples)
def test_jp2t(self):
samples = [{
'text': '他需要修復心臓弁膜',
'target': '他需要修復心臟瓣膜'
}, {
'text': '旧字体歴史仮名遣 新字体現代仮名遣',
'target': '舊字體歷史假名遣 新字體現代假名遣'
}, {
'text': '芸術 欠航 飲料缶',
'target': '藝術 缺航 飲料罐'
}]
self.setUp('jp2t')
self._run_chinese_convert(samples)
if __name__ == '__main__':
unittest.main()