标签: textblob

用nltk训练自己的分类器后,如何将其加载到textblob中?

textblob中的内置分类器非常笨。它是根据电影评论进行训练的,所以我在上下文中创建了大量示例(57,000个故事,分为正面或负面故事),然后使用nltk.尝试使用textblob对其进行训练的方式进行了训练,但始终失败:

with open('train.json', 'r') as fp:
    cl = NaiveBayesClassifier(fp, format="json")
Run Code Online (Sandbox Code Playgroud)

那将运行数小时,并最终导致内存错误。

我查看了源代码,发现它只是使用nltk并将其包装起来,所以我改用了它,并且可以正常工作。

nltk训练集的结构必须是一个元组列表,其中第一部分是文本中的单词计数器和出现频率。元组的第二部分是“ pos”或“ neg”。

>>> train_set = [(Counter(i["text"].split()),i["label"]) for i in data[200:]]
>>> test_set = [(Counter(i["text"].split()),i["label"]) for i in data[:200]] # withholding 200 examples for testing later

>>> cl = nltk.NaiveBayesClassifier.train(train_set) # <-- this is the same thing textblob was using

>>> print("Classifier accuracy percent:",(nltk.classify.accuracy(cl, test_set))*100)
('Classifier accuracy percent:', 66.5)
>>>>cl.show_most_informative_features(75)
Run Code Online (Sandbox Code Playgroud)

然后我腌了。

with open('storybayes.pickle','wb') as f:
    pickle.dump(cl,f)
Run Code Online (Sandbox Code Playgroud)

现在...我拿了这个腌制的文件,然后重新打开它以获取nltk.classifier'nltk.classify.naivebayes.NaiveBayesClassifier'>-并尝试将其输入到textblob中。代替

from textblob.classifiers import NaiveBayesClassifier
blob = TextBlob("I love this …
Run Code Online (Sandbox Code Playgroud)

python nltk textblob naivebayes

6
推荐指数
1
解决办法
572
查看次数

TextBlob 如何计算情感极性?如何使用机器学习分类器计算情绪值?

TextBlob 如何计算情感极性的经验值。我使用了朴素贝叶斯,但它只是预测它是正数还是负数。如何像 TextBlob 那样计算情绪值?

python machine-learning python-3.x sentiment-analysis textblob

6
推荐指数
1
解决办法
1万
查看次数

TextBlob翻译有限制吗?

我一直在使用TextBlob,一个Python包(https://pypi.python.org/pypi/textblob),用于将文章翻译成不同的语言.

阅读完他们的文档后,我发现TextBlob使用了谷歌翻译.由于谷歌翻译不是免费服务,我想知道使用TextBlob服务翻译文章是否有任何使用限制?

python google-translate textblob

5
推荐指数
1
解决办法
4394
查看次数

Windows 中的 TextBlob 安装

我已按照在 Windows 7 中为 Python 安装 TextBlob 时出现问题中的说明进行操作。它已安装,但当我转到 Python Idle 并键入时,import TextBlob它显示

没有名为 TextBlob 的模块

如何解决这个问题呢?

或者我可以直接将与包关联的库放在Python Lib文件夹中并尝试将其导入到程序中吗?如果建议的话,请告诉程序这样做。它会起作用吗?

任何帮助将不胜感激。

python windows python-2.7 textblob

5
推荐指数
1
解决办法
2万
查看次数

aws 上 django + apache 上的 textblob 给出了 MissingCorpusError

我有运行 apache 和 django 的 AWS linux。我已经安装了 textbob 扩展,它通过 python shell 运行良好。但是,当我在 views.py 中使用它时,它总是给我 MissingCorpusError。

我已经下载了语料库(python -m textblob.download_corpora)并且该模块在 python shell 中运行良好。可能是什么问题?自从几天以来一直被困在这件事上。

以下是我收到的错误消息,

看起来您缺少此功能所需的一些数据。要下载必要的数据,只需运行 python -m textblob.download_corpora 或使用 NLTK 下载器下载缺少的数据:http ://nltk.org/data.html 如果这没有要解决问题,请在https://github.com/sloria/TextBlob/issues提出问题。

python apache django nltk textblob

5
推荐指数
0
解决办法
239
查看次数

非英语文本的情感分析

我想分析用德语写的文本的情绪。我找到了很多关于如何用英语做到这一点的教程,但我没有找到关于如何将它应用于不同语言的教程。

我有一个想法是使用TextBlobPython 库先将句子翻译成英文,然后再进行情感分析,但我不确定这是否是解决此任务的最佳方法。

或者还有其他可能的方法来解决这个任务吗?

python nlp machine-learning sentiment-analysis textblob

5
推荐指数
1
解决办法
5511
查看次数

Python:NLTK 和 TextBlob(法语)

我正在使用 NLTK 和 TextBlob 在文本中查找名词和名词短语:

from textblob import TextBlob 
import nltk

blob = TextBlob(text)
print(blob.noun_phrases)
tokenized = nltk.word_tokenize(text)
nouns = [word for (word, pos) in nltk.pos_tag(tokenized) if is_noun(pos)]
print(nouns)
Run Code Online (Sandbox Code Playgroud)

如果我的文字是英文的,这很好用,但如果我的文字是法文,那就不行了。

我无法找到如何将此代码调整为法语,我该怎么做?

是否有可以解析的所有语言的列表?

python nltk textblob

5
推荐指数
2
解决办法
8758
查看次数

在 Python 中根据文本的极性从 Textblob 中获取正负词(情感分析)

我有一个文本 blob,其中如果极性 > 0,我将文本分类为正,如果 = 0,则为中性,如果 < 0,则为负。我如何根据将其分类为正、负或中性来获得单词?

python machine-learning python-3.x sentiment-analysis textblob

5
推荐指数
1
解决办法
4800
查看次数

TextBlob NaiveBayesAnalyzer极慢(与Pattern相比)

我正在使用TextBlob for python对推文进行一些情绪分析.TextBlob中的默认分析器是PatternAnalyzer,它可以很好地工作并且速度非常快.

sent = TextBlob(tweet.decode('utf-8')).sentiment
Run Code Online (Sandbox Code Playgroud)

我现在尝试切换到NaiveBayesAnalyzer,发现运行时对我的需求不切实际.(每条推文接近5秒.)

sent = TextBlob(tweet.decode('utf-8'), analyzer=NaiveBayesAnalyzer()).sentiment
Run Code Online (Sandbox Code Playgroud)

我之前使用过朴素贝叶斯分类器的scikit学习实现,并没有发现它这么慢,所以我想知道我是否正确使用它在这种情况下.

我假设分析仪是预训练的,至少文档说明"Naive Bayes分析仪是在电影评论数据集上训练的".但是它还有一个函数train(),被描述为"在电影评论语料库中训练朴素贝叶斯分类器".它是否在每次运行之前在内部训练分析仪?我希望不是.

有谁知道加速这个的方法?

python textblob naivebayes

4
推荐指数
1
解决办法
3112
查看次数

对textframe的每一行应用textblob

我有一个带有文本的col的数据框.我想应用textblob并计算每行的情绪值.

text                sentiment
Run Code Online (Sandbox Code Playgroud)

这是伟大
的电影伟大的故事

当我执行以下代码时:

df['sentiment'] = list(map(lambda tweet: TextBlob(tweet), df['text']))

我收到错误:

TypeError: The `text` argument passed to `__init__(text)` must be a string, not <class 'float'>
Run Code Online (Sandbox Code Playgroud)

如何将textBLob应用于数据框中col的每一行以获取情绪值?

python pandas textblob

4
推荐指数
1
解决办法
4924
查看次数