最近邻逼近搜索

说明由于业务中需要用到向量之间的相似索引,其实向量相思索引在很多的业务场景中都有非常高的应用价值。我们已经有把词、句子、图片、等信息处理成响亮的方法。这样在一些相关性检索方面就有了应用价值。本文中搭建了annoy和nmslib两种方式。下面提供了两种方式的的索引构建方式:annoy索引构建:f = 200tc_index = AnnoyIndex(f,metric='angular')...
分类: 其他 发布时间: 01-28 23:55 阅读次数: 0

文档标签化的几种方案

前言:文档标签化, 就是从文档中抽取若干标签,来定义和表示文本,使文档更容易的进行计算、索引、表示。当然前提是已经有了一个标签词库。量少的话可以人工进行编写业务相关词典、量大的话可以用机器生成然后进行人工审核。方案一:直接词典匹配这里主要借助于像字典数、多摸匹配等方案,对文档中的标签进行识别。优点是速度快, 缺点是容易对一些超短的tag进行误识别(语境中可能不是一个tag);不能识别意思相近的tag。方案二:使用NER进行识别NER的模型较多,这里就不再赘述,在数据构造...
分类: 其他 发布时间: 01-28 23:54 阅读次数: 0

多标签分类的一次实践

多标签分类是NLP领域的常见任务, 最常用的是sigmoid + BCE , 根据标签数量和特点不同,可能有不同的变形和优化。本文实践的是一个25w标签词的标签体系。由于标签数量巨大,将标签进行全量表示将难以训练。基于该任务的若干思考:(1)使用负采样的方式减少结果向量的表示(2)标签具有相关性,负采样的量不是越大越好(3)在loss上,采用margin loss 优化正负样本的间隔# coding=utf-8"""负彩阳版本 - 加快迭代训练效率"""impor.
分类: 其他 发布时间: 01-28 23:54 阅读次数: 0

基于划分的新词发现

该新词发现是在query中的新词。主要的技术点:(1)左右熵、凝固度(2)直接基于划分部分效果(对query的直接划分):目前问题: 对英文不好 , 对低频词不好。processing line : 办公室主任[1, 4, 6]办公室主任processing line : 私家车司机[1, 4, 6]私家车司机processing line : 土建预算员[1, 3, 6]土建预算员processing line : 医院挂号员[1, 3, 6]医院.
分类: 其他 发布时间: 01-28 23:54 阅读次数: 0

天猫入驻2021年度软件服务年费缴纳、折扣优惠及结算标准

天猫入驻2021年度软件服务年费缴纳、折扣优惠及结算标准一、年费结算周期软件服务年费(以下简称“年费”)以自然年(本规则即2020年1月1日至2020年12月31日)为结算周期,按自然年内的经营期间计算缴纳金额和折扣优惠条件达成情况。经营期间不实际考量商家是否实际经营,是指自然年内《天猫商户服务协议》约定的服务期(包括店铺限权、监管等状态期间),在未提前终止服务提供的情况下,自服务实际开通日起算至2020年12月31日终止,未到期提前终止的,则截止终止之日。二、年费缴纳商家在天猫经营必须缴纳软件服务
分类: 其他 发布时间: 01-28 23:53 阅读次数: 0

feign官方文档

feign makes writing java http clients easier为什么使用Feign框架而不是其他的?feigh 使用 jersey或CXF这样的框架来为REST服务或SOAP服务提供http客户端。而且,feign允许你在http的jar包基础上编写代码,就像Apache HttpComponents,feign以最小的开销爸代码连接到HTTP APIS,并且通过自定义的解码和错误处理,写给任何基于文本的http api。feign是如何工作的feign通过将注解处理为模板
分类: 其他 发布时间: 01-28 23:53 阅读次数: 0

缓存命中率

安装环境安装 docker redis验证127.0.0.1:6379> info查询一个不存在的key127.0.0.1:6379> get test(nil)在看命中率新插入一个值 name127.0.0.1:6379> set name JackMAOK查询name127.0.0.1:6379> get name"JackMA"再看命中率总结之前一直人为的命中率高低与key的访问频次有关,一个key被多次访问,就是命中率高,现在知道
分类: 其他 发布时间: 01-28 23:52 阅读次数: 0

阿里云可弹性扩展DB

最近两天在学习缓存,众说周知,缓存是解决高并发,海量数据下,mysql主要成为性能瓶颈的问题,传统做法就是先查缓存,再查DB,因为要走缓存,所以整体设计时,程序中不会有复杂连表sql等(本文主要是面向互联网C端项目,b端项目主要逻辑复杂,并发不高),db中也以key,value形式存储,大多以主键查询,聚合,过滤等操作全在代码中进行,因为mysql不可线性扩展,而java应用可以无限水平扩展,当然不能无限,不然光连接数mysql也撑不住。看的过程中发现阿里云PolarDB,使用上完全兼容mysql,可弹性
分类: 其他 发布时间: 01-28 23:52 阅读次数: 0

架构是什么

很多人都试图给"架构"下定义,而这些定义本身却很难统一。能够统一的内容有2点:一点是“最高层次的系统分解”,另一点是“系统中不易改变的决定”。但是,表述一个系统架构的方法不只一种。架构是一种主观上的东西,是专家级开发人员对系统设计的一些可共享的理解。一般地,这种可共享的理解表现为系统中主要的组成部分以及这些组成部分之间的关系。它还包括一些决定,开发者们希望这些决定能及早做出,因为在开发者看来,它们是难以改变的。架构实际上就是如何将企业应用组织成不同的层次,以及这些层次之间如何协同工作。大多数重要的企业应
分类: 其他 发布时间: 01-28 23:52 阅读次数: 0

分层

分层 在分解复杂的软件系统时,软件设计者用的最多的技术之一就是分层。在计算机本身的架构中,可以看到:到处都有分层的例子:不同的层从包含了操作系统调用的程序设计语言,到设备驱动程序和CPU指令集,再到芯片内部的各种逻辑门。网络互联中,FTP层架构在TCP层之上,TCP架构在IP之上,IP又架构在以太网之上。 当用分层的观点来考虑系统时,可以将各个子系统想象成按照“多层蛋糕”的形式来组织,每一层都依托在其下层之上。在这种组织方式下,上层使用了下层定义的各种服务,而下层对上层一无所知。另外,每一层
分类: 其他 发布时间: 01-28 23:52 阅读次数: 0

UI流程图

在《代码精进之路中》中看到UI流程图,UI流程图使用页面之间的流转来描述系统交互流程。用户可以通过UI流程图进行业务分析和检查,UI流程图也可以作为系统问题向新人介绍。感觉很实用,以前总结业务,要不就是光总结业务,画业务流程图,要不就是接口文档,以后可以模仿这个,把里面的页面改成接口,来介绍业务,顺便串接口代码...
分类: 其他 发布时间: 01-28 23:51 阅读次数: 0

领域实体

现实世界 软件世界 事物 对象(实体) 职责 职责 ...
分类: 其他 发布时间: 01-28 23:51 阅读次数: 0

聚合根

聚合根(Aggregate Root)是DDD中的一个概念,是一种更大范围的封装,会把一组有相同生命周期,在业务上不可分割的实体和值对象放在一起,只有根实体可以对外暴露引用,这也是一种内聚性的表现。确定聚合边界要满足固定规则(Invariant),是指在数据变化时必须保持的一致性规则,具体规则如下。根实体具有全局标识,最终负责检查规定规则。聚合内的实体具有本地标识,这些标识在Aggrate内部才是唯一的。外部对象不能引用除Entity之外的任何内部对象。只有Aggregate的根Entity才能
分类: 其他 发布时间: 01-28 23:50 阅读次数: 0

领域服务

有些领域服务中的动作是一些动词,看上去并不属于任何对象。它们代表了领域中的一个重要的行为,所以不能忽略它们或者简单的把它们合并到某个实体或者值对象中。当这样的行为从领域中被识别出来时,推荐的实践方式是将它声明成一个服务。这样的对象不在拥有内置的状态,其作用仅仅是为领域提供相应的功能。Service往往是以一个活动来命名,而不是Entity来命名。例如在银行转账的例子中,转账(transfer)这个行为是一个非常重要的领域概念,但是它发生在两个账号之间,归属账号Entity并不合适,因为一个账号Entity
分类: 其他 发布时间: 01-28 23:50 阅读次数: 0

领域事件

领域事件(Domain Event)是在一个特定领域由一个用户动作触发的,是发生在过去的行为产生的事件,而这个事件是系统中的其他部分或者关联系统感兴趣的。为什么领域事件如此重要?因为在分布式环境下,很少有业务系统是单体的(Monolithic),消息作为分布式系统间耦合度最低,最健壮,最容易扩展的一种通信机制,是我们实现分布式系统互通的重要手段。关于领域事件,我们需要注意两点,分别是事件命名和事件内容。事件命名:事件是表示发生在过去的事情,所以在命名上推荐使用Domain Name + 动词的过去式
分类: 其他 发布时间: 01-28 23:50 阅读次数: 0

如何提升抽象思维

多阅读:为什么阅读书籍比看电视更好呢?因为图像比文字更加具象,阅读的过程可以锻炼我们的抽象能力、想象能力、而看画面时你的大脑会被铺满,较少需要抽象和想象。这也是我们不提倡小孩子过多地看电视或玩手机的原因,因为不利于锻炼其抽象思维。抽象思维的差别使孩子们的学习成绩从初中开始分化,许多不能适应这种抽象层面训练的孩子可能选择去读职业技校,因为这里比大学更加具象-----车铣刨磨、零件部件等都是能看得到、摸得到的。多总结:小时候,我们可能不理解为什么语文老师总要求我们总结段落大意,中心思想。现在回想起来,这种思.
分类: 其他 发布时间: 01-28 23:50 阅读次数: 0

函数分解

之前公司大佬在讲如何写好代码时(其实如何写好代码这个主题了听了3次了,一年之内,就是懒的不想去看代码整洁之道这本书,话说那些讲师的思想也主要是代码整洁之道上的,讲师看的书都比较多,我这无非不就是不爱自己学习,非得听别人嚼过的东西,以后还是要勤奋点,到知识的源头)说过函数要尽可能的拆分,然后代码即注释,函数名称要体现出函数的作用,目的,后来学到分治以后,才发现,这里面有分治的思想在里面,一个过大的函数意味着过多的职责,有必要“分治”一下,将大函数分解成多个短小,易读,易维护的小函数。在这里要注意,在使用组合函
分类: 其他 发布时间: 01-28 23:49 阅读次数: 0

如何借鉴技术大牛的成长策略

技术大牛的三种路线专家路线对某一领域的路线有着及其深入的理解,工作之余输出相关文献书籍、公开演进、开源项目等,最终影响整个行业导向。开源产品到企业路线专注一个细分领域,打造优质的开源项目工具,基于此项目创业,扩大项目影响力,做到世界级公司。技术媒体大V路线持续输出有价值的技术课程即文章,长期经营个人影响力,形成规模庞大的社区平台,扩大影响力。成为技术大牛的五大关键词目标经过反复的思考与验证,找到适合自己的长期战略目标。专注专注深耕一个(或有限几个相关)细分领域,少即是多。坚持长期投
分类: 其他 发布时间: 01-28 23:48 阅读次数: 0

高效学习(1)端正学习态度

学习是不可能速成的。通过一些方法和技巧,一方面,会学的更多,更累,另一方面,也会学的更系统,更全面。总之,学习是一件逆人性的事,就像锻炼身体一样,需要人持续付出,会让人感到痛苦,并随时找理由放弃。大部分人都认为自己爱学习,但是:他们都是只有意识没有行动,他们是动力不足的人。他们都不知道自己该学什么,他们缺乏方向和目标。他们都不具备自主学习的能力,没有正确的方法和技能。更要命的是,他们缺乏实践和坚持。如果你去研究一下古今中外的成功人士,就会发现,他们基本上都是非常自律的,也都是非常热爱学习的。他们
分类: 其他 发布时间: 01-28 23:48 阅读次数: 0

PaddlePaddle-百度架构师手把手带你零基础实践深度学习-笔记01(代码详解)

章一案例一:波士顿房价预测问题深度学习基本步骤
分类: 其他 发布时间: 01-28 23:48 阅读次数: 0