摘要

我们介绍了EpiReader,这是一种用于文本机器理解的新模型。对非结构化、真实世界文本的机器理解是自然语言处理的主要研究目标。当前对机器理解的测试提出了可以从一些支持性文本中推断出答案的问题,并评估了模型对问题的回答。EpiReader是一个端到端的神经模型,包括两个组件:第一个组件在将问题与其支持的文本进行比较后提出一小组候选答案,第二个组件使用提出的候选答案和问题来形成假设,然后基于其与支持文本的估计一致性重新排列这些假设。我们提供的实验表明EpiReader在CNN和儿童阅读测试benchmarks上设定了新的最新技术,大大优于以前的神经模型。

1.介绍

当人类对世界进行推理时,我们倾向于提出各种假设和反事实,然后通过物理或思想实验依次对其进行检验。哲学家Epicurus首先在他的《多重解释原理》中将这一思想形式化:如果几种理论与所观察到的数据一致,则保留所有这些理论,直到观察到更多数据为止。在本文中,我们认为相同的原理可以应用于自然语言的机器理解上。我们提出了一种经过端到端训练的深度神经理解模型,我们将其称为EpiReader。
  在近乎人类的水平上,机器对自然语言的理解是人工智能被广泛应用的先决条件。实际上,大多数人类知识都是以文本的自然语言收集的。因此,机器理解(MC)引起了机器学习研究界的极大关注。机器理解通常是通过支持的文本段落提出一系列问题,然后根据系统对这些问题的答案评分来评估的。这种测试是客观可分级的,并且可以评估从(1)基本理解到(2)因果推断再到(3)推理的一系列能力。
  在过去的一年中,已经发布了两个大规模的MC数据集:CNN/Daily Mail语料库(由来自这些媒体的新闻报道组成)和儿童阅读测试(CBT),由书籍的简短摘录组成,可通过古腾堡计划获得。这些数据集的大小(大约105个不同的问题)使它们适合于数据密集型深度学习技术。两种语料库都使用Cloze-style问题,这些问题是通过用占位符字符替换给定句子中的单词或短语来制定的。然后的任务是找到用于“填空”的答案。
  结合这些语料库,已经开发了许多神经机器理解模型。通过对CNN和CBT数据集进行训练和评估,我们将EpiReader与这些早期模型进行了比较。
  EpiReader分为两个部分。第一部分基于对问题及其支持文本的浅层比较,提取了少量的潜在答案;我们称其为提取器ExtractorExtractorExtractor。第二部分基于与文本的更深入的语义比较,对提出的答案进行排名。我们称其为推理器ReasonerReasonerReasoner。我们可以将这一过程概括为Extract→Hypothesize→TestExtract→Hypothesize→TestExtract→Hypothesize→Test。ReasonerReasonerReasoner实现的语义比较是基于识别文本蕴含(recognizing textual entailment, RTE)的概念,也称为自然语言推理(NLI)。该过程在计算上要求很高。因此,ExtractorExtractorExtractor的重要功能是将大量潜在答案过滤为一组较小,易于处理的可能候选对象,以进行更彻底的测试。两阶段过程类似于结构化预测级联,其中一系列越来越复杂的模型逐渐过滤输出空间,以在模型复杂性和有限的计算资源之间进行权衡。我们证明了这种类似层叠的框架适用于机器理解,可以通过随机梯度下降进行端到端训练。
  ExtractorExtractorExtractor遵循指针网络的形式,并使用可区分的注意力机制来指示文本中可能回答问题的单词。 这种方法(单独使用)用于使用Attention Sum Reader回答问题。ExtractorExtractorExtractor输出一小部分候选答案及其估计的正确概率。ReasonerReasonerReasoner通过将候选答案插入问题中来形成假设,然后估计每个假设与支持文本中每个句子的一致性。我们将这些估计值用作假设证据的度量,并汇总所有句子的证据。最后,我们将ReasonerReasonerReasoner的证据与ExtractorExtractorExtractor的概率估计结合起来,以得出候选答案的最终排名。
  本文的组织如下。在第2节中,我们正式定义了要解决的问题,并为测试中使用的数据集提供了一些背景知识。在第3节中,我们将介绍EpiReader,重点介绍它的两个组件以及它们如何组合。第4节讨论相关工作,第5节详细介绍我们的实验结果和分析,并在第6节中进行总结。

2.问题定义,符号,数据集

EpiReader的任务是通过阅读和理解一段支持性的文本来回答完形填空风格的问题。训练和评估数据由元组(Q,T,a∗,A)(\mathcal Q,\mathcal T,a^∗,A)(Q,T,a∗,A)组成,其中Q\mathcal QQ是问题(一个单词序列{q1,...q∣Q∣}\{q_1,...q_{|Q|}\}{q1​,...q∣Q∣​}),T\mathcal TT是文本(一个单词序列{t1,...,t∣T∣}\{t_1,...,t_{|T|}\}{t1​,...,t∣T∣​}),AAA是一组可能的答案{a1,...,a∣A∣}\{a_1,...,a_{|A|}\}{a1​,...,a∣A∣​},a∗∈Aa^∗∈Aa∗∈A是正确答案。所有单词都来自词汇VVV,并且A⊂TA⊂\mathcal TA⊂T。在每个问题中,都有一个占位符,指示要填写的缺失词。

2.1 数据集

CNN 该语料库是使用从CNN网站上抓取的文章构建的。文章本身构成了文本段落,问题是从每篇文章随附的简短摘要中综合得出的。这些摘要点(大概)是由人类作者撰写的。通过使用占位符替换摘要点中的命名实体来创建每个问题。对于每对(Q,T)(\mathcal Q,\mathcal T)(Q,T),其中文章和问题中的所有命名实体都将被替换为打乱的匿名字符。这迫使模型仅依赖于文本,而不是在训练期间学习有关实体的世界知识。CNN语料库(以下简称CNN)由Hermann等提出。
  儿童阅读测试 该语料库的结构类似于CNN,但是通过古腾堡计划获得的儿童读物。文字段落不是文章,而是20句话组成的书本摘录。由于未提供摘要,因此通过替换下一个(即第21个)句子中的单个单词来生成问题。语料库根据被替换单词的类型来区分问题:命名实体,常用名词,动词或介词。像Kadlec等人一样,我们仅关注前两个类别。 因为Hill等人表明,标准的LSTM语言模型已经在后两者上达到了人类水平的性能。与CNN语料库不同,在儿童阅读测试(CBT)中,命名实体不会被匿名和混排。CBT由Hill等人提出。
  每个语料库中问题的构造方法不同,意味着CNN和CBT会评估理解的不同方面。CNN的摘要点是文本中信息的简明释义;因此,确定正确答案主要取决于识别文本含义。另一方面,CBT与故事预测有关。就理解故事预测而言,其可能是一项理解任务,但仅靠理解可能还不够。确实,鉴于上述情况,有些CBT问题无法回答。

3.EpiReader

3.1 概述


  EpiReader明确利用了以下观察结果:问题的答案通常是相关文本段落中的单词或短语。此条件适用于CNN和CBT数据集。EpiReader的第一个模块,提取器,因此可以通过指向候选答案中的位置来选择少量答案。该机制在第3.2节中进行了详细说明,并且之前由Attention Sum Reader使用。指向候选答案可以消除在Weston等人中对整个词汇应用softmax的需要,其计算成本更高,并且在支持文本中使用有关预测答案的上下文的直接信息较少。
  EpiReader的第二个模块,推理器,首先使用提取出的答案候选者形成假设。它通过用候选答案替换问题中的占位符来生成每个假设。完形填空式的问题非常适合此过程,因为在占位符位置插入正确的答案会产生格式正确的语法陈述。因此,正确的假设将对语言模型“很有意义”。
  然后,推理器分别测试每个假设。它将假设与分成句子的文本进行比较,以衡量文本的含意,然后汇总所有句子的含意。该计算使用一对卷积编码器网络,然后是循环神经网络。卷积编码器生成假设和每个文本语句的抽象表示;循环网络估算和汇总文本含义。这将在第3.3节中正式描述。结合了Extractor和Reasoner模块的端到端EpiReader模型如图1所示。

3.2 Extractor

提取器是一个指针网络。 它使用一对双向循环神经网络f(θT,T)f(θ_T,\pmb T)f(θT​,TTT)和g(θQ,Q)g(θ_Q,\pmb Q)g(θQ​,Q​Q​​Q)对文本段落和问题进行编码。θTθ_TθT​表示文本编码器的参数,T∈RD×N\pmb T∈R^{D×N}TTT∈RD×N是文本(包含NNN个单词)的矩阵表示,其列为单个单词嵌入ti\pmb t_ittti​。 同样,θQθ_QθQ​表示问题编码器的参数,Q∈RD×NQ\pmb Q∈R^{D×N_Q}Q​Q​​Q∈RD×NQ​是问题的矩阵表示(包含NQN_QNQ​个单词),其列是单个单词嵌入qj\pmb q_jq​q​​qj​。
  我们使用带有门控循环单元(GRU)的循环神经网络来扫描输入矩阵的列(即单词嵌入)。 我们之所以选择GRU,是因为它在计算上比长短期记忆更简单,同时仍然避免了训练循环网络时经常遇到的梯度消失/爆炸的问题。
  GRU的隐藏状态表示基于前面单词得到的第iii个单词的表示。为了包括前面单词的上下文,我们在T\pmb TTTT上以相反的方向运行第二个GRU。我们将该组合称为biGRU。biGRU在每一步都输出两个ddd维编码向量,一个用于前向,一个用于后向。我们将它们串联起来,得出向量f(ti)∈R2df(\pmb t_i)∈R^{2d}f(ttti​)∈R2d。问题的biGRU相似,但是我们是通过将最终的前向状态与最终的后向状态(表示g(Q)∈R2dg(\pmb Q)∈R^{2d}g(Q​Q​​Q)∈R2d)连接起来,形成了问题的单个向量表示。
  如Kadlec等人,我们使用以下公式对文本T\mathcal TT中的第iii个单词回答问题Q\mathcal QQ的概率进行建模:
si∝exp(f(ti)⋅g(Q)),(1)s_i\propto exp(f(\pmb t_i)\cdot g(\pmb Q)),\tag{1}si​∝exp(f(ttti​)⋅g(Q​Q​​Q)),(1)
它采用文本和问题表示的内积,后跟一个softmax。在许多情况下,单词www在文本中会重复出现。因此,我们使用总和来计算单词www是正确答案的总概率:
P(w∣T,Q)=∑i:ti=wsi.(2)P(w|\mathcal T, \mathcal Q)=\sum_{i:t_i=w}s_i.\tag{2}P(w∣T,Q)=i:ti​=w∑​si​.(2)
  对T\mathcal TT中的每个唯一单词评估该概率。最后,提取器输出来自等式2的KKK个最高单词概率的集合{p1,...,pK}\{p_1,...,p_K\}{p1​,...,pK​},以及相应的KKK个最可能是答案的单词{a^1,...,a^K}\{\hat a_1,...,\hat a_K\}{a^1​,...,a^K​}的集合。

3.3 Reasoner

收集{a^1,...,a^K}\{\hat a_1,...,\hat a_K\}{a^1​,...,a^K​}涉及的个体选择,相当于KKK各最佳的argmax,不是输入的连续函数。为了构建端到端的可微模型,我们直接通过推理器传播提取器的概率估计来绕过该模型。
  推理器首先将作为候选答案的单个单词或短语插入问题序列Q\mathcal QQ中的占位符位置。这形成了KKK个假设{H1,...,HK}\{\mathcal H_1,...,\mathcal H_K\}{H1​,...,HK​}。 在这一点上,我们认为每个假设都有提取器估计的概率p(Hk)≈pkp(\mathcal H_k)≈p_kp(Hk​)≈pk​。通过对推理器进行更新并完善此估计。
  从某种意义上说,这些假设代表着新的信息,尽管它们是从问题和文本段落中已经存在的单词中提取出来的,但它们都是我们构建的新的句子。推理器估计语句Hk\mathcal H_kHk​和文本T\mathcal TT之间的蕴含。我们用ek=F(Hk,T)e_k=F(\mathcal H_k,\mathcal T)ek​=F(Hk​,T)表示这些估计,并定义FFF。我们首先从将T\mathcal TT重组为NsN_sNs​个句子序列:T={t1,…,tN}→{S1,…,SNs}\mathcal T= \{t_1,\dots,t_N\}→\{\mathcal S_1,\dots,\mathcal S_{N_s}\}T={t1​,…,tN​}→{S1​,…,SNs​​},其中Si\mathcal S_iSi​是一个单词序列。
  对于每个假设和文本的每个句子,推理器的输入由两个矩阵组成:Si∈RD×∣Si∣\pmb S_i∈\mathbb R^{D×|S_i|}SSSi​∈RD×∣Si​∣,其列是句子Si\mathcal S_iSi​中每个单词的嵌入向量;Hk∈RD×∣Hk∣\pmb H_k∈\mathbb R^{D×|H_k|}HHHk​∈RD×∣Hk​∣,其列为假设Hk\mathcal H_kHk​中每个单词的嵌入向量。嵌入向量本身像以前一样来自矩阵W\pmb WWWW。
  这些矩阵被引入基于Severyn和Moschitti的卷积架构中。该架构首先用矩阵M∈R2×∣Si∣\pmb M∈R^{2×|S_i|}MMM∈R2×∣Si​∣来扩充Si\pmb S_iSSSi​。M\pmb MMMM的第一行包含句子中每个单词嵌入和候选答案嵌入的内积,第二行包含句子中每个单词嵌入和问题中每个单词嵌入的最大内积。这些单词匹配功能的灵感来自Wang,Jiang和Trischler等人的类似方法,这些方法被证明可以改善蕴含估算。
  然后将扩展后的Si\pmb S_iSSSi​与一堆滤波器FS∈R(D+2)×m\pmb F^S∈R^{(D+2)×m}FFFS∈R(D+2)×m卷积,而将Hk\pmb H_kHHHk​与滤波器FH∈RD×m\pmb F^H∈R^{D×m}FFFH∈RD×m卷积,其中mmm是卷积滤波器宽度。在卷积之后,我们添加一个偏差项并应用非线性激活(我们使用ReLU)。 然后,在序列上进行最大池化会产生两个向量:文本句子的表示rSi∈RNF\pmb r_{\mathcal S_i}∈R^{N_F}rrrSi​​∈RNF​以及假设的表示rHk∈RNF\pmb r_{\mathcal H_k}∈R^{N_F}rrrHk​​∈RNF​,其中NFN_FNF​是过滤器的数量。
  然后,我们使用双线性函数计算这些向量表示之间的标量相似性得分:
ς=rSiTRrHk,(3)\varsigma=\pmb r_{\mathcal S_i}^T\pmb R \pmb r_{\mathcal H_k},\tag{3}ς=rrrSi​T​RRRrrrHk​​,(3)
其中R∈RNF×NF\pmb R∈R^{N_F×N_F}RRR∈RNF​×NF​是可训练参数的矩阵。 然后,我们将相似性得分与句子和假设表示连接起来,以获得向量xik=[ς;rSi;rHk]Tx_{ik} = [ς;\pmb r_{\mathcal S_i}; \pmb r_{\mathcal H_k}]^Txik​=[ς;rrrSi​​;rrrHk​​]T。可以使用更强大的文本蕴含模型替换这种卷积体系。我们采用了Severyn和Moschitti的方法来提高计算效率。
  NsN_sNs​个向量的结果序列传入另一个GRU用于合成,其具有隐藏维度dSd_SdS​。直观上,通常将特定假设的证据分布在多个句子中。例如,如果我们假设足球在公园里,那可能是因为一句话告诉我们山姆捡起了足球,后来又有人告诉我们山姆跑到公园了。推理器通过在xikx_{ik}xik​上运行GRU网络来合成分布式信息,其中以iii为句子建立索引并表示步长。GRU的最终隐藏状态通过一个全连接层,从而产生单个标量yky_kyk​。该值表示基于文本收集的HkH_kHk​证据。在实践中,推理机并行处理所有KKK个假设,并通过softmax归一化每个假设:ek∝exp(yk)e_k\propto exp(y_k)ek​∝exp(yk​)。
  正如Kadlec等人指出的,指针框架的强项是不融合正在参加的表示形式。将其与典型的注意力机制相对照,在这种机制中,在下游使用这种混合表示来与例如输出向量进行相似性比较。
  注意力机制(例如,Bahdanau等人)通常通过加权和将内部表示混合在一起,然后在下游使用这种“混合”进行相似性比较。指针框架不使用这种混合。Kadlec等解释说这是一个优势,因为在理解任务中,目标是在语义相似的候选者中选择正确的答案,并且需要更精确的匹配。推理器执行的重新排序功能具有此优势,方法是单独检查单独的假设而不会混淆。

3.4 联合组件

最后,我们将推理器的概率与提取器的概率结合起来。我们根据乘积计算每个假设的输出概率πkπ_kπk​:
πk∝ekpk,(4)\pi_k\propto e_kp_k,\tag{4}πk​∝ek​pk​,(4)
  因此,推理器的概率可以解释为对提取器概率的更正,用作对数空间中的累加转移。我们对提取器和推理器的其他组合进行了实验,但是我们发现乘法方法可以产生最佳性能。
  将提取器和推理器的结果合并后,得到等式4中所述的概率πkπ_kπk​。如等式4所示,我们优化了整个EpiReader的参数,以最大程度地减少包含LE\mathcal L_ELE​和LR\mathcal L_RLR​的损失。第一项是标准的负对数似然目标,它鼓励提取器对正确答案的评分高于其他答案,这与Kadlec等人使用的损失项相同。它由下式给出:
LE=E(Q,T,a∗,A)[−logP(a∗∣T,Q)],(5)\mathcal L_E=\mathop{\mathbb{E}}\limits_{(\mathcal Q,\mathcal T,a^*,A)}[-log~P(a^*|\mathcal T,\mathcal Q)],\tag{5}LE​=(Q,T,a∗,A)E​[−log P(a∗∣T,Q)],(5)
其中P(a∗∣T,Q)P(a^*|\mathcal T,\mathcal Q)P(a∗∣T,Q)如等式2所定义。a∗a^*a∗表示正确答案。 第二项是基于端到端概率πkπ_kπk​的margin loss。我们将π∗π^∗π∗定义为与真实答案词a∗a^∗a∗对应的概率πkπ_kπk​。该项如下所示:
LR=E(Q,T,a∗,A)[∑a^i∈{a^1,…,a^K}\a∗[γ−π∗+πa^i]+],(6)\mathcal L_R=\mathop{\mathbb{E}}\limits_{(\mathcal Q,\mathcal T,a^*,A)}[\sum_{\hat a_i\in \{\hat a_1,\dots,\hat a_K\}\verb|\|a^*}[\gamma-\pi^*+\pi_{\hat a_i}]_+],\tag{6}LR​=(Q,T,a∗,A)E​[a^i​∈{a^1​,…,a^K​}\a∗∑​[γ−π∗+πa^i​​]+​],(6)
其中γγγ是margin超参数,{a^1,...,a^K}\{\hat a_1,...,\hat a_K\}{a^1​,...,a^K​}是提取器提出的K个答案集合,[x]+[x]_+[x]+​表示将x截断为非负数,即max(x,0)max(x,0)max(x,0)。从直觉上讲,这种损失表示我们希望正确答案的端到端概率π∗π^∗π∗至少比提取器提出的任何其他答案的概率πa^iπ_{\hat a_i}πa^i​​大γ。在训练过程中,提取器有时会漏掉正确的答案,尤其是在早期。我们通过在训练时将正确答案强加到前KKK个集合中来解决此问题。在验证和测试示例上评估模型时,我们完全依赖于Extractor提出的前KKK个答案。
  为了获得最终损失项LER\mathcal L_{ER}LER​,减去模型参数上的l2l_2l2​正则化项,我们采用LE\mathcal L_ELE​和LR\mathcal L_RLR​的加权组合:
LER=LE+λLR\mathcal L_{ER} = \mathcal L_{E}+\lambda \mathcal L_{R}LER​=LE​+λLR​
其中λλλ是用于权衡提取器和推理器损失的相对贡献的超参数。在实践中,我们发现λ应该相当大(例如10<λ<10010 <λ<10010<λ<100)。根据经验,我们观察到提取器的输出概率通常会达到峰值并饱和第一个softmax;因此,Extractor项可以在没有权重λ的情况下主导Reasoner项(我们将在第5节中讨论Extractor的过度拟合倾向)。

4.相关工作

Impatient和Attentive Reader模型是由Hermann等人在2015年提出的。 Attentive Reader将双向循环编码器应用于问题和支持文本。然后,它使用Bahdanau等人所述的注意力机制,根据文本编码器输出的加权总和来计算文本的定长表示形式,方法是将问题表示形式与文字中的每个位置进行比较,以此作为指导。最后,通过将它们的独立表示形式通过前馈MLP来形成问题和支持文本的联合表示形式,并通过将MLP输出与每个可能答案的表示形式进行比较来选择答案。Impatient Reader的操作类似,但是是用问题的每个连续单词,计算了对文本的注意力。两种模型在CNN和Daily Mail数据集上均取得了相似的性能。
  Memory Networks最早由Weston等人在2015年提出,后来由Hill等人应用于机器理解。该模型建立问题和每个候选答案周围的文本窗口的定长表示,然后使用加权和注意机制来组合窗口表示。如先前的Readers中所述,然后将组合的窗口表示形式与每个可能的答案进行比较,以形成有关最佳答案的预测。Memory Networks的区别在于它们如何构造问题和文本窗口表示形式。 他们使用的词嵌入经过特别设计和训练的变换,而不是使用循环网络。
  有关最新AS Reader的大多数详细信息,请参见第3.2节中的“提取器”模块的描述,因此在此不再赘述。该模型在CBT数据集上达到了先前的最好技术。
  在撰写本文期间,另一个非常新的模型引起了我们的注意。 Chen等在2016年提出使用双线性函数而不是tanh层来计算问题和段落词之间的注意力,并且还使用attended词编码来进行直接的指针式预测,如Kadlec等人所述,该模型达到了CNN数据集上的最新技术水平。但是,该模型使用了在大型外部语料库上预训练的嵌入向量。
  EpiReader也借鉴了其他模型的想法。Reasoner的卷积架构基于Severyn和Moschitti(2016)和Blunsom等人(2014)。 我们对单词级匹配的使用受到Trischler等人的Parallel-Hierarchical模型的启发和Wang和Jiang(2016)的自然语言推理模型。最后,提出和测试假设以回答问题的想法在IBM的Jeopardy的DeepQA系统中得到了很大的应用!(尽管那是一种更为传统的信息检索管道,而不是端到端的神经模型),并且也类似于Weiss和Taskar的结构化预测级联的框架。

Natural Language Comprehension with the EpiReader翻译相关推荐

  1. PyTorch 自然语言处理(Natural Language Processing with PyTorch)翻译完成 | ApacheCN

    译者:Yif Du 协议:CC BY-NC-ND 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. 本书旨在为新人提供自然语言处理(NLP)和深度学习,以涵盖这两个领域的重 ...

  2. [论文速览] Probing Neural Network Comprehension of Natural Language Arguments

    Probing Neural Network Comprehension of Natural Language Arguments 自然语言论据的神经网络理解探讨,https://arxiv.org ...

  3. CLIP论文翻译、Learning Transferable Visual Models From Natural Language Supervision翻译

    CLIP论文翻译.Learning Transferable Visual Models From Natural Language Supervision翻译 文章目录 CLIP论文翻译.Learn ...

  4. CLIP Learning Transferable Visual Models From Natural Language Supervision (文本和图像的对比学习)--文献翻译和笔记

    论文链接:[2103.00020] Learning Transferable Visual Models From Natural Language Supervision (arxiv.org) ...

  5. 论文笔记翻译——Enhanced LSTM for Natural Language Inference(ESIM)

    文章目录 0.前言 1. 模型结构 1.1 input encoding 1.2 local inference modeling 1.3 inference composition 2. 模型实现 ...

  6. LLMs:《PaLM: Scaling Language Modeling with Pathways》翻译与解读

    LLMs:<PaLM: Scaling Language Modeling with Pathways>翻译与解读 导读:这项工作介绍了Pathways Language Model(Pa ...

  7. Deep Learning in Natural Language Processing中文连载(一)

    前言: 感谢邓力.刘洋博士能够提供给广大NLP从业者.爱好者提供了这本全面.通俗易懂的好书,以及其他专家前辈在具体章节.领域做出的贡献. 本书共338页,涵盖了NLP基本问题的介绍,以及深度学习在对话 ...

  8. [论文解读] Adversarial Attacks on Deep Learning Models in Natural Language Processing: A Survey

    Adversarial Attacks on Deep Learning Models in Natural Language Processing: A Survey 文章目录 Adversaria ...

  9. 论文阅读:Natural Language Processing Advancements By Deep Learning: A Survey

    文章目录 一.介绍 二.背景 1.人工智能和深度学习 (1)多层感知机 (2)卷积神经网络 (3)循环神经网络 (4)自编码器 (5)生成对抗网络 2.NLP中深度学习的动机 三.NLP领域的核心概念 ...

最新文章

  1. 卫星互联网行业深度报告:战火早已熊熊燃烧
  2. unity2D平面摄像机滑动缩放
  3. 商用机型和家用机型区别
  4. 水凝胶 静电纺丝_北理工赵扬ACS Nano:在水凝胶纺织软体机器人方面取得进展
  5. 查看运行时间_怎样查看自己电脑系统的版本信息?
  6. Paxos Made Simple 中文翻译
  7. ActiveMQ 持久化讯息数据库信息
  8. jQuery 遍历 each()方法
  9. Hibernate学习笔记--第二篇 关联关系映射 many –to –one
  10. selenium常见面试题
  11. 台大李宏毅Machine Learning 2017Fall学习笔记 (16)Unsupervised Learning:Neighbor Embedding
  12. 银河麒麟国产操作系统使用指南
  13. Leap Motion 之Unity 开发实战(一. 制作手的HandController)
  14. (三)--Openssl 实现国密算法(加密和解密)
  15. html如何调用特殊字体,网页中如何调用一些特殊字体或艺术字体?
  16. 方管图纸标注_结构图纸悬挑梁的标注方式
  17. Chromedriver安装教程(简洁版)
  18. 麒麟950,麒麟960,麒麟970芯片处理器参数比较分析
  19. Java SDK调用 海康网络摄像头 多摄像头同时预览 并取流
  20. CH4-面向对象下 (8个案例实现)

热门文章

  1. Android实战简易教程-第五十枪(工具类的测试)
  2. 智能晾衣架(二)--功能实现
  3. 关于blob数据类型引起的mysqldump乱码问题
  4. 【塔望咨询】案例---新消费主力军的饮食主义
  5. 迎接2016,一个程序员的总结
  6. 工商银行顾欣:分布式全链路灰度发布的探索与实践
  7. html网站上播放视屏代码
  8. Java微信浏览器上传文件使用Base64方法(增加压缩上传方法)
  9. springboot遇到的Invalid bound statement (not found): com.yc.service.UserService的众多坑
  10. android裁剪图片功能,实战:七步教你Android图片拍摄及剪裁