问题标签 [textblob]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python-2.7 - Python 2.7 和 Textblob - TypeError:传递给 `__init__(text)` 的 `text` 参数必须是字符串,而不是
更新:问题已解决。(请参阅下面的评论部分。)最终,需要以下两行将我的 .csv 转换为 unicode 并利用 TextBlob:row = [cell.decode('utf-8') for cell in row] 和 text = ' ' .join(行)。
原始问题:我正在尝试使用名为 Textblob 的 Python 库来分析 .csv 文件中的文本。在我的代码中调用 Textblob 时收到的错误是:
Traceback(最近一次调用最后):文件“C:\Users\Marcus\Documents\Blog\Python\Scripts\Brooks\textblob_sentiment.py”,第 30 行,在 blob = TextBlob(row) 文件“C:\Python27\lib \site-packages\textblob\blob.py", line 344, init 'must be a string, not {0}'.format(type(text)))TypeError: The
text
argument pass to__init__(text)
must be a string, not
我的代码是:
我一直在处理 UTF/unicode 问题。我最初对这个线程提出了一个不同的主题。(由于我的代码和错误已更改,我将发布到一个新线程。)打印语句表明变量“row”的类型=str,我认为这表明阅读器对象已按照 Textblob 的要求进行了转换. 源 .csv 文件保存为 UTF-8。任何人都可以就我如何在这方面畅通无阻以及我的代码中的缺陷提供反馈吗?
非常感谢帮忙。
python - Python 3:如何获取包含某个关键字的新闻文章
我正在尝试编写一个小的网络应用程序,它返回涉及关键字的新闻文章的情绪。
我使用了 TextBlob 和 Newspaper3K python 3 包。我试图将 Newspaper3K 的 url 字符串作为 Google 新闻搜索查询的结果,但报纸包似乎只是重定向到 Google 新闻的“主页”。
有什么方法可以获取包含某个关键字的报纸文章列表?另外,报纸是否可以遍历页面?
以下是我的代码:
python - 当我尝试导入 TextBlob 时,我得到“ImportError:无法导入名称兼容”。这是什么意思?我该如何解决?
据我所知,“compat”是 NLTK 的一些组件,TextBlob 是建立在上面的。奇怪的是,我过去曾导入过 TextBlob,所以这一定是最近的事情。我已经将 TextBlob 和 NLTK 都更新到了它们的最新版本,所以这不是问题所在。
诸如此类的类似问题基本上仍未解决,因为建议基本上是“不要导入所有的 NLTK”。
编辑:我的代码如下
from textblob import TextBlob
python - 为什么 TextBlob 不使用/检测否定?
我正在使用 TextBlob 执行情绪分析任务。我注意到 TextBlob 在某些情况下能够检测到否定,而在其他情况下则不能。
下面是两个简单的例子
正如您在第二个示例中看到的那样,当使用形容词时best
,极性没有改变。我怀疑这与形容词是一个非常强的指标这一事实有关best
,但似乎不正确,因为否定应该颠倒极性(在我的理解中)。
谁能解释一下发生了什么?textblob 是否使用了某种否定机制,或者仅仅是这个词not
在句子中添加了负面情绪?无论哪种情况,为什么第二个示例在两种情况下都具有完全相同的情绪?关于如何克服这些障碍有什么建议吗?
python - 文本分类性能
所以我正在使用 textblob python 库,但性能不足。
我已经序列化它并在循环之前加载它(使用 pickle )。
目前需要 ~ 0.1(对于小型训练数据)和 ~ 0.3 对 33'000 个测试数据。我需要让它更快,甚至可能吗?
一些代码:
这是对每个 warc 文件的正文和元数据执行检查的循环。
这里有 2 个文本分类检查。
1)在过滤器(非常小的训练数据):
2)在 index_document(33'000 个训练数据)中:
分类和 prob_classify 是使用该工具提高性能的方法。
python - 如何减少 textblob 朴素贝叶斯分类器中的主题分类时间
我正在使用 pickle 保存具有贝叶斯定理的分类模型,我在分类后保存了一个 2.1 GB 的文件,其中包含 5600 条记录。但是当我加载该文件时,它需要将近 2 分钟,但对一些文本进行分类需要 5.5 分钟。我正在使用以下代码来加载它并进行分类。
第一行用于加载 pickle 对象,第二行用于对文本进行分类,结果是它是哪个主题(类别)。我正在使用以下代码来保存模型。
我在 textblob 中使用的所有东西。环境是 Windows,28GB RAM,四核 CPU。如果有人能解决这个问题,那将非常有帮助。
model - 为什么 spaCy 的模型与 TextBlob 中使用的大约 1MB 的词典相比超过 500MB?
如果您转到包含 spaCy 模型的目录,您会发现 data\en-1.1.0\deps\model 有 433.881 KB,data\en-1.1.0\ner\model 有 35.698 KB,data\en-1.1 .0\pos\model 有 11.524 KB 和 data\en-1.1.0\vocab 两个二进制文件 lexemes.bin 有 81.096 KB 和 vec.bin 有 206.562 KB 和 strings.json 有 18.371 KB。当然还有几个较小的文件,总计 812.694 KB。加载时(需要一些时间),主内存消耗增加约 2.4 GB。在 TextBlob 中,整个英文目录大约为 2.299 MB。为什么会有近三个数量级的巨大差异?
python - 不同长度的tf-idf文件
我在网上搜索了有关在文档长度非常不同的情况下对 tf 等级进行规范化的信息(例如,文档长度从 500 字到 2500 字不等)
我发现的唯一规范化是关于在文档长度中划分词频,因此导致文档长度没有任何意义。
这种方法虽然对于标准化 tf. 如果有的话,它会导致每个文档的 tf 等级有很大的偏差(除非所有文档都是从几乎相同的字典构建的,使用 tf-idf 时不是这种情况)
例如,让我们获取 2 个文档 - 一个包含 100 个唯一单词,另一个包含 1000 个唯一单词。doc1 中的每个单词的 tf 为 0.01,而 doc2 中的每个单词的 tf 为 0.001
这会导致 tf-idf 等级在与 doc1 匹配的单词时自动大于 doc2
有没有人对更合适的归一化公式有任何建议?
谢谢你
编辑 我还看到了一种方法,说明我们应该将每个文档的词频除以文档的最大词频,这也不能解决我的问题
我在想的是从所有文档中计算最大词频,然后通过将每个词频除以最大值来归一化所有词
很想知道你的想法
python - nltk UnicodeDecodeError - 与 ntpath.py 文件连接
Python版本: 2.7
Windows 版本:Windows 7 64 位
系统语言:俄语
我有一个问题尚未在互联网上解决。
这是我的代码:
我收到与该nltk
方法相关的以下错误:
据我从谷歌和 Stackoverflow 的回答中了解到,这个问题与ntpath.py
.
我尝试了以下问题,但没有奏效:
使用
sys.setdefaultencoding('utf8')
如何修复:“UnicodeDecodeError:‘ascii’编解码器无法解码字节”使用
sys.setdefaultencoding('Cp1252')
它消除了错误。但是,我的程序的输出也消失了。使用
import io
. Python(nltk) - UnicodeDecodeError:'ascii'编解码器无法解码字节使用
unicode().decode()
inntpath.py
(我不记得找到此解决方案的链接)。
UPD:我找到了解决方案。
我试图将此部分插入ntpath.py
:
所以,这里是这个文件中的部分代码:
它完美地工作。如果您的系统设置中有另一种语言,请与它们“玩”并替换Cp1252
.
python - 下载 textblob 证书时出错,验证失败
我在 Macbook Air 10.5 Yosemite 上运行 Python 2.7。我在安装 textblob 时遇到了这个问题。该怎么办?