Add search synonyms

I have been reading a lot here lately and see that ‘post’ and ‘reply’ seem to be used somewhat interchangeably.

If this were done, it would result in fewer bothersome questions when someone uses the wrong one of the two for their searching before they ask a question with a new topic (LOL it just happened to me, ‘delete post after’ did not produce the same results as ‘delete reply after’…)

Hence my topic question…

1 curtida

Reply and post are not 100% interchangeable. In most usage we see here on Meta they are, but not always.

I’d suggest reviewing Discourse New User Guide, which describes what a post is. A reply is any post that is not the OP.

5 curtidas

But I would rather find what I am searching for even if I do not know the correct terminology.

For those more ‘in the know’, would they not still have the option of doing explicit searches with quotes around their explicit term of interest, for example “reply” :question:

Thanks, I will read that but do many other people read that before they make new topics here?

So, I read the ‘Discourse New User Guide’ and I am unable to find any explicit definition of ‘reply’.

But as I have quoted you above, a ‘reply’ is necessarily a ‘post’, so when someone searches for ‘post’ all ‘reply’ matches should also be presented…

Whether, a search for ‘reply’ should bring up all ‘post’ entries is also unknown after reading that guide.

So, I would still like to have the request of this topics’ title, acted upon. (but again, that is only my opinion)

A reply is necessarily a post but some posts are not replies so searching on post should not automatically add the reply search term.

If your preference is satisfied then it will annoy other users like myself who are only searching for post and not reply.

3 curtidas

But you are obviously ‘in the know’ and would likely just use an explicit search term without bothering people here with a new topic about why so many search results for ‘post’ are showing up in your ‘reply’ searches.

Regardless of the semantics of post/reply — adding synonyms to search isn’t something that can be configured in Discourse at the moment.

9 curtidas

Ok, that shuts me up :wink: but perhaps there should be a way to add them, I predict it could lessen the burden on the good people who respond to newbies on this great forum :slight_smile:

Actually, I do general searches and then follow relevant links that have some overlap with what I’m searching for.

Search engines have an idea of which links are followed. Discourse has something similar. “Suggested messages” at the end of the topic are a fruitful source of relevant topics not directly related to the specific search terms.

1 curtida

I am recategorizing it as feature the feature request is pretty clear to me. It is asking for a place in the UX to define custom synonyms.

Postgres technically supports synonyms per:

So if you wanted to get your gloves off and be mega technical you could wire something today, but I agree that some time in the future adding a UI to allow mods to define this may be interesting.

Not putting a pr-welcome on this cause it is complicated and would take quite a while to get right with possible limited benefit.

Timeframe wise I would say this is something I expect not to get to in the next year and probably to get to within the next 5 years.

9 curtidas

Congratulations Dale :partying_face:

image

1 curtida

Fizemos uma atualização em nossa terminologia (Usuário agora é “Membro”) e atualizamos nossa documentação de acordo, mas eu gostaria de poder fazer com que qualquer pessoa que pesquise por Usuário veja automaticamente os resultados mencionando “Membro”. Alguma ideia de um método fácil para realizar isso?

CC: @michellefs

É um desafio razoavelmente difícil, poderíamos potencialmente criar um plugin que injete sinônimos nos dados indexados - mas estaríamos falando de algo entre 1 dia a 5 dias de trabalho.

Acho que a grande questão aqui é o quão importante isso é para você? É possível, mas exigiria alguma consultoria personalizada de nossa parte.

1 curtida

Eu não sei nada, mas isso não é apenas uma questão de mudar textos do lado de personalização? Ou eu, como de costume, estou entendendo tudo errado?

Acredito que a esperança seja ter a capacidade de impactar o algoritmo de busca indiretamente por meio de uma ferramenta como sinônimos de tags. Mas para quaisquer palavras-chave dentro de uma postagem (ou pelo menos na postagem original).

Um exemplo de caso de uso seria para membros da comunidade/visitantes do site que pesquisam suas frases coloquiais em vez de jargões de marca semelhantes. O algoritmo de busca priorizou tópicos muito diferentes. Um exemplo em nosso site seria pesquisar por "aplicativo de desktop" versus tópicos de "cliente nativo".

Curioso para saber se os pontos de vista sobre erros de digitação mudaram ao longo dos anos:

No Discourse-AI, começamos a experimentar a busca semântica. Ainda são os primórdios e ainda estamos explorando esses sistemas.

Usar LLMs para melhorar o prompt de busca também é uma abordagem possível (embora lenta hoje em dia):

Essa técnica é mencionada aqui: GitHub - texttron/hyde: HyDE: Precise Zero-Shot Dense Retrieval without Relevance Labels


Além das abordagens 100% automatizadas

Nossa estratégia geral aqui é iterar. Já temos “palavras observadas” no produto, eu não me importaria com um recurso que adicionasse “Sinônimos de Busca” onde você especifica erros de digitação comuns e frases comuns que deseja “preencher”. Não é um trabalho agendado, mas certamente algo que você poderia considerar patrocinar.

Há precedentes para este recurso exato no Postgres em: https://www.postgresql.org/docs/current/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY

A outra área que estou aberto a explorar (embora esteja apenas morno quanto a isso) é permitir um local “metadado” oculto nas postagens, onde os administradores podem inserir termos de busca. É muito, muito invisível e, geralmente, recomendo apenas “preencher adequadamente” os trabalhos para que nada seja oculto, por exemplo:

SEO

semântica, relacionada, melhorando

2 curtidas

Shocked Cosmo Kramer GIF

Essa é uma ideia de puro gênio, resolve o principal problema da busca baseada em embeddings: a má entrada do usuário.

E requer mudanças mínimas em nossa configuração existente, pois você só precisa adicionar uma pequena etapa de “enriquecimento” da consulta de busca :exploding_head:


Neste tópico, algo que também podemos fazer é uma busca híbrida:

  • Buscar usando a pesquisa de texto completo PG existente
  • Buscar usando embeddings
  • Reunir os 50 melhores resultados de ambos
  • Passar para um serviço de reclassificação de busca
  • Mostrar os resultados reclassificados

Já fornecemos um reclassificador super capaz em nossa API de embeddings existente sob um endpoint separado, isso tem todas as peças necessárias prontas para acontecer.

Exemplo aqui:

https://github.com/pgvector/pgvector-python/blob/master/examples/hybrid_search.py#L67-L70

6 curtidas