4

Djangoは冒とく的な表現のフィルタリングを処理しないため、djangoで冒とく的な表現のある種の自然言語処理/フィルタリングを実装する簡単な方法について誰か提案がありますか?

4

2 に答える 2

7

Django はフィルタリングの冒涜を処理します。

https://docs.djangoproject.com/en/1.4/ref/settings/#profanities-listから:

PROFANITIES_LIST

デフォルト: () (空のタプル)

COMMENTS_ALLOW_PROFANITIESが の場合にコメントで禁止される、文字列としての冒とく的な言葉のタプル False

それでも、そのリストにデータを入力する必要があります。開始するためのいくつかの リンク

また、スカンソープ問題についても理解を深めたいと思います。

于 2012-09-15T17:12:02.920 に答える
2

個人的には…気にしないでください。より良いフィルターを作成すると、単に別の方法で入力されます...

しかし、ここに簡単な例があります:

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.
于 2012-09-15T17:12:14.013 に答える