自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 资源 (1)
  • 收藏
  • 关注

原创 CCKS2023-面向金融领域的主体事件检测-亚军方案分享

本次赛道任务,我们总结如下:在数据层面,我们做了一些数据增广,聚合相同事件类型下所有公司主体,随机替换同个类型的公司 实体进行数据生成;在传统方案上(crf、span、gp),我们通过一些手段(fgm、pgd、swa、ema、r-drop、multi-drop等)增强了模型的泛化性和鲁棒性;选择了多种的编码框架,crf是序列标记,span是指针抽取,gp是片段排列,LLM是基于指令的生成式,每一种框架都有自己的优势和短板,融合起来增益良多;

2023-12-05 15:23:11 984 2

原创 CCKS2023-面向上市公司主营业务的实体链接评测-亚军方案

最终成绩:初赛第一名,复赛第二名。另外,感觉给标注数据整体质量不高,存在很多前后冲突、模棱两可的情况,因此榜单上的整体得分都不高。

2023-12-03 21:12:20 210

原创 文本语义表征(Sentence-Bert、Simcse)的应用和实践

文本语义表征(Sentence-Bert、Simcse)的应用和实践

2022-06-26 18:52:43 4828 4

原创 TripletMarginLoss原理和源码实现

TripletMarginLoss最早是在 FaceNet 提出的,它是用于衡量不同人脸特征之间的距离,进而实现人脸识别和聚类现在被广泛应用于自然语言处理中,比如推荐场景和搜索场景下的向量召回模型。TripletMarginLoss的公司如下:L(a,p,n)=max{d(a,p)−d(a,n)+marge,0}L(a,p,n)=max\{d(a,p)-d(a,n)+marge,0\}L(a,p,n)=max{d(a,p)−d(a,n)+marge,0},其中d默认表示欧氏距离。该Loss针对不同样本

2022-03-19 11:32:13 3028

原创 Elasticsearch利用geo point地理数据搜索指定区域的实体

假设现在有一个需求,让你无论身在任何地方,都可以根据当前所在的位置,找到自己身边的符合条件的一些酒店,那么此时就完全可以使用es来实现,非常合适。比如我现在在上海某个大厦附近,我要搜索到距离我2公里以内的5星级的带游泳池的一个酒店s,用es就完全可以实现类似这样的基于地理位置的搜索引擎。ES中geo_point数据类型的认识和简单使用建立geo_point类型的mapping,地理位置的数据类型,就是geo_point,说白了,就是一个地理位置坐标点,包含了一个经度,一个维度,经纬度,就可以唯一定位一

2022-01-04 19:05:53 737 1

原创 Elasticsearch基于global bucket搜索+聚合深入分析

聚合操作是在指定范围内的数据之上进行的,这个数据范围可以是你搜索出来的数据,也可以全体数据。基于global bucket实现不同范围内的聚合操作实现两种聚合操作,一个聚合操作,必须在query的搜索结果范围内执行,另一个聚合结果,是对所有数据执行聚合的。GET /tvs/sales/_search { "size": 0, "query": { "term": { "brand": { "value": "长虹" } } },

2022-01-04 17:36:59 289

原创 Elasticsearch使用bucket嵌套实现颜色+品牌的多层下钻分析

以一个家电卖场中的电视销售数据为背景,来对各种品牌,各种颜色的电视的销量和销售额,进行各种各样角度的分析。先插入示例数据POST /tvs/sales/_bulk{ "index": {}}{ "price" : 1000, "color" : "红色", "brand" : "长虹", "sold_date" : "2016-10-28" }{ "index": {}}{ "price" : 2000, "color" : "红色", "brand" : "长虹", "sold_date" :

2022-01-04 16:39:39 377

原创 Elasticsearch基于dis_max实现best fields策略进行多字段搜索

使用dis_max关键字实现 best fields策略假如我们要搜索title或content中包含java或solution的帖子,可以使用下面这个multi-field搜索,多字段搜索。GET /forum/article/_search{ "query": { "bool": { "should": [ { "match": { "title": "java solution" }},

2022-01-04 15:48:19 466

原创 Elasticsearch基于boost的细粒度搜索条件权重控制

当我们遇到这样的场景时:搜索标题中包含java的帖子,同时呢,如果标题中包含hadoop或elasticsearch就优先搜索出来,同时呢,如果一个帖子包含java hadoop,一个帖子包含java elasticsearch,包含hadoop的帖子要比elasticsearch优先搜索出来。解决这个需求可以使用boost权重来控制。搜索条件的权重,boost,可以将某个搜索条件的权重加大,此时当匹配这个搜索条件和匹配另一个搜索条件的document,计算relevance score时,匹配权重更大

2022-01-04 15:19:24 1175

原创 Elasticsearch如何控制全文检索结果的精准度

搜索结果精准控制的第一步:灵活使用and关键字,如果你是希望所有的搜索关键字都要匹配的,那么就用and,可以实现单纯match query无法实现的效果。GET /forum/article/_search{ "query": { "match": { "title": { "query": "java elasticsearch", "operator": "and" } } }}控制搜索结果的精准

2022-01-04 14:55:35 293

原创 Elasticsearch中使用term filter来搜索数据

当ES版本>5.2,type=text时,默认会设置两个field,一个是field本身,比如articleID,默认会分词的;还有一个是field.keyword,比如articleID.keyword,默认不分词,但是最多会最多保留256个字符。term filter的用法下面用示例来说明。先插入示例数据POST /forum/article/_bulk{ "index": { "_id": 1 }}{ "articleID" : "XHDK-A-1293-#fJ3", "userID"

2022-01-04 14:30:58 851

原创 Elasticsearch基于DSL搜索语法进行复杂查询

Elasticsearch可以利用DSL句法构建各种复杂的查询语法,完成搜索操作,下面看看几个应用场景。复合查询需求:title必须包含elasticsearch,content可以包含elasticsearch也可以不包含,author_id必须不为111,对应的DSL语句如下:{ "query": { "bool": { "must": [ { "match": { "title": "elasticsearch"

2021-12-20 11:12:17 1029

原创 Elasticsearch基于乐观锁解决并发冲突问题

场景假设有这样一个场景:进程a从es集群里读取商品数据goods,修改后再次存到es中,与此同时,其他多个进程(进程b、c…)也在执行相同的操作,如何解决多进程并发操作。比如下面这个场景:悲观锁和乐观锁对于这种高并发问题,有悲观锁和乐观锁两种解决方案。悲观锁:每个线程进行数据操作时,都进行加锁,加锁之后,只有这个进行能操作数据。对程序来说,简单透明,,不需要额外的操纵,但是缺点也很明显,并发能力很低,同一时间只有一个进程能操作数据;乐观锁:不需要加锁,每次读取数据和修改数据时会比对版本号,如

2021-12-19 23:25:25 717

原创 Elasticsearch的基础分布式架构-剖析

Elasticsearch对复杂分布式机制的透明隐藏特性Elasticsearch是一套分布式的系统,分布式是为了应对大数据量,但是其隐藏了复杂的分布式机制,对使用者来说无感知。分片机制:我们随随便便将一些document插入到es集群中去,我们从没有care过数据怎么进行分片的,数据存到哪个shard中去,这些es统统帮我们完成了;cluster discovery:集群发现机制,当我们启动多个es进程时,各个进程作为一个node会自动寻找属于自己的集群,并且加入进去,并且接受数据的均衡负载。s

2021-12-19 22:08:38 2011

原创 Elasticsearch集群健康检查及原理

快速检查集群的健康状况es提供了一套api,叫做cat api,可以查看es中各种各样的数据。打开kibana,在Dev Tools中输入以下命令:GET /_cat/health?v执行上述命令之后,即可得到集群的健康状态,当前为yellow状态。epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time

2021-12-19 11:37:50 602

原创 Elasticsearch核心概念:NRT、索引、分片、副本

lucene和elasticsearch的前世今生lucene,最先进、功能最强大的搜索库,直接基于lucene开发,非常复杂,api复杂(实现一些简单的功能,写大量的java代码),需要深入理解原理(各种索引结构)elasticsearch,基于lucene,隐藏复杂性,提供简单易用的restful api接口、java api接口(还有其他语言的api接口)分布式的文档存储引擎;分布式的搜索引擎和分析引擎;分布式,支持PB级数据;开箱即用,优秀的默认参数,不需要任何额外设置,完全开源。

2021-12-19 10:48:25 828

原创 ES和Kibana的安装

Elasticsearch安装和启动:手动下载地址:https://www.elastic.co/cn/downloads/elasticsearchlinux下命令行下载和启动:wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.16.0-linux-x86_64.tar.gztar -xzvf elasticsearch-7.16.0-linux-x86_64.tar.gzcd elasticse

2021-12-12 15:34:33 1876

原创 标签平滑(label smoothing)

在常见的多分类问题中,先经过softmax处理后进行交叉熵计算,原理很简单可以将计算loss理解为,为了使得网络对测试集预测的概率分布和其真实分布接近,常用的做法是使用one-hot对真实标签进行编码,然后用预测概率去拟合one-hot的真实概率。但是这样会带来两个问题:无法保证模型的泛化能力,使网络过于自信会导致过拟合;全概率和0概率鼓励所属类别和其他类别之间的差距尽可能加大,而由梯度有界可知,这种情况很难adapt。会造成模型过于相信预测的类别。标签平滑可以缓解这个问题,可以有两个角度理解这件

2021-11-24 17:14:25 8830 3

转载 基于Apex的混合精度加速FP16

这个人的文章说的很全面,点击FP16和FP32以及基于Apex的混合精度加速

2021-11-24 16:26:33 273

原创 对抗训练fgm、fgsm和pgd原理和源码分析

当前,在各大NLP竞赛中,对抗训练已然成为上分神器,尤其是fgm和pgd使用较多,下面来说说吧。对抗训练是一种引入噪声的训练方式,可以对参数进行正则化,提升模型鲁棒性和泛化能力。fgmFGM的全称是Fast Gradient Method, 出现于Adversarial Training Methods for Semi-supervised Text Classification这篇论文,FGM是根据具体的梯度进行scale,得到更好的对抗样本:整个对抗训练的过程如下,伪代码如下:1.计算x的

2021-11-24 15:52:24 18647

原创 一文读懂focal loss

什么是Focal Loss?Focal Loss最先是在目标检测的领域提出的,目标检测的框架一般分为两种:基于候选区域的two-stage的检测框架(fast r-cnn);基于回归的one-stage的检测框架(yolo),two-stage效果好,但速度慢;one-stage效果一般,但速度快,于是乎,作者就去探寻为啥one-stage效果一般,最终发现的原因是 正负样本不均衡导致。于是作者就提出了一个牛逼哄哄的办法,使用Focal Loss这种损失函数,来尝试解决这一问题!值得一提的是,Focal

2021-11-24 10:58:28 1173

原创 Bert的进化

自从bert横空出世、横扫各大榜单之后,基于bert的各种魔改模型便层出不穷,roberta、ernie、uer、nezha、macbert等,下面依次说说各自的亮点。RoBERTa在XLNet全面超越Bert后没多久,Facebook提出了RoBERTa(a Robustly Optimized BERT Pretraining Approach)。再度在多个任务上达到SOTA。它在模型层面没有改变Google的Bert,改变的只是预训练的方法。静态Masking 变成 动态Masking摒弃了

2021-11-23 22:20:46 431

原创 NER的三个标注框架

这篇文章主要来说说自己最近做ner任务时使用过的三个不同的标注框架,分别是序列标注、指针标注和阅读理解的标注形式。下面分别讲述三个标注体系框架。序列标注在ner任务中,序列标注是最为常见的标注体系,也是比较容易理解的标注体系,以Bi-lstm+CRF为例,就是一种序列标注体系,在另一篇博文中详细介绍了Bi-lstm+CRF的原理以及用法,详情参考:知识图谱之命名实体识别,这里就不再赘述了。指针标注废话不多说,直接上图,看图说故事。在指针标注体系中,使用span模块代替了CRF模块,加快了训练速度

2021-11-23 15:41:19 2762

原创 Beam Search 优化

在说集束搜索的优化之前,先说说贪心搜索和集束搜索的区别吧。集束搜索和贪心搜索比较简单的来说,贪心算法是先挑出一个最可能的词,在此基础上再挑出第二个最有可能的词,以此类推,使每个词的概率最大化。而集束搜索是站在整个词序列整体的角度上使其概率最大化。典型的结果是,通过贪心搜索得到的翻译结果可能会包含一些日常使用中词频较高的词。贪心搜索最为简单,直接选择每个输出的最大概率,直到出现终结符或最大句子长度。集束搜索可以认为是维特比算法的一个特例,在维特比算法中由于利用动态规划导致当字典较大时效率低,而集束搜索使

2021-01-12 16:22:36 644

原创 智能营销文本生成项目知识点总结

最近业余时间弄了一个文本生成的项目,在此将相关知识点总一下总结。项目说明本项目中,我们作为输入的原文称之为 source,待生成的目标文本 称之为 target ,用来作为 target 好坏的参考文本称之为 reference。在本项目的数据源来自于某电商的发现好货栏目,source 主 要由三部分构成:1 是商品的标题,2 是商品的参数,3 是商品宣传图片里 提取出来的宣传文案,reference 则是实际该商品的营销文案;如下是某一条样本以及训练好的模型的预测结果,其中beam是解码出来的文本

2021-01-12 14:53:48 1041 20

原创 xgboost在LTR(学习排序)中的应用

LTR背景介绍Learning to rank (LTR) 中文译为“排序学习”,在信息检索(IR)以及 NLP 领域都有着广泛应用,此外在计算广告、推荐系统场景下同样也有应用空间。就我个人所知,LTR 在 2010 年前后受到了相对较多关注,也出现了一批以 LTR 为基础的算法模型。随着 DL 的兴起,近些年 LTR 模型方面的研究已经相对较少,转而更多的以一种“思想”或“做法”的方式出现在了其他模型中。LTR 模型定义检索问题可以看做是给定 query 后,系统对文档集合中的候选 doc 进行检索

2020-06-01 15:35:50 3089 3

转载 simhash算法原理

背景如何设计一个比较两篇文章相似度的算法?可能你会回答几个比较传统点的思路:一种方案是先将两篇文章分别进行分词,得到一系列特征向量,然后计算特征向量之间的距离(可以计算它们之间的欧氏距离、海明距离或者夹角余弦等等),从而通过距离的大小来判断两篇文章的相似度。另外一种方案是传统hash,我们考虑为每一个w...

2020-05-25 14:13:47 213

原创 solr运行原理之倒排索引

最近在研究智能客服的相关技术,其中涉及到检索相关的技术,基于字面检索的倒排索引技术和基于语义检索的ANNOY技术,本篇博客,就以开源框架solr为例,详细讲解这方面的知识。solr和elasticsearch、Lucene三者之间的关系Lucene是一套信息检索工具包,并不包含搜索引擎系统,它包含了索引结构、读写索引工具、相关性工具、排序等功能,因此在使用Lucene时仍需要关注搜索引擎系统,例如数据获取、解析、分词等方面的东西。而solr和elasticsearch都是基于该工具包做的一些封装。So

2020-05-23 23:33:42 391

原创 欧式距离、余玄相似度、编辑距离、jaccard相似性区别与总结

在计算文本相似度的时候,通常有两个层面,一个是基于字面的相似度,一个是基于语义的相似度,基于文本语义匹配可参考博文文本语义匹配,这里不再赘述。在计算基于字面的文本相似性的时候,通常有欧氏距离、cosine余弦相似度、编辑距离、jaccard相似度等方式,下面一一介绍。余弦相似度余弦距离,也称为余弦相似度,是用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大小的度量,公式如下:余弦距离和欧氏距离的对比余弦距离使用两个向量夹角的余弦值作为衡量两个个体间差异的大小。相比欧氏距离,余弦距离更加注重

2020-05-21 10:40:32 2262

原创 Dropout和BN(层归一化)详解

无论是机器学习,还是深度学习,模型过拟合是很常见的问题,解决手段无非是两个层面,一个是算法层面,一个是数据层面。数据层面一般是使用数据增强手段,算法层面不外乎是:正则化、模型集成、earlystopping、dropout、BN等,本文重点详细讲解一下dropout和BN。Dropout背景在2012年,Hinton在其论文《Improving neural networks by prev...

2020-05-03 20:03:44 8407

原创 Bert和Albert、XLNet的前世今生

样本不均衡问题所谓的不平衡指的是不同类别的样本量差异非常大,或者少数样本代 表了业务的关键数据(少量样本更重要),需要对少量样本的模式有 很好的学习。样本类别分布不平衡主要出现在分类相关的建模问题上。 样本类别分布不均衡从数据规模上可以分为大数据分布不均衡和小数 据分布不均衡两种:大数据分布不均衡——整体数据规模较大,某类别样本占比较 小。例如拥有1000万条记录的数据集中,其中占比5万条的...

2020-05-01 23:23:07 872

原创 文本主题模型LDA(三)python实现

前两篇博文分别详细讲解了文本主题模型LDA的基础原理知识、基于Gibbs参数求解的详细过程,都是理论层面的,这篇博文我们来看看代码实现。LDA的原理过程回顾LDA生成过程LDA模型认为一篇文章的每个词都是通过“以一定概率选择了某个主题,并从这个主题中以一定概率选择某个词语”这样一个过程得到。文档到主题服从多项式分布,主题到词服从多项式分布。每一篇文档代表了一些主题所构成的一个概率分布,而每一...

2020-03-27 11:36:18 1295 7

原创 文本主题模型LDA(二)求解之Gibbs采样算法

在第一篇文本主题模型LDA(一)之基础知识一文中已经详细讲解了LDA模型的基本原理过程,本小节将继续讲解LDA模型的基于Gibbs采样的参数求解过程,不了解Gibbs采样过程的可先阅读一下之前写的蒙特卡洛之Gibbs采样。Gibbs采样算法求解LDA的思路首先,回顾LDA的模型图如下在Gibbs采样算法求解LDA的方法中,我们的α,η\alpha,\etaα,η是已知的先验输入,我们的目标是...

2020-03-25 14:03:17 632

原创 文本主题模型LDA(一)之基础知识

从本节开始,打算总结一下自己对LDA模型的理解过程,由于LDA模型涉及到的数学知识众多,所以在本小节会先介绍一些相关的数学知识,做好铺垫。贝叶斯模型参数估计过程LDA是基于贝叶斯模型的,涉及到贝叶斯模型自然离不开“先验分布”,“数据(似然)”和"后验分布"三块。贝叶斯模型参数估计过程一般是这样:先验分布+数据(似然)=后验分布先验分布 + 数据(似然)= 后验分布先验分布+数据(似然)=后验分...

2020-03-22 21:58:02 662

原创 MCMC(三)蒙特卡洛之Gibbs采样

好机会

2020-03-21 23:07:39 487

原创 MCMC(二)蒙特卡洛之马尔可夫链

在MCMC(一)蒙特卡罗方法中,我们讲到了如何用蒙特卡罗方法来随机模拟求解一些复杂的连续积分或者离散求和的方法,但是这个方法需要得到对应的概率分布的样本集,而想得到这样的样本集很困难。因此我们需要本篇讲到的马尔科夫链来帮忙。马尔科夫链简述马尔科夫链定义本身比较简单,它假设某一时刻状态的取值只依赖于它的前一个状态。举个形象的比喻,假如每天的天气是一个状态的话,那个今天是不是晴天只依赖于昨天的天气...

2020-03-21 17:18:31 401

原创 MCMC(一)蒙特卡洛方法

MCMC概述从名字我们可以看出,MCMC由两个MC组成,即蒙特卡罗方法(Monte Carlo Simulation,简称MC)和马尔科夫链(Markov Chain ,也简称MC)。要弄懂MCMC的原理我们首先得搞清楚蒙特卡罗方法和马尔科夫链的原理。Gibbs采样是蒙特卡洛方法求解过程的一个重要的通用采样方法。MCMC为谁而生?蒙特卡罗原来是一个赌场的名称,用它作为名字大概是因为蒙特卡罗方...

2020-03-21 12:08:09 713

原创 文本匹配技术

概述本篇博文是智能问答系列的第一篇,纠结半天不知道从何开始,又因文本匹配技术是QA中最核心的技术之一,于是从此开始。在NLP中,文本匹配技术在各个应用系统中起核心支撑的作用,比如搜索引擎、智能问答、知识检索、信息流推荐等。本篇将纵览文本匹配的技术发展,并重点介绍文本语义相似度计算技术。文本匹配任务在真实场景中,如搜索引擎、智能问答、知识检索、信息流推荐等系统中的召回、排序环节,通常面临的是...

2020-02-20 17:19:55 1687

原创 NLP词向量模型总结:从Elmo到GPT,再到Bert

词向量历史概述提到NLP,总离开不了词向量,也就是我们经常说的embedding,因为我们需要把文字符号转化为模型输入可接受的数字向量,进而输入模型,完成训练任务。这就不得不说这个转化的历史了。起初用于把文字转化向量,用的是最基础的词袋模型,类似于one-hot,不得不说,这种做法很简单粗暴,现在也还在用,但是维度过高,并且有些词出现多次一般来说更重要,而这种词袋模型无法表示,于是出现了以频率...

2020-02-05 12:39:15 3515

原创 条件随机场CRF(三)

上篇博文介绍了CRF的标记序列的概率计算,本片博文专注于CRF的参数学习问题和序列解码问题。CRF模型参数学习思路在CRF模型参数学习问题中,我们给定训练数据集XXX和对应的标记序列YYY,KKK个特征函数fk(x,y)f_k(x,y)fk​(x,y),需要学习CRF的模型参数wkw_kwk​和条件概率Pw(y∣x)P_w(y|x)Pw​(y∣x)其中条件概率Pw(y∣x)P_w(y|x)Pw...

2020-01-20 19:23:05 2581

Inclination based Bayesian Attack Graph.zip

里面是一个贝叶斯攻击图源代码,内容很全,里面是一个贝叶斯攻击图源代码,内容很全,

2018-04-28

空空如也

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

TA关注的人

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