如何使用Python从文章或用户的帖子中选择标签?
以下方法可以吗?
从文本中构建单词频率列表并对其进行排序。
删除一些常用字词,然后选择列表中剩余的前10个字作为标记。
如果上面的方法没问题,那么哪个库可以检测出哪些词是常见的,比如“,if,you等”,哪些是描述性词?
答案 0 :(得分:4)
这是关于removing stop words的文章。文章中停用词列表的链接已被删除,但here's another one。
答案 1 :(得分:3)
Natural Language Toolkit为这类东西提供了多种方法。我不能给你实际的建议,因为我不熟悉这个主题,但我认为在你开始之前先阅读一些关于这个主题的articles是值得的:只需从文本中挑选单词直接不会让你走得很远我想,你应该尝试找到类似的单词,因为那些标签已经存在。当然,你需要过滤出语言的常用词,如“the”和东西。同样,这个Python库可以帮助您解决这个问题,至少对于一些常见语言而言。
答案 2 :(得分:2)
我建议你download the Stack Overflow data dump。在那里,您可以获得许多带有适当标签的真实世界帖子,以测试不同的标签选择算法。
但总的来说,我怀疑它会运作得太好。对于你自己的问题,“单词”是单词计数的明显赢家,后面是一个单词列表,每个单词有两个外观,如“common”,“list”,“method”,“pick”和“tags”。你会自动选择哪一个作为标签?您手动选择的标签也包含“python”和“context”,其中没有一个显示高字频率。
答案 3 :(得分:1)
使用已标记的数据训练Bayes或Fischer过滤器(例如,使用sth建议的Stackoverflow数据转储)并使用它来对新帖子进行分类。我建议阅读Toby Segaran的优秀编程集体智慧书,以获取有关此主题的更多信息和python示例。
答案 4 :(得分:0)
不是将不应该是标签的单词列入黑名单,为什么不建立一个可以制作好标签的单词白名单呢?
从您希望拥有的一些代码开始,例如Python
,off-topic
,football
,rickroll
或其他(取决于您的网站类型)正在构建!)并让系统只在这些之间建议,然后让用户手动选择适当的标签,并让他们输入自己的标签。
当有足够多的用户建议标记时,它会进入“已知良好”标记池以获取自动建议 - 可能经过某种审核后,您仍然可以将the
,{{{}等愚蠢标记列入黑名单当您拥有lolol
时,可以使用objectoriented
标记的标签。
仅显示少数建议。提供自动完成功能。限制每个项目的标签数量。如果这将是关于编码,也许某种语言检测系统(object-oriented
linux命令对此不太苛刻)将有助于您的建议系统。