我想知道是否有人知道任何好的Perl模块和/或Java类用于情绪分析.我已经阅读了有关LingPipe的内容,但该程序最终需要用于商业用途,所以开源会更好.我也调查了GATE,但他们关于情绪分析的文档充其量只是稀疏的.
我想在NLTK第6章中进行一些分类.这本书似乎跳过了创建类别的一步,我不确定我做错了什么.我的脚本在这里,响应如下.我的问题主要源于第一部分 - 基于目录名称的类别创建.这里的一些其他问题使用了文件名(即pos_1.txt
和neg_1.txt
),但我更喜欢创建可以将文件转储到的目录.
from nltk.corpus import movie_reviews
reviews = CategorizedPlaintextCorpusReader('./nltk_data/corpora/movie_reviews', r'(\w+)/*.txt', cat_pattern=r'/(\w+)/.txt')
reviews.categories()
['pos', 'neg']
documents = [(list(movie_reviews.words(fileid)), category)
for category in movie_reviews.categories()
for fileid in movie_reviews.fileids(category)]
all_words=nltk.FreqDist(
w.lower()
for w in movie_reviews.words()
if w.lower() not in nltk.corpus.stopwords.words('english') and w.lower() not in string.punctuation)
word_features = all_words.keys()[:100]
def document_features(document):
document_words = set(document)
features = {}
for word in word_features:
features['contains(%s)' % word] = (word in document_words)
return features
print document_features(movie_reviews.words('pos/11.txt'))
featuresets = [(document_features(d), c) for …
Run Code Online (Sandbox Code Playgroud) 自从过去1年以来,我一直致力于文档级别的情绪分析.文档级别情绪分析提供完整文档的情绪.例如 - " 诺基亚很好,但沃达丰吸引大量时间 " 这一文本会产生与之相关的负极性,因为它对诺基亚和沃达丰实体来说是不可知的.怎么可能获得实体层面的情绪,比如对诺基亚有利,对沃达丰有利?有没有研究论文为这些问题提供解决方案?
是否存在用于检测文本中有缺陷的逻辑参数的包或方法?
我希望能找到一些不适用于学术环境(如逻辑课程)的文本.这可能是一个延伸,但我想要一些能够识别逻辑尝试使用的地方并确定逻辑错误.可能的用途是在编辑文章中标记错误.
我不需要任何抛光的东西.我不介意努力开发一些东西,所以我现在真的在寻找野外的东西.
from __future__ import division
import urllib
import json
from math import log
def hits(word1,word2=""):
query = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=%s"
if word2 == "":
results = urllib.urlopen(query % word1)
else:
results = urllib.urlopen(query % word1+" "+"AROUND(10)"+" "+word2)
json_res = json.loads(results.read())
google_hits=int(json_res['responseData']['cursor']['estimatedResultCount'])
return google_hits
def so(phrase):
num = hits(phrase,"excellent")
#print num
den = hits(phrase,"poor")
#print den
ratio = num / den
#print ratio
sop = log(ratio)
return sop
print so("ugly product")
Run Code Online (Sandbox Code Playgroud)
我需要此代码来计算Point wise Mutual Information,它可用于将评论分类为正面或负面.基本上我使用Turney(2002)指定的技术:http://acl.ldc.upenn.edu/P/P02/P02-1053.pdf作为用于情感分析的无监督分类方法的示例.
正如文中所解释的,如果短语与"差"这个词更强烈地联系在一起,则短语的语义方向是否定的,如果与"优秀"这个词更强烈地联系在一起则是肯定的.
上面的代码计算短语的SO.我使用谷歌计算命中数并计算SO.(因为AltaVista现在不存在)
计算出的值非常不稳定.他们没有坚持特定的模式.例如,SO("丑陋产品")为2.85462098541,而SO("美丽产品")为1.71395061117.虽然前者预计是负面而另一个是积极的.
代码有问题吗?是否有更简单的方法来计算任何Python库(如NLTK)的短语(使用PMI)的SO?我试过NLTK但是却找不到任何计算PMI的显式方法.
我正在玩情绪分析,我正在寻找一些种子数据.周围有免费的字典吗?
它可以非常简单:3组文本/句子,用于"正面","负面","中立".它不一定非常庞大.
最终,我可能会为我的特定用例生成自己的种子数据,但是在我构建这个东西时,现在有一些东西可以玩.
是否有任何工具/ R包可用于计算R中混淆矩阵的准确度和精度?
标题说明了一切; 我有一个SQL数据库突破接缝与在线对话文本.我已经做了最该项目在Python的,所以我想做到这一点使用Python的NLTK库(除非有强有力的理由不).
数据按线程,用户名和帖子进行组织.每个线程或多或少都侧重于讨论我有兴趣分析的类别的一个"产品".最终,当这个结束时,我希望每个用户对他们在某些时候讨论过的任何产品有一个估计的意见(喜欢/不喜欢某种交易).
那么,我想知道的是:
1)我如何确定每个线程的产品?我正在阅读有关关键字提取的信息...这是正确的方法吗?
2)如何根据帖子确定特定的用户情绪?从我有限的理解,我必须首先"训练"NLTK以识别某些意见指标,然后我只是确定这些单词出现在文本中的背景?
你可能已经猜到了,我以前没有NLP的经验.从我到目前为止的阅读,我认为我可以处理它.如果有人可以指出我正确的方向,即使只是一个基本和粗糙的工作模型现在将是伟大的.谷歌对我没有多大帮助.
PS我有权分析这些数据(如果重要的话)
R中的"情绪"包已从Cran存储库中删除.什么是其他可以做情感分析的套餐?
例如,我如何使用其他包重写它?
library(sentiment)
# CLASSIFY EMOTIONS
classify_emotion(some_txt,algorithm="bayes",verbose=TRUE)
# classify polarity
class_pol = classify_polarity(some_txt, algorithm="bayes")
Run Code Online (Sandbox Code Playgroud)
这里的文件定义为:
# DEFINE text
some_txt<- c("I am very happy at stack overflow , excited, and optimistic.",
"I am very scared from OP question, annoyed, and irritated.")
Run Code Online (Sandbox Code Playgroud) 这里有一个sentiment analysis
带有NLTK
(python)的演示http://text-processing.com/demo/sentiment/.
还有关于情绪分析部分的教程
在亚洲语言的情绪分析中是否有任何完整的代码示例或使用python NLTK的工作项目?(特别是中文,日文,韩文或阿拉伯文,希伯来文和波斯文)
nlp ×7
nltk ×4
python ×4
r ×2
asianfonts ×1
corpus ×1
dictionary ×1
java ×1
logic ×1
perl ×1
text-mining ×1