分享更有价值
被信任是一种快乐

HanLP自然语言处理包如何安装与使用

文章页正文上

这篇文章主要介绍了HanLP自然语言处理包如何安装与使用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 HanLP是由一系列模型与算法组成的Java工具包,目标是促进自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。 HanLP能提供以下功能:关键词提取、短语提取、繁体转简体、简体转繁体、分词、词性标注、拼音转换、自动摘要、命名实体识别(地名、机构名等)、文本推荐等功能,详细请参见以下链接:http://www.hankcs.com/nlp/hanlp.html
HanLP下载地址:

https://github.com/hankcs/HanLP/releases,HanLP项目主页:

https://github.com/hankcs/HanLP
1、HanLP安装 hanlp是由jar包、properties文件和data数据模型组成,因此,在安装时,这三种文件都应该有。可以通过建立java工程即可运行。 hanlp.properties文件中描述了不同词典的相对路径以及root根目录,因此,可以在此文件中修改其路径。 hanlp-1.3.4.jar包中包含了各种算法及提取方法的api,大部分方法都是静态的,可以通过HanLP直接进行调用,因此,使用非常方便。 data文件夹中包含了dictionary和model文件夹,dictionary中主要是各种类型的词典,model主要是分析模型,hanlp api中的算法需要使用model中的数据模型。 2、HanLP的使用 普通java工程目录如下所示:
3、HanLP的具体使用 例如:对excel中的聊天记录字段进行热点词的提取,计算并排序,功能如下所示 package com.run.hanlp.demo;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;

import org.apache.log4j.Logger;

import com.hankcs.hanlp.HanLP;
import com.hankcs.hanlp.seg.common.Term;
import com.hankcs.hanlp.suggest.Suggester;
import com.hankcs.hanlp.summary.TextRankKeyword;
import com.hankcs.hanlp.tokenizer.NLPTokenizer;
import com.hankcs.hanlp.tokenizer.StandardTokenizer;
import com.run.util.ExcelUtil;

public class HanlpTest {

public static final Logger log = Logger.getLogger(HanlpTest.class);

public static void main(String[] args) {
log.info(“关键词提取:”);
HanlpTest.getWordAndFrequency();
}

/**
* 获取所有关键词和频率
*/
public static void getWordAndFrequency() {
// String content =
// “程序员(英文Programmer)是从事程序开发、维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、高级程序员、系统分析员和项目经理四大类。”;
List

> content = ExcelUtil.readExcelByField(“i:/rundata/excelinput”,5000,5);
Map allKeyWords=new HashMap();
for(int i=0;i Map oneMap=content.get(i);
for(String str:oneMap.keySet()){
int count = oneMap.get(str);
CombinerKeyNum(str,count免费主机域名,allKeyWords);
}
}
List> sortedMap=sortMapByValue(allKeyWords);
log.info(sortedMap);
}
/**
*

* @param allKeyWords 需要进行排序的map
* @return 返回排序后的list
*/
public static List> sortMapByValue(Map allKeyWords){
List> sortList=new ArrayList(allKeyWords.entrySet());

Collections.sort(sortList, new Comparator>() {
public int compare(Map.Entry o1, Map.Entry o2) {
return (o2.getValue() – o1.getValue());

}
});

return sortList;
}
/**
*

* @param key 关键词变量
* @param value 关键词词频变量
* @param allKeyWords 存放关键词和词频的map
*/
public static void CombinerKeyNum(String key,int value,Map allKeyWords){
if(allKeyWords.containsKey(key)){
int count=allKeyWords.get(key);
count+=value;
allKeyWords.put(key, count);
}else{
allKeyWords.put(key, value);
}
}
/**
*

* @param content 需要提取关键词的字符串变量
* @return 返回关键词以及关键词词频数的map
*

*/
public static HashMap getKeyWordMap(String content) {
List list = StandardTokenizer.SEGMENT.seg(content);
TextRankKeyword textmap = new TextRankKeyword();
Map map = textmap.getTermAndRank(content);
Map mapCount = new HashMap();
for (String str : map.keySet()) {
String keyStr = str;
int count = 0;
for (int i = 0; i if (keyStr.equals(list.get(i).word)) {
count++;
}
}
mapCount.put(keyStr, Integer.valueOf(count));
}
// log.info(mapCount);
return (HashMap) mapCount;
}

}

运行之后,结果如下:

由此可见,可以看见从excel中提取出来的热点词汇及其频率。
感谢你能够认真阅读完这篇文章,希望小编分享的“HanLP自然语言处理包免费主机域名如何安装与使用”这篇文章对大家有帮助,同时也希望大家多多支持云技术,关注云技术行业资讯频道,更多相关知识等着你来学习!

相关推荐: PostgreSQL中pgbench有什么作用

本篇内容主要讲解“PostgreSQL中pgbench有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就免费主机域名让小编来带大家学习“PostgreSQL中pgbench有什么作用”吧!pgbench是面向PostgreSQL…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册