- 博客(80)
- 收藏
- 关注
原创 ElasticSearch浅谈(基于ES 7)
ElasticSearch浅谈相关简介ElasticSearch,简称为ES,是一个开源的高可用,高可扩展的分布式全文搜索引擎,可以视为全文搜索数据库。它可以实现近实时的存储和检索。可以相对方便的扩展到多台服务器上,实现集群的搭建,从而提高吞吐量。ES是基于Lucene做的封装和增强,可通过简单的RESTful API实现各种复杂的操作。ELK(ElasticSearch + Logstash + Kibana)是数据日志收集分析的统称,其中...
2022-05-04 18:02:17
1462
原创 Trie树——字典树
简介Trie树又称字典树(前缀树),常用在搜索场景下。用于判断一个词汇或者文本是否出现在已有的记录中。利用Trie树记录一个词表,判断文本中的词汇是否出现在词表中。这个应用中使用Trie树可以提高整体的检索效率。实现通常Tire树的实现需要完成三部分:Trie树中插入词汇从Trie树中检索词汇从Trie树中判断是否有给出的前缀字符串代码class Trie(object): def __init__(self): self.lookup = {} # 可以理解为是根节点 d
2021-10-10 18:49:24
267
原创 BERT源码embedding_lookup解析
use_one_hot_embeddings解析为什么使用onehot或者tf.gather方法BERT源码中构造模型时关于embedding的参数有一个为use_one_hot_embeddings。这个参数值为Boolean类型的值,且默认为False。具体的深层代码如下:def embedding_lookup(input_ids, vocab_size, embedding_size=128,
2021-06-15 22:42:50
764
4
原创 qt.qpa.screen: QXcbConnection: Could not connect to display localhost:18.0 Could not connect to any
Linux下有关matplotlib的问题问题Xshell中出现的问题问题点解决方法问题当你使用Xshell运行程序时突然有弹窗,并提示需要xmanager软件来处理x11转发请求,与此同时命令行输出qt.qpa.screen: QXcbConnection: Could not connect to display localhost:18.0 Could not connect to any提示,则此时出现问题。经过你的问题定位与分析,发现是由python下的matplotlib出现的问题。Xs
2020-07-03 16:23:34
10704
2
原创 聚类效果评估——轮廓系数(Silhouette Coefficient)附Python代码
轮廓系数前言是什么?为什么?由此可得:怎么用?不适用示例前言在机器学习中,无监督学习算法中聚类算法算作相对重要的一部分算法。也常在低资源和无标注的情况下使用。其中KMeans作为聚类算法中的一种,充当着重要的角色。由于其思想较为简单,易于理解和方便实现。所以经常被用来做数据的处理,在NLP领域常被用于文本聚类以及文本类别挖掘等方向。但是KMeans算法有一个致命的缺点就是,如何选择K值。K值的选择至关重要,选择的好可以有较好的聚类效果。通常情况下,K值的选择人们会根据先验的知识给定一个估计的值,或
2020-06-19 20:20:18
80241
7
原创 词频矩阵TfidfVectorizer结果与稀疏矩阵csr_matrix的遍历
关系TfidfVectorizer的结果是由csr_matrix这种方式组织的,在数据结构中稀疏矩阵的实现是csr_matrix。这是由于矩阵中有大量的0元素占据了大量的空间,从而采用稀疏矩阵来压缩空间。csr_matrix可以调用toarray()方法转变为真正的矩阵,利用numpy的索引方式来进行对元素的精确索引。问题但是有时候由于矩阵太大,而使得csr_matrix转变为numpy矩阵时,计算机的内存会“爆掉”。使得无法转变,这就会带来一个问题——无法使用简洁的方式来索引元素。解决方法ge
2020-06-04 18:10:04
2141
原创 TensorFlow1.x入门教程——统领篇
TensorFlow1.x入门教程前言你将得到什么?系列文章地址后记前言TesnorFlow作为深度学习的代表性的框架在业界被广泛的使用,现在已经有1.x和2.x版本,由于1.x和2.x版本的差距较大(可以理解为Python2与Python3的差距),并且2.x版本较为新资源还较少,不少公司仍然使用TensorFlow1.x,维护的项目也是TensorFlow1.x开发的。所以本教程也围绕了TensorFlow1.x展开。你将得到什么?本教程实战性较强,内容也相对简单容易上手。所以,适合初学者了解T
2020-05-13 13:51:21
10169
1
原创 TensorFlow1.x入门(11)——模型的保存与恢复
系列文章1. 计算图的创建与启动2. 变量的定义及其操作3. Feed与Fetch4. 线性回归5. 构建非线性回归模型6. 简单分类问题7. Dropout与优化器8. 手动调整学习率与TensorBoard9. 卷积神经网络(CNN)10. 循环神经网络(RNN)模型的保存与恢复系列文章引言知识点示例引言利用TensorFlow训练好模型可以对测试集的数据进行预测,用于评估模型的好坏。但是每次执行一个预测任务时,均从头训练一下模型,则会耗费大量的时间与资源,并且有可能结果不能完
2020-05-12 19:16:24
2029
1
原创 NLP系列文章(四)——文本的相似性度量
文本相似字面相似编辑距离最长公共子序列和最长公共子串Jaccard(杰卡德)相似度SimHash语义相似欧式距离和余弦相似度词移距离(WMD)DSSM文本相似一般是指的,某一文本doc1doc1doc1与另一文本doc2doc2doc2的相似程度。一般可以从两个方面去考察两个文本之间的相似程度:形似(字面相似)和神似(语义相似)。当然这两种相似性也不能够完全割裂开来,只不过可以认为字面相似的文本...
2020-04-26 14:11:53
3241
原创 文本语义相似度衡量方法——词移距离(Word Mover's Distance,WMD)
词移距离什么是词移距离如何解释词汇移动的距离呢为什么采用词移距离衡量文本相似度怎么算词移距离什么是词移距离词移距离(Word Mover’s Distance,WMD)顾名思义就是词汇移动的距离,它的提出本质上是用于衡量任意两个文本之间的语义相似度所提出的。当然从名字就可以了解到,它本身其实就是一个距离,本质上与欧氏距离和曼哈顿距离没有区别。同时,也符合距离越大相似度越低,距离越小相似度越高...
2020-04-24 10:50:42
2553
原创 文本向量的距离测度——欧氏距离、曼哈顿距离、余弦相似度
文本的常用距离测度欧氏距离曼哈顿距离曼哈顿距离和欧氏距离的区别余弦相似度余弦相似度和欧氏距离的区别在NLP中文本均会被表示为向量的形式,为了给出任何两个文本之间的相似程度,则可以利用各类的距离进行表示,其中最为著名的两种距离就是欧式距离和宇轩相似度,此外还有曼哈顿距离也被广泛使用。而这三个测度方式均是在欧式空间下进行的。本文以如下的两个向量作为例子进行具体的阐述: vec1=[x1,x2,x...
2020-04-23 16:36:49
2981
原创 Jaccard距离和海明距离
两种向量距离的测度Jaccard(杰卡德)相似度如何度量两个向量之间的Jaccard相似度?特点海明距离Jaccard(杰卡德)相似度Jaccard相似度常用于计算两个文本的字面相似度。将文本分为词的序列。两个文本中一样的词汇集合的个数为A,所有词汇构成的集合为B。最终用A除以B得到的结果就是Jaccard相似度。用一个例子来说明: 今天天气很好==>今天/天气/很好 今天天气...
2020-04-23 14:49:46
1943
原创 面试必考字符串相关的动态规划——最大公共子序列、最大公共子串、编辑距离
字符串相关的动态规划最大公共子序列最大公共子串编辑距离简述这三个算法解决的问题和展示状态转移方程并且给出可通过执行的Python代码。最大公共子序列子序列是,一个字符串中的任意字符组成的序列,重点在于,不要求子序列是原字符串的连续序列。如下例子所示,acg是abcdefg的子序列,但不是连续子序列。 abcdefg ==> acg两个字符串的最大公共子序列的状态转移方程式如下...
2020-04-21 15:07:09
411
原创 字面文本相似度算法——SimHash
SimHash什么是字面文本相似度?什么是SimHash?SimHash计算流程什么是字面文本相似度?在NLP领域如何判断两个文本的相似性是一个基础性的任务,而文本的相似性往往可以理解为两个方面:字面相似性和语义相似性。怎么理解这个内容呢?就比如说白龙马和赤兔马,乍一看,”WC,这不就是马么有啥区别?一个是白的一个是红的,也没啥!“,但是究其本质白龙马是龙啊,赤兔马就是一匹普通的坐骑。上面的...
2020-04-20 21:06:04
2129
原创 NLP系列文章(三)——文本向量的表示方法
文本向量的表示方法基于词向量的表示方法有监督文本表示方法基于词向量的表示方法虽然one-hot和TF-IDF的表示方式也成为词向量,但是我们这里讨论的基于词向量的表示方式是围绕分布式词表征进行的。也就是利用Word2Vec、GloVe和fastText等词向量对文本进行表示,词向量可以根据任务或者资源的不同随意选择,文本表示的方法是通用的。首先我们根据语料库训练词向量,也就是针对文本中的每个...
2020-04-20 15:51:13
3242
原创 TensorFlow1.x入门(10)——循环神经网络(RNN)
系列文章1. 计算图的创建与启动2. 变量的定义及其操作3. Feed与Fetch4. 线性回归5. 构建非线性回归模型6. 简单分类问题7. Dropout与优化器8. 手动调整学习率与TensorBoard9. 卷积神经网络(CNN)循环神经网络(RNN)系列文章引言知识点示例引言循环神经网络(Recurrent Neural Network, RNN)是深度神经网络中...
2020-04-19 16:10:19
1342
原创 TensorFlow1.x入门(9)——卷积神经网络(CNN)
系列文章1. 计算图的创建与启动2. 变量的定义及其操作3. Feed与Fetch4. 线性回归5. 构建非线性回归模型6. 简单分类问题7. Dropout与优化器8. 手动调整学习率与TensorBoard卷积神经网络(CNN)系列文章引言知识点示例引言卷积神经网络(Convolutional Neural Networks, CNN)是深度学习领域内的一个重要的组成构建...
2020-04-19 15:18:02
2635
1
原创 TensorFlow1.x入门(8)——手动调整学习率与TensorBoard
系列文章1. 计算图的创建与启动2. 变量的定义及其操作3. Feed与Fetch4. 线性回归5. 构建非线性回归模型6. 简单分类问题7. Dropout与优化器手动调整学习率与TensorBoard系列文章前言知识点示例前言学习率的调整对模型的收敛较为重要,当学习率较大时,模型有可能会产生震荡甚至还会发生Loss跑飞的情况。所以随着迭代的进行,学习率的下降会有利于模型收敛...
2020-04-18 14:08:09
1800
2
原创 TensorFlow1.x入门(7)——Dropout与优化器
系列文章1. 计算图的创建与启动2. 变量的定义及其操作3. Feed与Fetch4. 线性回归5. 构建非线性回归模型6. 简单分类问题Dropout与优化器系列文章引言知识点示例引言dropout技术是经常用于神经网络防止过拟合的方法,具体的原理以及内容之前的博客有讲。here优化器则是深度神经网络在训练过程的核心,通过优化器在迭代数据的过程中不断的更新网络的参数值,使得模...
2020-04-18 11:57:29
2208
原创 NLP系列文章(二)——词袋模型
词袋模型BooleanVectorCountVectorTF-IDFN-gram词袋模型作为NLP领域内比较经典的文本表示思想,有很多不同的表示方法。BooleanVectorBooleanVector是基于布尔值与one-hot的思想而形成的。用一个词表大小的向量来表示文本,文本中出现的词汇在向量中对应的位置将其置为1。比如句子1的表示结果如下:BooleanVector(句子2) = ...
2020-04-17 19:50:35
464
原创 TensorFlow1.x入门(6)——简单分类问题
系列文章1. 计算图的创建与启动2. 变量的定义及其操作3. Feed与Fetch4. 线性回归5. 构建非线性回归模型简单分类问题系列文章前言知识点示例前言深度学习基本上就是处理两大类问题,分类问题与回归问题。系列文章的第4,5篇均是针对回归问题进行介绍,本文则会通过简单的示例,也是经典的tutorial——手写数字识别的demo来介绍分类任务的模型是如何搭建的。知识点mni...
2020-04-15 23:14:58
1766
2
原创 TensorFlow1.x入门(5)——构建非线性回归模型
系列文章1. 计算图的创建与启动2. 变量的定义及其操作3. Feed与Fetch4. 线性回归构建非线性回归模型系列文章知识点示例注意知识点np.linsapce(-0.5, 0.5, 200)生成从-0.5到0.5的均匀分布的200个数据点。包含首尾numpy中花式索引的一个实例——数据升维,即原来是1维的数据列表,经过升维后形成每个数值为1维列表的2为列表。结果类似如下:[...
2020-04-15 19:42:00
1827
原创 NLP系列文章(一)——字词的表示
字词的表示引言离散词表征分布式词表征引言中文自然语言处理的基本单位是字与词,同时可以将字词的表示视为文本表示的基础,广义上的文本表示包含字词的表示,我们这里讨论的文本指的是句子以及篇章的形式。文本中词汇的表示可以分为离散表示和分布式表示。离散词表征文本经过分词工具的处理后会生成词汇的序列,把所有的词汇集中到一起去重后就组成了当前语料库的词表。离散型表示法中最经典的就是独热编码(One-Ho...
2020-04-13 18:24:33
526
原创 TensorFlow1.x入门(4)——线性回归
系列文章1. 计算图的创建与启动2. 变量的定义及其操作3. Feed与Fetch线性回归系列文章知识点示例知识点线性回归:是回归问题,形式如y=k×x+by=k\times x + by=k×x+b。np.random.rand()通过这个函数可以生成一个或者一组从0-1均匀分布的随机样本值。随机样本的取值范围是[0, 1)。tf.square()计算平方,针对一个或者一组数据进...
2020-04-01 00:44:23
1991
2
原创 TensorFlow1.x入门(3)——Feed与Fetch
系列文章1. 计算图的创建与启动Feed与Fetch系列文章知识点示例知识点Feed:中文翻译“喂食”。在TensorFlow中用于表示,将数据喂到(输入到)计算图中进行计算的操作。Fetch:中文翻译“拿得”。在TensorFlow中用于表示,从计算图中取数字的操作。tf.multiply(x, y)是乘法操作,返回x与y的乘积。即x*y。该乘法为数值之间相乘,并不是矩阵相乘。tf...
2020-03-31 23:57:17
2529
原创 TensorFlow1.x入门(2)——变量的定义及其操作
系列文章1. 计算图的创建与启动变量的定义及其操作系列文章知识点知识点变量:顾名思义就是可以变化的量,与之对应的是常量,常量在程序运行期间是不可以变的。TensorFlow中的变量的含义与Python中变量的含义类似,都是用于存放数据的单位。...
2020-03-31 23:32:38
3395
原创 TensorFlow1.x入门(1)——计算图的创建与启动
计算图的创建与启动概念知识点示例概念计算图可以认为是TensorFlow中的数据流向图,TensorFlow1.x版本采用的静态图的机制。即先搭图后计算的特点。有了计算图,可以将数据“导流到”计算图的入口处进行数据的运算等相关的处理。知识点TensorFlow中采用图(Graph)来表示计算任务——即称为计算图。在会话(Session)的上下文(Context)中执行计算图。通过张量...
2020-03-26 11:21:24
5216
2
原创 doccano——NLP标注工具新秀
doccano是什么?安装是什么?GitHub链接地址:Heredoccano是一款NLP相关的标注工具,它能满足像序列标注问题和分类问题的标注。在深度学习和NLP中,数据其实比模型更重要。当你没有强大的数据标注团队时(科研狗,小作坊),数据标注往往是最耗时,最难啃的一块。古人云:工欲善其事必先利其器。好的标注工具能使得你的标注效率倍增,而且标注的准确性提高。安装要想使用如此强大的标...
2020-03-19 11:07:22
2239
1
原创 大杂烩
当在cmd中下载很慢的时候,利用清华源下载会提速。具体操作如下:pip install --upgrade --ignore-installed tensorflowpip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade --ignore-installed tensorflow增加 -i https://pyp...
2020-03-18 17:52:09
249
原创 共指消解(一)
共指消解技术综述摘要重点引言基本概念共指消解的研究现状摘要重点共指消解旨在识别指向同一实体的不同表述共指消解是一个NP-Hard的问题共指消解的发展经历了基于规则、基于机器学习、基于全局最优化、基于知识库和基于深度学习的模型阶段引言共指消解(coreference resolution)技术同NER、RE。作为自然语言历届基础技术被广泛的应用于:文本摘要、机器翻译、自动问答和知识图...
2020-02-24 15:08:10
6432
原创 PyTorch入门(五)——autograd与逻辑回归
自动求导和逻辑回归autograd——自动求导系统torch.autograd.backwardtorch.autograd.grad注意逻辑回归autograd——自动求导系统torch.autograd.backwardtorch.autograd.backward(tensor, grad_tensors=None, retain_graph=None, ...
2019-12-13 19:36:30
186
原创 PyTorch入门(四)——计算图与动态图机制
计算图与动态图机制计算图动态图计算图定义:计算图是用来描述运算的有向无环图计算图中的主要元素:结点:表示数据(向量,矩阵,张量)边:表示运算(加减乘除卷积)有了计算图之后,就可以根据计算图进行求导叶子结点:用户创建的结点称为叶子结点其中Tensor中属性is_leaf指示了张量是否为叶子结点grad_fn记录了创建张量时所用的方法(函数,操作)动态图根据计算图的搭建方式可...
2019-11-14 19:47:15
229
原创 PyTorch入门(三)——张量操作与线性回归
张量操作和线性回归张量操作张量的拼接torch.cat()torch.stack()张量的切分torch.chunk()torch.split()张量的索引torch.index_select()torch.masked_select()张量的变换torch.reshape()torch.transpose()torch.t()torch.squeeze()torch.unsqueeze()张量的...
2019-11-14 16:44:12
385
原创 CS224N(2019)——Introduction and Word Vector(一)
第一课NLP自然语言处理的难点实际任务深度神经网络做自然语言处理的优势背景知识词向量WordNet离散词表征分布式词表征特点两种算法:两种训练技巧:词向量的评估方法:目标函数(loss function)NLP自然语言处理的难点一词多义上下文相关不守语法随着时间变化表达的意义信息量很大隐含常识实际任务搜索引擎文本分类机器翻译指代消解问答系统深度神经网络做自然语...
2019-11-12 21:25:34
224
原创 PyTorch入门(二)——张量的创建
张量的创建张量张量的定义Tensor与Variable张量的创建1.直接创建torch.tensor()torch.from_numpy(ndarray)2.依据数值创建torch.zeeros()torch.zeros_like()torch.ones()torch.ones_like()torch.full()torch.full_like()torch.arange()torch.linsp...
2019-11-08 16:53:30
3459
原创 PyTorch入门(一)——简介
PyTorch简介PyTorch简介PyTorch的发展PyTorch的优点适合人群PyTorch简介2017年1月FAIR(Facebook AI Research)发布了PyTorch。PyTorch是在Torch的基础上用Python语言重新打造的一款深度学习框架。原先的Torch是用Lua语言为接口的机器学习框架,但因Lua语言较为小众,导致了Torch知名度不高。PyTorch...
2019-11-08 14:46:46
282
原创 面试常考算法——查找类算法
查找算法1.二分查找升级版1.二分查找升级版查找出第一个下标和最后一个下标def helper(nums,target,left): start = 0 end = len(nums) while start < end: mid = (start + end) // 2 if nums[mid] > target or(l...
2019-10-22 13:35:22
252
原创 SQL结果合计与分列
结果增加一行合计示例代码:select case when yf is not null then yf else '合计' end yf, sum(cast(bqbj1 as money)) bjhz, sum(cast(bqll1 as money)) lxhz, sum(cast(bqwh as money)) whhzfrom (select...
2019-08-29 10:10:12
546
原创 2019年8月28日——leetcode
716.特殊的二进制序列https://leetcode-cn.com/problems/special-binary-string/太难不解,无意义309. 最佳买卖股票时机含冷冻期https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-with-cooldown/股票类,另出专题416.分割等和子集...
2019-08-28 23:52:38
577
原创 mysql时间类小结
时间类当前时间2019年8月28日获取当前日期select curdate()结果为获取当月最后一天select last_day(curdate())结果为获取当月第一天select date_add(curdate(),interval -day(curdate())+1 day)结果为获取当前月的天数select DATEDIFF(date_add(c...
2019-08-28 19:09:41
94
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人