调研
文章平均质量分 78
weixin_42001089
算法让生活更美好
展开
-
在线ner识别
前言日常工作中,我们有时候需要识别出一些常见的实体用以后续过滤等目的,如时间地点公司等常见实体,本文介绍两种。pyltp这是哈工大一个nlp分析包,具有类似jieba的分句、分词、词性标注、实体识别、情感等等github:https://github.com/HIT-SCIR/ltp首先pip 安装一下,如果不能安装,笔者也准备好了whl,可以直接下载https://download.csdn.net/download/weixin_42001089/11192863?spm=100原创 2021-03-11 12:00:23 · 972 阅读 · 0 评论 -
下载使用预训练模型资源
我们经常需要使用一些预训练模型来进行下游任务,大家可以关注如下开源项目Hugging Face 上面开源提供了基于通用架构(如 BERT,GPT-2,RoBERTa)的数千个预训练模型,并提供了 PyTorch 和 TensorFlow 的良好互操作性。下载的时候如果较慢,可以使用清华镜像https://mirrors.tuna.tsinghua.edu.cn/help/hugging-face-models/实际项目中,可能我们更多时候需要中文预训练模型:https://zhuan原创 2021-03-07 09:13:40 · 937 阅读 · 1 评论 -
Transformer的变体
前言:transformer 变种千千万,每一次的改变都是一篇paper,大家的出发点基本都是从效率和速度考虑的,一起看看吧,笔者也是基于https://mp.weixin.qq.com/s/iuuRS_M3cYm0DXFkZGjjBg简单总结,高度概括一下核心思想以及一下延伸,细节的话可以直接看上述博客或者具体paper,已经非常详细了,下面部分话和图出自上述博客总体图:Transformer-XL...原创 2021-03-06 19:11:26 · 2252 阅读 · 0 评论 -
NLP中的Tokenization
前言当前最火的预训练模型大放异彩,但是在进行输入模型前,我们都需要将纯文本数学化,比如bert的tokenization,它就是将文本分割成token,然后量化成id。今天就来说说tokenization,目前关于这方面的研究已经有很多了,本质上其主要目标就是在于如何获得理想的切分,使文本中所有的token都具有正确的表义,并且不会存在OOV问题。关于该方面博客也发现一篇比较好的文章https://zhuanlan.zhihu.com/p/340473354...原创 2021-03-06 16:04:01 · 2527 阅读 · 0 评论 -
标签分布学习
目录前言传统的方法论文方法总结前言一般来说我们的标签数据都是硬标签,非0即1,如one-hot或multi-one-hot,但是一些软标签有时候更具有意义,含有的信息也越丰富,即标签分布如【0.1,0.2,0.7】而不是【0,0,1】,那么该如何学习得到这样的标签分布呢?有一篇论文对此进行了讨论和研究Label Enhancement for Label Distribution Learning这是发表在IJCAI-18的一篇,即标签增强技术,已有中文解读https原创 2021-02-23 11:04:29 · 4150 阅读 · 0 评论 -
LDA困惑度
用perplexity去看主题个数,代码供参考import reimport mathimport jsonimport randomimport requestsimport pandas as pdfrom gensim import corpora, modelsimport jieba.posseg as jp, jiebafrom gensim import corpora, modelsimport matplotlib.pyplot as pltfrom tqdm i原创 2021-02-22 15:46:17 · 1802 阅读 · 4 评论 -
半监督之伪标签法
前言半监督学习一般有两个方法一致性正则和打伪标签法即 consistency regularization 和 pseudo-label, 其中一致性正则主要是基于数据增强的一致性正则,目前比较成熟,关于数据增强笔者也总结过一篇博客即《半监督之数据增强》: https://blog.csdn.net/weixin_42001089/article/details/113307918今天来看看打伪标签法,这个其实原理很简单,就是先用少量的有标签数据训练一个基础模型,然后用其对大量无监督数据进行预测原创 2021-02-22 08:54:01 · 7546 阅读 · 1 评论 -
自适应决策边界分类
前言有的时候,我们有一个任务是m分类,但是呢并不是所有的样本一定属于这m类中的每一类,我们暂且把这部分样本称为噪声吧,所以我们的任务就是不但要对该样本进行正确分类,且当它是噪声的时候我们还要检验出来,怎么做呢,一般是有两种想法:(1)设定概率阈值,将最大分类置信度低于阈值的样本看作噪声;(2)结合m类样本几何特征通过决策边界或者分布密度将噪声分离出来。今天偶然刷到一篇论文就是基于第(2)种思路来进行的《Deep Open Intent Classification with Adaptive原创 2021-02-14 18:52:29 · 3555 阅读 · 0 评论 -
文本半监督聚类
前言聚类很常见了,很多场景下都需要聚类,笔者当前遇到一个问题是实体消歧,实体是一个个小短句,没有标注没有任何先验知识,想到的就是通过聚类将一些相似实体聚在一起达到目的。当前聚类有两大种,比如需要提前定义簇中心个数的,以Kmeans最为大家熟知,原理简单有效。还有一种是不需要提前定义簇中心个数的,比如流式聚类。一般情况下,簇中心个数是很难知道的,所以可以选流式聚类等等,但今天要说说收录在AAAI 2021的一篇论文《Discovering New Intents with Deep Aligned C原创 2021-02-14 18:01:10 · 1518 阅读 · 0 评论 -
无监督分类
目录前言:标签名称替换类别预测自训练总结前言:在训练模型的时候,比如分类任务等等,都需要有标签数据进行监督学习,即使是要少量的标签数据,也可采用半监督的方式来提高模型的泛化性,关于一些最新的半监督学习可以参看笔者另一篇博客:《半监督小样本数据学习》:https://blog.csdn.net/weixin_42001089/article/details/113307918但是今天要分享的这篇论文是EMNLP20论文《Text Classification Usin.原创 2021-02-06 22:32:07 · 3552 阅读 · 1 评论 -
多模态预训练模型
前言自从2018年Bert预训练模型大方异彩之后,预训练模型可以说百花齐放,关于预训练模型领域的一些总体概括,可以参考笔者另一篇博客<预训练模型的那些方向和研究成果>:https://blog.csdn.net/weixin_42001089/article/details/113267764之前都是单独处理文本数据,但随着场景和业务的驱动,输入数据变成了多种形式,如图像+语言,今天就大体来说说目前该分支的一些发展成果或者方法,主要是对百度自然语言处理部高级研发工程师唐尼老师的一个论原创 2021-01-29 20:44:57 · 4612 阅读 · 1 评论 -
半监督之数据增强
前言有许多场景,我们只有少量样本,而训练网络模型时是需要吃大量数据的,一种方法就是迁移学习,比如预训练模型等方法,但是这里我们从另外一个角度来看看,那就是数据增强,关于数据增强方法已有很多,这里说说一些常见的方法,尤其是最新的(当前时间是2021.1.28)一些方法。传统常见的比如对于文本数据来说,最容易的就是shuffle, drop, 同义词替换,回译,随机插入,等等,这些都是一些最基本的方法,依据token 在本身上面做些扰动改变来数据增加,更多的可以看一下nlpcda这个python包原创 2021-01-28 09:51:40 · 5042 阅读 · 1 评论 -
预训练模型的那些方向和研究成果
前言自2018年底,bert横空出世以来,预训练模型大放光彩,各种变种层出不穷,研究的方向也多种多样,这里大体总结一下目前预训练模型的一些东西数据集关于数据集,那就是要大!!!例如百度的ERNIE2.0达到了700G,谷歌最新的T5也有700G,这些语料...原创 2021-01-28 13:11:06 · 1487 阅读 · 1 评论 -
测试集没有标签怎么评价?
背景:很多时候当我们需要评价一个模型的性能时,是通过看其在测试集上面的一些评价指标如precision、recall等等,但是这需要一个大前提,那就是测试集得有标签,如果没有标签就无法进行计算,实际场景中很多测试数据集都是没有标签的。为此最粗暴的就是人工打标,这个最好了,但是当测试集很大或者很多,那标起来成本就很高,为此怎么办?接下来就聊一聊一些已有的解决办法,供借鉴。activate learning即主动学习,既然人打标成本太高,那就让程序打标,他的主要思路如下:先人工打标一批少量的原创 2021-01-25 20:30:12 · 6028 阅读 · 0 评论 -
bert蒸馏
交互/表示模型交互模型: 两句话拼接成一句话,缺点就是长度弄不了太长,线上性能也压力大,优点就是两句话交互编码更加充分表示模型:两句话分别进bert模型,所以是双塔模型,优点就是单句长度可以更长,线上也可以做到更好,因为其中一个bert边的向量可以保存,用的时候直接取。缺点就是两句话交互性其实比较弱,都是单独编码,只在最后一层取两个向量计算相似性。一个可以稍微缓解这种交互性的方案就是Poly-encoder,比如两个Bert最后输出的hidden_size是768,那么可以将其分成12个头head,原创 2020-11-21 11:47:34 · 613 阅读 · 2 评论 -
日常论文分享---持续更新中
日常充电是必须的,每天进步一点点,下面是从日常关注的博主啦公众号啦看过的一些论文,分享分享!!(1) Self-training Improves Pre-training for Natural Language Understanding原文:https://arxiv.org/pdf/2010.02194.pdf更详细的解析:https://zhuanlan.zhihu.com/p/268770394?utm_source=wechat_session&utm_medium=soc原创 2020-10-29 11:08:10 · 1729 阅读 · 0 评论