Формат данных
CDD (Chat Drill Down) работает с JSON в формате, совместимом с Telegram. Любой файл с такой структурой можно загрузить для анализа.
Корневой уровень
name(string) — название чатаmessages(array) — массив сообщенийid(string, опционально) — идентификатор чата
Сообщение (type = "message")
Обрабатываются только сообщения с type: "message". Остальные типы пропускаются.
id(int) — ID сообщения, обязателенtype(string) — должен быть"message"text(string | array) — текст. Если массив: объекты с полемtext(форматирование: bold, link и т.д.)date(string) — дата/время в формате ISO или распознаваемом strtotimefrom(string) — имя автораfrom_id(string) — ID автора (обезличивается в браузере вместе сfrom)reply_to_message_id(int, опционально) — ID сообщения, на которое отвечают
Назначение полей
- text — анализ тем и классификация сообщений
- date — динамика активности по времени
- from — участники чата
- reply_to_message_id — построение цепочек и топ обсуждений
Для других мессенджеров потребуется конвертер в формат, совместимый с Telegram.
Пример JSON
{
"name": "Название чата",
"id": "123456789",
"messages": [
{
"id": 1,
"type": "message",
"date": "2024-01-15T10:30:00",
"from": "Алексей",
"from_id": "user123",
"text": "Привет! Как дела?"
},
{
"id": 2,
"type": "message",
"date": "2024-01-15T10:31:00",
"from": "Мария",
"from_id": "user456",
"reply_to_message_id": 1,
"text": "Привет! Всё хорошо, спасибо. А у тебя?"
},
{
"id": 3,
"type": "message",
"date": "2024-01-15T10:32:00",
"from": "Алексей",
"from_id": "user123",
"reply_to_message_id": 2,
"text": "Тоже отлично. Обсудим проект завтра?"
}
]
}
При загрузке через веб-интерфейс данные обезличиваются в браузере до отправки: имена участников заменяются на user1, user2 и т.д., номера телефонов и email удаляются из текстов сообщений.