自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (1)
  • 收藏
  • 关注

原创 c++11原子量atomic

由于一种没来由的好奇,花了一下午理解了下c++11新增的原子量特性,感觉网上大多数文章都没讲清楚。写下我的一些理解首先来看什么是原子操作以及为什么引进它概述在多线程模式下为了保证线程安全,我们通常做法是给共享资源加互斥锁,在一段时间只能有一个线程访问并操作共享资源,其他线程都会阻塞,在一些对性能要求很高的情况下可能加锁就显得有点过重,可能会造成性能瓶颈,于是就想出能不能在汇编层面让系统自己能...

2020-02-09 23:32:23 2275

原创 深入剖析poll,epoll机制(源码分析)

之前理解了一下select,poll,epoll机制,知道他们的区别,但对于是什么造成这种区别或是具体什么操作让epoll拥有更好的性质还是一知半解,于是决心研究下他们的源码一.首先来看poll机制int poll (struct pollfd *fds, unsigned int nfds, int timeout);其中nfds是fds数组中pollfd对象的个数,timeou...

2020-01-04 14:51:24 549

原创 nlp深度学习代码总结--pytoch

代码总结文本清洗去除网址def remove_URL(text): url = re.compile(r'https?://\S+|www\.\S+') return url.sub(r'', text)去除表情符号def remove_emoji(text): emoji_pattern = re.compile( '[' u'\U0001F600-\U0001F64F' # emoticons u'\U0001F300

2021-08-22 14:32:18 560

原创 SPRM--笔记

论文题目:《A Shared-Private Representation Model with Coarse-to-Fine Extraction for Target Sentiment Analysis》这篇文章主要是对span-based模型的改进,先回顾下span-based模型,其先是预测起止点概率,再是利用广度启发式算法选择多个目标实体,收集其起始和结束位置,然后是根据起止位置提取隐藏状态进行极性预测本篇论文作者提出其目标实体提取与极性分类之间的关系没有得到很好地利用,同时设置阈值提出.

2021-08-08 09:35:40 592

原创 aspect-polarity co-extraction小记录

aspect-polarity co-extraction是将目标实体识别与情感极性分类两个任务结合,目前对这个任务的研究通常都是转换为序列标记问题,具体有三种不同的模型pipeline model, joint model, collapsedmodel。pipeline的解决办法是先搭建一个模型提取实体,再用另一模型判断极性,两个任务模型相互独立, collapsed是将两种标注任务结合,一起判断,joint是设置两个相互间交互的模型来进行标注任务,分别输出各自标签体系。E2E-TBSA:《A

2021-08-07 22:50:02 522

原创 SPAN--笔记

论文题目:《Open-Domain Targeted Sentiment Analysis via Span-Based Extraction and Classification》这篇论文研究的任务依然是方面词实体提取和情感极性判断,其主要针对的点是同一实体词不同单词的情感极性不一致问题,引入了SPAN概念首先提一下目前对这个任务的研究通常都是转换为序列标记问题,具体有三种不同的模型pipeline model, joint model, collapsedmodel。pipeline的解决.

2021-08-07 16:52:35 406

原创 《GRACE: Gradient Harmonized and Cascaded Labeling for Aspect-based Sentiment Analysis》阅读笔记

GRACE论文题目: 《GRACE: Gradient Harmonized and Cascaded Labeling for Aspect-based Sentiment Analysis》本文研究对象是方面术语与情感极性的联合抽取,作者提出以前的方法忽略了方面术语之间的相互作用,同时忽略了序列标记任务中标签的不平衡性。针对这两个问题提出新的框架GRACE,解决端到端的方面项极性共提取问题。它采用级联标签的方法来考虑标签之间的相互作用时,标签他们的情感标签同时梯度协调策略来缓解标签的不平衡问题模

2021-08-03 21:46:09 405

原创 《Exploiting BERT for End-to-End Aspect-based Sentiment Analysis》笔记

论文题目:Exploiting BERT for End-to-End Aspect-based Sentiment Analysis文章主要是研究bert在端对端的ABSA序列标注任务中的作用,同时在使用Bert的基础上还实验了多个下游任务模型,值得注意的是得到的结果已经超出当时的 SOTA (可见bert的强大),过程如下。整个模型框架如上,输入序列 x={x1,...,xT}x=\{x_1,...,x_T\}x={x1​,...,xT​}​​ 首先用bert来计算对应的上下文表示得到 HL.

2021-07-30 11:00:24 651

原创 《Knowing What, How and Why: A Near Complete Solution for Aspect-based Sentiment Analysis》笔记

论文题目:《Knowing What, How and Why: A Near Complete Solution for Aspect-based Sentiment Analysis》首先作者围绕上图总结了下目前细粒度情感分析的一些任务,主要有三个子任务,分别是方面/目标词提取(ATE),意见项提取(OTE),方面/目标项情感分类(ATC),中间层的每个圆圈表示对应的一个直接子任务,与aspect term相连的圆圈"sentiment"是ATC,有许多相关的研究,包括TD-LSTM,IAN,Me

2021-07-29 22:02:16 745

原创 《Investigating Typed Syntactic Dependencies for TSC Using GAT》论文笔记

论文题目:Investigating Typed Syntactic Dependencies for Targeted Sentiment Classification Using Graph Attention Neural Network概览该文章认为依存句法信息能作为一种外部有用知识帮模型找到 目标对应的情感词,依存句法信息即对句子建立的语法图,比如下图该文章就利用了这种单词之间的关系来帮助衡量上下文单词对目标单词的重要性,其主要研究的是如何利用语法依存关系来进行更有针对性的情感分类,提.

2021-07-28 19:47:45 692

原创 TNet--阅读笔记

《Transformation Networks for Target-Oriented Sentiment Classification》笔记论文题目:Transformation Networks for Target-Oriented Sentiment Classification论文链接:https://aclanthology.org/P18-1087知乎链接:https://zhuanlan.zhihu.com/p/393348516这篇是18年ACL上的文章,提出Tnet模型,当前对

2021-07-26 18:43:07 630

原创 RAM--阅读笔记

《Recurrent Attention Network on Memory for Aspect Sentiment Analysis》笔记论文题目:《Recurrent Attention Network on Memory for Aspect Sentiment Analysis》论文链接:https://aclanthology.org/D17-1047论文采用了多级注意力机制以及记忆网络,对于以往提出的网络,都不能很好提取综合较分散的特征信息,例如:“Except Patrick, al

2021-07-25 10:47:39 327 1

原创 《targeted-ABSA via Embedding Commonsense Knowledge into an Attentive LSTM》阅读笔记

论文:《Targeted Aspect-Based Sentiment Analysis via Embedding Commonsense Knowledge into an Attentive LSTM》(AAAI2018)论文链接:https://www.aaai.org/ocs/index.php/AAAI/AAAI18/paper/viewPDFInterstitial/16541/16152文章首先对以往的基于方面的情感分析方法进行了一个简单回顾,提出了存在的几个问题:(1)现有的研究都.

2021-07-20 23:04:49 328 1

原创 PCA算法实现

PCA实现PCA即主成分分析算法,目的是降低数据的维度,直观来说就是减少数据的特征数量(不是丢弃特征)第一步是均值归一化,计算出所有特征的均值,然后将每个X的值减去均值,如果特征是在不同的数量级上,还需要除以标准差 #将特征均值归一化 X = (X - X.mean()) / X.std()第二步是计算协方差矩阵[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jCxf54pP-1618665953705)(PCA算法实现.assets/wps3

2021-04-17 21:27:17 745

原创 k-means简单实现

k-means简单实现k-means算法是典型的无监督式聚类算法,目的是将数据自动分为多个组别,如下图数据的分布以及k均值聚类后得到的结果算法内容选择k个点,作为初始的聚类中心k的选择大多情况下认为给定,无法给定时可尝试多个k值分析得到恰当的k值遍历每个数据点,将其与其距离最近的中心点归为一类计算每一类别的均值将均值设为新的中心点再反复上过程可见该算法为迭代算法算法实现拿到数据集,先画图观察def Draw(data): data1 = pd

2021-04-17 21:11:45 710

原创 csapp学习笔记二----机器级表示

机器级表示这一章主要是要理解汇编代码,以及如何将高级语言转换为汇编语言程序编码数据格式一个x86-64中央处理器包含一组16个存储64位值的通用寄存器有不同的寻址方式数据传送寄存器传送寄存器可传送6个整形参数%rdi %rsi %rdx %rcx %r8 %r97~n的参数存放在栈上,对于寄存器不足够存放所有的本地数据,局部变量使用“&”或是数组结构必须存放在内存里【举例1】swap_add(&arg1, &arg2) long s

2021-03-31 09:57:28 657 2

原创 csapp学习笔记一----信息表示与处理

信息表示与处理这一章节的重要点是掌握数据在的存储形式,特别是浮点数的存储原理。小端与大端表示法小端表示法即将字节的低位保存到内存的低地址,字节的高位保存到内存的高地址大端表示法则相反,字节的高位保存在内存的低地址注意目前大多Intel机器都采用小端模式字符串表示注意C语言字符串是ASCII编码,而ASCII编码具有平台独立性,因为其字节顺序一定,始终是从地位地址开始存起逻辑运算与位运算逻辑运算符:||,&&,!位运算:|,&移位运算:>>不要

2021-03-31 09:53:04 111

原创 数据结构面试知识点概览

文章目录数据结构分治算法布隆过滤器一致id生成器KNN分类算法加密算法分布式一致性算法一致性哈希字典序算法哈希表解决冲突扩容机制树完全二叉树二叉搜索树AVL红黑树B树B+树Trie树图图的遍历最短路径算法最小生成树排序快排并查集贪心算法和动态规划字符串字符串查找数据结构分治算法1)计算大数乘法2)找最大最小值3)寻找中位数布隆过滤器用于检索一个元素是否在一个集合中数据结构为位图,多个哈希函数,计算出多个哈希值,将相应的哈希值置为1,判断时计算相应的哈希值得到K个值,判断相应K个值的位置上是否

2021-03-30 13:10:33 429

原创 编译原理面试知识点概览

文章目录编译原理一个编译器的结构词法分析语法分析自顶向下分析--LL1文法自底向上分析--LR分析法语义分析语法制导定义SDD语法制导翻译方案中间代码生成机器无关代码优化代码生成机器相关代码优化概念文法和语言面试问题设计编译器,并优化大数据编译器的优化设计算法减少代码编译过程能耗面试问题设计编译器,并优化大数据编译器的优化设计算法减少代码编译过程能耗编译原理一个编译器的结构词法分析读入组成源程序的字符流,输出词法单元1)有穷自动机​ 确定的FA–DFA ;非确定的FA–NFA语法分析在词法

2021-03-30 13:09:09 1851

原创 数据库面试知识点概览

文章目录数据库数据库管理系统数据库管理系统的功能数据库系统结构数据库系统的标准结构数据模型关系模型关系模型概念关系模型中的完整性约束数据库完整性和安全性Sql约束数据库安全性嵌入式语言视图游标api数据库设计数据库设计过程与设计方法关系模式设计数据库范式模式分解考虑的问题无损连接分解及其检验算法保持依赖分解及其检验算法最小依赖集数据库存储磁盘的结构和特性DBMS数据存储与查询实现的基本思想数据库表与记录的映射文件组织方法事务什么是事务ACID特性数据库索引索引索引的简单分类并发控制并发一致性问题事务调度及可

2021-03-30 13:00:20 215

原创 Linux内核进程调度

计算机方面总是这样你以为你都知道其实可能还有很多不知道,怂了怂了学操作系统的时候老师经常会讲先进先出呀,优先级调度呀,多级队列呀等等策略,他们都有自己的适用场景,因为Linux内核里有不同类型的进程,所以就要结合多个策略,其内部进程大体可分为实时进程,非实时进程,非实时进程又可分为批处理进程,交互式进程等,对于实时进程就主要采用先进先出,轮转调度;所有非实时进程在Linux里都使用CFS调度,即...

2020-03-12 22:34:55 164

原创 二分查找题目总结

一位大佬曾经说过:二分查找思路很简单,细节是魔鬼做了一些题后感慨真的是这样…二分查找法:实质就是将一个有序的数据集不断地对半分割,直至找到目标值;其中两个最关键的也是在面对不同题目会稍有不同的就是怎么退出循环,怎么缩小查找空间。怎么突破这两点就是关键在一个有序数据集里查找一个一个目标数可以有一下两种写法int Search(vector<int>& nums, int ...

2020-02-06 21:09:38 458

原创 剑指offer之二叉树总结

会用递归了二叉树的问题就会一大半了...一.用递归求解对于要利用二叉树的规律的题都可以利用它的左节点也是其左子树的根节点的特性来递归求解。可以说那种参数有根节点的题一般都可以用递归来解决,来看看《剑指offer》中可用递归解决的题1.根据前序遍历的性质,第一个元素必然就是root,那么下面的工作就是如何确定root的左右子树的范围。根据中序遍历的性质,root元素前面都是root的左子...

2020-02-03 21:03:20 104

原创 剑指offer之字符串题型总结

题库里关于字符串的题型大致是以下几类字符串,字符数组,整数等转换 规则判断 数字运算 与数组操作相关 动态规划 高级数据结构 1.字符串,字符数组,整数等转换(1)字符串与字符数组的转换int main(){ string s = "hello"; const char* s1 = NULL; //strin...

2020-02-01 21:41:55 277

原创 协程详解(基于ucontext.h)

1.概述 花了点时间理解了一下协程,可能刚开始看到协程两个字会以为是什么新的事务,它其实用一组特殊的函数就可以实现,并没有深入内核。对于线程,它们的切换是由操作系统根据其系统内核中的调度器,抢占式地进行的,就各个线程间的运行的先后顺序是不能完全控制的。对于协程,它们的切换是由开发者,或者编程语言决定的,也就是说,各任务之间可以通过在某些控制点执行暂停、恢复函数,来达到多任务“协作”...

2020-01-31 17:40:34 4011 2

原创 经典排序算法总结及关键代码(c++)

主要是理解动图,结合图和代码来分析理解。冒泡排序平均复杂度:O(n2)空间复杂度:O(1)稳定性:稳定冒泡排序 是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。void Bu...

2020-01-21 22:22:39 237

原创 分析c++引用与指针的区别

我看网上对引用说的大多很宽泛,是一块内存的别名,那它具体是怎么产生的,它本身占据内存吗,怎么保存的,保存在哪儿的写个简单的小程序来反汇编看看#include <cstdio>int main(){ int a = 2; int* b = &a; int& c = a; return 0;}反汇编后(g++ -S *...

2020-01-16 23:58:13 186 1

原创 剑指offer之正则表达式匹配

题目描述请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配首先,考虑特殊情况:两个字符串都为空,返回true...

2020-01-16 23:25:16 143

原创 STL源码分析之Map

map和set一样是关联式容器,它们的底层容器都是红黑树,区别就在于map的值不作为键,键和值是分开的,在map的红黑树中排序依据是键值,所以其键值也不能修改,来看其具体的源码定义template <class Key, class T, class Compare = less<Key>, class Alloc = alloc>class map {pub...

2020-01-15 10:24:06 204

原创 STL源码分析之pair

pair主要是用于map中,它的实现代码很简单,构造的操作也较少#ifndef __SGI_STL_INTERNAL_PAIR_H#define __SGI_STL_INTERNAL_PAIR_H__STL_BEGIN_NAMESPACEtemplate <class T1, class T2>struct pair{ typedef T1 first_t...

2020-01-15 09:52:53 167

原创 STL源码分析之红黑树

主要分析一下STL里的红黑树,红黑树相对来说是一种较为复杂的数据结构,具体的学习方法建议看那种带有很多图解的博客,先理解其原理流程,再自己写下代码,其实就能理解了。STL里红黑树的实现有几个特点,一个它设置了一个空头结点header,它的左节点指向树最小元素,有节点指向树最大元素,实际带有有意义值的头结点为root,root的父节点为header.这使在一些插入删除操作时要讨论下特殊情况,附上代码...

2020-01-08 17:46:40 160

原创 每日一封装之大根堆

STL容器里的优先队列就会基于大根堆算法在vector基础上实现的,原理较简单,主要是节点的调整,当插入一个节点,是先把它放在容器末尾,再上调元素。删除元素是先找到要删除的那个元素,用容器末尾的值覆盖它,再依次下调节点template <typename T>class MaxHeap{public: MaxHeap(); ~MaxHeap();publi...

2020-01-06 23:36:14 140

原创 STL源码分析之stack,queue

stack是把容器封装后的产物,底层实现是deque容器,只是改变了容器的接口,所有代码就简单得多template <class T, class Sequence = deque<T> >template <class T, class Sequence>class stack { friend bool operator== __...

2020-01-06 22:49:15 86

原创 STL源码分析之List

list是个环形双向链表,里面的迭代器类型是bidirectional_iterator_tag,可以双向移动,不想vector里可以随机访问。同时删除或添加结点对其他的迭代器无影响。List也有sort函数,我们知道sort函数只支持随机访问型迭代器,所有它的sort是自己另外声明的。下面是源码分析,基本都标注了各函数功能和分析template <class T>struct...

2020-01-06 18:28:44 107

原创 c++ traits技法理解

终于理解了c++ traits技法,不得不说它对c++的作用可以说是很大,让编程效率可以提升很多,为什么这多说,就是当我们在写了一个模板后,traits技法可以让这个模板的通用性更强,模板偏特化就会在模板泛化中再设计一个特别的版本,看下面这个列子,对于模板参数是一个一个普通类型时,它会匹配第一个模板,当为指针时匹配第二个模板,这就区分开了两种,可以有不同的处理方式template<ty...

2020-01-06 17:19:32 771

原创 STL源码分析之vector

Vector是序列容器的一种,分配的是一段连续的空间,所以它支持下标访问,同时它另一特点是可以自行扩充空间,每次是以原大小两倍来扩充,是另外配置的一块空间,将原内容拷贝过去,所以当对vector的空间进行重新配置时,指向原vector的迭代器就失效了。下面分析它具体是怎么实现的和熟悉下vector内部函数迭代器里面主要有三个迭代器iterator start; ...

2020-01-05 22:39:28 90

原创 深入理解空间配置器

我们都知道STL里有很多容器,如vector,stack,queue等等,每个容器都是通过配置器来获取存储空间的,现在来总结下配置器原理当我们创建一个对象时常用方式是new,销毁一个对象用deleteT* a = new T;Delete a;对于new 其实是先调用为其配置内存,再调用相应的构造函数,对于delete是先调用析构函数再释放内存内存配置操作是有a...

2020-01-05 22:06:30 316

转载 Linux中的文件描述符详解

1. 概述 在Linux系统中一切皆可以看成是文件,文件又可分为:普通文件、目录文件、链接文件和设备文件。文件描述符(file descriptor)是内核为了高效管理已被打开的文件所创建的索引,其是一个非负整数(通常是小整数),用于指代被打开的文件,所有执行I/O操作的系统调用都通过文件描述符。程序刚刚启动的时候,0是标准输入,1是标准输出,2是标准错误。如果此时去打开一个新的文件...

2020-01-05 00:05:19 1534

原创 每日一类封装之AVL树

思路学习博客https://www.cnblogs.com/coding-nerver-die/p/10975599.html主要是理解其中维持其平衡进行的旋转操作,分两种情况第一种情况只需要旋转一次第二中情况需要先旋转下不平衡子树的子树,使其满足是一条递减的线,再旋转直接上代码template <typename T>struct AVLTreeNode{ ...

2020-01-04 23:15:50 121

原创 libevent源码学习一

最近自己在写web服务器,弄不动的时候看看libeven源码换换脑,首先来记录下简单的安装与使用1.在官网上安装libevent源码包,链接http://libevent.org/我下的是之前的老版本,因为主要是学习下他的思想,老版本相对来说看起来要简单点2.下载后解压缩,再编译,安装,就可以在/usr/local/lib下看到动态链接库了./configure makema...

2020-01-04 16:45:16 139

csapp思维导图.zip

csapp学习思维导图

2021-03-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除