关于friso中文分词组建:
欢迎报告你在使用该软件中遇到的各种问题到下面的电子邮件.
作者:陈鑫
电子邮件:chenxin619315@gmail.com
更多关于:http://code.google.com/p/friso
Java版本:http://code.google.com/p/jcseg
PHP版本:http://code.google.com/p/robbe
* How to Install
cd src
make
sudo make install
* How to Run
friso -lex {friso lex path}
#for example:
#the configuration file is in the $(HOME) dictionary name friso.ini
#try:
friso -init $(HOME)/friso.ini
* How to Uninstall
sudo rm /usr/local/bin/friso
一。friso中文分词器
friso是使用c语言开发的一个中文分词器,使用流行的mmseg算法实现。完全基于模块化设计和实现,可以很方便的植入到其他程序中,例如:MySQL,PHP等。
1。目前最高版本:friso 0.1,只支持UTF-8编码。【源码无需修改就能在各种平台下编译使用,加载完20万的词条,内存占用稳定为14M。】。
2。mmseg四种过滤算法,分词准确率达到了98.41%。
3。支持自定义词库。在dict文件夹下,可以随便添加/删除/更改词库和词库词条,并且对词库进行了分类。
4。词库使用了friso的Java版本jcseg的简化词库。
5。支持中英混合词的识别。例如:c语言,IC卡。
7。很好的英文支持,电子邮件,网址,小数,分数,百分数。
8。支持阿拉伯数字基本单字单位的识别,例如2012年,5吨,120斤。
9。自动英文圆角/半角,大写/小写转换。
附件目录结构说明
core - friso核心目录
└——dict ----- friso词库配置文件和所有词库文件。
└——src ----- friso c源程序。
└——friso.ini ----- friso配置文件【如何配置friso.ini】。
└——Install ----- 安装说明文件。
└——Run ----- 测试程序运行说明文件。
└——Uninstall ----- 卸载说明文件。
lib - friso二进制目录
└——win32 ----- win32的dll和lib文件。
└——linux ----- linux下的so和a文件。
ReadMe.txt ----- friso说明文件
二。分词速度
测试环境:2.8GHZ/2G/Ubuntu
简单模式:3.7M/秒
复杂模式:1.8M/秒
三。分词结果:
1.文本1:
歧义去除:研究生命起源,friso是使用c语言开发的高性能中文分词组件,混合词: 做B超检查身体,本质是X射线,单位和全角: 2009年8月6日开始大学之旅,英文数字: bug report chenxin619315@gmail.com or visit http://code.google.com/p/friso, 15% of the day's time i will be there.
friso分词结果:
歧义 去除 研究 生命 起源 friso 是 使用 c语言 开发 的 高性能 中文分词 组件 混合 词 做 b超 检查 身体 本质 是 x射线 单位 和 全角 2009年 8月 6日 开始 大学 之旅 英文 数字 bug report chenxin619315@gmail.com or visit http://code.google.com/p/friso 15% of the day's time i will be there
2.文本2:
叔叔亲了我妈妈也亲了我
friso分词结果:
叔叔 亲了 我 妈妈 也 亲了 我
四。使用方法
1.分词测试:
请按照附件中的Install说明(linux)安装friso:
运行如下命令来启动friso测试程序:
//run friso test program.
friso -init friso.ini文件地址
//例如我的friso.ini在/c/friso/文件夹中:
//请在friso.ini中正确的填写friso.lex_dir(词库配置文件friso.lex.ini的目录地址,必须以“/”结尾)
friso -init /c/friso/friso.ini
2.二次开发使用:
具体请参考tst-friso.c文件:
friso_t friso;
friso_task_t task;
//1.实例化一个friso分词实例。
//__path__为friso.ini的地址。
friso = friso_new_from_ifile(__path__);
//2.创建一个分词任务:
task = friso_new_task();
//3.设置分词任务的分词文本:
friso_set_text( task, "要被分词的文本");
//4.分词主程序:
while ( ( friso_next( friso, friso->mode, task ) ) != NULL ) {
//printf("%s[%d,%d]/ ", task->hits->word, task->hits->type, task->hits->offset );
printf("%s/ ", task->hits->word );
if ( task->hits->type == __FRISO_NEW_WORDS__ ) {
FRISO_FREE( task->hits->word );//释放组合词的内存。
}
}
//5.释放friso和分词任务:
friso_free_task( task );
friso_free( friso );
五。friso动态:
friso的下一个版本:
1.加入中文数字识别以及其自动转换为阿拉伯数字的功能。
2.加入同义词功能。
3.加入中文人名识别。
没有合适的资源?快使用搜索试试~ 我知道了~
word分词器java源码-friso:中文分词器
共41个文件
lex:21个
c:13个
h:2个
需积分: 6 3 下载量 79 浏览量
2021-06-05
22:14:49
上传
评论
收藏 793KB ZIP 举报
温馨提示
word分词器java源码
资源详情
资源评论
资源推荐
收起资源包目录
friso-master.zip (41个子文件)
friso-master
dict
lex-dname-1.lex 859B
lex-chars.lex 155KB
friso.lex.ini 847B
lex-lna.lex 144B
lex-company.lex 2KB
lex-sname.lex 844B
lex-org.lex 264B
lex-dname-2.lex 859B
lex-admin.lex 729B
lex-lname.lex 2KB
lex-net.lex 265B
lex-flname.lex 144B
lex-festival.lex 3KB
lex-en-pun.lex 90B
lex-mixed.lex 764B
lex-nation.lex 738B
lex-cn-mz.lex 3KB
lex-main.lex 2.32MB
lex-cn-place.lex 40KB
lex-units.lex 186B
lex-lang.lex 313B
lex-food.lex 180B
src
friso_array.c 5KB
friso_API.h 11KB
friso_lexicon.c 9KB
friso_link.c 6KB
friso_string.c 13KB
friso.h 8KB
Makefile 2KB
fmem.c 2KB
friso.c 25KB
friso_hash.c 6KB
ReadMe.txt 4KB
friso.ini 844B
example
tst-lex.c 3KB
tst-link.c 1KB
tst-array.c 2KB
tst-friso.c 3KB
tst-hash.c 1KB
tst-string.c 1KB
license.txt 19B
共 41 条
- 1
weixin_38739044
- 粉丝: 2
- 资源: 953
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0