/
Chaizee
/
ZenithCode_Incident-LLM-analytics
Обзор
Документация
Войти
/
Chaizee
/
ZenithCode_Incident-LLM-analytics
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/problem_heuristics.py
76 строк
2 KB
Chaizee
fix: fix speed
12 июн 2026, 16:28
12 июн 2026, 16:28
b2745cc
Код
Авторство
О чём код?
from __future__ import annotations import re from src.text_coalesce import clean_text_cell, is_meaningful_incident_text, looks_like_pi_response _QUESTION_RE = re.compile( r"(?:\?|^\s*(?:во сколько|когда|где|как|кто|что|есть ли|можно ли|сколько|" r"какой|какая|какие|куда|подскажите|уточните|скажите|интересует|подскаж|" r"расскажите|будет ли|является ли)\b)", re.IGNORECASE, ) _COMPLAINT_MARKERS = ( "нет ", "не работ", "не топ", "не греет", "не горит", "не убран", "не чист", "не могу", "не можем", "проблем", "жалоб", "слома", "авари", "затоп", "прорв", "залил", "залили", "грязн", "холодн", "опасн", "угроз", "помогите", "требу", "безобраз", "ужас", "кошмар", "невозмож", "отключ", "замерз", "рухнул", "обруш", "прорвало", "затопил", "авария", "срочно", "экстрен", "разруш", "неисправ", "протеч", "запах канал", "антисанитар", ) def is_informational_inquiry(text: str) -> bool: s = clean_text_cell(text) if len(s) < 6: return False low = s.lower() if not _QUESTION_RE.search(low): return False if any(marker in low for marker in _COMPLAINT_MARKERS): return False return True def adjust_classification(text: str, row: dict) -> dict: if not is_meaningful_incident_text(text) or looks_like_pi_response(text): return {"is_problem": False, "severity": 1, "category": "Прочее"} if is_informational_inquiry(text): return {"is_problem": False, "severity": 1, "category": "Прочее"} return row