南阳seo网站价格,账户竞价托管费用,wordpress设置自定义主页,入侵织梦网站后台目录 一、背景二、安装CygWin三、编译Friso四、运行Friso五、Friso分词效果测试 一、背景
最近在做RedisSearch的中文分词效果调研#xff0c;底层的中文分词插件使用的就是Friso#xff0c;目前手里的Linux环境上yum镜像仓库有问题导致没法安装gcc#xff0c;又急于验证Fr… 目录 一、背景二、安装CygWin三、编译Friso四、运行Friso五、Friso分词效果测试 一、背景
最近在做RedisSearch的中文分词效果调研底层的中文分词插件使用的就是Friso目前手里的Linux环境上yum镜像仓库有问题导致没法安装gcc又急于验证Friso分词效果便根据仓库说明使用CygWin进行编译。 关于Friso Friso 是使用 c 语言开发的一款开源的高性能中文分词器使用流行的mmseg算法实现。完全基于模块化设计和实现可以很方便的植入其他程序中 例如MySQLPHP并且提供了php5, php7, ocaml, lua的插件实现。源码无需修改就能在各种平台下编译使用加载完 20万的词条UTF-8字典仅为2.53MB内存占用稳定为 14.5M. 二、安装CygWin 关于CygWin Cygwin 是一个在 Windows 上运行的类 Unix 环境。它提供了一个大型的 GNU 和 Open Source 工具集合这些工具可以在 Windows 上运行并且提供了类似于 Linux 的功能。Cygwin 还包括一个动态链接库cygwin1.dll它为程序提供了一个类似于 POSIX 的 API使得在 Windows 上可以运行许多 Unix 程序。主要功能包括 提供 Unix 风格的 shell 和命令行工具如 bash、grep、awk、sed 等。支持编译和运行 Unix 程序通过提供 GCC 编译器和其他开发工具可以在 Windows 上编译和运行 Unix 程序。与 Windows 系统的集成可以访问 Windows 文件系统、注册表等资源。 Cygwin 适用于需要在 Windows 环境中使用 Unix 工具和脚本的开发者和系统管理员。 注 阿里CygWin镜像仓库说明参见 https://developer.aliyun.com/mirror/cygwin 下载地址https://cygwin.com/setup-x86_64.exe?spma2c6h.13651104.d-4008.4.135c4a58iCGiVhfilesetup-x86_64.exe
下载成功后运行安装文件一直下一步选择安装目录、软件包存储目录、选择阿里的镜像地址
选择需要安装的软件gcc-core、make
可先选择 视图完整然后搜索需要的软件包如gcc然后点击右侧箭头选择需要安装的版本
之后一直下一步直到安装完成即可。 安装完成后再次点击安装文件亦可通过该方法继续安装新的软件一直下一步可查看所有已安装的软件如下图 之后桌面出现如下图标点击即可进入CygWin命令行环境
三、编译Friso
1从Friso的Github仓库的Tag列表中下载最新版本 https://github.com/lionsoul2014/friso/releases/tag/v1.6.4-release
2解压后如下图
3进入src目录删除原有的 Makefile, 更改 Makefile.cygwin 为 Makefile注意删除Makefile中的--mno-cygwin选项否则后续执行make编译报错。
4打开 cygwin 的终端cd 到 src 目录运行make命令:
luohqmyorg /cygdrive/e/RedisStack/Search/friso-1.6.4-release-win/src
$ make
gcc -O2 -Wall -shared friso.c friso_array.c friso_hash.c friso_lexicon.c friso_link.c friso_string.c friso_ctype.c friso_UTF8.c friso_GBK.c -o friso.dll -Wl,--output-def,friso.def,--out-implib,friso.lib
gcc -O2 -Wall -c tst-friso.c
gcc tst-friso.o -o ./friso -L. -lfriso四、运行Friso
退出到src的上一层目录即Friso的根目录执行命令
./src/friso -init ./friso.inifriso.ini即对应friso的配置文件可根据需要进行调整。
Friso的具体使用示例如下
luohqmyorg /cygdrive/e/RedisStack/Search/friso-1.6.4-release-win
$ ./src/friso -init ./friso.ini
Initialized in 0.109000sec
Mode: Complex
-Version: 1.6.4 (UTF-8)
---------------------------------------------------------------
| Friso - a Chinese word segmentation writen by c. |
| bug report email - chenxin619315gmail.com. |
| or: visit https://github.com/lionsoul2014/friso. |
| java version for https://github.com/lionsoul2014/jcseg |
| type quit to exit the program. |
---------------------------------------------------------------
friso 你好中国
分词结果:
你好 中国
Done, cost 0.000000sec
friso
五、Friso分词效果测试
# default mode for friso.
# 1 : simple mode - simply maxmum matching algorithm.
# 2 : complex mode - four rules of mmseg alogrithm.
# 3 : detect mode - only return the words that the do exists in the lexicon
friso.mode 2切换不同friso.mode进行分词具体结果见下表
文档内容friso.mode 1分词结果friso.mode 2分词结果friso.mode 3分词结果234234234234234234问题2问题 2问题 2问题以色列国防部长被解职以色列 国防部长 被 解职以色列 国防部长 被 解职以色列 国防部长 被 解职以色列国防部部长被解职以色列 国防部 军事部 防卫厅 部长 被 解职以色列 国防部 军事部 防卫厅 部长 被 解职以色列 国防部 军事部 防卫厅 部长 被 解职深圳又叫深圳市深圳 又叫 深圳市深圳 又叫 深圳市深圳 又叫 深圳市