用于文本标记的建议的nlp算法

问题描述 投票:0回答:3

我一直在寻找开源工具,该工具可帮助识别社交媒体上任何用户帖子的tags,并识别该帖子上的主题/主题或垃圾邮件评论。即使经过一整天,我也找不到任何合适的工具/库。

[我在这里提出了自己的算法来标记属于7个类别(职位,讨论,事件,文章,服务,购买/出售,才能的人才)的用户帖子。

[最初,用户发表帖子时,他会标记自己的帖子。标签可以像marketing, suggestion, entrepreneurship, MNC etc。因此,请考虑为某些帖子添加标签以及它们属于哪个类别。

步骤:

  1. 在用户信息上执行POS(词性)标记。这里可以做两件事。

    • 仅考虑名词。名词可能代表发布更多的标签我猜直觉

    • 同时考虑名词和形容词。在这里我们可以收集大笔名词和形容词的数量。这样的词频可以使用标识该帖子的标签。

  2. 对于每个用户定义的标签,我们将为属于特定标签的帖子收集POS。例。考虑用户分配的标签marketing,此标签的帖子包含POS字SEOadwords。假设marketing标签的10个帖子分别包含5次和7次SEO and adwords。因此,下次出现用户帖子时,该帖子没有任何标签,但包含POS词SEOSEO在市场营销标签中出现的最大次数7,因此我们将为此帖子预测marketing标签

  3. NExt步骤用于标识POST的垃圾邮件或主题外注释。考虑一个Job类别的用户帖子。该帖子包含标签marketing。现在,我将在数据库中查看营销活动中最常用的10-15个语音标签(即名词和形容词)。

    平行我对此评论有POS标签。我将检查此帖子的POS(名词&adj)是否包含属于marketing的最常见标签(我们可以考虑15-20个此类POS标签)。

如果评论中的POS与任何最常用的营销POS不匹配,那么该评论可以说成话题/跨度

您是否有任何建议使此算法更具直观性?

我想SVM可以帮助分类,对此有什么建议吗?

[除了此WhIch机器学习技术,它可以在这里帮助学习系统来预测标签和垃圾邮件(不在主题中)

php algorithm nlp data-mining stanford-nlp
3个回答
1
投票

我所看到的主要问题是您的要素建模。虽然仅挑选名词将有助于减少特征空间,但这是一个额外的步骤,可能会导致明显的错误率。并且您是否真的在乎是否要查看market/N而不是market/V

大多数使用朴素贝叶斯分类器的主线文本分类实现只是忽略了POS,而只是将每种不同的单词形式都视为独立的功能。 (您也可以使用蛮力词干法将marketmarketsmarketing简化为单个词干形式,从而简化为单个特征。这倾向于英语,但是如果您实际上使用另一种语言。)

妥协是在训练分类器时进行POS过滤。然后,没有名词阅读的单词形式在分类器中最终得分为零,因此当您使用结果分类器时,您无需进行任何操作即可将其过滤掉。

[经验上,SVM趋于实现高精度,但是它以实现和行为方面的复杂性为代价。朴素的贝叶斯分类器具有明显的优势,您可以准确地了解它是如何得出特定结论的。 (好吧,我们大多数人都不能声称对SVM背后的数学有相同的理解。)也许一个好的方法是使用贝叶斯进行原型设计,并在了解系统整体性能的同时消除所有问题,然后也许以后考虑其他部分稳定后再切换到SVM?

“垃圾邮件”类别将比任何定义明确的内容类别都难。极有可能建议不符合您的内容类别的任何内容都是题外话,但是如果您要使用裁决来进行自动垃圾邮件过滤,则至少在早期可能会导致误报。阶段。一种可能的替代方案是针对特定垃圾邮件类别训练分类器-一种用于药物,另一种用于跑鞋,等等。


1
投票

任何线性分类器都适用于文本分类。以我的经验,Logistic回归或SVM可以很好地进行文本分类。

您也可以尝试使用朴素贝叶斯多项式分类器。这已与多个电子邮件垃圾邮件分类程序中的垃圾邮件分类一起使用。


1
投票

请看一下POS标记。http://nlp.stanford.edu/software/tagger.shtml

更多地依靠数据收集(标记数据),然后用它来构建分类器,线性,贝叶斯,SVM,满足您的要求(执行效果最好)

也请查看您是否可以进行多类别预测(即创建两个或多个类别的组合的新类别),或尝试找出每个类别中存在字符串序列的可能性。

希望这会有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.