Principy sémantických jazykových modelů
Jak se stav pokročilosti NLP zlepšil, schopnost trénovat modely, které zachycují sémantické vztahy mezi tokeny, vedla ke vzniku výkonných jazykových modelů hlubokého učení. Jádrem těchto modelů je kódování tokenů jazyka jako vektorů (pole čísel s více hodnotami), která se označují jako vkládání.
Vektory představují čáry v multidimenzionálním prostoru, které popisují směr a vzdálenost podél více os. Vektor celkově popisuje směr a vzdálenost cesty od původu do konce. Sémanticky podobné tokeny by měly mít za následek vektory, které mají podobnou orientaci – jinými slovy ukazují stejným směrem. Jako jednoduchý příklad předpokládejme, že vkládání pro naše tokeny se skládá z vektorů se třemi prvky, například:
- 4 ("dog"): [10,3,2]
- 8 ("cat"): [10,3,1]
- 9 ("puppy") [5,2,1]
- 10 ("skateboard"): [-3,3,2]
Ve trojrozměrném prostoru vypadají tyto vektory takto:
Vložené vektory pro "pes" a "štěňátko" popisují cestu po téměř identickém směru, což je také poměrně podobné směru pro "kočku". Vložený vektor pro "skateboard" však popisuje cestu velmi odlišným směrem.
Jazykové modely, které používáme v odvětví, jsou založené na těchto principech, ale mají větší složitost. Například použité vektory mají mnohem více dimenzí. Existuje také několik způsobů, jak vypočítat vhodné vkládání pro danou sadu tokenů. Různé metody vedou k různým predikcím od modelů zpracování přirozeného jazyka.
Generalizované zobrazení většiny moderních řešení pro zpracování přirozeného jazyka je znázorněno v následujícím diagramu. Velký korpus nezpracovaného textu je tokenizován a používá se k trénování jazykových modelů, které mohou podporovat mnoho různých typů úloh zpracování přirozeného jazyka.
Strojové učení pro klasifikaci textu
Další užitečnou technikou analýzy textu je použití klasifikačního algoritmu, jako je logistická regrese, k trénování modelu strojového učení, který klasifikuje text na základě známé sady kategorizací. Běžnou aplikací této techniky je trénování modelu, který klasifikuje text jako pozitivní nebo negativní za účelem provádění analýzy mínění nebo dolování názorů.
Představte si například následující recenze restaurace, které jsou již označeny jako 0 (záporné) nebo 1 (kladné):
- *The food and service were both great*: 1
- *A really terrible experience*: 0
- *Mmm! tasty food and a fun vibe*: 1
- *Slow service and substandard food*: 0
S dostatečným množstvím označených recenzí můžete klasifikační model trénovat pomocí tokenizovaného textu jako funkcí a sentimentu (0 nebo 1) jako označení. Model vytvoří vztah mezi tokeny a sentimentem – například recenze s tokeny pro slova, jako jsou "great", "tasty"nebo "fun", pravděpodobně vrátí sentiment 1 (pozitivní), zatímco recenze se slovy jako "terrible", "slow"a "substandard" pravděpodobně vrátí 0 (negativní).