更新回答:NLTK适用于2.7井.我有3.2.我卸载了3.2并安装了2.7.现在它的作品!!
我已经安装了NLTK并试图下载NLTK数据.我所做的是按照本网站上的说明进行操作:http://www.nltk.org/data.html
我下载了NLTK,安装了它,然后尝试运行以下代码:
>>> import nltk
>>> nltk.download()
Run Code Online (Sandbox Code Playgroud)
它给了我如下错误信息:
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
nltk.download()
AttributeError: 'module' object has no attribute 'download'
Directory of C:\Python32\Lib\site-packages
Run Code Online (Sandbox Code Playgroud)
都尝试nltk.download()和nltk.downloader(),既给了我的错误信息.
然后我习惯help(nltk)拿出包裹,它显示以下信息:
NAME
nltk
PACKAGE CONTENTS
align
app (package)
book
ccg (package)
chat (package)
chunk (package)
classify (package)
cluster (package)
collocations
corpus (package)
data
decorators
downloader
draw (package)
examples (package)
featstruct
grammar
help
inference (package)
internals
lazyimport
metrics (package)
misc (package) …Run Code Online (Sandbox Code Playgroud) 我目前正在寻找用适当的序数表示(第1,第2,第3)替换第一,第二,第三等字的方法.我上周一直在谷歌搜索,我没有找到任何有用的标准工具或NLTK的任何功能.
那么有没有或者我应该手动编写一些正则表达式?
谢谢你的建议
我已阅读有关此错误的多篇帖子,但我仍然无法弄明白.当我尝试循环我的函数时:
def fix_Plan(location):
letters_only = re.sub("[^a-zA-Z]", # Search for all non-letters
" ", # Replace all non-letters with spaces
location) # Column and row to search
words = letters_only.lower().split()
stops = set(stopwords.words("english"))
meaningful_words = [w for w in words if not w in stops]
return (" ".join(meaningful_words))
col_Plan = fix_Plan(train["Plan"][0])
num_responses = train["Plan"].size
clean_Plan_responses = []
for i in range(0,num_responses):
clean_Plan_responses.append(fix_Plan(train["Plan"][i]))
Run Code Online (Sandbox Code Playgroud)
这是错误:
Traceback (most recent call last):
File "C:/Users/xxxxx/PycharmProjects/tronc/tronc2.py", line 48, in <module>
clean_Plan_responses.append(fix_Plan(train["Plan"][i]))
File "C:/Users/xxxxx/PycharmProjects/tronc/tronc2.py", line 22, in fix_Plan …Run Code Online (Sandbox Code Playgroud) 从创建R中的语料库中的单词子集,应答者可以轻松地将term-document matrix词汇转换为词云.
python库是否有一个类似的功能,它将原始文本文件或NLTK语料库或GensimMmcorpus带入词云?
结果看起来有点像这样:

我试图从文本中提取人名.
有没有人有他们推荐的方法?
这就是我尝试的(代码如下):我nltk用来查找标记为人的所有内容,然后生成该人的所有NNP部分的列表.我正在跳过那些只有一个NNP的人,这可以避免抓住一个单独的姓氏.
我得到了不错的结果但是想知道是否有更好的方法来解决这个问题.
码:
import nltk
from nameparser.parser import HumanName
def get_human_names(text):
tokens = nltk.tokenize.word_tokenize(text)
pos = nltk.pos_tag(tokens)
sentt = nltk.ne_chunk(pos, binary = False)
person_list = []
person = []
name = ""
for subtree in sentt.subtrees(filter=lambda t: t.node == 'PERSON'):
for leaf in subtree.leaves():
person.append(leaf[0])
if len(person) > 1: #avoid grabbing lone surnames
for part in person:
name += part + ' '
if name[:-1] not in person_list:
person_list.append(name[:-1])
name = ''
person = []
return …Run Code Online (Sandbox Code Playgroud) 我试图在python 2.7中导入nltk包
import nltk
stopwords = nltk.corpus.stopwords.words('english')
print(stopwords[:10])
Run Code Online (Sandbox Code Playgroud)
运行这个给我以下错误:
LookupError:
**********************************************************************
Resource 'corpora/stopwords' not found. Please use the NLTK
Downloader to obtain the resource: >>> nltk.download()
Run Code Online (Sandbox Code Playgroud)
因此,我打开我的python终端并执行以下操作:
import nltk
nltk.download()
Run Code Online (Sandbox Code Playgroud)
这给了我:
showing info https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/index.xml
Run Code Online (Sandbox Code Playgroud)
然而,这似乎并没有停止.再次运行它仍然给我同样的错误.有什么想法出错吗?
我正在使用NLTK WordNet Lemmatizer进行词性标注项目,首先将训练语料库中的每个单词修改为其词干(就地修改),然后仅对新语料库进行训练.但是,我发现lemmatizer没有按照我的预期运行.
例如,单词loves被词典化love是正确的,但是这个词甚至在词形还原之后loving仍然存在loving.这loving就像句子"我喜欢它"一样.
不是love变形词的词干loving?同样,许多其他"ing"形式仍然存在于词形还原之后.这是正确的行为吗?
什么是其他一些准确的引理器?(不需要在NLTK中)是否有形态分析器或词形变换器在决定单词词干时还考虑了单词的词性标记?例如,单词killing应该具有kill词干if killing用作动词,但killing如果它用作名词,则它应该具有词干(如the killing was done by xyz).
我正在使用NLTK来分析一些经典文本而我正在努力解决逐句文本的问题.例如,这是我从Moby Dick获得的代码段:
import nltk
sent_tokenize = nltk.data.load('tokenizers/punkt/english.pickle')
'''
(Chapter 16)
A clam for supper? a cold clam; is THAT what you mean, Mrs. Hussey?" says I, "but
that's a rather cold and clammy reception in the winter time, ain't it, Mrs. Hussey?"
'''
sample = 'A clam for supper? a cold clam; is THAT what you mean, Mrs. Hussey?" says I, "but that\'s a rather cold and clammy reception in the winter time, ain\'t it, Mrs. Hussey?"'
print …Run Code Online (Sandbox Code Playgroud) 我正在研究Python中的两个NLP项目,它们都有类似的任务来从以下句子中提取值和比较运算符:
"... greater than $10 ... ",
"... weight not more than 200lbs ...",
"... height in 5-7 feets ...",
"... faster than 30 seconds ... "
Run Code Online (Sandbox Code Playgroud)
我看到了两种不同的方法来解决这个问题,一种使用非常复杂的正则表达式,另一种使用NER(以及一些正则表达式).
如何解析这些句子中的值?我认为这是NLP中的常见任务.
期望的输出将是这样的:
输入:
"超过10美元"
输出:
{'value': 10, 'unit': 'dollar', 'relation': 'gt', 'position': 3}
Run Code Online (Sandbox Code Playgroud) 如何使用NLTK检测文本的语言?
我见过的例子nltk.detect,但是当我在Mac上安装它时,我找不到这个包.