feat: improve legal search intent and aliases #35
@@ -35,6 +35,14 @@ def query_variants(language: str, query: str) -> list[str]:
|
|||||||
|
|
||||||
|
|
||||||
def company_registration_clauses(language: str, query: str) -> list[dict]:
|
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"\bэсеп\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 = {
|
forms, patterns = {
|
||||||
"ru": (
|
"ru": (
|
||||||
r"(?:осоо|ооо|обществ\w*\s+с\s+ограниченной\s+ответственностью)",
|
r"(?:осоо|ооо|обществ\w*\s+с\s+ограниченной\s+ответственностью)",
|
||||||
@@ -55,7 +63,7 @@ def company_registration_clauses(language: str, query: str) -> list[dict]:
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
}[language]
|
}[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 []
|
return []
|
||||||
|
|
||||||
status = {"ru": "Действует", "ky": "Күчүндө"}[language]
|
status = {"ru": "Действует", "ky": "Күчүндө"}[language]
|
||||||
|
|||||||
@@ -70,6 +70,8 @@ class SearchRelevanceTest(unittest.TestCase):
|
|||||||
("ru", "ОсОО зарегистрирован?"),
|
("ru", "ОсОО зарегистрирован?"),
|
||||||
("ru", "кто зарегистрировал ОсОО"),
|
("ru", "кто зарегистрировал ОсОО"),
|
||||||
("ru", "как открыть счет ОсОО"),
|
("ru", "как открыть счет ОсОО"),
|
||||||
|
("ru", "как открыть ОсОО банковский счет"),
|
||||||
|
("ru", "как открыть ОсОО банковский счёт"),
|
||||||
("ru", "как открыть филиал ОсОО"),
|
("ru", "как открыть филиал ОсОО"),
|
||||||
("ru", "как создать договор для ОсОО"),
|
("ru", "как создать договор для ОсОО"),
|
||||||
("ru", "порядок создания логотипа ОсОО"),
|
("ru", "порядок создания логотипа ОсОО"),
|
||||||
|
|||||||
Reference in New Issue
Block a user