介绍
面向生产环境的多语种自然语言处理工具包,基于 TensorFlow 2.0,目标是普及落地最前沿的NLP技术。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。内部算法经过工业界和学术界考验,配套书籍《自然语言处理入门》已经出版。目前,基于深度学习的HanLP 2.0正处于alpha测试阶段,未来将实现知识图谱、问答系统、自动摘要、文本语义相似度、指代消解、三元组抽取、实体链接等功能。欢迎加入蝴蝶效应参与讨论,或者反馈bug和功能请求到issue区。Java用户请使用1.x分支 ,经典稳定,永久维护。RESTful API正在开发中,2.0正式版将支持包括Java、Python在内的开发语言。
关键词
中文分词 词性标注 命名实体识别 依存句法分析 语义依存分析 新词发现 关键词短语提取 自动摘要 文本分类聚类 拼音简繁转换 自然语言处理
安装 hanlp
pip install hanlp
报错及解决方案
Q: RuntimeError: Unsupported compiler – at least C++0x support is needed!
A:
yum install -y gcc-c++
Q: < Python.h > :没有那个文件或目录
A:
yum install -y python3-devel
体验
第一个例子
分词(中文分词、中文斷詞、英文分词、任意语种分词)
作为终端用户,第一步需要从磁盘或网络加载预训练模型。比如,此处用两行代码加载一个名为 PKU_NAME_MERGED_SIX_MONTHS_CONVSEG 的分词模型。
一旦模型下载完毕,即可将tokenizer当成一个函数调用:
import hanlp
tokenizer = hanlp.load('PKU_NAME_MERGED_SIX_MONTHS_CONVSEG')
print(tokenizer('商品和服务'))
结果:
词性标注
词性标注器的输入是单词,输出是每个单词的词性标签。
import hanlp
# 分词
# tokenizer = hanlp.load('PKU_NAME_MERGED_SIX_MONTHS_CONVSEG')
# print(tokenizer('商品和服务'))
# 词性标注
# 词性标注器的输入是单词,输出是每个单词的词性标签。
tagger = hanlp.load(hanlp.pretrained.pos.CTB5_POS_RNN_FASTTEXT_ZH)
print(tagger(['我', '的', '希望', '是', '希望', '和平']))
运行结果: