Задать вопрос
Gorky
@Gorky
Веб-разработчик

Как конвертировать чат в вопросы и ответы?

Дано: есть большой рабочий чат в телеграме на десятки тысяч сообщений. В нем новички задают вопросы, а люди с опытом отвечают им по мере сил.
Задача: каким-то образом обработать весь этот поток сознания и представить его в формате самых часто задаваемых вопросов и собственно ответов на них (например 50 самых популярных).

И собственно вопрос, как можно это сделать? Не в плане как выгрузить чат из телеграмма и подготовить список только текстовых сообщений без лишних элементов. Это я могу сделать. Как именно автоматизировать анализ текста и сборку его в чаво. Если отбросить вариант с кропотливой ручной работой, где некий редактор будет вычитывать, выписывать и компилировать эту информацию недели и месяцы напролет =)
На ум сразу пришли нейросети, про которые так много говорят в последнее время. Вроде бы задача как раз подходящая - анализ текста и выдача информации в нужном формате. До этого никогда по серьезному с ними дела не имел. Максимум это задать несколько вопросов ChatGPT и удивиться тому как интересно он отвечает.
  • Вопрос задан
  • 348 просмотров
Подписаться 5 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 3
@rPman
Сядь и подробно опиши, как ты будешь описывать эту работу человеку, причем максимально далекому от темы, не очень сообразительному но внезапно эрудированному (считай что написанное этот человек будет понимать сразу, с учетом опечаток, сленга и т.п., этому обучать не придется).

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

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

Постарайся использовать языковые модели с большим контекстом, в них можно собранную информацию от других языковых моделей (более простых и дешевых) собирать в виде большого промпта, в которой объединена не только информация о текущей части беседы но и собранная информация о списке к примеру искомых 'популярных вопросов' чтобы сеть могла не выдумывать каждый раз новый, а брать уже ранее созданный, дополняя ответ.
Ответ написан
Комментировать
mayton2019
@mayton2019
Bigdata Engineer
Можно попробовать токенизировать все вопросы. И сложить их в векторы токенов.
И прогнать через алгоритм кластеризации. В настройках ты задашь например 100 центров
кластеров. На выходе ты получишь 100 наборов ключевых слов по самым популярным тематикам.
Ответ написан
Задача как раз для языковых моделей.
Максимум это задать несколько вопросов ChatGPT и удивиться тому как интересно он отвечает.

Ты можешь с помощью него:
1. Из потока сообщений вычленить пары "вопрос-ответ"
2. Перефразировать эти вопросы и ответы, чтобы они все были похожи стилистически.
3. Коротко вычленить тему вопроса - по ней потом при помощи кода сгруппировать вопросы со схожей темой
4(а). Попросить языковую модель сравнить, являются ли два вопроса похожими.
4(б). Используя другую языковую модель (не подскажу) преобразовать предложение в вектор в многомерном смысловом пространстве. Потом можно посмотреть, какие вопросы физически в этом пространстве рядом лежат.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы