Python Django评论中的亵渎

Python Django评论中的亵渎,python,django,nlp,Python,Django,Nlp,由于Django不处理过滤亵渎——有人对在Django中实现某种自然语言处理/过滤亵渎的简单方法有什么建议吗?Django处理过滤亵渎 发件人: 亵渎清单 默认值:()(空元组) 一组亵渎,如字符串,当 COMMENTS\u ALLOW\u亵渎是False 也就是说,您仍然需要填充该列表 我还想让你自己熟悉一下。我个人认为。。。不用麻烦了。如果你创建更好的过滤器,他们只会用不同的方式键入 但是,这里有一个简单的例子: import re bad_words = ['spam', 'eggs']

由于Django不处理过滤亵渎——有人对在Django中实现某种自然语言处理/过滤亵渎的简单方法有什么建议吗?

Django处理过滤亵渎

发件人:

亵渎清单

默认值:()(空元组)

一组亵渎,如字符串,当
COMMENTS\u ALLOW\u亵渎
False

也就是说,您仍然需要填充该列表


我还想让你自己熟悉一下。

我个人认为。。。不用麻烦了。如果你创建更好的过滤器,他们只会用不同的方式键入

但是,这里有一个简单的例子:

import re
bad_words = ['spam', 'eggs']
# The \b gives a word boundary so you don't have the Scunthorpe problem: http://en.wikipedia.org/wiki/Scunthorpe_problem
pattern = re.compile(
    r'\b(%s)\b' % '|'.join(bad_words),
    re.IGNORECASE,
)

some_text = 'This text contains some profane words like spam and eggs. But it wont match spammy stuff.'
print some_text
# This text contains some profane words like spam and eggs. But it wont match spammy stuff.

clean_text = pattern.sub('XXX', some_text)
print clean_text
# This text contains some profane words like XXX and XXX. But it wont match spammy stuff.

雅虎认为“BS”是亵渎的,并且审查理学士学位的帖子,这让自己看起来很愚蠢。除非你要做足够的NLP来理解上下文,否则要确保你的亵渎清单是明确的。注意:从1.3开始就有人提到亵渎清单应该被弃用。我相信阿德里安·霍洛瓦蒂(Adrian Holovay)和丹尼尔·格林伯格(Daniel Greenberg)在最近的会谈中都提到,这是为1.5计划的。现在它仍然在master branch,但我认为(希望)它即将消失。+1年我个人认为有一个亵渎清单是浪费时间,但正在纠正这个问题,因为Django确实有基本的处理方法。这里有一个链接到发行说明,关于将内置列表更改为空-+1以解决Scunthorpe问题@Tom我相信不赞成的是列表内容——正如你所看到的,它现在默认为一个空元组,但过去只填充了四个相当随意的侮辱。@DanielRoseman不赞成列表内容是第一步。这个计划(至少据我所知)是为了正确移除设置。@TomChristie你怎么会认为这是下一步?在Django Deprecation时间表中没有提到这一点,该时间表将上升到2.0