首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TextClassification与TextBlob

TextClassification与TextBlob
EN

Stack Overflow用户
提问于 2015-11-29 07:25:29
回答 1查看 1.8K关注 0票数 4

我是一个机器学习,NLP,数据分析的新手,但我很有动力更好地理解它。我正在读几本关于NLTK、scikit-learn等的书。我发现了一个python模块"TextBlob“,并且发现它非常容易开始。因此,我创建了一个示例示例python脚本,托管在:https://gist.github.com/dpnishant/367cef57a8033138eb0a。我试图找出最适合于情感分析和文本分类的算法。我的问题如下:

  1. 为什么NaiveBayesClassifier中的情绪分析即使在如此小的训练集上也是缓慢的?这个时间是恒定的,还是会随着更多的训练数据而增加?情感分析也是不正确的(参考脚本输出,对输入文本“三明治是好的”它说“否定”)。我做错了什么?
  2. 我在TextBlob的文档中看到,NaiveBayesClassifier是在movie_review语料库上接受培训的。有什么api可以让我把它修改成其他的东西吗,nps_chat?我不太清楚的是,语料库的作用是什么?我的意思是,我们用自己的样本训练数据来训练分类器,那么更具体的语料库,如nps_chat、product_reviews、moview_review等会有什么帮助呢?
  3. 我知道我需要训练一个分类器,以便它能够处理一个没有标签的数据。但是,如果培训数据越来越多,最好的处理方法是什么?程序应该每次从培训数据构建模型,还是有方法可以将模型保存到文件(类似泡菜)中,然后从那里读取?是否有可能使用TextBlob,并且使用这种方法是否会有任何性能改进?
  4. 在我的脚本中,在最后一个块中,我试图通过SklearnClassifier模块评估NLTKClassifier,但是我在那里没有运气。它会抛出一些神秘的错误信息。你能帮我解决这个问题吗?此外,如果可能的话,我还请您给出一些例子,说明TextBlob文档网站上nltk.classify包中可用的算法/分类器的使用情况,例如Megam、LogisticRegression、支持向量机、BernoulliNB、GaussianNB等。一个理解每种算法适用性的用例将消除像我这样的初学者的许多疑虑。
EN

回答 1

Stack Overflow用户

发布于 2017-04-24 07:40:04

  1. 朴素贝叶斯分类器算法是一种简单的算法,具有较低的时间复杂度,在实际应用中运行速度快。如果你在一个小数据集上得到了缓慢的结果,它似乎是由于一个不同的地方。我怀疑这是由于TextBlob对象造成的,这是对短文本的过度使用。尝试用一种不同的算法来代替NBC,比如一个决策树,看看它是否确实是罪魁祸首。
  2. 应该对分类器进行训练,使其能够表示将要测试的数据。虽然情绪在电影评论和你的数据集之间可能有相似之处,但这是不必要的假设,也可能是问题的根源。有时,在缺乏标记数据的情况下,人们会在其他数据集上使用预培训。在这种情况下,您应该检查域自适应问题。
  3. 通常你只训练一次模型,然后使用它。如果数据集可能发生变化(a在概念漂移的情况下),则需要再培训。从TextBlob迁移到科学知识-学习似乎会使您受益,这也使您能够保存模型。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33980444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档