深度学习核心技术与实践之自然语言处理篇

非书中全部内容,只是写了些自认为有收获的部分。

自然语言处理简介

NLP的难点

(1)语言有很多复杂的情况,比如歧义、省略、指代、重复、更正、倒序、反语等

(2)歧义至少有如下几种:
        1.有些歧义是指代不明确带来的。比如“曾记否,我与你认识的时候,还是个十来岁的少年,纯真无瑕,充满幻想。"其中十来岁的少年指代不明,有可能指你,也有可能指我。
        2.有些歧义是机器断句困难导致组合层次不同带来的。比如“我们四个人一”可以理解为“我们/四个人一组”或“我们四个人/一组”,“这件事我办不好”可以理解为“这件事/我/办不好”或“这件事/我办/不好”。
        3.有些歧义是结构关系不同导致的。比如“学生家长”可以理解为“学生的家长”或"学生和家长”,"出口食品”可以理解为动宾关系,也可以理解为偏正关系。
        4.有些歧义是词语语义多带来的。比如“他想起来了”可以理解为“他想起床了”或者“他想起来某件事情了”
        5.词类不同也可以带来歧义。比如“我要炒饭”中的“炒”可以是动词,也可以是形容词.
        6.很多新的品牌或网络用语也会带来歧义问题

NLP的研究范围

(1)分词:利用算法将一个汉字序列切分为一个个单独的词。比如将“手
爱机器学习”切分为“我/爱/机器学习“
(2)词性标注:将分词结果中的每个单词标注为名词、动词、形容词或其他词性的过程
(3)命名实体识别:识别文本串中具有特定物理意义的实体单词,比如人名、地名、机构名等
(4)关键词提取:提取文本串中若干个可以代表文章语义内容的词汇或词语
(5)自动摘要:也称为摘要提取,即根据文本语义内容提取较短的语句
(6)主题模型:隐式的主题模型如Latent Semantic Analysis (LSA) 、Probabilistic Latent Semantic Analysis ( PLSA) 、 Latent Dirichlet Allocation (LDA) 等都是非常常见的研究领域。
(7)依存句法分析:分析语言成分之间的依存关系,并揭示其语法树
(8)词嵌入 (Word Embedding) :将词采用向量表示。词嵌入从2013年左右开始就一直比较流行,可以说,词嵌入本身不是深度学习,但词嵌入是深度学习用于自然语言处理的基本前提
(9)机器翻译:利用计算机将一种自然语言转换成另一种自然语言的过程,两种自然语言分别称为源语言和目标语言

词性标注

传统词性标注模型

(1)传统的词性标注方法有隐马尔可夫模型(HMM)和最大马尔可夫模型(MEMM)等。其中,HMM是生成模型,MEMM是判别模型

(2)基于MEMM的词性标注器抽取当前待标注单词附近的特征,然后利用这些特征判别当前单词的词性。MEMM是最大熵模型(ME) 在处理序列模型方面的变种。其思想是在一串满足约束的标签中选出一个熵最大的标签

(3)当前单词的上下文信息又叫作特征。根据在语料中出现的频次,可以将单词分为常见词和罕见词。常见词周围的特征包括:待标注的单词、待标注单词附近的单词、待标注单词附近已标注单词的词性标签等;罕见词的特征包括:单词的后缀、单词的前缀、单词是否包合数字、单词是否首字母大写等

(4)HMM和MEMM存在同一个问题,就是只能从一个方向预测接下来的标注。一种解决方法是用例如CRF这样的强大模型,但是CRF的计算开销太大,并且对标注效果的提升有限

基于神经网络的词性标注模型

(1)模型从左向右依次标注句子中的单词,对于当前单词,抽取周用一定窗口大小内的特征,然后将其作为特征向量送入前馈神经网络分类器

(2)整个神经网络分为多层。第一层把每个单词映射到一个特征向量,得到单词级别的特征,第二层利用滑动窗口得到单词上下文的特征向量,不像传统的词袋方法,这个方法保留了窗口内单词的顺序关系。同时也可以加入其他特征,如单词是否首字母大写、单词的词干等

(3)在计算上下文特征时只考虑当前单词附近窗口大小为k范围内的单词,这种方法叫作窗口方法

(4)将整个句子的单词特征向量送入后续网络中,这种方法叫作句子方法

(5)对于词性标注来说,句子方法并不能带来明显的效果提升,但是对于自然语言里的某些任务,如语义角色标注(SRL),句子方法带来的效果提升会比较明显

(6)因为句子长度一般是不定的,所以在使用句子方法的神经网络模型中会增加卷积层

(7)用无监督训练得到的词向量初始化词性标注模型的词向量,能明显提升词性标注的准确率

基于Bi-LSTM的神经网络词性标注

(1)普通的词向量结合大量语料可以学习到单词间语义和语法上的相似性。举个例子,模型可以学到cats、kings、queens之间的线性相关性与cat、king、queen之间的线性相关性一样。不过模型并不能学到前面这组单词是由后面这组单词在末尾加s得到的

(2)普通的词向量模型查找表过于庞大,于是就有人提出将单词拆成更小的单元。基于字符的词向量模型的输入、输出和普通的词向量模型是一样的,因此在神经网络模型中这两种模型可以相互替换。与普通的词向量模型类似,基于字符的词向量模型是给字符集合建立一个查找表。字符集合包括大小写字母、数字、标点等,每个字符都可以在查找表中找到对应的字符向量,每个单词都可以看成一串字符,将单词中的字符对应的向量从左到右依次送入LSTM模型,再以右向左依次送入LSTM模型。两个方向的LSTM模型生成的结果组合生成当前单词的词向量,这样就可以利用Bi-LSTM模型得到单词的向量表示。整个过程如图19-3所示

(3)模型架构

(4)相对于普通的词向量模型,基于字符的词向量模型减少了很多参数。不过,因为英文中单词构成的复杂性,该模型在词性标注上的表现并没有超越现有模型

(5)虽然基于字符的词向量模型可以学习ed,ily这种形变特征,但是英文中有些字符构成很像的单词之间的差异却很大,比如lesson和lessen,虽然以字符角度看起来很像,但是它们的含义却完全不同

依存句法分析

未完待续...

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

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

相关文章

十大排序总结之——冒泡排序、插入排序

同样,这两几乎也是被淘汰了的算法,尽管它们是稳定的,但是时间复杂度没人喜欢,了解一下就好,没啥好说的,注意最后一句话就行了 一,冒泡排序 1. 算法步骤 共n-1趟,谁两敢冒泡就换了…

十四:爬虫-Redis基础

1、背景 随着互联网大数据时代的来临,传统的关系型数据库已经不能满足中大型网站日益增长的访问量和数据量。这个时候就需要一种能够快速存取数据的组件来缓解数据库服务I/O的压力,来解决系统性能上的瓶颈。 2、redis是什么 Redis 全称 Remote Dictio…

HarmonyOS4.0系统性深入开发10卡片事件能力说明

卡片事件能力说明 ArkTS卡片中提供了postCardAction()接口用于卡片内部和提供方应用间的交互,当前支持router、message和call三种类型的事件,仅在卡片中可以调用。 接口定义:postCardAction(component: Object, action: Object): void 接口…

建模杂谈系列236 Block Manager

说明 很久没有写了,总是写一半就没空往下写。这次正好有个单独的主题,可以写一下。 内容 1 块的分配 数据应该怎么切分和管理?这没有一个固定的答案,在我的实践中,我觉得一个块(Block)一万条记录是比较合理的。然后…

Android App从备案到上架全过程

不知道大家注意没有,最近几年来,新的移动App想要上架是会非常困难的,并且对于个人开发者和小企业几乎是难如登天,各种备案和审核。但是到底有多难,或许只有上架过的才会有所体会。 首先是目前各大应用市场陆续推出新的声明,各种备案截止日期到12月就要到最后期限责令整改…

docker实战:安装redis

目录 1、查看可用的版本2、拉取最新版的镜像3、查看本地镜像4、运行容器5、测试redis 服务6、清理容器 1、查看可用的版本 使用 docker search命令可以查看容器的可用版本,使用–limit可以设置输出的结果数量 [rootlocalhost docker]# docker search redis NAME …

文本分类应用到工作实践

日常工作中会用到文本分类,如果量比较少人工分类一下也可实现,但是准确率不是很高。如果量多就需要用到NLP相关功能。直接上代码实践。 运行环境:python3 paddlepaddle2.5.0 加载数据集 # 加载当前数据集 cd /home/aistudio/data/data238254/安装组件 # 安装组件 pip ins…

Debezium发布历史41

原文地址: https://debezium.io/blog/2018/10/04/debezium-0-9-0-alpha2-released/ 欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯. Debezium 0.9.0.Alpha2 发布 2018 年 10 月 4 日 作者&#xff1a…

191.【2023年华为OD机试真题(C卷)】亲子游戏(DFS和BFS—JavaPythonC++JS实现)

请到本专栏顶置查阅最新的华为OD机试宝典 点击跳转到本专栏-算法之翼:华为OD机试 🚀你的旅程将在这里启航!本专栏所有题目均包含优质解题思路,高质量解题代码,详细代码讲解,助你深入学习,深度掌握! 文章目录 【2023年华为OD机试真题(C卷)】亲子游戏(DFS和BFS—…

Python使用余弦相似度比较两个图片

为了使用余弦相似度来找到与样例图片相似的图片,我们需要先进行一些预处理,然后计算每两张图片之间的余弦相似度。以下是一个简单的实现: 读取样例图片和目标文件夹中的所有图片。对每张图片进行预处理,例如灰度化、降噪等。计算…

『OPEN3D』1.12 RGBD三维重建

目录 一、流程准备 1、数据集准备 2、重建参数配置 3、代码运行 二、代码解析</

shell case判断的实际应用

简介 case语句是一种多路分支结构&#xff0c;用于根据变量的值来判断执行不同的命令。作用与 if 有着异曲同工之妙&#xff0c;在某些地方比 if 可能更加好用&#xff0c;这里就介绍一些 case 的用法与实践&#xff0c;if 的详细方法见另一篇文章&#xff1a;shell if判断的应…

我的机器学习起步如何Getting Started

学习技巧和原则 先通过经典书籍进行科普知名机器学习网站根据书籍或网站的目录&#xff0c;先泛读、再选择有兴趣的部分重点精读、后至于反复读知行合一 起步Getting Started 周志华版《机器学习》&#xff0c;又名西瓜书 可以作为科普书籍&#xff0c;需要主动略过对于理论…

27、web攻防——通用漏洞SQL注入Tamper脚本Base64Jsonmd5

文章目录 数字型&#xff1a;0-9。http;//localhost:8081/blog/news.php?id1 字符型&#xff1a;a-z、中文&#xff0c;需要闭合符号。http;//localhost:8081/blog/news.php?idsimple 搜索型&#xff1a;在字符型的基础上加入了通配符%。http;//localhost:8081/blog/news.…

问界M9激光雷达解说

什么是激光雷达 激光雷达(英文:Lidar),是一种通过发射激光束来测量目标位置、速度等特征量的雷达系统。其工作原理是将激光光束照射到目标物体上,然后通过测量激光光束从发射到反射回来的时间,来计算目标物体的距离、位置、速度等参数。激光雷达通常用于测量地形、地貌、…

js常用事件演示

为什么要使用js事件&#xff1a; JavaScript事件是非常重要的&#xff0c;因为它们提供了与用户交互和处理用户操作的能力。以下是一些使用JavaScript事件的原因&#xff1a; 交互性&#xff1a;使用JavaScript事件可以实现各种交互功能&#xff0c;例如点击按钮、移动鼠标、按…

考研用什么光源比较好?五款好用台灯推荐

人眼对光是非常敏感的&#xff0c;特别是儿童青少年眼睛还在发育的状态来说&#xff0c;光线是至关重要的&#xff0c;于是这次测评就不能马虎&#xff0c;必须要本着专业严谨的态度进行测评&#xff0c;这次测评呢就花了不少钱买下了现在市面上热度很高、或是较有名气的专业款…

超维空间S2无人机使用说明书——53、进阶版——添加滤波后使用PID算法进行基于yolo的目标跟踪

引言&#xff1a;为了提高识别效果&#xff0c;采用递推均值滤波的算法对图像返回的识别准确度和位置信息进行处理&#xff0c;在实际应用过程中有着不错的表现。本小节内容是在52小节的基础上进行优化&#xff0c;可以先参考52小节&#xff0c;在此基础上再参考此处代码即可。…

LeetCode刷题--- 第 N 个泰波那契数

个人主页&#xff1a;元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏 力扣递归算法题 http://t.csdnimg.cn/yUl2I 【C】 ​​​​​​http://t.csdnimg.cn/6AbpV 数据结构与算法 ​​​http://t.csdnimg.cn/hKh2l 前言&#xff1a;这个专栏主要讲述动…

男女婚姻配对中若男孩有金钱和长相帅气是容易成功的因素分析

男女婚姻配对中若男孩有金钱和长相帅气是容易成功的因素分析。 男人想要脱离单身主要考虑哪些因素、提升哪些方面。 首先&#xff0c;你要清楚&#xff0c;女人喜欢什么&#xff0c;你和她能长久在一起的概率是多少&#xff1f; 直白的说&#xff0c;女人&#xff0c;就是喜欢…