这是我们做的一个小作业,不多说

直接附上我写的代码:

 

  1. public void Zheng() {
  2. try {
  3. BufferedReader bre = null;
  4. //String file = "d.txt";
  5. String file = "Dict.txt";
  6. bre = new BufferedReader(new FileReader(file));
  7. String line;
  8. try {
  9. while ((line = bre.readLine()) != null) // 判断最后一行不存在,为空结束循环
  10. {
  11. temp.add(line);
  12. // System.out.println(line);// 原样输出读到的内容
  13. }
  14.  
  15. bre.close();
  16. } catch (IOException e) {
  17. e.printStackTrace();
  18. }
  19.  
  20. } catch (FileNotFoundException e) {
  21. System.out.println("未成功读取文件");
  22. e.printStackTrace();
  23. }
  24.  
  25. String sub_str;
  26. while (start < total_len) {
  27. boolean flag = false;
  28. tmp_len = start + max_len <= total_len ? max_len : total_len - start;
  29. label: while (tmp_len > 0) {
  30. // System.out.println(1);
  31. sub_str = receive.substring(start, start + tmp_len);
  32. // System.out.println(sub_str);
  33. for (i = 0; i < temp.size(); i++) {
  34. if (sub_str.equals(temp.get(i))) {
  35. flag = true;
  36. }
  37. }
  38.  
  39. if (flag == true) {
  40. words.add(receive.substring(start, start + tmp_len));
  41. start = start + tmp_len;
  42. break label;
  43. } else {
  44. tmp_len = tmp_len - 1;
  45. // System.out.println(tmp_len);
  46. }
  47.  
  48. /*
  49. * if sub_str in dict: words.append(setence[start : start +
  50. * tmp_len]) start = start + tmp_len break else: tmp_len =
  51. * tmp_len -1
  52. */
  53. }
  54. if (tmp_len == 0) {
  55. words.add(receive.substring(start, start + 1));
  56. start = start + 1;
  57. }
  58.  
  59. }

效果就是按照词库中的词将一段语句分割开来。

附上词库的位置:

https://pan.baidu.com/s/1pLBKer5

Java机械分词的更多相关文章

  1. Hanlp在java中文分词中的使用介绍

    项目结构 该项目中,.jar和data文件夹和.properties需要从官网/github下载,data文件夹下载 项目配置 修改hanlp.properties: 1 #/Test/src/han ...

  2. Java——ikanalyzer分词·只用自定义词库

    需要包:IKAnalyzer2012_FF_hf1.jarlucene-core-5.5.4.jar需要文件: IKAnalyzer.cfg.xmlext.dicstopword.dic 整理好的下载 ...

  3. Java——word分词·自定义词库

    word: https://github.com/ysc/word word-1.3.1.jar 需要JDK8word-1.2.jar c语言给解析成了“语言”,自定义词库必须为UTF-8 程序一旦运 ...

  4. Java solr 分词

    代码如下: import java.io.IOException; import java.util.*; import org.apache.solr.client.solrj.SolrClient ...

  5. java 支持分词的高性能拼音转换工具,速度是 pinyin4j 的两倍

    pinyin pinyin 是 java 实现的高性能中文拼音转换工具. 变更日志 创作目的 想为 java 设计一款便捷易用的拼音工具. 如何为 java 设计一款高性能的拼音转换工具 pinyin ...

  6. 11大Java开源中文分词器的使用方法和分词效果对比,当前几个主要的Lucene中文分词器的比较

    本文的目标有两个: 1.学会使用11大Java开源中文分词器 2.对比分析11大Java开源中文分词器的分词效果 本文给出了11大Java开源中文分词的使用方法以及分词结果对比代码,至于效果哪个好,那 ...

  7. 推荐十款java开源中文分词组件

    1:Elasticsearch的开源中文分词器 IK Analysis(Star:2471) IK中文分词器在Elasticsearch上的使用.原生IK中文分词是从文件系统中读取词典,es-ik本身 ...

  8. Java开源中文分词类库

      IKAnalyzer  IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包.从2006年12月推出1.0版开始,IKAnalyzer已经推出了3个大版本.最初,它是以开 ...

  9. 结巴分词 java 高性能实现,是 huaban jieba 速度的 2倍

    Segment Segment 是基于结巴分词词库实现的更加灵活,高性能的 java 分词实现. 变更日志 创作目的 分词是做 NLP 相关工作,非常基础的一项功能. jieba-analysis 作 ...

随机推荐

  1. Activiti6系列(4)- 三个war包的数据源及密码修改

    一.activiti-app修改数据源和密码 1.使用sublimetext工具打开tomcat,方便进行配置文件的修改. 找到被解压的war包,activiti-app/WEB-INF/classe ...

  2. java学习-NIO(五)NIO学习总结以及NIO新特性介绍

    我们知道是NIO是在2002年引入到J2SE 1.4里的,很多Java开发者比如我还是不知道怎么充分利用NIO,更少的人知道在Java SE 7里引入了更新的输入/输出 API(NIO.2).但是对于 ...

  3. django实现自定义manage命令的扩展

    在Django开发过程中我们都用过django-admin.py和manage.py命令. django-admin.py是一个命令行工具,可以执行一些管理任务,比如创建Django项目.而manag ...

  4. Vue 中使用 typescript

    Vue 中使用 typescript 什么是typescript typescript 为 javaScript的超集,这意味着它支持所有都JavaScript都语法.它很像JavaScript都强类 ...

  5. 如何调教你的博客Episode2——移动端支持和UI美化

    这个系列的文章是我在搭建博客园博客时所经历的过程. 在上一期如何调教你的博客Episode1——修改整体样式中,我们通过添加CSS样式,修改了页面的总体布局.但将文章发出之后,博客的布局就出现问题了: ...

  6. CAD2015 C#二次开发 字体变形

    开发环境:VS2012问题描述:一个简单的WinForm窗口,一个群组控件和一个Label,都是微软雅黑12pxCAD2015下,看起来却不一样,一个明显细得多. CAD2014下,无此问题.实验了C ...

  7. python3:面向对象(多态和继承、方法重载及模块)

    1.多态 同一个方法在不同的类中最终呈现出不同的效果,即为多态. class Triangle: def __init__(self,width,height): self.width = width ...

  8. Python 列表深浅复制详解

    在文章<Python 数据类型>里边介绍了列表的用法,其中列表有个 copy() 方法,意思是复制一个相同的列表.例如 names = ["小明", "小红& ...

  9. Python 标识符说明

    在Python中,标识符有字母.数字.下划线组成 所有标识符都可以包括英文.数字.下划线,但不能以数字开头 Python标识符区分大小写 ※以下划线开头的标识符有特殊含义. 例如:以单下划线开头(_t ...

  10. react-navigation

    安卓端React Navigation的TabNavigator选项卡与react-native-scrollable-tab-view.FlatList一起使用,只显示第一页的内容. 解决方案: 给 ...