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

2023-07-05 14:59:06 +08:00
 brader
用过 chatgpt 产品的都知道,返回内容都是那种打字机效果,逐字返回显示的。
那么问题来了,这种如何做关键词屏蔽呢?
好像服务端做比较困难,因为关键词有多个字的,如果服务端等整句话检测完再返回内容给前端的话,体验就太糟糕了。
我目前能想到的兼顾原有用户体验的方式是放在客户端来检测屏蔽关键字,客户端每次接收到服务端的返回的字,就拼接之前接收到的内容,检测关键字,检测到了,就把展示的内容屏蔽替换。这样就还是有打字机的实时效果。

不知道各位有没有更好的实现想法,欢迎讨论
8804 次点击
所在节点    程序员
101 条回复
metalvest
2023-07-06 12:48:28 +08:00
讨论得这么热火朝天,都默认这样做是正常的是吧
xiubin
2023-07-06 13:02:16 +08:00
@metalvest #81 那也比:问一个问题,下面全是回复国情摆烂宣泄自己政治理念的强吧。

和求推荐一个 Windows 笔记本 下面回复非要讲 Mac 多好的帖子有啥区别。。

就是论事,问题怎么解决是一回事,问题产生的原因合不合理是另外一回事
gps949
2023-07-06 13:16:26 +08:00
滑动时间窗
rookie4show
2023-07-06 13:17:16 +08:00
参考 bing 吧,一般接受显示,一边上送审核,有时候答案我看着打了一大半了突然弹出抱歉,回答不了
mingl0280
2023-07-06 13:23:21 +08:00
能倒是能搞,就是设个缓冲区的事情。
不过你不觉得这么搞太过分了么?
GeruzoniAnsasu
2023-07-06 13:45:06 +08:00
hyperscan 支持 流模式:

https://intel.github.io/hyperscan/dev-reference/runtime.html


另外基础正则表达式都可以等价为一个有限自动机,你可以用自动机编译工具来实现词库到自动机代码的转化。

不用自己写 AC 自动机代码的
Feiex
2023-07-06 14:05:46 +08:00
3L 说的藏头露尾怎么处理啊?
potatowish
2023-07-06 14:15:46 +08:00
参考 68L ,延后处理,二次纠正
yedanten
2023-07-06 16:17:06 +08:00
贱不贱啊
Mohanson
2023-07-06 16:38:45 +08:00
将敏感词构建成一个 trie 吗, trie 本身就是可以流处理的. 数据结构还是很重要的.
isexdpac
2023-07-06 16:46:31 +08:00
@mrleft 笑出声
haha512
2023-07-06 17:13:55 +08:00
取个巧,在客户端做检测,每次收到消息,就连同已经收到的合在一起做个检测,合规则显示,不合规全部删除。

对于一般用户这样做也足够了
haha512
2023-07-06 17:15:22 +08:00
@metalvest 这样做当然不正常,就像三连 鬼都知道不正常,然而看起来还要四连呢,有什么办法,上街举旗吗
tyler1128
2023-07-06 17:28:12 +08:00
流式把内容返回给客户端,然后后端记下来之前的所有内容,一段一段的检测,如果发现有违禁内容,就通知客户端把内容屏蔽?
GeruzoniAnsasu
2023-07-06 18:52:45 +08:00
@Feiex 不处理。

你不会真的想替老爷把「屏蔽敏感信息」这个目标达成吧? 他说关键词,我就只实现词,为啥自作主张?
ChenSino
2023-07-06 19:32:27 +08:00
屏蔽敏感词,那内容不连贯怎么办
Mqzo
2023-07-07 03:31:33 +08:00
祖国码农到底花了多少精力在怎么建墙,怎么翻墙和怎么审查上。
PrinceofInj
2023-07-07 08:46:54 +08:00
不可能实时过滤,想都不要想。参考当年某位高管庭审的“直播”。
unco020511
2023-07-07 15:00:46 +08:00
不可能既要过滤效果好,又要流式返回的数据快,这是不可能的.只能找平衡点,具体方法楼上都有,整句整段检测,自行把握缓冲区的粒度
unco020511
2023-07-07 15:06:49 +08:00
还有一种就是先返回再纠错,类似实时的语音识别(可以去体验下微软 azure 的实时语音识别返回),这种体验是最好的.比如我说的话是"今天天气真好啊,你吃早饭了吗",那么返回的依次是:
"今天"
"今天天气"
"今天天气真好啊"
"今天天气**啊"(同时包含一个标识表示是确认过的内容,端可固化)
"你"
"吃"
"早饭"
"了"
"吗"
"?"
"你吃早饭了吗?"(同时包含一个标识表示是确认过的内容,端可固化)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/954296

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX