![](https://webcf.waybackmachine.org/web/20240727132459im_/https://habrastorage.org/r/w1560/getpro/habr/upload_files/d8d/2ad/7bf/d8d2ad7bfac48eae607c26bc34d9820b.png)
Привет! На связи Аркадий из Т-Банка, мы по прежнему делаем TQM, и в этой статье покажу, как мы решили задачу с поиском последовательностей в тексте коммуникаций. Это работает как на простых цепочках из словосочетаний по порядку, так и на сложных кейсах — со временем фразы, каналом «клиент — оператор». Мы по прежнему работаем с ElasticSearch, оставляя возможность “накрутить” на поиск по тексту такие вещи как RAG, LLM и другие модные технологии.
Несколько ограничений для сегодняшней задачи:
- Нелинейное возрастание сложности запроса при увеличении количества фраз. Поэтому предел у нас 4.
- Шаг тайминга мы выбрали 5 секунд. После каждой фразы ставим метку времени или несколько меток, если фраза заняла больше 5 секунд. Если сделать шаг слишком мелким это позволит искать более точно, но замусорит наше поле метками времени. Кажется, это тот момент когда лучше заранее договориться о требованиях.
А теперь к самому интересному. Добро пожаловать под кат!