Category: происшествия

Category was added automatically. Read all entries about "происшествия".

Артефакты переобучения или все-таки генерация уникального контента?

Играю сейчас с очередной генеративной моделью.

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

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

Например, вот этот забавный диалог, который выдала сетка, точно уникальный (и создает впечатление умного, кстати):

- каковы пропорции человеческого тела ?
- пропорции не важны , важна конечность


Вот тут неопределенность больше, но вроде бы скорее уникальный текст:

Я знаю: это кошка
Поет о любви, о стране,
О счастье, о смерти на краю земли,
О верности, о страсти на краю.


А вот это скорее что-то существующее (но тоже не гуглится, кстати):

Я в детстве был мал, и котенок был
У меня на груди, и я не знал,
Как по-взрослому я был велик
И как по-птичьи я жил!


Collapse )

Чем ближе структура диалога к естественной, тем сложнее с ним работать

Очень непросто оказалось ввести в чатбот некоторую проактивность, например (B - реплики бота, H - реплики человека):

B:> Добрый день
H:> Привет, как тебя зовут?
B:> кеша
B:> А как тебя зовут?
H:> Меня зовут Илья.
B:> Рад знакомству.

Collapse )

Неудачный эксперимент: генерация морфологических признаков слов через w2v и кластеризацию

Сама идея простая. Делал её экспериментальную реализацию для для Парсера. Потом вторая попытка - для morphorueval2017. Особого эффекта добиться не удалось, но возможно в каком-то другом сценарии анализа текста она будет полезной.

Далее описываю реализацию для morphorueval.
Есть набор корпусов, предоставленных организаторами конкурса.
Мы берем из них только слова, генерируем текстовый файл в формате: одна строка - одно предложение. Слова разделены пробелами. Занимается этим простой скриптик generate_w2v_corpus.py.
Далее выполняется встраивание слов корпуса в векторное пространство через gensim - второй скриптик train_w2v.py.
Далее выполняется кластеризация слов с помощью K-Means - см. скрипт word_clusters.sklearn.py
Наконец, номера кластеров слов используем как отдельный категориальный признак в любом алгоритме.

Если посмотреть на содержимое кластеров, то обычно можно понять, какие морфологические признаки использованы для объединения:

Collapse )

Главная проблема - небольшой объем текстового корпуса, на котором обучается word2vec. Из-за этого некоторые кластеры получаются неконсистентными.

Предварительная статистика употребляемости словосочетаний ПРЕДЛОГ+(СУЩ+СУЩ[род.п.])

Продолжение темы http://kelijah.livejournal.com/168795.html.
По части tree bank собраны предложные словосочетания ПРЕДЛОГ+СУЩ+СУЩ[род.п.], которые синтаксический парсер объединил в дереве разбора.
Интересно, что в отличие от паттернов ПРЕДЛОГ+(ПРИЛАГАТЕЛЬНОЕ+СУЩЕСТВИТЕЛЬНОЕ), данный тип паттернов дает намного менее идеоматичные словосочетания:
Collapse )
Видно некоторое количество артефактов типа "на|груди|руки".

2-граммы по 3,000,000 синтаксическим деревьям

Примерно 3 миллиона предложений длиной от 6 до 11 слов обработаны синтаксическим парсером.
В полученных леревьях найдены определенные ребра и собрана статистика их встречаемости.

прилагательное + существительное
Collapse )

существительное + существительное_в_род_падеже
Collapse )

существительное_подлежащее + глагол_сказуемое
Collapse )

глагол_сказуемое + существительное_прямое_дополнение
Collapse )

База знаний и синтаксический анализ (2) - улучшенный алгоритм

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

Два тестовых примера.

обработка рук с мылом
хроника запусков с авариями

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

Дерево 1:

результаты синтаксического разбора с использованием базы знаний

Дерево 2:
синтаксический разбор с учетом семантики

И самое интересное: появилась мысль, что этот алгоритм можно расширить для использования в переводчике.

Предлоги и неопределенная форма глагола - черновая статистика

Выборка не очень статистически достоверная, всего 2 Гб текстов, русская художественная проза. Обработка с помощью программы Empirika. Частоты пар сохраняются в SQLite, затем с помощью обычных SQL запросов к базе данных делаю выборки.

Collapse )

Расширенные средства описания языка в версии 9

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

Набор дополнительных данных сделан расширяемым на уровне описания языка в словаре и настоящее время поддерживает:

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

2. ёфикацию, чтобы задавать различие между словами падеж (грамматическая категория) и падёж (гибель скота),  или между совершенным (идеальным) и совершённым (сделанным).

3. транскципцию, чтобы передавать особенности произношения.

Список возможных дополнительных сведений намеренно сделан расширяемым, и в перспективе проглядывают такие данные, как

4. ссылка на звуковой образ

5. примеры употребления формы слова

и так далее.