java 调用hanlp提取关键词

2018-10-16  本文已影响0人  lanlantian123

package com.ecloud;

import java.awt.List;

import com.hankcs.hanlp.HanLP;

import com.hankcs.hanlp.seg.common.Term;

import com.hankcs.hanlp.suggest.Suggester;

import com.hankcs.hanlp.tokenizer.NLPTokenizer;

public class Hanlptest {

public static void main(String[] args) {

// TODO Auto-generated method stub

System.out.println("首次编译运行时,HanLP会自动构建词典缓存,请稍候……\n");

        //第一次运行会有文件找不到的错误但不影响运行,缓存完成后就不会再有了

        System.out.println("标准分词:");

        System.out.println(HanLP.segment("你好,欢迎使用HanLP!"));

        System.out.println("\n");

        java.util.List<Term> termList = NLPTokenizer.segment("中国科学院计算技术研究所的宗成庆教授正在教授自然语言处理课程");

        System.out.println("NLP分词:");

        System.out.println(termList);

        System.out.println("\n");

        System.out.println("智能推荐:");

        getSegement();

        System.out.println("\n");

        System.out.println("关键字提取:");

        getMainIdea();

        System.out.println("\n");

        System.out.println("自动摘要:");

        getZhaiYao();

        System.out.println("\n");

        System.out.println("短语提取:");

        getDuanYu();

        System.out.println("\n");

    }

    /**

     * 智能推荐部分

     */

    public static void getSegement() {

        Suggester suggester = new Suggester();

        String[] titleArray = ("威廉王子发表演说 呼吁保护野生动物\n" + "《时代》年度人物最终入围名单出炉 普京马云入选\n" + "“黑格比”横扫菲:菲吸取“海燕”经验及早疏散\n"

                + "日本保密法将正式生效 日媒指其损害国民知情权\n" + "英报告说空气污染带来“公共健康危机”").split("\\n");

        for (String title : titleArray) {

            suggester.addSentence(title);

        }

        System.out.println(suggester.suggest("发言", 1)); // 语义

        System.out.println(suggester.suggest("危机公共", 1)); // 字符

        System.out.println(suggester.suggest("mayun", 1)); // 拼音

    }

    /**

     * 关键字提取

     */

    public static void getMainIdea() {

       // String content = "程序员(英文Programmer)是从事程序开发、维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、高级程序员、系统分析员和项目经理四大类。";

    String content = "芒市勐焕街道卫生服务中心医疗设备采购  公开招标公告   经芒市政府采购管理部门批准,受芒市勐焕街道社区卫生服务中心委托,现就芒市勐焕街道社区卫生服务中心医疗设备采购进行公开招标,欢迎国内具有合法有效经营资格且有供货能力的供应商参加投标。  一、项目简介   1、招标编号:BSDSDH-2017-373  交易编号:MSCG(公)2017-065  2、项目名称:芒市勐焕街道社区卫生服务中心医疗设备采购  3、采购预算:30万元  4、采购内容:电解质分析仪1台、五分类血球分析仪1台。  5、交货期:合同签订后30天内   6、供货地点:采购人指定地点。  二、投标人资格要求  参加本项目投标的投标人除应具备《政府采购法》第二十二条供应商资格条件,提供下列资料:  1、在中国境内合法注册的,具有独立法人资格,具备相应供货或完成项目能力的供应商。具有效的《营业执照》、《组织机构代码证》、《税务登记证》或三证合一   2、《医疗器械生产企业许可证》或《医疗器械经营企业许可证》或《医疗器械经营备案证》   3、在参加本项目前三年内在经营活动中无重大违法记录   4、产品的医疗器械注册证   5、提供检察院出具的的无行贿犯罪查询结果告知函   6、提供2017年至今任意三个月依法缴纳税金的证明材料复印件加盖公章   7、提供2015年或2016年的财务报表复印件加盖公章(2017年后成立的公司无需提供)   8、本项目不接受联合体投标,本项目不接受进口产品投标。  三、领取招标文件的时间、方式  1、报名及下载招标文件时间:2017年12月15日—2017年12月21日    2、招标文件费:300元/份, 由招标代理公司收取,开标现场提交现金,如不按要求提交招标文件费,所投标书无效。   3、报名方式及电子招标文件获取:凡有意参加投标者,插入本公司CA锁(单位锁)进入德宏州公共资源交易电子服务系统(http://jyzx.dh.gov.cn )进行报名,并下载相应的招标文件及其它采购资料(电子招标文件,格式为★.ZCZBJ),数字证书(CA)详见其办理流程,交易监督电话:0692-2275625 已在网上报名的供应商,如果因某种原因决定不再网上上传投标(响应)文件或不到开标现场参加投标,请于报名截止时间前,插入本公司CA锁(单位锁)进入德宏州公共资源交易电子服务系统(http://jyzx.dh.gov.cn)撤销报名,否则可能会导致供应商诚信信誉受影响。 四、递交投标文件时间,投标截止时间及开标时间、开标地点  1、递交电子光盘时间:2018年1月5日14:30至15:00   2、投标截止时间及开标时间:2018年1月5日15:00时   3、地点:芒市公共资源交易中心第三会议室(中缅友谊馆二楼)。  4、电子投标文件的递交  (1)网上递交:网上递交需登德宏州公共资源交易电子服务系统(http://jyzx.dh.gov.cn点击进入新系统),投标人须在投标截止时间前完成所有投标文件的上传,网上确认电子签名,并打印“上传投标文件回执”,投标截止时间前未完成投标文件传输的,视为撤回投标文件。  (2)投标人(供应商)在参加开标会议时,必须携带本单位CA数字证书(机构证书和个人证书),即编制加密投标(谈判响应)文件时的CA数字证书到开标会议现场确认报名情况和现场解密文件。网上递交投标文件后,还须到开标现场递交刻录投标文件的光盘(光盘应密封),光盘内附电子投标文件(格式为:★.ZCTBJ),逾期送达的或者未送达指定地点的投标加密锁和投标文件(光盘),视为撤回投标文件,采购人(代理机构)不予受理。  五、相关费用及保证金   1、相关费用:招标代理服务费依据国家发展改委办公厅“发改办价格〔2003〕857号”文的规定,由中标人向招标代理机构支付,招标代理服务费金额依据国家计委(计价格〔2002〕1980号)文件计算。  2、投标单位须交纳投标保证金:人民币伍仟元整(5000.00)。  投标保证金请于提交投标文件截止时间前从投标人基本账户以电汇或转账方式汇达以下指定帐户。  开户银行:中国银行阔时路支行  户名:芒市政务服务管理局  账号:135629064871 财务室联系电话:0692-2133786  六、其他须注意的内容  1.电子投标(响应)文件制作及上传技术支持电话:400-9618-998,在线服务QQ:4009618998,投标供应商可登录德宏州公共资源交易电子服务系统http://jyzx.dh.gov.cn,下载安装“云南省政府采购投标文件编制系统”,并点击【学习园地】按钮进行“电子投标(响应)文件制作及上传”的学习。  2.投标人需要办理CA数字证书的,请登录德宏州公共资源交易电子服务系统(http://jyzx.dh.gov.cn)服务指南-数字证书办理中下载《德宏州CA数字证书办理流程》和《德宏州CA数字证书办理注意事宜》按照流程自行办理。数字证书办理技术支持电话:0692-2275609。办理证书地址:芒市文蚌街中缅友谊馆二楼(数字证书办理窗口)。联系人:云南龙瑞德耀信息科技有限公司 24小时客服热线:0871-65315589  3.请各报名参与投标(谈判)供应商在该项目未开标之前密切关注上述信息发布网站,如该项目需发布更正公告或者补充(变更)通知均在德宏州公共资源交易电子服务系统网、云南省政府采购网上发布,不再另行通知,因各供应商未及时上网看到更正公告或者下载补充(变更)通知的后果由供应商自行承担。  4.现场投标人光盘中的投标文件,仅在德宏州公共资源交易电子服务系统网络出现故障时,由监管部门核实同意后才启动导入。  六、采购信息发布及结果公告网站  本公告在云南省政府采购网、德宏州公共资源交易电子服务系统上发布  七、采购单位和代理机构的名称和联系方式  采购人:芒市勐焕街道社区卫生服务中心  统一社会信用代码:125331036812537744  项目联系人及联系方式:李先生0692-2120959  采购代理机构:保山市东升建设工程招标代理有限公司 统一社会信用代码:9153050077267665XP  联系人及联系方式:寸菊聪   15287630719   0692-2129529  地址:芒市胞波路155号  八、技术支持  交易平台技术支持服务电话:400-9618-998,  在线服务QQ:4009618998  }";

    java.util.List<String> keywordList = HanLP.extractKeyword(content, 25);

        System.out.println(keywordList);

    }

    /**

     * 自动摘要

     */

    public static void getZhaiYao() {

        String document = "算法可大致分为基本算法、数据结构的算法、数论算法、计算几何的算法、图的算法、动态规划以及数值分析、加密算法、排序算法、检索算法、随机化算法、并行算法、厄米变形模型、随机森林算法。\n"

                + "算法可以宽泛的分为三类,\n" + "一,有限的确定性算法,这类算法在有限的一段时间内终止。他们可能要花很长时间来执行指定的任务,但仍将在一定的时间内终止。这类算法得出的结果常取决于输入值。\n"

                + "二,有限的非确定算法,这类算法在有限的时间内终止。然而,对于一个(或一些)给定的数值,算法的结果并不是唯一的或确定的。\n"

                + "三,无限的算法,是那些由于没有定义终止定义条件,或定义的条件无法由输入的数据满足而不终止运行的算法。通常,无限算法的产生是由于未能确定的定义终止条件。";

        java.util.List<String> sentenceList = HanLP.extractSummary(document, 3);

        System.out.println(sentenceList);

    }

    /**

     * 短语提取

     */

    public static void getDuanYu() {

        String text = "算法工程师\n"

                + "算法(Algorithm)是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。算法工程师就是利用算法处理事物的人。\n"

                + "\n" + "1职位简介\n" + "算法工程师是一个非常高端的职位;\n" + "专业要求:计算机、电子、通信、数学等相关专业;\n"

                + "学历要求:本科及其以上的学历,大多数是硕士学历及其以上;\n" + "语言要求:英语要求是熟练,基本上能阅读国外专业书刊;\n"

                + "必须掌握计算机相关知识,熟练使用仿真工具MATLAB等,必须会一门编程语言。\n" + "\n" + "2研究方向\n"

                + "视频算法工程师、图像处理算法工程师、音频算法工程师 通信基带算法工程师\n" + "\n" + "3目前国内外状况\n"

                + "目前国内从事算法研究的工程师不少,但是高级算法工程师却很少,是一个非常紧缺的专业工程师。算法工程师根据研究领域来分主要有音频/视频算法处理、图像技术方面的二维信息算法处理和通信物理层、雷达信号处理、生物医学信号处理等领域的一维信息算法处理。\n"

                + "在计算机音视频和图形图像技术等二维信息算法处理方面目前比较先进的视频处理算法:机器视觉成为此类算法研究的核心;另外还有2D转3D算法(2D-to-3D conversion),去隔行算法(de-interlacing),运动估计运动补偿算法(Motion estimation/Motion Compensation),去噪算法(Noise Reduction),缩放算法(scaling),锐化处理算法(Sharpness),超分辨率算法(Super Resolution),手势识别(gesture recognition),人脸识别(face recognition)。\n"

                + "在通信物理层等一维信息领域目前常用的算法:无线领域的RRM、RTT,传送领域的调制解调、信道均衡、信号检测、网络优化、信号分解等。\n" + "另外数据挖掘、互联网搜索算法也成为当今的热门方向。\n"

                + "算法工程师逐渐往人工智能方向发展。";

        java.util.List<String> phraseList = HanLP.extractPhrase(text, 10);

        System.out.println(phraseList);

}

}

首次编译运行时,HanLP会自动构建词典缓存,请稍候……

标准分词:

[你好/l, ,/w, 欢迎/v, 使用/v, HanLP/nx, !/w]

NLP分词:

[中国科学院/n, 计算/v, 技术/n, 研究所/n, 的/uj, 宗成庆/nr, 教授/n, 正在/d, 教授/n, 自然/d, 语言/n, 处理/v, 课程/n]

智能推荐:

[威廉王子发表演说 呼吁保护野生动物]

[英报告说空气污染带来“公共健康危机”]

[《时代》年度人物最终入围名单出炉 普京马云入选]

关键字提取:

[投标, 文件, 供应商, 项目, 采购, 招标, 电子, 芒市, 提供, 代理, 证书, 服务, 机构, 交易, 投标人, 数字, 开标, 医疗, 报名, 时间, 参加, 政府采购, 网上, 系统, CA]

自动摘要:

[无限算法的产生是由于未能确定的定义终止条件, 这类算法在有限的时间内终止, 这类算法在有限的一段时间内终止]

短语提取:

[算法工程师, 算法处理, 一维信息, 算法研究, 图像技术, 信息算法, 处理算法, 视频算法, 通信物理, 人脸识别]

文章来源于蘑菇丁的博客

上一篇下一篇

猜你喜欢

热点阅读