
文本匹配和文本分类
文章平均质量分 85
文本匹配设计到的模型和算法
colourmind
本硕毕业于华中科技大学物流系统工程,毕业后在广州玄武无线科技有限公司从事JAVA开发。一年后离职,寻求转行;经过一年自学后成功转行;现在武汉科大讯飞____科讯嘉联___技术运营部,担任NLP算法工程师。
展开
-
2022搜狐校园NLP算法大赛情感分析第一名方案理解和复现
2022搜狐校园NLP算法大赛情感分析第一名方案理解,代码复现和效果对比原创 2022-07-18 21:14:31 · 7421 阅读 · 33 评论 -
《CoSENT(一):比Sentence-BERT更有效的句向量方案》pytorch实现和中文实验
一、CoSENT简介 目前已经有了很多比较有效的bert系列句向量方案,其中最易于实现以及数据构造比较友好并且效果也比较好的方法就是Sentence-BERT。当然Sentence-BERT的训练目标和推理任务的目标是不一致的,它的训练目标是优化一个分类任务,而推理却是计算文本的余弦相似度。那么有没有一种更好的方案来解决Sentence-BERT文本相似度训练和推理优化目标不一致的问题?苏神的博客——CoSENT(一):比Sentence-BERT更有效的句向量方案给出了答案,直接优化文本对的余...原创 2022-02-09 16:11:54 · 6437 阅读 · 5 评论 -
余弦相似度计算的实现方式
自己手写实现一个,numpy、sklearn、scipy.spatial等当数据量大了以后就得采用其他的方法了,faiss库和GGNN-graph-based GPU nearest neighbor search先做调研原创 2020-11-21 14:01:19 · 10747 阅读 · 10 评论 -
NLP词向量和句向量方法总结及实现
目前各种词向量是很多的,很有必要做一个综合性的总结。在优快云上一看已经有作者做过这部分的工作了。觉得写的非常棒,于是就转载过来了,原文地址:NLP词向量和句向量方法总结及实现,具体内容如下:一、Word2Vec1、Word2Vec介绍Word2Vec是Google在2013年开源的一款词向量计算工具,它的特点是将所有的词向量化,这样词与词之间就可以定量的去度量他们之间的关系,挖掘词之间的联系。Word2vec源码 Word2vec论文 Word2Vec原理2、Ge...转载 2020-06-06 21:33:54 · 4191 阅读 · 0 评论 -
基于机器学习算法和pytorch实现的深度学习模型的中文长文本多分类任务实战
最近实现了中文长文本的多分类任务,这里主要是使用了机器学习的算法和基于pytorch实现的深度学习的相关模型。这里我们挑选和采用的模型分别是:原创 2020-06-07 11:47:30 · 3015 阅读 · 10 评论 -
无监督对比学习SIMCSE理解和中文实验操作
一、SIMCSE原理理解论文的背景、核心思想、如何构建正样本对——为何这样就能构造一个很好的样本对(bert模型中dropout的理解)、损失函数的理解,错误负样本对结果的影响,有没有好的方法构建一批两两之间都是负样本的数据集,会不会提高SIMCSE的效果?二、文本相似度实验对比可以把bert原生不微调的对比结果、微调后的;有监督的sentence-bert后然后再采用simce对比一下效果。...原创 2021-09-09 14:37:53 · 13661 阅读 · 22 评论 -
文本相似度,文本匹配模型归纳总结
文章中介绍了很多传统文本匹配模型。转载自:文本相似度,文本匹配模型归纳总结转载 2020-01-15 17:48:50 · 1261 阅读 · 0 评论 -
Moco训练方式的学习以及在文本表示方面的应用探索
Clip和Moco两种训练方式的学习以及在文本表示方面的应用原创 2021-03-30 14:43:25 · 2049 阅读 · 3 评论 -
Word Rotator‘s Distance——WRD算法应用
WRD算法的应用原创 2020-07-15 22:35:40 · 1212 阅读 · 0 评论 -
P-SIF长文本表示方法
目前长文本的做法有两种方案,一种是基于关键词抽取的表示方案,它抽取一定数量的关键词,用这些关键词的含义来表示整个文本的含义,然后基于关键词来做分类和文本相似任务。这里会存在积累误差,抽取关键词的阶段往往我们抽取的关键词的准确率很难保证,因为关键词抽取对于人来说都是一个比较困难的任务。第二个方案就是基于bert系列的。由于bert系列对于文本长度有很大的限制,一般要求是不多余512字。在bert的基础上提出各种tricks——对文本数据做下采样——每次去除一条文本数据的部分数据——具体如...原创 2020-07-08 16:33:22 · 10963 阅读 · 2 评论 -
NLP任务样本数据不均衡问题解决方案的总结和数据增强回译的实战展示
目录一、数据层面1、欠采样(under-sampling)2、过采样二、算法层面1、权重设置2、新的损失函数——Focal Loss三、评价方式四、数据增强实战——回译(back translate)1、Translator2、TextBlob3、百度翻译API 在做NLP分类标注等任务的时候,避免不了会遇到样本不均衡的情况,那么我们就...原创 2020-01-15 12:07:48 · 6545 阅读 · 9 评论 -
深度学习和机器学习中过拟合的判定、原因和解决方法
目录一、过拟合的表现以及判定1、模型过拟合的表现2、模型过拟合的判定二、过拟合的原因三、过拟合的解决方案1、模型层面2、数据层面3、训练层面4、其他 最近在做NLP相关任务的时候,训练神经网络模型的过程中,遇到过模型过拟合的情况,到底怎么解决过拟合,来提高模型的性能,不是特别的清晰。以前学习机器学习的时候,也讲到了模型的过拟合,对里面怎么来解...原创 2020-01-12 23:18:33 · 55149 阅读 · 7 评论 -
使用bert模型做句子分类
使用bert模型微调做下游任务,在goole发布的bert代码和huggingface的transformer项目中都有相应的任务,有的时候只需要把代码做简单的修改即可使用。发现代码很多,我尝试着自己来实现一个用bert模型来做句子分类任务的网络——这个工作也很有必要,加深bert的理解,深度学习网络的创建和训练调参等。一、数据集LCQMC是哈尔滨工业大学在自然语言处理国际顶会...原创 2020-01-02 19:25:02 · 8872 阅读 · 2 评论 -
Sentence-Bert中pooling的理解
之前使用Sentence-Bert思想来做文本匹配相似的时候,忽视了其中的pooling细节。在对embedding做处理的时候,只是简简单单的做了一个均值处理。代码如下:embedding_a = self.bert(indextokens_a,input_mask_a)[0]embedding_a = torch.mean(embedding_a,1)以上的简单方式并没有什么错误,其中每个序列的embedding中含有作为padding字符(0)的向量表示,可能会影响最后下游...原创 2021-08-30 10:00:29 · 3323 阅读 · 0 评论 -
word2vec模型训练保存加载及简单使用
目录word2vec模型训练保存加载及简单使用一 word2vec简介二、模型训练和保存及加载 模型训练模型保存和加载模型的增量训练三、模型常用API四、文本相似度计算——文档级别word2vec模型训练保存加载及简单使用一 word2vec简介 word2vec是google开源的一款用于词向量计算的工具。可以这样理解wor...原创 2019-11-27 18:11:42 · 38964 阅读 · 22 评论 -
NLP分类任务中的损失函数的选择
NLP分类任务可以分为单标签和多标签,在进行这些分类任务的时候,怎么选择损失函数呢?一、单标签分类任务单标签分类任务很简单,就是一个样本只有一个标签;进一步,根据类别的多少可以分为二分类和多分类。1、二分类任务只有2个类别,非A即B,那么这种情况下,可以采用如下的方式:a、sigmoid激活函数+BCELoss训练代码实现方式如下#output [B,C]output = torch.sigmoid(output)loss = f.binary_cross_entropy(原创 2021-09-14 19:28:14 · 3465 阅读 · 7 评论