自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Tornado实现多线程/多进程的HTTP服务

用tornado web服务的基本流程1.实现处理请求的Handler,该类继承自tornado.web.RequestHandler,实现用于请求的对应方法如:get,post等。返回内容用self.write方法输出。**2.实例化一个Application。**构造函数的参数是一个Handler列表,通过正则表达式,将请求与Handler对应起来。通过dict将Handler需要的其他对象以参数的方式传递给Handler的initialize方法。3.初始化一个tornado.httpserve

2020-10-29 16:53:18 1173 2

转载 n-gram详细介绍

原文链接:斯坦福大学自然语言处理第四课“语言模型(Language Modeling)一、课程介绍斯坦福大学于2012年3月在Coursera启动了在线自然语言处理课程,由NLP领域大牛Dan Jurafsky 和 Chirs Manning教授授课:https://class.coursera.org/nlp/以下是本课程的学习笔记,以课程PPT/PDF为主,其他参考资料为辅,融入个人拓展、注解,抛砖引玉,欢迎大家在“我爱公开课”上一起探讨学习。课件汇总下载地址:斯坦福大学自然语言处理公开课课件

2020-10-21 14:58:08 3353

原创 Text2Sql相关总结

前段时间了接触到Text2Sql,调研了解了一些,大致整理下。简介Text-to-SQL系统能够将自然语言描述转化成对应的SQL查询语句,这项技术能够有效地辅助人们对海量的数据库进行查询。因此,该项研究引起了工业界和学术界的广泛关注。其中,WikiSQL、Spider等大规模标注数据集进一步指出了该技术目前面临的挑战:泛化性(跨领域)、复杂性(SQL语法)、正确性(问题和表格的对齐关系),也促进了一系列后续算法的研究与系统的开发。在这里,我们给出Text-to-SQL任务一个相对正式的定义:在给定关系

2020-07-30 10:37:02 5610 4

转载 如何在模型训练中同时使用PyTorch和TensorFlow

引用自:机器之心:一行代码切换TensorFlow与PyTorch,模型训练也能用俩框架你是否有时要用 PyTorch,有时又要跑 TensorFlow?这个项目就是你需要的,你可以在训练中同时使用两个框架,并端到端地转换模型。也就是说 TensorFlow 写的计算图可以作为某个函数,直接应用到 Torch 的张量上,这操作也是很厉害了。在早两天开源的 TfPyTh 中,不论是 TensorFlow 还是 PyTorch 计算图,它们都可以包装成一个可微函数,并在另一个框架中高效完成前向与反向传播。很

2020-06-11 17:21:05 12615

原创 TensorFlow与PyTorch之争

TensorFlow与PyTorch谷歌的 TensorFlowTensorFlow 是谷歌的开发者创造的一款开源的深度学习框架,于 2015 年发布。官方研究发布于论文《TensorFlow:异构分布式系统上的大规模机器学习》。论文地址:http://download.tensorflow.org/paper/whitepaper2015.pdfTensorFlow 现已被公司、企业与创业公司广泛用于自动化工作任务和开发新系统,其在分布式训练支持、可扩展的生产和部署选项、多种设备(比如安卓)支持方

2020-06-11 17:03:29 893

原创 BERT, RoBERTa, DistilBERT, XLNet,Albert

BERT是一个双向Transformer,用于对大量未标记的文本数据进行预训练,以学习可用于微调特定机器学习任务的语言表示。尽管BERT在一些艰巨的任务上胜过一些NLP的最新技术,但其性能的提高主要归因于:双向的Transformer,基于大量训练数据的新颖的Masked Language Model和Next Structure Prediction预训练任务。当然同样重要的是谷歌强大的算力加持...

2020-04-09 12:08:16 4488

原创 BERT-wwm、BERT-wwm-ext

1.Bert-wwmwwm 即 Whole Word Masking(对全词进行Mask),是谷歌在2019年5月31号发布的一项bert升级版本,主要更改了原预训练阶段的训练样本生成策略。相比于bert的改进是用Mask标签替换一个完整的词而不是字词,中文和英文不同,英文最小的token是一个单词,而中文中最小的token却是字,词是由一个或多个字组成,且每个词之间没有明显的分割,包含更多信息...

2020-04-02 17:50:06 11140 2

原创 BM25深度解读

垂直搜索结果的优化包括对搜索结果的控制和排序优化两方面,其中排序又是重中之重。1. VSM模型简单介绍2. Lucene默认评分公式介绍3. 概率模型中的二元独立模型BIM介绍4. BM25介绍按照信息论,信息检索的本质是不断减少信息不确定的过程,也是减少信息熵的过程,方法是增加特征信息。例如搜索 “苹果” 如何判断用户搜索的是苹果手机还是苹果电脑或者是苹果水果呢?再进入搜索系统前,可以...

2020-04-02 11:32:55 2794

原创 mysql一个字段多条记录的拼接

今天发现个特别神奇好用的sql方法,仅此记录后用,事例及图片接用(http://www.pianshen.com/article/4812358089/)原始sql:SELECT app_works.uuid, app_works.length, app_works.can_sell, app_works.`status`, app_works.collect_count, app...

2019-12-20 15:40:26 1417

原创 Unix 安装Mecab&问题解决

Unix 安装Mecab下载链接:https://pan.baidu.com/s/1iIlsb_ZDtn1VunYKoeSGtQ提取码:hgz5复制这段内容后打开百度网盘手机App,操作更方便哦运行环境C++ 编译器 (g++ 3.4.3 和 VC7 确认可以编译通过) iconv (libiconv): 用于词典的编码转换安装Mecab分词器安装% tar zxfv ...

2019-11-04 10:51:09 450

原创 golang中strings包用法

1.strings.Split/ Split 以 sep 为分隔符,将 s 切分成多个子切片,结果中不包含 sep 本身// 如果 sep 为空,则将 s 切分成 Unicode 字符列表。// 如果 s 中没有 sep 子串,则将整个 s 作为 []string 的第一个元素返回func Split(s, sep string) []stringfunc main() { s := ...

2019-10-24 14:19:35 434

转载 关于 SQL 中 IN 子句参数的传递

[Go] 关于 SQL 中 IN 子句参数的传递在Go中使用GORM操作数据库的时候,它的IN子句是支持直接使用切片作为参数的。比如:names := []string{"one", "two", "three"}db.Where("name IN (?)", names)这样使用时,IN子句的?被绑定到整个切片上,GORM内部会自动根据参数的个数把问号转换成对应的个数,这会带来...

2019-10-24 13:39:09 2173

原创 git 修改未push 和已经 push 的注释信息

有提交错误的git记录,想修改,扑腾了好久,尝试各种方式,终于苦尽甘来,有所收获,以下亲测可用1. 修改还未 push 的注释:git commit --amend修改后保存即可2.修改push到远端还没有被下载或者改动的注释:git commit --amend进入修改页面修改注释信息,修改后:wq保存退出。在使用一下命令push到远程即可git push --force-w...

2019-10-09 18:32:02 1326

原创 git push origin与git push -u origin master的区别

一直迷糊git push origin与git push -u origin master的区别,今天找到合理的解释,仅此记录。$ git push origin上面命令表示,将当前分支推送到origin主机的对应分支。如果当前分支只有一个追踪分支,那么主机名都可以省略。$ git push 如果当前分支与多个主机存在追踪关系,那么这个时候-u选项会指定一个默认主机,这样后面就可以不加任何...

2019-10-08 18:31:56 3519

转载 Linux下安装Python虚拟环境Virtualenv

什么是VirtualenvVirtualenv用于创建虚拟的Python环境,一个专属于项目的Python环境,不同的项目可以创建不同的Pthon环境(依赖项和版本等),各个环境之间完全隔离,不需要担心和其他项目的Python环境以及全局的Python环境发生冲突。安装Virtualenv一般情况下,系统自带的Python环境是Python2,并且没有安装pip,如需安装Python3和pi...

2019-07-26 14:59:03 276

转载 Python pip 安装与使用

pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。目前如果你在 python.org 下载最新版本的安装包,则是已经自带了该工具。Python 2.7.9 + 或 Python 3.4+ 以上版本都自带 pip 工具。pip 官网:https://pypi.org/project/pip/你可以通过以下命令来判断是否已安装:pip --v...

2019-07-26 14:58:03 122

原创 vmware ubuntu硬盘空间扩展

近期发现自己的Ubuntu的硬盘不够用了,东西都快没地方放了。。。悔当初没设大些空间,不过也好,这样又能多认识些东西,以下是在大牛的帮助下完成ubuntu硬盘空间扩展。扩展空间前准备1.虚拟机不能有快照;2.虚拟机需要关机;3.你本地空间还有足够你所需扩容的开始扩展空间1.虚拟机关机2.删除存在的快照3.扩容虚拟机 -->设置–>硬盘–>扩展–>确定...

2019-04-26 17:28:59 862

转载 golang 中 strings 包的 Replace 用法介绍笔记

函数申明:func Replace(s, old, new string, n int) string官方描述为:返回将s中前n个不重叠old子串都替换为new的新字符串,如果n<0会替换所有old子串。示例代码为:func main() { // non-overlapping: "123" repeat 6 times in s s := "123lafal...

2019-04-11 14:02:58 7550

转载 Goland中defer的使用规则

在goland当中,defer代码块会在函数调用链表中增加一个函数调用。这个函数调用不是普通的函数调用,而是会在函数正常返回,也就是return之后添加一个函数调用。因此,defer通常用来释放函数内部变量。func CopyFile(dstName, srcName string) (written int64, err error) {src, err := os.Open(srcName...

2019-04-11 13:37:03 519

原创 Go语言学习笔记(四)字符串

字符串字符串是 UTF-8 字符的一个序列(当字符为 ASCII 码时则占用 1 个字节,其它字符根据需要占用 2-4 个字节)。UTF-8 是被广泛使用的编码格式,是文本文件的标准编码,其它包括 XML 和 JSON 在内,也都使用该编码。由于该编码对占用字节长度的不定性,Go 中的字符串也可能根据需要占用 1 至 4 个字,这与其它语言如 C++、Java 或者 Python 不同(Java...

2019-04-10 15:59:28 156

原创 Go语言学习笔记(三)

1.Go语言变量2.Go语言常量3.Go语言运算符1.Go语言变量变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。Go 语言变量名由字母、数字、下划线组成,其中首个字符不能为数字。声明变量的一般形式是使用 var 关键字:var identifier type变量声明第一种,指定变量类型,如果没有初始化,则变量默认为零值。var v_n...

2019-04-10 15:26:36 444

原创 Go语言学习笔记(二)

Go 语言基础语法上一章节我们已经了解了 Go 语言的基本组成结构,本章节我们将学习 Go 语言的基础语法以及基本数据类型。Go 标记Go 程序可以由多个标记组成,可以是关键字,标识符,常量,字符串,符号。如以下 GO 语句由 6 个标记组成:fmt.Println("Hello, World!")6 个标记是(每行一个):1. fmt2. .3. Println4. (5....

2019-04-10 14:45:13 159

原创 Go语言学习笔记(一)

原文请参考:http://www.runoob.com/go/go-tutorial.htmlGo 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候...

2019-04-10 14:33:39 98

转载 深度学习笔记(一)——感知器

啥事深度学习在人工智能领域,有一个方法叫做机器学习。在机器学习这个方法里,有一类算法叫做神经网络。神经网络:上图中每个圆圈都是一个神经元,每条线表示神经元之间的链接。我们可以看到,上面神经元被分了很多层,层与层之间的神经元是有链接的,而层内的神经元是没有链接的。最左边的层叫做输入层,这层负责接收输入数据;最右边的层叫输出层,我们可以从这层获取神经网络的输出数据。输入层和输出层之间的叫做隐藏...

2019-03-10 19:58:00 1672 1

翻译 BERT相关论文、文章和代码资源汇总

BERT最近太火,蹭个热点,整理一下相关的资源,包括Paper, 代码和文章解读。1、Google官方:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding一切始于10月Google祭出的这篇Paper, 瞬间引爆整个AI圈包括自媒体圈: https://arxiv.org/abs...

2019-02-27 15:24:55 259

转载 放弃幻想,全面拥抱Transformer:NLP三大特征抽取器(CNN/RNN/TF)比较

今日有幸阅读了一篇非常有意思的干货,仅此存留。作者 | 张俊林,中国中文信息学会理事,目前在新浪微博 AI Lab 担任资深算法专家。在此之前,张俊林曾经在阿里巴巴任资深技术专家,以及在百度和用友担任技术经理及技术总监等职务。同时他是技术书籍《这就是搜索引擎:核心技术详解》(该书荣获全国第十二届输出版优秀图书奖)、《大数据日知录:架构与算法》的作者。在辞旧迎新的时刻,大家都在忙着回顾过去一年的...

2019-02-27 15:21:29 542

转载 BERT的学习理解笔记

BERT的理解最近BERT大火,所以最近也开始研究这个模型。从模型的创新角度看一般,创新不大,但是实验的效果太好了,基本刷新了很多NLP的任务的最好性能,另外一点是BERT具备广泛的通用性,就是说绝大部分NLP任务都可以采用类似的两阶段模式直接去提升效果。与最近的语言表征模型不同,BERT基于所有层中的左、右语境进行联合调整,来预训练深层双向表征。只需要增加一个输出层,就可以对与训练的BER...

2019-02-27 15:01:48 2264

原创 怎样区分线性和非线性_线性与非线性的区别(线性分析、线性模型)

一直对线性非线性没有很准确的定义认识,今天特意查了查,特此记录下。怎样区分线性和非线性1.线性Line,是指量与量之间按照比例成直线关系,在数学上可理解为一阶导数是个常数;   非线性non-line则指不按照比例不成直线关系,一节导数不为常数。2.线性可以认为是1次曲线,比如比如y=ax+b ,即成一条直线    非线性可认为是2次以上的曲线,比如y=ax^2+bx+c,(x...

2018-12-15 11:59:00 72236 8

转载 最小二乘法的拟合原理

一. 最小二乘法的拟合原理根据《数学指南》书中的解释:图2 《数学指南》中对最小二乘法的解释上面这段话,枯燥且无趣,大家不用厌恶,数学向来这个样子。现在,我们来慢慢认识上面这段话的意思,这句话的意思是说,拟合有两个前提:1. 要有N个不同的点(x1,x2...xN)的测量值(y1,y2,y3..yN) ,说得简单一点,就是要用三坐标在零件上采很多个不同位置的点,如(x1,y...

2018-12-08 20:30:37 106179 7

转载 HanLP用户自定义词典源码分析

HanLP用户自定义词典源码分析1. 官方文档及参考链接 关于词典问题Issue,首先参考:FAQ 自定义词典其实是基于规则的分词,它的用法参考这个issue 如果有些数量词、字母词需要分词,可参考:P2P和C2C这种词没有分出来,希望加到主词库 关于词性标注:可参考词性标注 ​ 2. 源码解析分析 com.hankcs.demo包下的DemoC...

2018-12-08 10:21:03 260

转载 Hanlp源码解析之中文分词算法

词图词图指的是句子中所有词可能构成的图。如果一个词A的下一个词可能是B的话,那么A和B之间具有一条路径E(A,B)。一个词可能有多个后续,同时也可能有多个前驱,它们构成的图我称作词图。需要稀疏2维矩阵模型,以一个词的起始位置作为行,终止位置作为列,可以得到一个二维矩阵。例如:“他说的确实在理”这句话。图词的存储方法:一种是的DynamicArray法,一种是快速offset法。Ha...

2018-12-08 09:55:03 225

转载 HanLP自定义词典注意事项

对于词典,直接加载文本会很慢,所以HanLP对于文本文件做了一些预处理,生成了后缀名为.txt.bin的二进制文件。这些二进制文件相当于缓存,避免了每次加载去读取多个文件。通过这种txt和bin结合的方式,HanLP一方面方便用户编辑查看词典,另一方面bin方便加载,这种方式可谓是兼二者之长,设计上堪称典范。打开hanlp的data目录data\dictionary\custom,删除所有...

2018-12-07 22:41:23 972 1

原创 从 Java 代码到 Java 堆

详细参见:https://www.ibm.com/developerworks/cn/java/j-codetoheap/

2018-12-07 10:57:34 94

转载 Java ArrayList使用技巧 - 从第一个List中去除所有第二个List中与之重复的元素

需求:从 mAllList 中去除所有 mSubList 中与之重复的元素测试数据:mAllList 中包含100000个无序无重复字符串,mSubList 中包含50000个无序无重复字符串 方法一、ArrayList中提供的removeAll方法(效率最低)mAllList.removeAll(mSubList);某次测试耗时:185665ms方法二、双重循环(比方法一...

2018-12-07 10:51:34 2053 1

转载 关于Java中形参与实参的理解

今天阅读了一个写的非常棒的博文,通过此博文再次复习了Java中参数传递的知识(即值传递与引用传递的区别)。参考网站http://www.cnblogs.com/binyue/p/3862276.html。下面我将通过次博文记录自己的理解,还望能够帮助再学Java或者复习Java的朋友们。理解Java中的引用传递和值传递1.基本类型和引用类型在内存中的保存Java中数据类型分为两大类,基...

2018-12-07 09:13:20 236

转载 PolynomialFeatures多项式转换

使用sklearn.preprocessing.PolynomialFeatures来进行特征的构造。它是使用多项式的方法来进行的,如果有a,b两个特征,那么它的2次多项式为(1,a,b,a^2,ab, b^2)。PolynomialFeatures有三个参数degree:控制多项式的度interaction_only: 默认为False,如果指定为True,那么就不会有特征自己和...

2018-12-05 22:36:55 3675

转载 数据正规化 (data normalization) 的原理及实现 (Python sklearn)

原理数据正规化(data normalization)是将数据的每个样本(向量)变换为单位范数的向量,各样本之间是相互独立的.其实际上,是对向量中的每个分量值除以正规化因子.常用的正规化因子有 L1, L2 和 Max.假设,对长度为 n 的向量,其正规化因子 z 的计算公式,如下所示:注意:Max 与无穷范数  不同,无穷范数 是需要先对向量的所有分量取绝对值,然后取其中的最大值;而...

2018-12-05 22:25:43 1525

转载 Linux之间配置SSH互信(SSH免密码登录)

Linux之间配置SSH互信(SSH免密码登录)为简化SSH过程,采用证书方式,免去SSH登入时需要输入账号密码的过程,具体操作如下:一、在SSH服务器所在机器上1、以root用户登录,更改ssh配置文件 /etc/ssh/sshd_config,去除以下配置的注释RSAAuthentication yes #启用rsa认证PubkeyAuthentication yes #启...

2018-12-05 11:10:13 614

原创 隐马尔科夫模型学习笔记

隐马尔科夫模型Viviterbi算法 马尔科夫性质马尔科夫链马尔科夫链案例HMMHMM(Hidden Markov Model)隐马尔科夫模型是一种统计模型,在语音识别、行为识别、NLP、故障诊断等领域具有高效的性能。HMM是关于时序概率模型,描述一个含有未知参数的马尔科夫链所生成的不可观测的状态序列,再由各个状态生成观测随机序列的过程。HMM是...

2018-11-17 08:45:12 988

原创 SVM学习笔记(一)

梯度下降法、拉格朗日乘子法、KKT条件回顾感知器模型回顾SVM线性可分SVM线性不可分核函数SMO重点:梯度下降法,拉格朗日乘子法,KKT条件梯度下降法梯度下降法常用于求解无约束情况下凸函数的极小值,是一种迭代类型的算法,因为凸函数只有一个极值点,故求解出来的极小值就是函数的最小值点。由于梯度下降法中负梯度方向作为变量的方向,所以有可能导致最终求解的值是...

2018-09-25 22:12:07 1316 1

空空如也

空空如也

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

TA关注的人

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