GSE.CutAll not work well for some Chinese text

How to reproduce this bug?

query Get {
    Get {
        NewspaperArticle_V2(
            limit: 10000
            nearVector: {
                vector: [... ]
            }
            where: {
                operator: Or
                operands: [{ path: ["content"], operator: ContainsAll, valueText: ["黄海峰","刘捷"] }]
            }
        ) {
            title
            articleId
            content
        }
    }
}

In the some case, when the GSE.CutAll will not generate correctly tokens from input the Chinese text.
For example:
source: “本报讯(首席记者 赵芳洲)平安杭州建设20周年大会昨日下午召开。省委副书记、市委书记刘捷”

result in
GSE.CutAll: [本报 本报讯 ( 首席 首席记者 记者 赵 芳 洲 ) 平安 杭州 建设 2 0 周年 大会 昨日 下午 召开 。 省委 副 书记 、 市委 市委书记 书记 刘 捷]
// use DAG and HMM GSE.Cut(text, true): [本报讯 ( 首席记者 赵芳洲 ) 平安 杭州 建设 20 周年 大会 昨日 下午 召开 。 省委 副 书记 、 市委书记 刘捷]
//cut search use hmm: GSE.CutSearch(text, true): [本报 本报讯 ( 首席 记者 首席记者 赵芳洲 ) 平安 杭州 建设 20 周年 大会 昨日 下午 召开 。 省委 副 书记 、 市委 书记 市委书记 刘捷]

Some Chinese person name and others has wrong tokenized: ‘刘 捷’ should be ‘刘捷’, ‘赵 芳 洲’ should be ‘赵芳洲’, ‘2 0’ should be ‘20’ (there is a unnecessary space between the two chars)

Even in go-ego/gse 's example can see the difference,

‘imax’ is tokenized ‘i m a x’ in CutAll method, that’s not correct.

What is the expected behavior?

use DAG and HMM GSE.Cut(text, true) or cut search use hmm: GSE.CutSearch(text, true) to generate tokens

What is the actual behavior?

wrong tokens generate by GSE.CutAll method

Supporting information

No response

Server Version

1.27.0

Weaviate Setup

Single Node