feat: improve legal search intent and aliases #35

Merged
admin merged 4 commits from feature/improve-legal-search-relevance into main 2026-09-16 09:08:38 +00:00
2 changed files with 11 additions and 1 deletions
Showing only changes of commit 92051184f5 - Show all commits

View File

@@ -35,6 +35,14 @@ def query_variants(language: str, query: str) -> list[str]:
def company_registration_clauses(language: str, query: str) -> list[dict]:
non_registration_context = {
"ru": (r"\bсч[её]т\w*", r"\bбанк\w*", r"\bфилиал\w*", r"\bпредставительств\w*"),
"ky": (r"\bбанк\w*", r"\сеп\w*", r"\bфилиал\w*", r"\bөкүлчүлүк\w*"),
}[language]
normalized_query = query.casefold()
if any(re.search(pattern, normalized_query) for pattern in non_registration_context):
return []
forms, patterns = {
"ru": (
r"(?:осоо|ооо|обществ\w*\s+с\s+ограниченной\s+ответственностью)",
@@ -55,7 +63,7 @@ def company_registration_clauses(language: str, query: str) -> list[dict]:
),
),
}[language]
if not any(re.search(pattern.format(form=forms), query.casefold()) for pattern in patterns):
if not any(re.search(pattern.format(form=forms), normalized_query) for pattern in patterns):
return []
status = {"ru": "Действует", "ky": "Күчүндө"}[language]

View File

@@ -70,6 +70,8 @@ class SearchRelevanceTest(unittest.TestCase):
("ru", "ОсОО зарегистрирован?"),
("ru", "кто зарегистрировал ОсОО"),
("ru", "как открыть счет ОсОО"),
("ru", "как открыть ОсОО банковский счет"),
("ru", "как открыть ОсОО банковский счёт"),
("ru", "как открыть филиал ОсОО"),
("ru", "как создать договор для ОсОО"),
("ru", "порядок создания логотипа ОсОО"),