Ikanalyzer分词器动态自定义词库的方法

Ikanalyzer分词器动态自定义词库的方法

ID:38067948

大小:35.00 KB

页数:5页

时间:2019-05-25

Ikanalyzer分词器动态自定义词库的方法_第1页
Ikanalyzer分词器动态自定义词库的方法_第2页
Ikanalyzer分词器动态自定义词库的方法_第3页
Ikanalyzer分词器动态自定义词库的方法_第4页
Ikanalyzer分词器动态自定义词库的方法_第5页
资源描述:

《Ikanalyzer分词器动态自定义词库的方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Ikanalyzer分词器动态自定义词库的方法IKanalyzer可通过配置Ikanalyzer.cfg.xml进行自定义词库,但有时需要在程序中根据不同的文章动态调用不同的词库进行分词,这就需要自定义Configuration类来实现。方法如下:首先,拷贝Ikanalyzer源码中的DefaultConfig.java,改为MyConfiguration.java,然后做如下改写:publicclassMyConfigurationimplementsConfiguration{//懒汉单例privatestaticfinalConfigu

2、rationCFG=newMyConfiguration();/**分词器默认字典路径*/privateStringPATH_DIC_MAIN="org/wltea/analyzer/dic/main2012.dic";   //需要把staticfinal去掉privateString staticfinalPATH_DIC_QUANTIFIER="org/wltea/analyzer/dic/quantifier.dic";  /**分词器配置文件路径*/privatestaticfinalStringFILE_NAME="IKAnaly

3、zer.cfg.xml";//保留静态自定义词库的功能//配置属性——扩展字典privatestaticfinalStringEXT_DICT="ext_dict";//配置属性——扩展停止词典privatestaticfinalStringEXT_STOP="ext_stopwords";privatePropertiesprops;/**是否使用smart方式分词*/privatebooleanuseSmart;/***返回单例*@returnConfiguration单例*/publicstaticConfigurationgetIns

4、tance(){returnCFG;}/**初始化配置文件*/MyConfiguration(){props=newProperties();InputStreaminput=this.getClass().getClassLoader().getResourceAsStream(FILE_NAME);if(input!=null){try{props.loadFromXML(input);}catch(InvalidPropertiesFormatExceptione){e.printStackTrace();}catch(IOExcept

5、ione){e.printStackTrace();}}}/***返回useSmart标志位*useSmart=true,分词器使用智能切分策略,=false则使用细粒度切分*@returnuseSmart*/publicbooleanuseSmart(){returnuseSmart;}/***设置useSmart标志位*useSmart=true,分词器使用智能切分策略,=false则使用细粒度切分*@paramuseSmart*/publicvoidsetUseSmart(booleanuseSmart){this.useSmart=u

6、seSmart;}/***新加函数:设置主词典路径**@returnString主词典路径*/publicvoidsetMainDictionary(Stringpath){this.PATH_DIC_MAIN=path;}/***获取主词典路径**@returnString主词典路径*/publicStringgetMainDictionary(){returnPATH_DIC_MAIN;}/***获取量词词典路径*@returnString量词词典路径*/publicStringgetQuantifierDicionary(){retur

7、nPATH_DIC_QUANTIFIER;}/***获取扩展字典配置路径*@returnList相对类加载器的路径*/publicListgetExtDictionarys(){ListextDictFiles=newArrayList(2);StringextDictCfg=props.getProperty(EXT_DICT);if(extDictCfg!=null){//使用;分割多个扩展字典配置String[]filePaths=extDictCfg.split(";")

8、;if(filePaths!=null){for(StringfilePath:filePaths){if(filePath!=null&&!"".equals(f

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。