小程序中关于敏感词汇检测

小程序审核增加敏感词汇校验,避免违法违规而被停用服务或者投诉。

本文例子引用的百度AI开发者提供的API:
链接位置:https://console.bce.baidu.com/ai/#/ai/ocr/overview/index
创建应用后生成应用对应的id和key
在这里插入图片描述
应用到小程序中,,简单的写一个公用的方法:

//-----------敏感词检测
textTest (obj){
wx.request({
//获取access_token
url: ‘https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=你的应用id&client_secret=你申请的key’,
method: ‘GET’,
data: {},
success: res => {
//文本内容审核
wx.request({
url:‘https://aip.baidubce.com/rest/2.0/solution/v1/text_censor/v2/user_defined?access_token=’+res.data.access_token,
method: ‘POST’,
header: {
‘Content-Type’: ‘application/x-www-form-urlencoded’
},
data:{
‘text’:JSON.stringify(obj) //表单内容转换json字符串提交过滤敏感词
},
success: res => {
console.log(res)
if(res.data.conclusionType==1){
//状态为1 内容合规 没有敏感词 则提交
this.accept = true;
}else{
this.modalShow({
msg: “输入内容含有敏感信息,请修改”
});
this.accept = false;
}
},
fail: () => {
console.log(Error)
},
complete: () => {}
});
},
fail: () => {
console.log(Error)
},
complete: () => {}
});
},

具体使用:
例如输入框或者文本框,在赋值之前将输入内容发送校验

//意见建议
textBlur: function (e) {
if (e.detail && e.detail.value.length > 0) {
if (e.detail.value.length < 1 || e.detail.value.length > 500) {
wx.showToast(‘内容为12-500个字符’,‘loading’,1200);
} else {
this.textTest(e.detail.value)
if(!this.accept){
return;
}
this.setData({
addMsgs: e.detail.value
});
}
} else {
this.setData({
addMsgs: ‘’
});
evaData.addMsgs = ‘’;
app.func.showToast(‘请输入投诉内容’, ‘loading’, 1200);
}
},

使用的小程序:用户满意调查小程序
在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用 Trie 树(字典树)实现敏感词汇的分析程序。以下是一个简单的 Java 实现: ```java public class SensitiveWordsAnalyzer { private TrieNode root; public SensitiveWordsAnalyzer() { root = new TrieNode(); } public void addSensitiveWord(String word) { TrieNode node = root; for (char c : word.toCharArray()) { if (!node.containsKey(c)) { node.put(c, new TrieNode()); } node = node.get(c); } node.setEnd(); } public boolean containsSensitiveWords(String text) { TrieNode node = root; for (int i = 0; i < text.length(); i++) { char c = text.charAt(i); if (node.containsKey(c)) { node = node.get(c); if (node.isEnd()) { return true; } } else { node = root; } } return false; } private static class TrieNode { private TrieNode[] children; private boolean isEnd; public TrieNode() { children = new TrieNode[256]; } public boolean containsKey(char c) { return children[c] != null; } public TrieNode get(char c) { return children[c]; } public void put(char c, TrieNode node) { children[c] = node; } public boolean isEnd() { return isEnd; } public void setEnd() { isEnd = true; } } } ``` 使用示例: ```java SensitiveWordsAnalyzer analyzer = new SensitiveWordsAnalyzer(); analyzer.addSensitiveWord("敏感词汇1"); analyzer.addSensitiveWord("敏感词汇2"); String text = "这是一段包含敏感词汇1和敏感词汇2的文本"; if (analyzer.containsSensitiveWords(text)) { System.out.println("文本包含敏感词汇"); } else { System.out.println("文本不包含敏感词汇"); } ``` 输出结果为: ``` 文本包含敏感词汇 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值