首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >主题或标记建议算法

主题或标记建议算法
EN

Stack Overflow用户
提问于 2015-06-12 21:30:45
回答 1查看 991关注 0票数 0

问题是:当给出一个文本块时,我想提出一些可能的主题。例如,一篇关于科比·布莱恩特的新闻文章会建议贴上这样的标签:“篮球”、“nba”、“体育”。

我有一个相当大的训练数据集(350k+),其中包括用户分配给文本的文本和标记体。有大约40k,预先存在的主题;但是,许多主题中没有太多的条目。我想说的是,只有大约5k的主题中有10多个条目。用户不能分配系统中不存在的主题。我也想把它包括进去

有人对使用算法有什么建议吗?

如果有人对python库也有任何建议的话,那就太棒了。

EN

回答 1

Stack Overflow用户

发布于 2015-06-12 21:58:37

在类似的问题上也出现了类似的问题--这里就是一个例子--堆叠溢出。当你写你的问题时,堆栈溢出本身建议了一些没有你干预的标签,尽管你可以手动添加或删除它们。

开箱即用的分类会失败,因为标签的数量是巨大的。你可以从两个方向着手解决这个问题。

  1. 近邻方便,快捷有效。你有一套标有标签的训练集。当新文档出现时,您会查找最接近的匹配项,例如“标记”、“培训”、“数据集”、“标签”等,这些都有助于您的问题地图与StackOverflow上的其他类似问题。在这些问题中,机器学习标签就在那里,所以这个标签被建议了。最好的实现方法是索引你的培训数据(搜索引擎策略)。你可以使用Lucene,Elastic或类似的东西。当出现新文档时,将其用作查询,并搜索前面存储的十大匹配文档。投票他们的标签。对标签进行排序,并使用文档的分数来确定标签有多重要。好了。
  2. 概率模型的想法是在分类的路线上,但现成的工具不会对你有帮助。检查像克莱顿·斯坦利( Clayton ),预测StackOverflow帖子的标签郭达伦,关于词预测方法舒斯特关于预测StackOverflow问题标记的报告这样的作品

如果你把这个问题作为长期学术项目或研究的一部分,研究方法2会更好。但是,如果您需要现成的解决方案,请使用方法1。Lucene是一个很好的索引工具,即使在生产中也使用过。它最初是用Java编写的,但是您可以轻松地找到Python的包装器。另一种选择是Elastic Katta等。

附注:在玩标签分数时,需要进行大量的实验。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30812466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档