REAL2-融合检索和生成的端到端数学应用题自动解题 本篇文章主要讲解本人在今年 NIPS2021 Workshop MATHAI4ED发表的一篇关于应用题自动解题的论文(打开超链接可以看到REAL2模型的Paper,Poster, Video等信息)。 同时本篇文章也是REAL模型的改进,因此阅读本篇文章之前,建议先阅读REAL模型:REAL4MWP-基于记忆增强的应用题自动解题方法。 论文题目为:REAL2: An End-to-end Memory-augmented Solverfor Math Word Problems 代码已开源
REAL4MWP-基于记忆增强的应用题自动解题方法 本篇文章主要讲解本人在今年EMNLP2021发表的一篇关于应用题自动解题的论文。论文题目为:Recall and Learn: A Memory-augmented Solver for Math Word Problems代码已开源,欢迎star:REAL4MWP另外,本人还搜集了近五年来所有关于应用题解题的论文,供研究该方向的学者参考:Math-Word-Problems-PaperList1. 背景介绍 数学应用题自动解题任务是指通过给定的应用题题目,设定特定的技术方案得到对应的答案。直接
2021科大讯飞试题标签预测挑战赛亚军方案总结 1. 摘要 这个比赛的任务是根据题目的文本内容,预测题目的知识点及难度标签,其中知识点包括五个类型,我们需要预测出对应类型的知识点标签。 在本次比赛中,我们构造了六个独立的模型,模型结构相似,每个模型负责预测不同的目标。我们将题目类型,内容,分析,选项等信息进行拼接后作为输入,模型部分我们使用roberta[3]作为baseline模型,同时使用对抗训练的方法提高模型的鲁棒性。为了解决数据存在不平衡及多个类别样本量太少的问题,我们使用了EDA, AEDA等多种数据增强方法。同时,我们通过知识点近邻匹
文本数据增强方法总结 我们知道,在NLP领域,特别是工业界中,标签数据是很难获得的,很多时候会面临数据量太小的问题,这个时候,文本数据增强可以有效地帮我们缓解这个问题。我本人在今年的科大讯飞AI大赛中也使用了下文提到的一些方法,并提升了5个百分点左右(后续的文章会详细介绍,请持续关注…),可以说效果是相当明显,所以说数据增强方法绝对是值得大家花点时间学习的。本篇文章,我们将介绍常用的文本数据增强方法,并提供相应的参考文献以及使用案例。Easy Data Augmentation(EDA)EDA是一种简单但非常有效的方法,具
RAKE-无监督英文关键词提取算法 没想到吧,在深度学习大行其道的当今,我突然写了一篇上古时代的文章(其实也就2010年,奈何知识更新真快…)话不多说,一起来看一下RAKE算法RAKERAKE全称为Rapid Automatic Keyword Extraction,突出两个亮点:1. 快速,线上部署非常友好;2. 无监督,也即不需要大量有标签数据,0成本~提取候选词首先,使用停用词进行候选关键词的提取和切分,这里的停用词表非常关键,决定你候选词组切分的效果,候选词组切分不好,最终提取到的效果也会受影响。候选词提取方法其实很简单:
文本生成系列(三)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的基础上进行了优化,扩大了搜索空间,但
Batch Normalization与Layer Normalization batch normalization和layer normalization,顾名思义其实也就是对数据做归一化处理——也就是对数据以某个维度做0均值1方差的处理。 所不同的是,BN是在batch size维度针对数据的各个特征进行归一化处理;LN是针对单个样本在特征维度进行归一化处理。在机器学习和深度学习中,有一个共识:独立同分布的数据可以简化模型的训练以及提升模型的预测能力——这是通过训练数据获得的模型能够在测试集获得好的效果的一个基本保障。BN算法公式的后面还有一个反向操作, 将 normal
文本生成系列(二)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
文本生成系列(一)seq2seq中的copy机制 本文记录seq2seq中一种广泛应用的方法:copy机制。Incorporating Copying Mechanism in Sequence-to-Sequence Learningpaper code上图左边为seq2seq模型中的encode-decode框架,右边为左边小框框的放大图,也是copynet相对传统网络的改进。所谓copynet,就是模型输入中的字符可以被复制到解码输出中,这可以一定程度上缓解OOV问题,另一方面也可以强化输入输出之间的关联,这在复述、对话等任务中是有很大帮助
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
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
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
高考填志愿—利用大数据填报 距高考放榜的日子越来越近了,填报志愿的问题着实让很多父母和孩子头疼。可能大家也会遇到下述类似的情况,我大概讲述下:微微姐,见信佳。我是小欣,转眼间我已经高三毕业了,我对未来充满了期待,可现在我却在填志愿的问题上,跟我妈意见不一样,有些心烦。我来自某一线城市,两年前父母离了婚,我跟着妈妈生活。我妈是个要强的女人,那会为了我们娘俩的生活,开始在农贸市场做蔬菜批发。市场竞争激烈,我妈刚开始入行那会,搞到的摊位又偏,是真的辛苦。但她人机灵,找到了个不错的进货商,蔬菜新鲜,价格又还较便宜。再加上她嘴甜肯吆喝,这两
【paper reading】基于重编辑机制的文本生成算法 今天分享一篇基于重编辑机制的文本生成论文paper:Paper Abstract Writing through Editing Mechanism(发表于ACL2018)code:源码概述:这篇论文解决的问题是使用paper的title来生成abstract。论文使用了一种重编辑机制(参考人类写论文的过程:先写一个草稿出来,再不断的修改),是一个信息量由少到多的过程。本次分享希望能让你:了解重编辑机制的工作原理;学会编写主体框架。1. 模型总体框架1.1 encode-decode框架
vscode采坑指南 因为版权问题,最近IDE从pycharm改为了vscode(为了连接远程服务器进行debug),在熟悉vscode的过程中,出现了各种问题,因此记录下来。1.如果关掉终端正在运行的代码如上图,点击垃圾箱那里就行。2. 如何进行debug先选中一个要进行debug的py文件,然后按以下3步进行即可进行debug.3. 如何在子目录下进行run/debug首先,要明确一点,vscode在执行Python脚本的时候都是以调用脚本的工作目录为准的,因此,当你在子目录下run/debug时,经常会报
【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针对句子分类任务的纯字符粒度的模型的应用案例是:使用深度卷积网络来进行文本分类;当然也可以用字符粒度的模型应
服务器之间的数据传输(scp&rsync) 1. 本地终端与服务器互传数据(都在本地终端操作)1.1 从本地终端上传数据到服务器:scp -P 具体端口号 -r 本地终端数据路径 用户名@服务器地址:服务器数据保存路径其中,-P表示指定端口号(注意P为大写),-r表示递归传输,下同。1.2 从服务器下载数据到本地:scp -P 具体端口号 -r 用户名@服务器地址:服务器数据保存路径 本地终端数据路径其实上面并不是本文的重点,本文重点是如何不覆盖传输,即针对已存在的数据,直接跳过。2. 不覆盖传输rsync -avzu -e '