逐字返回的内容如何做关键词屏蔽

查看 233|回复 22
brader
OP
  
@ChefIsAwesome 每收 N 个字审查,也不是不行,体验也还能接受,但是检测效果会有影响的,举个例子:
假设“科学上网”这四个字是关键字,假如我服务端设定每接收 5 个字检测一次,那可能发生我接收到“xx 科学上”,这个没违规,下发给客户端,接着接收到“网 xxxx”,这个也没违规,下发给客户端。
不知道这个概率高不高,高的话,检测效果就太差了
brader
OP
  
@putyy 那你说的这种方式,在页面表现上和我说的方案的页面表现是一样的,所以我就还不如在客户端做检测,效率还高
milukun   
本地敏感词库,可以设置每次检测最近的 10 个字,在敏感词库里的就打 * 号隐藏
全部返回完之后再跑一次在线 API (阿里什么的之类的),获得最终屏蔽结果
本地的可以超严格,防止露馅,最后以 api 为准显示
brader
OP
  
@InDom 理解了一部分你的意思,但是又没完全理解,你看看我 10 楼的回答,你表达的意思是不是和我说的,可能检测效果不太准确?
milukun   
检测最近 10 个字是为了效率考虑,如果每出一个字都要全文分词或者查询,本地有个 4 万左右敏感词的话,后期就会很卡。(实测)
本地敏感词可以在 git 上找,有个什么 tx 离线词库的
brader
OP
  
@milukun 我们可能不会搞很高端的检测,就是关键词匹配就行了,所以检测服务自己很容易做。
关键是分段切割来检测,有可能出现漏检的问题,概率问题,你看看我 10 楼回答的,我大概就这个意思
yinmin   
从 chatgpt 流式获取,定期审核,模拟打字机效果流式发送给客户端
(1) 收到标点符号的 data 数据包或者累计 20 个 data 数据包,就去做一次内容审核(从会话头部到截断位置的内容)。一次回答会做多次内容审核的。
(2) 审核后的回复内容(data 数据包)写入缓冲区
(3) 每隔 20ms 从缓冲区取一个 data 数据包发给客户端 (模拟打字机效果)
brader
OP
  
@yinmin 分段检测比较尴尬的是会漏检,参考我 10 楼的回答
putyy   
@brader 有点不一样,相当于在没有得到全部结果之前是没有做任何检测的,接受完毕再检测,再替换客户端看到的信息
kennir   
关注一下,也在折腾相关的问题
您需要登录后才可以回帖 登录 | 立即注册

返回顶部