自然语言处理
火云明月
计算机知识爱好者,学习计算机专业
展开
-
BERT中的WordPiece实现了什么功能?为什么要这么做?
WordPiece实现了将单词拆分为subword的功能。比如"loves"、“loved”、“loving”这三个单词。其本身的语义都是"爱",但是如果以单词为单位,那这些单词就是不同的词。WordPiece算法可以把这3个单词拆分为“lov”,“ed”,"#ing","#es"几部分,这些单词都有相同的部分"lov",这样可以把词的本身的意思和前缀、后缀分开,使得最终的词表变得精简。为什么要这门做?因为按照传统方式进行分词,由于单词存在时态、单复数等多种变化会导致词表非常大,影响训练速度,并且即使一个原创 2021-03-31 17:47:24 · 2160 阅读 · 4 评论 -
RoBERTa相比BERT的改进
继BERT、XLNet之后,Facebook提出的RoBERTa(a Robustly Optimized BERT Pretraining Approach)。本篇文章主要总结下RoBERTa相比于BERT的改进。RoBERTa在模型结构层面没有改变,改变的只是预训练的方法,具体是以下三点。1.动态maskRoBERTa把预训练的数据复制10份,每一份都随机选择15%的Tokens进行mask,也就是说,同样的一句话有10种不同的mask方式。然后每份数据都训练N/10个epoch。这就相当于在这N原创 2021-03-31 15:57:45 · 2347 阅读 · 0 评论 -
预训练方法中基于特征的方法和基于微调的方法本质区别在哪里?
基于特征的方法是将BERT作为一个编码器,将输入的文本处理为特征向量。特征向量作为下游任务的输入,在训练过程中只针对后面的分类模型,BERT的输出仅仅是作为分类模型的输入特征。特征提取是使用训练好的模型对新的数据生成特征向量,让后将特征作为task-specific模型的输入,训练新的task-specific模型参数。基于微调的方法是在已经训练好的结构上,在当前任务的数据上进行训练,对部分网络层进行微调,让模型更加适合当前任务。微调方法能充分利用深度学习神经网络强大的泛化能力,避免了设计新的模型,无原创 2021-03-10 15:29:00 · 1314 阅读 · 0 评论 -
自然语言处理领域的数据增广方法
1.摘要本文介绍自然语言处理领域的数据增广方法。数据增广(Data Augmentation,也有人将Data Augmentation翻译为“数据增强”,然而“数据增强”有将数据进行强化之意,而不仅是数量扩充。因此我们将其翻译为“数据增广”,单纯表示扩大数据规模。)是自动扩充训练数据的一种技术。如今深度学习取得了令人瞩目的成功,但是深度学习模型需要有大量的标注数据进行支撑。真实应用情景中,经常会出现缺乏标注数据、数据分布不均衡导致模型鲁棒性差、模型性能不佳的问题,而数据增广能在一定程度上解决这些问题。转载 2021-03-09 19:49:27 · 2395 阅读 · 2 评论 -
事件抽取任务介绍和数据
任务说明事件事件抽取是舆情监控领域和金融领域的重要任务之一,“事件”在金融领域是投资分析,资产管理的重要决策参考。事件是知识图谱的重要组成部分,事件抽取是进行图谱推理,事件分析的必要过程。事件抽取事件抽取的挑战体现在文本的复杂和任务的复杂。文本的复杂常常体现在事件抽取的输入可能是句子、段落或者篇章,不定长度的文本使得限制文本长度的模型无法使用。任务的复杂体现在事件识别的任务包括:事件类型识别,事件主体抽取和事件要素抽取事件类型一般有:财务造假、偿付能力不足、高层失联/去世、企业破产、重原创 2021-03-09 15:35:00 · 406 阅读 · 0 评论 -
BERT可以增加哪些预训练任务?
BERT基于NSP和MLM两个任务进行预训练,如果对BERT进行改进,一个可行的方向就是增加更多的预训练任务,那么除了这两个任务之外,还可以增加哪些预训练任务呢?可以增加的预训练任务有一个前提,就是这些任务的训练数据要能从无监督的数据中获取,这样才能获取到海量的数据,符合这一要求的任务可以进行尝试。提供一些预训练任务的思路:1.Capitalization Prediction Task预测单词是否大写。与其他词语相比,大写词语通常具有特定的语义价值。2.Token-Document Rela.原创 2021-03-09 13:31:09 · 1093 阅读 · 0 评论 -
Glove、word2vec和fastText的比较
Glove和word2vec的不同点Glove和word2vec的相同点word2vec和fastText的不同点1.输入fastText输入的是整个句子的n-gram特征(one-hot形式),比word2ve多考虑了subword的向量训练。word2vec的输入有两种。如果是CBOW算法,输入的是中心词周围的单词。如果是Skip-gram算法,输入的是一个单词。2.输出两者输出的内容本质上没有差别,都是类别标签的概率分布。fastText的输出的实际含义为文本类别的概率分布,word2v原创 2020-10-20 16:57:36 · 737 阅读 · 0 评论