NLP自然语言——基础

news2025/6/10 12:32:49

一、介绍

1、概念

NLP(Natural Language Processing,自然语言处理)是计算机科学领域以及人工智能领域的一个重要的研究方向,它研究用计算机来处理、理解以及运用人类语言(如中文、英文等),达到人与计算机之间进行有效通讯。所谓“自然”乃是寓意自然进化形成,为了区分一些人造语言(如:c++、java等人为设计的语言)这些年, NLP 研究取得了长足的进步,逐渐发展成独立的学科,从自然语言的角度出发,NLP 基本可以分为两个部分 自然语言处理以及自然语言生成,演化为理解和生成文本的任务。
在这里插入图片描述

2、分类

NLP 基本可以分为两个部分 自然语言处理以及自然语言生成,演化为理解和生成文本的任务。

1)自然语言理解

自然语言的理解是个综合的系统工程,它又包含了很多细分学科,有代表声音的音系学,代表构词法的词态学,代表语句结构的句法学,代表理解的语义句法学和语用学。

  • 音系学:指代语言中发音的系统化组织
  • 词态学 :研究单词构成以及相互之间的关系
  • 句法学: 给定文本的哪部分是语法正确的
  • 语义学: 给定文本的含义是什么
  • 语用学:文本的目的是什么?

2)自然语言生成

语言理解涉及语言、语境和各种语言形式的学科 而自然语言生成( Naturnguage Generation, NLG )恰恰相反,从结构化数据中以读取的方式自动生成文本,该过程主要三个阶段:

  • 文本规划(完成结构化数据中的基础内容规划)
  • 语句规划(数据中组合语句来表达信息流)
  • 实现(产生语法通顺的语句来表达文本)

3、NLP 的研究任务

NLP 可以被应用于很多领域,这里大概总结出以下几种通用的应用:

  • 机器翻译:计算机具备将一种语言翻译成另一种语言的能力。
  • 情感分析:计算能够判断用户评论是否积极。
  • 智能问答:计算机能够正确回答输入的问题。
  • 文摘生成:计算机能够准确归纳、总结并产生文本摘要。
  • 文本分类:计算机能够采集各种文章, 进行主题分析,从而进行自动分类。
  • 舆论分析:计算机能够判断目前舆论的导向。
  • 知识图谱:知识点相互连接而成的语义网络。

二、基本术语

1、分词( segment)

  • 词是最小的能够独立活动的有意义的语言成分, 英文单词之间是以空格作为自然分界符的,而汉语是以字为基本的书写单位,词语之间没有明显的区分标记,因此,中文词语分析是中文分词的基础与关键
  • 中文和英文都存在分词的需求,不过相较而言,英文单词本来就有空格进行分割,所以处理起来相对方便。但是,由于中文是没有分隔符的,所以分词的问题就比较重要。分词常用的手段是基于字典的最长串匹配,据说可以解决 85%的问题,但是歧义分词很难。举个例子,“美国会通过对台售武法案”,我们既可以切分为 “美国/会/通过对台售武法案”, 又可 以切分成“美/国会/通过对台售武法案”。

2、词性标注(part of speec tagging )

  • 词性标注是自然语言处理中的一项任务,旨在为一段文本中的每个词汇确定其相应的词性(也称为词类)。
  • 词性通常包括名词、动词、形容词、副词、代词、介词、连词等,通过对文本进行词性标注,可以帮助计算机理解文本的语法结构和语义含义。

3、命名实体识别(NER, Named Entity Recognition )

命名实体是指从文本中识别具有特定类别的实体(通常是名词),例如人名、地名、机构名、专有名词等。

4、句法分析(synta parsing )

  • 句法分析的目的是解析句子中各个成分的依赖关系
  • 所以,往往最终生成的结果是一棵句法分析树
  • 句法分析可以解决上下文无关问题(类似于编译的句法分析)

5、指代消解( anaphora resolution)

中文中代词出现的频率很高,它的作用的是用来表征前文出现过的人名、地名等例如,清华大学坐落于北京,这家大学是目前中国最好的大学之一 在这句话中,其实“清华大学”这个词出现了两次,“这家大学”指代的就是清华大学 但是出于中文的习惯,我们不会把“清华大学”再重复一遍。

6、情感识别( emotion recognition)

  • 所谓情感识别,本质上是分类问题,经常被应用在舆情分析等领域
  • 情感一般可以分为两类,即正面、负面,也可以是三类,在前面的基础上,再加上中性类别一般来说,在电商企业,情感识别可以分析商品评价的好坏,以此作为下一个环节的评判依据
  • 通常可以基于词袋模型+分类器,或者现在流行的词向模型+RNN。经过测试发现,后者比前者准确率略有提升

7、纠错( correction)

  • 自动纠错在搜索技术以及输入法中利用得很多。
  • 由于用户的输入出错的可能性比较大,出锚的场景也比较多。所以,我们需要一个纠错系统
  • 具体做法有很多,可以基于N-Gram 进行纠错,也可以通过字典树 有限状态机等方法进行纠错。

8、问答系统( QA system)

这是一种类似机器人的人工智能系统 比较著名的有:苹果 Siri, IBM Watson 、微软小冰等 问答系统往往需要语音识别 合成,自然语言理解、知识图谱等多项技术的配合才会实现得比较好。

三、知识结构

作为一门综合学科, NLP 是研究人与机器之间用自然语言进行有效通信的理论和方法这需要很多跨学科的知识,需要语言学、统计学、最优化理论、机器学习、深度学习以及自然语言处理相关理论模型知识做基础 作为一门杂学, NLP 可谓是包罗万象,体系化与特殊化并存,这里简单罗列其知识体系:

1、语法语义分析

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

2、关键词抽取

抽取目标文本中的主要信息,比如从一条新闻中抽取关键信息主要是了解是谁、于何时、为何、对谁、做了何事 、产生了有什么结果 涉及实体识别、时间抽取 、因果关系抽取等多项关键技术。

3、文本挖掘

  • 主要包含了对文本的聚类、分类、信息抽取
  • 摘要、情感分析以及对挖掘的信息和知识的可视化、交互式的呈现界面。

4、机器翻译

  • 将输入的源语言文本通过自动翻译转化为另一种语言的文本
  • 根据输入数据类型的不同,可细分为文本翻译 、语音翻译、手语翻译、图形翻译等。
  • 机器翻译从最早的基于规则到二十年前的基于统计的方法,再到今天的基于深度学习(编解码)的方法,逐渐形成了一套比较严谨的方法体系。

5、信息检索

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

6、问答系统

针对某个自然语言表达的问题,由问答系统给出个精准的答案。需要对自然语言查询语句进行语义分析,包括实体链接、关系识别,形成逻辑表达式,然后到知识库中查找可能的候选答案并通过一个排序机制找出最佳的答案。

7、对话系统

系统通过多回合对话 ,跟用户进行聊天、回答、完成某项任务 主要涉及用户意图理解、通用聊天引擎、问答引擎、对话管理等技术。此外,为了体现上下文相关,要具备多轮到话能力 同时,为了体现个性化,对话系统还需要 基于用户画像做个性化回复。知识结构结构图如图1-3所示。
在这里插入图片描述

四、NLP的几个层面

1、词法分析

  • 词法分析包括汉语的分词和词性标注这两部分
  • 之前有提过,汉语分词与英文不同,汉语书面词语之间没有明显的空格标记,文本中的句子以字符串的方式出现,句子中由逗号分隔,句子和句子之间常以句号分隔
  • 针对汉语这种独特的书面表现形式,汉语的自然语言处理的首要工作就是要将输入的文本切分为单独的词语,然后在此技术上进行其他更高级的分析。
    上述这个步骤称为分词
    除了分词之外,词性标注也通常被认为是词法分析的一部分,词性标注的目的是为每一个词赋予一个类别,这个类别可以是名词( noun)、动词(verb)、形容词(adjectiv)等。通常来说,属于相同词性的词,在句法中承担类似的角色。

2、句法分析

  • 句法分析是对输入的文本以句子为单位,进行分析以得到句子的句法结构的处理过程
  • 对句法结构进行分析,一方面是为了帮助理解句子的含义,另一方面也为更高级的自然语言处理任务提供支持(比如机器翻译、情感分析等)
  • 目前业界存在三种比较主流的句法分析方法:
    • 短语结构句法体系,作用是识别出句子中的短语结构,以及短语之间的层次句法关系;
    • 依存结构句法体系,作用是识别句子中词与词之间的相互依赖关系;
    • 深层文法句法分析,利用深层文法,例如词汇树邻接文法,组合范畴文法等对句子进行深层的句法以及语义分析。

上述几种句法分析,依存句法分析属于浅层句法分析,其实现过程相对来说比较简单而且适合在多语言环境下应用,但是其所能提供的信息也相对较少。深层文法句法分析可以提供丰富的句法和语义信息,但是采用的文法相对比较复杂,分析器的运行复杂度也比较高,这使得深层句法分析不太适合处理大规模的数据。短语结构句法分析介于依存句法分析和深层文法句法分析之间。

3、语义分析

  • 语义分析的最终目的是理解句子表达的真实语义 但是,语义应该采用什么表示形式一直困扰着 究者 ,至今这个问题也没有个统一的答案
  • 语义角色标注( semantic role labeling )是目前比较成熟的浅层语义分析技术。
    • 语义角色标注一般都在句法分析的基础上完成,句法结构对于语义角色标注的性能至关重要
    • 基于逻辑表达的语义分析也得到学术界的长期关注。出于机器学习模型复杂度、效率的考虑,自然语言处理系统通常采用级联的方式,即分词、词性标注、句法分析、语义分析分别训练模型
  • 实际使用时,给定输入句子,逐一使用各个模块进行分析,最终得到所有结果。

近年来,随 研究工作的深入,研究者们提出了很多有效的联合模型,将多个任务联合学习和解码,如分词词性联合、词性句法联合、分词词性句法联合、句法语义联合等。联合模型通常都可以显著提高分析质量,原因在于联合模型可以让相互关联的多个任务互相帮助,同时对于任何单任务而言,人工标注的信息也更多了 然而,联合模型的复杂度更高,速度也更慢。

五、语料库

1、中国维基百科

  • 维基百科是最常用且权威的开放网络数据集之一 ,作为极少数的人工编辑、内容丰富、格式规范的文本语料,各类语言的维基百科在 NLP 等诸多领域应用广泛
  • 维基百科提供了开放的词条文本整合下载,可以找到你需要的指定时间、指定语言、指定类型、指定内容的维基百科数据,中文维基百科数据是维基提供的语料库。

2、搜狗新闻语料库

来自若干新闻站点 2012年6月~7月期间国内、国际 体育、社会、娱乐等 18个频道的新闻数据,提供 URL 和正文信息。

3、IMDB 情感分析语料库

  • 互联网电影资料库( Internet Movie Database ,简称 IMDb )是 个关于电影演员、电影、电视节目、电视明星和电影制作的在线数据库 IMDb 的资料中包括了影片的众多信息、演员、片长、内容介绍 分级、评论等 对于电影的评分目前使用最多的就是 IMDb评分。

  • ​ 还有豆瓣读书相关语料(爬虫获取) 邮件相关语料等。

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

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

相关文章

Error:java:JDK isn‘t specified for module “模块名称“

可能是创建模块后不小心删掉了.idea.或.idea出错 只要删除.idea,close project出去,重新进让idea自动下载

Flyway 9.22.3 + springboot3 + MySQL8.0+,简单使用

文章目录 flyway的依赖配置ieda 启动!!! 关于这篇文章主要是自己在使用flyway时遇到的一些问题以及最终的解决方法 当然包括所有的配置,主要目的是记录一下防止下次使用的时候忘记 flyway的依赖 这里 springboot 3 具体版本不再描…

Day12:信息打点-Web应用源码泄漏开源闭源指纹识别GITSVNDS备份

目录 开源-CMS指纹识别源码获取方式 闭源-习惯&配置&特性等获取方式 闭源-托管资产平台资源搜索监控 思维导图 章节点 Web:语言/CMS/中间件/数据库/系统/WAF等 系统:操作系统/端口服务/网络环境/防火墙等 应用:APP对象/API接口/微…

基于selenium自动化索引点击

小鹅快速刷题,根据selenium和xpath定位题干,使用模糊匹配fuzzywuzzy库查找题目匹配答案,自动点击,完成后更新题库 先导入基本包,准备好题库 from fuzzywuzzy import process from selenium import webdriver import …

Android Split APK是什么

Android Split APK是一项应用程序分发和安装的技术,可以将大型应用程序拆分为多个较小的模块,以便用户可以选择性地下载和安装所需的模块,而无需一次性下载整个应用程序。这种技术旨在提高用户体验、减少下载时间和节省存储空间。 Android S…

什么是红黑树?用一组数据来介绍一下红黑树

上篇博客,我们使用代码完成了一个简单的红黑树功能,这篇,我补充一下,关于红黑树的相关知识点。 红黑树概述 红黑树是一种自平衡的二叉搜索树,它在每个节点上增加了一个存储位来表示节点的颜色,可以是红色…

信息安全与阿里云等保三级方案实践总结

信息安全在当今数字化时代变得至关重要,企业和组织需要采取有效措施来保护其数据和信息资产。阿里云作为中国领先的云服务提供商,提供了等保三级方案,帮助用户满足国家信息安全等级保护的要求。本文将探讨信息安全和阿里云等保三级方案的重要…

多媒体信息处理-重点知识-3. Feature Indexing and Retrieval

Chap 3. Feature Indexing and Retrieval 什么是索引? 为了提高数据集的检索效率而生成的结构化信息 基于特征的相似度匹配是多媒体数据检索方法的基础 从多媒体对象中提取重要特征,将其转化成高维特征向量存储在数据库中 相似性度量: 两种…

数据库|基于TiDB Binlog架构的主备集群切换操作手册

目录 一、具体操作过程 //1、停业务,待drainer追平主、备库数据 //2、使用sync-diff-inspector校验主从库数据是否一致 //3、关停主库到灾备库drainer同步链路后记录当前drainer同步TSO //4、使用dumpling/BR对灾备库进行数据全量备份(备份期间可继…

leetcode——异或运算—— 只出现一次的数字

给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。 示例 1 : 输入&#xff…

【Web安全靶场】sqli-labs-master 21-37 Advanced-Injection

sqli-labs-master 21-37 Advanced-Injection 第一关到第二十关请见专栏 文章目录 sqli-labs-master 21-37 Advanced-Injection第二十一关-Cookie注入第二十二关-Cookie注入第二十三关-注释符过滤的报错注入第二十四关-二次注入第二十五关-过滤OR、AND双写绕过第二十五a关-过滤…

关于 Runes 协议及「公开铭刻」发行机制的拓展讨论

撰文:MiX 编辑:Faust,极客 web3 2024 年 3 月 2 日,Runes 生态基础设施项目 Rune alpha 的创始人,在 Github 的公开议题中,与 Runes 协议创始人 Casey 展开了讨论,双方对如何拓展 Runes 协议的…

【QT】事件分发器/事件过滤器/事件处理的介绍和使用

事件分发函数 event() 事件分发器:返回值 bool 如果返回时true,代表用户要处理事件,不再分发事件了。 事件对象创建完毕后,Qt 将这个事件对象传递给QObject的event()函数。event()函数并不直接处理事件,而是将这些事…

PS在图片上直线、虚线、曲线

使用钢笔工具和直线工具都可以画直线,

script的defer和async的理解

场景一 js阻碍了dom元素的渲染 场景二 加了defer,结果跟场景一一样,所以defer对script标签内的代码不期待延迟执行的作用 场景三 script标签没有defer属性,不敢是不是通过src引入代码,结果一样 场景四 加了defer,获…

搭建的svn 1.14.1,拉取代码时候没输入账户密码就报错 auth failed

这边在ubuntu里面搭的svn server,但是拉代码的是否一直报错 auth faield,一开始以为是有auth cache,去设置里面清楚了,windows 里面也清楚了,但是还是报错 问题原因 一直排查才发现,我新增用户的时候&…

SpringBoot中的异常处理器

我们在以上的开发中,统一使用Result返回固定的数据格式给到前端,但是由于程序可能会出现BUG等问题,会导致最终返回给前端的数据,在异常情况下就又不统一了 为了实现在异常情况出现时,也能正常给前端返回统一的数据格式,我们需要使用 异常处理器 定义异常处理器需要使用RestCo…

Mac系统:mysql+jdk+neo4j

mysql 指令 //启动MySQL服务 sudo /usr/local/mysql/support-files/mysql.server start//停止MySQL服务 sudo /usr/local/mysql/support-files/mysql.server stop //连接MySQL数据库,在进行这一步前要先关掉服务 mysql -u root -p //检查MySQL服务状态 sudo /us…

【Unity】ABB CRB 15000 外部引导运动

一、RobotStudio控制器的文件系统和配置参数 HOME:控制器文件系统的根目录或起始点。配置:机器人控制器的配置设置和参数。外件信息:连接到机器人的外部组件的信息。I/O 系统:输入/输出系统,管理机器人和外部设备之间的…

基于dashscope在线调用千问大模型

前言 dashscope是阿里云大模型服务平台——灵积提供的在线API组件。基于它,无需本地加载大模型,通过在线方式访问云端大模型来完成对话。 申请API key 老规矩:要想访问各家云端大模型,需要先申请API key。 对于阿里云&#x…