springboot整合HanLP详解文本的关键字提取-人名识别-字体转换-分词-文本推荐

1.创建一个普通的springboot项目。(工具IDEA)

2.引入依赖坐标

<dependency>
    <groupId>com.hankcs</groupId>
    <artifactId>hanlp</artifactId>
    <version>portable-1.3.2</version>
</dependency>

注释:我的mvn镜像使用的阿里的,如果没用hanpl,可以修改镜像,配置idea。

配置步骤:

在.m2文件夹下面,修改setting.xml配置,如果不存在setting.xml则创建,setting.xml内容改为如下。

 

IDEA配置

在修改User settinging file,路径改为我们刚修改的setting.xml的路径,点击apply。

 

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<mirrors>
    <!-- 阿里云仓库 -->
    <mirror>
        <id>alimaven</id>
        <mirrorOf>central</mirrorOf>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
    </mirror>
 
 
    <!-- 中央仓库1 -->
    <mirror>
        <id>repo1</id>
        <mirrorOf>central</mirrorOf>
        <name>Human Readable Name for this Mirror.</name>
        <url>http://repo1.maven.org/maven2/</url>
    </mirror>
 
 
    <!-- 中央仓库2 -->
    <mirror>
        <id>repo2</id>
        <mirrorOf>central</mirrorOf>
        <name>Human Readable Name for this Mirror.</name>
        <url>http://repo2.maven.org/maven2/</url>
    </mirror>
</mirrors>
 
</settings>

3.HanLP详解

1.标准分词:将一个字符串进行分词

HanLP.segment(String);

2.中国人名识别:

HanLP.newSegment().enableNameRecognize(true).seg(String);

3.关键字的提取:

HanLP.extractKeyword(String,index),前一个参数为字符串,后一个参数为关键字的个数。

4.字体的转换:

HanLP.convertToTraditionalChinese()//简体转换为繁体
HanLP.convertToSimplifiedChinese()//繁体转换为简体

5.文本推荐:

Suggester对象的addSentence(内置Map容器进行存储)(方法),在进行推荐匹配suggest。

4.测试

@Test
public void contextLoads() {

    System.out.println("1-->" + HanLP.segment("你好,欢迎使用HanLP汉语处理包!"));
    System.out.println("2-->" + HanLP.extractKeyword("程序员(英文Programmer)是从事程序开发、" +
            "维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚," +
            "特别是在中国。软件从业人员分为初级程序员、高级程序员、系统分析员和项目经理四大类", 5));
    System.out.println("3-->" + HanLP.convertToTraditionalChinese("用笔记本电脑写程序"));
    System.out.println("4-->" + HanLP.convertToSimplifiedChinese("「以後等妳當上皇后,就能買士多啤梨慶祝了」"));
    System.out.println("5-->" + HanLP.newSegment().enableNameRecognize(true).seg("签约仪式前,秦光荣、李纪恒、仇和等一同会见了参加签约的企业家。"));
    Suggester suggester = new Suggester();
    String[] titleArray =
            (
                    "威廉王子发表演说 呼吁保护野生动物\n" +
                            "《时代》年度人物最终入围名单出炉 普京马云入选\n" +
                            "“黑格比”横扫菲:菲吸取“海燕”经验及早疏散\n" +
                            "日本保密法将正式生效 日媒指其损害国民知情权\n" +
                            "人工智能如今是非常火热的一门技术”"
            ).split("\\n");
    for (String title : titleArray) {
        suggester.addSentence(title);
    }
    System.out.println("6-->" +suggester.suggest("机器学习", 1));   // 语义
    System.out.println("7-->" +suggester.suggest("危机公共", 1));   // 字符
    System.out.println("8-->" +suggester.suggest("mayun", 1));     // 拼音

}

运行结果:

存在错误的地方,希望大佬们指正。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值