Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория информации и кодирования (уч. пособие).docx
Скачиваний:
5
Добавлен:
01.04.2025
Размер:
7 Мб
Скачать
☆

Шаг 3. Используя инструмент «гистограмма» пакета анализа надстройки Анализ данных, находим частоты появления каждого символа в текстах и по ним находим вероятности их появления в данном языке.

Для использования инструмента Гистограмма нужно подготовить блок клеток с анализируемыми исходными данными и блок клеток с интервалами карманов. Оба блока, естественно, должны быть заполнены числами. Карманы образуют примыкающие один к другому интервалы чисел. С помощью инструмента Гистограмма компьютер подсчитывает количество чисел, попавших в тот или иной карман. Поскольку карманы не перекрываются, каждое из исходных чисел может попасть только в один карман, т.е. посчитано только один раз. Обычно интервалы карманов образуются последовательностью чисел, записанных в столбец. Пример интервала карманов изображен в виде таблицы, изображенной на рис. 6.

1

5

7

16

Рис. 6. Пример таблицы с набором карманов.

Числами в этой таблице описываются 3 кармана:

1-5, 5-7, 7-16.

И

-1

0

1

2

3

.

.

65515

65516

Рис. 7. Интервал карманов

сходные числовые данные вы должны были подготовить в ходе выполнения предыдущего 3-го пункта. Теперь нужно создать интервал карманов. Сделать это можно где угодно. Создадим карманы на том же листе, где находятся исходные данные. У вас это лист с именем Лист1.

Интервал карманов для нашей задачи должен быть таким, чтобы в карманы попадали отдельные кодовые значения. Уникод предполагает кодирования символов числами от 0 до 65535 с шагом 1, т.е. возможны коды 0, 1, 2, …, 65535. Если заранее известен интервал, в котором находятся коды алфавита заданного вам языка, интервал 0-65536 можно сократить.

Поскольку коды идут с шагом 1, ширину карманов также нужно брать равной 1. Таким образом, интервал карманов будем задавать в виде таблицы, изображенной на рис. 7.

Последние несколько кодов кодовой таблицы в Уникоде не используются. Поэтому карманы для них создавать необязательно. Поэтому таблицу, изображенную на рис. 7, совсем не обязательно продлевать до 65516-ти.

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

Для замены формул значениями после переноса копируемой информации в буфер промежуточного хранения (Ctrl+C) нужно выделить место вставки информации из буфера и правой кнопки «мыши» вызвать контекстное меню и в этом меню выбрать пункт Специальная вставка… (Рис. 8).

Рис. 8. Выбор пункта контекстного меню Специальная вставка.

Далее в появившемся диалоговом окне Специальная вставка нужно пометить позицию Значения и нажать кнопку ОК (рис. 9).

Рис. 9. Окно Специальная вставка

Теперь все готово к использованию инструмента Гистограмма.

Excel – сложная программа, сильно загружающая компьютер. Поэтому разработчики предусмотрели возможность подключения к ней по мере необходимости модулей, называемых надстройками. Нужный нам инструмент Гистограмма входит в состав надстройки Пакет анализа. Обычно эта надстройка отключена. Поэтому сначала нужно ее подключить. Для подключения или отключения надстроек используется меню Сервис –> Надстройки (рис. 10).

Рис. 10. Выбор пункта меню Надстройки.

В результате на экран высвечивается диалоговое окно Надстройки, в котором с помощью флажков помечаются нужные надстройки (рис. 11).

Рис. 11. Окно Надстройки

А нашем случае нужно пометить флажком опцию Пакет анализа и нажать ОК.

Эти действия приведут к появлению в меню нового пункта Сервис –> Анализ данных (рис. 12).

Рис. 12. Появление пункта меню Анализ данных.

Его и следует выбрать.

На экран будет выведено диалоговое окно Анализ данных с обширным списком инструментов анализа (рис. 13).

Рис. 13. Окно Анализ данных

Список просматривается при помощи линейки прокрутки. В этом списке нужно пометить элемент Гистограмма и нажать ОК.

В ответ высвечивается окно Гистограмма (рис. 14).

Рис. 14. Окно Гистограмма.

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

После нажатия на кнопку ОК через некоторой время на экран будет выведена новая страница (Лист2) со столбцами Карман и Частота. Содержимое столбца Карман указывает на коды символов, а содержимое столбца Частота – на частоту (количество) их появления в тексте. Большинство клеток столбца Частота будет заполнено нулями, что означает, что символов с соответствующими кодами в тексте нет. Первая строка таблицы соответствует несуществующему коду -1. В столбце Частота здесь отображается количество пустых клеток в области исходных данных (с помощью кода -1 мы решили отмечать пустые клетки).

Эта таблица неудобна тем, что на ней не видны сами символы. Это недостаток легко устранить если в в клетки третьего столбца, начиная с С3 ввести формулы вида: С3 <- =CD_UC(A3)

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

В результате в каждой строке будет высвечен символ, соответствующий коду этой строки.

Для отсева строк с пустыми частотами отфильтруйте только строки с непустыми частотами с помощью автофильтра.

Для того, чтобы автофильтр не мешал дальнейшей обработке данных, скопируйте отфильтрованные данные в буферную память, создайте новый рабочий лист (Лист3) и вставьте данные из буферной памяти в этот лист.

Далее следует проанализировать получившуюся таблицу и, если это явно видно, просуммировать частоты появления больших и соответствующих им маленьких букв. Кроме того, нужно отобрать коды соответствующие только буквам, т.е. нужно отбросить цифры, знаки препинания и т.п. символы. Для отбора букв используйте информацию об Уникоде, помещенную в папке Учебные материалы и на сайте консорциума Уникод (www.unicode.org). В итоге должна быть образована отдельная таблица в виде вертикального столбца с частотами появления букв алфавита, используемых в заданном вариантом языке.