`

Python中调用自然语言处理工具HanLP手记

阅读更多

 

HanLP方法封装类:

1. # -*- coding:utf-8 -*-

2. # Filename: main.py

3.

4.from jpype import *

5. 

5.startJVM(getDefaultJVMPath(), "-Djava.class.path=C:\hanlp\hanlp-1.3.2.jar;C:\hanlp", "-Xms1g", "-Xmx1g") # 启动JVM,Linux需替换分号;为冒号:

7.

8.print("="*30+"HanLP分词"+"="*30)

9.HanLP = JClass('com.hankcs.hanlp.HanLP')

10.# 中文分词

11.print(HanLP.segment('你好,欢迎在Python中调用HanLP的API'))

12.print("-"*70)

13. 

14.  print("="*30+"标准分词"+"="*30)

15. StandardTokenizer = JClass('com.hankcs.hanlp.tokenizer.StandardTokenizer')

16. print(StandardTokenizer.segment('你好,欢迎在Python中调用HanLP的API'))

17. print("-"*70)

18. 

19.# NLP分词NLPTokenizer会执行全部命名实体识别和词性标注

20.print("="*30+"NLP分词"+"="*30)

21.NLPTokenizer = JClass('com.hankcs.hanlp.tokenizer.NLPTokenizer')

22.print(NLPTokenizer.segment('中国科学院计算技术研究所的宗成庆教授正在教授自然语言处理课程'))

23.print("-"*70)

24.

25.  print("="*30+"索引分词"+"="*30)

26. IndexTokenizer = JClass('com.hankcs.hanlp.tokenizer.IndexTokenizer')

27. termList= IndexTokenizer.segment("主副食品");

28. for term in termList :

29.  print(str(term) + " [" + str(term.offset) + ":" + str(term.offset + len(term.word)) + "]")

30. print("-"*70)

31.

32. 

33.print("="*30+" N-最短路径分词"+"="*30)

34.# CRFSegment = JClass('com.hankcs.hanlp.seg.CRF.CRFSegment')

35.# segment=CRFSegment()

36.# testCase ="今天,刘志军案的关键人物,山西女商人丁书苗在市二中院出庭受审。"

37.# print(segment.seg("你看过穆赫兰道吗"))

38.print("-"*70)

39.

40.

41.print("="*30+" CRF分词"+"="*30)

42.print("-"*70)

43.

44.  print("="*30+" 极速词典分词"+"="*30)

45. SpeedTokenizer = JClass('com.hankcs.hanlp.tokenizer.SpeedTokenizer')

46. print(NLPTokenizer.segment('江西鄱阳湖干枯,中国最大淡水湖变成大草原'))

47. print("-"*70)

48. 

49.print("="*30+" 自定义分词"+"="*30)

50.CustomDictionary = JClass('com.hankcs.hanlp.dictionary.CustomDictionary')

51.CustomDictionary.add('攻城狮')

52.CustomDictionary.add('单身狗')

53.HanLP = JClass('com.hankcs.hanlp.HanLP')

54.print(HanLP.segment('攻城狮逆袭单身狗,迎娶白富美,走上人生巅峰'))

55.print("-"*70)

56. 

57 . print("="*20+"命名实体识别与词性标注"+"="*30)

58.NLPTokenizer = JClass('com.hankcs.hanlp.tokenizer.NLPTokenizer')

59.print(NLPTokenizer.segment('中国科学院计算技术研究所的宗成庆教授正在教授自然语言处理课程'))

60.print("-"*70)

61. 

62. 

63.document = "水利部水资源司司长陈明忠9月29日在新闻办举行的新闻发布会上透露," \

64.           "根据刚刚完成了水资源管理制度的考核,有部分省接近了红线的指标," \

65.           "有部分省超过红线的指标。对一些超过红线的地方,陈明忠表示,对一些取用水项目进行区域的限批," \

66.           "严格地进行水资源论证和取水许可的批准。"

67. print("="*30+"关键词提取"+"="*30)

68. print(HanLP.extractKeyword(document, 8))

69. print("-"*70)

70. 

71. 

72.print("="*30+"自动摘要"+"="*30)

73.print(HanLP.extractSummary(document, 3))

74.print("-"*70)

75. 

76. 

77.# print("="*30+"地名识别"+"="*30)

78.# HanLP = JClass('com.hankcs.hanlp.HanLP')

79.# segment = HanLP.newSegment().enablePlaceRecognize(true)

80.# testCase=["武胜县新学乡政府大楼门前锣鼓喧天",

81.#         "蓝翔给宁夏固原市彭阳县红河镇黑牛沟村捐赠了挖掘机"]

82.# for sentence in testCase :

83.#   print(HanLP.segment(sentence))

84.# print("-"*70)

85. 

86.  # print("="*30+"依存句法分析"+"="*30)

87. # print(HanLP.parseDependency("徐先生还具体帮助他确定了把画雄鹰、松鼠和麻雀作为主攻目标。"))

88. # print("-"*70)

89.

90.

91.

92. 

93.text =r"算法工程师\n 算法(Algorithm)是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。算法工程师就是利用算法处理事物的人。\n \n 1职位简介\n 算法工程师是一个非常高端的职位;\n 专业要求:计算机、电子、通信、数学等相关专业;\n 学历要求:本科及其以上的学历,大多数是硕士学历及其以上;\n 语言要求:英语要求是熟练,基本上能阅读国外专业书刊;\n 必须掌握计算机相关知识,熟练使用仿真工具MATLAB等,必须会一门编程语言。\n\n2研究方向\n 视频算法工程师、图像处理算法工程师、音频算法工程师 通信基带算法工程师\n \n 3目前国内外状况\n 目前国内从事算法研究的工程师不少,但是高级算法工程师却很少,是一个非常紧缺的专业工程师。算法工程师根据研究领域来分主要有音频/视频算法处理、图像技术方面的二维信息算法处理和通信物理层、雷达信号处理、生物医学信号处理等领域的一维信息算法处理。\n 在计算机音视频和图形图像技术等二维信息算法处理方面目前比较先进的视频处理算法:机器视觉成为此类算法研究的核心;另外还有2D转3D算法(2D-to-3D conversion),去隔行算法(de-interlacing),运动估计运动补偿算法(Motion estimation/Motion Compensation),去噪算法(Noise Reduction),缩放算法(scaling),锐化处理算法(Sharpness),超分辨率算法(Super Resolution),手势识别(gesture recognition),人脸识别(face recognition)。\n 在通信物理层等一维信息领域目前常用的算法:无线领域的RRM、RTT,传送领域的调制解调、信道均衡、信号检测、网络优化、信号分解等。\n 另外数据挖掘、互联网搜索算法也成为当今的热门方向。\n"

94.print("="*30+"短语提取"+"="*30)

95. 

96.  print(HanLP.extractPhrase(text, 10))

97. print("-"*70)

98. 

99.shutdownJVM()

 

HanLP运行结果:



 

 

python调用HanLP的jar包

链接: https://pan.baidu.com/s/1miDrWHq 密码: bmy6

 

转载自白宁超的博客  http://www.cnblogs.com/baiboy/ 

  • 大小: 39.8 KB
  • 大小: 84 KB
分享到:
评论

相关推荐

    基于Python和Java语言的汉语言处理工具HanLP设计源码

    该项目为基于Python和Java语言的汉语言处理工具HanLP的设计源码,总计包含588个文件,其中Python文件419个,Markdown文件146个,reStructuredText文件8个,Java文件6个,YAML文件2个,Python扩展文件2个,Git忽略...

    python中文自然语言处理基础与实战

    《Python中文自然语言处理基础与实战》是一本深入浅出的教程,涵盖了使用Python进行NLP工作的各个方面。在本文中,我们将详细探讨该领域的重要概念、工具和技术,并结合实际案例来深化理解。 首先,让我们从Python...

    基于Python和Java的HanLP自然语言处理工具设计源码

    该项目是一个基于Python和Java的HanLP自然语言处理工具设计源码,总共有593个文件,其中包括422个Python源文件、146个Markdown文档、8个ReStructuredText文件、8个Java源文件、2个YAML配置文件、2个Python扩展文件、...

    hanlp 自然语言处理入门

    在"hanlp 自然语言处理入门"的学习资料中,我们可以期待涵盖一系列基础到进阶的NLP概念和技术。这里我们将深入探讨其中的关键知识点。 首先,Python-3.8.10-amd64.exe是一个Python编程环境的安装程序,Python是NLP...

    基于Python的HanLP中文自然语言处理设计源码

    本项目为基于Python开发的HanLP中文自然语言处理源码,总文件量达198个,涵盖192个Python源文件、3个Markdown文档、1个YAML配置文件、1个Git忽略文件以及1个LICENSE文件。该源码集成了丰富的自然语言处理功能,包括...

    python自然语言处理实战pdf_dode.zip

    《Python自然语言处理实战》是一本深入探讨Python在NLP(自然语言处理)领域的实践应用的书籍。PDF版本为读者提供了方便的电子阅读体验,同时附带的代码资源则可以帮助读者更好地理解和应用书中的理论知识。这个...

    python自然语言处理

    2. Python的自然语言处理工具包nltk:nltk(Natural Language Toolkit)是Python中一个开源的自然语言处理工具包。它提供了丰富的接口和实现方法,包括但不限于分词(tokenization)、词性标注(POS tagging)、句法...

    Python-中文自然语言处理数据集

    本话题主要围绕"Python-中文自然语言处理数据集"展开,探讨其在中文NLP中的应用。 首先,我们要理解什么是中文自然语言处理数据集。数据集是机器学习和NLP任务的基础,它们提供了大量标注或未标注的文本数据,帮助...

    基于Python和Java的HanLP中文自然语言处理设计源码

    该项目是一个基于Python和Java的HanLP中文自然语言处理设计源码,包含614个文件,涵盖442个Python脚本、149个Markdown文档、8个reStructuredText文件、8个Java源文件、2个YAML配置文件、1个Git忽略文件、1个许可证...

    hanlp-python_spiderpbl_ch11/11.5.py_自然语言处理入门_

    在本项目"hanlp-python_spiderpbl_ch11/11.5.py_自然语言处理入门_"中,我们将探讨使用Python进行NLP的实践应用。 `11.5.py`可能是一个章节练习或示例代码,对应何晗先生的书籍关于自然语言处理的部分。这个Python...

    Python自然语言处理-BERT实战

    给大家分享一套课程——Python自然语言处理-BERT实战,提供全部课程资料,包括PPT,数据,代码。 Python自然语言处理-BERT模型实战课程旨在帮助同学们快速掌握当下NLP领域最核心的算法模型BERT的原理构造与应用实例。...

    python自然语言处理(NLP)入门.pdf

    Python自然语言处理(NLP)是人工智能领域的一个关键分支,主要目标是使计算机能够理解和处理人类的自然语言。在Python中,NLP的实现离不开强大的工具包,其中最常用的就是Natural Language Toolkit(NLTK)。NLTK是...

    基于Python和Java语言的HanLP中文自然语言处理设计源码

    本项目是一款基于Python和Java语言的HanLP中文自然语言处理设计源码,包含共计589个文件,其中包括420个Python源文件、146个Markdown文档、8个RestructuredText文件、6个Java源文件、2个YAML文件、2个Python扩展模块...

    Python资源之自然语言处理

    NLTK 是 Python 自然语言处理领域的领先者之一,提供了广泛的自然语言处理工具和资源。NLTK 提供了 Tokenization、 Stemming、 Lemmatization、 Parsing、 Semantic Reasoning 等功能,支持多种语言的处理。 ...

    深入spaCy:用Python进行高效自然语言处理

    本文将详细介绍如何在Python中使用spaCy进行自然语言处理,包括安装、文本处理、实体识别、语言模型和自定义模型等。 spaCy是一个功能强大、灵活且高效的自然语言处理库。通过本文的介绍,我们学习了如何在Python中...

    基于Python和Java的多语言HanLP自然语言处理设计源码

    本项目为基于Python和Java的多语言HanLP自然语言处理系统设计源码,共计包含658个文件,其中包括473个Python脚本、157个Markdown文档、13个Java类文件、8个RestructuredText文件、2个YAML配置文件、1个Git忽略文件、...

    基于Python和Java的hanLP自然语言处理设计源码

    本项目为hanLP自然语言处理框架的设计源码,主要采用Python编写,辅以Java进行跨平台开发。项目文件共计660个,其中包括475个Python源文件、157个Markdown文档、13个Java源文件、8个reStructuredText文件、2个YAML...

    基于Python和Java的HanLP自然语言处理设计源码

    该项目是一款基于Python和Java的HanLP自然语言处理设计源码,总文件量为610个,涵盖438个Python源文件、149个Markdown文档、8个ReStructuredText文件、8个Java源文件、2个YAML配置文件、1个Git忽略文件、1个LICENSE...

Global site tag (gtag.js) - Google Analytics