La traduzione automatica neurale è un approccio alla traduzione di modelli utilizzando una rete neurale ricorrente (RNN)

Contents

Machine learning: che è? Blog su: Conti Mercati Depositi Credito Mutui
Machine learning: che è?

Rappresentazione vettoriale

Nella PNL tradizionale, le parole vengono trattate come caratteri discreti, che vengono quindi rappresentati come vettori one-hot. Il problema con le parole - simboli discreti - mancanza di definizione di somiglianza per vettori one-hot. Pertanto, l'alternativa è imparare a codificare la somiglianza nei vettori stessi.

La notazione vettoriale è un metodo per rappresentare le stringhe come vettori con valori. Viene costruito un vettore denso per ogni parola in modo che le parole trovate in contesti simili abbiano vettori simili. La rappresentazione vettoriale è considerata il punto di partenza per la maggior parte delle attività di PNL e rende efficace il deep learning su piccoli set di dati. Le tecniche di rappresentazione vettoriale Word2vec e GloVe, create rispettivamente da Google (Mikolov) Stanford (Pennington, Socher, Manning), sono popolari e spesso utilizzate per problemi di PNL. Diamo un'occhiata a queste tecniche.

Word2Vec

Word2vec accetta un ampio corpus di testo, in cui ogni parola in un dizionario fisso è rappresentata come un vettore. Quindi l'algoritmo attraversa ogni posizione t nel testo, che è la parola centrale c e la parola di contesto o. Successivamente, la somiglianza dei vettori di parole per c e o viene utilizzata per calcolare la probabilità o per un dato c (o viceversa), e il vettore di parole continua a essere regolato per massimizzare questa probabilità.

Per ottenere il miglior risultato Word2vec, le parole inutili (o le parole con un'alta frequenza di occorrenza, in inglese - a, the, of, then) vengono rimosse dal set di dati. Ciò contribuirà a migliorare la precisione del modello e a ridurre i tempi di addestramento. Inoltre, per ogni input viene utilizzato il campionamento negativo, aggiornando i pesi per tutte le etichette valide, ma solo su un numero ridotto di etichette non valide.

Skip-Gram: viene considerata una finestra di contesto contenente k parole consecutive. Quindi viene saltata una parola e viene addestrata una rete neurale che contiene tutte le parole tranne quella mancante, che l'algoritmo cerca di prevedere. Pertanto, se 2 parole condividono periodicamente un contesto simile nel corpus, queste parole avranno vettori simili. Borsa continua di parole: vengono prese molte frasi nel corpus. Ogni volta che l'algoritmo vede una parola, viene presa la parola adiacente. Successivamente, le parole di contesto vengono inviate all'input della rete neurale e prevedono la parola al centro di questo contesto. Nel caso di migliaia di tali parole di contesto e una parola centrale, otteniamo un'istanza di un set di dati per la nostra rete neurale. La rete neurale viene addestrata e infine l'output del livello nascosto codificato rappresenta l'incorporamento per una parola specifica. Lo stesso accade se la rete neurale si allena su un gran numero di frasi e vettori simili vengono assegnati a parole in un contesto simile con doctranslator.

L'unica lamentela su Skip-Gram e CBOW è che appartengono alla classe dei modelli basati su finestre, che sono caratterizzati da una bassa efficienza nell'uso delle statistiche di coincidenza nel corpus, che porta a risultati non ottimali.