?

Log in

No account? Create an account

Компьютерная лингвистика

Новостная лента www.solarix.ru

Entries by tag: nlp

Chunker - новая модель в парсере для разбора предложений на составляющие
kelijah
Иногда анализ текста сводится к определению групп слов, образующих составляющие первого уровня относительно корня в терминах дерева зависимостей (см. описание shallow parsing).

Read more...Collapse )

Исходники чат-бота (диалоговой системы): утилита для генерации вопросно-ответного датасета
kelijah
Продолжение https://kelijah.livejournal.com/231141.html.
Исходный текст утилиты (C#, проект для VS Studio 2015) лежит тут https://github.com/Koziev/chatbot/tree/master/CSharpCode/GenerateQA
Далее подробное описание.

Read more...Collapse )

Новый датасет для чат-бота - смена грамматического лица
kelijah
Данные представляют собой пары предложений:
Read more...Collapse )

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

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

Данные будут выкладываться здесь: https://github.com/Koziev/NLP_Datasets/tree/master/ChangePerson

Обновленные датасеты для тренировки чат-ботов
kelijah
После нескольких итераций, в ходе которых исправлены некоторые ошибки и добавлены новые синтаксические конструкции, в репозиторий https://github.com/Koziev/NLP_Datasets/tree/master/QA выложены новые файлы с тройками "предпосылка-вопрос-ответ" с таким форматом:
Read more...Collapse )
Tags: ,

Движок логического вывода на базе DNN моделей ("умный" chatbot)
kelijah
Далее - результаты работы тестовой версии chatbot'а на базе нейросетевого движка логического вывода:

Read more...Collapse )

Выложил небольшие датасеты для question answering на русском языке
kelijah
Датасеты получены в результате автоматической обработки и содержат подмножество возможных вопросов.
Могут быть полезны для проверки идей в области question answering, для чего они собственно и сделаны.
Файл https://github.com/Koziev/NLP_Datasets/blob/master/QA/premise_question_answer4.txt содержит до полусотни тысяч вопросов к предложениям из трех слов.
Аналогичный датасет для четырехсловных предложений доступен по ссылке https://github.com/Koziev/NLP_Datasets/blob/master/QA/premise_question_answer5.txt.

Выглядит это так:
Read more...Collapse )
Tags: ,

Репозиторий на github с датасетами для NLP
kelijah
Выложил некоторые полезные датасеты сюда: https://github.com/Koziev/NLP_Datasets:

Перефразировки

Частоты слов с учетом частей речи

Леммы

Приведение слов к нейтральной форме "штучка-штука"

Решения на базе deeplearning4j (Java) MLP и vanilla MLP (C#) для WordRepresentations
kelijah
Выложил в репозиторий:

https://github.com/Koziev/WordRepresentations/blob/master/JavaModels/WithDL4J/src/main/java/WordRepresentationsTest.java - решатель на базе MLP, реализованного средствами библиотеки deeplearning4j

https://github.com/Koziev/WordRepresentations/blob/master/CSharpModels/MyBaseline/Program.cs - решение на базе моей C# реализации vanilla MLP

Сверточная архитектура нейросети для построения Language Model
kelijah
Для эксперимента с оценкой вариантов представления слов добавил сверточную архитектуру - см. файл wr_keras.py и константу NET_ARCH.

С поправкой на большую variance, характерную для сверточного варианта в сравнении с feed forward MLP, эта сетка бьет MLP с ощутимым запасом. Например, для 4-грамм имеем:
Read more...Collapse )
То есть при прочих равных сверточный вариант улучшает точность на 3-4 процента.

Решение бинарной классификационной задачи на C++ с помощью Apache.SINGA, tiny-dnn и OpenNN
kelijah
1. Выложил в репозиторий эксперимента cеточные модели для бинарной классификации на C++ в Apache.SINGA, OpenNN и tiny-dnn:

TinyDNN_Model.cpp - решатель на базе MLP, реализованного средствами библиотеки tiny-dnn (C++, проект для VS 2015)
alexnet.cc - решатель на базе нейросетки, реализованной средствами Apache.SINGA (C++, проект для VS 2015)
main.cpp - решатель на базе нейросетки, реализованной средствами OpenNN (C++, проект для VS 2015)

Постарался максимально подробно описать собственные впечатления от этих библиотек с позиции человека, впервые пытающегося применить их для решения реальной задачи: https://habrahabr.ru/post/335838/

2. Стартовал эксперимент по использованию sparse distributed representations слов на этой же задаче. Посмотрим, будет ли выигрыш в сравнении с базовыми w2v репрезентациями.