1
回答
有没有办法在代码中指定jcseg词库或配置文件位置?
极速云服务器,低至1.04元/天>>>   

@狮子的魂 你好,想跟你请教个问题:

我想把jcseg嵌入到一个Android App里。这次用Java版之前用C++版的体验类似,配置比较头痛。默认的配置文件好像是把lexicon指向/java/JavaSE/jcseg/lexicon,有没有办法在代码里动态修改呢?或者在代码中指定配置文件jcseg.properties的位置。

举报
黄冠能
发帖于4年前 1回/600阅
共有1个答案 最后回答: 4年前


可以的, 从1.8.x开始就支持了. 开发帮助文档有详细的说明.

1. 指定jcseg.properties初始化JcsegTaskConfig

JcsegTaskConfig config = new JcsegTaskConfig("/java/JavaSE/jcseg/jcseg.properties");
2. 调用JcsegTaskConfig#resetFromPropertyFile(file);
JcsegTaskConfig config = new JcsegTaskConfig();
config.resetFromPropertyFile("/java/JavaSE/jcseg/jcseg.properties");


完整的demo:

JcsegTaskConfig config = new JcsegTaskConfig();
//reset the options from a property file.
config.resetFromPropertyFile("/java/JavaSE/jcseg/jcseg.properties");
		
ADictionary dic = DictionaryFactory.createDefaultDictionary(config);
		
//two ways to reload lexicons
//for ( String lpath : config.getLexiconPath() )
//	dic.loadFromLexiconDirectory(lpath);
//dic.loadFromLexiconFile("/java/lex-main.lex");
seg = SegmentFactory.createJcseg(JcsegTaskConfig.COMPLEX_MODE, new Object[]{config, dic});



同时也支持自定义指定加载词库..


顶部