ronghuaiyang · 2020年05月25日

用Siamese和Dual BERT来做多源文本分类

作者:Marco Cerliani

编译:ronghuaiyang

首发:AI公园公众号

导读

使用不同的方式来使用BERT模型。

image.png

在NLP中不断的研究产生了各种各样的预训练模型。对于各种任务,例如文本分类、无监督主题建模和问题回答等,不断的在刷新业界最佳。其中,最伟大的发现之一是在神经网络结构中采用了注意力机制。这种技术是所有称为transformers的网络的基础。他们应用注意力机制来提取关于给定单词上下文的信息,然后将其编码到一个学习到的向量中。

作为数据科学家,我们可以调用很多transformers架构,并使用它们对我们的任务进行预测或微调。在这篇文章中,我们喜欢读经典的BERT,但是同样的推理也适用于其他所有的transformer结构。我们使用了siamese结构,这是一个双路BERT,用于多文本输入的分类。

数据

我们从Kaggle上收集数据集。新闻类别数据集:https://www.kaggle.com/rmisra...。我们需要根据两种不同的文本来源对新闻文章进行分类:标题和简介。我们总共有40多种不同类型的新闻。为了简单起见,考虑到工作流的计算时间,我们只使用了8个类的一个子组。

我们不应用任何预处理和数据清洗,我们让BERT表演所有的魔法。我们的工作框架是TensorflowHuggingface的transformer库。更详细地说,我们使用了原始的Bert模型transformer,它的输出就是原始的隐藏状态,没有任何特定的头。它可以像Tensorflow模型的子类一样访问,并且可以很容易地在我们的网络架构中进行调优。

单个BERT

作为第一个竞争者,我们引入了单个BERT的结构。它只接收一个文本输入,这是两个文本源拼接的结果。这是正常操作:任何模型都可以接收拼接起来的特征作为输入。对于transformers,这个过程将输入与特殊tokens结合起来。

BERT期望输入数据以特定的格式:有特殊的tokens来标记句子/源文本的开头([CLS])和结尾([SEP])。与此同时,tokenization包括将输入文本拆分为词汇表中可用的tokens列表。对词汇表外的单词进行word-piece的处理,一个单词被逐步分解为子单词,这些子单词是词汇表的一部分。该过程可以通过预先训练好的Huggingface的Tokenizer轻松实现,我们只需要注意填充。

我们最后从源文本的输入中得到了三个矩阵(标记、掩码、序列id)。它们是我们的transformers的输入。在单个BERT的情况下,我们只有一个矩阵的元组。这是因为我们同时将两个文本序列传递给我们的tokenizer,这两个文本序列被自动拼接起来(使用[SEP] token)。

我们的模型结构非常简单:transformer直接与我们在上面构建的矩阵相连接。最后,通过平均池操作减少了transformer的最终隐藏状态。概率分数是由最终的dense层计算出来的。

image.png

我们的简单BERT对测试数据的准确率达到83%。性能报告在下面的混淆矩阵中。

image.png

双路BERT

=========

我们的第二个结构可以定义为双路BERT,因为它使用了两个不同的transformers。他们有相同的组成,但训练用不同的输入。第一个接收新闻标题,另一个接收简介。输入被编码为两个矩阵元组(token, mask, sequence ids),每个输入一个。对于两个数据源,我们的transformers的最终隐藏状态都使用平均池来聚合。它们被拼接起来,并通过一个全连接层传递。

image.png

通过这些设置,我们可以获得测试数据84%的准确度。

image.png

SIAMESE BERT

===============

我们最后的模型是一种Siamese的结构。可以这样定义它,因为两个不同的数据源是在同一个可训练的transformer结构中同时传递的。输入矩阵与Siamese BERT的情况相同。对于这两个数据源,transformer的最终隐藏状态是通过平均操作聚合的。产生的连接在一个全连接层中传递,该层将它们组合在一起并产生概率。

image.png

我们的siamese结构在我们的测试数据上达到82%的准确度。

image.png

总结

=====

在这篇文章中,我们应用BERT结构来执行一个多类分类任务。我们实验的附加价值是使用transformers 以不同的方式处理多个输入源。我们从只有一个源中的所有输入的经典拼接结构开始,并以为模型提供分开的文本输入作为结束。双路BERT和siamese BERT都能够实现良好的性能。由于这个原因,它们可以被认为是经典的单变压器结构的良好替代品。

—END—

英文原文:https://towardsdatascience.co...

推荐阅读


关注图像处理,自然语言处理,机器学习等人工智能领域,请点击关注AI公园专栏
欢迎关注微信公众号
AI公园 公众号二维码.jfif
推荐阅读
关注数
8244
内容数
210
关注图像处理,NLP,机器学习等人工智能领域
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息