gpt4 book ai didi

javascript - 如何从一个句子或带有冒犯性词的混合匹配句子中挑选冒犯性词

转载 作者:行者123 更新时间:2023-11-29 10:02:24 25 4
gpt4 key购买 nike

我想避免在用户创建内容的区域(社交平台,例如用户在平台上发布帖子的地方)使用冒犯性的词语

为此,我有一个方法,我有一个数组,其中将存储所有冒犯性的词。

现在为了检查该句子是否包含任何冒犯性词语,我编写了方法,即

//NOTE: This array has offensive words. But I have not written here for not spreading any vulgarity to this platform.
const offensiveHolder = ["Test1", "Test2", "Test3", "Test4", "Test5"];
if (offensiveHolder.indexOf(req.body.word) > -1) {
console.log("Username has exist offensive word");
} else {
console.log("Username has not exist offensive word");
}

这是一个非常基本的脚本,可以识别单词是否完全这样写......

假设我写了 H1TEST1KL,那么这里如果我从开头删除 H1,从结尾删除 KL,那么这个词是冒犯性的。

我的脚本会失败,因为它没有足够的逻辑来识别..是否有人有任何方法可以让我获得线索来编写可以执行我想要的任务的逻辑......

而且我希望这个算法能够解决许多构建用户交互平台并且不希望任何会破坏用户交互的脏话的人。

非常感谢为此建议/帮助我的人

最佳答案

要解决您问题中代码的基本问题,您需要反过来 - 而不是检查输入字符串是否与 offensiveHolder 数组中的一个字符串完全匹配(这不太可能),检查输入字符串中是否包含 offensiveHolder 中的 .some 字符串。还要确保在比较之前将所有字符串转换为小写:

const offensiveHolder = ["test1", "test2", "test3", "test4", "test5"];
function hasBadWord(input) {
const lowerInput = input.toLowerCase();
return offensiveHolder.some(badword => lowerInput.includes(badword));
};
console.log(hasBadWord('fooTEST1bar'));
console.log(hasBadWord('footest999bar'));
console.log(hasBadWord('H1TEST1KL'));

关于javascript - 如何从一个句子或带有冒犯性词的混合匹配句子中挑选冒犯性词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52924838/

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