Рубрика «nlp (natural language processing)» - 2

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

За год работы над библиотекой мы достигли:

  • Скачивания библиотеки возросли на треть по сравнению с прошлым годом. Сейчас у DeepPavlov более 100 тысяч установок и более 10 тысяч установок контейнеров.
  • Увеличилось количество коммерческих решений за счет state-of-art технологий, реализованных в DeepPavlov, в разных отраслях от ритейла до промышленности.
  • Вышел первый релиз DeepPavlov Agent.
  • Количество активных участников сообщества возросло в 5 раз.
  • Наша команда студентов и аспирантов была отобрана для участия в Alexa Prize Socialbot Grand Challenge 3.
  • Библиотека стала призером конкурса от компании Google «Powered by TensorFlow Challenge».

Что же помогло достичь таких результатов и почему DeepPavlov — это лучший открытый источник для построения разговорного AI? Расскажем в нашей статье.

Прорывы #DeepPavlov в 2019 году: обзор и итоги года - 1
Читать полностью »

Если вы интересуетесь машинным обучением, то наверняка слышали про BERT и трансформеры.

BERT — это языковая модель от Google, показавшая state-of-the-art результаты с большим отрывом на целом ряде задач. BERT, и вообще трансформеры, стали совершенно новым шагом развития алгоритмов обработки естественного языка (NLP). Статью о них и «турнирную таблицу» по разным бенчмаркам можно найти на сайте Papers With Code.

С BERT есть одна проблема: её проблематично использовать в промышленных системах. BERT-base содержит 110М параметров, BERT-large — 340М. Из-за такого большого числа параметров эту модель сложно загружать на устройства с ограниченными ресурсами, например, мобильные телефоны. К тому же, большое время инференса делает эту модель непригодной там, где скорость ответа критична. Поэтому поиск путей ускорения BERT является очень горячей темой.

Нам в Авито часто приходится решать задачи текстовой классификации. Это типичная задача прикладного машинного обучения, которая хорошо изучена. Но всегда есть соблазн попробовать что-то новое. Эта статья родилась из попытки применить BERT в повседневных задачах машинного обучения. В ней я покажу, как можно значительно улучшить качество существующей модели с помощью BERT, не добавляя новых данных и не усложняя модель.

Простое руководство по дистилляции BERT - 1

Читать полностью »

Вы уже видели, что вытворяет нейросеть Порфирьевич? Она дописывает текст к любой вашей фразе. И действительно забавные штуки получаются, потому что обучена она на книгах Достоевского, Толстого, Пушкина, Булгакова, Гоголя и Пелевина.

«Озвучить все это дело голосом Левитана — получился бы отличный заменитель гугловского ассистента к новогоднему застолью...» — подумал я. И решил не откладывать это мероприятие на посленовогогода (а то ведь сами понимаете).

Под катом — весь процесс создания опенсорсного голосового ассистента Порфирьевич на исключительно опенсорсном фреймворке Aimybox, и его запуск вместо штатного Google ассистента. Ну и заодно Алису потроллить можно.
Читать полностью »

Всем привет! В первой статье из нашего цикла мы узнали, что такое DeepPavlov, какие модели библиотеки готовы к использованию без предварительного обучения и как запустить REST серверы с ними. Перед тем, как приступить к обучению моделей, мы расскажем о различных возможностях деплоймента моделей DeepPavlov и некоторых особенностях настройки библиотеки.

Договоримся, что все скрипты запуска библиотеки выполняются в environment Python с установленной библиотекой DeepPavlov (про установку см. первую статью, про virtualenv можно прочитать здесь). Примеры из этой статьи не требуют знания синтаксиса Python.

DeepPavlov для разработчиков: #2 настройка и деплоймент - 1
Читать полностью »

Мы привычно пользуемся интернет-поиском, общаемся с чат-ботами, читаем документы на любых языках благодаря переводчикам. Приказать роботу-пылесосу начать уборку при помощи голоса? Ничего особенного… Для многих голосовые помощники на смартфоне вошли в повседневность. Будущее, в котором компьютер, прочитав постороннюю заметку о футболе, соответствующим образом меняет тональность новости о погоде, уже наступило.

Как это всё работает? Как стать специалистом в NLP (расшифровывается Natural Language Processing, не путайте с нейролингвистическим программированием:) )?

Тех, кто задается такими вопросами, мы приглашаем на открывшийся недавно онлайн- курс Samsung Research Russia. Под катом подробности…
Новый бесплатный онлайн-курс от Samsung по анализу текста при помощи нейросетей - 1
Авторы курса “Нейронные сети и обработка текста”
Читать полностью »

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

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

Читать полностью »

В статье пойдет речь о классификации тональности текстовых сообщений на русском языке (а по сути любой классификации текстов, используя те же технологии). За основу возьмем данную статью, в которой была рассмотрена классификация тональности на архитектуре CNN с использованием Word2vec модели. В нашем примере будем решать ту же самую задачу разделения твитов на позитивные и негативные на том же самом датасете с использованием модели ULMFit. Результат из статьи, (average F1-score = 0.78142) примем в качестве baseline. Читать полностью »

image

This post is a small abstract of full-scaled research focused on keyword recognition. Technique of semantics extraction was initially applied in field of social media research of depressive patterns. Here I focus on NLP and math aspects without psychological interpretation. It is clear that analysis of single word frequencies is not enough. Multiple random mixing of collection does not affect the relative frequency but destroys information totally — bag of words effect. We need more accurate approach for the mining of semantics attractors.

Читать полностью »

Все вокруг говорят про голосовых помощников, Алису, Google Assistant, что они умеют, чего не умеют… А мы взяли и написали фреймворк для создания мобильных голосовых ассистентов. Да еще и с открытым исходным кодом! Пока мы это сделали только для Android, и теперь ищем крутого iOS-разработчика, кто с легкостью портирует Kotlin код на Swift.
Под катом рассказываем, зачем мы вообще это делаем, что у нас получилось и кого именно мы ищем в команду Aimybox.
Aimybox в поиске: фреймворку для создания голосовых ассистентов нужен мастер iOS - 1

Читать полностью »

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

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

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js