Spaces:
Sleeping
Sleeping
add beta version
Browse files- data.py +565 -0
- nihonGO_deploy.py +176 -0
- passjapanesetest.com_N5_Kanji.csv +213 -0
- requirements.txt +1 -0
- vgg16_unfreeze1.h5 +3 -0
data.py
ADDED
@@ -0,0 +1,565 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
def Getdetail():
|
2 |
+
kanji_data = {
|
3 |
+
'一': {
|
4 |
+
'Meaning': 'one',
|
5 |
+
'Onyoumi': 'いち (ichi)',
|
6 |
+
'Kunyoumi': 'ひと(つ) (hito(tsu))',
|
7 |
+
'Strokes': 1,
|
8 |
+
'Reference': 'https://jisho.org/search/%E4%B8%80%20%23kanji'
|
9 |
+
},
|
10 |
+
'七': {
|
11 |
+
'Meaning': 'seven',
|
12 |
+
'Onyoumi': 'しち (shichi)',
|
13 |
+
'Kunyoumi': 'なな(つ) (nana(tsu))',
|
14 |
+
'Strokes': 2,
|
15 |
+
'Reference': 'https://jisho.org/search/%E4%B8%83%20%23kanji'
|
16 |
+
},
|
17 |
+
'万': {
|
18 |
+
'Meaning': 'ten thousand',
|
19 |
+
'Onyoumi': 'まん (man)',
|
20 |
+
'Kunyoumi': 'よろず(yorozu)',
|
21 |
+
'Strokes': 3,
|
22 |
+
'Reference': 'https://jisho.org/search/%E4%B8%87%20%23kanji'
|
23 |
+
},
|
24 |
+
'三': {
|
25 |
+
'Meaning': 'three',
|
26 |
+
'Onyoumi': 'さん (san)',
|
27 |
+
'Kunyoumi': 'み(つ) (mitsu)',
|
28 |
+
'Strokes': 3,
|
29 |
+
'Reference': 'https://jisho.org/search/%E4%B8%89%20%23kanji'
|
30 |
+
},
|
31 |
+
'上': {
|
32 |
+
'Meaning': 'above',
|
33 |
+
'Onyoumi': 'じょう (jou)',
|
34 |
+
'Kunyoumi': 'うえ (ue)',
|
35 |
+
'Strokes': 3,
|
36 |
+
'Reference': 'https://jisho.org/search/%E4%B8%8A%20%23kanji'
|
37 |
+
},
|
38 |
+
'下': {
|
39 |
+
'Meaning': 'below',
|
40 |
+
'Onyoumi': 'か (ka)',
|
41 |
+
'Kunyoumi': 'した (shita)',
|
42 |
+
'Strokes': 3,
|
43 |
+
'Reference': 'https://jisho.org/search/%E4%B8%8B%20%23kanji'
|
44 |
+
},
|
45 |
+
'中': {
|
46 |
+
'Meaning': 'middle',
|
47 |
+
'Onyoumi': 'ちゅう (chuu)',
|
48 |
+
'Kunyoumi': 'なか (naka)',
|
49 |
+
'Strokes': 4,
|
50 |
+
'Reference': 'https://jisho.org/search/%E4%B8%AD%20%23kanji'
|
51 |
+
},
|
52 |
+
'九': {
|
53 |
+
'Meaning': 'nine',
|
54 |
+
'Onyoumi': 'きゅう (kyuu)',
|
55 |
+
'Kunyoumi': 'ここの(つ) (kokonotsu)',
|
56 |
+
'Strokes': 2,
|
57 |
+
'Reference': 'https://jisho.org/search/%E4%B9%9D%20%23kanji'
|
58 |
+
},
|
59 |
+
'二': {
|
60 |
+
'Meaning': 'two',
|
61 |
+
'Onyoumi': 'に (ni)',
|
62 |
+
'Kunyoumi': 'ふた(つ) (futa(tsu))',
|
63 |
+
'Strokes': 2,
|
64 |
+
'Reference': 'https://jisho.org/search/%E4%BA%8C%20%23kanji'
|
65 |
+
},
|
66 |
+
'五': {
|
67 |
+
'Meaning': 'five',
|
68 |
+
'Onyoumi': 'ご (go)',
|
69 |
+
'Kunyoumi': 'いつ(つ) (itsu(tsu))',
|
70 |
+
'Strokes': 4,
|
71 |
+
'Reference': 'https://jisho.org/search/%E4%BA%94%20%23kanji'
|
72 |
+
},
|
73 |
+
'人': {
|
74 |
+
'Meaning': 'person',
|
75 |
+
'Onyoumi': 'じん (jin)',
|
76 |
+
'Kunyoumi': 'ひと (hito)',
|
77 |
+
'Strokes': 2,
|
78 |
+
'Reference': 'https://jisho.org/search/%E4%BA%BA%20%23kanji'
|
79 |
+
},
|
80 |
+
'今': {
|
81 |
+
'Meaning': 'now',
|
82 |
+
'Onyoumi': 'こん (kon)',
|
83 |
+
'Kunyoumi': 'いま (ima)',
|
84 |
+
'Strokes': 4,
|
85 |
+
'Reference': 'https://jisho.org/search/%E4%BB%8A%20%23kanji'
|
86 |
+
},
|
87 |
+
'休': {
|
88 |
+
'Meaning': 'rest',
|
89 |
+
'Onyoumi': 'きゅう (kyuu)',
|
90 |
+
'Kunyoumi': 'やす(む) (yasu(mu))',
|
91 |
+
'Strokes': 6,
|
92 |
+
'Reference': 'https://jisho.org/search/%E4%BC%91%20%23kanji'
|
93 |
+
},
|
94 |
+
'何': {
|
95 |
+
'Meaning': 'what',
|
96 |
+
'Onyoumi': 'か (ka)',
|
97 |
+
'Kunyoumi': 'なに (nani)',
|
98 |
+
'Strokes': 7,
|
99 |
+
'Reference': 'https://jisho.org/search/%E4%BD%95%20%23kanji'
|
100 |
+
},
|
101 |
+
'先': {
|
102 |
+
'Meaning': 'previous',
|
103 |
+
'Onyoumi': 'せん (sen)',
|
104 |
+
'Kunyoumi': 'さき (saki)',
|
105 |
+
'Strokes': 6,
|
106 |
+
'Reference': 'https://jisho.org/search/%E5%85%88%20%23kanji'
|
107 |
+
},
|
108 |
+
'入': {
|
109 |
+
'Meaning': 'enter',
|
110 |
+
'Onyoumi': 'にゅう (nyuu)',
|
111 |
+
'Kunyoumi': 'はい(る) (hairu)',
|
112 |
+
'Strokes': 2,
|
113 |
+
'Reference': 'https://jisho.org/search/%E5%85%A5%20%23kanji'
|
114 |
+
},
|
115 |
+
'八': {
|
116 |
+
'Meaning': 'eight',
|
117 |
+
'Onyoumi': 'はち (hachi)',
|
118 |
+
'Kunyoumi': 'や(つ) (ya(tsu))',
|
119 |
+
'Strokes': 2,
|
120 |
+
'Reference': 'https://jisho.org/search/%E5%85%AB%20%23kanji'
|
121 |
+
},
|
122 |
+
'六': {
|
123 |
+
'Meaning': 'six',
|
124 |
+
'Onyoumi': 'ろく (roku)',
|
125 |
+
'Kunyoumi': 'む(つ) (mu(tsu))',
|
126 |
+
'Strokes': 4,
|
127 |
+
'Reference': 'https://jisho.org/search/%E5%85%AD%20%23kanji'
|
128 |
+
},
|
129 |
+
'円': {
|
130 |
+
'Meaning': 'circle',
|
131 |
+
'Onyoumi': 'えん (en)',
|
132 |
+
'Kunyoumi': 'まる(い) (marui)',
|
133 |
+
'Strokes': 4,
|
134 |
+
'Reference': 'https://jisho.org/search/%E5%86%86%20%23kanji'
|
135 |
+
},
|
136 |
+
'出': {
|
137 |
+
'Meaning': 'exit',
|
138 |
+
'Onyoumi': 'しゅつ (shutsu)',
|
139 |
+
'Kunyoumi': 'で(る) (deru)',
|
140 |
+
'Strokes': 5,
|
141 |
+
'Reference': 'https://jisho.org/search/%E5%87%BA%20%23kanji'
|
142 |
+
},
|
143 |
+
'分': {
|
144 |
+
'Meaning': 'minute',
|
145 |
+
'Onyoumi': 'ぶん (bun)',
|
146 |
+
'Kunyoumi': 'わ(ける) (wakeru)',
|
147 |
+
'Strokes': 4,
|
148 |
+
'Reference': 'https://jisho.org/search/%E5%88%86%20%23kanji'
|
149 |
+
},
|
150 |
+
'前': {
|
151 |
+
'Meaning': 'front',
|
152 |
+
'Onyoumi': 'ぜん (zen)',
|
153 |
+
'Kunyoumi': 'まえ (mae)',
|
154 |
+
'Strokes': 6,
|
155 |
+
'Reference': 'https://jisho.org/search/%E5%89%8D%20%23kanji'
|
156 |
+
},
|
157 |
+
'北': {
|
158 |
+
'Meaning': 'north',
|
159 |
+
'Onyoumi': 'ほく (hoku)',
|
160 |
+
'Kunyoumi': 'きた (kita)',
|
161 |
+
'Strokes': 5,
|
162 |
+
'Reference': 'https://jisho.org/search/%E5%8C%97%20%23kanji'
|
163 |
+
},
|
164 |
+
'十': {
|
165 |
+
'Meaning': 'ten',
|
166 |
+
'Onyoumi': 'じゅう (juu)',
|
167 |
+
'Kunyoumi': 'とお (too)',
|
168 |
+
'Strokes': 2,
|
169 |
+
'Reference': 'https://jisho.org/search/%E5%8D%81%20%23kanji'
|
170 |
+
},
|
171 |
+
'千': {
|
172 |
+
'Meaning': 'thousand',
|
173 |
+
'Onyoumi': 'せん (sen)',
|
174 |
+
'Kunyoumi': 'ち (chi)',
|
175 |
+
'Strokes': 3,
|
176 |
+
'Reference': 'https://jisho.org/search/%E5%8D%83%20%23kanji'
|
177 |
+
},
|
178 |
+
'午': {
|
179 |
+
'Meaning': 'noon',
|
180 |
+
'Onyoumi': 'ご (go)',
|
181 |
+
'Kunyoumi': 'うま (uma)',
|
182 |
+
'Strokes': 4,
|
183 |
+
'Reference': 'https://jisho.org/search/%E5%8D%88%20%23kanji'
|
184 |
+
},
|
185 |
+
'半': {
|
186 |
+
'Meaning': 'half',
|
187 |
+
'Onyoumi': 'はん (han)',
|
188 |
+
'Kunyoumi': 'なか(ば) (nakaba)',
|
189 |
+
'Strokes': 5,
|
190 |
+
'Reference': 'https://jisho.org/search/%E5%8D%8A%20%23kanji'
|
191 |
+
},
|
192 |
+
'南': {
|
193 |
+
'Meaning': 'south',
|
194 |
+
'Onyoumi': 'なん (nan)',
|
195 |
+
'Kunyoumi': 'みなみ (minami)',
|
196 |
+
'Strokes': 9,
|
197 |
+
'Reference': 'https://jisho.org/search/%E5%8D%97%20%23kanji'
|
198 |
+
},
|
199 |
+
'友': {
|
200 |
+
'Meaning': 'friend',
|
201 |
+
'Onyoumi': 'ゆう (yuu)',
|
202 |
+
'Kunyoumi': 'とも (tomo)',
|
203 |
+
'Strokes': 4,
|
204 |
+
'Reference': 'https://jisho.org/search/%E5%8F%8B%20%23kanji'
|
205 |
+
},
|
206 |
+
'右': {
|
207 |
+
'Meaning': 'right',
|
208 |
+
'Onyoumi': 'う (u)',
|
209 |
+
'Kunyoumi': 'みぎ (migi)',
|
210 |
+
'Strokes': 5,
|
211 |
+
'Reference': 'https://jisho.org/search/%E5%8F%B3%20%23kanji'
|
212 |
+
},
|
213 |
+
'名': {
|
214 |
+
'Meaning': 'name',
|
215 |
+
'Onyoumi': 'めい (mei)',
|
216 |
+
'Kunyoumi': 'な (na)',
|
217 |
+
'Strokes': 6,
|
218 |
+
'Reference': 'https://jisho.org/search/%E5%90%8D%20%23kanji'
|
219 |
+
},
|
220 |
+
'四': {
|
221 |
+
'Meaning': 'four',
|
222 |
+
'Onyoumi': 'し (shi)',
|
223 |
+
'Kunyoumi': 'よん (yon)',
|
224 |
+
'Strokes': 5,
|
225 |
+
'Reference': 'https://jisho.org/search/%E5%9B%9B%20%23kanji'
|
226 |
+
},
|
227 |
+
'国': {
|
228 |
+
'Meaning': 'country',
|
229 |
+
'Onyoumi': 'こく (koku)',
|
230 |
+
'Kunyoumi': 'くに (kuni)',
|
231 |
+
'Strokes': 8,
|
232 |
+
'Reference': 'https://jisho.org/search/%E5%9B%BD%20%23kanji'
|
233 |
+
},
|
234 |
+
'土': {
|
235 |
+
'Meaning': 'ground',
|
236 |
+
'Onyoumi': 'ど (do)',
|
237 |
+
'Kunyoumi': 'つち (tsuchi)',
|
238 |
+
'Strokes': 3,
|
239 |
+
'Reference': 'https://jisho.org/search/%E5%9C%9F%20%23kanji'
|
240 |
+
},
|
241 |
+
'外': {
|
242 |
+
'Meaning': 'outside',
|
243 |
+
'Onyoumi': 'がい (gai)',
|
244 |
+
'Kunyoumi': 'そと (soto)',
|
245 |
+
'Strokes': 5,
|
246 |
+
'Reference': 'https://jisho.org/search/%E5%A4%96%20%23kanji'
|
247 |
+
},
|
248 |
+
'大': {
|
249 |
+
'Meaning': 'big',
|
250 |
+
'Onyoumi': 'だい (dai)',
|
251 |
+
'Kunyoumi': 'おお(きい) (ookii)',
|
252 |
+
'Strokes': 3,
|
253 |
+
'Reference': 'https://jisho.org/search/%E5%A4%A7%20%23kanji'
|
254 |
+
},
|
255 |
+
'天': {
|
256 |
+
'Meaning': 'heaven',
|
257 |
+
'Onyoumi': 'てん (ten)',
|
258 |
+
'Kunyoumi': 'あま (ama)',
|
259 |
+
'Strokes': 4,
|
260 |
+
'Reference': 'https://jisho.org/search/%E5%A4%A9%20%23kanji'
|
261 |
+
},
|
262 |
+
'女': {
|
263 |
+
'Meaning': 'woman',
|
264 |
+
'Onyoumi': 'じょ (jo)',
|
265 |
+
'Kunyoumi': 'おんな (onna)',
|
266 |
+
'Strokes': 3,
|
267 |
+
'Reference': 'https://jisho.org/search/%E5%A5%B3%20%23kanji'
|
268 |
+
},
|
269 |
+
'子': {
|
270 |
+
'Meaning': 'child',
|
271 |
+
'Onyoumi': 'し (shi)',
|
272 |
+
'Kunyoumi': 'こ (ko)',
|
273 |
+
'Strokes': 3,
|
274 |
+
'Reference': 'https://jisho.org/search/%E5%AD%90%20%23kanji'
|
275 |
+
},
|
276 |
+
'学': {
|
277 |
+
'Meaning': 'study',
|
278 |
+
'Onyoumi': 'がく (gaku)',
|
279 |
+
'Kunyoumi': 'まな(ぶ) (manabu)',
|
280 |
+
'Strokes': 8,
|
281 |
+
'Reference': 'https://jisho.org/search/%E5%AD%A6%20%23kanji'
|
282 |
+
},
|
283 |
+
'小': {
|
284 |
+
'Meaning': 'small',
|
285 |
+
'Onyoumi': 'しょう (shou)',
|
286 |
+
'Kunyoumi': 'ちい(さい) (chiisai)',
|
287 |
+
'Strokes': 3,
|
288 |
+
'Reference': 'https://jisho.org/search/%E5%B0%8F%20%23kanji'
|
289 |
+
},
|
290 |
+
'山': {
|
291 |
+
'Meaning': 'mountain',
|
292 |
+
'Onyoumi': 'さん (san)',
|
293 |
+
'Kunyoumi': 'やま (yama)',
|
294 |
+
'Strokes': 3,
|
295 |
+
'Reference': 'https://jisho.org/search/%E5%B1%B1%20%23kanji'
|
296 |
+
},
|
297 |
+
'川': {
|
298 |
+
'Meaning': 'river',
|
299 |
+
'Onyoumi': 'せん (sen)',
|
300 |
+
'Kunyoumi': 'かわ (kawa)',
|
301 |
+
'Strokes': 3,
|
302 |
+
'Reference': 'https://jisho.org/search/%E5%B7%9D%20%23kanji'
|
303 |
+
},
|
304 |
+
'左': {
|
305 |
+
'Meaning': 'left',
|
306 |
+
'Onyoumi': 'さ (sa)',
|
307 |
+
'Kunyoumi': 'ひだり (hidari)',
|
308 |
+
'Strokes': 5,
|
309 |
+
'Reference': 'https://jisho.org/search/%E5%B7%A6%20%23kanji'
|
310 |
+
},
|
311 |
+
'年': {
|
312 |
+
'Meaning': 'year',
|
313 |
+
'Onyoumi': 'ねん (nen)',
|
314 |
+
'Kunyoumi': 'とし (toshi)',
|
315 |
+
'Strokes': 6,
|
316 |
+
'Reference': 'https://jisho.org/search/%E5%B9%B4%20%23kanji'
|
317 |
+
},
|
318 |
+
'後': {
|
319 |
+
'Meaning': 'after',
|
320 |
+
'Onyoumi': 'ご (go)',
|
321 |
+
'Kunyoumi': 'あと (ato)',
|
322 |
+
'Strokes': 9,
|
323 |
+
'Reference': 'https://jisho.org/search/%E5%BE%8C%20%23kanji'
|
324 |
+
},
|
325 |
+
'日': {
|
326 |
+
'Meaning': 'day',
|
327 |
+
'Onyoumi': 'にち (nichi)',
|
328 |
+
'Kunyoumi': 'ひ (hi)',
|
329 |
+
'Strokes': 4,
|
330 |
+
'Reference': 'https://jisho.org/search/%E6%97%A5%20%23kanji'
|
331 |
+
},
|
332 |
+
'時': {
|
333 |
+
'Meaning': 'time',
|
334 |
+
'Onyoumi': 'じ (ji)',
|
335 |
+
'Kunyoumi': 'とき (toki)',
|
336 |
+
'Strokes': 10,
|
337 |
+
'Reference': 'https://jisho.org/search/%E6%99%82%20%23kanji'
|
338 |
+
},
|
339 |
+
'書': {
|
340 |
+
'Meaning': 'write',
|
341 |
+
'Onyoumi': 'しょ (sho)',
|
342 |
+
'Kunyoumi': 'か(く) (kaku)',
|
343 |
+
'Strokes': 10,
|
344 |
+
'Reference': 'https://jisho.org/search/%E6%9B%B8%20%23kanji'
|
345 |
+
},
|
346 |
+
'月': {
|
347 |
+
'Meaning': 'moon',
|
348 |
+
'Onyoumi': 'げつ (getsu)',
|
349 |
+
'Kunyoumi': 'つき (tsuki)',
|
350 |
+
'Strokes': 4,
|
351 |
+
'Reference': 'https://jisho.org/search/%E6%9C%88%20%23kanji'
|
352 |
+
},
|
353 |
+
'木': {
|
354 |
+
'Meaning': 'tree',
|
355 |
+
'Onyoumi': 'もく (moku)',
|
356 |
+
'Kunyoumi': 'き (ki)',
|
357 |
+
'Strokes': 4,
|
358 |
+
'Reference': 'https://jisho.org/search/%E6%9C%A8%20%23kanji'
|
359 |
+
},
|
360 |
+
'本': {
|
361 |
+
'Meaning': 'book',
|
362 |
+
'Onyoumi': 'ほん (hon)',
|
363 |
+
'Kunyoumi': 'もと (moto)',
|
364 |
+
'Strokes': 5,
|
365 |
+
'Reference': 'https://jisho.org/search/%E6%9C%AC%20%23kanji'
|
366 |
+
},
|
367 |
+
'来': {
|
368 |
+
'Meaning': 'come',
|
369 |
+
'Onyoumi': 'らい (rai)',
|
370 |
+
'Kunyoumi': 'く(る) (kuru)',
|
371 |
+
'Strokes': 7,
|
372 |
+
'Reference': 'https://jisho.org/search/%E6%9D%A5%20%23kanji'
|
373 |
+
},
|
374 |
+
'東': {
|
375 |
+
'Meaning': 'east',
|
376 |
+
'Onyoumi': 'とう (tou)',
|
377 |
+
'Kunyoumi': 'ひがし (higashi)',
|
378 |
+
'Strokes': 8,
|
379 |
+
'Reference': 'https://jisho.org/search/%E6%9D%B1%20%23kanji'
|
380 |
+
},
|
381 |
+
'校': {
|
382 |
+
'Meaning': 'school',
|
383 |
+
'Onyoumi': 'こう (kou)',
|
384 |
+
'Kunyoumi': 'やしろ (yashiro)',
|
385 |
+
'Strokes': 10,
|
386 |
+
'Reference': 'https://jisho.org/search/%E6%A0%A1%20%23kanji'
|
387 |
+
},
|
388 |
+
'母': {
|
389 |
+
'Meaning': 'mother',
|
390 |
+
'Onyoumi': 'ぼ (bo)',
|
391 |
+
'Kunyoumi': 'はは (haha)',
|
392 |
+
'Strokes': 5,
|
393 |
+
'Reference': 'https://jisho.org/search/%E6%AF%8D%20%23kanji'
|
394 |
+
},
|
395 |
+
'毎': {
|
396 |
+
'Meaning': 'every',
|
397 |
+
'Onyoumi': 'まい (mai)',
|
398 |
+
'Kunyoumi': 'ごと (goto)',
|
399 |
+
'Strokes': 6,
|
400 |
+
'Reference': 'https://jisho.org/search/%E6%AF%8E%20%23kanji'
|
401 |
+
},
|
402 |
+
'気': {
|
403 |
+
'Meaning': 'spirit',
|
404 |
+
'Onyoumi': 'き (ki)',
|
405 |
+
'Kunyoumi': 'いき (iki)',
|
406 |
+
'Strokes': 6,
|
407 |
+
'Reference': 'https://jisho.org/search/%E6%B0%97%20%23kanji'
|
408 |
+
},
|
409 |
+
'水': {
|
410 |
+
'Meaning': 'water',
|
411 |
+
'Onyoumi': 'すい (sui)',
|
412 |
+
'Kunyoumi': 'みず (mizu)',
|
413 |
+
'Strokes': 4,
|
414 |
+
'Reference': 'https://jisho.org/search/%E6%B0%B4%20%23kanji'
|
415 |
+
},
|
416 |
+
'火': {
|
417 |
+
'Meaning': 'fire',
|
418 |
+
'Onyoumi': 'か (ka)',
|
419 |
+
'Kunyoumi': 'ひ (hi)',
|
420 |
+
'Strokes': 4,
|
421 |
+
'Reference': 'https://jisho.org/search/%E7%81%AB%20%23kanji'
|
422 |
+
},
|
423 |
+
'父': {
|
424 |
+
'Meaning': 'father',
|
425 |
+
'Onyoumi': 'ふ (fu)',
|
426 |
+
'Kunyoumi': 'ちち (chichi)',
|
427 |
+
'Strokes': 4,
|
428 |
+
'Reference': 'https://jisho.org/search/%E7%88%B6%20%23kanji'
|
429 |
+
},
|
430 |
+
'生': {
|
431 |
+
'Meaning': 'life',
|
432 |
+
'Onyoumi': 'せい (sei)',
|
433 |
+
'Kunyoumi': 'い(きる) (ikiru)',
|
434 |
+
'Strokes': 5,
|
435 |
+
'Reference': 'https://jisho.org/search/%E7%94%9F%20%23kanji'
|
436 |
+
},
|
437 |
+
'男': {
|
438 |
+
'Meaning': 'man',
|
439 |
+
'Onyoumi': 'だん (dan)',
|
440 |
+
'Kunyoumi': 'おとこ (otoko)',
|
441 |
+
'Strokes': 7,
|
442 |
+
'Reference': 'https://jisho.org/search/%E7%94%B7%20%23kanji'
|
443 |
+
},
|
444 |
+
'白': {
|
445 |
+
'Meaning': 'white',
|
446 |
+
'Onyoumi': 'はく (haku)',
|
447 |
+
'Kunyoumi': 'しろ (shiro)',
|
448 |
+
'Strokes': 5,
|
449 |
+
'Reference': 'https://jisho.org/search/%E7%99%BD%20%23kanji'
|
450 |
+
},
|
451 |
+
'百': {
|
452 |
+
'Meaning': 'hundred',
|
453 |
+
'Onyoumi': 'ひゃく (hyaku)',
|
454 |
+
'Kunyoumi': 'もも (momo)',
|
455 |
+
'Strokes': 6,
|
456 |
+
'Reference': 'https://jisho.org/search/%E7%99%BE%20%23kanji'
|
457 |
+
},
|
458 |
+
'聞': {
|
459 |
+
'Meaning': 'hear',
|
460 |
+
'Onyoumi': 'ぶん (bun)',
|
461 |
+
'Kunyoumi': 'き(く) (kiku)',
|
462 |
+
'Strokes': 14,
|
463 |
+
'Reference': 'https://jisho.org/search/%E8%81%9E%20%23kanji'
|
464 |
+
},
|
465 |
+
'行': {
|
466 |
+
'Meaning': 'go',
|
467 |
+
'Onyoumi': 'こう (kou)',
|
468 |
+
'Kunyoumi': 'い(く) (iku)',
|
469 |
+
'Strokes': 6,
|
470 |
+
'Reference': 'https://jisho.org/search/%E8%A1%8C%20%23kanji'
|
471 |
+
},
|
472 |
+
'西': {
|
473 |
+
'Meaning': 'west',
|
474 |
+
'Onyoumi': 'せい (sei)',
|
475 |
+
'Kunyoumi': 'にし (nishi)',
|
476 |
+
'Strokes': 6,
|
477 |
+
'Reference': 'https://jisho.org/search/%E8%A5%BF%20%23kanji'
|
478 |
+
},
|
479 |
+
'見': {
|
480 |
+
'Meaning': 'see',
|
481 |
+
'Onyoumi': 'けん (ken)',
|
482 |
+
'Kunyoumi': 'み(る) (miru)',
|
483 |
+
'Strokes': 7,
|
484 |
+
'Reference': 'https://jisho.org/search/%E8%A6%8B%20%23kanji'
|
485 |
+
},
|
486 |
+
'話': {
|
487 |
+
'Meaning': 'talk',
|
488 |
+
'Onyoumi': 'わ (wa)',
|
489 |
+
'Kunyoumi': 'はな(す) (hanasu)',
|
490 |
+
'Strokes': 13,
|
491 |
+
'Reference': 'https://jisho.org/search/%E8%A9%B1%20%23kanji'
|
492 |
+
},
|
493 |
+
'語': {
|
494 |
+
'Meaning': 'word',
|
495 |
+
'Onyoumi': 'ご (go)',
|
496 |
+
'Kunyoumi': 'かた(る) (kataru)',
|
497 |
+
'Strokes': 14,
|
498 |
+
'Reference': 'https://jisho.org/search/%E8%AA%9E%20%23kanji'
|
499 |
+
},
|
500 |
+
'読': {
|
501 |
+
'Meaning': 'read',
|
502 |
+
'Onyoumi': 'どく (doku)',
|
503 |
+
'Kunyoumi': 'よ(む) (yomu)',
|
504 |
+
'Strokes': 14,
|
505 |
+
'Reference': 'https://jisho.org/search/%E8%AA%AD%20%23kanji'
|
506 |
+
},
|
507 |
+
'車': {
|
508 |
+
'Meaning': 'car',
|
509 |
+
'Onyoumi': 'しゃ (sha)',
|
510 |
+
'Kunyoumi': 'くるま (kuruma)',
|
511 |
+
'Strokes': 7,
|
512 |
+
'Reference': 'https://jisho.org/search/%E8%BB%8A%20%23kanji'
|
513 |
+
},
|
514 |
+
'金': {
|
515 |
+
'Meaning': 'gold',
|
516 |
+
'Onyoumi': 'きん (kin)',
|
517 |
+
'Kunyoumi': 'か(ね) (kane)',
|
518 |
+
'Strokes': 8,
|
519 |
+
'Reference': 'https://jisho.org/search/%E9%87%91%20%23kanji'
|
520 |
+
},
|
521 |
+
'長': {
|
522 |
+
'Meaning': 'long',
|
523 |
+
'Onyoumi': 'ちょう (chou)',
|
524 |
+
'Kunyoumi': 'なが(い) (nagai)',
|
525 |
+
'Strokes': 8,
|
526 |
+
'Reference': 'https://jisho.org/search/%E9%95%B7%20%23kanji'
|
527 |
+
},
|
528 |
+
'間': {
|
529 |
+
'Meaning': 'interval',
|
530 |
+
'Onyoumi': 'かん (kan)',
|
531 |
+
'Kunyoumi': 'あいだ (aida)',
|
532 |
+
'Strokes': 12,
|
533 |
+
'Reference': 'https://jisho.org/search/%E9%96%93%20%23kanji'
|
534 |
+
},
|
535 |
+
'雨': {
|
536 |
+
'Meaning': 'rain',
|
537 |
+
'Onyoumi': 'う (u)',
|
538 |
+
'Kunyoumi': 'あめ (ame)',
|
539 |
+
'Strokes': 8,
|
540 |
+
'Reference': 'https://jisho.org/search/%E9%9B%A8%20%23kanji'
|
541 |
+
},
|
542 |
+
'電': {
|
543 |
+
'Meaning': 'electricity',
|
544 |
+
'Onyoumi': 'でん (den)',
|
545 |
+
'Kunyoumi': '',
|
546 |
+
'Strokes': 13,
|
547 |
+
'Reference': 'https://jisho.org/search/%E9%9B%BB%20%23kanji'
|
548 |
+
},
|
549 |
+
'食': {
|
550 |
+
'Meaning': 'eat',
|
551 |
+
'Onyoumi': 'しょく (shoku)',
|
552 |
+
'Kunyoumi': 'た(べる) (taberu)',
|
553 |
+
'Strokes': 9,
|
554 |
+
'Reference': 'https://jisho.org/search/%E9%A3%9F%20%23kanji'
|
555 |
+
},
|
556 |
+
'高': {
|
557 |
+
'Meaning': 'tall',
|
558 |
+
'Onyoumi': 'こう (kou)',
|
559 |
+
'Kunyoumi': 'たか(い) (takai)',
|
560 |
+
'Strokes': 10,
|
561 |
+
'Reference': 'https://jisho.org/search/%E9%AB%98%20%23kanji'
|
562 |
+
}
|
563 |
+
|
564 |
+
}
|
565 |
+
return kanji_data
|
nihonGO_deploy.py
ADDED
@@ -0,0 +1,176 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import pandas as pd
|
2 |
+
from PIL import Image
|
3 |
+
import streamlit as st
|
4 |
+
from streamlit_drawable_canvas import st_canvas
|
5 |
+
import numpy as np
|
6 |
+
from keras.models import load_model
|
7 |
+
from keras.preprocessing import image
|
8 |
+
import keras.utils as image
|
9 |
+
import cv2
|
10 |
+
from data import Getdetail
|
11 |
+
|
12 |
+
st.title('JLPTN5 handwriting Kanji recognition.')
|
13 |
+
|
14 |
+
labels = ['一', '七', '万', '三', '上', '下', '中', '九', '二', '五', '人', '今', '休', '何', '先', '入', '八', '六', '円', '出', '分', '前', '北', '十', '千', '午', '半', '南', '友', '右', '名', '四', '国', '土', '外', '大', '天', '女', '子', '学', '小', '山', '川', '左', '年', '後', '日', '時', '書', '月', '木', '本', '来', '東', '校', '母', '毎', '気', '水', '火', '父', '生', '男', '白', '百', '聞', '行', '西', '見', '話', '語', '読', '車', '金', '長', '間', '雨', '電', '食', '高']
|
15 |
+
|
16 |
+
model = load_model("./vgg16_unfreeze1.h5")
|
17 |
+
|
18 |
+
st.sidebar.title("NihonGO !")
|
19 |
+
st.sidebar.caption("Handwriting kanji recognition system.")
|
20 |
+
options = ("Sketchpad input", "Image input", "about JLPTN5", "about NihonGO !")
|
21 |
+
choice = st.sidebar.selectbox("Select input options",options)
|
22 |
+
st.sidebar.caption("Dev by : Tanaanan Chalermpan")
|
23 |
+
st.sidebar.caption("Computer Science Kasetsart U. Thailand")
|
24 |
+
|
25 |
+
|
26 |
+
|
27 |
+
def predict_img_sketch(img_path):
|
28 |
+
st.write("Predicted result.")
|
29 |
+
if img_path is not None:
|
30 |
+
img = Image.fromarray(img_path) # use pillow to load a image
|
31 |
+
img = img.convert('L')
|
32 |
+
img = np.array(img) # convert img to an array
|
33 |
+
ret, thresh1 = cv2.threshold(img, 110, 255, cv2.THRESH_BINARY) # Apply binary threshold
|
34 |
+
thresh1 = cv2.cvtColor(thresh1, cv2.COLOR_GRAY2RGB) # Convert back to RGB
|
35 |
+
img_array = cv2.resize(thresh1, (120, 120)) # Resize the image
|
36 |
+
img_array = np.expand_dims(img_array, axis=0)
|
37 |
+
preds = model.predict(img_array)
|
38 |
+
return preds
|
39 |
+
|
40 |
+
def image_display(img_path):
|
41 |
+
st.write("Predicted image.")
|
42 |
+
if img_path is not None:
|
43 |
+
img = Image.open(img_path)
|
44 |
+
img = img.resize((120,120)).convert('L')
|
45 |
+
st.image(img, caption='Uploaded Image', use_column_width=True)
|
46 |
+
|
47 |
+
def predict_img_input(img_path):
|
48 |
+
st.write("Predicted result.")
|
49 |
+
if img_path is not None:
|
50 |
+
img = Image.open(img_path) # use pillow to load a image
|
51 |
+
img = img.convert('L')
|
52 |
+
img = np.array(img) # convert img to an array
|
53 |
+
ret, thresh1 = cv2.threshold(img, 110, 255, cv2.THRESH_BINARY) # Apply binary threshold
|
54 |
+
thresh1 = cv2.cvtColor(thresh1, cv2.COLOR_GRAY2RGB) # Convert back to RGB
|
55 |
+
img_array = cv2.resize(thresh1, (120, 120)) # Resize the image
|
56 |
+
img_array = np.expand_dims(img_array, axis=0)
|
57 |
+
preds = model.predict(img_array)
|
58 |
+
return preds
|
59 |
+
|
60 |
+
if choice == "Sketchpad input":
|
61 |
+
|
62 |
+
|
63 |
+
col1,col2 = st.columns(2)
|
64 |
+
with col2:
|
65 |
+
stroke_width = st.slider("Stroke width: ", 8, 25, 8)
|
66 |
+
|
67 |
+
with col1:
|
68 |
+
# ref : https://github.com/andfanilo/streamlit-drawable-canvas
|
69 |
+
canvas_result = st_canvas(
|
70 |
+
fill_color="rgba(255, 165, 0, 0.3)", # Fixed fill color with some opacity
|
71 |
+
stroke_width=stroke_width,
|
72 |
+
stroke_color="#000000", # stroke to black
|
73 |
+
background_color="#FFFFFF", # background to write
|
74 |
+
background_image= None,
|
75 |
+
update_streamlit=False,
|
76 |
+
height=300,
|
77 |
+
width=300,
|
78 |
+
drawing_mode="freedraw",
|
79 |
+
point_display_radius=0,
|
80 |
+
key="canvas",
|
81 |
+
)
|
82 |
+
# Do something interesting with the image data and paths
|
83 |
+
if canvas_result.image_data is not None:
|
84 |
+
st.image(canvas_result.image_data, caption='display_show')
|
85 |
+
|
86 |
+
with col2:
|
87 |
+
# check if sketchinput is empty from len json_data
|
88 |
+
is_empty = 0
|
89 |
+
if canvas_result.image_data is not None: # beware of slow loading
|
90 |
+
is_empty = canvas_result.json_data["objects"] # need to convert obj to str because PyArrow
|
91 |
+
|
92 |
+
if is_empty:
|
93 |
+
# display prediction
|
94 |
+
pred_raw = predict_img_sketch(canvas_result.image_data)
|
95 |
+
if pred_raw is not None:
|
96 |
+
pred_class, accuracy = labels[np.argmax(pred_raw)], np.max(pred_raw)*100
|
97 |
+
st.write(f"Class : {labels[np.argmax(pred_raw)]}")
|
98 |
+
st.write(f"with accuracy : {accuracy:.2f} %")
|
99 |
+
|
100 |
+
st.divider()
|
101 |
+
strokes = Getdetail()[pred_class]['Strokes']
|
102 |
+
meaning = Getdetail()[pred_class]['Meaning']
|
103 |
+
onyoumi = Getdetail()[pred_class]['Onyoumi']
|
104 |
+
kunyomi = Getdetail()[pred_class]['Kunyoumi']
|
105 |
+
link_ref = Getdetail()[pred_class]['Reference']
|
106 |
+
|
107 |
+
st.write(f"Strokes : {strokes}")
|
108 |
+
st.write(f"Meaning : {meaning.capitalize()}")
|
109 |
+
st.write(f"Onyoumi : {onyoumi}")
|
110 |
+
st.write(f"Kunyoumi : {kunyomi}")
|
111 |
+
st.write(f"for more detail : [Shirabe jisho]({link_ref})")
|
112 |
+
|
113 |
+
elif choice == "Image input":
|
114 |
+
upload_img = st.file_uploader("Choose a kanji image", type=['.jpg', '.png', '.jpeg'])
|
115 |
+
col1,col2 = st.columns(2)
|
116 |
+
|
117 |
+
with col1:
|
118 |
+
image_display(upload_img)
|
119 |
+
|
120 |
+
with col2:
|
121 |
+
# display prediction
|
122 |
+
pred_raw = predict_img_input(upload_img)
|
123 |
+
if pred_raw is not None:
|
124 |
+
pred_class, accuracy = labels[np.argmax(pred_raw)], np.max(pred_raw)*100
|
125 |
+
st.write(f"Class : {labels[np.argmax(pred_raw)]}")
|
126 |
+
st.write(f"with accuracy : {accuracy:.2f} %")
|
127 |
+
|
128 |
+
st.write('---------------------------------------')
|
129 |
+
strokes = Getdetail()[pred_class]['Strokes']
|
130 |
+
meaning = Getdetail()[pred_class]['Meaning']
|
131 |
+
onyoumi = Getdetail()[pred_class]['Onyoumi']
|
132 |
+
kunyomi = Getdetail()[pred_class]['Kunyoumi']
|
133 |
+
link_ref = Getdetail()[pred_class]['Reference']
|
134 |
+
|
135 |
+
st.write(f"Strokes : {strokes}")
|
136 |
+
st.write(f"Meaning : {meaning.capitalize()}")
|
137 |
+
st.write(f"Onyoumi : {onyoumi}")
|
138 |
+
st.write(f"Kunyoumi : {kunyomi}")
|
139 |
+
st.write(f"for more detail : [Shirabe jisho]({link_ref})")
|
140 |
+
|
141 |
+
elif choice == "about JLPTN5":
|
142 |
+
df = pd.read_csv('./passjapanesetest.com_N5_Kanji.csv', encoding='cp932')
|
143 |
+
st.subheader("JLPT คืออะไร")
|
144 |
+
detail_1 = '''ย่อมาจาก Japanese Language Proficiency Test การสอบวัดระดับภาษาญี่ปุ่น คือ การสอบที่จัดขึ้นเพื่อวัดความสามารถทางภาษาญี่ปุ่น ของชาวต่างชาติผู้เรียนภาษาญี่ปุ่น
|
145 |
+
|
146 |
+
การสอบวัดระดับภาษาญี่ปุ่นครั้งแรก จัดขึ้นในปี ค.ศ. 1984 มีผู้สมัครสอบ 7,998 คน และมีผู้สมัครสอบเพิ่มขึ้นมากทุกปี สถิติในปี ค.ศ. 2019 มีผู้สมัครสอบถึง 1,362,167 คนทั่วโลก'''
|
147 |
+
st.markdown(detail_1)
|
148 |
+
st.markdown('''- โดยระดับ N5 ถือเป็นระดับที่ง่ายที่สุดในการสอบ แต่พาร์ทที่หินที่สุดส่วนหนึ่งก็คือ พาร์ท คันจิ N5 ***ผู้พัฒนาจึงสร้างระบบที่วิเคราะห์ตัวอักษรคันจิได้จากลายมือเขียน
|
149 |
+
เพื่อที่จะเป็นตัวช่วยหนึ่งในการให้ผู้ใช้งานได้ใช้ในการฝึกฝนได้***''')
|
150 |
+
|
151 |
+
st.caption("List of JLPTN5 Kanji")
|
152 |
+
st.write(df ,)
|
153 |
+
|
154 |
+
st.caption('ref : [jeducation](https://jeducation.com/main/education/jlpt/) , [passjapanesetest](http://www.passjapanesetest.com/jlpt-n5-kanji-list/)')
|
155 |
+
|
156 |
+
elif choice == "about NihonGO !":
|
157 |
+
st.subheader("NihonGO ! คืออะไร")
|
158 |
+
detail_2 = """NihonGO ! : เป็นระบบที่ใช้ในการวิเคราะห์ตัวอักษรคันจิจากลายมือเขียนโดยอัติโนมัติ โดยใช้หลักการของ Deep learning (Convolutional Neural Network) ในการแยกแยะตัวอักษรคันจิ
|
159 |
+
เพื่อใช้เป็นตัวช่วยในการฝึกฝนการเขียนคันจิ และเป็นตัวช่วยในการฝึกฝนในการเตรียมสอบวัดระดับ JLPT"""
|
160 |
+
st.markdown(detail_2)
|
161 |
+
st.caption("Development.")
|
162 |
+
st.markdown("- JLPTN5 : ระบบสามารถแยกแยะคันจิจำนวน 80 ตัวพื้นฐานตามเนื้อหาคันจิจากการสอบวัดระดับ JLPTN5")
|
163 |
+
st.subheader("Feature")
|
164 |
+
st.markdown(""" 1. บอกคันจิที่ระบบตรวจจับได้พร้อมกับค่าความเชื่อมั่น (accuracy score.)
|
165 |
+
|
166 |
+
2. จำนวนเส้น stroke ที่ใช้ในการเขียนคันจิ
|
167 |
+
|
168 |
+
3. เสียงอ่านแบบ Onyoumi กับ Kunyoumi พร้อมกับตัวอักษร Romanji
|
169 |
+
|
170 |
+
4. Link เนื้อหาเพิ่มเติมโดยระเอียดกับ website Shirabe jisho""")
|
171 |
+
st.subheader("Guideline")
|
172 |
+
st.markdown(""" - เพื่อความแม่นยำของระบบ ตอนนำข้อมูลรูปภาพเข้า หรือเขียนในระบบแนะนำให้ผู้ใช้งานเขียนตัวคันจิให้อยู่ตรงกลาง และมีขนาดที่ใหญ่พอดีกับขนาดของกรอบ""")
|
173 |
+
st.caption("ref : [kanshudo](https://www.kanshudo.com/collections/jlpt_kanji)")
|
174 |
+
|
175 |
+
|
176 |
+
|
passjapanesetest.com_N5_Kanji.csv
ADDED
@@ -0,0 +1,213 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
kanji,on-yomi,kun-yomi,meaning,examples
|
2 |
+
��,�C�`,�ЂƁ`�A�ЂƁE��,one; one radical (no.1),"���[�ЂƂ�] one (general counter)
|
3 |
+
��l[�ЂƂ�] one person
|
4 |
+
���[������] first | best; most"
|
5 |
+
��,�V�`,�ȂȁA�ȂȁE�A�Ȃ�,seven,"����[�ȂȂ�] seven (general counter)
|
6 |
+
����[�Ȃ̂�] the seventh day of the month"
|
7 |
+
��,�}��,,"10,000; ten thousand","�\��[���イ�܂�] 100,000"
|
8 |
+
�O,�T��,�݂��E�A�݁E��,three,"�O��[�݂���] three (general counter)
|
9 |
+
�O��[�݂���] the third day of the month"
|
10 |
+
��,�V���E�A�W���E,���E����A���E����A�����A����`,above; up,"��[��]���� to raise; to elevate | to increase (price, quality, status, etc.)
|
11 |
+
���[���傤��] skillful; proficient; good (at)
|
12 |
+
�㒅[���킬] coat; tunic; jacket; outer garment"
|
13 |
+
��,�J�A�Q,���E����A���E����A�����A�����E����,below; descend;; inferior; low,"�n���S[������] subway
|
14 |
+
�L��[�낤��] corridor; hallway
|
15 |
+
�C��[������] socks"
|
16 |
+
��,�`���E,�����A�Ȃ�,center; in; inside; middle,����[���イ����] China
|
17 |
+
��,�L���E�A�N,�����́A�����́E��,nine,"���[�����̂�] nine (general counter)
|
18 |
+
���[�����̂�] the ninth day of the month"
|
19 |
+
��,�j,�ӂ��E��,two; two radical (no. 7),"���[�ӂ���] two (general counter)
|
20 |
+
��l[�ӂ���] two people; pair; couple
|
21 |
+
���[�ӂ�] second day of the month"
|
22 |
+
��,�S,���A���E��,five,"�܂�[����] five (general counter)
|
23 |
+
�ܓ�[����] the fifth day of the month"
|
24 |
+
�l,�W���A�j��,�`�ƁA�`��A�Ђ�,person,"��l[�ЂƂ�] one person
|
25 |
+
��l[�ӂ���] two people; pair; couple
|
26 |
+
�O���l[������������] foreigner; foreign citizen
|
27 |
+
����l[���ザ��] (hon) your husband"
|
28 |
+
��,�R��,����,now,"���N[���Ƃ�] this year
|
29 |
+
����[�����] tonight
|
30 |
+
����[����] this month"
|
31 |
+
�x,�L���E,�₷�E��,day off; rest; retire,"�x[�₷]�� rest | vacation; holiday
|
32 |
+
�x[�₷]�� to take a day off | to rest; to have a break
|
33 |
+
�ċx[�Ȃ₷]�� summer vacation"
|
34 |
+
��,�J�C,���E��,association; join; meet; meeting,"��[��]�� to meet
|
35 |
+
���[��������] company"
|
36 |
+
��,�J,�ȂɁA�Ȃ�,what,��[�Ȃ�]�̗���[��傤��] What kind of food
|
37 |
+
��,�Z��,����,ahead; before; future; previous,"�挎[����] last month
|
38 |
+
�搶[����] teacher; doctor
|
39 |
+
��T[���イ] last week"
|
40 |
+
��,�j���E,���E��A���E���A�͂��E��,enter; insert,"��[��]��� to put in; to insert
|
41 |
+
��[�͂�]�� to enter; to go into | to join; to enroll
|
42 |
+
����[���肮��] entrance; entry"
|
43 |
+
��,�n�`,��A����E�A��E�A�悤,eight; eight radical (no. 12),"����[�����] eight (general counter)
|
44 |
+
����[�悤��] the eighth day of the month
|
45 |
+
���S��[�₨��] greengrocer"
|
46 |
+
�Z,���N,�ށA�ނ��A�ނ��E�A�ށE��,six,"�Z��[�ނ���] six (general counter)
|
47 |
+
�Z��[�ނ���] sixth day of the month"
|
48 |
+
�~,�G��,�܂�E��,circle; round; yen,�\�~[���イ����] 10 yen
|
49 |
+
�o,�V���c,���E���A�ŁE��,come out; exit; go out; leave; protrude; put out,"�o[��]�� to take out; to get out | to submit (e.g. thesis) | to send (e.g. letter)
|
50 |
+
�o[��]������ to go out (ex. on an outing); to set out
|
51 |
+
�o[��]�� to leave; to exit; to go out;
|
52 |
+
�o��[�ł���] exit
|
53 |
+
�o��[�ł�]�� to be able to do"
|
54 |
+
��,�t���A�u��,��E����A��E�����A��E����,degree; know; understand; minute of time; part,"��[��]���� to understand; to comprehend
|
55 |
+
����[�͂�Ԃ�] half
|
56 |
+
����[���Ԃ�] perhaps; probably
|
57 |
+
����[���Ԃ�] myself; oneself
|
58 |
+
�`��[�Ԃ�] minutes (unit of time) | counter for minutes"
|
59 |
+
�O,�[��,�܂�,before; in front,"�ߑO[������] morning; a.m.
|
60 |
+
���O[�Ȃ܂�] name | given name; first name"
|
61 |
+
�k,�z�N,����,north,�k[����] north
|
62 |
+
�\,�W���E�A�W���b,�Ƃ�,ten,"�\��[�������] 10 small objects
|
63 |
+
�\��[�Ƃ���] the tenth day of the month"
|
64 |
+
��,�Z��,,thousand,��[����] thousand
|
65 |
+
��,�S,,11AM-1PM; noon; seventh sign of Chinese zodiac; sign of the horse,"�ߑO[������] morning; a.m.
|
66 |
+
�ߌ�[����] afternoon; p.m."
|
67 |
+
��,�n��,�Ȃ��E��,half; middle; odd number; part-; semi-,����[�͂�Ԃ�] half
|
68 |
+
��,�i��,�݂Ȃ�,south,��[�݂Ȃ�] south
|
69 |
+
�F,���E,�Ƃ�,friend,�F�B[�Ƃ�����] friend; companion
|
70 |
+
��,�N�A�R�E,����,mouth,"����[���肮��] entrance; entry
|
71 |
+
�o��[�ł���] exit"
|
72 |
+
��,�R,�ӂ�E��,old,��[�ӂ�]�� old (not person); aged; stale
|
73 |
+
�E,�E�A���E,�݂�,right,�E[�݂�] right
|
74 |
+
��,�~���E�A���C,��,distinguished; name,"���O[�Ȃ܂�] name | given name; first name
|
75 |
+
������[�Ђ炪��] hiragana
|
76 |
+
�L��[�䂤�߂�] famous"
|
77 |
+
�l,�V,���A����E�A��E��,four,"�l��[�����] four (general counter)
|
78 |
+
�l��[�����] fourth day of the month"
|
79 |
+
��,�R�N,����,country,"�O��[��������] foreign country
|
80 |
+
�O���l[������������] foreigner; foreign citizen"
|
81 |
+
�y,�g�A�h,��,earth; ground; soil,�y�j��[�ǂ悤��] Saturday
|
82 |
+
�O,�K�C,���ƁA�͂��E���A�͂��E���A�ق�,outside,"�O��[��������] foreign country
|
83 |
+
�O���l[������������] foreigner; foreign citizen"
|
84 |
+
��,�^,�����E��,frequent; many; much,����[���Ԃ�] perhaps; probably
|
85 |
+
��,�^�C�A�_�C,�����E����,big; large,"���v[�������傤��] safe; all right; alright; OK
|
86 |
+
��g��[����������] embassy
|
87 |
+
���[��������] important; necessary
|
88 |
+
�吨[��������] many people
|
89 |
+
��w[��������] university; college"
|
90 |
+
�V,�e��,����,heavens; imperial; sky,�V�C[��] weather
|
91 |
+
��,�W��,�����,female; woman,��[�����]�̎q[��] girl; young woman
|
92 |
+
�q,�V�A�X,��, child,"��[�����]�̎q[��] girl; young woman
|
93 |
+
�q��[���ǂ�] child; children
|
94 |
+
�X�q[�ڂ���] hat
|
95 |
+
�j[���Ƃ�]�̎q[��] boy"
|
96 |
+
�w,�K�N,�܂ȁE��,learning; science; study,"��w[��������] university; college
|
97 |
+
�w�Z[��������] school
|
98 |
+
���w��[��イ��������] exchange student"
|
99 |
+
��,�A��,�₷�E��,cheap; contented; low; peaceful; quiet; relax; rested,��[�₷]�� cheap; inexpensive
|
100 |
+
��,�V���E,�����E����,little; small,"��[����]���� small; little; tiny
|
101 |
+
��[����]���� small; little; tiny"
|
102 |
+
��,�V���E,�����E�Ȃ��A�����E��,few; little,"��[����]�Ȃ� few; a little
|
103 |
+
��[����]�� small quantity; little; few"
|
104 |
+
�R,�T��,���,mountain,��R[��������] a lot; many; a large number **Not always written in kanji
|
105 |
+
��,�Z��,����,river,��[����] river
|
106 |
+
��,�T�A�V��,�Ђ���,left,��[�Ђ���] left
|
107 |
+
�N,�l��,�Ƃ�,year,"���N[���Ƃ�] this year
|
108 |
+
�ė��N[���炢�˂�] year after next
|
109 |
+
���N[�܂��Ƃ�] every year; annually
|
110 |
+
�`�N[�˂�] year (unit of time) | counter for years"
|
111 |
+
�X,�e��,�݂�,shop; store,�i���X[�������Ă�] coffee shop; cafe
|
112 |
+
��,�R�E�A�S,���ƁA�����E��,back; behind; later,"�ߌ�[����] afternoon; p.m.
|
113 |
+
��[����]�� back; behind; rear"
|
114 |
+
��,�V���A�Y,�āA��,hand,"���[���傤��] skillful; proficient; good (at)
|
115 |
+
����[�ւ�] unskillful; poor; awkward
|
116 |
+
�؎�[������] stamp (postage)
|
117 |
+
�莆[�Ă���] letter
|
118 |
+
�����[����]�� toilet; restroom"
|
119 |
+
�V,�V��,������E�����A����E��,new,"�V[������]���� new
|
120 |
+
�V��[����Ԃ�] newspaper"
|
121 |
+
��,�W�c�A�j�`,���A�сA��,counter for days; day; Japan; sun,"����[�Ȃ̂�] the seventh day of the month
|
122 |
+
�y�j��[�ǂ悤��] Saturday
|
123 |
+
���j��[�ɂ��悤��] Sunday"
|
124 |
+
��,�W,�ǂ��A�Ƃ�,hour; time,"���X[�Ƃ��ǂ�] sometimes
|
125 |
+
�`����[������] period of hours"
|
126 |
+
��,�V��,���E��,write,"�}����[�Ƃ��傩��] library
|
127 |
+
�t��[�͂���] postcard
|
128 |
+
����[������] dictionary"
|
129 |
+
��,�K�c�A�Q�c,��,month; moon,"�ꌎ[��������] January
|
130 |
+
����[����] this month
|
131 |
+
�挎[����] last month
|
132 |
+
���j��[���悤��] Monday
|
133 |
+
����[�܂���] every month"
|
134 |
+
��,�{�N�A���N,��,tree; wood,�ؗj��[�����悤��] Thursday
|
135 |
+
�{,�z��,����,book; counter for long cylindrical things; origin; real; true,"�{��[�ق�Ƃ�] truth; reality; actuality
|
136 |
+
�{�I[�ق�] bookshelvese
|
137 |
+
�`�{[�ق�] counter for cylidrical objects"
|
138 |
+
��,���C,���E��,become; cause; come; due; next,"��[��]�� to come; to approach
|
139 |
+
����[�炢����] next month
|
140 |
+
���T[�炢���イ] next week"
|
141 |
+
��,�g�E,�Ђ���,east,��[�Ђ���] east
|
142 |
+
�Z,�R�E,,correction; exam; printing; proof; school,�w�Z[��������] school
|
143 |
+
��,�{,�͂�,mother,����[����]���� mother
|
144 |
+
��,�}�C,,every,"���N[�܂��Ƃ�] every year; annually
|
145 |
+
����[�܂��ɂ�] every day
|
146 |
+
����[�܂���] every night"
|
147 |
+
�C,�L�A�P,,air; atmosphere; mind; mood; spirit,"���C[����] healthy; well; lively
|
148 |
+
�V�C[��] weather
|
149 |
+
�a�C[�т傤��] illness; disease"
|
150 |
+
��,�X�C,�݂�,water,���j��[�����悤��] Wednesday
|
151 |
+
��,�J,�ЁA��,fire,�Ηj��[���悤��] Tuesday
|
152 |
+
��,�t,����,father,����[�Ƃ�]���� father
|
153 |
+
��,�V���E�A�Z�C,���܁E���A���E�ށA���E�����A���E����A���E����A�Ȃ�,birth; genuine; life,"�搶[����] teacher; doctor
|
154 |
+
��[��]�܂�� to be born
|
155 |
+
���k[������] student
|
156 |
+
���w��[��イ��������] exchange student
|
157 |
+
�a��[���傤]��[��] birthday"
|
158 |
+
�j,�_��,���Ƃ�,male,�j[���Ƃ�]�̎q[��] boy
|
159 |
+
��,�n�N,����E��,white,"��[����]�� white
|
160 |
+
�ʔ�[��������]�� interesting; fascinating"
|
161 |
+
�S,�q���N�A�r���N,,hundred,�S[�ЂႭ] 100
|
162 |
+
��,���N,��,eye; favor; insight; look,��[��] eye
|
163 |
+
��,�V��,�₵��,association; company; firm,���[��������] company
|
164 |
+
��,�N�E,����A���E���A���E����,empty; sky; vacant; vacuum; void,��[����] sky
|
165 |
+
��,���c,���E�A���E��,stand up; erect; rise; set up,"��[��]�� to stand; to rise
|
166 |
+
���h[�����] splendid; fine"
|
167 |
+
��,�W,�݂�,ear,��[�݂�] ear
|
168 |
+
��,�u��,���E��,ask; hear; listen,"��[��]�� to hear; to listen | to ask
|
169 |
+
�V��[����Ԃ�] newspaper"
|
170 |
+
��,�J,�͂�,flower,�ԕr[���т�] (flower) vase
|
171 |
+
�s,�M���E�A�R�E,���E���A�����ȁE���A��E��,go; act; carry out; line; row,"�s[��]�� to go; to head (towards)
|
172 |
+
���s[��傱��] trip
|
173 |
+
��s[����] bank
|
174 |
+
��s�@[�Ђ�����] airplane"
|
175 |
+
��,�T�C�A�Z�C,�ɂ�,west,��[�ɂ�] west
|
176 |
+
��,�P��,�݁E��A�݁E����,look at; opinion; see; visible,"��[��]���� to show; to display
|
177 |
+
��[��]�� to see; to look"
|
178 |
+
��,�Q���A�S��,���E���A����,say; word,"��[��]�� to say; to utter
|
179 |
+
���t[���Ƃ�] word; phrase"
|
180 |
+
�b,��,�͂Ȃ��A�͂ȁE��,tale; talk,"�b[�͂�]�� to talk; to speak; to converse
|
181 |
+
�d�b[�ł��] phone call | telephone (device)"
|
182 |
+
��,�S,�����E��,language; speech; word,�p��[������] English
|
183 |
+
��,�h�N,��E��,read,��[��]�� to read
|
184 |
+
��,�o�C,���E��,buy,"��[��]�� to buy
|
185 |
+
��[��]����[����] shopping; purchased goods"
|
186 |
+
��,�\�N,�����A���E���A���E���,be sufficient; counter for pairs of footwear; foot; leg,��[����] leg
|
187 |
+
��,�V��,�����,car,"������[���ǂ�����] automobile
|
188 |
+
���]��[����] bicycle
|
189 |
+
�d��[�ł�] train"
|
190 |
+
�T,�V���E,,week,"���T[���イ] this week
|
191 |
+
��T[���イ] last week
|
192 |
+
���T[�炢���イ] next week
|
193 |
+
���T[�܂����イ] every week
|
194 |
+
�`�T��[���イ����] period of weeks"
|
195 |
+
��,�g�E�A�h�E,�݂�,course; district; journey; moral; road-way; street; teachings,��[�݂�] road
|
196 |
+
��,�L��,����,gold,"���j��[����悤��] Friday
|
197 |
+
"
|
198 |
+
��,�`���E,�Ȃ��E��,leader; long; senior; superior,��[�Ȃ�]�� long (distance or time)
|
199 |
+
��,�J���A�P��,�������A��,interval; space,"����[������] time
|
200 |
+
�`�T��[���イ����] period of weeks"
|
201 |
+
�J,�E,����,rain,�J[����] rain
|
202 |
+
�d,�f��,,electricity,"�d�C[�ł�]�X�g�[�u electric heater
|
203 |
+
�d�b[�ł��] phone call | telephone (device)
|
204 |
+
�d��[�ł�] train"
|
205 |
+
�H,�V���N,���E�ׂ�A���E��,eat; food,"�H[��]�ׂ� to eat
|
206 |
+
�H[��]�ו�[����] food
|
207 |
+
�H��[���傭�ǂ�] cafeteria"
|
208 |
+
��,�C��,�́E��,drink; smoke; take,"��[��]�� to drink; to swallow; to take (medicine)
|
209 |
+
��[��]�ݕ�[����] drink; beverage"
|
210 |
+
�w,�G�L,,station,�w[����] train
|
211 |
+
��,�R�E,�����E���A�����E�܂�A�����E�߂�,expensive; high; tall,"��[����]�� high; tall | expensive
|
212 |
+
���Z[��������] high school"
|
213 |
+
��,�M��,������,fish,��[������] fish
|
requirements.txt
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
vgg16_unfreeze1.h5
|
vgg16_unfreeze1.h5
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:0325f6225d9a8af12fd2358c7b29dbde12edf0ff170e08d1fa95e47e005019bf
|
3 |
+
size 122884920
|