Category: животные

Category was added automatically. Read all entries about "животные".

Генерация определений слов с gpt-2 (фейкопедия)

Далее - выдача перетренированной генеративной языковой модели GPT-2.

Для некоторых слов даны результаты при повышенной (t=1.2) или пониженной (t=0.8) температуре.

Жирным выделены слова, для которых модель генерировала толкование.

Стоит обратить внимание, что только 2 из разобранных слов встречались модели в ходе обучения (кошачий и свинячий). Для остальных модель честно опиралась на морфемный состав настолько, насколько это позволило "byte pair encoding" представление токенов.

Collapse )

Генерация уместных вопросов с помощью языковой модели huggingface GPT-2

Второй эксперимент с теми же вводными, как описаны в предыдущем посте. Теперь используем реализацию языковой модели GPT-2 в pytorch библиотеке transformers. Для ее использования нужно только склонировать реп и перейти в подкаталог examples с которыми скриптами.

Collapse )

Генерация уместных вопросов с помощью GPT-2

Один из социально важных языковых навыков - умение задать уместный в контексте беседы вопрос. Для чатбота это позволило бы действовать более проактивно, вовлекая собеседника в продолжение беседы.

Попробуем добиться от языковой модели GPT-2 генерации вопросов к заданному текстовому фрагменту на русском языке.

Collapse )

Добавлена обработка OOV слов в лемматизаторе rulemma

В питоновской библиотеке rulemma добавлена обработка несловарных (out-of-vocabulary) слов. Большинство OOV-слов образуются по относительно небольшому количеству словоизменительных правил русского языка, так что модель неплохо справляется с ними. При этом используются результаты частеречной разметки, чтобы снимать неоднозначности типа крокодил - проходил.

В качестве примера можно посмотреть на разбор фразы "Мяукая, голодные кошки ловят жирненьких хрюнделей":
Collapse )

rupostagger - простой пакет для частеречной разметки русскоязычных предложений

Привел в порядок и выложил пакет rupostagger - простую (и не SOTA) реализацию алгоритма для разметки слов тегами. Пакет не делает ничего, кроме разметки, поэтому токенизацию надо делать самостоятельно. Я использую пакет под 2 и 3 веткой питона, под Windows и Linux. Батарейки (обученная русская языковая модель) входят в комплект, ничего самостоятельно обучать не надо. Также используется русская словарная база - отдельный пакет ruword2tags, и слогоделитель rusyllabs,  они указаны в requirements.txt.

После установки (pip install git+https://github.com/Koziev/rupostagger) использовать так:
Collapse )

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

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

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

Весело начался год собаки

Накручивая нейросетку поверх CRF для нормализации результатов разбора данных для ETL процедуры, случайно обнаружил, что модель для CRF разбила датасет в пропорции 20% на тренировку и 80% на валидацию. Спасибо остатку от деления на пять:
Collapse )

Интерполяция предложений в векторном пространстве

У нас уже есть инструмент для упаковки произвольного предложения в вектор действительных чисел фиксированной длины - автоэнкодер, описанный ранее. Так как предложение любой длины будет упаковано в вектор одного и того же размера, мы можем выполнить интерполяцию от первого вектора ко второму линейно с заданным шагом. Получающиеся при этом промежуточные векторы мы можем попробовать направить в декодер автоэнкодера, чтобы увидеть текстовое представление на каждом шаге. Аналогичный прием я уже показывал применительно к char-моделям слов - см. http://kelijah.livejournal.com/195108.html.

Далее я привожу некоторые интересные результаты.

Collapse )


Ссылка: питоновский код для тренировк автоэнкодера и интерполяции предложений (используется Keras)