Podręcznik uczestnika z objaśnieniami, przykładami i ćwiczeniami do samodzielnej nauki do Modułu 3

7. Testowanie jakości wyszukiwania semantycznego

Ocena wyszukiwania zaczyna się od ustalenia, jaka informacja znajduje się w bazie. Oczekiwane trafienie wynika ze źródeł, a nie z wyniku modelu. Dopiero po zapisaniu tego oczekiwania uruchamiasz pomiar.

1. Przygotuj klucz przed rankingiem

Przypadek testowy opisuje pytanie oraz oczekiwane fragmenty. W plikach pakietu M3 identyfikator nazywa się question_id, a lista dopuszczalnych trafień expected_chunk_ids. question_type opisuje formę, np. direct, paraphrase lub ambiguous. case_type opisuje obecność odpowiedzi i zakres zadania.

case_type Znaczenie Ocena w M3
answerable Baza zawiera potrzebną informację. Hit@k oraz analiza treści.
missing_in_sources Pytanie mieści się w zakresie, lecz informacji nie ma w bazie. Ocena opisowa; Hit@k = null.
out_of_scope Pytanie wykracza poza zakres asystenta. Ocena opisowa; Hit@k = null.

Pytanie wieloznaczne może mieć odpowiedź przy ustalonej interpretacji. Zapisz tę interpretację w uzasadnieniu albo doprecyzuj pytanie przed pomiarem. Lista kilku expected_chunk_ids w przyjętej mierze oznacza, że wystarczy dowolny z nich. Jeżeli odpowiedź wymaga łącznie dwóch fragmentów, zwykłe Hit@k nie mierzy kompletności tego zestawu; potrzebujesz dodatkowej oceny pokrycia.

2. Hit@1, Hit@3 i Hit@5

Dla pojedynczego przypadku z odpowiedzią Hit@k wynosi 1, jeśli co najmniej jeden oczekiwany identyfikator znajduje się w pierwszych k wynikach. W przeciwnym razie wynosi 0. Pozycje rankingu liczysz od 1. Oczekiwany fragment na pozycji 2 daje Hit@1 = 0, a Hit@3 i Hit@5 = 1.

Hit@k pytania = 1, gdy top-k zawiera dopuszczalny chunk_id;
                0, gdy go nie zawiera.

Średni Hit@k = suma trafień / liczba pytań answerable.

Pytania bez odpowiedzi nie są automatycznie nieudanymi trafieniami i nie wchodzą do tego mianownika. Zapis null oznacza „nie dotyczy”, nie zero. Gdy cały zestaw nie ma przypadków answerable, średnia jest nieokreślona, a nie równa 0 lub 100%. Dla tego samego rankingu i klucza Hit@1 ≤ Hit@3 ≤ Hit@5.

3. Zestaw do ćwiczenia

Wróć do miniaturowej bazy D1–D6 z rozdziału 4. Każde poniższe pytanie oceniaj wyłącznie względem tej bazy. Najpierw ustal typ przypadku i oczekiwany fragment, następnie skorzystaj z tabeli pozycji.

ID Pytanie i ewentualna interpretacja Forma
B01 Jakim poleceniem sprawdzę stan usługi po zmianie konfiguracji? direct
B02 Zmieniłem ustawienia. Jak potwierdzić, że proces działa? paraphrase
B03 Co zachować przed edycją pliku konfiguracyjnego? direct
B04 Kiedy w dzień roboczy mogę liczyć na przyjęcie zgłoszenia? paraphrase
B05 Co zapisać? Przyjęta interpretacja: jakie informacje podać w zgłoszeniu problemu. ambiguous
B06 Jak nazywa się parametr oczekiwania i jaka jest zalecana wartość w przykładzie? direct
B07 Jaki jest numer telefonu administratora DocAssist? direct
B08 Jak upiec chleb na zakwasie? direct
Dydaktyczne wyniki do obliczeń

Dla pytań B01–B06 pozycje fragmentów zawierających odpowiedź wynoszą odpowiednio 2, 1, 4, 6, 3, 1. Dla B07 i B08 wyszukiwarka również zwróciła sześć sąsiadów, ale żaden nie zawiera odpowiedzi. To przygotowany scenariusz, nie wyniki pilotażu Ollama.

4. Diagnoza przed zmianą modelu

  • Czy informacja w ogóle występuje w źródle? Jeżeli nie, większe k jej nie stworzy.
  • Czy po odczycie i podziale tekst zachował warunek, komendę i wynik? W razie braku wróć do przygotowania danych.
  • Czy indeks odpowiada aktualnym fragmentom i zgodnemu modelowi? Sprawdź manifest oraz mapowanie.
  • Czy właściwy fragment istnieje, lecz znajduje się za nisko? Przeanalizuj pytanie, sąsiednie wyniki i ustawienie k.

Większe k może poprawić Hit@k i jednocześnie dodać niepotrzebny tekst. Wysoka wartość tej miary nie gwarantuje poprawnej przyszłej odpowiedzi. Stały próg score również wymaga oceny na danych, szczególnie na pytaniach bez odpowiedzi. Nie ma uniwersalnej wartości, od której fragment staje się prawdziwy.

Ćwiczenie 6. Oblicz wyniki i zaplanuj poprawę

Praca samodzielna offline

Utwórz tabelę B01–B08 z typem przypadku, oczekiwanym fragmentem, pozycją oraz Hit@1, Hit@3 i Hit@5.

  1. Ustal oczekiwania na podstawie D1–D6. Wskaż założenie wymagane przy B05.
  2. Policz metryki dla każdego pytania i średnie dla właściwej grupy.
  3. Wyjaśnij, dlaczego B07 i B08 wymagają dwóch różnych oznaczeń, mimo że oba nie mają odpowiedzi.
  4. Wskaż pytanie, dla którego zmiana k z 3 na 5 pomaga, oraz takie, dla którego nadal nie wystarcza.
  5. Zaproponuj jedną kontrolowaną zmianę i sposób jej sprawdzenia na tym samym zestawie. Nie dopasowuj klucza do rankingu.
Sprawdź rozumienie

Czy w raporcie podajesz liczność grupy, ograniczenia testu i konkretne obserwacje, zamiast samego procentu?

Przejście do pakietu ćwiczeniowego

Jeżeli pracujesz również na komputerze, wykorzystaj kartę R6 oraz notebook M12_M3_R6_test_retrieval_start.ipynb.

Właściwe ćwiczenie komputerowe używa dane/test_cases_szablon.jsonl: minimum ośmiu pytań, w tym dwóch parafraz, pytania niejednoznacznego i obu typów braku odpowiedzi. Zapisujesz test_cases.jsonl, retrieval_baseline.jsonl, metryki.json i raport_testow.md. Zadania B01–B08 w tej książce są osobnym zestawem do nauki; nie stanowią klucza do notebooka.

ENHANCER+ · Politechnika Warszawska · podręcznik do samodzielnej nauki offline