Category: литература

Посимвольная генерация ответа в чатботе - иногда это похоже на детский лепет, реально

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

Кстати, касательно чередования гласных и согласных не грех вспомнить, что марковские процессы возникли 100 с лишним лет назад именно как результат изучения статистики чередования букв в Евгении Онегине, о чем есть даже небольшой абзац в вики:

Сам Марков для иллюстрации своих результатов исследовал зависимость в чередовании гласных и согласных в первых главах «Евгения Онегина» и «Детских годов Багрова-внука»

Далее - избранные результаты валидации с ошибками генерации. Premise - это найденная релевантная предпосылка, question - заданный вопрос, model answer - требуемый эталонный ответ, pred. answer - сгенерированный сеткой ответ:
Collapse )

Как SentencePiece токенизирует русскоязычный текст

SentencePiece - питоновская библиотека для unsupervised tokenization. Для японского и и китайского, видимо, является очень хорошей альтернативой токенизаторам с handcrafted rules (типа MeCab, который и я когда-то использовал). А для английского языка дает в нейросетевых моделях (гугловский трансформер и BERT) такую приятную вещь, как заранее фиксированный размер словаря.

А как выглядит результат токенизации для русскоязычного текста, учитывая темную сторону русского языка - слишком богатое словоизменение? Далее - краткие результаты эксперимента.
Collapse )

Реализация линейной регрессии МНК с autograd - библиотекой для символического дифференцирования

Случайно наткнулся недавно на Autograd - питоновскую либу, которая умеет для функции, заданной исходным текстом в коде, получить функцию же частной производной по указанному аргументу. Всякие tensorflow, pytorch и theano это, конечно, тоже делают под капотом. Но autograd делает это с любой питоновской функцией. Магия.
Collapse )

Эффективное встраивание фрагментов слов в векторное пространство слов средствами gensim

Чтобы определять w2v вектор несловарных термов, можно применять разные алгоритмы, включая описанный ранее регрессор char-векторов в w2v-вектор. Сейчас я опишу еще один способ, который может кому-то пригодится сам по себе, или даст повод посмотреть на интересную особенность библиотеки gensim.
Collapse )

char-rnn и char-feedforward модели

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

Collapse )

ПРЕАМБУЛА: фонетическая похожесть слов, кора головного мозга и умственная отсталость

При построении языковой модели для текста всегда есть соблазн вывести ее прямо из символьного представления слов.

В частности, преимущественная роль окончаний при образовании грамматических форм в русском языке подбивает на попытки определять часть речи слова по его последним 3-4 символам. До некоторых пределов это работает. Если бы русский язык реализовывал агглютинацию (https://ru.wikipedia.org/wiki/%D0%90%D0%B3%D0%B3%D0%BB%D1%8E%D1%82%D0%B8%D0%BD%D0%B0%D1%86%D0%B8%D1%8F_%28%D0%BB%D0%B8%D0%BD%D0%B3%D0%B2%D0%B8%D1%81%D1%82%D0%B8%D0%BA%D0%B0%29), этот подход был бы еще успешнее.


Но насколько далеко можно зайти с искусственными сетками, опираясь только на символьное представление и не используя словарь в том или ином виде?

Collapse )

Частота употребления предлогов (черновик)

Краткая постановка задачи

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

Collapse )