HanLP: Han Language Processing
面向生产环境的多语种自然语言处理工具包(由一系列模型与算法组成的Java工具包),基于 TensorFlow 2.0,目标是普及落地最前沿的NLP技术。目前,基于深度学习的HanLP 2.0正处于alpha测试阶段,未来将实现知识图谱、问答系统、自动摘要、文本语义相似度、指代消解、三元组抽取、实体链接等功能。
HanLP有如下功能:
中文分词
词性标注
命名实体识别
依存句法分析
关键词提取新词发现
短语提取
自动摘要
文本分类
拼音简繁
1 安装
pip install pyhanlp
要求Python 3.6以上,支持Windows,可以在CPU上运行,推荐GPU/TPU。
2 使用场景
2.1 分词(中文分词、中文斷詞、英文分词、任意语种分词)
pyhanlp可以自定义多种分词规则和模型,也可以加入自定义词典,经测试,默认的分词方法效果就不错,而且兼备词性标注以及命名实体识别,可以识别人名、地名、机构名等信息。
from pyhanlp import *
sentence = "下雨天地面积水"
# 返回的list中,每个元素是一个分词后的Term对象,可以获取词(word属性)和词性(nature属性)
term_list = HanLP.segment(sentence)
for term in term_list:
print(term.word,term.nature)
作为终端用户,第一步需要从磁盘或网络加载预训练模型。比如,此处用两行代码加载一个名为 PKU_NAME_MERGED_SIX_MONTHS_CONVSEG
的分词模型。
import hanlp
tokenizer = hanlp.load('PKU_NAME_MERGED_SIX_MONTHS_CONVSEG')
tokenizer('商品和服务')
# ['商品', '和', '服务']
HanLP 会自动将 PKU_NAME_MERGED_SIX_MONTHS_CONVSEG
解析为一个URL,然后自动下载并解压。由于巨大的用户量,万一下载失败请重试或参考提示手动下载。
2.2 关键词提取与自动摘要
from pyhanlp import *
document =