Empresa Microsoft textos de origem da biblioteca de aprendizado de máquina (Space Partition Tree And Graph) com implementação do algoritmo de busca aproximada . A biblioteca na divisão de pesquisa da Microsoft Research e no centro de desenvolvimento de tecnologias de busca (Microsoft Search Technology Center). Na prática, o SPTAG é aplicado no mecanismo de pesquisa Bing para determinar os resultados mais relevantes considerando o contexto das consultas. O código é escrito em C++ e sob licença MIT. É suportado pela construção para Linux e Windows. Há uma integração para a linguagem Python.
Embora as ideias de aplicação de repositórios vetoriais em mecanismos de busca sejam conhecidas há bastante tempo, na prática sua implementação é dificultada pela grande demanda de recursos nas operações com vetores e por limitações em escalabilidade. A combinação de métodos de aprendizado profundo com algoritmos de busca aproximada do vizinho mais próximo permitiu alcançar um desempenho e escalabilidade em sistemas vetoriais a um nível aceitável para grandes mecanismos de busca. Por exemplo, no Bing, para um índice vetorial com mais de 150 bilhões de vetores, o tempo para selecionar os resultados mais relevantes é inferior a 8 ms.
A biblioteca inclui ferramentas para construção de índices e organização de busca de vetores, além de um conjunto de ferramentas para manter um sistema de busca online distribuído, abrangendo coleções muito grandes de vetores. A biblioteca assume que os dados processados e apresentados na coleção estão formatados como vetores relacionados, que podem ser comparados com base em
distâncias euclidianas distâncias cosinusais. kd-tree) e k-means tree e gráfico de vizinhanças relativas). O primeiro método exige menos recursos ao trabalhar com o índice, enquanto o segundo demonstra maior precisão nos resultados de busca em coleções de vetores muito grandes.
Nesse contexto, a busca vetorial não se limita a textos e pode ser aplicada a informações multimídia e imagens, bem como em sistemas de geração automática de recomendações. Por exemplo, em um dos protótipos baseado no framework PyTorch, foi implementado um sistema vetorial para busca levando em conta a similaridade de objetos em imagens, construído com dados de várias coleções de referência com imagens de animais, gatos e cães, que foram transformados em conjuntos de vetores. Quando uma imagem de entrada é recebida para busca, ela é convertida utilizando um modelo de aprendizado de máquina em um vetor, com base no qual, por meio do algoritmo SPTAG, os vetores mais semelhantes são selecionados do índice e, como resultado, as imagens relacionadas são retornadas.
Fonte: opennet.ru
