自动化谣言识别过程
Posted
技术标签:
【中文标题】自动化谣言识别过程【英文标题】:Automating the rumour identification process 【发布时间】:2015-11-20 03:33:52 【问题描述】:目前我们在做什么,根据社交媒体上的一些关键字检查用户讨论。根据关键字检测,我们确定这可能是谣言。
自动化流程的方法:
-
基于关键字:验证会话中基于 1-2 克的关键字。如果存在关键字,则将其标记为可疑对话
基于分类器的方法:使用一些预先标记的可疑对话训练分类器。曾经以 >50% 的概率分类,标记为可疑。
对于第二种方法,我正在考虑朴素贝叶斯分类器,并使用 scikit learn 以精度、召回率、F 度量值识别结果。
有没有更好的方法来解决这个问题?或者一些可以结合这两种方法的模型?
【问题讨论】:
【参考方案1】:这两种方法没有理由相互排斥。如果您无论如何都要识别关键字,那么您可以轻松地提取用于机器学习的特征。如果您正在进行机器学习,您还可以包含一些功能,这些功能可以捕捉您对已识别的关键字的了解。
您选择朴素贝叶斯模型有什么原因吗?您可能想尝试一些模型来比较它们的性能。您关于“以精确度、召回率、F 度量来识别结果”的陈述使您似乎不了解如何使用机器学习模型进行预测。这三个指标是将模型的预测与大量文本上的“黄金标准”标签进行比较的结果。我建议通读机器学习简介。如果您已经决定要使用scikit-learn
,那么也许您可以完成他们的教程here。另一个值得研究的python
图书馆是nltk
,它有一本免费的配套书籍here。
如果python
不是您的首选语言,那么还有很多其他选择。例如,weka
是一个用 java 编写的知名工具。它的基本功能具有非常人性化的图形界面,但在命令行中使用也不难。
祝你好运!
【讨论】:
@bepop:感谢您的回答。实际上,我对 scikit learn 以及 nltk 也很满意。朴素贝叶斯背后的原因是,我读到它可以很好地处理文本数据。我想我也可以与 svm、朴素贝叶斯、最大熵等不同的模型进行比较。根据您回答后的理解,我可以使用precision,recall,F measure来比较不同模型之间的结果,对吗? 我有两个选择,nltk 或 scikit learn。你能给出你对这种情况的处理方法吗 @cyclic 是的,如果您有黄金标准语料库,那么您可以在该语料库上训练和测试模型(通常使用 10 折交叉验证),以及这些测试的结果(包括精度,召回等)可用于比较模型,假设它们的训练数据和测试数据相同。nltk
和 scikit-learn
都是优秀的库。我建议查看每种型号都有哪些型号。只是取决于你想做什么。
@cyclic 顺便说一句,我一周前刚刚了解到orange
,还有python
的另一种可能性。 python3
的最新版本主要基于 scikit-learn
。以上是关于自动化谣言识别过程的主要内容,如果未能解决你的问题,请参考以下文章
谣言粉碎机 - 极短时间内发送两个Odata request,前一个会自动被cancel掉?
谣言粉碎机 - 极短时间内发送两个Odata request,前一个会自动被cancel掉?
Python Apex Legends 武器自动识别与压枪 全过程记录