Joshua Lansford commited on
Commit
370675b
·
1 Parent(s): 6ff3491

The encoder is working. About to rip it apart to put it in an object.

Browse files
.gitignore ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ venv/*
2
+ catboost_info/*
.vscode/launch.json ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ // Use IntelliSense to learn about possible attributes.
3
+ // Hover to view descriptions of existing attributes.
4
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5
+ "version": "0.2.0",
6
+ "configurations": [
7
+
8
+ {
9
+ "name": "Python: Current File",
10
+ "type": "python",
11
+ "request": "launch",
12
+ "program": "${file}",
13
+ "console": "integratedTerminal",
14
+ "justMyCode": true
15
+ },{
16
+ "name": "Train phonetic 4000 gpu",
17
+ "type": "python",
18
+ "request": "launch",
19
+ "program": "transmorgrify.py",
20
+ "console": "integratedTerminal",
21
+ "justMyCode": true,
22
+ "args": [
23
+ "--train",
24
+ "--in_csv", "/home/lansford/Sync/projects/tf_over/sentance_transmogrifier/examples/phonetic/phonetic.csv",
25
+ "--a_header", "English",
26
+ "--b_header", "Phonetic",
27
+ "--device", "0:1",
28
+ "--model", "phonetics_forwar.tm"
29
+ ]
30
+ },{
31
+ "name": "Train short phonetic 4000 gpu",
32
+ "type": "python",
33
+ "request": "launch",
34
+ "program": "transmorgrify.py",
35
+ "console": "integratedTerminal",
36
+ "justMyCode": true,
37
+ "args": [
38
+ "--train",
39
+ "--in_csv", "/home/lansford/Sync/projects/tf_over/sentance_transmogrifier/examples/phonetic/phonetic_short.csv",
40
+ "--a_header", "English",
41
+ "--b_header", "Phonetic",
42
+ "--device", "0:1",
43
+ "--model", "phonetics_small.tm"
44
+ ]
45
+ }
46
+ ]
47
+ }
examples/phonetic/phonetic.csv ADDED
The diff for this file is too large to render. See raw diff
 
examples/phonetic/phonetic_short.csv ADDED
@@ -0,0 +1,1000 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ English,Phonetic
2
+ Go.,ɡow.
3
+ Go.,ɡow.
4
+ Go.,ɡow.
5
+ Go.,ɡow.
6
+ Hi.,haj.
7
+ Run!,ɹʌn!
8
+ Run.,ɹʌn.
9
+ Who?,hu?
10
+ Fire!,fajɹ̩!
11
+ Fire!,fajɹ̩!
12
+ Fire!,fajɹ̩!
13
+ Help!,hɛlp!
14
+ Help!,hɛlp!
15
+ Help!,hɛlp!
16
+ Jump!,d͡ʒʌmp!
17
+ Jump.,d͡ʒʌmp.
18
+ Stop!,stɑp!
19
+ Stop!,stɑp!
20
+ Stop!,stɑp!
21
+ Wait!,wejt!
22
+ Wait.,wejt.
23
+ Go on.,ɡow ɑn.
24
+ Go on.,ɡow ɑn.
25
+ Hello!,həlow!
26
+ I ran.,aj ɹæn.
27
+ I ran.,aj ɹæn.
28
+ I try.,aj tɹaj.
29
+ I won!,aj wʌn!
30
+ Oh no!,ow now!
31
+ Relax.,ɹɪlæks.
32
+ Smile.,smajl.
33
+ Attack!,ətæk!
34
+ Attack!,ətæk!
35
+ Get up.,ɡɛt ʌp.
36
+ Go now.,ɡow naw.
37
+ Got it!,ɡɑt ɪt!
38
+ Got it?,ɡɑt ɪt?
39
+ Got it?,ɡɑt ɪt?
40
+ He ran.,hi ɹæn.
41
+ Hop in.,hɑp ɪn.
42
+ Hug me.,hʌɡ mi.
43
+ I fell.,aj fɛl.
44
+ I know.,aj now.
45
+ I left.,aj lɛft.
46
+ I lied.,aj lajd.
47
+ I lost.,aj lɔst.
48
+ I quit.,aj kwɪt.
49
+ I quit.,aj kwɪt.
50
+ I work.,aj wɹ̩k.
51
+ I'm 19.,ɪm 19.
52
+ I'm up.,ɪm ʌp.
53
+ Listen.,lɪsən.
54
+ Listen.,lɪsən.
55
+ Listen.,lɪsən.
56
+ No way!,now wej!
57
+ No way!,now wej!
58
+ No way!,now wej!
59
+ No way!,now wej!
60
+ No way!,now wej!
61
+ No way!,now wej!
62
+ No way!,now wej!
63
+ No way!,now wej!
64
+ No way!,now wej!
65
+ No way!,now wej!
66
+ Really?,ɹɪli?
67
+ Really?,ɹɪli?
68
+ Thanks.,θæŋks.
69
+ Thanks.,θæŋks.
70
+ Try it.,tɹaj ɪt.
71
+ We try.,wi tɹaj.
72
+ We won.,wi wʌn.
73
+ Why me?,waj mi?
74
+ Ask Tom.,æsk tɑm.
75
+ Awesome!,ɑsəm!
76
+ Be calm.,bi kɑm.
77
+ Be cool.,bi kul.
78
+ Be fair.,bi fɛɹ.
79
+ Be kind.,bi kajnd.
80
+ Be nice.,bi najs.
81
+ Beat it.,bit ɪt.
82
+ Call me.,kɔl mi.
83
+ Call me.,kɔl mi.
84
+ Call me.,kɔl mi.
85
+ Call us.,kɔl ʌs.
86
+ Come in.,kʌm ɪn.
87
+ Come in.,kʌm ɪn.
88
+ Come in.,kʌm ɪn.
89
+ Come on!,kʌm ɑn!
90
+ Come on.,kʌm ɑn.
91
+ Come on.,kʌm ɑn.
92
+ Drop it!,dɹɑp ɪt!
93
+ Get Tom.,ɡɛt tɑm.
94
+ Get out!,ɡɛt awt!
95
+ Get out.,ɡɛt awt.
96
+ Get out.,ɡɛt awt.
97
+ Get out.,ɡɛt awt.
98
+ Get out.,ɡɛt awt.
99
+ Get out.,ɡɛt awt.
100
+ Go away!,ɡow əwej!
101
+ Go away!,ɡow əwej!
102
+ Go away!,ɡow əwej!
103
+ Go away!,ɡow əwej!
104
+ Go away!,ɡow əwej!
105
+ Go away!,ɡow əwej!
106
+ Go away!,ɡow əwej!
107
+ Go away.,ɡow əwej.
108
+ Go away.,ɡow əwej.
109
+ Go away.,ɡow əwej.
110
+ Go away.,ɡow əwej.
111
+ Go away.,ɡow əwej.
112
+ Go away.,ɡow əwej.
113
+ Go away.,ɡow əwej.
114
+ Go home.,ɡow howm.
115
+ Go slow.,ɡow slow.
116
+ Goodbye!,ɡʊdbaj!
117
+ Goodbye!,ɡʊdbaj!
118
+ Goodbye!,ɡʊdbaj!
119
+ Hang on!,hæŋ ɑn!
120
+ Hang on!,hæŋ ɑn!
121
+ Hang on!,hæŋ ɑn!
122
+ Hang on.,hæŋ ɑn.
123
+ He came.,hi kejm.
124
+ He quit.,hi kwɪt.
125
+ Help me!,hɛlp mi!
126
+ Help me.,hɛlp mi.
127
+ Help me.,hɛlp mi.
128
+ Help me.,hɛlp mi.
129
+ Help us.,hɛlp ʌs.
130
+ Hit Tom.,hɪt tɑm.
131
+ Hold it!,howld ɪt!
132
+ Hold on.,howld ɑn.
133
+ Hold on.,howld ɑn.
134
+ Hold on.,howld ɑn.
135
+ Hug Tom.,hʌɡ tɑm.
136
+ I agree.,aj əɡɹi.
137
+ I agree.,aj əɡɹi.
138
+ I bowed.,aj bawd.
139
+ I moved.,aj muvd.
140
+ I moved.,aj muvd.
141
+ I moved.,aj muvd.
142
+ I moved.,aj muvd.
143
+ I slept.,aj slɛpt.
144
+ I tried.,aj tɹajd.
145
+ I'll go.,ɪl ɡow.
146
+ I'm Tom.,ɪm tɑm.
147
+ I'm fat.,ɪm fæt.
148
+ I'm fat.,ɪm fæt.
149
+ I'm fit.,ɪm fɪt.
150
+ I'm hit!,ɪm hɪt!
151
+ I'm old.,ɪm owld.
152
+ I'm shy.,ɪm ʃaj.
153
+ I'm wet.,ɪm wɛt.
154
+ It's OK.,ɪts owkej.
155
+ It's me!,ɪts mi!
156
+ It's me.,ɪts mi.
157
+ Join us.,d͡ʒojn ʌs.
158
+ Join us.,d͡ʒojn ʌs.
159
+ Keep it.,kip ɪt.
160
+ Me too.,mi tu.
161
+ Open up.,owpən ʌp.
162
+ Perfect!,pɹ̩fəkt!
163
+ See you.,si ju.
164
+ Show me.,ʃow mi.
165
+ Show me.,ʃow mi.
166
+ Show me.,ʃow mi.
167
+ Shut up!,ʃʌt ʌp!
168
+ Shut up!,ʃʌt ʌp!
169
+ Skip it.,skɪp ɪt.
170
+ So long.,sow lɔŋ.
171
+ So long.,sow lɔŋ.
172
+ Stop it.,stɑp ɪt.
173
+ Stop it.,stɑp ɪt.
174
+ Take it.,tejk ɪt.
175
+ Tell me.,tɛl mi.
176
+ Tom ate.,tɑm ejt.
177
+ Tom ran.,tɑm ɹæn.
178
+ Tom won.,tɑm wʌn.
179
+ Wait up.,wejt ʌp.
180
+ Wake up!,wejk ʌp!
181
+ Wake up!,wejk ʌp!
182
+ Wake up!,wejk ʌp!
183
+ Wake up.,wejk ʌp.
184
+ Wash up.,wɑʃ ʌp.
185
+ We care.,wi kɛɹ.
186
+ We know.,wi now.
187
+ We lost.,wi lɔst.
188
+ Welcome.,wɛlkəm.
189
+ Welcome.,wɛlkəm.
190
+ Who ate?,hu ejt?
191
+ Who ran?,hu ɹæn?
192
+ Who ran?,hu ɹæn?
193
+ Who won?,hu wʌn?
194
+ Who won?,hu wʌn?
195
+ Why not?,waj nɑt?
196
+ You run.,ju ɹʌn.
197
+ You won.,ju wʌn.
198
+ Am I fat?,æm aj fæt?
199
+ Ask them.,æsk ðɛm.
200
+ Ask them.,æsk ðɛm.
201
+ Back off!,bæk ɔf!
202
+ Back off.,bæk ɔf.
203
+ Be a man.,bi ə mæn.
204
+ Be brave.,bi bɹejv.
205
+ Be brief.,bi bɹif.
206
+ Be brief.,bi bɹif.
207
+ Be brief.,bi bɹif.
208
+ Be quiet.,bi kwajət.
209
+ Be still.,bi stɪl.
210
+ Call Tom.,kɔl tɑm.
211
+ Call Tom.,kɔl tɑm.
212
+ Call Tom.,kɔl tɑm.
213
+ Cheer up!,t͡ʃɪɹ ʌp!
214
+ Cheer up.,t͡ʃɪɹ ʌp.
215
+ Cool off!,kul ɔf!
216
+ Cuff him.,kʌf hɪm.
217
+ Don't go.,dɑnt ɡow.
218
+ Drive on.,dɹajv ɑn.
219
+ Find Tom.,fajnd tɑm.
220
+ Find Tom.,fajnd tɑm.
221
+ Find Tom.,fajnd tɑm.
222
+ Find Tom.,fajnd tɑm.
223
+ Find Tom.,fajnd tɑm.
224
+ Find Tom.,fajnd tɑm.
225
+ Fix this.,fɪks ðɪs.
226
+ Get away!,ɡɛt əwej!
227
+ Get away!,ɡɛt əwej!
228
+ Get away!,ɡɛt əwej!
229
+ Get away!,ɡɛt əwej!
230
+ Get down!,ɡɛt dawn!
231
+ Get down.,ɡɛt dawn.
232
+ Get down.,ɡɛt dawn.
233
+ Get lost!,ɡɛt lɔst!
234
+ Get lost!,ɡɛt lɔst!
235
+ Get lost!,ɡɛt lɔst!
236
+ Get lost!,ɡɛt lɔst!
237
+ Get lost!,ɡɛt lɔst!
238
+ Get lost.,ɡɛt lɔst.
239
+ Get real!,ɡɛt ɹil!
240
+ Get real!,ɡɛt ɹil!
241
+ Get real.,ɡɛt ɹil.
242
+ Go ahead!,ɡow əhɛd!
243
+ Go ahead.,ɡow əhɛd.
244
+ Go on in.,ɡow ɑn ɪn.
245
+ Go on in.,ɡow ɑn ɪn.
246
+ Go on in.,ɡow ɑn ɪn.
247
+ Go on in.,ɡow ɑn ɪn.
248
+ Go on in.,ɡow ɑn ɪn.
249
+ Good job!,ɡʊd d͡ʒɑb!
250
+ Grab Tom.,ɡɹæb tɑm.
251
+ Grab him.,ɡɹæb hɪm.
252
+ Have fun.,hæv fʌn.
253
+ Have fun.,hæv fʌn.
254
+ Have fun.,hæv fʌn.
255
+ He spoke.,hi spowk.
256
+ He tries.,hi tɹajz.
257
+ He tries.,hi tɹajz.
258
+ Help Tom.,hɛlp tɑm.
259
+ Help him.,hɛlp hɪm.
260
+ Hi guys.,haj ɡajz.
261
+ Hi guys.,haj ɡajz.
262
+ Hi guys.,haj ɡajz.
263
+ Hi guys.,haj ɡajz.
264
+ Hi guys.,haj ɡajz.
265
+ Hi guys.,haj ɡajz.
266
+ How cute!,haw kjut!
267
+ How deep?,haw dip?
268
+ How deep?,haw dip?
269
+ Humor me.,hjumɹ̩ mi.
270
+ Humor me.,hjumɹ̩ mi.
271
+ Hurry up.,hɹ̩i ʌp.
272
+ Hurry up.,hɹ̩i ʌp.
273
+ I agreed.,aj əɡɹid.
274
+ I agreed.,aj əɡɹid.
275
+ I agreed.,aj əɡɹid.
276
+ I am fat.,aj æm fæt.
277
+ I am old.,aj æm owld.
278
+ I ate it.,aj ejt ɪt.
279
+ I ate it.,aj ejt ɪt.
280
+ I can go.,aj kæn ɡow.
281
+ I did OK.,aj dɪd owkej.
282
+ I did it.,aj dɪd ɪt.
283
+ I failed.,aj fejld.
284
+ I forgot.,aj fɹ̩ɡɑt.
285
+ I get by.,aj ɡɛt baj.
286
+ I get it.,aj ɡɛt ɪt.
287
+ I got it.,aj ɡɑt ɪt.
288
+ I phoned.,aj fownd.
289
+ I refuse.,aj ɹɛfjus.
290
+ I resign.,aj ɹɪzajn.
291
+ I resign.,aj ɹɪzajn.
292
+ I saw it.,aj sɔ ɪt.
293
+ I smiled.,aj smajld.
294
+ I stayed.,aj stejd.
295
+ I talked.,aj tɔkt.
296
+ I talked.,aj tɔkt.
297
+ I talked.,aj tɔkt.
298
+ I talked.,aj tɔkt.
299
+ I use it.,aj jus ɪt.
300
+ I waited.,aj wejtəd.
301
+ I'll pay.,ɪl pej.
302
+ I'm back.,ɪm bæk.
303
+ I'm back.,ɪm bæk.
304
+ I'm bald.,ɪm bɔld.
305
+ I'm bald.,ɪm bɔld.
306
+ I'm calm.,ɪm kɑm.
307
+ I'm cool.,ɪm kul.
308
+ I'm done.,ɪm dʌn.
309
+ I'm easy.,ɪm izi.
310
+ I'm fair.,ɪm fɛɹ.
311
+ I'm fine.,ɪm fajn.
312
+ I'm free!,ɪm fɹi!
313
+ I'm free.,ɪm fɹi.
314
+ I'm full.,ɪm fʊl.
315
+ I'm full.,ɪm fʊl.
316
+ I'm full.,ɪm fʊl.
317
+ I'm here.,ɪm hɪɹ.
318
+ I'm home.,ɪm howm.
319
+ I'm hurt.,ɪm hɹ̩t.
320
+ I'm late.,ɪm lejt.
321
+ I'm lazy.,ɪm lejzi.
322
+ I'm lost.,ɪm lɔst.
323
+ I'm mean.,ɪm min.
324
+ I'm next.,ɪm nɛkst.
325
+ I'm okay.,ɪm owkej.
326
+ I'm poor.,ɪm pʊɹ.
327
+ I'm rich.,ɪm ɹɪt͡ʃ.
328
+ I'm rich.,ɪm ɹɪt͡ʃ.
329
+ I'm safe.,ɪm sejf.
330
+ I'm sick.,ɪm sɪk.
331
+ I'm thin.,ɪm θɪn.
332
+ I'm tidy.,ɪm tajdi.
333
+ I'm warm.,ɪm wɔɹm.
334
+ I'm weak.,ɪm wik.
335
+ I'm wise.,ɪm wajz.
336
+ I've won.,ɪv wʌn.
337
+ It helps.,ɪt hɛlps.
338
+ It hurts.,ɪt hɹ̩ts.
339
+ It works.,ɪt wɹ̩ks.
340
+ It's Tom.,ɪts tɑm.
341
+ It's fun.,ɪts fʌn.
342
+ It's his.,ɪts hɪz.
343
+ It's new.,ɪts nu.
344
+ It's odd.,ɪts ɑd.
345
+ It's old.,ɪts owld.
346
+ It's red.,ɪts ɹɛd.
347
+ It's sad.,ɪts sæd.
348
+ Keep out!,kip awt!
349
+ Keep out.,kip awt.
350
+ Kiss Tom.,kɪs tɑm.
351
+ Kiss Tom.,kɪs tɑm.
352
+ Kiss Tom.,kɪs tɑm.
353
+ Leave it.,liv ɪt.
354
+ Leave me.,liv mi.
355
+ Leave us.,liv ʌs.
356
+ Let's go!,lɛtz ɡow!
357
+ Let's go!,lɛtz ɡow!
358
+ Look out!,lʊk awt!
359
+ Marry me.,mɛɹi mi.
360
+ May I go?,mej aj ɡow?
361
+ Save Tom.,sejv tɑm.
362
+ She came.,ʃi kejm.
363
+ She died.,ʃi dajd.
364
+ She runs.,ʃi ɹʌnz.
365
+ Sit down!,sɪt dawn!
366
+ Sit down.,sɪt dawn.
367
+ Sit here.,sɪt hɪɹ.
368
+ Speak up!,spik ʌp!
369
+ Speak up!,spik ʌp!
370
+ Speak up!,spik ʌp!
371
+ Stand by.,stænd baj.
372
+ Stand by.,stænd baj.
373
+ Stand up!,stænd ʌp!
374
+ Stand up!,stænd ʌp!
375
+ Stay put.,stej pʊt.
376
+ Stop Tom.,stɑp tɑm.
377
+ Take Tom.,tejk tɑm.
378
+ Tell Tom.,tɛl tɑm.
379
+ Terrific!,tɹ̩ɪfɪk!
380
+ Terrific!,tɹ̩ɪfɪk!
381
+ They won.,ðej wʌn.
382
+ Tom came.,tɑm kejm.
383
+ Tom died.,tɑm dajd.
384
+ Tom fell.,tɑm fɛl.
385
+ Tom knew.,tɑm nu.
386
+ Tom knew.,tɑm nu.
387
+ Tom left.,tɑm lɛft.
388
+ Tom lied.,tɑm lajd.
389
+ Tom lies.,tɑm lajz.
390
+ Tom lost.,tɑm lɔst.
391
+ Tom paid.,tɑm pejd.
392
+ Tom quit.,tɑm kwɪt.
393
+ Tom swam.,tɑm swæm.
394
+ Tom wept.,tɑm wɛpt.
395
+ Tom's up.,tɑmz ʌp.
396
+ Too late.,tu lejt.
397
+ Trust me.,tɹʌst mi.
398
+ Try hard.,tɹaj hɑɹd.
399
+ Try some.,tɹaj sʌm.
400
+ Try some.,tɹaj sʌm.
401
+ Try some.,tɹaj sʌm.
402
+ Try this.,tɹaj ðɪs.
403
+ Try this.,tɹaj ðɪs.
404
+ Try this.,tɹaj ðɪs.
405
+ Use this.,jus ðɪs.
406
+ Warn Tom.,wɔɹn tɑm.
407
+ Warn Tom.,wɔɹn tɑm.
408
+ Warn Tom.,wɔɹn tɑm.
409
+ Warn Tom.,wɔɹn tɑm.
410
+ Watch me.,wɑt͡ʃ mi.
411
+ Watch me.,wɑt͡ʃ mi.
412
+ Watch me.,wɑt͡ʃ mi.
413
+ Watch us.,wɑt͡ʃ ʌs.
414
+ Watch us.,wɑt͡ʃ ʌs.
415
+ We agree.,wi əɡɹi.
416
+ We tried.,wi tɹajd.
417
+ We'll go.,wɛl ɡow.
418
+ We're OK.,wɛɹ owkej.
419
+ What for?,wʌt fɔɹ?
420
+ What fun!,wʌt fʌn!
421
+ Who am I?,hu æm aj?
422
+ Who came?,hu kejm?
423
+ Who died?,hu dajd?
424
+ Who fell?,hu fɛl?
425
+ Who fell?,hu fɛl?
426
+ Who quit?,hu kwɪt?
427
+ Who quit?,hu kwɪt?
428
+ Who swam?,hu swæm?
429
+ Who's he?,hɑz hi?
430
+ Write me.,ɹajt mi.
431
+ After you.,æftɹ̩ ju.
432
+ After you.,æftɹ̩ ju.
433
+ After you.,æftɹ̩ ju.
434
+ After you.,æftɹ̩ ju.
435
+ After you.,æftɹ̩ ju.
436
+ Aim. Fire!,ejm. fajɹ̩!
437
+ Answer me.,ænsɹ̩ mi.
438
+ Answer me.,ænsɹ̩ mi.
439
+ Answer me.,ænsɹ̩ mi.
440
+ Birds fly.,bɹ̩dz flaj.
441
+ Bless you.,blɛs ju.
442
+ Call home!,kɔl howm!
443
+ Calm down.,kɑm dawn.
444
+ Calm down.,kɑm dawn.
445
+ Calm down.,kɑm dawn.
446
+ Calm down.,kɑm dawn.
447
+ Can we go?,kæn wi ɡow?
448
+ Can we go?,kæn wi ɡow?
449
+ Can we go?,kæn wi ɡow?
450
+ Catch Tom.,kæt͡ʃ tɑm.
451
+ Catch him.,kæt͡ʃ hɪm.
452
+ Catch him.,kæt͡ʃ hɪm.
453
+ Catch him.,kæt͡ʃ hɪm.
454
+ Catch him.,kæt͡ʃ hɪm.
455
+ Come back.,kʌm bæk.
456
+ Come here.,kʌm hɪɹ.
457
+ Come here.,kʌm hɪɹ.
458
+ Come here.,kʌm hɪɹ.
459
+ Come home.,kʌm howm.
460
+ Come over.,kʌm owvɹ̩.
461
+ Come over.,kʌm owvɹ̩.
462
+ Come over.,kʌm owvɹ̩.
463
+ Come over.,kʌm owvɹ̩.
464
+ Come soon.,kʌm sun.
465
+ Do it now.,du ɪt naw.
466
+ Dogs bark.,dɑɡz bɑɹk.
467
+ Don't ask.,dɑnt æsk.
468
+ Don't cry.,dɑnt kɹaj.
469
+ Don't cry.,dɑnt kɹaj.
470
+ Don't cry.,dɑnt kɹaj.
471
+ Don't cry.,dɑnt kɹaj.
472
+ Don't lie.,dɑnt laj.
473
+ Don't run.,dɑnt ɹʌn.
474
+ Fantastic!,fæntæstɪk!
475
+ Fantastic!,fæntæstɪk!
476
+ Fantastic!,fæntæstɪk!
477
+ Feel this.,fil ðɪs.
478
+ Feel this.,fil ðɪs.
479
+ Feel this.,fil ðɪs.
480
+ Feel this.,fil ðɪs.
481
+ Feel this.,fil ðɪs.
482
+ Follow me.,fɑlow mi.
483
+ Follow me.,fɑlow mi.
484
+ Follow us.,fɑlow ʌs.
485
+ Forget it.,fɹ̩ɡɛt ɪt.
486
+ Forget me.,fɹ̩ɡɛt mi.
487
+ Forget me.,fɹ̩ɡɛt mi.
488
+ Forget me.,fɹ̩ɡɛt mi.
489
+ Forget me.,fɹ̩ɡɛt mi.
490
+ Get ready.,ɡɛt ɹɛdi.
491
+ Go for it.,ɡow fɔɹ ɪt.
492
+ Go for it.,ɡow fɔɹ ɪt.
493
+ Go get it.,ɡow ɡɛt ɪt.
494
+ Go get it.,ɡow ɡɛt ɪt.
495
+ Go get it.,ɡow ɡɛt ɪt.
496
+ Go inside.,ɡow ɪnsajd.
497
+ Go to bed.,ɡow tə bɛd.
498
+ Grab that.,ɡɹæb ðæt.
499
+ Grab this.,ɡɹæb ðɪs.
500
+ Have some.,hæv sʌm.
501
+ Have some.,hæv sʌm.
502
+ Have some.,hæv sʌm.
503
+ He is old.,hi ɪz owld.
504
+ He is old.,hi ɪz owld.
505
+ He shaved.,hi ʃejvd.
506
+ He smiled.,hi smajld.
507
+ He's a DJ.,hɛz ə .
508
+ He's fast.,hɛz fæst.
509
+ He's good.,hɛz ɡʊd.
510
+ He's rich.,hɛz ɹɪt͡ʃ.
511
+ He's rich.,hɛz ɹɪt͡ʃ.
512
+ Here I am.,hɪɹ aj æm.
513
+ Hold this.,howld ðɪs.
514
+ How awful!,haw ɑfəl!
515
+ How weird!,haw wɪɹd!
516
+ How's Tom?,hawz tɑm?
517
+ Humor Tom.,hjumɹ̩ tɑm.
518
+ I am busy.,aj æm bɪzi.
519
+ I am full.,aj æm fʊl.
520
+ I am full.,aj æm fʊl.
521
+ I am good.,aj æm ɡʊd.
522
+ I am here.,aj æm hɪɹ.
523
+ I am sick.,aj æm sɪk.
524
+ I am weak.,aj æm wik.
525
+ I beg you.,aj bɛɡ ju.
526
+ I beg you.,aj bɛɡ ju.
527
+ I can fly.,aj kæn flaj.
528
+ I can run.,aj kæn ɹʌn.
529
+ I can run.,aj kæn ɹʌn.
530
+ I can ski.,aj kæn ski.
531
+ I cringed.,aj kɹɪnd͡ʒd.
532
+ I fainted.,aj fejntɪd.
533
+ I fainted.,aj fejntɪd.
534
+ I gave up.,aj ɡejv ʌp.
535
+ I gave up.,aj ɡejv ʌp.
536
+ I gave up.,aj ɡejv ʌp.
537
+ I gave up.,aj ɡejv ʌp.
538
+ I get you.,aj ɡɛt ju.
539
+ I get you.,aj ɡɛt ju.
540
+ I get you.,aj ɡɛt ju.
541
+ I got hit.,aj ɡɑt hɪt.
542
+ I got hit.,aj ɡɑt hɪt.
543
+ I hate it.,aj hejt ɪt.
544
+ I hate it.,aj hejt ɪt.
545
+ I hate it.,aj hejt ɪt.
546
+ I hit Tom.,aj hɪt tɑm.
547
+ I hope so.,aj howp sow.
548
+ I knew it.,aj nu ɪt.
549
+ I laughed.,aj læft.
550
+ I like it.,aj lajk ɪt.
551
+ I love it!,aj lʌv ɪt!
552
+ I love it.,aj lʌv ɪt.
553
+ I mean it!,aj min ɪt!
554
+ I mean it.,aj min ɪt.
555
+ I mean it.,aj min ɪt.
556
+ I miss it.,aj mɪs ɪt.
557
+ I miss it.,aj mɪs ɪt.
558
+ I miss it.,aj mɪs ɪt.
559
+ I need it.,aj nid ɪt.
560
+ I saw Tom.,aj sɔ tɑm.
561
+ I saw him.,aj sɔ hɪm.
562
+ I saw him.,aj sɔ hɪm.
563
+ I saw one.,aj sɔ wʌn.
564
+ I saw one.,aj sɔ wʌn.
565
+ I saw one.,aj sɔ wʌn.
566
+ I saw you.,aj sɔ ju.
567
+ I saw you.,aj sɔ ju.
568
+ I see Tom.,aj si tɑm.
569
+ I tripped.,aj tɹɪpt.
570
+ I'll cook.,ɪl kʊk.
571
+ I'll cook.,ɪl kʊk.
572
+ I'll live.,ɪl lajv.
573
+ I'll sing.,ɪl sɪŋ.
574
+ I'll stop.,ɪl stɑp.
575
+ I'll stop.,ɪl stɑp.
576
+ I'll wait.,ɪl wejt.
577
+ I'll wait.,ɪl wejt.
578
+ I'll walk.,ɪl wɔk.
579
+ I'll walk.,ɪl wɔk.
580
+ I'll work.,ɪl wɹ̩k.
581
+ I'm a man.,ɪm ə mæn.
582
+ I'm a pro.,ɪm ə pɹow.
583
+ I'm alone.,ɪm əlown.
584
+ I'm alone.,ɪm əlown.
585
+ I'm alone.,ɪm əlown.
586
+ I'm alone.,ɪm əlown.
587
+ I'm angry.,ɪm æŋɡɹi.
588
+ I'm angry.,ɪm æŋɡɹi.
589
+ I'm awake.,ɪm əwejk.
590
+ I'm blind.,ɪm blajnd.
591
+ I'm broke.,ɪm bɹowk.
592
+ I'm broke.,ɪm bɹowk.
593
+ I'm broke.,ɪm bɹowk.
594
+ I'm broke.,ɪm bɹowk.
595
+ I'm crazy.,ɪm kɹejzi.
596
+ I'm drunk.,ɪm dɹʌŋk.
597
+ I'm drunk.,ɪm dɹʌŋk.
598
+ I'm drunk.,ɪm dɹʌŋk.
599
+ I'm dying.,ɪm dajɪŋ.
600
+ I'm first.,ɪm fɹ̩st.
601
+ I'm first.,ɪm fɹ̩st.
602
+ I'm first.,ɪm fɹ̩st.
603
+ I'm first.,ɪm fɹ̩st.
604
+ I'm happy.,ɪm hæpi.
605
+ I'm happy.,ɪm hæpi.
606
+ I'm loved.,ɪm lʌvd.
607
+ I'm loved.,ɪm lʌvd.
608
+ I'm obese.,ɪm owbis.
609
+ I'm ready.,ɪm ɹɛdi.
610
+ I'm sorry.,ɪm sɑɹi.
611
+ I'm tired.,ɪm tajɹ̩d.
612
+ I'm tired.,ɪm tajɹ̩d.
613
+ I'm yours.,ɪm jʊɹz.
614
+ I'm yours.,ɪm jʊɹz.
615
+ I'm yours.,ɪm jʊɹz.
616
+ I've lost.,ɪv lɔst.
617
+ Ignore it.,ɪɡnɔɹ ɪt.
618
+ Ignore it.,ɪɡnɔɹ ɪt.
619
+ Is Tom OK?,ɪz tɑm owkej?
620
+ Is Tom in?,ɪz tɑm ɪn?
621
+ Is it bad?,ɪz ɪt bæd?
622
+ Is it bad?,ɪz ɪt bæd?
623
+ Is it far?,ɪz ɪt fɑɹ?
624
+ Is it you?,ɪz ɪt ju?
625
+ It burned.,ɪt bɹ̩nd.
626
+ It failed.,ɪt fejld.
627
+ It failed.,ɪt fejld.
628
+ It failed.,ɪt fejld.
629
+ It is new.,ɪt ɪz nu.
630
+ It rained.,ɪt ɹejnd.
631
+ It snowed.,ɪt snowd.
632
+ It stinks.,ɪt stɪŋks.
633
+ It worked.,ɪt wɹ̩kt.
634
+ It's 3:10.,ɪts 3:10.
635
+ It's 8:30.,ɪts 8:30.
636
+ It's a TV.,ɪts ə tv.
637
+ It's cold.,ɪts kowld.
638
+ It's cold.,ɪts kowld.
639
+ It's cool.,ɪts kul.
640
+ It's cool.,ɪts kul.
641
+ It's dark.,ɪts dɑɹk.
642
+ It's done!,ɪts dʌn!
643
+ It's fine.,ɪts fajn.
644
+ It's good.,ɪts ɡʊd.
645
+ It's good.,ɪts ɡʊd.
646
+ It's here.,ɪts hɪɹ.
647
+ It's hers.,ɪts hɹ̩z.
648
+ It's late.,ɪts lejt.
649
+ It's mine.,ɪts majn.
650
+ It's mine.,ɪts majn.
651
+ It's nice.,ɪts najs.
652
+ It's nice.,ɪts najs.
653
+ It's okay.,ɪts owkej.
654
+ It's okay.,ɪts owkej.
655
+ It's ours.,ɪts awɹ̩z.
656
+ It's ours.,ɪts awɹ̩z.
657
+ It's over.,ɪts owvɹ̩.
658
+ It's over.,ɪts owvɹ̩.
659
+ It's time.,ɪts tajm.
660
+ It's time.,ɪts tajm.
661
+ It's time.,ɪts tajm.
662
+ It's time.,ɪts tajm.
663
+ It's true!,ɪts tɹu!
664
+ It's true.,ɪts tɹu.
665
+ It's work.,ɪts wɹ̩k.
666
+ Keep them.,kip ðɛm.
667
+ Keep them.,kip ðɛm.
668
+ Keep them.,kip ðɛm.
669
+ Keep this.,kip ðɪs.
670
+ Keep this.,kip ðɪs.
671
+ Keep this.,kip ðɪs.
672
+ Keep this.,kip ðɪs.
673
+ Keep this.,kip ðɪs.
674
+ Keep warm.,kip wɔɹm.
675
+ Keep warm.,kip wɔɹm.
676
+ Keep warm.,kip wɔɹm.
677
+ Keep warm.,kip wɔɹm.
678
+ Keep warm.,kip wɔɹm.
679
+ Keep warm.,kip wɔɹm.
680
+ Keep warm.,kip wɔɹm.
681
+ Keep warm.,kip wɔɹm.
682
+ Leave Tom.,liv tɑm.
683
+ Leave Tom.,liv tɑm.
684
+ Leave Tom.,liv tɑm.
685
+ Leave now.,liv naw.
686
+ Leave now.,liv naw.
687
+ Leave now.,liv naw.
688
+ Let me go!,lɛt mi ɡow!
689
+ Let me go!,lɛt mi ɡow!
690
+ Let me go!,lɛt mi ɡow!
691
+ Let me go.,lɛt mi ɡow.
692
+ Let me in.,lɛt mi ɪn.
693
+ Let me in.,lɛt mi ɪn.
694
+ Let us in.,lɛt ʌs ɪn.
695
+ Let's eat.,lɛtz it.
696
+ Let's see.,lɛtz si.
697
+ Let's try!,lɛtz tɹaj!
698
+ Lie still.,laj stɪl.
699
+ Lie still.,laj stɪl.
700
+ Listen up.,lɪsən ʌp.
701
+ Look away.,lʊk əwej.
702
+ Look away.,lʊk əwej.
703
+ Look away.,lʊk əwej.
704
+ Look away.,lʊk əwej.
705
+ Look back!,lʊk bæk!
706
+ Look back.,lʊk bæk.
707
+ Look back.,lʊk bæk.
708
+ Look back.,lʊk bæk.
709
+ Look here.,lʊk hɪɹ.
710
+ Look here.,lʊk hɪɹ.
711
+ Look here.,lʊk hɪɹ.
712
+ Loosen it.,lusən ɪt.
713
+ Loosen it.,lusən ɪt.
714
+ Loosen it.,lusən ɪt.
715
+ Loosen it.,lusən ɪt.
716
+ Move over.,muv owvɹ̩.
717
+ Move over.,muv owvɹ̩.
718
+ Move over.,muv owvɹ̩.
719
+ Move over.,muv owvɹ̩.
720
+ Nice shot!,najs ʃɑt!
721
+ Of course!,ʌv kɔɹs!
722
+ Open fire!,owpən fajɹ̩!
723
+ Open fire!,owpən fajɹ̩!
724
+ Pardon me?,pɑɹdən mi?
725
+ Please go.,pliz ɡow.
726
+ Please go.,pliz ɡow.
727
+ Please go.,pliz ɡow.
728
+ Please go.,pliz ɡow.
729
+ Put it on.,pʊt ɪt ɑn.
730
+ Put it on.,pʊt ɪt ɑn.
731
+ Read this.,ɹɛd ðɪs.
732
+ Read this.,ɹɛd ðɪs.
733
+ Read this.,ɹɛd ðɪs.
734
+ Read this.,ɹɛd ðɪs.
735
+ Say hello.,sej həlow.
736
+ Search me.,sɹ̩t͡ʃ mi.
737
+ See above.,si əbʌv.
738
+ See above.,si əbʌv.
739
+ Seize him!,siz hɪm!
740
+ Seize him!,siz hɪm!
741
+ Seize him!,siz hɪm!
742
+ Seize him!,siz hɪm!
743
+ Seize him!,siz hɪm!
744
+ Seriously?,sɪɹiəsli?
745
+ She tried.,ʃi tɹajd.
746
+ She tried.,ʃi tɹajd.
747
+ She walks.,ʃi wɔks.
748
+ She walks.,ʃi wɔks.
749
+ She walks.,ʃi wɔks.
750
+ She's hot.,ʃɛz hɑt.
751
+ She's hot.,ʃɛz hɑt.
752
+ She's hot.,ʃɛz hɑt.
753
+ She's hot.,ʃɛz hɑt.
754
+ She's hot.,ʃɛz hɑt.
755
+ Sign here.,sajn hɪɹ.
756
+ Sign this.,sajn ðɪs.
757
+ Sign this.,sajn ðɪs.
758
+ Sign this.,sajn ðɪs.
759
+ Sign this.,sajn ðɪs.
760
+ Sign this.,sajn ðɪs.
761
+ Sit still.,sɪt stɪl.
762
+ Sit still.,sɪt stɪl.
763
+ Sit there.,sɪt ðɛɹ.
764
+ Sit tight.,sɪt tajt.
765
+ Slow down.,slow dawn.
766
+ Slow down.,slow dawn.
767
+ Stay away.,stej əwej.
768
+ Stay away.,stej əwej.
769
+ Stay calm.,stej kɑm.
770
+ Stay calm.,stej kɑm.
771
+ Stay here.,stej hɪɹ.
772
+ Step back.,stɛp bæk.
773
+ Stop here.,stɑp hɪɹ.
774
+ Stop here.,stɑp hɪɹ.
775
+ Stop here.,stɑp hɪɹ.
776
+ Stop here.,stɑp hɪɹ.
777
+ Stop here.,stɑp hɪɹ.
778
+ Stop here.,stɑp hɪɹ.
779
+ Stop here.,stɑp hɪɹ.
780
+ Stop that.,stɑp ðæt.
781
+ Stop them.,stɑp ðɛm.
782
+ Stop them.,stɑp ðɛm.
783
+ Take care!,tejk kɛɹ!
784
+ Take care!,tejk kɛɹ!
785
+ Take care.,tejk kɛɹ.
786
+ Take care.,tejk kɛɹ.
787
+ Take mine.,tejk majn.
788
+ Take mine.,tejk majn.
789
+ Take over.,tejk owvɹ̩.
790
+ Take over.,tejk owvɹ̩.
791
+ Take over.,tejk owvɹ̩.
792
+ Take this.,tejk ðɪs.
793
+ Take this.,tejk ðɪs.
794
+ Take this.,tejk ðɪs.
795
+ Take this.,tejk ðɪs.
796
+ Thank you.,θæŋk ju.
797
+ Thank you.,θæŋk ju.
798
+ Thank you.,θæŋk ju.
799
+ That's it.,θætz ɪt.
800
+ That's me.,θætz mi.
801
+ That's me.,θætz mi.
802
+ Then what?,ðɛn wʌt?
803
+ They fell.,ðej fɛl.
804
+ They left.,ðej lɛft.
805
+ They left.,ðej lɛft.
806
+ They left.,ðej lɛft.
807
+ They lost.,ðej lɔst.
808
+ Tom bowed.,tɑm bawd.
809
+ Tom cared.,tɑm kɛɹd.
810
+ Tom cared.,tɑm kɛɹd.
811
+ Tom cared.,tɑm kɛɹd.
812
+ Tom cares.,tɑm kɛɹz.
813
+ Tom cares.,tɑm kɛɹz.
814
+ Tom cried.,tɑm kɹajd.
815
+ Tom dozed.,tɑm dowzd.
816
+ Tom drove.,tɑm dɹowv.
817
+ Tom is OK.,tɑm ɪz owkej.
818
+ Tom is in.,tɑm ɪz ɪn.
819
+ Tom is up.,tɑm ɪz ʌp.
820
+ Tom knits.,tɑm nɪts.
821
+ Tom knows.,tɑm nowz.
822
+ Tom moved.,tɑm muvd.
823
+ Tom moved.,tɑm muvd.
824
+ Tom rocks.,tɑm ɹɑks.
825
+ Tom stood.,tɑm stʊd.
826
+ Tom swims.,tɑm swɪmz.
827
+ Tom swore.,tɑm swɔɹ.
828
+ Tom tried.,tɑm tɹajd.
829
+ Tom tries.,tɑm tɹajz.
830
+ Tom voted.,tɑm vowtəd.
831
+ Tom walks.,tɑm wɔks.
832
+ Tom waved.,tɑm wejvd.
833
+ Tom works.,tɑm wɹ̩ks.
834
+ Tom'll go.,tɑml ɡow.
835
+ Tom's fat.,tɑmz fæt.
836
+ Tom's mad.,tɑmz mæd.
837
+ Tom's sad.,tɑmz sæd.
838
+ Tom's shy.,tɑmz ʃaj.
839
+ Trust Tom.,tɹʌst tɑm.
840
+ Try again.,tɹaj əɡɛn.
841
+ Try again.,tɹaj əɡɛn.
842
+ Try again.,tɹaj əɡɛn.
843
+ Try it on.,tɹaj ɪt ɑn.
844
+ Wait here.,wejt hɪɹ.
845
+ Wait here.,wejt hɪɹ.
846
+ Wait here.,wejt hɪɹ.
847
+ Wait here.,wejt hɪɹ.
848
+ Watch Tom.,wɑt͡ʃ tɑm.
849
+ Watch out!,wɑt͡ʃ awt!
850
+ We can go.,wi kæn ɡow.
851
+ We can go.,wi kæn ɡow.
852
+ We can go.,wi kæn ɡow.
853
+ We failed.,wi fejld.
854
+ We failed.,wi fejld.
855
+ We forgot.,wi fɹ̩ɡɑt.
856
+ We saw it.,wi sɔ ɪt.
857
+ We saw it.,wi sɔ ɪt.
858
+ We talked.,wi tɔkt.
859
+ We waited.,wi wejtəd.
860
+ We'll see.,wɛl si.
861
+ We'll see.,wɛl si.
862
+ We'll try.,wɛl tɹaj.
863
+ We've won!,wɛv wʌn!
864
+ What's up?,wætz ʌp?
865
+ Who cares?,hu kɛɹz?
866
+ Who is he?,hu ɪz hi?
867
+ Who is it?,hu ɪz ɪt?
868
+ Who knows?,hu nowz?
869
+ Who stood?,hu stʊd?
870
+ Who'll go?,həl ɡow?
871
+ Who's Tom?,hɑz tɑm?
872
+ Write Tom.,ɹajt tɑm.
873
+ You drive.,ju dɹajv.
874
+ You start.,ju stɑɹt.
875
+ You tried.,ju tɹajd.
876
+ You're OK.,jɹ owkej.
877
+ You're OK.,jɹ owkej.
878
+ Aim higher.,ejm hajɹ̩.
879
+ Aim higher.,ejm hajɹ̩.
880
+ All aboard!,ɔl əbɔɹd!
881
+ Am I right?,æm aj ɹajt?
882
+ Am I wrong?,æm aj ɹɔŋ?
883
+ Am I wrong?,æm aj ɹɔŋ?
884
+ Answer Tom.,ænsɹ̩ tɑm.
885
+ Answer Tom.,ænsɹ̩ tɑm.
886
+ Answer Tom.,ænsɹ̩ tɑm.
887
+ Are you 18?,ɑɹ ju 18?
888
+ Are you 18?,ɑɹ ju 18?
889
+ Are you OK?,ɑɹ ju owkej?
890
+ Are you in?,ɑɹ ju ɪn?
891
+ Are you in?,ɑɹ ju ɪn?
892
+ Are you up?,ɑɹ ju ʌp?
893
+ Ask anyone.,æsk ɛniwʌn.
894
+ Ask anyone.,æsk ɛniwʌn.
895
+ Ask anyone.,æsk ɛniwʌn.
896
+ Ask anyone.,æsk ɛniwʌn.
897
+ Ask around.,æsk ɹ̩awnd.
898
+ Ask around.,æsk ɹ̩awnd.
899
+ Be careful.,bi kɛɹfəl.
900
+ Be careful.,bi kɛɹfəl.
901
+ Be content.,bi kɑntɛnt.
902
+ Be on time.,bi ɑn tajm.
903
+ Be on time.,bi ɑn tajm.
904
+ Be patient.,bi pejʃənt.
905
+ Be serious.,bi sɪɹiəs.
906
+ Birds sing.,bɹ̩dz sɪŋ.
907
+ Birds sing.,bɹ̩dz sɪŋ.
908
+ Bring food.,bɹɪŋ fud.
909
+ Bring help.,bɹɪŋ hɛlp.
910
+ Bring wine.,bɹɪŋ wajn.
911
+ Can I come?,kæn aj kʌm?
912
+ Can I come?,kæn aj kʌm?
913
+ Can I come?,kæn aj kʌm?
914
+ Can I help?,kæn aj hɛlp?
915
+ Can I stay?,kæn aj stej?
916
+ Carry this.,kæɹi ðɪs.
917
+ Check that.,t͡ʃɛk ðæt.
918
+ Check this.,t͡ʃɛk ðɪs.
919
+ Choose one.,t͡ʃuz wʌn.
920
+ Come again.,kʌm əɡɛn.
921
+ Come alone.,kʌm əlown.
922
+ Come along.,kʌm əlɔŋ.
923
+ Come along.,kʌm əlɔŋ.
924
+ Come early.,kʌm ɹ̩li.
925
+ Come early.,kʌm ɹ̩li.
926
+ Come early.,kʌm ɹ̩li.
927
+ Come early.,kʌm ɹ̩li.
928
+ Come on in!,kʌm ɑn ɪn!
929
+ Come on in!,kʌm ɑn ɪn!
930
+ Come on in!,kʌm ɑn ɪn!
931
+ Come on in.,kʌm ɑn ɪn.
932
+ Come on in.,kʌm ɑn ɪn.
933
+ Come quick!,kʌm kwɪk!
934
+ Come quick!,kʌm kwɪk!
935
+ Come to me.,kʌm tə mi.
936
+ Come to me.,kʌm tə mi.
937
+ Come to us.,kʌm tə ʌs.
938
+ Come to us.,kʌm tə ʌs.
939
+ Cut it out!,kʌt ɪt awt!
940
+ Did Tom go?,dɪd tɑm ɡow?
941
+ Do come in!,du kʌm ɪn!
942
+ Do come in!,du kʌm ɪn!
943
+ Do come in!,du kʌm ɪn!
944
+ Do come in.,du kʌm ɪn.
945
+ Do come in.,du kʌm ɪn.
946
+ Do come in.,du kʌm ɪn.
947
+ Do come in.,du kʌm ɪn.
948
+ Do men cry?,du mɛn kɹaj?
949
+ Don't come.,dɑnt kʌm.
950
+ Don't jump!,dɑnt d͡ʒʌmp!
951
+ Don't look.,dɑnt lʊk.
952
+ Don't move!,dɑnt muv!
953
+ Don't move.,dɑnt muv.
954
+ Don't move.,dɑnt muv.
955
+ Don't move.,dɑnt muv.
956
+ Don't sing.,dɑnt sɪŋ.
957
+ Don't sing.,dɑnt sɪŋ.
958
+ Don't stop.,dɑnt stɑp.
959
+ Don't talk!,dɑnt tɔk!
960
+ Don't talk.,dɑnt tɔk.
961
+ Don't wait.,dɑnt wejt.
962
+ Don't wait.,dɑnt wejt.
963
+ Don't wait.,dɑnt wejt.
964
+ Don't yell.,dɑnt jɛl.
965
+ Eat slowly.,it slowli.
966
+ Eat slowly.,it slowli.
967
+ Fire burns.,fajɹ̩ bɹ̩nz.
968
+ Follow Tom.,fɑlow tɑm.
969
+ Follow Tom.,fɑlow tɑm.
970
+ Follow Tom.,fɑlow tɑm.
971
+ Follow Tom.,fɑlow tɑm.
972
+ Follow him.,fɑlow hɪm.
973
+ Follow him.,fɑlow hɪm.
974
+ Forget Tom.,fɹ̩ɡɛt tɑm.
975
+ Forget Tom.,fɹ̩ɡɛt tɑm.
976
+ Forget Tom.,fɹ̩ɡɛt tɑm.
977
+ Forget him.,fɹ̩ɡɛt hɪm.
978
+ Forgive us.,fɹ̩ɡɪv ʌs.
979
+ Forgive us.,fɹ̩ɡɪv ʌs.
980
+ Get a life.,ɡɛt ə lajf.
981
+ Get inside.,ɡɛt ɪnsajd.
982
+ Get to bed.,ɡɛt tə bɛd.
983
+ Give it up.,ɡɪv ɪt ʌp.
984
+ Go on home.,ɡow ɑn howm.
985
+ Go on home.,ɡow ɑn howm.
986
+ Go see Tom.,ɡow si tɑm.
987
+ Go to work.,ɡow tə wɹ̩k.
988
+ God exists.,ɡɑd ɪɡzɪsts.
989
+ Have faith.,hæv fejθ.
990
+ Have faith.,hæv fejθ.
991
+ Have faith.,hæv fejθ.
992
+ Have faith.,hæv fejθ.
993
+ He ate out.,hi ejt awt.
994
+ He coughed.,hi kɔft.
995
+ He gave in.,hi ɡejv ɪn.
996
+ He gave up.,hi ɡejv ʌp.
997
+ He gave up.,hi ɡejv ʌp.
998
+ He gave up.,hi ɡejv ʌp.
999
+ He gave up.,hi ɡejv ʌp.
1000
+ He hung up.,hi hʌŋ ʌp.
examples/piglattin/pig_lattin.csv ADDED
The diff for this file is too large to render. See raw diff
 
examples/piglattin/prepare_training_data.py ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ alphabet = "abcdefghijklmnopqrstuvwxyz"
2
+ vowels = "aeoiu"
3
+
4
+ def english_to_piglattin( english ):
5
+
6
+ piglattin = ""
7
+
8
+ in_word = False
9
+ is_first = False
10
+ start = None
11
+ for char in english:
12
+ if not in_word:
13
+ if char in alphabet + alphabet.upper():
14
+ in_word = True
15
+
16
+ if char in vowels + vowels.upper():
17
+ start = None
18
+ piglattin += char
19
+ else:
20
+ start = char
21
+ is_first = True
22
+ else:
23
+ piglattin += char
24
+ else: #if in_word
25
+ if char in alphabet + alphabet.upper():
26
+ if is_first:
27
+ is_first = False
28
+ if start in alphabet.upper():
29
+ piglattin += char.upper()
30
+ else:
31
+ piglattin += char
32
+ else:
33
+ piglattin += char
34
+ else:
35
+ in_word = False
36
+ is_first = False
37
+ if start:
38
+ piglattin += start.lower() + "ay" + char
39
+ else:
40
+ piglattin += "yay" + char
41
+
42
+ #end of sentance needs done as well.
43
+ if in_word:
44
+ if start:
45
+ piglattin += start.lower() + "ay"
46
+ else:
47
+ piglattin += "yay"
48
+ return piglattin
49
+
50
+
51
+ def main():
52
+ with open( "spa.csv", "rt" ) as fin:
53
+ with open( "pig_lattin.csv", "wt" ) as f_out:
54
+ f_out.write( "English,Piglattin\n" )
55
+ for line in fin:
56
+ english = line.split( "\t" )[0]
57
+ english = english.replace( ",", " " )
58
+ piglattin = english_to_piglattin( english )
59
+
60
+ f_out.write( f"{english},{piglattin}\n" )
61
+
62
+ if __name__ == '__main__':
63
+ main()
64
+
65
+ # print( english_to_piglattin( "I am not a potato." ) )
66
+ # print( english_to_piglattin( "I am not a potato" ) )
67
+ # print( english_to_piglattin( "I like chicken." ) )
68
+ # print( english_to_piglattin( "Do you know your a b c's?" ) )
69
+ # print( english_to_piglattin( "My name is Joshua." ) )
examples/piglattin/spa.csv ADDED
The diff for this file is too large to render. See raw diff
 
transmorgrify.py ADDED
@@ -0,0 +1,382 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+ import argparse
3
+ import json
4
+ import os
5
+ import zipfile
6
+
7
+ import pandas as pd
8
+ from catboost import CatBoostClassifier, Pool
9
+
10
+ MATCH = 0
11
+ DELETE_FROM = 1
12
+ INSERT_TO = 2
13
+ START = 3
14
+
15
+
16
+
17
+ def _list_trace( trace ):
18
+ if trace.parrent is None:
19
+ result = [trace]
20
+ else:
21
+ result = _list_trace( trace.parrent )
22
+ result.append( trace )
23
+ return result
24
+
25
+ class _edit_trace_hop():
26
+ parrent = None
27
+ edit_distance = None
28
+ char = None
29
+ from_row_i = None
30
+ to_column_i = None
31
+ action = None
32
+
33
+ def __str__( self ):
34
+ if self.action == START:
35
+ return "<start>"
36
+ elif self.action == INSERT_TO:
37
+ return f"<ins> {self.char}"
38
+ elif self.action == DELETE_FROM:
39
+ return f"<del> {self.char}"
40
+ elif self.action == MATCH:
41
+ return f"<match> {self.char}"
42
+ return "eh?"
43
+
44
+ def __repr__( self ):
45
+ return self.__str__()
46
+
47
+ def _trace_edits( from_sentance, to_sentance, print_debug=False ):
48
+ #iterating from will be the rows down the left side.
49
+ #iterating to will be the columns across the top.
50
+ #we will keep one row as we work on the next.
51
+
52
+ last_row = None
53
+ current_row = []
54
+
55
+ #the index handles one before the index in the string
56
+ #to handle the root cases across the top and down the left of the
57
+ #match matrix.
58
+ for from_row_i in range( len(from_sentance)+1 ):
59
+
60
+ for to_column_i in range( len(to_sentance )+1 ):
61
+
62
+ best_option = None
63
+
64
+ #root case.
65
+ if from_row_i == 0 and to_column_i == 0:
66
+ best_option = _edit_trace_hop()
67
+ best_option.parrent = None
68
+ best_option.edit_distance = 0
69
+ best_option.char = ""
70
+ best_option.from_row_i = from_row_i
71
+ best_option.to_column_i = to_column_i
72
+ best_option.action = START
73
+
74
+ #check left
75
+ if to_column_i > 0:
76
+ if best_option is None or current_row[to_column_i-1].edit_distance + 1 < best_option.edit_distance:
77
+ best_option = _edit_trace_hop()
78
+ best_option.parrent = current_row[to_column_i-1]
79
+ best_option.edit_distance = best_option.parrent.edit_distance + 1
80
+ best_option.char = to_sentance[to_column_i-1]
81
+ best_option.from_row_i = from_row_i
82
+ best_option.to_column_i = to_column_i
83
+ best_option.action = INSERT_TO
84
+
85
+ #check up
86
+ if from_row_i > 0:
87
+ if best_option is None or last_row[to_column_i].edit_distance + 1 < best_option.edit_distance:
88
+ best_option = _edit_trace_hop()
89
+ best_option.parrent = last_row[to_column_i]
90
+ best_option.edit_distance = best_option.parrent.edit_distance + 1
91
+ best_option.char = from_sentance[from_row_i-1]
92
+ best_option.from_row_i = from_row_i
93
+ best_option.to_column_i = to_column_i
94
+ best_option.action = DELETE_FROM
95
+
96
+ #check match
97
+ if to_column_i > 0:
98
+ if to_sentance[to_column_i-1] == from_sentance[from_row_i-1]:
99
+ if best_option is None or last_row[to_column_i-1].edit_distance <= best_option.edit_distance: #prefer match so use <= than <
100
+ best_option = _edit_trace_hop()
101
+ best_option.parrent = last_row[to_column_i-1]
102
+ best_option.edit_distance = best_option.parrent.edit_distance + 1
103
+ best_option.char = from_sentance[from_row_i-1]
104
+ best_option.from_row_i = from_row_i
105
+ best_option.to_column_i = to_column_i
106
+ best_option.action = MATCH
107
+
108
+ if best_option is None: raise Exception( "Shouldn't end up with best_option being None" )
109
+ current_row.append(best_option)
110
+
111
+ last_row = current_row
112
+ current_row = []
113
+
114
+ if print_debug:
115
+ def print_diffs( current_node ):
116
+ if current_node.parrent is not None:
117
+ print_diffs( current_node.parrent )
118
+
119
+ if current_node.action == START:
120
+ print( "start" )
121
+ elif current_node.action == MATCH:
122
+ print( f"match {current_node.char}" )
123
+ elif current_node.action == INSERT_TO:
124
+ print( f"insert {current_node.char}" )
125
+ elif current_node.action == DELETE_FROM:
126
+ print( f"del {current_node.char}" )
127
+ print_diffs( last_row[-1] )
128
+ return last_row[-1]
129
+
130
+
131
+ def _parse_single_for_training( from_sentance, to_sentance, num_pre_context_chars, num_post_context_chars ):
132
+ trace = _trace_edits( from_sentance, to_sentance )
133
+
134
+ #we will collect a snapshot at each step.
135
+ trace_list = _list_trace(trace)
136
+
137
+
138
+ training_collection = []
139
+
140
+ #execute these things on the from_sentance and see if we get the to_sentance.
141
+ working_from = from_sentance
142
+ working_to = ""
143
+ used_from = ""
144
+ continuous_added = 0
145
+ continuous_dropped = 0
146
+ for thing in trace_list:
147
+ #gather action and context for training
148
+ if thing.action != START:
149
+ from_context = (working_from + (" " * num_post_context_chars))[:num_post_context_chars]
150
+ to_context = ((" " * num_pre_context_chars) + working_to )[-num_pre_context_chars:]
151
+ used_context = ((" " * num_pre_context_chars) + used_from )[-num_pre_context_chars:]
152
+
153
+ training_collection.append({
154
+ "from_context": from_context,
155
+ "to_context": to_context,
156
+ "used_context": used_context,
157
+ "action": thing.action,
158
+ "continuous_added": continuous_added,
159
+ "continuous_dropped": continuous_dropped,
160
+ "char": thing.char if thing.action == INSERT_TO else ' ',
161
+ })
162
+
163
+ #now execute the action for the next step.
164
+ if thing.action == START:
165
+ pass
166
+ elif thing.action == INSERT_TO:
167
+ working_to += thing.char
168
+ continuous_added += 1
169
+ continuous_dropped = 0
170
+ elif thing.action == DELETE_FROM:
171
+ used_from += working_from[0]
172
+ working_from = working_from[1:]
173
+ continuous_added = 0
174
+ continuous_dropped += 1
175
+ elif thing.action == MATCH:
176
+ used_from += working_from[0]
177
+ working_to += working_from[0]
178
+ working_from = working_from[1:]
179
+ continuous_added = 0
180
+ continuous_dropped = 0
181
+
182
+
183
+ if to_sentance != working_to:
184
+ print( "Replay failure" )
185
+
186
+ #so now I have training_collection which is a list of dictionaries where each dictionary is an action with a context.
187
+ #I need to change it into a dictionary of lists where each dictionary a column and the lists are the rows.
188
+ context_split_into_dict = {}
189
+
190
+ #first collect the from_context:
191
+ for i in range( num_post_context_chars ):
192
+ this_slice = []
193
+ for training in training_collection:
194
+ this_slice.append( training['from_context'][i] )
195
+ context_split_into_dict[ f"f{i}" ] = this_slice
196
+
197
+ #now collect to_context:
198
+ for i in range( num_pre_context_chars ):
199
+ this_slice = []
200
+ for training in training_collection:
201
+ this_slice.append( training['to_context'][i] )
202
+ context_split_into_dict[ f"t{i}" ] = this_slice
203
+
204
+ #now collect used_context
205
+ for i in range( num_pre_context_chars ):
206
+ this_slice = []
207
+ for training in training_collection:
208
+ this_slice.append( training['used_context'][i] )
209
+ context_split_into_dict[ f"u{i}" ] = this_slice
210
+
211
+
212
+ #now these two things.
213
+ context_split_into_dict["continuous_added"] = []
214
+ context_split_into_dict["continuous_dropped"] = []
215
+ for training in training_collection:
216
+ context_split_into_dict["continuous_added"].append( training["continuous_added"] )
217
+ context_split_into_dict["continuous_dropped"].append( training["continuous_dropped"] )
218
+
219
+ #now also collect the output answers.
220
+ result_split_into_dict = {}
221
+ action_slice = []
222
+ char_slice = []
223
+ for training in training_collection:
224
+ action_slice.append( training['action'] )
225
+ char_slice.append( training['char'] )
226
+ result_split_into_dict['action'] = action_slice
227
+ result_split_into_dict['char'] = char_slice
228
+
229
+ #now return it as a dataframe.
230
+ return pd.DataFrame( context_split_into_dict ), pd.DataFrame( result_split_into_dict )
231
+
232
+
233
+ def _parse_for_training( from_sentances, to_sentances, num_pre_context_chars, num_post_context_chars ):
234
+ out_observations_list = []
235
+ out_results_list = []
236
+
237
+ for index, (from_sentance, to_sentance) in enumerate(zip( from_sentances, to_sentances )):
238
+ if type(from_sentance) != float and type(to_sentance) != float: #bad lines are nan which are floats.
239
+ specific_observation, specific_result = _parse_single_for_training( from_sentance, to_sentance, num_pre_context_chars=num_pre_context_chars, num_post_context_chars=num_post_context_chars )
240
+
241
+ out_observations_list.append( specific_observation )
242
+ out_results_list.append( specific_result )
243
+ if index % 100 == 0:
244
+ print( f"parsing {index} of {len(from_sentances)}")
245
+
246
+ return pd.concat( out_observations_list ), pd.concat( out_results_list )
247
+
248
+ def _train_catboost( X, y, iterations, device, verbose, model_piece, learning_rate = .07 ):
249
+
250
+ X = X.fillna( ' ' )
251
+ passed = False
252
+ while not passed:
253
+ train_pool = Pool(
254
+ data=X,
255
+ label=y,
256
+ cat_features=[i for i,x in enumerate(X.keys()) if len(x) == 2] #all cat keys are length 2
257
+ )
258
+ validation_pool = None #Can't use validation pool because it randomly has chars not in training.
259
+ model = CatBoostClassifier(
260
+ iterations = iterations,
261
+ learning_rate = learning_rate,
262
+ task_type="GPU" if device.lower() != 'cpu' else "CPU",
263
+ devices=device if device.lower() != 'cpu' else None
264
+ )
265
+ model.fit( train_pool, eval_set=validation_pool, verbose=True )
266
+ passed = True
267
+
268
+ if( verbose ): print( '{} is fitted: {}',format(model_piece,model.is_fitted()))
269
+ if( verbose ): print( '{} params:\n{}'.format(model_piece,model.get_params()))
270
+
271
+ return model
272
+
273
+ def _train_reconstruct_models( from_sentances, to_sentances, iterations, device, num_pre_context_chars, num_post_context_chars, verbose ):
274
+
275
+ X,Y = _parse_for_training( from_sentances, to_sentances, num_pre_context_chars=num_pre_context_chars, num_post_context_chars=num_post_context_chars )
276
+
277
+ #train and save the action_model
278
+ action_model = _train_catboost( X, Y['action'], iterations, verbose=verbose, device=device, model_piece='action' )
279
+
280
+ #and the char model
281
+ #slice through where only the action is insert.
282
+ insert_indexes = Y['action'] == INSERT_TO
283
+ char_model = _train_catboost( X[insert_indexes], Y['char'][insert_indexes], iterations, verbose=verbose, device=device, model_piece='char' )
284
+
285
+ return action_model, char_model
286
+
287
+ def _mktemp():
288
+ #I know mktemp exists in the library but it has been depricated suggesting using
289
+ #mkstemp but catboost can't write to a filehandle yet, so I need an actual
290
+ #filename.
291
+ number = 0
292
+ while os.path.exists( f".temp_{number}~" ):
293
+ number += 1
294
+ return f".temp_{number}~"
295
+
296
+ def train( in_csv, a_header, b_header, model, iterations, device, leading_context,trailing_context, train_percentage, verbose ):
297
+ if verbose: print( "loading csv" )
298
+ full_data = pd.read_csv( in_csv )
299
+
300
+ split_index = int( train_percentage/100*len(full_data) )
301
+ train_data = full_data.iloc[:split_index,:].reset_index(drop=True)
302
+
303
+ if verbose: print( "parcing data for training" )
304
+
305
+ action_model, char_model = _train_reconstruct_models( from_sentances=train_data[a_header],
306
+ to_sentances=train_data[b_header],
307
+ iterations = iterations,
308
+ device = device,
309
+ num_pre_context_chars = leading_context,
310
+ num_post_context_chars = trailing_context,
311
+ verbose=verbose,
312
+ )
313
+
314
+ temp_action_filename = _mktemp()
315
+ action_model.save_model( temp_action_filename )
316
+ temp_char_filename = _mktemp()
317
+ char_model.save_model( temp_char_filename )
318
+
319
+ with zipfile.ZipFile( model, mode="w", compression=zipfile.ZIP_DEFLATED, compresslevel=9 ) as myzip:
320
+ with myzip.open( 'params.json', mode='w' ) as out:
321
+ out.write( json.dumps({
322
+ 'version': 1,
323
+ 'leading_context': leading_context,
324
+ 'trailing_context': trailing_context,
325
+ 'iterations': iterations,
326
+ }).encode())
327
+ myzip.write( temp_action_filename, "action.cb" )
328
+ myzip.write( temp_char_filename, "char.cb" )
329
+
330
+ os.unlink( temp_action_filename )
331
+ os.unlink( temp_char_filename )
332
+
333
+ def main():
334
+ parser = argparse.ArgumentParser(
335
+ prog = 'transmorgrify.py',
336
+ description = 'Converts text from one to another according to a model.',
337
+ epilog = '(C) Joshua Lansford')
338
+ parser.add_argument('-i', '--in_csv', help='The csv to read training or input data from', required=True )
339
+ parser.add_argument('-o', '--out_csv', help='The csv to write conversion to', default='out.csv' )
340
+ parser.add_argument('-a', '--a_header', help='The column header for training or transforming from', default="source" )
341
+ parser.add_argument('-b', '--b_header', help='The column header for training the transformation to', default="target" )
342
+ parser.add_argument('-m', '--model',help='The model file to create during training or use during transformation', default='model.tm' )
343
+ parser.add_argument('-n', '--iterations', help='The number of iterations to train', default=1000 )
344
+ parser.add_argument('-d', '--device', help='Which device, i.e. if useing GPU', default='cpu' )
345
+ parser.add_argument('-x', '--context', help='The number of leading and trailing chars to use as context', default=7 )
346
+ parser.add_argument('-t', '--train', action='store_true', help='Train a model instead of executing a model')
347
+ parser.add_argument('-p', '--train_percentage', help="The percentage of data to train on, leaving the rest for testing.")
348
+ parser.add_argument('-e', '--execute', action='store_true', help='Use an existing trained model.')
349
+ parser.add_argument('-v', '--verbose', action='store_true', help='Talks alot?' )
350
+
351
+
352
+ args = parser.parse_args()
353
+
354
+ if not args.train and not args.execute: print( "Must include --execute and/or --train to do something." )
355
+
356
+
357
+ if args.train:
358
+
359
+ train_percentage = args.train_percentage
360
+ if train_percentage is None:
361
+ if args.execute:
362
+ train_percentage = 50
363
+ else:
364
+ train_percentage = 100
365
+
366
+ train( in_csv=args.in_csv,
367
+ a_header=args.a_header,
368
+ b_header=args.b_header,
369
+ model=args.model,
370
+ iterations=args.iterations,
371
+ device=args.device,
372
+ leading_context=args.context,
373
+ trailing_context=args.context,
374
+ train_percentage=train_percentage,
375
+ verbose=args.verbose,
376
+ )
377
+
378
+ #print(args)
379
+
380
+
381
+ if __name__ == '__main__':
382
+ main()