IKAnalyzer 添加扩展词库和自定义词
原文链接http://blog.csdn.net/whzhaochao/article/details/50130605
IKanalyzer分词器
IK分词器源码位置 http://git.oschina.net/wltea/IK-Analyzer-2012FF
IKanalyzer源码基本配置
如图所示是IKanlyzer加载默认配置的路径
项目中配置扩展词库
如图所示,当我们导入Ikanlyzer jar包后,使用扩展词库只需要在项目的src根目录下建立IKAnalyzer.cfg.xml文件,文件中配置扩展词库和停用词库的路径,具体配置如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>IK Analyzer 扩展配置</comment>
<!--用户可以在这里配置自己的扩展字典 -->
<entry key="ext_dict">com/zhaochao/ikconf/ext.dic;com/zhaochao/ikconf/mine.dic;</entry>
<!--用户可以在这里配置自己的扩展停止词字典 -->
<entry key="ext_stopwords">/com/zhaochao/ikconf/stopword.dic</entry>
</properties>
测试结果
当我们不添加任何自定义词时分词结果如下图所示:
java|是|一个|好|语言|从到|2015年|12月|1日|它|已经有|20|年的历史|了|
当我们添加如下自定义词时
分词结果为:
java|是|一个好语言|从到|2015年12月1日|它|已经有|20年的历史了|
测试代码:
public static void main(String[] args) throws IOException {
String s = "JAVA是一个好语言,从到2015年12月1日它已经有20年的历史了";
queryWords(s);
}
public static void queryWords(String query) throws IOException {
Configuration cfg = DefaultConfig.getInstance();
System.out.println(cfg.getMainDictionary()); // 系统默认词库
System.out.println(cfg.getQuantifierDicionary());
List<String> list = new ArrayList<String>();
StringReader input = new StringReader(query.trim());
IKSegmenter ikSeg = new IKSegmenter(input, true); // true 用智能分词 ,false细粒度
for (Lexeme lexeme = ikSeg.next(); lexeme != null; lexeme = ikSeg.next()) {
System.out.print(lexeme.getLexemeText()+"|");
}
}
IKAnalyzer 添加扩展词库和自定义词的更多相关文章
- QQ五笔词库转拼音词库小工具
参考文章<用QQ拼音打五笔>中提供的信息而制作的小工具,功能是将QQ五笔导出词库文件转换为QQ拼音自定义短语使用的.ini格式文件,这样就可以使用QQ拼音进行五笔拼音混输了. 混输效果不错 ...
- JAVA 中配置IKAnalyzer扩展词库和停止词库
1.后缀名.dic的词典文件,必须如使用文档里所说的 无BOM的UTF-8编码保存的文件.如果不确定什么是 无BOM的UTF-8编码,最简单的方式就是 用Notepad++编辑器打开,Encoding ...
- php扩展trie_filter: 利用词库, 过滤敏感词
1. 先安装libiconv# wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz# tar -zxvf libiconv- ...
- robot framework笔记(三):扩展SeleniumLibrary库 (自定义关键字)
(一)自定义和浏览器相关的关键字 以下代码GitHub 版本库地址: https://github.com/blairwind/blog_rf SeleniumLibrary的扩展文档中提供了3种增加 ...
- 【自定义IK词典】Elasticsearch之中文分词器插件es-ik的自定义词库
Elasticsearch之中文分词器插件es-ik 针对一些特殊的词语在分词的时候也需要能够识别 有人会问,那么,例如: 如果我想根据自己的本家姓氏来查询,如zhouls,姓氏“周”. 如 ...
- (转载)Rime输入法—鼠须管(Squirrel)词库添加及配置
为什么用Rime 13年底的时候,日本爆出百度的日本版本输入法的问题,要求政府人员停用,没当回事,反正我没用,当然了,有关搜狗和用户隐私有关的问题就一直没有中断过,也没太在意.但,前几天McAfee爆 ...
- 项目集成自动分词系统ansj,实现自定义词库
一,分词系统地址:https://github.com/NLPchina/ansj_seg 二,为什么选择ansj? 1.项目需求: 我们平台要做手机售后的舆情分析,即对购买手机的用户的评论进行分析. ...
- solr6.3.0升级与IK动态词库自动加载
摘要:对于中文的搜索来说,词库系统是一个很比较重要的模块,本篇以IK分词器为例子,介绍如何让分词器从缓存或文件系统中自动按照一定频次进行加载扩展词库 Lucene.Solr或ElasticStack如 ...
- 深蓝词库转换2.5发布——支持微软五笔,支持Linux和macOS和更多命令行功能
最近利用晚上的时间,对很久没有新版本发布的深蓝词库转换进行了版本升级.本次升级主要包含的功能包括: 一.支持Win10自带的微软五笔输入法用户自定义短语的导入导出. 1.在转换输入法词库列表中选择“W ...
随机推荐
- JavaScript Dom基础-9-Dom查找方法; 设置DOM元素的样式; innerHTML属性的应用; className属性的应用; DOM元素上添加删除获取属性;
JavaScript Dom基础 学习目标 1.掌握基本的Dom查找方法 domcument.getElementById() Domcument.getElementBy TagName() 2.掌 ...
- SQL EXISTS
一直对exists的用法不清楚,本次学习exists,并作出相应学习总结. 1.创造测试环境SYS@ora122>create table a(id )); SYS@ora122>inse ...
- paddle——docker实践
Docker image阅读:https://github.com/PaddlePaddle/book/blob/develop/README.cn.md docker run -d -p 8888: ...
- APK模式下,epg版本升级,需要做同步
采用安卓盒子(APK模式),需要在管理节点做一个同步: 同步目录: /var/www/html/upgradestb 从管理节点向三台业务节点同步: 2018/01/19 conf/server.co ...
- [LeetCode&Python] Problem 492. Construct the Rectangle
For a web developer, it is very important to know how to design a web page's size. So, given a speci ...
- leetcode227. Basic CalculatorII
这道题是只有四则运算但是没有括号的,因此可以利用stack来存储的,并且每次使得存储的值与符号有对应的关系,最后在栈中只剩下可以利用加法进行处理的数的,注意在i=n-1的时候到达最后的部分也是需要把数 ...
- 20155219 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
一.实验内容及步骤 1.使用JDK编译.运行简单的java程序 先在命令行中按老师要求输入,之后编译运行,如下图. 具体代码如下: package src.shiyan1; import java.u ...
- django JsonResponse和HttpResponse的在后端和前端区别
JsonResponse和HttpResponse的区别 1.from django.http import JsonResponse return JsonResponse('例子') 2.impo ...
- python------模块定义、导入、优化 ------time模块
1.模块介绍 2.time & datetime 3.random 4.os 5.sys 6.shutil 7.json & pickle 8.shelve 9.xml处理 10.ya ...
- openresty 一些可选的模板引擎
以下为一些 openresty 可选的模板引擎,方便使用 lemplate (https://github.com/openresty/lemplate) lua-resty-tags (https: ...