分词器¶
目前,Lance已内置支持Jieba和Lindera分词器,但并未自带语言模型。 如需进行分词处理,您需自行下载语言模型。 可通过设置环境变量LANCE_LANGUAGE_MODEL_HOME来指定语言模型的存储路径。 若未设置该变量,默认路径为
${system data directory}/lance/language_models
它还支持配置用户词典,方便用户在不重新训练语言模型的情况下扩展自己的词典。
Jieba的语言模型¶
下载模型¶
python -m lance.download jieba
默认情况下,语言模型存储在${LANCE_LANGUAGE_MODEL_HOME}/jieba/default中。
使用模型¶
用户词典¶
在当前模型的根目录下创建一个名为config.json的文件。
{
"main": "dict.txt",
"users": ["path/to/user/dict.txt"]
}
"main"字段是可选的。如果未填写,默认为"dict.txt"。
"users"是用户词典的路径。关于用户词典的格式,请参考https://github.com/messense/jieba-rs/blob/main/src/data/dict.txt。
Lindera的语言模型¶
下载模型¶
python -m lance.download lindera -l [ipadic|ko-dic|unidic]
请注意,Lindera的语言模型需要编译。请先安装lindera-cli。具体步骤请参考https://github.com/lindera/lindera/tree/main/lindera-cli。
语言模型默认存储在 ${LANCE_LANGUAGE_MODEL_HOME}/lindera/[ipadic|ko-dic|unidic] 目录下
使用模型¶
ds.create_scalar_index("text", "INVERTED", base_tokenizer="lindera/ipadic")
用户词典¶
在当前模型的根目录下创建一个名为config.json的文件。
"main"字段是可选的。如果未填写,默认为"main"目录。
"user"是用户词典的路径。用户词典可以作为CSV文件传递,也可以作为由lindera-cli编译的二进制文件传递。
如果用户词典是二进制格式,"user_kind"字段可以留空。如果是CSV格式,则需要指定语言模型的类型。
创建您自己的语言模型¶
将您的语言模型放入LANCE_LANGUAGE_MODEL_HOME中。