Redes Sociais como Fonte de Informação para Cidades Inteligentes Mickael R. C. Figueredo 1, Nélio Cacho 2, Carlos A. Prolo 2 1 Escola de Ciência e Tecnologia Universidade Federal do Rio Grande do Norte (UFRN) 2 Departmento de Informática e Matemática Aplicada Universidade Federal do Rio Grande do Norte 1. Introdução mickaelfigueredo@hotmail.com.br, {neliocacho,prolo}@dimap.ufrn.br As grandes cidades possuem uma grande complexidade para serem administradas por seus governantes, tanto no sentido social, como econômico. Existem formas de tornar todo o processo o mais automatizado possível quando se trata do âmbito social. No contexto presente, a abordagem de smart city se aplica. Para [1], uma cidade pode ser definida como inteligente quando há investimento em capital humano e social, bem como em infraestrutura de Tecnologias da Informação e Comunicação. A grande dificuldade para a inserção da ideia de Cidades Inteligentes é o alto custo dos métodos de coleta de dados, sejam câmeras ou sensores, por exemplo. Desta forma, a utilização das redes sociais para a coleta de dados com o objetivo alimentar à análise das ferramentas no meio de smart cities é uma boa opção para superar as dificuldades encontradas, aplicando os dados em uma ferramenta de detectação. Foram divididas etapas para o processo visando o funcionamento ideal do código. O objetivo da ferramenta citada é trabalhar como um sensor capaz de apresentar a localização de eventos espalhados pela cidade, demonstrando quais possuem uma tendência negativa ou positiva. Os resultados apresentados pela solução proposta foram condizentes com as pesquisas oficiais realizadas no mesmo período, demonstram como uma rede social e os dados oriundos dela podem ser utilizados como sensores no contexto de Cidades Inteligentes. Nesse caso, foi escolhido o Twitter como base do estudo devido a grande quantidade de dados que expressam diretamente opiniões de usuários, além de ser capaz de disponibilizar informações importantes para o processo de validação dos dados obtidos. 2. Abordagem Foi criada uma ferramenta de detecção de eventos na região metropolitana de Natal em tempo real. Para tornar possível a utilização dessa infraestrutura foi utilizado o Apache Storm[2], ferramenta livre de código aberto produzido para tornar viável o processamento em tempo real. Inserido dentro da infraestrutura do Storm estão uma série de etapas da ferramenta. Primeiramente é necessário alimentar a aplicação com dados oriundos de uma rede social. Foi utilizado o Twitter4j[3] para a captura de mensagens do Twitter. Essa coleta é feita dentro da estrutura já citada que utiliza uma API em Java para integrar a plataforma com um twitter service. Usando a função Stream da API, é possível coletar dados de acordo com um conjunto de filtros que podem ser definidos pelo componente de análise
e visualização. Por exemplo, pode-se definir filtros para capturar apenas tweets emitidos em uma determinada região geográfica, ou que contenham determinadas hash tags, ou palavras específicas. Na aplicação foi criado um arquivo o qual eram passadas determinadas tags para a filtragem, entretanto era possível modificar esses parâmetros para filtros dependentes de localização ou idioma. O arquivo tornava possível a não interrupção do código para a mudança do filtro utilizado, entretanto, o mesmo filtro foi mantido durante toda a copa. Após a coleta, os dados são separados por idioma, em inglês ou português, para receberem o processamento de linguagem natural(pln) específico para cada caso. Definese PLN [4], em um sentido amplo, a área que cobre qualquer tipo de manipulação de um computador, ou máquina, sobre uma linguagem utilizada para a comunicação entre seres humanos. No caso dessa ferramenta foi utilizada a Polarização. As separação da linguagem é feita utilizando uma biblioteca da google, que é chamada no código através de um arquivo de extensão.jar. A biblioteca utiliza um filtro Bayesiano e garante um precisão de 98% para 52 línguas na versão utilizada. Já a polarização consiste em identificar se uma postagem tem sentimento positivo, negativo ou neutro sobre determinado assunto. Na versão atual da plataforma são suportados os polarizadores em inglês e português. Para a polarização dos dados inglês foi utilizada a biblioteca Stanford CorePLN. A ferramenta baseia-se na implementação do modelo de mineração sentimento de Socher et. al. [5] e utiliza inúmeras classes de processamento de linguagem natural. Neste caso, foi utilizada a classe Sentiment [6] que estrutura a frase em uma árvore sintática, marcando em particular cada palavra com sua classe gramatical (Part Pf Speech Tagger), como verbo, adjetivo, nome e pronome considerando a devida importância de cada palavra no processo de análise do sentimento, para que por fim, seja retornado a polaridade da frase passada como parâmetro. Nomes de pessoas públicas e até mesmo cidades e países influenciam no processo e seu resultado final. Para a polarização das postagens em português foi criado um componente de análise de sentimento que atendesse a estrutura de execução definida pela infraestrutura de processamento em tempo real. A base desse componente é o SentiLex [7], um léxico de sentimento para o português, constituído por 7.014 lemas e 82.347 formas flexionadas. As classes de palavras presentes nesse contexto são adjetivos, nomes, verbos e expressões idiomáticas. Após o devido processamento, é necessário o armazenamento dos resultados. Para isso o MongoDB[8], um banco de dados de alta performance e orientado a documentos, foi utilizado nessa etapa. O último passo consiste na visualização, no qual foi utilizado uma interface WEB no formato de dashboard implementada em HTML/JavaScript utilizando as bibliotecas Google Maps API V3 e Google Charts para gerar os mapas e os gráficos, respectivamente. 3. Estudo de Caso Com objetivo de testar a ferramenta, durante o período da Copa do Mundo FIFA 2014 foram coletados tweets em todo o mundo. A coleta se inicio em 00:00:00 do dia de início do evento esportivo e se estendeu até dois dias após o fim do mesmo. Optou-se por coletar os dados durante a copa para que fosse possível comparar os resultados fornecidos pela análise das postagens com estatísticas oficiais produzidas para grandes eventos como a
copa do mundo. O filtro utilizado na nossa ferramenta foram tags que faziam referência a cidades que recebiam jogos do evento, como Natal, Rio de Janeiro e Manaus. Figura 1. Mapa de Localização dos Tweets Podem-se identificar focos específicos de mensagens durante o período da Copa Do Mundo. O estádio que sediou os jogos é um deles, com uma razoável concentração de dados oriundos da mesma região. Entretanto, um local específico foi considerado fora do padrão. Uma casa de show foi detectada nesse processo, local o qual foi utilizado por turistas americanos como ponto de concentração durando os jogos da Seleção Americana. Figura 2. Polaridade dos Tweets em Inglês Partindo para a análise de polaridade do tweets de idioma inglês, verifica-se que os tweets positivos predominaram durante todo o processo, demonstrando a aceitação da Copa do Mundo. Entretanto, no dia 08/07/2014, um pico de negatividade foi apresentado, coincidindo com o jogo do Brasil vs Alemanha, o qual resultou no 7x1 histórico. Além disso, pode-se verificar que os picos de polaridade condizem com os jogos da seleção dos Estados Unidos. Durante a análise de dados, foi claro o expressivo número de usuários norte americanos que utilizaram o Twitter para expor opiniões durando o período de captura de dados. Por outro lado, os dados oriundos da língua portuguesa percebe-se a superioridade dos tweets em negativo, provavelmente devido à onda de protestos e revoltas relacionadas à Copa do Mundo do Brasil.
Figura 3. Polaridade dos Tweets em Português 4. Conclusão A iniciativa teve como objetivo principal demonstrar que as redes sociais podem ser utilizadas na iniciativa de Cidades Inteligentes devido à veracidade e quantidade de dados oferecidos pela mesma. No estudo apresentado no resumo, foi demonstrado através da aplicação introduzida na Copa do Mundo FIFA 2014, que focos de concentração de turistas e picos de polaridade relacionados ao evento foram detectados pela ferramenta utilizadora dos dados do Twitter, demonstrando a eficácia do processo.
Referências [1]Caragliu, A., Del Bo, C., and Nijkamp, P. 2011. Smart cities in Europe. Journal of Urban Technology, 18(2), 65?82. [2]Apache Software Foundation. Apache Storm. Disponível em: https://storm.apache.org/. Acessado em Junho/2015: [3]Twitter4J. Twitter4J. 2015. Disponível em: http://twitter4j.org/en/index.html. Acesso em: 25 jun. 2015. [4] Bird, S., Klein, E. and Loper, E. 2009. Natural Language Processing with Python. O?Reilly, CA. Disponível em: http://victoria.lviv.ua/html/fl5/naturallanguageprocessingwithpython.pdf [5] Socher, R., Perelygin, A., Wu, J., Chuang, J. Manning, C. Ng, A. and Potts, C. 2013. Recursive deep models for semantic compositionality over a sentiment Treebank. In Proceedings of the Conference on Empirical Methods in Natural Language. [6] The Stanford Natural Language Processing Group. 2014. Stanford CorePLN: a suite of core PLN tools. Disponível em: http://pln.stanford.edu/software/corepln.shtml. [7] Silva, M. J., Carvalho, P. and Sarmento, L. 2012. Building a Sentiment Lexicon for Social Judgement Mining. In International Conf. on Computational Processing of the Portuguese Language (PROPOR), Springer, pp. 218-228. [8] MongoDB. MongoDB. 2015. Disponível em: https://www.mongodb.org/. Acesso em: 25 jun. 2015.