python分享---HanLP库(切词、关键词提取、自动摘要、短语提取)
Hanlp安装
- pip安装 :pip install pyhanlp
(一般pypi不太稳定,较容易安装失败,之后一般安装python的第三方库都是有国内的镜像 ,一般的在 pip命令后加 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com (豆瓣)就可以,还有好多,比如清华、阿里云等等)
其实也可以在网上找已经编译好的“轮子”进行安装(由于没有用到,大家自行研究)
- 两点说明
- 一般安装失败的话,可能是缺少jpype1这个Python包,就需要安装Anaconda,安装完成后直接pip就好了
- 一般安装后不能直接使用,还要下载类似数据字典的文件(一般在首次使用的时候会自动安装,会提示下载链接,安装路径;本人建议根据链接用下载器下载后放到安装路径)
Hanlp的使用
# 测试文本 s = "华为创立于1987年,是全球领先的ICT(信息与通信)基础设施和智能终端提供商,我们致力于把数字世界带入每个人、" \ "每个家庭、每个组织,构建万物互联的智能世界。目前华为有19.4万员工,业务遍及170多个国家和地区,服务30多亿人口。" \ "我们在通信网络、IT、智能终端和云服务等领域为客户提供有竞争力、安全可信赖的产品、解决方案与服务,与生态伙伴" \ "开放合作,持续为客户创造价值,释放个人潜能,丰富家庭生活,激发组织创新。华为坚持围绕客户需求持续创新,加大基" \ "础研究投入,厚积薄发,推动世界进步。"
- 切词
# 切词 print(HanLP.segment(s)) #结果 [华为/nt, 创立/v, 于/p, 1987/m, 年/qt, ,/w, 是/vshi, 全球/n, 领先/vi, 的/ude1, ICT/nx, (/w, 信息/n, 与/cc, 通信/vn, )/w, 基础设施/gi, 和/cc, 智能终端/gi, 提供商/n, ,/w,
我们/rr, 致力于/v, 把/pba, 数字/n, 世界/n, 带入/v, 每个/mq, 人/n, 、/w, 每个/mq, 家庭/n, 、/w, 每个/mq, 组织/n, ,/w, 构建/v, 万物/n, 互联/vi, 的/ude1, 智能/n, 世界/n, 。/w,
目前/t, 华为/nt, 有/vyou, 19.4/m, 万/m, 员工/n, ,/w, 业务/n, 遍及/v, 170/m, 多/a, 个/q, 国家/n, 和/cc, 地区/n, ,/w, 服务/vn, 30/m, 多/a, 亿/m, 人口/n, 。/w, 我们/rr, 在/p,
通信/vn, 网络/n, 、/w, IT/nx, 、/w, 智能终端/gi, 和/cc, 云/vg, 服务/vn, 等/udeng, 领域/n, 为/p, 客户/n, 提供/v, 有/vyou, 竞争力/n, 、/w, 安全/an, 可信赖/nz, 的/ude1, 产品/n,
、/w, 解决方案/gi, 与/cc, 服务/vn, ,/w, 与/cc, 生态/n, 伙伴/n, 开放/v, 合作/vn, ,/w, 持续/vd, 为/p, 客户/n, 创造/v, 价值/n, ,/w, 释放/v, 个人/n, 潜能/n, ,/w, 丰富/a, 家庭/n
, 生活/vn, ,/w, 激发/v, 组织/n, 创新/vi, 。/w, 华为/nt, 坚持/v, 围绕/v, 客户/n, 需求/n, 持续/vd, 创新/vi, ,/w, 加大/v, 基础/n, 研究/vn, 投入/v, ,/w, 厚积薄发/vl, ,/w, 推动/v,
世界/n, 进步/vn, 。/w]
- 自定义字典
# 自定义字典 CustomDictionary.add("基础研究", "n") print(HanLP.segment(s)) # 结果 [华为/nt, 创立/v, 于/p, 1987/m, 年/qt, ,/w, 是/vshi, 全球/n, 领先/vi, 的/ude1, ICT/nx, (/w, 信息/n, 与/cc, 通信/vn, )/w, 基础设施/gi, 和/cc, 智能终端/gi, 提供商/n, ,/w, 我们/rr, 致力于/v, 把/pba, 数字/n, 世界/n, 带入/v, 每个/mq, 人/n, 、/w, 每个/mq, 家庭/n, 、/w, 每个/mq, 组织/n, ,/w, 构建/v, 万物/n, 互联/vi, 的/ude1, 智能/n, 世界/n, 。/w, 目前/t, 华为/nt, 有/vyou, 19.4/m, 万/m, 员工/n, ,/w, 业务/n, 遍及/v, 170/m, 多/a, 个/q, 国家/n, 和/cc, 地区/n, ,/w, 服务/vn, 30/m, 多/a, 亿/m, 人口/n, 。/w, 我们/rr, 在/p, 通信/vn, 网络/n, 、/w, IT/nx, 、/w, 智能终端/gi, 和/cc, 云/vg, 服务/vn, 等/udeng, 领域/n, 为/p, 客户/n, 提供/v, 有/vyou, 竞争力/n, 、/w, 安全/an, 可信赖/nz, 的/ude1, 产品/n, 、/w, 解决方案/gi, 与/cc, 服务/vn, ,/w, 与/cc, 生态/n, 伙伴/n, 开放/v, 合作/vn, ,/w, 持续/vd, 为/p, 客户/n, 创造/v, 价值/n, ,/w, 释放/v, 个人/n, 潜能/n, ,/w, 丰富/a, 家庭/n, 生活/vn, ,/w, 激发/v, 组织/n, 创新/vi, 。/w, 华为/nt, 坚持/v, 围绕/v, 客户/n, 需求/n, 持续/vd, 创新/vi, ,/w, 加大/v, 基础研究/n, 投入/v, ,/w, 厚积薄发/vl, ,/w, 推动/v, 世界/n, 进步/vn, 。/w]
- 关键词提取
# 关键词提取 print(HanLP.extractKeyword(s, 5)) # 结果 [服务, 客户, 世界, 华为, 通信]
- 摘要提取
# 摘要提取 print(HanLP.extractSummary(s, 3)) # 结果 [华为坚持围绕客户需求持续创新, 我们致力于把数字世界带入每个人、每个家庭、每个组织, 我们在通信网络、IT、智能终端和云服务等领域为客户提供有竞争力、安全可信赖的产品、解决方案与服务]
- 短语提取
# 短语提取 print(HanLP.extractPhrase(s, 5)) # 结果 [加大基础研究, 基础研究投入, 智能终端提供商, 万物互联, 可信赖产品]
通过我的使用,给我的感觉:HanLp比jieba好用。本人分享,欢迎大家指教