![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
NLP
NLP专栏
BruceJust
这个作者很懒,什么都没留下…
展开
-
怎么拿到BERT任意层的embedding结果
本方法基于hugginface的transformers项目改造过程其实很简单,基于TFBertMainLayer下的call函数做了改造,如果直接用self.bert的输出其实就是CLS token 的结果。使用时同样可以使用from_pretrained来加载下载好的BERT模型参数,然后把输入的数据整理为input_ids, attention_mask,token_type_ids格式即可。使用tf.datasets也可。from transformers.modeling_t原创 2021-02-15 22:53:04 · 3276 阅读 · 1 评论 -
图解LSTM 结构逻辑
下图为LSTM的图结构,LSTM中通过3个门来控制信息传递,缓解RNN中长时间依赖导致的梯度爆炸或梯度弥散下面通过图解来介绍每一个门的逻辑原创 2020-05-17 23:33:01 · 951 阅读 · 0 评论 -
基于BERT fine-tuning的情感分类
近期在自己的数据集上尝试了BERT 的fine-tuning,效果不错,现在把自己的操作过程分享给大家。由于自己的数据不方便分享,我替换成了一份外卖情感分析,供大家使用。数据及完整代码:https://github.com/BruceJust/Sentiment-classification-by-BERT首先下载huggingface出品的transformers包,这...原创 2020-04-12 21:36:03 · 1436 阅读 · 2 评论 -
聊天机器人框架介绍
原创 2020-04-12 14:17:25 · 760 阅读 · 0 评论 -
隐马尔可夫模型最详细讲解 HMM(Hidden Markov Model)
最近有一个作业要手撸HMM,找了很多资料,这篇文章属写的最好的,故转载过来。另如果觉得文章看起来比较费力,还可以配合下面两个视频下饭。https://www.bilibili.com/video/BV1BW411P7gV 悉尼科大徐亦达https://www.bilibili.com/video/BV1MW41167Rf shuhuai大神如果是喜欢看书的,请参考李航老师《...转载 2020-04-10 21:45:24 · 27600 阅读 · 4 评论 -
从每一个计算细节了解 transformer
目前NLP领域最火的是各种各样的BERT。而BERT的核心则是更早出生的transformer。今天就来理一理transformers,下面是transformer的原论文。Attention is All You Need:https://arxiv.org/abs/1706.03762首先是为什么要有transformer,在这之前我们训练seq2seq任务大多使用的是LST...原创 2020-03-23 21:53:57 · 4906 阅读 · 1 评论 -
最通俗易懂的BiLSTM-CRF模型中的CRF层介绍
本文翻译自GitHub博客上的原创文章,结尾有原文链接。文章没有晦涩的数学公式,而是通过实例一步一步讲解CRF的实现过程,是入门CRF非常非常合适的资料。概述该文章系列包括以下内容:概念介绍 — 基于 BiLSTM-CRF模型中的命名实体识别任务中的CRF层解释 例子详解 — 用一个玩具的例子详细解释CRF是如何工作的 Chainer实现 — 用基于Chainer包的代码实现CRF...转载 2020-03-18 20:55:56 · 924 阅读 · 0 评论 -
tf.random.fixed_unigram_candidate_sampler进行负例采样
在不少任务中需要进行负例采样来降低训练难度,加速训练下面讲一下tensorflow中的负例采样函数sampled_ids, true_expected_count, sampled_expected_count = tf.random.fixed_unigram_candidate_sampler( true_classes = V, # 待采样真实数据,...原创 2020-03-17 22:50:22 · 992 阅读 · 1 评论 -
NLP 中消除padding对计算影响的技巧 mask
NLP的任务处理中,处理的通常是一句句话,每一句话的长度是不同的,这给训练带来了麻烦。特别是为了高效的GPU并行运算,数据大小的一致性就很重要了,除非batch_size设置为1。增加padding因此我们就需要把一堆句子的长度统一,通常是用最长的句子的长度为标准(也可以自定义),对短于这个长度的句子进行padding,长于的就截掉。keras中可以用proprecessing来出来d...原创 2020-03-14 18:33:31 · 5300 阅读 · 2 评论 -
各分词工具对比 jieba、pkuseg、thulac、nlpir、基于BI-LSTM+ CRF自训练
jieba 主要接口 cut https://github.com/fxsjy/jieba 默认精准切词,尽量保留长词 cut_all模式,在精准模式下增加一些短词 cut_for_search 切出尽量多的词用于搜索 特性 日常切词效果最好,比如三个字的动词一般会比较全,“打不开...原创 2020-03-09 17:31:10 · 1414 阅读 · 0 评论