paint-brush
Como o LinkedIn usa o NLP para projetar seu sistema de pesquisa de ajudapor@harshit158
568 leituras
568 leituras

Como o LinkedIn usa o NLP para projetar seu sistema de pesquisa de ajuda

por Harshit Sharma2m2022/07/18
Read on Terminal Reader
Read this story w/o Javascript

Muito longo; Para ler

O sistema de pesquisa de ajuda do LinkedIn está sendo usado (a partir de 2019**) para projetar seu sistema de pesquisa de ajuda. Isso destaca a declaração do problema e as diferentes iterações de soluções que foram adotadas junto com suas deficiências. Este é o resumo e minhas principais conclusões da postagem original do LinkedIn sobre como a PNL é usada na criação de sistemas de busca de ajuda. A consulta fornecida é usada para buscar todos os documentos relevantes (ocorrências) usando a indexação Lucene. Cada acerto é pontuado usando o algoritmo [BM25F](https://www.google.com/article/53174626597/).

Companies Mentioned

Mention Thumbnail
Mention Thumbnail

Coin Mentioned

Mention Thumbnail
featured image - Como o LinkedIn usa o NLP para projetar seu sistema de pesquisa de ajuda
Harshit Sharma HackerNoon profile picture

Este é o resumo e minhas principais conclusões do postagem original pelo LinkedIn sobre como o NLP está sendo usado (a partir de 2019 ) ao projetar seu sistema de pesquisa de ajuda. Isso destaca a declaração do problema e as diferentes iterações de soluções que foram adotadas junto com suas deficiências.

Declaração do problema:

Dada uma consulta de um usuário, busque o artigo de ajuda mais relevante do banco de dados.

(Imagem do autor) Declaração do problema

Iteração 1: Solução Inicial

  1. Indexou todos os artigos de ajuda (documentos) no banco de dados usando Lucene Index . Resumindo, ele gera um dicionário invertido que mapeia os termos para todos os documentos em que apareceu. Fonte: Blog original

2. A consulta fornecida é usada para buscar todos os documentos relevantes (ocorrências) usando a indexação Lucene.

3. Cada acerto é pontuado usando o algoritmo BM25F , que leva em consideração a estrutura do documento , dando os pesos mais altos aos acertos no Título , depois aos acertos nas Palavras -chave e depois no Corpo , e retorna uma pontuação ponderada.

4. Retorne os artigos com melhor pontuação.

Por que falhou

Como o sistema de recuperação de documentos é baseado em Termo ( sintática ), sem levar em conta a semântica , seguem-se dois exemplos de casos de falha: (Imagem do autor) Exemplos de casos de uso que falharam

Iteração 2: solução final

Etapa 1: normalização de texto

como cancelar minhas contas premium imediatamente” normalizado para “ cancelar conta premium” Fonte: Blog original

Etapa 2: mapeamento de consultas

Pode acontecer que a consulta normalizada não tenha nenhuma palavra em comum com as palavras dos artigos. Portanto, cada consulta é mapeada para uma consulta mais representativa para preencher a lacuna entre a terminologia do usuário e a terminologia do artigo.

Feito nas duas etapas a seguir:

  1. Agrupamento de consultas: as consultas são agrupadas com base em métricas de similaridade (Imagem do autor) Ilustração do agrupamento de consultas

2. Mineração de Tópicos e Pontuação Rep: Para cada uma das consultas no grupo Query, um repScore é calculado e as K principais consultas são selecionadas como Rep Queries (Imagem do autor) Ilustração da mineração de tópicos e pontuação de reputação

sim(RQ, Q2) é a semelhança entre a consulta bruta e outra consulta no grupo

sim(Q2, título) é a similaridade máxima entre Q2 e um dos tópicos do título (da mesma forma para o corpo)

Etapa 3: classificação de intenção

Consultas de cauda longa podem não ter uma Consulta Rep, caso em que uma CNN é usada para classificar a Intenção da consulta.

Por exemplo: “Cancelar sua assinatura premium” e “Cancelar ou atualizar uma assinatura premium comprada em seu dispositivo Apple” são considerados como tendo a mesma intenção de “cancelar premium”.

Fluxo geral (Imagem do autor) Fluxo geral


Também publicado aqui