mirror of
https://github.com/wasrusgen/zashita-brandbook.git
synced 2026-06-03 15:44:47 +00:00
fix: invert classifier — whitelist offtopic, not legal; expand intent detection
This commit is contained in:
parent
f63d021a03
commit
39799dacc0
19
mockup.html
19
mockup.html
@ -3873,11 +3873,14 @@ var _offtopicCount = 0;
|
|||||||
|
|
||||||
function _classifyInput(text) {
|
function _classifyInput(text) {
|
||||||
var t = text.toLowerCase().trim();
|
var t = text.toLowerCase().trim();
|
||||||
// Приветствия (короткие фразы без юридического контекста)
|
// Приветствия — короткая фраза без делового контекста
|
||||||
if (/^(привет|здравствуй|добрый|здорово|хай|салют|доброе|доброй|хеллоу|hello|hi\b|ку\b|yo\b)/.test(t) && t.length < 50) return 'greeting';
|
if (/^(привет|здравствуй|добрый|здорово|хай|салют|доброе|доброй|хеллоу|hello|hi\b|ку\b|yo\b)/.test(t) && t.length < 50) return 'greeting';
|
||||||
// Юридические ключевые слова
|
// Явный offtopic — конкретные нерелевантные запросы
|
||||||
if (/договор|контракт|доверенност|претензи|иск(овое|овое)?|арендн|расторжен|соглашени|штраф|неустойк|нотариус|нотариальн|судебн|судиться|в суд| суд |долг|взыскан|юридическ|юрист|правовой|документ|оформит|составит|проверит|подписат|условие|обязател|возврат|наследств|завещани|трудовой|увольнен|работодател|зарплат|кредит|страховк|ипотек|ДДУ|ТК РФ|ГК РФ|ЗоЗПП|земельн|имуществ|купл|продаж|займ|расписк|поручительств|залог|банкрот|ООО|ИП |\bИП\b|протокол|разногласи|риск|доверенность|пункт договора|расторг/.test(t)) return 'legal';
|
// WHITELIST offtopic, НЕ whitelist legal: цена ошибки асимметричная
|
||||||
return 'offtopic';
|
if (/^(расскажи анекдот|анекдот|какая погода|погода|как дела|что нового|как тебя зовут|поиграй|спой|напой|стих|рецепт|что посмотреть|кино|фильм|музыка)/.test(t) && t.length < 60) return 'offtopic';
|
||||||
|
// Всё остальное — потенциально юридический запрос
|
||||||
|
// "контрагент не платит", "меня могут уволить", "проблема с арендой" и т.д.
|
||||||
|
return 'legal';
|
||||||
}
|
}
|
||||||
|
|
||||||
function heroChatSend() {
|
function heroChatSend() {
|
||||||
@ -3913,10 +3916,10 @@ function heroChatSend() {
|
|||||||
_offtopicCount = 0;
|
_offtopicCount = 0;
|
||||||
var t = txt.toLowerCase();
|
var t = txt.toLowerCase();
|
||||||
var intent = 'question';
|
var intent = 'question';
|
||||||
if (/доверенност/.test(t)) intent = 'power';
|
if (/доверенност/.test(t)) intent = 'power';
|
||||||
else if (/протокол|разногласи|убрат|невыгод|нарушает|не платит|спор/.test(t)) intent = 'dispute';
|
else if (/протокол|разногласи|нарушает|не платит|не выплачивает|задолжал|взыскать|спор|должен|долг|не отдаёт|мошенн|обманул|кинул|уволят|увольняют|сокращают/.test(t)) intent = 'dispute';
|
||||||
else if (/состав|написат|создат|подготов/.test(t) && !/проверит/.test(t)) intent = 'create';
|
else if (/состав|написат|создат|подготов|нужен договор|оформить|нужна расписка/.test(t) && !/проверит/.test(t)) intent = 'create';
|
||||||
else if (/проверит|анализ|посмотр|риск|договор|контракт/.test(t)) intent = 'check';
|
else if (/проверит|анализ|посмотр|риск|подписать|боюсь подписать|прислали договор|дали договор/.test(t)) intent = 'check';
|
||||||
var reply = _HC_REPLIES[intent] || _HC_REPLIES.question;
|
var reply = _HC_REPLIES[intent] || _HC_REPLIES.question;
|
||||||
// Ответ Елены = эмпатия к боли + конкретное действие
|
// Ответ Елены = эмпатия к боли + конкретное действие
|
||||||
var empathy = _getEmpathyPrefix(txt);
|
var empathy = _getEmpathyPrefix(txt);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user