powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Задачка: иероглифизация русского языка.
18 сообщений из 18, страница 1 из 1
Задачка: иероглифизация русского языка.
    #32721337
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пусть мы храним русскоязычные тексты, будем считать для простоты, что все они записаны малыми буквами, то есть алфавит состоит ровно из 32 символов (е и ё не различаем) .

В нашем распоряжении есть частотный словарь этого языка, - например, http://bokrcorpora.narod.ru/frqlist/frqlist.html (конкретно - файл http://bokrcorpora.narod.ru/frqlist/words.num.zip ).

Идея состоит в следующем: почему бы не "расширить" алфавит, добавив в него (кроме "одиночных" букв) еще и наиболее употребительные буквосочетания?

Я взял указанный словарь и посчитал на основании него частоты буквосочетаний (длинной от 1-го до 4-х символов). Вот 255 наиболее часто встречающихся сочетаний:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
s4	Freq	Count
о	 519367 	 54100 
е	 394055 	 43688 
а	 363252 	 47316 
и	 315264 	 40969 
т	 297447 	 32986 
н	 295426 	 35066 
с	 249725 	 31492 
л	 225329 	 28779 
в	 203184 	 23660 
р	 199621 	 30957 
к	 160502 	 19968 
м	 145157 	 16981 
д	 143804 	 14966 
у	 131154 	 16770 
п	 129238 	 19394 
я	 94617 	 12643 
ы	 89450 	 12434 
ь	 87900 	 10809 
з	 81647 	 10333 
г	 80200 	 8287 
б	 79961 	 8739 
ч	 71397 	 6942 
то	 71370 	 3525 
ст	 62258 	 8406 
на	 57357 	 4584 
но	 53228 	 6460 
не	 52936 	 3471 
по	 52619 	 6399 
й	 51778 	 7455 
ж	 49473 	 5227 
ал	 44170 	 6508 
ко	 44091 	 5123 
х	 42999 	 5939 
ни	 42271 	 5441 
ра	 41522 	 7039 
го	 40205 	 3237 
ро	 40017 	 5923 
ен	 38737 	 6190 
ка	 37421 	 4183 
ов	 36470 	 5445 
ли	 36190 	 5361 
ш	 35789 	 4920 
во	 35591 	 3736 
от	 34907 	 3272 
пр	 34725 	 5468 
та	 33227 	 3737 
ть	 33187 	 3940 
ос	 33113 	 4794 
ре	 32847 	 5149 
ол	 32776 	 3552 
ет	 31522 	 3917 
ел	 31011 	 3898 
ер	 30915 	 4614 
ло	 30814 	 3577 
ор	 30356 	 3857 
ом	 29295 	 3882 
ла	 28558 	 4292 
од	 28421 	 3432 
ва	 27853 	 5097 
за	 27813 	 3531 
те	 27355 	 3811 
де	 27042 	 2666 
он	 26643 	 2339 
ил	 26464 	 3633 
ю	 26153 	 4398 
ве	 26070 	 3372 
ат	 24856 	 4310 
ог	 24395 	 2611 
ле	 24343 	 3606 
ак	 24220 	 1289 
да	 24197 	 2142 
ес	 23929 	 3232 
ри	 22965 	 3627 
ой	 22838 	 2958 
ит	 22217 	 3565 
ль	 22004 	 2833 
ем	 21994 	 1883 
ме	 21717 	 2322 
ся	 21474 	 3529 
до	 21164 	 2365 
ти	 20453 	 2957 
же	 20373 	 1263 
че	 20346 	 2052 
ас	 20201 	 3139 
се	 20095 	 1158 
мо	 19935 	 1791 
об	 19467 	 2643 
ан	 19318 	 3798 
аз	 19261 	 1996 
бы	 19091 	 430 
ск	 19048 	 3258 
ны	 18769 	 4496 
ц	 17817 	 2798 
ам	 17401 	 2334 
ин	 17172 	 2732 
ки	 17089 	 2987 
тр	 17065 	 2653 
чт	 16388 	 134 
ег	 16166 	 762 
со	 16062 	 2149 
что	 15479 	 50 
ед	 15464 	 2160 
ру	 15452 	 1672 
щ	 15238 	 2385 
ма	 15012 	 1954 
ми	 14956 	 2816 
ви	 14702 	 1964 
вс	 14461 	 579 
ост	 14358 	 2172 
ав	 14209 	 2445 
им	 14186 	 1654 
ис	 14141 	 3016 
сл	 14104 	 1346 
про	 14054 	 2030 
бо	 13829 	 1402 
э	 13778 	 583 
сь	 13643 	 2463 
вы	 13312 	 2253 
тв	 13310 	 1848 
ар	 13161 	 2454 
ну	 13050 	 2184 
ди	 13027 	 1768 
из	 13027 	 1310 
его	 12786 	 320 
ого	 12432 	 1572 
ста	 12334 	 1404 
нн	 12286 	 2891 
ать	 12184 	 1568 
хо	 12020 	 1152 
ок	 11939 	 1832 
эт	 11885 	 96 
ие	 11797 	 1823 
ени	 11451 	 1904 
ча	 11389 	 1165 
ыл	 11293 	 397 
ей	 11262 	 1277 
пе	 11256 	 1836 
ик	 11172 	 2119 
ож	 11110 	 1268 
ое	 10779 	 1292 
ад	 10754 	 1705 
уд	 10639 	 912 
при	 10531 	 1705 
как	 10426 	 60 
ку	 10344 	 1781 
ше	 10329 	 1108 
ив	 10271 	 2553 
сто	 10266 	 970 
му	 10210 	 892 
бе	 10084 	 1367 
их	 10083 	 823 
оч	 9997 	 1151 
ест	 9983 	 1116 
дн	 9803 	 1033 
сп	 9768 	 1621 
оро	 9747 	 973 
чи	 9698 	 1469 
зн	 9659 	 991 
ств	 9620 	 1348 
кр	 9535 	 1625 
все	 9534 	 62 
был	 9484 	 47 
тор	 9358 	 729 
ду	 9289 	 932 
это	 9125 	 11 
оль	 9035 	 443 
си	 8920 	 1241 
ая	 8778 	 1862 
ты	 8735 	 1185 
ия	 8701 	 1442 
ля	 8686 	 1246 
ут	 8681 	 1164 
па	 8537 	 1632 
тс	 8489 	 1453 
са	 8485 	 985 
ня	 8407 	 795 
ул	 8402 	 1391 
жи	 8398 	 1111 
ту	 8386 	 1198 
ят	 8374 	 1128 
лс	 8308 	 1155 
енн	 8287 	 1845 
ае	 8273 	 1313 
ере	 8254 	 1228 
ры	 8241 	 1132 
лся	 8075 	 1117 
тел	 8071 	 1440 
ый	 8031 	 1492 
ьн	 8014 	 1633 
льн	 8014 	 1633 
св	 7964 	 665 
ид	 7953 	 819 
аза	 7922 	 266 
ото	 7914 	 417 
ще	 7910 	 875 
раз	 7900 	 1166 
мн	 7890 	 512 
уж	 7850 	 656 
мен	 7787 	 650 
али	 7694 	 1637 
под	 7620 	 1147 
ек	 7585 	 1126 
так	 7457 	 106 
ез	 7444 	 1066 
каз	 7368 	 445 
ев	 7332 	 1574 
ово	 7211 	 776 
оп	 7204 	 1503 
лу	 7179 	 842 
дел	 7178 	 536 
еб	 7168 	 497 
оз	 7157 	 1198 
ить	 7116 	 1035 
гл	 7021 	 709 
ши	 7009 	 1153 
ус	 6976 	 1229 
пер	 6973 	 1015 
ова	 6940 	 1263 
стр	 6914 	 1113 
вал	 6828 	 1693 
оло	 6803 	 824 
пол	 6785 	 1000 
ые	 6765 	 1380 
ее	 6755 	 379 
ф	 6744 	 1507 
ска	 6743 	 618 
нно	 6705 	 1140 
вн	 6670 	 863 
ых	 6660 	 1335 
лов	 6645 	 465 
вер	 6626 	 879 
или	 6625 	 913 
аж	 6571 	 750 
ает	 6521 	 1012 
тся	 6464 	 1087 
тн	 6427 	 1307 
сти	 6416 	 1036 
ич	 6382 	 1263 
бу	 6278 	 520 
ние	 6161 	 916 
ред	 6133 	 805 
га	 6110 	 1233 
пи	 6094 	 1134 
том	 6059 	 403 
бр	 6025 	 1141 
жа	 6024 	 1049 
каза	 5992 	 219 
ове	 5976 	 606 
еч	 5943 	 805 
рос	 5932 	 679 
гд	 5885 	 22 
нь	 5879 	 402 
ель	 5851 	 1150 
уг	 5845 	 482 

- почему 254? Чтобы "выйти" на 256 - с учетом того, что одно "место" нужно оставить под твердый знак, который оказался далеко "под чертой":

Код: plaintext
1.
s4	Freq	Count	FreqRang
ъ	 1263 	 277 	 1140 

- и еще одно место нужно зарезрвировать под хотя бы один спецсимвол ... он же - по совместительству - пробел ...
...
Рейтинг: 0 / 0
Задачка: иероглифизация русского языка.
    #32721347
1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а зачем это все ? Или просто "оцените красоту идеи" ?
...
Рейтинг: 0 / 0
Задачка: иероглифизация русского языка.
    #32721354
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В тексте могут встречаться не только буквы(буквы, между прочим, еще и в двух регистрах), но и знаки препинания наряду с цифрами, даже если этот текст и русскоязычный.

Так все же - зачем это? Попытка сжать данные?
...
Рейтинг: 0 / 0
Задачка: иероглифизация русского языка.
    #32721537
Фотография Green2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне это алгоритм LZW, реализованный в ZIP напоминает.
--

Posted via ActualForum NNTP Server 1.0
...
Рейтинг: 0 / 0
Задачка: иероглифизация русского языка.
    #32721550
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Да, это про сжатие данных ... такое, чтобы его легко было "разжимать". Даже не "данных", а - СЛОВАРЯ.

2. Да, конечно, это просто идея ... я как чукча: что пришло в голову, то и пою. Мож кому пригодится ... или на какие мысли наведет.
...
Рейтинг: 0 / 0
Задачка: иероглифизация русского языка.
    #32721662
ValGarn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемый Иван. Сейчас современная наука находится на таком этапе развития, что наблюдая за паденьем яблока, уже не откроешь закон всемирного тяготения, потому что его открыли уже очень давно.
Поэтому советую Вам, прежде чем делать "первооткрывания" в некоторой области, хорошо ее изучить. Все что в ней сделано до Вас.
По тому вопросу, который интересует Вас, я бы для начала посоветовал почитать http://www.penza.fio.ru/misc/admin/tcpip/comp_26.htm в частности, алгорит Хафмана. Но еще продуктивней было бы посещение библиотеки.
...
Рейтинг: 0 / 0
Задачка: иероглифизация русского языка.
    #32721677
Фотография Green2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"ValGarn" <nospam@sql.ru>; сообщил/сообщила в новостях следующее: news:1005298@sql.ru...
Уважаемый Иван. Сейчас современная наука находится на таком этапе развития, что наблюдая за паденьем яблока, уже не откроешь закон всемирного тяготения, потому что его открыли уже очень давно.
Поэтому советую Вам, прежде чем делать "первооткрывания" в некоторой области, хорошо ее изучить. Все что в ней сделано до Вас.
По тому вопросу, который интересует Вас, я бы для начала посоветовал почитать http://www.penza.fio.ru/misc/admin/tcpip/comp_26.htm в частности, алгорит Хафмана. Но еще продуктивней было бы посещение библиотеки.


Скучно! Так ничего не откроешь в жизни! Вдруг там действительно открытие и Иван FXS первооткрыватель! Если считать, что все открыто, ничего не придумаешь в жизни! Будешь только пережовывать старые открытия! Открытия там, где их не ждешь!
--

Posted via ActualForum NNTP Server 1.0
...
Рейтинг: 0 / 0
Задачка: иероглифизация русского языка.
    #32721859
Shultze
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Осталось придумать закорючки которые будут представлять эти дополнительные символы :))
...
Рейтинг: 0 / 0
Задачка: иероглифизация русского языка.
    #32721992
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValGarn , я же так и написал: чукча не читатель будет, чукча будет - писатель! ;-) А за ссылочку - спасибо!

И, кстати, на "первооткрывание" я - в этом топике, - вроде, не претендовал ...

Green2 , дело даже не втом, что "так ничего не откроешь в жизни!", но - в том (что Вы чуть ниже написали) "ничего не придумаешь" ...

Для того, чтобы ДЕЛАТЬ что-то - тоже ведь полезно "придумывать", а не только - чтобы "первооткрывать" ...

Shultze , дык - я же написал - иероглифизация ...
...
Рейтинг: 0 / 0
Задачка: иероглифизация русского языка.
    #32723808
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чё не сразу - "матрешка" - накиньте еще иероглифы корней (могабыть описанные уже заданным "словарем" букв и сочетний). + правила (ново)образования словоформ (спецпоследовательности?) Только 254 символа базового набора придется исчо проредить - т.к. служебные символы потребуются + , в т.ч. как говорилось, метка регистра. И где нть в 16 разрядов уложите таким макаром всего брокгауза с эфроном (с учетом словоформ). Затем и за иные словари приметесь. (а там и переводами займетесь.


Интересно посчитать, во сколько сожметесь в усредненном тексте (кстати текстовый поиск по ключам можно будет проводить не распаковывая).
...
Рейтинг: 0 / 0
Задачка: иероглифизация русского языка.
    #32727813
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValGarn... для начала посоветовал почитать http://www.penza.fio.ru/misc/admin/tcpip/comp_26.htm в частности, алгорит Хафмана.
- да, это - 2.6.5 Статический алгоритм Хафмана - очень полезно, спасибо за "науку".

Особенно меня заинтересовало следующее:Возможно применение стандартных алфавитов (кодовых таблиц) для пересылки английского, русского, французского и т.д. текстов, программных текстов на С++, Паскале и т.д
- не подскажете, где можно взять "стандартный алфавит ... для пересылки ... русского"?
...
Рейтинг: 0 / 0
Задачка: иероглифизация русского языка.
    #32748010
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас мне кажется, что "строго-алогитмическое" решение - в лоб - этой задачи ... сложновато.
Хочу попробовать порешать ее ГЕНЕТИЧЕСКИМ алгоритмом ... Что скажете?
...
Рейтинг: 0 / 0
Задачка: иероглифизация русского языка.
    #32748883
Ustazz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кодирование букв и слогов напоминает стенографию. Расширьте словарь до 2 байт, включая общеупотребительные понятия и слова :)
...
Рейтинг: 0 / 0
Задачка: иероглифизация русского языка.
    #32749872
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хмм, почему то мне кажется что и алгоритм Хаффмана и (скажем) Шеннона-Фано даже в статическом виде дадут гораздо лучший коэффициент сжатия чем такая иероглифизация. В чем же глубокий смысл? Я ничего не имею против, просто мне интересно за что бьемся.
...
Рейтинг: 0 / 0
Задачка: иероглифизация русского языка.
    #32750386
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХренХмм, почему то мне кажется что и алгоритм Хаффмана и (скажем) Шеннона-Фано даже в статическом виде дадут гораздо лучший коэффициент сжатия чем такая иероглифизация. В чем же глубокий смысл? Я ничего не имею против, просто мне интересно за что бьемся. Некоторое представление о битве можно получить
здесь и
здесь и
здесь
...
Рейтинг: 0 / 0
Задачка: иероглифизация русского языка.
    #32751479
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хрен ... за что бьемся.
- алгоритм Хаффмана использует для кодирования ТАБЛИЦУ, вообще говоря - БОЛЬШУЮ. А я бьюсь за кодирование (кодирование слов) которое было бы ВЫЧИСЛИМЫМ в обе стороны. При этом:
а. чтобы необходимые для кодирования таблицы были МАЛЕНЬКИМИ
б. чтобы ИСКЛЮЧЕНИЙ, не подпадающих под данный алгоритм было как можно меньше. (Понимая, что они, скорее всего, НЕИЗБЕЖНЫ!)
...
Рейтинг: 0 / 0
Задачка: иероглифизация русского языка.
    #32769153
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Люди добры, поглядите, - правильно ли я составил "таблицу Хаффмана"?
...
Рейтинг: 0 / 0
Задачка: иероглифизация русского языка.
    #32769159
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У-упс ... картинка не прошла:
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Задачка: иероглифизация русского языка.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]