[34][NLP]

PYTANIA

Utajony przydział Dirichleta a hierarchiczny proces Dirichleta

Utajone przydzielanie Dirichleta (LDA) i hierarchiczny proces Dirichleta (HDP) to procesy modelowania tematów. Główną różnicą jest to, że LDA wymaga podania liczby tematów, a HDP nie. Dlaczego to jest tak? A jakie są różnice, zalety i wady obu metod modelowania tematów?

ODPOWIEDZI:

HDP jest rozszerzeniem LDA, zaprojektowanym w celu rozwiązania przypadku, gdy liczba składników mieszaniny (liczba „tematów” w kategoriach modelowania dokumentów) nie jest z góry znana. To jest powód, dla którego istnieje różnica. Używając LDA do modelowania dokumentów, każdy „temat” traktuje się jako rozkład słów w znanym słownictwie. Dla każdego dokumentu sporządzana jest mieszanina tematów z dystrybucji Dirichleta, a następnie każde słowo w dokumencie jest niezależnym rysunkiem z tej mieszaniny (to znaczy, wybierając temat, a następnie wykorzystując go do wygenerowania słowa). W przypadku HDP (stosowanego do modelowania dokumentów) stosuje się również proces Dirichleta, aby uchwycić niepewność co do liczby tematów. Tak więc wybierany jest wspólny rozkład podstawowy, który reprezentuje nieskończenie nieskończony zestaw możliwych tematów dla korpusu, a następnie skończony rozkład tematów dla każdego dokumentu jest próbkowany z tego rozkładu podstawowego. Jeśli chodzi o zalety i wady, HDP ma tę zaletę, że maksymalna liczba tematów może być nieograniczona i wyciągnięta z danych, a nie określona z góry. Wydaje mi się, że jego wdrożenie jest bardziej skomplikowane i niepotrzebne w przypadku, gdy dopuszczalna jest ograniczona liczba tematów.

Anegdotycznie nigdy nie byłem pod wrażeniem wyników z hierarchicznej LDA. Po prostu wydaje się, że nie ma optymalnego poziomu szczegółowości przy wyborze liczby tematów. Osiągnąłem znacznie lepsze wyniki, uruchamiając kilka iteracji zwykłej LDA, ręcznie sprawdzając wygenerowane tematy, decydując, czy zwiększyć, czy zmniejszając liczbę tematów i kontynuując iterację, aż uzyskam ziarnistość, której szukam. Pamiętaj: hierarchiczna LDA nie może odczytać twojego umysłu… nie wie, do czego właściwie zamierzasz użyć modelowania tematów. Podobnie jak w przypadku klastrowania k-średnich, powinieneś wybrać k, który najlepiej pasuje do twojego przypadku użycia.

Co to jest model generatywny i dyskryminacyjny? W jaki sposób są używane do przetwarzania języka naturalnego?

To pytanie dotyczy algorytmu generatywnego vs. dyskryminacyjnego, ale czy ktoś może podać przykład różnicy między tymi formami w przypadku przetwarzania języka naturalnego? Jak wykorzystywane są modele generatywne i dyskryminacyjne w NLP?

Powiedzmy, że przewidujesz temat dokumentu, biorąc pod uwagę jego słowa. Model generatywny opisuje prawdopodobieństwo każdego tematu i prawdopodobne słowa. W ten sposób mówi się, że dokumenty są „generowane” przez świat – temat pojawia się zgodnie z pewną dystrybucją, słowa powstają z powodu tematu, masz dokument. Klasyfikacja dokumentów słów W na temat T polega na maksymalizacji prawdopodobieństwa połączenia: P (T, W) = P (W | T) P (T)

Model dyskryminacyjny działa jedynie poprzez opisanie prawdopodobieństwa, że ​​dany temat uzyska dane słowa. Nie mówi nic o tym, jak prawdopodobne są same słowa lub tematy. Zadaniem jest bezpośrednie modelowanie P (T | W) i znalezienie T, który to maksymalizuje. Te podejścia nie dotyczą bezpośrednio P (T) ani P (W).

Rozdzielczość korelacji dla tekstów niemieckich

Czy ktoś zna bibliotekę do rozwiązywania korekt dotyczących tekstów niemieckich?

O ile mi wiadomo, OpenNLP i Standord NLP nie są w stanie wykonać rozwiązywania korelacji dla tekstów niemieckich. Jedyne znane mi narzędzie to CorZu, które jest biblioteką Pythona.

Bart, narzędzie typu open source, które było używane w kilku językach, w tym w języku niemieckim. Dostępne na stronie internetowej Sucre to narzędzie opracowane na Uniwersytecie w Stuttgarcie. Nie wiem czy jest dostępny z łatwością.

Dokładność Stanford NER

Przeprowadzam rozpoznawanie nazwanego podmiotu za pomocą Stanford NER. Z powodzeniem przeszkoliłem i przetestowałem mój model. Teraz chcę wiedzieć:

1) Jaki jest ogólny sposób pomiaru dokładności modelu NER? Na przykład, jakie techniki lub podejścia są stosowane?

2) Czy w STANFORD NER jest jakaś wbudowana metoda oceny dokładności?

Aby ocenić jakość wyników systemu NER, zdefiniowano kilka miar. Chociaż dokładność na poziomie tokena jest jedną z możliwości, ma dwa problemy: ogromna większość tokenów w tekście świata rzeczywistego nie jest częścią nazw jednostek, jak to zwykle definiuje się, więc dokładność linii bazowej (zawsze przewiduj „nie byt”) to ekstrawagancko wysoka, zwykle> 90%; i błędnie przewidując pełny zakres nazwy bytu

nie jest odpowiednio karany (znalezienie tylko imienia osoby, gdy następuje jej nazwisko, jest oceniane jako dokładność ½). Na konferencjach akademickich, takich jak CoNLL, określono wariant wyniku F1 następująco:

* Precyzja to liczba przewidywanych zakresów nazw jednostek, które dokładnie pokrywają się z zakresami w złotych danych oceny standardowej. To znaczy. gdy przewiduje się [Person Hans] [Person Blick], ale wymagana jest [Person Hans Blick], precyzja dla przewidywanej nazwy wynosi zero. Precyzja jest następnie uśredniana dla wszystkich przewidywanych nazw jednostek.

* Recall to podobnie liczba nazw w złotym standardzie, które pojawiają się dokładnie w tym samym miejscu w prognozach.

* Wynik F1 jest średnią harmoniczną tych dwóch.

Z powyższej definicji wynika, że ​​każda prognoza, która nie trafi w pojedynczy żeton, zawiera fałszywy żeton lub ma niewłaściwą klasę, „nie zdobywa punktów”, tj. Nie przyczynia się ani do precyzji, ani do przywołania.

Dodaj komentarz

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