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