Классификация комментариев к Youtube видео с помощью GPT моделей. Точность и ее цена

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Добрый день!
В этой статье я хочу поделиться своим опытом в области классификации комментариев к видео на YouTube с использованием моделей GPT-3.5 и GPT-4 от OpenAI.

DALL·E-3: A computer screen displaying a colorful comment section with tags classifying content
DALL·E-3: A computer screen displaying a colorful comment section with tags classifying content

Репозиторий с кодом, написанным на NodeJS и TypeScript, доступен по этой ссылке. Хотя Python является де-факто стандартом для подобных экспериментов, учитывая популярность NodeJS на бэкенде, OpenAI выпустила официальную библиотеку для работы с их API именно для этой платформы.

В качестве примера для классификации я выбрал следующее видео:

Видео, в котором тестируется пробег 6 электромобилей, логично породило холивар на тему "Электро vs ДВС" в комментариях. Вот именно этот холивар мы и будем анализировать.

1. Загрузка и подготовка комментариев

Чтобы проект функционировал корректно, необходимо в корневой директории создать файл с именем ".env", в котором будут храниться ваши ключи доступа к OpenAI и YouTube API. Инструкции по получению этих ключей легко найти в интернете.

OPENAI_API_KEY=ваш ключ тут
YOUTUBE_API_KEY =ваш ключ тут 

Логика загрузки комментариев реализована в модуле Download.ts. Детальное описание этой части опущено, поскольку оно не является центральным элементом данной статьи. Загрузка комментариев производится следующей командой:

npm run youtube-download

После выполнения этой команды в директории "data" появится файл comments.json, содержащий все корневые комментарии (ответы в этом анализе учитываться не будут).

Модуль Convert.ts фильтрует и оставляет только необходимые данные — ID комментария и его текст. Дополнительно удаляются комментарии слишком большой длины (более 400 символов, что составляет около 3% от общего числа), чтобы снизить стоимость анализа. Оставляются также первые 100 комментариев, которые будут использоваться как исходные данные для ручного создания тестового набора данных. Запуск происходит следующей командой:

npm run youtube-convert

В результате в директории "data" создается файл comments2.json.

2. Ручное создание тестового набора данных

Будем тестировать классификацию на 3 категории:
0 - комментарий поддерживает электромобили
1 - комментарий критикует электромобили или поддерживает автомобили с ДВС
2 - другое

Далее буду называть эти категории для краткости: "электро", "ДВС" и "другое".

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

...
{
    "id": "UgxW0nDvCXbWYHRl2iN4AaABAg",
    "text": "Tesla						
Источник: https://habr.com/ru/articles/766758/


Интересные статьи

Интересные статьи

Windows Phone… услышав название этой мобильной системы, поневоле начинаешь с теплотой вспоминать своего недавнего, такого необычного мобильного друга, как будто прошло всего пару месяцев с момента с...
Kubernetes (k8s) является де-факто стандартом для развёртывания приложений. В терминах K8s приложение представляет собой набор сконфигурированных ресурсов нескольких типов — pod, service, deployment, ...
Пишете ли вы комментарии в коде? Используете ли при этом русский язык? Сталкиваетесь ли вы с тем, что спустя несколько месяцев комментарии становятся нечитаемы даже вами?Этот плагин расширит проверку ...
Прочитав много статей про "распознавание лиц всего за n-ое количество строк" (например: раз, два, или даже видео), я решил повторить данные эксперименты, но уже под свою ...
Как многие старьевщики, я люблю время от времени помучить ebay поисками разных старых железок, вдруг, найдется что-нибудь интересненькое занедорого? И оно нередко находится. Да, искать что-то мей...