返回顶部
首页 > 资讯 > 数据库 >Java中如何使用hanlp中文分词
  • 364
分享到

Java中如何使用hanlp中文分词

2024-04-02 19:04:59 364人浏览 安东尼
摘要

这篇文章给大家介绍Java中如何使用haNLP中文分词,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。项目结构 该项目中,.jar和data文件夹和.properties需要从

这篇文章给大家介绍Java中如何使用haNLP中文分词,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

项目结构

 Java中如何使用hanlp中文分词

该项目中,.jar和data文件夹和.properties需要从官网/GitHub下载,data文件夹下载

项目配置

修改hanlp.properties:

#/Test/src/hanlp.properties:

#本配置文件中的路径的根目录

#root=E:/SourceCode/eclipsePlace/Test

root=./

......

配置文件的作用是告诉HanLP数据包即data文件夹的位置,root的值为data文件夹的父目录,可以使用绝对路径或相对路径。

测试代码

package com.test;

import java.util.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 MainTest {

    public static void main(String[] args) {

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

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

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

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

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

        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)是从事程序开发、维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、高级程序员、系统分析员和项目经理四大类。";

        List<String> keyWordList = HanLP.extracTKEyword(content, 5);

        System.out.println(keywordList);

    }

   

    public static void getZhaiYao() {

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

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

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

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

        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"

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

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

        System.out.println(phraseList);

    }

}

运行结果

Java中如何使用hanlp中文分词

关于Java中如何使用hanlp中文分词就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: Java中如何使用hanlp中文分词

本文链接: https://lsjlt.com/news/58554.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java中如何使用hanlp中文分词
    这篇文章给大家介绍Java中如何使用hanlp中文分词,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。项目结构 该项目中,.jar和data文件夹和.properties需要从...
    99+
    2024-04-02
  • Spark中怎样使用HanLP分词
    Spark中怎样使用HanLP分词,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。将HanLP的data(包含词典和模型)放到hdfs上,然后在项目配置文件han...
    99+
    2023-06-02
  • 如何解析hanlp源码中文分词算法
    如何解析hanlp源码中文分词算法,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。  解析hanlp源码中文分词算法。词图指的是...
    99+
    2024-04-02
  • 如何在spark集群环境下使用hanlp进行中文分词
    这篇文章主要介绍“如何在spark集群环境下使用hanlp进行中文分词”,在日常操作中,相信很多人在如何在spark集群环境下使用hanlp进行中文分词问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何在sp...
    99+
    2023-06-02
  • 如何使用HanLP增强Elasticsearch分词功能
    这篇文章主要介绍如何使用HanLP增强Elasticsearch分词功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Elasticsearch 默认对中文分词是按“字”进行分词的,这是肯定不能达到我们进行...
    99+
    2023-06-02
  • 如何安装elasticsearch中文切词插件hanlp
    这篇文章主要介绍如何安装elasticsearch中文切词插件hanlp,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!hanlp好处的,就是它的data字典比较齐全.github上有...
    99+
    2024-04-02
  • spark集群如何使用hanlp进行分布式分词
    这篇文章主要介绍“spark集群如何使用hanlp进行分布式分词”,在日常操作中,相信很多人在spark集群如何使用hanlp进行分布式分词问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望...
    99+
    2024-04-02
  • Spring框架中怎么调用HanLP分词
    本篇内容介绍了“Spring框架中怎么调用HanLP分词”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!改了...
    99+
    2024-04-02
  • NLP第2课:中文分词利器 jieba 和 HanLP
    前言 从本文开始,我们进入实战部分。首先,我们按照中文自然语言处理流程的第一步获取语料,然后重点进行中文分词的学习。中文分词有很多种,常见的比如有中科院计算所 NLPIR、哈工大 LTP、清华大学 T...
    99+
    2024-04-02
  • 如何利用HanLP计算中文词语语义相似度
    小编给大家分享一下如何利用HanLP计算中文词语语义相似度,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在java项目中配置Ha...
    99+
    2024-04-02
  • ubuntu中hanlp如何使用
    这期内容当中小编将会给大家带来有关ubuntu中hanlp如何使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。HanLP的安装使用  HanLP的一个很大的好处是离线开源工具包,换而言之,它不仅提供免费...
    99+
    2023-06-02
  • 中文分词入门:使用IK分词器进行文本分词(附Java代码示例)
    1. 介绍 中文分词是将连续的中文文本切分成一个个独立的词语的过程,是中文文本处理的基础。IK分词器是一个高效准确的中文分词工具,采用了"正向最大匹配"算法,并提供了丰富的功能和可定制选项。 2. I...
    99+
    2023-09-14
    中文分词 java python
  • Java中的word分词怎么使用
    本篇内容介绍了“Java中的word分词怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!word分词是一个Java实现的分布式的中文分...
    99+
    2023-06-04
  • php如何使用PHPAnalysis提取关键字中文分词
    这篇文章主要介绍了php如何使用PHPAnalysis提取关键字中文分词,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。需求:做SEO的keywords时,需要从标题或者正文里...
    99+
    2023-06-15
  • Hanlp如何使用Bug
    这篇文章给大家分享的是有关Hanlp如何使用Bug的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Hanlp是最近学习的一个自然语言处理包,本篇文章将一些使用过程之中遇到的bug放...
    99+
    2024-04-02
  • python中文分词,使用结巴分词对python进行分词(实例讲解)
    在采集美女站时,需要对关键词进行分词,最终采用的是python的结巴分词方法。 中文分词是中文文本处理的一个基础性工作,结巴分词利用进行中文分词。 其基本实现原理有三点: 1.基于Trie树结构实现高效的词...
    99+
    2022-06-04
    分词 结巴 中文
  • 基于java的中文分词工具ANSJ怎么使用
    这篇文章主要讲解了“基于java的中文分词工具ANSJ怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“基于java的中文分词工具ANSJ怎么使用”吧!ANSJ这是一个基于n-Gram+...
    99+
    2023-06-19
  • python中文分词和词频统计如何实现
    这篇文章主要介绍“python中文分词和词频统计如何实现”,在日常操作中,相信很多人在python中文分词和词频统计如何实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python中文分词和词频统计如何实现...
    99+
    2023-07-02
  • Python中文分词库jieba(结巴分词)详细使用介绍
    一,jieba的介绍 jieba 是目前表现较为不错的 Python 中文分词组件,它主要有以下特性: 支持四种分词模式: 精确模式全模式搜索引擎模式paddle模式支持繁体分词支持...
    99+
    2024-04-02
  • 如何进行HanLP中人名识别分析
    如何进行HanLP中人名识别分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。分词在 HMM与分词、词性标注、命名实体识别 中说:分词...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作