为什么 gpt 不能正确识别汉字的个数?

5 天前
 hutng

刚试了一下 claude 好像也不太行。

961 次点击
所在节点    OpenAI
19 条回复
bankroft
5 天前
因为它不会思考,你把他当成高级搜索引擎就行了
cmdOptionKana
5 天前
为什么你会以为 gpt 能识别汉字个数?
Cooky
5 天前
MelodYi
5 天前
我觉得他对“前一句话”、“这一句话”的描述不太理解,你可以试下把要数数字的句子用引号框起来,然后再问他这句话有多少字。
Cooky
5 天前
十九八七六五四三二,前面这句话有几个汉字几个字符
mxT52CRuqR6o5
5 天前
现在的大语言模型因为 token 压缩的原因很难做这个事情吧
maolon
5 天前
模型的位置编码实现方式造成的问题,之前的位置编码没有考虑 token 与上下文之间的位置关系而是基于整段内容的位置进行编码,所以模型不能准确的完成计数任务,现在提出了一个新位置编码 CoPE 能解决这个问题,但是需要模型重新训练才能解决,显然这很费时间,所以短期内这些模型还是无法进行准确计数
fulajickhz
5 天前
@Cooky 我打不开 404
EvaDan
5 天前
这个涉及倒 GPT 技术底层的一些实现问题,主要是 tokenizer 。也就是把一个词/char 字符转成对应整型的数(并不一定就是一个)来表示。tokenizer 的实现有很多种,目前主流的是 BPE ,你可以去搜搜看。简单来说 字符串里的一个单元 经过 tokenizer 处理后,并不一定就是生成一个 token ,可能是多个,也可能是需要合并其他单元才生成一个。也就说你理解的字数 和最后输入到 GPT 的 token 数不一定不相等。
对应到你这个任务,如果 GPT 需要完成,它首先得对准确的截断出,你想要计算个数的的 token 再进行 decoder (反编码),然后再去计算个数,目前纯粹的数值计算并不是 GPT 的强项,所以效果不好。
不知道巴拉清楚没,哈哈
guoz
5 天前
可能一个是 token 的原因,gpt 思考汉语的语句单元不是单个汉字。英文的话每个单词是先会分开再映射 token 的,估计问题不大。
而且这类问题本身比较像算数,llm 天然好像不擅长。
zictos
5 天前
@MelodYi #4
我:
下面的引号中有几个汉字:
“安全性被认为是很重要的”

ChatGPT:
这个引号中有 7 个汉字。
Cooky
5 天前
@fulajickhz 删了,gpt 发挥不稳定,试了好几次都正常,结果蹦出来一个算错的
whileFalse
4 天前
@EvaDan @guoz 那么如果问他这段文字有多少个 token 它能准确回答吗
我很怀疑,因为 gpt 本质是个高级鹦鹉
guoz
4 天前
@whileFalse token 根据 tokenizer 不同分法是不一样的,所以没有准确答案。
如果说是问某个模型他本身用的 tokenizer 针对某句话的 token 数,可以试试用 tiktokenizer 交叉验证
titokenizer.vercel.ap
fulajickhz
4 天前
@Cooky 现在 AI 都这样,词语接龙

我之前传个 xls 文件,让他们统计下个数,每个 AI 给的都不一样
hutng
4 天前
@maolon
@EvaDan
@guoz
差不多大概明白了,感谢
TimePPT
4 天前
prompt 加点小 trick 就 ok 了

以下为 GPT -4o 测试结果:
User
要求不使用代码解析器,推断如下结果:
有一个字符串,str="十九八七六五四三二",请问 len(str)的返回值是多少

ChatGPT
字符串 str="十九八七六五四三二" 包含了中文数字字符。计算字符串长度时,每个字符都算作一个单位。虽然这些字符在视觉上占用的空间可能与字母或数字不同,但在 Python 中,每个字符无论是什么字符都是一个长度单位。

因此,计算 str 的长度时,每个字符都算作一个字符单位。这个字符串包含 9 个字符:










所以 len(str) 的返回值是 9 。

User
那 str="安全性通常被认为是重要的"呢

ChatGPT
字符串 str="安全性通常被认为是重要的" 包含中文字符和汉字。计算字符串长度时,每个字符都算作一个单位。这个字符串包含 11 个字符:













所以 len(str) 的返回值是 12 。
TimePPT
4 天前
@TimePPT 当然,中间步骤有瑕疵哈哈哈。

不过,如 LS 诸位所说,GenAI 的问题就是 predict next token ,所以他没法直接去做 count ,必须加必要的中间过程辅助拆解任务
shinsekai
4 天前
应该设计一种 Mathematica 与 GPT 混合的模型

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

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

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

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

© 2021 V2EX