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:

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.

  1. Lägg till komponenten Convert Word to Vector (Konvertera word till vektor) i pipelinen.

  2. Som indata för komponenten anger du en datauppsättning som innehåller en eller flera textkolumner.

  3. 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.

  4. För Word2Vec-strategi väljer du från GloVe förtränad engelsk modell, Gensim Word2Vec och Gensim FastText.

  5. 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.

  6. 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.

  7. 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.

  8. 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.