Анализ английских текстов на основе частотных характеристик биграмм
Вероятностно-статистический метод определения частотных характеристик текста. Подсчет абсолютной и относительной частот биграмм, их энтропии и избыточности, сравнение этих характеристик. Порядок составления программы на языке программирования Pascal.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 06.06.2013 |
Размер файла | 24,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Анализ английских текстов на основе частотных характеристик биграмм
Введение
программа pascal частотный биграмма
В основу данной работы положен вероятностно-статистический метод определения частотных характеристик текста. Целью работы является не только подсчет абсолютной и относительной частот биграмм, их энтропии и избыточности, но и сравнение этих характеристик в разных источниках. Для решения этой задачи была составлена соответствующая программа на языке программирования Pascal.
В 1948 году американский инженер Клод Элвуд Шеннон, занимаясь конкретными задачами увеличения пропускной способности технических каналов связи и их помехоустойчивости, предложил использование вероятностно-статистического подхода, основанного на понятии энтропии и введённой им количественной мере информации. На основе этого возникла математическая теория передачи сообщений (теория информации), создавшая логическую базу для решения множества теоретических и технических проблем связи. [1,2]
Некоторых основных принципы этой теории приведены ниже.
1. Теоретические положения
Для начала необходимо дать определение информации и источника информации. Под источником информации понимается некоторая физическая система с конечным числом различных состояний. Эти состояния системы будут обозначаться, как х1, х2, …, хn. Считается, что система с течением времени меняет свои состояния, переходя из одного состояния в некоторое следующее с какой-то вероятностью. При наблюдении за «эволюцией» системы, фиксируются ее состояния в последовательные моменты времени, путем выписывания символов, соответствующих этим состояниям. После завершения наблюдений за системой получается некоторая последовательность символов, выражающая «эволюцию» системы. Символы х1, х2, …, хn, обозначающие состояния системы, образуют алфавит этой системы, а полученная последовательность символов называется текстом или сообщением, порожденным источником сообщения. [2]
Двумя другими важными, с точки зрения теории информации, являются избыточность источника сообщения и энтропия.
Избыточность - величина, характеризующая информативность источника сообщения, которая задаётся следующей формулой:
R=1 - H/Hmax,
где Hmax - энтропия источника сообщения, имеющего тот же алфавит, но в котором все алфавитные символы встречаются с равными вероятностями. Избыточность показывает долю «лишних» букв в текстах. Она колеблется в пределах от 0 (когда Н=Hmax - следующим символом в прерванном сообщении с равной вероятностью может быть любая буква) до 1 (когда Н=0 - все время передается один символ) и часто выражается в процентах. Снижение избыточности делает передачу сообщений более экономичной и быстрой (при составлении телеграмм опускаются предлоги), но в то же время - менее надёжной: в сообщении источника с нулевой избыточностью пропущенный символ не восстановим. Поскольку во всех реальных каналах связи имеются помехи, разумная избыточность в сообщениях необходима. Избыточность позволяет легко восстановить исходный текст даже при наличии значительного числа ошибок в телеграмме или описок в книге. В естественных языках избыточность превышает 70%. Отсюда и следует, что выбор следующей буквы осмысленного текста более, чем на 70% определяется самой структурой языка и, следовательно, случаен лишь в сравнительно небольшой степени. Поскольку для энтропии имеет место неравенство 0 ? Н ? Hmax, то тогда избыточность изменяется в следующих границах: 0 ? R ? 1. Избыточность R является весьма важной статистической характеристикой языка. Была вычислена избыточность для естественных языков:
Язык |
Н |
R |
|
Русский Английский Немецкий Французский |
1,4 1,3 1,2 1,3 |
72% 72% 75% 72% |
Под энтропией источника сообщения или текста понимается величина, характеризующая степень неопределенности в предсказании следующего символа в прерванном сообщении. Рассматривая всевозможные тексты, порожденные данным источником сообщения, мы замечаем, что алфавитные символы встречаются в этих текстах с различной вероятностью (частотой). Пусть х1, х2, …, хn - алфавитные символы данного источника сообщения; обозначим через р1, р2, …, рn вероятности их встречаемости в сообщениях. Длительное время наблюдая работу источника сообщения мы можем также подсчитать вероятности, с которыми в сообщениях встречаются различные биграммы.
Исследования, проведенные в 1990 г. с помощью мощных компьютеров, дали следующие величины, которые в настоящий момент считаются информационными характеристиками соответствующих языков в смысле энтропии. [1]
Энтропии естественных языков
Язык |
Н |
|
Русский Английский Немецкий Французский |
1,4 1,3 1,2 1,3 |
Естественно считать, что энтропия Н(а) опыта а, которому отвечает таблица вероятностей
исходы опыта |
А1 |
А2 |
… |
Аn |
|
вероятности |
р(А1) |
р(А2) |
… |
р(Аn) |
зависит лишь от величин р(А1), р(А2), …, р(Аn) (является функцией этих величин).
Априорные требования к энтропии таковы:
І. Н(х) ? 0 для любого х. Н(х)=0, если мы не испытываем неопределенности в предсказании исхода эксперимента.
ІІ. Из всех экспериментов с данным числом исходов n, наибольшую энтропию должен иметь эксперимент с равновероятностными исходами.
ІІІ. Если эксперименты х и y независимы (т.е. результат проведения одного эксперимента никак не влияет на результат проведения другого эксперимента), то Н (х, y) = Н(х) + Н(y), где Н (х, y) - энтропия совместного проведения эксперимента х, y.
Единственной функцией, удовлетворяющей требованиям І-ІІІ является:
H = - p1log p1 - p2log p2 - … - pnlogpn, где log = log2
Для опыта с n равновероятными исходами p1 = p2 = … = pn = 1/ n и, значит, Н = logn.
Единицей для измерения энтропии является бит.
Условия, выполнения которых естественно требовать от функции Н(р1, р2, …, рn):
1. Значение функции Н(р1, р2, …, рn) не меняется при любой перестановке чисел р1, р2, …, рn.
2. Функция Н(р1, р2, …, рn) является непрерывной, т.е. мало меняется при малых изменениях вероятностей р1, р2, …, рn - ведь при малых изменениях вероятностей и степень неопределенности опыта должна мало изменяться.
3. Функция Н(р1, р2, …, рn) удовлетворяет соотношению Н(р1, р2, …, рn)= Н (р + р2, р3, …, рn) + (р1 + р2) Н(р1 / р1 + р2, р2 / р1 + р2).
Значительную роль играет функция Н (1/n, 1/n, …, 1/n) - мера неопределенности опыта б0, имеющего k равновероятных исходов.
4. Функция Н (1/n, 1/n, …, 1/n) = 1(n) растет с увеличением числа k. [1]
Если рассматривать каждую букву по отдельности, было бы очень мало информации о том, какой будет следующий за ней символ. Но подобного не случится, если рассматривать биграммы, т.к. они являются более устойчивыми по своей условной природе, и поэтому вероятность появления той или иной буквы после определенной биграммы стремиться к единице. Такая условность, когда при переходе в очередное состояние системы, значительную роль играют её предыдущие состояния, называется эргодичностью системы. В естественном языке определенные сочетания букв являются более устойчивыми. Так, например, разумно полагать, что с большей степенью вероятности после гласной последует согласная, «ъ» не может стоять в начале слова или после гласной и т.д. Все эти закономерности языка приводят к уменьшению энтропии определенной буквы данного языка. В любом естественном языке вероятность появления определенного знака зависит не только от одного символа, стоящего в слове до него, а от целого ряда предшествующих букв. Таким образом, изучение биграмм является более информативным. Вычислив закономерности появления биграмм, можно с большей степенью вероятности предсказывать последующие символы алфавита. [2]
2. Программа на языке Pascal
Составленная программа работает следующим образом: на вход подается текстовый файл (директория задается вручную). Затем производится анализ частотных характеристик, встречающихся в нем биграмм, и файл подается на запись. При этом создается новый документ, в котором содержатся результаты проведенного анализа.
program anal_bigramms;
const cAlph: string[27] = `ABCDEFGHIJKLMNOPQRSTUVWXYZ';
const sAlph: string[26] = `abcdefghijklmnopqrstuvwxyz';
var F1, F2: text;
name1, name2: string;
c: char;
mas: array [1.. 27,1..26] of longint;
n, n1: integer;
p: real;
i, j: integer;
total: longint;
H, iz, Hmax: real;
begin
{Задание файла для анализа}
write (`Введите имя файла для анализа:');
readln (name1);
assign (F1, name1);
reset (F1);
Hmax: ln(27)/ln(2);
iz:=0;
n:=0;
n1:=0;
total:=0;
while not eof(F1) do begin
read (F1, c);
{Учет всех биграмм в тексте и подсчет их абсолютной частоты}
n1:= pos (c, sAlph) + pos (c, cAlph);
if n*n1>0 then begin
inc (mas[n, n1]);
inc(total);
end;
n:=n1;
end;
close (F1);
writeln (`Анализ закончен.');
write (`Введите имя файла для сохранения результата анализа:');
readln (name2);
assign (F2, name2);
rewrite (F2);
writeln (F2, `Результат анализа файла `, name1,')');
Подсчет относительной частоты биграмм и энтропии текста
H:=0;
for i:=1 to 27 do
for j:=1 to 26 do begin
p:=mas [i, j]/total;
if (p>0) then begin H:=H-ln(p)/ln(2)*p;
{writeln (F2, cAlph[i], sAlph[j], `, ', mas [i, j], ',', p:6:4);}
end;
for t:= 1 to 26 do begin
ni:= 1; nj:= 1;
for i:=1 to cAlph[i] do
for j:=1 to sAlph[j] do
if freq^[i, j]>freq^[ni, nj]
then begin
ni:=i;
nj:=j;
p:=freq^[ni, nj]/total;
writeln (F2, cAlph[i], sAlph[j], `, ', mas [i, j], ',', p:6:4);
freq^[ni, nj]:= 0;
end;
H:=H/2;
iz:=1-H/Hmax;
writeln (F2, total, `H=', H:6:4, `iz=', iz:6:4);
close(F2);
end.
3. Экспериментальная часть
Всего было рассмотрено четыре текста. Посредством их анализа были получены следующие выходные данные. (В таблицах приводится по двадцать шесть наиболее частотных биграмм для каждого текста).
Джейн Остин «Чувство и Чувствительность»
Биграмма |
Абсолютная частота |
Относительная частота |
|
Fa |
1574 |
0,0265 |
|
_t |
1511 |
0,0254 |
|
Th |
1333 |
0,0224 |
|
Ea |
1246 |
0,0210 |
|
_a |
1172 |
0,0197 |
|
Ta |
1165 |
0,0196 |
|
He |
1047 |
0,0176 |
|
Ua |
959 |
0,0162 |
|
In |
890 |
0,0150 |
|
Ha |
787 |
0,0133 |
|
Er |
768 |
0,0129 |
|
An |
721 |
0,0121 |
|
_w |
703 |
0,0118 |
|
Oa |
685 |
0,0115 |
|
_s |
684 |
0,0115 |
|
_o |
674 |
0,0114 |
|
_i |
668 |
0,0112 |
|
Re |
613 |
0,0103 |
|
_h |
563 |
0,0095 |
|
En |
553 |
0,0093 |
|
Za |
552 |
0,0093 |
|
At |
549 |
0,0092 |
|
On |
547 |
0,0092 |
|
Ou |
527 |
0,0089 |
|
Sa |
523 |
0,0088 |
|
Ed |
502 |
0,0085 |
H=3.6811; R=0.2258
Френсис Скотт Фицджеральд «По расписанию»
Биграмма |
Абсолютная частота |
Относительная частота |
|
Fa |
107 |
0,0319 |
|
Ea |
99 |
0,0295 |
|
Th |
87 |
0,0259 |
|
In |
79 |
0,0235 |
|
_t |
79 |
0,0235 |
|
Ta |
77 |
0,0230 |
|
He |
75 |
0,0224 |
|
Ua |
69 |
0,0206 |
|
_a |
63 |
0,0188 |
|
Ha |
57 |
0,0170 |
|
_h |
56 |
0,0167 |
|
_f |
54 |
0,0161 |
|
_s |
54 |
0,0161 |
|
Ng |
52 |
0,0155 |
|
An |
50 |
0,0149 |
|
_w |
49 |
0,0146 |
|
At |
41 |
0,0122 |
|
Oa |
41 |
0,0122 |
|
Is |
40 |
0,0119 |
|
On |
39 |
0,0116 |
|
_b |
38 |
0,0113 |
|
Nd |
37 |
0,0110 |
|
Ed |
34 |
0,0101 |
|
Hi |
34 |
0,0101 |
|
Er |
33 |
0,0098 |
|
St |
33 |
0,0098 |
H=3.6579; R=0.2307
Френсис Скотт Фицджеральд «Снова в Вавилоне»
Биграмма |
Абсолютная частота |
Относительная частота |
|
_a |
288 |
0,0304 |
|
Ea |
249 |
0,0263 |
|
Fa |
241 |
0,0254 |
|
An |
194 |
0,0205 |
|
He |
193 |
0,0204 |
|
Ta |
193 |
0,0204 |
|
Er |
182 |
0,0192 |
|
Te |
163 |
0,0172 |
|
Oa |
159 |
0,0168 |
|
En |
156 |
0,0165 |
|
Th |
154 |
0,0163 |
|
Sa |
151 |
0,0159 |
|
_t |
141 |
0,0149 |
|
In |
120 |
0,0127 |
|
Nd |
119 |
0,0126 |
|
Re |
117 |
0,0124 |
|
Ed |
116 |
0,0122 |
|
St |
115 |
0,0121 |
|
On |
106 |
0,0112 |
|
_p |
103 |
0,0109 |
|
_s |
99 |
0,0105 |
|
Za |
95 |
0,0100 |
|
_w |
95 |
0,0100 |
|
Ua |
94 |
0,0099 |
|
Us |
90 |
0,0095 |
|
_b |
84 |
0,0089 |
H=3.6195; R=0.2388
Неизвестный писатель «Отношения»
Биграмма |
Абсолютная частота |
Относительная частота |
|
Fa |
615 |
0,0293 |
|
Ta |
597 |
0,0285 |
|
He |
466 |
0,0222 |
|
_a |
426 |
0,0203 |
|
Th |
418 |
0,0199 |
|
In |
400 |
0,0191 |
|
Ea |
397 |
0,0189 |
|
_t |
394 |
0,0188 |
|
Er |
370 |
0,0177 |
|
An |
310 |
0,0148 |
|
_h |
308 |
0,0147 |
|
Za |
300 |
0,0143 |
|
Is |
261 |
0,0125 |
|
_i |
261 |
0,0125 |
|
Oa |
256 |
0,0122 |
|
Ua |
249 |
0,0119 |
|
Ar |
226 |
0,0108 |
|
_b |
227 |
0,0108 |
|
Nd |
222 |
0,0106 |
|
Sa |
220 |
0,0105 |
|
Ha |
216 |
0,0103 |
|
En |
213 |
0,0102 |
|
_m |
210 |
0,0100 |
|
Re |
207 |
0,0099 |
|
Te |
205 |
0,0098 |
|
Ia |
201 |
0,0096 |
H=3.5929; R=0.2444
Вывод
На основании выполненных вычислений можно сделать следующий вывод. В разных текстах частотный рисунок отличается друг от друга. Это можно объяснить рядом причин.
Например, в художественной литературе наиболее распространенным биграммом могут стать две начальные буквы имени главного героя. Также, у каждого автора имеется свойственный только ему стиль, что влечет за собой использование определенной лексики, выражений, способа построения текста. Плюс ко всему, массив взятых текстов недостаточен, чтобы говорить о языке в целом. Все это не может не отразиться на исследованных показателях.
На примере данной работы видно, что при установлении авторства текста нет ничего лучше, чем количественный метод анализа, так как при таком анализе в рассмотрение берется не содержательная сторона произведения, а параметры, неподдающиеся сознательному контролю. При учете ряда особенностей художественной литературы, перечисленных ранее, можно с большей определенностью говорить о принадлежности конкретно взятого текста определенному автору.
Ярким примером такого анализа может служить работа шведских ученых Г. Хьетсо, С. Густавсона и Б. Бекона «Кто написал «Тихий Дон»?», в которой на основе вероятностно-статистического метода было проведено сравнение характеристик спорного текста с другими работами писателей, претендующих на авторство.
Привлечение методов точных наук в лингвистические исследования позволяет получить более четкую информацию о языке и о нас самих, как его носителях.
Список литературы
1. Салий В.Н. Математические основы гуманитарных знаний. - Саратов: Изд-во Сарат. ун-та, 2006. - 308 с.
2. Яглом А.М., Яглом И.М. Вероятность и информация. - М.: Наука, 1973 г. - 512 с.
Размещено на Allbest.ru
...Подобные документы
Метод вероятностно-алгебраического моделирования. Примеры определения вероятностных характеристик функционально-сложной системы в символьном виде. Получение и добавление данных с сервера "Всемирной организации здравоохранения". Структура базы данных.
курсовая работа [353,4 K], добавлен 22.06.2014Исследование основных динамических характеристик предприятия по заданному каналу управления, результаты которого достаточны для синтеза управляющей системы (СУ). Построение математической модели объекта управления. Анализ частотных характеристик СУ.
курсовая работа [2,1 M], добавлен 14.07.2012История создания и развитие Pascal. Особенности пакета программирования Turbo. его возможности редактора текстов, компилятора и отладчика. Построения программы на языке Turbo Pascal, ее структура, типы алгоритмов, одномерные и многомерные массивы.
курсовая работа [519,3 K], добавлен 25.06.2011Определение секундного расхода жидкости, охлаждающей двигатель и количества теплоты, которая относится от двигателя ежесекундно. Разработка программы расчета данных характеристик для воды и тосола для различных автомобилей с использованием средств Pascal.
курсовая работа [104,5 K], добавлен 26.02.2014Разработка программы для редактирования в оперативной памяти текстовых ASCII-файлов размером не более 40 килобайт, на языке программирования Pascal в среде разработки Turbo Pascal 6.0. Инструкция для пользователя. Листинг разработанной программы.
курсовая работа [21,3 K], добавлен 26.11.2011Моделирование линейной системы, соответствующей элементам матричной весовой и переходной функций средствами пакета Matlab, их сравнение с аналитически полученными зависимостями. Расчет весовых и переходных функций. Анализ частотных характеристик.
лабораторная работа [390,0 K], добавлен 06.07.2009Существующие подходы к построению моделей телетрафика. Использование формулы Полячека-Хинчина и ее аналогов для определения характеристик СМО. Способы построения имитационных программ. Этапы и цели имитационного моделирования на языке GPSS World.
курсовая работа [1,4 M], добавлен 06.03.2014Сущность среды программирования Turbo Pascal. Разработка программы с учетом потребительских свойств. Особенности методов современной технологии программирования (пошаговой детализации, структурный, модульный принцип, метод иерархической декомпозиции).
курсовая работа [57,1 K], добавлен 03.03.2011Составление транслятора на языке С для перевода кода программы из языка Pascal в код программы на языке Cи. Распознавание и перевод конструкций: for, type, function, integer. Вешняя спецификация, описание, структура, текст программы; распечатка текстов.
курсовая работа [287,8 K], добавлен 24.06.2011Анализ последовательного корректирующего устройства, основанного на использовании логарифмических частотных характеристик. Определение дискретной передаточной функции микропроцессорного регулятора. Динамика системы в периоде квантования по времени.
контрольная работа [2,6 M], добавлен 16.09.2010История создания и развитие языка программирования Pascal, его версии. Особенности и порядок построения графика функции на языке Turbo Pascal с использованием декартовой системы координат. Блок схема алгоритма процедур, листинг и тестирование программы.
курсовая работа [102,7 K], добавлен 23.12.2011Определение статических электромеханических (естественных и искусственных) характеристик двигателя постоянного тока с независимым возбуждением. Показатели его свойств. Расчет и построение динамических, временных и частотных характеристик в среде Matlab.
лабораторная работа [513,6 K], добавлен 02.12.2014Программирование и структура программы на языке Turbo Pascal и MS Visual C++6.0. Вычисление площади круга. Реализация программы в системе Turbo Pascal и MS VISUAL C++6.0 для Windows. Структура окна ТРW. Сохранение текста программы в файле на диске.
лабораторная работа [3,7 M], добавлен 22.03.2012Разработка и описание программы анализа параметров и характеристик реализации случайного процесса: оценка статистических характеристик и плотности распределения реализации, корреляционных и спектральных характеристик реализации случайного процесса.
курсовая работа [708,8 K], добавлен 25.12.2008Анализ устойчивости САУ. Расчёт частотных характеристик замкнутой САУ. Показатели качества регулирования. Синтез последовательного корректирующего устройства. Показатели качества регулирования скорректированной САУ. Моделирование скорректированной САУ.
курсовая работа [201,3 K], добавлен 23.01.2008Теория чисел как одно из направлений математики, изучающее свойства натуральных чисел. Разработка программы-калькулятора CalcKurs на языке программирования Pascal. Основные функции, реализованные в программе. Интерфейс программы, описание процедур.
курсовая работа [1,9 M], добавлен 03.06.2010Порядок оценки точности системы автоматического управления по величине установившейся ошибки при типовых воздействиях, механизм ее повышения. Разновидности ошибок и методика их вычисления. Определение ошибок по виду частотных характеристик системы.
реферат [103,3 K], добавлен 11.08.2009Моделирование фильтра на функциональном уровне. Анализ характеристик во временной и частотной областях. Программа построения характеристик и численного расчета выражений. Оболочка построения принципиальной схемы фильтра и получения характеристик.
курсовая работа [1,8 M], добавлен 20.12.2010Переходная и импульсная характеристики объекта управления. Передаточная функция и переходная характеристика замкнутой системы. Оценка качества переходного процесса в среде LabView. Сравнение частотных характеристик объекта управления и замкнутой системы.
курсовая работа [1,1 M], добавлен 27.05.2014Регрессионный анализ, его цели. Алгоритм вычисления статистических характеристик по заданным формулам. Запись алгоритма в виде блок-схемы и программы на языке Си. Отладка программы средствами табличного процессора. Функционирование программного комплекса.
курсовая работа [1,2 M], добавлен 13.01.2016