Обновить
119.87

Natural Language Processing *

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

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

Автоматическое исправление ошибок ASR с помощью sequence-to-sequence моделей

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

Всем привет, я Алсу Вахитова — NLP-разработчица в MTS AI. Вместе с коллегами мы создаем различные алгоритмы обработки текста и извлечения информации из него. Большое количество проектов включает в себя взаимодействие с командами из “соседних” доменов, например, automatic speech recognition (ASR). Одна из таких задач - исправление ошибок в результате работы ASR методов (ASR error correction). В этой статье я приведу теоретический обзор некоторых статей, решающих данную проблему.

Читать далее

Лучшие новые библиотеки Python за 2022 год

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

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

Читать далее

Биграммы и триграммы. Кейс сбора и анализа информации из аудио с непонятными словами

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

Привет. Меня зовут Александр Родченков, я занимаюсь речевой аналитикой в центре машинного обучения «Инфосистемы Джет». Тут я расскажу о биграммах и триграммах на примере реального, хоть и довольно скромного, кейса. Что же это за «граммы» такие, с чем их «едят» и зачем они нам? Кейс решал задачу сбора и обработки данных одной из продовольственных компаний. Сложность задачи заключалась в том, что в речи было очень много специфических терминов и аббревиатур. Как мы с этим справились, и с какими неожиданностями столкнулись после, читай под катом.

Жми, не пожалеешь!

ML алгоритм нашел баг в моем коде…

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

Я играл с языковой моделью SalesForce CodeGen. Она генерирует новый код по подсказкам. Но я хотел посмотреть, как она будет анализировать уже написанный код.

Я попросил модель посмотреть на существующий код и оценить вероятность появления каждого слова с учетом предыдущих слов. Далее я сравнил вероятность появления моего слова с вероятностью слова предсказанного моделью

Я взял один из файлов моего проекта. Яркость отражает маловероятность каждого слова. Красный цвет показывает, насколько более вероятен токен модели.

Читать далее

Копирайтерам на выход с вещами?

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

Сможет ли ChatGPT сделать более сложную работу? Например, написать статью-интервью. Я решил это проверить и попросил ChatGPT взять интервью у .... ChatGPT. То есть подготовить вопросы, потом самому же на них ответить. Результат можете оценить сами: весь дальнейший текст сгенерирован нейронной сетью.

Читать далее

Как и зачем тестировать голосовых и чат-ботов?

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

Привет, Хабр! Меня зовут Оля, и я работаю QA-инженером в команде лингвистов Just AI. Для лингвистов-разработчиков каждый чат-бот — это отдельный проект со своими фичами, иногда с собственным характером и всегда — с особым подходом к тестированию. В тестировании ботов, помимо проектной специфики (a.k.a. конкретные требования и «хотелки» заказчика), которую обобщить едва ли возможно, есть еще и неочевидные вещи, связанные со спецификой самого типа бота. В этом материале я постаралась аккумулировать наш опыт запуска голосовых и текстовых ботов в продакшен (десятков ботов!) и собрать рекомендации о том, как их тестировать. 

Читать далее

TAPE: первый бенчмарк для few-shot оценки языковых моделей на русском языке

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

Мы в SberDevices обучаем и оцениваем языковые модели для русского языка уже давно — так, например, за два года существования бенчмарка Russian SuperGLUE через его систему оценки прошли более 1500 сабмитов. Мы продолжаем разрабатывать инструменты для русского языка и в этой статье расскажем, как создали новый бенчмарк, который:

- опирается на оценку моделей в режимах zero-shot и few-shot; 

- использует новую библиотеку RuTransform для создания состязательных атак и трансформации данных с учётом особенностей русского языка на уровне слов и предложений — библиотека может быть использована как инструмент для аугментации данных;

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

Читать далее

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

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

📌 градиент обреченный

Хочу показать, как создать мультиязычный параллельный корпус и книги при помощи моего пет-проекта.

Для примера возьмем 10 редакций "Мастера и Маргариты" Михаила Булгакова (ru, uk, by, en, fr, it, es, de, hu, zh). Сначала выровняем девять переводов с оригиналом, а затем выровняем все вместе. Получим параллельный корпус на 10 языках и много красивых книг. Приступим.

Код я оформил в виде веб-приложения, основная логика которого выполняется при помощи библиотеки lingtrain-aligner. Выравнивать можно прямиком из кода на python, либо через UI. В приложении будет удобней разрешать конфликты и там есть редактор, позволяющий корректировать получающийся корпус плюс дополнительные опции по верстке. Код у проекта открытый, можно посмотреть как все работает внутри. Приступим.

Читать далее

Ваш путеводитель по миру NLP (обработке естественного языка)

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

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

Но есть одна проблема: один человек способен сгенерировать декларацию объемом в сотни или даже тысячи слов, состоящую из предложений самой разной сложности. Если вас интересуют большие масштабы и вам нужно анализировать несколько сотен, тысяч или даже миллионов людей или деклараций по какому-то конкретному региону, то в какой-то момент эта задача может стать совершенно неподъемной.

Читать далее

Ускорение инференса модели BERT с помощью ONNX и ONNX Runtime на примере решения задачи классификации текста

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

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

Сделан обзор на актуальные подходы для ускорения работы нейронных сетей, представлены библиотеки ONNX и ONNX Runtime.

Проведены тесты с использованием фреймоворков ONNX и ONNX Runtime, используемых для ускорения работы моделей перед выводом их в продуктовую среду.

Представлены графические зависимости и блоки кода.

Читать далее

Обучение Russian SuperGLUE моделей с помощью библиотеки DeepPavlov

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

В последние годы соревнования GLUE и SuperGLUE на английском языке стали стандартным бенчмарком для определения возможностей универсальных языковых моделей, таких как BERT, RoBERTa в решении широкого круга задач обработки естественного языка, в том числе задач с недостаточным объемом обучающей выборки. Соревнования GLUE/SuperGLUE представляют из себя наборы задач NLP на основе ранее представленных датасетов. Академическое сообщество NLP довольно быстро расправилось с GLUE, отчасти вследствие того, что задачи были довольно однотипные, они сводились либо к парной текстовой классификации, либо к классификации единственной последовательности. Ответом на это был новый набор задач SuperGLUE, в состав которого вошли вопросно-ответные задачи, задачи кореференции и задачи семантического следования. На данный момент модели, обученные на базе ERNIE и DeBERT, превзошли качество разметки человеком.

Читать далее

Группируем текстовые записи с помощью Python и CountVectorizer

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

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

В очередной раз столкнувшись с этой проблемой при анализе данных в pandas, я решил подключить к решению CountVectorizer из scikit-learn. Результат показался интересным. Сразу оговорюсь, что в данном случае я не использую методы и алгоритмы машинного обучения, а только CountVectorizer как инструмент.

Читать далее

Мне нужна твоя поддержка: как запустить чат-бот на восьми языках быстро, без разметки и смс

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

У нас было несколько сотен тысяч чатов в месяц, восемь языков разных групп, миллионы строк неразмеченных данных, тысячи тематик чатов из разных областей нашей экосистемы и команда из 7 человек. Не то, чтобы всё это было категорически необходимо, но если уж начал автоматизацию чатов, то к делу надо подходить серьёзно. Единственное, что нас беспокоило — это процент автоматизации. В мире нет ничего более непонятного, сложного и запутанного, чем естественный язык и поведение клиентов. И я знал, что довольно скоро мы в это окунёмся.

Читать далее

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

Начало работы с языковой моделью Galactica

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

Galactica это большая языковая модель с открытым исходным кодом от Meta AI. Модель справляется с множеством научных задач, выполняет логические рассуждения, создает конспекты лекций, прогнозирует цитаты и имеет ещё массу других талантов.

В этой статье ты научишься загружать модель Galactica и напишешь свой первый запрос к ней.

Github-репозиторий

Читать далее

Может ли робот понять твои эмоции? Тенденции в области распознавания эмоций и психологических состояний человека

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

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

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

Читать далее

Умные субтитры

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

Сегодня я вам расскажу о своем методе для изучения иностранных языков.

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

Я предлагаю начать сразу с видео. Во-первых, видео просто интересно смотреть (особенно если это нормальные мультики/фильмы/сериалы, созданные для носителей языка). Во-вторых, вы сразу начнете запоминать звучание слов, что очень сильно пригодится для развития навыка аудирования в будущем.

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

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

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

Читать далее

Как определять пользовательские намерения, о которых мы узнали 5 минут назад

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

Привет! Меня зовут Даниил Цимерман, я R&D-инженер в NLP-отделе Тинькофф. Недавно я выступил на конференции DUMP и рассказал, как мы решали задачу определения интентов пользователей в чате в условиях быстро меняющихся запросов. Доклад можно посмотреть на Ютубе, а эта статья — его текстовая версия для читателей Хабра. Разберем, какие способы решения задачи существуют и что делать с постоянно возникающими новыми интентами. 

Читать далее

Зоопарк ML-моделей или лучший справочник на Хабре

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

Привет, Хабр!

Меня зовут Ирина, я работаю ML инженером в Brand Analytics. Моя работа тесно связана с NLP, ведь мы ежедневно получаем огромное количество текстовых данных со всего интернета. Сегодня я хочу поговорить о теме, которая беспокоила меня еще с тех времен, когда я только начала изучать SOTA-решения в задачах обработки естественного языка.

Читать далее

Понимают ли нейронные модели грамматику человеческого языка?

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

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

Читать далее

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

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

Представляю в блоге ЛАНИТ вторую часть моего пересказа статьи “A Survey of Transformers”, в которой приведены основные модификации архитектуры стандартного трансформера, придуманные за два года после ее появления. В первой части мы кратко вспомнили, из каких основных элементов и принципов состоит трансформер, и прошлись по различным схемам, меняющим или дополняющим механизм многоголового внимания. Целью большинства этих схем являлось преодоление квадратичной зависимости сложности вычислений от длины последовательности токенов, подающихся на вход. В этой части мы коснемся модификаций других элементов архитектуры, которые уже направлены или на улучшение способности сети извлекать больше информации из токенов, или применяются на большую длину последовательности, разделяя ее на сегменты. 

Читать далее

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