Lucene学习——IKAnalyzer中文分词(一)
一、环境
1、平台:MyEclipse8.5/JDK1.5
2、开源框架:Lucene3.6.1/IKAnalyzer2012
3、目的:测试IKAnalyzer的分词效果
二、开发调试
1、下载框架
1)IKAnalyzer:http://code.google.com/p/ik-analyzer/downloads/list
2)Lucene:http://www.apache.org/dist/lucene/java/3.6.1/
2、添加依赖的库
1)添加Lucene:lucene-core-3.6.1.jar
2)添加IKAnalyzer:IKAnalyzer2012.jar
3、配置IKAnalyzer
1)添加配置文件IKAnalyzer.cfg.xml和StopWord词典库stopword.dic文件,把这两个文件放到src目录下,也就是classpath路径下
4、编写测试程序,测试代码如下
package org.cyxl.lucene.test;import java.io.StringReader;import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.wltea.analyzer.lucene.IKAnalyzer;public class IKAnalyzerTest {public static void main(String[] args) {String keyWord = "IKAnalyzer的分词效果到底怎么样呢,我们来看一下吧";//创建IKAnalyzer中文分词对象IKAnalyzer analyzer = new IKAnalyzer();// 使用智能分词analyzer.setUseSmart(true);// 打印分词结果try {printAnalysisResult(analyzer, keyWord);} catch (Exception e) {e.printStackTrace();}}/*** 打印出给定分词器的分词结果* * @param analyzer* 分词器* @param keyWord* 关键词* @throws Exception*/private static void printAnalysisResult(Analyzer analyzer, String keyWord)throws Exception {System.out.println("["+keyWord+"]分词效果如下");TokenStream tokenStream = analyzer.tokenStream("content",new StringReader(keyWord));tokenStream.addAttribute(CharTermAttribute.class);while (tokenStream.incrementToken()) {CharTermAttribute charTermAttribute = tokenStream.getAttribute(CharTermAttribute.class);System.out.println(charTermAttribute.toString());}}
}
5、结果如下
[IKAnalyzer的分词效果到底怎么样呢,我们来看一下吧]分词效果如下
加载扩展停止词典:stopword.dic
ikanalyzer
的
分词
效果
到底
怎么样
呢
我们
来看
一下
吧
6、扩展自己的词典和StopWord
1)在src目录下,新建自身的词典文件ext.dic,输入词如下(注意第一行留空,不知道为什么)
分词效果
2)在src目录下,新建自身的StopWord文件chinese_stopword.dic(也是第一行留空,疑惑中)
吧
呢
来
的
3)配置IKAnalyzer配置文件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">ext.dic;</entry> <!--用户可以在这里配置自己的扩展停止词字典--><entry key="ext_stopwords">stopword.dic;chinese_stopword.dic</entry> </properties>
4)配置好后测试结果如下
[IKAnalyzer的分词效果到底怎么样呢,我们来看一下吧]分词效果如下
加载扩展词典:ext.dic
加载扩展停止词典:stopword.dic
加载扩展停止词典:chinese_stopword.dic
ikanalyzer
分词效果
到底
怎么样
我们
来看
一下
三、总结
1、IKAnalyzer分词效果基本还是可以的,可以根据我们自身的项目业务扩展自己的词典和StopWord
2、下面就结果中文分词和Lucene将上一篇的搜索引擎雏形加以修改,让它适合中文网站
Lucene学习——IKAnalyzer中文分词(一)相关推荐
- Lucene学习——IKAnalyzer中文分词(二)
一.环境 1.平台:MyEclipse8.5/JDK1.5 2.框架:Lucene3.6.1/IKAnalyzer2012/htmlparser 二.目标 1.整合前面连篇文章(Lucene学习--I ...
- Solr的学习使用之(三)IKAnalyzer中文分词器的配置
1.为什么要配置? 1.我们知道要使用Solr进行搜索,肯定要对词语进行分词,但是由于Solr的analysis包并没有带支持中文的包或者对中文的分词效果不好,需要自己添加中文分词器:目前呼声较高的是 ...
- solr集成IKAnalyzer中文分词器
如果想要知道如何安装solr,集成IKAnalyzer中文分词器,批量导入数据库数据,java使用参照以下本博主博文: 安装solr https://blog.csdn.net/u013294097/ ...
- IKAnalyzer中文分词分析内容目录
IKAnalyzer中文分词的学习: Java开源分词系统IKAnalyzer学习(一) 大致简介 Java开源分词系统IKAnalyzer学习(二) 架构 Java开源分词系统IKAnalyzer学 ...
- IKAnalyzer 中文分词器
IK Analyzer 2012 介绍 IK Analyzer 是一个开源的,基亍 java 语言开发的轻量级的中文分词工具包.从 2006 年 12 月推出 1.0 版开始, IKAnalyzer ...
- 基于垃圾短信与垃圾邮件的检测以及iphone中siri所使用的IKAnalyzer中文分词技术
刚开始接触安卓开发,导师就让做了一个基于安卓的垃圾短信检测软件,其中中文分词让我搞了一天,我所使用的是IKAnalyzer中文分词技术,这个包已经很是成熟.因为新手在使用中可能会出现导入的工程包错误而 ...
- Java实现敏感词过滤 - IKAnalyzer中文分词工具
IKAnalyzer 是一个开源的,基于java语言开发的轻量级的中文分词工具包. 官网: https://code.google.com/archive/p/ik-analyzer/ 本用例借助 I ...
- ACL 2021 | 基于全局字符关联机制联邦学习的中文分词
作者 | 陈桂敏 来源 | QTrade AI研究中心 QTrade AI 研究中心是一支将近 30 人的团队,主要研究方向包括:预训练模型.信息抽取.对话机器人.内容推荐等.本文介绍的是一篇收录于 ...
- 发布IKAnalyzer中文分词器V3.1.3GA生日祝福版
[size=large][b]生日祝福[/b][/size] 谨以此版本献给我的老婆,今天是她的生日,在这里,要祝福她生日快乐,天天无忧无虑. 感谢她一直以来对我从事开源项目的支持和鼓励,想对她说:谢 ...
最新文章
- Manifest merger failed with multiple errors, see logs
- 万字总结:学习MySQL优化原理,这一篇就够了!
- [大数据] zookeeper 安装和配置
- 读写配置文件app.config
- 服务器怎么可以维修荒野行动,荒野行动PC版 设置单独服务器让你尽情畅玩
- java程序并行机制_Java语言具有多种优点和特点,下列选项中,______反映了Java程序并行执行机制的特点。A.多线程B.健...
- datagridview实时更新数据_旭诺云盒|智能办公新趋势进出口数据自动提取,通关状态实时更新...
- c语言清空输入缓冲区函数,c语言:C语言清空输入缓冲区在标准输入(stdin)情况 -电脑资料...
- 粒子群算法tsp java_粒子群算法解决TSP问题
- python提取高频词_seo与python大数据结合给文本分词并提取高频词
- 深入解析Windows操作系统 第4版
- 在线教学试卷讲评利器——屏幕画笔
- JavaScript学习笔记
- 怎么用8uftp上传网站,利用8Uftp上传自己的网页只需8步
- Oracle 创建表详解(create table)
- 快速排序-C语言版(带图详细)
- 路由器配置双宽带,并相互备份使用
- Python中,使用正则表达式时,遇到的re.error:unbalanced parenthesis问题记录
- latex 首行不缩进,第二行开始缩进,悬挂缩进的LaTeX实现
- 国科大学习资料--人工智能原理与算法-第十四次作业解析(学长整理)