Рубрика «nlp» - 4

У каждого пользователя когда-либо были опечатки при написании поисковых запросов. Отсутствие механизмов, которые исправляют опечатки, приводит к выдаче нерелевантных результатов, а то и вовсе к их отсутствию. Поэтому, чтобы поисковая система была более ориентированной на пользователей, в неё встраивают механизмы исправления ошибок.

image alt

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

Как выдумаете, сложно ли написать на Python собственного чатбота, способного поддержать беседу? Оказалось, очень легко, если найти хороший набор данных. Причём это можно сделать даже без нейросетей, хотя немного математической магии всё-таки понадобится.

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

Этот туториал подойдёт тем, кто уже немножко трогал пальцем Python, но не особо знаком с машинным обучением. Я намеренно не пользовался никакими nlp-шными библиотеками, чтобы показать, что нечто работающее можно собрать и на голом sklearn.

Создание простого разговорного чатбота в python - 1

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

Визуализация новостей рунета - 1

Представьте себе, что вы поспорили с друганом, что было раньше — курица или яйцо повышение какого-то налога, к примеру, или новости на эту тему, или вовсе важное событие заглушили тучей новостей про новую песню, скажем, Киркорова. Удобно было бы посчитать, сколько новостей на каждую тему было в каждый конкретный момент времени, а потом наглядно это представить. Собственно, этим и занимается проект “радар новостей рунета”. Под катом мы расскажем, при чём здесь машинное обучение и как любой доброволец может в этом поучаствовать.

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

XLNet против BERT - 1

В конце июня коллектив из Carnegie Mellon University показал нам XLNet, сразу выложив публикацию, код и готовую модель (XLNet-Large, Cased: 24-layer, 1024-hidden, 16-heads). Это предобученная модель для решения разных задач обработки естественного языка.

В публикации они сразу же обозначили сравнение своей модели с гугловым BERT-ом. Они пишут, что XLNet превосходит BERT в большом количестве задач. И показывает в 18 задачах state-of-the-art результаты.
Читать полностью »

Word2vec в картинках - 1

«Во всякой вещи скрыт узор, который есть часть Вселенной. В нём есть симметрия, элегантность и красота — качества, которые прежде всего схватывает всякий истинный художник, запечатлевающий мир. Этот узор можно уловить в смене сезонов, в том, как струится по склону песок, в перепутанных ветвях креозотового кустарника, в узоре его листа.

Мы пытаемся скопировать этот узор в нашей жизни и нашем обществе и потому любим ритм, песню, танец, различные радующие и утешающие нас формы. Однако можно разглядеть и опасность, таящуюся в поиске абсолютного совершенства, ибо очевидно, что совершенный узор — неизменен. И, приближаясь к совершенству, всё сущее идёт к смерти» — Дюна (1965)

Я считаю, что концепция вложений (embeddings) — одна из самых замечательных идей в машинном обучении. Если вы когда-нибудь использовали Siri, Google Assistant, Alexa, Google Translate или даже клавиатуру смартфона с предсказанием следующего слова, то уже работали с моделью обработки естественного языка на основе вложений. За последние десятилетия произошло значительное развитие этой концепции для нейронных моделей (последние разработки включают контекстуализированные вложения слов в передовых моделях, таких как BERT и GPT2).
Читать полностью »

image

Не успели отшуметь новости о нейросети BERT от Google, показавшей state-of-the-art результаты на целом ряде разговорных (NLP) задач в машинном обучении, как OpenAI выкатили новую разработку: GPT-2. Это нейронная сеть с рекордным на данный момент числом параметров (1.5 млрд, против обычно используемых в таких случаях 100-300 млн) оказалась способна генерировать целые страницы связного текста.

Генерировать настолько хорошо, что в OpenAI отказались выкладывать полную версию, опасаясь что эту нейросеть будут использовать для создания фейковых новостей, комментариев и отзывов, неотличимых от настоящих.

Тем не менее, в OpenAI выложили в общий доступ уменьшенную версию нейросети GPT-2, со 117 млн параметров. Именно ее мы запустим через сервис Google Colab и поэкспериментруем с ней.

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

После 18-го февраля начнется открытый и бесплатный курс "Deep Learning на пальцах".

Курс предназначен для того, чтобы разобраться с современным deep learning с нуля, и не требует знаний ни нейросетей, ни machine learning вообще. Лекции стримами на Youtube, задания на Питоне, обсуждения и помощь в лучших русскоязычных чат-сообществах — ODS.ai и ClosedCircles.

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

Одновременно и в том же объеме курс будет читаться для магистрантов Новосибирского Государственного Университета, а также студентов CS центра Новосибирска.

Выглядеть объяснение на пальцах будет примерно так:

Открытый курс «Deep Learning на пальцах» - 1

Главная ссылка — dlcourse.ai. Подробности ниже.

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

image

BERT — это нейронная сеть от Google, показавшая с большим отрывом state-of-the-art результаты на целом ряде задач. С помощью BERT можно создавать программы с ИИ для обработки естественного языка: отвечать на вопросы, заданные в произвольной форме, создавать чат-ботов, автоматические переводчики, анализировать текст и так далее.

Google выложила предобученные модели BERT, но как это обычно и бывает в Machine Learning, они страдают от недостатка документации. Поэтому в этом туториале мы научимся запускать нейронную сеть BERT на локальном компьютере, а также на бесплатном серверном GPU на Google Colab.

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

text classification

Классификация текста — одна из наиболее распространенных задач в NLP и обучении с учителем, когда датасет содержит текстовые документы, а метки используются для тренировки текстового классификатора.
Читать полностью »

Задача

Одна из больших задач приложения для хранения и анализа покупок — поиск одинаковых или очень близких продуктов в базе данных, где собраны разномастные и непонятные наименования продуктов, полученные из чеков. Есть два вида входного запроса:

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

Запросы первого вида как правило исходят из продуктов в самом чеке, когда пользователю нужно подыскать продукты подешевле. Наша задача заключается в том, чтобы подобрать максимально похожий аналог товара из чека в других магазинах поблизости. Здесь важно подобрать наиболее соответствующую марку продукта и по возможности объём.

Как отличить шампунь от шампиньонов, а шампуры от шампанского… Elasticsearch — поиск товаров в магазинных базах данных - 1

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


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