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如何分词??的主要内容,如果未能解决你的问题,请参考以下文章