Sumy kontrolne
Numery PESEL, NIP, REGON i NRB są zmyślone, ale mają poprawne sumy kontrolne. Tor negatywny sprawdza sytuację odwrotną: czy ciągi o tym samym kształcie, lecz z błędną sumą kontrolną, nie wywołują fałszywych alarmów.
Porównujemy pięć silników uruchamianych lokalnie na 759 w pełni syntetycznych pozycjach: 33 pełnych dokumentach, 441 jednozdaniowych próbkach z toru odmiany i 285 pozycjach pozostałych torów. Publikujemy osobny wynik dla każdego toru.
Tak. Pełne dokumenty, odmiana, identyfikatory, adresy i próby negatywne mają osobne wyniki, bo czułość silników różni się między torami. Czułość to odsetek oznaczonych danych wrażliwych, które silnik znalazł; liczymy dopasowanie luźne. W torze negatywnym podajemy liczbę fałszywych alarmów, więc tam mniej znaczy lepiej.
Przesuń tabelę w bok, aby zobaczyć wszystkie kolumny.
| Tor testowy | Pozycje | Miara | Anonimator | Presidio | spaCy PL | GLiNER PII Polish | BardsAI EU PII |
|---|---|---|---|---|---|---|---|
| Pełne dokumentyUmowy, faktury, decyzje i wyroki | 33 | Czułość | 99,5% | 95,8% | 64,2% | 58,0% | 69,7% |
| OdmianaNazwiska w siedmiu przypadkach, w krótkich zdaniach | 441 | Czułość | 100,0% | 96,4% | 96,4% | 97,3% | 37,0% |
| IdentyfikatoryPESEL, NIP, REGON, NRB i numery dokumentów | 12 | Czułość | 75,0% | 44,4% | 3,2% | 16,7% | 31,2% |
| AdresyAdresy pełne i częściowe | 14 | Czułość | 93,9% | 79,3% | 79,3% | 29,9% | 68,3% |
| Próby negatywneCiągi wyglądające jak PESEL czy NIP, ale z błędną sumą kontrolną | 14 | Fałszywe alarmy | 32 | 362 | 346 | 123 | 513 |
| Odporność zapisuBłędy OCR, brak polskich znaków, zmieniony zapis | 231 | Czułość | 76,6% | 68,0% | 56,5% | 54,9% | 61,6% |
| Tekst z PDFTen sam tekst wydobyty wcześniej z plików PDF | 14 | Czułość | 99,5% | 95,2% | 63,1% | 55,1% | 64,7% |
Źródło: manifest wydania pl-pii-bench v1.0.0 w repozytorium github.com/pl-pii-bench/pl-pii-bench.
Tak. Każdy tor mierzy inny rodzaj ryzyka i ma osobny wynik: sumy kontrolne, polską odmianę, tekst z PDF oraz próby negatywne. Każdy z pięciu silników dostaje to samo wejście. Dzięki temu nie mieszamy różnych błędów w jedną liczbę i widać od razu, gdzie dany silnik zawodzi.
Numery PESEL, NIP, REGON i NRB są zmyślone, ale mają poprawne sumy kontrolne. Tor negatywny sprawdza sytuację odwrotną: czy ciągi o tym samym kształcie, lecz z błędną sumą kontrolną, nie wywołują fałszywych alarmów.
Osobny tor obejmuje imiona i nazwiska odmienione przez siedem przypadków. Pokazuje, czy silnik rozpoznaje je również w formie odmienionej i bez kontekstu, który daje pełny dokument.
Każdy z pięciu silników dostaje ten sam, wcześniej wydobyty i opisany tekst. Wynik mierzy samo wykrywanie, a nie jakość odczytu PDF w danym narzędziu.
Korpus jest całkowicie syntetyczny, a każdy fragment do wykrycia jest oznaczony z dokładnością do pojedynczego znaku. Manifest zapisuje wersje narzędzi, polecenia, sumy kontrolne plików i czas każdego uruchomienia.
Nie. Wyniki publiczne pochodzą ze zbioru dostępnego w naszym repozytorium, ale dodatkowe 73 przykłady trzymamy w tajemnicy i nigdy nie używamy ich do poprawiania żadnego z pięciu silników. Poniżej te same cztery tory policzone na obu zbiorach naraz. Zbliżone wyniki znaczą, że żaden silnik nie wypada lepiej tylko dlatego, że zna odpowiedzi z góry.
Przesuń tabelę w bok, aby zobaczyć wszystkie kolumny.
| Tor testowy | Anonimator, publiczny | Anonimator, kontrolny | Presidio, publiczny | Presidio, kontrolny | spaCy PL, publiczny | spaCy PL, kontrolny | GLiNER PII Polish, publiczny | GLiNER PII Polish, kontrolny | BardsAI EU PII, publiczny | BardsAI EU PII, kontrolny |
|---|---|---|---|---|---|---|---|---|---|---|
| Pełne dokumenty | 99,5% | 99,5% | 95,8% | 95,8% | 64,2% | 64,2% | 58,0% | 58,0% | 69,7% | 70,0% |
| Identyfikatory | 75,0% | 75,3% | 44,4% | 44,4% | 3,2% | 3,2% | 16,7% | 17,5% | 31,2% | 30,9% |
| Adresy | 93,9% | 90,3% | 79,3% | 77,8% | 79,3% | 77,8% | 29,9% | 27,7% | 68,3% | 68,2% |
| Próby negatywneLiczba fałszywych alarmów | 32 | 35 | 362 | 374 | 346 | 346 | 123 | 110 | 513 | 469 |
Tych 73 przykładów nie publikujemy, bo gdyby stały się jawne, przestałyby pełnić swoją rolę: dałoby się pod nie dostroić wyniki, tak samo jak pod zbiór publiczny. Przy każdym wyniku publicznym podajemy obok wynik z ukrytych danych, żeby różnicę było widać od razu. Największa różnica w czułości (dopasowanie luźne) to 3,6 punktu procentowego (Anonimator, adresy). W ostatnim wierszu porównujemy liczby fałszywych alarmów, a nie procenty.
Ten wynik jest samoraportowany, ale nie musisz brać go na słowo. Cztery
porównywane silniki są open source, więc ich wiersze odtworzysz z kodu.
Silnik Anonimatora jest zamknięty, ale jego wiersz odtworzysz z tej samej
binarki, którą dostaje każdy klient: wykrywanie na dokumentach z tego zbioru
nie wymaga licencji. Pobierasz instalator, uruchamiasz
detect --predictions-output na korpusie publicznym i porównujesz
wynik z naszym. Nie musisz nas o nic prosić ani z nikim rozmawiać.
Osobno próba kontrolna. Tych 73 przykładów nie publikujemy, więc jej wyniku nie odtworzy nikt z zewnątrz, i dotyczy to wszystkich pięciu silników tak samo. Podajemy ją po to, żeby pokazać, że wyniki publiczne nie są dostrojone pod zbiór publiczny. Każdy przebieg zapisujemy w manifeście wydania z sumą kontrolną zbioru, sumą kontrolną wyników i znacznikiem czasu.
Wydanie zawiera korpus, adaptery pięciu lokalnych silników, skrypt oceny i manifest z sumami SHA-256. Korpus publikujemy na Hugging Face jako zbiór pl-pii-bench na Hugging Face, a harness, adaptery i skrypt oceny w repozytorium github.com/pl-pii-bench/pl-pii-bench.
Zależy nam, żeby ta metodologia była jak najbardziej rzetelna i obiektywna. Uwagi i propozycje przyjmujemy jako zgłoszenia w tym samym repozytorium na GitHubie.