Konvertera Word till vektorkomponent
Den här artikeln beskriver hur du använder komponenten Convert Word to Vector i Azure Machine Learning-designern för att utföra följande uppgifter:
- Använd olika Word2Vec-modeller (Word2Vec, FastText, GloVe förtränad modell) på den textkorus som du angav som indata.
- Generera en vokabulär med word-inbäddningar.
Den här komponenten använder Gensim-biblioteket. Mer information om Gensim finns på dess officiella webbplats, som innehåller självstudier och en förklaring av algoritmer.
Mer om att konvertera ord till vektorer
Att konvertera ord till vektorer, eller ordvektorisering, är en process för bearbetning av naturligt språk (NLP). Processen använder språkmodeller för att mappa ord till vektorutrymme. Ett vektorutrymme representerar varje ord med en vektor med verkliga tal. Det tillåter också att ord med liknande betydelser har liknande representationer.
Använd ordinbäddningar som inledande indata för underordnade NLP-uppgifter, till exempel textklassificering och attitydanalys.
I den här komponenten implementerade vi tre metoder som används ofta. Två, Word2Vec och FastText, är onlineträningsmodeller. Den andra är en förtränad modell, glove-wiki-gigaword-100.
Onlineträningsmodeller tränas på dina indata. Förtränade modeller tränas offline på en större text corpus (till exempel Wikipedia, Google News) som vanligtvis innehåller cirka 100 miljarder ord. Word-inbäddning förblir sedan konstant under ordvektorisering. Förtränad ordmodeller ger fördelar som kortare träningstid, bättre ordvektorer kodade och förbättrad övergripande prestanda.
Här är lite information om metoderna:
Word2Vec är en av de mest populära teknikerna för att lära sig ordbäddningar med hjälp av ett ytligt neuralt nätverk. Teorin diskuteras i detta dokument, tillgänglig som en PDF-nedladdning: Effektiv uppskattning av wordrepresentationer i vektorutrymme. Implementeringen i den här komponenten baseras på Gensim-biblioteket för Word2Vec.
FastText-teorin förklaras i den här artikeln, tillgänglig som en PDF-nedladdning: Enriching Word Vectors with Subword Information (Berika ordvektorer med underordsinformation). Implementeringen i den här komponenten baseras på Gensim-biblioteket för FastText.
Den förträade GloVe-modellen är glove-wiki-gigaword-100. Det är en samling förtränad vektorer baserade på en Wikipedia-text corpus, som innehåller 5,6 miljarder tokens och 400 000 oförståeliga ordförråd. En PDF-nedladdning finns tillgänglig: GloVe: Global Vectors for Word Representation.
Så här konfigurerar du Konvertera Word till vektor
Den här komponenten kräver en datauppsättning som innehåller en textkolumn. Förbearbetad text är bättre.
Lägg till komponenten Convert Word to Vector (Konvertera word till vektor) i pipelinen.
Som indata för komponenten anger du en datauppsättning som innehåller en eller flera textkolumner.
För Målkolumn väljer du bara en kolumn som innehåller text som ska bearbetas.
Eftersom den här komponenten skapar ett ordförråd från text skiljer sig innehållet i kolumner, vilket leder till olika ordförrådsinnehåll. Det är därför komponenten bara accepterar en målkolumn.
För Word2Vec-strategi väljer du från GloVe förtränad engelsk modell, Gensim Word2Vec och Gensim FastText.
Om Word2Vec-strategin är Gensim Word2Vec eller Gensim FastText:
För Word2Vec Training Algorithm väljer du mellan Skip_gram och CBOW. Skillnaden introduceras i originalpapperet (PDF).
Standardmetoden är Skip_gram.
För Längd på ordbäddning anger du dimensionaliteten för ordvektorerna. Den här inställningen motsvarar parametern
size
i Gensim.Standardstorleken för inbäddning är 100.
För Kontextfönsterstorlek anger du det maximala avståndet mellan ordet som förutsägs och det aktuella ordet. Den här inställningen motsvarar parametern
window
i Gensim.Standardfönstrets storlek är 5.
För Antal epoker anger du antalet epoker (iterationer) över korpusen. Motsvarar parametern
iter
i Gensim.Epokens standardnummer är 5.
För Maximal vokabulärstorlek anger du det maximala antalet ord i den genererade vokabulären.
Om det finns fler unika ord än maxstorleken rensar du de ovanliga.
Standard vokabulärstorleken är 10 000.
För Minsta antal ord anger du ett minsta antal ord. Komponenten ignorerar alla ord som har en frekvens som är lägre än det här värdet.
Standardvärdet är 5.
Skicka pipelinen.
Exempel
Komponenten har ett utdata:
- Ordförråd med inbäddningar: Innehåller den genererade vokabulären, tillsammans med varje ords inbäddning. En dimension upptar en kolumn.
I följande exempel visas hur komponenten Konvertera word till vektor fungerar. Den använder Konvertera Word till vektor med standardinställningar för den förbearbetade Wikipedia SP 500-datauppsättningen.
Källdatauppsättning
Datamängden innehåller en kategorikolumn, tillsammans med den fullständiga texten som hämtats från Wikipedia. I följande tabell visas några representativa exempel.
Text |
---|
nasdaq 100 component s p 500 component foundation founder location city apple campus 1 infinite loop street infinite loop cupertino california cupertino california location country united states... |
br nasdaq 100 nasdaq 100 component br s p 500 s p 500 component industry computer software foundation br founder charles geschke br john warnock location adobe systems... |
s p 500 s p 500 komponentindustrin fordonsindustrin automotive föregångare general motors corporation 1908 2009 efterföljande... |
s p 500 s p 500 komponent industri konglomerat företag konglomerat stiftelsen grundare plats stad fairfield connecticut fairfield connecticut läge land usa område ... |
br s p 500 s p 500 component foundation 1903 grundare william s harley br arthur davidson harley davidson grundare arthur davidson br walter davidson br william a davidson location... |
Utdatavokabulär med inbäddningar
Följande tabell innehåller utdata från den här komponenten med Wikipedia SP 500-datamängden som indata. Kolumnen längst till vänster anger vokabulären. Dess inbäddningsvektor representeras av värden för återstående kolumner på samma rad.
Ordförråd | Bädda in dim 0 | Bädda in dim 1 | Bädda in dim 2 | Bädda in dim 3 | Bädda in dim 4 | Bädda in dim 5 | ... | Inbäddning dim 99 |
---|---|---|---|---|---|---|---|---|
Nasdaq | -0.375865 | 0.609234 | 0.812797 | -0.002236 | 0.319071 | -0.591986 | ... | 0.364276 |
-komponent | 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 |
Foundation | -0.166819 | 0.10883 | -0.07933 | -0.073753 | 0.262137 | 0.045725 | ... | 0.27487 |
Grundare | -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 |
Oändlig | -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 |
I det här exemplet använde vi standardstrategin Gensim Word2Vec för Word2Vec och träningsalgoritmen är Skip-gram. Längden på ordet Inbäddning är 100, så vi har 100 inbäddningskolumner.
Tekniska anteckningar
Det här avsnittet innehåller tips och svar på vanliga frågor och svar.
Skillnad mellan onlineträning och förtränad modell:
I den här komponenten Konvertera word till vektor har vi lagt till tre olika strategier: två onlineträningsmodeller och en förtränad modell. Onlineträningsmodellerna använder din indatauppsättning som träningsdata och genererar vokabulär och ordvektorer under träningen. Den förtränade modellen tränas redan av en mycket större text corpus, till exempel Wikipedia eller Twitter-text. Den förtränad modellen är i praktiken en samling ord-/inbäddningspar.
Den förtränade GloVe-modellen sammanfattar ett ordförråd från indatauppsättningen och genererar en inbäddningsvektor för varje ord från den förtränade modellen. Utan onlineträning kan användningen av en förtränad modell spara träningstid. Den har bättre prestanda, särskilt när indatauppsättningens storlek är relativt liten.
Inbäddningsstorlek:
I allmänhet anges längden på ordbäddning till några hundra. Till exempel 100, 200, 300. En liten inbäddningsstorlek innebär ett litet vektorutrymme, vilket kan orsaka bäddningskollisioner.
Längden på ordinbäddningar är fast för förtränad modeller. I det här exemplet är inbäddningsstorleken för glove-wiki-gigaword-100 100.
Nästa steg
Se den uppsättning komponenter som är tillgängliga för Azure Machine Learning.
En lista över fel som är specifika för designerkomponenterna finns i Machine Learning-felkoder.