NLPIR汉语
分词
系统是一款功能很强大的
分词
工具,又名ICTCLAS2013,主要功能包括中文
分词
;词性标注;命名实体识别;用户词典添加;微博
分词
、新词发现与关键词提取等,支持GBK编码、UTF8编码、BIG5编码。而pynlpir提供了NLPIR/ICTCLAS汉语分词的Python接口。
我们首先安装pynlpir,打开cmd窗口,输入pip install pynlpir
在stata中调用Python程序的方式有很多,可以通过cmd来运行写好的python程序,也可以使用往期推文
《
I have a Stata, I have a python
》
中介绍的命令“python”。但由于“python”命令需要在电脑上安装Microsoft Visual Studio,并且Python的语言也无法写入stata的do文件中运行,而如果在命令框中用回车键换行,就会直接运行命令并报错,所以在stata中通过调用cmd来运行Python写好的程序远远比用stata中的python命令方便的多。
我们爬虫俱乐部团队前段时间去了温州呢
(详见
《第一届Stata中国用户大会在温州商学院圆满闭幕——“通过新技术获取实时的高品质数据已成潮流”》
),
一提到温州,总是能首先想到江南皮革厂那洗脑力满分的广告词,我们就对这个来
分词
吧。怎么用stata来写Python命令呢?用file write就好了。我们用file命令编辑Python脚本,写入江南皮革厂的广告词,调用pynlpir进行
分词。
clear all
cd E:/分词与情感分析
tempname handle
file open `handle' using 分词.py, replace text write
file write `handle' `"import pynlpir"' _n //导入pynlpir模块
file write `handle' `"pynlpir.open(encoding="utf8")"' _n //初始化模块
file write `handle' `"string = "浙江温州,浙江温州,"'
file write `handle' `"最大皮革厂,江南皮革厂倒闭了!"'
file write `handle' `"老板黄鹤吃喝嫖赌,欠下了3.5个亿,"'
file write `handle' `"带着他的小姨子跑了。"'
file write `handle' `"我们没有办法,拿着钱包抵工资。"'
file write `handle' `"原价都是三百多、二百多、一百多的钱包,"'
file write `handle' `"通通二十块,通通二十块!"'
file write `handle' `"黄鹤你不是人,我们辛辛苦苦给你干了大半年,"'
file write `handle' `"你不发工资,你还我血汗钱,还我血汗钱!""' _n //定义一段文本
file write `handle' `"seg_list = pynlpir.segment(string, pos_tagging=True)"' _n //切词,pos_tagging=True表示显示词性
file write `handle' `"for word in seg_list:"' _n
file write `handle' `" print(word)"' //把切词结果里的每一个词打印出来
file close `handle'
在stata中,调用cmd来运行Python程序“分词.py”,并将结果导入“分词结果.txt”。
! python 分词.py > 分词结果.txt
shellout 分词结果.txt
如上图所示,切词结果里的每一个词都被列了出来,并标注了词性。