Мой логотип Исходные коды
 

 

 

Назад…   К содержанию…   Далее…

 

Программа построения

частотного словаря в операционных системах Microsoft

I. Назначение программы

Программа «Частотный словарь» («freqdic.exe») предназначена для анализа частоты и порядка встречаемости слов, написанного кириллицей и латиницей, в проверяемом тексте (в формате text/plain и других текстовых форматах) в каждой из словоформ.

Она позволяет:

  1. Находить «редкие» ошибки, не выявляемые штатной программой проверки орфографии. Например, штатная программа проверки орфографии не проверяет следующее слово: «дезоксирибонуклеиновая». Однако сделать ошибку в этом слове легко (из-за своей длины и сложности произношения). Поэтому, если слово появляется несколько раз в списке слов, полученном после обработке текста программой «частотный словарь», это должно Вас насторожить – где-то возможна ошибка!
  2. Рассчитывать «семантическую близость» слов в документе (сравнивается частота употребления ключевых слов и расстояние между ними в документе);
  3. Корректировать стиль изложения текста автором (путем исключения слов паразитов и увеличения словарного запаса). Например, Вы пишете бумагу, выдержанную в определенном стиле. Этот стиль предполагает частое использование в тексте одних слов и запрет на использование других слов. Проверить это ограничение на слова и выявить его нарушение программой «частотный словарь».
  4. Определять авторство работы. Стиль каждого автора уникален в смысле частого употребления одних слов и исключения из своего лексикона других слов. Частотный словарь поможет Вам создать «частотную базу слов» текста. С помощью других алгоритмов (прежде всего – визуализации этой базы) можно будет с очень высокой вероятностью определять авторство текстов – исходные данные уже собраны программой «частотный словарь».
  5. Первичная индексация текста. Часто для облегчения полнотекстового поиска ключевых слов используются первичные индексы. Эти индексы позволяют:
    • быстро находить присутствие и отсутствие слов в документе при первичном и повторном поиске;
    • сортировать документы по частоте встречаемости в них ключевых слов.
    • использовать их как вспомогательный модуль в информационно-поисковых системах полнотекстового поиска и систем «индексации документов».
    • рассчитывать «расстояние», на котором отстоят друг от друга ключевые слова. (После обработки текста программой «частотный словарь» эта задача решается сама собой).
  6. Эта программа может помочь при автоматическом реферировании текста, поскольку вместе с частотой встречаемости слов в тексте программа запоминает «первую позицию» встречи слова в тексте.
  7. Программа может использоваться для пополнения словарной базы данных для автоматического перевода теста разными программами.
  8. Программа поможет в поиске неологизмов, устаревших и специальных слов.
  9. Также эта программа может стать основой более сложных алгоритмов анализа данных.

Все указанное выше предполагает рекомендовать эту программу для иллюстрации процесса создания программного продукта для целей датамайнинга.

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

II. Преимущества и новизна данной программы

Данная реализация программы основана на идее алгоритма, приведенной в работе «128 советов начинающему программисту» (авторы: Очков В.Ф., Пухначев Ю.В.), которая переработана авторам, и адаптирована для языка Си.

Хотя на рынке находится много программ – частотных словарей, эта программа имеет следующие преимущества:

  1. Она распространяется по лицензии GNU GPL. Это значит, что любой пользователь может не только пользоваться этой программой на условиях Copyleft (т.е. распространение продукта на условиях его приобретения), но и на тех же условиях модифицировать код и создавать новые продукты.
  2. Эта программа изначально лишена эвристических алгоритмов и алгоритмов анализа словоформ. Это значит, что слово «моя» запишется в словарь именно как слово «моя», а не «мыть», «мой» или даже «мы» (как это делают более «продвинутые» частотные словари). Эти слова могут анализироваться впоследствии более точными методами. Кроме того, используя разные словоформы можно более точно определять «расстояния между словами» в исходном тексте.
  3. Выходной файл имеет простую структуру, что позволяет его легко использовать для последующей обработки в других программах (в частности, средствами электронных таблиц OpenOffice Calc и Microsoft Excel).

III. Краткие сведения о формате файлов программы «Частотный словарь»

Программа работает с текстами, представленными в кодировке text/plain. Поддержка формата text/html не корректна. Другие форматы текстовых процессоров (Word, Writer, AbiWord и т.п.) не поддерживаются.

Программа «частотный словарь» анализирует текст в кодировке ASCII и в любой 8-ми битной кодировке, включая кодировки MS-DOS OEM 866, Windows ANSI cp 1251, UNIX KOI8-R. Кодировки Unicode и UTF-8 пока не поддерживаются, что делает программу («теоретически», на практике не применял) не переносимой на Linux.

Программа может анализировать тексты: text/plain, text/html, исходные файлы программ на языке Assembler и на языках высокого уровня, скриптов и макросов на любых языках, файлы с разметкой на основе xml и SGML.

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

  • номер слова по-порядку его появления в тексте;
  • слово в его уникальной словоформе;
  • количество слов, встретившихся в тексте в указанной словоформе;
  • (резервный столбец) приблизительно часть речи у указанного слова. В настоящее время выводит значения 512 для однобуквенных слов и 0 для всех остальных слов.

IV. Стандартные расширения файлов

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

На выходе также можно задавать также любые файлы. Однако для работы программы «в связке» с Excel расширение файлов должно быть .txt .

V. Кодировки текстовых файлов

Программа работает с 8-ми битными кодировками символов, характерные для текстов в операционных системах корпорации Microsoft.

Для анализа слов текстовый файл должен представлять либо «чисто текстовый файл» с кодами ASCII 32 – ASCII 126 (для текстов на английском языке), либо файл в расширенной ASCII-кодировке с кодами ASCII 32 - ASCII 255, в котором могут быть представлены и кириллические символы. Поддержка символов в формате UNICODE, UTF-8, UTF-16 (пока) не предусмотрена.

VI. Установка программы: freqdic

Программа не требует установки. Просто скопируйте файл с программой в каталог, указанный в переменной окружения «PATH» (например: C:\WINDOWS). Далее Вы будете вызывать программу из командной строки.

VII. Синтаксис программы freqdic.exe

Данная программа предназначена для работы в командной строке Microsoft Windows.

Для запуска программы необходимо:

  1. Прейти в директорию, в которой находятся тестируемые файлы;
  2. В командной строке необходимо набрать:
  3. freqdic «имя анализируемого файла» > «имя файла со списком слов»

    где «имя анализируемого файла» – исходный текстовый файл (с любым расширением);

    «имя файла со списком слов» – файл со списком слов частотного словаря (желательно с разрешением .TXT);

    > знак перенаправления вывода на экран в файл.

  4. После этого новый файл можно обрабатывать другими программами.

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

Примечание: «имя файла со списком слов» должно быть уникальным именем. При записи в него результатов работы программы «частотный словарь» его прежнее содержимое теряется безвозвратно!

Имена файлов для программы freqdic для MS-DOS должны быть в формате 8.3, для Win32 версии – в оригинальном формате. Желательно длинные имена файлов с расширением заключать в двойные кавычки.

После формирования таблицы программой freqdic с ней для ее дальнейшей обработки необходимо выполнить следующие действия:

  • преобразовать текст таблицы в кодировку Windows ANSI cp1251;
  • импортировать этот файл в программу Microsoft Excel или OpenOffice Calc для дальнейшей обработки (пересортировки, объединения словоформ и т.п.).

VIII. Формат результирующего файла

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

    1-ый столбец. Порядок первого появления слова в тексте;

    2-ой столбец. Найденное слово (в оригинальной словоформе).

    Внимание! Слова в разных словоформах являются отдельными словами (иначе говоря, словоформы не обрабатываются и не объединяются в одно слово).

    3-ий столбец. Частота встречаемости слова в данной словоформе в тексте.

    4-ый столбец. Часть речи слова.

В настоящее время в 4-ом столбце присутствует только два значения:

  • 0 – часть речи не определена;
  • 512 – слово из одной буквы, не несущее семантического значения.

В качестве первой строки выводится заголовок списка слов (на английском языке).

Данный формат файла легко импортируется в программу Microsoft Excel 2003 для последующей обработки (с помощью мастера импорта текстовых документов).

IX. Download

    Скачать программу freqdic.exe (версия MS-DOS);

    Скачать программу freqdic.exe (версия Win32);

    Скачать исходные тексты программ и документацию (файл source-freqdic-0.1.zip);

    Скачать программу freqdic.exe с макросом VBScript для получения частотных словарей (билингвы и «чисто английского текста», в формате Excel) из текстовой билингвы (файл bin-freqdic-0.1.zip, 43 395 байтов, 17.04.2012 11:30);

X. Заключение

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

Данная программа является прекрасным учебным примером построения на языке Си интеллектуальной системы поиска слов и словоформ – «частотный словарь». Автор понимает, что его функциональности не достаточно для того, чтобы на его основе создать полноценную интеллектуальную систему. Однако гибкость алгоритма, использованного в программе, позволяет использовать эту программу в качестве инструмента в создании более сложных систем интеллектуального поиска.

Успехов Вам в использование программы! Good Luck! Dankon!

 

Назад…   К содержанию…   Далее…

Copyright © Юрий А. Денисов
(yudenisov)
2006-2012. Все права защищены

Версия 0.2. Alpha от 19.04.2012

Гостевая книга Обсуждение работ в блоге. Отправить E-mail Автору проекта.

CopyLeft (L) by Юрий А. Денисов
(yudenisov)

Hosted by uCoz