Обновить
113.44

Natural Language Processing *

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

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

Financial News Sentiment Dataset: определяем точку входа в акции по настроению новостей

Время на прочтение5 мин
Охват и читатели9.5K

Набор данных Financial News Sentiment Dataset (FiNeS) содержит в себе заголовки финансовых новостей о компаниях, торгующихся на Московской и СПб биржах. Целевой переменной датасета является оценка тональности новостных заголовков в виде вещественного числа. Идеи для использования датасета: Создание трейдинговых стратегий на основе анализа тональности новостей "на лету"; Анализ новостного фона в разрезе времени (день/неделя) или в разрезе компании.

Читать далее

Что такое тезаурус и как определить семантическое сходство слов

Время на прочтение7 мин
Охват и читатели18K

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

Читать далее

Теория групп слов, на базе которых работает мышление

Время на прочтение12 мин
Охват и читатели3.4K

Существуют ограниченное число алгоритмов в нашем разуме, но их почему то, не удается выделить по отдельности и понять. Дело в том, что один и тот же алгоритм проявляет себя по разному в разных группах слов. Эта статья продолжает рассматривает идеи из статьи теория алгоритма, лежащего в основе разума.

Исходя из того, что слова делятся на группы по смыслу и для каждой из них есть свои правила (Статья про семантические карты мозга). Трудность понимания моделирования в человеческой психике в том, что все разделено на группы, и в анализируемом предложении могут быть слова из разных групп со своими законами и с разными правилами взаимодействия между словами различных групп. Например, в книге написано про общение людей в замке, и описаны окружающие людей предметы, и указано, что люди видят. В итоге, в модели присутствует слишком много различных правил для разных групп слов, что бы их можно было обобщить.

В мозге есть карта реальности и есть общий план действий (см. рис. 1). По плану надо перейти через переход. Человек стоит перед переходом и мозг ищет в памяти сцены ко всему, что на карте. Потенциальных сцен много, но учитывая план, что надо перейти через дорогу, мозг находит сцену с переходом, светофором (они есть на карте местности) и с результатом действия, который подходит к плану. Сцена это кусочек карты, но например, на карте светофор имеет свое место, а на сцене он находится в какой то зоне (это понято на основе опыта).

Читать далее

Как мы сделали распознавание речи нескольких говорящих

Время на прочтение9 мин
Охват и читатели19K

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

Не так давно мы отметили 1 миллион проданных устройств с виртуальными ассистентами Салют. В нашей линейке в числе прочего представлены farfield-устройства, то есть те, с которыми можно “разговаривать” на расстоянии: смарт-дисплей SberPortal, ТВ-медиацентр SberBox Top и умная медиаколонка SberBox Time. В комнатах, где они стоят, может говорить одновременно несколько людей или играть телевизор, что существенно усложняет задачу распознавания. Иногда необходимость распознать больше одного голоса на записи возникает и у клиентов нашего API SmartSpeech — например, если это разговор двух людей.

В статье я расскажу, как мы решали эту проблему. Подробно остановимся на архитектуре нашего решения, узнаем о процессе её создания и возникавших сложностях, послушаем примеры работы системы.

Читать далее

Анализ различий подачи новостей в Telegram-каналах

Время на прочтение3 мин
Охват и читатели16K

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

Дисклеймер 1: многое из этого отчёта может показаться политизированным. Но здесь я не делаю никаких выводов про то, кто прав, а кто виноват; кто грязный пропагандист, а кто носитель священной истины.

Дисклеймер 2: это не руководство по визуализации данных средствами Plotly и PyVis. В самой статье я не привожу никакого кода и не объясняю, почему он устроен именно так. При этом Colab с кодом открыт, и примеры оттуда вполне можно использовать.

Google Colab: ссылка на ноутбук

Хочу знать подробности!

Автоматическое реферирование текстов. Обзор работ

Время на прочтение13 мин
Охват и читатели8K

Я думаю, многим знакома ситуация, когда в сжатые сроки необходимо ознакомиться с большим объёмом текстов – статей, обзоров, сюжетов, отзывов и так далее. Читать их все от начала и до конца слишком напряжно, не правда ли? И здесь на помощь приходят рефераты – краткие выжимки текстов, содержащие только самое главное и важное. Написанием рефератов занимаются зачастую эксперты, однако такая работа требует немало времени и усилий. Кроме того, труд экспертов должен, само собой, оплачиваться. Решение – применять методы автоматического реферирования текстов (Automatic Summarization), то есть порождать рефераты с помощью специальных компьютерных программ. В этой статье мы познакомимся с некоторыми наиболее распространёнными подходами к решению данной задачи.

Читать далее

Экзибит, прокачай мой трансформер или Основные идеи по улучшению модели трансформера с 2018 по 2020 год (часть 1)

Время на прочтение14 мин
Охват и читатели3.9K

В июне 2021 года вышла статья “A Survey of Transformers” - обзор различных нововведений, сделанных с применением архитектуры “трансформер” после ее появления в материале “Attention is all you need”.

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

Представляю в блоге ЛАНИТ обзор статьи “A Survey of Transformers”.

Читать далее

Fine-Tune модели основанной на трансформерах (Rubert) для классификации текстов

Время на прочтение7 мин
Охват и читатели24K

Задача классификации текста уже давно является устоявшейся во многих компаниях. Она используется для определения настроения клиентов, разделение документов на заранее известные темы, детекции фейковых новостей и т.д. Сегодня я представлю state of the art подход для решения задачи бинарной классификации, а именно детекция сообщений, в которой присутствует жалоба на сотрудника.

А также сравню по точности два подхода - Fine-Tune Bert и получение предобученных эмбеддингов и их классификация с использованием полносвязной нейронной сети.

Читать далее

Алгоритм обучения CBOW архитектуры для векторизации слов

Время на прочтение5 мин
Охват и читатели8.3K

В этой статье подробно разбирается алгоритм обучения архитектуры CBOW (Continuous Bag of Words), которая появилась в 2013 году и дала сильный толчок в решении задачи векторного представления слов, т.к. в первый раз на практике использовался подход на основе нейронных сетей. Архитектура CBOW не столь требовательна к наличию GPU и вполне может обучаться на ЦП (хотя и более медленно). Большие готовые модели, обученные на википедии или новостных сводках, вполне могут работать на 4-х ядерном процессоре, показывая приемлемое время отклика.

Читать далее

История о том, как фронтендер YaLM 100B на одной RTX 3070 TI запускал

Время на прочтение5 мин
Охват и читатели8.6K

В июне Яндекс опубликовал нейросеть YaLM 100B. Нейросеть умеет генерировать тексты. А это очень мощная вещь, можно попробовать массу всего полезного (и не очень) создать с ее помощью, от сюжетов для книг, игр и приложений, заканчивая рерайтом статей или того хуже, дорвеями.

Эта штука имеет лицензию Apache 2.0. Но чтобы запустить нужно ~ 200GB GPU  видеопамяти!

И еще есть нюанс, проверить нейронку в работе, не так-то просто. Яндекс не предоставили ни демок, ни инструкций, как запустить бюджетно YaLM 100B. Пока все ждут урезанную или онлайн версию, я познакомился с ней поближе. Об этом и лонгрид. 

Спойлер, дальше рассказ пойдёт о том, через что я прошёл и результаты. Исходников не будет.

Поехали!

Реален ли (и нужен ли нам) медицинский нейросетевой чат-бот?

Время на прочтение16 мин
Охват и читатели2.2K


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

12 схем архитектуры английской грамматики

Время на прочтение12 мин
Охват и читатели43K

Я предприняла попытку смоделировать в 12 схемах и 16 пунктах пояснительных заметок английский как систему: общую структуру его уровней, логику и принципы, по которым он, в рамках моего подхода, функционирует. Мне хотелось, насколько это возможно, в своём описании грамматики придерживаться формата технической документации.

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

Читать далее

Нейросетевой подход к кредитному скорингу на данных кредитных историй

Время на прочтение11 мин
Охват и читатели19K

В Альфа-Банке естественным образом накапливаются разнообразные последовательные данные: истории транзакций клиентов, кредитные истории, истории коммуникаций. Одно из двух направлений Лаборатории машинного обучения Альфа-Банка занимается построением нейросетевых моделей на таких данных для решения разных задач. Одна из них — задача кредитного скоринга. Любой прирост в качестве скоринга платежеспособности клиентов на входе может быстро принести большой прирост в прибыли на выходе за счет увеличения числа выдач при неизменном риске. 

Мы уже рассказывали о построении моделей на последовательностях карточных транзакций и транзакций расчетного счета для решения задачи кредитного скоринга. В обоих случаях вместо классических подходов – логистической регрессии и градиентного бустинга – использовались настоящие «черные ящики»: рекуррентные нейронные сети. Теперь же мы хотим рассказать о применении этого неклассического подхода на другом источнике данных – кредитных историях.

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

Читать далее

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

Автоматический синтез речи: взгляд лингвиста

Время на прочтение8 мин
Охват и читатели4.2K

Что первым придет в голову, если перед нами встанет задача автоматического порождения речи по тексту? Вероятнее всего, мы позаботимся о расстановке пауз между словами, постараемся правильно выбрать интонацию фразы и расставить смысловые акценты. Обязательно построим фонетическую транскрипцию: орфография и произношение далеко не всегда однозначно соответствуют друг другу, о чем компьютер не узнает без нашей помощи.  Полученную транскрипцию переведем в цифровой сигнал, который затем преобразуем в звуковые колебания. 

Читать далее

Комбинаторные свойства русского текста

Уровень сложностиСложный
Время на прочтение3 мин
Охват и читатели3.2K

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

Читать далее

По ту сторону генерации текста: языковые модели, которые действуют, а не просто говорят

Время на прочтение7 мин
Охват и читатели5.1K

Большие языковые модели, например GPT-3, в основном использовались для генерации текста, но язык — лишь средство достижения цели. В ближайшие годы модели станут не просто говорить, а действовать. Подробности — к старту нашего флагманского курса по Data Science.

Читать далее

Любовь, люди и роботы: как создать чат-бота, за которого не стыдно

Время на прочтение9 мин
Охват и читатели8.6K

Привет! Меня зовут Дима, и я почти два года работаю в Ozon. Я пришёл продакт-менеджером, а через год стал руководителем отдела, при этом продуктовая составляющая моей работы никуда не делась. Сейчас моя команда развивает платформу для создания чат-ботов, где наш флагман — это чат-бот клиентской поддержки внутри нашей WebCRM, где происходит вся магия общения с пользователями. 

Исторически сложилось, что в Ozon основной объём поддержки осуществляется через чат. В 2020 году бот закрывал 27% от общего числа обращений, а в 2022-м — уже 62%. Это сотни тысяч тикетов в день, при этом качество ответов не ухудшилось. Важность чат-бота выросла в разы.

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

Читать далее

А слабо сделать нормального чат-бота для банка? — challenge accepted

Время на прочтение9 мин
Охват и читатели8K


Сначала оказалось, что простые эвристики не работают. Ну вот совсем. То есть тупой чат-бот, который умеет распознавать с десяток жёстких тематик или показывать клавиатуру вроде «Нажмите 1, чтобы узнать свой баланс», несильно экономит время контакт-центру. Люди как не читали инструкции, так и не читают, а при виде такого сразу стремятся выйти на живого оператора.

То есть бот должен быть реально полезным. Таким, чтобы пользователь чувствовал, что диалог с ним — это не конкурс «обойти железного идиота», а что-то всё же даёт.

Здесь ждут следующие грабли: предположим, вы собрали всю базу диалогов контакт-центра с 2002 года. Разметили её и даже обучили на ней бота. Дальше произойдёт следующее:

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

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

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

Восстанавливаем предложения из эмбеддингов LaBSE

Время на прочтение8 мин
Охват и читатели11K

На прошлой неделе меня дважды спрашивали, как восстановить текст предложения из его LaBSE эмбеддинга. Я дважды отвечал, что никак. Но на самом деле, конечно, можно обучить декодер генерировать текст по его эмбеддингу. Зачем? Например, чтобы переводить с 100 языков на русский, перефразировать предложения, модифицировать их смысл или стиль.

Модель для восстановления предложений из эмбеддингов опубликована как cointegrated/rut5-base-labse-decoder, а подробности – под катом.

Читать далее

Мультиклассовая классификация текста. Дисбаланс тренировочных данных и их генерация. Особенности взвешивания TF-IDF

Время на прочтение10 мин
Охват и читатели11K

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

Читать далее

Вклад авторов