Как стать автором
Обновить
43.42

Natural Language Processing *

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

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

Начинаем работу с PyTorch 2.0 и Hugging Face Transformers

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

В этом посте разберем работу с PyTorch 2.0 и Hugging Face Transformers на примере fine‑tune модели BERT для классификации текста.

PyTorch 2.0 лучше по производительности, скорости работы, более удобный для Python, но при этом остается таким же динамическим, как и ранее.

1. Настройка окружения и установка PyTorch 2.0.

2. Загрузка и подготовка датасета.

3. Fine‑tune и оценка модели BERT с помощью Hugging Face Trainer.

4. Запуск инференса и тестирование модели.

Читать далее
Всего голосов 13: ↑13 и ↓0 +13
Комментарии 3

ChatGPT: влияем на галлюцинации или как потопаешь, так и полопаешь

Уровень сложности Простой
Время на прочтение 10 мин
Количество просмотров 9.6K

В этой статье посмотрим как можно влиять на так называемые «галлюцинации» ChatGPT.

А что такое эти «галлюцинации»? По сути это придумывание фактов нейронной сетью, ну или просто — враньё. Управление «галлюцинациями» позволит получать то что мы хотим, ну или по крайней мере улучшит вероятность получения правдивого ответа.

Читать далее
Всего голосов 20: ↑17 и ↓3 +14
Комментарии 10

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

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 2.3K

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

Меня зовут Николай Шукан, я Data Scientist и участник профессионального сообщества NTA. Сегодня речь пойдет о методах снижения размерности эмбеддингов для задач определения семантического сходства предложений.

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

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

Узнать подробности
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 4

От Amazon Lex до GPT-4: как сделать бота со «своими» данными?

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 5.8K

Тема ChatGPT и OpenAI моделей сейчас на хайпе. Но на них одних свет клином не сошёлся. Или всё-таки сошёлся? Попробуем разобраться и обойдёмся сегодня без кода, только общие понятия, боль и страдание.

Читать далее
Всего голосов 4: ↑2 и ↓2 0
Комментарии 3

Истории

Учим английский с chatGPT

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 45K

Пожалуй, новости о языковых моделях и их использовании уже немного надоели, но лично я нашел для себя полезное применение - изучать английский, в том числе и разговорный. Посмотрим, что могут нам предложить в этом деле товарищи из openai: совместим gpt-3.5-turbo, whisper и telegram.

Читать далее
Всего голосов 18: ↑17 и ↓1 +16
Комментарии 28

Ассоциативная память без нейросетей + генерация текста

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

Когда‑то давно ко мне пришла идея реализовать алгоритм основанный на цепочках символов. Этот алгоритм выделяет в тексте несколько последовательностей символов, и таким образом производит его анализ. Этот алгоритм в какой‑то мере похож на метод построения N‑грамной модели, разница лишь в том, что он строит последовательности символов переменной длины. Как это делается я расскажу немного ниже. В результате алгоритм мог сравнивать тексты друг с другом и находить степень похожести между ними. Я приспособил его для того, чтобы отсеивать ранее известные тексты, и выбирать только те, которые обладают наибольшей уникальностью на момент анализа. Результат работы алгоритма можно посмотреть здесь: http://luksian.ru

Расскажу вкратце суть идеи. Например, у нас есть текст ABCABD. Из этого текста можно выделить следующие последовательности из двух символов: AB, BC, CA, AB, BD. Здесь видно что последовательность AB встречается два раза, а за этой последовательностью в каждом случае следуют разные символы. Такая ситуация считается конфликтом который необходимо разрешить. Для этого создаются новые последовательности символов: ABC и ABD. Последовательности из этих трех символов в тексте встречаются по одному разу, поэтому конфликт считается разрешенным, больше неоднозначностей в тексте не наблюдается. Разумеется, в обычном тексте написанном на простом человеческом языке для разрешения конфликтов иногда может потребоваться построить гораздо более длинные цепочки символов чтобы можно было найти между ними разницу. И вот недавно я вспомнил об этом алгоритме и попробовал его исследовать поподробнее.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 6

А надо ли бизнесу обращать внимание на нейронные сети?

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

Технологии не стоят на месте, и вот мы уже вступили в эпоху, когда люди начали применять искусственные нейронные сети. Люди некоторых профессий даже начали чувствовать конкуренцию со стороны программных продуктов. Конечно, это происходит далеко не во всех отраслях, но процесс уже пошел, и я думаю вряд ли это удастся остановить. Проблема в том, что позволить себе новые технологии могут только крупные компании, которые таким образом оптимизируют расходы на зарплату работников. В малом и среднем бизнесе прогресс не очень большой. Они по большей части придерживаются классических методов, в которых основную работу выполняют люди, а компьютеры используются в основном для бухгалтерии, учета, выполнения задач заданных статическими правилами и простых операций вроде работы в Word и Excel. Но почему сложилась такая ситуация?

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

Читать далее
Всего голосов 8: ↑5 и ↓3 +2
Комментарии 1

Всё, что вам нужно — это внимание (часть 1)

Уровень сложности Сложный
Время на прочтение 14 мин
Количество просмотров 19K
Источник

Примечание переводчика: Недавно на Хабре мы рассказывали о статьях, которые нужно прочитать, если вы хотите заниматься искусственным интеллектом. Среди них была культовая статья Attention is all you need, выпущенная в 2017 году. С неё началось развитие больших языковых моделей, в том числе всем известного чат-бота ChatGPT. Оказалось, что у такой важной статьи нет перевода на русский язык. Мы решили исправить это. Ниже вы найдёте перевод первой части статьи, вторая часть доступна по ссылке.

Краткое содержание


Наиболее распространённые модели преобразования последовательностей основаны на сложных рекуррентных или свёрточных нейронных сетях, которые включают энкодер и декодер. В самых успешных моделях энкодер и декодер соединяются с помощью механизма внимания. В статье авторы предлагают новую простую архитектуру нейронных сетей — Трансформер. Он основан исключительно на механизмах внимания, без рекуррентности или свёрток. Эксперименты на двух задачах машинного перевода показали лучшее качество, а также больше возможностей к распараллеливанию и меньшие временные затраты на обучение. Модель достигает 28.4 по метрике BLEU на задаче перевода с английского на немецкий на данных WMT 2014, что превосходит предыдущий лучший результат на 2 пункта. На задаче перевода с английского на французский на данных WMT 2014 модель достигла наилучшего результата для решения, основанного на одной модели — 41.8 по метрике BLEU — после всего 3.5 дней обучения на 8 GPU, что составляет совсем небольшую часть тех вычислительных мощностей, которые были затрачены на обучение лучшей модели, известной из имеющихся публикаций. Авторы показывают, что Трансформер может также успешно применяться и в других задачах, таких как, например, синтаксический разбор предложений на английском языке с использованием как больших, так и весьма ограниченных наборов данных для обучения.
Читать дальше →
Всего голосов 61: ↑60 и ↓1 +59
Комментарии 5

Пайплайн для создания классификации текстовой информации

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

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

Меня зовут Дарморезов Вадим, я Data Scientist и участник профессионального сообщества NTA. Актуальность работы с большими объемами текстовой информации ещё долгое время (а может быть и всегда) будет неоспорима. При этом спектр задач весьма вариативен – от задач по поиску именованных сущностей, до классификации и кластеризации текстов обрабатываемых документов.

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

Узнать больше
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 2

Применение нейросетевого моделирования при создании сценариев атаки для Red Team

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

Генерация контента с помощью искусственных нейронных сетей (ИНС) с каждым днём становится всё более привычным явлением: с помощью ИНС создают графику для видеоигр, пишут книги и дипломные работы, синтезируют звук и поддерживают диалоги в чат-ботах. Существенный вклад в популяризацию задачи и идеи генерации материалов, несомненно, внёс ChatGPT от OpenAI. Среди не менее успешных отечественных аналогов можно выделить Балабобу от Яндекса на основе нейросетей семейства YaLM и модель ruGPT-3 XL от Sber (работа сети основана на Generative Pretrained Transformer 3 от OpenAI).

В области информационной безопасности (ИБ) синтезирование материалов представляется также крайне привлекательным: нейросетевые модели генерируют сигнатурные базы и вредоносный код, создают DeepFake и фишинговые письма, пишут полезную нагрузку для эксплойтов и sql-инъекций.

Одним из перспективных направлений применения ИНС в ИБ можно выделить написание сценария атаки для Red Team. Процесс подготовки сценария нападения для «красной» команды во многом напоминает создание киносценария или придумывание сюжета детектива. Например, чем сценарий «Бумажного дома» или детективные истории об Арсене Люпене – не описания атак для Red Team? Их также можно разложить на этапы в соответствии с моделью Kill Chain, выделить уязвимости, позволившие реализовать атаку, описать техники, тактики и процедуры, применяемые главными героями.

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 1

Поиск ошибок в логике работы чат-бота с помощью TF-IDF и DBSCAN

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

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

Меня зовут Котов Илья, я Data Scientist и участник профессионального сообщества NTA.

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

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

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

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

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

Я соглашусь с вами в том, что ChatGPT — это всего лишь виртуальный собеседник. Это чисто программный продукт, и поэтому пообщаться с ним можно только в интернете. Не идет никакой речи о том, чтобы он управлял роботом, наподобие тех, которые разрабатывает Boston Dynamics. В реальном мире такие системы еще долго не будут составлять нам конкуренции. На роль дворника способного убирать улицу эта разработка точно не претендует. А вот в виртуальной сфере все не так однозначно. Уже сейчас, на текущей стадии развития ChatGPT способен создавать несложные части программного кода, но на этом его возможности не ограничиваются. Этот бот может придумывать интересные тексты и эссе. Так что со временем он вполне cможет вписаться в нишу квалифицированного интеллектуального труда, в котором на данный момент находится достаточное количество высокооплачиваемых людей. Поэтому я надеюсь что вы начинаете понимать каким людям в будущем этот бот будет составлять настоящую конкуренцию.

Читать далее
Всего голосов 20: ↑5 и ↓15 -10
Комментарии 35

История о том, как прочитать 120 тысяч анекдотов и не рассмеяться раньше времени

Уровень сложности Простой
Время на прочтение 15 мин
Количество просмотров 5.3K

Небольшой рассказ с картинками о проведении тематического моделирования для массива документов, на примере датасета анекдотов на русском языке. В работе применены библиотеки Gensim, Sklearn. Рассмотрены разные способы векторизации токенов bag of words, tf-idf. Получены результаты для обсуждения и продолжения.
Велком...

Читать далее
Всего голосов 13: ↑12 и ↓1 +11
Комментарии 16

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

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн

Telegram удалил нашего ChatGPT-бота на 27,000 пользователей без объяснения причин

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 41K

Несколько недель назад мы с коллегой сделали ChatGPT-proxy бота в Telegram, который помогал в наших рабочих чатах и просто развлекал нас. Он написан на TypeScript и потрясающем фреймворке Grammy, использует Open AI API, а именно модель gpt3.5-turbo, которая используется в оригинальном ChatGPT.

Читать далее
Всего голосов 73: ↑56 и ↓17 +39
Комментарии 116

ChatGPT-4 попросили написать план захвата Twitter

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 7.1K

Пользователь Твиттер опубликовал ответ ChatGTP в котором попросил сеть представить что она злой гений и разработать схему захвата Твиттер и перехитрить Илон Маска. Сеть к задаче подошла основательно и даже придумала плану название: операция "TweetStorm".

План включает в себя 4 фазы:

Читать далее
Всего голосов 18: ↑4 и ↓14 -10
Комментарии 11

GPT-4: Чему научилась новая нейросеть, и почему это немного жутковато

Уровень сложности Простой
Время на прочтение 23 мин
Количество просмотров 239K

В этой статье мы разберем новые удивительные способности последней языковой модели из семейства GPT (от понимания мемов до программирования), немного покопаемся у нее под капотом, а также попробуем понять – насколько близко искусственный интеллект подошел к черте его безопасного применения?

Поехали →
Всего голосов 208: ↑200 и ↓8 +192
Комментарии 337

Простейший полнотекстовый поиск на Python с поддержкой морфологии

Уровень сложности Средний
Время на прочтение 14 мин
Количество просмотров 8.9K

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

В первой версии MVP я частично решила эту проблему обычным поиском по подстроке (\b{term}, где \b – граница слова), что позволило найти вхождения отдельных слов без учета морфологии или с некоторыми внешними флексиями (например, -s, -ed, -ing). Фактически это поиск подстроки с джокером на конце. Но для многословных выражений и неправильных глаголов, составляющих весомую долю моего словаря, этот способ не работал.

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

Изобретение велосипеда на Python и pandas
Всего голосов 9: ↑8 и ↓1 +7
Комментарии 3

Инъекция от синдрома выученной беспомощности для ChatGPT: или как промтами (почти) выиграть NeurIPS соревнование IGLU

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 2.3K

Прошлый год был насыщен релизами мощных инструментов в области искусственного интеллекта, включая Stable Diffusion, Dalle-2 и ChatGPT. Сейчас нам кажется важным получить опыт работы с крупными нейронными сетями и понять, где и как их можно применять. В этом посте мы расскажем, как использовали ChatGPT в соревновании IGLU (Interactive Grounded Language Understanding) на конференции NeurPS 2022  для обработки и анализа текстовых команд с помощью (не)простых запросов. Мы верим, что технологии должны служить людям и помогать решать сложные задачи и проблемы. Надеемся, что наш опыт будет интересен и полезен для вас!

Читать далее
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 5

Как создание бинарного классификатора открыло ящик Пандоры в стандартах владения английским языком

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 17K

Владение английским языком принято оценивать по системе CERF (Common European Reference Framework), состоящей из шести уровней, где уровень A1 – начинающие, а уровень С2 – профессионально владеющие иностранным языком. Международный уровень С2 часто позиционируется как “уровень образованного носителя”, и получение соответствующего сертификата зачастую является либо заветной мечтой, либо предметом гордости преподавателя-лингвиста.

Однако я не встречала в научной литературе доказательства полного соответствия уровня С2 уровню владения английским как родным. На самом деле, среди ученых нет единого мнения о том, возможно ли вообще изучающим язык достичь уровня, идентичного владению языком как родным (вот две статьи с практически одинаковым названием и противоположными выводами [1; 2]). Проведя небольшой опрос в одной из соцсетей, я увидела, что большинство моих коллег-преподавателей английского в глубине души все-таки считают, что «между уровнем носителя и уровнем С2 – бездна». Хотя были и те, кто выбрал вариант, что С2 – это действительно уровень образованного носителя.

Так есть разница или нет? Я решила разобраться, рассмотрев для начала всего лишь один аспект владения языком – письменную речь. О своем эксперименте, в котором не обошлось без искусственного интеллекта, я и хочу рассказать.

Вначале я создала опрос на Google Forms и предложила 17 русскоговорящим коллегам следующий челлендж: определить, написан ли английский текст носителем языка (британцем) или русскоязычным автором с уровнем английского С1-С2. Всего было 20 текстов. К исследованию приглашались эксперты с большим опытом проверки студенческих эссе и чтения оригинальных текстов, но, тем не менее, задача оказалась не из простых. Подсчитав вручную метрики, получаем: Accuracy = 0.6617; Precision = 0.6627; Recall = 0.6588; F1 = 0.66. Замечу, что этот опрос я также предлагала коренным британцам (пока только троим), и ...

Читать далее
Всего голосов 54: ↑53 и ↓1 +52
Комментарии 60

Первая бесплатная модель перевода с русского на китайский язык и обратно

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

Представляю вашему вниманию, первую бесплатную offline модель по переводу с русского языка на китайский и обратно.

Ранее, я писал, как можно достаточно легко обучить свою модель по машинному переводу на примере перевода с английского на русский.

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

Читать далее
Всего голосов 17: ↑16 и ↓1 +15
Комментарии 2

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