自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Rasa系列教程(二) -- Rasa NLU基础

Rasa NLU基础

2022-09-18 16:00:05 3065 1

原创 Rasa系列教程(一) -- 系统及各组件介绍

Rasa系列教程

2022-09-18 13:07:21 3645

原创 Spark教程(三)—— 安装与使用

Spark可以独立安装使用,也可以和Hadoop一起安装使用。本教程中,我们采用和Hadoop一起安装使用,这样,就可以让Spark使用HDFS存取数据。需要说明的是,当安装好Spark以后,里面就自带了scala环境,不需要额外安装scala,因此,“Spark安装”这个部分的教程,假设读者的计算机上,没有安装Scala,也没有安装Java(当然了,如果已经安装Java和Scal...

2020-04-19 11:44:49 1254

原创 Spark教程(二)—— RDD运行原理

一. RDD设计背景 程序运行阶段会涉及很多迭代算法, 这些场景的共同之处是, 不同计算阶段会重用中间结果, 即一个阶段的输出作为下一个阶段的输入. MapReduce在处理这种情况的时候更多的是把中间结果写入到HDFS中, 这种操作会带来大量的数据复制, 磁盘IO和序列化开销. RDD就是为了满足这种需求出现的, 它提供一个抽象的数据架构, 不必担心底层数据的分布式特性, 只需...

2020-04-19 09:36:33 1608

原创 EleasticSearch综述(二)

1. 简单Demo索引(1) 创建一个名字为demo的索引PUT http://localhost:9200/demoES响应{ "acknowledged": true, "shards_acknowledged": true, "index": "demo"}(2) 创建索引时, 指定主分片和分片副本的数量PUT http://loc...

2020-04-16 09:12:08 460

原创 EleasticSearch综述(一)

Elasticsearch是一个开源的分布式、RESTful 风格的搜索和数据分析引擎,它的底层是开源库Apache Lucene。EleasticSearch的特点如下:一个分布式的实时文档存储,每个字段可以被索引与搜索 一个分布式实时分析搜索引擎 能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据 由于Elasticsearch的功能...

2020-04-15 22:17:01 1283

原创 信息检索之BM25算法

BM25算法参考文档,搜索引擎中的相关应用。import mathimport jiebaclass BM25(object): def __init__(self, docs): self.D = len(docs) # 训练集的文本数量 self.avgdl = sum([len(doc)+0.0 for doc in docs])/s...

2020-03-18 16:37:08 784

原创 树结构(二)——二叉搜索树、平衡二叉树、红黑树、B树、B+树

本篇博客内容略多,涵盖面比较广,小编也是正在学习中,故读者在发现有错误的说法,欢迎在评论区指出。此外,树结构本身就是一个非常复杂的大家庭,各种规则,各种条件,望大家不要气馁,加油,奥利给。一、二叉搜索树 二叉搜索树是一种特殊的二叉树,它的特点是:对于任意一个节点p,存储在p的左子树的中的所有节点中的值都小于p中的值 对于任意一个节点p,存储在p的右子树的...

2020-01-29 09:26:58 2153

原创 树结构(一)——二叉树、字典树的操作

一、二叉树的遍历 树结构分为广度优先遍历和深度优先遍历。广度遍历是一层一层的遍历树中的元素,这种遍历方式需要借助队列的方式,左右子树分别入队列,利用队列先进先出的特性,按层对树进行遍历。深度遍历有又分为前序遍历、中序遍历、后序遍历,针对这三种遍历方式,又有利用递归的形式进行遍历,利用堆栈结构进行遍历。 尽管树的遍历看起来有很多种方式,但是我们平常更多用到的是基于...

2020-01-28 22:19:43 820

原创 python知识点整理

一、大文件读取(生成器实现) 利用python的f.read(1024),一次读取1024字节到内存中,同时用yield返回读取的结果,这样当内存小于文件大小时,可以分批读取文件,并进行操作。def bigFileRead(f, new_line): buf = "" while True: while new_line in buf: ...

2020-01-17 16:38:45 491

原创 正则表达式(一)—— 基本介绍

正则表达式在很多任务中都担任重要的角色,例如网络爬虫中我们需要筛选出相应的信息,在nlp中我们需要结构化数据,在数据挖掘中我们需要清洗脏数据,这些任务都会用到正则表达式。本文就简单的介绍正则表达式的基本操作,下一篇博客,我会自己维护一个正则表达式,将自己接触到的一些正则抛出来,供自己和有需要者参考。 下面我会介绍,python中正则表达式的一些操作,主要是match...

2020-01-17 15:01:30 558

原创 Spark教程(一)—— Spark基本原理介绍

本文会依次介绍spark的发展过程、与Hadoop的区别、Spark生态、Spark的运行架构。内容比较多,大家可以分模块看,此外在文章前段如果出现一些不易懂的专业名词,请不要着急后面会依次介绍。 Spark知识涉及面比较广,会与HBase、HDFS、Kafka、ML等都交集,路长且艰,小编仅与读者共同前行,若有任何不同意见,欢迎留言指教。一、Spark基本介...

2020-01-13 14:29:28 559

原创 深度学习环境搭建(二)—— Ubutun16.04 安装CUDA、CUDNN

该篇关于安装CUDA、CUDNN的博客是基于已经安装好NVIDA驱动的基础,具体如何安装NVIDIA驱动可参考我的上一篇博客一、安装CUDA(1)CUDA官网选择适合自己系统的版本下载。(建议选择CUDA10.0或CUDA10.1,虽说还有很多人在用CUDA9但是CUDA10的趋势越来越主流,很多product都是基于CUDA10运行的)我的系统是Ubuntu...

2019-11-15 22:35:27 227

原创 深度学习环境搭建(一) —— Ubutun16.04 安装NVIDIA驱动

一、在Mac上制作ubutun启动盘 传统的深度学习开发都是基于Linux系统,而大部分人都选择安装Ubutunl来开发。安装Ubutun启动盘在Windows要容易很多,只要下载对应的Ubutun镜像再借助UltraISO就可以了。但是在Mac上制作Ubutun启动盘要稍微繁琐一些,本博客主要推荐一款软件,借助这款软件在Mac上就可以轻松制作各种系统的U盘启动盘。 ...

2019-11-15 22:18:51 420

原创 python 列表,数组,矩阵的相互转换

import numpy as npmylist = [[1, 2, 3], [4, 5, 6]] # 列表print(type(mylist))print(mylist, end='\n\n')myarray = np.array(mylist) # 列表转数组print(type(myarray))print(myarray, end="\n\n")...

2019-08-30 16:19:54 2092 1

原创 python返回某年某月的所有日期

import calendardef getMothDate(year, month): """ 返回某年某月的所有日期 :param year: :param month: :return: """ date_list = [] for i in range(calendar.monthrange(year, month)[1...

2019-08-27 11:21:46 2015

原创 python读取千万行的mysql

import osimport jsonimport pymysqlimport loggingimport logging.handlersfrom database.database import *if __name__ == '__main__': conn = pymysql.connect(host=db_host, user=db_user, passwd=...

2019-08-09 15:53:03 568

原创 Kafka教程(三)—— Python操作kafka

kafka的producer是支持多线程的因为其会把topic里面的消息存储在各个partition里面,可以多线程操作。但是consumer不支持多线程,如果多线程操作的话,会造成offset紊乱无序。下面我们从两部分来介绍python是如何操作kafka的。 第一部分是只有一个position的topic,此时我们模拟一个发布-订阅模式,即多个consumer...

2019-08-02 17:43:03 4469

原创 Kafka教程(二)—— Kafka安装与命令

一、ubutun18.04下Kafka安装(1)安装jdk包 Apache Kafka是基于Java的,因此需要系统安装Java。执行以下命令,安装openJDKsudo apt updatesudo apt install default-jdk(2)下载Apache Kafka 从官网下载Apache Kafka二进制文件,进行安装# ...

2019-08-02 17:14:18 271

原创 Kafka教程(一)—— Kafka基本原理介绍

本文会依次介绍kafka的介绍、特性、使用场景、基本概念、生产消费流程。因此前面遇到一些陌生的名词不要慌张,后面会介绍到。一、Kafka基本介绍 Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于...

2019-08-02 16:24:01 395

原创 Docker教程(三)—— Docker三剑客与集群

一、Docker三剑客(1)Docker compose Docker Compose是 Docker 官方编排(Orchestration)项目之一,负责快速的部署分布式应用。 先抛出链接,后续会根据个人经验详细阐述。(2)Docker Machine Docker Machine 是 Docker 官方编排(Orchestrati...

2019-07-29 11:40:41 232

原创 Docker教程(二)——操作

一、构建镜像 在构建docker镜像之前,需要指明,并不是所有的程序都需要自行通过Dockerfile构建镜像。Docker Hub上有大量的高质量的镜像可以用,我们可以直接pull下来这些镜像使用,详情可以参考链接。但是这些镜像大都是一些公共镜像,不能很好的符合业务定制化要求。故而我们大都使用Dockerfile构建镜像。 我们主要介绍Dockerfile构建...

2019-07-29 11:12:03 108

原创 Docker教程(一)——简介

一、Docker介绍 docker并不是一个能用一句话描述出来的技术,下面我会通过几个方面,介绍docker到底是个什么技术,有哪些用途和好处。Docker是Google用go语言开发实现的,它基于linux内核的cgroup和namespace等技术,对进程进行了封装隔离。说白了Docker也是一个进程,只不过这个进程包括了程序运行所需要的各种环境(ps:操作系统层面的虚拟...

2019-07-26 16:58:37 146

原创 python3 读写csv

一、pandas写入csv 将dict写入csv文件import pandas as pdlist1 = [{'c1':10, 'c2':100}, {'c1':11,'c2':110}, {'c1':12,'c2':120}]pd.DataFrame(list1).to_csv('test.csv')二、pandas读取csvimport pandas as pd...

2019-07-22 19:52:48 258

原创 redis学习

近期在用redis做消息队列的分发,故而把近期了解到的redis用法稍作整理。一、安装redis linux系统中可以直接通过命令来安装redis,很方便。但是安装过程中会报错No apport report written because the error message indicates its a followup error from a previous f...

2019-07-22 18:49:01 415

原创 python3 时间格式转换

废话不多说,直接上代码,关于python3中时间戳、datetime、str的转换,以及两个时间的时间间隔计算方式等。import timeimport datetimerelease_time = 1558426818# 将时间戳转换为datetimedate_time = datetime.datetime.fromtimestamp(release_time)prin...

2019-05-27 14:12:41 2302 1

原创 AHP层次分析法—特征权重初始化

最近在做电商知识图谱,涉及一些商品评分,店铺GMV的计算。这些结果是由一些特征加权计算得到,因此如何初始化特征的权重就显得尤为重要。如果一味的按照经验去进行初始化权重,然后不停的A/B测试,权重调整,是一件研发成本特别高的事情。故我选用AHP来对特征权重进行初始化。 一、AHP简介 AHP 层级分析程序(Analytic Hierarchy ...

2019-05-21 12:26:30 5341

原创 【PyTorch系列教程一】深度学习框架及Tensor的基本介绍

一、深度学习框架比较 深度学习的基本介绍在这里就不做过多介绍,感兴趣的童鞋可以在网上搜索,有很多这方面的知识。本博只是介绍一些基本的深度学习开发框架。 下图为7个深度学习框架的比较,字体比较小,大家可以放大观看。 除此之外,还有一些其他的深度学习开发框架,比如百度的PaddlePaddle、微软的CNTK等,这些开发框架,受众比...

2019-04-15 10:43:35 403

原创 拥抱Transformer,图解NLP处理流程四部曲

一、Transformer简介 Transformer是google团队在2017年提出来的,它的问世刷新了一系列NLP竞赛的结果,现在也成为各大NLP爱好者的首选结构,诸如ELMO、Bert等超牛的model都是在transform的思想上实现的。 Transformer的基本结构如下图所示,详情可以参考我的另一篇博客:二、NLP四部曲...

2019-03-14 19:58:38 2726 3

原创 知识图谱—关系抽取—远程监督—综述(二)

此文章接上一篇关系抽取OpenNRE。一、PCNN+MILPCNN全称是Piece Wise CNN,是在CNN基础上通过修改Pooling的方式得到的。 输入仍然是一个sentence,Input Layer依然是word embedding + position embedding, 后面接卷积操作。之后的Pooling层并没有直接使用全局的Max Pooling...

2019-03-07 12:04:48 2687 1

原创 多示例学习(Multiple Instance Learning)

多示例学习(multiple-instance learning)是1997年被提出的。其与监督学习、半监督学习和非监督学习有所不同,它是以多示例包(bag)为训练单元的学习问题。 在多示例学习中,训练集由一组具有分类标签的多示例包(bag)组成,每个多包(bag)含有若干个没有分类标签的示例(instance)。如果多示例包(bag)至少含有一个正示例(ins...

2019-03-07 10:41:24 31003 9

原创 BERT简述

本文从词嵌入出发,一步步介绍Bert出现的背景,故文章前一部分的介绍可能与Bert的相关性不强,但是必不可少。1、词向量       词向量一直是领先的NLP模型处理语言的主要能力。Word2Vec、Glove等方法已广泛应用于此类任务。让我们先回顾一下如何使用它们。        对于要由机器学习模型处理的单词,它们需要以某种数字形式表示,以便模型可以在其计算中使用。Word2Vec...

2018-12-27 11:11:41 2167

原创 Transform中的Attention注意力机制

本文边讲细节边配合代码实战,代码地址为:https://github.com/princewen/tensorflow_practice/tree/master/basic/Basic-Transformer-Demo数据地址为:https://pan.baidu.com/s/14XfprCqjmBKde9NmNZeCNg密码:lfwu1、Attention发展史 ...

2018-12-20 11:16:23 11046 7

原创 知识图谱—关系抽取—远程监督—OpenNRE(一)

一、远程监督简介 远程监督的英文名称Distant Supervision,是目前关系抽取中比较常见的一类做法。该方法由 M Mintz 大佬于ACL2009上首次提出,它既不是单纯的传统意义上的监督语料,当然也不是无监督。它是一种用KB去对齐朴素文本的标注方法(Distant supervision for relation extraction without labeled...

2018-12-14 13:24:52 21320 4

原创 机器学习值SVD(二)

一、简介SVD 全称:Singular Value Decomposition。SVD 是一种提取信息的强大工具,它提供了一种非常便捷的矩阵分解方式,能够发现数据中十分有意思的潜在模式。主要应用领域包括:隐性语义分析 (Latent Semantic Analysis, LSA) 或隐性语义索引 (Latent Semantic Indexing, LSI); 推荐系统 (Recom...

2018-12-13 16:07:48 853

原创 词向量发展史-共现矩阵-SVD-NNLM-Word2Vec-Glove-ELMo

话不多说,直接上干货。首先介绍相关概念:词嵌入:把词映射为实数域上向量的技术也叫词嵌入(word embedding)。词向量的分类表示:一、共现矩阵       通过统计一个事先指定大小的窗口内的word共现次数,以word周边的共现词的次数做为当前word的vector。具体来说,我们通过从大量的语料文本中构建一个共现矩阵来定义word representation。...

2018-12-13 15:47:10 13514 7

原创 深度学习之word2vec(四)

一、什么是词向量       词向量最初是用one-hot represention表征的,也就是向量中每一个元素都关联着词库中的一个单词,指定词的向量表示为:其在向量中对应的元素设置为1,其他的元素设置为0。例如我们有5个词组成的词汇表,词"Queen"的序号为2, 那么它的词向量就是(0,1,0,0,0)。       One hot用来表示词向量非常简单,但是却有很多问题。最大的问题...

2018-08-12 20:29:38 1252

原创 特征工程之N-Gram(二)

一、N-Gram模型(1)什么是n-gram模型       N-Gram是一种基于统计语言模型的算法。它的基本思想是将文本里面的内容按照字节进行大小为N的滑动窗口操作,形成了长度是N的字节片段序列。       每一个字节片段称为gram,对所有gram的出现频度进行统计,并且按照事先设定好的阈值进行过滤,形成关键gram列表,也就是这个文本的向量特征空间,列表中的每一种gram就是...

2018-08-12 18:50:14 5469 2

原创 聊天机器人—简介(一)

一、聊天机器人分类(1)按功能分类可分为:问答型聊天机器人、任务型聊天机器人、闲聊型聊天机器人。      实现不同功能的聊天机器人所用技术也不尽相同,例如在做问答型聊天机器人时,我们需要提取问句中的焦点词汇,以此去三元组或知识图谱中检索,且为了提高检索的精度,常常需要对问句和关系进行分类操作。但是对于闲聊型聊天机器人则可以直接将其当做序列标注问题处理,将高质量的数据丢进深度学习模型中进行...

2018-08-11 07:54:42 20394 2

原创 深度学习之激活函数(三)

一、为什么要激活函数神经网络单个神经元的基本结构由线性输出 Z 和非线性输出 A 两部分组成。如下图所示: 其中,f(x) 即为线性输出 Z,g(x) 即为非线性输出,g() 表示激活函数。通俗来说,激活函数一般是非线性函数,其作用是能够给神经网络加入一些非线性因素,使得神经网络可以更好地解决较为复杂的问题。 举个简单的例子,二分类问题,如果不使用激活函数...

2018-08-10 22:58:56 751

空空如也

空空如也

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

TA关注的人

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