hanlp自定义词典进行分词、关键词提取和摘要提取

系统:Windows10 64
Python版本:3.7.2
hanlp版本:0.1.50

本博文主要介绍使用使用中文自然语言处理库hanlp自定义词典进行分词、关键词提取和摘要提取,运行环境为Windows。

1. Hanlp安装

  • Linux
    Linux系统下安装需要注意使用管理员权限,同时要安装java:

    $ sudo apt install openjdk-11-jdk
    $ sudo pip3 install -U pyhanlp
    

    安装完成在初次导入模块时候会下载jar包和词典文件,由于词典文件比较大通常需要手动下载好再放进对应的文件夹:/usr/local/lib/python3.6/dist-packages/pyhanlp/static ,经过测试发现使用axel多线程下载的方法最快:

    $ axel -n 200 http://114.115.185.60/file/data-for-1.7.5.zip
    
  • windows
    Windows下面同样需要java环境和手动下载好数据文件,放置到路径C:\Applications\WPy64-3720\python-3.7.2.amd64\Lib\site-packages\pyhanlp\static 下,同时还需要解压出来,最后目录结构如下:
    在这里插入图片描述

2. 使用自定义词典进行分词、关键词提取和摘要提取

【2.1】 准备数据

'''
hanlp分词,使用自定义词典
Windows安装pyhanlp会因为网络问题而失败,可以参考https://github.com/hankcs/pyhanlp/wiki/%E6%89%8B%E5%8A%A8%E9%85%8D%E7%BD%AE解决
'''
#  准备数据
import numpy as np
from pyhanlp import *
f = open('./换流阀仿真.txt','r',encoding='utf-8')
text = f.read()
f.close()

【2.2】 自定义词典和修改配置

由于分词内容是专业性内容,有些专有名词在默认的字典里面没有出现过,直接默认词库进行分词不够准确,因此需要制作自己的词典:

  1. H A N L P P A T H HANLPPATH HANLPPATH为hanlp数据文件夹所在目录,例如笔者的为C:\Applications\WPy64-3720\python-3.7.2.amd64\Lib\site-packages\pyhanlp\static
  2. 删除 H A N L P P A T H HANLPPATH HANLPPATH/data/dictionary/custom文件夹下后缀为.bin的缓存文件
  3. 制作自己的词典,每个词语占一行,优先级与顺序有关,保存为文本(笔者保存的名称为换流阀专有名词.txt),放置在 H A N L P P A T H HANLPPATH HANLPPATH/data/dictionary/custom文件夹下
  4. 修改 H A N L P P A T H HANLPPATH HANLPPATH/hanlp.properties文件内容,修改以下行:
    CustomDictionaryPath=data/dictionary/custom/换流阀专有名词.txt;
  5. 重新运行程序,会生成缓存文件换流阀专有名词.txt.bin,如果没有生成该文件,可能是在IDE环境中没有重启Python解释器

【2.3】 分词,提取关键词和摘要

print(HanLP.segment(text))
# 关键词
print(HanLP.extractKeyword(text, 6))
# 自动摘要
print(HanLP.extractSummary(text, 3))

'''
[模型, 均压电极, 阀塔, 图, 仿真, 分析]
[搭建了仿真所需的阀塔内冷水回路三维模型和水路局部模型, 文中基于有限元仿真软件COMSOL Multiphysics搭建了含均压电极的内冷水回路三维阀塔模型, 文中主要对换流阀冷却水路系统进行了有限元电场仿真分析以及设计了相关实验对仿真结果进行了验证]
'''

# 【4】 尝试不加自定义词典的效果
# 需要删除文件换流阀专有名词.txt.bin,并且修改$HANLPPATH$/hanlp.properties文件内容

# 得到的结果如下,可见在没有自定义词典的情况下关键词提取,摘要提取效果非常差:
'''
[阀, 均, 模型, 电极, 压, 仿真]
[由于均压电极的作用水路电位分布和阀塔整体电位分布一致, 文中基于有限元仿真软件COMSOL Multiphysics搭建了含均压电极的内冷水回路三维阀塔模型, 从该仿真结果可以看出在等电位线周围以及均压电极部分场强较大]
'''
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值