CN111368536A - 自然语言处理方法及其设备和存储介质 - Google Patents

自然语言处理方法及其设备和存储介质 Download PDF

Info

Publication number
CN111368536A
CN111368536A CN201910160036.9A CN201910160036A CN111368536A CN 111368536 A CN111368536 A CN 111368536A CN 201910160036 A CN201910160036 A CN 201910160036A CN 111368536 A CN111368536 A CN 111368536A
Authority
CN
China
Prior art keywords
self
attention
vector sequence
word
text
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910160036.9A
Other languages
English (en)
Inventor
庄毅萌
刘松
胡硕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Samsung Telecom R&D Center
Beijing Samsung Telecommunications Technology Research Co Ltd
Samsung Electronics Co Ltd
Original Assignee
Beijing Samsung Telecommunications Technology Research Co Ltd
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Samsung Telecommunications Technology Research Co Ltd, Samsung Electronics Co Ltd filed Critical Beijing Samsung Telecommunications Technology Research Co Ltd
Publication of CN111368536A publication Critical patent/CN111368536A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Machine Translation (AREA)

Abstract

本公开提供了一种基于自注意力的自然语言处理方法及其设备和存储介质。所述方法,包括:获取输入向量序列,所述输入向量序列包括待处理文本的词向量序列;对输入向量序列中的词向量进行分组,并对至少一组词向量执行自注意力处理;以及,基于自注意力处理结果,生成待处理文本对应的输出向量序列。

Description

自然语言处理方法及其设备和存储介质
技术领域
本公开一般地涉及自然语言处理领域,具体地涉及基于自注意力 的自然语言处理方法以及对应的设备和计算机可读存储介质。
背景技术
自注意力(Self Attention)机制是一种用于对长时间依赖进行建 模的方法。所谓长时间依赖指的是自然语言文本中相距较远的文本信 息之间存在的依赖关系。比如文章中某处出现“海明威出生在奥克帕 克”,文章中另一处出现“海明威是1954年诺贝尔文学奖获得者”,对 于人类而言,即使这两点信息出现在文章中相距很远的两个位置,人 类仍然可以由此得出1954年诺贝尔文学奖获得者出生在奥克帕克的 结论,但是对于计算机,传统的机器阅读理解方法难以处理这种长距 离(时间)跨度的问题,计算机难以将跨度较大的两个“海明威”联系 起来并建立“奥克帕克”与“诺贝尔文学奖”的关联。自注意力机制就是 解决这种问题的有效方法,自注意力机制通过计算相似度矩阵来计算 文章中任意两个词语之间的关联度,可以建立相距较远的信息之间的 联系。
在现有自注意力机制中,计算相似度矩阵S的公式可以一般性地 表示如下:
S=f(X)·f(XT) (1)
其中X是待处理文本的矩阵表示,X的每一列对应于文本中的一个 词向量,词向量在X中的列位置与其在文本中的位置相对应。S表征了 文本中的词与词之间的关联度,S中的元素sij表示文本中的第i个词 与第j个词之间的关联度。X是L*d维矩阵,L为文本长度,d为词向 量维度,f是线性或非线性映射函数(本领域技术人员应该理解,函 数f的具体选择因方法而异,这里给出的是自注意力的一般性公式)。 因此S的计算的时间和空间复杂度(对应于自注意力机制的计算的时 间和空间复杂度)为O(L2d),即算法复杂度与文本长度L成平方关系。 当L非常大时,计算的时间和空间复杂度将高到无法接受。
因此,需要一种改进的基于自注意力的自然语言处理机制,其能 够降低计算和空间复杂度,适合处理超长文本。
发明内容
为此,本公开提出了一种基于分组的自注意力机制,其中通过对 长文本中的词语进行分组(优选地,按重要度进行排序分组)的方式 来降低自注意力机制的计算的时间和空间复杂度。根据本公开的基于 分组的自注意力机制例如可以将计算的时间和空间复杂度降低到接 近线性复杂度,例如文本长度增加10倍,自注意力机制计算的时间 和空间复杂度仅增加10倍。本公开的基于分组的自注意力机制可以 适用于超长文本。
根据本公开的第一方面,提供了一种基于自注意力的处理文本的 方法,包括:获取输入向量序列,所述输入向量序列包括待处理文本 的词向量序列;对输入向量序列中的词向量进行分组,并对至少一组 词向量执行自注意力处理;以及基于自注意力处理结果,生成待处理 文本对应的输出向量序列。
根据本公开的第二方面,提供了一种机器阅读理解方法,包括: 获取问题和文章;针对文章的文本,执行分组自注意力处理,以得到 文章文本的自注意力处理后的词向量序列;根据文章文本的自注意力 处理后的词向量序列,获得文章中每个词语关于所述问题的对齐向量; 以及根据对齐向量,生成针对问题的答案。其中,所述分组自注意力 处理包括;获取输入向量序列;对输入向量序列中的词向量进行分组, 并对至少一组词向量执行自注意力处理;以及,基于自注意力处理结 果,生成待处理文本的自注意力处理后的词向量序列。
根据本公开的第三方面,提供了一种机器阅读理解方法,包括: 获取问题和文章;针对问题和文章执行语义编码、对齐和融合;针对 融合后的向量序列,执行多次分组自注意力处理;以及,根据分组自 注意力处理结果,生成针对问题的答案。其中所述分组自注意力处理 包括;获取输入向量序列;对输入向量序列中的词向量进行分组,并 对至少一组词向量执行自注意力处理;以及,基于自注意力处理结果, 生成待处理文本的自注意力处理后的词向量序列。
根据本公开的第四方面,提供了一种语义编码方法,包括:获取 文章;针对文章的文本,执行分组自注意力处理,以得到文章文本的 自注意力处理后的词向量序列;以及,根据文章文本的自注意力处理 后的词向量序列,输出任务结果。其中,所述分组自注意力处理包括; 获取文章文本的词向量序列作为输入向量序列;对输入向量序列中的 词向量进行分组,并对至少一组词向量执行自注意力处理;以及,基 于自注意力处理结果,生成文章文本的自注意力处理后的词向量序列。
根据本公开的第五方面,提供了一种基于自注意力的自然语言处 理装置,包括:处理器;以及,存储器,存储有计算机可读指令,所 述指令在由处理器执行时,执行根据第一方面所述的方法。
根据本公开的第六方面,提供了一种基于自注意力的自然语言处 理装置,包括:输入模块,配置为:获取输入向量序列,所述输入向 量序列包括待处理文本的词向量序列;分组模块,配置为:对输入向 量序列中的词向量进行分组;自注意力模块,配置为:对至少一组词 向量执行自注意力处理;以及,输出向量生成模块,配置为:基于自 注意力处理结果,生成待处理文本对应的输出向量序列。
根据本公开的第七方面,提供了一种执行机器阅读理解的装置, 包括:处理器;以及,存储器,存储有计算机可读指令,所述指令在 由处理器执行时,执行根据第二或第三方面所述的方法。
根据本公开的第八方面,提供了一种执行机器阅读理解的装置, 包括:输入模块,配置为:获取问题和文章;分组自注意力模块,配 置为:针对文章的文本,执行分组自注意力处理,以得到文章文本的 自注意力处理后的词向量序列;对齐模块,配置为:根据文章文本的 自注意力处理后的词向量序列,获得文章中每个词语关于所述问题的 对齐向量;以及,答案生成模块,配置为:根据对齐向量,生成针对 问题的答案。其中,所述分组自注意力模块包括;输入向量获取模块, 配置为:获取输入向量序列,所述输入向量序列包括待处理文本的词 向量序列;分组模块,配置为:对输入向量序列中的词向量进行分组; 自注意力模块,配置为:对至少一组词向量执行自注意力处理;以及, 输出向量生成模块,配置为:基于自注意力处理结果,生成待处理文 本对应的输出向量序列。
根据本公开的第九方面,提供了一种执行机器阅读理解的装置, 包括:输入模块,配置为:获取问题和文章;编码模块,配置为:针 对问题和文章执行语义编码、对齐和融合;多个分组自注意力模块, 配置为:针对编码模块输出的融合后的向量序列,执行分组自注意力 处理;以及,答案生成模块,配置为:根据分组自注意力处理结果, 生成针对问题的答案。其中,所述多个分组自注意力模块级联在一起, 每个均可以包括;输入向量获取模块,配置为:获取输入向量序列; 分组模块,配置为:对输入向量序列中的词向量进行分组;自注意力 模块,配置为:对至少一组词向量分别执行自注意力处理;以及,输 出向量生成模块,配置为:基于自注意力处理结果,生成待处理文本 对应的输出向量序列。
根据本公开的第十方面,提供了一种语义编码装置,包括:处理 器;以及,存储器,存储有计算机可读指令,所述指令在由处理器执 行时,执行根据第四方面所述的方法。
根据本公开的第十一方面,提供了一种语义编码装置,包括:输 入模块,配置为:获取文章;分组自注意力模块,配置为:针对文章 的文本,执行分组自注意力处理,以得到文章文本的自注意力处理后 的词向量序列;以及,输出模块,配置为:根据文章文本的自注意力 处理后的词向量序列,输出任务结果。其中,所述分组自注意力处理 包括;获取文章文本的词向量序列作为输入向量序列;对输入向量序 列中的词向量进行分组,并对至少一组词向量执行自注意力处理;以 及,基于自注意力处理结果,生成文章文本的自注意力处理后的词向 量序列。
根据本公开的第十二方面,提供了一种计算机可读介质,在其上 存储有计算机可读指令,所述指令在由处理器执行时,使所述处理器 执行根据第一方面到第四方面中任一方面所述的方法。
附图说明
现在将参考附图通过非限制性示例来描述本公开的优选特征,其 中:
图1示出了根据本公开一实施例的基于自注意力的自然语言处 理方法的示意流程图;
图2示出了根据本公开另一实施例的基于自注意力的自然语言 处理方法的示意流程图;
图3示出了根据本公开又一实施例的基于自注意力的自然语言 处理方法的示意流程图;
图4和图5示意性地示出了根据本公开实施例的排序操作的示例 实现;
图6示意性地示出了根据本公开实施例的分组操作的示例实现;
图7和图8示意性地示出了根据本公开实施例的根据分组的自注 意力处理结果生成最终自注意力处理结果的示例实现;
图9示出了根据本公开一实施例的基于自注意力的自然语言处 理装置的结构示意图;
图10示出了根据本公开另一实施例的基于自注意力的自然语言 处理装置的结构示意图;
图11示出了根据本公开又一实施例的基于自注意力的自然语言 处理装置的结构示意图;
图12a示出了根据本公开一实施例的基于自注意力的自然语言 处理模型的示例的示意图;
图12b示出了根据本公开另一实施例的基于自注意力的自然语 言处理模型的示例的示意图。
图12c示出了图12b所示出的基于自注意力的自然语言处理模 型的示例的一个具体实现。
图13示意性地示出了可以应用本公开实施例的机器阅读理解系 统的示意图;
图14示出了根据本公开一实施例的机器阅读理解方法的示意流 程图;
图15示出了根据本公开另一实施例的机器阅读理解方法的示意 流程图;
图16示意性地示出了根据本公开实施例的根据对齐向量生成答 案的示例实现;
图17示出了根据本公开一实施例的机器阅读理解装置的结构示 意图;
图18示出了根据本公开另一实施例的机器阅读理解装置的结构 示意图;
图19示意性地示出了根据本公开实施例的答案生成模块的示例 实现;
图20a示出了根据本公开一实施例的机器阅读理解模型的示例 的示意图;
图20b示出了根据本公开另一实施例的机器阅读理解模型的示 例的示意图;
图20c示出了图20b所示出的机器阅读理解模型的示例的一个 具体实现。
图21示出了根据本公开又一实施例的机器阅读理解方法的示意 流程图;
图22示出了根据本公开又一实施例的机器阅读理解装置的结构 示意图;
图23示出了根据本公开实施例的机器阅读理解模型的示例的示 意图;
图24示出了根据本公开实施例的通用语义编码方法的示意流程 图;
图25示出了根据本公开实施例的通用语义编码装置的结构示意 图;
图26示出了现有技术的通用语义编码模型和根据本公开实施例 的通用语义编码模型的示意图;
以及
图27示出了可以实现本公开实施例的电子装置的结构示意图。
具体实施方式
下面详细描述本公开的实施例,所述实施例的示例在附图中示出, 其中自始至终相同或类似的标号表示相同或类似的元件或具有相同 或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅 用于解释本公开,而不能解释为对本公开的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数 形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解 的是,本公开的说明书中使用的措辞“包括”是指存在所述特征、整数、 步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个 其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理 解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接 或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连 接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或” 包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有 术语(包括技术术语和科学术语),具有与本公开所属领域中的普通 技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中 定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一 致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过 于正式的含义来解释。
自注意力模型(Self Attention Model)被广泛使用在自然语言处 理、图像识别及语音识别等各种不同类型的深度学习任务中。但是, 如前所述,现有技术的自注意力模型的计算的时间和空间复杂度与待 处理文本的长度成平方关系。当文本超长时,计算复杂度将高到无法 接受。
为此,本公开提出了一种基于分组的自注意力模型(下文中也简 称为分组自注意力),其中通过对长文本中的词语进行分组(优选地, 按重要度进行排序分组)的方式来降低自注意力机制的计算的时间和 空间复杂度。根据本公开的基于分组的自注意力机制例如可以将计算 的时间和空间复杂度降低到接近线性复杂度,从而可以适用于超长文 本。本公开中,上述基于分组自注意力也可以称为基于门的分组自注 意力(Gated BlockSelf-Attention,GBSA)。
图1示出了根据本公开一实施例的基于自注意力的处理文本的 方法100A的示意流程图。
如图所示,在步骤S110中:获取输入向量序列,所述输入向 量序列包括待处理文本的词向量序列。
输入向量序列由代表待处理文本的语义信息的向量组成。待处 理文本可以是各种自然语言的,例如可以是中文的、英文的、或 者其他语种的。文本中每一个词语对应一个向量(本文中也称为 词向量)。所有词语的向量按照其在文本出现的先后顺序组成输 入向量序列X=[x1,x2,...,xm],其中向量xi是文本中第i个词语对 应的向量,其可以是预训练的词向量也可以是神经网络的隐层状 态向量,m是文本包含的词的总数,代表文本长度。输入向量序 列的获取可以采用各种已知的技术来实现,本公开在这方面不受 限制。
在步骤S120中,对输入向量序列中的词向量进行分组。
分组的目的是为了减少自注意力处理的输入向量的数目(或称输 入向量序列的长度),从而使得自注意力处理的计算复杂度不会过大。 分组可以以多种方式来执行,只要能实现上述目的。
例如,可以按照输入向量序列中的词向量的顺序依次进行分组。 可选地,可以对输入向量序列中的词向量重新排序,然后再执行分组。
可选地,可以将输入向量序列中的词向量简单地分为两组,一组 要执行自注意力处理,而另一组词向量不需要执行自注意力处理。优 选地,可以将要执行自注意力处理的那组词向量进一步分组,每个子 分组将分别执行自注意力处理。通过该方式,能够进一步降低计算量 和复杂度,减少计算时间。
可选地,可以将输入向量序列中的全部词向量分为至少两组,各 组将分别执行自注意力处理。
可选地,对词向量(如输入向量序列中的全部词向量或者输入向 量序列中的要执行自注意力处理的词向量)的分组可以是均匀分组 (即每个分组的向量数目相等。在总的词向量数目不是分组向量数目 的倍数的情况下,将有一个分组的向量数目少于其他分组的向量数 目)。可选地,可以对词向量进行不均匀分组(即,每个分组的向量 数目可能不相等)。
以均匀分组为例,可以先确定分组的数目,或者先确定每个分组 的向量数目。可选地,可以实时地确定分组的数目或者每个分组的向 量数目。优选地,可以根据设备信息(例如指示设备的处理能力的信 息,例如设备的显存的大小)和/或输入向量序列中的词向量的数量, 来确定分组的数目或者每个分组的向量数目。例如,可以预先设置按 照每K个向量分为一组。K可以预先设置的正整数。K的选择可以取 决于设备能力,如设备的可用显存的大小。此外,K也可以根据输入 的词向量的数量实时确定,例如当输入的词向量的数量较小时,K可 以较大,反之,当输入的词向量的数量较大时,K可以较小,从而可 以实现动态的对长文本进行分组处理。若仅对一个分组执行自注意力 处理,而实际的文本长度(文本包含的词的总数m)小于K,则可 以选择所有的词向量进行自注意力处理。
图6示意性地示出了根据本公开实施例的分组操作的一个示例 实现。
如图所示,在步骤S120-1中,获取对输入向量序列中的词向量 进行分组时的组的数量。优选地,可以基于设备信息和/或输入向量 序列中的词向量的数量,获取所述对输入向量序列中的词向量进行分 组时的组的数量。
在步骤S120-2中,基于所述组的数量,对输入向量序列中的词 向量进行分组。
图6描述了对输入向量序列中的词向量进行分组的示例实现。应 该理解,图6所示的方案也可以适用于对其他要分组的词向量集合 (例如,输入向量序列中的词向量中的选定的要执行自注意力处理的 一组词向量)进行分组,仅需要将图6方案中的输入向量序列中的词 向量替代为要分组的词向量集合。
回到图1,在步骤S130中,对至少一组词向量执行自注意力处 理。
在步骤S130中,针对所述至少一组词向量中的任一分组执行的 自注意力处理可以采用任何已知的或将来开发的自注意力计算机制, 例如可以使用多头(multihead)自注意计算方法。显然,针对任一 分组执行的自注意力处理的输入仅是步骤S110中获取的输入向量序 列中的向量的子集,相对于未分组的输入向量序列实现了长度减小。 如前所述,现有技术的自注意力处理的计算复杂度与待处理文本的长 度(即输入向量序列的长度)成平方关系。因此,对分组后的词向量 执行自注意力处理的计算复杂度将远小于针对未分组的输入向量序 列执行自注意力处理的计算复杂度。
在步骤S140中,基于自注意力处理结果,生成待处理文本对应 的输出向量序列。
可选地,如果步骤S130中对不止一个分组执行了自注意力处理, 则可以将步骤S130中得到的各组的自注意力处理结果(即各组的输 出向量序列)合并为一组,得到合并后的向量序列。可选地,如果存 在不执行自注意力处理的分组,则还可以对合并后的向量序列进行补 零,使得向量数目与输入向量序列中的向量数目相同。然后可以对补 零后的向量序列执行进一步的语义编码,得到抽象特征,即待处理文 本对应的输出向量序列。此处的语义编码可以使用任何已知的语义编 码技术,本公开在这方面不受限制。补零后的向量序列中的各词向量 的顺序需要与步骤S110中的输入向量序列中各词向量的顺序一致。如果在之前的分组操作或分组操作之前执行过向量顺序的调整,则在 合并基于各组的自注意力处理结果时,还需要执行向量顺序的调整, 以恢复调整前的顺序。
图7示意性地示出了步骤S140的一个示例实现。
如图所示,在步骤S140-1中,将各组的自注意力处理结果进行 合并。合并后的向量序列中的各词向量的顺序与输入向量序列中对应 词向量的顺序一致。应该理解,当步骤S130中仅对一个分组执行自 注意力处理的情况下,该步骤S140-1可以省略。
当步骤S130中存在未执行自注意力处理的分组的情况下,在步 骤S140-2中,对合并后自注意力处理结果得到的合并后的向量序列 进行补零,其中,当步骤S130中仅对一个分组执行自注意力处理的 情况下,在步骤S140-2中,对该组自注意力处理结果对应的向量序 列进行补零(即可以没有合并的步骤)。补零后的向量序列与输入向 量序列的长度相同(即包括的向量数目相同),并且各词向量的顺序 与输入向量序列中各词向量的顺序一致。应该理解,当步骤S130中 对所有分组执行自注意力处理的情况下,该步骤S140-2可以省略。
在步骤S140-3中,根据补零后的向量序列,生成待处理文本对 应的输出向量序列。优选地,可以对补零后的向量序列执行一种或多 种语义编码,得到抽象特征,以生成待处理文本对应的输出向量序列。 该语义编码例如可以是卷积层处理和全连接层处理。
图8示意性地示出了步骤S140-3的一个示例实现。
如图所示,在步骤S140-3-1中,将补零后的向量序列与所述输 入向量序列相加。
在步骤S140-3-2中,对相加后的向量序列执行卷积处理。
在步骤S140-3-3中,将卷积前后的向量序列相加并接入全连接 层进行语义编码,以得到待处理文本对应的输出向量序列。
回到图1,概括而言,图1的方法100A是对输入向量序列进行 编码,该编码过程完成对待处理文本的时序信息的建模,所得的输出 向量序列是编码向量序列。
方法100A通过对长文本中的词语(对应于词向量)进行分组, 降低了自注意力机制的计算的时间和空间复杂度。因此,方法100A 可以适用于超长文本。
图2示出了根据本公开另一实施例的基于自注意力的处理文本 的方法100B的示意流程图。
如图所示,在步骤S110中:获取输入向量序列,所述输入向量 序列包括待处理文本的词向量序列。
在步骤S115中,对输入向量序列中的词向量进行排序。
在步骤S120中,对输入向量序列中的词向量进行分组。
在步骤S130中,对至少一组词向量执行自注意力处理。
在步骤S140中,基于自注意力处理结果,生成待处理文本对应 的输出向量序列。
方法100B与方法100A类似,区别在于:在对输入向量序列中 的词向量进行分组之前,对输入向量序列中的各词向量进行排序(步 骤S115)。下面主要介绍步骤S115。
在步骤S115中,可以根据输入向量序列中的各词向量的特定属 性对各词向量进行排序。考虑到长时间依赖问题,优选地,可以根据 各词向量的排序权重(排序权重的获取将在下文参考图3进行详细描 述),对输入向量序列中的各词向量进行排序。
关于方法100B中与方法100A类似的步骤,在此不再赘述。
图3示出了根据本公开又一实施例的基于自注意力的处理文本 的方法100C的示意流程图。
如图所示,在步骤S110中:获取输入向量序列,所述输入向量 序列包括待处理文本的词向量序列。
在步骤S113中,获取输入向量序列中的各词向量的排序权重。
在步骤S115’中,根据各词向量的排序权重,对输入向量序列中 的词向量进行排序。
在步骤S120中,对输入向量序列中的词向量进行分组。
在步骤S130中,对至少一组词向量执行自注意力处理。
在步骤S140中,基于自注意力处理结果,生成待处理文本对应 的输出向量序列。
方法100C与方法100B类似,区别在于:还包括获取输入向量 序列中的各词向量的排序权重(S113);并且是根据各词向量的排序 权重,对输入向量序列中的词向量进行排序(步骤S115’)。步骤S115’ 可以视为方法100B中的步骤S115的一个具体实现。
下面主要介绍步骤S113和S115’。
在步骤S113中,获取输入向量序列中的各词向量的排序权重。 可以针对输入向量序列中的每个向量计算一个排序权重,如上下文权 重,其反映该词语及其上下文的重要度。该权重例如可以包括通过卷 积神经网络编码在内的处理得到。卷积在计算一个词对应的向量时会 考虑到其前后词语,因此包含了局部语义信息(即上下文信息)。
优选地,可以通过下式来计算输入向量序列中的第i个向量的权 重:
gi=Sigmoid(W·FFN(xi)+b) (2)
其中W是学习得到的权重矩阵,b为偏置量。这些参数可以通 过反向梯度传递算法学习得到。xi是第i个词语对应的向量,xi由输 入前的底层的卷积神经网络编码得到。FFN(Feed-forward Network, 前馈网络)代表全连接层,FFN(xi)表示xi经过全连接层的输出结果。 公式中的gi反映了第i个词及其上下文的重要度,比如英文文本中的 the、a、an等冠词重要度比较低,而有实际含义的词语重要度高。
在步骤S115’中,根据各词向量的排序权重,对输入向量序列中 的词向量进行排序。在步骤S115’中执行排序是可以是针对输入向量 序列本身,或者可以是针对进一步处理后的输入向量序列。
图4示意性地示出了步骤S115’的一个示例实现。
如图所示,在步骤S115’-1中,针对每个词向量,根据其排序权 重,生成加权后的词向量。
例如,可以根据下式计算加权后的词向量hi,将重要程度反映到 词向量:
hi=xi*gi (3)
其中,gi是根据公式(2)计算得到的权重,xi是第i个词语对应 的向量。
优选地,步骤S115’-1中生成的加权后的词向量可以是加权后的 带位置信息的词向量,如图5所示。
图5示意性地示出了步骤S115’-1的一个示例实现。
在步骤S115’-1-1中,针对每个词向量,根据对应的位置向量, 获取带位置信息的词向量。
例如,可以将输入词向量与位置向量相加得到带位置信息的词向 量。位置向量可以通过任何已知的技术来预先获得。每个词语向量对 应一个位置向量。该操作可以在输入向量中增加时序信息,有助于确 定向量之间的先后顺序。
例如,可以根据下式计算带位置信息的词向量yi
yi=xi+si (4)
其中,xi是第i个词语对应的输入向量,si是第i个词语对应的位 置向量。
在步骤S115’-1-2中,根据词向量对应的排序权重以及带位置信 息的词向量,生成加权后的带位置信息的词向量。
例如,可以根据下式计算加权后的带位置信息的词向量h’i,将重 要程度和位置信息反映到词向量:
h’i=yi*gi (5)
其中,gi是根据公式(2)计算得到的权重,yi是第i个词语对应 的带位置信息的词向量。
回到图4,在步骤S115’-2中,根据各词向量的排序权重,对加 权后的词向量进行排序。
例如,可以根据G=[g1,g2,...,gm]对H=[h1,h2,...,hm]或H’= [h’1,h’2,...,h’m]进行排序,得到U=[U1,U2,...,Um]。
应该理解,步骤S120的分组操作也可以和排序操作一起实现。
例如,假定按照K个向量分为一组,则可以根据G=[g1,g2,...,gm] 对H=[h1,h2,...,hm]或H’=[h’1,h’2,...,h’m]进行排序分组,得到
U=[U1,U2,...,Um/K],
其中Ui=[hui1,hui2,...,huik]或[h’ui1,h’ui2,...,h’uik],
其中Ui表示第i组向量,包含H或H’中的K个向量。
关于方法100C中与方法100B和100A类似的步骤,在此不再 赘述。
图9示出了根据本公开一实施例的基于自注意力的自然语言处 理装置1000A的结构示意图。
如图所示,装置1000A包括输入向量获取模块1100、分组模块 1200、自注意力模块1300-1,...,1300-K(统称为自注意力模块1300) 以及输出向量生成模块1400。
输入向量获取模块1100配置为:获取输入向量序列,所述输入 向量序列包括待处理文本的词向量序列。
分组模块1200配置为:对输入向量序列中的词向量进行分组。
自注意力模块1300配置为:对至少一组词向量执行自注意力处 理。其中,自注意力模块1300-1,...,1300-K中每一个对一个词向量 分组执行自注意力处理。应该理解,尽管图中示出了多个自注意力模 块,但是在仅需要对一个分组词向量执行自注意力处理的情况下,可 以仅存在一个自注意力模块。
输出向量生成模块1400配置为:基于自注意力处理结果,生成 待处理文本对应的输出向量序列。
装置1000A中的输入向量获取模块1100、分组模块1200、自 注意力模块1300以及输出向量生成模块1400可以分别执行方法 100A的步骤S110、S120、S130和S140。关于装置1000A的具体 操作,请参见方法100A,在此不再赘述。
图10示出了根据本公开一实施例的基于自注意力的自然语言处 理装置1000B的结构示意图。
如图所示,装置1000B包括输入向量获取模块1100、排序模块 1150、分组模块1200、自注意力模块1300-1,...,1300-K(统称为自注 意力模块1300)以及输出向量生成模块1400。
输入向量获取模块1100配置为:获取输入向量序列,所述输入 向量序列包括待处理文本的词向量序列。
排序模块1150配置为:对输入向量序列中的各词向量进行排序。
分组模块1200配置为:对输入向量序列中的词向量进行分组。
自注意力模块1300配置为:对至少一组词向量执行自注意力处 理。
输出向量生成模块1400配置为:基于自注意力处理结果,生成 待处理文本对应的输出向量序列。
装置1000B中的输入向量获取模块1100、排序模块1150、分 组模块1200、自注意力模块1300以及输出向量生成模块1400可以 分别执行方法100B的步骤S110、S115、S120、S130和S140。关 于装置1000B的具体操作,请参见方法100B,在此不再赘述。
图11示出了根据本公开一实施例的基于自注意力的自然语言处 理装置1000C的结构示意图。
如图所示,装置1000C包括输入向量获取模块1100、门模块 1130、排序模块1150、分组模块1200、自注意力模块 1300-1,...,1300-K(统称为自注意力模块1300)以及输出向量生成模 块1400。
输入向量获取模块1100配置为:获取输入向量序列,所述输入 向量序列包括待处理文本的词向量序列。
门模块1130配置为:获取输入向量序列中的各词向量的排序权 重。
排序模块1150配置为:对输入向量序列中的各词向量进行排序。
分组模块1200配置为:对输入向量序列中的词向量进行分组。
自注意力模块1300配置为:对至少一组词向量执行自注意力处 理。
输出向量生成模块1400配置为:基于自注意力处理结果,生成 待处理文本对应的输出向量序列。
装置1000B中的输入向量获取模块1100、门模块1130、排序 模块1150、分组模块1200、自注意力模块1300以及输出向量生成 模块1400可以分别执行方法100B的步骤S110、S113、S115、S120、 S130和S140。关于装置1000C的具体操作,请参见方法100C, 在此不再赘述。
下面参考图12a、图12b和图12c介绍根据本公开实施例的基于自 注意力的自然语言处理模型。根据本公开的基于自注意力的自然语言 处理模型可以视为关于图9-11介绍的基于自注意力的自然语言处理 装置的实现示例。该模型通过分组对现有技术的自注意力模块进行了 改进(下面也称为分组注意力模块)。
图12a示出了根据本公开一实施例的基于自注意力的自然语言 处理模型的示例的示意图。
在该模型中,将对输入向量序列中的全部词向量进行分组,然后 对各组分别进行自注意力处理。
图12a的结构为由下向上结构。输入是由代表文本语义信息的向 量组成,文本中每一个词语对应一个向量,所有词语的向量组成输入 X=[x1,x2,...,xm],其中向量xi可以是预训练的词向量也可以是神经网 络的隐层状态向量,m是文本长度,每个向量xi可以是D维向量,其 中D可以为预先设置的正整数,例如可以为100或200。输入向量的获 取不在本公开内容。此模块对输入向量进行编码,编码过程完成对输 入文本时序信息的一次建模,输出是编码向量。
具体计算流程如下:
1、首先输入向量经过一个门(gate)单元,门单元为一个向 量计算一个权重值,该值反映了向量对于词语及其上下文信息的重要 程度。第i个向量的权重计算为,
gi=Sigmoid(Wxi+b)
其中W是学习得到的权重矩阵,b为偏置量,参数通过反向梯度 传递算法学习得到。xi是第i个词语对应的向量,xi由输入前的底层的 卷积神经网络编码得到,卷积在计算第i个词对应的向量时会考虑其 前后若干个词语,因此包含了局部语义信息(上下文信息)。因为卷 积只能考虑到周边几个词语的信息,不能建模全局信息,所以需要自 注意力机制。自注意力机制可以解决长距离跨度的信息依赖问题。公 式中gi反映了第i个词及其上下文的重要度,比如the、a、an等冠词重 要度比较低,而有实际含义或与问题相关的词语重要度高。
2、输入词向量与位置向量相加。位置向量为现有技术,预先 获得,每个词语向量对应一个位置向量。此步目的是对输入向量增加 时序信息,因为自注意力机制无法确定向量之间的先后顺序。
3、由门单元得到的权重与加入位置信息的向量相乘。此步将 重要程度反映到向量本身上。
hi=xi*gi
其中,gi是前步计算得到的权重,xi是加入位置向量后的词向量, hi是经过门运算的中间向量。
4、排序分组,根据重要程度的权重对文章中所有向量重新排 序,并按照每K个向量分为一组,得到分组后的分组向量,参数K为 人为预先设置的,K的选择主要取决于机器可用显存的大小,本公开 实验中使用K=20。此外,K也可以根据词向量的数量实时确定,例如 词向量数量较少时,K可以较大,相应的,词向量的数量较多时,K 可以较小,如对问题进行分组注意力模块的处理时,由于问题的词向 量数量较少,因此K可以取问题长度大小。
通过G=[g1,g2,...,gm]对H=[h1,h2,...,hm]排序
得到U=[U1,U2,...,Um/K]
Ui=[hui1,hui2,...,huik]
其中Ui表示第i组向量,包含H中的K个向量。
5、对各个组内的向量单独完成自注意力方法的计算。这里 的自注意力具体计算方法可采用任意现有注意力计算方法,例如 多头(multihead)自注意力方法。
6、合并模块。在各个组内的自注意力机制计算完成后,合 并模块将各个组的向量合并为一组,并恢复所有向量分组排序前 的顺序,合并前后向量个数不变。
7、将合并后的向量与输入向量相加,此步为残差连接。并 将得到的向量经过卷积层,完成对局部信息的建模。
8、卷积层的输出向量接入全连接层,得到抽象特征,即最 终输出向量。
步骤2、7和8可以使用现有的技术来实现,本公开在这方面不受 限制。
图12b示出了根据本公开另一实施例的基于自注意力的自然语 言处理模型的示例的示意图。图12c示出了图12b所示出的示例的 一个具体实现。
在该实施例中,将输入向量序列中的词向量分成两组,一个组进 行自注意力计算,另一个组不进行自注意力计算。换言之,在本实施 例中,并不对输入向量序列中的所有词向量进行自注意计算,而仅是 对输入向量序列中的筛选出的词向量进行自注意力计算。由于多文章 的阅读理解存在特征稀疏的特点,因此不需要对完整的文本进行自注 意力处理,可以采用本公开中的方法,选择重要度较高的词进行部分 的自注意力处理,从而能够进一步降低内存使用量和计算量,降低了 时间和空间计算复杂度。
图12b所示的结构为由下向上结构。输入是由代表文本语义信息 的向量组成,文本中每一个词语对应一个向量,所有词语的向量组成 输入X=[x1,x2,...,xm],其中向量xi可以是预训练的词向量也可以是神 经网络的隐层状态向量,m是文本长度。输入向量的获取可以通过各 种现有的或将来开发的技术来实现,本公开内容在这方面不受限制。 此模块对输入向量进行编码,编码过程完成对输入文本时序信息的一 次建模,输出是编码向量。
具体计算流程可以如下:
1、首先输入向量经过一个残差结构的卷积层,目的是对输入 序列的局部特征进行建模。其公式为:
H=conv(LN(X))+X
其中LN代表层标准化操作,conv代表卷积运算,例如深度可分 卷积,该卷积方式可以使得参数使用效率更高,X=[x1,x2,...,xm]是 输入向量,H=[h1,h2,...,hm]是卷积层的输出向量(包含残差),此 卷积层可以重复多次,比如重复两次。该步骤是可选步骤,在一些情 况下可以省略。
由上可见,上述残差结构的卷积层先对输入向量进行层标准化操 作,然后对标准化操作后的结果进行卷积运算,将卷积运算结果和输 入向量相加,得到输出向量。
2、接下来,上述卷积层的输出向量(或者在省略步骤1的情况 下,代之为输入向量)分别经过多个支路,所述多个支路包括:经过 门(gate)单元(即图12b中所示的S型函数)的支路(下文称为支 路1)、经过自注意力单元的支路(下文称为支路2)和经过一系列全连接层的支路(下文称为支路3)。
下面进一步描述这三个支路:
支路1:门单元为每个向量计算一个权重值,该值反映了向量对于 词语及其上下文信息的重要程度,门单元的输出可以为标量。从而得 到权重序列G=[g1,g2,...,gm],其中第i个向量的权重例如可以计算 为,
gi=Sigmoid(W·FFN0(hi)+b)
gi=g i/max(G)
其中W是学习得到的权重矩阵;b为偏置量;FFN(Feed-forward Network,前馈网络)代表全连接层,此处FFN0为非线性连接,FFN0 (hi)表示卷积层的输出经过全连接层的输出结果,FFN也可以称为全 连接网络(FCN,Fully connected network),FFN与FCN为同一网络的不同名称,该步骤为可选步骤;Sigmoid是S型函数,参数可以 通过反向梯度传递算法学习得到。hi是第i个词语对应的向量(上述卷 积层的输出),hi由输入前的底层的卷积神经网络编码得到,卷积在 计算第i个词对应的向量时会考虑其前后若干个词语,因此包含了局 部语义信息(上下文信息)。因为卷积只能考虑到周边几个词语的信 息,不能建模全局信息,所以需要自注意力机制。自注意力机制可以 解决长距离跨度的信息依赖问题。公式中gi反映了第i个词及其上下文 的重要度,gi也可以称为向量重要度,向量重要度gi的值高表示该向 量对于正确的预测答案是有较大贡献的,或者对长时间依赖的建模是 非常重要的。比如the、a、an等冠词重要度比较低,而有实际含义或 与问题相关的词语重要度高。
由上可见,在支路1中,上述残差结构的卷积层的输出向量先经 过一个全连接层进行处理,然后利用S型函数对全连接层的输出结果 中的每个向量计算向量重要度。
支路2:在经过自注意力单元前需完成排序选择操作,根据向量 重要度gi对输入向量中的所有词向量(即文章中的所有向量)重新排 序,并仅选取重要度最大的K个向量。参数K为预先设置的,K的选择 主要取决于机器可用显存的大小,本公开实验中使用K=256。此外, K也可以根据词向量的数量实时确定,例如词向量数量较少时,K可 以较大,相应的,词向量的数量较多时,K可以较小。如对问题进行 自注意力模块的处理时,由于问题的词向量数量较少,因此K可以取 问题长度大小。
通过G=[g1,g2,...,gm]对H=[h1,h2,...,hm]排序
得到
U=[hu1,hu2,...,huk]
其中U表示选取的向量,包含H中的K个向量。对选取的向量单独 完成自注意力方法的计算。这里的自注意力具体计算方法可采用任意 现有注意力计算方法,例如有放缩的点乘(Scaled Dot-Product Attention)自注意力方法。
A=ScaledDotProductAttention(U)
其中A=[au1,au2,...,auk]是Scaled Dot-Product Attention的输出 向量,包含K个向量。接下来恢复排序选择操作前的向量顺序和数量, 即将A中的每个向量所在位置恢复到排序前的原始位置,并对未被选 择的向量位置补充零向量,得到自注意力输出向量序列B=Pad(A)= [b1,b2,...,bm],其中Pad表示恢复顺序及补零操作。
支路3:卷积层输出向量hi(或者在省略步骤1的情况下,代之为 输入向量)经过一系列全连接操作,以提取抽象特征
ci=FFN1(FFN0(hi))
从而得到向量序列C=[c1,c2,...,cm],FFN0为非线性连接,FFN1是线性连接。
3、合并操作。将前面所述三个支路的输出融合。当使用多头 (multi-head)自注意力计算方法时,以上步骤(步骤2中除非线性 全连接操作之外的其他操作)可重复J次,如图12c所示,图中上方虚 线框中的操作可以重复J次。记第j次的三路输出分别为Cj,Bj,Gj,则合并运算如下:
Ej=(Cj+Bj)·Gj或Ej=(Cj+Bj)·(Gj/max(Gj))
E=Concat([E1,E2,...,EJ])
Y=FFN2(E)+H
其中Concat代表向量拼接操作,E为中间结果,FFN2是线性全 连接层,用于合并上述三个支路的输出结果,这里的加法和乘法是按 元素加法和乘法,加H代表残差部分,Y是本模块的最终输出,Y=[y1, y2,...,ym]其包含了对长时间依赖的建模信息。
Ej有两种求解方式,对于第二种方式,max操作是指按行取最大 值的操作。公式中使用支路3的输出可以避免训练时梯度为零的问题。
由上可见,在合并操作时,先将支路3和支路2输出的结果进行相 加,得到Cj+Bj,然后再与支路1输出的结果进行相乘,得到Ej,由于 使用了多头(multi-head)自注意力计算方法,因此可以对多次计算 出的Ej执行拼接操作,得到E,对E进行线性变换,即进行线性全连接 操作,将线性全连接的输出结果和步骤1中卷积层的输出结果相加(该 过程可以认为是残差连接过程),得到最终的输出Y。
此外,可选的,为增强重要度的区分性,训练时可以增加对G的 L1正则项
L1=(1/N)·β·sum(|G|)
其中|·|表示1范数计算符,L1是加入的正则项,β是正则项系数, β取非常小的值,例如10-5,N为训练集的数据量。L1的使用可以使得 不重要的词的门激活值(向量重要度)接近零,增强了重要度的区分 性。
模型训练的损失(目标)函数为
L=Lans+L1
其中Lans是答案预测层的损失函数,具体计算方法取决于任务类 型(选择型问答或者抽取式问答),为现有方法,模型通过梯度下降 方法优化此损失函数L。
图13示意性地示出了可以应用本公开实施例的机器阅读理解系 统的示意图。
自注意力机制用于对长文本建模的最常见应用是机器阅读理解 任务。机器阅读理解任务目标在于让机器学会根据文章内容回答人类 提出的问题。这类任务可以作为测试计算机能否很好理解自然语言的 基线方法,同时机器阅读理解又有广泛的应用场景,例如搜索引擎、 电子商务、教育领域等等。
如图13所示,阅读理解系统可以应用于问答系统场景中。用户 输入问题,首先检索模块根据关键词对文章数据库(数据库预先搭建, 存储大量文章数据)进行搜索,找到与用户问题相关文章。得到相关 文章后由阅读理解系统根据问题对文章内容进行分析、理解、推理, 找到用户问题对应的答案并反馈给用户。本公开提出的分组自注意力 处理可以用于改进例如图13中的阅读理解模块。
本公开提出了对现有机器阅读理解方案的改进,其思想在于:对 于长文本,可以将现有机器阅读理解方案中的高计算复杂度的自注意 力处理替换为本公开关于图1-3介绍的方法100A-100C中的任一种 (即分组自注意力处理),从而降低计算复杂度。实践中,文章可能 很长,而问题相对较短。因此,本公开提出:针对文章侧的自注意力 处理需要替换为本公开的分组自注意力处理;而问题侧的自注意力处 理可以使用本公开的分组自注意力处理,也可以使用现有的自注意力 处理。下面通过实施例具体介绍根据本公开的机器阅读理解方法。
图14示出了根据本公开实施例的机器阅读理解方法200A的示 意流程图。
如图所示,在步骤S210中,获取问题和文章。
在步骤S220中,针对文章的文本,执行分组自注意力处理,以 得到文章文本的自注意力处理后的词向量序列。此处的分组自注意力 处理可以用上文关于图1-3介绍的方法100A-100C中的任一种来实 现。
例如,步骤S220可以使用方法100A来实现。于是,步骤S220 可以包括:
步骤S110,获取输入向量序列,所述输入向量序列包括待 处理文本的词向量序列;
步骤S120,对输入向量序列中的词向量进行分组;
步骤S130,对至少一组词向量执行自注意力处理;以及
步骤S140,基于自注意力处理结果,生成待处理文本的自 注意力处理后的词向量序列。
在步骤S230中,根据文章文本的自注意力处理后的词向量序列, 获得文章中每个词语关于所述问题的对齐向量。例如,可以根据注意 力(co-attention)方法来执行所述对齐。该注意力方法可以利用现 有的或将来开发的注意力方法,本公开在这方面不受限制。
在步骤S240中,根据对齐向量,生成针对问题的答案。
例如,将对齐向量与文章文本对应的词向量进行融合,生成隐层 状态向量大小(hidden_size)的向量。融合后的向量可以进一步编 码,以生成针对问题的答案。
图16示意性地示出了步骤S240的一个示例实现。
如图所示,在步骤S240-1中,将对齐向量序列与文章文本的自 注意力处理后的词向量序列进行融合。
在步骤S240-2中,以融合后的向量序列作为输入向量序列,执 行多次分组自注意力处理,以得到隐层向量序列。同样,此处的分组 自注意力处理可以用上文关于图1-3介绍的方法100A-100C中的任 一种来实现。
在步骤S240-3中,根据隐层向量序列,生成针对问题的答案。
上述方法200A可以适用于根据一篇文章获取文章的答案,也可 以适用于根据多篇文章获取文章的答案。下面考虑根据多篇文章来获 取问题答案的实施例。在这样的实施例中,在步骤S210中将获取问 题和多篇文章。将针对每篇文章,执行步骤S220和S230,得到每 篇文章中的每个词语关于问题的对齐向量。然后,在步骤S240中, 将每篇文章的对齐向量序列与各自对应的文章文本的自注意力处理 后的词向量序列进行融合;对每篇文章的融合后的词向量序列分别再 次执行自注意力处理;将所有文章的再次执行自注意力处理后的词向 量序列一起作为输入向量序列,执行多次分组自注意力处理,以得到 隐层向量序列;然后,根据隐层向量序列,生成针对问题的最终答案。
图15示出了根据本公开实施例的机器阅读理解方法200B的示 意流程图。
如图所示,在步骤S210中,获取问题和文章。
在步骤S220中,针对文章的文本,执行分组自注意力处理,以 得到文章文本的自注意力处理后的词向量序列。
在步骤S225中,针对问题的文本,执行分组自注意力处理,以 得到问题文本的自注意力处理后的词向量序列。此处的分组自注意力 处理可以用上文关于图1-3介绍的方法100A-100C中的任一种来实 现。
在步骤S230’中,根据文章文本的自注意力处理后的词向量序列 和问题文本的自注意力处理后的词向量序列,获得文章中每个词语关 于所述问题的对齐向量。步骤S230’可以视为步骤S230的一个具体 实现。
在步骤S240中,根据对齐向量,生成针对问题的答案。
方法200B与方法200A类似,区别主要在于步骤S225和S230’。 关于方法200B中与方法200A类似的步骤,此处不再赘述。
图17示出了根据本公开实施例的机器阅读理解装置2000A的结 构示意图。根据本公开实施例的机器阅读理解装置2000A可以用作 图13中的阅读理解模块,以提供改进的机器阅读理解系统。
如图所示,装置2000A可以包括输入模块2100、分组自注意力 模块2200、对齐模块2300、答案生成模块2400。
输入模块2100可以配置为:获取问题和文章。
分组自注意力模块2200可以配置为:针对文章的文本,执行分 组自注意力处理,以得到文章文本的自注意力处理后的词向量序列。 分组自注意力模块2200可以用关于图9-11介绍的基于自注意力的自 然语言处理装置中的任一种来实现。
例如,当分组自注意力模块2200用关于图9介绍的基于自注意 力的自然语言处理装置1000A来实现时,其可以包括:
输入向量获取模块,配置为:获取输入向量序列,所述输入 向量序列包括待处理文本的词向量序列;
分组模块,配置为:对输入向量序列中的词向量进行分组;
自注意力模块,配置为:对至少一组词向量执行自注意力处 理;以及
输出向量生成模块,配置为:基于自注意力处理结果,生成待处 理文本对应的输出向量序列。
对齐模块2300可以配置为:根据文章文本的自注意力处理后的 词向量序列,获得文章中每个词语关于所述问题的对齐向量。
答案生成模块2400可以配置为:根据对齐向量,生成针对问题 的答案。优选地,答案生成模块2400可以包括多个子模块。图19 示意性地示出了答案生成模块2400的一个实现示例。
如图19所示,答案生成模块2400可以包括:融合模块2410、 多个(如N个)分组自注意力模块2420和答案形成模块2430。
融合模块2410可以配置为:将对齐向量序列与文章文本的自注 意力处理后的词向量序列进行融合。应该理解,在根据多篇文章来获 取问题答案的实施例,可以存在多个融合模块,其中每篇文章对应一 个融合模块。
多个分组自注意力模块2420可以配置为:以融合后的向量序列 作为输入向量序列,执行多次分组自注意力处理,以得到隐层向量序 列。此处的每个分组自注意力模块2420可以用关于图9-11介绍的基 于自注意力的自然语言处理装置中的任一种来实现。
答案形成模块2430可以配置为:根据隐层向量序列,生成针对 问题的答案。
装置2000A中的输入模块2100、分组自注意力模块2200、对 齐模块2300、答案生成模块2400可以分别执行方法200A的步骤 S210、S220、S230和S240。关于装置2000A的具体操作,请参 见方法200A,在此不再赘述。
图18示出了根据本公开另一实施例的机器阅读理解装置2000B 的结构示意图。根据本公开实施例的机器阅读理解装置2000B可以 用作图13中的阅读理解模块,以提供改进的机器阅读理解系统。
如图所示,装置2000B可以包括输入模块2100、问题侧分组自 注意力模块2250、文章侧分组自注意力模块2200、对齐模块2300’、 答案生成模块2400。
输入模块2100可以配置为:获取问题和文章。
问题侧分组自注意力模块2250可以配置为:针对问题的文本, 执行分组自注意力处理,以得到问题文本的自注意力处理后的词向量 序列。
文章侧分组自注意力模块2200可以配置为:针对文章的文本, 执行分组自注意力处理,以得到文章文本的自注意力处理后的词向量 序列。
对齐模块2300’可以配置为:根据文章文本的自注意力处理后的 词向量序列和问题文本的自注意力处理后的词向量序列,获得文章中 每个词语关于所述问题的对齐向量。模块2300’可以视为模块2300 的一个具体实现。
答案生成模块2400可以配置为:根据对齐向量,生成针对问题 的答案。
装置2000B与装置2000A的区别主要在于问题侧分组自注意力 模块2250和对齐模块2300’。装置2000B中与装置2000A相似的 部分在此不再赘述。
装置2000B中的输入模块2100、问题侧分组自注意力模块2250、 文章侧分组自注意力模块2200、对齐模块2300、答案生成模块2400 可以分别执行方法200B的步骤S210、S225、S220、S230和S240。 关于装置2000B的具体操作,请参见方法200A,在此不再赘述。
图20a示出了根据本公开实施例的机器阅读理解模型的示例的 示意图。
根据本实施例的机器阅读理解模型可以视为关于图17-18介绍的 机器阅读理解装置的实现示例。该模型通过用本公开的分组注意力模 块(如关于图9-11中任一项所述的基于自注意力的自然语言处理装置) 替换了现有技术的自注意力模块,提供了改进的机器阅读理解系统。
本实施例中使用相对成熟的机器阅读理解模型,结构如图20a所 示。其特别之处是将传统的自注意力模块替换为了本公开的分组注意 力模块。图20a示出的模型适于从一篇文章中提取问题的答案。
模型分别对问题和文章建模,并从文章中提取答案。
1、首先将获取输入向量,输入向量为根据文本词语查表得到 的预训练词向量,以及字符向量,为了增强模型效果,还可增加POS、 NER等向量。这些向量按纬度拼接得到输入向量。
2、对输入向量进行语义编码。该语义编码可以通过多种方式 来实现。例如,可以将输入向量通过BiLSTM进行特征提取。又如, 可以将输入向量通过高速公路(Highway)层完成初步的特征提取, 并降维为隐层状态向量(hidden_size)大小(如实验中hidden_size为128维),接下来经过卷积层,对局部特征做提取,得到包含上下 文信息的向量,同时一定程度上消词语除歧义。
3、将步骤2的输出向量输入本公开提出的分组注意力模块中, 完成对文本长时序的建模。
4、对齐模块使用注意力(co-attention)方法,得到文章中每 个词语及其上下文关于问题的对齐向量。
5、融合模块将对齐向量与文章侧向量融合成hidden_size大 小的向量。
6、融合后的向量作为分组注意力模块的输入,输入到N个分 组注意力模块中,N个分组注意力模块串联连接,N是预先设定的, 比如N=10,最终得到高度抽象的隐层向量。
7、将步骤6输出向量输入答案输出层并线性映射为得分,选取 得分最大候选答案作为输出答案。答案输出层可以利用现有的各种技 术来实现,例如可根据使用数据集类型选择层次区间方法或简单线性 映射方法,本公开在这方面不受限制。
图20b示出了根据另一公开实施例的机器阅读理解模型的示例 的示意图。
根据本实施例的机器阅读理解模型可以视为关于图17-18介绍的 机器阅读理解装置的另一实现示例,其适于从多篇文章中提取问题的 答案。该模型通过用本公开的分组注意力模块替换了现有技术的自注 意力模块,提供了改进的机器阅读理解系统,本示例中的分组注意力 模块的长度是可以动态变化的,因此分组注意力模块也可以称为动态 注意力模块。
如图所示,模型分别对问题和文章(包含多篇文章,如图20b中 包含M篇文章)建模,并从这多篇文章中提取答案。
1、首先将获取输入向量。输入向量为根据文本词语查表得到 的预训练词向量,以及字符向量。字符向量可以通过卷积和最大池化 操作得到字符编码,词向量和字符编码进行拼接,拼接后的向量可以 作为输入向量。为了增强模型效果,还可增加POS、NER等向量。这些向量按维度拼接得到输入向量。
2、对输入向量进行语义编码。该语义编码可以通过多种方式 来实现。例如,可以将输入向量通过BiLSTM进行特征提取。又如, 可以将输入向量通过高速公路(Highway)层完成初步的特征提取, 并降维为隐层状态向量(hidden_size)大小(如实验中hidden_size为128维),接下来经过卷积层,对局部特征做提取,得到包含上下 文信息的向量,同时一定程度上消词语除歧义。其中,Highway可以 为多层结构,如2层。Highway层之后还可以接入一个线性全连接层, 将维度降为标准维度。此外,在线性全连接层之后,可以将输出结果和位置向量进行相加,得到的输出结果可以认为是语义编码的输出结 果,上述位置向量可以使用正弦的位置向量(sinusoidal positional embeddings)。
3、将步骤2的输出向量输入本公开提出的动态注意力模块中, 完成对各文本长时序的建模,其中每个问题及每个文章可以分别对应 一个动态自注意力模块。
4、对齐模块使用注意力(co-attention)方法,得到每篇文章 中每个词语及其上下文关于问题的对齐向量,其中每个文章可以分别 对应一个对齐模块。
5、融合模块(可以通过线性层实现)将对齐向量与文章侧向 量融合成hidden_size大小的向量,这里可使用线性全连接层,其中 每个文章可以分别对应一个融合模块。
6、融合后的向量作为动态注意力模块的输入,首先每篇文章 输入独立的动态注意力模块,完成每篇文章各自的建模,接下来将所 有文章拼接到一起,并输入到N个动态注意力模块中(这N个动态注 意力模块串联连接在一起,N是预先设定的,比如N=4),最终得到 高度抽象的隐层向量。其中,将所有文章拼接到一起之后,可选的, 还可以加入文章对应的排序向量(将拼接结果和对应的排序向量相 加);可选的,还可以在拼接之后加入位置向量(将拼接结果和位置 向量进行相加),上述位置向量可以使用正弦的位置向量(sinusoidal positional embeddings)。
对多文章阅读理解任务,存在多文章之间的互引互证以及多跳的 现象,解决这些问题对正确的机器阅读理解是非常必要的,因此需要 做文章之间的信息交互。对于多文章的阅读理解,现有技术通常采用 文章级别或块级别的处理方式,而由于文本长度通常很长,现有技术 的处理方式的处理颗粒度较粗,使得答案的预测准确率较低。本公开 中通过N个动态注意力模块可以实现词级别的跨文章的自注意力处 理,相比文章级别或块级别的处理方式,词级别的跨文章的自注意力 处理的处理粒度更细,能够减少信息混淆,提高答案的预测准确率。
7、将步骤6输出向量输入答案输出层,并线性映射为得分,选 取得分最大的候选答案作为输出答案。同样,答案输出层可以利用现 有的各种技术来实现,例如可根据使用任务类型或数据集类型选择层 次区间方法或简单线性映射方法,本公开在这方面不受限制。
容易看出,图20b与图20a模型是类似的,其区别主要在于上述 步骤6。具体地,在只有一篇文章时,只需要对该篇文章进行建模, 直接将建模结果输入到N个动态注意力模块中,最终得到高度抽象的 隐层向量。而当存在多篇文章时,需要先完成每篇文章各自的建模, 然后将所有文章的建模结果拼接到一起,再输入到N个动态注意力模 块中,最终得到高度抽象的隐层向量。
图20c示出了图20b所示出的示例的一个具体实现。针对图20c的 示例实现,发明人进行了实验。本实验关注大规模机器阅读理解任务 (如WikiHop),此任务可能包含一个约5万个问答对的阅读理解数 据集,其数据内容涵盖诸多方面,是机器阅读理解领域的一个代表性 数据集。
数据中每一个样本包含一个文章段落、一个问题以及此问题的候 选答案,此数据集最大的特点是文本长度超长,相比其他一些流行的 阅读理解数据集300-500词的程度,此数据集最长文本可达15000个 词以上,平均长度在1500词以上。这导致一般的基于自注意力机制 的模型无法在此数据集上运行。
在实验中,首先进行文本的预处理,预处理过程删除文章中的一 些无意义标记,如:123、[Note 45]等,并对文本进行分词、提取POS、 提取NER等步骤,并用数据集中出现的词语构造出字典,将文本词语 转换为由于查表的id信息。预训练的词向量选用公开可下载的300维 GloVe。
完成数据的预处理后,将数据用于模型训练,并在开发数据集上 做验证。模型训练过程如前文所述。一些配置信息如下,输入向量降 维为128维特征向量,激活函数采用gelu,网络中卷积核大小为7,一 组卷积包含2层卷积层,highway网络为2层结构。批(Batch)大小 为32,使用4块图形处理器(Graphics Processing Unit,GPU)按同 步梯度更新策略分布式训练,学习率为0.001,训练约1.4万步。
本实施例的实验效果如下:
下表为本实施例提出的模型在WikiHop dev数据集上的验证结果, Coref-GRU、MemNet、MHQA-GRN模型作为基线模型用于性能对 比,结果如下表所示。
正确率
Coref-GRU 56.0
MemNet+Sup 62.7
MHQA-GRN 62.8
本公开实施例 70.1
可用看到本实施例提出的模型大大提高了正确率,实验结果验证 了本公开提出的模型的有效性。同时使得自注意力机制可以在超长文 本上变得可行。
图21示出了根据本公开另一实施例的机器阅读理解方法300的 示意流程图。
如图所示,在步骤S310中,获取问题和文章。
在步骤S320中,针对问题和文章执行语义编码、对齐和融合。 具体地,可以分别针对问题的文本和文章的文本执行语义编码以提取 特征,得到问题侧词向量序列和文章侧词向量序列。此处的语义编码 例如可以通过BiLSTM进行,或者可以高速公路(Highway)层和卷 积层编码来完成。然后,可以将文章中的每个词语关于问题进行对齐, 得到对齐向量序列。对齐向量可以与文章侧词向量序列进行融合,以 降低维度,得到融合后的向量序列。此处的语义编码、对齐和融合可 以使用任何现有的相关技术来实现,本公开在这些方面不受限制。
在步骤S330中,针对融合后的向量序列,执行多次分组自注意 力处理。此处的执行次数可以预先设定,例如可以执行10次。同样, 此处的分组自注意力处理可以用上文关于图1-3介绍的方法 100A-100C中的任一种来实现。
在步骤S340中,根据分组自注意力处理结果,生成针对问题的 答案。例如,将作为分组自注意力处理结果的向量序列中的向量线性 映射为得分,选取得分最大的候选答案作为输出答案。
图22示出了根据本公开另一实施例的机器阅读理解装置3000 的结构示意图。机器阅读理解装置3000可以用于执行方法300。根 据本公开实施例的机器阅读理解装置3000可以用作图13中的阅读 理解模块,以提供改进的机器阅读理解系统。
如图所示,装置3000可以包括输入模块3100、编码模块3200、 多个分组自注意力模块3300、答案生成模块3400。
输入模块3100可以配置为:获取问题和文章。
编码模块3200可以配置为:针对问题和文章执行语义编码、对 齐和融合。
多个分组自注意力模块3300可以配置为:针对编码模块3200 输出的融合后的向量序列,执行多次分组自注意力处理。这多个分组 自注意力模块3300级联在一起。当存在N(例如10)个分组自注意 力模块3300,可以执行N次分组自注意力处理。同样,此处的分组自注意力模块可以用上文关于图9-11介绍的装置1000A-1000C中的 任一种来实现。
例如,当分组自注意力模块3200用关于图9介绍的基于自注意 力的自然语言处理装置1000A来实现时,其可以包括:
输入向量获取模块,配置为:获取输入向量序列,所述输入 向量序列包括待处理文本的词向量序列;
分组模块,配置为:对输入向量序列中的词向量进行分组;
自注意力模块,配置为:对至少一组词向量执行自注意力处 理;以及
输出向量生成模块,配置为:基于自注意力处理结果,生成 待处理文本对应的输出向量序列。
答案生成模块3400可以配置为:根据分组自注意力处理结果, 生成针对问题的答案。
装置3000中的输入模块3100、编码模块3200、分组自注意力 模块3300、答案生成模块3400可以分别执行方法300的步骤S310、 S320、S330和S340。关于装置3000的具体操作,请参见方法3000, 在此不再赘述。
图23示出了根据本公开另一实施例的机器阅读理解模型的一个 示例的示意图。
根据本实施例的机器阅读理解模型可以视为关于图22介绍的机 器阅读理解装置的实现示例。该模型通过用本公开的分组注意力模块 (如关于图9-11中任一项所述的基于自注意力的自然语言处理装置) 替换了现有技术的自注意力模块,提供了改进的机器阅读理解系统。
本实施例中使用相对成熟的机器阅读理解模型,结构如图23所 示。其特别之处是将传统的自注意力模块替换为了本公开的分组注意 力模块。
该模型分别对问题和文章建模,并从文章中提取答案。
1、首先将获取输入向量,输入向量为根据文本词语查表得到 的预训练词向量,以及字符向量,为了增强模型效果,还可增加POS、 NER等向量。这些向量按纬度拼接得到输入向量。
2、对文章侧输入向量和问题侧输入向量分别进行语义编码, 然后执行对齐和融合。该语义编码可以通过多种方式来实现。例如, 可以将输入向量通过BiLSTM进行特征提取。又如,可以将输入向量 通过高速公路(Highway)层完成初步的特征提取。然后,使用注意 力(co-attention)方法,得到文章中每个词语关于问题的对齐向量。 然后,对齐向量可以与文章侧输入向量序列进行融合,得到融合后的 向量序列。
3、融合后的向量作为分组注意力模块的输入,输入到N个分 组注意力模块中,N个分组注意力模块串联连接,N是预先设定的, 比如N=10,最终得到高度抽象的隐层向量。
4、将步骤3的输出向量线性映射为得分,选取得分最大的候选 答案作为输出答案。
图24示出了根据本公开实施例的通用语义编码方法400的示意 流程图。
如图所示,在步骤S410中,获取文章。具体地,获得文章文本 的词向量序列。
在步骤S420中,针对文章执行语义编码,得到文章的词向量序 列。该步骤为可选步骤。该语义编码可以通过多种方式来实现。例如, 可以将输入向量通过BiLSTM进行特征提取。又如,可以将输入向量 通过高速公路(Highway)层完成初步的特征提取,并降维为隐层状 态向量(hidden_size)大小。
在步骤S430中,执行多次分组自注意力处理,以得到文章文本 的自注意力处理后的词向量序列。此处的执行次数可以预先设定。此 处的分组自注意力处理可以用上文关于图1-3介绍的方法 100A-100C中的任一种来实现。
例如,步骤S430可以使用方法100A来实现。于是,步骤S430 可以包括:
获取文章文本的词向量序列作为输入向量序列;
对输入向量序列中的词向量进行分组;
对至少一组词向量执行自注意力处理;以及
基于自注意力处理结果,生成待处理文本的自注意力处理后 的词向量序列。
在步骤S440中,根据文章文本的自注意力处理后的词向量序列, 输出任务结果。该输出取决于特定任务需要,如文本分类任务中此输 出为线性映射结果。
图25示出了根据本公开实施例的通用语义编码装置4000的结 构示意图。根据本公开实施例的通用语义编码装置4000可以用于各 种与机器阅读相关的系统,以提供改进的性能。
如图所示,装置4000可以包括输入模块4100、编码模块4200、 多个分组自注意力模块4300、任务输出模块4400。
输入模块4100可以配置为:获取文章。
编码模块4200,可以配置为:针对文章执行语义编码,得到文 章的词向量序列。此处的语义编码例如可以通过BiLSTM进行,或者 可以高速公路(Highway)层和卷积层编码来完成。编码模块4200 是可选的。如果输入模块4100直接获取的文章的词向量序列,则编 码模块4200可以省略。
多个分组自注意力模块4300可以配置为:针对文章的词向量序 列,执行多次分组自注意力处理,以得到文章文本的自注意力处理后 的词向量序列。这多个分组自注意力模块4300级联在一起。当存在 N个分组自注意力模块4300,可以执行N次分组自注意力处理。同 样,此处的分组自注意力模块4300可以用关于图9-11介绍的基于自 注意力的自然语言处理装置中的任一种来实现。
例如,当分组自注意力模块4300用关于图9介绍的基于自注意 力的自然语言处理装置1000A来实现时,其可以包括:
输入向量获取模块,配置为:获取输入向量序列,所述输入 向量序列包括文章文本的词向量序列;
分组模块,配置为:对输入向量序列中的词向量进行分组;
自注意力模块,配置为:对至少一组词向量执行自注意力处 理;以及
输出向量生成模块,配置为:基于自注意力处理结果,生成待处 理文本对应的输出向量序列。
任务输出模块4400可以配置为:根据文章文本的自注意力处理 后的词向量序列,输出任务结果。
装置4000中的输入模块4100、编码模块4200、分组自注意力 模块4300、任务输出模块4400可以分别执行方法400的步骤S410、 S420、S430和S440。关于装置4000的具体操作,请参见方法400, 在此不再赘述。
图26示出了根据本公开实施例的通用语义编码模型的示例的示 意图。
图26的左侧示出了现有技术的通用语义编码模型结构。图26的 右侧示出了本公开实施例的通用语义编码模型结构,其可以视为图25 中所示的装置3000的一个示例实现。图26所示的两个模型是类似的, 区别在于:右侧所示的模型用本公开的分组注意力模块(如关于图 9-11中任一项所述的基于自注意力的自然语言处理装置)替换了现有 技术的自注意力模块,提供了改进的通用语义编码系统。图26所示的 模型对输入文章建模,编码出文章的语义表示向量,并输出语义向量 以完成后续特定任务。具体操作如下:
1、首先将获取输入向量,输入向量为根据文本词语查表得到的 预训练词向量或通过预训练的语言模型(如BERT、ELMo等现有模 型)获得,以及字符向量,为了增强模型效果,还可增加POS、NER 等向量。这些向量按维度拼接得到输入向量。
2、对输入向量进行语义编码,此步骤为可选操作。该语义编码 可以通过多种方式来实现。例如,可以将输入向量通过BiLSTM进行 特征提取。又如,可以将输入向量通过高速公路(Highway)层完成 初步的特征提取,并降维为隐层状态向量(hidden_size)大小(如实验中hidden_size为128维)。
3、将步骤2的输出向量输入自注意力模块(如图26左侧模型所 示,其使用现有技术的自注意力方法,如多头自注意力方法、 Transformer模型等)或本公开提出的分组注意力模块(如图26右侧 模型所示,其使用本公开提出的分组自注意力方法,也可以称为动态注意力模块)中,完成对文本长时序的建模,本步骤可以重复N次, 如N=3,到此步骤为止完成语义编码。
4、将步骤3的输出向量作为后续特定任务输出层的输入,输出层 结构取决于特定任务需要,如文本分类任务中此输出层为线性映射层 (现有技术),最终输出特定任务的结果。
针对图26右侧的模型实施例,发明人进行了实验。本实验关注文 本分类任务,此任务包含一个约1万句子的文本分类数据集,其数据 内容涵盖评论网站上的用户留言,是建议挖掘领域的一个代表性数据 集。数据中每一个样本包含一个句子以及这个句子是否为表示建议语 义的句子的标签。
在实验中,首先进行文本的预处理,预处理过程删除文章中的一 些无意义标记,如:123、[Note 45]等,并对文本进行分词、提取POS、 提取NER等步骤,并用数据集中出现的词语构造出字典,将文本词语 转换为基于查表的id信息。预训练的词向量选用公开可下载的BERT 模型获得。
完成数据的预处理后,将数据用于模型训练,并在开发数据集上 做验证。模型训练过程如前文所述。一些配置信息如下,输入向量降 维为128维特征向量,激活函数采用gelu,网络中卷积核大小为7,一 组卷积包含2层卷积层。Batch大小为32,学习率为0.001。
下表示出了本实施例提出的模型和现有技术模型在建议挖掘数 据集上的验证结果:
方法 正确率
基于规则的方式 26.8
本公开实施例 76.3
可以看到本实施例提出的模型大大提高了正确率,实验结果验证 了本公开提出的模型的有效性。
图27是示出根据各种实施例的网络环境2700中的电子装置 2701的框图。参照图27,网络环境2700中的电子装置2701可经 由第一网络2798(例如,短距离无线通信网络)与电子装置2702 进行通信,或者经由第二网络2799(例如,长距离无线通信网络) 与电子装置2704或服务器2708进行通信。根据实施例,电子装置 2701可经由服务器2708与电子装置2704进行通信。根据实施例, 电子装置2701可包括处理器2720、存储器2730、输入装置2750、 声音输出装置2755、显示装置2760、音频模块2770、传感器模块 2776、接口2777、触觉模块2779、相机模块2780、电力管理模块 2788、电池2789、通信模块2790、用户识别模块(SIM)2796或 天线模块2797。在一些实施例中,可从电子装置2701中省略所述 部件中的至少一个(例如,显示装置2760或相机模块2780),或者 可将一个或更多个其它部件添加到电子装置2701中。在一些实施例 中,可将所述部件中的一些部件实现为单个集成电路。例如,可将传 感器模块2776(例如,指纹传感器、虹膜传感器、或照度传感器) 实现为嵌入在显示装置2760(例如,显示器)中。
处理器2720可运行例如软件(例如,程序2740)来控制电子 装置2701的与处理器2720连接的至少一个其它部件(例如,硬件 部件或软件部件),并可执行各种数据处理或计算。根据一个实施例, 作为所述数据处理或计算的至少部分,处理器2720可将从另一部件(例如,传感器模块2776或通信模块2790)接收到的命令或数据 加载到易失性存储器2732中,对存储在易失性存储器2732中的命 令或数据进行处理,并将结果数据存储在非易失性存储器2734中。 根据实施例,处理器2720可包括主处理器2721(例如,中央处理 器(CPU)或应用处理器(AP))以及与主处理器2721在操作上独 立的或者相结合的辅助处理器2723(例如,图形处理单元(GPU)、 图像信号处理器(ISP)、传感器中枢处理器或通信处理器(CP))。另外地或者可选择地,辅助处理器2723可被适配为比主处理器2721 耗电更少,或者被适配为具体用于指定的功能。可将辅助处理器2723 实现为与主处理器2721分离,或者实现为主处理器2721的部分。
在主处理器2721处于未激活(例如,睡眠)状态时,辅助处理 器2723可控制与电子装置2701(而非主处理器2721)的部件之中 的至少一个部件(例如,显示装置2760、传感器模块2776或通信 模块2790)相关的功能或状态中的至少一些,或者在主处理器2721 处于激活状态(例如,运行应用)时,辅助处理器2723可与主处理 器2721一起来控制与电子装置2701的部件之中的至少一个部件(例 如,显示装置2760、传感器模块2776或通信模块2790)相关的功 能或状态中的至少一些。根据实施例,可将辅助处理器2723(例如, 图像信号处理器或通信处理器)实现为在功能上与辅助处理器2723 相关的另一部件(例如,相机模块2780或通信模块2790)的部分。
存储器2730可存储由电子装置2701的至少一个部件(例如, 处理器2720或传感器模块2776)使用的各种数据。所述各种数据 可包括例如软件(例如,程序2740)以及针对与其相关的命令的输 入数据或输出数据。存储器2730可包括易失性存储器2732或非易 失性存储器2734。
可将程序2740作为软件存储在存储器2730中,并且程序2740 可包括例如操作系统(OS)2742、中间件2744或应用2746。
输入装置2750可从电子装置2701的外部(例如,用户)接收 将由电子装置2701的其它部件(例如,处理器2720)使用的命令 或数据。输入装置2750可包括例如麦克风、鼠标、键盘或数字笔(例 如,手写笔)。
声音输出装置2755可将声音信号输出到电子装置2701的外部。 声音输出装置2755可包括例如扬声器或接收器。扬声器可用于诸如 播放多媒体或播放唱片的通用目的,接收器可用于呼入呼叫。根据实 施例,可将接收器实现为与扬声器分离,或实现为扬声器的部分。
显示装置2760可向电子装置2701的外部(例如,用户)视觉 地提供信息。显示装置2760可包括例如显示器、全息装置或投影仪 以及用于控制显示器、全息装置和投影仪中的相应一个的控制电路。 根据实施例,显示装置2760可包括被适配为检测触摸的触摸电路或被适配为测量由触摸引起的力的强度的传感器电路(例如,压力传感 器)。
音频模块2770可将声音转换为电信号,反之亦可。根据实施例, 音频模块2770可经由输入装置2750获得声音,或者经由声音输出 装置2755或与电子装置2701直接(例如,有线地)连接或无线连 接的外部电子装置(例如,电子装置2702)的耳机输出声音。
传感器模块2776可检测电子装置2701的操作状态(例如,功 率或温度)或电子装置2701外部的环境状态(例如,用户的状态), 然后产生与检测到的状态相应的电信号或数据值。根据实施例,传感 器模块2776可包括例如手势传感器、陀螺仪传感器、大气压力传感器、磁性传感器、加速度传感器、握持传感器、接近传感器、颜色传 感器、红外(IR)传感器、生物特征传感器、温度传感器、湿度传感 器或照度传感器。
接口2777可支持将用来使电子装置2701与外部电子装置(例 如,电子装置2702)直接(例如,有线地)或无线连接的一个或更 多个特定协议。根据实施例,接口2777可包括例如高清晰度多媒体 接口(HDMI)、通用串行总线(USB)接口、安全数字(SD)卡接 口或音频接口。
连接端2778可包括连接器,其中,电子装置2701可经由所述 连接器与外部电子装置(例如,电子装置2702)物理连接。根据实 施例,连接端2778可包括例如HDMI连接器、USB连接器、SD卡 连接器或音频连接器(例如,耳机连接器)。
触觉模块2779可将电信号转换为可被用户经由他的触觉或动觉 识别的机械刺激(例如,振动或运动)或电刺激。根据实施例,触觉 模块2779可包括例如电机、压电元件或电刺激器。
相机模块2780可捕获静止图像或运动图像。根据实施例,相机 模块2780可包括一个或更多个透镜、图像传感器、图像信号处理器 或闪光灯。
电力管理模块2788可管理对电子装置2701的供电。根据实施 例,可将电力管理模块2788实现为例如电力管理集成电路(PMIC) 的至少部分。
电池2789可对电子装置2701的至少一个部件供电。根据实施 例,电池2789可包括例如不可再充电的原电池、可再充电的蓄电池、 或燃料电池。
通信模块2790可支持在电子装置2701与外部电子装置(例如, 电子装置2702、电子装置2704或服务器2708)之间建立直接(例 如,有线)通信信道或无线通信信道,并经由建立的通信信道执行通 信。通信模块2790可包括能够与处理器2720(例如,应用处理器(AP))独立操作的一个或更多个通信处理器,并支持直接(例如, 有线)通信或无线通信。根据实施例,通信模块2790可包括无线通 信模块2792(例如,蜂窝通信模块、短距离无线通信模块或全球导 航卫星系统(GNSS)通信模块)或有线通信模块2794(例如,局 域网(LAN)通信模块或电力线通信(PLC)模块)。这些通信模块 中的相应一个可经由第一网络2798(例如,短距离通信网络,诸如 蓝牙、无线保真(Wi-Fi)直连或红外数据协会(IrDA))或第二网络 2799(例如,长距离通信网络,诸如蜂窝网络、互联网、或计算机 网络(例如,LAN或广域网(WAN)))与外部电子装置进行通信。 可将这些各种类型的通信模块实现为单个部件(例如,单个芯片), 或可将这些各种类型的通信模块实现为彼此分离的多个部件(例如, 多个芯片)。无线通信模块2792可使用存储在用户识别模块2796中 的用户信息(例如,国际移动用户识别码(IMSI))识别并验证通信 网络(诸如第一网络2798或第二网络2799)中的电子装置2701。
天线模块2797可将信号或电力发送到电子装置2701的外部(例 如,外部电子装置)或者从电子装置2701的外部(例如,外部电子 装置)接收信号或电力。根据实施例,天线模块2797可包括天线, 所述天线包括辐射元件,所述辐射元件由形成在基底(例如,PCB)中或形成在基底上的导电材料或导电图案构成。根据实施例,天线模 块2797可包括多个天线。在这种情况下,可由例如通信模块2790 (例如,无线通信模块2792)从所述多个天线中选择适合于在通信 网络(诸如第一网络2798或第二网络2799)中使用的通信方案的 至少一个天线。随后可经由所选择的至少一个天线在通信模块2790 和外部电子装置之间发送或接收信号或电力。根据实施例,除了辐射 元件之外的另外的组件(例如,射频集成电路(RFIC))可附加地形 成为天线模块2797的一部分。
上述部件中的至少一些可经由外设间通信方案(例如,总线、通 用输入输出(GPIO)、串行外设接口(SPI)或移动工业处理器接口 (MIPI))相互连接并在它们之间通信地传送信号(例如,命令或数 据)。
根据实施例,可经由与第二网络2799连接的服务器2708在电 子装置2701和外部电子装置2704之间发送或接收命令或数据。电 子装置2702和电子装置2704中的每一个可以是与电子装置2701 相同类型的装置,或者是与电子装置2701不同类型的装置。根据实施例,将在电子装置2701运行的全部操作或一些操作可在外部电子 装置2702、外部电子装置2704或服务器2708中的一个或更多个运 行。例如,如果电子装置2701应该自动执行功能或服务或者应该响 应于来自用户或另一装置的请求执行功能或服务,则电子装置2701 可请求所述一个或更多个外部电子装置执行所述功能或服务中的至 少部分,而不是运行所述功能或服务,或者电子装置2701除了运行 所述功能或服务以外,还可请求所述一个或更多个外部电子装置执行 所述功能或服务中的至少部分。接收到所述请求的所述一个或更多个 外部电子装置可执行所述功能或服务中的所请求的所述至少部分,或 者执行与所述请求相关的另外功能或另外服务,并将执行的结果传送 到电子装置2701。电子装置2701可在对所述结果进行进一步处理 的情况下或者在不对所述结果进行进一步处理的情况下将所述结果 提供作为对所述请求的至少部分答复。为此,可使用例如云计算技术、 分布式计算技术或客户机-服务器计算技术。
根据各种实施例的电子装置可以是各种类型的电子装置之一。电 子装置可包括例如便携式通信装置(例如,智能电话)、计算机装置、 便携式多媒体装置、便携式医疗装置、相机、可穿戴装置或家用电器。 根据本公开的实施例,电子装置不限于以上所述的那些电子装置。
上文公开的全部或部分示例实施例可以描述为但不限于以下补 充注释。
1.一种基于自注意力的处理文本的方法,包括:
获取输入向量序列,所述输入向量序列包括待处理文本的词向量 序列;
对输入向量序列中的词向量进行分组,并对至少一组词向量执行 自注意力处理;以及
基于自注意力处理结果,生成待处理文本对应的输出向量序列。
2.根据补充注释1所述的方法,还包括:在所述对输入向量序列 中的词向量进行分组之前,对输入向量序列中的各词向量进行排序。
3.根据补充注释2所述的方法,还包括:获取输入向量序列中的 各词向量的排序权重,
其中,所述对输入向量序列中的各词向量进行排序,包括:根据 各词向量的排序权重,对输入向量序列中的各词向量进行排序。
4.根据补充注释3所述的方法,其中,所述对输入向量序列中的 各词向量进行排序,包括:
针对每个词向量,根据其排序权重,生成加权后的词向量;以及
根据各词向量对应的排序权重,对加权后的词向量进行排序。
5.根据补充注释4所述的方法,其中,
针对每个词向量,根据其排序权重,生成加权后的词向量,包括: 针对每个词向量,根据对应的位置向量,获取带位置信息的词向量; 以及,根据词向量对应的排序权重以及带位置信息的词向量,生成加 权后的带位置信息的词向量;
根据各词向量对应的排序权重,对加权后的词向量进行排序,包 括:根据各词向量对应的排序权重,对加权后的带位置信息的词向量 进行排序。
6.根据补充注释1-5中任一项所述的方法,其中,
对输入向量序列中的词向量进行分组,并对至少一组词向量执行 自注意力处理,包括:
对输入向量序列中的词向量进行分组,并对各组分别执行自 注意力处理,
以及,基于自注意力处理结果,生成待处理文本对应的输出向量 序列,包括:
基于各组的自注意力处理结果,生成待处理文本对应的输出 向量序列。
7.根据补充注释6所述的方法,其中,对输入向量序列中的词向 量进行分组,包括:
获取对输入向量序列中的词向量进行分组时的组的数量;
基于所述组的数量,对输入向量序列中的词向量进行分组。
8.根据补充注释7所述的方法,其中,基于设备信息和/或输入向 量序列中的词向量的数量,获取所述对输入向量序列中的词向量进行 分组时的组的数量。
9.根据补充注释6所述的方法,其中,所述基于各组的自注意力 处理结果,生成待处理文本对应的输出向量序列,包括:
将各组的自注意力处理结果进行合并;以及
根据合并后的向量序列,生成待处理文本对应的输出向量序列。
10.根据补充注释9所述的方法,其中,合并后的向量序列中的 各词向量的顺序与所述输入向量序列中各词向量的顺序一致。
11.根据补充注释9所述的方法,其中,所述根据合并后的向量 序列,生成待处理文本对应的输出向量序列,包括:
将合并后的向量序列与所述输入向量序列相加;
对相加后的向量序列执行卷积处理;以及
将卷积前后的向量序列相加并接入全连接层进行语义编码,以得 到待处理文本对应的输出向量序列。
12.根据补充注释1-5中任一项所述的方法,其中,对输入向量 序列中的词向量进行分组,并对至少一组词向量执行自注意力处理, 包括:
将输入向量序列中的词向量分为两组,对其中的一组词向量执行 自注意力处理,而对另一组词向量不执行自注意力处理。
13.根据补充注释12所述的方法,其中,将输入向量序列中的词 向量分为两组,包括:
通过排序,选取输入向量序列中的设定数目个词向量作为执行自 注意力处理的一组。
14.根据补充注释13所述的方法,其中,所述设定数目取决于 设备信息和/或输入向量序列中的词向量的数量。
15.根据补充注释12所述的方法,其中,基于自注意力处理结 果,生成待处理文本对应的输出向量序列,包括:
对注意力处理结果进行补零,使得其向量数目与输入向量序列中 的向量数目相同;以及
根据补零后的自注意力处理结果,生成待处理文本对应的输出向 量序列。
16.根据补充注释15所述的方法,其中,补零后的向量序列中的 各词向量的顺序与所述输入向量序列中各词向量的顺序一致。
17.根据补充注释15所述的方法,其中,根据补零后的自注意力 处理结果,生成待处理文本对应的输出向量序列,包括:
将补零后的自注意力处理结果与输入向量序列的词向量权重序 列和输入向量序列经至少一个全连接层后的输出进行融合,以及
将融合后的向量序列经过一个全连接层后与所述输入向量序列 相加,以得到待处理文本对应的输出向量序列。
18.根据补充注释12所述的方法,其中,对其中的一组词向量 执行自注意力处理,包括:
将要执行自注意力处理的所述一组词向量进一步分组,并对各子 分组分别执行自注意力处理,以及
合并各子分组的自注意力处理结果,以得到所述一组词向量的自 注意力处理结果。
19.一种机器阅读理解方法,包括:
获取问题和文章;
针对文章的文本,执行分组自注意力处理,以得到文章文本的自 注意力处理后的词向量序列;
根据文章文本的自注意力处理后的词向量序列,获得文章中每个 词语关于所述问题的对齐向量;以及
根据对齐向量,生成针对问题的答案,
其中,所述分组自注意力处理包括;
获取输入向量序列;
对输入向量序列中的词向量进行分组,并对至少一组词向量 执行自注意力处理;以及
基于自注意力处理结果,生成待处理文本的自注意力处理后 的词向量序列。
20.根据补充注释19所述的方法,还包括:
针对问题的文本,执行分组自注意力处理,以得到问题文本的自 注意力处理后的词向量序列,
其中,根据文章文本的自注意力处理后的词向量序列,获得文章 中每个词语关于所述问题的对齐向量,包括:
根据文章文本的自注意力处理后的词向量序列和问题文本 的自注意力处理后的词向量序列,获得文章中每个词语关于所述 问题的对齐向量。
21.根据补充注释19或20所述的方法,其中,根据对齐向量, 生成针对问题的答案,包括:
将对齐向量序列与文章文本的自注意力处理后的词向量序列进 行融合;
以融合后的向量序列作为输入向量序列,执行多次分组自注意力 处理,以得到隐层向量序列;以及
根据隐层向量序列,生成针对问题的答案。
22.根据补充注释19或20所述的方法,其中,根据对齐向量, 生成针对问题的答案,包括:
将每篇文章的对齐向量序列与各自对应的文章文本的自注意力 处理后的词向量序列进行融合;
对每篇文章的融合后的词向量序列分别再次执行自注意力处理;
将所有文章的再次执行自注意力处理后的词向量序列一起作为 输入向量序列,执行多次分组自注意力处理,以得到隐层向量序列; 以及
根据隐层向量序列,生成针对问题的答案。
23.一种机器阅读理解方法,包括:
获取问题和文章;
针对问题和文章执行语义编码、对齐和融合;
针对融合后的向量序列,执行多次分组自注意力处理;以及
根据分组自注意力处理结果,生成针对问题的答案,
其中所述分组自注意力处理包括;
获取输入向量序列;
对输入向量序列中的词向量进行分组,并对至少一组词向量 执行自注意力处理;以及
基于自注意力处理结果,生成待处理文本的自注意力处理后 的词向量序列。
24.一种语义编码方法,包括:
获取文章;
针对文章的文本,执行分组自注意力处理,以得到文章文本的自 注意力处理后的词向量序列;以及
根据文章文本的自注意力处理后的词向量序列,输出任务结果,
其中,所述分组自注意力处理包括;
获取文章文本的词向量序列作为输入向量序列;
对输入向量序列中的词向量进行分组,并对至少一组词向量 执行自注意力处理;以及
基于自注意力处理结果,生成文章文本的自注意力处理后的 词向量序列。
25.一种基于自注意力的自然语言处理装置,包括:
处理器;以及
存储器,存储有计算机可读指令,所述指令在由处理器执行时, 执行根据补充注释1-18中任一项所述的方法。
26.一种基于自注意力的自然语言处理装置,包括:
输入模块,配置为:获取输入向量序列,所述输入向量序列包括 待处理文本的词向量序列;
分组模块,配置为:对输入向量序列中的词向量进行分组;
自注意力模块,配置为:对至少一组词向量执行自注意力处理; 以及
输出向量生成模块,配置为:基于自注意力处理结果,生成待处 理文本对应的输出向量序列。
27.一种执行机器阅读理解的装置,包括:
处理器;以及
存储器,存储有计算机可读指令,所述指令在由处理器执行时, 执行根据补充注释19-23中任一项所述的方法。
28.一种执行机器阅读理解的装置,包括:
输入模块,配置为:获取问题和文章;
分组自注意力模块,配置为:针对文章的文本,执行分组自注意 力处理,以得到文章文本的自注意力处理后的词向量序列;
对齐模块,配置为:根据文章文本的自注意力处理后的词向量序 列,获得文章中每个词语关于所述问题的对齐向量;以及
答案生成模块,配置为:根据对齐向量,生成针对问题的答案,
其中,所述分组自注意力模块包括;
输入向量获取模块,配置为:获取输入向量序列,所述输入 向量序列包括待处理文本的词向量序列;
分组模块,配置为:对输入向量序列中的词向量进行分组;
自注意力模块,配置为:对至少一组词向量执行自注意力处 理;以及
输出向量生成模块,配置为:基于自注意力处理结果,生成 待处理文本对应的输出向量序列。
29.一种执行机器阅读理解的装置,包括:
输入模块,配置为:获取问题和文章;
编码模块,配置为:针对问题和文章执行语义编码、对齐和融合;
多个分组自注意力模块,配置为:针对编码模块输出的融合后的 向量序列,执行分组自注意力处理;以及
答案生成模块,配置为:根据分组自注意力处理结果,生成针对 问题的答案,
其中,所述多个分组自注意力模块级联在一起,每个均包括;
输入向量获取模块,配置为:获取输入向量序列;
分组模块,配置为:对输入向量序列中的词向量进行分组;
自注意力模块,配置为:对至少一组词向量执行自注意力处 理;以及
输出向量生成模块,配置为:基于自注意力处理结果,生成 待处理文本对应的输出向量序列。
30.一种语义编码装置,包括:
处理器;以及
存储器,存储有计算机可读指令,所述指令在由处理器执行时, 执行根据补充注释24所述的方法。
31.一种语义编码装置,包括:
输入模块,配置为:获取文章;
分组自注意力模块,配置为:针对文章的文本,执行分组自注意 力处理,以得到文章文本的自注意力处理后的词向量序列;以及
输出模块,配置为:根据文章文本的自注意力处理后的词向量序 列,输出任务结果,
其中,所述分组自注意力处理包括;
获取文章文本的词向量序列作为输入向量序列;
对输入向量序列中的词向量进行分组,并对至少一组词向量 执行自注意力处理;以及
基于自注意力处理结果,生成文章文本的自注意力处理后的 词向量序列。
32.一种计算机可读介质,在其上存储有计算机可读指令,所述 指令在由处理器执行时,使所述处理器执行根据补充注释1-24中任 一项所述的方法。
以上描述了本公开的实施例。本公开提出了一种基于分组的自注 意力机制,其中通过对长文本中的词语进行分组(优选地,按重要度 进行排序分组)的方式来降低自注意力机制的计算的时间和空间复杂 度。根据本公开的基于分组的自注意力机制例如可以将计算的时间和 空间复杂度降低到接近线性复杂度。本公开的基于分组的自注意力机 制可以适用于超长文本。
应该理解的是,本公开的各种实施例以及其中使用的术语并不意 图将在此阐述的技术特征限制于具体实施例,而是包括针对相应实施 例的各种改变、等同形式或替换形式。对于附图的描述,相似的参考 标号可用来指代相似或相关的元件。将理解的是,与术语相应的单数 形式的名词可包括一个或更多个事物,除非相关上下文另有明确指示。 如这里所使用的,诸如“A或B”、“A和B中的至少一个”、“A或B中 的至少一个”、“A、B或C”、“A、B和C中的至少一个”以及“A、B或 C中的至少一个”的短语中的每一个短语可包括在与所述多个短语中 的相应一个短语中一起列举出的项的任意一项或所有可能组合。如这 里所使用的,诸如“第1”和“第2”或者“第一”和“第二”的术语可用于将 相应部件与另一部件进行简单区分,并且不在其它方面(例如,重要 性或顺序)限制所述部件。将理解的是,在使用了术语“可操作地”或“通 信地”的情况下或者在不使用术语“可操作地”或“通信地”的情况下,如 果一元件(例如,第一元件)被称为“与另一元件(例如,第二元件) 结合”、“结合到另一元件(例如,第二元件)”、“与另一元件(例如, 第二元件)连接”或“连接到另一元件(例如,第二元件)”,则意味着 所述一元件可与所述另一元件直接(例如,有线地)连接、与所述另一元件无线连接、或经由第三元件与所述另一元件连接。
如这里所使用的,术语“模块”可包括以硬件、软件或固件实现的 单元,并可与其他术语(例如,“逻辑”、“逻辑块”、“部分”或“电路”) 可互换地使用。模块可以是被适配为执行一个或更多个功能的单个集 成部件或者是该单个集成部件的最小单元或部分。例如,根据实施例, 可以以专用集成电路(ASIC)的形式来实现模块。
可将在此阐述的各种实施例实现为包括存储在存储介质(例如, 内部存储器2136或外部存储器2138)中的可由机器(例如,电子 装置2101)读取的一个或更多个指令的软件(例如,程序2140)。 例如,在处理器的控制下,所述机器(例如,电子装置2101)的处 理器(例如,处理器2121)可在使用或无需使用一个或更多个其它 部件的情况下调用存储在存储介质中的所述一个或更多个指令中的 至少一个指令并运行所述至少一个指令。这使得所述机器能够操作用 于根据所调用的至少一个指令执行至少一个功能。所述一个或更多个 指令可包括由编译器产生的代码或能够由解释器运行的代码。可以以 非暂时性存储介质的形式来提供机器可读存储介质。其中,术语“非 暂时性”仅意味着所述存储介质是有形装置,并且不包括信号(例如, 电磁波),但是该术语并不在数据被半永久性地存储在存储介质中与 数据被临时存储在存储介质中之间进行区分。
根据实施例,可在计算机程序产品中包括和提供根据本公开的各 种实施例的方法。计算机程序产品可作为产品在销售者和购买者之间 进行交易。可以以机器可读存储介质(例如,紧凑盘只读存储器 (CD-ROM))的形式来发布计算机程序产品,或者可经由应用商店 (例如,Play StoreTM)在线发布(例如,下载或上传)计算机程序 产品,或者可直接在两个用户装置(例如,智能电话)之间分发(例 如,下载或上传)计算机程序产品。如果是在线发布的,则计算机程 序产品中的至少部分可以是临时产生的,或者可将计算机程序产品中的至少部分至少临时存储在机器可读存储介质(诸如制造商的服务器、 应用商店的服务器或转发服务器的存储器)中。
根据各种实施例,上述部件中的每个部件(例如,模块或程序) 可包括单个实体或多个实体。根据各种实施例,可省略上述部件中的 一个或更多个部件,或者可添加一个或更多个其它部件。可选择地或 者另外地,可将多个部件(例如,模块或程序)集成为单个部件。在 这种情况下,根据各种实施例,该集成部件可仍旧按照与所述多个部 件中的相应一个部件在集成之前执行一个或更多个功能相同或相似 的方式,执行所述多个部件中的每一个部件的所述一个或更多个功能。 根据各种实施例,由模块、程序或另一部件所执行的操作可顺序地、 并行地、重复地或以启发式方式来执行,或者所述操作中的一个或更 多个操作可按照不同的顺序来运行或被省略,或者可添加一个或更多 个其它操作。

Claims (18)

1.一种基于自注意力的处理文本的方法,包括:
获取输入向量序列,所述输入向量序列包括待处理文本的词向量序列;
对输入向量序列中的词向量进行分组,并对至少一组词向量执行自注意力处理;以及
基于自注意力处理结果,生成待处理文本对应的输出向量序列。
2.根据权利要求1所述的方法,还包括:在所述对输入向量序列中的词向量进行分组之前,对输入向量序列中的各词向量进行排序。
3.根据权利要求2所述的方法,还包括:获取输入向量序列中的各词向量的排序权重,
其中,所述对输入向量序列中的各词向量进行排序,包括:根据各词向量的排序权重,对输入向量序列中的各词向量进行排序。
4.根据权利要求3所述的方法,其中,所述对输入向量序列中的各词向量进行排序,包括:
针对每个词向量,根据其排序权重,生成加权后的词向量;以及
根据各词向量对应的排序权重,对加权后的词向量进行排序。
5.根据权利要求1-4中任一项所述的方法,其中,
对输入向量序列中的词向量进行分组,并对至少一组词向量执行自注意力处理,包括:
对输入向量序列中的词向量进行分组,并对各组分别执行自注意力处理,
以及,基于自注意力处理结果,生成待处理文本对应的输出向量序列,包括:
基于各组的自注意力处理结果,生成待处理文本对应的输出向量序列。
6.根据权利要求5所述的方法,其中,对输入向量序列中的词向量进行分组,包括:
获取对输入向量序列中的词向量进行分组时的组的数量;
基于所述组的数量,对输入向量序列中的词向量进行分组。
7.根据权利要求5所述的方法,其中,所述基于各组的自注意力处理结果,生成待处理文本对应的输出向量序列,包括:
将各组的自注意力处理结果进行合并;以及
根据合并后的向量序列,生成待处理文本对应的输出向量序列。
8.根据权利要求1-4中任一项所述的方法,其中,对输入向量序列中的词向量进行分组,并对至少一组词向量执行自注意力处理,包括:
将输入向量序列中的词向量分为两组,对其中的一组词向量执行自注意力处理,而对另一组词向量不执行自注意力处理。
9.根据权利要求8所述的方法,其中,将输入向量序列中的词向量分为两组,包括:
通过排序,选取输入向量序列中的设定数目个词向量作为执行自注意力处理的一组。
10.根据权利要求8所述的方法,其中,基于自注意力处理结果,生成待处理文本对应的输出向量序列,包括:
对注意力处理结果进行补零,使得其向量数目与输入向量序列中的向量数目相同;以及
根据补零后的自注意力处理结果,生成待处理文本对应的输出向量序列。
11.根据权利要求8所述的方法,其中,对其中的一组词向量执行自注意力处理,包括:
将要执行自注意力处理的所述一组词向量进一步分组,并对各子分组分别执行自注意力处理,以及
合并各子分组的自注意力处理结果,以得到所述一组词向量的自注意力处理结果。
12.一种机器阅读理解方法,包括:
获取问题和文章;
针对文章的文本,执行分组自注意力处理,以得到文章文本的自注意力处理后的词向量序列;
根据文章文本的自注意力处理后的词向量序列,获得文章中每个词语关于所述问题的对齐向量;以及
根据对齐向量,生成针对问题的答案,
其中,所述分组自注意力处理包括;
获取输入向量序列;
对输入向量序列中的词向量进行分组,并对至少一组词向量执行自注意力处理;以及
基于自注意力处理结果,生成待处理文本的自注意力处理后的词向量序列。
13.一种机器阅读理解方法,包括:
获取问题和文章;
针对问题和文章执行语义编码、对齐和融合;
针对融合后的向量序列,执行多次分组自注意力处理;以及
根据分组自注意力处理结果,生成针对问题的答案,
其中所述分组自注意力处理包括;
获取输入向量序列;
对输入向量序列中的词向量进行分组,并对至少一组词向量执行自注意力处理;以及
基于自注意力处理结果,生成待处理文本的自注意力处理后的词向量序列。
14.一种语义编码方法,包括:
获取文章;
针对文章的文本,执行分组自注意力处理,以得到文章文本的自注意力处理后的词向量序列;以及
根据文章文本的自注意力处理后的词向量序列,输出任务结果,
其中,所述分组自注意力处理包括;
获取文章文本的词向量序列作为输入向量序列;
对输入向量序列中的词向量进行分组,并对至少一组词向量执行自注意力处理;以及
基于自注意力处理结果,生成文章文本的自注意力处理后的
词向量序列。
15.一种基于自注意力的自然语言处理装置,包括:
处理器;以及
存储器,存储有计算机可读指令,所述指令在由处理器执行时,执行根据权利要求1-11中任一项所述的方法。
16.一种执行机器阅读理解的装置,包括:
处理器;以及
存储器,存储有计算机可读指令,所述指令在由处理器执行时,执行根据权利要求12-13中任一项所述的方法。
17.一种语义编码装置,包括:
处理器;以及
存储器,存储有计算机可读指令,所述指令在由处理器执行时,执行根据权利要求14所述的方法。
18.一种计算机可读介质,在其上存储有计算机可读指令,所述指令在由处理器执行时,使所述处理器执行根据权利要求1-14中任一项所述的方法。
CN201910160036.9A 2018-12-07 2019-03-01 自然语言处理方法及其设备和存储介质 Pending CN111368536A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2018115023362 2018-12-07
CN201811502336 2018-12-07

Publications (1)

Publication Number Publication Date
CN111368536A true CN111368536A (zh) 2020-07-03

Family

ID=71209977

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910160036.9A Pending CN111368536A (zh) 2018-12-07 2019-03-01 自然语言处理方法及其设备和存储介质

Country Status (1)

Country Link
CN (1) CN111368536A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112069813A (zh) * 2020-09-10 2020-12-11 腾讯科技(深圳)有限公司 文本处理方法、装置、设备及计算机可读存储介质
CN112433761A (zh) * 2020-12-01 2021-03-02 上海携旅信息技术有限公司 高斯误差线性单元的优化方法、系统、设备及介质
CN112883149A (zh) * 2021-01-20 2021-06-01 华为技术有限公司 一种自然语言处理方法以及装置
CN113269277A (zh) * 2020-07-27 2021-08-17 西北工业大学 基于Transformer编码器和多头多模态注意力的连续维度情感识别方法
CN113342970A (zh) * 2020-11-24 2021-09-03 中电万维信息技术有限责任公司 一种多标签复杂文本分类方法
CN114742035A (zh) * 2022-05-19 2022-07-12 北京百度网讯科技有限公司 基于注意力机制优化的文本处理方法、网络模型训练方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108133038A (zh) * 2018-01-10 2018-06-08 重庆邮电大学 一种基于动态记忆网络的实体级别情感分类系统及方法
US20180189269A1 (en) * 2016-12-30 2018-07-05 Microsoft Technology Licensing, Llc Graph long short term memory for syntactic relationship discovery
CN108363743A (zh) * 2018-01-24 2018-08-03 清华大学深圳研究生院 一种智能问题生成方法、装置和计算机可读存储介质
CN108628935A (zh) * 2018-03-19 2018-10-09 中国科学院大学 一种基于端到端记忆网络的问答方法
EP3385862A1 (en) * 2017-04-03 2018-10-10 Siemens Aktiengesellschaft A method and apparatus for performing hierarchical entity classification

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180189269A1 (en) * 2016-12-30 2018-07-05 Microsoft Technology Licensing, Llc Graph long short term memory for syntactic relationship discovery
EP3385862A1 (en) * 2017-04-03 2018-10-10 Siemens Aktiengesellschaft A method and apparatus for performing hierarchical entity classification
CN108133038A (zh) * 2018-01-10 2018-06-08 重庆邮电大学 一种基于动态记忆网络的实体级别情感分类系统及方法
CN108363743A (zh) * 2018-01-24 2018-08-03 清华大学深圳研究生院 一种智能问题生成方法、装置和计算机可读存储介质
CN108628935A (zh) * 2018-03-19 2018-10-09 中国科学院大学 一种基于端到端记忆网络的问答方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KENTARO TAKEMURA,等: "Estimation of group attention for automated camerawork", 《2008 IEEE/RSJ INTERNATIONAL CONFERENCE ON INTELLIGENT ROBOTS AND SYSTEMS》, pages 2317 - 2322 *
王孝男,等: "复杂场景文本段识别", 《计算机应用研究》, vol. 36, no. 9, pages 2818 - 2820 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113269277A (zh) * 2020-07-27 2021-08-17 西北工业大学 基于Transformer编码器和多头多模态注意力的连续维度情感识别方法
CN113269277B (zh) * 2020-07-27 2023-07-25 西北工业大学 基于Transformer编码器和多头多模态注意力的连续维度情感识别方法
CN112069813A (zh) * 2020-09-10 2020-12-11 腾讯科技(深圳)有限公司 文本处理方法、装置、设备及计算机可读存储介质
CN112069813B (zh) * 2020-09-10 2023-10-13 腾讯科技(深圳)有限公司 文本处理方法、装置、设备及计算机可读存储介质
CN113342970A (zh) * 2020-11-24 2021-09-03 中电万维信息技术有限责任公司 一种多标签复杂文本分类方法
CN112433761A (zh) * 2020-12-01 2021-03-02 上海携旅信息技术有限公司 高斯误差线性单元的优化方法、系统、设备及介质
CN112433761B (zh) * 2020-12-01 2022-06-10 上海携旅信息技术有限公司 高斯误差线性单元的优化方法、系统、设备及介质
CN112883149A (zh) * 2021-01-20 2021-06-01 华为技术有限公司 一种自然语言处理方法以及装置
CN112883149B (zh) * 2021-01-20 2024-03-26 华为技术有限公司 一种自然语言处理方法以及装置
CN114742035A (zh) * 2022-05-19 2022-07-12 北京百度网讯科技有限公司 基于注意力机制优化的文本处理方法、网络模型训练方法

Similar Documents

Publication Publication Date Title
CN111368536A (zh) 自然语言处理方法及其设备和存储介质
CN112487182B (zh) 文本处理模型的训练方法、文本处理方法及装置
CN111897964B (zh) 文本分类模型训练方法、装置、设备及存储介质
CN112257858B (zh) 一种模型压缩方法及装置
US20200372217A1 (en) Method and apparatus for processing language based on trained network model
US20190114545A1 (en) Apparatus and method of constructing neural network translation model
CN110286778B (zh) 一种中文深度学习输入法、装置及电子设备
CN112395979B (zh) 基于图像的健康状态识别方法、装置、设备及存储介质
CN111985240A (zh) 命名实体识别模型的训练方法、命名实体识别方法及装置
CN113011186B (zh) 命名实体识别方法、装置、设备及计算机可读存储介质
CN110866098B (zh) 基于transformer和lstm的机器阅读方法、装置及可读存储介质
CN112164002B (zh) 人脸矫正模型的训练方法、装置、电子设备及存储介质
CN111133453A (zh) 人工神经网络
CN111597779B (zh) 文本生成方法、装置、设备以及存储介质
CN114676234A (zh) 一种模型训练方法及相关设备
CN107993651B (zh) 一种语音识别方法、装置、电子设备及存储介质
CN115858826A (zh) 数据处理方法、装置、计算机设备及存储介质
CN113255328B (zh) 语言模型的训练方法及应用方法
CN116226785A (zh) 目标对象识别方法、多模态识别模型的训练方法和装置
CN116432019A (zh) 一种数据处理方法及相关设备
CN113326383B (zh) 一种短文本实体链接方法、装置、计算设备与存储介质
CN113535912B (zh) 基于图卷积网络和注意力机制的文本关联方法及相关设备
CN110874402B (zh) 基于个性化信息的回复生成方法、设备和计算机可读介质
CN109902273A (zh) 关键词生成模型的建模方法和装置
Huang et al. Dynamic sign language recognition based on CBAM with autoencoder time series neural network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination