Model języka -Language model

Model języka to rozkład prawdopodobieństwa na sekwencje słów. Mając taki ciąg o długości m , model języka przypisuje prawdopodobieństwo całemu ciągowi. Modele językowe generują prawdopodobieństwa poprzez szkolenie na korpusach tekstowych w jednym lub wielu językach. Biorąc pod uwagę, że języki mogą być używane do wyrażania nieskończonej różnorodności prawidłowych zdań (właściwość cyfrowej nieskończoności ), modelowanie języka napotyka problem przypisywania niezerowych prawdopodobieństw do poprawnych językowo sekwencji, które mogą nigdy nie występować w danych szkoleniowych. W celu przezwyciężenia tego problemu zaprojektowano kilka podejść do modelowania, takich jak zastosowanie założenia Markowalub za pomocą architektur neuronowych, takich jak rekurencyjne sieci neuronowe lub transformatory .

Modele językowe są przydatne w przypadku różnych problemów językoznawstwa komputerowego ; od początkowych zastosowań w rozpoznawaniu mowy w celu zapewnienia nieprzewidywania bezsensownych (tj. o niskim prawdopodobieństwie) sekwencji słów, po szersze zastosowanie w tłumaczeniu maszynowym (np. ocenianie tłumaczeń kandydatów), generowanie języka naturalnego (generowanie tekstu bardziej ludzkiego), częściowe tagowanie mowy , parsowanie , optyczne rozpoznawanie znaków , rozpoznawanie pisma ręcznego , indukcja gramatyczna , wyszukiwanie informacji i inne aplikacje.

Modele językowe są używane w wyszukiwaniu informacji w modelu prawdopodobieństwa zapytań . Tam z każdym dokumentem w kolekcji jest skojarzony oddzielny model języka. Dokumenty są klasyfikowane na podstawie prawdopodobieństwa zapytania Q w modelu językowym dokumentu : . Powszechnie do tego celu wykorzystywany jest model języka unigramowego .

Typy modeli

Unigram

Model unigramowy można traktować jako kombinację kilku jednostanowych automatów skończonych . Zakłada, że ​​prawdopodobieństwa tokenów w ciągu są niezależne, np.:

W tym modelu prawdopodobieństwo wystąpienia każdego słowa zależy tylko od prawdopodobieństwa tego słowa w dokumencie, więc jako jednostki mamy tylko jednostanowe automaty skończone. Sam automat ma rozkład prawdopodobieństwa w całym słowniku modelu, sumujący się do 1. Poniżej znajduje się ilustracja unigramowego modelu dokumentu.

Semestry Prawdopodobieństwo w doc
a 0,1
świat 0,2
lubi 0,05
my 0,05
dzielić 0,3
... ...

Prawdopodobieństwo wygenerowane dla konkretnego zapytania jest obliczane jako

Różne dokumenty mają modele unigramowe, z różnym prawdopodobieństwem trafienia słów. Rozkłady prawdopodobieństwa z różnych dokumentów są używane do generowania prawdopodobieństw trafień dla każdego zapytania. Dokumenty można uszeregować dla zapytania według prawdopodobieństw. Przykład modeli unigramowych dwóch dokumentów:

Semestry Prawdopodobieństwo w Doc1 Prawdopodobieństwo w Doc2
a 0,1 0,3
świat 0,2 0,1
lubi 0,05 0,03
my 0,05 0,02
dzielić 0,3 0,2
... ... ...

W kontekstach wyszukiwania informacji modele języka unigramowego są często wygładzane, aby uniknąć przypadków, w których P (termin) = 0. Powszechnym podejściem jest generowanie modelu maksymalnego prawdopodobieństwa dla całego zbioru i liniowa interpolacja modelu zbioru z modelem maksymalnego prawdopodobieństwa dla każdy dokument, aby wygładzić model.

n-gram

W modelu n - gramowym prawdopodobieństwo zaobserwowania zdania jest aproksymowane jako

Zakłada się, że prawdopodobieństwo zaobserwowania i- tego słowa w i w historii kontekstowej poprzedzających i  − 1 słów można aproksymować prawdopodobieństwem zaobserwowania go w skróconej historii kontekstowej poprzedzających n  − 1 słów ( kolejność n Własność Markowa ). Dla wyjaśnienia, dla n=3 oraz i=2 mamy .

Prawdopodobieństwo warunkowe można obliczyć z n -gramowych zliczeń częstości modelu:

Terminy modele języka bigramowego i trygramowego oznaczają modele n - gramowe z odpowiednio n  = 2 i n  = 3.

Zazwyczaj prawdopodobieństwa modelu n - gramowego nie są wyprowadzane bezpośrednio ze zliczeń częstości, ponieważ modele wyprowadzone w ten sposób mają poważne problemy w konfrontacji z dowolnymi n -gramami, które nie były wcześniej wyraźnie widziane. Zamiast tego konieczna jest jakaś forma wygładzania, przypisując część całkowitej masy prawdopodobieństwa niewidzialnym słowom lub n - gramom. Stosowane są różne metody, od prostego wygładzania „dodania jednego” (przypisanie liczby 1 do niewidocznych n -gramów, jako nieinformacyjny poprzedni ) do bardziej wyrafinowanych modeli, takich jak modele dyskontowania Good-Turing lub modele back-off .

Dwukierunkowy

Reprezentacje dwukierunkowe warunkują zarówno kontekst przed, jak i po (np. słowa) we wszystkich warstwach.

Przykład

W modelu języka bigram ( n  = 2) prawdopodobieństwo zdania , które widziałem w czerwonym domu, jest przybliżone jako

podczas gdy w trygramowym ( n  = 3) modelu języka przybliżeniem jest

Zauważ, że kontekst pierwszego n  – 1 n -gramów jest wypełniony znacznikami początku zdania, zwykle oznaczanymi <s>.

Dodatkowo, bez znacznika końca zdania, prawdopodobieństwo wystąpienia niegramatycznej sekwencji *Widziałem, że zawsze będzie wyższe niż dłuższe zdanie , w którym widziałem czerwony dom.

Wykładniczy

Modele języka o maksymalnej entropii kodują związek między słowem a historią n-gramów za pomocą funkcji cech. Równanie to

gdzie jest funkcją partycji , jest wektorem parametrów i jest funkcją funkcji. W najprostszym przypadku funkcja funkcji jest tylko wskaźnikiem obecności pewnego n-grama. Pomocne jest użycie wcześniejszego lub jakiejś formy regularyzacji.

Model log-bilinear jest kolejnym przykładem wykładniczego modelu języka.

Sieć neuronowa

Modele języka neuronowego (lub modele języka przestrzeni ciągłej ) wykorzystują ciągłe reprezentacje lub osadzenia słów w celu ich przewidywania. Modele te wykorzystują sieci neuronowe .

Osadzanie przestrzeni ciągłej pomaga złagodzić przekleństwo wymiarowości w modelowaniu języka: w miarę uczenia modeli językowych na coraz większych tekstach, liczba unikalnych słów (słownictwo) wzrasta. Liczba możliwych sekwencji słów rośnie wykładniczo wraz z rozmiarem słownictwa, powodując problem rzadkości danych z powodu wykładniczo wielu sekwencji. Do prawidłowego oszacowania prawdopodobieństw potrzebne są więc statystyki. Sieci neuronowe unikają tego problemu, reprezentując słowa w sposób rozproszony , jako nieliniowe kombinacje wag w sieci neuronowej. Alternatywnym opisem jest to, że sieć neuronowa aproksymuje funkcję języka. Architektura sieci neuronowej może być sprzężona do przodu lub rekurencyjna i chociaż ta pierwsza jest prostsza, ta druga jest bardziej powszechna.

Zazwyczaj modele języka sieci neuronowej są konstruowane i trenowane jako klasyfikatory probabilistyczne , które uczą się przewidywać rozkład prawdopodobieństwa

.

Oznacza to, że sieć jest wytrenowana do przewidywania rozkładu prawdopodobieństwa w słownictwie, biorąc pod uwagę kontekst językowy. Odbywa się to za pomocą standardowych algorytmów uczenia sieci neuronowych, takich jak stochastyczne opadanie gradientu z propagacją wsteczną . Kontekst może być oknem o stałym rozmiarze poprzednich słów, aby sieć przewidywała:

z wektora cech reprezentującego poprzednie k słów. Inną opcją jest użycie słów „przyszłych” oraz „przeszłych” jako cech, tak aby oszacowane prawdopodobieństwo było

.

Nazywa się to modelem worka słów . Gdy wektory cech dla słów w kontekście są połączone przez operację ciągłą, model ten jest określany jako ciągła architektura worka słów (CBOW).

Trzecią opcją, która trenuje wolniej niż CBOW, ale działa nieco lepiej, jest odwrócenie poprzedniego problemu i sprawienie, by sieć neuronowa uczyła się kontekstu, podając słowo. Bardziej formalnie, biorąc pod uwagę sekwencję słów uczących , maksymalizujemy średnie prawdopodobieństwo logarytmiczne

gdzie k , rozmiar kontekstu uczenia, może być funkcją centralnego słowa . Nazywa się to modelem języka skip-gram . Modele Bag-of-words i skip-gram są podstawą programu word2vec .

Zamiast używać modeli języka sieci neuronowej do tworzenia rzeczywistych prawdopodobieństw, powszechnie używa się zamiast tego rozproszonej reprezentacji zakodowanej w „ukrytych” warstwach sieci jako reprezentacji słów; każde słowo jest następnie mapowane na n - wymiarowy wektor rzeczywisty zwany osadzaniem słów , gdzie n jest rozmiarem warstwy tuż przed warstwą wyjściową. Reprezentacje w modelach skip-gramowych mają tę wyraźną cechę, że modelują relacje semantyczne między słowami jako kombinacje liniowe , oddając pewną formę kompozycyjności . Na przykład w niektórych takich modelach, jeśli v jest funkcją odwzorowującą słowo w na jego n - d wektorową reprezentację, to

gdzie ≈ jest sprecyzowane przez zastrzeżenie, że jego prawa strona musi być najbliższym sąsiadem wartości lewej strony.

Inny

Model języka pozycyjnego ocenia prawdopodobieństwo wystąpienia danych słów w tekście blisko siebie, niekoniecznie w bezpośrednim sąsiedztwie. Podobnie modele worka-of-concepts wykorzystują semantykę związaną z wyrażeniami wielowyrazowymi, takimi jak kup_christmas_present , nawet jeśli są one używane w zdaniach bogatych w informacje, takich jak „dzisiaj kupiłem wiele bardzo ładnych prezentów świątecznych”.

Pomimo ograniczonych sukcesów w wykorzystaniu sieci neuronowych, autorzy uznają potrzebę innych technik modelowania języków migowych.

Ocena i benchmarki

Ocena jakości modeli językowych odbywa się głównie poprzez porównanie z próbkami porównawczymi stworzonymi przez człowieka, utworzonymi z typowych zadań językowych. Inne, mniej ugruntowane testy jakości badają wewnętrzny charakter modelu językowego lub porównują dwa takie modele. Ponieważ modele językowe zazwyczaj mają być dynamiczne i uczyć się na danych, które widzi, niektóre proponowane modele badają tempo uczenia się, np. poprzez kontrolę krzywych uczenia się.

Opracowano różne zestawy danych do wykorzystania do oceny systemów przetwarzania języka. Obejmują one:

  • Korpus akceptowalności językowej
  • Wzorzec KLEJU
  • Microsoft Research Parafraza Corpus
  • Wnioskowanie o wielogatunkowym języku naturalnym
  • Pytanie o wnioskowanie z języka naturalnego
  • Pary pytań Quora
  • Rozpoznawanie entaila tekstowego
  • Test semantycznego podobieństwa tekstu
  • Test odpowiedzi na pytania SQuAD
  • Bank drzew nastrojów w Stanford
  • Winograd NLI

Krytyka

Chociaż można wykazać, że współczesne modele językowe, takie jak GPT-2, dopasowują się do ludzkiej wydajności w niektórych zadaniach, nie jest jasne, czy są to wiarygodne modele poznawcze . Na przykład wykazano, że powtarzające się sieci neuronowe uczą się wzorców, których ludzie się nie uczą i nie uczą się wzorców, których ludzie się uczą.

Zobacz też

Uwagi

Bibliografia

Cytaty

Źródła

  • JM Ponte i WB Croft (1998). „Podejście modelowania języka do wyszukiwania informacji”. Badania i rozwój w zakresie wyszukiwania informacji . s. 275–281. CiteSeerX  10.1.1.117.4237 .{{cite conference}}: CS1 maint: używa parametru autorów ( link )
  • F Song i WB Croft (1999). „Ogólny model językowy do wyszukiwania informacji”. Badania i rozwój w zakresie wyszukiwania informacji . s. 279–280. CiteSeerX  10.1.1.21.6467 .{{cite conference}}: CS1 maint: używa parametru autorów ( link )
  • Chen, Stanley; Joshua Goodman (1998). An Empirical Study of Smoothing Techniques for Language Modeling (Raport techniczny). Uniwersytet Harwardzki. CiteSeerX  10.1.1.131.5458 .