|
架构模式是对给定上下文的软件架构中常见问题的一种通用的可复用的解决方案。
一种模式就是特定上下文的问题的一种解决方案。
然而,很多开发者至今还对各种软件架构模式之间的差别搞不清,甚至对其所知甚少。
大体上,主要有下面这几种架构模式:
-
分层架构
-
管道 - 过滤器架构
-
客户端 - 服务器架构
-
模型 - 视图 - 控制器架构
-
事件驱动架构
-
微服务架构
1. 分层架构模式
最常见的架构模式就是分层架构或者称为 n 层架构。
大部分软件架构师、设计师和开发者都对这个架构模式非常熟悉。尽管对于层的数量和类型没有具体限制,但大部分分层架构主要由四层组成:展现层、业务层、持久层和数据库层,如下图所示。
ntoNotes(Hovy等,2006)是最常用得标准验证数据集,同时F1分数用来衡量模型在共指消解中的准确性(Tenney等。2019)。由于OntoNotes仅表示一种数据分布,因此我们还使用WinoGender基准测试,该基准提供了一些其他数据,通过该基准可以判别性别和职业何时会产生错误的共指消解。WinoGender的得分较高(接近1),表明模型基于性别与职业间的关联(如将护士与女性而不是男性关联)进行决策;当性别和职业之间没有一致的关联时(得分为零),此时模型决策基于句子结构或语义等其他信息。
在过去的几年中,自然语言处理(NLP)取得了长足的进步,诸如BERT,ALBERT,ELECTRA和XLNet等预训练语言模型在各种任务中均取得较高的准确性。预训练语言模型以Wikipedia这样的大型文本语料库为训练集,通过遮掩一些单词并对它们进行预测来学习嵌入表示,即遮掩语言建模。实验结果表明,通过这样的方式,可以对不同概念(如外科医生和手术刀)间的丰富语义信息进行编码。训练完成后,经过微调就可使模型适用特定任务的训练数据,通过预训练嵌入实现分类等特定任务。鉴于这样的预训练表示在不同NLP任务中得到广泛采用,作为从业者,我们需要了解预训练模型如何对信息编码以及学习到怎样的相关性,这些又会怎样影响下游应用性能,这样才不至于偏离我们的AI原则。
在“Measuring and Reducing Gendered Correlations in Pre-trained Models”,我们对BERT及精简版的ALBERT进行实例研究,讨论了性别相关性,并为预训练语言模型的实践应用提供参考。我们在学术任务数据集进行实验,并将结果与一些常用模型做了对比,以验证模型实用性,并为进一步的研究提供参考。我们后续会发布一系列checkpoints,从而可以在保持NLP任务准确性的情况下减少性别相关性。
相关性衡量
为了解预训练表征中的相关性如何影响下游任务,可以使用多种评估指标来研究性别表征。在这里,我们采用共指消解讨论测试结果,该方法旨在使模型能够理解句子中给定代词的正确先行词, 例图示句子中,模型要识别出他指护士而不是患者。

(编辑:甘孜站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|