![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
自然语言处理
文章平均质量分 85
Unstoppable~~~
Hiter
展开
-
Deep Bidirectional Language-Knowledge Graph Pretraining论文阅读
最近的工作表明,知识图(KG)可以补充文本数据,提供结构化的背景知识, 为推理提供有用的支架。然而,这些作品并没有经过预先的训练来学习大规模的两种模态的深度融合,这限制了获得文本和 KG 完全联合表征的潜力。在这里,我们提出 DRAGON(深度双向语言知识图预训练),一种自我监督的方法,用于从文本和KG在规模上预训练深度联合的语言知识基础模型。具体来说,我们的模型采用成对的文本段和相关的 KG子图作为输入, 并双向融合来自两种模态的信息。原创 2023-04-23 11:27:51 · 604 阅读 · 2 评论 -
GPT-4博客介绍
为防止模型拒绝有效请求,我们从各种来源收集了多样化的数据集(例如,标记的生产数据、人类红队、模型生成的提示),并在允许和不允许的类别上应用安全奖励信号(具有正面或负面价值)。与之前的GPT模型一样,GPT-4基础模型的训练目标是预测文档中的下一个单词,并使用公开可用的数据(如网络数据)以及我们许可的数据进行训练。需要注意的是,RLHF并不能提高在各类考试上的成绩,模型的能力主要依赖数据和算力的堆砌,用简单的language modeling loss得到结果,然而,GPT-4的额外功能导致了新的风险面。原创 2023-04-07 11:25:43 · 636 阅读 · 0 评论 -
BertTokenizer的使用方法(超详细)
convert_tokens_to_ids是将分词后的token转化为id序列,而encode包含了分词和token转id过程,即encode是一个更全的过程,另外,encode默认使用basic的分词工具,以及会在句子前和尾部添加特殊字符[CLS]和[SEP],无需自己添加。从下可以看到,虽然encode直接使用tokenizer.tokenize()进行词拆分,会保留头尾特殊字符的完整性,但是自己也会额外添加特殊字符。将token映射为其对应的id(ids是我们训练中真正会用到的数据)原创 2023-03-01 23:39:07 · 14209 阅读 · 0 评论 -
pagerank算法详解
目录一、pagerank定义两个重要假设二、pagerank算法公式定义计算演示矩阵化计算三、存在的两个问题问题1.Dead Ends问题2.Spider Traps一、pagerank定义入链数:指向该节点的链接数出链数:由该节点指出的链接数以上图为例:A的入链数为1,出链数为3,所以将由A指向其他节点的边权重设置为1/3,表示A访问B、C、D节点的概率均为1/3两个重要假设数量假设:在Web图模型中,如果一个页面节点接收到的其他网页指向的入链数量越多,那么这个页面越重要。质量假设:指向原创 2022-04-16 10:09:04 · 39213 阅读 · 8 评论 -
Bert模型介绍及代码解析(pytorch)
21.Bert(预训练模型)动机基于微调的NLP模型预训练的模型抽取了足够多的信息新的任务只需要增加一个简单的输出层注:bert相当于只有编码器的transformer基于transformer的改进每个样本是一个句子对加入额外的片段嵌入位置编码可学习[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DwkojOLg-1649776319364)(C:\Users\pc\AppData\Roaming\Typora\typora-user-images原创 2022-04-12 23:15:36 · 10358 阅读 · 3 评论 -
LSTM基本理论及手写数字识别实战应用(pytorch)
LSTM介绍LSTM的特点(与RNN的区别)具体实现流程公式汇总及总结LSTM实现手写数字识别(pytorch代码)导入环境定义超参数训练和测试数据定义定义LSTM模型LSTM模型训练和预测原创 2022-04-07 09:59:37 · 3995 阅读 · 1 评论 -
Transformer模型(pytorch代码详解)
目录Transformer模型基本介绍多头注意力有掩码的多头注意力基于位置的前馈网络层归一化信息传递(对应结构图中连接解码器与编码器的线)预测多头注意力实现Transformer实现Transformer模型基本介绍与seq2seq相比transformer是一个纯粹基于注意力的架构(自注意力同时具有并行计算和最短的最大路径长度这两个优势),没有用到任何CNN和RNN。如下图所示,transformer是由编码器和解码器组成的。transformer的编码器和解码器是基于自注意力的模块叠加而成的,源原创 2022-02-12 16:33:22 · 8926 阅读 · 1 评论 -
自注意力和位置编码(含pytorch代码)
目录自注意力和位置编码自注意力位置编码绝对位置信息相对位置信息代码实现导入模块自注意力位置编码自注意力和位置编码自注意力自注意力池化层将xi当作key, value, query来对序列特征得到yi与CNN、RNN进行比较:最长路径:信息从序列前端的某个位置传递到末端的某个位置的路径self-attention在长句子中虽然计算复杂度很好,但能很快地抓取距离很远的信息(适合处理较长的序列,付出了计算复杂度的代价,计算量超大)位置编码与CNN/RNN不同,自注意力并没有记录位置信息在处理原创 2022-02-08 17:18:43 · 5940 阅读 · 0 评论 -
注意力机制——注意力评分函数(代码+详解)
目录注意力分数关于a函数的设计有两种思路1.加性注意力(Additive Attention)2.缩放点积注意力(Scaled Dot-Product Attention)模块导入遮蔽softmax操作加性注意力代码:补充知识:1.torch.repeat_interleave(data, repeat= , dim=)2.torch.nn.Linear(*in_features*, *out_features*, *bias=True*, *device=None*, dtype=None)3.torch原创 2022-02-07 13:12:15 · 16049 阅读 · 8 评论 -
注意力机制(含pytorch代码及各函数详解)
目录注意力机制非参注意力汇聚概述(不需要学习参数)参数化注意力机制概述正式系统学习1.平均汇聚(池化)2.非参数注意力汇聚(池化)3.带参数注意力汇聚注意力机制不随意线索:不需要有想法,一眼就看到的东西随意线索:想看书,所以去找了一本书1.卷积、全连接、池化层都只考虑不随意线索2.注意力机制则显示的考虑随意线索随意线索被称之为查询(query)每个输入是一个值(value)和不随意线索(key)的对通过注意力池化层来有偏向性的选择选择某些输入与之前学习的所有层的区别在于加入了查询(q原创 2022-01-28 12:37:54 · 19263 阅读 · 2 评论 -
自然语言处理Word2Vec
CBOW模型Word2Vec是从大量文本语料中以无监督的方式学习语义知识的一种模型,它被大量地用在自然语言处理(NLP)中,通过学习文本来用词向量的方式表征词的语义信息,即通过一个嵌入空间使得语义上相似的单词在该空间内距离很近。Embedding其实就是一个映射,将单词从原先所属的空间映射到新的多维空间中,也就是把原先词所在空间嵌入到一个新的空间中去。Word2Vec模型中,主要有Skip-Gram和CBOW两种模型,从直观上理解,Skip-Gram是给定input word来预测上下文。而CBOW是给原创 2022-01-06 11:47:02 · 1745 阅读 · 2 评论 -
命名实体识别问题(NER)系列——实体级/词级别评估(precision, recall, f1)
实现思路代码实现词级别的评价from collections import Counterclass Metrics(object): """用于评价模型,计算每个标签的精确率,召回率,F1分数""" def __init__(self, golden_tags, predict_tags, remove_O=False): # [[t1, t2], [t3, t4]...] --> [t1, t2, t3, t4...] self.gol原创 2021-12-18 22:44:50 · 7523 阅读 · 2 评论 -
win10配置安装pytroch全流程(含CUDA&cudnn)
CUDA安装CUDA10.0下载地址https://developer.nvidia.com/cuda-toolkit-archive进入该网址后,我选择10.2版本(为pytorch服务)并进行下载,下图为pytorch的版本要求。点击exe开始安装在D盘中选择一个空文件夹如,CUDA10.2进行安装自动检查系统兼容性点击同意并继续cudnn安装cudnn下载地址:https://developer.nvidia.com/rdp/cudnn-archive选择正确的CUDA版原创 2021-12-15 16:47:12 · 2978 阅读 · 2 评论 -
命名实体识别问题(NER)系列——最大熵模型(ME)
最大熵模型解决命名实体识别问题最大熵模型首先对最大熵模型进行简要的介绍(本文最大熵模型的实现方式为调用sklearn库中的LogisticRegression进行训练,对于最大熵模型的细节不做特殊要求)(1)最大熵模型是由以下条件概率分布表示的分类模型,可用于二类或多分类问题。其中, Zw(x)Zw(x) 是规范化因子; wiwi 是特征权值; fi(x,y)fi(x,y) 是特征函数,描述输入 xx 和输出 yy 之间的某一个事实,其定义为:(2)对于给定的训练集T={(x1,y1),(x2原创 2021-12-14 20:53:47 · 5037 阅读 · 1 评论 -
sklearn.feature_extraction.DictVectorizer特征抽取(特征向量化)
sklearn.feature_extraction.DictVectorizerDictVectorizer ( * , dtype =<class 'numpy.float64'> , separator='=' , sparse=True , sort=True )将特征值映射列表转换为向量。该转换器将特征名称到特征值的映射列表(类似字典的对象)转换为 Numpy 数组或 scipy.sparse 矩阵,以便与 scikit-learn 估计器一起使用。当特征值是字符串时,此转换原创 2021-12-13 15:02:09 · 2184 阅读 · 1 评论 -
命名实体识别问题(NER)系列——隐马尔科夫模型(HMM)
一、命名实体识别介绍命名实体识别(英语:Named Entity Recognition,简称NER)是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等等,并把我们需要识别的词在文本序列中标注出来。例如有一段文本:济南市成立自由贸易试验区.我们要在上面文本中识别一些区域和地点,那么我们需要识别出来内容有:济南市(地点),自由贸易试验区(地点).在我们今天使用的NER数据集中,一共有7个标签(每个字都要对应一个标签,标签前缀B表示当前字为实体的第一个字begin,I表示实体除第原创 2021-12-10 21:40:20 · 7510 阅读 · 0 评论 -
人工神经网络基础——前馈神经网络
什么是人工神经网络?人工神经网络(Artificial Neural Networks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(Connection Model),它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。人工神经网络:是一种应用类似于大脑神经突触联接的结构进行信息处理的数学模型。在工程与学术界也常直接简称为“神经网络”或类神经网络如下图所示,人工神经网络是一个仿原创 2021-12-09 10:38:29 · 5587 阅读 · 1 评论 -
自然语言处理——分词系统(双向最大匹配)
算法分析双向最大匹配,顾名思义就是将正向最大匹配和逆向最大匹配结合在一起具体算法,详见正向最大匹配将而二者得到的结果进行比较1.如果正反向分词结果词数不同,则取分词数量较少的那个。2.如果分词结果词数相同.a.分词结果相同,就说明没有歧义,可返回任意一个。.b.分词结果不同,返回其中单字较少的那个。代码实现BMM.py#实现切词方法def cut_words(raw_sentence, words_dic): #找到最大词的长度 max_length = max(len原创 2021-10-17 11:51:16 · 799 阅读 · 0 评论 -
自然语言处理——分词系统(正向最大匹配法)
算法分析正向最大匹配法,对于输入的一段文本从左至右、以贪心的方式切分出当前位置上长度最大的词。正向最大匹配法是基于词典的分词方法,其分词原理是:单词的颗粒度越大,所能表示的含义越确切。该算法主要分两个步骤:该算法主要分为两个步骤:1、一般从一个字符串的开始位置,选择一个最大长度的词长的片段,如果序列不足最大词长,则选择全部序列。2、首先看该片段是否在词典中,如果是,则算为一个分出来的词,如果不是,则从右边开始,减少一个字符,然后看短一点的这个片段是否在词典中,依次循环,逐到只剩下一个字。3、序列原创 2021-10-16 22:22:36 · 6030 阅读 · 0 评论