
自然语言处理
文章平均质量分 72
choose_c
总有人要赢,那为什么不是我。
展开
-
Milvus的索引方式
查询时,查询向量分端后与聚类中心计算距离,各段相加后即为最终距离。使用对称距离(聚类中心之前的距离)不需要计算直接查表,但是误差回更大一些。先对空间的点进行聚类,查询时先比较聚类中心距离,再找到最近的N个点。SQ8:对向量做标量量化,浮点数表示转为int型表示,4字节->1字节。IVF-SQ8:量化操作,disk cpu GPU 友好。IVF-FLAT:量化操作, 准确率和速度的平衡。HNSW:基于图的索引,高效搜索场景。IVF-PQ:快速,但是准确率降低。ANNOY:基于树的索引,高召回率。原创 2022-12-01 15:31:44 · 1432 阅读 · 1 评论 -
中文NER的SOTA:RICON
规律感知模块 span表征 用于实体类型的预测。规律判断模块 span上下文表征 判断是否是实体。原创 2022-08-09 21:34:41 · 539 阅读 · 0 评论 -
OOD论文:Revisit Overconfidence for OOD Detection
重新审视OOD检测的过度自信:基于自适应类相关阈值的重分配对比学习。原创 2022-08-09 21:14:04 · 1372 阅读 · 0 评论 -
利用ONNX runtime对transformer模型进行推理加速
利用ONNX runtime对transformer模型进行推理加速原创 2022-04-28 20:42:59 · 2451 阅读 · 8 评论 -
预训练模型语义相似性计算(九)--向量表示相关论文
对话文本中的向量表示以及对比学习相关的向量表示方法。原创 2022-04-28 20:29:12 · 509 阅读 · 0 评论 -
[译文]Faster and smaller quantized NLP with Hugging Face and ONNX Runtime
量化和蒸馏是处理这些尺寸和性能挑战的两种常用技术。这些技术是互补的,可以一起使用。在之前的一篇HuggingFace的博文中讲到了蒸馏。这里我们讨论量化,它可以很容易地应用于您的模型,而无需再训练。这项工作建立在我们之前分享的ONNX Runtime优化推理的基础上,可以为您提供额外的性能提升,以及在客户端设备上解除阻塞推理。翻译 2022-04-28 20:07:07 · 648 阅读 · 0 评论 -
[译文]Accelerate your NLP pipelines using Hugging Face Transformers and ONNX Runtime
我们将分享ONNX Runtime团队和HuggingFace如何合作,以解决和减少Transformer模型训练和部署中的这些挑战。这是一个简化训练并降低推断成本的解决方案。翻译 2022-04-28 19:45:21 · 1038 阅读 · 0 评论 -
预训练模型语义相似性计算(六)--cross-encoder
前面讲的各个语义相似性计算的模型,基本都是双塔的结构。双塔结构主要优点是相似性计算快速,这里指的快速不是模型单个数据的推理速度,而是在大量问句场景下的计算,比如相似问句的召回场景。因为双塔模型得到的其实是单个问句的表示,相似性的计算只是在最后做了简单的计算,最耗时的问句表示操作可以离线完成。而cross-encoder是在模型输入时进行了拼接输入,这样两个问句进行更深层的交互,相似句任务直接在模型中完成,而不单单是问句的语义表示模型。所以cross-encoder的相似计算效果也要明显优于双...原创 2022-04-22 16:43:03 · 5879 阅读 · 0 评论 -
预训练模型语义相似性计算(八)--AWS文本表示三连击
PariSupConTrans-EncoderVaSCL原创 2022-04-21 21:17:11 · 303 阅读 · 0 评论 -
Unified Named Entity Recognition as Word-Word Relation Classification
论文链接:Unified Named Entity Recognition as Word-Word Relation Classification code链接:https://github.com/ljynlp/W2NER.gitNER任务根据实体的情况可以分为扁平实体(flat ner)、嵌套实体(nested ner)、不连续实体(discontinuous ner)。如果实际的实体抽取场景中同时包含了上述三种实体,那...原创 2022-03-09 22:09:26 · 1831 阅读 · 4 评论 -
data2vec: A General Framework for Self-supervised Learning in Speech,Vision and Language
abstract 不同模态下的自监督学习的总体思想一致,但是在实际过程中的算法和目标却有很大的不同。 data2vec是一个语音、nlp、cv不同领域下通用的自监督学习框架。 其主要的思想是:在标准的Transformer结构下,对数据进行 mask 后,使用 自蒸馏 方法,预测 隐性表示。 该方法预测了整个输入的上下文隐性表示,而不同于在单模态下的预测某个单元(word、visual token、speech unit)的局部信息。 ps:首先目前来说transf...原创 2022-03-07 21:01:42 · 3497 阅读 · 0 评论 -
ner新的打开方式
ner目前主流的打开方式就是抽取器(lstm,cnn,transformer)+crf。今天介绍几种新的ner打开方式-prompt learning。prompt learning主要运用低资源场景下的ner,依靠预训练模型中通用的语言知识,能够应对数据少的ner场景。还有一个好处是可以做到持续学习,在新增实体label时,以前的模型需要重新训练,而prompt learning的方式可以通过构建相应template数据做到继续训练学习。1.LightNER 论文链接:...原创 2021-12-02 21:33:57 · 1057 阅读 · 0 评论 -
TENER: Adapting Transformer Encoder for Named Entity Recognition
Transformer编码器用于命名实体识别。原创 2021-12-02 20:56:36 · 825 阅读 · 0 评论 -
句法分析与语义依存分析
nlp中有很多基础的任务,如常用的中文自然语言处理工具LTP中支持了分词、词性、命名实体识别、 句法分析、语义角色标注、语义依存分析六种自然语言处理工具。其中,分词、词性、命名实体比较常见,这里不过多介绍。语义角色标注是一种浅层语义分析技术,以句子为单位,分析句子的谓词-论元结构。该任务输入通常是句子和该句子的谓语(目前end-to-end的方法不需要给出),找出谓语和它对应的论元结构。语义角色标注的相关论文介绍可以看这里。 句法分析...原创 2021-11-30 21:36:52 · 984 阅读 · 1 评论 -
keybert:基于bert模型的关键词抽取工具
github:https://github.com/MaartenGr/KeyBERTguides:https://maartengr.github.io/KeyBERT/guides/quickstart.html使用向量计算抽取关键词,只需要预训练模型,不需要额外模型训练。流程:1.没有提供分词功能,英文是空格分词,中文输入需要分完词输入。2.选择候选词:默认使用CountVectorizer进行候选词选择。3. model:默认方式,候选词向量和句向量的距离排序。 mmr:...原创 2021-08-07 12:24:54 · 3654 阅读 · 0 评论 -
Tokenizer总结
Introduciton transformer类型的预训练模型层出不穷,其中的tokenizer方法作为一个非常重要的模块也出现了一些方法。本文对tokenizer方法做一些总结。参考来自hunggingface。 tokenizer在中文中叫做分词器,就是将句子分成一个个小的词块(token),生成一个词表,并通过模型学习到更好的表示。其中词表的大小和token的长短是很关键的因素,两者需要进行权衡,token太长,则它的表示也能更容易学习到,相应的词表也会变小;to...原创 2021-08-02 22:25:00 · 11174 阅读 · 0 评论 -
论文阅读 CLINE:Contrastive Learning with Semantic Negative Examples for Natural Language Understanding
文章来自清华大学和腾讯AI实验室,中文题目为自然语言理解的语义负样本对比学习。首先还是最近比较热的对比学习,重点关注在语义负样本的构建上。预训练模型虽然有很强的语义表征的能力,但是还是容易受到简单扰动的影响。最近的工作提高预训练模型鲁棒性的方法主要是对抗训练(使用经过扰动后的相近语义样本,而忽略了不同或者是相反样本)。nlp领域 文本的不连续性,使得局部个别字符变化可能造成语义的重大改变。文章经过实验发现,对抗学习对于语义变化情况无效甚至更差。 所以文...原创 2021-07-29 21:43:03 · 947 阅读 · 0 评论 -
使用huggingface 领域数据适配预训练
如果自己有一批数据,想要使用预训练模型再进行领域数据的适配,可以使用huggingface中的run_mlm.py进行训练。 最近在训练的时候遇到一个问题:训练的时候GPU占用上升导致out of memory。 详细问题描述:pytorch 使用 transoformers(version=4.8.2)中 run_mlm.py 进行垂直领域数据适配预训练的时候;GPU显存占用量慢慢上升,但是并不是一直在升,隔几百个step之后会有一个量(1G)的上升并稳...原创 2021-07-22 23:43:48 · 1152 阅读 · 1 评论 -
预训练模型语义相似性计算(五)--poly-encoder
bi-encoder(SBERT)和cross-encoder两种模型架构都有各自的优缺点,FAIR在ICLR2020上提出的这个poly-encoder的架构集成了两者的优点,并且避免了缺点。poly-encoder的架构图如下: poly-encoder的架构其实很简单,对contexr-query向量进行再一次编码生成m个向量表示,再与candidate-query进行attention计算得到最后的相似表示。bi-encoder在表示的缺点是两个query在经...原创 2021-06-27 12:27:22 · 1023 阅读 · 0 评论 -
预训练模型语义相似性计算(四)--SimCSE
接着之前的句向量表示模型进行相似句计算的方法,这篇接着介绍一种新的方法-SimCSE。文章来自普林斯顿陈丹琦,引入了对比学习的原创 2021-06-15 23:03:26 · 2659 阅读 · 0 评论 -
NLP中数据增强综述
目录摘要介绍背景 什么是数据增强 目标和权衡 DA的解释技术和方法 基于规则 基于插值 基于模型应用 小资源语言 性别偏见 类别不平衡 少样本学习 对抗样本任务 摘要 问答 序列标注 解析任务 语法纠错 机器翻译 数据-文本生成 开放域和有条件生成 对话 多模态任务挑...原创 2021-05-23 16:02:17 · 1616 阅读 · 0 评论 -
RuntimeError: Already borrowed
问题:之前写的SBERT模型接口部署上线后最近报了RuntimeError: Already borrowed的错误,在这里记录下。现象:具体的报错如下: File "/home/XXXX/XXX/src/sentence_proc.py", line 77, in compute_sentence_vectors sentences = self.tokenizer(sentences, padding='max_length', truncation=True, max_length=...原创 2021-05-11 21:02:34 · 2127 阅读 · 2 评论 -
会话语义角色标注:Conversational Semantic Role Labeling
摘要: SRL任务是捕捉句子中每个谓词的论元。传统的SRL不能分析对话,因为它只能分析单个句子,而省略和回指经常发生在会话中。目前的SRL都是句子级别的,文章提出会话SRL任务,论元可以是会话参与者,出现在当前句子或者会话历史中。介绍: 省略和回指是对话理解中的一个大问题。省略是前文的简略,回指则是避免重复前文的替代。SRL是很多自然语言理解工具包中的语义分析工具。但是传统的SRL只能处理单个句子,不能捕捉多轮会话任务中信息。解决上面问题的方法一般是在SRL前重...原创 2021-04-19 18:58:09 · 587 阅读 · 0 评论 -
通用的预训练模型:All NLP Tasks Are Generation Tasks: A General Pre-training Framework
最近在arxiv上又看到了一篇论文,出自清华大学。题目为:All NLP Tasks Are Generation Tasks: A General Pretraining Framework。0.摘要NLP任务分为分类或者说是阅读理解任务(NLU)、无条件生成任务、有条件生成任务;预训练模型分为自编码、自回归、编码解码。三种训练模型分别在前面三种任务中表现良好。本文中提出一个通用的预训练模型,在三种任务中都能做到良好表现。 ...原创 2021-03-26 19:44:44 · 1782 阅读 · 0 评论 -
生成又快又好的对话回复:An Emotion-controlled Dialog Response Generation Model with Dynamic Vocabulary
昨天在arXiv上看到更新的一篇论文,关于对话的生成,出自阿里巴巴团队。文章目的是通过情绪控制和动态词汇表生成又快又好的对话恢复。 直接上模型结构图: 文章由一下几个部分组成: 1,情绪匹配;通过对问题和回复之间的情绪映射信息对回复进行控制,用到的模型是2018年ACL的一篇分类模型(LEAM)的思想,在之前的博客中也有提到,是将标签信息融入文本分类中,将标签和输入词表映射到同一分布空间,之前也记录了一些利用标签信息...原创 2021-03-06 11:20:50 · 274 阅读 · 0 评论 -
预训练模型语义相似性计算(三)--simbert
最近有在做一个相似句的任务,使用的SetenceBERT模型,对模型进行了一些参数的调优和BERT-flow方向的实验测试。今天介绍的simbert是结合了检索和文本生成的模型,这个是在看文本增强时看到的方法,但是又是可以进行相似句计算的,所以想记录一下。 使用BERT模型进行文本增强的思路有两种:1.对输入进行MASK后,输入BERT后进行补全;2.生成方式。 MASK补全的方法在中文中有一个问题就是BERT是字符级别的,所以MASK的单位也是字符单位的...原创 2021-02-28 14:50:19 · 3719 阅读 · 0 评论 -
文本分类中标签的应用trick总结
最近看到一篇博文是讲AAAI2021的论文:Label Confusion Learning to Enhance Text Classification Models 利用标签之间的混淆关系,提升文本分类效果。文中讲到文本分类的主流方法是使用复杂的模型进行文本表示,而使用简单的分类层预测类别分布。更多的研究工作集中于第一步,这其中会有一些问题: 1. one-hot 的 label 表示假设标签之间是独立的,假设太强,忽略了标签之间的相互...原创 2021-02-23 22:11:42 · 558 阅读 · 0 评论 -
预训练模型语义相似性计算(二)--BERT-flow
SBERT的缺点和留下的疑问: 1.需要监督语料。 微调时间不久,但是对语料质量还是有要求的。 2.为什么bert句向量cosine不能用做相似性计算? i.没有学到语义相似性信息? ii.cosine无法刻画相似度?BERT-flow: 训练到的句向量应该是包含了语义相似性信息。因为训练目标和相似性计算目标是一致的。 所以原因应该是 ii.cosine不能很好刻画相似性。 ...原创 2021-02-22 22:18:46 · 1357 阅读 · 0 评论 -
预训练模型语义相似性计算(一)--SBERT
将预训练BERT迁移到文本语义相似性思路: 1.交互编码(cross-encoder)。文本拼接后进行微调。 缺点非常耗时; 2.向量空间模型 进行无监督训练,使用BERT模型的输出的cls向量,最后一层或几层的hidden state(avg),一般后者效果好。 效果不如glove 3.SBERT 使用孪生网络,加快推理。SBERT: 时间消耗:每个句子生成句向量+cosine的计算; 预训练模型的选择:BERT...原创 2021-02-22 21:20:39 · 2910 阅读 · 3 评论 -
SBERT实验详情
1.模型介绍a.预训练模型: Electra-small 在180G中文数据下pre-trainning模型; 使用Transformers加载"hfl/chinese-electra-180g-small-generator"语言模型。b.模型结构:A、B两个句子,分别过同一个Electra-small模型。 分别得到句向量表示,Seq_A_vector、Seq_B_vector。 两个向量进行拼接,[Seq_A_vector, Seq_B_vector],拼接成一个向...原创 2021-02-22 21:18:57 · 2674 阅读 · 1 评论 -
RNN,LSTM,GRU
RNNLSTM三个门(遗忘门,输入门,输出门),隐层h,记忆细胞cell。GRU两个门(重置门,更新门),隐层h。原创 2020-03-07 14:27:53 · 225 阅读 · 0 评论 -
预训练语言模型的一些笔记总结
ELMO全称为 embedding from language model,顾名思义从语言模型中获取词向量。之前的词向量方法的两个问题: 1.复杂的词特性,语法(pos任务)和语义(消歧)。 2.多义,不同上下文语境中词的语义不同。elmo方法:使用大语料训练一个预训练语言模型;语言模型作为一个函数,不同句子输入时,输出不同的词向量表示,可以解决多义问题。语...原创 2020-02-23 14:15:08 · 2314 阅读 · 0 评论 -
Transformer-based模型中的位置信息编码
华为推出的预训练模型nezha的其中一项创新点为使用了相对位置的函数式编码。于是本文对于Transformer相关的模型中对于字词的位置编码方式进行简单的总结。本文参考了https://zhuanlan.zhihu.com/p/92017824。 1.原生的transformer中使用的是绝对位置的函数式位置编码,使用的是正余弦函数。由于transformer中为...原创 2020-02-02 17:24:32 · 2819 阅读 · 0 评论 -
NLP阅读理解的经典数据集与模型
经典数据集介绍:https://www.imooc.com/article/24766数据集和模型的开发时间轴:(图片来自Chen Danqi博士论文,其中黑色为数据集,蓝色为模型)1.数据集CNN&Dailymail及模型Attentive Reader:《Teaching Machines to Read and Comprehend》介绍地址及论文地址:...原创 2019-08-11 13:22:37 · 952 阅读 · 0 评论 -
文本分类相关论文
2018年开始关注文本分类的一些论文,在这里做个小小的总结,记录一下。1.论文题目:Joint Embedding of Words and Labels for Text Classification机构:Duke University论文发表:ACL2018Github:https://github.com/guoyinwang/LEAM摘要:将标签label与输入文本word ...原创 2019-01-19 12:47:39 · 4763 阅读 · 4 评论 -
论文:learning to propagate labels :transductive propagation network for few-shot learning
论文题目:learning to propagate labels:transductive propagation network for few-shot learning论文发表:ICLR2019Github:github.com/csyanbin/TPN摘要:少样本学习的目标:在少量训练数据下(每个类别的样本很少),学习到一个有较强泛化能力的分类器。一种解决方式就是通过元学习(m...原创 2019-01-20 12:38:39 · 4963 阅读 · 0 评论 -
论文:Open-Category Classification by Adversarial Sample Generation
论文题目:Open-Category Classification by Adversarial Sample Generation论文发表:IJCAI2017Github:摘要:在真实的分类场景中,很难收集到一个任务存在的所有的类别标签样本。一个鲁棒的分类器在遇到一个没有见过标签的样本时应该能够分辨出来,而不是将它归类于现有的已知的类别中。这是开放类别分类(Open-Category...原创 2019-01-21 22:47:09 · 1014 阅读 · 0 评论 -
AAAI2019论文
最近关注了一下AAAI2019,看了accepted papers,选了一些感兴趣的论文,主要是自然语言处理方向文本分类的一些论文,有事没事看看,记录一下。Weighted Channel Dropout for Regularization of Deep Convolutional Neural NetworkHow Does Knowledge of the AUC Constra...原创 2019-03-13 21:37:39 · 10015 阅读 · 1 评论 -
NAACL2019论文
最近关注了一下NAACL2019,看了accepted papers,选了一些感兴趣的论文,有事没事看看,记录一下。A Variational Approach to Weakly Supervised Document-Level Multi-Aspect Sentiment Classification Abusive Language Detection with Graph...原创 2019-03-18 22:16:11 · 1629 阅读 · 0 评论 -
SRL论文:Jointly Predicting Predicates and Arguments in Neural Semantic Role Labeling
论文发表:ACL2018Github:https://github.com/luheng/lsgn论文研究对象: 文章研究的是nlp中的语义角色标注问题(srl)。语义角色标注常见方法是基于成分句法树或基于依存句法树,今天讲的是深度学习模型进行语义角色标注。srl模型可以分为end to end和gold predicates,即句子中的谓语需要模型进行预测和提前知道两种...原创 2019-05-16 23:04:09 · 1279 阅读 · 0 评论