gpt4 book ai didi

java - 您建议如何过滤包含在巨大列表中定义的冒犯性词语的评论

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:51:33 25 4
gpt4 key购买 nike

简而言之:

Java/Hibernate/AJAX/SpringMVC

我希望用户发布的每条评论都应该在服务器端读取,在将其存储到数据库之前并且如果评论包含令人反感的文本,则拒绝评论强>.

攻击性文本列表非常庞大(可能有数千个)。查看此示例列表:http://onlineslangdictionary.com/lists/most-vulgar-words/

我想迭代这个列表并执行如下函数不是那么快。有没有其他方法可以更快地执行此过滤器?您认为搜索超过千分之一的项目会对资源 CPU/RAM 产生重大影响吗?欢迎任何建议!

for(String offensiveText : offensiveTextList ){     
if(commentText.contains(offensiveText )){
//reject comment
}
}

更新:冒犯性项目列表可以包含由其中几个词组成的项目(例如 3 个词的文本,并且可以包含停用词)。它甚至可以包含非字母字符,例如 *&^%。

如果评论包含相应的冒犯性项目(完全相同字母)则视为拒绝

最佳答案

您可能需要为此使用一些自然语言处理库。如果您要将评论中的每个 M 个词与列表中的 N 个冒犯性词进行比较,那么您的算法复杂度将为 O(MN) = O(N^2),这是相当高的。

看看 Lucene stack ,您可能会发现一些非常好的想法,例如如何标记评论并通过删除无意义的词来减少输入。

另外看看论文:"Distinguishing Between Factual Information and Insulting or Abusive Messages bearing Words or Phrases in News Articles"

关于java - 您建议如何过滤包含在巨大列表中定义的冒犯性词语的评论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11948189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com