自然语言处理(NLP)学习之与HanLP的初相识

news2024/11/25 15:22:53

目录

前言

 一、自然语言处理基本知识

1、NLP类别

2、核心任务

二、Hanlp简要介绍

三、Hanlp云服务能力

1、全新云原生2.x

 2、Python api调用

 3、Go api调用

4、Java api调用

 四、Hanlp native服务

 1、本地开发

 总结


前言

        在ChatGPT的滚滚浪潮下,也伴随着人工智能技术的发展,生活中的许多应用都用了“AI(人工智能)”的技术,比如可以用计算机帮翻译外文文档,机器自助绘制图片,自动生成视频素材。但有时候人工智也能会出一些小Bug,变得不那么智能,这就是大家俗称的“人工智障”,在人类看来很容易理解的内容,通过计算机来表述或者理解就是特别费劲,尤其在语言处理方面。

        那么我们怎样才能让人工智能变成更加“智能”呢?自然语言处理技术就是一个重要的方式。自然语言处理技术(即natural language processing,简称NPL)是人工智能的一个重要分支,其目的是利用计算机对自然语言进行智能化处理。基础的自然语言处理技术主要围绕语言的不同层级展开,包括音位(语言的发音模式)、形态(字、字母如何构成单词、单词的形态变化)、词汇(单词之间的关系)、句法(单词如何形成句子)、语义(语言表述对应的意思)、语用(不同语境中的语义解释)、篇章(句子如何组合成段落)7个层级。这些基本的自然语言处理技术经常被运用到下游的多种自然语言处理任务中,如机器翻译、对话、问答、文档摘要等。

        科学家研究自然语言处理技术(NLP)的目的是让机器能够理解人类语言,用自然语言的方式与人类交流,最终拥有“智能”。AI时代,我们希望计算机拥有视觉、听觉、语言和行动的能力,其中语言是人类区别于动物的最重要特征之一,语言是人类思维的载体,也是知识凝练和传承的载体。在人工智能领域,研究自然语言处理技术的目的就是让机器理解并生成人类的语言,从而和人类平等流畅地沟通交流。

        本文将简单介绍自然语言处理的相关知识,重点介绍Hanlp组件的功能,从云化和本地化部署两种模式分别介绍,对有需要的朋友有所帮助。

 一、自然语言处理基本知识

1、NLP类别

        1、文本挖掘:主要包含了文本的分类、聚类、信息抽取、摘要、情感分析以及对挖掘的信息和知识的可视化、交互式的呈现界面,这些统称为文本挖掘任务。

        2、信息检索:对大规模文档进行索引。可简单对文档中的词汇,赋予不同的权重来建立索引,也可以使用算法来建立更深层的索引。查询时,首先对输入进行分析,然后在索引里面查找匹配的候选文档,再根据一个排序机制把候选文档排序,最后输出排序得分最高的文档。

        3、句法语义分析:针对目标句子,进行各种句法分析,如分词、词性标记、命名实体识别及句法分析、语义角色识别和多义词消歧等。

        4、机器翻译:随着通信技术与互联网技术的飞速发展、信息的急剧增加以及国际联系愈加紧密,让世界上所有人都能跨越语言障碍获取信息的挑战已经超出了人类翻译的能力范围。机器翻译因其效率高、成本低满足了全球各国多语言信息快速翻译的需求,从最早的基于规则到二十年前的基于统计的方法,再到今天的基于深度学习(编解码)的方法,逐渐形成了一套比较严谨的方法体系。机器翻译属于自然语言信息处理的一个分支,能够根据一种自然语言自动生成另一种自然语言。目前,谷歌翻译、百度翻译、搜狗翻译等人工智能行业巨头推出的翻译平台逐渐凭借其翻译过程的高效性和准确性占据了翻译行业的主导地位。

        5、问答系统:随着互联网的快速发展,网络信息量不断增加,人们需要获取更加精确的信息。传统的搜索引擎技术已经不能满足人们越来越高的需求,而自动问答技术成为了解决这一问题的有效手段。自动问答是指利用计算机自动回答用户所提出的问题以满足用户知识需求的任务,在回答用户问题时,首先要正确理解用户所提出的问题,抽取其中关键的信息,在已有的语料库或者知识库中进行检索、匹配,将获取的答案反馈给用户。

        6、对话系统:系统通过多回合对话,跟用户进行聊天、回答、完成某项任务,主要涉及用户意图识别、通用聊天引擎、问答引擎、对话管理系统等技术。此外,为了提现上下文相关,要具备多轮对话能力。同时,为了提现个性化,对话系统还需要基于用户画像做个性化回复。

2、核心任务

        总的来看,自然语言处理有2大核心任务,自然语言理解(NLU)和自然语言生成(NLG)。对人来说,理解语言是一件很自然的事情,但对机器来说却是很困难的事情。语言的鲁棒性都是导致自然语言理解的主要难点,其中包括:语言的多样性、歧义性、知识依赖、上下文关系等。这些难点也将会带来实际处理时的一系列困难:生成语句的语法结构、语义表达是否准确,信息是否重复等。

        为了解决上述问题,一些基本的自然语言处理方向便应运而生,包括:分词、词性标注、词形还原、依赖关系解析、命名实体识别、序列标注、句子关系识别等。

二、Hanlp简要介绍

        Hanlp是一款面向生产环境的前沿多语种自然语言处理技术,根据不同的场景和项目需要,HanLP提供RESTful和native两种API,分别面向轻量级和海量级两种场景。无论何种API何种语言,HanLP接口在语义上保持一致,在代码上坚持开源。

        面向生产环境的多语种自然语言处理工具包,基于PyTorch和TensorFlow 2.x双引擎,目标是普及落地最前沿的NLP技术。HanLP具备功能完善、精度准确、性能高效、语料时新、架构清晰、可自定义的特点。

        Hanlp支持以下的功能,详见下图:

三、Hanlp云服务能力

        Hanlp分为在线调用及本地编程两个大的方向,针对在线应用,在允许访问互联网的情况,可以直接使用RESTful的方式调用Hanlp的云服务,这样对于数据和模型的加载,训练和学习都是很好的处理方式。离线环境可以进行native本地api构建(以Java语言为例)。

1、全新云原生2.x

云环境简介,hanlp官方网站:

云环境网页地址:HanLP github地址。

 2、Python api调用

        仅数KB,适合敏捷开发、移动APP等场景。简单易用,无需GPU配环境,秒速安装。语料更多、模型更大、精度更高,强烈推荐。服务器GPU算力有限,匿名用户配额较少,建议申请免费公益API秘钥auth。

python代码:

pip install hanlp_restful

 创建客户端,填入服务器地址和秘钥:

from hanlp_restful import HanLPClient
HanLP = HanLPClient('https://www.hanlp.com/api', auth=None, language='zh') # auth不填则匿名,zh中文,mul多语种

 3、Go api调用

安装go

go get -u github.com/hankcs/gohanlp@main

 创建客户端,填入服务器地址和秘钥

HanLP := hanlp.HanLPClient(hanlp.WithAuth(""),hanlp.WithLanguage("zh")) // auth不填则匿名,zh中文,mul多语种

4、Java api调用

pom.xml中添加依赖:

<dependency>
    <groupId>com.hankcs.hanlp.restful</groupId>
    <artifactId>hanlp-restful</artifactId>
    <version>0.0.12</version>
</dependency>

 创建客户端,填入服务器地址和秘钥:

HanLPClient HanLP = new HanLPClient("https://www.hanlp.com/api", null, "zh"); // auth不填则匿名,zh中文,mul多语种

 四、Hanlp native服务

        hanlp除了提供丰富的云能力,同时也支持本地调用,在官方开源的1.x版本中,开源了Java开发的本地开发能力。在github上需要注意的要切换不同的tag,需要切换到1.X版本可以看到项目源码。这是标准的java工程项目。

        将包下载下来后可以看到完整的项目源码。

 1、本地开发

        将hanlp的代码下载到本地,可以进行本地调试代码。如果仅是进行代码调用,可以直接调用打包好的依赖即可。下面以Eclipse为例,建立一个Hanlp的示例功能,并进行代码的调试。

[签约/v, 仪式/n, 前/f, ,/w, 秦光荣/nr, 、/w, 李纪恒/nr, 、/w, 仇和/nr, 等/u, 一同/d, 会见/v, 了/ul, 参加/v, 签约/v, 的/uj, 企业家/n, 。/w]
[武大靖/nr, 创/vg, 世界纪录/nz, 夺冠/v, ,/w, 中国代表团/nt, 平昌/ns, 首金/n]
[区长/n, 庄木弟/nr, 新年/t, 致辞/v]
[朱立伦/nr, :/w, 两岸/n, 都/d, 希望/v, 共/d, 创/vg, 双/m, 赢/v,  /w, 习/ng, 朱/nr, 历史/n, 会晤/v, 在即/v]
[陕西/ns, 首富/n, 吴一坚/nr, 被/p, 带走/v,  /w, 与/p, 令计划/nr, 妻子/n, 有/v, 交集/n]
[据/p, 美国之音/n, 电台/n, 网站/n, 4/m, 月/q, 28/m, 日/j, 报道/v, ,/w, 8/m, 岁/q, 的/uj, 凯瑟琳/nrf, ·/w, 克罗尔/nrf, (/w, 凤甫娟/nr, )/w, 和/c, 很多/m, 华裔/n, 美国/ns, 小朋友/n, 一样/u, ,/w, 小小年纪/n, 就/d, 开始/v, 学/v, 小提琴/n, 了/ul, 。/w, 她/r, 的/uj, 妈妈/n, 是/v, 位/q, 虎/n, 妈/n, 么/y, ?/w]
[凯瑟琳/nrf, 和/c, 露西/nrf, (/w, 庐瑞媛/nr, )/w, ,/w, 跟/p, 她们/r, 的/uj, 哥哥/n, 们/k, 有/v, 一些/m, 不同/a, 。/w]
[王国强/nr, 、/w, 高峰/n, 、/w, 汪洋/n, 、/w, 张朝阳/nr, 光着头/l, 、/w, 韩寒/nr, 、/w, 小四/nr]
[张浩和/nr, 胡健康/nr, 复员/vn, 回家/v, 了/ul]
[王总/nr, 和/c, 小丽/nr, 结婚/v, 了/ul]
[编剧/n, 邵钧林/nr, 和/c, 稽道青/nr, 说/v]
[这里/r, 有/v, 关天培/nr, 的/uj, 有关/vn, 事迹/n]
[龚学平/nr, 等/u, 领导/n, 说/v, ,/w, 邓颖超/nr, 生前/t, 杜绝/v, 超生/vn, ,/w, 2023/m, 年/q, 在/p, 湖南省/ns, 长沙市/ns, 天心区/ns, 暮云镇/ns, 开启/v, 的/uj, 互联网/n, 大会/n, ,/w, 首次/mq, 提出/v]
+++++++++++++++++++++++++++++++++++++++++++
[签约/v, 仪式/n, 前/f, ,/w, 秦光荣/nr, 、/w, 李纪恒/nr, 、/w, 仇和/nr, 等/u, 一同/d, 会见/v, 了/ul, 参加/v, 签约/v, 的/uj, 企业家/n, 。/w]
[武大靖/nr, 创/vg, 世界纪录/nz, 夺冠/v, ,/w, 中国代表团/nt, 平昌/ns, 首金/n]
[区长/n, 庄木弟/nr, 新年/t, 致辞/v]
[朱立伦/nr, :/w, 两岸/n, 都/d, 希望/v, 共/d, 创/vg, 双/m, 赢/v,  /w, 习/ng, 朱/nr, 历史/n, 会晤/v, 在即/v]
[陕西/ns, 首富/n, 吴一坚/nr, 被/p, 带走/v,  /w, 与/p, 令计划/nr, 妻子/n, 有/v, 交集/n]
[据/p, 美国之音/n, 电台网站/nt, 4/m, 月/q, 28/m, 日/j, 报道/v, ,/w, 8/m, 岁/q, 的/uj, 凯瑟琳/nrf, ·/w, 克罗尔/nrf, (/w, 凤甫娟/nr, )/w, 和/c, 很多/m, 华裔/n, 美国/ns, 小朋友一/nrj, 样/q, ,/w, 小小年纪/n, 就/d, 开始/v, 学/v, 小提琴/n, 了/ul, 。/w, 她/r, 的/uj, 妈妈/n, 是/v, 位/q, 虎/n, 妈/n, 么/y, ?/w]
[凯瑟琳/nrf, 和/c, 露西/nrf, (/w, 庐瑞媛/nr, )/w, ,/w, 跟/p, 她们/r, 的/uj, 哥哥/n, 们/k, 有/v, 一些/m, 不同/a, 。/w]
[王国强/nr, 、/w, 高峰/n, 、/w, 汪洋/n, 、/w, 张朝阳/nr, 光着头/l, 、/w, 韩寒/nr, 、/w, 小四/nr]
[张浩和/nr, 胡健康/nr, 复员/vn, 回家/v, 了/ul]
[王总/nr, 和/c, 小丽/nr, 结婚/v, 了/ul]
[编剧/n, 邵钧林/nr, 和/c, 稽道青/nr, 说/v]
[这里/r, 有/v, 关天培/nr, 的/uj, 有关/vn, 事迹/n]
[龚学平/nr, 等/u, 领导/n, 说/v, ,/w, 邓颖超/nr, 生前/t, 杜绝/v, 超生/vn, ,/w, 2023/m, 年/q, 在/p, 湖南省/ns, 长沙市/ns, 天心区/ns, 暮云镇/ns, 开启/v, 的/uj, 互联网大会/nt, ,/w, 首次/mq, 提出/v]
over......

 总结

         以上就是文章的主要内容,本文将简单介绍自然语言处理的相关知识,重点介绍Hanlp组件的功能,从云化和本地化部署两种模式分别介绍,对有需要的朋友有所帮助。行文仓促,如有不当之处,欢迎留言批评指正。

参考资料:1、人工智能与自然语言处理技术 。

                  2、人工智能:自然语言处理。

                  3、hanlp官方网站。

                  4、NLP(自然语言处理)介绍。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1050587.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入理解JavaScript中的事件冒泡与事件捕获

在JavaScript中&#xff0c;事件是交互式网页开发中的关键概念之一。了解事件冒泡和事件捕获是成为一名优秀的前端开发者所必需的技能之一。本文将深入探讨这两个概念&#xff0c;解释它们是如何工作的&#xff0c;以及如何在实际应用中使用它们来处理事件。 一.什么是事件冒泡…

No151.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

冲刺十五届蓝桥杯P0002 日期统计

文章目录 题目分析代码 题目 分析 需要明白一些概念&#xff0c;子序列、连续子序列。 1.子序列&#xff08;subsequence&#xff09;是指原始序列中按照相同顺序选择零个或多个元素而形成的序列。连续子序列&#xff08;subarray&#xff09;是指原始序列中相邻位置的元素构…

计算机网络之传输层

计算机网络 - 传输层 计算机网络 - 传输层 UDP 和 TCP 的特点UDP 首部格式TCP 首部格式TCP 的三次握手TCP 的四次挥手TCP 可靠传输TCP 滑动窗口TCP 流量控制TCP 拥塞控制 1. 慢开始与拥塞避免2. 快重传与快恢复 网络层只把分组发送到目的主机&#xff0c;但是真正通信的并不是…

网络-OSI、TCP、浏览器URL、CDN

文章目录 前言一、OSI七层模型二、TCP/IP和UDPTCP三次握手四次挥手 三、 浏览器输入URLURLDNS查询TCP/IP连接浏览器缓存强缓存协商缓存断开连接 浏览器渲染 四、 CDN总结 前言 本文记录OSI七层参考模型&#xff0c;和TCP/IP基本介绍。 一、OSI七层模型 七层参考模型分别是&am…

【C++入门到精通】C++入门 —— set multiset (STL)

阅读导航 前言一、set简介二、std::set1. std::set简介2. std::set的使用- 基本使用- std::set的模板参数列表- std::set的构造函数- std::set的迭代器- std::set容量与元素访问函数 3. set的所有函数&#xff08;表&#xff09; 三、std::multiset1. std::multiset简介 四、st…

农产品经营小程序商城的作用是什么?

农场或拥有稳定货源的商家更适合做线上生鲜蔬果生意&#xff0c;近些年随着线上电商崛起&#xff0c;如何打通并且加深同城、到店、快递货品销售场景成为商家们需要思考的&#xff1b;微信是企业商家重要的营销平台&#xff0c;因此在微信卖货增长很重要&#xff0c;但想要完善…

【中国知名企业高管团队】系列22:滴滴

大家好&#xff01; 今天华研荟的走进中国知名企业高管团队系列带大家认识滴滴。 滴滴公司是出行领域的先行者&#xff0c;也是一个典型样本。通过滴滴公司的名字变迁我们可以感受到滴滴公司的业务发展&#xff0c;这也是整个出行行业公司的发展路径&#xff1a; 第一阶段&a…

神经辐射场(NeRF)2023最新论文及源代码合集

神经辐射场&#xff08;NeRF&#xff09;作为一种先进的计算机图形学技术&#xff0c;能够生成高质量的三维重建模型&#xff0c;在计算机图形学、计算机视觉、增强现实等领域都有着广泛的应用前景&#xff0c;因此&#xff0c;自2020年惊艳亮相后&#xff0c;神经辐射场也成为…

C理解(三):结构体,共用体,枚举

结构体 结构体元素访问本质是指针方式,依据元素在结构体中的偏移量和元素类型进行访问 元素占字节数和类型占字节数不同,导致结构体的元素偏移量要复杂,因此结构体需要对齐访问 结构体对齐规则 结构体本身应在在4字节对齐处&#xff08;占4个字节&#xff09; 每个元素都对其存…

二、MAVEN的安装和配置

二、MAVEN的安装和配置 1.官网下载&#xff1a;http://maven.apache.org/download.cgi 2.解压文件包 1.apache-maven-3.5.2-bin.zip 直接解压到指定安装路径。 2.apache-maven-3.5.2-src.zip maven源码包。 3.配置环境变量&#xff0c;类似jdk环境配置 1.创建M2_HOME环境变…

关于操作系统与内核科普

关于操作系统与内核科普 一.什么是操作系统 操作系统是管理计算机硬件与软件资源的计算机程序。它为计算机硬件和软件提供了一种中间层。 操作系统是一种软件&#xff0c;主要目的有三种&#xff1a; 一.管理计算机资源&#xff0c;这些资源包括CPU&#xff0c;内存&#xff0…

正在等待操作系统重新启动。 请重新启动计算机以安装autocad 2024。

正在等待操作系统重新启动。 请重新启动计算机以安装autocad 2024。 这是刚启动Autodesk 2024产品就弹出的弹窗&#xff0c;重启之后启动还是有这个 一直阻止安装程序运行 出现问题的原因是安装包存在问题 使用正确的安装包即可解决这个问题 需要的朋友查看图片或者评伦取…

【剑指Offer】7.重建二叉树

题目 给定节点数为 n 的二叉树的前序遍历和中序遍历结果&#xff0c;请重建出该二叉树并返回它的头结点。 例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6}&#xff0c;则重建出如下图所示。 提示: 1.vin.length pre.length 2.pre 和 vin 均无重复…

《Python趣味工具》——ppt的操作(2)

在上次&#xff0c;我们对PPT进行了简单的处理&#xff1b;本次&#xff0c;我们要将PPT中的文本内容写入到 Word 文档中并添加标题&#xff0c;让 Word 文档看上去结构清晰&#xff0c;方便使用。 文章目录 一、安装docx模块&#xff1a;二、从PPT中转移文字&#xff1a;1. 创…

Elasticsearch基础篇(二):Elasticsearch在windows和liunx上的安装部署

Elasticsearch简介 前言1. Windows环境部署Elasticsearch1.1 下载并解压Elasticsearch压缩包1.2 命令行启动elasticsearch1.3 验证是否成功启动elasticsearch1.4 关闭Elasticsearch1.5 在Windows上安装Elasticsearch作为服务 2. Liunx环境部署Elasticsearch安装 Elasticsearch …

Python 爬虫 / web 面试常见问题

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 &#x1f447; &#x1f447; &#x1f447; 更多精彩机密、教程&#xff0c;尽在下方&#xff0c;赶紧点击了解吧~ python源码、视频教程、插件安装教程、资料我都准备好了&#xff0c;直接在文末名片自取就可 爬虫面试常见…

Excel技巧之【锁定工作簿】

Excel工作簿是Excel工作区中一个或多个工作表的集合&#xff0c;我们知道Excel可以设置锁定工作表&#xff0c;防止意外或被他人修改&#xff0c;但可能有小伙伴不知道&#xff0c;Excel工作簿也同样可以设置锁定&#xff0c;防止更改。 那工作簿锁定后会怎么样呢&#xff1f;…

Mysql——三、SQL语句(上篇)

Mysql 一、SQL语句基础1、SQL简介2、SQL语句分类3、SQL语句的书写规范 二、数据库操作三、MySQL 字符集1、变量2、utf8和utf8mb4的区别 四、数据库对象五、SELECT语句1、简单的SELECT语句2、SQL函数2.1 聚合函数2.2 数值型函数2.3 字符串函数2.4 日期和时间函数2.5 流程控制函数…

Spring结合自定义注解实现 AOP 切面功能

Spring结合自定义注解实现 AOP 切面功能 Spring AOP 注解概述Aspect 快速入门execution 切点表达式 拦截指定类的方法Pointcut("annotation(xx)") 拦截拥有指定注解的方法环绕通知 实现开关目标方法案例1&#xff1a;自定义注解切面实现统一日志处理1.自定义日志注解…