Há um problema que estamos tentando resolver, onde queremos fazer uma pesquisa semântica em nosso conjunto de dados, ou seja, temos dados específicos do domínio (exemplo: sentenças falando sobre automóveis)
Nossos dados são apenas um monte de frases e o que queremos é dar uma frase e recuperar as frases que são:
- Semelhante a essa frase
- Tem uma parte de uma frase semelhante à frase
- Uma frase que tem significados contextualmente semelhantes
Deixe-me tentar dar um exemplo: suponha que eu pesquise a frase "Experiência de compra", devo obter as frases como:
- Eu nunca pensei que a compra de um carro levasse menos de 30 minutos para assinar e comprar.
Encontrei um carro que gostei e o processo de compra foi
direto e fácilEu absolutamente odiava ir às compras de carro, mas hoje estou feliz por ter feito
Quero enfatizar o fato de que estamos buscando similaridade contextual e não apenas uma busca por palavras de força bruta.
Se a frase usa palavras diferentes, também deve ser capaz de encontrá-la.
Coisas que já tentamos:
Pesquisa semântica aberta O problema que enfrentamos aqui está gerando ontologia a partir dos dados que temos ou, nesse sentido, pesquisando ontologia disponível em diferentes domínios de nosso interesse.
Elastic Search (BM25 + Vectors (tf-idf)), tentamos isso em algumas frases, mas a precisão não era tão boa. A precisão também era ruim. Tentamos com um conjunto de dados com curadoria de seres humanos, que conseguiu obter apenas 10% das frases.
Tentamos diferentes combinações, como a mencionada nos transformadores de frases, e também examinamos o exemplo e tentamos avaliar com base em nosso conjunto de curadoria humana e que também tinha precisão muito baixa.
Tentamos o ELMO . Isso foi melhor, mas ainda menor precisão do que esperávamos, e existe uma carga cognitiva para decidir o valor do cosseno abaixo do qual não devemos considerar as sentenças. O mesmo se aplica ao ponto 3.
Qualquer ajuda será apreciada. Muito obrigado pela ajuda antecipadamente