如何通过机器精确区分python和snake文章?

如何通过机器精确区分python和snake文章?,python,semantics,Python,Semantics,我试图创建一个像planet这样的python语言新闻聚合网站,我从社交媒体(如G+和twitter)上抓取python新闻,并通过一些python关键字获取一些python提要 但是一些关于snake的文章在结果上,我发现很难准确识别这些关于snake的文章,我创建了一个dict来过滤它,但这还不够好 有没有更好的方法 snack_dic = ['shoe', 'snake', 'nail', 'python hunter'] def is_snake(txt): for dic i

我试图创建一个像planet这样的python语言新闻聚合网站,我从社交媒体(如G+和twitter)上抓取python新闻,并通过一些python关键字获取一些python提要

但是一些关于snake的文章在结果上,我发现很难准确识别这些关于snake的文章,我创建了一个dict来过滤它,但这还不够好

有没有更好的方法

snack_dic = ['shoe', 'snake', 'nail', 'python hunter']

def is_snake(txt):
    for dic in snack_dic:
        if re.search(dic, txt, re.IGNORECASE) is not None:
            return True
    return False  

在帖子中寻找其他与编程相关的词:“语法”、“错误”、“程序”、“编程”、“脚本”;你不太可能在关于蛇的帖子中找到这些词。(感谢duskwuff澄清了这个问题)

您可以尝试使用朴素贝叶斯分类器。既然您对Python感兴趣,spambayes可能已经很熟悉了。你需要手动将一堆文章分类,关于蛇(或喜剧组)的文章称为“垃圾邮件”,关于编程语言的文章称为“火腿”。

我真的不明白你的问题。@senderle:我想他问的是如何区分关于某一编程语言的帖子和关于蛇的帖子。是的,这似乎是总的要点。但这仍然是一个模糊而没有意义的问题。很抱歉,我的描述不好,我会尝试更新以使其清晰,但在这种情况下,大多数文章都是关于python编程语言的,关于snake的文章较少,可能只有5-10%。我认为创建一个与编程相关的单词dict与创建snake过滤器dict有相同的问题