Melhore os resultados de pesquisa do seu aplicativo com o ajuste automático
Avalie esse Tutorial
Historicamente, a única maneira de melhorar a relevância da consulta de pesquisa do seu aplicativo é por meio de intervenção manual. Por exemplo, você pode introduzir oaumento de pontuação para multiplicar uma pontuação básica de relevância na presença de campos específicos. Isso garante que as pesquisas em que uma chave presente em alguns campos tenham um peso maior do que em outras. Isso, no entanto, é fixo por natureza. Os resultados são dinâmicos, mas a lógica em si não muda.
O projeto a seguir mostrará como aproveitar sinônimos para criar um loop de feedback auto-ajustável, a fim de fornecer resultados de pesquisa cada vez mais relevantes aos usuários, tudo sem modelos complexos de aprendizado de máquina!
Temos um aplicativo de busca de alimentos em que um usuário pesquisa por “Romanian Food.”. Supondo que estejamos registrando os dados de sequência de cliques de cada usuário (sua interação passo a passo com nosso aplicativo), podemos dar uma olhada nesse “sequence” e compará-lo com outros resultados que produziram um forte CTA (call to action): um checkout bem-sucedido.
Outro usuário pesquisou por "German Cuisine " e ele tinha uma sequência de cliques muito semelhante. Bem, podemos criar um script que analise os fluxos de cliques desses usuários (e de outros usuários), identificando similaridades, podemos dizer ao script para anexá-lo a um documento de sinônimos que contenha "German, " "Romanian, " e outros cozinhas mais comuns, como “Hungarian.”
Aqui está um fluxo de trabalho do que pretendemos realizar:
Em nossa camada de aplicativo, à medida que os eventos são disparados, nós os registramos em uma coleção de clickstreams, como:
Nesta lista simplificada de eventos, podemos concluir que {"session_id":"1"} pesquisou "romanian food, " o que levou a uma taxa de conversão mais alta, deployment_success, em comparação com {"session_id":"2"}, que pesquisou "hungarian food " e parou após o evento add_to_cart. Você mesmo pode importar esses dados usando sample_data.json.
Vamos preparar os dados para nosso script search_tuner.
A propósito, não há problema que apenas alguns documentos tenham um campo de metadados. Nosso operador $group pode identificar de forma inteligente os que fazem e os que não fazem isso.
Vamos criar a visualização criando a query, depois acessando o Compass e adicionando-a como uma nova collection chamada group_by_session_id_and_search_query:
Veja como será:
Aqui está, pessoal. Pegamos dados brutos gravados em nosso servidor de aplicativos e os usamos criando um feedback que incentiva o comportamento positivo do usuário.
Ao medir esse ciclo de feedback em relação aos seus KPIs, você pode criar um teste A/B simples em relação a determinados sinônimos e padrões de usuário para otimizar seu aplicativo!