概述
hanlp分词
1.标准分词器:StandardTokenizer
2.NLP分词器:NLPTokenizer
3.索引分词器:IndexTokenizer
4.N-最短路径分词器:SpeedTokenizer
5.最短路径分词
6.极速词典分词
依賴:
<dependency>
<groupId>com.hankcs.hanlp.restful</groupId>
<artifactId>hanlp-restful</artifactId>
<version>0.0.7</version>
</dependency>
<dependency>
<groupId>com.hankcs</groupId>
<artifactId>hanlp</artifactId>
<version>portable-1.3.4</version>
</dependency>
实战案例:
public class HanLP{
private static final Segment N_SHORT_SEGMENT = new NShortSegment().enableCustomDictionary(false).enablePlaceRecognize(true).enableOrganizationRecognize(true);
private static final Segment DIJKSTRA_SEGMENT = new DijkstraSegment().enableCustomDictionary(false).enablePlaceRecognize(true).enableOrganizationRecognize(true);
public static Map<String, String> segMore(String text) {
Map<String, String> map = new HashMap<>();
map.put("标准分词", standard(text));
map.put("NLP分词", nlp(text));
map.put("索引分词", index(text));
map.put("N-最短路径分词", nShort(text));
map.put("最短路径分词", shortest(text));
map.put("极速词典分词", speed(text));
return map;
}
private static String standard(String text) {
StringBuilder result = new StringBuilder();
StandardTokenizer.segment(text).forEach(term->result.append(term.word).append(" "));
return result.toString();
}
private static String nlp(String text) {
StringBuilder result = new StringBuilder();
NLPTokenizer.segment(text).forEach(term->result.append(term.word).append(" "));
return result.toString();
}
private static String index(String text) {
StringBuilder result = new StringBuilder();
IndexTokenizer.segment(text).forEach(term->result.append(term.word).append(" "));
return result.toString();
}
private static String speed(String text) {
StringBuilder result = new StringBuilder();
SpeedTokenizer.segment(text).forEach(term->result.append(term.word).append(" "));
return result.toString();
}
private static String nShort(String text) {
StringBuilder result = new StringBuilder();
N_SHORT_SEGMENT.seg(text).forEach(term->result.append(term.word).append(" "));
return result.toString();
}
private static String shortest(String text) {
StringBuilder result = new StringBuilder();
DIJKSTRA_SEGMENT.seg(text).forEach(term->result.append(term.word).append(" "));
return result.toString();
}
public static void main(String[] args) {
//
Map<String,String> map = segMore("借鉴hashmap算法找出可以hash的key值");
Map<String,String> map = segMore("找出test中华人民共和国人民解放军English");
System.out.println(map.get("标准分词"));
System.out.println(map.get("NLP分词"));
System.out.println(map.get("索引分词"));
System.out.println(map.get("N-最短路径分词"));
System.out.println(map.get("最短路径分词"));
System.out.println(map.get("极速词典分词"));
}
}
运行结果:
标准分词:找出 test 中华人民共和国 人民解放军 English
NLP分词:找出 test 中华人民共和国 人民解放军 English
索引分词:找出 test 中华人民共和国 中华 华人 人民 共和国 共和 人民解放军 人民 解放军 解放 English
N-最短路径分词:找 出 test 中华人民共和国 人民 解放军 English
最短路径分词:找 出 test 中华人民共和国 人民 解放军 English
极速词典分词:找 出 t e s t 中华人民共和国 人民 解放军 E n g l i s h
最后
以上就是伶俐龙猫为你收集整理的计算文本相似度方法比对(2)的全部内容,希望文章能够帮你解决计算文本相似度方法比对(2)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复