Quando nasce uma criança, é necessário algum tempo para desenvolver a capacidade de falar e compreender. As crianças só aprendem a língua que as pessoas à sua volta irão falar. Os humanos podem aprender rapidamente línguas por si próprios, mas os computadores não podem fazer o mesmo. Por exemplo, pode facilmente compreender a diferença entre gato e cão, homem e mulher, e assim por diante.
Isto acontece porque as nossas redes neuronais são diferentes das redes neuronais artificiais que as máquinas têm. Os computadores aprendem línguas de forma diferente dos seres humanos. Eles utilizam técnicas de incorporação de palavras para compreender a linguagem dos humanos.
O que é a incorporação de palavras?
A definição simples de incorporação de palavras é a conversão de texto em números. Para que o computador compreenda a língua, convertemos o texto em forma vectorial para que os computadores possam desenvolver ligações entre vectores e palavras e compreender o que estamos a dizer. Com a incorporação de palavras, resolvemos problemas relacionados com o Processamento da Linguagem Natural.
Compreender a PNL
O processamento da linguagem natural ajuda as máquinas a compreender e desenvolver a capacidade de escrever, ler e ouvir o que estamos a dizer. Google, DuckDuckGo, e muitos outros navegadores utilizam a PNL para reduzir as barreiras linguísticas entre humanos e máquinas. Além disso, Microsoft Word e Google Translate são aplicações de PNL.
Algoritmos de Incorporação de Palavras
A incorporação de palavras é uma representação vectorial e requer técnicas e algoritmos de aprendizagem de máquinas. Estes algoritmos fazem uso de redes neurais artificiais e de dados para gerar as ligações de diferentes palavras. Por exemplo, se um modelo estiver a aprender as palavras “Rei” e “Rainha”, a forma vectorial estará relacionada entre si. Isto ajuda a máquina a diferenciar e a relacionar as duas palavras. Abaixo iremos compreender três algoritmos comuns que podem ser utilizados na aprendizagem de máquinas para a incorporação de palavras.
1.Word2Vec
Word2Vec é o algoritmo mais popular para a incorporação de palavras. Este algoritmo utiliza redes neurais para aprender a incorporação de palavras de forma mais eficiente. Este algoritmo é na realidade uma série de algoritmos. Pode usar estes algoritmos para tarefas de PNL. Word2Vec utiliza apenas uma camada oculta e liga-a à rede neural. Todos os neurónios lineares são as camadas ocultas nos neurónios. Para treinar o modelo, a camada de entrada incluirá o número de neurónios igual às palavras do vocabulário. O tamanho da camada de saída e a camada de entrada permanecem as mesmas. No entanto, o tamanho da camada oculta é definido de acordo com os vectores das dimensões das palavras de resultado. É possível realizar a incorporação de palavras com Word2Vec através de dois métodos. Em ambos os métodos, são necessárias redes neuronais artificiais. Estes métodos são:
CBOW ou Saco Comum de Palavras
Neste método, cada palavra é um input, e a rede neural prevê a palavra que se relaciona com o contexto. Por exemplo, “Vou para casa num autocarro”. Neste exemplo, vamos introduzir a palavra autocarro na rede neural com contexto para ir para casa ou para casa. Depois a máquina irá gerar um vector que liga “viajar para casa” com o autocarro representado como a fonte da viagem.
Desnatado Gram
Skim Gram usa o mesmo truque que um saco comum de palavras ou qualquer outro algoritmo de aprendizagem de máquinas usa. Como temos palavras não etiquetadas, a palavra incorporação é essencialmente aprendizagem semi-supervisionada. Neste método, o algoritmo utiliza palavras vizinhas e rotula-as em conformidade.
2.GloVe
O algoritmo Global Vectors for Word Representation ou GloVe é bastante semelhante ao Word2Vec. No entanto, o método é um pouco diferente. GloVe considera apenas a informação contextual com base em 1-1. Isto significa que GloVe apenas cria uma matriz relacionada palavra a palavra, que inclui a probabilidade P (a | b) de ver a palavra k em torno da palavra b.
O principal objectivo desta técnica é encontrar a representação dos dois vectores de uma forma que gere a probabilidade logarítmica dos seus produtos de ponto igual à co-ocorrência. Têm grandes resultados ao relacionarem as palavras no contexto um com o outro.
3.Camada de Incorporação
Esta é a primeira camada oculta da rede neural artificial. Esta camada deve especificar três aumentos.
Dimensão de entrada
Isto representa o tamanho do vocabulário nos dados do texto. Por exemplo, se tiver dados com codificação de números inteiros e valores de 0 a 10, então o tamanho do vocabulário seria 11.
Dimensão de saída
Representam o tamanho do espaço vectorial. O espaço vectorial seria das palavras incorporadas. Este pode ser de 32, 100 ou maior.
Comprimento de entrada
Isto representa a duração das sequências de entrada. Por exemplo, se as palavras nos seus documentos de entrada forem até 1000, então este valor seria também 1000.
Conclusão
A incorporação de palavras é essencial para a aprendizagem de máquinas, pois ajuda os computadores a compreender a sua língua. Contém vários algoritmos que processam as palavras de forma diferente, mas o principal objectivo é ajudar a máquina a aprender línguas. Os computadores não conseguem compreender o que estamos a pedir. Em vez disso, para cada palavra, os computadores são codificados com uma representação vectorial que se relaciona com outras palavras, de acordo com o contexto.