虽然上面链接中的人只发了10条推文并进行分析.我想知道如何访问api以便用户可以快速响应.
即使这是一个很好的例子:http://snapbird.org/即使我知道如何访问推文并自动分析它们而不必将它们存储在任何地方也是一个完美的解决方案.
解决方法
>获取关键字的最后N条推文(使用tweepy lib)提供示例.
>将它们存储在一个数组中
>将数组传递给使用Python的NLTK构建的贝叶斯分类器[参见链接]
>近乎实时地获得分析结果
>如果需要,可以将它们呈现给用户(在Django / Flask模板中等)
从twitter API获取N条推文
使用tweepy的示例(使用关键字’Lionel Messi’返回最后10条推文)
#!/usr/bin/env python import tweepy ckey = 'xxx' csecret = 'xxx' atoken = 'xxx' asecret = 'xxx' auth = tweepy.OAuthHandler(ckey,csecret) auth.set_access_token(atoken,asecret) api = tweepy.API(auth) tweets = [] # You pass this array to the Bayesian Classifier for tweet in tweepy.Cursor(api.search,q="Lionel Messi",result_type="recent",include_entities=True,lang="en").items(10): print tweet.created_at,tweet.text tweets.append(tweet.text) # Store the tweets in your array
构建朴素贝叶斯分类器
有关如何构建分类器和良好资源的示例:
http://ravikiranj.net/drupal/201205/code/machine-learning/how-build-twitter-sentiment-analyzer
https://github.com/ravikiranj/twitter-sentiment-analyzer
请记住,你必须训练和微调你的机器人/分类器.您在这些资源中获得了更多信息和样板代码.
PS:或者你可以将推文的数组/字典传递给text-processing.com的API等服务,他们会为你做情感分析……
http://text-processing.com/demo/sentiment/
https://www.mashape.com/japerk/text-processing/pricing#!documentation
在一个简单的网站上显示结果
对于此任务,您可以使用flask-tweepy.只需阅读他们的演示,您将看到将上面的脚本合并到flask中并将结果呈现在视图中是多么容易.
希望能帮助到你!