Konvertera Word till vektorkomponent
Den här artikeln beskriver hur du använder komponenten Konvertera word till vektor i Azure Mašinsko učenje designer för att utföra följande uppgifter:
- Tillämpa olika Word2Vec-modeller (Word2Vec, FastText, GloVe förtränad modell) på textkorusen som du angav som indata.
- Generera ett ordförråd med ord 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 NLP-process (natural language processing). 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 i stor utsträckning. 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. Ordinbäddning förblir sedan konstant under ordvektorisering. Förtränad ordmodeller ger fördelar som minskad 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 grunt 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: Berika wordvektorer med underordsinformation. Implementeringen i den här komponenten baseras på Gensim-biblioteket för FastText.
GloVe förtränad modell ä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 token och 400 000 oförståeliga ordförråd. En PDF-nedladdning är tillgänglig: GloVe: Globala vektorer för 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 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 att bearbeta.
Eftersom den här komponenten skapar ett ordförråd från text skiljer sig innehållet i kolumnerna åt, vilket leder till olika ordförrådsinnehåll. Det är därför komponenten endast accepterar en målkolumn.
För Word2Vec-strategi väljer du bland GloVe förtränad engelsk modell, Gensim Word2Vec och Gensim FastText.
Om Word2Vec-strategin är Gensim Word2Vec eller Gensim FastText:
För Word2Vec-träningsalgoritm väljer du mellan Skip_gram och CBOW. Skillnaden introduceras i originalpapperet (PDF).
Standardmetoden är Skip_gram.
För Längd på ord inbäddning anger du dimensionaliteten för ordet vektorer. 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 corpus. Motsvarar parametern
iter
i Gensim.Standardepoochnumret ä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 orden.
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 en utdata:
- Vokabulär 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 till den förbearbetade Wikipedia SP 500-datauppsättningen.
Källdatauppsättning
Datamängden innehåller en kategorikolumn, tillsammans med den fullständiga text 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 komponent industrin fordonsindustrin bil föregångare general motors corporation 1908 2009 efterföljare... |
s p 500 s p 500 komponent industri konglomerat företag konglomerat stiftelsen grundare plats stad fairfield connecticut fairfield connecticut location land usa area... |
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... |
Utdataförråd 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 | Inbäddning dim 0 | Inbäddning dim 1 | Inbäddning dim 2 | Bädda in dim 3 | Inbäddning dim 4 | Inbäddning dim 5 | ... | Bädda in 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 |
stiftelse | -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 |
plats | -0.375213 | 0.461229 | 0.310698 | 0.213465 | 0.200092 | 0.314288 | ... | 0.14228 |
ort | -0.460828 | 0.505516 | -0.074294 | -0.00639 | 0.116545 | 0.494368 | ... | -0.2403 |
äpple | 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.
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 X-text. Den förtränad modellen är faktiskt en samling word/embedding-par.
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 är längden på ord inbäddning inställd på några hundra. Till exempel 100, 200, 300. En liten inbäddningsstorlek innebär ett litet vektorutrymme, vilket kan orsaka kollisioner med ord inbäddning.
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 Mašinsko učenje.
En lista över fel som är specifika för designerkomponenterna finns i Mašinsko učenje felkoder.