HanLPTokenizer HanLP分词器

简介: anlp在功能上的扩展主要体现在以下几个方面:•关键词提取 •自动摘要•短语提取 •拼音转换•简繁转换•文本推荐下面是 hanLP分词器的代码注:使用maven依赖      com.hankcs     hanlp     portable-1.

anlp在功能上的扩展主要体现在以下几个方面:
•关键词提取 
•自动摘要
•短语提取 
•拼音转换
•简繁转换
•文本推荐

下面是 hanLP分词器的代码

注:使用maven依赖 

 
   com.hankcs  
   hanlp  
   portable-1.3.4  
 

使用了java8进行处理

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

import org.apache.commons.lang3.StringUtils;

import com.hankcs.hanlp.seg.Segment;
import com.hankcs.hanlp.seg.Dijkstra.DijkstraSegment;
import com.hankcs.hanlp.seg.NShort.NShortSegment;
import com.hankcs.hanlp.tokenizer.IndexTokenizer;
import com.hankcs.hanlp.tokenizer.NLPTokenizer;
import com.hankcs.hanlp.tokenizer.SpeedTokenizer;
import com.hankcs.hanlp.tokenizer.StandardTokenizer;
public class HanLPTokenizer {

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);

/**

  • 标准分词
  • @param text
  • @return
    */

public static List standard(String text) {
List list = new ArrayList();
StandardTokenizer.segment(text).forEach(term -> {
if (StringUtils.isNotBlank(term.word)) {
list.add(term.word);
}
});

return list.stream().distinct().collect(Collectors.toList());
}

/**

  • NLP分词
  • @param text
  • @return
    */

public static List nlp(String text) {
List list = new ArrayList();
NLPTokenizer.segment(text).forEach(term -> {
if (StringUtils.isNotBlank(term.word)) {
list.add(term.word);
}
});

return list.stream().distinct().collect(Collectors.toList());
}

/**

  • 索引分词
  • @param text
  • @return
    */

public static List index(String text) {
List list = new ArrayList();
IndexTokenizer.segment(text).forEach(term -> {
if (StringUtils.isNotBlank(term.word)) {
list.add(term.word);
}
});

return list.stream().distinct().collect(Collectors.toList());
}

/**

  • 极速词典分词
  • @param text
  • @return
    */

public static List speed(String text) {
List list = new ArrayList();
SpeedTokenizer.segment(text).forEach(term -> {
if (StringUtils.isNotBlank(term.word)) {
list.add(term.word);
}
});

return list;
}

/**

  • N-最短路径分词
  • @param text
  • @return
    */

public static List nShort(String text) {
List list = new ArrayList();
N_SHORT_SEGMENT.seg(text).forEach(term -> {
if (StringUtils.isNotBlank(term.word)) {
list.add(term.word);
}
});

return list.stream().distinct().collect(Collectors.toList());
}

/**

  • 最短路径分词
  • @param text
  • @return
    */

public static List shortest(String text) {
List list = new ArrayList();
DIJKSTRA_SEGMENT.seg(text).forEach(term -> {
if (StringUtils.isNotBlank(term.word)) {
list.add(term.word);
}
});

return list.stream().distinct().collect(Collectors.toList());
}

public static void main(String[] args) {

String text = "测试勿动12";
System.out.println("标准分词:" + standard(text));
System.out.println("NLP分词:" + nlp(text));
System.out.println("索引分词:" + index(text));
System.out.println("N-最短路径分词:" + nShort(text));
System.out.println("最短路径分词分词:" + shortest(text));
System.out.println("极速词典分词:" + speed(text));
}

}

文章来源于猴德华的博客

相关文章
|
Java API Apache
使用 Apache PDFBox 操作PDF文件
Apache PDFBox库是一个开源的Java工具,专门用于处理PDF文档。它允许用户创建全新的PDF文件,编辑现有的PDF文档,以及从PDF文件中提取内容。此外,Apache PDFBox还提供了一些命令行实用工具。
2853 6
|
Python
超简单一步汉化Pycharm工具
超简单一步汉化Pycharm工具
1042 0
|
编解码 自然语言处理
通义万相开源14B数字人Wan2.2-S2V!影视级音频驱动视频生成,助力专业内容创作
今天,通义万相的视频生成模型又开源了!本次开源Wan2.2-S2V-14B,是一款音频驱动的视频生成模型,可生成影视级质感的高质量视频。
2486 29
|
人工智能 自然语言处理 搜索推荐
从输入指令到代码落地:Cline AI 源码浅析
文章揭示了Cline如何将简单的自然语言指令转化为具体的编程任务,并执行相应的代码修改或生成操作。
1404 18
从输入指令到代码落地:Cline AI 源码浅析
|
JSON 前端开发 JavaScript
|
人工智能 JavaScript 前端开发
用 Go 语言轻松构建 MCP 服务器
本文介绍了使用 Go 语言构建 MCP 服务器的完整过程,涵盖创建服务器实例、注册工具、资源和提示词,以及通过 stdio 和 sse 模式启动服务的方法,帮助开发者快速集成 LLM 应用与外部系统。
|
机器学习/深度学习 搜索推荐 PyTorch
基于昇腾用PyTorch实现CTR模型DIN(Deep interest Netwok)网络
本文详细讲解了如何在昇腾平台上使用PyTorch训练推荐系统中的经典模型DIN(Deep Interest Network)。主要内容包括:DIN网络的创新点与架构剖析、Activation Unit和Attention模块的实现、Amazon-book数据集的介绍与预处理、模型训练过程定义及性能评估。通过实战演示,利用Amazon-book数据集训练DIN模型,最终评估其点击率预测性能。文中还提供了代码示例,帮助读者更好地理解每个步骤的实现细节。
|
弹性计算 运维 Cloud Native
XGRIDS三维重建服务,构建云上数字孪生世界
基于阿里云建设三维重建云平台,搭建云端仿真资源池
XGRIDS三维重建服务,构建云上数字孪生世界
|
XML JSON JavaScript
HttpGet 请求的响应处理:获取和解析数据
HttpGet 请求的响应处理:获取和解析数据
【LVGL快速入门】LVGL开源框架入门教程之框架移植(二)
【LVGL快速入门】LVGL开源框架入门教程之框架移植(二)

热门文章

最新文章