当前位置:   article > 正文

【pyltp】windows安装pyltp_microsoft visual c++ compiler for python 2.7

microsoft visual c++ compiler for python 2.7

申明:

python2.7.14

VCForPython27

pip install pyltp==0.1.9.1

model 3.3.1

顺利安装

 

1.安装python2.7

https://www.python.org/download/releases/2.7/  下载安装即可 

配置环境

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L29xcUh1bjEyMw==,size_16,color_FFFFFF,t_70

 

2.安装Micorsoft Visual C++ Compiler for Python 2.7

https://www.microsoft.com/en-us/download/details.aspx?id=44266 下载安装即可

 

3.安装pip

https://blog.csdn.net/oqqHun123/article/details/86767477

 

4.安装CMAKE

https://cmake.org/download/

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L29xcUh1bjEyMw==,size_16,color_FFFFFF,t_70

 

5.安装VS2008

http://download.microsoft.com/download/8/B/5/8B5804AD-4990-40D0-A6AA-CE894CBBB3DC/VS2008ExpressENUX1397868.iso

配置cl环境变量(如我的是 C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\cl.exe)

可能存在dll修复问题,若遇到请用directX修复工具,若还解决不了请参照下面内容:

20190206173625964.png

在cmd中键入cl执行编译时会出现mspdb80.dll无法找到的情况,是因为VC/Bin/下没有“msobj80.dll,mspdb80.dll,mspdbcore.dll,mspdbsrv.exe”这四个文件,解决的方法:
1>直接从Common7/IDE/下复制这四个文件到VC/Bin/下即可解决
2> 添加系统变量(Path),这样:我的电脑->属性->高级->环境变量->系统变量,在path中添加C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE;,注意结尾最后用“;”隔开!
这样在用cl编译就不会出现mspdb80.dll文件找不到的错误了。

 

6.安装pyltp

打开网址下载pyltp环境

https://pypi.org/project/pyltp/0.1.9.1

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L29xcUh1bjEyMw==,size_16,color_FFFFFF,t_70

 

下载好解压后,在 pyltp-0.1.9.1 目录文件下打开cmd,python setup.py install 进行安装,大概10-20分钟后出现finished即完成

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L29xcUh1bjEyMw==,size_16,color_FFFFFF,t_70

 

输入pip list 检查环境是否安装成功

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L29xcUh1bjEyMw==,size_16,color_FFFFFF,t_70

 

7.下载模型

下载ltp的相关模型,可在此百度云选择下载:

http://pan.baidu.com/share/link?shareid=1988562907&uk=2738088569

最终成功的组合是 :

pyltp版本 0.1.9.1
模型版本:3.3.1

 

8.上代码运行实例

  1. # -*- coding: utf-8 -*-
  2. from pyltp import SentenceSplitter
  3. from pyltp import Segmentor
  4. from pyltp import Postagger
  5. from pyltp import NamedEntityRecognizer
  6. from pyltp import Parser
  7. def sentence_splitter(sentence):
  8. """
  9. 分句,也就是将一片文本分割为独立的句子
  10. :param sentence:几句话
  11. :return: 单个单个句子
  12. """
  13. single_sentence = SentenceSplitter.split(sentence) # 分句
  14. print '\n'.join(single_sentence)
  15. def word_splitter(sentence):
  16. """
  17. 分词
  18. :param sentence:
  19. :return:
  20. """
  21. segmentor = Segmentor() # 初始化实例
  22. segmentor.load('D:/Program Files/ltp-models/3.3.1/ltp-data-v3.3.1/ltp_data/cws.model') # 加载模型
  23. words = segmentor.segment(sentence) # 分词
  24. # 默认可以这样输出
  25. # print '\t'.join(words)
  26. # 可以转换成List 输出
  27. words_list = list(words)
  28. for word in words_list:
  29. print word
  30. segmentor.release() # 释放模型
  31. return words_list
  32. def word_tag(words):
  33. """
  34. 词性标注
  35. :param words: 已切分好的词
  36. :return:
  37. """
  38. postagger = Postagger() # 初始化实例
  39. postagger.load('D:/Program Files/ltp-models/3.3.1/ltp-data-v3.3.1/ltp_data/pos.model') # 加载模型
  40. postags = postagger.postag(words) # 词性标注
  41. for word, tag in zip(words, postags):
  42. print word+'/'+tag
  43. postagger.release() # 释放模型
  44. return postags
  45. def name_recognition(words, postags):
  46. """
  47. 命名实体识别
  48. :param words:分词
  49. :param postags:标注
  50. :return:
  51. """
  52. recognizer = NamedEntityRecognizer() # 初始化实例
  53. recognizer.load('D:/Program Files/ltp-models/3.3.1/ltp-data-v3.3.1/ltp_data/ner.model') # 加载模型
  54. netags = recognizer.recognize(words, postags) # 命名实体识别
  55. for word, ntag in zip(words, netags):
  56. print word + '/' + ntag
  57. recognizer.release() # 释放模型
  58. return netags
  59. def parse(words, postags):
  60. """
  61. 依存句法分析
  62. :param words:
  63. :param postags:
  64. :return:
  65. """
  66. parser = Parser() # 初始化实例
  67. parser.load('D:/Program Files/ltp-models/3.3.1/ltp-data-v3.3.1/ltp_data/parser.model') # 加载模型
  68. arcs = parser.parse(words, postags) # 句法分析
  69. print "\t".join("%d:%s" % (arc.head, arc.relation) for arc in arcs)
  70. parser.release() # 释放模型
  71. # 测试分句子
  72. sentence_splitter('你好,你觉得这个例子从哪里来的?当然还是直接复制官方文档,然后改了下这里得到的。')
  73. # 测试分词
  74. word_splitter('你好,你觉得这个例子从哪里来的?当然还是直接复制官方文档,然后改了下这里得到的。')
  75. # 测试词性标注
  76. word_tag(word_splitter('你好,你觉得这个例子从哪里来的?当然还是直接复制官方文档,然后改了下这里得到的。'))
  77. # 测试命名实体识别
  78. words = word_splitter('我家在昆明,我现在在北京上学。中秋节你是否会想到李白?')
  79. tags = word_tag(words)
  80. name_recognition(words, tags)
  81. # 测试句法分析
  82. parse(words, tags)
  1. 修改model路径后运行即可,若出现 Segmentor: Model not loaded! 的问题请参照:
  2. https://blog.csdn.net/oqqHun123/article/details/86769943

pyltp相关文档:

https://ltp.readthedocs.io/zh_CN/latest/appendix.html#id4

https://pyltp.readthedocs.io/zh_CN/latest/api.html#

 

pyltp是专注nlp领域的第三方工具,可以做分词,词性分析等nlp基础任务,而tensorflow是搭建神经网络的开源框架。

 

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

闽ICP备14008679号