Java机械分词
这是我们做的一个小作业,不多说
直接附上我写的代码:
public void Zheng() {
try {
BufferedReader bre = null;
//String file = "d.txt";
String file = "Dict.txt";
bre = new BufferedReader(new FileReader(file));
String line;
try {
while ((line = bre.readLine()) != null) // 判断最后一行不存在,为空结束循环
{
temp.add(line);
// System.out.println(line);// 原样输出读到的内容
}
bre.close();
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
System.out.println("未成功读取文件");
e.printStackTrace();
}
String sub_str;
while (start < total_len) {
boolean flag = false;
tmp_len = start + max_len <= total_len ? max_len : total_len - start;
label: while (tmp_len > 0) {
// System.out.println(1);
sub_str = receive.substring(start, start + tmp_len);
// System.out.println(sub_str);
for (i = 0; i < temp.size(); i++) {
if (sub_str.equals(temp.get(i))) {
flag = true;
}
}
if (flag == true) {
words.add(receive.substring(start, start + tmp_len));
start = start + tmp_len;
break label;
} else {
tmp_len = tmp_len - 1;
// System.out.println(tmp_len);
}
/*
* if sub_str in dict: words.append(setence[start : start +
* tmp_len]) start = start + tmp_len break else: tmp_len =
* tmp_len -1
*/
}
if (tmp_len == 0) {
words.add(receive.substring(start, start + 1));
start = start + 1;
}
}
效果就是按照词库中的词将一段语句分割开来。
附上词库的位置:
https://pan.baidu.com/s/1pLBKer5
Java机械分词的更多相关文章
- Hanlp在java中文分词中的使用介绍
项目结构 该项目中,.jar和data文件夹和.properties需要从官网/github下载,data文件夹下载 项目配置 修改hanlp.properties: 1 #/Test/src/han ...
- Java——ikanalyzer分词·只用自定义词库
需要包:IKAnalyzer2012_FF_hf1.jarlucene-core-5.5.4.jar需要文件: IKAnalyzer.cfg.xmlext.dicstopword.dic 整理好的下载 ...
- Java——word分词·自定义词库
word: https://github.com/ysc/word word-1.3.1.jar 需要JDK8word-1.2.jar c语言给解析成了“语言”,自定义词库必须为UTF-8 程序一旦运 ...
- Java solr 分词
代码如下: import java.io.IOException; import java.util.*; import org.apache.solr.client.solrj.SolrClient ...
- java 支持分词的高性能拼音转换工具,速度是 pinyin4j 的两倍
pinyin pinyin 是 java 实现的高性能中文拼音转换工具. 变更日志 创作目的 想为 java 设计一款便捷易用的拼音工具. 如何为 java 设计一款高性能的拼音转换工具 pinyin ...
- 11大Java开源中文分词器的使用方法和分词效果对比,当前几个主要的Lucene中文分词器的比较
本文的目标有两个: 1.学会使用11大Java开源中文分词器 2.对比分析11大Java开源中文分词器的分词效果 本文给出了11大Java开源中文分词的使用方法以及分词结果对比代码,至于效果哪个好,那 ...
- 推荐十款java开源中文分词组件
1:Elasticsearch的开源中文分词器 IK Analysis(Star:2471) IK中文分词器在Elasticsearch上的使用.原生IK中文分词是从文件系统中读取词典,es-ik本身 ...
- Java开源中文分词类库
IKAnalyzer IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包.从2006年12月推出1.0版开始,IKAnalyzer已经推出了3个大版本.最初,它是以开 ...
- 结巴分词 java 高性能实现,是 huaban jieba 速度的 2倍
Segment Segment 是基于结巴分词词库实现的更加灵活,高性能的 java 分词实现. 变更日志 创作目的 分词是做 NLP 相关工作,非常基础的一项功能. jieba-analysis 作 ...
随机推荐
- 【Java例题】4.1 级数求和1
1. 计算级数之和: y=1-1/2+1/4-1/8+...+ (-1)^(n-1)/2^(n-1). 这里的"^"表示乘方. package chapter4; import j ...
- MySQL多表(理论知识总结)
1. 多表关系 外键 foreign key 添加外键语法: alter table 表名1 add foreign key(外键名称) references 表名2(主键名称 ...
- Kotlin的特性
time streams try-with-resources 函数扩展,给types.classes或者interfaces新增方法 null safe 不需要new,后缀声明类型 自动转换有get ...
- iView 实现可编辑表格
create at: 2019-02-20 组件 <i-table highlight-row ref="currentRowTable" :columns="co ...
- 深度学习模型训练技巧 Tips for Deep Learning
一.深度学习建模与调试流程 先看训练集上的结果怎么样(有些机器学习模型没必要这么做,比如决策树.KNN.Adaboost 啥的,理论上在训练集上一定能做到完全正确,没啥好检查的) Deep Learn ...
- js拖拽上传图片
有时候,在开发中,需要遇到拖拽上传图片的需求,即从磁盘选中一张或多张图片,然后按着鼠标把图片拖动到页面上指定的区域,实现图片的上传. 1.后端上传图片的接口 我是之前用vue写一个简单的后台系统的时候 ...
- postman 测试http,接口
1.form-data: 就是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开.既可以上传键值对,也可以上传文件.当上传的字段是文件时 ...
- c#引用本地dll发布后运行exe错误
在config 文件夹 configuration 配置节点下面 添加 <runtime> <gcConcurrent enabled="true" /> ...
- thinkphp model 创建之后访问后的错误···
解决:在php.ini里边先开启mysql的pdo扩展
- Java String引起的常量池、String类型传参、“==”、“equals”、“hashCode”问题 细节分析
在学习javase的过程中,总是会遇到关于String的各种细节问题,而这些问题往往会出现在Java攻城狮面试中,今天想写一篇随笔,简单记录下我的一些想法.话不多说,直接进入正题. 1.String常 ...