Pomoc dotycząca NER w NLTK

12

Od jakiegoś czasu pracuję w NLTK, używając Pythona. Problem, z którym się zmagam, polega na tym, że nie ma pomocy w szkoleniu NER w NLTK z moimi niestandardowymi danymi. Wykorzystali MaxEnt i wyszkolili go na korpusie ACE. Dużo szukałem w Internecie, ale nie mogłem znaleźć sposobu, który mógłby posłużyć do wyszkolenia NER NLTK.

Jeśli ktoś może dostarczyć mi link / artykuł / blog itp., Który może skierować mnie do formatu szkoleniowego zestawu danych wykorzystywanego do szkolenia NER NLTK, abym mógł przygotować moje zbiory danych w tym konkretnym formacie. A jeśli zostaniesz przekierowany do dowolnego linku / artykułu / bloga itp., Które mogą mi pomóc NER TRAIN NLTK w zakresie moich danych.

To pytanie jest najczęściej wyszukiwane i nie ma na nie odpowiedzi. Może być pomocny dla kogoś, kto w przyszłości będzie pracował z NER.

Sarmad
źródło
Przesłane
Franck Dernoncourt

Odpowiedzi:

4

Szkolenie model, związane z wydobyciem informacyjnego , w ogóle, a rozpoznawanie jednostek nazwanych / rozdzielczość (NER) , w szczególności, jest szczegółowo opisana w rozdziale 7 w NLTK Book , dostępna pod adresem URL: http: //www.nltk .org / book / ch07.html .

Ponadto myślę, że użyteczna może być moja pokrewna odpowiedź na stronie Cross Validated . Zawiera wiele odniesień do odpowiednich źródeł na temat NER i pokrewnych tematów, a także do różnych powiązanych narzędzi programowych .

Aleksandr Blekh
źródło
Nie wspominają, jak trenować model NER na niestandardowych danych, czy możesz powiedzieć, jak to zrobić?
Hima Varsha
1
@HimaVarsha Nie jestem ekspertem w tej dziedzinie. Jednak ... Myślę, że model NLTK NER jest wstępnie przeszkolony na korpusie conll2000 , stąd brak informacji w książce NLTK. Sprawdź następujące zasoby: 1. nltk-trainer.readthedocs.io (najprawdopodobniej to, czego potrzebujesz; prawdopodobnie sekcja Szkolenie porcji IOB ). 2. sujitpal.blogspot.com/2012/11/… (może być również przydatny). 3. nlp.stanford.edu/software/crf-faq.shtml#a (w przypadku korzystania z oprogramowania Stanford NER lub podjęcia przez niego decyzji).
Aleksandr Blekh
Myślę, że implementacja stanfordcrf wymaga danych niestandardowych, ale NTLK NER jest po prostu wstępnie przeszkolony. Szkolenie Chunkers IOB jest po prostu chrupanie, prawda? Czy to w ogóle robi NER?
Hima Varsha
@HimaVarsha Proszę zwracać większą uwagę na otrzymywane porady. Jeśli dokładnie przeczytasz post przez powyższy link # 2, zobaczysz, że kod tam trenuje i działa zarówno w modelu NER. Nie sądzę, żebym mógł ci pomóc poza powyższymi radami.
Aleksandr Blekh
3

Czy ten artykuł jest wystarczająco dobry? http://www.succeed-project.eu/wiki/index.php/NLTK#Input_format_for_training

Istnieje wyjaśnienie, jak powinien wyglądać korpus.

Aby dane działały, Twoje dane muszą być w formacie IOB (tag słowny chunktag).
Eric NNP B-PERSON
jest VB O CEO
AT B-NP
NN I-NP
z IN O
Google NNP B-ORGANIZACJA

MaticDiba
źródło
1
Idealnym rozwiązaniem byłoby opublikowanie krótkiego streszczenia artykułu w tej odpowiedzi.
sheldonkreger
1

Uważam, że ten samouczek jest bardzo pomocny: Kompletny przewodnik do budowania własnego programu Named Entity Recognizer za pomocą Pythona Korzysta z korpusu banku znaczeń Groningen (GMB) do trenowania swojej części NER.

Następnie możesz sprawdzić ten samouczek od tej samej osoby: Szkolenie systemu NER przy użyciu dużego zestawu danych Tam, gdzie używa scikit, naucz się poprawiać wydajność swojego systemu.

Wreszcie kilka naprawdę przydatnych samouczków można znaleźć tutaj: samouczek NLTK Ten facet ma kanał na youtube z wieloma samouczkami na wiele tematów (ML, NLP, Python ...)

Mam nadzieję, że to pomoże.

Iraklis Moutidis
źródło