在上一篇博客中简单介绍了实验环境和流程,这一篇我们继续。
第一步,下载搜狗中文语料库。链接:http://www.sogou.com/labs/dl/c.html
我们下载24M大小的精简版(tar.gz格式)
文章图片
下载完了,解压缩,放到做本次实验的目录里存好。(这不废话嘛!)
打开语料库看下,它一共是9类,每类由编号为10到1999大约1900篇txt文件构成。
手动将每一类的1900篇文章分开,分成两份,一份存为训练集,一份存为测试集。
我们点击上图中的分类编码对照表(txt格式)可以看每一类对应的中文分类。
![]()
文章图片
第二步就是下载中科院张华平博士的汉语词法分析系统ICTCLAS了。链接:http://ictclas.nlpir.org/downloads
![]()
文章图片
我们打开下载包,进入这个路径:20140926175340_ICTCLAS2014\ICTCLAS2014\sample\pythonsample【数据挖掘 文本分类(二)搜集中文语料库与ICTCLAS分词】
这时pythonsample目录下是这样的:
根据readme提示将data文件夹拷到pythonsample目录下:![]()
文章图片
![]()
文章图片
然后我们就可以将pythonsample文件夹整个拷到我们做这个实验的目录中了。
第三步,尝试分词。
我们用python自带的IDLE打开pythonsample中的nipir.py文件。安装python环境参考廖雪峰老师的网站:http://www.liaoxuefeng.com
![]()
文章图片
打开以后,发现示例文件的最下方分词举例是这样的:
![]()
文章图片
也就是说,示例分词是要把"Big News: @解放日报 [最右]【呼市铁路局原副局长被判死缓 最头痛藏钱】2013年12月底,呼市铁路局原副局长马俊飞..."这段话做分词。我们跑下试试,看看分词效果。
调出命令行界面,进入pythonsample文件夹,运行nlpir.py。(我的pythonsample文件夹就在桌面上)。如图:
![]()
文章图片
第一次尝试运行的时候,可能会报操作系统位数不匹配的错,如下:
![]()
文章图片
我们大概知道,肯定是操作系统位数的问题,常用的windows系统就是32位或者64位,我们根据提示去看看nlpir.py文件第14行:
![]()
文章图片
第14行是把libFile 指向nipir目录下的NLPIR64.dll,我们打开nlpir目录,发现里边既有NLPIR64.dll又有NLPIR32.dll。这样我们只需把第14行的64改为32,然后跑跑试试。
![]()
文章图片
分词成功了,但是输出结果是乱码。python的编码问题困扰了很多人哈,因为我也是初学,对编码理解的也不深,不过这个问题我们可以先解决,编码问题以后有时间再深入研究。
解决办法:将下面两行代码贴到nlpir.py文件顶端。
import sys
type = sys.getfilesystemencoding()
然后在文件最下方将print (s)改为print s.decode('utf-8').encode(type),如图:
![]()
文章图片
然后,我们在去尝试运行nlpir.py。
OK!成功啦!很开心有木有!!
![]()
文章图片
推荐阅读
- 人工智能|干货!人体姿态估计与运动预测
- Python专栏|数据分析的常规流程
- 读书笔记|《白话大数据和机器学习》学习笔记1
- 网络|一文彻底搞懂前端监控
- html5|各行业工资单出炉 IT类连续多年霸占“榜首”位置
- 人工智能|【机器学习】深度盘点(详细介绍 Python 中的 7 种交叉验证方法!)
- 网络|简单聊聊压缩网络
- 数据库|效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中【附源代码下载】)...
- r语言|手把手(R语言文本挖掘和词云可视化实践)
- 腾讯|SaaS的收入模型有哪些(终于有人讲明白了)