需求场景:

基于分词技术,实现对文本数据中命名实体(如人名、地名等)的提取,或者自动计算文本中的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('\n\n加载自定义分词词典:\n'+"/ ".join(seg_list1))

词典文件格式:

关键词提取

    '''extract_tags(sentence, topK=20, withWeight=False, allowPOS=())sentence 为待提取的文本topK 为返回几个 TF/IDF 权重最大的关键词,默认值为 20withWeight 为是否一并返回关键词权重值,默认值为 FalseallowPOS 仅包括指定词性的词,默认值为空,即不筛选'''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工具包为例)相关推荐

  1. Python数据预处理——格式转换及抽取数据文本信息

    课程地址:https://www.imooc.com/learn/1105 1. 数据预处理简介 1.1 什么是数据预处理 数据预处理简单来说就是:将原始数据装进一个预处理的黑匣子之后,产生出高质量数 ...

  2. Python数据预处理:机器学习、人工智能通用技术(1)

    1 什么是数据预处理 数据预处理简而言之就是将原始数据装进一个预处理的黑匣子之后,产生出高质量数据用来适应相关技术或者算法模型.为了大家更明确的了解数据预处理,我们举个新闻分类的例子: 将原始的数据直 ...

  3. python数据处理实例-Python数据预处理实例详解

    Python----数据预处理代码实例 本文实例为大家分享了Python数据预处理的具体代码,供大家参考,具体内容如下 1.导入标准库 import numpy as np import matplo ...

  4. [Python] 数据预处理(缺失值、异常值、重复值) [相关方法参数说明、代码示例、相关概念]

    前言 系列文章目录 [Python]目录 视频及资料和课件 链接:https://pan.baidu.com/s/1LCv_qyWslwB-MYw56fjbDg?pwd=1234 提取码:1234 文 ...

  5. python数据预处理的方法_文本数据预处理的方法

    文本数据分析(一):基本框架 在文本数据分析基本框架中,我们涉及到了六个步骤: 数据收集 数据预处理 数据挖掘和可视化 模型构建 模型评估 虽然框架需要迭代,但是我们先将其看作是一个线性的过程: 修正 ...

  6. 泰坦尼克号python数据预处理_sklearn preprocessing 数据预处理(OneHotEncoder)

    1. one hot encoder one hot encoder 不仅对 label 可以进行编码,还可对 categorical feature 进行编码: >>> from ...

  7. python数据预处理实验_PimaIndiansdiabetes-数据预处理实验(一)

    有趣的事,Python永远不会缺席! 一.PimaIndiansdiabetes.csv 数据集介绍 1.该数据集最初来自国家糖尿病/消化/肾脏疾病研究所.数据集的目标是基于数据集中包含的某些诊断测量 ...

  8. python data analysis | python数据预处理(基于scikit-learn模块)

    原文:http://www.jianshu.com/p/94516a58314d Dataset transformations| 数据转换 Combining estimators|组合学习器 Fe ...

  9. python数据预处理

    最近在看python数据分析与挖掘实战这本书,所以就顺手做个笔记,方便日后忘记了查找.这本书前面五章主要讲的是数据挖掘的建模过程,包括数据探索.数据预处理以及挖掘建模常用算法等几个方面.后面十章是案例 ...

  10. 3行代码,Python数据预处理提速6倍!(附链接)

    来源:新智元 本文约2600字,建议阅读8分钟. 本文介绍了仅需3行代码,将Python数据处理速度提升2~6倍的简单方法. Python是所有机器学习的首选编程语言.它易于使用,并拥有许多很棒的库, ...

最新文章

  1. C++ socket传输结构体
  2. php 修改文件的权限_php怎么修改文件的权限?
  3. Le-net网络总结
  4. 为什么c语言软件调试不出来,急急急……求指导,程序调试不出来
  5. PHPCMS V9 为今天或几天前文章加new
  6. oracle em搭建,【oracle】手动安装EM
  7. Python 使用Schema 实现接口或方法的JSON格式参数的高效、优雅校验
  8. Brocade博科光纤交换机之 常用命令
  9. java生成api文档工具_api文档自动生成工具
  10. 谷歌中国工程研究院原副院长王劲加盟百度
  11. 文件管理助手函数升级
  12. 微信小程序全面屏适配
  13. html div 虚线边框样式,纯CSS实现渐变虚线框和边框滚动动画
  14. Tomcat7.0源码分析——server.xml文件的加载与解析
  15. 弟中弟级,基于Vivado的IP核封装以及仿真调用,FPGA入门小玩
  16. Java中的偏向锁是什么
  17. 【求职】有关面试和简历相关的总结与心得
  18. 2000_wideband extension of telephone speech using a hidden Markov model
  19. 深度学习(五) 生成对抗网络入门与实践
  20. 网络与信息安全领域泰斗

热门文章

  1. java毕业设计高校多媒体设备报修管理系统源码+系统+数据库+lw文档+调试运行
  2. 电脑端思维导图软件推荐
  3. 简单集成华为PUSH
  4. 什么是android原生系统版本,定制安卓和原生Android到底有哪些不同之处?彻底真相了...
  5. 不用 PLC与变频器通信程序 不用 三菱PLC与变频器通讯程序不经过 PLC与变频器通信
  6. XJOI1226 走迷宫
  7. ST六轴传感器LSM6DSO使用记录
  8. MPU6050 六轴传感器实验
  9. linux复制文件查看进度条,Linux 如何显示文件夹拷贝或者移动的进度条
  10. 新手对vue中特殊的标签属性ref和key的理解