Рубрики
Без рубрики

Представляем Txtai, Semantic Semantic Seemantie, основанный на AI, построенный на трансформаторах

Добавьте понимание естественного языка в любое приложение Поиск – это база многих приложений …. Tagged MachineLearning, NLP, Python, Showdev.

Добавьте понимание естественного языка в любое приложение

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

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

В этой статье представлена TXTAI, платформу семантического поиска с AI, которая позволяет поиск на основе естественного языка (NLU) в любом приложении.

Представление txtai

Neuml/txtai

Построить семантические поисковые приложения, способствующие AI

Построить семантические поисковые приложения, способствующие AI

TXTAI выполняет рабочие процессы машинного обучения для преобразования данных и создания семантических поисковых приложений с AI.

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

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

Резюме функций txtai:

  • 🔎 Крупномасштабный поиск сходства с несколькими индексными бэкэнами ( faiss , Anoy , Hnswlib )
  • 📄 Создайте встраивание для фрагментов текста, документов, аудио, изображений и видео. Поддерживает трансформаторы и векторы слов.
  • 💡 Машино-обучающие трубопроводы для запуска добываемого вопроса-ответа, метки с нулевым выстрелом, транскрипции, перевода, суммирования и извлечения текста
  • ️ Рабочие процессы, которые объединяют трубопроводы вместе, чтобы объединить бизнес -логику. Процессы txtai могут быть микросервисами или…

TXTAI выполняет рабочие процессы машинного обучения для преобразования данных и создания семантических поисковых приложений с AI.

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

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

Ниже приводится краткое изложение ключевых функций.

  • 🔎 крупномасштабный поиск сходства с несколькими индексными бэкендами ( faiss , anyoy , Hnswlib )
  • 📄 Создайте встраивания для фрагментов текста, документов, аудио, изображений и видео. Поддерживает трансформаторы и векторы слов.
  • 💡 Машино-обучающие трубопроводы для запуска экстрактивного вопроса-ответа, метки с нулевым выстрелом, транскрипции, перевода, суммирования и извлечения текста
  • ↪ Рабочие процессы, которые объединяют трубопроводы вместе, чтобы объединить бизнес -логику. Процессы TXTAI могут быть микросервисами или полноценными рабочими процессами индексации.
  • 🔗 Привязки API для JavaScript В Java , Ржавчина и Идти
  • ☁ Облачная архитектура, которая масштабируется с помощью систем оркестровки контейнеров (например, Kubernetes)

Приложения варьируются от поиска сходства до сложных извлечения данных, управляемых NLP, до генерации структурированных баз данных. Следующие приложения оснащены txtai.

папули АИ ДВИГАТЕЛЬСТВО ДВИЖЕНИЯ ИНТЕРМАЦИЯ И ОБЗОР ДВИГАТЕЛЬСТВО ДЛЯ МЕДИЦИНСКИХ ИСКУССТВА ИСКЛЮЧЕНИЯ
Tldrstory Понимание с помощью AI с заголовками и текст истории
Neuspo Спортивное мероприятие и новостное мероприятие в реальном времени, ориентированное на факты, в реальном времени
CodeQuestion Задавать вопросы о кодировании непосредственно из терминала

txtai построен с Python 3.6+, Объятие трансформаторов лица , ПРЕМЛОНЦИИ ПРЕДЛОЖЕНИЯ и FASTAPI

Установить и запустить txtai

Следующий фрагмент кода показывает, как установить txtai и создать модель Enterdings.

pip install txtai

Далее мы можем создать простую модель в памяти с парой образцов записей, чтобы попробовать Txtai.

Основные экземпляры Entgeddings

Запуск приведенного выше кода будет распечатать следующее:

Встроенные запросы вывод

Приведенный выше пример показан почти для всех запросов, фактический текст не хранится в списке текстовых разделов. Это истинная сила моделей трансформаторов над поиском на основе токков. То, что вы получаете из коробки, это 🔥🔥🔥!

Создайте индекс встроенных

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

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

Еще раз те же результаты будут возвращены , только разница заключается в том, что встроения предварительно выпускаются.

Встроенные запросы вывод

Сохраните и загрузите индекс встраивания

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

Результаты кода выше:

Canada's last fully intact ice shelf has suddenly collapsed, forming a Manhattan-sized iceberg

Обновление и удаление из индекса встроенных

Обновления и удаления поддерживаются для индексов встраивания. Операция Upsert будет вставлять новые данные и обновлять существующие данные

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

Обновление и удаление из индекса встроенных

Результаты кода выше:

Initial:       Maine man wins $1M from $25 lottery ticket
After update:  See it: baby panda born
After delete:  Maine man wins $1M from $25 lottery ticket

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

Предложение встраивалось

Txtai строит встроенные предложения для выполнения поиска сходства. Txtai принимает каждую запись текстовой записи, токенизирует ее и создает представление в Entgdings этой записи. Во время поиска запрос преобразуется в текст, а затем сравнивается с хранилищем текстовых встроений.

Txtai поддерживает два метода создания текстовых встроений, трансформаторов предложений и векторов встроенных слов. Оба метода имеют свои достоинства, как показано ниже.

ПРЕМЛОНЦИИ ПРЕДЛОЖЕНИЯ

Huggingface/Transformers

🤗 Трансформеры: современная обработка естественного языка для Pytorch, Tensorflow и Jax.

  • Создает один вектор встроенных вторжений посредством среднего объединения векторов, генерируемых библиотекой трансформаторов.
  • Поддерживает модели, хранящиеся на Модельный концентратор обнимающего лица или хранится на месте.
  • Смотрите Трансформеры предложения Для получения подробной информации о том, как создать пользовательские модели, которые можно сохранить локально или загружать в модель Hugging Face.
  • Базовые модели требуют значительной вычислительной способности (предпочтительный графический процессор). Возможно создать модели меньшего/более легкого веса, которые обменяют точность для скорости.

Слово встраивание

Создание индекса встроенного предложения с FastText и BM25

  • Создает один вектор встроенных вторжений посредством оценки BM25 каждого компонента слова. Ссылка выше подробно описывает этот метод.
  • При поддержке Pymagnity библиотека. Предварительно обученные векторы Word могут быть установлены из ссылки на ссылку.
  • Смотрите words.py Для кода, который может создавать векторы слов для пользовательских наборов данных.
  • Значительно лучшая скорость с моделями по умолчанию. Для более крупных наборов данных он предлагает хороший компромисс с скоростью и точностью.

Поиск сходства в масштабе

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

В Python доступно ряд надежных библиотек, которые включают поиск ANN. TXTAI имеет настраиваемый бэкэнд индекса, который позволяет подключить различные библиотеки ANN. В настоящее время txtai поддерживает:

FacebookResearch/Faiss

Библиотека для эффективного поиска сходства и кластеризации плотных векторов.

Spotify/Any

Приблизительные ближайшие соседи в C ++/Python, оптимизированные для использования памяти и загрузки/сохранения на диск

nmslib/hnswlib

Библиотека C ++/Python только для заголовка для быстрого ближайшего соседей

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

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

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

Добываемое вопрос-ответить

В дополнение к поиску сходства, Txtai поддерживает добывающие вопросы, отвечающие на возвращаемые результаты. Эта мощная функция позволяет задавать еще одну серию вопросов для списка результатов поиска.

Пример использования этого примеров с Cord-19 Challenge на Kaggle Анкет Это усилие требовало создания сводных таблиц для серии медицинских запросов, извлекая дополнительные столбцы для каждого результата.

Следующее показывает, как создать добывающий компонент QA в TXTAI.

Следующий шаг – загрузить набор результатов, чтобы задать вопросы. В следующем примере есть текстовые фрагменты со спортивными оценками, охватывающими серию игр.

Результаты для раздела выше.

Добывающие результаты QA

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

дальнейшее чтение

Более подробные примеры и варианты использования для TXTAI можно найти в следующих ноутбуках.

1: Представление txtai

2: Постройте индекс встроенных наборов данных об обнимании наборов данных

3: Постройте индекс встроенных встроенных из источника данных

4: Добавить семантический поиск в Elasticsearch

5: добыча QA с txtai

6: добыча QA с Elasticsearch

7: Применить этикетки с нулевой классификацией выстрела

8: Галерея API

9: Создание абстрактных текстовых резюме

10: Извлечь текст из документов

11: Транскрибировать аудио по тексту

12: Перевести текст между языками

13: Поиск сходства с изображениями

14: Запустите рабочие процессы трубопровода

15: Распределенные встроенные кластер

16: Тренировать текстовую метку

17: поезд без ярлыков

Завершая

NLP продвигается в быстром темпе, и теперь возможны вещи даже год назад. В этой статье была представлена TXTAI, платформу для семантического поиска с AI, которая позволяет быстро интегрировать надежные модели с глубоким пониманием естественного языка. Модельный концентратор Hugging Face имеет ряд базовых и предоставленных сообществом моделей, которые можно использовать для настройки поиска практически для любого набора данных. Возможности безграничны, и мы рады увидеть, что может построить на Txtai!

Оригинал: “https://dev.to/neuml/introducing-txtai-an-ai-powered-search-engine-built-on-transformers-mpf”