什么是 NLP (自然语言处理)

NLP(自然语言处理)到底是做什么?

NLP 的全称是 Natural Language Processing,翻译成中文称作:自然语言处理。它是计算机和人工智能的一个重要领域。顾名思义,该领域研究如何处理自然语言。

自然语言就是我们人类市场交流所使用的语音和字符系统。就目前而言,NLP所研究的对象,以字符系统——也就是我们通常说的“文字”——为主。

为什么要处理自然语言?

为什么要处理文字呢?因为有需求啊!

我们用文字描述事物、经历和思想。形成的文献资料,除了被阅读,往往还需要进行很多其他操作。

比如,被翻译成其他语种;对内容进行摘要;在其中查找某个问题的答案;或者,了解其中提到了哪些人事物,以及它们之间的关系如何,等等。

虽然所有这些需求,都可以通过人工阅读文献来解决,但“浩如烟海”的文献量导致人工文字处理的产能严重不足。

NLP 的发展历程

上世纪 40 年代计算机被发明,用机器而非人力来处理信息成为可能。早在 1950 年代,自然语言处理就已经成为了计算机科学的一个研究领域。

不过一直到 1980 年代,NLP 系统是以一套复杂的人工订制规则为基础,计算机只是机械地执行这些规则,或者做一些诸如字符匹配,词频统计之类的简单计算。

1980年代末期,机器学习的崛起为 NLP 引入了新的思路。刚性的文字处理人工规则日益被柔性的、以概率为基础的统计模型所替代。

近些年来,随着深度学习的发展,各类神经网络也被引入 NLP 领域,成为了解决问题的技术。

这里要注意了:自然语言处理(NLP)指以计算机为工具解决一系列现实中和自然语言相关的问题,机器学习、深度学习是解决这些问题的具体手段。 当我们关注 NLP 这一领域时,要分清本末,要做的事情是本,做事的方式方法是末。如果神经网络能够解决我们的问题,我们当然应该采用,但并不是只要去解决问题,就一定要用神经网络。

常见的 NLP 任务

NLP 要处理的问题纷繁复杂,而且每一个问题都要结合相应场景和具体需求才好讨论。

不过这些问题也有相当多的共性,基于这些共性,我们将千奇百怪的待解决 NLP 问题抽象为若干任务。

例如:分词、词嵌入、新词发现、拼写提示、词性标注、实体抽取、关系抽取、事件抽取、实体消歧、公指消解、文本分类、机器翻译、自动摘要、阅读理解等等,都是常见的 NLP 任务。

从 NLP 任务到技术实现

针对这些任务,NLP 研究人员探索出了很多方法,这些方法又对应于不同类型的技术。

在工作中,当我们遇到问题的时候,往往需要先将其对应到一个或多个任务,再在该任务的常用实现方法中选取一种适合我们使用的来执行任务。

【举个例子】:我们要基于若干文献构建一个知识图谱,知识图谱的两大核心要素是实体和关系,那么当然首先我们面临的任务就是从这些文献中抽取实体和关系。

实体抽取是一项非常常见的 NLP 任务,实现它的方法有多种,大体而言分为两个方向:

i)基于实体名字典进行字符匹配抽取;

ii)用序列预测模型进行抽取。

序列预测模型又可以选用机器学习模型,比如条件随机场(CRF);或选用神经网络,比如 CRF+LSTM,或 CRF+BERT等。

具体选哪种方法呢?那就要看我们需要抽取的实体类型、文献类型和文献量了。

如果现在是从少量专业文献(例如论文、说明书、研究报告等)中抽取一些列专业名词表示的实体,那么用字典匹配方便直接代价小,可以一试。

如果是要从海量的各类文献中抽取一些通用的实体,那么借助模型则可能效果更佳。

具体用机器学习模型还是神经网络呢?这又和我们拥有的标注数据与计算资源有关,如果不差钱,想标多少数据,想训练多大模型都不在乎,上神经网络自然可以追求高准确率,但如果资源捉襟见肘,可能机器学习模型更加实用。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java 对象内存布局

在虚拟机中,Java对象在内存中的布局可以分为三块: 对象头(Header) :包含 markword 标记字段和类型指针,32 位上大小是 8 个字节,64 位 16 个字节,实例数据(Instance Dat…

Download Monitor Email Lock下载监控器邮件锁插件

打开Download Monitor Email Lock下载监控器邮件锁插件 Download Monitor Email Lock下载监控器邮件锁插件下载监视器的电子邮件锁定扩展允许您要求用户在获得下载访问权限之前填写他们的电子邮件地址。 Download Monitor Email Lock下载监控器邮件锁插件用法 安装扩展程序后…

每日一题--------求数字的每⼀位之和

大家好今天的每日一题又来了,有啥不对的请在评论区留言哦 文章目录 目录 文章目录 求数字的每⼀位之和 题⽬描述: 输⼊⼀个整数m,求这个整数m的每⼀位之和,并打印。 一、解题思路 我们可以通过不断获取该整数的个位数&#xff0c…

crc算法的应用 CRC16 CRC32

提到crc算法,可能比较陌生,但是在日常开发中,有如下应用 循环冗余检查_百度百科 本质是一个哈希函数,用于文件校验处理。 CRC16 redis集群使用了crc16 来计算对应的哈希值来计算与 16384 取模,确定当前 key 所在的哈…

javaSwing车辆租赁管理系统

一、 引言 车辆租赁管理系统是一种便捷的解决方案,用于有效管理汽车租赁业务。本博客将介绍一个基于Java Swing的车辆租赁管理系统的开发,并展示相应的数据库设计。 二、 开发环境 Java Swing MySQL数据库 三、 数据库设计 在MySQL数据库中&#xf…

【C语言】程序练习(二)

大家好,这里是争做图书馆扫地僧的小白。 个人主页:争做图书馆扫地僧的小白_-CSDN博客 目标:希望通过学习技术,期待着改变世界。 目录 前言 一、运算符练习 1 算术运算符 1.1 练习题: 2 自加自减运算符 3 关系运…

最新AI系统ChatGPT网站系统源码,Midjourney绘画,GPT语音对话+ChatFile文档对话总结+DALL-E3文生图+思维导图一站式解决方案

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作Ch…

射频PCB电路布局设计及布线注意事项

在电子产品和设备中,电路板是一个不可缺少的部件,它起着电路系统的电气和机械等的连接作用。如何将电路中的元器件按照一定的要求,在PCB上排列组合起来,是PCB设计师的主要任务之一。布局设计不是简单的将元器件在PCB上排列起来&am…

【ZYNQ】教你用 Vivado HLS 快速设计一个 IP

Xilinx 推出的 Vivado HLS 工具可以直接使用 C、C或 System C 来对 Xilinx 系列的 FPGA 进行编程,从而提高抽象的层级,大大减少了使用传统 RTL 描述进行 FPGA 开发所需的时间。 Vivado HLS 的功能简单地来说就是把 C、C 或 SystemC 的设计转换成 RTL 实…

分布式事务的8种解决方案(荣耀典藏版)

大家好,我是月夜枫,在上篇文章中,我们已经谈到了分布式中至关重要的两个理论:CAP 理论和 BASE 理论。 今天将带大家探讨分布式事务里的“八奇技”,帮助大家在实际的分布式系统中更好地运用事务。 时光穿梭机&#xff…

Redis缓存雪崩、缓存击穿、缓存穿透

1. 什么是缓存雪崩 当我们提到缓存系统中的问题,缓存雪崩是一个经常被讨论的话题。缓存雪崩是指在某一时刻发生大量的缓存失效,导致瞬间大量的请求直接打到了数据库,可能会导致数据库瞬间压力过大甚至宕机。尤其在高并发的系统中,…

CodeWhisperer——轻松使用一个超级强大的工具

CodeWhisperer 简介 CodeWhisperer是亚⻢逊云科技出品的一款基于机器学习的通用代码生成器,可实时提供代码建议。 CodeWhisperer有以下几个主要用途: 解决编程问题,提供代码建议,学习编程知识等等,并且CodeWhisper…