simple icon indicating copy to clipboard operation
simple copied to clipboard

是否可以打个patch支持分词器的trigrams功能?

Open Is213Well opened this issue 10 months ago • 6 comments

我需要在当前分词器的基础上添加三分词的逻辑,是否可以打个patch?

Is213Well avatar Apr 30 '25 03:04 Is213Well

欢迎pr

wangfenjin avatar Apr 30 '25 04:04 wangfenjin

https://github.com/leiless/sqlite3-ngram

@leiless 有想法把你这个库的逻辑合并到这里来吗?不过我还么想清楚这个功能和结巴分词比有什么优势,以及怎么和 pinyin 功能结合

wangfenjin avatar May 14 '25 12:05 wangfenjin

可以的,但最近工作比较忙,可能无暇顾及到这个feature了。

另外其实 sqlite3 支持指定多个 tokenizer,所以也可以不需要合并到这里面?直接 integrate ngram 也可以? 我可能感觉 ngram 和 simple 的出发点不同: ngram 对于通用语言的分词效果会比默认的 unicode 要好很多。 simple 可能对于 中英文 效果会好很多。

所以我理解用户的使用意图可能是尝试引入 ngram 来强化对其他语言的搜索匹配召回效果?

leiless avatar May 15 '25 03:05 leiless

嗯,我感觉确实合起来功能上不搭

wangfenjin avatar May 15 '25 03:05 wangfenjin

嗯,我之前尝试在simple中加入alpha、digit、punct的trigram逻辑,但是这会对拼音搜索有影响,了解到sqlite3支持指定多个tokenize的话,就可以使用上面提到的n-trigram了。(初衷是希望在支持拼音搜索情况下,另外支持对英文、数字、符号的搜索,trigram能力类似postregSql中的trigram)

Is213Well avatar May 15 '25 09:05 Is213Well

https://www.sqlite.org/fts5.html#the_trigram_tokenizer

可以看看这个,sqlite3 FTS5 在某个版本支持了 trigram tokenizer。

leiless avatar May 15 '25 09:05 leiless