为什么不能只靠“句号”判断断句?

我们人类在读句子的时候,会综合上下文和标点后的格式判断是不是一句话结束了。比如:

  • 我今天去了学校。老师给我布置了作业。 → 这很明显是两句话。
  • 但下面这个例子就有歧义了:
她叫李.小明是个学生。

🧠 举个实际的错误切句例子

句子:

她叫李.小明是个学生。

我们想表达的是:

“她叫李小明,是个学生。”

但中间因为错加了一个 句号(“李.”),变成了:

“她叫李。” + “小明是个学生。”

这就是只靠句号就断句时会犯的错。

tokenizer 视角:

BERT 分词器在遇到句号时,并不知道它是不是断句符,比如:

token idxtoken原始字符
0
1
2
3..(句号)
4
5
6

这时候你如果只看到 token == '.' 就断句,那么它就会把“李.”当成一句话结束,这是不对的。


✅ 正确做法是:不仅判断句号,还要判断后面有没有空格

比如这个逻辑判断:

token_offsets[i + 1][0] - token_offsets[i][1] > 0

就可以判断出:

  • 如果 . 后面紧跟着“小明” → 不断句
  • 如果 . 后面是空格、换行 → 断句

🔚 总结一句话:

如果只用“是否是句号”来断句,会误伤一些“不是句子结束”的句号(比如“李.”)。加上后面有没有空格或换行这个判断,可以更准确识别真正的断句位置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值