Цифровой журнал «Компьютерра» 2012 № 15 (115) | страница 29
Голубятня: Ударим графематикой по графомании!
Сергей Голубицкий
Опубликовано 05 апреля 2012 года
Писатель: Я писатель!
Читатель: А по-моему, ты говно!
(Писатель стоит несколько минут, потрясённый этой новой идеей, и падает замертво. Его выносят.)
Даниил Хармс
Культур-повидлианствовать сегодня будем в пандан софтверному аппендиксу. В смысле, что не традиционный не пришей-к-красной-армии-рукав, а одно вытекает из другого, да и связано напрямую.
Разговор пойдет о разработке наших ученых-соотечественников, бороздящих ниву на стыке самых перспективных отраслей знания: структурно-прикладной лингвистики и компьютерных технологий.
Если с компьютерами вопросов, обычно, не возникает, то роль лингвиста почему-то в общественном сознании откровенно не дотягивает до заслуженного места. В лучшем случае, обывателю приходит в голову: переводчик какой-то! Если на пике славы, то — Гоблин. Больше ничего. Неужели придется дожидаться эпохи «Stargate» (помните еще культовый фильм Роланда Эммериха?), чтобы понять, что лингвист — это главный пророк нашей цивилизации (астролог, Дельфийский оракул и компьютерный томограф в одном флаконе!)?
Эк меня понесло! Короче говоря, один из разработчиков, Дмитрий Силницкий, зная о моих слабостях в сфере интерпретации смыслов и дата-майнинга, прислал на тестирование демо-версию совершенно уникального движка, который выполняет сравнительный анализ текстов по авторскому стилю и жанру.
При этом движок понятия не имеет о существовании автора имярек, да и вообще не догадывается о смысле слов и денотатах в принципе. Основа движка - графематический анализ, оперирующий лишь цепочками языковых символов - знаками, буквами и словоформами!
Для хотя бы приблизительного объяснения этого монстра позволю небольшую цитату из теоретического сопровождения разработок (текст Игоря Ножова из РГГУ):
«Основная цель графематического блока получить выборку полных словоформ из массива текстов базы данных. Графематический анализ работает с внешним представлением текста и использует таблицу стоп-слов. В этой таблице хранятся цифры, спецсимволы и частотные слова языка, нерелевантные для поиска по текстам.
Графематический анализ выполняет три функции:
1. отсечение стоп-слов в тексте;
2. разбиение данных на три потока;
3. индексация каждого потока.
Единицей графематического анализа является цепочка символов, выделенная с двух сторон пробелами. Выделенная цепочка символов подвергается последовательной обработке эвристическими правилами: отсечь знаки пунктуации, проверить присутствие гласных внутри цепочки, чередование верхнего и нижнего регистров и т.д. В зависимости от результатов обработки полученная цепочка символов направляется в один из трех потоков данных: