我正在尝试使用Python获取一组文档的频率分布。由于某些原因,我的代码无法工作,并产生以下错误:
Traceback (most recent call last):
File "C:\Documents and Settings\aschein\Desktop\freqdist", line 32, in <module>
fd = FreqDist(corpus_text)
File "C:\Python26\lib\site-packages\nltk\probability.py", line 104, in __init_
我对python比较陌生,我对如何使用NLTK的PlainTextCorpusReader方面创建一个语料库感兴趣。我把所有的文件都进口进去了。但是,当我运行代码来标记整个语料库中的文本时,它会返回一个错误。如果这个问题是重复的,我很抱歉,但我想对此有所了解。
这是导入文档的代码。我的电脑上有一堆与2016年DNC相关的文档(为了重现性,请从获取部分或全部文本文件)
import os
import nltk
from nltk.corpus import PlaintextCorpusReader
from nltk.corpus import stopwords
corpus_root
我想删除停用词。以下是我的代码
import nltk
from nltk.corpus import stopwords
import string
u="The apple is the pomaceous fruit of the apple tree, species Malus domestica in the rose family (Rosaceae). It is one of the most widely cultivated tree fruits, and the most widely known of the many members of genus M
我只想从Myfile.txt文件中删除那些行,如果该行只包含并且只包含停止字中的任何行
例如,Myfile.txt文件的示例为
Adh Dhayd
Abu Dhabi is # here is "is" stopword but this line should not be removed because line contain #Abu Dhabi is
Zaranj
of # this line contains just stop word, this line should be removed
on
我是NLP的新手,在执行以下任务时面临一些挑战。我想执行这些顺序的任务。1.语义标记化2.对每个句子进行单词标记化3.小写4.停止词删除5.对每个词进行词素化
我试着写一个函数来完成上面的任务
import nltk
import numpy as np
import random
import string
from nltk.corpus import stopwords
def text_processing(input_str):
tokens = nltk.sent_tokenize(input_str)#sentence tokenizing
for words
我有一个脚本,主要是为自然语言工具包工作。它的工作方式是使用NLTK对单个单词进行标记化和标记(分类)。
当我的列表包括名称和实体时,它工作得很好。
如果列表中包含诸如" the ","a","and“等词性冠词,它就会被分解。
这些单词不会从NLTK接收标签(人员、组织、地理位置等)。
我的问题是,有一种方法可以跳过元组,这会给我一个错误,因为它们不会返回标签属性?
示例数据帧:
Order Text results
0 0 John
1 1 Paul
2 2 George
3 3 Ring
我正在尝试从文本集合中排除stopwords。从底部可以看到,t保存这些文本。我检查文本中的单词是否不在stopword列表中,然后返回不在stopwords中的单词。然而,当我运行这个程序时,它会用stopwords显示所有的单词。
t = [
(text,word)
for text in ['1861-Lincoln.txt','1865-Lincoln.txt', '1933Roosevelt.txt','1937-Roosevelt.txt','1941-Roosevelt.txt','1
我写了一个简单的文档分类器,目前正在Brown语料库上进行测试。然而,我的准确率仍然很低(0.16)。我已经排除了停用词。关于如何提高分类器的性能,还有其他的想法吗?
import nltk, random
from nltk.corpus import brown, stopwords
documents = [(list(brown.words(fileid)), category)
for category in brown.categories()
for fileid in brown.fileids(category)]
random.s
我想对工作描述做一些文本分析,并打算使用nltk。我可以建立一个字典并删除停用的单词,这是我想要的一部分。然而,除了单个单词及其频率之外,我还想保留有意义的“单词组”,并对它们进行计数。
例如,在包含“机器学习”的工作描述中,我不想单独考虑“机器”和“学习”,但如果它经常出现在我的字典中,请保留该词组。做这件事最有效的方法是什么?(我认为我不需要超出包含2个或2个单词的词组)。还有:我应该在什么时候删除停用字?
下面是一个示例:
text = 'As a Data Scientist, you will focus on machine
learnin
感谢您的光临!我有一个关于附加停用词的快速问题。我有一些精选的单词出现在我的数据集中,我希望我可以将它们添加到gensims停用单词列表中。我已经看到了很多使用nltk的例子,我希望在gensim中也能做到这一点。我将在下面发布我的代码: def preprocess(text):
result = []
for token in gensim.utils.simple_preprocess(text):
if token not in gensim.parsing.preprocessing.STOPWORDS and len(token) > 3
我有以下输入数据,我想要删除此输入中的停用词,并希望执行标记化: input = [['Hi i am going to college', 'We will meet next time possible'],
['My college name is jntu', 'I am into machine learning specialization'],
['Machine learnin is my favorite subject' ,'Here i am us
我有在solr的文本字段,我希望它是以特殊的方式排序
title
-------
The Book
When Available
因为当我查询和排序字段时,( when,on)单词包括在我的停用词列表中,所以我希望它们显示为:
When Available ( first )
The Book ( second )
到目前为止,我已经尝试了不同的组合
<fieldType name="sortString" class="solr.TextField" sortMissingLast="true" omitNorm
我正试图构建一个新的语言来获取单词的上下文。我有两句话
sentences=pd.DataFrame({"sentence": ["The weather was good so I went swimming", "Because of the good food we took desert"]})
我想知道“好”这个词指的是什么。我的想法是对句子(来自教程的代码)进行分块,然后查看单词"good“和一个名词是否在同一个节点中。如果不是,它指的是之前或之后的名词。
首先,如本教程所示,我构建了分块。
from nltk.corpus
我在Python下遇到了NLTK问题,特别是.generate()方法。
生成(self,length=100)
打印随机文本,使用三图语言模型生成。
参数:
*长度(int) -要生成的文本长度(default=100)
下面是我正在尝试的一个简化版本。
import nltk
words = 'The quick brown fox jumps over the lazy dog'
tokens = nltk.word_tokenize(words)
text = nltk.Text(tokens)
print text.generate(3)
这将始终生成
Bu
这是我发布的另一个问题的第二部分。然而,它们的不同之处足以成为独立的问题,但也可能是相关的。 上一个问题Building a Custom Named Entity Recognition with Spacy , using random text as a sample 我已经使用上一个问题中描述的方法构建了一个自定义命名实体识别(NER)。从这里,我只是复制了从Spacy网站(在这个网站https://spacy.io/usage/training#ner的“命名实体识别器”下)构建NER的方法。 自定义NER在某种程度上是有效的。如果我对文本进行句子标记化,对单词进行词汇化(因此“s
我有下面的脚本&在最后一行中,我试图从名为'response‘的字符串中删除停用词。 问题是,不是“有点恼火”变成“有点恼火”,实际上它甚至连字母都掉了--所以,“有点恼火”会变成“有点厌烦”。因为'a‘是一个停用的词 有人能给我一些建议吗? import pandas as pd
from textblob import TextBlob
import numpy as np
import os
import nltk
nltk.download('stopwords')
from nltk.corpus i
当调用word_tokenize时,我得到以下错误:
File "C:\Python34\lib\site-packages\nltk\tokenize\punkt.py", line 1322,
in _slices_from_text for match in
self._lang_vars.period_context_re().finditer(text):
TypeError: expected string or buffer
我有一个大的文本文件(1500.txt),我想从其中删除停止词。我的代码如下:
from nltk.corpus impor