C语音高性能中文分词器Linux编译安装,支持PHP,LUA等

发布于:2022-08-24 10:28:13

一、Friso是什么?

Friso 是使用 c 语言开发的一款开源的高性能中文分词器,使用流行的mmseg算法实现。完全基于模块化设计和实现,可以很方便的植入其他程序中, 例如:MySQL,PHP,并且提供了php5, php7, ocaml, lua的插件实现。源码无需修改就能在各种平台下编译使用,加载完 20 万的词条,内存占用稳定为 14.5M.

二、Friso核心功能:

中文分词:mmseg算法 + Friso 独创的优化算法,四种切分模式。

关键字提取:基于textRank算法。

关键短语提取:基于textRank算法。

关键句子提取:基于textRank算法。

三、Linux系统编译安装Friso

1、下载

git clone https://gitee.com/lionsoul/friso  ##gitee,centos下无法编译

git clone https://github.com/lionsoul2014/friso.git  #github,貌似不再更新

wget https://res.biuio.com/uploads/2022/02/21/6212fcc6254f2/6212fcc6254e5.zip  ##本站提供的下载地址,1.6.1版本,centos下本人编译成功,文末附件

下载后将上传至服务器某目录下,如:

/usr/local/friso.1.6.1

2、编译安装

cd /usr/local/friso.1.6.1/src  #注意,切换到src目录下

make

make install

对于64位linux系统,请对lib做软连接

ln -s /usr/lib/libfriso.so /usr/lib64/libfriso.so

3、配置

#编辑配置文件
vi /usr/local/friso.1.6.1/friso.ini

#修改字典路径
friso.lex_dir =dict/UTF-8/  #也可以修改为绝对路径 /usr/local/friso.1.6.1/dict/UTF-8/

#其他配置自行查看

4、测试

#初始化执行
friso -init /usr/local/friso.1.6.1/friso.ini
#之后进入friso命令行
friso>你好中国人民大学
分词结果:
你好 中国 人民 大学 
Done, cost < 0.000000


执行结果如图

四、错误提示

1、提示界面的第一行有个: friso initialized in 0.160000sec, 如果是 friso
initialized in 0.000000sec, 那就一定没有配置好, 也就是 friso 没有正确的加载词库, 确
保 friso.ini 中的 friso.lex_dir 指向正确的词库目录。

2、如果直接使用 WinNT 下的 cmd 运行测试程序,注意要在 friso.ini 中设置编码
为 GBK,也就是 friso.charset = 1, 同时设置词库路径为 GBK 词库路径。

3、"make:No targets specified and no makefile found",请务必的src目录下执行make命令,参考“章节三”

4、“friso: error while loading shared libraries: libfriso.so: cannot open shared object file: No such file or directory”,对于64位Linux未做软连接,参考“章节三”末尾

五、注意事项

1、本文编写时,从gitee上下载的最新版本friso因未知原因无法编译通过,使用附件的1.6.1版本可以编译通过

2、1.6.1下binding/php/模块不兼容php7,本人仅在php5.6下编译成功

3、php7以上使用gitee下“binding/php7/”编译成功,具体过程参考php编译friso过程


⬇⬇⬇⬇⬇⬇⬇⬇⬇friso1.6.1下载⬇⬇⬇⬇⬇⬇⬇⬇

附件:点击下载
阅读 1244