Package: pyhanlp
pyhanlp: Python interfaces for HanLP1.xHanLP1.x的Python接口，支持自动下载与升级HanLP1.x，兼容Python<=3.8。内部算法经过工业界和学术界考验，配套书籍《自然语言处理入门》已经出版，欢迎查阅随书代码或点击在线运行。基于深度学习的HanLP2.x已于2020年初发布，次世代最先进的多语种NLP技术，与1.x相辅相成，平行发展。安装懒人请点击；小白可直接使用傻瓜安装包；工程师请先安装conda，然后执行：condainstall-cconda-forgeopenjdkpython=3.8jpype1=0.7.0-y
pipinstallpyhanlp使用命令hanlp来验证安装，如因网络等原因自动安装失败，可参考手动配置或Windows指南。命令行中文分词使用命令hanlp segment进入交互分词模式，输入一个句子并回车，HanLP1.x会输出分词结果：$hanlpsegment商品和服务商品/n和/cc服务/vn当下雨天地面积水分外严重当/p下雨天/n地面/n积水/n分外/d严重/a龚学平等领导说,邓颖超生前杜绝超生龚学平/nr等/udeng领导/n说/v,/w邓颖超/nr生前/t杜绝/v超生/vi还可以重定向输入输出到文件等：$hanlpsegment<<<'欢迎新老师生前来就餐'欢迎/v新/a老/a师生/n前来/vi就餐/vi依存句法分析命令为hanlp parse，同样支持交互模式和重定向：$hanlpparse<<<'徐先生还具体帮助他确定了把画雄鹰、松鼠和麻雀作为主攻目标。'1徐先生徐先生nhnr_4主谓关系__2还还dd_4状中结构__3具体具体aa_4状中结构__4帮助帮助vv_0核心关系__5他他rrr_4兼语__6确定确定vv_4动宾关系__7了了uule_6右附加关系__8把把ppba_15状中结构__9画画vv_8介宾关系__10雄鹰雄鹰nn_9动宾关系__11、、wpw_12标点符号__12松鼠松鼠nn_10并列关系__13和和ccc_14左附加关系__14麻雀麻雀nn_10并列关系__15作为作为pp_6动宾关系__16主攻主攻vvn_17定中关系__17目标目标nn_15动宾关系__18。。wpw_4标点符号__服务器通过hanlp serve来启动内置的http服务器，默认本地访问地址为：http://localhost:8765；也可以访问官网演示页面：http://hanlp.hankcs.com/。升级通过hanlp update命令来将HanLP1.x升级到最新版。该命令会获取HanLP主项目最新版本并自动下载安装。欢迎通过hanlp --help查看最新帮助手册。API通过工具类HanLP调用常用接口：frompyhanlpimport*print(HanLP.segment('你好，欢迎在Python中调用HanLP的API'))forterminHanLP.segment('下雨天地面积水'):print('{}\t{}'.format(term.word,term.nature))# 获取单词与词性testCases=["商品和服务","结婚的和尚未结婚的确实在干扰分词啊","买水果然后来世博园最后去世博会","中国的首都是北京","欢迎新老师生前来就餐","工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作","随着页游兴起到现在的页游繁盛，依赖于存档进行逻辑判断的设计减少了，但这块也不能完全忽略掉。"]forsentenceintestCases:print(HanLP.segment(sentence))# 关键词提取document="水利部水资源司司长陈明忠9月29日在国务院新闻办举行的新闻发布会上透露，"\"根据刚刚完成了水资源管理制度的考核，有部分省接近了红线的指标，"\"有部分省超过红线的指标。对一些超过红线的地方，陈明忠表示，对一些取用水项目进行区域的限批，"\"严格地进行水资源论证和取水许可的批准。"print(HanLP.extractKeyword(document,2))# 自动摘要print(HanLP.extractSummary(document,3))# 依存句法分析print(HanLP.parseDependency("徐先生还具体帮助他确定了把画雄鹰、松鼠和麻雀作为主攻目标。"))更多功能更多功能，包括但不限于：自定义词典极速词典分词索引分词CRF分词感知机词法分析臺灣正體、香港繁體关键词提取、自动摘要文本分类、情感分析请阅读HanLP主项目文档和demos目录以了解更多。调用更底层的API需要参考Java语法用JClass引入更深的类路径。以感知机词法分析器为例，这个类位于包名com.hankcs.hanlp.model.perceptron.PerceptronLexicalAnalyzer下，所以先用JClass得到类，然后就可以调用了：PerceptronLexicalAnalyzer = JClass('com.hankcs.hanlp.model.perceptron.PerceptronLexicalAnalyzer')
analyzer = PerceptronLexicalAnalyzer()
print(analyzer.analyze("上海华安工业（集团）公司董事长谭旭光和秘书胡花蕊来到美国纽约现代艺术博物馆参观"))输出：[上海/ns 华安/nz 工业/n （/w 集团/n ）/w 公司/n]/nt 董事长/n 谭旭光/nr 和/c 秘书/n 胡花蕊/nr 来到/v [美国/ns 纽约/ns 现代/t 艺术/n 博物馆/n]/ns 参观/v如果你需要多线程安全性，可使用SafeJClass；如果你需要延迟加载，可使用LazyLoadingJClass。如果你经常使用某个类，欢迎将其写入pyhanlp/__init__.py中并提交pull request，谢谢！与其他项目共享dataHanLP1.x具备高度可自定义的特点，所有模型和词典都可以自由替换。如果你希望与别的项目共享同一套data，只需将该项目的配置文件hanlp.properties拷贝到pyhanlp的安装目录下即可。本机安装目录可以通过hanlp --version获取。同时，还可以通过--config临时加载另一个配置文件：hanlp segment --config path/to/another/hanlp.properties测试git clone https://github.com/hankcs/pyhanlp.git
cd pyhanlp
pip install -e .
python tests/test_hanlp.py反馈任何bug，请前往HanLP issue区。提问请上论坛反馈，谢谢。《自然语言处理入门》自然语言处理是一门博大精深的学科，掌握理论才能发挥出工具的全部性能。新手可考虑这本入门书：一本配套HanLP的NLP入门书，基础理论与生产代码并重，Python与Java双实现。从基本概念出发，逐步介绍中文分词、词性标注、命名实体识别、信息抽取、文本聚类、文本分类、句法分析这几个热门问题的算法原理与工程实现。书中通过对多种算法的讲解，比较了它们的优缺点和适用场景，同时详细演示生产级成熟代码，助你真正将自然语言处理应用在生产环境中。《自然语言处理入门》由南方科技大学数学系创系主任夏志宏、微软亚洲研究院副院长周明、字节跳动人工智能实验室总监李航、华为诺亚方舟实验室语音语义首席科学家刘群、小米人工智能实验室主任兼NLP首席科学家王斌、中国科学院自动化研究所研究员宗成庆、清华大学副教授刘知远、北京理工大学副教授张华平和52nlp作序推荐。感谢各位前辈老师，希望这个项目和这本书能成为大家工程和学习上的“蝴蝶效应”，帮助大家在NLP之路上蜕变成蝶。授权协议Apache License 2.0