Você está na página 1de 21

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

Clever Marcos Teixeira RESUMO


Marcelo Augusto Cicogna 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
Curso: Bacharelado - Ciência de um protótipo de programa de computador que auxilie a
detecção de textos com problemas relacionados às definições de
da Computação plágio. O programa poderá ser utilizado no combate à publicação
Faculdade de cópias indevidas. A idéia central é tomar um texto de entrada
e rastrear trechos deste na internet, à procura de textos similares,
Faculdade Anhanguera de os textos encontrados devem ser submetidos a uma análise mais
Valinhos 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

Anhanguera Educacional

Correspondência/Contato
Alameda Maria Tereza, 4266
Valinhos, SP - CEP 13278-181
rc.ipade@anhanguera.com

Coordenação
Instituto de Pesquisas Aplicadas e
Desenvolvimento Educacional - IPADE
Trabalho realizado com o incentivo e fomento
Publicação: 5 de março de 2010 da Anhanguera Educacional S.A.
Software para detecção de textos com plágio baseado em busca pela internet

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
222 Anuário da Produção de Iniciação Científica Discente
Clever Marcos Teixeira, Marcelo Augusto Cicogna

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 223


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

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

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


Clever Marcos Teixeira, Marcelo Augusto Cicogna

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.

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


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

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
226 Anuário da Produção de Iniciação Científica Discente
Clever Marcos Teixeira, Marcelo Augusto Cicogna

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:
f = v(c) (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.

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


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

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
Texto em Teste

Na última quinta-feira (30/6), o WikiLeaks lançou uma


O WikiLeaks lançou uma campanha na última quinta-
campanha em resposta aos seis meses de bloqueio
feira (30/6), em resposta aos seis meses de bloqueio das
das contas utilizadas para doações aos ciberativistas. O
contas utilizadas para doações ao site. A proposta do
vídeo, que se propõe a ser um viral da internet, faz uma
vídeo é ser um viral da internet. Ele faz uma paródia à fa-
paródia à famosa campanha da MasterCard – uma das
mosa campanha da MasterCard, conhecida pelo slogan
instituições financeiras envolvidas no bloqueio – conhe-
“não tem preço”.
cida pelo slogan “não tem preço”.

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


Clever Marcos Teixeira, Marcelo Augusto Cicogna

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 Texto em Teste – Pré-processamento

última quinta feira wikileaks lançou campanha resposta wikileaks lançou campanha última quinta feira resposta
seis meses bloqueio contas utilizadas doações ciberativ- seis meses bloqueio contas utilizadas doações site
istas vídeo propõe ser viral internet faz paródia famosa proposta vídeo é ser viral internet ele faz paródia famosa
campanha mastercard instituições financeiras envolvidas campanha mastercard conhecida pelo slogan não tem
bloqueio conhecida pelo slogan não tem preço 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” “wikileaks lançou campanha”

“quinta feira wikileaks” “lançou campanha última”

“feira wikileaks lançou” “campanha última quinta”

“wikileaks lançou campanha” “última quinta feira”

“lançou campanha resposta” “quinta feira resposta”

“campanha resposta seis” “feira resposta seis”

“resposta seis meses” “resposta seis meses”

“seis meses bloqueio” “seis meses bloqueio”

“meses bloqueio contas” “meses bloqueio contas”

“bloqueio contas utilizadas” “bloqueio contas utilizadas”

“contas utilizadas doações” “contas utilizadas doações”

“utilizadas doações ciberativistas” “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

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


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

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.

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


Clever Marcos Teixeira, Marcelo Augusto Cicogna

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).

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


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

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.

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


Clever Marcos Teixeira, Marcelo Augusto Cicogna

Figura 2 - Diagrama de classes do modelo computacional.

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


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

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.

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


Clever Marcos Teixeira, Marcelo Augusto Cicogna

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.

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


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

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 distintos


File1 20 6410
File2 18 5904
File3 20 6410
File4 26 8453
File5 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.

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


Clever Marcos Teixeira, Marcelo Augusto Cicogna

Quadro 2. Resultado da comparação.

Quantidade de
Arquivo 1 x Arquivo 2 Similaridade Suspeita de plágio
chunks comuns
File1 File2 39 0,003 Não
File1 File3 6410 1,000 Sim
File1 File4 4366 0,415 Sim
File1 File5 272 0,023 Não
File2 File3 39 0,003 Não
File2 File4 4120 0,402 Sim
File2 File5 23 0,002 Não
File3 File4 4366 0,415 Sim
File3 File5 272 0,023 Não
File4 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.

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


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

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

Extração dos chunks (6-grams) mais significativos


Número de páginas 17
Total de chunks 3610
Chunks 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 consulta


Chunks utilizados na busca web 27
Total de links retornados 135
Total 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 distintos


Entrada.doc 17 3330
Link1.pdf 63 8354
Link2.pdf 6 2220
Link3.pdf 11 3470
Link4.pdf 20 533
Link5.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.

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


Clever Marcos Teixeira, Marcelo Augusto Cicogna

Quadro 6. Comparação em coluio.

Chunks
AxB Similaridade Suspeita de plágio
comuns
Entrada.doc Link1.pdf 818 0,075 Sim
Entrada.doc Link2.pdf 823 0,174 Sim
Entrada.doc Link3.pdf 14 0,002 Não
Entrada.doc Link4.pdf 65 0,017 Não
Entrada.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:20
Comparaçã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

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


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

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.

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


Clever Marcos Teixeira, Marcelo Augusto Cicogna

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.

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