Incorporação de documentos com vetores de parágrafos

– https://arxiv.org/pdf/1507.07998.pdf
Os vetores de parágrafo foram recentemente propostos como um método não supervisionado para a aprendizagem de representações distribuídas para textos. Nos seus trabalhos, os autores mostraram que o método pode ensinar uma incorporação de textos de revisão de filmes que podem ser alavancados para a análise de sentimentos. Essa prova de conceito, embora encorajadora, era bastante estreita. Aqui, consideramos tarefas diferentes da análise do sentimento, fornecemos uma comparação mais completa dos vetores de parágrafos para outros algoritmos de modelagem de documentos, como a atribuição de Dirichlet latente, e avaliamos o desempenho do método à medida que variamos a dimensionalidade da representação aprendida. Nós comparamos os modelos em dois conjuntos de dados de similaridade de documentos, um de Wikipedia, um de arXiv. Observamos que o método do Vetor Parágrafo funciona significativamente melhor do que outros métodos e propõe uma melhoria simples para melhorar a qualidade de incorporação. Surpreendentemente, também mostramos que, como inserções de palavras, as operações vetoriais em vetores de parágrafo podem realizar resultados semânticos úteis.
1. Introdução
Central para muitos problemas de compreensão do idioma é a questão da representação do conhecimento: como capturar o significado essencial de um documento em um formato compreensível para máquina (ou “representação”). Apesar de que ocorre muito trabalho nesta área, o formato mais estabelecido é talvez as representações[2] dos sacos de palavras (ou saco de n-grama). Latent Dirichlet Allocation (LDA) [1] é outra representação amplamente adotada.
Um paradigma recente na inteligência da máquina é usar uma representação distribuída para palavras [4] e documentos [3]. A parte interessante é que, embora essas representações sejam menos humanas que as representações anteriores, elas parecem funcionar bem na prática. Em particular, Le e Mikolov [3] mostram que o seu método, Vetores de Parágrafo, captura muitos documentos semânticos em vetores densos e que podem ser usados na classificação de avaliações de filmes ou na recuperação de páginas da web.
Apesar do seu sucesso, pouco se sabe sobre o bom desempenho do modelo em comparação com “sacos de palavras” ou LDA para outros aplicativos não supervisionados e como é o modelo sensível quando mudamos os hiperparâmetros.
Neste artigo, tentamos comparar vetores de parágrafo com outras linhas de base em duas tarefas que têm implicações práticas significativas. Primeiro, comparamos os vetores de parágrafo sobre a tarefa de navegação na Wikipedia: dado um artigo da Wikipédia, quais são os artigos mais próximos que o público deve procurar em seguida. Nós também testamos vetores de parágrafo sobre a tarefa de encontrar artigos relacionados no arXiv. Em ambas as tarefas, descobrimos que os vetores de parágrafo permitem a busca de documentos de interesse através de operações vetoriais simples e intuitivas. Por exemplo, podemos encontrar a equivalência japonesa de “Lady Gaga”.
O objetivo do documento está além do benchmarking: os resultados positivos em conjuntos de dados Wikipedia e arXiv confirmam que ter boas representações para textos pode ser poderoso quando se trata de entender o idioma. O sucesso nessas tarefas mostra que é possível usar vetores de parágrafo para a navegação local e não local de grandes corpos.
Nós também mostramos um truque simples e eficaz para melhorar o Parágrafo Vector. Em particular, observamos que, ao formar conjuntamente inserções de palavras, como no modelo de skip gram, a qualidade dos vetores de parágrafo é melhorada.
2. Modelo
O modelo de parágrafo é proposto em [3]. O modelo insere um vetor de memória para o modelo de linguagem padrão que visa capturar os tópicos do documento. Os autores chamaram a este modelo “Memória Distribuída”:

Figura 1: O modelo de memória distribuída do vetor de parágrafos para uma frase de entrada.
Conforme sugerido pela figura acima, o vetor de parágrafo é concatenado ou calculado como média com vetores de palavras de contexto local para prever a próxima palavra. A tarefa da previsão altera os vetores da palavra e o vetor de parágrafo.
O vetor de parágrafo pode ser mais simplificado quando não usamos nenhum contexto local na tarefa de previsão. Podemos chegar ao seguinte modelo “Distributed Bag of Words”:

Figura 2: O modelo de saco distribuído de palavras do vetor de parágrafos.
No momento de inferência, os parâmetros do classificador e os vetores de palavras não são necessários e a alternância de retrocesso usa-se para sintonizar os vetores de parágrafo.
À medida que o modelo de saco distribuído de palavras é mais eficiente, os experimentos neste artigo focalizam nesta implementação do vetor de parágrafos. Nas seções a seguir, exploraremos o uso de vetores de parágrafo em diferentes aplicativos na compreensão do documento.
3. Experimentos
Realizamos experimentos com dois corpos publicamente disponíveis diferentes: um corpus do repositório de pré-impressões eletrônicas (arXiv) e um corpus da enciclopédia online (Wikipedia).
Em cada caso, todas as palavras foram encapsuladas antes dos conjuntos de dados serem usados. Nós também treinamos inserções de palavras com os vetores de parágrafo, uma vez que as experiências preliminares mostraram que isso pode melhorar a qualidade dos vetores de parágrafo. Os resultados preliminares também mostraram que o treinamento com unigramas e bigrams não melhora a qualidade dos vetores finais. Apresentamos uma série de resultados qualitativos e quantitativos. Damos alguns exemplos dos vizinhos mais próximos de alguns artigos da Wikipedia e artigos ArXiv, bem como uma visualização do espaço dos artigos da Wikipédia. Também mostramos alguns exemplos dos vizinhos mais próximos após a realização de operações vetoriais.
Para a avaliação quantitativa, tentamos medir o quão bem representam os vetores de parágrafo a semelhança semântica de artigos relacionados. Fazemos isso construindo (ambos automaticamente e à mão) trigêmeos, onde cada triplete é constituído por um par de itens próximos uns dos outros e um item que não está relacionado.
Para os corpos publicamente disponíveis, treinamos vetores de parágrafo ao longo de pelo menos 10 épocas dos dados e usamos um softmax hierárquico construído como uma árvore Huffman como classificador. Usamos a semelhança de coseno como a métrica. Também aplicamos LDA com a amostra de Gibbs e 500 iterações com diferentes números de tópicos. Para LDA, definimos α para 0,1 e utilizamos valores de β entre 0,01 e 0,000001. Usamos as proporções do tópico posterior para cada papel com a distância de Hellinger para calcular a semelhança entre pares de documentos. Para a integridade, também incluímos os resultados da média das incorporações de palavras para cada palavra em um documento e usando isso como o vetor de parágrafo. Finalmente, consideramos o modelo clássico de saco de palavras, em que cada palavra é representada como um vetor “one-hot” ponderado por TF-IDF e o documento é representado por esse vetor, com comparações feitas usando a similaridade de coseno.
3.1 Desempenho dos vetores de parágrafo nas entradas da Wikipedia
Extraímos o texto do corpo principal de 4,490,000 artigos da Wikipédia do site em inglês. Removemos todos os links e aplicamos um corte de freqüência para obter um vocabulário de 915.715 palavras. Nós treinamos os vetores de parágrafo sobre esses artigos da Wikipedia e os visualizamos na Figura 3 usando t-SNE [5]. A visualização confirma que os artigos com a mesma categoria estão agrupados. Existe uma ampla gama de descrições esportivas na wikipedia, o que explica por que os esportes estão menos concentrados.

Figura 3: Visualização de vetores de parágrafo de Wikipedia usando t-SNE.
Também observamos qualitativamente os vizinhos mais próximos dos artigos da Wikipédia e comparamos os Vectores de Parágrafo e a LDA. Por exemplo, os vizinhos mais próximos do artigo da Wikipedia “Aprendizagem de máquinas” mostram-se na Tabela 1. Achamos que os vetores de parágrafos gerais têm melhores vizinhos mais próximos do que LDA.
Tabela 1: Vizinhos mais próximos de “Aprendizagem de máquinas”. Os textos em negrita são artigos que encontramos sem relação com “Aprendizagem de máquina”. Utilizamos a distância de Hellinger para LDA e distância de coseno para vetores de parágrafos, pois eles funcionam melhor para cada modelo.

Podemos realizar operações vetoriais em vetores de parágrafo para a navegação local e não local da Wikipédia. Na Tabela 2a e Tabela 2b, mostramos resultados de duas experiências. O primeiro experimento é encontrar artigos relacionados com “Lady Gaga”. O segundo experimento é encontrar a equivalência japonesa da “Lady Gaga”. Isso pode ser conseguido por operações vetoriais: pv (“Lady Gaga”) – wv(“American” ) + wv(“japonesa”) onde pv é vetores de parágrafo e wv são vetores de palavras. Ambos os conjuntos de resultados mostram que os vetores de parágrafo podem alcançar o mesmo tipo de analogias, como os vetores de palavras [4].
Tabela 2: vizinhos mais próximos da Wikipedia


Para comparar quantitativamente esses métodos, construímos dois conjuntos de dados para a avaliação do triplete. O primeiro consiste em 172 trigêmeos de artigos que sabemos que foram relacionados por causa do nosso conhecimento de domínio. Alguns exemplos são: “Aprendizagem profunda” está mais próximo da “Aprendizagem de máquinas” do que “Rede informática” ou “Google” está mais próximo do “Facebook” do que o “Walmart” etc. Alguns exemplos são difíceis e, provavelmente, requerem uma profunda compreensão do conteúdo, como “San Diego” está mais perto de “Los Angeles” do que “San Jose”.
O segundo conjunto de dados consiste em 19.876 trigêmeos em que dois artigos estão mais próximos porque estão listados na mesma categoria pela Wikipédia e o último artigo não está na mesma categoria, mas pode estar em uma categoria de irmãos. Por exemplo, os artigos para “Barack Obama” estão mais perto de “Britney Spears” do que “China”. Esses trigêmeos são gerados aleatoriamente.1
Nós avaliaremos os métodos de incorporação de documentos, como LDA, saco de palavras, Parágrafo Vector, para ver o quão bem esses modelos capturam a semântica dos documentos. Os resultados são relatados na Tabela 3 e na Tabela 4. Para cada um dos métodos, também variamos o número de dimensões de incorporação.

Figura 4: Resultados dos experimentos no conjunto de dados Triple da Wikipedia.
Tabela 3: Realizações de diferentes métodos em tríplos construídos à mão de artigos da Wikipedia sobre a dimensionalidade de melhor desempenho.

Dos resultados na Tabela 3 e 4, pode-se ver que os vetores de parágrafo são melhores do que LDA. Também vemos um pico no desempenho do vetor de parágrafo em 10.000 dimensões. Ambos os vetores de parágrafo e a incorporação de palavras em média são melhores do que o modelo LDA. Para a LDA, descobrimos que a ponderação de palavras TF-IDF e as suas alocações de tópicos inferidas não afetaram o desempenho. A partir desses resultados, também podemos ver que o treinamento conjunto de vetores de palavras melhora a qualidade final dos vetores de parágrafo.

Figura 5: Resultados de experimentos no conjunto de dados triplo gerado da Wikipedia.
Tabela 4: Performances de diferentes métodos no conjunto de dados com objectivas triplas geradas na dimensionalidade de melhor desempenho.

3.2 Desempenho de vetores de parágrafo em artigos arXiv
Nós extraímos o texto das versões em PDF de 886.000 papéis completos do arXiv. Em cada caso, utilizamos apenas a última revisão disponível. Aplicamos um limite mínimo de freqüência ao vocabulário para que o nosso vocabulário final fosse 969.894 palavras.
Realizamos experimentos para encontrar artigos relacionados usando vetores de parágrafo. Na Tabela 5 e na Tabela 6, mostramos os vizinhos mais próximos do documento original do Parágrafo “Representação Distribuída de Frases e Documentos” e o documento atual. Na Tabela 7, queremos encontrar a equivalência bayesiana do documento do vetor Parágrafo. Isso pode conseguir-se por operações vetoriais: pv (“Representações Distribuídas de Frases e Documentos”) – wv (“neural”) + wv (“Bayesian”) onde pv são vetores de parágrafo e wv são vetores de palavras aprendidas durante o treinamento de vetores de parágrafo . Os resultados sugerem que o Vector Parágrafo funciona bem nessas duas tarefas.
Para medir o desempenho de diferentes modelos nesta tarefa, escolhemos pares de papéis que tinham pelo menos um assunto compartilhado, o papel não relacionado foi escolhido aleatoriamente em papéis sem assuntos compartilhados com o primeiro trabalho. Produzimos um conjunto de dados de 20.000 trigêmeos por este método.
A partir dos resultados na Tabela 8, pode-se ver que os vetores de parágrafo funcionam em par do que o número de tópicos de melhor desempenho para a LDA. Os vetores de parágrafo também são menos sensíveis às diferenças de tamanho de incorporação do que a LDA é a quantidade de tópicos. Também vemos um pico no desempenho de vetor de parágrafo em 100 dimensões. Ambos os modelos são melhores do que o modelo de espaço vetorial. Para a LDA, descobrimos que a ponderação de palavras TF-IDF e as suas alocações de tópicos inferidas não afetaram o desempenho.
Tabela 5: arXiv vizinhos mais próximos de “Representações Distribuídas de Frases e Documentos” usando vetores de parágrafo.

Tabela 6: arXiv vizinhos mais próximos do documento atual usando vetores de parágrafo.

Tabela 7: arXiv vizinhos mais próximos de “Representações Distribuídas de Frases e Documentos” – “neural” + “Bayesian”. Isto é, a equivalência bayesiana do documento do vetor do parágrafo.


Figura 6: Resultados de experimentos no conjunto de dados dos trigêmeos arXiv.
Tabela 8: Apresentações de diferentes métodos com a melhor dimensionalidade nos trigêmeos do artigo arXiv.

4. Discussão
Nós descrevemos um novo conjunto de resultados em vetores de parágrafo mostrando que eles podem ser efetivamente usados para medir a semelhança semântica entre textos longos. As nossas experiências mostram que os vetores de parágrafo são superiores à LDA para medir a semelhança semântica em artigos de Wikipedia em todos os tamanhos de vetores de parágrafos. Os vetores de parágrafo também são compatíveis com o melhor número de tópicos de LDA nos artigos do arXiv e se executam consistentemente em relação ao tamanho de incorporação. Também surpreendentemente, as operações vetoriais sobre elas podem ser realizadas de forma semelhante a vetores de palavras. Isso pode fornecer novas técnicas interessantes para uma ampla gama de aplicações: navegação de corpus local e não local, exploração de dataset, recomendação de livros e alocação de críticos.

Referências:
[1] D. Blei, A. Y. Ng, and M. I. Jordan. Latent Dirichlet Allocation. Journal of Machine Learning Research, 2003.
[2] Z. Harris. Distributional structure. Word, 1954.
[3] Q. V. Le and T. Mikolov. Distributed representations of sentences and documents. In International Conference on Machine Learning, 2014.
[4] T. Mikolov, K. Chen, G. Corrado, and J. Dean. Efficient estimation of word representations in vector space. arXiv preprint arXiv:1301.3781, 2013.
[5] L. J. P. van der Maaten and G. E. Hinton. Visualizing high dimensional data using t-SNE. Journal of Machine Learning Research, 2008.

Sobre o autor

Sara Filipa

Comentar

por: Sara Filipa

Posts recentes

Comentários

Arquivos

Categorias

Meta