shaoheshaohe 发表于 2020-3-10 10:32:25

NLP-Bert介绍与文本分类

本帖最后由 shaoheshaohe 于 2020-3-10 14:22 编辑


第1天
知识精讲:Bert(双向语言理解模型)1. RNN Encoder-Decoder模型2. 普通注意力机制3. multi-headed注意力机制4. Transformer结构5. Bert模型原理介绍
项目实战:基于Bert的文本分类6. 文本语料收集与处理7. bert算法实现8. 基于bert的文本分类实战9. 不同模型效果对比


https://mp.weixin.qq.com/s/FTazXDQgn_ltXGunAs0NoQ

对语义检索任务的最新研究表明,像BERT这样的预训练语言模型具有令人印象深刻的重排序性能。在重排序过程中,将使用(查询,文档)对来提供经过微调的语言模型,并且整个时间复杂度与查询大小和召回集大小均成正比。在本文中,我们基于置信度得分描述了一种简单而有效的提前停止策略。在我们的实验中,这种策略可以避免多达30%的不必要的推理计算成本,而不会牺牲太多的排名精度。
代码:https://github.com/chengsyuan/WSDM-Adhoc-Document-Retrieval
「Our team dlutycx ranked first on the unleak track.」方案我们的方案主要分为三个主要阶段:
[*]数据清洗:数据丢失的文档将被删除,与此任务无关的文本也将被删除。
[*]召回阶段:通过无监督方式(例如BM25或文档嵌入相似性)从整个候选文档数据库中检索设置给定问题的候选集。
[*]排序阶段:这些文档中的每一个都通过一种计算精准度更高的方法进行评分和排名。
数据清洗在清理步骤中,我们仅删除丢失的数据。然后,我们清除与主题不直接相关的文本。具体而言,我们删除引文中每个句子不包含("「##」").召回阶段在召回步骤中,我们使用Okapi BM25来衡量查询和文档之间的词汇相似度。计算公式如下:在验证集上进行几次实验后,我们设置和。排序阶段在重排序步骤中,我们使用预先训练的BioBERT获得相似性评分。然后,采用交叉熵损失来微调BioBERT:image其中是相关段落的索引集,是使用BM25检索的前20个文档中不相关段落的索引集。为了平衡正负比率,我们对正文档19x进行了过度采样。对BioBERT进行微调后,在重新排序时,我们将此模型用作固定评分器。在以下算法中,我们描述了广泛使用的常规重排策略:如算法1所示,常规重排序策略是简单地遍历召回集中的每个文档。正如我们在图2中可以看到的,真实文档不是均匀分布的。它们聚集在最高位置。为了解决这个问题,我们设计了一种早期停止策略。如算法2所示,当重新排名(经过微调的BERT模型)显示高置信度时,我们可以认为此文档是最相关的文档。如图3所示,最高分的分布与图2不同。如果在重排序过程中采用算法2,则如果不相关的文件的得分大于正数,则我们可能会误将不相关的文件检索为正确文件。误报文件高于阈值。为了缓解这种问题,我们提出了一种自适应的提前停止重新排序策略,如算法3所示。我们相信基于经验的批处理大小
页: [1]
查看完整版本: NLP-Bert介绍与文本分类