Dr.Petrichor
计算机专业博士研究生,华为云计算专家,CSDN博客专家,CSDN人工智能领域优质创作者,现主要研究Python数据分析、机器学习、NLP相关领域内容。
展开
-
基于Python的文本共现网络构建
目录一、共现分析概念二、共现类型三、代码实现3.1构造分词函数3.2字符串存储3.3构建字典3.4构建共现矩阵3.5主函数3.6Weight 大于 300四、导入Gephi 制作网络图4.1 下载安装Gephi4.2 绘制共现网络图五、如何利用CNKI制作关键词共现网络图一、共现分析概念“共现”指文献的特征项描述的信息共同出现的现象,这里的特征项包括文献的外部和内部特征,如题名、作者、关键词、机构等。 而“共现分析”是对共现现象的定量...原创 2021-12-08 23:54:05 · 8267 阅读 · 14 评论 -
TF-IDF算法(原理+python代码实现)
目录前言一、TF-IDF的由来二、什么是TF-IDF?2.1 TF(Term Frequency)2.2 IDF(Inverse Document Frequency)2.3TF-IDF(Term Frequency-Inverse Document Frequency)三、TF-IDF应用四、代码实现4.1 常规Python实现TF-IDF4.2NLTK实现TF-IDF4.3Jieba实现TF-IDF算法五、TF-IDF不足之处六、TF-IDF...原创 2021-12-30 01:16:30 · 18820 阅读 · 5 评论 -
图卷积神经网络GCN、GAT的原理及Pytorch实现
ICLR作为机器学习方向的顶会,最近看了ICLR2023 Openreview的论文投稿分析,通过2022和2023年论文关键词、标题高频词等信息的可视化比较。根据前十的关键词频率排名频率来看,基本上和去年保持一致,大火的领域依旧大火。但是可以明显看到前五名关键词的频率差距逐渐减少。有意思的是这一关键词终于又重回前三,再次为「国际学习表征会议」(ICLR)正名。这一关键词则是掉了一名,与交换了位置,但相比于去年的频率仍然火爆。GCN作为GNN的变种,依然是一个发论文的热门。原创 2022-10-22 14:21:12 · 7444 阅读 · 6 评论 -
深度学习入门必看-手写数字识别
前言目前深度学习框架paddlepaddle、tensorflow、pytorch比较,结合网上大神的总结,pytorch更好学,社区也大,教程较多,莫名其妙的错误比较少。它基于动态图,可以按照正常人的思路玩,API较稳定。paddlepaddle的话同时支持动态图和静态图,但是社区还在建设中,版本迭代更新快。不过可以嫖百度的云计算服务,值得一试。而且配套的预训练模型和可视化等等开发工具也在上线中,蛮好用的。tensorflow是出了名新手劝退框架,因为文档比较反萌新,版本兼容性较差(我曾在嫉妒转载 2021-11-15 15:29:56 · 15300 阅读 · 12 评论 -
Jieba分词并去停用词
百度网盘地址在链接: https://pan.baidu.com/s/1KBkOzYk-wRYaWno6HSOE9g 提取码: 4sm6。停用词表 stopwords.txt,四川大学和哈工大的自己选择。微博原始数据 all_data.txt(示例)处理结果 out.txt(示例)采用Jieba分词并去停用词。原创 2021-11-19 23:04:02 · 11939 阅读 · 11 评论 -
深度学习入门代码详解(附代码)
目录一、数据处理1.1 读入数据1.2 数据形状变换1.3 数据集划分1.4 数据归一化处理1.5 封装成load data函数二、模型设计2.1 训练配置2.2 训练过程2.3 梯度下降法2.4 计算梯度2.5 使用Numpy进行梯度计算2.6 确定损失函数更小的点2.7 代码封装Train函数2.8 训练扩展到全部参数三、随机梯度下降法( Stochastic Gradient Descent)3.1 数据处理代码修改3.2 ...转载 2021-11-28 00:47:35 · 27063 阅读 · 39 评论 -
一文弄懂Word2Vec之skip-gram(含详细代码)
目录前言一、什么是Skip-gram算法二、目标是什么三、定义表示法3.1 one-hot向量3.2 词向量(word vector)3.3 单词矩阵3.4 单词相似度3.5 softmax函数3.6算法过程3.7 求softmax四、skipgram代码实现4.1 如何把词转换为向量4.2 CBOW和Skip-gram的算法实现Skip-gram的理想实现Skip-gram的实际实现4.3 使用Pytorch实现Skip-gram.原创 2021-12-06 17:55:05 · 17559 阅读 · 12 评论 -
Python 实现一个简单的神经网络(附代码)
目录⭐前言⭐⭐砖块:神经元⭐????一个简单的例子????????编码一个神经元????????把神经元组装成网络????????例子:前馈????????编码神经网络:前馈????????训练神经网络 第一部分????????损失????????损失计算例子????????代码:MSE损失????????训练神经网络 第二部分????????例子:计算偏导数????????代码:一个完整的神经网络????????后话????⭐前言⭐以下内原创 2021-12-29 16:55:11 · 21892 阅读 · 10 评论 -
关系抽取之远程监督算法(Distant Supervision)
信息抽取是自然语言处理中非常重要的一块内容,包括实体抽取(命名实体识别,Named Entity Recognition)、关系抽取(Relation Extraction)和事件抽取(Event Extraction)。这次介绍的关系抽取属于自然语言理解(NLU)的范畴,也是构建和扩展知识图谱的一种方法。转载 2022-09-14 16:09:33 · 5383 阅读 · 3 评论 -
KNN-KG论文学习笔记
最近在看知识图谱嵌入和知识推理方面的知识,考虑到TransC模型中关系传递性造成的语义缺失的错误传递,近期看的一篇论文《》(2022,记忆推理:最近邻知识图谱嵌入,已上传arxiv,暂未录用),可以利用增强记忆网络和KNN来学习新的实体embedding并存入knowledgestore。原创 2022-09-03 13:51:16 · 1181 阅读 · 0 评论 -
TransC知识表示模型
DifferentiatingConceptsandInstancesforKnowledgeGraphEmbedding》(2018)提出了一种新的区分概念和实例的知识图谱表示学习方法,将上下位关系与普通的关系做了区分,可以很好的解决上下位关系的传递性问题,并且能够表示概念在空间中的层次与包含关系。向量的和就是信息的积累。但实体和关系可能比这更复杂。将这种关系分为四种不同的关系,即(A,Relation,B),A和B之间的关系为B包含于A,二者无关,二者相交,A包含于B。...原创 2022-07-22 14:31:16 · 778 阅读 · 0 评论 -
TransE模型学习笔记
目录一、知识表示学习的引入二、论文摘要三、方法介绍(一)建模多关系数据(二)关系嵌入到向量空间中的翻译四、TransE模型(一)学习实体和关系的低维嵌入向量(二)基于“能量”的计算方法五、算法流程六、实验(一)数据集(二)实验设置(三)链接预测(四)详细结果(五)学习预测新关系七、结论参考文档今天分享的是NIPS 2013的一篇经典论文《Translating Embeddings for Modeling Multi-relational Data》原文连接:https://proceedings.neu原创 2022-07-09 00:15:48 · 4451 阅读 · 3 评论 -
KeyBert、TextRank等九种本文关键词提取算法(KPE)原理及代码实现
关键词提取 (Keyphrase Extraction,KPE) 任务可以自动提取文档中能够概括核心内容的短语,有利于下游信息检索和 NLP 任务。当前,由于对文档进行标注需要耗费大量资源且缺乏大规模的关键词提取数据集,无监督的关键词提取在实际应用中更为广泛。无监督关键词抽取的state of the art(SOTA)方法是对候选词和文档标识之间的相似度进行排序来选择关键词。但由于候选词和文档序列长度之间的差异导致了关键短语候选和文档的表征不匹配,导致以往的方法在长文档上的性能不佳,无法充分利用预训练模型原创 2022-05-10 16:36:09 · 9370 阅读 · 1 评论 -
Bert+CNN文本分类(含代码实现)
一、什么是CNN?CNN的特点:(1)特定特征位移不变性(2)特征缩放不变性2. CNN模型构造过程2.1 Convolution(卷积)(1)获取关键特征(减少参数)(2)共享权重(再次减少参数)2.2 Max Pooling(池化)2.3 Flatten向量转换为如图所示可以进入全连接层的向量模式3. TextCNN上图可理解为:通过不同的size(如上图2、3、4等),上图红色代表 size=2,黄色...原创 2022-03-28 00:17:38 · 14366 阅读 · 25 评论 -
Bert文本分类实战(附代码讲解)
一、Bert简介BERT全称是Bidirectional Encoder Representations from Transformers,是google最新提出的NLP预训练方法,在大型文本语料库(如维基百科)上训练通用的“语言理解”模型,然后将该模型用于我们关心的下游NLP任务(如分类、阅读理解)。 BERT优于以前的方法,因为它是用于预训练NLP的第一个**无监督,深度双向**系统,从名字我们能看出该模型两个核心特质:依赖于Transformer以及双向,同时它也是木偶动画《芝麻街》里面的角色,原创 2022-03-25 23:30:02 · 26351 阅读 · 71 评论 -
一文搞懂Attention机制的诞生及发展(原理+代码)
这个月初,我写过一篇博客,是关于共现网络的构建,之所以研究共现网络,就是想找寻词之间的关系,当然我之前的博客在决策树的时候也提到过信息熵和信息增益的概念,这些都是来衡量一个词的重要性。几个月前看了发表于2017年的经典论文《Attention Is All You Need》(NeurIPS2017)论文地址:https://arxiv.org/abs/1706.03762,这是Google在NeurIPS2017发表的一篇文章,在CV、NLP、多模态等各个领域都有很大的影响力,目前引用量已经2.2w+原创 2021-12-21 18:11:10 · 2352 阅读 · 0 评论 -
BERT(Pre-training of Deep Bidirectional Transformers forLanguage Understanding)论文笔记
目录一、Bert简介1.1 Transformer模型1.2 Bert模型二、BERT的发展历程2.1One-Hot 编码2.1.1无法计算词相似度2.1.2Sparsity(稀疏性)2.2Word2vec2.3 BERT的诞生三、BERT 的训练过程3.1Masked LM(Language Model)3.2 Next Sentence Prediction四、BERT的用途4.1 文本分类4.2单词分类4.3判断两...原创 2022-03-31 12:48:58 · 793 阅读 · 0 评论 -
《Mining Quality Phrases from Massive Text Corpora》论文学习笔记
简介文本数据无处不在,在大数据应用中发挥着重要作用。然而,文本数据大多是非结构化的。将非结构化文本转换为结构化单元(例如,语义上有意义的短语)将大大减少语义歧义,并提高使用数据库技术操作此类数据的能力和效率。因此,质量短语挖掘是数据库领域的一个关键研究问题。本文提出了一种结合短语切分技术从文本语料库中提取高质量短语的新框架。这个框架只需要有限的训练,但是生成的短语的质量接近于人类的判断。此外,该方法具有可扩展性:计算时间和所需空间均随语料库大小的增加而线性增长。在大型文本语料库上的实验证明了该方法的有效原创 2022-01-05 16:18:21 · 1187 阅读 · 0 评论