自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 关于对话文本数据,文本生成任务pointer_generate_network模型的总结

1 数据部分数据来源于司机和汽车司机的对话内容,司机的汽车遇到问题,向技师请教汽车可能出现的问题。标签是关于司机和技师之间问题对话内容之间的总结。将数据经过程序处理成batch内容之后,将技师与汽车司机的对话内容,用encoder_input表示,其中对应的mask部分(将非0的表示为1,0表示为0)用encoder_mask表示。将其中的标签部分,还有encoder_input_en。和encoder_input不同的是,encoder_input_toen表示的是将在词表中表示unk的部分,通过记录

2021-08-16 17:08:53 307

原创 基于对话数据关于seq_seq模型的总结

1.数据介绍:数据是来自汽车的数据集,是车主和技师的对话数据,主要内容是关于车遇到故障或其它问题的对话内容。我个人理解的任务是,车主的车遇到了问题,然后根据车主和技师之间的对话内容,从中得到摘要内容。也就是最后的摘要答案。数据处理的时候,需要把所有的问题和对话内容还genju 有一些车的型号,都根据分词后,放到一段文字当中去形成一句话,每个样本都这样去做。对应的样本标签也这样去做。在处理文本的时候,根据实际情况,将无用的词(比如和实际应用规定的词不相关的词去掉)还有停用词去掉。将不在词表中的词用

2021-08-09 19:42:14 282

原创 关于bert_sum中的总结(2)

上次主要总结了抽取式的收获,本次主要总结的是生成式的收获以及遇到的问题。数据的处理部分,已经在上次总结过了。这次主要是围绕模型的部分、预测的细节部分进行总结。一、模型部分1、encoder 主要是对对话内容中得到的数据,进行语义转换。得到更高维的数字特征,进行计算。代码中采用的是bert的预训练模型。将对话内容分割后通过bert预训练模型,转换为对应的数字。(这里的数字为对应token的索引,和词向量中的语义特征相对应。)将对应的对话识别片段segment和掩码(数字不为0的标记1,为0的标记0

2021-07-26 21:51:07 803

原创 对于bert_sum中的总结(1)

本次主要复习了bert_sum中的抽取方式提取文本摘要的部分。记录自己现在的收获与遇到的问题。01数据集:数据集是来自一份汽车对话的数据集,其中内容主要是技师和车主的对话内容。然后对这一份数据集合的每一个样本的整体性内容做了文本摘要。我们需要做的是在一份相类似的数据集上,根据技师和车主的主要对话内容,然后结合该样本的其它辅助信息,给出文本摘要的预测。02 数据处理部分,<1>把数据集中技师和车主的对话内容中,多段对话的内容,根据特定的符号如:'/'、'|'、','、'。'进行分离。然

2021-07-19 15:27:43 1248

原创 关于文本摘要部分,最后一周的总结

本周主要是复习了有关Match_sum、Bert_sum的项目。接下来说说我对于Match_sum的了解。01首先是数据部分,由文件的原文本text、原文本对应的摘要summary、和从bert_sum中候选出的几个重要句子,然后从中选出的候选的摘要组合candidate构成。02 将summary、text、candidate对应的文本转化为数据的格式,选用bert的预训练模型,将summary和text通过bert模型计算相似度得分得到summary_score,将text和ca

2021-06-27 23:22:12 156 2

原创 本周的一些总结与遇到的问题

本周主要是学习了三胞胎网络模型和match_sum的模型01 三胞胎的模型,主要是根据多分类任务,分为positive、negative、achor三种类型。

2021-06-13 23:10:11 347 2

原创 对于bert_extract_summarization的认识

在查看了https://github.com/chriskhanhtran/bert-extractive-summarization.git关于摘要

2021-06-06 23:10:47 368 1

原创 实现transformer的总结

transformer 是当前最新使用模型的基类之一。今天主要介绍transformer的构成,以及在实现这个模型时自己遇到的一些问题。1 encoder的构成01 embed

2021-05-29 22:27:50 968

原创 pgn model和一些解决oov的方法

本周主要有面对out of vocabulary时的一些方法,以及对应的pgn模型。1、当我们面对oov问题出现,往往的解决方法有以下:01 忽略oov 遇到不认识的词,直接忽略,但是这种方法会严重影响文本摘要的意思。02 用默认的词代替(unk) 但是这种方法会直接造成,摘要内容可读性很差。03 扩大词表 这种方法,从某种程度上可以缓解。但是也会带来计算量大的问题,以及有一些低频词,是不能很好的学习到其中的意思(因为深度学习是基于统计来学习的)。04 将token分解为char级别..

2021-05-22 23:10:28 1768

原创 文本摘要预测token时的方法和总结

本周主要学习了,在生成token的过程中的使用方法,以及可能遇到的问题和对应的解决方法。01 greedy(贪心算法)这个算法,每次预测token的时候,选择其中概率最大的那个token。直到预测到<end>时结束。这种算法的缺点:往往预测的句子,是没有什么意义的话,感觉说的不是人话。02 beam search这个算法是每次选择概率最大的k个,然后在该序列中依据前面已经预测过的token预测当前的token,加和最大概率的方式再选择k个,直到预测出<end>时停

2021-05-16 11:40:37 296

原创 摘要任务第二周总结

本周主要是复习了rnn,lstm,gru的内容。rnn是通过上一个状态的信息与当前的输入,建立函数,通过sigmod激活函数预测下一个状态。一直到该序列最后一个token结束。rnn因为在每一个状态都是共享参数的,在反向传播的过程中,因为激活函数取值范围为(-1,1)直接,所以会造成梯度消失。在长序列任务中,效果表现的不好。lstm在一定程度上解决了rnn的梯度消失的问题。它是通过门控机制来控制梯度的消失。lstm中使用了遗忘门f,更新门i,输出门o。这个三个门都是通过上一个的状态信息和当前层的输入

2021-04-25 23:22:27 97

原创 第一周生成摘要任务课程的简单回顾

本周主要是学习了词向量的从从前到现在的一个发展历史。01 最开始表达词与词之间的关系用语义相近来表示,可以用近义词去替换这个词。但是存在的一个问题是,用近义词表达一个词的意思的作用是有限的,在不同的语境中同一个词无法用固定的词来表示。02 之后开始使用one-hot表示词的含义。在一个一维的空间里面,是某个词则为对应编码位置用1表示,其它位置用0表示。缺点是不同词之间没有相似度的关系,不能表示词与词之间的关系。而且词向量的维度要求非常大。03 为了表示语境中不同位置词与词的关系,引入了N

2021-04-18 23:18:06 112

原创 最后一节rasa课后的简要小结

01 本周主要是做了对rasa的一个整体的梳理,知道了自己在rasa方面的很多大概懂但是又不够理解的地方。rasa是一个整体而综合的东西,会涉及到很多模型任务,以及规则。现在自己主要对nlu的部分的模型有了相对深一点的理解,因为其中的cross_woz场景,其中的nlu部分的分类代码,是自己亲自去实现的。而实体识别和Dialogue State Time的任务,也只是粗略的看了代码,没有整体自己的去实现。其中遇到一个问题是其中的belief state这部分数据,没能找到其中的实现方式,所以没能最终跑通任.

2021-03-27 22:45:55 115

原创 rasa课程第7周小结

收获01 学习了GPT2的一些基本概念,重新回顾了bert中attention的基本概念和原理,了解了gpt2中mask的attention的基本原理。02 看了生成模型中interact.py的内容,每次根据对话,根据设定的迭代值,预测出下一个字的内容,迭代完成后,下一句话也完成。其中彩用了topk和topp的方法,来对下个 单词进行预测。03 复习了关于rnn部分的相关知识点,更清楚的知道rnn在每个timestep都是对当前batch下的对应字符,进行处理,将信息合并到下一个t...

2021-03-20 23:01:28 362 1

原创 关于rasa的第六周的心得总结

本周主要的收获:01对于模型调优器:Adamw有了更新的理解,其中param是需要可迭代的类型,列入下图中的 optimizer_group_parameters,列表中套用字典,可以对参数进行设置。因为Adamw中需要计算decay,但是可以选择一部分参数不需要计算decay,这就是里面设置字典的意义。optimizer_group_parameters = [ {"params": [p for n, p in intent_with_bert_model.named_paramete

2021-03-04 23:25:57 221 1

原创 关于20210211-20210218的小结

本周简要总结一下自己的收获和遇到的问题:收获:01PRE_TRAINED_MODEL_NAME='bert-base-cased'tokenizer=BertTokenizer.from_pretrained(PRE_TRAINED_MODEL_NAME)需要导入的bert预训练分词器模型,可以用来给文本分词。导入分词器后,依然代表BertTokenizer类。02encoding = tokenizer.encode_plus( sample_txt, m...

2021-02-18 23:39:44 197

原创 基于bert预训练后处理任务,根据intent做文本分类和slot做实体识别任务的简要总结

一、基于bert的分类任务识别intent01 数据包含一段话和这段话所包含的intent+entity,然后从中识别出标注的intent+entity  (1)处理数据部分,将文本数据切分为token列表。  (2)将intent+entity构成的列表数据,然后为对应位置数字  (3)将token根据bert模型,将文本形式转化为数字  (4)将数据输入构建好的基于bert的预训练模型,并对结果进行finetinue,得到loss (5) 设置500epochs...

2021-02-04 19:28:13 537

原创 简要谈谈对rasa目前的学到的简要总结

这段时间主要是根据理解到的rasa的原理,实现一个可以调用天气功能的bot。简要分享一下自己遇到的坑,以及解决方式。01 当测通要调用的天气接口的API后,选择要传的参数城市后,才能得到不同城市的天气情况。所以如何定位到位置信息,是需要解决的第一步。rasa提供了实体(entity),通过实体可以将地址信息(address)识别出来。但是有一个问题需要注意,因为我和bot的对话是用中文写的,所以在配置pipeline的时候,要注意到自带的WhitespaceTokenizer是不会识别中文实体的

2021-01-18 23:32:32 740 1

原创 关于rasa对话机器人的浅层次理解

接触对话机器人rasa框架有一周的时间,谈谈自己的理解与困惑。1、主要收获当前接触的rasa主要学习到有两部分构成,nlu部分和core部分。nlu部分主要用来识别intent(意图),根据用户说的话,获得用户的需求。core部分,主要是根据用户的对话,更智能的方式理解用户的需求。并提供具体的回复建议。利用的原理可以使用机器学习、深度学习的框架,然后预测出关于需求的内容。其中domain部分用来根据用户意图,机器人给予反馈。story部分,是根据具体的情节内容,和用户实现多轮对话,并且可以追

2021-01-07 19:13:26 337

原创 关于bidaf和bert的简要回顾

01简述bidafbidaf主要是通过encoding中的charembeding和word embeding 通过lstm构建出contextual embedding部分,然后contextual embedding构建context-to-query和query-to-context的注意力方式,融合query和context的信息,然后将它们之间融合,再通过lstm得到对应的output结果。参考文章链接:https://towardsdatascience.com/the-definiti

2020-12-27 23:09:25 314

原创 关于2020语言与智能技术竞赛中的一部分代码的简要小结

本次主要记录了标题中的一些代码部分的理解和遇到的知识点,主要是encode部分的情况。01 下图代码段中的with open部分中,通过每次新增键值对的长度个数,讲词组word转化为对应数字字典。from bert4keras.tokenizers import Tokenizermaxlen = 128# tokenizer = Tokenizer(dict_path, do_lower_case=True)def load_vocab(dict_path, encoding=.

2020-12-20 22:18:03 182 1

原创 关于transformer、bert、xlnet、roberta、albert的简要小结

01transformertransformer重要的地方是引入了attention机制,可以得到embeding的token之间的相互关系信息。以及在embeding的时候,计算了相对位置的信息,让输入的信息更加全面。细节在这里不再描述,可以参考这篇作者的链接:https://jalammar.github.io/illustrated-transformer/02bertBert沿用了transformer机制,将transformer的encoder部分,引入预训练任务中。并且在enco.

2020-12-13 21:44:13 688

原创 关于transformer-xl和xlnet以及tensorflow的知识简要小结

01transformer-xl由于transformer只能限制到固定长度内容的文本之间的关系,如果文本长度不固定,不能很好的表示之间的联系。而transformer-xl引入了相对位置之间的表示方法,以及以循环神经网络的方式,记录信息之间的联系,可以更好的解决不同时刻词语之间的关系信息。参考文章:A Light Introduction to Transformer-XLhttps://medium.com/dair-ai/a-light-introduction-to-transfo...

2020-12-06 22:51:12 569

原创 学习transformer框架以及bert应用的总结

01总结概括本周主要是复习了Transformer的代码,知道了transformer的编码层和解码层的内部原理,编码层的输入是word_encode,pos_encode,然后通过权重矩阵K,Q,V构建K与Q的权重矩阵,self_attention。然后通过神经网络的feed_forword和残差网络(引入主要是为了避免梯度消失),得到输出。重复N次这样的操作,得到编码层的输出。解码层是由word_decode,pos_decode,然后通过权重矩阵K,Q,V构建K与Q的权重矩阵,self_atten

2020-11-29 22:51:58 296 1

原创 关于深度学习中Attention原理的总结

01 对于attention的理解attention翻译为注意力,对于不同的输入信息根据重要性不同赋予不同的权重。来源于人类对同一事物的注意力不同而得名。可以根据图一来做简单的理解,其中颜色较深的部分,指的是比较关注的分布。图102 Attention在NLP中的来源在NLP中,Attention来源于SeqSeq中,在最后一个timestep后encode输出开始预测decode的阶段,如图2中中法文翻译为英文为例。在每一时刻生成右边英语句子的过程中只关注其中输入法语句子中最重要的信息部

2020-11-22 22:42:02 448 1

原创 做一个小的程序时的反思

01 不会读取excel数据,读的时候卡了半天,读了之后显示的是内存。花费了一定的时间book = xlrd.open_workbook('/home/infisa/wjht/project/301_hospital/yanke.xlsx') #读入数据,显示的是内存 sheet = book.sheet_by_index(0) #显示第一个sheet nr...

2019-05-29 10:48:46 100

原创 pytorch实现MNIST手写数字识别分类

pytorch实现MNIST手写数字识别分类我们采用的是三层神经网络代码from torch import nnclass simpleNet(nn.Module): """ 定义了一个简单的三层全连接神经网络,每一层都是线性的 """ def __init__(self, in_dim, n_hidden_1, n_hidden_2, out_d...

2019-05-27 10:29:15 2761

原创 PyTorch 不同类型的优化器

不同类型的优化器随机梯度下降法(SGD)如果我们的样本非常大,比如数百万到数亿,那么计算量异常巨大。因此,实用的算法是SGD算法。在SGD算法中,每次更新的迭代,只计算一个样本。这样对于一个具有数百万样本的训练数据,完成一次遍历就会对更新数百万次,效率大大提升。由于样本的噪音和随机性,每次更新并不一定按照减少的方向。如上图,椭圆表示的是函数值的等高线,椭圆中心是函数的最小值点。红色是B...

2019-05-24 17:15:02 2997 3

原创 pytorch中Dropout与L1和L2正则化

Dropout原理算法概述我们知道如果要训练一个大型的网络,训练数据很少的话,那么很容易引起过拟合(也就是在测试集上的精度很低),可能我们会想到用L2正则化、或者减小网络规模。然而深度学习领域大神Hinton,在2012年文献:《Improving neural networks by preventing co-adaptation of feature detectors》提出了,在每次...

2019-05-22 13:50:46 828

原创 pytorch 实现多层网络

pytorch实现多层网络导入包import torchimport torch.nn as nnimport torch.nn.init as initimport torch.nn.functional as Fimport math导入数据‘#读取数据集# Pima-Indians-Diabetes数据集import pandas as pdimport nu...

2019-05-20 18:14:46 1070 1

原创 用pytorch 实现逻辑回归

用pytorch 实现逻辑回归构造数据集:n_data = torch.ones(100, 2)x0 = torch.normal(2 * n_data, 1) # 生成均值为2.标准差为1的随机数组成的矩阵 shape=(100, 2)y0 = torch.zeros(100)x1 = torch.normal(-2 * n_data, 1) # 生成均值为-2.标准差为1的随...

2019-05-16 11:20:33 8921 5

原创 PyTorch 求取梯度并实现一元线性回归

numpy和tensor相互转化并求取梯度*numpy和tensor相互转化tensor为张量,张量指多维矩阵import torchimport numpy as npfrom torch.autograd import Variablea=torch.Tensor([[2,3],[4,8],[7,9]])b_=torch.LongTensor([[2,3],[4,8],[7,9...

2019-05-14 20:24:39 414

原创 Pytorch的基本概念

什么是PyTorch,为什么选择PyTorch什么是PyTorch它是一个以Python优先的深度学习框架,不仅能够实现强大的GPU加速,同时还支持动态神经网络,这是现在很多主流框架比如Tensorflow等都不支持的。PyTorch既可以看做加入了GPU支持的numpy,同时也可以看成一个拥有自动求导功能的强大的深度神经网络,除了Facebook之外,它还可以被Twitter、CMU和S...

2019-05-12 10:59:34 260

转载 128 最长连续数列

128 最长连续数列题目链接https://leetcode-cn.com/problems/longest-consecutive-sequence/代码class Solution: def longestConsecutive(self, nums): """ :type nums: List[int] :rtype: in...

2019-03-13 21:44:31 172

转载 390 消除游戏 python

390 消除游戏题目https://leetcode-cn.com/problems/elimination-game/代码class Solution: def lastRemaining(self, n: int) -&gt; int: base=1 res=1 while(base*2&lt;=n): ...

2019-03-09 21:07:17 283

转载 leetcode 617 合并二叉树

617 合并二叉树题目https://leetcode-cn.com/problems/merge-two-binary-trees/代码# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.lef...

2019-03-07 21:01:55 77

原创 301_hospitial

301_hospitial代码 for array in result_array: sub_list, s, suggest, body_part = array['分支1'], array['句子'], f(array['建议']), array['分支2'] # print('body_part',body_part) ...

2019-03-07 17:16:06 98

原创 lettcode 462 最少移动次数使数组相等 python

lettcode 462 最少移动次数使数组相等题目链接https://leetcode-cn.com/problems/minimum-moves-to-equal-array-elements-ii/submissions/思路关键是找到中位数,其它数到中位数的距离是最小的。代码class Solution(object): def minMoves2(self, nu...

2019-03-05 21:43:00 274

原创 python 414 lettcode 第三大的数

414 lettcode 第三大的数网址https://leetcode-cn.com/problems/third-maximum-number/submissions/思路将一个数组列表,利用set()方法去重,利用sorted()排序,转化为列表,然后在做判断,如果数组长度大于等于三,返回倒数第三的数字,反则返回列表中最大的数。代码class Solution(object)...

2019-03-03 21:29:11 99

转载 leetcode 502 IPO python

leetcode 502 IPO题目链接https://leetcode-cn.com/problems/ipo/submissions/题目解法及思路class Solution: def findMaximizedCapital(self, k: int, W: int, Profits, Capital) -&gt; int: #将利润和资本通过zip函数...

2019-02-27 21:43:22 429

空空如也

空空如也

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

TA关注的人

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