Как стать автором
Поиск
Написать публикацию
Обновить
72.42

Natural Language Processing *

Компьютерный анализ и синтез естественных языков

Сначала показывать
Порог рейтинга
Уровень сложности

Поговорим о жизни? Команда DREAM о соревновании Alexa Prize Socialbot Challenge 3

Время на прочтение3 мин
Количество просмотров1.8K
В июне этого года компания Amazon опубликовала шорт-лист конкурса Alexa Prize Socialbot Grand Challenge 3. Из 375 заявок комитет Alexa Prize отобрал 10 финалистов, в том числе единственную из России команду МФТИ. Эти счастливчики — команда DREAM. Ребята являются сотрудниками лаборатории нейронных систем и глубокого обучения МФТИ. Но как продвигается работа, и над чем трудится команда DREAM?


Слева на право: Идрис Юсупов, Диляра Баймурзина, капитан команды Юрий Куратов, Денис Кузнецов, Дмитрий Карпов, Ле Ань, руководитель Михаил Бурцев.
Читать дальше →

Julia и дистрибутивная семантика

Время на прочтение17 мин
Количество просмотров5.4K


С момента выхода прошлой публикации в мире языка Julia произошло много интересного:



В то же время заметен рост интереса со стороны разработчиков, что выражается обильными бенчмаркингами:



Мы же просто радуемся новым и удобным инструментам и продолжаем их изучать. Сегодняшний вечер будет посвящен текстовому анализу, поиску скрытого смысла в выступлениях президентов и генерации текста в духе Шекспира и джулиа-программиста, а на сладкое — скормим рекуррентной сети 40000 пирожков.

Читать дальше →

Бот на нейросетках: как работает и учится виртуальный ассистент

Время на прочтение12 мин
Количество просмотров23K
В 2016 году на пике популярности чат-ботов наша команда делала кнопочных помощников для бизнеса. Пока не пришла мысль поинтереснее: «А что, если автоматизировать клиентскую поддержку нейронными сетями?». Нам хотелось, чтобы роботы в чатах наконец научились понимать естественный язык и стали удобными.

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

В материале мы расскажем


  • Чем виртуальный ассистент отличается от обычного чат-бота
  • Правда ли, что виртуальные ассистенты понимают язык
  • Как мы научили робота понимать контекст и написали язык lialang
  • Проверка кейсами: как мы автоматизировали поддержку в трёх банках
  • Создание Lia Platform и движка для интерфейсов
  • Три шага: как работает платформа для сборки виртуальных ассистентов (где собрать робота может любой, даже не-программист)

Читать дальше →

Расстояние Левенштейна и поиск контролёров

Время на прочтение9 мин
Количество просмотров5.5K
Наверное, в каждом городе Беларуси, где есть троллейбусы, существуют группы ВК или чаты в Telegram, в которых люди отслеживают местоположение контролёров. В основном это делается для того, чтобы не оплатить проезд и проехать бесплатно, хотя в описании групп почти всегда есть постскриптум “Платите за проезд”.
Читать дальше →

NLU по-русски: ELMo vs BERT

Время на прочтение9 мин
Количество просмотров10K
В данной статье речь пойдет о машинном обучении как части искусственного интеллекта. ИИ во многом подразумевает под собой разговорную составляющую, ведь общение – то, что делает нас людьми. Соответственно, если мы будем делать системы, которые могут нас понимать, отвечать на наши слова, мы в какой-то степени приблизимся к разработке искусственного интеллекта. Однако это все теория на грани философии. Давайте перейдем к практике.


Читать дальше →

Julia NLP. Обрабатываем тексты

Время на прочтение27 мин
Количество просмотров6.2K


Анализ и обработка текстов на естественном языке является постоянно актуальной задачей, которая решалась, решается и будет решаться всеми доступными способами. На сегодня хотелось бы поговорить о средствах решения для решения этой задачи, именно, на языке Julia. Безусловно, в виду молодости языка, здесь нет столь развитых средств анализа, как, например Stanford CoreNLP, Apache OpenNLP, GATE и пр., как, например, для языка Java. Однако, даже уже разработанные библиотеки, вполне могут использоваться как для решения типовых задач, так и быть рекомендованными в качестве точки входа для студентов, которым интересна область обработки текстов. А синтаксическая простота Julia и её развитые математические средства, позволяют с лёгкостью погрузиться в задачи кластеризации и классификации текстов.

Читать дальше →

Конференция Conversations: 8 часов теории и практики разговорного AI

Время на прочтение3 мин
Количество просмотров2.4K
26 ноября в Москве пройдет Conversations – конференция по разговорному искусственному интеллекту для разработчиков и бизнеса. Про инструменты, кейсы, фейлы, модели монетизации, перспективы и ограничения рынка будут говорить МТС, МегаФон, Билайн, Tikkurila, Банк Открытие, Яндекс.Облако, Speech Analytics, Cardif, iPavlov, «ДоДо пицца», МФТИ и другие интересные компании (например, международное аналитическое агентство Canalys!).

В общем, если вы неравнодушны к речевой аналитике и NLU, разрабатываете скиллы для голосовых ассистентов или чатботов, изучаете диалоговые платформы, хотите прокачать себя в voice UX/UI (или просто интересуетесь индустрией conversational AI), добро пожаловать под кат! Там подробнее про хедлайнеров и промокод на покупку билета.


DeepPavlov для разработчиков: #1 инструменты NLP и создания чат-ботов

Время на прочтение5 мин
Количество просмотров37K
Всем привет! Мы открываем цикл статей, посвященных решению практических задач, связанных с обработкой естественного языка (Natural Language Processing или просто NLP) и созданием диалоговых агентов (чат-ботов) с помощью open-source библиотеки DeepPavlov, которую разрабатывает наша команда лаборатории Нейронных систем и глубокого обучения МФТИ. Главная цель цикла — познакомить широкий круг разработчиков с DeepPavlov и показать, как можно решать прикладные задачи NLP, не обладая при этом глубокими познаниями в Machine Learning и PhD in Mathematics.

К NLP задачам относят определение тональности текста, парсинг именованных сущностей, определение того, что хочет от вашего бота собеседник: заказать пиццу или получить справочную информацию и многое другое. Более подробно про задачи и методы NLP вы можете прочитать тут.

В этой статье мы расскажем, как запустить REST север с предобученными моделями NLP, готовыми к использованию без какой-либо дополнительной настройки или обучения.

Все статьи цикла:
1. DeepPavlov для разработчиков: #1 инструменты NLP и создания чат-ботов
2. DeepPavlov для разработчиков: #2 настройка и деплоймент


Читать дальше →

Sberbank AI Journey. Как мы учили нейросеть сдавать экзамен

Время на прочтение8 мин
Количество просмотров7.6K

Если вы закончили школу уже во времена ЕГЭ, то вам известно, что все задания в нём имеют набор стандартных формулировок и упорядочены по типам. С одной стороны, это облегчает подготовку к экзамену: школьник уже знает, что нужно делать в задании, даже не читая его условия. С другой, любое изменение порядка вопросов может вызвать у него проблемы. Грубо говоря, на результат начинает больше влиять то, насколько человек довёл решения до автоматизма, а не то, как он рассуждает. Экзамен становится похож на работу скрипта.



image

В рамках конференции AI Journey мы решили провести конкурс на разработку алгоритма, который сможет сдать экзамен не хуже человека. Участникам предоставляются тестовые варианты заданий, которые можно использовать для валидации решений и для обучения. Мы как сотрудники Сбера не можем претендовать на призовой фонд, но тем не менее попробовали решить эту задачу и хотим рассказать о том, как мы это сделали. Спойлер — аттестат мы получили.


Читать дальше →

Who you gonna call: создаем обзвон в конструкторе ботов и учимся не бесить людей

Время на прочтение9 мин
Количество просмотров13K
Трудно быть ботом, когда приходится звонить человеку: боты бесят. Но вы знаете, люди, которые звонят в неподходящий момент и предлагают нерелевантные услуги и товары, бесят тоже. Дело вовсе не в том, что с вами говорит робот, а в том, что за кейс был выбран для голосового обзвона, как реализован сценарий, подумали ли его создатели над UX и что полезного этот бот умеет.
Мы понаблюдали за пользователями конструктора ботов и звонков Aimylogic и собрали все важные фичи, инсайты и ошибки в туториал. Под катом разбираем технические хитрости и секреты создания голосового обзвона, который приносит пользу и почти не раздражает.



Зачем звонить, когда можно писать?


Распознаём дату и время в естественной речи

Время на прочтение10 мин
Количество просмотров16K


Задача


Привет, Хабр! Увлёкся я навыками для Алисы и стал думать, какую пользу они бы могли принести. На площадке много разных прикольных игр (в том числе мои), но вот захотелось сделать рабочий инструмент, который действительно нужен в голосовом исполнении, а не просто копирует существующего чат-бота с кнопками.


Голос актуален тогда, когда либо руки заняты, либо нужно выполнять много последовательных операций, особенно на экране телефона. Так возникла идея навыка, который по одной команде выделяет из текста указание на дату и время и добавляет событие с этим текстом в Google Calendar. Например, если пользователь скажет Послезавтра в 11 вечера будет красивый закат, то в календарь на послезавтра в 23:00 уходит строка Будет красивый закат.


Под катом описание алгоритма работы библиотеки Hors: распознавателя даты и времени в естественной русской речи. Хорс — это славянский бог солнца.


Github | NuGet

Генерация текста на русском по шаблонам

Время на прочтение8 мин
Количество просмотров19K
Когда я только начинал работать над своей текстовой игрой, решил, что одной из её главных фич должны стать красивые художественные описания действий героев. Отчасти хотел «сэкономить», поскольку в графику не умел. Экономии не получилось, зато получилась Python библиотека (github, pypi) для генерации текстов с учётом зависимости слов и их грамматических особенностей.

Например, из шаблона:
[Hero] [проходил|hero] мимо неприметного двора и вдруг [заметил|hero] играющих детей. Они бегали с деревянными мечами, посохами и масками чудовищ. Внезапно один из играющих остановился, выставил [игрушечный|hero.weapon|вн] [hero.weapon|вн], выкрикнул: «[Я|hero] [великий|hero] [Hero]! Получай!» — и бросился на «бестий». Они упали наземь, задрыгали руками-ногами, а после встали, сняли маски и засмеялись. [Хмыкнул|hero] и [сам|hero] [Hero], но не [стал|hero] выходить к малышне.
Мы можем получить такой текст (жирным выделены изменяющиеся слова):
Халлр проходил мимо неприметного двора и вдруг заметил играющих детей. Они бегали с деревянными мечами, посохами и масками чудовищ. Внезапно один из играющих остановился, выставил игрушечную золочёную шпагу, выкрикнул: «Я великий Халлр! Получай!» — и бросился на «бестий». Они упали наземь, задрыгали руками-ногами, а после встали, сняли маски и засмеялись. Хмыкнул и сам Халлр, но не стал выходить к малышне.
Или такой:
Фиевара проходила мимо неприметного двора и вдруг заметила играющих детей. Они бегали с деревянными мечами, посохами и масками чудовищ. Внезапно один из играющих остановился, выставил игрушечный катар, выкрикнул: «Я великая Фиевара! Получай!» — и бросился на «бестий». Они упали наземь, задрыгали руками-ногами, а после встали, сняли маски и засмеялись. Хмыкнула и сама Фиевара, но не стала выходить к малышне.
Читать дальше →

Почему Kaldi хорош для распознавания речи? (обновлено 25.12.2019)

Время на прочтение7 мин
Количество просмотров34K


Почему мне (и, надеюсь, вам) интересно распознавание речи? Во-первых, это направление является одним из самых популярных по сравнению с другими задачами компьютерной лингвистики, поскольку технология распознавания речи сейчас используется почти повсеместно – от распознавания простого «да/нет» в автоматическом колл-центре банка до способности поддерживать «светскую беседу» в «умной колонке» типа «Алисы». Во-вторых, чтобы система распознавания речи была качественным, необходимо найти самые эффективные средства для создания и настройки такой системы (одному из подобных средств и посвящена эта статья). Наконец, несомненным «плюсом» выбора специализации в области распознавания речи лично для меня является то, что для исследований в этой области необходимо владеть как программистскими, так и лингвистическими навыками. Это весьма стимулирует, заставляя приобретать знания в разных дисциплинах.
Читать дальше →

Ближайшие события

Что внутри чат-бота?

Время на прочтение8 мин
Количество просмотров12K
Меня зовут Иван Бондаренко. Я занимаюсь алгоритмами машинного обучения для анализа текстов и устной речи примерно с 2005 года. Сейчас работаю в Московском Физтехе ведущим научным разработчиком лаборатории бизнес-решений на основе Центра компетенций НТИ по Искусственному интеллекту МФТИ и в компании Data Monsters, которая занимается вопросами практической разработки диалоговых систем для решения тех или иных задач в индустрии. Также немного преподаю у нас в университете. Мой рассказ будет посвящен тому, что такое чат-бот, как алгоритмы машинного обучения и другие подходы применяются для автоматизации общения человека и компьютера и где это может быть реализовано.

Полную версию моего выступления на «Ночи научных историй» можно посмотреть в видеозаписи, а краткие тезисы я приведу в тексте ниже.


Читать дальше →

Тренды и прогнозы в Natural Language Processing

Время на прочтение8 мин
Количество просмотров5.5K

Тренды и прогнозы в области NLP (Natural Language Processing)


Это статья про тренды и прогнозы из нашего сентябрьского Альманаха «Искусственный интеллект» №2, который посвящен обзору рынка технологий и компаний в области NLP и распознавания-синтеза речи в России.

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

Общие технологические тренды


End-to-end решение задач NLP


Все больше решений будет основано на end-to-end подходе, например нейросетевая модель получает на входе акустический сигнал (звуковые волны) и выдает на выходе акустический сигнал, без промежуточной фазы текста. Это существенно ускорит выполнение моделей и их качество, одновременно ухудшив «прозрачность» и наше понимание того, «что внутри».
Читать дальше →

Применение сиамских нейросетей в поиске

Время на прочтение5 мин
Количество просмотров11K


Всем привет! В этом посте я расскажу, какие подходы мы в Поиске Mail.ru используем для сравнения текстов. Для чего это нужно? Как только мы научимся хорошо сравнивать разные тексты друг с другом, поисковая система сможет лучше понимать запросы пользователя.

Что нам для этого нужно? Для начала строго поставить задачу. Нужно определить для себя, какие тексты мы считаем похожими, а какие не считаем и затем сформулировать стратегию автоматического определения схожести. В нашем случае будут сравниваться тексты пользовательских запросов с текстами документов.
Читать дальше →

Сэмплирование с температурой

Время на прочтение3 мин
Количество просмотров5.6K

Недавно натолкнулся на вопрос в чате ODS: почему алгоритм, генерирующий текст буква-за-буквой, сэмплит буквы не из p (вектор вероятностей следующей буквы, предсказанный языковой моделью), а из p'=softmax(log(p)/t) (где t — это ещё какой-то непонятный положительный скаляр)?


Быстрый и непонятный ответ: t — это "температура", и она позволяет управлять разнообразием генерируемых текстов. А ради длинного и детального ответа, собственно, и написан этот пост.

Читать дальше →

Анализ эмоциональной окраски отзывов с Кинопоиска

Время на прочтение10 мин
Количество просмотров16K

Вступление


Обработка естественного языка (NLP) является популярной и важной областью машинного обучения. В данном хабре я опишу свой первый проект, связанный с анализом эмоциональной окраски кино отзывов, написанный на Python. Задача сентиментного анализа является довольно распространенной среди тех, кто желает освоить базовые концепции NLP, и может стать аналогом 'Hello world' в этой области.

В этой статье мы пройдем все основные этапы процесса Data Science: от создания собственного датасета, его обработки и извлечения признаков с помощью библиотеки NLTK и наконец обучения и настройки модели с помощью scikit-learn. Сама задача состоит в классификации отзывов на три класса: негативные, нейтральные и позитивные.
Читать дальше →

Синтаксический разбор предложения русского языка

Время на прочтение6 мин
Количество просмотров25K
В данной статье описывается процесс синтаксического анализа предложения русского языка с использованием контекстно-свободной грамматики и алгоритма LR-анализа.

Обработка естественного языка — общее направление искусственного интеллекта и математической лингвистики. Оно изучает проблемы компьютерного анализа и синтеза естественных языков.

В общем, процесс анализа предложения естественного языка выглядит следующим образом: (1) разбиение предложения на синтаксические единицы — слова и словосочетания; (2) определение грамматических параметров каждой единицы; (3) определение синтаксической связи между единицами. На выходе — абстрактное дерево разбора.
Читать дальше →

Deep Learning vs common sense: разрабатываем чат-бота

Время на прочтение14 мин
Количество просмотров13K
Чем больше пользователей у вашего сервиса, тем выше вероятность, что им понадобится помощь. Чат с техподдержкой — очевидное, но довольно дорогое решение. Но если применить технологии машинного обучения, можно неплохо сэкономить.

Отвечать на простые вопросы сейчас может и бот. Более того, чат-бота можно научить определять намерения пользователя и улавливать контекст так, чтобы он мог решить большинство проблем пользователей без участия человека. Как это сделать, помогут разобраться Владислав Блинов и Валерия Баранова — разработчики популярного помощника Олега.



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