SOFTWARE PARA DETECÇÃO DE TEXTOS COM ......222 t } µ L / ¡ . 5 1. INTRODUÇÃO Em áreas...
Transcript of SOFTWARE PARA DETECÇÃO DE TEXTOS COM ......222 t } µ L / ¡ . 5 1. INTRODUÇÃO Em áreas...
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
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
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
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
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
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
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
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
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
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
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
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
233
Figura 2 - Diagrama de classes do modelo computacional.
Clever Marcos Teixeira, Marcelo Augusto Cicogna
Vol.14 , Nº. 24 Ano 2011 • p. 221 - 241
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
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
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
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
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
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
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
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