Writing About, análise semântica do Twitter
O Writing About analisa os twitts de um usuário e diz sobre que assuntos ele tem postado ultimamente.
Acabo de desenvolver uma ferramenta que identifica palavras-chave no Twitter e classifica-o segundo uma árvore de categorias personalizada. Não é uma comparação direta do tipo “encontre termos relacionados com tecnologia”, há uma análise do significado das palavras do texto.
Teste agora mesmo o serviço de análise semântica do Twitter!
É meu mais recente projeto de uma madrugada, por enquanto ele não tem utilidade real para usuários, é apenas uma prova de conceito. Em breve pretendo liberar o acesso ao serviço na forma de API JSON, com isso outros progamadores poderão usá-lo pra criar aplicativos que usem a interpretação dos twitts dos usuários.
Exemplo de aplicação que pode ser desenvolvida a partir da API do Writing About:
Recomendação de conteúdo a partir do que você tem tuitado: A aplicação analisa as categorias e palavras-chave dos seus twitts mais recentes e te recomenda conteúdo que pode te interessar.
Milestone a ser cumprido antes de liberar API pública:
Suportar no mínimo mil requests por hora. Atualmente o Twitter aceita no máximo 100 consultas por hora, com esse limite fica impossível usar o Writing About pra algo com um mínimo de escala. O ideal seriam 100 requests por minuto.
>> tech stuff
- foi desenvolvido em uma madrugada
- é programado em Python
- roda na infraestrutura do Google App Engine
- usa a API do Twitter pra pegar os posts mais recentes do usuário
- usa API externa pra análise semântica, ainda não posso dizer que API é, direi assim que for autorizado
- todas as consultas são gravadas num log no não-SQL App Engine datastore. Não-SQL é um sistema de armazenamento de dados não relacional e livre de schema, projetado especialmente para aplicações web de alta escala e grande volume de dados
- não tem tratamento de erros, porque sou afobado e queria mostrar logo pra vocês :)
Copyright boo-box 2009.
É melhor que a “Term Extractor” do Yahoo! ?
http://developer.yahoo.com/search/content/V1/termExtraction.html
;D
Posso dizer que tenho inveja de você.. hehe… O cara trabalha com programação, e ainda pode brincar com programação. Estou longe disso, mas estou a caminho, um dia chego lá. Muito legal sua aplicação.
E quero saber qual foi a API de analise semantica que você usou. :D
Valeu
@dirceu: Sim, é bem mais avançado que o Term Extractor. Mas posso usar o Term Extractor no futuro juntamente com essa “API secreta”, pra fazer uma análise combinada :)
Adorei!! Só não entendi pq o assunto mais relevante que deu pra mim foi “segurança” o.O huhauahuha bjoo
Interessante, dei uma testada e retornou umas palavras chave que eu nem me liguei que citei bastante nos meus twits, hehe
Fala Marco, idéia legal, eu tinha pensado em algo semelhante, mas não fiz, logo passou =p.
Mas o que eu queria te falar mesmo é que o De Deus (@josevalim) está exatamente fazendo a tese de mestrado dele em algorítmos de categorizaçao de textos. O que pode ajudar nesse teu aplicativo.
Fica aí a dica, abraços! ;)
quando utilizei meu usuário (matheuseduardo) gerou um erro:
Traceback (most recent call last):
File "/base/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 501, in __call__
handler.get(*groups)
File "/base/data/home/apps/writingabout/zenit.334664358739908316/main.py", line 76, in get
logTwitterUpdate(status)
File "/base/data/home/apps/writingabout/zenit.334664358739908316/main.py", line 149, in logTwitterUpdate
u.text = update['text']
File "/base/python_lib/versions/1/google/appengine/ext/db/__init__.py", line 408, in __set__
value = self.validate(value)
File "/base/python_lib/versions/1/google/appengine/ext/db/__init__.py", line 1893, in validate
raise BadValueError('Property %s is not multi-line' % self.name)
BadValueError: Property text is not multi-line
(se quiser pode apagar esse comentário, só num sabia aonde reportar mesmo)
abraço!
Bom o conceito.
Achei muito interessante tmb a ferramenta, porém, qual a razão de filtrar palavras case sensitive diferente? Por exemplo, olhe as suas palavras mais utilizadas.
Abraço
@daniloardenghi
Opa Marco, achei bem legal o conceito. Pode ser bem trabalhado e gerar um serviço legal.
Seria interessante saber mais sobre a análise semântica.
Algum tempo atrás estava conversando com um colega doutorando sobre pesquisa na área de aprendizado de máquina (machine learning, como queira) em cima do Twitter. É uma área interessante, pois ‘parece’ haver pouca informação imbutida em um tweet. Então seria difícil minerar alguma coisa, mas deve ter pouca gente pesquisando isso.
Eu e uns amigos do mestrado estamos testando algumas ideias com classificação (usando SVM) de tweets, estamos participando do Arena INFO.
Se quiser trocar uma ideia sobre o assunto, manda um email.
Abraço!
Oi Marco =)
adorei esse Writing about, mas comassim eu falo de ambiente e educação mas que de celebridade?hahahah
Escuta Marco, você é rapaz esperto e sabe que tem um player no Gengibre pra você colocar no seu blog néam? Então, demorou pra por suas aliviadas da garganta aqui!
Bjus!
Marcos,
Parabéns pelo esforço!
Fiz um teste e, sinceramente, não concordo com a avaliação de minhas categorias. Não tenho falado sobre Moda e Beleza, Nutrição e Fitness. Tecnologia e Política é o que mais tenho comentado. Palavras chaves que deveriam aparecer comigo seria Linux, Google, e coisas do tipo.
Mas continue trabalhando!
Lex Aleksandre
Google profile
Facebook
Twitter @aleksandre
A semantica estuda os significados, palavras e frases que constituem os nossos enunciados e discursos para a relacao que a linguagem estabelece entre o mundo, colocando assim o problema da referencia.
Marcos sou aluno de graduação e o tema do meu TG é “Web Semântica”. Neste momento estou estudando a possibilidade de pegar “Posts” no Twitter marcados com N3. A ferramenta que penso em utilizar é o Pipes Yahoo. A linguagem de consulta será o SPARQL, ainda não tenho idéia de como montar essa sintaxe.O que vc acha? C tem alguma sugestão?
Obrigado.