概述
需求场景:
基于分词技术,实现对文本数据中命名实体(如人名、地名等)的提取,或者自动计算文本中的TF(词频)和TF-IDF(词频-逆向文件频率)。
主流工具包:
目前业界主流的分词工具包有“jieba”和“HanLP”等好几种。其中jieba是目前Python社区中最广泛使用的,HanLP作为Java开发的工具包,使用Python调用时 需要先加载jpype模块。本文主要介绍Jieba工具,并进行文本特征提取的操作示范。
安装方法:
- 自动安装: pip install jieba
- 半自动安装:下载 http://pypi.python.org/pypi/jieba/解压后运行 python setup.py install
- 手动安装:将 jieba 目录放置于当前目录或者 site-packages 目录
- 通过 import jieba 来引用
三种分词模式
- 精确模式:将句子最精确地切开,适合文本分析;
- 全模式: 把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;
- 搜索引擎模式:在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。
# 1 全模式,扫描所有可以成词的词语, 速度非常快,不能解决歧义. seg_list = jieba.cut("我来到四川美术学院", cut_all=True) print("nFull Mode: " + "/ ".join(seg_list)) # 返回 “Full Mode: 我/ 来到/ 四川/ 美术/ 美术学/ 美术学院/ 术学/ 学院” # 2 默认是精确模式,适合文本分析. seg_list = jieba.cut("我来到四川美术学院", cut_all=False) print("nDefault Mode: " + "/ ".join(seg_list)) # 返回“Default Mode: 我/ 来到/ 四川/ 美术学院” # 3 搜索引擎模式,对长词再次切分,提高召回率,适合用于搜索引擎分词。 seg_list = jieba.cut_for_search("小明硕士毕业于中国科学院计算所,后在日本京都大学深 造",HMM=False) print('n搜索引擎模式:'+", ".join(seg_list))
自定义分词字典
- 添加自定义词典
print('n原文档:t' + '/'.join(jieba.cut('猫狗应该不会被切开', HMM=False)))
# 猫/狗/应该/不会/被/切开
print(jieba.suggest_freq('猫狗', True))
print('改进文档:t' + '/'.join(jieba.cut('猫狗应该不会被切开', HMM=False)))
# 猫狗/应该/不会/被/切开
- 加载自定义词典文件
sys.path.append("../")
jieba.load_userdict("../Files/user_dict.txt") # 加载自定义分词词典
seg_list1 = jieba.cut("今天很高兴在中国移动和大家交流学习")
print('nn加载自定义分词词典:n'+"/ ".join(seg_list1))
词典文件格式:
关键词提取
'''
extract_tags(sentence, topK=20, withWeight=False, allowPOS=())
sentence 为待提取的文本
topK 为返回几个 TF/IDF 权重最大的关键词,默认值为 20
withWeight 为是否一并返回关键词权重值,默认值为 False
allowPOS 仅包括指定词性的词,默认值为空,即不筛选
'''
s = "此外,公司拟对全资子公司吉林欧亚置业有限公司增资4.3亿元,增资后,吉林欧亚置业注册资本由7000万元增加到5亿元。吉林欧亚置业主要经营范围为房地产开发及百货零售等业务。目前在建吉林欧亚城市商业综合体项目。2013年,实现营业收入0万元,实现净利润-139.13万元。"
for x, w in jieba.analyse.extract_tags(s, 10, withWeight=True):
print('%s %s' % (x, w))
词性标注
words = jieba.posseg.cut("我爱北京天安门")
for word, flag in words:
print('%s %s' % (word, flag))
'''
我 r
爱 v
北京 ns
天安门 ns
'''
词性对照文件:
最后
以上就是苗条冬日为你收集整理的Python数据预处理--文本特征提取(以Jieba工具包为例)的全部内容,希望文章能够帮你解决Python数据预处理--文本特征提取(以Jieba工具包为例)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复