当前位置:   article > 正文

hanlp,pyhanlp 实现 NLP 任务

hanlp,pyhanlp 实现 NLP 任务

目录

区别

hanlp 代码使用

pyhanlp 代码使用


在线体验:命名实体识别 | 在线演示

区别

  • hanlp:是 githun 官方文档提供的使用方法,也就是在线的,调用 api 的方式去实现的,可以自己申请 token,接口分为 RESTful 轻量级,native 海量级

GitHub - hankcs/HanLP: 中文分词 词性标注 命名实体识别 依存句法分析 成分句法分析 语义依存分析 语义角色标注 指代消解 风格转换 语义相似度 新词发现 关键词短语提取 自动摘要 文本分类聚类 拼音简繁转换 自然语言处理

 

  • pyhanlp:为 hanlp 的一个封装,可以理解为离线的,不需要调 api

Hanlp、pyhanlp 的区别是什么? - #2 由 Viserion - 综合讨论 - HanLP中文社区

hanlp 代码使用

使用它的话,可能不能链科学上网,要不然连不上,我切断后就正常了,要是什么任务,点对应任务链接,有示例调用代码的:

 

pyhanlp 代码使用

  1. from pyhanlp import *
  2. # 分词
  3. sentence = "我爱自然语言处理技术!"
  4. s_hanlp = HanLP.segment(sentence)
  5. for term in s_hanlp:
  6. print(term.word, term.nature)
  7. # 依存句法分析
  8. s_dep = HanLP.parseDependency(sentence)
  9. print(s_dep)
  10. # 关键词提取
  11. document = u'''
  12. 自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。
  13. 它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。
  14. 自然语言处理是一门融语言学、计算机科学、数学于一体的科学。
  15. 因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,
  16. 所以它与语言学的研究有着密切的联系,但又有重要的区别。
  17. 自然语言处理并不是一般地研究自然语言,
  18. 而在于研制能有效地实现自然语言通信的计算机系统,
  19. 特别是其中的软件系统。因而它是计算机科学的一部分。
  20. '''
  21. doc_keyword = HanLP.extractKeyword(document, 3)
  22. for word in doc_keyword:
  23. print(word)
  24. # 摘要抽取
  25. doc_keysentence = HanLP.extractSummary(document, 3)
  26. for key_sentence in doc_keysentence:
  27. print(key_sentence)
  28. # 感知机词法分析器
  29. PerceptronLexicalAnalyzer = JClass('com.hankcs.hanlp.model.perceptron.PerceptronLexicalAnalyzer')
  30. analyzer = PerceptronLexicalAnalyzer()
  31. print(analyzer.analyze("上海华安工业(集团)公司董事长谭旭光和秘书胡花蕊来到美国纽约现代艺术博物馆参观"))
  32. # 实体命名识别
  33. NER = HanLP.newSegment().enableNameRecognize(True)
  34. p_name = NER.seg('王国强、高峰、汪洋、张朝阳光着头、韩寒、小四')
  35. print(p_name)
  36. # 音译人名识别
  37. sentence = '微软的比尔盖茨、Facebook的扎克伯格跟桑德博格、亚马逊的贝索斯、苹果的库克,这些硅谷的科技人'
  38. person_ner = HanLP.newSegment().enableTranslatedNameRecognize(True)
  39. p_name = person_ner.seg(sentence)
  40. print(p_name)
  41. # 短语提取
  42. phraseList = HanLP.extractPhrase(document, 3)
  43. print(phraseList)
  44. # 拼音转换
  45. s = '重载不是重任'
  46. pinyinList = HanLP.convertToPinyinList(s)
  47. for pinyin in pinyinList:
  48. print(pinyin.getPinyinWithoutTone(),pinyin.getTone(), pinyin, pinyin.getPinyinWithToneMark())
  49. # 声母韵母
  50. for pinyin in pinyinList:
  51. print(pinyin.getShengmu(), pinyin.getYunmu())
  52. # 繁简转换
  53. Jianti = HanLP.convertToSimplifiedChinese("我愛自然語言處理技術!")
  54. Fanti = HanLP.convertToTraditionalChinese("我爱自然语言处理技术!")
  55. print(Jianti)
  56. print(Fanti)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/233647?site
推荐阅读
相关标签
  

闽ICP备14008679号