如果我有一个使用标签对帖子进行分类的论坛,是否可以在创建帖子后根据内容和标题自动添加标签?
非常感谢你
最简单的方法是创建一个已知标签表。遍历帖子中的每个单词,如果该单词在标签表中,则将其添加到列表中。为了使这稍微更有效,您可以将标签存储在它的显示版本和词干版本中(例如,算法和算法)。然后将帖子中的词干词与词干标签名称进行比较。请参阅 Porter 的词干提取算法,了解一种简单的方法(对于英语单词)。
更有效的解决方案是使用 TF-IDF 之类的东西并将向量与每个标签相关联。为新帖子创建一个向量,并使用余弦相似度将其与每个标签向量进行比较。无论哪个标签高于某个阈值,都会被添加到帖子中。我从未将它用于自动标记,但根据我的经验,它在处理非垃圾数据时是一种非常有效的匹配工具。(即,人们不会试图欺骗或欺骗系统。)
这两种方法都假设您已经构建了某种标签字典来开始工作。您可以通过查看帖子中经常使用哪些不常用词(需要一个频率表)来猜测标签名称。
有很多方法可以解决这个问题。正如 konforce 建议的那样,简单的关键字匹配或 TF-IDF 是可行的选择。其他包括: