Jak vytvořit vložení ze seznamu anglických vět

Jak Vytvorit Vlozeni Ze Seznamu Anglickych Vet



Přemýšleli jste někdy, když komunikujeme s našimi stroji (počítači) a dáváme jim pokyny k provedení konkrétního úkolu za nás, jako je provedení konkrétního vyhledávání nebo překlad z jednoho jazyka do druhého, jak tomu počítač rozumí a zpracovává? To vše se děje prostřednictvím podpole umělé inteligence zpracování přirozeného jazyka. Počítač rozumí číselným hodnotám a technika NLP „vkládání slov“ převádí slovo a texty, které zadáváme počítačům jako vstup do tohoto číselného vektoru, aby je počítač mohl rozpoznat. Několik dalších procesů NLP probíhá mimo tuto interakci člověka a počítače prostřednictvím jazykových modelů, ale v této příručce se budeme podrobně zabývat slovem vkládání.

Syntax:

Různé funkce spadají pod zpracování přirozeného jazyka pro vkládání slov do textu. Tento článek popisuje funkci „word2vec“ pro tento účel. Aby to bylo jasnější, slovo vkládání převádí naše textové vstupy do vektorové reprezentace, kde slova, která mají víceméně stejný kontextový význam, poskytla stejnou reprezentaci.

Algoritmus „word2vec“ je model neuronové sítě, který je trénován tak, že se učí vkládání slov tím, že nejprve předpovídá kontext slova, ve kterém se vyskytuje. Tento model bere jako vstup text. Poté se pro každé slovo v textu vytvoří vektorová reprezentace daného slova. Tento model je založen na myšlence, že slova, která vypadají, že mají stejný kontext, mají stejný význam. Syntaxe pro „word2vec“ je následující:







$ Word2Vec(věty, min_počet)

Tento algoritmus má dva parametry, kterými jsou „věty“ a „minimální_počet“. Věta je proměnná, kde je uložen seznam vět nebo text ve formě vět a minimum_count hovoří o hodnotě počtu 1, což znamená, že kterékoli ze slov v textu, které se objevilo méně než jedno, musí být ignorováno. .



Příklad 1:

V tomto příkladu vytvoříme vložení slov pro slova, která existují v seznamu anglických vět. K vytvoření slova „embedding“ musíme použít model „word2vec“. Tento model je balíkem knihovny „gensim“ Pythonu. Abychom mohli pracovat s „word2vec“, potřebujeme mít nainstalovaný Gensim v našich repozitářích knihovny Python.



K implementaci tohoto příkladu budeme pracovat na online kompilátoru Pythonu „google colab“. Chcete-li nainstalovat gensim, použijte příkaz „pip install gensim“. Tím se zahájí stahování této knihovny se všemi souvisejícími balíčky. Jakmile je nainstalován, siwe importujte balíček „word2vector“ z gensimu.





K trénování tohoto modelu „word2vec“ potřebujeme vytvořit trénovací datovou sadu. K tomu vytvoříme seznam vět, který obsahuje čtyři až pět anglických vět. Tento seznam uložíme do proměnné „training_data“.

Naším dalším krokem po vytvoření trénovací datové sady je trénování modelu „word2vec“ na těchto datech. Říkáme tedy model. Tréninková data dáváme ve vstupních parametrech tohoto modelu, které jsme uložili do proměnné „input“. Poté zadáme druhý parametr, kterým je „minimum_count“. Nastavíme jeho hodnotu rovnou „1“. Výstup z tohoto trénovacího modelu se uloží do proměnné „trained_model“.



Jakmile skončíme s trénováním modelu, můžeme jednoduše přistupovat k modelu s předponou „wv“, což je slovo vektorový model. Můžeme také získat přístup ke slovní zásobě našich slov a můžeme je vytisknout následujícím způsobem:

vocabof_tokens = seznam (model.wv.vocab)

Model představuje v našem případě trénovaný model. Nyní přistupujeme k vektorové reprezentaci jednoho slova v seznamu věty, což je v našem případě „jablko“. To provedeme jednoduše zavoláním trénovaného modelu. Slovo, jehož vektorovou reprezentaci chceme vytisknout, předáme jako „model. wv [‚jablko‘]“ na jeho vstupní argument. Poté výsledky vytiskneme pomocí funkce „tisk“.

z jako národ modely import Word2Vec

tréninková_data = [ [ 'jablko' , 'je' , 'the' , 'bonbón' , 'jablko' , 'pro' , 'word2vec' ] ,
[ 'tento' , 'je' , 'the' , 'druhý' , 'jablko' ] ,
[ 'tady' , 'další' , 'jablko' ] ,
[ 'jeden' , 'bonbón' , 'jablko' ] ,
[ 'a' , 'více' , 'bonbón' , 'jablko' ] ]

Modelka = Word2Vec ( tréninková_data , min_count = 1 )
tisk ( Modelka )
vocabof_tokens = seznam ( Modelka. wv . index_to_key )
tisk ( vocabof_tokens )
tisk ( Modelka. wv [ 'jablko' ] )

Z výše uvedeného výstupu a kódu je zobrazeno vložení slova pro slovo „jablko“. V příkladu jsme nejprve vytvořili trénovací datovou sadu. Poté jsme na něm natrénovali model a shrnuli model. Poté jsme pomocí modelu získali přístup k základní slovní zásobě slov. Poté jsme zobrazili vložení slova pro slovo „jablko“.

Příklad 2:

Pomocí knihovny gensim vytvoříme další seznam vět. Trénujte náš model pro každé slovo ve větě, abyste vytvořili vkládání slova pomocí modelu „word2vec“. Nejprve je z balíčku knihovny gensim importován model „word2vec“. Poté vytvoříme další datovou sadu, což bude seznam, který obsahuje dvě věty. Každá věta v seznamu má čtyři slova.

Nyní tento seznam uložíme do proměnné „data“. Poté zavoláme model „word2vec()“ a vložíme data do argumentů tohoto modelu s hodnotou minimální_počet, která se rovná „1“. Takto trénujeme náš model. Nyní je schopen a může se naučit vkládání slov ze slov, která existují ve větách přítomných v seznamu, předpovídáním kontextu, ve kterém existují. Abychom otestovali výsledky našeho modelu, jednoduše předáme modelu slovo jako „pes“ v našich datech. Poté výsledky vytiskneme pomocí funkce „print()“.

z jako národ modely import Word2Vec
data = [ [ 'králičí' , 'má' , 'zuby' ] , [ 'Pes' , 'má' , 'uši' ] ]
Modelka = Word2Vec ( data , min_count = 1 )
tisk ( Modelka. wv [ 'Pes' ] )

Můžeme pozorovat vektorovou reprezentaci slova, které jsme přivedli do modelu jako jeho vstup z předchozího úryvku výstupu.

Závěr

Tato příručka ukazuje způsob vytvoření vkládání slov pro slova, která existují v seznamu anglických vět. Dozvěděli jsme se o knihovně „gensim“ Pythonu, která poskytuje model „word2vec“ pro vytvoření vkládání slov. Dále jsme se dozvěděli o vstupních parametrech, jak trénovat model „word2vec“ na trénovacích datech a jak prezentovat slovo v reprezentaci vektoru.