TextBlob实际上是在NLTK库之上构建的高级库。首先,我们使用一些简单的正则表达式来调用clean_tweet方法从推文中删除链接,特殊字符等。
然后,当我们传递tweet来创建TextBlob对象时,后续处理是通过textblob库对文本进行的:
- 对推文进行标记,即从文本正文中分割单词。
- 从标记中删除停用词。(停用词是常用的单词,在文本分析中与我,我,你,是等等无关)
- 对标记进行POS(词性)标记并仅选择形容词,副词等重要特征/标记。
- 将令牌传递给情绪分类器,该分类器将推文情绪分为正,负或中性,方法是将其指定为-1.0到1.0之间的极性。
def
get_tweets(self, query, count =
10):
'''
Main function to fetch tweets and parse them.
'''
# empty list to store parsed tweets
tweets =
[]
try:
# call twitter api to fetch tweets
fetched_tweets =
self.api.search(q =
query, count =
count)
# parsing tweets one by one
for
tweet in
fetched_tweets:
# empty dictionary to store required params of a tweet
parsed_tweet =
{}
# saving text of tweet
parsed_tweet['text'] =
tweet.text
# saving sentiment of tweet
parsed_tweet['sentiment'] =
self.get_tweet_sentiment(tweet.text)
# appending parsed tweet to tweets list
if
tweet.retweet_count > 0:
# if tweet has retweets, ensure that it is appended only once
if
parsed_tweet not
in
tweets:
tweets.append(parsed_tweet)
else:
tweets.append(parsed_tweet)
# return parsed tweets
return
tweets
except
tweepy.TweepError as e:
# print error (if any)
print("Error : "
+
str(e))








暂无数据