Projete um algoritmo em pseudocódigo que detecte plágio entre redações usando shingling e hashing. Descreva…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Construir soluções computacionais de problemas de diferentes áreas do conhecimento, de forma individual e colaborativa, selecionando as estruturas de dados e técnicas adequadas, aperfeiçoando e articulando saberes escolares.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Projete um algoritmo em pseudocódigo que detecte plágio entre redações usando shingling e hashing. Descreva representação de dados, escolha do tamanho de shingle, método de comparação (por exemplo Jaccard ou MinHash), limiar de similaridade, complexidade e limitações.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Resposta modelo (pseudocódigo e análise): 1) Pré-processamento: normalizar caixa, remover pontuação e tokenizar. 2) Para cada documento D: gerar shingles (k-gramas de palavras) com k˜5; S_D = conjunto de shingles. 3) Hash cada shingle para inteiro e armazene S_D como conjunto (ou assinatura MinHash). 4) Comparação: calcular Jaccard(S_A,S_B)=|S_AnS_B|/|S_A?S_B|; se usar MinHash, comparar assinaturas e estimar Jaccard. 5) Limiar: definir t (ex.: 0.3–0.5) conforme sensibilidade desejada. Complexidade: gerar shingles é O(n) por documento (n tokens); calcular Jaccard puro exige interseção/união com custo proporcional aos tamanhos dos conjuntos; MinHash reduz custo de comparação por par a O(m) com m assinaturas. Limitações: paráfrase e reordenação podem reduzir detecção; escolha de k e t afeta falsos positivos/negativos; hashes podem colidir; custo crescente em grande corpus sem técnicas de indexação (LSH) e necessidade de ajustar sensibilidade para contexto escolar.
Explicação
A explicação aborda de forma clara e estruturada o processo de detecção de plágio, detalhando cada etapa do algoritmo, desde o pré-processamento até a comparação de conjuntos de shingles. A análise da complexidade e das limitações oferece uma visão crítica sobre a eficácia do método, considerando variáveis que podem impactar os resultados. Além disso, a escolha do método de comparação e a definição de limiares de similaridade são fundamentais para ajustar a sensibilidade do algoritmo às necessidades específicas de detecção de plágio.
Raio-X da questão
detecção de plágio
avaliacao
algoritmos e pseudocódigo · hashing e shingling
Revisar conceitos de shingling, hashing e métodos de comparação.
O aluno pode confundir os métodos de comparação, escolhendo um que não se aplica ao contexto de detecção de plágio.
ciencia_tecnologia
pensamento_critico
cientifico
Questões parecidas com resolução
- Um aluno usa um algoritmo de geração de texto para escrever um trabalho e apresenta o resultado sem citar a ferramenta…
- Projete em pseudocódigo um algoritmo que receba um texto (dado) e retorne as 5 palavras mais frequentes após tokenização…
- Projete um algoritmo em pseudocódigo que receba na variável 'mensagem' (sequência de caracteres UTF-8) e produza duas…
- Projete um algoritmo em pseudocódigo que detecte e remova registros duplicados em uma matriz de dados escolares (cada…
- Escreva um algoritmo em pseudocódigo para validar uma senha: verifique comprimento mínimo, presença de letra e número e…
- Projete um algoritmo em pseudocódigo que remova duplicatas de uma lista de registros usando uma tabela hash; descreva a…
🔎 Procurar outra questão
Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
