语言本身并不重要,但我认为我坚持使用Javascript。
基本上,我有成千上万的评论"每个月都希望有一个天真的快乐评估'通过基于在这些评论中搜索10,000个单词的自动化(每个评论的平均字数为21个单词,到目前为止所有内容)。
这个公式的运作方式(从Hedonometer借来的) - 就是“快乐”。文本中每个单词的得分(如果在10k列表中找到)并对其进行平均。
我会在这里测试一些事情,然后在结果中进行修改,但我甚至不知道从哪里开始。似乎非常繁重的数据提升(虽然每个评论当然只需要做一次) - 也许它更适合R或SQL(可能不是),但不确定。
我认为这个问题有时被称为“问题”。或“'术语频率饱和度'。
答案 0 :(得分:1)
我肯定会选择Python's Natural Language Toolkit (NLTK)它带有一系列功能,可以让您的生活更轻松,如文字频率,删除重复项,删除停用词,查找同义词等等,这个想法正在减少你的文本大小尽可能地进行情绪分析。
在类似的项目中,我的方法是:
希望这有效!
答案 1 :(得分:1)
你可以用你的单词创建一个哈希表,如下所示(缩写):
let wordRanks = {'hate':-100,'love':100,'ok':10};
然后有一个像这样的字符串并将其分成单词。
let str = `I hate love it's just ok`;
let words = str.split(' ');
然后你可以迭代这些单词并得到一个分数:
let commentScore = 0;
words.forEach(function(word){
if(wordRanks[word]){
commentScore += parseInt(wordRanks[word])
}
});
console.log(commentScore); //should be 10
使用哈希表对于查找来说不应该是计算上昂贵的。应该工作,虽然你可能不得不更好地分割单词以删除尾随标点符号,因为我在初始代码中的爱之后有一个逗号,并且它给出了错误的结果,因为没有哈希表匹配'爱,&# 39;