o problema
Sites de perguntas e respostas e páginas de produto sugerem perguntas relacionadas. É uma superfície discreta e cara de errar: quem chega numa página de fone de ouvido com “vem com case?” na cabeça deveria encontrar ali as outras cinco perguntas que ainda não fez. O jeito de estragar isso é redundância. Se a lista de candidatas traz “tem cancelamento de ruído?”, “esse fone cancela ruído?” e “o cancelamento de ruído é bom?”, o usuário recebeu uma pergunta ocupando três lugares e perdeu as duas que sobraram de fora.
Detectar essa redundância não é o mesmo trabalho que detectar página duplicada na web. O texto de duas perguntas equivalentes pode não ter sobreposição nenhuma — “cabe na mochila?” e “quais as dimensões?” pedem a mesma resposta e não dividem um token. O caminho inverso também acontece: “como devolvo?” e “como devolvo depois de 30 dias?” são quase idênticas na superfície e querem coisas distintas. Os autores colocam o dedo exatamente aqui: pergunta é um objeto que aponta para fora de si, para uma informação em aberto que não está contida nas palavras usadas. Comparar as palavras compara a casca. E o caso de uso ficou mais valioso com LLM: se você reconhece que a pergunta que chegou é a mesma de ontem, serve a resposta já computada em vez de pagar geração de novo.
a ideia
Antes de propor um detector, o trabalho propõe uma taxonomia. Esse é o movimento central e vale mais que o método: em vez de tratar “quase-duplicata” como um limiar único numa métrica de similaridade, os autores separam os tipos de proximidade que existem entre perguntas — as sutilezas que fazem duas formulações serem a mesma coisa ou não. Só depois disso um método de detecção baseado nas capacidades de LLMs faz sentido, porque o modelo passa a ter um critério para aplicar, e não uma noção difusa de “parecido”.
O que está publicado na página do trabalho é o resumo. Não descrevo aqui as categorias da taxonomia, o prompt, nem a tabela de resultados, porque não os vi. Quem precisa do detalhe operacional tem que ir ao texto apresentado na Web Conference 2024.
o que isso custou
O resumo não declara limitações, e essa ausência já é informação: não há número, baseline nem benchmark visível para conferir. Um verbete honesto sobre este trabalho é curto por causa disso.
Os custos que a proposta implica, por outro lado, são visíveis pela forma. Taxonomia é julgamento humano cristalizado: alguém decidiu onde cortar entre “mesma pergunta” e “pergunta vizinha”, e essa decisão não é universal — o que é duplicata num fórum de programação não é duplicata num catálogo de eletrodomésticos, onde a variação do modelo muda a resposta. A taxonomia vira, na prática, mais um artefato a manter.
E há o custo por comparação. Um modelo de linguagem julgando um par de perguntas é ordens de grandeza mais caro que uma comparação de assinaturas. Numa lista de candidatas, o número de pares cresce com o quadrado do tamanho. Isso empurra o método para o lugar onde ele cabe: reranqueamento e decisão final sobre poucos pares, depois que uma etapa barata já eliminou o óbvio. O trabalho resolve precisão, não escala.
onde isso aparece hoje
O trabalho é recente e pequeno demais para eu apontar uma linhagem que saiu dele. O que dá para situar é a vizinhança em que ele entra.
A tradição de deduplicação por assinatura, que Detecting Near-Duplicates for Web Crawling fixou, e a busca de pares similares em escala de Scaling Up All Pairs Similarity Search resolvem o lado barato do funil — e é justamente onde elas falham, no par sem sobreposição léxica, que este paper mira. Do lado semântico, os encoders de Sentence-BERT capturam paráfrase, mas com o mesmo ponto cego: aproximam texto de texto, não intenção de intenção.
O segundo caso de uso do resumo, reaproveitar resposta pré-computada, é a versão semântica do que Prompt caching faz por prefixo exato. Cache por prefixo exige que os bytes batam. Detecção de quase-duplicata é a aposta de que dá para acertar quando eles não batem e a resposta serve mesmo assim — e o preço de errar essa aposta é servir a resposta errada com cara de certa.