diff --git a/CHANGELOG.md b/CHANGELOG.md index 227afd4..f5552e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ ## Не выпущено - Добавлена инструкция по подготовке и независимой проверке relevance set. +- Улучшено ранжирование relevance-оценки: запрос теперь сопоставляет название и + текст документа как единое поле. ## 0.5.0 — 2026-08-15 diff --git a/README.md b/README.md index e85fd2a..4a484cc 100644 --- a/README.md +++ b/README.md @@ -10,15 +10,15 @@ Telegram-бот — только часть рабочего окружения ## Текущее состояние Сейчас реализованы Telegram-бот-секретарь версии `0.2.2` и backend версии -`0.5.0`: подготовка поискового индекса и оценка Recall@K/MRR@K на вручную +`0.5.1`: подготовка поискового индекса и оценка Recall@K/MRR@K на вручную размеченном наборе запросов. | Компонент | Версия | Состояние | |---|---:|---| | Telegram-бот | `0.2.2` | на Synology работает `0.2.1`; обновление после слияния | -| Backend | `0.5.0` | добавлена воспроизводимая оценка качества поиска | +| Backend | `0.5.1` | добавлена воспроизводимая оценка качества поиска | | Frontend | — | ещё не создан | -| Сбор и обработка правовых данных | `0.5.0` | добавлены relevance set и baseline-метрики | +| Сбор и обработка правовых данных | `0.5.1` | добавлены relevance set и baseline-метрики | | RAG и база знаний | — | ещё не созданы | ## Структура репозитория @@ -59,4 +59,4 @@ python3 -m unittest discover -s tools/telegram-bot -v --- -Акылдаш · Telegram-бот v0.2.2 · Backend v0.5.0 · Frontend — не создан +Акылдаш · Telegram-бот v0.2.2 · Backend v0.5.1 · Frontend — не создан diff --git a/backend/README.md b/backend/README.md index 850231f..86aa2c3 100644 --- a/backend/README.md +++ b/backend/README.md @@ -1,6 +1,6 @@ # Backend Акылдаш -Версия: `0.5.0` +Версия: `0.5.1` Первая backend-область проекта — загрузка правовых документов из официального Open Data API ЦБД Минюста Кыргызской Республики. Код расположен в @@ -191,4 +191,4 @@ PYTHONPATH=backend python3 -m search.evaluate_relevance \ --- -Акылдаш · Backend v0.5.0 · Frontend — не создан +Акылдаш · Backend v0.5.1 · Frontend — не создан diff --git a/backend/ingestion/minjust_cbd.py b/backend/ingestion/minjust_cbd.py index 8eed499..17bf2a9 100644 --- a/backend/ingestion/minjust_cbd.py +++ b/backend/ingestion/minjust_cbd.py @@ -21,7 +21,7 @@ from datetime import datetime, timezone from pathlib import Path from typing import Callable, Iterable -APP_VERSION = "0.5.0" +APP_VERSION = "0.5.1" API_BASE_URL = "https://cbd.minjust.gov.kg/api/v1/OpenData/" LANGUAGES = {"Rus": "ru", "Kyr": "ky"} IMAGE_LANGUAGES = {"Russian": "ru", "Kyrgyz": "ky"} diff --git a/backend/normalization/minjust_cbd.py b/backend/normalization/minjust_cbd.py index 0b68fc3..13e151b 100644 --- a/backend/normalization/minjust_cbd.py +++ b/backend/normalization/minjust_cbd.py @@ -23,7 +23,7 @@ from pathlib import Path from typing import Callable from urllib.parse import urlsplit -APP_VERSION = "0.5.0" +APP_VERSION = "0.5.1" SCHEMA_VERSION = "1" NORMALIZER_VERSION = "1.0.0" LANGUAGES = ("ru", "ky") diff --git a/backend/search/evaluate_relevance.py b/backend/search/evaluate_relevance.py index edba5af..8ca0e57 100644 --- a/backend/search/evaluate_relevance.py +++ b/backend/search/evaluate_relevance.py @@ -55,6 +55,7 @@ def search(base_url: str, index: str, item: dict, top_k: int) -> list[str]: "multi_match": { "query": item["query"], "fields": [f"document_name_{language}", f"text_{language}"], + "type": "cross_fields", } }, } diff --git a/backend/search/minjust_opensearch.py b/backend/search/minjust_opensearch.py index 97c9278..c549d9c 100644 --- a/backend/search/minjust_opensearch.py +++ b/backend/search/minjust_opensearch.py @@ -15,7 +15,7 @@ import urllib.request from pathlib import Path from typing import Iterator -APP_VERSION = "0.5.0" +APP_VERSION = "0.5.1" LANGUAGES = {"ru", "ky"} DEFAULT_MAPPING = Path(__file__).with_name("minjust-fragments-index.json") diff --git a/backend/test_search_relevance.py b/backend/test_search_relevance.py index 42a167d..2a35d7e 100644 --- a/backend/test_search_relevance.py +++ b/backend/test_search_relevance.py @@ -40,6 +40,7 @@ class SearchRelevanceTest(unittest.TestCase): body = json.loads(request.call_args_list[0].args[2]) self.assertFalse(body["track_total_hits"]) self.assertEqual(body["collapse"], {"field": "document_code"}) + self.assertEqual(body["query"]["bool"]["must"]["multi_match"]["type"], "cross_fields") if __name__ == "__main__": diff --git a/docs/README.md b/docs/README.md index 5d71a39..23fa053 100644 --- a/docs/README.md +++ b/docs/README.md @@ -33,4 +33,4 @@ --- -Акылдаш · Telegram-бот v0.2.2 · Backend v0.5.0 · Frontend — не создан +Акылдаш · Telegram-бот v0.2.2 · Backend v0.5.1 · Frontend — не создан diff --git a/docs/decisions/001-telegram-workspace-mvp.md b/docs/decisions/001-telegram-workspace-mvp.md index ec0dd69..b7d1c46 100644 --- a/docs/decisions/001-telegram-workspace-mvp.md +++ b/docs/decisions/001-telegram-workspace-mvp.md @@ -78,4 +78,4 @@ Telegram позволяет запретить пользователям отп --- -Акылдаш · Telegram-бот v0.2.2 · Backend v0.5.0 · Frontend — не создан +Акылдаш · Telegram-бот v0.2.2 · Backend v0.5.1 · Frontend — не создан diff --git a/docs/operations/project-status.md b/docs/operations/project-status.md index ca9a871..2246162 100644 --- a/docs/operations/project-status.md +++ b/docs/operations/project-status.md @@ -5,7 +5,7 @@ - Telegram-бот: `0.2.2` - Telegram-бот на Synology: `0.2.1` -- Backend: `0.5.0` +- Backend: `0.5.1` - Frontend: не создан ## Краткий итог @@ -135,6 +135,14 @@ ## История изменений статуса +### 2026-08-18 + +- Оценщик поиска использует `cross_fields` для совместного сопоставления + названия и текста документа. +- На размеченном наборе из 50 запросов Recall@10 вырос с `0.23` до `0.30`, + MRR@10 — с `0.1854` до `0.2272`. +- Версия backend обновлена до `0.5.1`. + ### 2026-08-14 - Добавлены шаблон relevance set v1 и воспроизводимый расчёт Recall@K/MRR@K. @@ -226,4 +234,4 @@ --- -Акылдаш · Telegram-бот v0.2.2 · Backend v0.5.0 · Frontend — не создан +Акылдаш · Telegram-бот v0.2.2 · Backend v0.5.1 · Frontend — не создан diff --git a/docs/operations/telegram-workspace-plan.md b/docs/operations/telegram-workspace-plan.md index 989e68c..8f00f5f 100644 --- a/docs/operations/telegram-workspace-plan.md +++ b/docs/operations/telegram-workspace-plan.md @@ -398,4 +398,4 @@ Git сохраняет актуальную версию --- -Акылдаш · Telegram-бот v0.2.2 · Backend v0.5.0 · Frontend — не создан +Акылдаш · Telegram-бот v0.2.2 · Backend v0.5.1 · Frontend — не создан diff --git a/docs/product/frontend-search-sps-plan.md b/docs/product/frontend-search-sps-plan.md index 4673010..4703fcc 100644 --- a/docs/product/frontend-search-sps-plan.md +++ b/docs/product/frontend-search-sps-plan.md @@ -258,4 +258,4 @@ runtime-зависимостями frontend. Регистрация в стор --- -Акылдаш · Telegram-бот v0.2.2 · Backend v0.5.0 · Frontend — не создан +Акылдаш · Telegram-бот v0.2.2 · Backend v0.5.1 · Frontend — не создан diff --git a/docs/product/minjust-document-normalization-agent-task.md b/docs/product/minjust-document-normalization-agent-task.md index 00527b4..e44f94d 100644 --- a/docs/product/minjust-document-normalization-agent-task.md +++ b/docs/product/minjust-document-normalization-agent-task.md @@ -214,4 +214,4 @@ python3 backend/normalization/minjust_cbd.py --- -Акылдаш · Telegram-бот v0.2.2 · Backend v0.5.0 · Frontend — не создан +Акылдаш · Telegram-бот v0.2.2 · Backend v0.5.1 · Frontend — не создан diff --git a/docs/product/project-overview.md b/docs/product/project-overview.md index cfa06e5..37921a7 100644 --- a/docs/product/project-overview.md +++ b/docs/product/project-overview.md @@ -44,4 +44,4 @@ --- -Акылдаш · Telegram-бот v0.2.2 · Backend v0.5.0 · Frontend — не создан +Акылдаш · Telegram-бот v0.2.2 · Backend v0.5.1 · Frontend — не создан diff --git a/docs/team/ai-skills-for-beginners.md b/docs/team/ai-skills-for-beginners.md index 8974c6b..47237eb 100644 --- a/docs/team/ai-skills-for-beginners.md +++ b/docs/team/ai-skills-for-beginners.md @@ -180,4 +180,4 @@ --- -Акылдаш · Telegram-бот v0.2.2 · Backend v0.5.0 · Frontend — не создан +Акылдаш · Telegram-бот v0.2.2 · Backend v0.5.1 · Frontend — не создан diff --git a/tools/telegram-bot/README.md b/tools/telegram-bot/README.md index 96a9d6e..a947277 100644 --- a/tools/telegram-bot/README.md +++ b/tools/telegram-bot/README.md @@ -48,4 +48,4 @@ python3 -m unittest -v --- -Акылдаш · Telegram-бот v0.2.2 · Backend v0.5.0 · Frontend — не создан +Акылдаш · Telegram-бот v0.2.2 · Backend v0.5.1 · Frontend — не создан