java如何分词??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java如何分词??相关的知识,希望对你有一定的参考价值。

例如“计算机分为”_计、计算、算机、机_“。。。
求代码

如果你的分词规则是在一个字符串的开头和结尾加上"_",然后两个字符一分的话,代码可以这样写:
import java.util.ArrayList;
import java.util.List;

public class Participle

private static final String HEAD_END_STR = "_";

private static final int PARTICIPLE_LENGTH = 2;

public static void main(String[] args)

String exampleWord = "计算机";

exampleWord = "_" + exampleWord + "_";

int length = exampleWord.length();
List<String> result = new ArrayList<String>();

for (int i = 0; i < length - 1; i++)

String str = exampleWord.substring(i, i + PARTICIPLE_LENGTH);
result.add(str);


System.out.println(result);


输出结果:_计, 计算, 算机, 机_
参考技术A 就是两个字算一个词?这个好像不难啊

java 中文分词为啥用 ik

为什么呢?因为Lucene自带的分词器比较适合英文的分词,而IK首先是一个中文的分词器。
具体的优点先不细说,单说分词的结果来看:

1 比如说 我爱北京

使用自带的分词 我/爱/北/京
IK分词 我/爱/北京
2 可以自己扩展词典
有很多分词器是不能够进行自己扩展词典的,有自己的词典,导致分词的结果才是自己想要的结果。
3 可以自己定义停用词字典
4 和Lucene结合比较高,有很多封装好的模块。用来检索非常顺手。
当然,IK自2012年已经不再维护了。后面有出现了很多其他的分词器。
参考技术A ik分词器简单容易控制啊,反正我个人觉得ik不错

以上是关于java如何分词??的主要内容,如果未能解决你的问题,请参考以下文章

如何在Elasticsearch中安装中文分词器(IK)和拼音分词器?

11个Java开源中文分词器使用方法和分词效果对比

11大Java开源中文分词器的使用方法和分词效果对比

中科院NLPIR中文分词java版

jieba分词,自定义词库分词 java语言

ELK专栏之IK分词器和Java api操作索引--05