Não, não vou fazer uma análise da Vale (do Rio Doce) hoje não (que frase negativa, não acha?). Vou falar sobre outro tipo de mineração: a de textos. Na verdade, mineração de opiniões, encontradas em textos.
É uma das especialidades da PLN (Processamento de Linguagem Natural), um ramo da IA (Inteligência Artificial) que estuda a linguagem tal qual os humanos utilizam, no dia-a-dia, falando, escrevendo, ouvindo, pensando (calma lá…). Uma busca pela compreensão da linguagem humana pela máquina sem a necessidade de traduções manuais. O objetivo dessa ciência é fazer com que as máquinas possam um dia conversar com humanos assim como os humanos falam entre si.
Para que isso possa acontecer, a máquina precisa analisar sintaticamente os textos (se estão escritos de forma correta, dentro da estrutura base da linguagem), e semanticamente (se o texto tem algum ‘sentido’, no tocante às relações entre as palavras do mesmo texto).
Mas, além dessas análises, podemos analisar um texto e classificá-lo em categorias pré-definidas (clustering), onde a máquina pode ajudar (e muito bem já) a saber sobre o que um dado texto fala, e também podemos analisar a Orientação Semântica do texto: sua opinião, sobre o tema que trata, se aquele texto fala positivamente ou negativamente sobre o tema abordado em seu conteúdo.
Nessa vertente, desenvolvo um trabalho, começado em meu TCC, e continuado desde então, sobre mineração de opiniões de conteúdo comum na web, que é, a meu ver, o principal canal de comunicação de nossa época, e principalmente dos jovens. Esse trabalho discursa sobre um sistema que extrai esse conteúdo (textos sobre entidades, como empresas, organizações, pessoas), e aplica um método computacional para extrair essas orientações (em relação à entidade), mostrando ao usuário um parecer sumarizado no período analisado. Resumindo: o sistema pode analisar se estão falando bem ou mal de uma empresa em blogs, portais, etc. É ou não interessante para elas? É o que toda empresa deveria buscar na Web.
Trago esse assunto aqui pois será abordado no mais recente artigo que será publicado no WTI – 2009 (II International Workshop on Web and Text Intelligence) , a ser realizado em Setembro desse ano. Um evento muito legal para quem trabalha com Web e tecnologia. Torçam pela aprovação galera, e quem puder estar lá, até breve!
Oi, como vai?
Visitei sua aplicação: http://dev.thlopes.com/opsys/ E gostei do que vi, parabéns!
Sugestão para melhorar o classificador: aumenta seu léxico de palavras polarizadas. Uma maneira de fazer isso é aumentar a interação do site com os usuários permitindo que eles marquem como positiva/negativa as mensagens… ou seja, deixe que seus leitores reforcem o aprendizado do classificador. Em seguida colhe n-grams e atualiza seu léxico.
Outra maneira é usar as redes sociais para buscar posts previamente polarizados. Uma dica é usar as APIs de search (twitter, etc) para buscar post que contenham emoticons. Olha o que estes caras fizeram http://twittersentiment.appspot.com/
Vou acompanhar teu blog para ver o progresso. De toda forma, se quiser trocar idéias sobre o assunto, estou a disposição… envia-me um e-mail qualquer hora dessas.
[ ]s
Olá Carlos!
Obrigado pelas dicas! Vou anotar aqui no roteiro de pesquisas. Há uma nova versão do opsys já, com parte disso implementado (http://www.opsys.com.br). Essa versão que você experimentou foi a versão derivada do meu TCC, depois já trabalhei bastante nela. Dá uma olhada também, monte seus ‘sets’ para processar opiniões sobre o que e onde desejar, e me diga o que achou depois.
Críticas e sugestões como essa excelente que você teceu aqui são sempre muito bem-vindas!
Olá, Thomas.
Que técnicas de PNL especificamente você usa no opSys?
Atualmente, o PMI (Pointwise Mutual Information). Está nos planos: SVM, Naive Bayes e Máxima Entropia, e mais uma inédita que estou estudando ainda. E você, trabalha/estuda na área? Que achou do opSys?
Eu estudo/trabalho na área.
Achei ótimo que haja algo gratuito e com boa interface para isso – e você também está colaborando para o surgimento de um polarity lexicon em português! Mas, de fato, PMI não é a coisa mais legal para ser utilizada. Bom trabalho com os outros métodos!
Trabalha em alguma empresa/instituição, ou como freelancer/consultora? Sinto que o mercado está se aquecendo nessa área, o que é muito bom!
Como trabalhei bastante com interfaces também, consegui tornar a interface dele amigável, mas ainda há muita coisa pra melhorar e mostrar que o sistema pode jorrar informação. Quanto a ser gratuito, é uma forma de dar visibilidade, mas o sistema também terá a versão paga para quem quiser processamento em maior escala e com funções analíticas mais complexas.
Olá Thomas,
Estou trabalhando nessa área no meu tcc e analisando algumas ferramentas. Gostaria de saber se você tem algum artigo publicado sobre o opsys e se você também poderia me recomendar outros sistemas de análise de sentimento para download?
Obrigado.
Tenho artigo sim Renan, publicado na época do meu TCC, inclusive. Você pode acessá-lo através da biblioteca virtual da ACM
Já sobre as ferramentas, não conheço nenhuma que seja instalável nesse sentido. Recomendo que você dê uma olhada na NLTK do Python, é um bom starting point no assunto de processamento de linguagem natural. Já sobre ferramentas parecidas online, posso lhe passar uma lista depois, devo ter anotado em algum lugar durante as pesquisas.
Antes de falar sobre esse magnífico post, irei falar sobre a incrível qualidade do seu blog. Precisava mesmo conhecer mais sobre isso e você elaborou uma grande fonte de conhecimentos aqui. Não deixe que a qualidade desse blog diminua, está simplesmente estupendo!
Obrigado!
Pretendo escrever mais sobre o assunto, inclusive, listando algumas novidades do projeto http://www.opsys.com.br, mas infelizmente, ou melhor, felizmente, tenho bastante trabalho que preciso dar cabo antes. Me interessa muito esse assunto de Mineração de Opiniões e outros também dentro de Processamento de Linguagem Natural, e espero ainda poder contribuir muito nessa área. Feedbacks como esse seu ajudam a manter o ritmo em busca desse sonho! Abraço e sucesso!