Friso 中文分词器使用教程
1. 项目介绍
Friso 是一款使用 C 语言开发的开源高性能中文分词器,基于 MMSEG 算法实现。其模块化设计使得它可以轻松嵌入到其他程序中,如 MySQL、PHP 等。Friso 支持 UTF-8 和 GBK 编码,并提供 PHP5、PHP7、OCaml、Lua 等语言的插件。
2. 项目快速启动
安装
Linux:
-
克隆项目到本地:
git clone https://github.com/lionsoul2014/friso.git
-
进入项目根目录,编译安装:
cd friso make sudo make install
备注:如果是 64 位系统,请将
/usr/lib/libfriso.so
拷贝到/usr/lib64/
。
Windows:
- 使用 Visual Studio 编译得到 DLL 和 LIB 文件。
- 或者使用 Cygwin 从源码编译。
配置
找到 friso.ini
配置文件,使用文本编辑器打开并按照以下示例进行配置:
friso.charset = 0
friso.lex_dir = ./vendors/dict/UTF-8/
friso.max_len = 5
friso.r_name = 1
friso.mix_len = 2
friso.lna_len = 1
friso.add_syn = 1
friso.clr_stw = 0
friso.keep_urec = 0
friso.spx_out = 0
friso.en_sseg = 1
friso.st_minl = 2
friso.kpuncs = @%.#&+
friso.nthreshold = 2000000
friso.mode = 2
使用
-
进入项目根目录,运行测试程序:
./src/friso -init ./friso.ini
-
在终端界面输入文本,即可看到分词结果。
3. 应用案例和最佳实践
分词案例
输入文本:研究生命起源,混合词: 做B超检查身体,x射线本质是什么,今天去奇都KTV唱卡拉OK去,哆啦A梦是一个动漫中的主角,单位和全角: 2009年8月6日开始大学之旅,岳阳今天的气温为38.6℃,也就是101.48℉,英文数字: bug report example@gmail.com or visit http://code.google.com/p/jcseg, we all admire the hacker spirit!特殊数字: ① ⑩ ⑽ ㈩。
分词结果:歧义 和 同义词 : 研究 琢磨 研讨 钻研 生命 起源 , 混合词 : 做 b超 检查 身体 , x射线 本质 是 什么 , 今天 去 奇都KTV 唱 卡拉OK 去 , 哆啦A梦 是 一个 动漫 中 的 主角 , 单位 和 全角 : 2009年 8月 6日 开始 大学 之旅 , 岳阳 今天 的 气温 为 38.6℃ , 也就是 101.48℉ , 英文 英语 数字 : bug report example gmail com example@gmail.com or visit http : / / code google com code.google.com / p / jcseg , we all admire appreciate like love enjoy the hacker spirit mind ! 特殊 数字 : 。
最佳实践
- 在进行大规模文本处理时,建议预先加载并编译词库,以提高处理速度。
- 根据应用场景,合理选择分词模式,如简易模式、复杂模式或检测模式。
- 利用 Friso 提供的插件,将分词功能集成到其他应用中,如搜索引擎、内容管理系统等。
4. 典型生态项目
- PHP 分词插件:将 Friso 集成到 PHP 环境,为 PHP 应用提供分词功能。
- Sphinx 分词插件:将 Friso 集成到 Sphinx 搜索引擎,提高中文搜索的准确性。
- OCaml、Lua 分词插件:为 OCaml 和 Lua 语言提供分词支持,拓宽 Friso 的应用范围。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考