Jazykový model - Language model
Statistický jazykový model je rozdělení pravděpodobnosti přes posloupnosti slov. Vzhledem k takové posloupnosti, řekněme o délce m, přiřadí pravděpodobnost na celou sekvenci.
Jazykový model poskytuje kontext rozlišovat mezi slovy a frázemi, které znějí podobně. Například v americká angličtina „Fráze„ rozpoznat řeč “a„ zničit pěknou pláž “zní podobně, ale znamenají různé věci.
Sparita dat je hlavním problémem při vytváření jazykových modelů. Většina možných posloupností slov není při tréninku dodržována. Jedním z řešení je vytvořit předpoklad, že pravděpodobnost slova závisí pouze na předchozím n slova. Toto je známé jako n-gram model nebo unigram model, když n = 1. Unigramový model je také známý jako pytel slov.
Odhad relativní pravděpodobnost různých frází je užitečný v mnoha zpracování přirozeného jazyka aplikace, zejména ty, které generují text jako výstup. Jazykové modelování se používá v rozpoznávání řeči,[1] strojový překlad,[2] značení části řeči, analýza,[2] Optické rozpoznávání znaků, rozpoznávání rukopisu,[3] vyhledávání informací a další aplikace.
Při rozpoznávání řeči se zvuky shodují se sekvencemi slov. Nejasnosti lze snáze vyřešit, když jsou důkazy z jazykového modelu integrovány s modelem výslovnosti a an akustický model.
Jazykové modely se používají při získávání informací v systému model pravděpodobnosti dotazu. Tam je ke každému přidružen samostatný jazykový model dokument ve sbírce. Dokumenty jsou seřazeny podle pravděpodobnosti dotazu Q v jazykovém modelu dokumentu : . Obyčejně unigram pro tento účel se používá jazykový model.
Typy modelů
Unigram
Unigramový model lze považovat za kombinaci několika jednostupňových konečné automaty.[4] Rozděluje pravděpodobnosti různých pojmů v kontextu, např. z
na
V tomto modelu pravděpodobnost každého slova závisí pouze na vlastní pravděpodobnosti daného slova v dokumentu, takže jako jednotky máme pouze jednostupňové konečné automaty. Samotný automat má rozdělení pravděpodobnosti po celé slovní zásobě modelu se součtem k 1. Následuje ukázka unigramového modelu dokumentu.
Podmínky | Pravděpodobnost u doc |
---|---|
A | 0.1 |
svět | 0.2 |
má rád | 0.05 |
my | 0.05 |
podíl | 0.3 |
... | ... |
Pravděpodobnost generovaná pro konkrétní dotaz se počítá jako
Různé dokumenty mají unigramové modely s různou pravděpodobností zásahu slov. Distribuce 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 ř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 |
má rád | 0.05 | 0.03 |
my | 0.05 | 0.02 |
podíl | 0.3 | 0.2 |
... | ... | ... |
V kontextech načítání informací jsou unigramové jazykové modely často vyhlazovány, aby se zabránilo případům, kdy P(termín) = 0. Běžným přístupem je generování modelu maximální pravděpodobnosti pro celou kolekci a lineárně interpolovat model kolekce s modelem maximální pravděpodobnosti pro každý dokument k vyhlazení modelu.[5]
n-gram
V n-gramový model, pravděpodobnost dodržování věty je aproximován jako
Předpokládá se, že pravděpodobnost pozorování ith slovo wi v kontextu předchozí historie i - 1 slova lze aproximovat pravděpodobností jeho pozorování ve zkrácené kontextové historii předchozího n - 1 slov (nth objednat Majetek Markov ).
Podmíněnou pravděpodobnost lze vypočítat z npočet gramů modelu v gramech:
Podmínky bigram a trigram jazykové modely označují n-gramové modely s n = 2 a n = 3.[6]
Typicky nPravděpodobnosti modelu v gramech nejsou odvozeny přímo z počtu kmitočtů, protože takto odvozené modely mají při konfrontaci s jakýmkoli vážné problémy n-gramy, které ještě nebyly výslovně vidět. Místo toho je nutná nějaká forma vyhlazení, přiřadit část celkové pravděpodobnostní hmotnosti neviditelným slovům nebo n-gramy. Používají se různé metody, od jednoduchého vyhlazení typu „add-one“ (přiřadit počet 1 k neviditelnému n-gramy, jako neinformativní předchozí ) k sofistikovanějším modelům, jako je Good-Turing diskontování nebo back-off modely.
Obousměrný
Podmínka obousměrné reprezentace ve všech vrstvách před a po kontextu (např. Slova).[7]
Příklad
Ve bigramu (n = 2) jazykový model, pravděpodobnost věty Viděl jsem červený dům je aproximován jako
zatímco v trigramu (n = 3) jazykový model, aproximace je
Všimněte si, že kontext prvního n – 1 n-grams je naplněn značkami začátku věty, obvykle označenými .
Navíc, bez značky konce věty, pravděpodobnost ungrammatical sekvence *Viděl jsem bude vždy vyšší než u delší věty Viděl jsem červený dům.
Exponenciální
Maximální entropie jazykové modely kódují vztah mezi slovem a historií n-gramů 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 pouze indikátorem přítomnosti určitého n-gramu. Je užitečné použít předchozí verzi nebo nějaká forma regularizace.
Log-bilineární model je dalším příkladem modelu exponenciálního jazyka.
Nervová síť
Neurální jazykové modely (nebo jazykové modely spojitého prostoru) používat spojitá vyjádření nebo vkládání slov dělat své předpovědi.[8] Tyto modely využívají Neuronové sítě.
Kontinuální vkládání prostoru pomáhá zmírnit prokletí dimenzionality v jazykovém modelování: protože jazykové modely jsou trénovány na větších a větších textech, zvyšuje se počet jedinečných slov (slovní zásoby).[A] Počet možných posloupností slov se zvyšuje exponenciálně s velikostí slovníku, což způsobuje problém s řídkostí dat kvůli exponenciálně mnoha sekvencím. Pro správný odhad pravděpodobností jsou tedy zapotřebí statistiky. Neuronové sítě se tomuto problému vyhnou reprezentací slov v a distribuováno způsobem, jako nelineární kombinace vah v neurální síti.[9] Alternativní popis je, že neurální síť se blíží jazykové funkci. Architektura neurální sítě může být dopředu nebo opakující se, a zatímco první je jednodušší, druhá je častější.[potřebný příklad ][Citace je zapotřebí ]
Typicky jsou jazykové modely neuronových sítí konstruovány a trénovány jako pravděpodobnostní klasifikátory které se učí předpovídat rozdělení pravděpodobnosti
- .
Tzn. Síť je vycvičena k předpovídání rozdělení pravděpodobnosti ve slovníku vzhledem k určitému jazykovému kontextu. To se provádí pomocí standardních výcvikových algoritmů neuronové sítě, jako je stochastický gradient s zpětná propagace.[9] Kontext může být okno s pevnou velikostí předchozích slov, takže síť předpovídá
od a vektor funkcí představující předchozí k slova.[9] Další možností je použít slova „budoucí“ i „minulá“ jako funkce, aby byla odhadovaná pravděpodobnost
- .
Tomu se říká a pytel slov Modelka. Když vektory funkcí protože slova v kontextu jsou kombinována nepřetržitým provozem, tento model se označuje jako architektura průběžného pytle slov (CBOW).[10]
Třetí možností, která trénuje pomaleji než CBOW, ale má o něco lepší výkon, je invertovat předchozí problém a donutit neurální síť naučit se kontext, dané slovo.[10] Více formálně, vzhledem k posloupnosti cvičných slov , jeden maximalizuje průměrnou log-pravděpodobnost
kde k, velikost tréninkového kontextu, může být funkcí středového slova . Tomu se říká a přeskočit gram jazykový model.[11] Bag-of-slova a skip-gram modely jsou základem word2vec program.[12]
Namísto použití jazykových modelů neurální sítě k vytvoření skutečných pravděpodobností je běžné místo toho použít distribuovanou reprezentaci zakódovanou ve „skrytých“ vrstvách sítí jako reprezentaci slov; každé slovo je poté mapováno na n-dimenzionální reálný vektor zvaný vkládání slov, kde n je velikost vrstvy těsně před výstupní vrstvou. Reprezentace v modelech přeskočených gramů mají zřetelnou charakteristiku, že modelují sémantické vztahy mezi slovy jako lineární kombinace, zachycující formu kompozičnost. Například v některých takových modelech, pokud proti je funkce, která mapuje slovo w k jeho n-d vektorové znázornění
kde ≈ je upřesněno stanovením, že jeho pravá strana musí být nejbližší soused hodnoty levé strany.[10][11]
jiný
Poziční jazykový model[13] hodnotí pravděpodobnost, že se daná slova v textu vyskytnou blízko sebe, nemusí nutně bezprostředně sousedit. Podobně modely konceptů[14] využít sémantiku spojenou s víceslovnými výrazy, jako je buy_christmas_ současnosti, i když jsou použity ve větách bohatých na informace 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í[15] autoři uznávají potřebu dalších technik při modelování znakových jazyků.
Srovnávací hodnoty
Pro vyhodnocení systémů pro zpracování jazyků byly vyvinuty různé datové soubory.[7] Tyto zahrnují:
- Korpus jazykové přijatelnosti[16]
- GLUE měřítko[17]
- Korpus Microsoft Research Paraphrase[18]
- Vícežánrový odvození přirozeného jazyka
- Otázka odvození přirozeného jazyka
- Páry otázek Quora[19]
- Rozpoznávání textového obohacení[20]
- Referenční hodnota sémantické textové podobnosti
- Test odpovědi na otázku SQuAD[21]
- Stanfordský sentiment Treebank[22]
- Winograd NLI
Viz také
Poznámky
- ^ Vidět Haldův zákon.
Reference
Citace
- ^ Kuhn, Roland a Renato De Mori. "Model přirozeného jazyka založený na mezipaměti pro rozpoznávání řeči "IEEE transakce na vzorové analýze a strojové inteligenci 12.6 (1990): 570-583.
- ^ A b Andreas, Jacob, Andreas Vlachos a Stephen Clark. "Sémantická analýza jako strojový překlad "Sborník z 51. výročního zasedání Asociace pro počítačovou lingvistiku (svazek 2: krátké příspěvky). 2013.
- ^ Pham, Vu a kol. "Dropout zlepšuje rekurentní neuronové sítě pro rozpoznávání rukopisu „14. mezinárodní konference o hranicích v rozpoznávání rukopisu. IEEE, 2014.
- ^ Christopher D. Manning, Prabhakar Raghavan, Hinrich Schütze: An Introduction to Information Retrieval, strany 237–240. Cambridge University Press, 2009
- ^ Řezník, Clarke a Cormack. Načítání informací: Implementace a hodnocení vyhledávačů. str. 289–291. MIT Stiskněte.
- ^ Craig Trim, Co je to jazykové modelování?, 26. dubna 2013.
- ^ A b Devlin, Jacob; Chang, Ming-Wei; Lee, Kenton; Toutanova, Kristina (10. 10. 2018). „BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding“. arXiv:1810.04805 [cs.CL ].
- ^ Karpathy, Andrej. „Nerozumná účinnost opakujících se neuronových sítí“.
- ^ A b C Bengio, Yoshua (2008). "Jazykové modely neuronové sítě". Scholarpedia. 3. p. 3881. Bibcode:2008SchpJ ... 3.3881B. doi:10,4249 / scholarpedia.3881.
- ^ A b C Mikolov, Tomáš; Chen, Kai; Corrado, Greg; Dean, Jeffrey (2013). Msgstr "Efektivní odhad slovních reprezentací ve vektorovém prostoru". arXiv:1301.3781 [cs.CL ].
- ^ A b Mikolov, Tomáš; Sutskever, Ilya; Chen, Kai; Corrado irst4 = Greg S .; Dean, Jeff (2013). Distribuovaná reprezentace slov a frází a jejich kompozičnost (PDF). Pokroky v systémech zpracování neurálních informací. 3111–3119.
- ^ Harris, Derrick (16. srpna 2013). „Jsme na vrcholu hlubokého učení pro masy. Google můžete později poděkovat“. Gigaom.
- ^ Lv, Yuanhua; Zhai, ChengXiang (2009). "Poziční jazykové modely pro získávání informací v" (PDF). Řízení. 32. mezinárodní konference ACM SIGIR o výzkumu a vývoji v získávání informací (SIGIR).
- ^ Cambria, Erik; Hussain, Amir (2012-07-28). Sentic Computing: Techniques, Tools, and Applications. Springer Nizozemsko. ISBN 978-94-007-5069-2.
- ^ Mocialov, Boris; Hastie, Helen; Turner, Graham (srpen 2018). „Transfer Learning for British Sign Language Modeling“. Sborník z Pátého workshopu o NLP pro podobné jazyky, odrůdy a dialekty (VarDial 2018). Citováno 14. března 2020.
- ^ „Korpus jazykové přijatelnosti (CoLA)“. nyu-mll.github.io. Citováno 2019-02-25.
- ^ „GLUE Benchmark“. stickbenchmark.com. Citováno 2019-02-25.
- ^ „Microsoft Research Paraphrase Corpus“. Microsoft Download Center. Citováno 2019-02-25.
- ^ Aghaebrahimian, Ahmad (2017), „Datová sada otázek a odpovědí na otázku Quora“, Text, řeč a dialog, Přednášky v informatice, 10415, Springer International Publishing, s. 66–73, doi:10.1007/978-3-319-64206-2_8, ISBN 9783319642055
- ^ Sammons, V.G. Vinod Vydiswaran, Dan Roth, Mark; Vydiswaran, V.G .; Roth, Dan. „Rozpoznávání textového obohacení“ (PDF). Citováno 24. února 2019.CS1 maint: více jmen: seznam autorů (odkaz)
- ^ „Dataset na zodpovězení Stanfordské otázky“. rajpurkar.github.io. Citováno 2019-02-25.
- ^ „Rekurzivní hluboké modely pro sémantickou kompozičnost nad stromem sentimentů“. nlp.stanford.edu. Citováno 2019-02-25.
Zdroje
- J. M. Ponte a W. B. Croft (1998). "Přístup k modelování jazyků při získávání informací". Výzkum a vývoj v oblasti získávání informací. str. 275–281. CiteSeerX 10.1.1.117.4237.CS1 maint: používá parametr autoři (odkaz)
- F Song a W B Croft (1999). Msgstr "Obecný jazykový model pro získávání informací". Výzkum a vývoj v oblasti získávání informací. str. 279–280. CiteSeerX 10.1.1.21.6467.CS1 maint: používá parametr autoři (odkaz)
- Chen, Stanley; Joshua Goodman (1998). Empirická studie vyhlazovacích technik pro jazykové modelování (Technická zpráva). Harvardská Univerzita. CiteSeerX 10.1.1.131.5458.
externí odkazy
Software
- BERT - Obousměrné reprezentace kodéru od transformátorů
- CSLM - Sada nástrojů zdarma pro dopředný nervový jazykové modely
- DALM - Rychlý a bezplatný software pro dotazy jazykových modelů
- Generativní předem vyškolený transformátor
- IRSTLM na SourceForge.net - Zdarma software pro jazykové modelování
- Kylm (Kyoto Language Modeling Toolkit) - bezplatná sada nástrojů pro modelování jazyků v Javě
- KenLM - Rychlý a bezplatný software pro jazykové modelování
- LMSharp - Sada jazykových modelů zdarma pro Windows Kneser – Ney vyhlazený n-gramové modely a rekurentní neuronová síť modely
- MITLM - Sada nástrojů pro jazykové modelování MIT. Svobodný software
- NPLM - Sada nástrojů zdarma pro dopředný nervový jazykové modely
- OpenGrm NGram knihovna - bezplatný software pro jazykové modelování. Postaveno na OpenFst.
- OxLM - Sada nástrojů zdarma pro dopředný nervový jazykové modely
- Poziční jazykový model
- RandLM na SourceForge.net - Bezplatný software pro randomizované modelování jazyků
- RNNLM - Volný, uvolnit rekurentní neuronová síť sada jazykových modelů
- SRILM - Vlastní software pro jazykové modelování
- VariKN - Bezplatný software pro vytváření, pěstování a prořezávání Kneser-Ney vyhlazen n-gramové modely.
- Jazykové modely trénované na datech z NewsWire