Sunday, October 7, 2012

Анализ текстов http://www.statsoft.ru/home/portal/exchange/textanalysis.htm


Анализ текстов

В данной статье мы начнем обсуждение чрезвычайно интересной темы - применение статистики для анализа текстовой информации. Заметим, что применение статистики для анализа текстов – традиционная задача.

Вначале мы приведем некоторые интересные факты относительно частоты встречаемости букв и их сочетаний в разных языках (подробнее см. например, недавно вышедшую интересную книгу [1]). В последующих статьях покажем, как применять более сложные методы анализа и графического представления.

 

Частотные характеристики текстовых сообщений

Итак, текст состоит из слов, слова из букв. Количество различных букв в каждом языке ограничено и буквы могут быть просто перечислены. Важными характеристиками текста являются повторяемость букв, пар букв (биграмм) и вообще m-ок (m-грамм), сочетаемость букв друг с другом, чередование гласных и согласных и некоторые другие. Замечательно, что эти характеристики являются достаточно устойчивыми. Вопрос "почему" мы оставляем за кадром.

Используя систему STATISTICA Вы можете проверить эти закономерности, например, в текстах Интернет.

Идея состоит в подсчете чисел вхождений каждой nm возможных m-грамм в достаточно длинных открытых текстах T=t1t2…tl, составленных из букв алфавита {a1, a2, ..., an}. При этом просматриваются подряд идущие m-граммы текста:

t1t2...tm, t2t3... tm+1, ..., ti-m+1tl-m+2...tl.

Если  – число появлений m-граммы ai1ai2...aim в тексте T, а L – общее число подсчитанных m-грамм, то опыт показывает, что при достаточно больших L частоты

для данной m-граммы мало отличаются друг от друга.

В силу этого, относительную частоту (1) считают приближением вероятности P (ai1ai2...aim) появления данной m-граммы в случайно выбранном месте текста (такой подход принят при статистическом определении вероятности).

Ниже приводится таблицы частот букв (в процентах) ряда европейских языков. Данные заимствованы из книги [Bau39].

 

Буква алфавита Французский языкНемецкий язык Английский языкИспанский языкИтальянский язык
A7.685.527.96 12.9011.12
B 0.801.561.601.03 1.07
C3.322.94 2.844.424.11
D3.604.914.01 4.673.54
E17.76 19.1812.8614.15 11.63
F1.06 1.962.620.701.15
G1.103.60 1.991.001.73
H 0.645.025.39 0.910.83
I7.23 8.217.777.01 12.04
J0.19 0.160.160.24-
K-1.33 0.41--
L 5.893.483.51 5.525.95
M2.72 1.692.432.55 2.65
N7.6110.20 7.516.207.68
O5.342.146.62 8.848.92
P3.24 0.541.813.26 2.66
Q1.340.01 0.171.550.48
R6.817.016.83 6.956.56
S8.23 7.076.627.64 4.81
T7.305.86 9.724.367.07
U6.054.222.48 4.003.09
V1.27 0.841.150.67 1.67
W-1.38 1.80--
X0.54-0.17 0.07-
Y0.21 -1.521.05 -
Z0.071.17 0.050.311.24

 

Некоторая разница значений частот в приводимых в различных источниках таблицах объясняется тем, что частоты существенно зависят не только от длины текста, но и от его характера. Например, в технических текстах редкая буква Ф может стать довольно частой в связи с частым использованием таких слов, как функция, дифференциал, диффузия, коэффициент и т.п.

Еще большие отклонения от нормы в частоте употребления отдельных букв наблюдаются в некоторых художественных произведениях, особенно в стихах. Поэтому для надежного определения средней частоты букв желательно иметь набор различных текстов, заимствованных из различных источников. Вместе с тем, как правило, подобные отклонения незначительны, и в первом приближении ими можно пренебречь.

Наглядное представление о частотах букв дает диаграмма встречаемости. Так, для ангийского языка, в соответствии с таблицей, такая диаграмма изображена на рис.1. Для ее построения мы импользовали систему STATISTICA.

 

Рис.1

Рис.1

 

Для русского языка частоты (в порядке убывания) знаков алфавита, в котором отождествлены EЁЬ с Ъ, а также имеется знак пробела (-) между словами, приведены в следующей таблице (см. [Ягл.73]).

 

-
0.175
О
0.090
Е, Ё
0.072
А
0.062
И
0.062
Т
0.053
Н
0.053
С
0.045
Р
0.040
В
0.038
Л
0.035
К
0.028
М
0.026
Д
0.025
П
0.023
У
0.021
Я
0.018
Ы
0.016
З
0.016
Ь, Ъ
0.014
Б
0.014
Г
0.013
Ч
0.012
Й
0.010
Х
0.009
Ж
0.007
Ю
0.006
Ш
0.006
Ц
0.004
Щ
0.003
Э
0.003
Ф
0.002

 

На основании таблицы получаем следующую диаграмму частот (рис.2).

 

Рис.2

Рис.2

 

Имеется мнемоническое правило запоминания десяти наиболее частых букв русского алфавита. Эти буквы составляют нелепое слово СЕНОВАЛИТР. Можно также предложить аналогичный способ запоминания частых букв английского языка, например с помощью слова TETRIS-HONDA (см. таблицу).

 

Французский языкE, S, A, N, T, I, R, U, L, O 79.9%
Немецкий языкE, N, I, S, T, A, H, D, U 77.2%
Английский языкE, T, A, I, N, R, O, S, H, D 75.3%
Испанский языкE, A, O, S, I, R, N, L, D, C 78.3%
Итальянский языкI, E, A, O, N, T, R, L, S, T 79.9%

 

Устойчивыми являются также частотные характеристики биграмм, триграмм и четырехграмм осмысленных текстов.

Приведем таблицы частот биграмм для русского и английского языков (таблицы заимствованы из книги [Fri85]). Для удобства они разбиты на четыре части по следующей схеме:

 

Часть1Часть2
Часть3Часть4

 

Часть1

 А БВГ ДЕЖ ЗИЙ КЛМ НОП
А212 35814 7615 7719 271945 511
Б 5     9 1 6   6  221  
В35 153 332  217  7103 9586
Г7    3 3   5 1 5 1 50 
Д 25 3 1129 1113  15 11322 3
Е2 91811 2775 10615 133524 63716
Ж51   6 12   5     6   
З 3517 153   4  21 299 1
И4 6225 10212 231911 192120 32813
Й11 413  12 4 5 127 97
К 2414 1 4 1126  14 1266 2
Л25 111 1332 136  121 8302
М182 411 2112 23 3 137 195
Н 5412 3334   58  3  12467 2
О1 288432 47157 181229 194138 30918
П7      15   4   9 1 46 

 

Часть2

 Р СТУ ФХЦ ЧШЩ ЫЬЭ ЮЯ
А 2631 2731 1067 101   26 9
Б8 1 6       1 11    2
В 6196 7 1 124 1181 2 3
Г7   2               
Д6 8110   1 11  51   1
Е 393733 318 373 3   112
Ж 1                  
З3 1 2         4    4
И 112929 3117 3111 1   1317
Й310 2    13 2        
К10 3710   1           
Л  31 6 4  1   320  49
М25 391   2   5 11  3
Н1 997 1 5 2   363   5
О 435039 325 2124 3   232
П411  6        2     2

 

Часть3

 АБ ВГД ЕЖЗ ИЙК ЛМН ОП
Р 5514 4337 3124  31 3756 2
С8 171 225   6  40133 92711
Т351 2713 31 1 28 5 1111 564
У 144 4112 632  85 551 5
Ф2      2   2       1 
Х41 413 1 2 3 4 334 185
Ц 3     7   10  2    1  
Ч12      23   13  2   6  
Ш5      11   14 1 2 2 2 
Щ 3     8   6      1   
Ы  191 312  247 366 3210
Ь 2 411 2 2 2 6  313 24
Э              1   1   
Ю  212 1   31  1 1 113
Я13 913 315 323 346 36

 

Часть4

 Р СТУ ФХЦ ЧШЩ ЫЬЭ ЮЯ
Р 15 916  111 2 8 3   5
С4 11826  11 22  18   17
Т 26182 10    1   1121   4
У714 7   1 8 32    9 1
Ф1 1                 
Х 342 21   1         
Ц    1        1      
Ч   71      1   1    
Ш     1         1    
Щ    1               
Ы3 941  16  12        
Ь 1113      14     131
Э 1 9                
Ю1 17    1 1 4       
Я 3610   2 141 1   111

 

Рис.3

Рис.3

 

Хорошие таблицы k-грамм легко получить, используя тексты электронных версий многих книг, содержащихся на CD-дисках.

Для получения более точных сведений об открытых текстах можно строить и анализировать таблицы k-грамм при k>2, однако для учебных целей вполне достаточно ограничиться биграммами. Неравномерность k-грамм (и даже слов) тесно связана с характерной особенностью открытого текста – наличием в нем большого числа повторений отдельных фрагментов текста: корней, окончаний, суффиксов, слов и фраз. Так, для русского языка такими привычными фрагментами являются наиболее частые биграммы и триграммы:

СТ, НО, ЕН, ТО, НА, ОВ, НИ, РА, ВО, КО
СТО, ЕНО, НОВ, ТОВ, ОВО, ОВА

Полезной является информация о сочетаемости букв, то есть о предпочтительных связях букв друг с другом, которую легко извлечь из таблиц частот биграмм.

Имеется в виду таблица, в которой слева и справа от каждой буквы расположены наиболее предпочтительные "соседи" (в порядке убывания частоты соответствующих биграмм). В таких таблицах обычно указывается также доля гласных и согласных букв (в процентах), предшествующих (или следующих за) данной букве.

Сочетаемость букв русского языка:

 

Г ССлева  СправаГ С
397 л, д, к, т, в, р, нAл, н, с, т, р, в, к, м 1288
80 20я, е, у, и, а, оБ о, ы, е, а, р, у8119
6832я, т, а, е, и, о Во, а, и, ы, с, н, л, р60 40
7822 р, у, а, и, е, оГо, а, р, л, и, в 6931
72 28р, я, у, а, и, е, оД е, а, и, о, н, у, р, в6832
1981м, и, л, д, т, р, н Ен, т, р, с, л, в, м, и12 88
8317 р, е, и, а, у, оЖе, и, д, а, н 7129
89 11о, е, а, иЗ а, н, в, о, м, д5149
2773р, т, м, и, о, л, н Ис, н, в, и, е, м, к, з25 75
5545 ь, в, е, о, а, и, сКо, а, и, р, у, т, л, е 7327
77 23г, в, ы, и, е, о, аЛ и, е, о, а, ь, я, ю, у7525
8020я, ы, а, и, е, о Ми, е, о, у, а, н, п, ы73 27
5545 д, ь, н, оНо, а, и, е, ы, н, у 8020
11 89р, п, к, в, т, нО в, с, т, р, и, д, н, м1585
6535в, с, у, а, и, е, о По, р, е, а, у, и, л68 32
5545 и, к, т, а, п, о, еРа, е, о, и, у, я, ы, н 8020
69 31с, т, в, а, е, и, оС т, к, о, я, е, ь, с, н3268
5743ч, у, и, а, е, о, с То, а, е, и, ь, в, р, с63 37
1585 п, т, к, д, н, м, рУт, п, с, д, н, ю, ж 1684
70 30н, а, е, о, иФ и, е, о, а, е, о, а8119
9010у, е, о, а, ы, и Хо, и, с, н, в, п, р43 57
6931 е, ю, н, а, иЦи, е, а, ы 937
82 18е, а, у, и, оЧ е, и, т, н6634
6733ь, у, ы, е, о, а, и, в Ше, и, н, а, о, л68 32
8416 е, б, а, я, юЩе, и, а 973
0 100м, р, т, с, б, в, нЫ л, х, е, м, и, в, с, н5644
0100н, с, т, л Ьн, к, в, п, с, е, о, и24 76
1486 с, ы, м, л, д, т,, р, нЭн, т, р, с, к 0100
58 42ь, о, а, и, л, уЮ д, т, щ, ц, н, п1189
4357о, н, р, л, а, и, с Яв, с, т, п, д, к, м, л16 84

 

Рис.4

Рис.4

 

При анализе сочетаемости букв друг с другом следует иметь в виду зависимость появления букв в открытом тексте от значительного числа предшествующих букв. Для анализа этих закономерностей используют понятие условной вероятности.

Наблюдения над открытыми текстами показывают, что для условных вероятностей выполняются неравенства p(ai1)≠p(ai1/ai2)p(ai1/ai2)≠p(ai1/ai2ai3),....

Систематически вопрос о зависимости букв алфавита в открытом тексте от предыдущих букв исследовался известным русским математиком А. А. Марковым (1856 – 1922). Он доказал, что появления букв в открытом тексте нельзя считать независимыми друг от друга. В связи с этим А. А. Марковым отмечена еще одна устойчивая закономерность открытых текстов, связанная с чередованием гласных и согласных букв. Им были подсчитаны частоты встречаемости биграмм вида гласная-гласная (гг), гласная-согласная (гс), согласная-гласная (сг), согласная-согласная (сс) в русском тексте длиной в 105 знаков. Результаты подсчета отражены в следующей таблице:

 

 Г СВсего
Г 658838310 44898
С38296 1680655102

 

Из этой таблицы видно, что для русского языка характерно чередование гласных и согласных, причем относительные частоты могут служить приближениями соответствующих условных и безусловных вероятностей:

p(г/с)≈0.663, p(с/г)≈0.872,
p(г)≈0.432, p(с)≈0.568.

После А. А. Маркова зависимость появления букв текста вслед за несколькими предыдущими исследовал методами теории информации К. Шеннон. Фактически им было показано, в частности, что такая зависимость ощутима на глубину приблизительно в 30 знаков, после чего она практически отсутствует.

Доля гласных букв в литературном тексте:

 

Французский язык 44.27%
Немецкий язык 39.27%
Английский язык39.21%
Испанский язык47.95%
Итальянский язык 46.80%

 

Рис.4

Рис.4

 

Приведенные выше закономерности имеют место для обычных "читаемых" открытых текстов, используемых при общении людей. Как уже отмечалось ранее, эти закономерности играют большую роль в криптоанализе. В частности, они используются при построении формализованных критериев на открытый текст, позволяющих применять методы математической статистики в задаче распознавания открытого текста в потоке сообщений. При использовании же специальных алфавитов требуются аналогичные исследования частотных характеристик "открытых текстов", возникающих, например, при межмашинном обмене информацией или в системах передачи данных. В этих случаях построение формализованных критериев на "открытый текст" – задача значительно более сложная.

В качестве примера приведем частотные характеристики букв английского алфавита, входящих в состав кода ASCII.

 

Рис.5

Рис.5

 

Помимо криптографии частотные характеристики открытых сообщений существенно используются и в других сферах. Например, клавиатура компьютера, пишущей машинки или линотипа – это замечательное воплощение идеи ускорения набора текста, связанное с оптимизацией расположения букв алфавита относительно друг друга в зависимости от частоты их применения.

 

Литература:

[1] - А.П.Алферов и др., "Криптография"

[Ягл73] – Яглом А. М., Яглом И. М., Вероятость и информация, М.: Наука, 1973.

[Bau39] – Baudouin C., Elements de cryptographie / Ed. Pedone A. – Paris, 1939.

[Fri85] – Friedman W. F., Callimahos D., Military cryptanalysis, Part i, Vol 2, Aegean Park Press, Laguna Hills CA, 1920.

No comments:

Post a Comment