智言科技刷新常识问答数据集记录:ALBERT技术解决方案解读

以常识性问答为应用是 NLP 最重要的前进方向之一,其目的是帮助计算机通过已有的知识来推理判断未见过的输入信息,从而使计算机更自然得理解人的意思。

近日,智言科技AI团队刷新CommonsenseQA数据集世界纪录,位列榜单第一。本文介绍来了该团队的解决方案。

CommonsenseQA 任务排名结果:https://www.tau-nlp.org/csqa-leaderboard

长期以来机器常识或机器对开放世界的理解和推理能力一直被认为是自然语言理解的重要组成部分。而机器推理,其目的是使用已有的知识和推断技术对未见过的输入信息作出判断。常识问答是机器推理上的一个重要的应用方向。

当前对机器而言,如何基于常识和背景知识进行推理以获得答案仍旧是一个巨大的挑战。人们在回答问题时,除了特定的上下文外,还经常利用其丰富的世界知识。最近的研究工作主要集中在回答一些给定相关文件或上下文的问题,并且只需要很少的一般背景。

为了调查具有先验知识的问答,Talmor等提出了CommonsenseQA:常识性问答的一个富有挑战性的新数据集。为了捕捉关联之外的常识,Talmor等从ConceptNet(Speer等人,2017)中提取了多个目标概念,这些目标概念与单个源概念具有相同的语义关系。要求人群工作者提出多项选择题,提及源概念,并在每个目标概念之间进行区分。这鼓励工作人员创建具有复杂语义的问题,这些问题通常需要先验知识。通过此过程,Talmor等创建了12,247个问题,并通过大量可靠的基准模型演示了任务的难度。最佳基准模型是基于BERT-large(Devlin等人,2018),并获得56%的准确度,远低于人类的89%的准确度。

数据与任务

  CommonsenseQA是一个新的多项选择题回答数据集,需要不同类型的常识知识才能预测正确的答案。它包含12247个问题,其中一个正确答案和四个干扰因素答案。数据集分为两个主要的训练/验证/测试集。

数据下载地址:

https://s3.amazonaws.com/commensenseqa/train_rand_split.jsonl

https://s3.amazonaws.com/commensenseqa/dev_rand_split.jsonl

https://s3.amazonaws.com/commensenseqa/dev_rand_split.jsonl

训练集:训练数据是以json格式给出。主要字段是标识符(id),答案选项(answerKey),问题或题干(stem),问题选项(choices)

测试集:测试数据也是以json格式给出。主要字段是标识符(id)问题或题干(stem),问题选项(choices)

评价指标:给出题干和多项候选答案,要求预测正确答案的准确率(Accuracy)。

实验方案

1.Baseline

我们选择BERT作为baseline。关于模型输入格式,我们原先采取<cls>Q:question<sep>choice1....<sep>choice5,即问题和对应五个答案拼接的单句模式,实验效果不是很好,后来换用Multiple-Choice的输入格式。例如question_tokens = 'Q: ' + question,choice_tokens = 'A: ' + choice,每个选项是都是问题和答案的拼接形式,具体如下图所示:

图一:基于BERT的Baseline模型

先利用BERT计算问题与五个候选答案的语义关联程度,然后再用softmax层归一化得到各个答案的相应概率。

我们的实验结果如下所示:

图二:BERT实验结果

通过实验结果我们可以看出相对于随机结果20%,BERT无疑效果好很多,但是,相对于人类水平88.9%,差距还是非常大的。BERT通过MLM预训练目标得到上下文相关的双向特征表示,但是,一是同时也引入噪声[MASK],训练过程大量看到[mask]标记,而在微调阶段模型并不会看到[MASK]标记。这就造成了预训练-精调两阶段之间的差异。后面虽然做了改进,但问题依然存在。二是没有考虑预测[MASK]之间的相关性,是对语言模型联合概率的有偏估计。

CommonsenseQA任务的关键是让模型学到更多的先验知识,这样在一些给定相关文件或上下文的问题(只需要很少的背景知识)上,模型获得的先验知识越多,给出正确预测答案的概率越大。

其实,预训练本质上是通过设计好一个网络结构来做语言模型任务,然后把大量甚至是无穷尽的无标注的自然语言文本利用起来,预训练任务把大量语言学知识抽取出来编码到网络结构中,当手头任务带有标注信息的数据有限时,这些先验的语言学特征当然会对手头任务有极大的特征补充作用,因为当数据有限的时候,很多语言学现象是覆盖不到的,泛化能力就弱,集成尽量通用的语言学知识自然会加强模型的泛化能力。[3]

所以,针对CommonsenseQA任务主要有两大改进方向,一是采用更强大,引用更多高质量、大规模数据集训练的预训练模型--xlnet、roberta、albert等。越强大的预训练语言模型特征抽取能力越强,能更好的引入大量无监督数据中包含的语言学知识,其推理能力也就越强大。二是引入外部知识。针对常识问答在问题中只给定很少的背景知识,而预训练模型本身蕴含的知识不足以让模型“推理”出正确答案,于是,引入跟答案或者问题关联的外部知识就成了关键。

这可以为预训练模型提供很好的特征补充,增强模型的推理能力。

接下来,我们依次介绍xlnet,roberta,albert。

XLNET

XLNet是一种广义自回归语言模型,它很好地结合了自回归语言模型和自编码语言模型的优点,在不引入噪声的同时又能获得上下文相关的双向特征表示。

XLNET相比BERT,它解决了BERT的两个缺点:预测目标独立性假设、预训练阶段和微调阶段不一致。另外,xlnet加大增加了预训练阶段使用的数据规模;Bert使用的预训练数据是BooksCorpus和英文Wiki数据,大小13G。XLNet除了使用这些数据外,另外引入了Giga5,ClueWeb以及Common Crawl数据,并排掉了其中的一些低质量数据,大小分别是16G,19G和78G, 这样加起来一共126G。可以看出,XLNet在预训练阶段极大扩充了数据规模,并对质量进行了筛选过滤。

我们将xlnet应用于CommonsenseQA任务。模型输入格式、架构与BERT一致。

实验结果如下:

图四:XLNET实验结果

XLNet-Large 与 BERT-Large 拥有相同的结构参数,模型规模相当。实验结果比BERTLarge(0.6225)高出约13个百分点。这说明改进后的xlnet预训练模型能得到更好的上下文相关的双向特征表示,使用更大规模的高质量数据能让模型学到更多的先验知识,因而拥有更强的推理能力。

RoBERTa

RoBERTa 模型是BERT的改进版(A Robustly Optimized BERT,即强力优化的BERT方法)。作者发现BERT训练并不充分,于是在BERT基础上主要做了四点优化:(1)在更多数据上以更大的批次训练模型更长的时间;(2)删除下一句预测目标;(3)使用更长序列训练;(4)使用动态mask。[4] 在GLUE、SQuAD和RACE取得了SOTA的结果。

将RoBERTa应用于CommonsenseQA任务。模型输入格式、架构与前面一致。实验结果如下:

图五:RoBERTa实验结果

RoBERTaLarge的实验结果0.7740比XLNet-Large(0.7494)高出约2.5个百分点。在微调实验中,BERTLarge,RoBERTaLarge, XLNETLarge都采用一样的网格参数:L = 24,H = 1024,A = 16,参数总量大概3.55亿。在训练数据上,Bert使用的预训练数据是BooksCorpus和英文Wiki数据(13G)。XLNet使用 BooksCorpus 和英文Wiki数据(13G)、Giga5(16G)、ClueWeb 2012-B(19G) 、Common Crawl(78G)语料库,一共126G。RoBERTa 采用 160G训练文本,包括BooksCorpus 和英文Wiki数据(13G)、CC-NEWS(76G)、OPENWEBTEXT(38G)、

STORIES(31G)。然后我们对比下三个实验的结果:

图六:BERT、XLNET、RoBERTa实验对比

再对三个预训练模型做个总结。XLNet通过引入permutation language modeling,解决了BERT预训练阶段和微调阶段差异性,消除了BERT的预测目标独立性假设,同时数据规模扩充到了126G。RoBERTa在BERT基础上主要做了四点改进:使用动态mask;移除NSP任务;更大的batch size;更长的输入序列。同时,它使用了更大规模的数据集(160G)。这或许证明不了这三个模型的内部机制谁更为优秀,但至少证明了一点:引入更大规模,更高质量的数据集能更好的提升模型表现。

毕竟,本质上预训练是通过设计好一个网络结构来做语言模型任务,然后把大量甚至是无穷尽的无标注的自然语言文本利用起来,预训练任务把大量语言学知识抽取出来编码到网络结构中。这样,引入的数据集规模越大,质量越高,模型学到的先验的语言学特征越多,集成更多的通用的语言学知识,模型的泛化能力也就越强。[3]

在CommonsenseQA任务上,目前由于并没有引入外部数据,并且需要正确预测只需要很少背景知识的问答,所以预训练模型本身蕴含的知识就成了关键。相比之下,RoBERTa引用了最大规模、更高质量的数据集(160G),故而目前效果最好。

ALBERT 

通常而言,在预训练自然语言表征时增加模型大小可以提升模型在下游任务中的性能。但在某些情况下,由于 GPU/TPU 内存限制、训练时间延长以及意外的模型退化等原因,进一步增加模型大小的难度也随之增加。为了解决这些问题,

谷歌提出了ALBERT(A Lite BERT),通过两种参数精简技术来降低内存消耗,提高BERT的训练速度。[5]

ALBERT主要有三点改进:

  1. Factorized Embedding Parameterization研究者通过将大的词汇嵌入矩阵分解为两个小的矩阵,从而将隐藏层的大小与词汇嵌入的大小分离开来。这种分隔使得在不显着增加词汇表嵌入参数大小的情况下更容易增加隐藏层的大小。
  2. Cross-layer Parameter Sharing。研究者共享了所有层的参数,这一技术可以避免参数量随着网络深度的增加而增加。
  3. 为了进一步提升 ALBERT 的性能,研究者还引入了一个自监督损失函数,用于句子级别的预测(SOP)。SOP 主要聚焦于句间连贯,用于解决原版 BERT 中下一句预测(NSP)损失低效的问题。

我们将ALBERT应用于CommonsenseQA任务。还是以前的输入格式和模型架构。

1.拼接ALBERT最后四层输出

BERT的不同层编码非常不同的信息,因此适当的池化策略将根据应用的不同而改变,因为不同的层池化编码不同的信息。BERT的作者通过将不同的向量组合作为输入特征输入到一个用于命名实体识别任务的BiLSTM中,并观察得到的相应的F1分数。如下所示:

可以看出,最好的效果是拼接最后四层的隐藏层向量。

ALBERT默认输出最后一层隐状态的序列中的CLS (classification token)向量,然后再经过一个线性变换和Tanh激活函数,最后再输出。经过我们实验,取最后四层拼接的方式,模型收敛更快,更稳定,效果最好。

  1. 引入wiki数据

前文我们提到,常识问答旨在回答需要背景知识的问题,而背景知识并未在问题中明确表达。关键是让模型学到更多的先验知识。所以针对CommonsenseQA任务主要有两大改进方向,一是采用更强大,引用更多高质量、大规模数据集训练的预训练模型--xlnet、roberta、albert等。越强大的预训练语言模型特征抽取能力越强,能更好的引入大量无监督数据中包含的语言学知识,其推理能力也就越强大。二是从结构化或非结构化知识库引入外部知识。

第一个方向我们已经做过实验。接下来探索第二个方向:引入外部知识。我们从排行榜注意到比较有用的是结构化知识库(ConceptNet)和Wikipedia纯文本数据。考虑到Talmor等制作数据集时用到的就是结构化知识库(ConceptNet),

并且规定使用ConceptNet的暂时不列入正式排行榜。所以,我们放弃了使用ConceptNet,只使用了Wikipedia纯文本数据进行实验。

使用的 Wikipedia 版本信息:enwiki-20190101

下载地址为:https://dumps.wikimedia.org/enwiki/latest/

下载后的文件有70.5G,然后使用ElementTree解析xml文件,清洗整理为131M的句子,对于每个训练样例,我们以"<s> Q:question </s> choice </s>"拼接问题和选项作为检索查询,使用bm25算法对检索查询和所有句子之间进行排序,

召回前10个句子返回,每个句子的形式是 "word: definition"。

模型输入:我们之前的输入格式是

question_tokens = 'Q: ' + question ,choice_tokens = 'A: ' + choice

引入Wikipedia后的输入格式:

question_tokens = 'Q: ' + question 

choice_tokens = 'A: '+ choice + Cancat 10 recalled word of definition。

下面是我们总的实验结果:

图六:ALBET实验结果

之前的实验结果:

对比两表的实验结果我们可以看出,ALBERT_base(0.4734)相比BERTBase(0.5242),XLNETBa-se(0.6061),RoBERTaBase(0.6577)效果是最差的。这说明,ALBERT_base经过三大改造(嵌入向量参数化的因式分解、跨层参数共享、以SOP替换NSP),虽然参数量大大减小(从108M降至12M),但是模型性能也下降了。即使加大模型规模-ALBERT_xlarge(隐藏层H从768增至2048)的结果(0.6904)也比XLNETLarge(0.7494)、RoBERTaLarge(0.7740)效果更差。直到更进一步加大模型规模,即ALBERT_xxlarge(隐藏层H增至4096),得到结果0.8124,才超过RoBERTaLarge(0.7740)。

ALBERT为什么能超越BERT、XLNET、Roberta呢?这几年深度学习圈子里一直出现了一些“怪象”,就是堆数据,让模型更复杂,训练出来的效果更好。但真正的智能应该是用更简单的模型,用更少量的数据,得到更好的结果。回顾

我们之前实验过的模型引入数据规模的大小,BERT(13G)、XLNET(126G)、

RoBERTa(160G),还有参数规模,BERT、RoBERT、XLNET都采用了BERTLarge的网络参数:L=24,H=1024,A=16, 参数总量大约3.55亿。这些模型虽然都做了各式各样的改进,但是,模型复杂度并没有改变,而且引入的数据规模越来越大,很难不让人怀疑模型效果全是靠堆数据堆出来的。

在ALBERT的论文中,其实刚开始也试着增大模型规模(BERT-xlarge),但模型效果反而下降,出现某种degradation(退化)。

当前的 SOTA模型常常包含数亿甚至数十亿参数,扩展模型时便很容易受到可用硬件的内存的限制,从而出现退化现象。ALBERT通过两大参数削减技术(嵌入向量参数化的因式分解、跨层参数共享)可以充当某种形式的正则化,使训练更加稳定,而且有利于泛化。然后为了进一步提升 ALBERT 的性能,研究者还引入了一个自监督损失函数,用于句子级别的预测(SOP)。SOP 主要聚焦于句间连贯,用于解决原版 BERT 中下一句预测(NSP)损失低效的问题。[5]正是由于这些改造技术,能让ALBERT在很大程度上降低内存消耗,从而能够扩展为更大的版本。尤其要注意到ALBERT_xxlarge的隐藏层已经扩展到4096规模了(BER-TLarge隐藏层H为1024),这是模型能够进一步提升的重要原因。同时,由于所有层共享一样的参数,不断加深ALBERT的网络结构,无法获得持续的性能提升,所以ALBERT_xxlarge只有12层(BERTLarge为24层)。

ALBERT通过一系列改造,大大降低了内存消耗,从而能够扩展为更大版本-

ALBERT-xxlarge,成功地提升了模型的规模并且减少了参数(规模为BERTLarge的70%)。ALBERT_xxlarge超过RoBERTa也不奇怪了,毕竟,这两者“规模”不一样。

另外,我们再来看看引入wiki数据的情况。引入wiki数据结果为0.8157,

相比不引入的结果0.8124,提升了约3个千分点。提升幅度并不是很大。我们之后在验证集做了实验,引入wiki数据的和不引入wiki数据的分为两组,采用图六ALBERT_xxlarge的参数,分别跑一样的5个随机种子,再对比下实验结果,发现两者区别不大。考虑到引入wiki数据内存消耗太大且推理时间也更长(引入wiki数据句子长度为256,不引入为80),而且提升不明显,我们后面放弃加入wiki数据。

所以,我们最后采取的方案是只用ALBERT_xxlarge模型,沿用表六相应的参数,在验证数据集上,具有单个模型的五个不同种子的准确率分别为80.9%、80.0%、 80.5%、 81.2%、 80.4%。最后进行模型融合,在验证/测试集的准确率是83.7%/76.5%。具体也可访问https://github.com/ZhiyunLab/CsQA/blob/master/desc.md

参考文献:

[1]CommonsenseQA: A Question Answering Challenge Targeting Commonsense Knowledge

  1. Ming Zhou, Nan Duan, Shujie Liu, Heung-Yeung Shum. Progress in Neural NLP: Modeling, Learning and Reasoning. Accepted by Engineering, 2019.
  2. 从Word Embedding到Bert模型—自然语言处理中的预训练技术发展史
  3. RoBERTa: A Robustly Optimized BERT Pretraining Approach
  4. ALBERT: A Lite BERT for Self-supervised Learning of Language Representations
产业ALBERT特征抽取语言模型先验知识自然语言处理机器推理智言科技
1
相关数据
智言科技机构

智言科技成立于2016年,致力于开发金融领域的AI云助理、智能机器人和金融知识图谱平台,助力企业金融科技的战略发展。专注于语义理解、知识图谱和深度学习的技术突破,智言通过累积海量的对话交互数据,以知识图谱为支撑,为保险、证券、银行打造国际领先的定制化AI解决方案。总部位于深圳,目前已受众多知名金融合作伙伴认可。领先的商业模式和产品理念,顶尖的研发和营销团队以及垂直的行业积累,将共同把智言打造成为中国最专业的金融知识图谱问答提供商。

http://www.webot.ai/
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

自然语言理解技术

自然语言理解是人工智能的核心课题之一,也被广泛认为是最困难和最具标志性的任务。最经典的两个人工智能思想实验——图灵测试和中文房间,都是围绕自然语言理解来构建的。自然语言理解在人工智能技术体系中的重要性不言而喻,它一方面承载着机器和人的交流,另一方面直达知识和逻辑。自然语言理解也是人工智能学者孜孜以求的圣杯,机器学习的巨擘 Michael I. Jordan 就曾经在 Reddit 上的 AMA(Ask Me Anything)栏目中畅想用十亿美元建立一个专门用于自然语言理解的实验室。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

验证集技术

验证数据集是用于调整分类器超参数(即模型结构)的一组数据集,它有时也被称为开发集(dev set)。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

语料库技术

语料库一词在语言学上意指大量的文本,通常经过整理,具有既定格式与标记;事实上,语料库英文 "text corpus" 的涵意即为"body of text"。

命名实体识别技术

命名实体识别(NER)是信息提取(Information Extraction)的一个子任务,主要涉及如何从文本中提取命名实体并将其分类至事先划定好的类别,如在招聘信息中提取具体招聘公司、岗位和工作地点的信息,并将其分别归纳至公司、岗位和地点的类别下。命名实体识别往往先将整句拆解为词语并对每个词语进行此行标注,根据习得的规则对词语进行判别。这项任务的关键在于对未知实体的识别。基于此,命名实体识别的主要思想在于根据现有实例的特征总结识别和分类规则。这些方法可以被分为有监督(supervised)、半监督(semi-supervised)和无监督(unsupervised)三类。有监督学习包括隐形马科夫模型(HMM)、决策树、最大熵模型(ME)、支持向量机(SVM)和条件随机场(CRF)。这些方法主要是读取注释语料库,记忆实例并进行学习,根据这些例子的特征生成针对某一种实例的识别规则。

先验知识技术

先验(apriori ;也译作 先天)在拉丁文中指“来自先前的东西”,或稍稍引申指“在经验之前”。近代西方传统中,认为先验指无需经验或先于经验获得的知识。先验知识不依赖于经验,比如,数学式子2+2=4;恒真命题“所有的单身汉一定没有结婚”;以及来自纯粹理性的推断“本体论证明”

特征抽取技术

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

因式分解技术

在数学中,把一个数学因子(比如数字,多项式,或矩阵)分解其他数学因子的乘积。比如:整数15可以分解成两个质数3和5的乘积,一个多项式x^2 -4 可被因式分解为(x+2)(x-2)。

批次技术

模型训练的一次迭代(即一次梯度更新)中使用的样本集。

层归一化技术

深度神经网络的训练是具有高度的计算复杂性的。减少训练的时间成本的一种方法是对神经元的输入进行规范化处理进而加快网络的收敛速度。层规范化是在训练时和测试时对数据同时进行处理,通过对输入同一层的数据进行汇总,计算平均值和方差,来对每一层的输入数据做规范化处理。层规范化是基于批规范化进行优化得到的。相比较而言,批规范化是对一个神经元输入的数据以mini-batch为单位来进行汇总,计算平均值和方法,再用这个数据对每个训练样例的输入进行规整。层规范化在面对RNN等问题的时候效果更加优越,也不会受到mini-batch选值的影响。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

矩阵分解技术

矩阵分解是一种将矩阵简化为其组成部分的方法。这种方法可以简化更复杂的矩阵运算,这些运算可以在分解的矩阵上执行,而不是在原始矩阵本身上执行。它的衍生Non-negative matrix factorization也被用于降维等操作上。

语言学技术

每种人类语言都是知识和能力的复合体,语言的使用者能够相互交流,表达想法,假设,情感,欲望以及所有其他需要表达的事物。语言学是对这些知识体系各方面的研究:如何构建这样的知识体系,如何获取,如何在消息的制作和理解中使用它,它是如何随时间变化的?语言学家因此关注语言本质的一些特殊问题。比如: 所有人类语言都有哪些共同属性?语言如何不同,系统的差异程度如何,我们能否在差异中找到模式?孩子如何在短时间内获得如此完整的语言知识?语言随时间变化的方式有哪些,语言变化的局限性是什么?当我们产生和理解语言时,认知过程的本质是什么?语言学研究的就是这些最本质的问题。

5G技术

第五代移动通信系统(5th generation mobile networks),简称5G,是4G系统后的延伸。美国时间2018年6月13日,圣地牙哥3GPP会议订下第一个国际5G标准。由于物理波段的限制,5G 的网络也将会与其他通信技术并用,包含长距离的其他传统电信波段。

命名实体识技术

命名实体识别(英语:Named Entity Recognition,简称NER),又称作专名识别、命名实体,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等,以及时间、数量、货币、比例数值等文字。指的是可以用专有名词(名称)标识的事物,一个命名实体一般代表唯一一个具体事物个体,包括人名、地名等。

暂无评论
暂无评论~