我一直在寻找开源工具,该工具可帮助识别社交媒体上任何用户帖子的tags
,并识别该帖子上的主题/主题或垃圾邮件评论。即使经过一整天,我也找不到任何合适的工具/库。
[我在这里提出了自己的算法来标记属于7个类别(职位,讨论,事件,文章,服务,购买/出售,才能的人才)的用户帖子。
[最初,用户发表帖子时,他会标记自己的帖子。标签可以像marketing, suggestion, entrepreneurship, MNC etc
。因此,请考虑为某些帖子添加标签以及它们属于哪个类别。
步骤:
在用户信息上执行POS(词性)标记。这里可以做两件事。
仅考虑名词。名词可能代表发布更多的标签我猜直觉
同时考虑名词和形容词。在这里我们可以收集大笔名词和形容词的数量。这样的词频可以使用标识该帖子的标签。
对于每个用户定义的标签,我们将为属于特定标签的帖子收集POS。例。考虑用户分配的标签marketing
,此标签的帖子包含POS字SEO
和adwords
。假设marketing
标签的10个帖子分别包含5次和7次SEO and adwords
。因此,下次出现用户帖子时,该帖子没有任何标签,但包含POS词SEO
。 SEO
在市场营销标签中出现的最大次数7
,因此我们将为此帖子预测marketing
标签
NExt步骤用于标识POST的垃圾邮件或主题外注释。考虑一个Job
类别的用户帖子。该帖子包含标签marketing
。现在,我将在数据库中查看营销活动中最常用的10-15个语音标签(即名词和形容词)。
平行我对此评论有POS标签。我将检查此帖子的POS(名词&adj)是否包含属于marketing
的最常见标签(我们可以考虑15-20个此类POS标签)。
如果评论中的POS与任何最常用的营销POS不匹配,那么该评论可以说成话题/跨度
您是否有任何建议使此算法更具直观性?
我想SVM可以帮助分类,对此有什么建议吗?
[除了此WhIch机器学习技术,它可以在这里帮助学习系统来预测标签和垃圾邮件(不在主题中)
我所看到的主要问题是您的要素建模。虽然仅挑选名词将有助于减少特征空间,但这是一个额外的步骤,可能会导致明显的错误率。并且您是否真的在乎是否要查看market/N
而不是market/V
?
大多数使用朴素贝叶斯分类器的主线文本分类实现只是忽略了POS,而只是将每种不同的单词形式都视为独立的功能。 (您也可以使用蛮力词干法将market
,markets
和marketing
简化为单个词干形式,从而简化为单个特征。这倾向于英语,但是如果您实际上使用另一种语言。)
妥协是在训练分类器时进行POS过滤。然后,没有名词阅读的单词形式在分类器中最终得分为零,因此当您使用结果分类器时,您无需进行任何操作即可将其过滤掉。
[经验上,SVM趋于实现高精度,但是它以实现和行为方面的复杂性为代价。朴素的贝叶斯分类器具有明显的优势,您可以准确地了解它是如何得出特定结论的。 (好吧,我们大多数人都不能声称对SVM背后的数学有相同的理解。)也许一个好的方法是使用贝叶斯进行原型设计,并在了解系统整体性能的同时消除所有问题,然后也许以后考虑其他部分稳定后再切换到SVM?
“垃圾邮件”类别将比任何定义明确的内容类别都难。极有可能建议不符合您的内容类别的任何内容都是题外话,但是如果您要使用裁决来进行自动垃圾邮件过滤,则至少在早期可能会导致误报。阶段。一种可能的替代方案是针对特定垃圾邮件类别训练分类器-一种用于药物,另一种用于跑鞋,等等。
任何线性分类器都适用于文本分类。以我的经验,Logistic回归或SVM可以很好地进行文本分类。
您也可以尝试使用朴素贝叶斯多项式分类器。这已与多个电子邮件垃圾邮件分类程序中的垃圾邮件分类一起使用。
请看一下POS标记。http://nlp.stanford.edu/software/tagger.shtml
更多地依靠数据收集(标记数据),然后用它来构建分类器,线性,贝叶斯,SVM,满足您的要求(执行效果最好)
也请查看您是否可以进行多类别预测(即创建两个或多个类别的组合的新类别),或尝试找出每个类别中存在字符串序列的可能性。
希望这会有所帮助