SOFTWARE PARA DETECÇÃO DE TEXTOS COM ......222 t } µ L / ¡ . 5 1. INTRODUÇÃO Em áreas...

21
Anhanguera Educacional Correspondência/Contato Alameda Maria Tereza, 4266 Valinhos, SP - CEP 13278-181 [email protected] Coordenação Instuto de Pesquisas Aplicadas e Desenvolvimento Educacional - IPADE Publicação: 5 de março de 2010 Trabalho realizado com o incenvo e fomento da Anhanguera Educacional S.A. Clever Marcos Teixeira Marcelo Augusto Cicogna Curso: Bacharelado - Ciência da Computação FACULDADE Faculdade Anhanguera de Valinhos RESUMO Com o crescente acesso e uso dos recursos existentes na internet, verifica-se uma correlação deste crescimento com o número de problemas relacionados a cópias indevidas de conteúdo, caracterizando o plágio de trabalhos intelectuais. Seja por má fé, por falta de planejamento do tempo para se produzir um trabalho escrito, ou por preguiça e desleixo de alguns, é fato que este se tornou um problema de considerável dimensão para todos aqueles que trabalham com a publicação de conteúdo técnico, artístico ou científico. O objetivo deste projeto é a implementação de um protótipo de programa de computador que auxilie a detecção de textos com problemas relacionados às definições de plágio. O programa poderá ser utilizado no combate à publicação de cópias indevidas. A idéia central é tomar um texto de entrada e rastrear trechos deste na internet, à procura de textos similares, os textos encontrados devem ser submetidos a uma análise mais detalhada para se definir o quão similares são com o texto de entrada. A medida de similaridade entre a entrada e os resultados das pesquisas e análises serão indicadores da probabilidade do texto ter sido copiado de outras fontes publicadas na internet. Palavras-Chave: plágio; internet; varredura; detecção; similaridade de documentos SOFTWARE PARA DETECÇÃO DE TEXTOS COM PLÁGIO BASEADO EM BUSCA PELA INTERNET ANUÁRIO DA PRODUÇÃO DE INICIAÇÃO CIENTÍFICA DISCENTE VOL. 14, Nº24. , ANO 2011

Transcript of SOFTWARE PARA DETECÇÃO DE TEXTOS COM ......222 t } µ L / ¡ . 5 1. INTRODUÇÃO Em áreas...

Page 1: SOFTWARE PARA DETECÇÃO DE TEXTOS COM ......222 t } µ L / ¡ . 5 1. INTRODUÇÃO Em áreas envolvidas com a publicação de informações, ao se pensar em produção de textos como,

Anhanguera Educacional

Correspondência/ContatoAlameda Maria Tereza, 4266Valinhos, SP - CEP [email protected]

CoordenaçãoInstituto de Pesquisas Aplicadas e Desenvolvimento Educacional - IPADE

Publicação: 5 de março de 2010Trabalho realizado com o incentivo e fomento

da Anhanguera Educacional S.A.

Clever Marcos Teixeira

Marcelo Augusto Cicogna

Curso: Bacharelado - Ciência da ComputaçãoFaculdade

Faculdade Anhanguera de Valinhos

RESUMO

Com o crescente acesso e uso dos recursos existentes na internet, verifica-se uma correlação deste crescimento com o número de problemas relacionados a cópias indevidas de conteúdo, caracterizando o plágio de trabalhos intelectuais. Seja por má fé, por falta de planejamento do tempo para se produzir um trabalho escrito, ou por preguiça e desleixo de alguns, é fato que este se tornou um problema de considerável dimensão para todos aqueles que trabalham com a publicação de conteúdo técnico, artístico ou científico. O objetivo deste projeto é a implementação de um protótipo de programa de computador que auxilie a detecção de textos com problemas relacionados às definições de plágio. O programa poderá ser utilizado no combate à publicação de cópias indevidas. A idéia central é tomar um texto de entrada e rastrear trechos deste na internet, à procura de textos similares, os textos encontrados devem ser submetidos a uma análise mais detalhada para se definir o quão similares são com o texto de entrada. A medida de similaridade entre a entrada e os resultados das pesquisas e análises serão indicadores da probabilidade do texto ter sido copiado de outras fontes publicadas na internet.

Palavras-Chave: plágio; internet; varredura; detecção; similaridade de documentos

SOFTWARE PARA DETECÇÃO DE TEXTOS COM PLÁGIO BASEADO EM BUSCA PELA INTERNET

aNuÁRIO da PROduÇÃO de INIcIaÇÃO cIeNTÍFIca dISceNTe VOl. 14, Nº24. , aNO 2011

Page 2: SOFTWARE PARA DETECÇÃO DE TEXTOS COM ......222 t } µ L / ¡ . 5 1. INTRODUÇÃO Em áreas envolvidas com a publicação de informações, ao se pensar em produção de textos como,

222 Anuário da Produção de Iniciação Científica Discente

1. INTRODUÇÃO

Em áreas envolvidas com a publicação de informações, ao se pensar em produção de textos

como, artigos, monografias e trabalhos de conclusão de curso, é comum verificar a existência

do problema de cópias indevidas de trabalhos já existentes.

Com a difusão da internet, verificou-se um aumento do acesso às informações e da

produção de trabalhos que possuem cópias sem referência apropriada ao conteúdo de

obras de outros autores, o que caracteriza plágio. Este aumento se deve, principalmente, à

facilidade de acesso e de transcrição de textos, bem como à melhoria verificada nos sistemas

de pesquisa de conteúdo da internet.

Considerando a Lei de Direitos Autorais (Lei 9610/98) prevista no Código Penal

(2008), plágio é o ato de apresentar um trabalho que seja inteiramente ou contenha partes do

trabalho de outro autor sem que sejam feitas as devidas citações ou transcrições, assumindo

assim, o plagiador, a autoria do trabalho. Malcolm e Lane (2008) dividem o problema de

plágio acadêmico em quatro tipos:

• quando um autor copia do trabalho de um grupo de colegas, denominado nesse

caso de collusion (conluio);

• quando a fonte das cópias se encontra em documentos publicados na internet;

• quando a fonte não está disponível em meios eletrônicos de fácil acesso;

• quando o trabalho é realizado sob encomenda.

Este projeto tem foco nos dois primeiros tipos, pois têm maior chance de serem

verificados por uma ferramenta automatizada de validação.

Existem vários softwares que se propõem a auxiliar na validação de textos frente ao

problema de trechos que se apresentam como cópias indevidas de outros trabalhos. Entre

eles:

• os baseados em busca pela internet, como o Viper (2011), Turnitin (2011), Plagius

(HENNING, 2011) e o Farejador de Plágio (PEZZIN, 2011);

• os que analisam o problema de plágio por conluio dentro de um conjunto de

documentos, como é o caso do software Ferret (LYON; BARRETT; MALCOLM, 2004);

• os que buscam semelhança de documentos entre as cópias depositadas em bibliotecas

virtuais como, por exemplo, o SCAM (SHIVAKUMAR; GARCIA-MOLINA, 1995).

De forma geral, pode-se inferir que estes programas partem do documento a ser

verificado, denominado arquivo de entrada, extraem trechos do texto e efetuam pesquisas

na internet ou em um conjunto de outros documentos para identificar uma semelhança

computacional. Em seguida, os programas determinam uma estatística de cômputo das

semelhanças para uma análise humana final. Essa estatística deve auxiliar a tomada de

decisão sobre a existência, ou não, de plágio.

Vale destacar, no entanto, que esses softwares não possuem documentação detalhada

Software para detecção de textos com plágio baseado em busca pela internet

Page 3: SOFTWARE PARA DETECÇÃO DE TEXTOS COM ......222 t } µ L / ¡ . 5 1. INTRODUÇÃO Em áreas envolvidas com a publicação de informações, ao se pensar em produção de textos como,

223

sobre o seu projeto ou mesmo o funcionamento interno, o que torna difícil inferir sobre o seu

funcionamento e validar a metodologia utilizada. Apesar de não possuir documentação, os

autores dos softwares Ferret e SCAM possuem trabalhos científicos publicados que permitem

o estudo da técnica e da metodologia de busca anti-plágio, ao mesmo tempo em que é possível

identificar aspectos de suas implementações computacionais.

Muitos dos autores citados neste trabalho mencionam a importância de um parecer

final sobre a identificação de plágio. Em outras palavras, mesmo com a utilização de um

software anti-plágio, a análise de um ser humano ainda é imprescindível para lavrar uma

decisão final, evitando-se o resultado de “falso-positivo”. Uma ferramenta computacional

pode servir ao usuário como um sistema de suporte à decisão, mas não convém deixar ao

método a atribuição final de resultados (HENNING, 2011). Ao mesmo tempo, quanto maior

o número de semelhanças, maior a chance de se comprovar a existência de plágio. O cálculo

desta chance ou probabilidade é uma das contribuições que este projeto pretende apresentar

aos interessados no tema.

O presente trabalho de iniciação científica se propõe a estudar o assunto e desenvolver

um protótipo de um sistema de detecção de plágio com o detalhamento e a publicação de

um método de funcionamento.

2. OBjETIvOS

O objetivo geral desse trabalho é desenvolver uma metodologia e sua implementação

computacional para detecção de textos que possam conter problemas segundo as definições

de plágio.

Os objetivos específicos são: desenvolver um algoritmo que permita detectar uma

possível cópia por meio de comparações; criar uma estatística de cômputo da probabilidade

de plágio; projetar e implementar um protótipo de programa de computador capaz de

verificar a probabilidade de um texto possuir plágio.

3. METODOLOGIA

Segundo Oliveira et al. (2007), as técnicas da área de Recuperação de Informação podem ser

utilizadas como base científica para a construção de modelos de busca anti-plágio.

A Recuperação de Informação é uma área da computação que trata da representação,

armazenamento, organização e acesso a informações (BAEZA-YATES; RIBEIRO-NETO,

1999). Algumas técnicas dessa área que podem auxiliar aos métodos anti-plágio são:

• pré-processamento dos documentos, a qual, geralmente, exclui ou promove

troca de dados dos documentos com o objetivo de auxiliar o cálculo de fatores de

Vol.14 , Nº. 24 Ano 2011 • p. 221 - 241

Clever Marcos Teixeira, Marcelo Augusto Cicogna

Page 4: SOFTWARE PARA DETECÇÃO DE TEXTOS COM ......222 t } µ L / ¡ . 5 1. INTRODUÇÃO Em áreas envolvidas com a publicação de informações, ao se pensar em produção de textos como,

224 Anuário da Produção de Iniciação Científica Discente

semelhança;

• armazenamento das identidades dos documentos, fase na qual se empregam

estruturas de dados de forte compromisso com o desempenho computacional de

recuperação de informações focada no cálculo de índices de semelhança extraídos

dos conteúdos dos documentos;

• modelos para cálculo de similaridade dos documentos (BAEZA-YATES; RIBEIRO-

NETO, 1999).

O objetivo do uso das técnicas de recuperação é determinar o grau de semelhança

entre documentos, possibilitando uma classificação por relevância em relação à informação

que se deseja recuperar (OLIVEIRA et al., 2007).

Para a determinação computacional da semelhança de documentos, há um modelo

denominado modelo vetorial, que se propõe a representar os documentos por um conjunto

de fragmentos, denominados termos, e associar um peso calculado a partir do conceito

de freqüência estatística. Cada termo pode ser composto por uma ou mais palavras

do documento e está associado a uma posição do vetor de pesos, sendo este valor uma

identidade numérica da freqüência de ocorrência do termo no documento. Após a construção

dos vetores e considerando os conceitos simples de Álgebra Linear, a similaridade entre

os documentos pode ser determinada pela correlação entre os vetores de pesos de dois

documentos, quantificando-a por meio do cosseno do ângulo entre os dois vetores (BAEZA-

YATES; RIBEIRO-NETO, 1999).

O SCAM é um exemplo de software que utiliza o modelo vetorial como base para a

estrutura de armazenamento e cálculo de similaridade entre documentos em bibliotecas

digitais. Seus autores, Shivakumar e Garcia-Molina (1995), relacionam esta estrutura de

armazenamento dos documentos, seus termos e freqüências com o conceito de um vocabulary.

Os termos são denominados chunks e podem conter mais de uma palavra.

Existem também métodos anti-plágio baseados em dificuldades inerentes às áreas de

reconhecimento artificial da fala. Estes métodos se valem de constatações estatísticas de

raridade (baixa freqüência) de termos empregados na escrita. Com base nessas constatações,

Lyon, Malcolm e Dickerson (2001) propõem um método no qual a extração dos chunks ocorra

de forma sobreposta e com repetição (overlaping).

De forma semelhante, Oliveira et al. (2007) também definem o conceito de granularidade

de um chunk como o número de palavras extraídas do documento para formar cada um

dos termos. Lyon, Malcolm e Dickerson (2001) demonstram, por meio de testes numéricos,

que a granularidade formada por três palavras (3-grams) apresenta melhor resultado para

o desempenho computacional e acuidade da busca anti-plágio. A justificativa do uso de

3-grams está relacionada à raridade de trechos subordinados à distribuição Zipfian (2011).

Esta distribuição empírica de probabilidades determina o grau de raridade das palavras

Software para detecção de textos com plágio baseado em busca pela internet

Page 5: SOFTWARE PARA DETECÇÃO DE TEXTOS COM ......222 t } µ L / ¡ . 5 1. INTRODUÇÃO Em áreas envolvidas com a publicação de informações, ao se pensar em produção de textos como,

225

pertencentes a uma língua. Lyon, Malcolm e Dickerson (2001) apresentam também um

cálculo de semelhança baseado na teoria de conjuntos, no qual a similaridade é igual à

relação percentual entre a interseção de coincidências em relação à união de todos os chunks

de dois documentos.

Com base nas técnicas citadas anteriormente, propõem-se que um método geral de

busca anti-plágio por conluio (collusion) seja formado pelas seguintes etapas:

• receber documentos de entrada;

• efetuar um pré-processamento dos documentos;

• extrair dos documentos fragmentos (chunks) que permitam traçar uma identidade

computacional de seus conteúdos;

• armazenar os chunks em estruturas de recuperação eficientes do tipo vocabulary;

• aplicar um método de comparação a partir das identidades dos documentos

utilizando um limiar como referência para a determinação de positivos ou negativos

do teste anti-plágio;

• salvar os resultados das comparações em uma estrutura de relatório para análise

final do usuário.

Para expandir a buscar por plágio por meio da internet, de acordo com o objetivo

principal deste projeto, um módulo de busca web (web search) pode ser projetado, tomando

como ponto de partida o estudo de freqüência dos chunks (MALCOLM; LANE, 2008). A idéia

central é seguir de forma reversa os passos de um autor com ações voltadas a criação de

cópias indevidas. Neste caso, geralmente, o problema tem início com a digitação de algumas

palavras-chave em uma ferramenta de busca, como o Google, para então delimitar textos

dentro do tema de interesse. A partir desta idéia, o módulo anti-plágio por collusion pode ser

utilizado para extrair os chunks mais significativos do documento de entrada e, então, estes

seriam repassados ao módulo web search para efetuar a busca por documentos similares na

internet, com o auxilio de um sistema de busca para a internet como, por exemplo, o Google.

Dos documentos devolvidos pelo buscador, os n mais significativos segundo uma estatística

de resultados da busca web devem ser recuperados e submetidos ao módulo collusion para

comparação (MALCOLM; LANE, 2008).

Seguindo esse raciocínio, propõe-se que o módulo web search seja formado pelas

seguintes etapas:

• receber um conjunto de chunks (previamente extraídos pelo módulo collusion);

• efetuar as consultas dos chunks na internet utilizando um buscador;

• fazer uma classificação por freqüência dos links retornados;

• efetuar download dos conteúdos dos links mais freqüentes.

Nas próximas seções serão apresentados os detalhes de cada fase da busca anti-plágio,

condensando as várias técnicas captadas das referências.

Clever Marcos Teixeira, Marcelo Augusto Cicogna

Vol.14 , Nº. 24 Ano 2011 • p. 221 - 241

Page 6: SOFTWARE PARA DETECÇÃO DE TEXTOS COM ......222 t } µ L / ¡ . 5 1. INTRODUÇÃO Em áreas envolvidas com a publicação de informações, ao se pensar em produção de textos como,

226 Anuário da Produção de Iniciação Científica Discente

3.1. Pré-processamento

Durante a fase de revisão bibliográfica, verificou-se que a maioria dos modelos citados

anteriormente apresenta algum tipo de pré-processamento dos documentos.

No método proposto, o pré-processamento irá possibilitar as seguintes tarefas:

• remover símbolos e pontuação com o propósito de isolar as palavras para

comparação;

• eliminar números ou substituí-los por símbolos fixos com o propósito de isolar o

sentido sintáxico destes no texto em processamento;

• tratamento de maiúsculas e minúsculas (upper e lower case) para homogeneidade do

processo de comparação;

• tratamento de citações e referências para a exclusão dos trechos de texto que estejam

em consonância com alguma norma de citação e/ou transcrição de textos, focando-

se excluir do processo os trechos que serão considerados válidos pelo parecerista

final;

• eliminar stopwords.

As palavras classificadas como stopwords merecem um destaque na fase de pré-

processamento. Esta denominação se dá às palavras mais comuns da língua de origem (ou

principal) do documento como, por exemplo, artigos e preposições. Geralmente essas palavras

são muito freqüentes em todos os documentos e a devida eliminação propicia melhores

resultados na determinação dos índices de similaridade (BAEZA-YATES; RIBEIRO-NETO,

1999). Isso ocorre pela redução da probabilidade de falsos-positivos, os quais são a constatação

de similaridade entre dois documentos que não incorrem no problema de plágio depois de

estabelecido o parecer final (SHIVAKUMAR; GARCIA-MOLINA, 1996).

3.2. Extração de chunks

Um fator muito importante a ser considerado durante a fase de extração é a granularidade

do chunk, ou seja, o número de caracteres, palavras, frases, etc. que cada chunk deve possuir

(OLIVEIRA et al, 2007). Segundo Shivakumar e Garcia-Molina (1996), quanto maior o

ckunk, menor a chance de se encontrar trechos semelhantes em documentos diferentes.

Por exemplo, se dois textos apresentam uma frase em comum, mas a granularidade do

chunk é baseada na extração de parágrafos, a frase em comum poderá não ser detectada nas

consultas realizadas aos vocabularies.

No entanto, quando a granularidade é pequena (palavras ou caracteres), pode ocorrer

uma queda do desempenho computacional durante as fases de comparação. Além disso,

um grande número de palavras ou caracteres iguais em vários documentos, geralmente,

não permite traçar conclusões sobre a semelhança dos mesmos (BAEZA-YATES; RIBEIRO-

NETO, 1999). Logo, nota-se que existe uma relação de compromisso entre os métodos de

Software para detecção de textos com plágio baseado em busca pela internet

Page 7: SOFTWARE PARA DETECÇÃO DE TEXTOS COM ......222 t } µ L / ¡ . 5 1. INTRODUÇÃO Em áreas envolvidas com a publicação de informações, ao se pensar em produção de textos como,

227

determinação da granularidade, do desempenho e da acuidade de um método anti-plágio.

Considere-se o seguinte exemplo de extração com granularidade de 3-grams. O

fragmento original é “A Recuperação de Informação é uma área da computação.” Os chunks

de três palavras com sobreposição desse texto serão: “A Recuperação de”, “Recuperação de

Informação”, “de Informação é”, “Informação é uma”, “é uma área”, “uma área da”, “área

da computação”.

3.3. vocabulary

Após a extração dos chunks, estes devem ser armazenados em um vocabulary. Caso seja

inserido um chunk já existente, apenas a freqüência deste deverá ser incrementada. A

Equação (1) representa esse processo: )(cvf = (1)

onde f é a freqüência, v é a função de armazenamento (vocabulary) e c é a representação

computacional do chunk (string, por exemplo).

3.4. Similaridade

Por meio das sobreposições e da constatação de raridade dos 3-grams, é possível calcular

o nível de similaridade dos documentos pelo modelo apresentado por Lyon, Malcolm e

Dickerson (2001), conforme a equação (2):

onde A e B são os vocabularies ou conjuntos de termos que representam os documentos

sendo comparados. Desta forma, a similaridade pode ser calculada como a relação percentual

entre a interseção e a união dos dois conjuntos (LYON, MALCOLM E DICKERSON, 2001). O

cálculo de similaridade é condicionado ao intervalo [0, 1], sendo que quanto mais próximo

da unidade, maior o número de chunks coincidentes entre dois documentos.

Após determinada uma estatística de similaridade, é necessário definir um limiar

para referência de análise do resultado. A partir de testes práticos num grande número de

documentos, Lyon, Malcolm e Dickerson (2001) propõem o uso de 3-grams e que o limiar

de referência seja de 0,03, ou seja, documentos que apresentem similaridade acima desse

limiar possuem chance de ter trechos copiados. Este limiar pode parecer baixo, mas ele é

demonstrado pelos autores como resultante da análise e constatação da baixa freqüência de

repetição dos 3-grams, explicados pela distribuição de Zipfian.

De acordo com as definições acima, é possível projetar e desenvolver um módulo de

busca anti-plágio por collusion, que tome um conjunto de documentos de entrada e calcule

a similaridade entre eles.

Clever Marcos Teixeira, Marcelo Augusto Cicogna

Vol.14 , Nº. 24 Ano 2011 • p. 221 - 241

Page 8: SOFTWARE PARA DETECÇÃO DE TEXTOS COM ......222 t } µ L / ¡ . 5 1. INTRODUÇÃO Em áreas envolvidas com a publicação de informações, ao se pensar em produção de textos como,

228 Anuário da Produção de Iniciação Científica Discente

3.5. Busca web

A fase de busca web deverá ser um complemento do módulo de comparação (collusion),

ela terá a capacidade de identificar os documentos da internet mais semelhantes com o

arquivo de entrada. A rápida identificação desses documentos será imprescindível para o

desempenho computacional do modelo.

Desta forma, propõe-se que o módulo web search tenha os seguintes passos:

• receber um conjunto de chunks (previamente extraídos pelo módulo collusion);

• efetuar as consultas dos chunks na internet utilizando um buscador;

• em cada consulta, armazenar os N primeiros links;

• fazer um ranking dos links mais retornados;

• efetuar download dos documentos referenciados nos NR links de maior freqüência

de resposta às consultas.

4. DESENvOLvIMENTO

Com base na metodologia apresentada, percebe-se que um bom sistema anti-plágio deve

conter um método de comparação que seja eficiente. Por essa razão, o desenvolvimento

desse projeto será dividido em dois módulos:

• o primeiro será o módulo colllusion, o qual será responsável por extrair os chunks fazer

a comparação em conluio e produzir o relatório referente ao nível de semelhança

entre um conjunto de documentos;

• o segundo será o módulo web search, que será responsável por pesquisar na internet

por outros documentos que apresentem semelhança com o documento de entrada.

4.1. Módulo collusion

Para um melhor entendimento do funcionamento do teste por conluio, um exemplo será

utilizado para ilustrar suas etapas. Considere o texto original retirado do site Olhar Digital

(2011) e outro texto sob interesse de teste de existência de plágio. Este último foi trabalhado

pelos autores para sugerir um problema não tão evidente de plágio.

Texto Original

Na última quinta-feira (30/6), o WikiLeaks lançou uma campanha em resposta aos seis meses de bloqueio

das contas utilizadas para doações aos ciberativistas. O vídeo, que se propõe a ser um viral da internet, faz uma paródia à famosa campanha da MasterCard – uma das instituições financeiras envolvidas no bloqueio – conhe-

cida pelo slogan “não tem preço”.

Texto em Teste

O WikiLeaks lançou uma campanha na última quinta-feira (30/6), em resposta aos seis meses de bloqueio das

contas utilizadas para doações ao site. A proposta do vídeo é ser um viral da internet. Ele faz uma paródia à fa-mosa campanha da MasterCard, conhecida pelo slogan

“não tem preço”.

Software para detecção de textos com plágio baseado em busca pela internet

Page 9: SOFTWARE PARA DETECÇÃO DE TEXTOS COM ......222 t } µ L / ¡ . 5 1. INTRODUÇÃO Em áreas envolvidas com a publicação de informações, ao se pensar em produção de textos como,

229

O pré-processamento para este teste incluirá as seguintes técnicas: eliminar pontuação;

eliminar números; eliminar stopwords e aplicar lower case aos textos. Considerando um

conjunto de stopwords para a Língua Portuguesa composto pelas seguintes palavras: {a, o,

à, aos, e, da, do, das, dos, de, na, no, que, se, para, pelo, em, um, uma}. O resultado do pré-

processamento é apresentado a seguir.

Texto Original – Pré-processamento

última quinta feira wikileaks lançou campanha resposta seis meses bloqueio contas utilizadas doações ciberativ-istas vídeo propõe ser viral internet faz paródia famosa

campanha mastercard instituições financeiras envolvidas bloqueio conhecida pelo slogan não tem preço

Texto em Teste – Pré-processamento

wikileaks lançou campanha última quinta feira resposta seis meses bloqueio contas utilizadas doações site

proposta vídeo é ser viral internet ele faz paródia famosa campanha mastercard conhecida pelo slogan não tem

preço

Considerando a extração com granularidade de três palavras e aplicando-se a

sobreposição proposta por Lyon, Malcolm e Dickerson (2001), apresenta-se a seguir alguns

dos chunks resultantes desta fase do método. Os chunks em negrito representam coincidências

nos dois textos em análise.

Texto Original – chunks (3-grams) Texto em Teste – chunks (3-grams)“última quinta feira”

“quinta feira wikileaks”

“feira wikileaks lançou”

“wikileaks lançou campanha”

“lançou campanha resposta”

“campanha resposta seis”

“resposta seis meses”

“seis meses bloqueio”

“meses bloqueio contas”

“bloqueio contas utilizadas”

“contas utilizadas doações”

“utilizadas doações ciberativistas”

“wikileaks lançou campanha”

“lançou campanha última”

“campanha última quinta”

“última quinta feira”

“quinta feira resposta”

“feira resposta seis”

“resposta seis meses”

“seis meses bloqueio”

“meses bloqueio contas”

“bloqueio contas utilizadas”

“contas utilizadas doações”

“utilizadas doações site”

Total: 31 chunks Total: 29 chunks

O vocabulary, para armazenamento dos chunks, pode ser implementado com base técnica

nas estruturas de dados do tipo hash tables e maps (JOSUTTIS, 1999). Algumas linguagens

Clever Marcos Teixeira, Marcelo Augusto Cicogna

Vol.14 , Nº. 24 Ano 2011 • p. 221 - 241

Page 10: SOFTWARE PARA DETECÇÃO DE TEXTOS COM ......222 t } µ L / ¡ . 5 1. INTRODUÇÃO Em áreas envolvidas com a publicação de informações, ao se pensar em produção de textos como,

230 Anuário da Produção de Iniciação Científica Discente

de programação facilitam o uso destas estruturas e esta escolha foi alvo de estudo dos autores

durante a fase de projeto.

Para a comparação entre os documentos, será utilizado o cálculo proposto por Lyon,

Malcolm e Dickerson (2001). Por motivos de simplificação, não são apresentados todos os

chunks, mas a contagem de coincidências resulta em 13 chunks idênticos nos dois textos, de

um total de 47 chunks distintos. Efetuando o cálculo pela Equação (2), tem-se:

De acordo com o resultado, o texto em análise tem uma grande chance de ser considerado

plágio, levando-se em conta que a raridade de coincidências dos 3-grams determinou um

valor de 27,6% (0,276) de chunks coincidentes, valor este acima do limiar de 0,03, proposto

por Lyon, Malcolm e Dickerson (2001).

4.2. Módulo web search

O funcionamento do módulo web search é baseado na utilização de sistemas de busca na

internet como, por exemplo, o Google. O seu modelo é bastante simples, dado que o método

de comparação está contido no módulo collusion. A idéia principal é refazer os passos de um

autor que copiou um trabalho, ou seja, utilizar a capacidade de identificação contida no conceito de

chunks e k-grams existentes no documento sendo analisado para efetuar a pesquisa na web.

O uso do módulo web search junto com o collusion permite ao sistema definir a

similaridade de um documento de entrada com os textos mais semelhantes encontrados na

internet. O diagrama de atividades representando o processo de utilização dos dois módulos

em conjunto é ilustrado na Figura 1.

Software para detecção de textos com plágio baseado em busca pela internet

Page 11: SOFTWARE PARA DETECÇÃO DE TEXTOS COM ......222 t } µ L / ¡ . 5 1. INTRODUÇÃO Em áreas envolvidas com a publicação de informações, ao se pensar em produção de textos como,

231

Figura 1 - Diagrama de atividades.

Para a busca web, Malcolm e Lane (2008) propõem que a granularidade do chunk seja

um pouco maior que 3 palavras (k-grams). A idéia é que os chunks se tornem ainda mais

raros, reduzindo o número de consultas necessárias para encontrar os documentos mais

similares, além disso, os documentos mais significativos serão os primeiros encontrados

pela busca.

Uma característica importante a observar é que os fragmentos utilizados para efetuar

a busca na internet não permitem a reconstrução do texto original, o que assegura um teste

sem expor conteúdo inédito do autor.

Vale destacar, ainda, que a implementação computacional proposta adota o paradigma

de projeto de softwares orientados a objetos. Por este motivo, classifica-se o modelo como

de âmbito geral, uma vez que as várias técnicas estudadas podem ser contidas no mesmo

software, o qual faz uso intensivo do conceito de herança e polimorfismo de objetos

(HORSTMANN, 1997).

Clever Marcos Teixeira, Marcelo Augusto Cicogna

Vol.14 , Nº. 24 Ano 2011 • p. 221 - 241

Page 12: SOFTWARE PARA DETECÇÃO DE TEXTOS COM ......222 t } µ L / ¡ . 5 1. INTRODUÇÃO Em áreas envolvidas com a publicação de informações, ao se pensar em produção de textos como,

232 Anuário da Produção de Iniciação Científica Discente

5. RESULTADOS

Por meio da revisão bibliográfica, foi possível a definição de uma metodologia e a

modelagem de um projeto de software orientado a objetos, com uso efetivo da Unified

Modeling Language (UML) (GUEDES, 2007) em sincronia com a descrição e nomenclatura

apresentadas na metodologia. O modelo computacional permite variações das técnicas anti-

plágio apresentadas, por meio do conceito de polimorfismo de objetos.

Foram construídos os seguintes diagramas UML para o modelo descrito na metodologia:

Caso de Uso, Atividades, Classes, Seqüência e Colaboração. Por uma questão de espaço,

é apresentado neste artigo, apenas o diagrama de atividades (Figura 1) e o diagrama de

classes do módulo de busca por conluio, conforme ilustração apresentada na Figura 2.

Software para detecção de textos com plágio baseado em busca pela internet

Page 13: SOFTWARE PARA DETECÇÃO DE TEXTOS COM ......222 t } µ L / ¡ . 5 1. INTRODUÇÃO Em áreas envolvidas com a publicação de informações, ao se pensar em produção de textos como,

233

Figura 2 - Diagrama de classes do modelo computacional.

Clever Marcos Teixeira, Marcelo Augusto Cicogna

Vol.14 , Nº. 24 Ano 2011 • p. 221 - 241

Page 14: SOFTWARE PARA DETECÇÃO DE TEXTOS COM ......222 t } µ L / ¡ . 5 1. INTRODUÇÃO Em áreas envolvidas com a publicação de informações, ao se pensar em produção de textos como,

234 Anuário da Produção de Iniciação Científica Discente

5.1. Testes

A seguir serão apresentados dois testes efetuados com o protótipo implementado para

ilustrar a eficiência do método:

• o Teste 1 foi efetuado com o protótipo do módulo collusion para validação da técnica

e demonstração da eficiência do método de comparação;

• o Teste 2 foi efetuado no módulo web search, o qual se encontra em fase de projeto

do modelo computacional.

Teste módulo collusion

No Teste 1 utilizaram-se 5 arquivos com tamanho médio de 20,8 páginas, simulando um

professor que recebe trabalhos de seus alunos e deseja saber se algum trabalho possui

trechos ou adaptações de cópia de outros trabalhos, caracterizando plágio por conluio.

Para este estudo, deve-se observar os seguintes aspectos:

• os arquivos File1 e File2 contém textos totalmente diferentes;

• o arquivo File3 é cópia idêntica do File1;

• o arquivo File4 contém cerca de 13 páginas do File1 e cerca de 13 páginas do File2;

• o arquivo File5 contém cerca de dois parágrafos do File1.

As modificações citadas acima foram efetuadas para testar diferentes níveis de

gravidade do problema de plágio por conluio.

O protótipo do software produzido é um executável chamado via linha de comando.

Sua execução e mensagens do sistema para o Teste 1 podem ser visualizadas na Figura 3.

Software para detecção de textos com plágio baseado em busca pela internet

Page 15: SOFTWARE PARA DETECÇÃO DE TEXTOS COM ......222 t } µ L / ¡ . 5 1. INTRODUÇÃO Em áreas envolvidas com a publicação de informações, ao se pensar em produção de textos como,

235

Figura 3 – Execução do protótipo do software.

Na Figura 4 é possível visualizar o arquivo de configuração (configCollusion.txt)

utilizado para esse teste.

Clever Marcos Teixeira, Marcelo Augusto Cicogna

Vol.14 , Nº. 24 Ano 2011 • p. 221 - 241

Page 16: SOFTWARE PARA DETECÇÃO DE TEXTOS COM ......222 t } µ L / ¡ . 5 1. INTRODUÇÃO Em áreas envolvidas com a publicação de informações, ao se pensar em produção de textos como,

236 Anuário da Produção de Iniciação Científica Discente

Figura 4 – Arquivo de configuração da busca anti-plágio.

No Quadro 1 é possível visualizar o tamanho de cada arquivo no MS-Word e a quantidade

de chunks extraídos pelo módulo collusion, utilizando granularidade igual a 3-grams.

Quadro 1. Tamanho dos arquivos e total de chunks distintos.

Arquivo Páginas no MS-Word Quantidade de chunks distintosFile1 20 6410File2 18 5904File3 20 6410File4 26 8453File5 20 5473

Os valores referentes à quantidade de chunks comuns entre os documentos, a

similaridade e conclusão de suspeita de plágio de acordo com o limiar proposto por Lyon,

Malcolm e Dickerson (2001) é apresentada no Quadro 2.

Software para detecção de textos com plágio baseado em busca pela internet

Page 17: SOFTWARE PARA DETECÇÃO DE TEXTOS COM ......222 t } µ L / ¡ . 5 1. INTRODUÇÃO Em áreas envolvidas com a publicação de informações, ao se pensar em produção de textos como,

237

Quadro 2. Resultado da comparação.

Arquivo 1 x Arquivo 2 Quantidade de chunks comuns Similaridade Suspeita de plágio

File1 File2 39 0,003 NãoFile1 File3 6410 1,000 SimFile1 File4 4366 0,415 SimFile1 File5 272 0,023 NãoFile2 File3 39 0,003 NãoFile2 File4 4120 0,402 SimFile2 File5 23 0,002 NãoFile3 File4 4366 0,415 SimFile3 File5 272 0,023 NãoFile4 File5 109 0,007 Não

Analisando o resultado apresentado no Quadro 2, é possível notar que o cálculo de

similaridade é eficiente quando se trata de arquivos copiados na sua totalidade, como é o

caso do File1 e File3. Esta afirmação, embora óbvia, é importante de ser apresentada, pois as

técnicas de similaridade baseadas em extração aleatória de trechos (chunks) podem não ser

tão determinísticas na identificação de cópias idênticas.

A similaridade entre arquivos com cópia parcial de grande proporção também é

facilmente detectada, como é o caso das comparações entre os arquivos: File1 e File4; File2 e

File4. O resultado bem acima do limiar de 0,03 indica que grande parte do conteúdo de File4

é semelhante com o conteúdo de File1 e File2.

No entanto, quando a cópia é muito pequena em um texto muito grande, como é o

caso do teste entre File1 e File5, têm-se um falso-negativo, que é o plágio que não é pego

pelos testes. Vale destacar que nenhuma das ferramentas existentes no mercado testadas

pelos autores se mostrou eficiente na detecção desse tipo de plágio. A técnica utilizada aqui

poderá ser adaptada para esse caso em um estudo futuro.

Foi possível notar que o módulo em conluio não consome um tempo de processamento

significativo, dado que o teste acima foi concluído em 4,06s (Figura 3), uma média de

aproximadamente 0,67s pela comparação de cada dois documentos.

Teste módulo web search

O Teste 2 foi efetuado em um caso real de plágio em artigo científico cedido pelo editor de

uma revista eletrônica. É importante observar que o editor não mencionou quais documentos

ele identificou como a origem do plágio, tornando assim este teste uma execução real do

método anti-plágio.

Os passos a seguir mostram o modelo proposto em ação, ou seja o protótipo do módulo

collusion trabalhando em conjunto com o modelo da busca web. No Quadro 3 é possível

visualizar a quantidade de termos extraídos pelo módulo collusion para a busca web.

Clever Marcos Teixeira, Marcelo Augusto Cicogna

Vol.14 , Nº. 24 Ano 2011 • p. 221 - 241

Page 18: SOFTWARE PARA DETECÇÃO DE TEXTOS COM ......222 t } µ L / ¡ . 5 1. INTRODUÇÃO Em áreas envolvidas com a publicação de informações, ao se pensar em produção de textos como,

238 Anuário da Produção de Iniciação Científica Discente

Quadro 3. Arquivo de Entrada e Extração.

Extração dos chunks (6-grams) mais significativosNúmero de páginas 17

Total de chunks 3610Chunks distintos 3483

Chunks mais freqüentes (f > 1) 127

A técnica do uso de 3-grams se mostrou eficiente na comparação em conluio, porém

como proposto por Malcolm e Lane (2008), para a pesquisa na internet foi utilizado uma

granularidade maior. Para este teste utilizou-se 6-grams.

Dos chunks mais freqüentes, foram utilizados na busca um subconjunto aleatório de 27.

Esta decisão teve o propósito de se testar um baixo número de consultas. Para cada um dos

27 termos escolhidos, realizou-se uma consulta no Google e armazenaram-se os 5 primeiros

links retornados, perfazendo um total de 135 links. Destes, calcularam-se as freqüências de

resultado determinando que 111 apareceram apenas uma vez. O complemento desta análise

pode ser visualizada no Quadro 4.

Quadro 4. Links retornados.

Busca na internet considerando os 5 primeiros links retornados por cada consultaChunks utilizados na busca web 27

Total de links retornados 135Total de links distintos 111

Links mais freqüentes (f >1) 5

Os 5 links mais freqüentes tiveram seus conteúdos recuperados e salvos por meio

de download da internet. Nesse momento, o método possui o arquivo de entrada e mais

5 documentos (conteúdo dos 5 links). Portanto os 6 arquivos foram submetidos ao teste

em conluio no módulo collusion, num procedimento semelhante ao Teste 1. O tamanho em

páginas e quantidades de chunks de cada arquivo é apresentado no Quadro 5.

Quadro 5. Links retornados.

Arquivo Nº de páginas Chunks distintosEntrada.doc 17 3330

Link1.pdf 63 8354Link2.pdf 6 2220Link3.pdf 11 3470Link4.pdf 20 533Link5.html 20 3183

No Quadro 6 é possível visualizar a comparação efetuada pelo módulo collusion com a

determinação dos índices de similaridade e a possível conclusão sobre a suspeita de plágio.

Software para detecção de textos com plágio baseado em busca pela internet

Page 19: SOFTWARE PARA DETECÇÃO DE TEXTOS COM ......222 t } µ L / ¡ . 5 1. INTRODUÇÃO Em áreas envolvidas com a publicação de informações, ao se pensar em produção de textos como,

239

Quadro 6. Comparação em coluio.

A x B Chunks comuns Similaridade Suspeita de plágio

Entrada.doc Link1.pdf 818 0,075 SimEntrada.doc Link2.pdf 823 0,174 SimEntrada.doc Link3.pdf 14 0,002 NãoEntrada.doc Link4.pdf 65 0,017 NãoEntrada.doc Link5.html 5 0,000 Não

É possível notar no Quadro 6 que foram encontrados dois documentos com similaridade

acima do limiar de referência (0,03). Os dois arquivos similares são identificados como

uma monografia (Link1.pdf) e um artigo (Link2.pdf) de um mesmo autor sobre o mesmo

assunto do arquivo de entrada. Foi possível confirmar, por meio de uma rápida leitura

destes documentos, que o documento suspeita de plágio (Entrada.doc) realmente tem

muitos trechos iguais aos dois documentos similares encontrados, confirmando a suspeita

de plágio.

Outro aspecto importante a observar é que o teste efetuado levou um tempo de

processamento relativamente pequeno, como se pode observar no Quadro 6.

Quadro 6. Comparação em coluio.

Tempo estimado para a busca anti-plágio na internet (min:s)Extração dos chunks utilizados na busca 00:32

Pesquisa na internet e recuperação dos arquivos 01:20Comparação em conluio 00:02

Total 01:54

Os testes mostrados foram realizados utilizando um protótipo executado via linha de

comando, as configurações e informações sobre os arquivos são passados por parâmetro.

Por esse motivo não é apresentado nenhuma figura referente à interface gráfica do software,

esse será construído futuramente.

6. CONSIDERAÇõES FINAIS

Este artigo demonstrou o desenvolvimento de um projeto com o objetivo de criar e

implementar computacionalmente um modelo anti-plágio de validação de documentos.

Considera-se uma contribuição importante a descrição de vários trabalhos correlatos,

para os quais dedicou-se um tempo relevante de estudo, análise e condensação das técnicas

apresentadas.

O modelo proposto, resultante de uma compilação dos trabalhos correlatos, tem

como diferencial e importância o fato de generalizar alguns dos conceitos encontrados

na literatura sobre o assunto. Esta generalidade, alcançada a partir da técnica de projeto e

implementação de softwares orientados a objetos, poderá ser de grande valia para outros

pesquisadores interessados no assunto. Cabe salientar que os autores não encontraram tal

Clever Marcos Teixeira, Marcelo Augusto Cicogna

Vol.14 , Nº. 24 Ano 2011 • p. 221 - 241

Page 20: SOFTWARE PARA DETECÇÃO DE TEXTOS COM ......222 t } µ L / ¡ . 5 1. INTRODUÇÃO Em áreas envolvidas com a publicação de informações, ao se pensar em produção de textos como,

240 Anuário da Produção de Iniciação Científica Discente

tipo de contribuição nos trabalhos avaliados durante a fase de revisão bibliográfica.

O protótipo desenvolvido se mostrou eficiente na maior parte dos testes efetuados.

Para o caso de cópia parcial de pequena proporção em documento muito grande, o método

pode apresentar um falso-negativo. Entretanto o cálculo de semelhança pode ser melhorado

futuramente para que seja possível detectar esse tipo de plágio por meio da indexação dos

chunks. A indexação deve permitir identificar a distância entre os chunks tornando mais

preciso o cálculo de semelhança.

Outro trabalho futuro é a construção de uma interface gráfica intuitiva e uma versão

de distribuição do software.

REFERêNCIAS

BAEZA-YATES, R. A.; RIBEIRO-NETO, B. Modern Information Retrieval. 1. ed. New York: Addison-Wesley, 1999.

CÓDIGO PENAL, Artigo 184, Índice Fundamental do Direito. Disponível em <http://www.dji.com.br/codigos/1940_dl_002848_cp/cp184a186.htm>. Acessado em 28 set. 2010.

GUEDES, G. T. A.; UML: uma abordagem prática. 3. ed. São Paulo: Novatec Editora, 2007.

HENNING, Gustavo Augusto. Plagius - Detector de Plágio. Disponível em: <http://www.plagius.com/s/br>. Acesso em: 26 jun. 2011.

HORSTMANN C. S. Practical Object-Oriented Development in C++ and Java. John Wiley & Sons, 1997.

JOSUTTIS N. M. The C++ Standard Library – A Tutorial and Reference. Addison Wesley, 1999.

LYON, C.; MALCOLM, J.; DICKERSON B. Detecting short passages of similar text in large document collections. 2001. Disponível em: <https://uhra.herts.ac.uk/dspace/bitstream/2299/1695/1/901890.pdf>. Acesso em: 01 jul. 2011.

LYON, C.; BARRETT, R.; MALCOLM, J. A theoretical basis to the automated detection of copying between texts, and its practical implementation in the Ferret plagiarism and collusion detector. 2004. Disponível em: <https://uhra.herts.ac.uk/dspace/bitstream/2299/2114/1/902216.pdf>. Acesso em: 05 jul. 2011.

MALCOLM, J. A.; LANE, P. C. R. Efficient Search for Plagiarism on the Web. 2008. Disponível em: <https://uhra.herts.ac.uk/dspace/bitstream/2299/2549/1/kuwait-v09.pdf>. Acesso em: 30 jun. 2011.

OLHAR digital. Disponível em: <http://olhardigital.uol.com.br/jovem/redes_sociais/noticias/wikileaks_cria_video_para_pedir_doacoes_e_faz_parodia_a_campanha_da_mastercard >. Acesso em: 03 jul. 2011.

OLIVEIRA, M. et al. Bibliotecas digitais aliadas na detecção automática de plágio. In: Seminário Internacional de Bibliotecas Digitais Brasil - SIBDB. 2007. Disponível em: <http://www.bibliotecadigital.unicamp.br/document/?down=23482>. Acesso em: 30 jun. 2011.

PEZZIN, Maximiliano Zambonatto. Farejador de Plágios. Disponível em: <http://www.farejadordeplagio.com.br>. Acesso em: 05 jul. 2011.

SHIVAKUMAR, N.; GARCIA-MOLINA, H. SCAM: A Copy Detection Mechanism for Digital Documents. In: International Conference in Theory and Practice of Digital Libraries. Austin, Texas: [s. n.], 1995. Disponível em: <http://ilpubs.stanford.edu:8090/95/1/1995-28.pdf>. Acesso em: 30 jun. 2011.

Software para detecção de textos com plágio baseado em busca pela internet

Page 21: SOFTWARE PARA DETECÇÃO DE TEXTOS COM ......222 t } µ L / ¡ . 5 1. INTRODUÇÃO Em áreas envolvidas com a publicação de informações, ao se pensar em produção de textos como,

241

SHIVAKUMAR, N.; GARCIA-MOLINA, H. Building a Scalable and Accurate Copy Detection Mechanism. In: Proceedings of the first ACM international conference on Digital libraries. 1996. Disponível em: <http://ilpubs.stanford.edu:8090/95/1/1995-28.pdf>. Acesso em: 30 jun. 2011.

TURNITIN. Disponível em: <http://turnitin.com/static/index.php>. Acesso em: 30 jun. 2011.

VIPER: The Anti-plagiarism Scanner. Disponível em: <http://www.scanmyessay.com/>. Acesso em: 30 jun. 2011.

ZIPF’s law. Disponível em: <http://en.wikipedia.org/wiki/Zipf’s_law>. Acesso em: 01 jul. 2011.

Clever Marcos Teixeira, Marcelo Augusto Cicogna

Vol.14 , Nº. 24 Ano 2011 • p. 221 - 241