swb0802的个人博客分享 http://blog.sciencenet.cn/u/swb0802

博文

新浪微博数据抓取与中文分词

已有 9212 次阅读 2013-4-28 14:27 |个人分类:推荐系统|系统分类:科研笔记| 中文, 新浪微博

推荐系统实验……

这周的任务是抓取新浪微博的数据(某一用户所有微博的所有评论),并对内容做情感分析。

通过摸索,得知了新浪微博抓取数据的流程:通过一个账号在线申请到微博应用,得到应用的app_keysecret_key,通过这两个参数和一个微博账号,可以申请到access_token,这是调用大部分新浪微博api所必须用到的信息。

有了access_token,就可以调用大部分微博api了。

新浪api文档:http://open.weibo.com/wiki/API%E6%96%87%E6%A1%A3_V2

但是,幸福没有那么容易……新浪对api调用频次做了限制,对应用、使用应用的用户、IP层面上做了限制,具体限制如下:

所以,写好下载代码后(做到这几个字用了1天多的时间……),我一口气申请了八个应用,一个应用调用频次用完了,换下一个应用,循环使用。这样,用了半天的时间(过程需要人工干预,争取写出下一版本的代码,不需要人工干预)终于把中国红十字会的所有微博的所有评论下载下来了。(代码还存在一些小bug,就是异常处理部分。没想到微博评论的id居然还有重复的,导致一些数据没能正确存入数据库,下一版本修正这个补丁)。

数据下载下来了,如何做情感分析呢?作为一个测试性质的实验,先做初步的分析:看评论内容中正面情感词和负面情感词的比例。要做到这一点,首先得进行分词——将一段句子拆成单个的词。难点在于,句子是中文。在网上找了许久,找到了apache下的开源项目Lucene,用法很简单。但是网上很多教程都是旧版的,又找了好久,终于找到一个2012年版本的:

http://www.cnblogs.com/luxh/archive/2012/06/23/2559260.html

切分的效果还算不错。

听师兄说中科院有个开源项目也是做中文分词的,准确率很高,用C++写的。等研究下。

然后还需要有一个词性情感标注好了的字典,作为依据。师兄给了一个文档,包含两万七千左右个词:

http://pan.baidu.com/share/link?shareid=411164&uk=2366416894

我试了下,很多微博中出现的词,并没有包含在词典中。看来下一步还要找词典……

先到这了




https://blog.sciencenet.cn/blog-795423-684839.html

上一篇:推荐系统评价模型
下一篇:Github
收藏 IP: 210.30.97.*| 热度|

1 李伟钢

该博文允许注册用户评论 请点击登录 评论 (2 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-7-17 14:21

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部