Цифровой журнал «Компьютерра» 2012 № 15 (115) | страница 29



Голубятня: Ударим графематикой по графомании!

Сергей Голубицкий

Опубликовано 05 апреля 2012 года

Писатель: Я писатель!

Читатель: А по-моему, ты говно!

(Писатель стоит несколько минут, потрясённый этой новой идеей, и падает замертво. Его выносят.) 

Даниил Хармс

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

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

Если с компьютерами вопросов, обычно, не возникает, то роль лингвиста почему-то в общественном сознании откровенно не дотягивает до заслуженного места. В лучшем случае, обывателю приходит в голову: переводчик какой-то! Если на пике славы, то — Гоблин. Больше ничего. Неужели придется дожидаться эпохи «Stargate» (помните еще культовый фильм Роланда Эммериха?), чтобы понять, что лингвист — это главный пророк нашей цивилизации (астролог, Дельфийский оракул и компьютерный томограф в одном флаконе!)?

Эк меня понесло! Короче говоря, один из разработчиков, Дмитрий Силницкий, зная о моих слабостях в сфере интерпретации смыслов и дата-майнинга, прислал на тестирование демо-версию совершенно уникального движка, который выполняет сравнительный анализ текстов по авторскому стилю и жанру.  

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

Для хотя бы приблизительного объяснения этого монстра позволю небольшую цитату из теоретического сопровождения разработок (текст Игоря Ножова из РГГУ): 

«Основная цель графематического блока получить выборку полных словоформ из массива текстов базы данных.  Графематический анализ работает с внешним представлением текста и использует таблицу стоп-слов. В этой таблице хранятся цифры, спецсимволы и частотные слова языка, нерелевантные для поиска по текстам.

Графематический анализ выполняет три функции:

1. отсечение стоп-слов в тексте;

2. разбиение данных на три потока;

3. индексация каждого потока.

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