Решение хронической проблемы каждого специалиста по данным
вступление
KMeans — очень популярный алгоритм кластеризации похожих объектов.
Одна проблема с этим алгоритмом (и, честно говоря, с любым известным мне алгоритмом кластеризации)?
Метки не содержат никакой онтологии без просмотра наблюдений кластера.
Под этим я подразумеваю, что вывод KMeans выглядит так:
В этой статье я покажу вам, как использовать ChatGPT для преобразования необработанных меток в категории с онтологиями и ключевыми словами.
Примечание. Весь код, использованный для создания входных данных для этой статьи, можно найти на моем GitHub!
Вариант использования
Мой вариант использования включает текстовые данные с описаниями, поэтому он не будет применим во всех ситуациях, но определенно может вдохновить любого.
У меня были стенограммы подкастов, разбитые на разделы (~3000 текстовых документов). Затем эти разделы были преобразованы в сводки с помощью LangChain и OpenAI API. Наконец, я встроил сводки, используя вложения OpenAI:
После встраивания сводок я запустил алгоритм KMeans с k равным 30.
Для справки, это результат после уменьшения размерности:
На данный момент имеем:
- Сводка
- Имена сегментов
- Ярлыки KMeans
Вот как это выглядело:
Здесь ChatGPT присоединяется к комнате!
Использование ChatGPT для назначения онтологии
Давайте сразу к делу. Вот подсказка, которую я использовал:
Вы мой помощник по искусственному интеллекту, который поможет мне классифицировать сегменты подкастов на основе их названий, а K означает встраивание метки. Вы получите CSV-файл с названиями сегментов и их меткой k означает. В качестве результата я хочу получить заголовок (онтологию) метки и связанные с ней ключевые слова.
Пример вывода:
0 -> Категория: Фитнес и питание, Ключевые слова: тренажерный зал, программа тренировок, магний, креатин, увлажнение, ‹другие ключевые слова, связанные с этой категорией›
1 -> Категория: Оптимальный сон, Ключевые слова: кровать, мозг, ‹другие ключевые слова, связанные с этой категорией›
Вот CSV:
Чтобы избежать превышения максимального количества токенов в окне контекста (4096 токенов), я сделал выборку фрейма данных, чтобы он содержал 200 имен сегментов с 5 выбранными метками. Затем я итеративно перешел к следующим меткам, то есть:
- 1. итерация — метки от 0 до 4
- 2. итерация — метки с 5 по 9
- …
- 6. итерация — метки с 25 по 29
Это пример вывода нашего детектора онтологий:
Перебрав все ярлыки, я заметил, что некоторые категории и ключевые слова перекрываются. Кроме того, было бы трудно ориентироваться в таком количестве категорий.
Вот почему я попросил ChatGPT сгруппировать пересекающиеся категории:
У меня есть набор категорий, описывающих темы нейробиологии и здоровья. Каждая категория имеет свои названия и ключевые слова, связанные с ними. Я заметил, что некоторые из этих категорий пересекаются. Я хотел бы создать непересекающийся список этих категорий, чтобы уменьшить избыточную информацию. Пожалуйста, предложите набор категорий, который набор категорий и какие из первоначальных категорий попадают в предложенную категорию. Не указывайте ключевые слова для новых категорий. Только название и отображение!
Вот ввод (начальные категории):
0 -> Категория: Психическое здоровье и эмоциональное благополучие, Ключевые слова: страх, агрессия, тревога, горе, травма, память, мотивация, внимательность, благодарность, области мозга
1 -> Категория: Температура и физическая работоспособность, Ключевые слова: воздействие холода, тепловое воздействие, температура тела, выносливость, охлаждение, нагревание, потеря жира, восстановление, кровоток, сауна
И это вывод:
Невероятно, сколько новых техник доступно благодаря ИИ!
Понравилась эта история?
Если вы хотите быть в курсе последних достижений в области искусственного интеллекта и моего пути изучения искусственного интеллекта, мой информационный бюллетень — отличное место для этого!
Если вы хотите получать мои новые истории прямо на свой почтовый ящик, подпишитесь!
Вы также можете найти меня в Твиттере!
Будьте в курсе последних новостей и обновлений в области творческого ИИ — следите за публикацией Генеративный ИИ.