ara*_*bec 10 python nlp text-mining nltk sentiment-analysis
标题说明了一切; 我有一个SQL数据库突破接缝与在线对话文本.我已经做了最该项目在Python的,所以我想做到这一点使用Python的NLTK库(除非有强有力的理由不).
数据按线程,用户名和帖子进行组织.每个线程或多或少都侧重于讨论我有兴趣分析的类别的一个"产品".最终,当这个结束时,我希望每个用户对他们在某些时候讨论过的任何产品有一个估计的意见(喜欢/不喜欢某种交易).
那么,我想知道的是:
1)我如何确定每个线程的产品?我正在阅读有关关键字提取的信息...这是正确的方法吗?
2)如何根据帖子确定特定的用户情绪?从我有限的理解,我必须首先"训练"NLTK以识别某些意见指标,然后我只是确定这些单词出现在文本中的背景?
你可能已经猜到了,我以前没有NLP的经验.从我到目前为止的阅读,我认为我可以处理它.如果有人可以指出我正确的方向,即使只是一个基本和粗糙的工作模型现在将是伟大的.谷歌对我没有多大帮助.
PS我有权分析这些数据(如果重要的话)
培训的分类需要一个训练集的标签数据和特征提取获得的功能集为每个文本.拥有经过训练的分类器后,您可以将其应用于以前看不见的文本(未标记)并根据所使用的机器学习算法获得分类.NLTK 给出了一个很好的解释和一些样本.
如果你有兴趣建立一个积极/消极情绪的分类器,使用你自己的训练数据集,我会避免简单的关键词计数,因为它们由于多种原因而不准确(例如否定积极的词语:"不开心" ).另一种方法是远程监督,你仍然可以使用大型训练集而无需手动标记任何东西.基本上,这种方法使用表情符号或其他特定文本元素作为噪声标签.你还是要选择哪些功能是相关的,但许多研究都具有良好的结果与简单地使用对unigram或双字母组(分别为个别单词或单词对的).
所有这些都可以通过Python和NLTK相对容易地完成.您还可以选择使用像NLTK-trainer这样的工具,它是NLTK的包装器,需要的代码更少.
我认为Go等人的这项研究.是最容易理解的之一.您还可以阅读远程监督,远程监督情绪分析和情绪分析等其他研究.
NLTK中有一些内置的分类器,包括训练和分类方法(Naive Bayes,MaxEnt等),但如果您对使用支持向量机(SVM)感兴趣,那么您应该在其他地方寻找.从技术上讲,NLTK为您提供了一个SVM类,但它实际上只是PySVMLight的包装器,PySVMLight本身就是用C 语言编写的SVMLight的包装器.尽管如此,我遇到了很多问题,而是建议使用LIBSVM.
为了确定主题,许多人使用了简单的关键字,但有一些更复杂的方法可用.
| 归档时间: |
|
| 查看次数: |
5107 次 |
| 最近记录: |