Anais do Conic-Semesp. Volume 1, 2013 - Faculdade Anhanguera de Campinas - Unidade 3. ISSN 2357-8904
TÍTULO: DETECTOR AUTOMÁTICO DE PLÁGIOS TÍTULO:
CATEGORIA: EM ANDAMENTO CATEGORIA:
ÁREA: ENGENHARIAS E TECNOLOGIAS ÁREA:
SUBÁREA: COMPUTAÇÃO E INFORMÁTICA SUBÁREA:
INSTITUIÇÃO: FACULDADE ANHANGUERA DE BELO HORIZONTE INSTITUIÇÃO:
AUTOR(ES): RENATO SANZON RAMALHO, ARIANE BARBOSA TIMO, THABITA ARAUJO OLIVEIRA AUTOR(ES):
ORIENTADOR(ES): SANDRO RENATO DIAS ORIENTADOR(ES):
COLABORADOR(ES): VANDERLEY ASSUNÇÃO JÚNIOR COLABORADOR(ES):
Detector Automatizado de Plágios
Resumo
Com a popularização da internet, obras intelectuais ficaram mais acessíveis e, consequentemente, a utilização deste material de forma indevida vem crescendo constantemente. Em função disto, torna-se importante a oferta de soluções que combatam esta prática criminosa. Este projeto tem como objetivo ampliar as funcionalidades desenvolvidas no Projeto “DAP – Detector Automático de Plágio1”, possibilitando a avaliação dos conteúdos de arquivos inteiros em formato MS-Word (.docx), Texto (.txt) e PDF (.pdf), além de implementar algoritmos de avaliação de similaridade entre textos, apresentando uma avaliação estatística. Com a aplicação, o usuário poderá verificar todo o conteúdo de um arquivo texto, tendo, ao final, uma avaliação com métrica de identificação de plágio. Através da utilização de ferramentas OpenSource e Freewares, a aplicação varrerá a internet, procurando textos similares e avaliará o nível de similaridade entre o texto base da pesquisa e os encontrados na busca.
Introdução
Com as facilidades oferecidas pela internet, o plágio tem sido uma prática ilegal crescente, o que torna necessária a utilização de ferramentas que previnam e combatam tais ações.
Considerando como ponto de partida a aplicação “DAP Detector Automático de Plágios”, serão incorporadas ao sistema novas funcionalidades. Assim, o usuário poderá realizar pesquisas de arquivos inteiros e contar com algoritmos de avaliação de similaridade, que facilitarão análise sobre a autenticidade do material analisado. Com isto, espera-se que os relatórios, frutos das pesquisas, aumentem a acertividade nas tomadas de decisões do avaliador.
1 DAP Detector Automático de Plágios, disponível em <http://ooregougar.ueuo.com/detectorplagio/ >, Jul. 2013
Atualmente, o DAP apóia o usuário na detecção de similaridade entre textos. Para o seu desenvolvimento foi utilizado JSON2. Assim, será incorporado o novo código ao já desenvolvido, dando sequência ao DAP.
Ao submeter o texto a ser verificado, ele passa por um tratamento antes de ser pesquisado na internet. Este tratamento visa sumarizar o texto, transformando-o em um documento mais curto que possibilite um retorno de resultado mais relevante. Segundo Martins et al (2001) “o ponto central da sumarização é reconhecer, em um texto, o que é relevante e o que pode ser descartado, para compor um sumário”. São retirados do texto os Stopwords. Conforme Oliveira (2008), são palavras não relevantes ao processo. São os artigos, conjunções que se não forem removidas, prejudicam a acertividade do sistema.
Na sequência, é realizado o Stemming, conforme Martins (2008), é a extração dos prefixos e sufixos das palavras, de forma que sobre somente o radical. Existem algorítmos específicos para cada idioma, está sendo utilizado no DAP o algoritmo para o idioma Português Brasileiro.
Como parte da preparação para a pesquisa, o texto é dividido em sequências de tokens, de acordo com Roy e Cordy (2007), e aplicado o algoritmo Winnowing. Segundo Kleiman (2007), o algoritmo divide o texto em k-gramas, que é uma subcadeia k de uma cadeia S.
Nesta fase de aprimoramento do DAP, o layout do DAP será adaptado para receber os campos e botões necessários para o envio do documentos a serem pesquisados. Associadas à estes elementos, será implementada a rotina para envio do arquivo do equipamento local para o servidor que hospeda a aplicação.
Será utilizado o método de submissão de arquivo em bytes através do campo input. O tamanho e extensão dos arquivos permitidos serão descritos e haverá controle de restrição e verificação de adequação ao tipo de arquivo proposto e esperado.
O texto submetido será tratado, conforme já descrito acima, e pesquisado conforme escolha do usuário.
2JavaScript Object Notation, baseadaemJavaScript Programming Language, Standard ECMA262, 3rd Edition, Dez. 1999
O motor de busca será acionado através de API e o resultado retornado será avaliado pelos métodos K-grama e Métrica de Pares de Palavras.
Finalmente, os resultados serão apresentados ao usuário, para que o mesmo decida sobre a autenticidade do texto.
Objetivos Objetivo Geral:
Implementar novas funcionalidades no sistema Freeware DAP (Detector Automático de Plágio), através de PHP, MYSQL, JSON, APIs, como Google, com o intuito de analisar textos, buscando, através de pesquisas na internet textos similares que possibilitem apoiar o usuário na análise do documento, indicando fontes de possíveis cópias de partes do texto, entre outras informações.
Objetivos específicos:
● Apresentar avaliação de similaridades em o texto pesquisado e textos encontrados na busca na internet.
● Indicar os locais onde os textos similares foram encontrados.
● Desenvolver uma base de motivos e/ou razões para o usuário confirmar ou não o plágio, principalmente em documentos científicos.
Metodologia
O método para “upload” de arquivos em PHP mais conhecido é a submissão do arquivo em bytes através do campo input. O tamanho e extensão dos arquivos permitidos serão descritos e haverá controle de restrição e verificação de adequação ao tipo de arquivo proposto e esperado.
O formulário enviará metadados (bytes) que são o arquivo codificado. A aplicação moverá o arquivo da pasta temporária do servidor (tmp.dir) para uma pasta de escolha, física, no servidor da aplicação.
O arquivo de texto será preparado, com o objetivo de otimizar a busca. Os caracteres especiais serão removidos, o texto será dividido em partes e as partes serão comparadas a outros textos, de acordo com o algoritmo escolhido.
Ao final do trabalho de comparação as estatísticas serão montadas para exibição ao usuário, conforme resultados obtidos da requisição realizada à API de motores de busca.
A linguagem PHP já possui um método bem difundido de “upload” e tratamento de arquivos. Os bytes e propriedades referentes ao arquivo são armazenados em uma variável matriz de nome $_FILES. As propriedades são error, name, tmp_name, size. É possível restringir o tipo de arquivo, tamanho, entre outros.
O DAP usará estas tecnologias para acelerar o processo de tratamento de texto no documento.
API de busca:
Google Search (Custom Search)
A API (Application Programming Interface) do Google Custom Search está sendo utilizado como motor de busca neste projeto em função da facilidade de utilização e por ser um dos motores de busca mais utilizados no mundo.
Para a utilização do Google Custom Search API3 é necessário ter uma conta Google e o uso da API, gratuitamente, é limitado para 100 requisições por dia. Caso haja necessidade de quantidade maior de requisições, podem ser contratada uma conta junto ao fornecedor.
Em termos técnicos, a API usa a tecnologia REST (Representational State Transfer) que é a utilização dos métodos do protocolo HTTP pra ter controle de fluxo de requisições entre aplicações (PUT, GET, DELETE, POST). Existe somente uma chave de requisição a utilizar, a search, onde será enviada à API a pesquisa montada desejada pela aplicação requisitante. O resultado da pesquisa pode ser recuperado em formato JSON ou Atom. O formato utilizado neste projeto é o JSON.
Além do layout da home page que será modificado para atender às demandas de novos campos e botões referentes à nova modalidade de pesquisa, os algoritmos Winnowing e Greedy String Tiling serão revisados e otimizados, com o objetivo de melhorar o desempenho da aplicação.
Serão implementados os métodos N-gramas e Métrica de Pares de Palavras.
3
NGrama
Conforme apresentado por Barrón-Cedeño & Rosso (2009), será implementado o algoritmo utilizando N-gramas conforme descrito abaixo:
1. O documento suspeito é dividido em sentenças; 2. Cada sentença é dividida em n-gramas de palavras;
3. Um documento é completamente dividido em n-gramas de palavras; 4. Cada sentença é buscada no documento, comparando-se os n-gramas. Métricas de Pares de Palavras
A Métrica de Pares de Palavras (LANCASTER e CULWIN, 2004) consiste em pontuar a comparação de similaridade entre dois documentos de 0 à 100, através da geração de pares de palavras consecutivas e compará-las com os pares gerados em outro documento pela seguinte equação:
onde c1 e c2 são as quantidades de pares de palavras comuns no primeiro e no segundo documento, respectivamente, e u1 e u2 representam a quantidade de pares de palavras únicas no primeiro e no segundo documento, respectivamente.
Desenvolvimento
O DAP exibe ao usuário a opção de selecionar como será enviado o texto, monografia ou artigo a ser pesquisado. Haverão as opções de utilizar texto copiado e colado direto no formulário e o envio de documento em formato MS-Word (.docx), Texto (.txt) ou PDF (.pdf).
1) Submissão do texto a ser avaliador
O usuário poderá definir a pesquisa como “Texto à Texto” ou “Texto à Web” e insere o texto a ser verificado. O arquivo poderá ser inserido através de campo de “upload”.
2) Preparação do texto
O texto ou arquivo a ser verificado será tratado Stemming, Winnowing e Greedy String Tiling.
Através da Google Custom Search API o texto será pesquisado na internet, retornando as informações para análise do nível de autenticidade.
4) Avaliação de similaridade
Os resultados retornados da pesquisa serão avaliados pelos métodos K-Grama e Métricas de Pares de Palavras.
5) Apresentação dos resultados
Os resultados das avaliações serão apresentados de forma estruturado para o usuário. Os dados em formato bruto são classificados e contados. Através do percentual de repetições serão exibidos ao usuário as similaridades e coincidências entre o texto enviado e a fonte de pesquisa, através de gráficos e comparações.Este item buscará facilitar a tomada de decisão do usuário.
Resultados
Espera-se que com as novas implementações o DAP permita que seus usuários tomem suas decisões de forma mais rápida e acertiva.
Os algoritmos de preparação otimizarão o tempo de resposta e os relatórios e os gráficos serão de fácil assimilação.
Com as novas funcionalidades o usuário terá a seu serviço um ambiente fácil de ser usado, que retornará informações estruturadas que facilitarão análise.
Com as intervenções propostas neste trabalho, o ambiente estará aderente à outros métodos de melhoramento de performance e pesquisas de múltiplos arquivos.
Considerações Finais
As ferramentas como PHP, JSON e as APIs dos motores de busca facilitam a entrega de um resultado de qualidade para o usuário, tornando a aplicação viável de ser utilizada.
A complexidade da implementação dos algoritmos tornam o projeto desafiador, porém é clara a visão do valor agregado à ferramenta.
Já o conjunto de todos os elementos envolvidos no desenvolvimento do projeto mostram a fundamental importância da aplicação para todos que precisam avaliar autenticidade de documentos ou textos.
É sabido que, muito ainda há por fazer, além das implementações propostas aqui. Nas próximas versões poderão ser implementados outros algorítmos de comparação, novos gráficos e a verificação de vários arquivos de documentos de uma só vez.
Referências
BRASIL. Lei nº 9610/98, de 19 de fevereiro de 1998. Presidência da República – Casa Civil Subchefia para Assuntos Jurídicos, disponível em <http://www.planalto.gov.br/CCIVIL/Leis/L9610.htm>, acessado em 05 Jan. 2012.
DUBNER, STEPHEN J., LEVITT, STEVEN. Freakonomics: O lado oculto e inesperado de tudo que nos afeta.CAMPUS, 2005.
CARDOZO, Bruno; OLIVEIRA. O Jornalista.com: Entenda o que é plágio. Disponível
em:<http://www.noticias.uff.br/arquivos/cartilhasobreplagioacademico.pdf>. Acesso em:17 Nov. 2011.
COPYCAT. Disponível em
<http://www.superdownloads.com.br/download/74/copycatkurtischiappone/>. Acesso em: 05 Jan. 2012.
DICIONÁRIO MICHAELIS ONLINE, UOL. Disponível em
<http://michaelis.uol.com.br>. Acesso em: 01 Jul. 2012.
FAREJADOR DE PLÁGIOS. Disponível em
<http://www.farejadordeplagios.com.br/>. Acesso em: 05 Jan. 2012.
INSTRUÇÃO NORMATIVA D.PEPG 01/2008. Disponível em
<http://sare.unianhanguera.edu.br>. Acesso em: 05 Jan. 2012.
JSON. Disponível em <http://www.json.org>. Acesso em: 01 Jul. 2012. JavaScript Programming Language, Standard ECMA263 3rd Edition, Dez. 1999.
KLEIMAN, Alan Bustos (2007). Análise e comparação qualitativa de sistemas de detecção de plágio em tarefas de programação, 7f. Disponível em: <http://www.bibliotecadigital.unicamp.br/document/?code=vtls000420561>. Acesso em: 10Maio. 2012.
LIBREOFFICE. Disponível em <http://www.libreoffice.org/>. Acesso em: 01 Jul. 2012. MARTINS, Cristiano José Mariotti. (2008) Aplicação de Ferramentas Computacionais para Prospecção Tecnológica por Mineração de Dados Não Estruturados sobre patentes Industriais em Idioma Inglês, 56f, Dissertação (Mestrado Ciências em Engenharia Civil) Universidade Federal do
Rio de Janeiro. Disponível em:
<http://www.coc.ufrj.br/index.php?option=com_docman&task=doc_details&gid= 1803>. Acesso em: 01 de Julho de 2012.
OLIVEIRA, Bruno Vilela. (2008).Uma Análise de Estratégias de Sumarização Automática, 9f, Dissertação (Mestrado em Engenharia Civil) Universidade Federal do
Rio de Janeiro. Disponível em:
<http://www.coc.ufrj.br/index.php?option=com_docman&task=doc_details&gid= 1789
>. Acesso em: 02 Jul. 2012.
PLAGIARISM.ORG. What is plagiarism? Plagiarism.org. Disponível em: <http://www.plagiarism.org/plag_article_what_is_plagiarism.html>. Acesso em: 05 Jul.2012.
PLAGIUS. Disponível em <http://www.plagius.com>. Acesso em: 05 Jan. 2012. ROY, Kumar Chancal, CORDY, James R. (2007) A survey on software clone detection
research, Queen´s University at Kingston Ontario, Canada. Disponível em: <http://research.cs.queensu.ca/TechReports/Reports/2007541.pdf>. Acessoem: 05 Jul.
2012.
SCHLEIMER, S., WILKERSON, D. S. AIKEN, A. Winnowing: Local Algorithms for Document Fingerprinting.SIGMOD 2003. San Diego, CA: ACM. Junho 2008.
Sumarização Automática de Textos via Ranqueamento de Sentenças.
Disponível em:
<http://www.inf.ufes.br/~claudine/courses/paa10/seminarios/seminario14.pdf>. Acesso em 05 Jul. 2012.
WISE, M. J. String Similarity via Greedy String Tiling and Running Karp−Rabin Matching. Departmentof Computer Science, Universityof Sydney. Australia, p. 17. 1993.
MARTINS, C.B. et al. Introdução à Sumarização Automática. UFSCAr. [S.1], p.38. 2001.
LANCASTER ,T .; CULWIN, F. A visual for plagiarism detection using word pairs. Plagiarism: Prevention , Practive and Policy Conference. [S.1]:[s.n.]. 2004.
DAP Detector Automático de Plágios. Disponível em