php - 提出的用于文本标记的 nlp 算法

标签 php algorithm nlp data-mining stanford-nlp

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

在这里,我提出了自己的算法来标记属于 7 个类别(工作、讨论、事件、文章、服务、买卖、人才)的用户帖子。

最初,当用户发帖时,他会标记他的帖子。标签可以是 marketing, suggestion, entrepreneurship, MNC etc。所以考虑一下我有标签的一些帖子以及它们属于哪个类别。

步骤:

  1. 对用户帖子执行 POS(词性)标记。 这里可以做两件事。

    • 只考虑名词。名词可以代表post more的标签 凭直觉我猜

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

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

  3. 下一步是为 POST 识别垃圾邮件或离题评论。 考虑一个针对 Job 类别的用户帖子。这篇文章包含标签 marketing。现在我将在数据库中检查最常见的 10-15 个词性标签(即名词和形容词)以用于营销。

    Parallel 我有那个评论的 POS 标签。我将检查这篇文章的 POS(名词和形容词)是否包含属于 marketing 的最常见标签(我们可以考虑 15-20 个这样的 POS 标签)。

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

您有什么建议可以让这个算法更直观吗??

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

除此之外,机器学习技术还可以帮助学习系统预测标签和垃圾评论(离题)

最佳答案

我认为主要问题在于您的特征建模。虽然只挑选名词有助于减少特征空间,但这是一个额外的步骤,可能会产生很大的错误率。你真的关心你是在看 market/N 而不是 market/V 吗?

大多数使用朴素贝叶斯分类器的主线文本分类实现都忽略了 POS,并简单地将每个不同的单词形式计为一个独立的特征。 (您还可以使用蛮力词干提取来将 marketmarketsmarketing 缩减为单个词干形式,从而减少单个特征。这倾向于使用英语工作,但如果您实际上使用不同的语言工作,可能就不够用了。)

折衷方案可能是在训练分类器时进行 POS 过滤。然后,没有名词读法的单词形式在分类器中的得分为零,因此您在使用生成的分类器时无需执行任何操作来过滤掉它们。

根据经验,SVM 往往会实现较高的准确度,但它是以实现和行为方面的复杂性为代价的。朴素贝叶斯分类器具有明显的优势,您可以准确地理解它是如何得出特定结论的。 (好吧,我们大多数人都不能声称对 SVM 背后的数学有同样的掌握。)也许一个好的方法是用贝叶斯做原型(prototype),并在学习系统整体行为的同时解决任何问题,然后其他部分稳定后,也许稍后考虑切换到 SVM?

“垃圾邮件”类别将比任何明确定义的内容类别都更难。暗示任何不适合您的任何内容类别的内容都是题外话,这很诱人,但是如果您打算使用自动垃圾邮件过滤的判断,这可能至少在早期会导致一些误报阶段。一种可能的替代方法是针对特定的垃圾邮件类别训练分类器——一种用于药物,另一种用于跑鞋等。

关于php - 提出的用于文本标记的 nlp 算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24314817/

相关文章:

algorithm - 找到最大和连续子数组,使得子数组的长度小于等于 k?

algorithm - 住宿/日票问题的最佳拟合调度算法?

r - R 中的基本词干提取代替根词干提取

python - 我如何在整个 Penn Treebank 语料库上训练 NLTK?

php - Zend_Date 计算减去两个日期的错误

php - 大于语句中包含不需要的字符

php - 为什么在数据库中保存session是好的save?

php - 另存为草稿然后更新草稿?

c++ - 在二维数组中查找最大值的快速算法

python - 在不使用嵌套循环的情况下查找所有 word2vec 编码对的余弦距离