Jazykový model -Language model
Jazykový model je rozdělení pravděpodobnosti přes sekvence slov. Při takové posloupnosti délky m jazykový model přiřadí pravděpodobnosti celé posloupnosti. Jazykové modely generují pravděpodobnosti trénováním na textových korpusech v jednom nebo více jazycích. Vzhledem k tomu, že jazyky mohou být použity k vyjádření nekonečného množství platných vět (vlastnost digitálního nekonečna ), jazykové modelování čelí problému přiřazování nenulových pravděpodobností lingvisticky platným sekvencím, které se v trénovacích datech nikdy nevyskytují. K překonání tohoto problému bylo navrženo několik přístupů k modelování, jako je použití Markovova předpokladunebo pomocí neuronových architektur, jako jsou rekurentní neuronové sítě nebo transformátory .
Jazykové modely jsou užitečné pro různé problémy ve výpočetní lingvistice ; od počátečních aplikací v rozpoznávání řeči , aby se zajistilo, že nesmyslné (tj. málo pravděpodobné) sekvence slov nejsou předpovídány, po širší použití ve strojovém překladu (např. bodování kandidátských překladů), generování přirozeného jazyka (generování více lidského textu), částečné značkování řeči , analýza , optické rozpoznávání znaků , rozpoznávání rukopisu , indukce gramatiky , vyhledávání informací a další aplikace.
Jazykové modely se používají při získávání informací v modelu pravděpodobnosti dotazu . Tam je každému dokumentu ve sbírce přiřazen samostatný jazykový model . Dokumenty jsou seřazeny na základě pravděpodobnosti dotazu Q v jazykovém modelu dokumentu : . Obvykle se pro tento účel používá jazykový model unigram .
Typy modelů
Unigram
Unigramový model lze považovat za kombinaci několika jednostavových konečných automatů . Předpokládá, že pravděpodobnosti žetonů v sekvenci jsou nezávislé, např.:
V tomto modelu pravděpodobnost každého slova závisí pouze na vlastní pravděpodobnosti tohoto slova v dokumentu, takže jako jednotky máme pouze jednostavové konečné automaty. Samotný automat má rozdělení pravděpodobnosti přes celou slovní zásobu modelu se součtem 1. Následuje ilustrace unigramového modelu dokumentu.
| Podmínky | Pravděpodobnost v doc |
|---|---|
| A | 0,1 |
| svět | 0,2 |
| líbí | 0,05 |
| my | 0,05 |
| podíl | 0,3 |
| ... | ... |
Pravděpodobnost vygenerovaná pro konkrétní dotaz se vypočítá jako
Různé dokumenty mají unigramové modely s různou pravděpodobností výskytu slov v nich. Rozdělení pravděpodobnosti z různých dokumentů se používají ke generování pravděpodobností zásahu pro každý dotaz. Dokumenty lze pro dotaz seřadit podle pravděpodobností. Příklad unigramových modelů dvou dokumentů:
| Podmínky | Pravděpodobnost v Doc1 | Pravděpodobnost v Doc2 |
|---|---|---|
| A | 0,1 | 0,3 |
| svět | 0,2 | 0,1 |
| líbí | 0,05 | 0,03 |
| my | 0,05 | 0,02 |
| podíl | 0,3 | 0,2 |
| ... | ... | ... |
V kontextu vyhledávání informací jsou modely unigramového jazyka často vyhlazeny, aby se předešlo případům, kdy P (term) = 0. Běžným přístupem je generování modelu maximální věrohodnosti pro celou kolekci a lineární interpolace modelu kolekce s modelem maximální věrohodnosti pro každý dokument k vyhlazení modelu.
n-gram
V n -gramovém modelu je pravděpodobnost pozorování věty aproximována jako
Předpokládá se, že pravděpodobnost pozorování i -tého slova w i v kontextu historie předcházejících i − 1 slov lze aproximovat pravděpodobností jeho pozorování ve zkrácené kontextové historii předcházejících n − 1 slov ( n -tého řádu majetek Markov ). Pro upřesnění, pro n=3 ai =2 máme .
Podmíněnou pravděpodobnost lze vypočítat z n -gramových počtů frekvence modelu:
Termíny bigramové a trigramové jazykové modely označují n -gramové modely s n = 2 a n = 3, v tomto pořadí.
Pravděpodobnosti n -gramového modelu se obvykle neodvozují přímo z frekvenčních počtů, protože modely odvozené tímto způsobem mají vážné problémy, když jsou konfrontovány s jakýmikoli n -gramy, které předtím nebyly explicitně viděny. Místo toho je nutná určitá forma vyhlazování, přiřazování části celkové pravděpodobnosti neviditelným slovům nebo n -gramům. Používají se různé metody, od jednoduchého „add-one“ vyhlazování (přiřazení počtu 1 až neviditelným n -gramům, jako neinformativní předchozí ) až po sofistikovanější modely, jako je Good-Turing diskontování nebo modely back-off .
Obousměrný
Obousměrné reprezentace podmiňují jak před, tak po kontextu (např. slova) ve všech vrstvách.
Příklad
V bigramovém ( n = 2) jazykovém modelu je pravděpodobnost věty Viděl jsem červený dům aproximována jako
zatímco v jazykovém modelu trigramu ( n = 3) je aproximace
Všimněte si, že kontext prvních n – 1 n -gramů je vyplněn značkami začátku věty, obvykle označenými <s>.
Navíc bez značky konce věty by pravděpodobnost negramatické sekvence *Viděl jsem vždy vyšší než u delší věty , kterou jsem viděl červený dům.
Exponenciální
Jazykové modely s maximální entropií kódují vztah mezi slovem a n-gramovou historií pomocí funkcí funkcí. Rovnice je
kde je funkce oddílu , je vektor parametru a je funkce funkce. V nejjednodušším případě je funkce funkce pouhým indikátorem přítomnosti určitého n-gramu. Je užitečné použít předchozí nebo nějakou formu regularizace.
Log-bilineární model je dalším příkladem exponenciálního jazykového modelu.
Nervová síť
Modely neuronového jazyka (nebo modely jazyka spojitého prostoru ) používají k vytváření předpovědí spojité reprezentace nebo vkládání slov . Tyto modely využívají neuronové sítě .
Kontinuální prostorové vkládání pomáhá zmírnit prokletí dimenzionality v jazykovém modelování: jak jsou jazykové modely trénovány na větších a větších textech, počet jedinečných slov (slovní zásoba) se zvyšuje. Počet možných sekvencí slov roste exponenciálně s velikostí slovní zásoby, což způsobuje problém s řídkostí dat kvůli exponenciálně mnoha sekvencím. Ke správnému odhadu pravděpodobností je tedy potřeba statistika. Neuronové sítě se tomuto problému vyhýbají tím, že slova reprezentují distribuovaným způsobem, jako nelineární kombinace vah v neuronové síti. Alternativní popis je, že neuronová síť aproximuje funkci jazyka. Architektura neuronové sítě může být dopředná nebo rekurentní , a zatímco první je jednodušší, druhá je běžnější.
Typicky jsou jazykové modely neuronové sítě konstruovány a trénovány jako pravděpodobnostní klasifikátory , které se učí předpovídat rozdělení pravděpodobnosti.
- .
Síť je trénována tak, aby předpovídala rozložení pravděpodobnosti ve slovní zásobě, vzhledem k určitému lingvistickému kontextu. To se provádí pomocí standardních trénovacích algoritmů neuronové sítě, jako je stochastický gradient sestup se zpětným šířením . Kontextem může být okno s pevnou velikostí předchozích slov, takže síť předpovídá
z příznakového vektoru představujícího předchozích k slov. Další možností je použít slova „budoucí“ i „minulá“ jako rysy, aby odhadovaná pravděpodobnost byla
- .
Tomu se říká model pytle slov . Když jsou příznakové vektory pro slova v kontextu kombinovány souvislou operací, tento model se nazývá architektura souvislého pytle slov (CBOW).
Třetí možností, která trénuje pomaleji než CBOW, ale funguje o něco lépe, je invertovat předchozí problém a přimět neuronovou síť, aby se naučila kontext, když zadáte slovo. Formálněji, vzhledem k posloupnosti cvičných slov , maximalizujeme průměrnou logaritmickou pravděpodobnost
kde k , velikost trénovacího kontextu, může být funkcí středového slova . Tomu se říká jazykový model skip-gram . Bag-of-words a skip-gram modely jsou základem programu word2vec .
Namísto používání jazykových modelů neuronové sítě k vytváření skutečných pravděpodobností je běžné místo toho používat distribuovanou reprezentaci zakódovanou ve „skrytých“ vrstvách sítí jako reprezentace slov; každé slovo je pak mapováno na n - rozměrný skutečný vektor nazývaný vkládání slov , kde n je velikost vrstvy těsně před výstupní vrstvou. Reprezentace v modelech skip-gramů mají výraznou charakteristiku, že modelují sémantické vztahy mezi slovy jako lineární kombinace , zachycující formu kompozičnosti . Například v některých takových modelech, pokud v je funkce, která mapuje slovo w na jeho vektorovou reprezentaci n -d, pak
kde ≈ je upřesněno stanovením, že jeho pravá strana musí být nejbližším sousedem hodnoty levé strany.
jiný
Poziční jazykový model posuzuje pravděpodobnost výskytu daných slov v textu blízko sebe, ne nutně bezprostředně sousedících. Podobně modely bag-of-concepts využívají sémantiku spojenou s víceslovnými výrazy, jako je koupit_vánoční_dárek , i když jsou použity v informačně bohatých větách jako „dnes jsem koupil spoustu velmi pěkných vánočních dárků“.
Navzdory omezeným úspěchům při používání neuronových sítí autoři uznávají potřebu dalších technik při modelování znakových jazyků.
Hodnocení a benchmarky
Hodnocení kvality jazykových modelů se většinou provádí srovnáním s lidmi vytvořenými vzorovými benchmarky vytvořenými z typických jazykově orientovaných úloh. Jiné, méně zavedené, testy kvality zkoumají vnitřní charakter jazykového modelu nebo porovnávají dva takové modely. Vzhledem k tomu, že jazykové modely jsou obvykle určeny k tomu, aby byly dynamické a aby se učily z dat, která vidí, některé navrhované modely zkoumají rychlost učení, např. prostřednictvím inspekce křivek učení.
Byly vyvinuty různé datové sady, které se používají k hodnocení systémů zpracování jazyka. Tyto zahrnují:
- Korpus lingvistické přijatelnosti
- GLUE benchmark
- Parafrázový korpus Microsoft Research
- Multižánrové odvození přirozeného jazyka
- Otázka odvození přirozeného jazyka
- Dvojice otázek Quora
- Rozpoznání textového obsahu
- Benchmark sémantické textové podobnosti
- Test odpovědí na otázky SQUAD
- Stanford Sentiment Treebank
- Winograd NLI
Kritika
Ačkoli lze prokázat, že současné jazykové modely, jako je GPT-2, odpovídají lidskému výkonu v některých úkolech, není jasné, že jde o věrohodné kognitivní modely . Bylo například prokázáno, že rekurentní neuronové sítě se učí vzorce, které se lidé neučí, a selhávají při učení vzorů, které se lidé učí.
Viz také
Poznámky
Reference
Citace
Prameny
-
JM Ponte a WB Croft (1998). „Přístup jazykového modelování k získávání informací“. Výzkum a vývoj ve vyhledávání informací . s. 275–281. CiteSeerX 10.1.1.117.4237 .
{{cite conference}}: CS1 maint: používá parametr autorů ( odkaz ) -
F Song a WB Croft (1999). „Obecný jazykový model pro vyhledávání informací“. Výzkum a vývoj ve vyhledávání informací . s. 279–280. CiteSeerX 10.1.1.21.6467 .
{{cite conference}}: CS1 maint: používá parametr autorů ( odkaz ) - Chen, Stanley; Joshua Goodman (1998). Empirická studie technik vyhlazování pro jazykové modelování (technická zpráva). Harvardská Univerzita. CiteSeerX 10.1.1.131.5458 .