摘要:Lucene.Net 使用于语义分析 ( Opinion Mining )
在这里我们假设要把线上的各种评论分成是正面或者是负面的言论分类 ,
最简单的方式是使用贝氏过滤法 , 其过程就类似分类垃圾邮件那样 ,
我们得训练两个词库 , 一个是负面词库 , 一个是正面词库 ,
再来训练词库 , 依此来判断是正面或负面意见 , 关于词库的建立
可参阅 O'Reilly 的 Bad Data 一书 , 其中提到可依照型态来区隔 ,
例如电影评论可能跟其他地方的评论是不同的
可参考先前发表的文章 :
Lucene.Net Spam Filter
建立词库 :
建立词库的语法可参阅 Lucene.Net 建立索引
- 足够的评论数量
- 分 类的平衡 , 评论通常会呈现极端化 , 如5颗星的评论通常远多于一颗星的评价 , 因此必须限制 pos 评论的数量来平衡 pos 和 neg 分类
选择适当的分类算法 :
- 贝氏过滤
- Maximum Entropy
在 Bad Data 技术手册中 , 作者认为 Maximum Entropy 处理得比贝氏过滤法好
训练分类器 :
可参阅 NLTK - trainer
各种提供自然语言分析的函数库例如 Python 的 NLTK , Net 平台的使用者也许
可以选择 SharpNLP 开始 , 其他还有 Stanford Parser
数据来源 :
利用文字探勘分析大众观感
Opinion Mining 解释
Bad Data 技术手册
最大熵学习法
原文:大专栏 Lucene.Net 使用于情绪分析 ( Opinion Mining )