标签: textblob

Python pickle错误:UnicodeDecodeError

我正在尝试使用Textblob进行一些文本分类.我首先训练模型并使用pickle将其序列化,如下所示.

import pickle
from textblob.classifiers import NaiveBayesClassifier

with open('sample.csv', 'r') as fp:
     cl = NaiveBayesClassifier(fp, format="csv")

f = open('sample_classifier.pickle', 'wb')
pickle.dump(cl, f)
f.close()
Run Code Online (Sandbox Code Playgroud)

当我尝试运行此文件时:

import pickle
f = open('sample_classifier.pickle', encoding="utf8")
cl = pickle.load(f)    
f.close()
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

UnicodeDecodeError:'utf-8'编解码器无法解码位置0的字节0x80:无效的起始字节

以下是我的sample.csv的内容:

我的SQL根本无法正常工作.这是一个错误的选择,SQL

我有问题.请立即回复,支持

我在哪里错了?请帮忙.

python pickle textblob

69
推荐指数
2
解决办法
4万
查看次数

nltk NaiveBayesClassifier培训情绪分析

我正在NaiveBayesClassifier使用句子训练Python,它给出了下面的错误.我不明白错误是什么,任何帮助都会很好.

我尝试了很多其他输入格式,但错误仍然存​​在.代码如下:

from text.classifiers import NaiveBayesClassifier
from text.blob import TextBlob
train = [('I love this sandwich.', 'pos'),
         ('This is an amazing place!', 'pos'),
         ('I feel very good about these beers.', 'pos'),
         ('This is my best work.', 'pos'),
         ("What an awesome view", 'pos'),
         ('I do not like this restaurant', 'neg'),
         ('I am tired of this stuff.', 'neg'),
         ("I can't deal with this", 'neg'),
         ('He is my sworn enemy!', 'neg'),
         ('My boss is horrible.', 'neg') ]

test = [('The beer …
Run Code Online (Sandbox Code Playgroud)

python nlp nltk sentiment-analysis textblob

22
推荐指数
3
解决办法
3万
查看次数

Pickle可以处理大于我机器上安装的RAM的文件吗?

我正在使用pickle来保存我使用TextBlob库构建的NLP分类器.

经过大量与此问题相关的搜索后,我正在使用泡菜.目前我正在本地工作,我用我的i7和16GB RAM机器加载pickle文件(1.5Gb)没有问题.但我的想法是,我的程序将来必须在我的服务器上运行,该服务器只安装了512Mb RAM.

泡菜可以处理如此大的文件还是会遇到内存问题?

在我的服务器上,我安装了Python 3.5,它是一个Linux服务器(不确定哪个发行版).

我问,因为目前我无法访问我的服务器,所以我不能试着找出会发生什么,但同时我怀疑是否可以保持这种方法或者我必须找到其他解决方案.

python pickle python-3.x textblob

16
推荐指数
1
解决办法
1241
查看次数

Textblob - HTTPError:HTTP 错误 429:请求过多

我有一个数据框,其中一列在每一行都有一个字符串列表。

平均而言,每个列表有 150 个单词,每个单词大约 6 个字符。

数据框的 700 行中的每一行都与一个文档有关,每个字符串都是该文档的一个单词;所以基本上我已经标记了文档的文字。

我想检测每个文档的语言,为此我首先尝试检测文档中每个单词的语言。

为此,我执行以下操作:

from textblob import TextBlob

def lang_detect(document):

    lang_count = {}
    for word in document:

        if len(word) >= 4:

            word_textblob = TextBlob(word)
            lang_result = word_textblob.detect_language()

            response = lang_count.get(lang_result)

            if response is None:  
                lang_count[f"{lang_result}"] = 1
            else:
                lang_count[f"{lang_result}"] += 1

    return lang_count

df_per_doc['languages_count'] = df_per_doc['complete_text'].apply(lambda x: lang_detect(x))
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我收到以下错误:

---------------------------------------------------------------------------
HTTPError                                 Traceback (most recent call last)
<ipython-input-42-772df3809bcb> in <module>
     25 
---> 27 df_per_doc['languages_count'] = df_per_doc['complete_text'].apply(lambda x: lang_detect(x))
     28 
     29 
.
.
.

    647 …
Run Code Online (Sandbox Code Playgroud)

python language-detection textblob

12
推荐指数
1
解决办法
8662
查看次数

为什么在使用 TextBlob 时收到 HTTP 错误 404?

我在使用 TextBlob 库时遇到一些问题。我正在尝试运行一段非常简单的代码,如下所示:

from textblob import TextBlob
text = 'this is just a test'
blob = TextBlob(text)
blob.detect_language()
Run Code Online (Sandbox Code Playgroud)

它不断地给我这个错误:

/usr/lib/python3.7/urllib/request.py in http_error_default(self, req, fp, code, msg, hdrs)
    647 class HTTPDefaultErrorHandler(BaseHandler):
    648     def http_error_default(self, req, fp, code, msg, hdrs):
--> 649         raise HTTPError(req.full_url, code, msg, hdrs, fp)
    650 
    651 class HTTPRedirectHandler(BaseHandler):

HTTPError: HTTP Error 404: Not Found
Run Code Online (Sandbox Code Playgroud)

问题是什么?我已经在多个设备上尝试过,但每次都会出现相同的错误。

python http textblob

8
推荐指数
1
解决办法
5955
查看次数

HTTPError:HTTP 错误 400:翻译 TextBlob 上的错误请求

我正在尝试使用 TextBlob 库翻译文本,但出现以下 HTTPError 错误:HTTP Error 400: Bad request有人可以帮我解决这个问题吗?

观察:我使用 VSCode 来运行这个脚本,由于工作中的认证,我无法使用 googletrans。

from textblob import TextBlob
b = TextBlob("The weather is beautiful today. Tomorrow looks like bad weather.")

b.translate(to='es')
Run Code Online (Sandbox Code Playgroud)

python translation translate textblob google-translation-api

8
推荐指数
0
解决办法
3505
查看次数

tf-idf不同长度的文件

我在网上搜索了关于文件长度差别很大的情况下的tf等级标准化(例如,文件长度从500字到2500字不等)

唯一正规化我发现谈论将术语频率除以文档的长度,因此导致文档的长度没有任何意义.

这种方法对于规范化tf来说是一个非常糟糕的方法.如果有的话,它会导致每个文档的tf等级具有非常大的偏差(除非所有文档都是从几乎相同的字典构造的,使用tf-idf时不是这种情况)

例如,我们可以获取2个文档 - 一个包含100个唯一单词,另一个包含1000个唯一单词.doc1中的每个单词的tf值为0.01,而在doc2中,每个单词的tf值为0.001

当使用doc1与doc2匹配单词时,这会导致tf-idf等级自动变大

有没有人有任何更合适的正规化配方?

谢谢

编辑 我还看到一种方法,说明我们应该将术语频率除以每个文档的doc的最大术语频率,这也解决了我的问题

我在想的是,计算所有文档的最大术语频率,然后通过将每个术语频率除以最大值来对所有术语进行归一化

我很想知道你的想法

python normalization tf-idf textblob

7
推荐指数
1
解决办法
3124
查看次数

在Python3中运行TextBlob

我使用这里给出的pip安装了textblob .

现在,当我尝试在终端中的python3.4中导入它时,它说

ImportError: No module named 'textblob'
Run Code Online (Sandbox Code Playgroud)

然而,在python2.7中它很愉快地导入.我试过重新安装它.我甚至重新安装了pip.这里有什么问题?

python python-3.4 textblob

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

用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万
查看次数