自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(296)
  • 论坛 (1)
  • 收藏
  • 关注

原创 【BERT,GPT+KG调研】Pretrain model融合knowledge的论文集锦

总述: 本文调研近年来bert与knowledge的融合的工作, 对于每一篇工作, 大概的介绍他们融合knowledge的方式, 并且进行自己的点评。文章列表:1.Align, Mask and Select: A Simple Method for Incorporating Commonsense Knowledge into Language Representation Models arxiv 2019主要目标: 把struct knowledge融合到bert的参数当中,...

2021-04-26 10:43:16 22

原创 【Torch】最简洁logging使用指南

网上的教程大多十分复杂,实际上使用logging非常简单, 三行代码就好了我使用logging是为了方便调试, 因为输出框缓存的数量是有限的,如果把输出打印到文件中观察使用体验会好很多,因为这三行代码的功能就是为了将输出导出到某一个文件中配置代码如下:import logginglogging.basicConfig(level=logging.INFO, filename='./mylog/test.log', filemode='w')这里首先引用了logging的包, 然后配置一

2020-12-08 10:35:08 259

原创 【Torch】解决tensor参数有梯度,weight不更新的若干思路

问题: 在torch类里面用nn.Parameter声明了一个可学的Tensor参数, 结果每次梯度回传之后,可以看到变量梯度,但是该参数的weight始终不变,一直保持着初始值。思路:遇到某参数的weight一直不更新,解决思路有以下几种:1. 检查该变量的梯度是否为0或者为None, 对于pytorch的中间变量,输出梯度的方式见博客:https://www.jianshu.com/p/ad66f2e38f2f 如果是None或者0,说明梯度没有...

2020-11-24 17:24:07 715 1

转载 Subword三大算法原理:BPE、WordPiece、ULM

前言Subword算法如今已经成为了一个重要的NLP模型性能提升方法。自从2018年BERT横空出世横扫NLP界各大排行榜之后,各路预训练语言模型如同雨后春笋般涌现,其中Subword算法在其中已经成为标配。所以作为NLP界从业者,有必要了解下Subword算法的原理。目录与传统空格分隔tokenization技术的对比 Byte Pair Encoding WordPiece Unigram Language Model 总结1. 与传统空格分隔tokenization技术的对比

2020-09-18 22:35:34 273

原创 python 如何用变量名字符串获取变量的值

通过字符串的f操作:aa = 5print(f"{aa}")bb = [1,2,3]print(f'{bb}')关于f操作的更多信息,请见https://blog.csdn.net/yizhuanlu9607/article/details/89530982

2020-07-30 17:33:05 2582

原创 python list中找Topk的数值和索引

需求:对于一个python list 或者numpy数组,我需要找到这个list中最大的K个数及其对应的下标。解决方式:1. 可以构造字典通过排序解决,不过代码量较多。2. 使用heapq库,可以直接获取最大值的下标和数值。import heapqa = [4,2,6,1,9,9]# 获取下标, 输出为[4, 5, 2]heapq.nlargest(3, range(len(a)), a.__getitem__)# 获取数值, 输出为[9, 9, 6]heapq.nlar

2020-07-21 11:14:57 1888

原创 【MEDICAL】Attend to Medical Ontologies: Content Selection for Clinical Abstractive Summarization

任务: 据作者说,英文的医疗影像报告同时具有两个描述,一个是FINDINGS,阐述了整个图像的细节与特点,还有一个是IMPRESSION,只重点描述图像中的关键信息,这些关键信息是包含在FINDINGS里面的。总之,本篇论文做的就是利用这个FINDINGS来生成IMPRESSION,即在文本摘要在医疗领域的应用。模型: Content Selector:这个选择器采用序列标注的形式来实现,整个FINDINGS序列的每个词有0,1两种标注。如...

2020-06-19 10:59:03 176

原创 allennlp 中的TypeError: Object of type Tensor is not JSON serializable错误

错误展示:File "/home/yanshangyao/anaconda3/envs/torch14/bin/allennlp", line 8, in <module> sys.exit(run()) File "/home/yanshangyao/anaconda3/envs/torch14/lib/python3.7/site-packages/allennlp/run.py", line 18, in run main(prog="allennlp") F

2020-06-18 16:22:10 503

原创 python的正则表达式匹配如何找到所有匹配成功的部分(包括重叠的)

比如: st = “平安夜吃苹果呀小菇凉” , pattern = '((平|苹).*?果)‘我希望匹配的字符串是 "平安夜吃苹果" 以及 “苹果” 很显然后面那个是包含在前面一个字符串中的。解决方式有两种:1. ?= 原理暂时我没有弄清楚,请路过的大佬指点在这个pattern的周围加上一个?=,然后套一个分组括号。详见代码:st = "平安夜吃苹果呀小菇凉"...

2020-04-23 16:11:43 1366

原创 运行bash文件报错 syntax error near unexpected token '$'do\r''

在pycharm上直接写了一个sh文件,到服务器上面运行就报错,错误如标题。then,在服务器上vim把所有的换行,空格删掉重打无效最后,总结了错误原因以及两种解决方式。原因:其实很多博客讲了,因为windows和linux系统换行符的不同,在windows中换行符是'\r\n',而在linux中只有'\n',现在我们就明白报错的意义了, windows格式写的代码放到linux执...

2020-04-09 18:17:07 659

原创 point-wise element-wise

先占个坑point-wise element-wise实际上是同一个东西,就是两个矩阵的对应位置逐点相乘,也就是说这两个矩阵的大小要是一样的。不同的人有不同的表达,还有一个Hadamard product实际上也是同一个意思。...

2020-04-08 20:28:05 1384

原创 RuntimeError: reduce failed to synchronize: device-side assert triggered pytorch训练

总述:本意在于记录一下这个问题产生的种种情况,请注意不是显卡坏了,而是代码出错了。1. nan问题在训练的时候,长久累积某一个tensor,导致他的值过大产生nan。还有可能是,某一个参数没有初始化,使得内存地址随意赋值,常出现于nn.paramter()的时候...

2019-12-10 03:29:41 3033

原创 [NLU] DialogueGCN: A Graph Convolutional Neural Network for Emotion Recognition in Conversation

总述:最大的特色就是将GCN用在了对话情感识别上,这里的coversation可能是不止两个人的。然后故事写得很好,inter-dependency和intra-dependency还有self-dependency唬的我一愣一愣的。主要模型:inter-depencency intra-dependency所谓的inter-dependency其实就是说某一个speak对其他...

2019-11-19 00:20:43 1765 2

原创 [NLG] A Context-aware Natural Language Generator for Dialogue Systems

总述:16年的文章,感觉方法在现在看来已经很easy了,可见NLP领域的发展之迅速。文章主要讨论了如何将context 引入到当前生成的句子中,baseline和seq2seq attention做对比,作者采用了两种方式,一种将context直接简单的接到DA的前面,DA(dialog action就是一些键值对)。第二种就是将context单独encoder成一个向量,然后和DAenc...

2019-11-18 00:49:23 443

原创 [NLU] Enhancing Dialogue Symptom Diagnosis with Global Attention and Symptom Graph

总述:通过构造一种global attention的机制以及构造了symptom的图,提高了在医疗对话中,对于每一句话出现symptom的预测精度。以及提高了symptom inference(对于一种症状,病人是否有)的精度贡献:1.有一个开源的中文医疗对话数据集,大约两千多个对话,标注了BIO,做了symptom normalization。有四种病,大约162中症状2.结合了...

2019-11-16 17:21:31 414

原创 [NLU] Extracting Symptoms and their Status from Clinical Conversations

总述:像是陈年玉米,又长又难嚼还没啥营养。大抵就是他收集了3K诊所问诊的录音,然后在每一段录音的基础上识别出问诊过程中涉及到了哪些症状,以及推断这些症状是否出现在病人身上。但是其实模型very simple,就是一个lstm+CRF做tag的任务QAQ,不过实验室做了挺多的,类似于transformer的encoder和lstm的encoder,还有加权和不加权的eval metric, ...

2019-11-14 11:44:57 235

原创 [NLG]A Working Memory Model for Task-oriented Dialog Response Generation

总述:memNN常用于在对话中引入KB的知识,然而之前的工作大多数把dialogue history和KB的memory混在一起,作者借鉴了心理学的研究。有个work memory(类似于电脑内存的感觉)可以和两个记忆做交互,一个知识记忆(semantic memory),一个历史记忆(episodic memory).然后作者就设计了一个模型,将对话历史作为历史记忆,将KB结构化知识作为知识...

2019-11-11 12:41:58 380 1

原创 [NLU] Improving Multi-turn Dialogue Modelling with Utterance ReWriter

总述: 主要是有一个utterance rewriter的机制,将一句话里面的省略和共指关系给找出来,然后形成一句新的话语,这样显示的声明一句话的省略部分和共指词可以提高对话系统的效果。具体来说对于task-oriented对话系统,提高了intention Precision(每一句话的意图检测),对于chitchat,提高了CPS:coversation-turns-persess...

2019-11-09 13:15:54 1070

原创 [NLG] Comparison of Diverse Decoding Methods from Conditional Language

总述:总体上是一篇survey,不过后面在基础模型上加了oversampling的改进,然后还对原来的clustering post decoding做了改进。重点在于介绍在conditional language model (就是通过前文预测下一个单词的模型,如GPT)下如何使句子的生成具有diverse(多样性)主要模型:1.首先介绍了贪心编码(arg-max),每一次根据当前的...

2019-11-04 12:17:49 151

原创 [NLG] Domain Adaptive Dialog Generation via Meta Learning

总述:这篇文章貌似就是把end2end模式的dialogue system套了一层maml的更新方式,然后在few-shot领域上的效果比之前赵天成的ZSDG效果要好。感觉思路很清新也很简单,不知道是不是我没看懂QAQ总之要看懂这篇论文,首先得看下Sequicity和 MaMl模型: 首先介绍一下maml的主要思想:maml就是说有多个domain的数据a1,a2,a3...

2019-10-24 01:54:48 351

原创 [DM]Sequicity: Simplifying Task-oriented Dialogue Systems with Single Sequence-to-Sequence Architect

总述:这篇文章的主要特色在于生成dialogue believes,也就是作者所谓的belief span,在对话管理模块中,一般都需要首先对一句话的belief进行分类(就是一些slot-value对,一般来说分为两种类型,一种informable类型的,要告诉用户某一些具体信息,一种requestable类型的,需要记住用户需要什么。对于某一个informable类型比如说餐馆风味,有很多...

2019-10-20 01:02:04 454

原创 [NLG]Few-Shot Dialogue Generation Without Annotated Data: A Transfer Learning Approach

总述: 我觉得这篇论文的主要亮点就是不要标注数据。之前赵天成的zero-shot虽然很惊艳,但是迫于每一句话都需要标注dialogu action,所以应用性不强。这篇论文就是结合了赵天成之前的两篇工作,第一个zero-shot,第二个laed(用于在大规模数据中学习找到对话潜在的latent action)。然后作者就认为,在大规模无标签对话中用laed学习可以学到隐式的dialog ac...

2019-10-19 16:10:27 267

原创 [NLG] Pretraining for Conditional Generation with Pseudo Self Attention

摘要: 这篇文章的主要idea就是如何用现在已经有的语言模型,稍微引导一下生成基于某些条件的话语。如给个情感,生成一个带情感的句子。作者在GPT2的结构上稍微修改了self-attention机制,命名为Pseudo-Self,在decoder的时候引入外部控制,并且这样做能够尽量小的影响GPT2之前的训练参数,达到的很好的效果。模型:作者主要对比了前面两种工作,关于这两种工作...

2019-10-17 01:19:42 282

原创 [NLG]Unsupervised Discrete Sentence Representation Learning for Interpretable Neural Dialog Generat

看这篇paper看的自闭了。作者用了太多操作了。。。摘要: 作者的意思应该是要在一些无监督的语句中学会一些可解释的离散的laent action,然后用这些laent action指导对话的生成。什么叫可解释呢,我觉得这篇论文的意思就是,这个latent(意图,动作,相当于slot-value对)和这一句对话有直接的关系。然后作者就用了两个新的模型,实际上就是魔改了VAE(看的我脑阔痛)...

2019-10-15 01:51:58 279 1

原创 [NLG] Zero-Shot Dialog Generation with Cross-Domain Latent Actions

摘要: 简单来说,就是实现了对话生成的zero shot(零次学习)。首先在一些source domain当中学习一些domain的基本描述,希望学到的这些基本描述能够用于target domain的对话生成,其中source domain的领域和target domain完全不一样。但是属性是共同的。主要工作: 1.提出来一种新的抽取domain 属性和描述的方法:seed...

2019-10-13 02:00:05 311

原创 [NLG]GECOR: An End-to-End Generative Ellipsis and Co-reference Resolution Model for Task-Oriented Di

摘要: 之前还没有人做过multi-turn dialogue的有关省略和共指词汇的研究,只有短文本恢复省略词汇的研究。本文作者通过构造一个数据集(数据集中将dialogue的省略词和共指词都标记了出来),然后结合attention和copynet提出了一个end2end的multi-task学习框架。学习在结合上文的情况下,如何生成省略词和共指词。并且EM,BLEU,F1的效果不错。主...

2019-10-10 15:26:55 473

原创 [NLG]Do Neural Dialog Systems Use the Conversation History Effectively? An Empirical Study?

摘要: 为了发现对话历史是否真的被有效的利用了,本文介绍了10种干扰来评测对话历史是否真正被利用。发现transformer-seq2seq 和rnn seq2seq并没有很好地利用这些信息主要工作: 首先有一个前提:如果模型对于对话历史的改变不敏感的话,那么他基本上没有利用多少对话历史。 在之前的工作中已经发现:1.lstm的作用范围只被周围的大约150个词所...

2019-10-09 01:21:46 283

原创 解决tqdm一直往下滚动的问题

看大佬的代码,tqdm的进度条老老实实的呆在一行。偏偏自己写起来:长这个鬼样:把我要输出的信息都给覆盖了。解决方式:加上一个ncols的参数就行了,规定一下滚动条的长度,往下滚动的原因是它太长了。for i in tqdm(range(100),ncols=80) j = i*i 一般设成80就很好看了。参考:https://www.jianshu.c...

2019-09-19 16:02:28 6376 1

原创 -bash: */anaconda3/bin/conda: */anaconda3/bin/python: bad interpreter: No such file or directory

错误发生原因:我移动了anconda的文件夹,把它移到了另外的目录,但是他的某些配置还是没有改变。以至于无法正常使用conda和pip命令解决方案:首先,检查path变量:echo $PATH看一下环境变量中是否包含移动之后的文件目录,主要到*/anaconda3/bin这一层。如果没有,请在~/.bashrc中加上一句:export PATH="**/anaconda...

2019-09-17 15:35:01 7396 1

原创 修改Tmux的Ctrl+B前缀快捷键

在电脑上ctrl+b是往前移动一个字符QAQ1.查看prefix现有绑定键:tmux show-options -g | grep prefix2.要在tmux内置命令中修改及时生效,可在终端中输入以下命令:(只对当前这一次登录有效,关机后失效)其中第一个-g设置全局生效快捷键。其实一般第一个设置好后新的快捷键就可以生效,如果需要再使用第二个和第三个命令。tmuxset-...

2019-09-13 11:06:30 6287

原创 RuntimeError: set_storage is not allowed on Tensor created from .data or .detach()

升级pytorch即可我的pytorch版本是:1.1.0,升级到pytorch1.1.2就好了如何查看pytorch版本:import torchprint(torch.__version__)我用的是Anconda,通过conda来升级pytorch,一般用conda都会创建虚拟环境的。conda update pytorch torchvision慢慢等即可。...

2019-09-13 10:57:59 3223

原创 arxiv Access Denied 权限问题禁止下载解决方案

1.发邮件解决:如https://arxiv.org/denied.html所言邮件格式:blocked access was logged from:(none) [202.116.81.170] at arxiv.orgwith User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (...

2019-08-23 15:36:33 2916 9

原创 通俗解释NLP任务四种评价指标(BLEU,METOR,ROUGH,CIDEr)

BLEU:所谓BLEU,最开始是用于机器翻译中。他的思想其实很native,对于一个给定的句子,有标准译文S1,还有一个神经网络翻译的句子S2。BLEU的思想就是对于出现机器翻译S2的所有短语,看有多少个短语出现在S1中,然后算一下这个比率就是BLEU的分数了。首先根据n-gram划分一个短语包含单词的数量,有BLEU-1,BLEU-2,BLEU-3,BLEU-4。分别就是把文章划分成长度为1...

2019-08-22 15:04:20 8042

原创 Educational Codeforces Round 63D. Beautiful Array(动态规划)

题意:在一个数组里面,找一个连续子数组使得子数组和最大,这是最大子段和。现在给定一个数x,要求,求数组中的某一个连续子数组乘上x之后,该数组的最大字段和是多少。解法:第一眼:毫无疑问这是线性DP,而且肯定就是最大字段和拓展一下。第二眼:如果x是正的话,那就找出最大子段和然后乘上x,如果x是负的话,那就找出最小子段和,并且记录这一个最小子段和的位置,然后给对应位置乘上x后,在对原...

2019-04-23 11:37:39 218

原创 两行代码下载安装Anaconda(linux环境)

下载:获取anaconda在清华镜像站的网址,然后在服务器端wget 网址就行了。清华镜像站中anaconda的所有版本的网址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/找到自己想要的那个版本,然后右键-》复制链接地址。接下来在服务器端找一个好的目录,wget + 复制好的地址,运行就好。示例: wget...

2019-04-16 11:04:57 23437 2

原创 Python seleinum设置代理

总述:介绍seleinum在爬取的时候,如何设置代理代码:from selenium import webdriver proxy = '182.85.206.240:6553'chrome_options = webdriver.ChromeOptions()chrome_options.add_argument('--proxy-server=http://' + pro...

2019-04-12 16:08:06 724

原创 Python设置火狐浏览器谷歌浏览器 headless(无头模式)

总述:在使用seleinum的时候,如果模拟谷歌或者火狐浏览器,出现一个界面的话太难受了。但是PhantomJS已经挂了(就是不太好用了),所幸firefox和chrome都有了无头模式,也就是没有界面的浏览器,在内存中执行。firefox:from selenium import webdriver options = webdriver.FirefoxOptions()op...

2019-04-12 16:01:26 3570

原创 scrapy+seleinum 新手爬取微博热门话题避坑实录(19/4/12)

总述:出于某些原因要爬一爬微博的热门话题,我的需求是:热门话题+热门话题下参与讨论的用户的基本信息。接下来我会介绍三天里面我的工作以及令我印象深刻的坑,因为微博的反爬措施时时刻刻在更新着,所以代码可用度不太高,总而言之一句话:硬刚不了可以绕道而行。advice1.网站选择如果你需要获取微博的信息,新手的话最好爬移动端的微博,网址:https://m.weibo.cn/,基本上网页版...

2019-04-12 15:47:08 878

原创 谷歌浏览器获取网页元素的xpath

总述:一开始接触爬虫的时候,一个元素的定位能让我纠结半天。定位有很多种,我觉得最好用的是xpath,在这里分享一个用谷歌浏览器自动定位元素的trick,以后定位元素只需要复制就可以了。第一步:找到在网页上定位元素找到你需要定位的元素,右键-》检查,那么谷歌浏览器的有边框就会跳到相对应的元素位置。如图:我右键点击了话题榜,然后代码就自动跳到了话题榜所在的元素。第二步:复制xp...

2019-04-12 14:38:21 6651 1

原创 leetcode1015. 可被 K 整除的最小整数

题意:给定正整数K,你需要找出可以被 K 整除的、仅包含数字1的最小正整数 N。返回N的长度。如果不存在这样的N,就返回-1。题解:一开始我还想dfs爆搜,但是预处理起来很麻烦。没想到,真是没想到,还有这种操作!!!∑(゚Д゚ノ)ノ,直接遍历1e6个1的组合就行了。其中如果K中含有2和5的因数的话就明显无解,这里可以加一个优化,效果你们看得到。还能不...

2019-04-04 20:20:26 423

空空如也

lwgkzl的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

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

TA关注的人 TA的粉丝

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