深度学习核心技术与实践之自然语言处理篇
非书中全部内容,只是写了些自认为有收获的部分。
自然语言处理简介
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,虽然以字符角度看起来很像,但是它们的含义却完全不同
依存句法分析
未完待续...
相关文章:
![](https://img-blog.csdnimg.cn/direct/523286bf244b45b3a4ae75db802c40d4.png)
深度学习核心技术与实践之自然语言处理篇
非书中全部内容,只是写了些自认为有收获的部分。 自然语言处理简介 NLP的难点 (1)语言有很多复杂的情况,比如歧义、省略、指代、重复、更正、倒序、反语等 (2)歧义至少有如下几种: …...
![](https://img-blog.csdnimg.cn/direct/64c0ba3336c348f3abe4c8c705d48c36.png)
AI-ChatGPTCopilot
ChatGPT chatGPT免费网站列表:GitHub - LiLittleCat/awesome-free-chatgpt: 🆓免费的 ChatGPT 镜像网站列表,持续更新。List of free ChatGPT mirror sites, continuously updated. Copilot 智能生成代码工具 安装步骤 - 登录 github&am…...
![](https://img-blog.csdnimg.cn/direct/98dd0a4bb27447f9a4142eeb70858463.png)
网络安全-真实ip获取伪造与隐藏挖掘
目录 真实ip获取应用层网络层网络连接TOAproxy protocol ip伪造应用层网络层TOA攻击proxy protocol 隐藏代理 挖掘代理多地ping历史DNS解析记录国外主机解析域名网站RSS订阅网络空间搜索引擎 总结参考 本篇文章学习一下如何服务如何获取真实ip,隐藏自己的ip…...
![](https://www.ngui.cc/images/no-images.jpg)
CMake入门教程【核心篇】添加子目录(add_subdirectory)
文章目录 1.概述2.添加子目录3.指定二进制目录4.排除子目录5.使用别名6.传递变量7.检查子目录是否存在 1.概述 add_subdirectory是 CMake 中的一个命令,用于向当前项目添加一个子目录。它的语法如下: #mermaid-svg-9zKJ3AvoVRln9hon {font-family:"…...
![](https://img-blog.csdnimg.cn/direct/006ac508278e47a9a947910f46f7ac3c.png#pic_center)
Prototype原型模式(对象创建)
原型模式:Prototype 链接:原型模式实例代码 注解 模式定义 使用原型实例指定创建对象的种类,然后通过拷贝这些原型来创建新的对象。 ——《设计模式》GoF 目的 在软件系统中,经常面临这“某些结构复杂的对象”的创建工作&am…...
![](https://img-blog.csdnimg.cn/direct/c9a2ed94483143cb83a26cc9d9294c68.png)
[Redis实战]分布式锁
四、分布式锁 4.1 基本原理和实现方式对比 分布式锁:满足分布式系统或集群模式下多进程可见并且互斥的锁。 分布式锁的核心思想就是让大家都使用同一把锁,只要大家使用的是同一把锁,那么我们就能锁住线程,不让线程进行…...
![](https://img-blog.csdnimg.cn/direct/5fc6224223d54512a9073338b91a64e5.png)
SpingBoot的项目实战--模拟电商【2.登录】
🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于SpringBoot电商项目的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.功能需求 二.代码编写 …...
![](https://csdnimg.cn/release/blog_editor_html/release2.3.6/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=N7T8)
http——https实现指南
第一部分:HTTPS安全证书简介 什么是HTTPS安全证书? 在网络通信中,HTTPS安全证书是一种由可信任的证书颁发机构(CA)签发的数字证书,用于保障网站与用户之间的数据传输安全。通过加密和身份验证,…...
![](https://img-blog.csdnimg.cn/direct/d0422e84d03c4976bba7d931819f7fe8.png)
ROS仿真R2机器人之安装运行及MoveIt的介绍
R2(Robonaut 2)是NASA美国宇航局与GM通用联合推出的宇航人形机器人,能在国际空间站使用,可想而知其价格是非常昂贵,几百万美刀吧,还好NASA发布了一个R2机器人的Gazebo模型,使用模型就不需要花钱了,由于我们…...
![](https://www.ngui.cc/images/no-images.jpg)
【linux 多线程并发】线程属性设置与查看,绑定CPU,线程分离与可连接,避够多线程下的内存泄漏
线程属性设置 专栏内容: 参天引擎内核架构 本专栏一起来聊聊参天引擎内核架构,以及如何实现多机的数据库节点的多读多写,与传统主备,MPP的区别,技术难点的分析,数据元数据同步,多主节点的情况…...
![](https://img-blog.csdnimg.cn/direct/58b4cebcdeed490ea759165e6a74d50e.png)
70.乐理基础-打拍子-三连音
上一个内容:69.乐理基础-打拍子-大切分与变体-CSDN博客 62-66是总拍数为一拍的节奏型,一共有七个,68-69是两拍的节奏型。 三连音说明: 1.三连音的总拍数可以是一拍、两拍、四拍。。。。 2.打拍子比较难,或许需要用V字…...
![](https://img-blog.csdnimg.cn/direct/8e23e53fd9f3491cbcba7aa2296348f7.png)
100天精通Python(实用脚本篇)——第111天:批量将PDF转Word文档(附上脚本代码)
文章目录 专栏导读1. 将PDF转Word文档需求2. 模块安装3. 模块介绍4. 注意事项5. 完整代码实现6. 运行结果书籍推荐 专栏导读 🔥🔥本文已收录于《100天精通Python从入门到就业》:本专栏专门针对零基础和需要进阶提升的同学所准备的一套完整教…...
![](https://img-blog.csdnimg.cn/direct/085dfbdb7ff94564a8144d6856988f08.png)
如何在 NAS 上安装 ONLYOFFICE 文档?
文章作者:ajun 导览 ONLYOFFICE 文档 是一款开源办公套件,其是包含文本文档、电子表格、演示文稿、表单、PDF 查看器和转换工具的协作性编辑工具。它高度兼容微软 Office 格式,包括 .docx、.xlsx 、.pptx 、pdf等文件格式,并支持…...
![](https://img-blog.csdnimg.cn/fac08fb87e0449e38743dc645051c6e2.png)
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK设置相机的图像剪切(ROI)功能(C++)
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK设置相机的图像剪切(ROI)功能(C) Baumer工业相机Baumer工业相机的图像剪切(ROI)功能的技术背景CameraExplorer如何使用图像剪切(ROI)功…...
![](https://www.ngui.cc/images/no-images.jpg)
从 WasmEdge 运行环境读写 Rust Wasm 应用的时序数据
WebAssembly (Wasm) 正在成为一个广受欢迎的编译目标,帮助开发者构建可迁移平台的应用。最近 Greptime 和 WasmEdge 协作,支持了在 WasmEdge 平台上的 Wasm 应用通过 MySQL 协议读写 GreptimeDB 中的时序数据。 什么是 WebAssembly WebAssembly 是一种…...
![](https://img-blog.csdnimg.cn/direct/1f977336088d4a4488ba85a03faeaa2f.png)
算法训练营Day34(贪心算法)
1005.K次取反后最大化的数组和 1005. K 次取反后最大化的数组和 - 力扣(LeetCode) 秒了 class Solution {public int largestSumAfterKNegations(int[] nums, int k) {Arrays.sort(nums);// -4 -3 -2 -1 5//-2 -2 0 2 5int last -1;for(int i 0;i<…...
![](https://img-blog.csdnimg.cn/direct/488ea700f02b4ed3a101451af6f70237.png)
uniapp:全局消息是推送,实现app在线更新,WebSocket,apk上传
全局消息是推送,实现app在线更新,WebSocket 1.在main.js中定义全局的WebSocket2.java后端建立和发送WebSocket3.通知所有用户更新 背景: 开发人员开发后app后打包成.apk文件,上传后通知厂区在线用户更新app。 那么没在线的怎么办&…...
![](https://img-blog.csdnimg.cn/direct/3ca1ccc7e42c41d6bafc2b40ce386ef2.gif)
ARM1.2作业
实现数码管不同位显示不同的数字 spi.h #ifndef __SPI_H__ #define __SPI_H__ #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_rcc.h"//MOSI对应的引脚输入高低电平的信号PE14 #define MOSI_OUTPUT_H() do{GPIOE->ODR | (0x1 << 14);}whi…...
![](https://www.ngui.cc/images/no-images.jpg)
【算法专题】递归算法
递归 递归1. 汉诺塔问题2. 合并两个有序链表3. 反转链表4. 两两交换链表中的节点5. Pow(x, n) --- 快速幂 递归 在解决⼀个规模为 n 的问题时,如果满足以下条件,我们可以使用递归来解决: 问题可以被划分为规模更小的子问题,并且…...
![](https://www.ngui.cc/images/no-images.jpg)
不停止业务的情况下优化 Elasticsearch Reindex
在使用 Elasticsearch 时,我们总有需要修改索引映射的时候,这时我们只能进行 _reindex。事实上,这是一个相当昂贵的操作,因为根据数据量和分片数量,完整复制一个索引可能需要几个小时。 花费的时间不是大问题,但更严重的是,它会影响生产环境的性能甚至功能。 相信大家…...
![](https://www.ngui.cc/images/no-images.jpg)
PB 按Excel动态创建对应字段
/* > Function: w_cwjk_xhyy.wf_dw_init >-------------------------------------------------------------------- > 描述: 按excel表格列名,创建对应字段,用于部分接口对应字段导出文件 >-------------------------------------------------------------------- …...
![](https://img-blog.csdnimg.cn/02f72d193c1e4e1b80819dd18fea11b7.png)
数据结构——红黑树 and B-树
红黑树 根据平衡条件第4、5两点 最短路径,都是黑色 最长路径,红黑相间 最长是最短的两倍 B-树...
![](https://www.ngui.cc/images/no-images.jpg)
Android中线程间的通信-Handler
Handler机制在Android中主要用于线程间的通信,特别是处理从子线程向主线程(UI线程)传递消息和更新界面。 Handler中的四个关键对象及其作用: Message: Message 是在线程间传递的数据载体,它包含了需要处理…...
![](https://img-blog.csdnimg.cn/direct/a795d4bab1764eb4ae5edbde0bf57bb1.png)
Spring Boot Admin健康检查引起的Spring Boot服务假死
问题现象 最近在spring boot项目中引入了 spring-boot-starter-actuator 后,测试环境开始出现服务假死的现象, 且这个问题十分怪异,只在多个微服务中的简称A的这个服务中出现,其他服务都没有出现这个问题, 之所以说…...
![](https://img-blog.csdnimg.cn/direct/ed6a7c2697734458bf7509de32cfaf55.png)
java企业人事信息管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目
一、源码特点 java Web企业人事信息管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境 为TOMCAT7.0,Myeclipse8.5开发,数据库为M…...
![](https://www.ngui.cc/images/no-images.jpg)
如何通过 useMemo 和 useCallback 提升你的 React 应用性能
背景 在 React 中,useMemo 和 useCallback 这两个 hook 是我们优化应用性能的有力工具。它们会返回 memoized 版本的值或函数,只在依赖项发生变化时才进行重新计算或定义。 Hook 介绍 useMemo useMemo 的作用是返回一个 memoized 值,它接…...
![](https://img-blog.csdnimg.cn/direct/c2e28e1c4dac4334885c87544388fcf2.png)
ArkTS - @Prop、@Link
一、作用 Prop 装饰器 和Link装饰器都是父组件向子组件传递参数,子组件接收父组件参数的时候用的,变量前边需要加上Prop或者Link装饰器即可。(跟前端vue中父组件向子组件传递参数类似) // 子组件 Component struct SonCom {Prop…...
![](https://img-blog.csdnimg.cn/direct/6e05f9510c5345c08473fb22b4f14ee2.png)
Python中matplotlib库的使用1
1 matplotlib库简介 matplotlib是一个数学绘图库,可以将数据通过图形的方式显示出来,也就是数据可视化。 2 matplotlib库的安装 2.1 打开cmd窗口 点击键盘的“Win”“R”键,在弹出的“运行”对话框的“打开”栏中输入“cmd”,…...
![](https://www.ngui.cc/images/no-images.jpg)
位乘积计数-蓝桥
题目链接:1.位乘积计数 - 蓝桥云课 (lanqiao.cn) 解题思路:10的5次数量级暴力居然过了,看来测试样例很水,直接1遍历到n,再用一个循环判断每位数相乘乘机是否等于m即可。 下面是c代码: #include <iost…...
![](https://img-blog.csdnimg.cn/direct/c5171154ff324a43a3d9734c728457a6.png)
HCIA-Datacom题库(自己整理分类的)——OSPF协议判断
1.路由表中某条路由信息的Proto为OSPF则此路由的优先级一定为10。√ 2.如果网络管理员没有配置骨干区域,则路由器会自动创建骨干区域? 路由表中某条路由信息的Proto为OSPF,则此路由的优先级一定为10。 当两台OSPF路由器形成2-WAY邻居关系时࿰…...
![](/images/no-images.jpg)
做我姓什么的网站/沈阳百度推广排名优化
一、MySQL数据库的特点:1、MySQL是关系型数据库管理系统2、体积小,灵活性强,速度快3、源码开放,成本低,可移植性强二、与oracle数据库的区别1、数值类型不同a)整数类型包括:smallint(2字节),int…...
![](https://img-blog.csdnimg.cn/img_convert/a5ec208e74ad1be671610a7a94812eae.png)
东营做网站优化公司/长沙seo推广外包
F1官方日前宣布F1电竞全球锦标赛将连续第四年盛大举行,今年资格赛参赛人群破纪录超23.7万人,赛事总奖金也飙升至75万英镑。与此同时,F1电竞中国冠军赛个人挑战赛也全面开启报名,中国的模拟赛车爱好者们同样可以在虚拟赛道上&#…...
![](https://img-blog.csdnimg.cn/20190112232114660.png)
网站开发公司创业/飓风seo刷排名软件
信号量概述 信号量广泛用于进程或线程间的同步和互斥,信号量本质上是一个非负的整数计数器,它被用来控制对公共资源的访问。 编程时可根据操作信号量值的结果判断是否对公共资源具有访问的权限,当信号量值大于 0 时,则可以访问&…...
![](https://img-blog.csdnimg.cn/img_convert/da81330f45ca185b020e97182b1cbb6d.gif)
章丘网站制作/数字营销成功案例
HTML5 服务器发送事件(Server-Sent Events) 服务器发送事件(Server-sent Events)是基于 WebSocket 协议的一种服务器向客户端发送事件和数据的单向通讯。 HTML5 服务器发送事件(server-sent event)允许网页获得来自服务器的更新。…...
![](/images/no-images.jpg)
用废旧盒子做家用物品网站/域名停靠网页app推广大全
老李分享:jvm内存原型剖析一、java虚拟机内存原型 寄存器:我们在程序中无法控制栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中堆:存放用new产生的数据静态域:存放在…...
![](/images/no-images.jpg)
省内注销二建 建设部网站更新慢/广州疫情防控措施
这周才发现上周并没有写报告,只能补起来,下周也需要写两篇报告,不然数量不够。 这周的主要是看了下C#并从前看了下java,发现C#和java很像,也有一些语句不同,说起来这种只用类和对象的语言用起来很方便&…...