Detecção de plágio por IA: usando o Elasticsearch

Veja como verificar plágio em inteligência artificial usando o Elasticsearch, com foco em casos de uso com modelos de PNL (Processamento de Linguagem Natural) e Busca Vetorial.

Da busca vetorial às poderosas REST APIs, o Elasticsearch oferece aos desenvolvedores o kit de ferramentas de busca mais abrangente. Mergulhe em notebooks de exemplo no GitHub para experimentar algo novo. Você também pode iniciar seu teste gratuito ou executar o Elasticsearch localmente hoje mesmo.

O plágio pode ser direto, envolvendo a cópia de partes ou do conteúdo inteiro, ou parafraseado, onde a obra do autor é reformulada alterando-se algumas palavras ou frases.

Existe uma distinção entre inspiração e paráfrase. É possível ler um conteúdo, se inspirar e depois explorar a ideia com suas próprias palavras, mesmo que você chegue a uma conclusão semelhante.

Embora o plágio seja um tema de discussão há muito tempo, a produção e publicação aceleradas de conteúdo o mantiveram relevante e representaram um desafio constante.

Esse desafio não se limita a livros, pesquisas acadêmicas ou documentos judiciais, onde verificações de plágio são realizadas com frequência. Isso também pode se estender a jornais e até mesmo às redes sociais.

Com a abundância de informações e o fácil acesso à publicação, como o plágio pode ser verificado de forma eficaz e em larga escala?

Universidades, entidades governamentais e empresas utilizam diversas ferramentas, mas, embora uma simples busca lexical possa detectar plágio direto com eficácia, o principal desafio reside na identificação de conteúdo parafraseado.

Detecção de plágio com IA generativa

Um novo desafio surge com a IA generativa. O conteúdo gerado por IA é considerado plágio quando copiado?

Os termos de uso da OpenAI , por exemplo, especificam que a OpenAI não reivindicará direitos autorais sobre o conteúdo gerado pela API para os usuários. Nesse caso, os indivíduos que utilizam sua IA generativa podem usar o conteúdo gerado como preferirem, sem necessidade de citação.

No entanto, a aceitação do uso de IA generativa para melhorar a eficiência ainda é um tema de debate.

Na tentativa de contribuir para a detecção de plágio, a OpenAI desenvolveu um modelo de detecção , mas posteriormente reconheceu que sua precisão não é suficientemente alta.

"Acreditamos que essa precisão não é suficiente para uma detecção independente e precisa ser combinada com abordagens baseadas em metadados, julgamento humano e educação pública para ser mais eficaz."

O desafio persiste; no entanto, com a disponibilidade de mais ferramentas, existem agora mais opções para detectar plágio, mesmo em casos de conteúdo parafraseado e gerado por IA.

Detecção de plágio com Elasticsearch

Reconhecendo isso, neste blog exploraremos mais um caso de uso com modelos de Processamento de Linguagem Natural (PLN) e Busca Vetorial: a detecção de plágio, além das buscas por metadados.

Isso é demonstrado com exemplos em Python, onde utilizamos um conjunto de dados do SentenceTransformers contendo artigos relacionados a PNL (Processamento de Linguagem Natural). Verificamos se os resumos contêm plágio realizando uma 'similaridade textual semântica', considerando representações vetoriais de 'resumos' geradas com um modelo de incorporação de texto previamente importado para o Elasticsearch. Além disso, para identificar conteúdo gerado por IA — plágio por IA —, um modelo de PNL desenvolvido pela OpenAI também foi importado para o Elasticsearch.

A imagem a seguir ilustra o fluxo de dados:

Durante o processo de ingestão com um processador de inferência, o parágrafo 'abstract' é mapeado para um vetor de 768 dimensões, o 'abstract_vector.predicted_value'.

Mapeamento:

A similaridade entre representações vetoriais é medida usando uma métrica de similaridade vetorial, definida pelo parâmetro 'similaridade'.

O cosseno é a métrica de similaridade padrão, calculada como '(1 + cosseno(consulta, vetor)) / 2'. A menos que seja necessário preservar os vetores originais e não seja possível normalizá-los antecipadamente, a maneira mais eficiente de realizar a similaridade de cosseno é normalizar todos os vetores para comprimento unitário. Isso ajuda a evitar cálculos extras de comprimento de vetor durante a busca; em vez disso, use 'produto escalar'.

Nesse mesmo fluxo de trabalho, outro processador de inferência contendo o modelo de classificação de texto detecta se o conteúdo é 'Real', provavelmente escrito por humanos, ou 'Falso', provavelmente escrito por IA, adicionando o 'openai-detector.predicted_value' a cada documento.

Pipeline de ingestão:

No momento da consulta, o mesmo modelo de incorporação de texto também é empregado para gerar a representação vetorial da consulta 'model_text' em um objeto 'query_vector_builder'.

Uma busca por k-vizinhos mais próximos (kNN) encontra os k vetores mais próximos do vetor de consulta, medidos pela métrica de similaridade.

A pontuação de cada documento é derivada da similaridade, garantindo que uma pontuação maior corresponda a uma classificação mais alta. Isso significa que o documento é semanticamente mais semelhante. Como resultado, estamos apresentando três possibilidades: se a pontuação for > 0,9, consideramos 'alta similaridade'; se for < 0,7, 'baixa similaridade'; caso contrário, 'similaridade moderada'. Você tem a flexibilidade de definir diferentes valores de limite para determinar qual nível de _score se qualifica como plágio ou não, com base no seu caso de uso.

Além disso, é realizada uma classificação de texto para verificar também a presença de elementos gerados por IA na consulta textual.

Consulta:

Saída:

Neste exemplo, após utilizar um dos valores 'abstratos' do nosso conjunto de dados como a consulta de texto 'model_text', foi identificado plágio. A pontuação de similaridade é 1,0, indicando um alto nível de similaridade — plágio direto. A consulta vetorizada e o documento não foram reconhecidos como conteúdo gerado por IA, o que era esperado.

Consulta:

Saída:

Ao atualizar a consulta de texto 'model_text' com um texto gerado por IA que transmite a mesma mensagem, minimizando a repetição de palavras semelhantes, a similaridade detectada ainda foi alta, mas a pontuação foi de 0,9302529 em vez de 1,0 — plágio por paráfrase. Também era esperado que essa consulta, gerada por IA, fosse detectada.

Por fim, considerando a consulta de texto 'model_text' como um texto sobre Elasticsearch, que não é um resumo de nenhum desses documentos, a similaridade detectada foi de 0,68991005, indicando baixa similaridade de acordo com os valores de limite considerados.

Consulta:

Saída:

Embora o plágio tenha sido identificado com precisão na consulta de texto gerada pela IA, bem como em casos de paráfrase e conteúdo copiado diretamente, navegar pelo cenário da detecção de plágio envolve reconhecer vários aspectos.

No contexto da detecção de conteúdo gerado por IA, exploramos um modelo que oferece uma contribuição valiosa. No entanto, é crucial reconhecer as limitações inerentes à detecção isolada, o que torna necessária a incorporação de outros métodos para aumentar a precisão.

A variabilidade introduzida pela escolha dos modelos de incorporação de texto é outra consideração importante. Diferentes modelos, treinados com conjuntos de dados distintos, resultam em níveis variados de similaridade, o que destaca a importância das representações vetoriais de texto geradas.

Por fim, nesses exemplos, utilizamos o resumo do documento. No entanto, a detecção de plágio geralmente envolve documentos extensos, tornando essencial abordar o desafio do tamanho do texto. É comum que o texto exceda o limite de tokens de um modelo, exigindo segmentação em partes antes da construção dos embeddings. Uma abordagem prática para lidar com isso envolve a utilização de estruturas aninhadas com dense_vector.

Conclusão

Neste blog, discutimos os desafios da detecção de plágio, particularmente em conteúdo parafraseado e gerado por IA, e como a similaridade textual semântica e a classificação de texto podem ser usadas para esse fim.

Ao combinar esses métodos, fornecemos um exemplo de detecção de plágio no qual identificamos com sucesso conteúdo gerado por IA, plágio direto e plágio por paráfrase.

O objetivo principal era estabelecer um sistema de filtragem que simplificasse a detecção, mas a avaliação humana continua sendo essencial para a validação.

Se você tiver interesse em aprender mais sobre similaridade textual semântica e PNL, recomendamos que você também confira estes links:

Conteúdo relacionado

Pronto para criar buscas de última geração?

Uma pesquisa suficientemente avançada não se consegue apenas com o esforço de uma só pessoa. O Elasticsearch é impulsionado por cientistas de dados, especialistas em operações de aprendizado de máquina, engenheiros e muitos outros que são tão apaixonados por buscas quanto você. Vamos nos conectar e trabalhar juntos para construir a experiência de busca mágica que lhe trará os resultados desejados.

Experimente você mesmo(a)