File size: 7,718 Bytes
7694c84
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
ARABIC_LETTERS_LIST = 'ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىي'

DIACRITICS_LIST = ['َ', 'ً', 'ِ', 'ٍ', 'ُ', 'ٌ', 'ْ', 'ّ']

RNN_BIG_CHARACTERS_MAPPING = {'<PAD>': 0,
                              '<SOS>': 1,
                              '<EOS>': 2,
                              '<UNK>': 3,
                              '\n': 4,
                              ' ': 5,
                              '!': 6,
                              '"': 7,
                              '&': 8,
                              "'": 9,
                              '(': 10,
                              ')': 11,
                              '*': 12,
                              '+': 13,
                              ',': 14,
                              '-': 15,
                              '.': 16,
                              '/': 17,
                              '0': 18,
                              '1': 19,
                              '2': 20,
                              '3': 21,
                              '4': 22,
                              '5': 23,
                              '6': 24,
                              '7': 25,
                              '8': 26,
                              '9': 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,
                              '\u200d': 83,
                              '\u200f': 84,
                              '–': 85,
                              '’': 86,
                              '“': 87,
                              '…': 88,
                              '﴾': 89,
                              '﴿': 90}

RNN_SMALL_CHARACTERS_MAPPING = {'<PAD>': 0,
                                '<SOS>': 1,
                                '<EOS>': 2,
                                '<UNK>': 3,
                                '\n': 4,
                                ' ': 5,
                                '!': 6,
                                '"': 7,
                                "'": 8,
                                '(': 9,
                                ')': 10,
                                '*': 11,
                                ',': 12,
                                '-': 13,
                                '.': 14,
                                '/': 15,
                                '0': 16,
                                '1': 17,
                                '2': 18,
                                '3': 19,
                                '4': 20,
                                '5': 21,
                                '6': 22,
                                '7': 23,
                                '8': 24,
                                '9': 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,
                                '\u200f': 75,
                                '–': 76}

RNN_REV_CLASSES_MAPPING = {0: '',
                           1: 'َ',
                           2: 'ً',
                           3: 'ُ',
                           4: 'ٌ',
                           5: 'ِ',
                           6: 'ٍ',
                           7: 'ْ',
                           8: 'ّ',
                           9: 'َّ',
                           10: 'ًّ',
                           11: 'ُّ',
                           12: 'ٌّ',
                           13: 'ِّ',
                           14: 'ٍّ',
                           15: '<PAD>',
                           16: '<SOS>',
                           17: '<EOS>',
                           18: '<N/A>'}