From 6fa1c5a640d44bb8c946995e1647f249e37c4987 Mon Sep 17 00:00:00 2001 From: ggiiiooooo Date: Wed, 10 Jun 2026 21:52:36 +0300 Subject: [PATCH] Update SUBMISSION.md --- homework/SUBMISSION.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/homework/SUBMISSION.md b/homework/SUBMISSION.md index 0f6b274..c4a0583 100644 --- a/homework/SUBMISSION.md +++ b/homework/SUBMISSION.md @@ -4,12 +4,18 @@ ## Ссылка на репозиторий с заданием -- Repo URL: `<вставьте ссылку на ваш репозиторий>` +- Repo URL: `(https://github.com/ggiiiooooo/rag-newsgroups.git)` ## Автор -- ФИО / ник: `<укажите>` +- ФИО / ник: `Кинцурашвили Георгий Теймуразович` ## Комментарий -- Кратко: что реализовано, какие данные использованы, что улучшено. +Что делает: система отвечает на вопросы по корпусу тематических текстов. Пользователь вводит запрос — RAG находит наиболее релевантные фрагменты в базе по семантической близости слов (TF-IDF + cosine), показывает их с источниками и собирает ответ только из найденного. Если в базе нет ничего подходящего — отвечает отказом, а не выдумывает. Главная идея — ответ всегда подкреплён источниками (doc_id, score), видно, откуда взята каждая часть. + +Реализовано: полный RAG-pipeline без внешней LLM — prepare_datasets → ingest → chunking → index → retrieval (cosine top-k) → demo-answer → Streamlit UI. Ответ строится только из найденных фрагментов; при score ниже порога 0.22 — честный отказ. 17 тестов зелёные. + +Данные: 20 Newsgroups (через scikit-learn) — 1200 постов (60 × 20 тематических групп), после нарезки 3879 чанков. Индексируется текст постов; группа/doc_id/name — метаданные. Оба объёма превышают 1000. + +Улучшено: (1) оценка качества — scripts/eval_retrieval.py, hit@5 = 1.00, MRR = 0.95; (2) UI — ползунок порога min_score, выбор top-k, подсветка слов запроса; (3) TF-IDF tuning — english stop-words, биграммы, sublinear_tf.