Słownik AI

Rozpoznawanie nazwanych bytów – ang. named-entity recognition (NER)

Rozpoznawanie nazwanych bytów (NER) – opis

Czym jest Rozpoznawanie nazwanych bytów (named-entity recognition, NER)?

Rozpoznawanie nazwanych bytów, powszechnie skracane do NER, to zadanie przetwarzania języka naturalnego polegające na automatycznym wykrywaniu i kategoryzacji nazw własnych w tekście. Kategorie obejmują najczęściej osoby, lokalizacje, organizacje, daty, kwoty pieniężne czy jednostki miary, choć współczesne modele pozwalają definiować znacznie bogatsze zbiory etykiet branżowych. Pierwsze badania nad jawną identyfikacją nazw rozpoczęły się w latach 80. XX w., a do standaryzacji pojęcia doprowadziły konferencje Message Understanding Conference (MUC-6 w 1995 r. oraz MUC-7 w 1997 r.), gdzie po raz pierwszy pojawiła się nazwa “named-entity recognition”.

Jak dokładnie działa Rozpoznawanie nazwanych bytów (named-entity recognition, NER)

Od reguł do modeli neuronowych

Pierwsze systemy opierały się na ręcznie tworzonych regułach i słownikach, które sprawdzały dopasowania ciągów znaków do list nazw. Takie podejście bywa precyzyjne w wąskich domenach, jednak szybko traci skuteczność przy tekstach nieustrukturyzowanych lub tworzonych dynamicznie. Przełomem jakościowym okazały się statystyczne modele sekwencyjne, głównie ukryte modele Markowa (HMM) i warunkowe pola losowe (CRF), które uwzględniały kontekst leksykalny. Obecnie dominują architektury głębokiego uczenia z warstwami transformera, reprezentowane przez BERT, RoBERTa czy mniejsze, wyspecjalizowane modele Fine-Tuned NER. Taki system zwykle obejmuje wstępne tokenizowanie tekstu, osadzanie słów w przestrzeni wektorowej, prognozowanie etykiet dla tokenów oraz końcową fazę łączenia sąsiednich tokenów w spójne byty.

Uczenie nadzorowane i zbiory danych

Dobre wyniki wymagają pokaźnych, starannie oznaczonych korpusów. Najczęściej cytowane są anglojęzyczne zbiory CoNLL-2003, OntoNotes oraz ACE, a w języku polskim korpusy NKJP i KPWr. Modele samouczące się lub korzystające z uczenia z niewielką liczbą przykładów starają się ograniczyć zapotrzebowanie na kosztowną adnotację.

Zastosowania w praktyce

NER wspiera ekstrakcję informacji w serwisach newsowych, finansowych i medycznych, ułatwia budowę grafów wiedzy, przyspiesza wyszukiwanie kontekstowe oraz wskazuje podmioty w zapytaniach głosowych asystentów. W systemach due diligence pomaga błyskawicznie wyłuskać z dokumentów umownych strony transakcji i kwoty. Współdzieli też fundament z modułami anonymizującymi dane osobowe w szpitalnych rekordach.

Zalety i ograniczenia

Głębokie modele NER charakteryzują się wysoką dokładnością, zwłaszcza przy dużej różnorodności językowej. Pozwalają łatwiej przenieść wiedzę między domenami niż klasyczne systemy regułowe, lecz wymagają znacznych zasobów obliczeniowych i sporej puli danych adnotowanych. Ich skuteczność spada, gdy napotkają neologizmy, błędy ortograficzne lub wielojęzyczne konstrukcje kod-switching. Ponadto wrażliwe dane osobowe wykryte przez NER należy zabezpieczyć przed nieuprawnionym ujawnieniem.

Na co uważać?

Wdrożenie NER w środowisku produkcyjnym wymaga ciągłej walidacji jakości, szczególnie w dynamicznych domenach, gdzie nazwy szybko się zmieniają. Modele mogą również amplifikować stronniczość obecna w danych treningowych: jeśli korpus nadmiernie skupia się na określonych regionach lub nazwiskach, rzadziej występujące byty mogą być gorzej rozpoznawane. W systemach wielojęzycznych należy zadbać o poprawną tokenizację i reprezentację znaków diakrytycznych, zwłaszcza w językach o bogatej fleksji.

Dodatkowe źródła

Szczegółowe omówienie tradycyjnych oraz najnowszych metod można znaleźć w opracowaniu Named-entity recognition – Wikipedia. Wpływ transformerów na jakość NER opisuje publikacja BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding – arXiv. Warto również sięgnąć do oryginalnego zbioru adnotacji z konferencji MUC-6, który zapoczątkował standardową definicję tego zadania.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *