O que significa semelhança no espaço de incorporação de palavras?

Quase todo o conteúdo online e artigos de pesquisa mencionam que os embeddings de palavras são “significativos” porque d oing álgebra vetorial nesses embedding faz sentido lógico. O exemplo mais comum citado é do domínio das analogias. Uma incorporação é julgada por sua resposta a certas analogias. Por exemplo: vetor (o homem está para o rei como a mulher está para a rainha) ou (Paris está para a França como Delhi está para a Índia). É inspirador que acertemos essas tarefas de analogia e certamente há alguma noção de similaridade que está sendo capturada pelas dimensões da incorporação de uma palavra. Mas quais noções estão realmente sendo capturadas e o que está sendo deixado de fora? Quais poderiam ser outras maneiras de avaliar a incorporação além de analogias? Estas são algumas perguntas que exploro nesta postagem do blog.

A qualidade de uma incorporação de palavras definitivamente depende da qualidade e da quantidade de dados de treinamento usados ​​para treinar o modelo. Vamos começar com uma incorporação pré-treinada bem conhecida e amplamente usada – a incorporação da luva de Stanford treinada nos tweets do Twitter disponíveis aqui- https://nlp.stanford.edu/projects/glove/. Esta incorporação funciona muito bem em tarefas de analogia e mostrou bons resultados quando usada em tarefas posteriores, como análise de sentimento. É bastante fácil baixar esses embeddings e usá-los no Python.

Depois de fazer o download do embedding, podemos usá-lo para ver quais são algumas das palavras mais semelhantes geradas para certos conceitos / palavras. A métrica de similaridade usada nesta função é a similaridade de cosseno por padrão. Portanto, para vetores que são muito semelhantes, devemos obter uma pontuação próxima de 1 e para aqueles que são extremamente diferentes, devemos obter pontuações mais baixas ou mesmo negativas (o intervalo da função cos é de -1 a +1)

Agora, pare e pense: essas são as principais palavras que vêm à sua mente quando você pensa na palavra “sincero”? Alguns deles são, por exemplo, sinceridade e generosidade. Vejamos agora quais são os principais sinônimos para sincero de acordo com o Word Net (um léxico que foi construído para capturar especificamente alguns sentidos ou relações conhecidas como sinonímia e antonímia)

Assim, podemos ver que os principais sinônimos para sincero – sério ou solene não aparecem nesta lista. Agora vamos encontrar a semelhança entre a palavra e ela mesma e a palavra e seu antônimo.

O primeiro resultado é o esperado, mas o segundo pode ser um pouco surpreendente – sincero e falso não são muito próximos, mas não estão realmente nas extremidades opostas do espaço vetorial. Isso não é realmente uma falha – se voltarmos à lógica de como os embeddings de palavras são determinados tentando aproximar essas palavras que compartilham um contexto semelhante. É provável que “sincero” e “não sincero” muitas vezes tenham um contexto semelhante e são semelhantes em muitas dimensões – por exemplo, ambos são adjetivos e estão relacionados ao conceito de ser “sincero ou sério”.

Agora, vejamos outro exemplo da palavra “chá”. Observe as palavras mais semelhantes a chá. Todos estão relacionados ao chá, mas a natureza da associação pode ser bem diferente. Por exemplo, leite, creme e açúcar são ingredientes que fazem parte do chá (relação parte-todo). O café é um substituto próximo do chá. Vinho, suco, cerveja e chá pertencem à categoria “bebidas”, embora sejam bastante diferentes do chá. “Drink” é como um superconjunto para o conjunto de bebidas incluindo chá, café, vinho e suco. A associação com bolo é um tanto surpreendente para mim, mas provavelmente as pessoas comem bolo com chá?

Assim, embeddings de boa qualidade conseguem capturar associações razoáveis ​​entre palavras. Mas essas associações estão ao longo de várias dimensões e podem representar um grande número de ideias como sinonímia, parte-todo, associação de categoria e assim por diante. Portanto, uma questão muito interessante é se é possível realmente interpretar as dimensões em embeddings de palavras? Há algum trabalho nesta área e eu brevemente explico alguns dos artigos que examinaram a interpretabilidade da incorporação de palavras em meu próximo post. Mas a lição mais importante por enquanto é que as analogias por si só não podem ser a melhor maneira de avaliar os embeddings. Na verdade, a métrica a avaliar pode ser uma função do que queremos fazer com esses embeddings. O objetivo é encontrar associações ou alguma relação específica como sinonímia? Os embeddings geralmente são bons em obter associações amplas e multidimensionais, e não um único relacionamento. No entanto, às vezes o espaço de incorporação pode capturar associações que não são intuitivas para os humanos e vice-versa. Por exemplo, observe as palavras semelhantes para casa. Quando os humanos são solicitados a dizer as principais coisas que vêm à sua mente quando ouvem house, é improvável que falem sobre preposições como “em” ou advérbios como “aqui” ou “ali”.