自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lynne233

偶尔写影评,剧评。豆瓣:https://www.douban.com/people/lynne_xuan/reviews

  • 博客(132)
  • 资源 (3)
  • 收藏
  • 关注

原创 Bert微调技巧实验大全-How to Fine-Tune BERT for Text Classification

背景介绍文本分类是NLP中的一个经典任务, 通常在大型的数据集进行一些预训练的模型在文本分类上可以取得很不错的成绩。例如word2vec, CoVe(contextualizedword embeddings)和ELMo都取得了不错的成绩。Bert是基于双向transformer使用masked word prediction和NSP(next sentence prediction)的任务进...

2020-02-25 23:30:48 8586

原创 文本分类经典论文解读(之二)textrnn, HAN, textrnn with multitask

本文同步发布于公众号:阿黎投喂舍文本分类系列:文本分类经典论文:fasttext,textcnn解读分享 | 叮,情感分类从入门到放弃资料推荐来咯~简介上一篇文章基于深度学习的文本分类论文推荐——fasttext,textcnn介绍了文本分类中非常经典的三篇文章有关2个模型Fasttext和Textcnn,今天为大家推荐3篇论文,这3篇论文将RNN,多任务结构和attention应用到文本分类的任务中,对于想了解多任务和attention的同学来说是个很不错的入门论文哦~Rec.

2020-11-17 11:53:37 1043

原创 基于深度学习的文本分类论文推荐——fasttext,textcnn

简介情感分类是对带有感情色彩的主观性文本进行分析推理的过程,在这个过程中我们需要分析出说话人的态度和观点,即他的态度是正面还是反面。情感分类按照其分析的粒度可以分为篇章级,句子级和短语级。篇章级情感分类是指对篇章级别的句子进行情感分类,分类过程中可能需要涉及到句子之间的起承转合,句子级的情感分类是是对句子进行情感分类,短语级的情感分类是指对短语进行情感分类,例如“相机的画质还不错但是电池的续航能力比较差”中,用户对于画质的评价就比较偏正向,对电池的评价就比较偏负向。情感分析的一般方法也主要分为三种,

2020-11-13 00:26:18 783

原创 推荐系统资料推荐

知乎首页阿黎一只喵导读这周看了一些关于推荐相关的资料,相比于NLP来说推荐实在是一个比较庞大的工程。这篇文章仅限于对这周看到的一些资料的总结和个人感受,可能会有一些错误和不成熟的地方,希望大家看到以后可以指出哦。本来打算多看几篇论文的,但是努力不一定成功,不努力却真的很舒服呀哈哈。这篇文章也是躺在床上看到一个关注的博主的推送之后鲤鱼打挺起来写的,希望大家见谅哦(反正也没几个人看)1. 背景随着信息技术的飞速发展,当前人们面临的问题由之前的信息不足逐渐转化为当前的信息过载,在这个时代无论是信息

2020-09-14 11:54:54 341

原创 细粒度文本分类相关论文推荐

导读前一段时间在研究实体识别的任务,因为标签的设计觉得细粒度文本分类应该会对任务的效果有所提升,于是搜集了一些细粒度文本分类的论文,本文将是对这些论文的总结和思考。本文将简单介绍论文中模型的结构和设计思路,具体的一些细节在之前的文章中我们有详细介绍,如果有兴趣大家可以点击相关链接。背景实体分类是对一篇文章中的实体进行分类的任务,例如"《秘密森林》由韩国演员曹承佑和裴斗娜主演"中曹承佑作为实体的标签就是"演员"。实体分类通常会在关系抽取,机器翻译,知识问答等任务中起到关键作用。目前比较常见的有关N

2020-06-16 00:14:31 1176

原创 Embedding Methods-从相似度出发进行细粒度文本分类

背景实体分类是指给一个实体一个指定的标签,这在关系抽取,知识问答等任务中非常重要。一般实体分类的标签都小于20个,但是当标签之间具有层级结构,同一个实体在不同的上下文中便可能具有不同的角色。例如: Madonna starred as Breathless Mahoney in the film Dick Tracy Madonna signed with Sire Records in 1982 and released her eponymous debut album the ne

2020-05-31 23:09:29 1403 1

原创 Put it back:细粒度实体识别,标签也有信息别忘了哦

本文同步发布知乎,知乎主页lynne阿黎请大家不吝关注~背景ENT任务(Entity Typing):判断一个实体的类别,粒度可以分为person,location, organization, others。细粒度实体识别根据不同的数据有不同的分类情况,例如Figer dataset有112类。ENT任务对实体链接,关系抽取,对话问答等任务来说都是一个非常必要的先要任务。一般ENT任务都...

2020-04-29 13:54:10 984

原创 HFT-CNN:层级多标签分类,让你的模型多学习几次

本文同步发布知乎:HFT-CNN:层级多标签分类,让你的模型多学习几次知乎主页lynne阿黎请大家不吝关注~背景长文本由于自身的特点和信息量,一段文本会描述一个特定的主题。短文本由于其自身长度的原因是缺少这种特征的。一般对于短文本的处理会借鉴上下文的语料或者同义词来扩充短文本的含义。但是由于文本的领域相关性,上下文的语料和同义词的分布未必和原始语料一致。由于以上原因短文本分类一直受到人们的...

2020-04-19 22:25:31 5087

原创 ElECTRA:震惊NLPER居然可以使用GAN了![PART2]

本文同步发布与知乎:ElECTRA:NLPER也可以使用GAN了?[Part-2],知乎主页lynne阿黎请大家不吝关注~18年Bert横空出世,刷新了各大榜单之后,对齐的改进层出不穷,Ernie, Albert大多数改进都没有新意,无非就是大力出奇迹的堆叠参数。ICLR2020 斯坦福和Google为我们提供了一种新思路,用Bert来"欺骗"Bert,模型改进了MLM(Masked Lang...

2020-03-31 20:52:45 434

原创 ElECTRA:震惊NLPER居然可以使用GAN了![PART1]

背景目前以Bert为代表的state of art的预训练模型都是基于MLM(Masked Language modeling)来进行预训练的,这些模型将输入的句子中15%的Mask掉,然后使用模型去预测被mask掉的原始内容。当然这些模型也面临一个问题就是模型因为参数过多,每次训练只能学习到训练数据的15%的内容,从而导致计算量过大的问题。因此文章中提出了一种新的训练方法:随机替换句子中...

2020-03-30 19:55:38 540

原创 Focal Loss

Focal Loss是在论文Focal Loss for Dense Object Detection中提到,主要是为了解决one-stage目标检测中样本不均衡的问题。因为最近工作中也遇到了样本不均衡的问题,但是因为是多分类问题,Focal loss和网上提供的实现大都是针对二分类的,所以阅读论文。本文我将解释论文中的内容以及自己的理解,同时文末会提供Focal loss针对多分类的实现。...

2020-03-23 10:48:18 230

原创 ZEN-基于N-gram的中文Encoder(从论文到源码)

相关背景深度学习的encoder都是基于大规模的未标注数据,但是这些encoder是否完整利用了语料的所有信息,这是未被证实的。类似于Bert的这些预训练模型使用的是文本的最小单位——字。但是中文的最小单位并不是字,中文的语义和N-gram有很大的关系。目前模型的缺陷1. 基于word masking,encoder只能学习到已有的词和句的信息2. 基于mask的方法在pre-train和...

2020-02-14 11:38:29 1077

原创 Albert-加速Bert训练的新思路(Albert从论文到源码)

背景自从Bert横扫各大榜单之后,对Bert的尝试就没有停止过。在这种思路下,实验显示隐藏层数越多,参数量越多,模型的效果越好。虽然效果变好,但是由于GPU/TPU的限制,这些SOA的模型要单机跑起来是很困难的。因此文中提出了一种参数共享的新思路。Albert的改进Albert主要是从三方面对Bert进行了改进Emebdding因式分解(Factorized embedding param...

2020-02-06 01:11:57 1743

原创 ResNet阅读笔记

背景与问题当前神经网络的训练存在两种问题:一是梯度爆炸和梯度消失,2二是随着网络深度的增加,准确率不会上升,并且可能会下降。下降并不是过拟合,而是因为层数的增多导致训练的准确率下降,训练的错误率本来就会很高。这就是深度网络的退化问题。下图演示了上述二所述的现象。在如何解决这个问题上,作者考虑一个简单地事实,在浅层网络上增加深的层,这些层是浅层网络的恒等映射(identity mapping)...

2020-01-09 02:02:25 243

原创 深度学习经典神经网络GoogLeNet阅读笔记

前言GoogLeNet是2014年提出的深度学习网络,此前LeNet, AlexNet等都通过卷积层取得了比较好的训练效果,但是引用GoogLeNet原文链接https://arxiv.org/pdf/1409.4842.pdfNetwork in Network原文链接https://arxiv.org/pdf/1312.4400.pdf深入理解GoogLeNet结构(原创)http...

2019-12-16 02:02:06 226

原创 Golang单元测试、性能测试笔记

前一段时间需要对自己的项目做性能测试,于是研究了一下Golang的testing包。testing包为Golang Package提供自动化测试的支持,通过go test命令可以执行如下形式的函数func TestXxx(*testing.T)需要注意的是Golang语言规范函数采取驼峰命名的方式,因此Xxx必须是以大写字母开头。要编写一个新的测试脚本需要以"_test.go"结尾,该文件...

2019-08-06 15:01:13 158

原创 Windows搭建virtualenv+pycharm+tensorflow环境简单教程

训练模型的时候我们一般会在本地调试然后在使用大规模数据集运行,因此在本地搭建tensorflow环境比较重要,但是因为tensorflow只支持python3.5以上的,但是目前python2.7和python3.5+又不是非常兼容,因此如果直接装的话,会导致本地的环境非常混乱,因此大部分都推荐virtualenv安装。正常情况下安装是比较方便的,下面出个非常简单粗暴的教程:相关条件:pyt...

2019-05-31 23:59:13 912

原创 python实现简单的神经网络

写在前面:我一直是一个非常懒散的人,没有计划,得过且过,所以导致学很多东西都非常浅显,当然我本来也不是一个很深刻的人。说来惭愧,title是算法工程师却一直不懂深度学习,这一直是我心中的痛,想最近抽空学习深度学习。作为最近的大热,深度学习的入门门槛非常低,因为现在的框架已经做得非常完整了,而且很多开源代码下下来跑跑数据就可以说我跑过模型了,但是我一直对深度学习的内部机理感到迷茫,所以这个领域对...

2018-09-25 14:24:03 3322

原创 [leetcode]Patching Array题解

 题目描述: https://leetcode.com/problems/patching-array/description/问一个数组中需要添加几个数字才能保证数组中的数字任意组合保证可以得到1~n中的任意一个数字的和。Naive Solution从1~n中每个数字挑出来,判断是否可以由数组中的数字组成和,如果不可以则将数字加入数组。其中判断是否可以由数组中的数字组成和可以用递归...

2018-09-20 15:48:25 190

原创 外排序

外排序和内排序是两种截然不同的排序算法,因为外排序是对文件进行排序,通常文件很大我们不能一次性读入内存。因此我们需要使用外排序。外排序常用的算法是多路归并排序。多路归并排序是指把文件分成n个已经排好序的文件,然后对每个子文件同时读入,选出当前指针最小的值输出,然后该指针后移,直到处理完所有子文件。 现在我们模拟外排序,内存使用最多1M,对1 ~ 10000000个数进行外排序。 首先是数据生成部

2017-05-25 21:03:24 475

原创 排序算法

排序的算法有泡排序、选择排序、堆排序、插入排序、快排、归并排序和基数排序。 泡排序的基本思想是:将序列中的第一个元素与第二个元素进行比较,若前者大于后者则两者交换位置,否则不交换;依次类推直到n - 1个元素与第n个元素比较为止。经过如此一趟排序,使得n个元素中值最大的元素被安置在序列的第n个位置上。然后再对n - 1个元素进行相同的处理。 泡排序的代码如下:void bubbleSort(ve

2017-05-23 16:23:53 263

原创 图的邻接表和邻接矩阵表示以及相关算法

图是由定点的非空有限集合V与变得集合E组成的,其形式化定义为:G = (V, E),若图中的每一条边是没有方向的则称G为无向图,否则称为有向图。图的表示方法有邻接矩阵和邻接表表示法。图的常见算法有深度优先搜索,广度优先搜索,Prim算法,dijsktra算法,floyd算法,拓扑排序和关键路径。我用C++进行了实现,代码如下,具体的算法请上网搜索。 图的邻接矩阵表示:#include <iostr

2017-05-18 16:44:33 1670

原创 红黑树

红黑树是一种数据结构,C++的set, map,和linux的内存管理都是用红黑树实现的。红黑树也是一棵二叉查找树,但是因为其自身结构的特点,其本身非常均衡。时间复杂度为O(logn)。因为在每次插入一个节点或者删除一个节点,红黑树都要对此进行调整。 下面先介绍红黑树的特点,红黑树具有以下几个特征:1.每个节点不是红色就是黑色的; 2.根节点总是黑色的; 3.如果节点是红色的,则它的子节点必须

2017-05-15 17:46:20 404

原创 KMP算法

字符串匹配最基础的算法是一个字符一个字符的匹配,若当前不匹配则指针指向下一个字符。基础算法的写法为:int findString(string &s, string &t){ int slen = s.size(); int tlen = t.size(); if (slen < tlen) { return -1; } int j = 0;

2017-05-11 16:14:37 263

原创 中序表达式转后序(计算版)

以前写了一个中序表达式转后序表达式,今天发现有一部分是错的,现在进行更正: 而关于如何将中序表达式转为后序表达式。可以参考上面的做法,建立两个栈s1和s2,s1存储后序表达式的结果,s2存储运算符号。从左到右遍历,如果当前符号是数字则推入s1,如果当前符号是”(“推入s2,如果当前符号是”)”,将(之前的符号都弹出,推入s1;如果当前符号的优先级大于s2的顶部,则推入栈,否则一直弹出直到当前符号

2017-04-24 19:01:55 1394

原创 leetcode获取本页完成多少道题

今天无聊想统计一下leetcode做了多少道题,因为最近情绪有点不对劲,觉得坚持不下去了。所以想数一下还有多少天,但是一道一道数太麻烦了,所以写了个脚本。js的可以在浏览器里直接跑:var list = $("tbody > tr").not(".hide"), tdlist;length = list.length - 1;console.log("---Count Problems: " +

2017-04-20 20:36:02 710

原创 union find(并查集)

在了解并查集之前我们需要了解一下动态连通性, 假设我们现在有10个点,1,2,3…,10。如果10个点相互独立,那么我们现在有10个连通分量。如果我们将1和2连接起来,那么我们现在就有9个连通分量了。现在假设我们不断地输入两个连通的点,怎么动态的求出这些点的连通分量呢?这就可以用到并查集这种数据结构了。 首先我们需要确定有多少个点,每个点属于哪个连通分量。在我们刚才提的问题中是属于比较简单的

2017-04-08 16:33:43 247

原创 dijsktra算法

哈哈本来想着有时间写一下低价dijsktra算法的,结果今天就写了。但是只是针对一个节点的。#include #include #include #include using namespace std;bool hasPath(string &w1, string &w2) { if (w1.size() != w2.size()) { return

2017-04-05 21:46:57 800

原创 登陆有CSRFToken验证的网站及下载文件的脚本

今天开会之前整理了一下以前的代码,发现自己以前模拟登陆的时候经常会碰到有csrftoken验证的网站,登陆会遇到一些麻烦,于是写了一个脚本,下面把代码贴出来:#!/usr/bin/env pythonimport sysimport requestsimport timeimport stringlogin_url="http://www.mooc.buaa.edu.cn/logi

2017-03-31 15:20:36 1999 1

原创 树状数组(Binary Indexed Tree)

Binary Indexed Tree,从字面上来看是数,但是其实是数组。这个数组主要用来数组求和。例如对于某个数组[1,2,3,4,5],其树状数组的定义是:c[i]=a[i-2^r+1]+...+a[i],其中r是i二进制中最后一个1的长度。2^r的确定是i & (i ^ (i - 1))。树状数组主要有一下应用:求解树状数组,求前n项的和,当某个位置发生变化更新树状数组,获取某特定位

2017-03-28 20:30:24 291

原创 位运算相关知识

位运算可以直接操作计算机内存中的整数的二进制位,位运算包括按位取反,按位与,按位或,按位异或,按位左移,按位右移六种运算。计算机在运算的时候是以补码进行运算的,所以运算会把符号也一并运算。按位取反(~a) 把一个数的二进制位取反,0变成1,1变成0,如果是有符号的数据符号也会一并取反按位与(a & b) 按位相与。包括符号。按位与的应用:1 判断奇数偶数:奇数和1与1,偶数和1与是0

2017-03-23 14:38:40 262

原创 逆波兰表达式

一般我们在表达运算式时都用中序表达式,但是这样的表达方式并不适合机器来进行运算。以表达式1+2*3为例,计算机会将会解析这个表达式,然后递归求值。比如从左起顺序解析,符号树为:  + /  \1   *    /   \  2     3计算机会递归的计算子树,直到根节点。这样空间和时间的消耗都很多。因此波兰数学家扬·武卡谢维奇提出了逆波兰表达式。逆波兰表达式的数字都在符号

2017-03-20 21:45:42 418

原创 模运算与逆元

前两天做了一道题是关于模运算的。模就是我们常说的取余。例如4 % 6 = 4,6 % 4 = 2。模运算的运算规则和四则运算类似。但是除法除外,有关这一点我们在后面会详细讲。首先我们先介绍一下模运算的运算规则:(a + b) % p = (a % p + b % p) % p(a - b) % p = (a % p - b % p) % p(a * b) % p = (a % p

2017-03-13 20:08:28 17311

原创 高斯混合模型

最近看概率图看到高斯混合模型也是概率图的一个比较典型的例子,于是又去看了一下高斯混合模型,做了一些笔记。因为博客很多公式不好打,所以我写成word文档然后截图。

2017-03-04 15:24:25 455

原创 优化方法

1 无约束优化2 有约束优化方法

2017-03-04 14:38:39 252

原创 StreamingHttpResponse和HttpResponse

在修改以前的文件下载功能时,发现一个文件有5G,用HttpResponse实现时,服务器返回502错误,查看nginx log时,发现nginx log记录的是: upstream prematurely closed connection while reading response header from upstream。应该是nginx服务器从上游获取数据时超时了。查了很多办法,修改了ng

2017-02-27 22:52:25 5947

原创 FloodFill(泛洪算法)

泛洪算法图形处理中的一个填充算法,我们可以设想这样一个场景,windows的画图软件中的油漆桶为一个形状着色,该形状的范围内都将被着色,我们所使用的算法就是从一个像素点出发,以此向周边的像素点扩充着色,直到图形的边界。这个场景我们使用的算法就是flood fill(泛洪算法)。泛洪算法有3中不同的方式,每种算法有两种形式一种是递归的一种是非递归的。一般来说对于递归的算法我们比较容易实现,但是若

2017-01-09 22:12:50 11044

原创 Course Schedule解题报告

https://leetcode.com/problems/course-schedule/这道题是求图的拓扑排序。我们可以使用BFS和DFS的方法进行解决。使用BFS的方法我们首先找一个入度为0的点,将该点的入度置为-1以免重复访问。如果没有找到入度为0的点,说明有环,返回false然后将该节点的邻居的入度都减一。如果顺利结束返回true。class Solution {publi

2017-01-03 15:54:49 328

原创 图的拓扑排序

在了解图的拓扑排序之前我们需要介绍有向图。有向图是指在图中节点和节点之间的连接边是有方向的。有向图的拓扑排序是指对有向图中的节点对其进行现行的排序。如下图中要完成8,必须完成3和7,要完成11必须先完成5和7等等。这些就是节点之间的顺序,如果我们按照从上到下的顺序进行排序是:5,7,3,11,8,2,9,10。这是这个图的一个拓扑排序。这里我们需要介绍几个概念:度:依附于某顶点v的

2017-01-03 14:55:53 927

原创 Metropolis–Hastings算法

1蒙特卡洛方法蒙特卡罗方法也称统计模拟方法,是一种以概率统计理论为指导的数值计算方法。蒙特卡洛方法的基本思想是,当所求解问题是某种随机事件出现的概率,或者是某个随机变量的期望值时,通过某种“实验”的方法,以这种事件出现的频率估计这一随机事件的概率,或者得到这个随机变量的某些数字特征,并将其作为问题的解。蒙特卡罗方法主要有三个工作过程:构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。

2016-12-22 16:48:59 4498

21天学通C++

21天学通C++影印版电子书,非常经典值得学习

2013-04-23

敏感字检查

基于java的敏感字检查技术,小程序,可以研读以提高java技术。

2013-04-23

备忘录日程管理java代码

基于java的备忘录软件开发,还有日程管理的功能

2013-04-23

空空如也

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

TA关注的人

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