Převést komponentu Wordu na vektor

Tento článek popisuje, jak pomocí komponenty Převést Word na vektor v návrháři služby Azure Machine Learning provádět tyto úlohy:

  • Použijte různé modely Aplikace Word2Vec (předtrénovaný model Word2Vec, FastText, GloVe) na korpus textu, který jste zadali jako vstup.
  • Vygenerujte slovní zásobu pomocí vkládání slov.

Tato komponenta používá knihovnu Gensim. Další informace o Nástroji Gensim najdete na jeho oficiálním webu, který obsahuje kurzy a vysvětlení algoritmů.

Další informace o převodu slov na vektory

Převod slov na vektory neboli vektorizaci slov je proces zpracování přirozeného jazyka (NLP). Tento proces používá jazykové modely k mapování slov do vektorového prostoru. Vektorový prostor představuje každé slovo vektorem reálných čísel. Umožňuje také, aby slova s podobným významem měla podobné reprezentace.

Použití vkládání slov jako počátečního vstupu pro podřízené úlohy NLP, jako je klasifikace textu a analýza mínění.

Mezi různými technologiemi vkládání slov jsme v této komponentě implementovali tři široce používané metody. Dva, Word2Vec a FastText, jsou modely online trénování. Druhý je předem vytrénovaný model, glove-wiki-gigaword-100.

Modely online trénování se trénují na vstupních datech. Předem vytrénované modely se trénují offline na větším textovém korpusu (například Wikipedia, Google News), který obvykle obsahuje přibližně 100 miliard slov. Vkládání slov pak zůstává během vektorizace slov konstantní. Předem vytrénované modely slov poskytují výhody, jako je kratší doba trénování, lepší kódování vektorů slov a lepší celkový výkon.

Tady jsou některé informace o metodách:

Jak nakonfigurovat převod wordu na vektor

Tato komponenta vyžaduje datovou sadu, která obsahuje sloupec textu. Předzpracovaný text je lepší.

  1. Přidejte do kanálu komponentu Convert Word to Vector (Převést word na vektor ).

  2. Jako vstup pro komponentu zadejte datovou sadu, která obsahuje jeden nebo více textových sloupců.

  3. V části Cílový sloupec zvolte pouze jeden sloupec, který obsahuje text, který chcete zpracovat.

    Vzhledem k tomu, že tato komponenta vytváří slovní zásobu z textu, liší se obsah sloupců, což vede k jinému obsahu slovníku. Proto komponenta přijímá jenom jeden cílový sloupec.

  4. Pro strategii Word2Vec si vyberte z předtrénovaných anglických modelů GloVe, Gensim Word2Vec a Gensim FastText.

  5. Pokud je strategie Word2Vecgensim Word2Vec nebo Gensim FastText:

    • Pro algoritmus trénování Word2Vec si vyberte z Skip_gram a CBOW. Rozdíl je uveden v původním dokumentu (PDF).

      Výchozí metoda je Skip_gram.

    • V části Délka vkládání slov zadejte dimenzionalitu vektorů slov. Toto nastavení odpovídá parametru size v Gensim.

      Výchozí velikost vkládání je 100.

    • V části Velikost okna kontextu zadejte maximální vzdálenost mezi predikovaným slovem a aktuálním slovem. Toto nastavení odpovídá parametru window v Gensim.

      Výchozí velikost okna je 5.

    • V poli Počet epoch zadejte počet epoch (iterací) v korpusu. Odpovídá parametru iter v Gensim.

      Výchozí epocha je 5.

  6. V části Maximální velikost slovníku zadejte maximální počet slov ve vygenerovaném slovníku.

    Pokud existuje více jedinečných slov, než je maximální velikost, vyřešte ty méně časté.

    Výchozí velikost slovníku je 10 000.

  7. V poli Minimální počet slov zadejte minimální počet slov. Komponenta bude ignorovat všechna slova, která mají frekvenci nižší, než je tato hodnota.

    Výchozí hodnota je 5.

  8. Odešlete kanál.

Příklady

Komponenta má jeden výstup:

  • Slovní zásoba se vkládáním: Obsahuje vygenerovanou slovní zásobu spolu se vkládáním jednotlivých slov. Jedna dimenze zabírá jeden sloupec.

Následující příklad ukazuje, jak převést Word na Vector komponenta funguje. Používá převést word na vektor s výchozím nastavením na předzpracovanou datovou sadu Wikipedia SP 500.

Zdrojová datová sada

Datová sada obsahuje sloupec kategorie spolu s úplným textem načteným z Wikipedie. V následující tabulce je uvedeno několik reprezentativních příkladů.

Text
nasdaq 100 součást s p 500 komponent základu zakladatel umístění město jablko campus 1 nekonečná smyčka ulice cupertino kalifornie cupertino kalifornie umístění země Spojené státy ...
br nasdaq 100 nasdaq 100 součást br s p 500 s p 500 součást průmyslu počítačový software základ br zakladatel charles geschke br john warnock umístění adobe systémy ...
s p 500 s p 500 součást průmyslu automobilového průmyslu předchůdce general motors corporation 1908 2009 následník...
s p 500 s p 500 komponent průmyslu konglomerate společnost konglomerate nadace zakladatel města fairfield connecticut fairfield connecticut umístění země usa oblast ...
br s p 500 s p 500 součást nadace 1903 zakladatel william s harley br arthur davidson harley davidson zakladatel arthur davidson br walter davidson br william a davidson umístění...

Výstupní slovní zásoba s vkládáním

Následující tabulka obsahuje výstup této komponenty, která jako vstup přebírá datovou sadu Wikipedia SP 500. Sloupec úplně vlevo označuje slovní zásobu. Jeho vektor vkládání je reprezentován hodnotami zbývajících sloupců ve stejném řádku.

Slovní zásobu Vkládání dimding 0 Vkládání tlumené 1 Vkládání dimding 2 Vkládání dimding 3 Vkládání tmavé 4 Vkládání dimding 5 ... Vkládání dim 99
Nasdaq -0.375865 0.609234 0.812797 -0.002236 0.319071 -0.591986 ... 0.364276
komponenta 0.081302 0.40001 0.121803 0.108181 0.043651 -0.091452 ... 0.636587
s -0.34355 -0.037092 -0.012167 0.151542 0.601019 0.084501 ... 0.149419
p -0.133407 0.073244 0.170396 0.326706 0.213463 -0.700355 ... 0.530901
Nadace -0.166819 0.10883 -0.07933 -0.073753 0.262137 0.045725 ... 0.27487
Zakladatel -0.297408 0.493067 0.316709 -0.031651 0.455416 -0.284208 ... 0.22798
location -0.375213 0.461229 0.310698 0.213465 0.200092 0.314288 ... 0.14228
city -0.460828 0.505516 -0.074294 -0.00639 0.116545 0.494368 ... -0.2403
Apple 0.05779 0.672657 0.597267 -0.898889 0.099901 0.11833 ... 0.4636
Campus -0.281835 0.29312 0.106966 -0.031385 0.100777 -0.061452 ... 0.05978
Nekonečné -0.263074 0.245753 0.07058 -0.164666 0.162857 -0.027345 ... -0.0525
loop -0.391421 0.52366 0.141503 -0.105423 0.084503 -0.018424 ... -0.0521

V tomto příkladu jsme použili výchozí strategii Gensim Word2Vec for Word2Vec a algoritmus trénování je Skip-gram. Délka slova Vložení je 100, takže máme 100 sloupců pro vložení.

Technické poznámky

Tato část obsahuje tipy a odpovědi na nejčastější dotazy.

  • Rozdíl mezi online trénováním a předtrénovaným modelem:

    V této komponentě Převést word na vektor jsme poskytli tři různé strategie: dva modely online trénování a jeden předem vytrénovaný model. Modely online trénování používají vstupní datovou sadu jako trénovací data a během trénování generují slovníky a vektory slov. Předtrénovaný model je již trénován mnohem větším textovým korpusem, jako je například text z Wikipedie nebo Twitteru. Předem vytrénovaný model je ve skutečnosti kolekce párů slov a vkládání.

    Předtrénovaný model GloVe shrnuje slovní zásobu ze vstupní datové sady a generuje vektor vložení pro každé slovo z předem natrénovaného modelu. Bez online trénování může použití předem vytrénovaného modelu ušetřit čas trénování. Má lepší výkon, zejména v případě, že je velikost vstupní datové sady relativně malá.

  • Velikost vložení:

    Obecně platí, že délka vkládání slov je nastavená na několik stovek. Například 100, 200, 300. Malá velikost vkládání znamená malý vektorový prostor, který by mohl způsobit kolize vkládání slov.

    Délka vkládání slov je u předem natrénovaných modelů pevně daná. V tomto příkladu je velikost vkládání glove-wiki-gigaword-100 100.

Další kroky

Podívejte se na sadu komponent dostupných pro Azure Machine Learning.

Seznam chyb specifických pro komponenty návrháře najdete v tématu Kódy chyb strojového učení.