В этом учебном пособии из 5 этапов, представленном нашим передовым разработчиком Франсуа, вы узнаете все, что нужно знать, чтобы начать работу с анализом настроений с использованием JavaScript (Vue 3 + Vite) и применить его на практике с крошечным проект 🚀: чат, в котором принимаются только положительные сообщения. Eden AI предоставляет простой и удобный для разработчиков API, который позволяет выполнять анализ настроений.

Чтобы установить Kindchat, вы можете получить доступ к репозиторию GitHub Франсуа здесь.‍

1. Что такое анализ настроений?

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

Если вы хотите узнать больше о том, что может предложить NLP, не стесняйтесь проверить нашу подборку Лучших API-интерфейсов для обработки естественного языка. Кроме того, если вам интересно использовать Sentiment Analysis с Python, мы рекомендуем прочитать наше руководство Как использовать Sentiment Analysis API с Python.

2. Начало работы с API анализа настроений

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

Это довольно простое приложение Vue.js: система отправки сообщений, в которой мы вводим сообщение в форму и отправляем его, а затем проверяем, является ли введенное сообщение положительным, чтобы его можно было отправить в этом чате (запускается функцией sendMessage). Не стесняйтесь клонировать репозиторий GitHub, чтобы попробовать Kindchat.

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

Получите ключ API БЕСПЛАТНО

Затем вам нужно скопировать и вставить ключ API из Eden AI в крошечный файл среды, чтобы сохранить его в переменной с именем «VITE_API_KEY» как таковой:

3. Начните использовать API анализа настроений

Во-первых, вам нужно скопировать фрагмент кода на JavaScript из API анализа настроений Eden AI и вставить его непосредственно в вашу функцию. Не забудьте добавить ключ API!

💡 Если вы внимательно посмотрите на фрагмент кода Sentiment Analysis, вы увидите, что необходимы некоторые языковые параметры. Если вы заинтересованы в использовании определения языка в своем проекте, вам нужно заранее закодировать его. Мы не будем обсуждать это здесь, хотя наше видео охватывает все это.

Затем создайте функцию senseAnalysis (включая параметр языка, полученный, если вы хотите его использовать) и заполните параметры провайдера и текста (сообщение пользователя). С Eden AI вы можете выбирать из широкого спектра различных движков, которые лучше всего подходят для ваших данных и проекта. В конце концов вам нужно будет только вернуть промис из axios.request, чтобы вы могли обработать его в функции sendMessage.

const sentimentAnalysis = (language) => {
  const options = {
    method: 'POST',
    url: 'https://api.edenai.run/v2/text/sentiment_analysis',
    headers: {
      authorization: 'Bearer ' + import.meta.env.VITE_API_KEY
    },
    data: {
      providers: 'microsoft',
      text: entryMessage.content,
      language: language
    }
  };
  return axios.request(options)
}

4. Поиск негативных и позитивных настроений

Теперь давайте посмотрим на ответ API анализа настроений. Как указано в нашей документации, для каждого провайдера существует массив «items», содержащий тональность и связанную с нейcentment_rate. В случае с нашим приложением нас интересуют только положительные эмоции. Имейте в виду, что некоторые провайдеры могут возвращать сентимент_рейт для нейтральных или негативных настроений.

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

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

const sendMessage = async () => {
  const languageResponse = await languageDetection()
  const language = (languageResponse.data.google.items[0].language)
  const sentimentResponse = await sentimentAnalysis(language)
  entryMessage.score = sentimentResponse.data.microsoft.items

Затем вы можете найти в этих элементах объект, относящийся к положительным настроениям, и восстановить уровень настроений с помощью console.log. Счет будет храниться в entreMessage.score:

🙌 Мы почти у цели! Вам нужно будет добавить сообщение в список сообщений, если его оценка выше определенного значения, и сохранить это значение в переменной с именем Minimum_rate. Мы хотим, чтобы следующая строка кода выполнялась только при проверке определенного условия: messageList.value.push (entrMessage.content).

Это прекрасная возможность использовать вычисляемое свойство, которое представляет собой метод, который будет запускаться только при изменении значения реактивного объекта. Это вычисляемое свойство (называемое здесь isPositive) вернет значение true, если оценка выше минимальной ставки, в противном случае оно вернет значение false.

На этом этапе вы можете добавить в функцию sendMessage условие isPostive и добавить сообщение в список сообщений, только если isPositive имеет значение true. Если это не так, вы просто вернетесь и закончите логику. Остальная часть функции не изменится, она просто автоматически прокручивает страницу вниз при отправке сообщения.

 if (isPositive.value) {
    messagesList.value.push(entryMessage.content)
    entryMessage.content = ''
  } else {
    return
  }

5. Протестируйте приложение KindChat

Поздравляю ! 🥳 Теперь вы можете протестировать приложение.

Теперь, если вы напишете положительное сообщение, оно появится в чате. Если вы пишете отрицательный комментарий, сообщение не должно появляться в чате (содержимое entryMessage.content сбрасывается только тогда, когда isPositive имеет значение True, поэтому отрицательное сообщение не исчезает из формы).

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

 <p class="error-message" v-if="!isPositive && entryMessage.score">
   😣 Your message is not kind enought ! Score : {{entryMessage.score}}
 </p>

Выход :

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

Вот и все с нашим приложением KindChat! 😎 Анализ настроений с помощью JavaScript еще никогда не был таким простым! Наш уникальный API делает анализ настроений доступным для всех разработчиков. Вы можете использовать несколько API анализа настроений от разных поставщиков в дополнение к нескольким языкам всего в нескольких строках кода. Вы также можете проверить наш Проект AI API с открытым исходным кодом на GitHub. Если вы хотите что-то еще проще, вы можете использовать наши API анализа настроений на Make.

Если у вас есть вопросы по этому руководству, сообщество Eden AI может помочь вам на своем Discord Server.

6. Почему стоит выбрать Eden AI для своего проекта

🔥 Eden AI упрощает использование и развертывание технологий ИИ, предоставляя уникальный API, связанный с лучшими API ИИ. Eden AI — это будущее использования ИИ в бизнесе, которое обеспечивает:

  • Централизованный и полностью контролируемый биллинг в Eden AI для всех API-интерфейсов ИИ
  • Единый API для всех провайдеров: простой и стандартный в использовании, быстрое переключение между провайдерами, доступ к специфическим функциям каждого провайдера
  • Стандартизированный формат ответа: формат вывода JSON одинаков для всех поставщиков благодаря работе по стандартизации Eden AI. Элементы ответа также стандартизированы благодаря мощным алгоритмам сопоставления Eden AI.
  • Лучшие API искусственного интеллекта на рынке: крупные облачные провайдеры (Google, AWS, Microsoft и другие специализированные движки)
  • Защита данных: Eden AI не будет хранить или использовать какие-либо данные. Возможность фильтрации для использования только механизмов GDPR.‍

Создайте свою учетную запись в Eden AI