Разговорный ИИ, вертикали и сосновая шишка

И почему обнаружение сходства становится все более важным

Введение

Вариант использования и реализация моделей больших языков ясны в таких организациях, как Apple, Google, AWS и т. д. Однако с точки зрения предприятия и обслуживания клиентов вариант использования реализации, возможно, не так ясен. Из

  • Расходы,
  • рентабельность инвестиций,
  • Требование,
  • Тонкая настройка и
  • Доступная перспектива NLU API.

Прежде чем перейти к Сосновой шишке, векторам и поиску сходства, давайте посмотрим на горизонтали и вертикали…

горизонтали

Некоторое время назад я писал о четырех категориях чат-ботов

Категория 1 – более открытые и гибкие, часто с открытым исходным кодом, такие как MindMeld, Rasa, DeepPavlov и т. д.

Категория 2 – это традиционные платформы, такие как IBM Watson Assistant, Google, AWS Lex и т. д.

Категория 3 стала лидером Gartner, это независимые альтернативы разговорному ИИ, предоставляющие инкапсулированный продукт.

Категория 4 – это более широкая категория средств обработки и понимания естественного языка. Идеально подходит для выполнения высокого прохода NLP по пользовательскому вводу перед NLU. Сосредоточены на более широких реализациях Language Processing, а не только на диалоговых агентах.

Категория 5 – это большие языковые модели, в которых мощь платформ проявляется в мастерстве создания естественного языка, именованных сущностях, общих вопросах и ответах, поддержании беседы, классификации текста и список можно продолжить. Подробнее об этом позже…

Вертикали

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

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

  • Данные для обучения (подготовка и структурирование данных)
  • Converse, Engage, Resolve (управление состоянием диалога и NLU)
  • Отвечать и вести переговоры (Персонализация)
  • Слушайте, учитесь и совершенствуйтесь (автоматическое тестирование ботов и контроль качества)
  • TTS и STT (включение голоса)
  • Просмотр стенограммы и аннотация (анализ данных разговора)

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

Что касается голоса, то работа, проделанная Respeecher, DeepGram, Resemble и другими, поистине замечательна. Достижения в этой области создают такую ​​четко определенную вертикаль, что традиционные решения для синтеза речи будут с трудом успевать за инновациями.

Большие языковые модели

Большие языковые модели образуют отдельную категорию, из этих

приходят на ум первыми. (Я еще не создавал прототипы в AI21 Labs.)

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

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

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

  • Кажется, что организации изо всех сил пытаются понять, как использовать, установить рентабельность инвестиций и найти практическое применение для этих решений.
  • Тонкая настройка является большой проблемой, особенно для Natural Language Generation. В целом тонкая настройка занимает много времени, а время от обучения до тестирования неэффективно.
  • Организации придают большое значение семантическому поиску, находят сходства в данных, улавливают семантику пользовательского ввода и создают семантически похожие кластеры. Здесь на ум приходит HumanFirst, также в Nuance Mix есть функция кластеризации высказываний пользователей, хоть и нуждается в доработке. Ну и конечно же co:here.
  • Традиционные NLU API предлагают возможность создавать настраиваемые и очень детализированные модели NLU с тонкой настройкой. Намерения и сущности имеют структуру, которая включается в данные тонкой настройки.
  • Платформа чат-ботов NLU Engines требует очень небольших наборов данных для обучения, обучает за короткий период времени (несколько минут) и позволяет немедленно протестировать NLU.
  • Во многих случаях доступно поэтапное или частичное обучение (Раса и Познание).


Что такое сосновая шишка?

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

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

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

По словам Сосновой Шишки…

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

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

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

Минималистичная и эффективная консоль управления Pinecone позволяет пользователям управлять своей средой.

Как показано ниже, модулями можно в некоторой степени управлять из консоли.

Простейшая демонстрация сосновой шишки

Это самое простое демонстрационное приложение Pinecone, это отличный способ понять и усвоить основные концепции.

Установлен клиент Pinecone и создан вектор с набором значений.

pip install pinecone-client
import pinecone
import os
pinecone.init(api_key="xxxxxxxx-xxxx-xxxx-xxx-xxxx", environment="us-west1-gcp")
index=pinecone.Index(index_name="pod1")
import pandas as pd
df = pd.DataFrame(
     data={
         "id": ["A", "B", "C", "D", "E"],
         "vector":[
           [1.,1.,1.],
           [1.,2.,3.],
           [2.,1.,1.],
           [3.,2.,1.],
           [2.,2.,2.]]
     })
df
index.upsert(vectors=zip(df.id,df.vector))
index.describe_index_stats()
index.query(
     queries=[[1.,2.,3.]],
     top_k=3,
     include_values=True)

Запрошен вектор со значением 1,2,3. И возвращаются 3 лучших совпадения со счетом и значениями.

{'matches': [],  
'namespace': '',  
'results': [{'matches': [{'id': 'B',
                          'score': 0.99999994,
                          'values': [1.0, 2.0, 3.0]},
                           {'id': 'E',
                            'score': 0.925820112,
                            'values': [2.0, 2.0, 2.0]},
                           {'id': 'A',
                            'score': 0.925820112,
                            'values': [1.0, 1.0, 1.0]}],
               'namespace': ''}]}

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

Заключение

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

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

Pinecone имеет интеграцию с OpenAI, co:here и haystack.

Например, пример co:here использует co:here для создания языковых вложений, которые затем можно сохранить в Pinecone и использовать для семантического поиска.