VITOR MASSARO CREMONEZ
DETECÇÃO DO NÍVEL DE PROXIMIDADE ENTRE
USUÁRIOS BASEADOS EM DADOS GERADOS EM REDES
SOCIAIS
LONDRINA–PR 2016
VITOR MASSARO CREMONEZ
DETECÇÃO DO NÍVEL DE PROXIMIDADE ENTRE
USUÁRIOS BASEADOS EM DADOS GERADOS EM REDES
SOCIAIS
Trabalho de Conclusão de Curso apresentado ao curso de Bacharelado em Ciência da Com-putação da Universidade Estadual de Lon-drina para obtenção do título de Bacharel em Ciência da Computação.
Orientador: Prof(a). Dr(a). Sylvio Barbon Júnior
LONDRINA–PR 2016
Vitor Massaro Cremonez
Detecção do nível de proximidade entre usuários baseados em dados gerados em redes sociais/ Vitor Massaro Cremonez. – Londrina–PR,
2016-45p. : il. (algumas color.) ; 30 cm.
Orientador: Prof(a). Dr(a). Sylvio Barbon Júnior – Universidade Estadual de Londrina, 2016.
1. Palavra-chave1. 2. Palavra-chave2. I. Orientador. II. Universidade xxx. III. Faculdade de xxx. IV. Título
VITOR MASSARO CREMONEZ
DETECÇÃO DO NÍVEL DE PROXIMIDADE ENTRE
USUÁRIOS BASEADOS EM DADOS GERADOS EM REDES
SOCIAIS
Trabalho de Conclusão de Curso apresentado ao curso de Bacharelado em Ciência da Com-putação da Universidade Estadual de Lon-drina para obtenção do título de Bacharel em Ciência da Computação.
BANCA EXAMINADORA
Prof(a). Dr(a). Sylvio Barbon Júnior Universidade Estadual de Londrina
Orientador
Prof. Dr. Segundo Membro da Banca Universidade/Instituição do Segundo
Membro da Banca
Prof. Dr. Terceiro Membro da Banca Universidade/Instituição do Terceiro
Membro da Banca
Prof. Ms. Quarto Membro da Banca Universidade/Instituição do Quarto
Membro da Banca
Este trabalho é dedicado às crianças adultas que, quando pequenas, sonharam em se tornar cientistas.
AGRADECIMENTOS
Os agradecimentos principais são direcionados à Gerald Weber, Miguel Frasson, Leslie H. Watter, Bruno Parente Lima, Flávio de Vasconcellos Corrêa, Otavio Real Sal-vador, Renato Machnievscz1 e todos aqueles que contribuíram para que a produção de
trabalhos acadêmicos conforme as normas ABNT com LATEX fosse possível.
Agradecimentos especiais são direcionados ao Centro de Pesquisa em Arquitetura da Informação2 da Universidade de Brasília (CPAI), ao grupo de usuários latex-br3 e aos
novos voluntários do grupo abnTEX24 que contribuíram e que ainda contribuirão para a
evolução do abnTEX2.
1
Os nomes dos integrantes do primeiro projeto abnTEX foram extraídos de<http://codigolivre.org. br/projects/abntex/>
2 <http://www.cpai.unb.br/>
3 <http://groups.google.com/group/latex-br>
“Não vos amoldeis às estruturas deste mundo, mas transformai-vos pela renovação da mente, a fim de distinguir qual é a vontade de Deus: o que é bom, o que Lhe é agradável, o que é perfeito. (Bíblia Sagrada, Romanos 12, 2)
CREMONEZ, V. C.. Detecção do nível de proximidade entre usuários baseados
em dados gerados em redes sociais. 45 p. Trabalho de Conclusão de Curso
(Bacha-relado em Ciência da Computação) – Universidade Estadual de Londrina, Londrina–PR, 2016.
RESUMO
Graças à internet, o mundo moderno está mais conectado do que nunca. As redes sociais online fornecem um ambiente perfeito para conectar de forma efetiva as pessoas dentro da internet. Entender as preferências e gostos dos usuários oferece a possibilidade de direcionamento de conteúdos, amizades e pessoas à outros usuários. Usando os dados gerados pelos usuários na rede, é possível montar um perfil baseado nos dados gerados dentro da rede para a realização desta tarefa.
CREMONEZ, V. C.. Title of the Work. 45 p. Final Project (Bachelor of Science in Computer Science) – State University of Londrina, Londrina–PR, 2016.
ABSTRACT
This is the english abstract. The Abstract in English should be faithful to the Resumo in Portuguese, but not a literal translation.
LISTA DE ILUSTRAÇÕES
Figura 1 – Representação dos passos para a mineração de dados [1] . . . 31
Figura 2 – Documento como exemplo de entrada [2] . . . 33
Figura 3 – Documento de saída rotulado [2] . . . 33
Figura 4 – Tabela de tagset do pos-tagger proposto em [3] . . . 34
Figura 5 – Modelo proposto . . . 37
Figura 6 – Modelo proposto . . . 39
Figura 7 – Texto de entrada . . . 39
Figura 8 – Texto de saída . . . 40
Figura 9 – Palavras de entrada para o Pos-Tagger . . . 40
Figura 10 – Palavras taggeadas após o processo de POST . . . 40
Figura 11 – Palavras selecionadas pelo processo de POST . . . 40
LISTA DE TABELAS
LISTA DE ABREVIATURAS E SIGLAS
MD Mineração de Dados
MT Mineração de Texto
TT Trending-topics
RSO Redes Sociais Online
SUMÁRIO
1 INTRODUÇÃO . . . . 23
2 PROBLEMA . . . . 25
3 HIPÓTESE . . . . 27
4 TRABALHOS RELACIONADOS . . . . 29
4.1 POS-Tagger para línguagem portuguesa. . . 29
5 FUNDAMENTAÇÃO TEÓRICA . . . . 31 5.1 Mineração de dados . . . 31 5.2 Pos-tagging . . . 32 5.3 MeetU . . . 35 5.4 Twitter e trending-topics . . . 35 5.5 Edit-distance . . . 35 6 MODELO PROPOSTO . . . . 37 7 RESULTADOS E DISCUÇÕES . . . . 39 8 PRÓXIMOS PASSOS . . . . 43 REFERÊNCIAS . . . . 45
23
1 INTRODUÇÃO
Na era da informação, onde dados são criados e fornecidos para usuários em uma taxa crescente, possuir a maior quantidade de dados já não é mais um grande diferen-cial, entregar os dados que os usuários desejam obter sem eles ao menos perceberem é. Sugestões direcionadas é uma das melhores maneiras de entregar dados que os usuários desejam obter. Esses dados podem variar entre sugestões de consumo de postagens de texto, vídeo, imagem e pessoas, no caso, sugestão de outros usuários.
Ao manter um registro do comportamento do internauta por meio de páginas visitadas, postagens e comentários feitos na rede, é possível montar um perfil do usuário rico de informações de interesses. Uma forma de sugerir perfis para outros seria se baseando no nível de similaridade de interesses entre eles. Conteúdos direcionados são utilizados pelas maiores empresas de informática atualmente. Oferecer o conteúdo que o usuário deseja ver aumenta a satisfação de usar aquela plataforma e gera maior fidelidade por parte do usuário.
Redes Socials Online (RSOs) são ambientes onde as pessoas discutem e expressam pensamentos e opiniões sobre qualquer assunto. Devido à grande quantidade de dados gerados, as RSOs tem se mostrado extremamente valiosas para extração de opinião pública de modo a encontrar inúmeras opiniões sobre certos tópicos [4].
Porém os métodos utilizados para mineração de texto geralmente são aplicados para textos tradicionais da web, como artigos e reportagens e as próprias redes sociais online.
Os textos minerados de redes sociais, entretanto, possuem a presença de abrevia-ções, gírias, erros gramaticais e uso de diferentes idiomas na mesma estrutura. Em redes sociais como Facebook, Tinder, MeetU. . . uma das informações mais importantes que se pode sugerir para os usuários são outros usuários. No facebook, por exemplo, sugerir um usuário para outro, com gostos e personalidade parecida, da a certeza de uma amizade de mais qualidade. No Tinder e MeetU, sugerir perfis para outros usuários com um nível de similaridade grande entre eles oferecem uma oportunidade maior do desenvolvimento de uma nova relação de amizade ou até de um nível mais íntimo. O mundo é formado por uma grande rede na qual as pessoas estão conectadas. Cada pessoa tem preferência por determinados assuntos ou categorias. Este trabalho visa numerar o nível de proximidade entre usuários de uma rede social baseado no comportamento dos mesmos dela.
25
2 PROBLEMA
RSOs, são serviços que surgiram como um novo meio de comunicação entre in-divíduos e organizações. Estes serviços oferecem uma plataforma essencial para usuários compartilharem pensamentos, ideias, status e experiências. Esses dados compartilhados são ricos de informações sobre os usuários e quem eles são. Medir o nível de proximidade entre os usuários de uma RSO garante uma melhor experiência de uso, aumentando as chances deles encontrarem pessoas na qual se identificam, garantindo uma maior satisfa-ção de uso. Iremos usar minerasatisfa-ção de textos para extrair informações dos dados gerados pelos usuários. Porém textos em microblogs normalmente possuem uma linguagem mais casual e informal. Devido a isto, os usuários publicam de maneira simplificada, utilizando a linguagem coloquial, abreviações, gírias e geralmente utilizando links, emojis, fotos, ví-deos, e entre outros [4]. Embora todas essas características determinam um texto com informações desestruturadas, elas são extremamente valiosas nos quais os métodos tradi-cionais não as integram em sua análise. Este trabalho tem como base estudar uma nova solução que contorne o problema da detecção de tópicos abordados por usuários em RSOs para medição do nível de similaridade entre usuários distintos. A rede social utilizada será o MeetU (www.meetu.com.br), e uma hipótese para o problema será descrita no capítulo a seguir.
27
3 HIPÓTESE
Para o problema mencionado no capítulo anterior, o objetivo deste trabalho é a elaboração de um modelo aplicado em redes sociais. Primeiramente, a base formada por textos nas redes sociais são desestruturadas e apresentam grande quantidade de ruídos proporcionados pela linguagem coloquial e informal, gírias, abreviações e erros ortográfi-cos. Para que o sistema tenha resultados mais precisos em relação ao tema retratado na base, é necessário que esses ruídos sejam eliminados. Para eliminação destes ruídos, este trabalho adotará o uso de pré-processamento com remoção de stop-words, e normalização das palavras com aplicação de pos-taggig para obtenção das palavras mais relevantes do texto. O resultado desses processos resultarão em palavras chaves das postagens e comen-tários extraidos das redes sociais. A frequência de aparição das palavras na rede social serão armazenadas em uma base, apontando os usuários que as gerou em uma tabela. A comparação entre palavras chaves geradas entre diferentes usuários possibilitarão então a comparação do nível de similaridade entre ambos baseados em palavras chaves geradas por eles.
29
4 TRABALHOS RELACIONADOS
4.1
POS-Tagger para línguagem portuguesa
xxxxxxxx xx xxxxx xxx xx xxxxxx xxxxxxxx xx xxxxx xxx xx xxxxxx xxxxxxxx xx xxxxx xxx xx xxxxxx xxxxxxxx xx xxxxx xxx xx xxxxxx xxxxxxxx xx xxxxx xxx xx xxxxxx xxxxxxxx xx xxxxx xxx xx xxxxxx xxxxxxxx xx xxxxx xxx xx xxxxxx xxxxxxxx xx xxxxx xxx xx xxxxxx xxxxxxxx xx xxxxx xxx xx xxxxxx xxxxxxxx xx xxxxx xxx xx xxxxxx xxxxxxxx xx xxxxx xxx xx xxxxxx xxxxxxxx xx xxxxx xxx xx xxxxxx xxxxxxxx xx xxxxx xxx xx xxxxxx xxxxxxxx xx xxxxx xxx xx xxxxxx xxxxxxxx xx xxxxx xxx xx xxxxxx xxxxxxxx xx xxxxx xxx xx xxxxxx xxxxxxxx xx xxxxx xxx xx xxxxxx xxxxxxxx xx xxxxx xxx xx xxxxxx xxxxxxxx xx xxxxx xxx xx xxxxxx xxxxxxxx xx xxxxx xxx xx xxxxxx
31
5 FUNDAMENTAÇÃO TEÓRICA
5.1
Mineração de dados
A área de mineração de dados (MD) teve origem na década de oitenta e tem como principal objetivo a extração de informações relevantes a partir de grandes volumes de dados [5]. A mineração de texto (MT) é análoga à mineração de dados, diferenciando nos dados que serão processados. No caso da mineração de texto os dados não estão estruturados ou estão semi-estruturados, um exemplo de MT seria a varredura de uma página HTML, arquivos de diferentes tipos de formatos, emails entre outro.[1] A mineração de texto é dividida em algumas etapas, representadas pela figura 1.
Primeiramente é feita a coleta de textos baseados em arquivos de entrada, no caso deste trabalho, os textos serão retirados de postagens e comentários abertos publicados no MeetU.
∙ A etapa de pré-processamento é responsável por converter os textos em uma representação que possa ser manipulado pelos métodos de extração de conhecimento, fazendo as correção ortográficas e filtrando palavras sem significado semântico relevante (remoção de stopwords) para a análise da etapa de processamento.
∙ A etapa de processamento é a etapa onde se obtém as informações mais relevantes dos textos processados, realizando a separação das partes constitutivas do texto. Essa etapa envolve, ainda, o desenvolvimento de algoritmos a serem utilizados na mineração textual.
∙ O pós-processamento é a etapa em que se faz a avaliação e a validação dos resul-tados visando obter melhor conhecimento do algoritmo usado na mineração. É importante destacar a utilização frequente da análise de conteúdo em conjunto com a mineração de texto na descoberta de conhecimento em textos. A Análise de conteúdo é definida como um conjunto de técnicas de análise das comunicações visando obter, por procedimentos, sistemáticos e objetivos de descrição de conteúdo das mensagens, indicadores que permi-tam a inferência de conhecimentos relativos às variáveis inferidas de entrada.[1]
32
5.2
Pos-tagging
Part of speech tagging (POST) é uma prática importante, com aplicações em diversas áreas, incluindo síntese e reconhecimento de fala, tradução e procura de textos em grandes bases de dados. [6]
Part of speed (POS) é um método precursor de muitas tarefas de processamento natural de linguagem. Textos POST são frequentemente usados como . . . . Textos POST oferecem uma ótima fonte de informações sobre um texto do que uma simples sequência de palavras não analisadas. Embora menos informativa do que uma análise sintática completa que oferece, adicionalmente, um nível superior de informação e as relações entre as palavras estruturais. POST podem ser feitos com muito mais precisão e rapidez de análise.
Uma das tarefas na qual POST provou ser de grande uso é na tradução de textos. Para isso é necessária a extração de rótulos para cada palavra em um texto de entrada para melhor definir verbos, auxiliares, adjetivos, entre outros. O processo de tagging é exatamente este processo de extração dos rótulos das palavras baseadas em uma tabela tagset [7].
Existem 2 coisas que fazem o processo de tagging de palavras um problema com-plicado. O primeiro é que muitas palavras possuem múltiplos POS. O segundo é que novas palavras aparecem o tempo todo. Não podemos simplesmente olhar para uma palavra e achar um POS respectivo dela. Temos que analisar todo um contexto para determinar qual POS se adequa à aquela palavra naquela posição do texto. Um exemplo que ilustra bem este problema podemos ver nas frases seguintes:
We can can the can.
We are able to put the can into a can.
Não é difícil para uma pessoa processar os exemplos acima baseado em um con-texto na qual as palavras aparecem e determinar que o primeiro “can” é um auxiliar, o segundo é um verbo e o terceiro um pronome. Para uma máquina este trabalho não é tão intuitivo. Por isso, uma das dificuldades do processo de tagging das palavras é ofere-cer uma algoritmo com o conhecimento também necessário capaz de fazer o processo de tagging baseado também no contexto. [8]
Um exemplo dos resultados de entrada e saída de dados obtidos a partir de um POS-Tagger é referenciado nas imagens2 e 3respectivamente.
33
Figura 2 – Documento como exemplo de entrada [2]
Figura 3 – Documento de saída rotulado [2]
Para realizar a rotulação das palavras, o POS-Tagger possui uma tabela (tabela de Tagset) na qual se pode consultar e encontrar o significado do respectivo etiquetamento da palavra realizada pelo processo de POST, referenciada pela imagem 4.
34
35
5.3
MeetU
O MeetU, criado em 2016, é uma rede social que oferece um ambiente perfeito para interações entre os usuários e conhecer pessoas de um grupo em comum com o seu, como faculdade, escola, trabalho. Cada grupo possui um mural, que é uma página com diversas postagens mostradas em ordem cronológica do grupo. Todos os membros podem postar no mural do seu respectivo grupo que participa.
Um dos focos principais do MeetU é fornecer novos relacionamentos mais íntimos entre usuários, por isso a rede propõe um novo tipo de interação, chamado de "Meet". No MeetU, é possível alterar seu perfil entre 2 status, anônimo e aberto. As postagens anônimas são mascaradas com uma imagem anônima e o sexo da pessoa, escondendo a identidade de quem postou ou comentou algo. Duas pessoas com status anônimos podem se conhecer dentro da rede e revelar, em um chat privado, a identidade uma da outra, e essa, é a interação que recebe o nome de "Meet"na rede social. A grande quantidade de dados públicos gerados pelos usuários através da rede social oferece um potencial de extração de informações valiosas dos usuários, possibilitando melhorar a exibição de con-teúdo para eles e medir o nível de intimidade entre usuários distintos na rede, aumentando a satisfação de uso da rede social.
5.4
Twitter e trending-topics
O Twitter é um site de microblog onde os usuários compartilham mensagens cur-tas chamadas de tweets. Esses tweets tendem a se espalhar para um grande número de usuários em muito pouco tempo. Usuários no Twitter não só fazem tweets sobre seus pro-blemas pessoais ou eventos nas proximidades, mas também tópicos sobre os mais gerais ou notícias. Devido à grande quantidade e diversidade de informações em tempo real con-tido no site, o Twitter lista um conjunto recém-atualizado do trending-topics. Trending topics (TT) compreendem os principais termos que estão sendo discutidos atualmente no Twitter. Esta lista de TT é atualizado em tempo real, e fornece um reflexo dos prin-cipais interesses da comunidade atual, isto é, os assuntos mais discutidos no momento. Tornou-se uma característica atraente para os usuários do Twitter, desenvolvedores ção aplicações em tempo real, e pesquisadores de mídia social, graças à capacidade de detectar trending-topics na primeira fase. [9]
5.5
Edit-distance
O algoritmo de edit-distance (ED) é definido como o calculo do menor número de operações sob uma string afim de transforma-la em outra string, medindo assim similari-dade entre ambas. [10]
36
Dadas duas strings X e Y ao longo de um alfabeto finito, a aplicação do algoritmo edit-distance entre X e Y pode ser definida como o custo mínimo para transformar X em Y através de uma sequência de operações de edição ponderadas. Estas operações são normalmente definida em termos de inserção de um símbolo, a deleção de um símbolo, e a substituição de um símbolo por outro. [11]
37
6 MODELO PROPOSTO
A Figura5ilustra os procedimentos adotados de acordo com a hipótese formulada neste trabalho para resolver o problema de detecção do nível de proximidade entre usuários baseados em dados gerados em redes sociais.
Figura 5 – Modelo proposto
O primeiro passo é a aquisição dos dados. Sendo o autor deste trabalho também o fundador da rede social MeetU, os dados serão obtidos a partir de um backup do banco de dados de produção.
Após o processo de aquisição dos dados, as postagens e comentários passarão pela etapa de pré-processamento dos dados. Neste processo, o texto é inteiramente convertido em letras minúsculas. As acentuações, pontuações e espaços múltiplos serão removidos, resultando em um texto limpo pronto para servir como base para o processo de pos-tagging.
Ainda no processo de pré processamento, os textos de entrada passarão pelo pro-cesso de pos-tagging para etiquetamento das palavras baseadas no tagset do trabalho
4.
Estamos interessados em obter apenas substantivos do processo de POST, pois através deles podemos obter as palavras chaves mais importantes de uma postagem ou comentário. Para isso, será selecionado apenas as palavras que contem o etiquetamento "CN"obtido a partir do processo de POST baseado na tabela de tagset 4
Neste momento teremos palavras, que foram extraidas do banco original, pré-processadas, limpas e selecionados partir do passo de POS-Tagging. Montaremos então
38
uma base com essas palavras. Será armazenada nesta base a palavra em si, o usuário que a gerou, o timestamp do momento em que foi gerada. Desta forma podemos extrair desta base com simples consultas SQL uma tabela de trending topics similar ao Twitter, e também uma tabela de TT por usuário com o tempo variável.
O último passo será então a detecção do nível de similaridade entre usuários base-ados nas tabelas de TT por usuários montadas no passo anterior. Para verificar esse nivel de similaridade temos que comparar duas tabelas de TT usuários distintos. Para compa-rar o nivel de similaridade entre 2 tabelas de palavras diferentes usaremos o algoritmo de edit-distance para calcular.
39
7 RESULTADOS E DISCUÇÕES
Seguindo os passos pré estabelecidos pelo capitulo anterior. Iniciamos a implemen-tação do modelo proposto realizando a obtenção dos dados. O primeiro passo foi juntar em uma única tabela todas postagens e comentários.
Tabela 1 – Níveis de investigação. (Fonte: 12)
id palavra usuario timestamp
1 palavra-1 id-usuario-1 timestamp-1
2 palavra-2 id-usuario-2 timestamp-2
3 palavra-3 id-usuario-3 timestamp-3
4 palavra-4 id-usuario-4 timestamp-4
Prosseguindo com o a fase de pré processamento, foi feita a limpeza dos textos das postagens e comentários retirados do MeetU.
Figura 6 – Modelo proposto
Um texto de entrada como mostrado na figura7passando pelos procedimentos de pré processamento extraiu as palavras mais relevantes, referenciada pela imagem 11.
40
Figura 8 – Texto de saída
Nesta etapa os dados estão prontos para passar pelo processo de pos-tagging para rotulação das palavras baseado na tabela de tagset4. Os resultados gerados pelo processo de POST podem ser vistos nas imagens a seguinte.
Figura 9 – Palavras de entrada para o Pos-Tagger
Figura 10 – Palavras taggeadas após o processo de POST
Figura 11 – Palavras selecionadas pelo processo de POST
Nesta fase conseguimos extrair as palavras mais importantes dos dados de entrada e podemos guarda-las em uma tabela separadamente.
Obtemos a tabela de palavras. Temos a capacidade de obter a tabela de trending topics da rede social e por usuário dos termos que estão se destacando na rede social apenas fazendo consultas SQL na tabela de palavras.
41
43
8 PRÓXIMOS PASSOS
Baseado nos resultados atuais, que incluem a obtenção da tabela de TT geral da rede social e de cada usuário. A próxima etapa do trabalho é a utilização do método edit-distance para comparação das tabelas de TT dos usuários distintos, afim de obter o melhor nível de proximidade entre eles.
45
REFERÊNCIAS
[1] AZEVEDO, B.; BASTOS, H. Mineração de Dados Textuais Educacionais: Experiências e Perspectivas para a Análise de Postagens em Fóruns de Discussão.
Tecnologias Digitais na Educação: Pesquisas e Práticas Pedagógicas, p. 21–43.
[2] RAJMAN, M.; BESANÇON, R. Text mining: natural language techniques and text mining applications. In: Data mining and reverse engineering. [S.l.]: Springer, 1998. p. 50–64.
[3] BRANCO, A.; SILVA, J. Evaluating solutions for the rapid development of state-of-the-art pos taggers for portuguese. In: LREC. [S.l.: s.n.], 2004.
[4] HUANG, S. et al. Topic detection from microblog based on text clustering and topic model analysis. In: IEEE. Services Computing Conference (APSCC), 2014
Asia-Pacific. [S.l.], 2014. p. 88–92.
[5] REZENDE, S. O. et al. Mineração de dados. Sistemas inteligentes: fundamentos e
aplicações, v. 1, p. 307–335, 2003.
[6] CHURCH, K. W. A stochastic parts program and noun phrase parser for unrestricted text. In: ASSOCIATION FOR COMPUTATIONAL LINGUISTICS. Proceedings of
the second conference on Applied natural language processing. [S.l.], 1988. p. 136–143.
[7] MARTIN, J. H.; JURAFSKY, D. Speech and language processing. International
Edition, v. 710, 2000.
[8] BRILL, E. Part-of-speech tagging. Handbook of natural language processing, Marcel Dekker, p. 403–414, 2000.
[9] ZUBIAGA, A. et al. Classifying trending topics: a typology of conversation triggers on twitter. In: ACM. Proceedings of the 20th ACM international conference on
Information and knowledge management. [S.l.], 2011. p. 2461–2464.
[10] CORMODE, G.; MUTHUKRISHNAN, S. The string edit distance matching problem with moves. ACM Transactions on Algorithms (TALG), ACM, v. 3, n. 1, p. 2, 2007.
[11] MARZAL, A.; VIDAL, E. Computation of normalized edit distance and applications.
IEEE transactions on pattern analysis and machine intelligence, IEEE, v. 15, n. 9,
p. 926–932, 1993.
[12] van GIGCH, J. P.; PIPINO, L. L. In search for a paradigm for the discipline of information systems. Future Computing Systems, v. 1, n. 1, p. 71–97, 1986.