我正在开发一个从纯文本中提取关键字的系统。
关键字的要求是:
我已经满足了1- 3的要求,但是我无法找到区分诅咒词的方法;我如何过滤它们?
我知道这不会是过滤掉所有诅咒词的最终方法,但是所发生的是所有的关键字首先被设置为“未决”状态,然后才被主持人“批准”。然而,如果我能让WordNet过滤掉大部分的诅咒词,它将使版主的工作更容易。
发布于 2012-09-11 20:33:14
奇怪的是,Unix命令行版本的WordNet (wn)将通过选项-domn (域)向您提供所需的信息:
wn ass -domnn (-domnv for a verb)
...
>>> USAGE->(noun) obscenity#2, smut#4, vulgarism#1, filth#4, dirty word#1
>>> USAGE->(noun) slang#2, cant#3, jargon#1, lingo#1, argot#1, patois#1, vernacular#1但是,NLTK中的等效方法只返回一个空列表:
from nltk.corpus import wordnet
a = wordnet.synsets('ass')
for s in a:
for l in s.lemmas:
print l.usage_domains()
[]
[]
...作为另一种选择,您可以尝试过滤那些在同义词定义中包含“淫秽”、“粗俗”或“俚语”的单词。但是,按照前面的建议(就像noswearing.com中的那样),对固定列表进行过滤可能要容易得多。
发布于 2017-11-01 10:02:08
对于第四点,如果您能够收集诅咒词的列表,并通过迭代过程删除它们,那将是更好和有效的。
为了达到同样的目的,您可以查看这博客。
我将在这里总结同样的情况。1.从这里 2中加载“发誓”文本文件。将其与文本进行比较,如果匹配,则删除。
def remove_curse_words():
text = 'Hey Bro Fuck you'
text = ' '.join([word for word in text.split() if word not in curseWords])
return text输出将是。
嘿,兄弟,你
https://stackoverflow.com/questions/12336341
复制相似问题