自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Flying_sfeng的博客

Talk is cheap, show me the code.

  • 博客(87)
  • 资源 (8)
  • 收藏
  • 关注

原创 张量分解(一):基础知识

昨天在组里分享了张量分解相关的知识,现在想把它整理成一个系列,供有需要的同学阅读。 下文根据Tensor Decompositions and Applications∗ 整理,原文比较长,我主要整理了一些比较常用的,有需要的同学可以直接阅读原文。 我们知道,一维的数组叫向量,二维的叫矩阵,三维及三维以上的就是张量了。 如下图,就是一个三阶张量: 以下为一些张量相关的基础知识(本文根据...

2018-08-25 17:49:03 26713 1

原创 Python中将变量按行写入txt文本中

先看一个简单的例子:将变量写入txt文本中f = open('E:/test.txt','w')f.write('hello world!')Out[3]: 12f.close()结果如图:那么如何将变量按行写入呢?在'w'写入模式下,当我们下次写入变量时,会覆盖原本txt文件的内容,这肯定不是我们想要的。TXT有一个追加模式'a',可以实现多次写入:f =

2017-07-12 13:56:52 184781 4

原创 随机森林的原理分析及Python代码实现

在讲随机森林前,我先讲一下什么是集成学习。集成学习通过构建并结合多个分类器来完成学习任务。集成学习通过将多个学习器进行结合,常可获得比单一学习器更好的泛化性能。考虑一个简单例子:在二分类任务中,假定三个分类器在三个测试样本上的表现如下图,其中√表示分类正确,×表示分类错误,集成学习的结果通过投票法产生,即“少数服从多数”。如下图,在(a)中,每个分类器都只有66.6%的精度,但集成学习却达到了

2017-03-20 20:35:41 75962 134

原创 REAL2-融合检索和生成的端到端数学应用题自动解题

  本篇文章主要讲解本人在今年 NIPS2021 Workshop MATHAI4ED发表的一篇关于应用题自动解题的论文(打开超链接可以看到REAL2模型的Paper,Poster, Video等信息)。  同时本篇文章也是REAL模型的改进,因此阅读本篇文章之前,建议先阅读REAL模型:REAL4MWP-基于记忆增强的应用题自动解题方法。  论文题目为:REAL2: An End-to-end Memory-augmented Solverfor Math Word Problems  代码已开源

2022-01-10 19:54:44 848 2

原创 REAL4MWP-基于记忆增强的应用题自动解题方法

本篇文章主要讲解本人在今年EMNLP2021发表的一篇关于应用题自动解题的论文。论文题目为:Recall and Learn: A Memory-augmented Solver for Math Word Problems代码已开源,欢迎star:REAL4MWP另外,本人还搜集了近五年来所有关于应用题解题的论文,供研究该方向的学者参考:Math-Word-Problems-PaperList1. 背景介绍  数学应用题自动解题任务是指通过给定的应用题题目,设定特定的技术方案得到对应的答案。直接

2021-12-23 19:29:06 1548 1

原创 2021科大讯飞试题标签预测挑战赛亚军方案总结

1. 摘要  这个比赛的任务是根据题目的文本内容,预测题目的知识点及难度标签,其中知识点包括五个类型,我们需要预测出对应类型的知识点标签。  在本次比赛中,我们构造了六个独立的模型,模型结构相似,每个模型负责预测不同的目标。我们将题目类型,内容,分析,选项等信息进行拼接后作为输入,模型部分我们使用roberta[3]作为baseline模型,同时使用对抗训练的方法提高模型的鲁棒性。为了解决数据存在不平衡及多个类别样本量太少的问题,我们使用了EDA, AEDA等多种数据增强方法。同时,我们通过知识点近邻匹

2021-12-13 18:22:36 2546 3

原创 文本数据增强方法总结

我们知道,在NLP领域,特别是工业界中,标签数据是很难获得的,很多时候会面临数据量太小的问题,这个时候,文本数据增强可以有效地帮我们缓解这个问题。我本人在今年的科大讯飞AI大赛中也使用了下文提到的一些方法,并提升了5个百分点左右(后续的文章会详细介绍,请持续关注…),可以说效果是相当明显,所以说数据增强方法绝对是值得大家花点时间学习的。本篇文章,我们将介绍常用的文本数据增强方法,并提供相应的参考文献以及使用案例。Easy Data Augmentation(EDA)EDA是一种简单但非常有效的方法,具

2021-12-04 12:14:13 5086

原创 RAKE-无监督英文关键词提取算法

没想到吧,在深度学习大行其道的当今,我突然写了一篇上古时代的文章(其实也就2010年,奈何知识更新真快…)话不多说,一起来看一下RAKE算法RAKERAKE全称为Rapid Automatic Keyword Extraction,突出两个亮点:1. 快速,线上部署非常友好;2. 无监督,也即不需要大量有标签数据,0成本~提取候选词首先,使用停用词进行候选关键词的提取和切分,这里的停用词表非常关键,决定你候选词组切分的效果,候选词组切分不好,最终提取到的效果也会受影响。候选词提取方法其实很简单:

2021-11-16 21:11:37 1974

原创 文本生成系列(三)beam search的一些改进

引言我们知道,在文本生成领域,所用到的解码方法有两种:greedy search和beam search。greedy search相当于在每一步的生成过程中,都选择概率最大的token作为候选token,而beam search则是每一步都选择topk个token作为候选token,然后使用这k个token对应的句子进行下一个词的预测,总共有k*V个结果,再取topk个token,以此迭代直到出现结束符。beam search相当于在greedy search的基础上进行了优化,扩大了搜索空间,但

2021-05-10 20:58:51 1525

原创 Batch Normalization与Layer Normalization

batch normalization和layer normalization,顾名思义其实也就是对数据做归一化处理——也就是对数据以某个维度做0均值1方差的处理。 所不同的是,BN是在batch size维度针对数据的各个特征进行归一化处理;LN是针对单个样本在特征维度进行归一化处理。在机器学习和深度学习中,有一个共识:独立同分布的数据可以简化模型的训练以及提升模型的预测能力——这是通过训练数据获得的模型能够在测试集获得好的效果的一个基本保障。BN算法公式的后面还有一个反向操作, 将 normal

2021-05-08 20:00:06 971

原创 文本生成系列(二)Pointer Generator Network

最近项目中要用到copy机制,尝试了《文本生成系列(一)seq2seq中的copy机制》中的方法,发现处理OOV字符这一块处理起来不是很方便(可以实现),相对来说,Pointer Generator Network更简洁一些。Pointer Generator Network的动机有两个:1. 处理OOV问题;2. 解决生成模型重复生成的问题。1. Sequence-to-sequence attentional model正常的soft attention对应着公式看更香:2. Pointe

2021-03-30 20:42:21 799

原创 文本生成系列(一)seq2seq中的copy机制

本文记录seq2seq中一种广泛应用的方法:copy机制。Incorporating Copying Mechanism in Sequence-to-Sequence Learningpaper code上图左边为seq2seq模型中的encode-decode框架,右边为左边小框框的放大图,也是copynet相对传统网络的改进。所谓copynet,就是模型输入中的字符可以被复制到解码输出中,这可以一定程度上缓解OOV问题,另一方面也可以强化输入输出之间的关联,这在复述、对话等任务中是有很大帮助

2020-12-20 18:56:04 2478 3

原创 conda创建Python虚拟环境并安装tensorflow GPU环境

拿到一个新的容器之后,怎么创建一个独立的GPU训练环境呢?之前弄的时候总是零零散散的,现在把它总结在这里,供自己以及有需要的朋友查阅。1. conda创建1.1 下载anacondawget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2020.07-Linux-x86_64.sh具体的anaconda版本可以从这里获取,找到自己想要的版本,右击复制链接即可。1.2 安装anacondabash Anac

2020-11-18 17:08:48 8970 7

原创 npm安装vue的权限问题解决

前端小白,如何运行VUE项目请参考:如何运行一个vue项目本人在安装完node.js后使用npm安装vue时遇到权限问题:Error: EACCES: permission denied, symlink '../lib/node_modules/vue-cli/bin/vue-init' -> '/usr/local/bin/vue-init'解决方法是改变npm的默认路径创建一个全局目录:mkdir ~/.npm-global配置npm使用新目录:npm config s

2020-11-05 17:32:41 1375

原创 pytorch加载模型torch.load报cuda out of memory解决方案

当服务器中有多张显卡时可能会出现这个问题。模型参数加载:model_recover = torch.load(args.model_recover_path)报错如下:RuntimeError: CUDA error: out of memory原因:当使用torch.load加载模型参数时,会默认加载在第一块GPU0上,当GPU0没有在使用时,问题不大,但是显存被占满时这时候就加载不了了。解决方法:model_recover = torch.load(args.model_recove

2020-11-04 20:11:41 6182 6

原创 高考填志愿—利用大数据填报

距高考放榜的日子越来越近了,填报志愿的问题着实让很多父母和孩子头疼。可能大家也会遇到下述类似的情况,我大概讲述下:微微姐,见信佳。我是小欣,转眼间我已经高三毕业了,我对未来充满了期待,可现在我却在填志愿的问题上,跟我妈意见不一样,有些心烦。我来自某一线城市,两年前父母离了婚,我跟着妈妈生活。我妈是个要强的女人,那会为了我们娘俩的生活,开始在农贸市场做蔬菜批发。市场竞争激烈,我妈刚开始入行那会,搞到的摊位又偏,是真的辛苦。但她人机灵,找到了个不错的进货商,蔬菜新鲜,价格又还较便宜。再加上她嘴甜肯吆喝,这两

2020-07-23 09:32:28 1295

原创 【paper reading】基于重编辑机制的文本生成算法

今天分享一篇基于重编辑机制的文本生成论文paper:Paper Abstract Writing through Editing Mechanism(发表于ACL2018)code:源码概述:这篇论文解决的问题是使用paper的title来生成abstract。论文使用了一种重编辑机制(参考人类写论文的过程:先写一个草稿出来,再不断的修改),是一个信息量由少到多的过程。本次分享希望能让你:了解重编辑机制的工作原理;学会编写主体框架。1. 模型总体框架1.1 encode-decode框架

2020-05-26 20:47:56 562

原创 vscode采坑指南

因为版权问题,最近IDE从pycharm改为了vscode(为了连接远程服务器进行debug),在熟悉vscode的过程中,出现了各种问题,因此记录下来。1.如果关掉终端正在运行的代码如上图,点击垃圾箱那里就行。2. 如何进行debug先选中一个要进行debug的py文件,然后按以下3步进行即可进行debug.3. 如何在子目录下进行run/debug首先,要明确一点,vscode在执行Python脚本的时候都是以调用脚本的工作目录为准的,因此,当你在子目录下run/debug时,经常会报

2020-05-18 18:24:04 4830 1

原创 【CS224n】Lecture 12: Information from parts of words: Subword Models

1. Character-Level Modelsword embeddings可以由character embeddings组成,有以下好处:生成未知词的embeddings;相似的单词拼写可以共享相似的embeddings;能够解决OOV问题(OOV=out of vocabulary,感觉第三点跟第一点有点像)1.1. Purely character-level models针对句子分类任务的纯字符粒度的模型的应用案例是:使用深度卷积网络来进行文本分类;当然也可以用字符粒度的模型应

2020-05-17 22:29:30 320

原创 服务器之间的数据传输(scp&rsync)

1. 本地终端与服务器互传数据(都在本地终端操作)1.1 从本地终端上传数据到服务器:scp -P 具体端口号 -r 本地终端数据路径 用户名@服务器地址:服务器数据保存路径其中,-P表示指定端口号(注意P为大写),-r表示递归传输,下同。1.2 从服务器下载数据到本地:scp -P 具体端口号 -r 用户名@服务器地址:服务器数据保存路径 本地终端数据路径其实上面并不是本文的重点,本文重点是如何不覆盖传输,即针对已存在的数据,直接跳过。2. 不覆盖传输rsync -avzu -e '

2020-05-15 18:48:08 1387

原创 【CS224n】Neural Networks, Backpropagation

1. Neural Networks: Foundations1.1 A Neuron(单个神经元)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3AJ830bE-1589083782343)(evernotecid://331CA178-4507-4573-914C-34BF843F1D8C/appyinxiangcom/26093810/ENResource/p53)]1.2 A Single Layer of Neurons(多个神经元的单层网络)[外链图片转

2020-05-10 14:23:18 350

原创 【CS224n】ConvNets for NLP

1. CNNs (Convolutional Neural Networks)1.1 Why CNNs?为什么要再文本中使用卷积神经网络(CNN)呢?CNN通过卷积的方法,并使用不同大小的卷积核,可以捕捉到句子中不同长度短语的语义信息。1.2 What is Convolution?卷积操作大家应该都比较熟悉了,如下图,大矩阵为原始二维矩阵(如原始图片信息),红色的小矩阵为卷积核(图中为3×33\times 33×3矩阵);卷积操作:卷积核与原矩阵的相同大小的矩阵,对应点分别相乘,然后累加的过程。

2020-05-10 12:00:32 341

原创 paper解读:Bi-Directional Attention Flow For Machine Comprehension

基于双向注意力的阅读理解(ICLR2017,引用800多,入门阅读理解可以看这篇)paper: https://arxiv.org/abs/1611.01603code: https://github.com/allenai/bi-att-flow模型框架模型主要框架如下图所示:包括六个部分:Character Embedding Layer:使用character-level CN...

2020-05-05 18:28:57 441

原创 【CS224n】Neural Machine Translation with Seq2Seq

1 Neural Machine Translation with Seq2Seq1.1 Brief Note on Historical Approaches传统的翻译系统是基于概率模型的,包括翻译模型和语言模型,并由此建立起基于词或短语的翻译系统。朴素的基于词的翻译系统没办法捕捉词的顺序关系;基于短语的翻译系统可以考虑输入和输出的短语序列,并且可以处理比基于单词的系统更复杂的语法,但仍然没...

2020-04-19 22:50:22 430

原创 决策树原理及Python代码实现

决策树其实就是按节点分类数据集的一种方法。在本文中,我将讨论数学上如何使用信息论划分数据集,并编写代码构建决策树。创建决策树进行分类的流程如下:(1)创建数据集(2)计算数据集的信息熵(3)遍历所有特征,选择信息熵最小的特征,即为最好的分类特征(4)根据上一步得到的分类特征分割数据集,并将该特征从列表中移除(5)执行递归函数,返回第三

2020-04-04 22:06:30 31770 37

原创 【CS224n】Language Models, RNN, GRU and LSTM

1. Language Models1.1 Introduction语言模型表示句子中的词共现的概率:1.2 n-gram Language Models原始的语言模型计算量非常大,因此有了n-gram语言模型,下图分别表示bigram和trigram模型:n-gram语言模型存在两个问题:稀疏性和存储空间大。for example,公式3的分子要求三个词同时出现,但更多情况情况...

2020-04-04 17:14:33 388

原创 【CS224n】Neural-Dependency-Parsing

写在前面:最近在学习CS224n,系统的学习NLP理论。后面会把相关的学习笔记和代码公开,欢迎大家和我一起讨论。这是第三课,前面两课已经学完,后续有时间会把相关笔记代码整理发布出来。#############################可爱的分割线###################################1.1 Dependency Parsing依存句法分析就是表示句子中...

2020-03-29 22:07:51 835

原创 ROUGE安装配置

ROUGE是做文本生成(eg文本摘要)的一个评价指标。ROUGE的安装真的是一个巨坑,找了各种教程都不行。。实在搞不定只能按最复杂的教程搞了,最后居然成功了。。首先,按照以下的方案配置:Ubuntu安装配置ROUGEpip install pyrouge(Python环境下调用rouge)修改路径为ROUGE1.5.5的路径:pyrouge_set_rouge_path yourPat...

2020-02-13 17:59:25 2010 5

原创 解决nvcc --version显示command not found问题

首先,查看cuda的bin目录下是否有nvcc:cd /usr/local/cuda/bin如果存在,直接将cuda路径加入系统路径即可:vim ~/.bashrc进入配置文件;添加以下两行:export PATH=/usr/local/cuda/bin:$PATHexport LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PAT...

2019-12-02 10:07:13 46220 5

原创 NVIDIA apex安装

一开始直接pip install apex。然后import apex的时候报错:TypeError: Class advice impossible in Python3. Use the @implementer class decorator instead.然后卸载pip uninstall apex,重新安装。安装步骤如下:git clone https://www.githu...

2019-11-29 17:22:34 12528 3

原创 paper解读:Decomposable Neural Paraphrase Generation

今天分享的paper是刘群老师发表在ACL2019的一篇文章,同样是一篇介绍复述生成的论文,叫Decomposable Neural Paraphrase Generation(DNPG,网络可分解的复述生成)。论文的动机:作者发现一个句子的复述通常有多个不同粒度的模式组成,从单词粒度到短语粒度到句子粒度等,如下图:蓝色部分为句子粒度,绿色部分为短语粒度。在这篇论文中,作者取了这两个粒...

2019-09-19 21:29:51 1483 3

原创 transformer中的positional encoding(位置编码)

transformer模型是当前大红大热的语言模型,今天要讲解的是transformer中的positional encoding(位置编码).我们知道,transformer模型的attention机制并没有包含位置信息,即一句话中词语在不同的位置时在transformer中是没有区别的,这当然是不符合实际的。因此,在transformer中引入位置信息相比CNN, RNN等模型有更加重要的作...

2019-09-18 20:57:39 37894 5

原创 paper解读:Dictionary-Guided Editing Networks for Paraphrase Generation

突发奇想,突然想把自己阅读后的paper整理下来,整理自己思路的同时也可以方便有需要的读者阅读,感觉这应该是个好习惯hhh…今天要讲解的是谷歌在17年发表的关于复述生成的一篇论文:Dictionary-Guided Editing Networks for Paraphrase Generation什么是复述生成呢?简单来说就是一个句子经过复述后,跟原来的句子在表达形式上有所区别,但是表达的...

2019-09-10 21:17:57 695

原创 python-impala安装教程

环境:Mac 10.14.3, python 3.6使用pip install,安装步骤如下:(1) pip install six(2) pip install bit_array(3) pip install thriftpy(4) pip install thrift_sasl == 0.2.1(5) pip install impyla其中,在安装第四步的时候报错如下:wa...

2019-08-16 10:35:02 2022

原创 普硕的秋招算法岗之路(2019届)

现在是2019.3.3,金三银四,刚好是春招黄金时刻,我把18年秋招的经历以流水账的形式写下来,反馈给我的粉丝吧(虽然也没多少粉丝),希望对各位准备找工作找实习的同学有所帮助。这篇面经主要针对算法岗,欢迎大家关注我的博客,有算法相关的问题都可以与我交流。首先,交代下背景,本人四非(非985非双一流)一本普通硕士(渣硕这个词太敏感就不说了哈哈),没论文,有比赛但不是top 3,有实习经历。先说下秋...

2019-03-03 14:44:23 1311 6

原创 Leetcode5 最长回文子串

Leetcode5: Longest Palindromic Substring具体题目如下:Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.Example 1:Input: “babad”Output: “...

2019-03-03 14:39:34 223

原创 Leetcode516 最长回文子序列

Leetcode516: Longest Palindromic Subsequence具体题目如下:Given a string s, find the longest palindromic subsequence’s length in s. You may assume that the maximum length of s is 1000.Example 1:Input:“b...

2019-03-03 14:39:16 522

原创 Leetcode 448. Find All Numbers Disappeared in an Array

Leetcode 448. Find All Numbers Disappeared in an Array这是道Leetcode easy题,但比较有意思的点是,题目要求用O(n) 的时间复杂度和O(1)的空间复杂度。要同时满足这个条件,还是需要一点技巧的。 具体题目如下:Given an array of integers where 1 ≤ a[i] ≤ n (n = size of a...

2019-03-03 14:38:47 225

原创 Leetcode67: 两个二进制字符串的求和

Leetcode67: Add Binary具体题目如下:Given two binary strings, return their sum (also a binary string).The input strings are both non-empty and contains only characters 1 or 0.Example 1:Input: a = “11”,...

2019-03-03 14:38:07 1008

原创 Leetcode46: 全排列

Leetcode46: PermutationsGiven a collection of distinct integers, return all possible permutations.Example:Input: [1,2,3]Output:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]思路:遍历nums中的...

2019-03-03 14:35:41 243

scrapy爬虫实例代码

此部分代码是使用scrapy框架进行爬虫的实例,按照以下文章分享的内容进行整理的https://cuiqingcai.com/3472.html,欢迎有兴趣的同学进行下载学习。

2018-05-06

使用Python实现决策树

2017年3月16号关于决策树的资源上传错了,这一份才是决策树的Python代码实现,包含详细的中文注释,欢迎下载学习。Python版本为2.7.

2017-06-24

随机森林的代码实现和相应的数据集 (python代码)

本文件包括随机森林的代码实现和相应的数据集,以及详尽的中文注释,已调试通过。代码有两份,一份是在网上下载的,另一份是自己整理后编写的。编程环境为Python2.7。因为只是用来学习随机森林算法,所以在调参方法没下多少功夫,正确率可能不太高,当然数据集比较小也是一个原因。感兴趣的童鞋可以自己调整参数提高正确率。

2017-03-20

决策树的Python代码实现

本代码为本人阅读《机器学习实战》后写的关于使用决策树进行分类的完整代码,包括详细的中文注释,编程环境为Python2.7,欢迎下载学习。

2017-03-16

Python爬虫爬取网页信息

本资源是本人根据慕课网的视频教程整理的一份代码,已调试通过。目的是爬取百度百科1000个词条的网页信息,编程环境是Python3.5.

2017-03-13

基于物品的协同过滤算法itemCF原理及python代码实现

文件是基于物品的协同过滤算法itemCF原理及python代码实现,包含MovieLens数据集中的ml-100k数据集,开发环境是Python2.7.代码是我按照《推荐系统实践》里面的公式写的完整程序,并添加了中文注释。

2017-02-21

基于用户的协同过滤算法数据集及代码实现

这是我参考网上资料后自己写的基于用户的协同过滤算法,包括算法所用到的数据集及相关代码,基于Python实现,代码包含详细解释。

2017-02-18

基于PCA及SVM的人脸识别

代码包含MATLAB自带的princomp函数以及自己编写的PCA函数进行PCA降维,实现功能相同,准确率略有差异。

2016-12-17

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

TA关注的人

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