Reputation: 368
I've been attempting to create a Convolutional network that involves me using the Kuzushiji dataset to convert ancient kuzushiji documents into modern Japanese. I was just looking for a way to decode the labels given for each image into normal modern day Japanese characters
Sample string is given below
U+306F 1231 3465 133 53 U+304C 275 1652 84 69 U+3044 1495 1218 143 69 U+3051 220 3331 53 91 U+306B 911 1452 61 92 U+306B 927 3445 71 92 U+306E 904 2879 95 92 U+5DE5 1168 1396 187 95 U+3053 289 3166 69 97 U+4E09 897 3034 121 107 U+306E 547 1912 141 108 U+3084 1489 2675 151 109 U+3068 1561 2979 55 116 U+5DF1 1513 2500 127 117 U+3082 1213 1523 72 119 U+3055 1219 3266 95 124 U+306E 259 2230 68 125 U+306E 1184 2423 169 125 U+4E16 849 2236 163 127 U+7D30 1144 1212 200 128 U+305D 316 3287 57 133 U+4EBA 217 2044 183 135 U+3051 277 2974 112 137 U+308C 201 3423 181 137 U+3060 243 2830 159 143 U+5F37 1479 2034 163 145 U+306E 1497 1567 123 152 U+305F 1164 952 145 153 U+3066 552 1199 97 155 U+4FF3 537 2095 176 155 U+6839 203 1439 184 156 U+304B 1188 2606 156 157 U+8AE7 549 2328 156 159 U+308C 1495 2784 168 159 U+5B50 891 1255 100 164 U+3092 584 2546 117 164 U+53CA 849 1588 151 164 U+8005 1192 2198 133 169 U+305A 889 1763 103 171 U+907F 513 945 181 171 U+6B63 539 1439 136 172 U+6587 192 2382 216 173 U+3075 1512 3371 147 176 U+6642 1465 1338 168 179 U+601D 1492 3175 159 180 U+306A 1191 2775 135 181 U+3081 593 3313 151 184 U+6D6E 868 1982 155 184 U+3092 873 2400 145 192 U+6C17 1504 1754 145 200 U+8077 208 1770 197 204 U+8001 1167 1687 152 208 U+6B66 1184 1942 171 208 U+697D 568 2762 133 209 U+3082 247 1159 116 212 U+76F2 253 2578 119 215 U+82E5 1465 951 172 216 U+81EA 1852 1736 104 219 U+3069 220 928 139 229 U+98A8 541 1619 147 236 U+306B 1521 2239 83 237 U+88CF 851 2608 169 237 U+7573 905 3189 103 244 U+606F 876 937 123 244 U+5E8F 1816 2096 152 296 U+3057 629 2985 27 300 U+3057 1243 2942 39 313
Upvotes: 0
Views: 95
Reputation: 39158
Run with perl -C so-57962343.pl
.
use charnames qw();
my $input = 'U+306F 1231 3465 133 53 U+304C 275 1652 84 69 U+3044 1495 1218 143 69 U+3051 220 3331 53 91 U+306B 911 1452 61 92 U+306B 927 3445 71 92 U+306E 904 2879 95 92 U+5DE5 1168 1396 187 95 U+3053 289 3166 69 97 U+4E09 897 3034 121 107 U+306E 547 1912 141 108 U+3084 1489 2675 151 109 U+3068 1561 2979 55 116 U+5DF1 1513 2500 127 117 U+3082 1213 1523 72 119 U+3055 1219 3266 95 124 U+306E 259 2230 68 125 U+306E 1184 2423 169 125 U+4E16 849 2236 163 127 U+7D30 1144 1212 200 128 U+305D 316 3287 57 133 U+4EBA 217 2044 183 135 U+3051 277 2974 112 137 U+308C 201 3423 181 137 U+3060 243 2830 159 143 U+5F37 1479 2034 163 145 U+306E 1497 1567 123 152 U+305F 1164 952 145 153 U+3066 552 1199 97 155 U+4FF3 537 2095 176 155 U+6839 203 1439 184 156 U+304B 1188 2606 156 157 U+8AE7 549 2328 156 159 U+308C 1495 2784 168 159 U+5B50 891 1255 100 164 U+3092 584 2546 117 164 U+53CA 849 1588 151 164 U+8005 1192 2198 133 169 U+305A 889 1763 103 171 U+907F 513 945 181 171 U+6B63 539 1439 136 172 U+6587 192 2382 216 173 U+3075 1512 3371 147 176 U+6642 1465 1338 168 179 U+601D 1492 3175 159 180 U+306A 1191 2775 135 181 U+3081 593 3313 151 184 U+6D6E 868 1982 155 184 U+3092 873 2400 145 192 U+6C17 1504 1754 145 200 U+8077 208 1770 197 204 U+8001 1167 1687 152 208 U+6B66 1184 1942 171 208 U+697D 568 2762 133 209 U+3082 247 1159 116 212 U+76F2 253 2578 119 215 U+82E5 1465 951 172 216 U+81EA 1852 1736 104 219 U+3069 220 928 139 229 U+98A8 541 1619 147 236 U+306B 1521 2239 83 237 U+88CF 851 2608 169 237 U+7573 905 3189 103 244 U+606F 876 937 123 244 U+5E8F 1816 2096 152 296 U+3057 629 2985 27 300 U+3057 1243 2942 39 313';
for my $part (split /(?=U\+)/, $input) {
$part =~ s{
(?<codepoint>U\+[[:xdigit:]]+)
}{
charnames::string_vianame($+{codepoint})
}emsx;
print "$part\n";
}
__END__
は 1231 3465 133 53
が 275 1652 84 69
い 1495 1218 143 69
け 220 3331 53 91
に 911 1452 61 92
に 927 3445 71 92
の 904 2879 95 92
工 1168 1396 187 95
こ 289 3166 69 97
三 897 3034 121 107
の 547 1912 141 108
や 1489 2675 151 109
と 1561 2979 55 116
己 1513 2500 127 117
も 1213 1523 72 119
さ 1219 3266 95 124
の 259 2230 68 125
の 1184 2423 169 125
世 849 2236 163 127
細 1144 1212 200 128
そ 316 3287 57 133
人 217 2044 183 135
け 277 2974 112 137
れ 201 3423 181 137
だ 243 2830 159 143
強 1479 2034 163 145
の 1497 1567 123 152
た 1164 952 145 153
て 552 1199 97 155
俳 537 2095 176 155
根 203 1439 184 156
か 1188 2606 156 157
諧 549 2328 156 159
れ 1495 2784 168 159
子 891 1255 100 164
を 584 2546 117 164
及 849 1588 151 164
者 1192 2198 133 169
ず 889 1763 103 171
避 513 945 181 171
正 539 1439 136 172
文 192 2382 216 173
ふ 1512 3371 147 176
時 1465 1338 168 179
思 1492 3175 159 180
な 1191 2775 135 181
め 593 3313 151 184
浮 868 1982 155 184
を 873 2400 145 192
気 1504 1754 145 200
職 208 1770 197 204
老 1167 1687 152 208
武 1184 1942 171 208
楽 568 2762 133 209
も 247 1159 116 212
盲 253 2578 119 215
若 1465 951 172 216
自 1852 1736 104 219
ど 220 928 139 229
風 541 1619 147 236
に 1521 2239 83 237
裏 851 2608 169 237
畳 905 3189 103 244
息 876 937 123 244
序 1816 2096 152 296
し 629 2985 27 300
し 1243 2942 39 313
Upvotes: 1