当我尝试在 jupyter 笔记本的 TextBlob 库中使用翻译函数时,我得到:
\nHTTPError: HTTP Error 404: Not Found\nRun Code Online (Sandbox Code Playgroud)\n我在这里发布了我的代码和错误消息的屏幕截图以供参考。5-6 天前,当我第一次运行完全相同的代码时,此代码运行良好,但此后每当我运行此代码时,它都会给出相同的错误消息。自过去 4-5 天以来,我一直在尝试运行此代码,但它再也没有工作过。
\n我的代码:
\nfrom textblob import TextBlob\n\nen_blob = TextBlob('Simplilearn is one of the world\xe2\x80\x99s leading certification training providers.')\n\nen_blob.translate(to='es') \nRun Code Online (Sandbox Code Playgroud)\n我是 stackoverflow 的新手,在这个平台上提出我的第一个问题,所以如果我的问题不遵循这个平台的规则,请原谅我。
\n我NaiveBayesclassifier根据我选择的给定主题使用TextBlob 进行文本分析.
数据量巨大(约3000个条目).
虽然我能够得到一个结果,但是如果没有再次调用该函数并等待数小时直到处理完成,我将无法将其保存以备将来使用.
我试着通过以下方法进行酸洗
ab = NaiveBayesClassifier(data)
import pickle
object = ab
file = open('f.obj','w') #tried to use 'a' in place of 'w' ie. append
pickle.dump(object,file)
Run Code Online (Sandbox Code Playgroud)
我收到一个错误,如下:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\pickle.py", line 1370, in dump
Pickler(file, protocol).dump(obj)
File "C:\Python27\lib\pickle.py", line 224, in dump
self.save(obj)
File "C:\Python27\lib\pickle.py", line 331, in save
self.save_reduce(obj=obj, *rv)
File "C:\Python27\lib\pickle.py", line 419, in save_reduce
save(state)
File "C:\Python27\lib\pickle.py", line 286, in save
f(self, obj) # …Run Code Online (Sandbox Code Playgroud) 我想更正法语文本中拼写错误的单词,似乎 spacy 是最准确、最快速的软件包,但它很复杂,我尝试使用 textblob,但我没有设法用法语单词完成
它在英语中完美运行,但是当我尝试用法语做同样的事情时,我得到了相同的拼写错误
#english words
from textblob import TextBlob
misspelled=["hapenning", "mornin", "windoow", "jaket"]
[str(TextBlob(word).correct()) for word in misspelled]
#french words
misspelled2=["resaissir", "matinnée", "plonbier", "tecnicien"]
[str(TextBlob(word).correct()) for word in misspelled2]
Run Code Online (Sandbox Code Playgroud)
我明白了:
英语:['发生','早上','窗口','夹克']
法语:['resaissir'、'matinnée'、'plonbier'、'tecnicien']
我正在尝试使用python和textblob构建文本分类模型,该脚本在我的服务器上运行,并且将来的想法是用户将能够提交他们的文本并将其分类.我正在从csv加载训练集:
# -*- coding: utf-8 -*-
import sys
import codecs
sys.stdout = open('yyyyyyyyy.txt',"w");
from nltk.tokenize import word_tokenize
from textblob.classifiers import NaiveBayesClassifier
with open('file.csv', 'r', encoding='latin-1') as fp:
cl = NaiveBayesClassifier(fp, format="csv")
print(cl.classify("some text"))
Run Code Online (Sandbox Code Playgroud)
csv长约500行(字符串在10到100个字符之间),NaiveBayesclassifier需要大约2分钟进行训练,然后能够对我的文本进行分类(不确定是否正常,它需要这么多时间,也许是我的服务器很慢只有512mb ram).
csv行的例子:
"Oggi alla Camera con la Fondazione Italia-Usa abbiamo consegnato a 140 studenti laureati con 110 e 110 lode i diplomi del Master in Marketing Comunicazione e Made in Italy.",FI-PDL
Run Code Online (Sandbox Code Playgroud)
我不清楚,我无法找到textblob文档的答案,如果有一种方法来"保存"我训练有素的分类器(这样可以节省很多时间),因为现在每次运行脚本时它都会训练再次分类.我是文本分类和机器学习的新手,所以如果这是一个愚蠢的问题我会道歉.
提前致谢.
有人知道textblob的情绪如何运作吗?我知道它是基于Pattern的,但是我找不到任何文章或文档来说明Pattern如何将极性值分配给句子。
我有一个约50行句子的csv文件。我正在使用textblob情绪分析工具。为了测试句子的极性,该示例显示了您写一个句子的过程,并显示了极性和主观性。但是,它仅适用于单个句子,我希望它适用于我拥有的csv文件,因为我不能在每一行中单独进行测试,因为这会花费很长时间。我将如何去做呢?
TextBlob显示了此示例,当我输入一个句子时,极性显示出来,您不能一次输入两个句子,它不允许您输入。如何将我的csv文件输入下面的示例中,以便为所有行提供极性?
>>> testimonial = TextBlob("Textblob is amazingly simple to use. What great fun!")
>>> testimonial.sentiment
Sentiment(polarity=0.39166666666666666, subjectivity=0.4357142857142857)
>>> testimonial.sentiment.polarity
0.39166666666666666
Run Code Online (Sandbox Code Playgroud)
编辑了chishaku解决方案,它对我有用。解:
import csv
from textblob import TextBlob
infile = 'xxx.csv'
with open(infile, 'r') as csvfile:
rows = csv.reader(csvfile)
for row in rows:
sentence = row[0]
blob = TextBlob(sentence)
print blob.sentiment
Run Code Online (Sandbox Code Playgroud) 查看我们最近所做的一项调查的回应。我认为这位受访者并没有那么高兴。在这里,TextBlob 会让我相信他的情绪已经达到了积极的上限。如果我从字符串情绪分数中删除“最佳”这个词,它就会变成“0”。
你能帮我重新灌输我的信任是 TextBlob,我在这个非常简单的应用程序中做错了什么?
a = "Follow on rounds for the best prospects. Some choke to death now."
b = TextBlob(a)
print b.sentiment
Run Code Online (Sandbox Code Playgroud)
情感(极性=1.0,主观性=0.3)
谢谢,
textblob ×8
python ×6
nlp ×2
nltk ×2
pickle ×1
python-2.7 ×1
python-3.x ×1
spacy ×1
translate ×1
translation ×1