Convertire word in componente vettoriale

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

  • Applicare vari modelli Word2Vec (Word2Vec, FastText, Modello con training preliminare GloVe) 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 vettorizzazione di parole è un processo di elaborazione del linguaggio naturale (NLP). Il processo usa modelli linguistici per eseguire il mapping delle parole nello spazio vettoriale. Uno spazio vettoriale rappresenta ogni parola da un vettore di numeri reali. Consente anche 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 delle parole, in questo componente sono stati implementati tre metodi ampiamente usati. Due, Word2Vec e FastText, sono modelli di training online. L'altro è un modello con training preliminare, 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 vettorializzazione delle parole. I modelli di parole con training preliminare offrono vantaggi come tempi di training ridotti, vettori di parole migliori codificati e prestazioni complessive migliorate.

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

  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 è diverso, che porta a contenuti del vocabolario diversi. Ecco perché il componente accetta una sola colonna di destinazione.

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

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

    • Per Word2Vec Training Algorithm scegliere tra Skip_gram e CBOW. La differenza è introdotta nel documento originale (PDF).

      Il metodo predefinito è Skip_gram.

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

      La dimensione predefinita di incorporamento è 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.

    • In Numero di periodi specificare il numero di periodi (iterazioni) nel corpus. Corrisponde al iter parametro in Gensim.

      Il numero di periodo predefinito è 5.

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

    Se sono presenti parole più univoche rispetto alle dimensioni massime, eliminare quelle poco frequenti.

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

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 come input il set di dati Wikipedia SP 500. 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
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
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 predefinita Gensim Word2Vec per Word2Vec e l'algoritmo di training è Skip-gram. La lunghezza della parola Embedding è 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 con training preliminare. 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 con training preliminare è già sottoposto a training da un corpus di testo molto più grande, ad esempio Wikipedia o X. Il modello con training preliminare è in realtà una raccolta di coppie di parole/incorporamento.

    Il modello con training preliminare GloVe riepiloga un vocabolario dal set di dati di input e genera un vettore di incorporamento per ogni parola del modello con training preliminare. 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 ridotte.

  • Dimensioni 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 conflitti di incorporamento delle parole.

    La lunghezza degli incorporamenti di parole è fissa per i modelli con training preliminare. 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 degli errori specifici dei componenti della finestra di progettazione, vedere Codici di errore di Machine Learning.