博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
切词框架jcseg,入门
阅读量:5109 次
发布时间:2019-06-13

本文共 3074 字,大约阅读时间需要 10 分钟。

Jcseg是使用Java开发的一款开源的中文分词器, 基于流行的mmseg算法实现,分词准确率高达98.4%, 支持中文人名识别, 同义词匹配, 停止词过滤等。并且提供了最新版本的lucene,solr,elasticsearch分词接口。

1.9.5
org.lionsoul.jcseg
jcseg-core
${jcseg.version}

如何配置jcseg.properties

# jcseg function#-正向最大化匹配数目(建议位于4-7 之间)。jcseg.maxlen=10#-开启中文人名识别(1.7.0 后, 0 关闭, 1 开启)。jcseg.icnname=1#-中英混合词最大中文词数,例如:A 计划 A 后面有两个字“计划”。jcseg.mixcnlen=4#最大的配对标点内容长度。jcseg.pptmaxlen=15#-姓氏修饰词长度,例如:老陈 中的“陈”(通常为1)。jcseg.cnmaxlnadron=1#是否自动过滤停止词(0 关闭, 1 开启)jcseg.clearstopword=1#是否自动中文数字转阿拉伯数字(0 关闭, 1 开启)jcseg.cnnumtoarabic=1#是否自动中文分数转阿拉伯分数(0 关闭, 1 开启)jcseg.cnfratoarabic=0#-姓名成词歧义阕值(不用更改, 除非你知道你改了什么)。jcseg.nsthreshold=1000000#自动保留标点,用于识别负载的英文标点组合词.jcseg.keeppunctuations=@%.&+# about the lexicon#-词库文件前缀(例如: lex-main.lex)。lexicon.prefix=lex#-词库文件后缀(例如: lex-main.lex)。lexicon.suffix=lex#-词库存放路径({jar.dir}/lexicon 为默认路径, 表示词库位于jar 目录下的lexicon 目录下)#从jcseg-1.9.2 开始: 支持多目录加载词库.不同的路径使用';'隔开就可以了.#例如: lexicon.path=/java/jcseg/lex1;/java/jcseg/lex2lexicon.path=#-是否词库更新自动加载(1 开启, 0 关闭)lexicon.autoload=1#-词库更新轮询时间(单位: 秒)lexicon.polltime=120# lexicon load#载入词库时是否载入词条的词性。(0 关闭, 1 开启)jcseg.loadpos=0#载入词库时是否载入词条的拼音(1.7.0 后, 0 关闭, 1 开启)。jcseg.loadpinyin=1#载入词库时是否载入词条的同义词(0 关闭, 1 开启)。jcseg.loadsyn=0#是否保留Jcseg 不是别的字符.(1 保留, 0 关闭)jcseg.keepunregword=1#是否二次切分复杂的英文切分结果. (1 开启, 0 关闭)jcseg.ensencondseg = 0#最小二次切分长度. (建议大于1)jcseg.stokenminlen = 4

 

怎么初始化jcseg

static ISegment seg;    static{        JcsegTaskConfig config = null;// new JcsegTaskConfig();        final File jcseg_config_file = FileMgr.findFile(InformationService.class,"jcseg.properties");        if(jcseg_config_file != null && jcseg_config_file.exists()){            config = new JcsegTaskConfig(jcseg_config_file.getAbsolutePath());        }else{            InformationService.LOG.info("Could Not Found jcseq.properties ,Use Default!!");            config = new JcsegTaskConfig();        }        String webRootpath=JavaPath.getAutoRootPath()+"VitalData/info/lexicon";        String[] lexPath = {webRootpath};        config.setLexiconPath(lexPath);        ADictionary dic = DictionaryFactory.createDefaultDictionary(config);        try {            InformationService.seg =SegmentFactory.createJcseg(JcsegTaskConfig.COMPLEX_MODE, config, dic);        } catch (JcsegException e) {            e.printStackTrace();        }    }

使用

public List
segment(final String str) throws IOException, JcsegException { final List
hashSet = new ArrayList
(); IWord word = null; final long _start = System.nanoTime(); int counter = 0; seg.reset(new StringReader(str)); while ( (word = seg.next()) != null ) { if(word.getValue().length()>=2){ hashSet.add(word.getValue()); counter++; } word = null; } final long e = System.nanoTime(); return hashSet; }

 

转载于:https://www.cnblogs.com/kangniuniu/p/11138789.html

你可能感兴趣的文章
[转]: 视图和表的区别和联系
查看>>
Regular Experssion
查看>>
图论例题1——NOIP2015信息传递
查看>>
uCOS-II中的任务切换-图解多种任务调度时机与问题
查看>>
CocoaPods的安装和使用那些事(Xcode 7.2,iOS 9.2,Swift)
查看>>
Android 官方新手指导教程
查看>>
幸运转盘v1.0 【附视频】我的Android原创处女作,请支持!
查看>>
UseIIS
查看>>
数据库连接的三层架构
查看>>
集合体系
查看>>
vi命令提示:Terminal too wide
查看>>
引用 移植Linux到s3c2410上
查看>>
人与人之间的差距是从大学开始的
查看>>
MySQL5.7开多实例指导
查看>>
hdu 1029 Ignatius ans the Princess IV
查看>>
JAVA学习札记
查看>>
[UOJ] #78. 二分图最大匹配
查看>>
[51nod] 1199 Money out of Thin Air #线段树+DFS序
查看>>
poj1201 查分约束系统
查看>>
简明Linux命令行笔记:chmod
查看>>