上周我用jQuery开发了一个简单的新闻阅读器,解析了JSONP并将生成的列表插入到网页流中。今天早上我被问到这样一个问题:“是否有一种智能算法可以'理解'新闻是坏的,好的还是中立的?”我的回答......“嗯......我没有想法。”......这就是我问这个问题的原因:有没有办法实现这样的事情?我唯一可以做的就是检查标题是否包含“杀死,炸弹,刺客,洪水,地震,海啸......”等字样......还有其他想法吗?你知道是否已经实施了类似的解决方案吗?谢谢你的帮助!
答案 0 :(得分:2)
这是为Twitter做的,它被称为情绪分析。
答案 1 :(得分:1)
处理此问题的系列算法称为supervised learning,属于machine learning。
答案 2 :(得分:1)
您需要一种分类算法。有许多不同的选择,例如见here。一个众所周知的,一个容易实现的,是Naive Bayes。
在Naive Bayes中,您可以查看已经判断为不良的新闻项目中出现的单词频率,以及您已经判断为好的新闻项目中出现的单词频率。这些给出了条件概率P(word | good)和P(word | bad)的估计,即看到给出好消息的单词的概率,以及看到给出坏消息的单词的概率。
当你看到一个新的新闻时,你会弄清楚新闻中的词是什么和不是什么,并使用贝叶斯定理给你P(好|词)和P(坏词),主要是通过相乘您在上面计算出的新闻文章中出现或未出现的单词的概率,以及您对好消息或坏消息的预期频率。如果P(好|字)> P(坏话)那么这是个好消息。 (如果你感兴趣的话,我把一些数学放在question我写了一段时间;但是网上和书中都有更好的来源。)
Naive Bayes是一种众所周知的技术,也用于垃圾邮件过滤。它也很有趣,因为它没有解决的问题。特别是,它不考虑排序或上下文或单词。所以“本周没有飓风”虽然包含了“飓风”的作品,但可能是个好消息。我猜这些考虑因素在分析新闻文章时可能比推文更重要。无论如何,这是一个有趣的领域,已经做了很多工作。