You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

README.md 7.2 kB

7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
6 years ago
7 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
6 years ago
7 years ago
7 years ago
7 years ago
6 years ago
6 years ago
7 years ago
7 years ago
6 years ago
7 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. # Jiagu自然语言处理工具
  2. >>> Jiagu以BiLSTM等模型为基础,使用大规模语料训练而成。将提供中文分词、词性标注、命名实体识别、情感分析、知识图谱关系抽取、关键词抽取、文本摘要、新词发现、情感分析、文本聚类等常用自然语言处理功能。参考了各大工具优缺点制作,将Jiagu回馈给大家。
  3. ## 目录
  4. * [安装方式](#安装方式)
  5. * [使用方式](#使用方式)
  6. * [评价标准](#评价标准)
  7. * [附录说明](#附录)
  8. ---
  9. 提供的功能有:
  10. * 中文分词
  11. * 词性标注
  12. * 命名实体识别
  13. * 知识图谱关系抽取
  14. * 关键词提取
  15. * 文本摘要
  16. * 新词发现
  17. * 情感分析
  18. * 文本聚类
  19. * 等等。。。。
  20. ---
  21. ### 安装方式
  22. pip安装
  23. ```shell
  24. pip install -U jiagu
  25. ```
  26. 源码安装
  27. ```shell
  28. git clone https://github.com/ownthink/Jiagu
  29. cd Jiagu
  30. python3 setup.py install
  31. ```
  32. 注意:深度学习模型使用1.6训练的,不支持tensorflow 2.0
  33. ### 使用方式
  34. 1. 快速上手:分词、词性标注、命名实体识别
  35. ```python3
  36. import jiagu
  37. #jiagu.init() # 可手动初始化,也可以动态初始化
  38. text = '厦门明天会不会下雨'
  39. words = jiagu.cut(text) # 分词
  40. print(words)
  41. pos = jiagu.pos(words) # 词性标注
  42. print(pos)
  43. ner = jiagu.ner(text) # 命名实体识别
  44. print(ner)
  45. ```
  46. 2. 中文分词
  47. 自定义分词模型(将单独提供msr、pku、cnc等分词标准)
  48. ```python3
  49. import jiagu
  50. # 独立标准模型路径
  51. # msr:test/extra_data/model/msr.model
  52. # pku:test/extra_data/model/pku.model
  53. # cnc:test/extra_data/model/cnc.model
  54. jiagu.load_model('test/extra_data/model/cnc.model') # 使用国家语委分词标准
  55. words = jiagu.cut('结婚的和尚未结婚的')
  56. print(words)
  57. ```
  58. 分词各种模式使用方式
  59. ```python3
  60. import jiagu
  61. text = '汉服和服装、知识图谱机器人'
  62. words = jiagu.cut(text) # 默认分词
  63. print(words)
  64. words = jiagu.seg(text) # 字典分词
  65. print(words)
  66. # jiagu.load_userdict('dict/user.dict') # 加载自定义字典,支持字典路径、字典列表形式。
  67. jiagu.load_userdict(['知识图谱'])
  68. words = jiagu.seg(text) # 自定义分词,字典分词模式有效
  69. print(words)
  70. ```
  71. 3. 知识图谱关系抽取
  72. ```python3
  73. import jiagu
  74. # 吻别是由张学友演唱的一首歌曲。
  75. # 苏州大学(Soochow University),简称“苏大”,坐落于历史文化名城苏州。
  76. # 《盗墓笔记》是2014年欢瑞世纪影视传媒股份有限公司出品的一部网络季播剧,改编自南派三叔所著的同名小说,由郑保瑞和罗永昌联合导演,李易峰、杨洋、唐嫣、刘天佐、张智尧、魏巍等主演。
  77. text = '姚明(Yao Ming),1980年9月12日出生于上海市徐汇区,祖籍江苏省苏州市吴江区震泽镇,前中国职业篮球运动员,司职中锋,现任中职联公司董事长兼总经理。'
  78. knowledge = jiagu.knowledge(text)
  79. print(knowledge)
  80. ```
  81. 4. 关键词提取
  82. ```python3
  83. import jiagu
  84. text = '''
  85. 该研究主持者之一、波士顿大学地球与环境科学系博士陈池(音)表示,“尽管中国和印度国土面积仅占全球陆地的9%,但两国为这一绿化过程贡献超过三分之一。考虑到人口过多的国家一般存在对土地过度利用的问题,这个发现令人吃惊。”
  86. NASA埃姆斯研究中心的科学家拉玛·内曼尼(Rama Nemani)说,“这一长期数据能让我们深入分析地表绿化背后的影响因素。我们一开始以为,植被增加是由于更多二氧化碳排放,导致气候更加温暖、潮湿,适宜生长。”
  87. “MODIS的数据让我们能在非常小的尺度上理解这一现象,我们发现人类活动也作出了贡献。”
  88. NASA文章介绍,在中国为全球绿化进程做出的贡献中,有42%来源于植树造林工程,对于减少土壤侵蚀、空气污染与气候变化发挥了作用。
  89. 据观察者网过往报道,2017年我国全国共完成造林736.2万公顷、森林抚育830.2万公顷。其中,天然林资源保护工程完成造林26万公顷,退耕还林工程完成造林91.2万公顷。京津风沙源治理工程完成造林18.5万公顷。三北及长江流域等重点防护林体系工程完成造林99.1万公顷。完成国家储备林建设任务68万公顷。
  90. '''
  91. keywords = jiagu.keywords(text, 5) # 关键词
  92. print(keywords)
  93. ```
  94. 5. 文本摘要
  95. ```python3
  96. import jiagu
  97. fin = open('input.txt', 'r')
  98. text = fin.read()
  99. fin.close()
  100. summarize = jiagu.summarize(text, 3) # 摘要
  101. print(summarize)
  102. ```
  103. 6. 新词发现
  104. ```python3
  105. import jiagu
  106. jiagu.findword('input.txt', 'output.txt') # 根据文本,利用信息熵做新词发现。
  107. ```
  108. 7. 情感分析
  109. ```python3
  110. import jiagu
  111. text = '很讨厌还是个懒鬼'
  112. sentiment = jiagu.sentiment(text)
  113. print(sentiment)
  114. ```
  115. 8. 文本聚类
  116. ```python3
  117. import jiagu
  118. docs = [
  119. "百度深度学习中文情感分析工具Senta试用及在线测试",
  120. "情感分析是自然语言处理里面一个热门话题",
  121. "AI Challenger 2018 文本挖掘类竞赛相关解决方案及代码汇总",
  122. "深度学习实践:从零开始做电影评论文本情感分析",
  123. "BERT相关论文、文章和代码资源汇总",
  124. "将不同长度的句子用BERT预训练模型编码,映射到一个固定长度的向量上",
  125. "自然语言处理工具包spaCy介绍",
  126. "现在可以快速测试一下spaCy的相关功能,我们以英文数据为例,spaCy目前主要支持英文和德文"
  127. ]
  128. cluster = jiagu.text_cluster(docs)
  129. print(cluster)
  130. ```
  131. ### 评价标准
  132. 1. msr测试结果(旧版本)
  133. ![msr](https://github.com/ownthink/evaluation/blob/master/images/2.png)
  134. ## 附录
  135. 1. 词性标注说明
  136. ```text
  137. n   普通名词
  138. nt   时间名词
  139. nd   方位名词
  140. nl   处所名词
  141. nh   人名
  142. nhf  姓
  143. nhs  名
  144. ns   地名
  145. nn   族名
  146. ni   机构名
  147. nz   其他专名
  148. v   动词
  149. vd  趋向动词
  150. vl  联系动词
  151. vu  能愿动词
  152. a   形容词
  153. f   区别词
  154. m   数词  
  155. q   量词
  156. d   副词
  157. r   代词
  158. p   介词
  159. c   连词
  160. u   助词
  161. e   叹词
  162. o   拟声词
  163. i   习用语
  164. j   缩略语
  165. h   前接成分
  166. k   后接成分
  167. g   语素字
  168. x   非语素字
  169. w   标点符号
  170. ws  非汉字字符串
  171. wu  其他未知的符号
  172. ```
  173. 2. 命名实体说明(采用BIO标记方式)
  174. ```text
  175. B-PER、I-PER 人名
  176. B-LOC、I-LOC 地名
  177. B-ORG、I-ORG 机构名
  178. ```
  179. ### 加入我们
  180. 思知人工智能群QQ群:90780053,微信群联系作者微信:MrYener,作者邮箱联系方式:help@ownthink.com
  181. <p>捐赠作者(您的鼓励是作者开源最大的动力!!!):<a href="https://github.com/ownthink/Jiagu/wiki/donation"target="_blank">捐赠致谢</a> </p>
  182. ![收款码](https://github.com/ownthink/KnowledgeGraph/raw/master/img/%E6%94%B6%E6%AC%BE%E7%A0%81.jpg)
  183. ### 贡献者:
  184. 1. [Yener](https://github.com/ownthink)
  185. 2. [zengbin93](https://github.com/zengbin93)
  186. 3. [dirtdust](https://github.com/dirtdust)
  187. 4. [frankchen7788](https://github.com/frankchen7788)

Jiagu使用大规模语料训练而成。将提供中文分词、词性标注、命名实体识别、情感分析、知识图谱关系抽取、关键词抽取、文本摘要、新词发现、情感分析、文本聚类等常用自然语言处理功能。参考了各大工具优缺点制作,将Jiagu回馈给大家