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)); // 拼音
}
运行结果:
存在错误的地方,希望大佬们指正。