常见的四种文本自动分词详解及IK Analyze的代码实现
以下解释来源于网络-百度百科
1.word分词器
jcseg是使用Java开发的一个开源的中文分词器,使用流行的mmseg算法实现。是一款独立的分词组件,不是针对lucene而开发,但是提供了最新版本的lucene和solr分词接口。
1 import java.io.BufferedReader; 2 import java.io.BufferedWriter; 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.FileWriter; 6 import java.io.InputStreamReader; 7 import java.io.StringReader; 8 9 import org.apache.lucene.analysis.Analyzer; 10 import org.apache.lucene.analysis.TokenStream; 11 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; 12 import org.wltea.analyzer.lucene.IKAnalyzer; 13 14 /** 15 * 16 * @author zps 17 * 18 */ 19 public class Test { 20 21 public static void main(String[] args) throws Exception { 22 23 String encoding = "UTF-8"; 24 String text = null; 25 File file = new File("C:\\Users\\dell\\Desktop\\大数据\\热词数据\\热词数据.txt");//将要被分词的文本 26 File file1 =new File("C:\\Users\\dell\\Desktop\\大数据\\热词细胞词库\\热词数据1.txt");//分完词的文本 27 if(!file.exists()){ 28 file.createNewFile(); 29 } 30 FileWriter fw = new FileWriter(file1.getAbsoluteFile()); 31 BufferedWriter bw = new BufferedWriter(fw); 32 if (file.isFile() && file.exists()) { //判断文件是否存在 33 InputStreamReader read = new InputStreamReader( 34 new FileInputStream(file), encoding);//考虑到编码格式 35 BufferedReader bufferedReader = new BufferedReader(read); 36 // String text = null; 37 38 39 while ((text = bufferedReader.readLine()) != null) { 40 Analyzer analyzer = new IKAnalyzer(true); 41 StringReader reader = new StringReader(text); 42 TokenStream ts = analyzer.tokenStream("", reader); 43 CharTermAttribute term=ts.getAttribute(CharTermAttribute.class); 44 //System.out.println(text); 45 while(ts.incrementToken()){ 46 System.out.println(term.toString()+"|"); 47 bw.write(term.toString()+" "); 48 } 49 bw.write("\r\n"); 50 analyzer.close(); 51 reader.close(); 52 } 53 54 read.close(); 55 bw.close(); 56 57 } else { 58 System.out.println("找不到指定的文件"); 59 } 60 61 62 //String text = "数据的福利局撒放了肯德基萨芬快乐圣诞节疯狂了"; 63 //Analyzer analyzer = new IKAnalyzer(false); 64 65 } 66 67 }
这个代码不仅仅是分词还把分完的词保存到了
C:\\Users\\dell\\Desktop\\大数据\\热词细胞词库\\热词数据1.txt
可以去官网下载
这三个文件放到根目录
IKAnalyze.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_dict">MyDic.dic;</entry><!--用户可以在这里配置自己的扩展停止词字典--><entry key="ext_stopwords">stopword.dic;</entry> </properties>
需要的jar
注意Lucene的版本号必须是3.6.0
转载于:https://www.cnblogs.com/zpsblog/p/10590950.html
常见的四种文本自动分词详解及IK Analyze的代码实现相关推荐
- mvc ajax提交html标签,Mvc提交表单的四种方法全程详解
Mvc提交表单的四种方法全程详解 2019-01-05 编程之家 https://www.jb51.cc 编程之家收集整理的这篇文章主要介绍了Mvc提交表单的四种方法全程详解,编程之家小编觉得挺不错的 ...
- PCBA加工中常见的两种焊接方式详解
PCBA加工中常见的两种焊接方式详解 PCBA加工,两种常见的焊接方式就是回流焊和波峰焊,与手动焊接技术相比,自动焊接技术具有减少人为因素的影响.提高效率.降低成本.提高质量等优势,在PCBA加工中, ...
- 文件服务器文件多备份方案,FileYee数据备份四种备份方案详解
原标题:FileYee数据备份四种备份方案详解 其实有很多用户对FileYee数据备份软件不是特别熟悉,今天小编带大家了解一下FileYee的四种备份方案,一定会让大家对于数据备份有一个新的了解. 之 ...
- 四种形态图解_中纪委”四种形态“指标体系详解
中纪委"四种形态"指标体系详解 中纪委自提出"四种形态"以来,官方.民间一直对"四种 形态"各包含什么内容, 在具体实践中如何应用, 存在较 ...
- JVM之垃圾收集机制四种GC算法详解
JVM之四种GC算法详解 目录: 什么是GC? GC算法之引用计数法 GC算法之复制算法(Copying) GC算法之标记清除(Mark-Sweep) GC算法之标记压缩(Mark-Compact) ...
- 微信小程序四种json配置文件详解
知识点: app.json配置文件 project.config.json配置文件 sitemap.json配置文件 页面文件夹中的.json配置文件 上片文章讲到 微信小程序有四种json配置文件, ...
- 组件中使用_React四种组件通信详解
组件间通信常见的几种情况 一.父组件到子组件 二.子组件到父组件 三.跨级组件 四.非嵌套组件 1)父组件到子组件:通常父组件使用props向子组件传递,然后子组件处理 父组件Parent.js 子组 ...
- mysql 秒杀 隔离级别_MySQL 四种隔离级别详解,看完吊打面试官
什么是事务 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消.也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做. 事务的结束有 ...
- POE工业交换机的四种接法详解
PoE工业交换机具有电信级性能特征,可耐受严苛的工作环境.PoE交换机产品系列丰富,端口配置灵活,可满足各种工业领域的使用需求.那么,POE工业交换机该怎么接线呢?接下来就由飞畅科技的小编来为大家详细 ...
最新文章
- readelf小尝试
- GIT:如何管理本机的多个ssh密钥(多个远程仓库账号)
- 没有“好的”数据,AI就没有未来?听听云测数据怎么说
- symbol lookup error
- perl 处理文件路径的一些模块
- long java 比较_Java到底是不是一种纯面向对象语言?
- php 执行 javascript,Bash/PHP/Javascript:如何运行输出javascript的php文件,并执行该javascript?...
- 【2019.09.08】2019icpc南昌网络赛
- 初学Linux (Linux_note)
- 日本定了一个小目标,在2030年让五分之一的汽车实现自动驾驶
- 『PyTorch x TensorFlow』第六弹_从最小二乘法看自动求导
- 【测绘程序设计】C#将度分秒(° ‘ “)转换度(°)程序实现(附源码)
- Coroutine协成
- 面试5173的奇葩经历——老板与员工的博弈论
- 要考试了,通过爬虫获取试题,最后再看2小时
- osu计算机专业排名,OSU计算机专业有奖学金啦~
- python根据题库答案自动答题_python实现百万答题自动百度搜索答案
- 【与GPT对话】杂记
- prometheus联邦集群
- 【Nodejs】Nodejs入门必知
热门文章
- java ssm框架做增删改查,使用SSM框架组合实现增删改查的功能
- java.lang.IllegalStateException: UT010019: Response already commited
- 设置Cookie请求头报错(Refused to set unsafe header “Cookie“)
- 数据库数据类型和占用字节数对比
- java数据类型double保留两位小数
- MVC5 Action的view()直接输出字符串方式
- 1到10所有数字相加求和
- Web安全之点击劫持
- C1 WPF C1FlexGrid设置样式技巧:单元格设置背景色
- Octopress使用中经验总结