自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Vancl_Wang Blog

不积跬步,无以至千里

  • 博客(34)
  • 收藏
  • 关注

原创 Golang基于viper的配置热加载或动态变更方法介绍

概述  在写web server时,往往需要引入各种各样的配置信息,如依赖的其他中间件(redis、elasticsearch)等,一旦这些服务发生变更,我们需要重新启动web server,以使配置生效。在Golang中,基于viper的动态配置就可以省去这些繁琐的步骤了。接下来用一个示例来说明如何使用viper的配置热加载:项目结构  首先来看一下整个项目的目录结构:- Dynamic...

2019-11-25 11:12:31 5389

原创 tornado多线程keras模型加载问题及解决方案

  最近,在尝试利用tornado、tensorflow以及keras完成一个短文本分类模型训练及预测的服务。具体的逻辑是这样的:利用tornado封装一个server,然后主要提供三个API,train、apply以及predict。其中train用来传入一些参数进行模型训练,apply用于配置一个分类模型用于短文本预测,predict用来进行短文本的类别预测。因此需要有一个线程监听当前的模型配...

2019-05-27 19:22:27 2338 2

原创 利用bert-serving-server搭建bert词向量服务(一)

  Bert是去年谷歌发布的一款新模型,在11个主流NLP任务中都取得优异的结果,因此成为NLP领域最吸引人的一个模型。它的核心思想在于:作者认为语言表示存在一个通用模型,而具体到专业领域,可以对通用模型进行精炼(fine-tune)来实现更加好的效果。从技术角度而言,它采用了transformer等技术搭建了一个更深的深度网络。受限于作者能力,模型细节不能详细解释,大家可以参看官方介绍或51...

2019-05-19 22:22:17 18153 15

原创 mysql连接的几个知识点

mysql五种连接join:返回所有满足如下条件的行:指定的字段在两表中匹配,eg:on A.id=B.id,返回A中id和B中id一致的记录,并进行字段横向合并;inner join:等同于join;left join:返回满足如下条件的行:所有在左表中的行及右表中匹配到的行,eg:on A.id=B.id,返回A中所有行及B中id匹配到A表的行,并进行字段横向合并;right joi...

2020-01-06 10:57:59 244

原创 梯度下降算法要点

梯度下降思想初始化待求参数初值;按照梯度方向更新参数;逐渐迭代,直到收敛;学习率α\alphaα选择α\alphaα过小,计算较慢,需要迭代多次;α\alphaα过大,导致震荡,可能无法收敛甚至发散;其他针对凸函数,可以找到全局最优解;针对凹函数,常收敛至局部最优解;...

2020-01-05 16:37:44 241

原创 elasticsearch completion类型字段值为空报错

问题描述   在mapping中配置字段为“completion”类型,用于进行搜索提示功能,mapping示例如下:PUT test_suggest{ "mappings": { "test_suggest": { "properties": { "title": { "type": "text", ...

2019-12-09 10:30:19 750

原创 mysql 键、索引与联合索引 (key & index)

mysql中key的概念  mysql中key表示键mysql中index的概念  mysql中索引为底层的数据结构,用于优化、加速查询,索引也是一张表,对应底层索引文件,索引类型一般包括B+及hash索引。索引分为单列索引及组合索引,组合索引为由多个列组建的索引,创建命令如下:KEY index_single (id);KEY index_com...

2019-12-05 18:27:13 787

原创 Train2: 查找最相似的英文句子

题目描述已有文件sentence.dat是由很多行英文句子构成,请你对这个文件进行处理,构造相应的数据结构,开发出一个快速查找最相似句子的系统(相似度计算方法见附注),该系统能实现的功能为:在控制台(console)中可以随时输入一个英文句子,单词长度小于等于8,运算后立刻在console中打印出在sentence.dat中与输入的英文句子最相似的前十个英文句子,和对应的相似度。每执行...

2019-11-25 11:16:17 310 1

原创 预测谁的年薪可以超过5万美元

题目描述在salarytrain.dat文件中有超过三万行用户数据,每行中的用户个人数据(按逗号分隔)依次包括如下字段:Age: continuousWorkclass: 8 valuesFnlwgt: continuous.Education: 16 valuesEducation-num: continuous.Marital-status: 7 valuesOccupa...

2019-11-25 11:16:06 330

原创 测试题:寻找两个文件中相同的句子

题目描述已有两个文件a.dat和b.dat,每个文件都包含若干行句子,现在需要你编写python程序,来找到两个文件中相同的句子,完成以下任务:1 将相同的句子打印到common.dat文件中,每行一句2 在控制台打印出程序执行的时长,和相同句子的数量题目分析该题目为一个简单的匹配问题,因此最直接的想法是读入两个文件中的所有句子,然后经过简单的处理,利用循环判断哪个...

2019-11-25 11:15:10 213

原创 elasticsearch重平衡特定索引分片分布

  elasticserach会自动进行索引及分片的平衡,但有时由于内部策略也会出现某些与主观上不相符的均衡,因此有时需要手工进行下重平衡,命令如下:POST index_name/_settings{index.routing.allocation.total_shards_per_node": number}则会触发集群平衡,最终限定每个节点最多包含该索引的指定数量...

2019-11-22 17:43:33 1496 1

原创 elasticsearch index sorting 索引预排序

预排序概要  Elasticsearch的底层索引工具为Lucene,Lucene通过segment进行索引文件的管理存储,默认情况下,segment中文档按照自增Id排序(写入时Lucene会分配一个Id),查询时根据文档Id顺序遍历,查找所有满足条件的文档。因此,假设我们的检索场景为基于某字段进行排序,如果底层文件可以同样按照这个字段进行排序,那是否会带来检索的一些优化呢?   答案...

2019-11-19 11:50:09 2663

原创 elasticsearch基于ingest pipeline的动态索引切割方案

前言: elasticsearch是当今最为便捷的开源搜索引擎,但对于日增量较大的数据,如果不采用分索引的方式进行切割,则会面临单个索引数据无限膨胀的情况,因此必须考虑索引切割的方案,通常会选择某个维度进行切割,如时间维度。这里介绍一下利用ingest的processor基于时间字段进行索引切割的策略。具体配置PUT _ingest/pipeline/monthlyindex{ "des...

2019-11-07 15:39:00 703

原创 使用python连接kafka

kafka简介  kafka是高吞吐的消息队列系统,轻松支持每秒百万级的写入请求,这种特性也使得Kafka在日志处理等海量数据场景广泛应用。kafka依赖于zookeeper运行,zookeeper充当了协调和管理kafka集群的任务,并且存储一些meta信息。此处,因作者能力有限,不详细讨论kafka与zookeeper的内部细节。  kafka采用的是一种发布-订阅的消息发布模型:消息模型...

2019-06-30 15:50:37 1662

原创 如何优雅的使用腾讯词向量: 基于redis集群&elasticsearch的姿势

  2018年10月份,腾讯AI Lab开源了大规模高质量的中文词向量数据,包含了8824331个常用词的向量表示,维度为200。当前,向量表示已经成为nlp的重要基础功能,从我个人角度而言,其地位等同于搜索引擎中的分词功能,是注入词性标注、命名实体识别、情感分类等后续任务的基础步骤。关于腾讯词向量的进一步细节大家可以参考tencent embedding。  关于词向量的使用,腾讯AI Lab...

2019-05-26 22:53:10 3206

原创 体验百度云智能自然语言处理

  当前,像百度、腾讯、阿里巴巴等厂商在云服务的基础上,提供了包括图像处理、音频处理、自然语言处理等一系列功能甚至各种相关解决方案,这也是大厂的标志之一,所以即使百度市值可能已经低于一些后期之秀,但仍是中国互联网的重要一极,因为提供这些技术是衡量一家公司技术积累的重要标志。  作者主要做自然语言处理相关的工作,因此主要关注了BAT三家厂商关于nlp的一些服务,其中百度的相关服务更全面一些,除分词...

2019-05-26 21:18:16 1063

原创 go get 无反应的解决办法

  最近,在使用go时,需要安装一个redis的包,使用go get *的方式始终没有反应,类似于调用服务hang住。查阅相关资料发现,该命令底层调用了git,且需要高版本的git。在mac上升级了git后,果然解决了问题:# 升级gitbrew upgrade git# 重新安装go get -u github.com/go-redis/redis...

2019-05-25 21:28:43 5210

原创 python3连接redis数据格式设置

  python3一个很重要的改进是解决了python2中编码的重大缺陷。字符串和二进制数据流做了明确的区分。文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示。我们在调用redis时,...

2019-05-18 00:30:40 422

原创 tornado结合nginx实现后端防爬虫功能(一)

  大部分程序员可能都有过“爬虫”的经历,使用python+scrapy可以很快的实现一个爬虫程序,爬取各种心仪的数据。但做为网站或数据提供方,则是极度讨厌这种“不劳而获”的行为的,公司辛辛苦苦积累的数据,几行代码就拿走了,因此会配置各种各样的防爬虫策略。因此现实中,上演着一场又一场的攻防大战。  防爬虫功能的本质就是区分是否为正常请求,常见的几种防爬虫手段有:IP访问频率限制;User-...

2019-05-18 00:12:09 792 1

原创 elasticsearch如何实现紧密度排序

  搜索引擎的核心思想是:针对用户输入的query,进行分词,然后按从倒排索引中匹配term,再基于如BM25等算法计算相关性,召回item。  在搜索场景中,往往还有一个比较常见的需求:根据term间的紧密度进行排序。即:如果一个query包含两个或以上的term,如果一个doc中term间距离较近,则相似性分数应该更高。举例而言:系统中有如下几条数据,我们使得数据长度一致,避免tf-idf造...

2019-05-13 19:38:27 2397

原创 构建python3 docker镜像

在打包镜像时,centos原生镜像中python版本为2.7。如果我们的服务基于python3版本,则需要手动安装。在安装时,有一点需要注意的是:由于系统中某些服务以来python2.7版本,因此不要去删除或修改系统中python的默认版本,否则会产生不可预知的后果。下面给出一个python3镜像打包示例:# base imageFROM centos:7.2.1511# install r...

2019-05-13 19:05:59 2071

原创 Go语言_1: 基于for循环实现while循环

在其他语言中,均存在while这一特定关键字实现while循环,而Go中则没有,其实现方式需要借助于for。Go语言中基本的for循环结构for init; condition; post {}其中init表示初始条件,condition表示终止条件,post为赋值表示,用于控制循环变量的改变;在使用for时,也可以只定义condition,这样便实现了其他语言中的while循环:loo...

2019-03-31 23:38:32 2960

原创 Leetcode_Ex3: 单比特/双比特编码问题

1. 问题描述该题目是Leetcode上一道Easy的题目,[原题描述如下][https://leetcode.com/problems/1-bit-and-2-bit-characters/]:We have two special characters. The first character can be represented by one bit 0. The second char...

2019-03-31 23:28:43 539

原创 Leetcode_Ex2: 数组之和三等分问题

1. 问题描述该问题是leetcode上一道难易程度为easy的题目,原题如下:Given an array A of integers, return true if and only if we can partition the array into three non-empty parts with equal sums.Formally, we can partition the...

2019-03-28 22:42:09 1099

原创 Leetcode_Ex1: 重复数问题

1. 问题描述Given an array of integers and an integer k, find out whether there are two distinct indices i and j in the array such that nums[i] = nums[j] and the absolute difference between i and j is at ...

2019-03-26 22:13:20 133

原创 elasticsearch使用docker启动一些注意事项

1. 文件挂载权限问题在使用docker来部署elasticsearch服务时,通常需要把elasticsearch的索引数据和日志数据映射到本地进行持久化存储,但是经常会遇到权限问题:elasticsearch无法读取数据或者无法写入日志文件,主要有两种处理方法:将外部文件权限全部打开,有一定安全风险# 将外面文件夹权限设定为全部用户可读写chmod -R 777 /PATH/TO/...

2019-03-23 14:24:01 3292

原创 树莓派实践系列2-人体红外感应传感器、声音传感器、红外避障传感器

简介人体红外感应传感器、声音传感器、红外避障传感器是三个比较简单的传感器,之所以说其简单,是因为它们的功能为判断是否有人体靠近、是否有声音、是否有障碍物,功能明确、简单,均为被动式传感器,树莓派的仅仅通过读取GPIO接口的高低电平状态即可完成判断。人体红外感应传感器转自https://blog.csdn.net/sinat_33523805/article/details/78701878...

2019-01-01 19:55:38 7819 1

原创 Elasticsearch索引配置隐私字段

业务场景:某聊天记录搜索需求,客户希望对聊天记录进行搜索,但又不希望通过搜索引擎可以查询到聊天记录明文。业务分析:从搜索引擎的角度而言,客户上述需求实为只利用聊天记录内容字段建立索引,但不希望保留原文。标题解决方案:方案1: 建立test索引,包含三个字段:itemid(聊天记录唯一id),date(聊天记录发布时间),content(聊天记录内容),解决思路:再配置mapping时,不...

2018-12-27 23:46:27 1196

原创 树莓派实践系列1-DHT11传感器获取当前温湿度

 绪:树莓派买了有一段时间了,也折腾了几次,总想着做些分享,却又多次耽搁,今日立下Flag:两周更新一次折腾日志。 简介:树莓派最初发布于2012年,当前已经发布了8个版本,如下图,详情参见官网链接:https://www.raspberrypi.org/products/。引用树莓派实验室的一句话来介绍树莓派:树莓派虽小,五脏俱全,它给爱折腾的极客们提供了一种新的玩具。本次将分享...

2018-12-11 00:26:10 2352 1

原创 ES系列-Mapping-Meta_Fields-_id与_uid字段(索引、映射、字段)

每一个文档都属于一个type并且拥有一个_id,_id字段不会被索引,但可以通过_uid字段来访问该字段。_id相当于一个document的身份编号。_id在特定query中可以被获取,如term, terms, query_string, simple_string,但在聚合统计、自定义脚本以及排序时,不可以被使用,此时只能通过_uid来代替。示例1: 通过term/terms/query_...

2018-12-04 14:18:08 2390

原创 mac下mysql解决导出csv文件secure_file_priv报错的解决方案

1. mysql导出数据到csv文件在业务场景中,经常需要将数据库中数据导出到本地文件,可采用如下命令写到本地csv文件select * from tableinto outfile '/tmp/' #写到指定文件fields terminated by ',' #字段间的分隔符optionally enclosed by '"' #字段的包围符lines terminated by ...

2018-11-01 17:20:02 1356

原创 Elasticsearch配置jieba分词分析器

jieba分词是中文里面比较好的分词器,而当前Elasticsearch官方并不支持jieba分词,但可以通过配置plugins的方式使用jieba分词器作为es的analyzer。配置环境: - mac os 10.12 - elasticsearch 5.3.0 - jieba 5.3.0 (与es版本匹配)首先需要下载针对es的jieba分词插件,当前jieba分词插件对e...

2018-10-19 21:49:44 9304 2

原创 Python加载自定义模块

Python加载自定义脚本有如下三种模式: 模式1: 主函数(main.py)与待引用模块(import1.py)位于同一目录(Import_Test1)下则此时直接使用from import1 import *即可将import1模块中所有函数引入;模式2: 主函数(main.py)与待引用模块(import2.py)位于不同目录, 且import2脚本所在目录为普通目录则可以...

2018-09-03 19:53:11 577

原创 mac os iterm2 expect配置ssh自动登陆

iterm2终端iterm2无疑是mac上最出色的终端(之一), 具有高自由度的配置以及亮丽的配色.: https://www.iterm2.com/ 自动登陆服务器 1 #!/usr/bin/expect 2 3 set timeout 1 4 spawn ssh -p [lindex $argv 0] [lindex $argv 1]@[lindex $argv 2...

2018-09-03 19:35:24 1083

空空如也

空空如也

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

TA关注的人

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