ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python – 在NLTK中实例化和使用StanfordTagger

2019-09-29 03:00:21  阅读:196  来源: 互联网

标签:python nltk


我为这个问题的新手性质道歉 – 我一直试图找出Python包装和名称空间,但更好的观点似乎让我无法理解.也就是说,我想将Python包装器用于斯坦福的词性标注器.我没有找到文档here,它提供了一个使用示例:

st = StanfordTagger('bidirectional-distsim-wsj-0-18.tagger')
st.tag('What is the airspeed of an unladen swallow ?'.split())
    [('What', 'WP'), ('is', 'VBZ'), ('the', 'DT'), ('airspeed', 'NN'), ('of', 'IN'), ('an', 'DT'), ('unladen', 'JJ'), ('swallow', 'VB'), ('?', '.')]

这看起来很棒,但我似乎无法在我的本地Python NLTK安装中显示正确的命名空间(我有最新的NLTK版本,并在Python 2.6.x以及2.7.x中尝试过以下内容):

>>> import nltk
>>> from nltk import *
>>> from nltk.tag import stanford 
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: cannot import name stanford

我也尝试了这个import语句,结果相同:

>>> from nltk.tag.stanford import StanfordTagger
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named stanford

在这里搜索SO,我找到了this question,其中海报似乎遇到了完全相同的问题,但是能够通过命名空间步骤:

The problem is that my nltk lib doesnt contain the stanford module. So I copied the same into the appropriate folder and compiled the same.

听起来确实是同样的问题,除了我不能为我的生活找到任何关于如何将模块添加到NLTK的文档.我在NLTK网站上阅读的所有内容都暗示斯坦福模块应该已经打包到基本安装中.那么,问题分为两部分:

>(具体)有关超越此特定问题的任何建议
并开始使用Python的StanfordTagger?我知道我很容易
直接调用jar然后在Python中解释输出 –
无论如何,这就是所有的Python包装器所做的 – 但我想让它在原则上工作,如果不是其他的话.
>(综合)什么是调查的好的pythonic方法
缺少包装问题或依赖性如上?

解决方法:

建议:
一种.查看PC上安装的nltk目录.我检查了我的stanford.py不存在(即在nltk / tag /目录中丢失).您可以快速找到运行此位置的位置:

import distutils.sysconfig
print distutils.sysconfig.get_python_lib()+'/nltk/tag/'

湾如果它不存在,则将stanford.py文件从您提到的源复制到PC上的nltk / tag目录(您在步骤a中获得).

我希望它能成功.

标签:python,nltk
来源: https://codeday.me/bug/20190929/1830013.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有