#чтивонаночь
Недавно от заказчика пришел запрос сделать классификатор текстов. При этом ни обучающих данных, ни домена, ни количества классов он предоставлять не стал.
Штош. Сделал TF-IDF + логрег, засунул в два докера — train и predict, написал как пользоваться и отдал.
Через какое-то время ко мне вернулись со словами, что балалайка не работает. Подумал. Так как это бейзлайн и хоть как-то он работать должен, то дело может быть в их разметке.
Попросил взять немного данных, дать нескольким сотрудникам на разметку и посмотреть совпадут ли они с между собой и с обучающей выборкой.
Тут заказчик сознался, что классов несколько сотен, тексты размечаются автоматически на уровне рандома и что человеки само собой тоже путаются. А на самом деле им нужно поделить на два класса спам/не спам.
Общайтесь с заказчиком и сначала делайте бейзлайн. Аминь.
Недавно от заказчика пришел запрос сделать классификатор текстов. При этом ни обучающих данных, ни домена, ни количества классов он предоставлять не стал.
Штош. Сделал TF-IDF + логрег, засунул в два докера — train и predict, написал как пользоваться и отдал.
Через какое-то время ко мне вернулись со словами, что балалайка не работает. Подумал. Так как это бейзлайн и хоть как-то он работать должен, то дело может быть в их разметке.
Попросил взять немного данных, дать нескольким сотрудникам на разметку и посмотреть совпадут ли они с между собой и с обучающей выборкой.
Тут заказчик сознался, что классов несколько сотен, тексты размечаются автоматически на уровне рандома и что человеки само собой тоже путаются. А на самом деле им нужно поделить на два класса спам/не спам.
Общайтесь с заказчиком и сначала делайте бейзлайн. Аминь.
🔥5👍4😁2
#cv #news #gen
🔮 Midjourney открылся
На случай, если вы пропустили, — midjourney вышел в открытую бету. А это значит, что любой желающий может немедленно начать генерировать контент по тексту.
👉 Генерация идет через discord, вот ссылка на приглашение.
Запросы ограничены только вашим воображением, вот вам пара идей:
• Том Круз Танос
• Илон Маск сиба-ину
• Вселенная в бутылке
• Рисунок красного воробья
🔮 Midjourney открылся
На случай, если вы пропустили, — midjourney вышел в открытую бету. А это значит, что любой желающий может немедленно начать генерировать контент по тексту.
👉 Генерация идет через discord, вот ссылка на приглашение.
Запросы ограничены только вашим воображением, вот вам пара идей:
• Том Круз Танос
• Илон Маск сиба-ину
• Вселенная в бутылке
• Рисунок красного воробья
🔥11
#notes #data #nlp #lingtrain
Делаем корпус парафраз
Если выровнять два текста на разных языках, то получится параллельный корпус. Если выравнивать тексты на одном языке, — то корпус парафраз (предложений, имеющих один смысл, но написанных по разному).
💡 Пришла в голову идея по использованию lingtrain'а для выравнивания переводов книг на одном языке.
〰️ Зачем?
Обычно такие корпуса используют для обучения генеративных моделей переписывать тексты с сохранением смысла, переноса стиля или аугментирования.
Кроме того, так как это не просто тексты, а профессиональные художественные переводы, то и сам корпус будет представлять из себя интерес (можно будет, например, проанализировать разницу между переводами Норы Галь и современными переводчиками).
Если к нему добавить еще и оригинальный текст, то получится референсный словарь для переводчиков с несколькими вариантами.
➕ Из плюсов видится то, что книг для выравнивания много — классика и популярные произведения часто переводятся по нескольку раз разными переводчиками. Предложения получаются очень разнообразными (иногда даже слишком), так как каждый переводчик имеет свой неповторимый стиль.
➖Последний пункт может являться и минусом, так как некоторые переводчики склонны чересчур обогащать текст. На это надо обратить внимание перед выравниванием.
👉 P.S. Попробовал на русских переводах Агаты Кристи, получается довольно неплохо.
GitHub c выравнивателем | agata.tmx
Делаем корпус парафраз
Если выровнять два текста на разных языках, то получится параллельный корпус. Если выравнивать тексты на одном языке, — то корпус парафраз (предложений, имеющих один смысл, но написанных по разному).
💡 Пришла в голову идея по использованию lingtrain'а для выравнивания переводов книг на одном языке.
〰️ Зачем?
Обычно такие корпуса используют для обучения генеративных моделей переписывать тексты с сохранением смысла, переноса стиля или аугментирования.
Кроме того, так как это не просто тексты, а профессиональные художественные переводы, то и сам корпус будет представлять из себя интерес (можно будет, например, проанализировать разницу между переводами Норы Галь и современными переводчиками).
Если к нему добавить еще и оригинальный текст, то получится референсный словарь для переводчиков с несколькими вариантами.
➕ Из плюсов видится то, что книг для выравнивания много — классика и популярные произведения часто переводятся по нескольку раз разными переводчиками. Предложения получаются очень разнообразными (иногда даже слишком), так как каждый переводчик имеет свой неповторимый стиль.
➖Последний пункт может являться и минусом, так как некоторые переводчики склонны чересчур обогащать текст. На это надо обратить внимание перед выравниванием.
👉 P.S. Попробовал на русских переводах Агаты Кристи, получается довольно неплохо.
GitHub c выравнивателем | agata.tmx
🔥9👍6
#linguistics #cv #craft
📚 Нарисовал пару диаграммок для любителей графики и лингвистики.
Затронуты различные письменности славянских языков, а также арабо-персидская.
Если есть идеи, чего бы еще такого порисовать, то пишите. Еще лучше, если сразу составите диаграмму 😁
📚 Нарисовал пару диаграммок для любителей графики и лингвистики.
Затронуты различные письменности славянских языков, а также арабо-персидская.
Если есть идеи, чего бы еще такого порисовать, то пишите. Еще лучше, если сразу составите диаграмму 😁
🔥18👍4
#notes #nlp #books
NLP против Тарантино
📚 Попалась на глаза книжка "The Secret Life of Pronouns". В ней при помощи инструментов обработки текста автор изучает аспекты использования функциональных слов.
Это такие слова, которые обозначают отношения между словами, но сами по себе не несут почти никакой смысловой нагрузки (к таким можно отнести предлоги, частицы, артикли и союзы).
Так вот, изучив сценарии Тарантино, Пеннебейкер приходит к выводу, что героини в фильмах этого режиссера разговаривают как мужчины. Затем он идет дальше и видит, что и сам "The Bard", а другими словами Шекспир, хоть и мастерски описывал сложные жизненные ситуации женщин, тоже использует функциональные слова в мужской стилистике.
💡Думаю, из этого можно вынести не только то, что Тарантино и Шекспир "fails at getting inside the minds of women", но и то, что в тексте заложена информация об авторе — пол, возраст, настроение, стиль, актуальность.
Это значит, что можно не только определять эти показатели, но и извлекать их и переносить на другие тексты. Например, сделать так, чтобы конкретный текст выглядел, как будто его написала женщина-ученый среднего возраста или школьник 19-го века.
👉 Идея не нова и такие исследования есть, но, кажется, что в данной задаче можно более продуктивно использовать ресурс переводов — переводчики работающие над одним текстом могут быть разного возраста и пола. Тем самым мы получаем корпус парафраз, в котором одни и те же предложения написаны в разной стилистике. По-моему, это был бы полезный ресурс в задаче переноса стиля.
NLP против Тарантино
📚 Попалась на глаза книжка "The Secret Life of Pronouns". В ней при помощи инструментов обработки текста автор изучает аспекты использования функциональных слов.
Это такие слова, которые обозначают отношения между словами, но сами по себе не несут почти никакой смысловой нагрузки (к таким можно отнести предлоги, частицы, артикли и союзы).
Так вот, изучив сценарии Тарантино, Пеннебейкер приходит к выводу, что героини в фильмах этого режиссера разговаривают как мужчины. Затем он идет дальше и видит, что и сам "The Bard", а другими словами Шекспир, хоть и мастерски описывал сложные жизненные ситуации женщин, тоже использует функциональные слова в мужской стилистике.
💡Думаю, из этого можно вынести не только то, что Тарантино и Шекспир "fails at getting inside the minds of women", но и то, что в тексте заложена информация об авторе — пол, возраст, настроение, стиль, актуальность.
Это значит, что можно не только определять эти показатели, но и извлекать их и переносить на другие тексты. Например, сделать так, чтобы конкретный текст выглядел, как будто его написала женщина-ученый среднего возраста или школьник 19-го века.
👉 Идея не нова и такие исследования есть, но, кажется, что в данной задаче можно более продуктивно использовать ресурс переводов — переводчики работающие над одним текстом могут быть разного возраста и пола. Тем самым мы получаем корпус парафраз, в котором одни и те же предложения написаны в разной стилистике. По-моему, это был бы полезный ресурс в задаче переноса стиля.
🔥15👍9
Forwarded from Криптонит. Разработка, наука, шифрование
Пару недель назад мы поделились подборкой материалов для изучения Scala. И нам написал читатель с просьбой выкладывать побольше подобных постов.
Ловите новую подборку! На этот раз — от экспертов в Machine Learning компании «Криптонит»:
1. Книги:
- Николенко С. «Глубокое обучение. Погружение в мир нейронных сетей»;
- Рашид Тарик «Создаем нейронную сеть».
2. Подкасты:
- Machine Learning Podcast;
- Неопознанный Искусственный Интеллект.
3. Курсы:
- школа глубокого обучения МФТИ;
- подборка открытых курсов Стэнфорда, связанных с машинным обучением.
4. Telegram-каналы:
- градиент обреченный;
- gonzo-обзоры ML статей;
- NN for Science.
5. Комьюнити: ODS (Open Data Science).
- - - - - - - - - - - - - - - - - - - - - - -
P.S. Вы всегда можете поделиться с нами идеями и предложениями❤️ Мы всё читаем!
#подборки
Ловите новую подборку! На этот раз — от экспертов в Machine Learning компании «Криптонит»:
1. Книги:
- Николенко С. «Глубокое обучение. Погружение в мир нейронных сетей»;
- Рашид Тарик «Создаем нейронную сеть».
2. Подкасты:
- Machine Learning Podcast;
- Неопознанный Искусственный Интеллект.
3. Курсы:
- школа глубокого обучения МФТИ;
- подборка открытых курсов Стэнфорда, связанных с машинным обучением.
4. Telegram-каналы:
- градиент обреченный;
- gonzo-обзоры ML статей;
- NN for Science.
5. Комьюнити: ODS (Open Data Science).
- - - - - - - - - - - - - - - - - - - - - - -
P.S. Вы всегда можете поделиться с нами идеями и предложениями❤️ Мы всё читаем!
#подборки
👍11🔥2
#colab #cv #useful
Детекция произвольных объектов
Выложена очередная полезная сетка. На этот раз при помощи CLIP (модель, совместно натренированная на текстах и картинках) реализована детекция объектов по тексту. Реализовано это по статье "Simple Open-Vocabulary Object Detection with Vision Transformers" и названо OWL-ViT.
Если раньше нужно было знать, что мы хотим детектировать (машины, лица и т.д.) еще перед началом обучения, то теперь сделан шаг в сторону Open-vocabulary детекции.
👆 На картинке я попробовал найти "ботинок", "лицо", "пиджак", "чемодан" и "ножку от скамейки". При поиске можно задавать порог уверенности.
Чем проще запрос тем качественнее детекция, — попробовал на фотке Роналду и Месси найти Роналду и Месси, сеть распознала обоих как Роналду, так что определенный bias есть 😁.
〰️ Зачем?
Задача детекции (фото- и видеоаналитика) очень распространена. По кадрам с камер определяют номера машин и лица людей. Приложения находят товары в магазинах по фото. На медицинских снимках ищутся патологии и т.д. Также детекция используется при составлении датасетов, когда нужно среди миллионов изображений найти и вырезать какой-то объект.
Сеть выложена на huggingface, можно пробовать.
👉 Colab | Huggingface | Статья
Детекция произвольных объектов
Выложена очередная полезная сетка. На этот раз при помощи CLIP (модель, совместно натренированная на текстах и картинках) реализована детекция объектов по тексту. Реализовано это по статье "Simple Open-Vocabulary Object Detection with Vision Transformers" и названо OWL-ViT.
Если раньше нужно было знать, что мы хотим детектировать (машины, лица и т.д.) еще перед началом обучения, то теперь сделан шаг в сторону Open-vocabulary детекции.
👆 На картинке я попробовал найти "ботинок", "лицо", "пиджак", "чемодан" и "ножку от скамейки". При поиске можно задавать порог уверенности.
Чем проще запрос тем качественнее детекция, — попробовал на фотке Роналду и Месси найти Роналду и Месси, сеть распознала обоих как Роналду, так что определенный bias есть 😁.
〰️ Зачем?
Задача детекции (фото- и видеоаналитика) очень распространена. По кадрам с камер определяют номера машин и лица людей. Приложения находят товары в магазинах по фото. На медицинских снимках ищутся патологии и т.д. Также детекция используется при составлении датасетов, когда нужно среди миллионов изображений найти и вырезать какой-то объект.
Сеть выложена на huggingface, можно пробовать.
👉 Colab | Huggingface | Статья
🔥10👍3
#cv #gen
Stable Diffusion открывает двери
Дали доступ к Stable Diffusion, — это text-to-image аналог Midjourney, DALL-E и Imagen'а, так как я какое-то время назад вставал в очередь. Попробовал, по ощущениям рисует более точные картинки чем mj плюс раза в два-три быстрее.
Но более интересно то, что на днях был анонс по открытию весов этой модели для всех желающих!
» We are working together towards a public release soon.
〰️ Уже выложили код и завели карточку на huggingface, пока что выдают веса по запросу. Это будет самое качественное решение по генерации изображений по тексту в открытом доступе. Готовьте ваши промпты.
P.S. Сгенерировал пару иллюстраций. Пока модель не в публичном доступе, можете накидать идей, порисуем.
👉 Github | Huggingface
Stable Diffusion открывает двери
Дали доступ к Stable Diffusion, — это text-to-image аналог Midjourney, DALL-E и Imagen'а, так как я какое-то время назад вставал в очередь. Попробовал, по ощущениям рисует более точные картинки чем mj плюс раза в два-три быстрее.
Но более интересно то, что на днях был анонс по открытию весов этой модели для всех желающих!
» We are working together towards a public release soon.
〰️ Уже выложили код и завели карточку на huggingface, пока что выдают веса по запросу. Это будет самое качественное решение по генерации изображений по тексту в открытом доступе. Готовьте ваши промпты.
P.S. Сгенерировал пару иллюстраций. Пока модель не в публичном доступе, можете накидать идей, порисуем.
👉 Github | Huggingface
👍7🔥4
#asr #repo
Потоковое распознавание речи
👄 Если вы занимаетесь распознаванием речи, то знаете, что есть проект NeMo от NVIDIA, в котором реализованы плюс-минус все SOTA архитектуры (Conformer-CTC, Conformer-Transducer, etc.). Какое-то время назад я занимался ASR и смотрел это решение, — есть скрипты для обучения, качество распознавания получается хорошее. Особенно, если обучить и добавить LM (обычно это kenlm) для рескоринга гипотез акустической модели.
Так вот, можно было без проблем обучить отличную оффлайн модель. Но если попробовать сделать на ней стриминг (распознавание в realtime), то ничего хорошего не выйдет, — сильно упадет качество (мы хотим быстрый отклик, режем контекст, модели становится плохо).
Есть ряд статей о том как делать такие модели, например вот эта от Microsoft. В ней предлагается изменить не архитектуру, а процесс тренировки, — при помощи масок подавать на обучение ограниченный заданным параметром контекст. Мы такой подход не реализовали, но если долго сидеть у реки, то можно увидеть как плывет pull request.
👉 Недавно PR с этим подходом въехал в основную ветку NeMo. Что там по качеству надо смотреть, но появились скрипты и примеры для обучения online ASR. Кто будет пробовать, напишите как оно.
GitHub | код / примеры
Потоковое распознавание речи
👄 Если вы занимаетесь распознаванием речи, то знаете, что есть проект NeMo от NVIDIA, в котором реализованы плюс-минус все SOTA архитектуры (Conformer-CTC, Conformer-Transducer, etc.). Какое-то время назад я занимался ASR и смотрел это решение, — есть скрипты для обучения, качество распознавания получается хорошее. Особенно, если обучить и добавить LM (обычно это kenlm) для рескоринга гипотез акустической модели.
Так вот, можно было без проблем обучить отличную оффлайн модель. Но если попробовать сделать на ней стриминг (распознавание в realtime), то ничего хорошего не выйдет, — сильно упадет качество (мы хотим быстрый отклик, режем контекст, модели становится плохо).
Есть ряд статей о том как делать такие модели, например вот эта от Microsoft. В ней предлагается изменить не архитектуру, а процесс тренировки, — при помощи масок подавать на обучение ограниченный заданным параметром контекст. Мы такой подход не реализовали, но если долго сидеть у реки, то можно увидеть как плывет pull request.
👉 Недавно PR с этим подходом въехал в основную ветку NeMo. Что там по качеству надо смотреть, но появились скрипты и примеры для обучения online ASR. Кто будет пробовать, напишите как оно.
GitHub | код / примеры
GitHub
Adding cache-aware streaming Conformer with look-ahead support by VahidooX · Pull Request #3888 · NVIDIA/NeMo
What does this PR do ?
Adding cache-aware streaming Conformer training and inference with look-ahead support. It is achieved by training a model with limited effective right context and then perfor...
Adding cache-aware streaming Conformer training and inference with look-ahead support. It is achieved by training a model with limited effective right context and then perfor...
👍11
Forwarded from Lingtrain
bradbury_den_ru_ru.pdf
1.9 MB
#nlp #parallelcorpora
Два перевода
📚 Выровнял два перевода рассказа Бредбери "The Picasso Summer" на русский. Первый от Норы Галь, второй от Арама Оганяна.
Можно видеть, что переводчик — птица вольная, особенно по части имён, хотя оба перевода хорошие.
💡 Так же видно, что это по сути корпус парафраз, который можно использовать для различных целей машинного обучения.
В следующей версии Lingtrain Aligner, язык станет зависим от стороны выравнивания (левая/правая), чтобы выравнивать два текста на одном языке. Пока что я загружал один текст как русский, а второй как general язык.
Два перевода
📚 Выровнял два перевода рассказа Бредбери "The Picasso Summer" на русский. Первый от Норы Галь, второй от Арама Оганяна.
Можно видеть, что переводчик — птица вольная, особенно по части имён, хотя оба перевода хорошие.
💡 Так же видно, что это по сути корпус парафраз, который можно использовать для различных целей машинного обучения.
В следующей версии Lingtrain Aligner, язык станет зависим от стороны выравнивания (левая/правая), чтобы выравнивать два текста на одном языке. Пока что я загружал один текст как русский, а второй как general язык.
🔥6👍2❤1
Forwarded from AI для Всех
Андрей Карпати (ex Tesla AI) выложил новую лекцию
«!!!! Итак, я записал (новую!) 2h25m лекцию "The spelled-out intro to neural networks and backpropagation: building micrograd".
Это кульминация примерно 8 лет навязчивых мыслей о том, как лучше объяснить нейронные сети и обратное распространение.
Если вы знаете Python, смутно помните, как проходили производные в средней школе, посмотрите это видео и к концу не поймете обратное распространение и суть нейронных сетей, тогда я съем ботинок :D»
Смотреть
«!!!! Итак, я записал (новую!) 2h25m лекцию "The spelled-out intro to neural networks and backpropagation: building micrograd".
Это кульминация примерно 8 лет навязчивых мыслей о том, как лучше объяснить нейронные сети и обратное распространение.
Если вы знаете Python, смутно помните, как проходили производные в средней школе, посмотрите это видео и к концу не поймете обратное распространение и суть нейронных сетей, тогда я съем ботинок :D»
Смотреть
👍10❤2