Share via


Convertire Word in componente Vector

Questo articolo descrive come usare il componente Convert Word to Vector in Azure Machine Learning per eseguire queste attività:

  • Applicare vari modelli Word2Vec (Word2Vec, FastText, GloVe pretrained model) nel corpus di testo specificato come input.
  • Generare un vocabolario con incorporamenti di parole.

Questo componente usa la libreria Gensim. Per altre informazioni su Gensim, vedere il sito Web ufficiale, che include esercitazioni e una spiegazione degli algoritmi.

Altre informazioni sulla conversione di parole in vettori

La conversione di parole in vettori o vettore di parole è un processo di elaborazione del linguaggio naturale (NLP). Il processo usa modelli di linguaggio per eseguire il mapping delle parole nello spazio vettoriale. Uno spazio vettore rappresenta ogni parola da un vettore di numeri reali. Consente inoltre che le parole con significati simili abbiano rappresentazioni simili.

Usare gli incorporamenti di parole come input iniziale per le attività downstream NLP, ad esempio la classificazione del testo e l'analisi del sentiment.

Tra le varie tecnologie di incorporamento di parole, in questo componente, sono stati implementati tre metodi ampiamente usati. Due, Word2Vec e FastText, sono modelli di training online. L'altro è un modello pre-sottoposto a training, glove-wiki-gigaword-100.

I modelli di training online vengono sottoposti a training sui dati di input. I modelli con training preliminare vengono sottoposti a training offline su un corpus di testo più grande (ad esempio Wikipedia, Google News) che in genere contiene circa 100 miliardi di parole. L'incorporamento di word rimane quindi costante durante la vettorizzazione delle parole. I modelli di parole pre-sottoposti a training offrono vantaggi come il tempo di training ridotto, i vettori di parole migliori codificati e migliorano le prestazioni complessive.

Ecco alcune informazioni sui metodi:

Come configurare Convert Word to Vector

Questo componente richiede un set di dati contenente una colonna di testo. Il testo pre-elaborato è meglio.

  1. Aggiungere il componente Convert Word to Vector alla pipeline.

  2. Come input per il componente, specificare un set di dati contenente una o più colonne di testo.

  3. Per Colonna Di destinazione scegliere una sola colonna contenente testo da elaborare.

    Poiché questo componente crea un vocabolario dal testo, il contenuto delle colonne differisce, che porta a contenuti di vocabolario diversi. Ecco perché il componente accetta una sola colonna di destinazione.

  4. Per la strategia Word2Vec, scegliere da GloVe modello inglese con training preliminare, Gensim Word2Vec e Gensim FastText.

  5. Se la strategia Word2Vec è Gensim Word2Vec o Gensim FastText:

    • Per l'algoritmo di training word2Vec scegliere tra Skip_gram e CBOW. La differenza viene introdotta nella carta originale (PDF).

      Il metodo predefinito è Skip_gram.

    • Per Lunghezza dell'incorporamento di parole, specificare la dimensione dei vettori di parola. Questa impostazione corrisponde al size parametro in Gensim.

      Le dimensioni predefinite di incorporamento sono 100.

    • Per Dimensioni finestra contesto specificare la distanza massima tra la parola stimata e la parola corrente. Questa impostazione corrisponde al window parametro in Gensim.

      La dimensione predefinita della finestra è 5.

    • Per Numero di epoche, specificare il numero di epoche (iterazioni) nel corpus. Corrisponde al iter parametro in Gensim.

      Il numero di epoca predefinito è 5.

  6. Per Dimensioni massime del vocabolario, specificare il numero massimo delle parole nel vocabolario generato.

    Se sono presenti parole più univoche rispetto alla dimensione massima, eliminare quelle raramente infrequenti.

    Le dimensioni predefinite del vocabolario sono 10.000.

  7. Per Numero minimo di parole specificare un numero minimo di parole. Il componente ignorerà tutte le parole con una frequenza inferiore a questo valore.

    Il valore predefinito è 5.

  8. Inviare la pipeline.

Esempi

Il componente ha un output:

  • Vocabolario con incorporamenti: contiene il vocabolario generato, insieme all'incorporamento di ogni parola. Una dimensione occupa una colonna.

Nell'esempio seguente viene illustrato il funzionamento del componente Convert Word to Vector. Usa Convert Word to Vector con le impostazioni predefinite nel set di dati Di Wikipedia SP 500 preprocessato.

Set di dati di origine

Il set di dati contiene una colonna categoria, insieme al testo completo recuperato da Wikipedia. La tabella seguente illustra alcuni esempi rappresentativi.

Testo
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 component industry automotive industry automotive predecessor general motors corporation 1908 2009 successor...
s p 500 s p 500 component industry conglomerate company conglomerate foundation founder location city fairfield connecticut fairfield connecticut location country usa area...
br s p 500 s p 500 component foundation 1903 founder william s harley br arthur davidson harley davidson founder arthur davidson br walter davidson br william a davidson location...

Vocabolario di output con incorporamenti

La tabella seguente contiene l'output di questo componente, prendendo il set di dati Wikipedia SP 500 come input. La colonna più a sinistra indica il vocabolario. Il vettore di incorporamento è rappresentato dai valori delle colonne rimanenti nella stessa riga.

Vocabolario Dim. incorporamento 0 Dim. incorporamento 1 Dim. incorporamento 2 Dim. incorporamento 3 Dim. incorporamento 4 Dim. incorporamento 5 ... Dim. incorporamento 99
nasdaq -0.375865 0.609234 0.812797 -0.002236 0.319071 -0.591986 ... 0.364276
component 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
founder -0.297408 0.493067 0.316709 -0.031651 0.455416 -0.284208 ... 0.22798
posizione -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
infinite -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

In questo esempio è stata usata la strategia Gensim Word2Vec per Word2Vec predefinita e l'algoritmo di training è Skip-gram. La lunghezza della parola Incorporamento è 100, quindi sono presenti 100 colonne di incorporamento.

Note tecniche

Questa sezione contiene suggerimenti e risposte alle domande più frequenti.

  • Differenza tra il training online e il modello con training preliminare:

    In questo componente Convert Word to Vector sono disponibili tre strategie diverse: due modelli di training online e un modello pre-training. I modelli di training online usano il set di dati di input come dati di training e generano vettori di vocabolario e parola durante il training. Il modello pre-sottoposto a training è già sottoposto a training da un corpo di testo molto più grande, ad esempio Wikipedia o Twitter testo. Il modello con training preliminare è in realtà una raccolta di coppie word/incorporamento.

    Il modello con training preliminare di GloVe riepiloga un vocabolario dal set di dati di input e genera un vettore di incorporamento per ogni parola del modello pre-sottoposto a training. Senza training online, l'uso di un modello con training preliminare può risparmiare tempo di training. Offre prestazioni migliori, soprattutto quando le dimensioni del set di dati di input sono relativamente piccole.

  • Dimensioni di incorporamento:

    In generale, la lunghezza dell'incorporamento delle parole è impostata su poche centinaia. Ad esempio, 100, 200, 300. Una piccola dimensione di incorporamento significa uno spazio vettore di piccole dimensioni, che potrebbe causare collisioni di incorporamento di parole.

    La lunghezza degli incorporamenti di parole è fissa per i modelli pre-sottoposti a training. In questo esempio, la dimensione di incorporamento di glove-wiki-gigaword-100 è 100.

Passaggi successivi

Vedere il set di componenti disponibili per Azure Machine Learning.

Per un elenco di errori specifici dei componenti della finestra di progettazione, vedere Codici di errore di Machine Learning.