用于大规模语义索引的系统和方法与流程

文档序号:22891296发布日期:2020-11-10 18:17阅读:160来源:国知局
用于大规模语义索引的系统和方法与流程

本公开总体上涉及一种用于语义索引的系统和方法。更具体地,本公开涉及一种用于具有深度逐层的极端多标签学习的语义索引的系统和方法。



背景技术:

随着科学文献的爆炸式增长量,需要高效的语义索引方法来构建检索系统。即使利用有效的技术,语义索引过程仍然涉及手动整理来自科学文献的关键方面。为了概述文章的主要主题,通常会邀请领域专家使用从领域本体中选择的关键字来手动索引文章。

因此,需要用于大规模语义索引以提高自动标记效率的系统和方法。



技术实现要素:

在本公开的一方面,提供了一种使用一个或多个处理器来执行步骤的用于多标签学习和分类的计算机实现的方法,所述方法包括:

将原始训练文本处理成干净的训练文本;

基于训练标签的本体层次结构,将所述训练标签解析成多个层级的逐层标签;

至少基于所述逐层标签和所述干净的训练文本,通过逐层多标签分类模型来训练多个逐层模型,其中每个逐层模型与标签的对应层级相关;

通过所训练的多个逐层模型,采用一个或多个细化策略来从一个或多个输入进行逐层预测;以及

使用点生成模型将所述逐层预测合并到用于所述一个或多个输入数据集的统一标签集中。

在本公开的另一方面,提供了一种用于大规模语义索引的多标签学习和分类的系统,所述系统包括:

逐层多标签分类模型,所述逐层多标签分类模型基于标签的本体层次结构将高维空间中的所述标签分解成多个层级中的逐层标签,所述逐层多标签分类模型包括多个卷积神经网络(cnn),其中对于每个层级的cnn,每个cnn分别从用于文档的单词嵌入、用于关键字的单词嵌入、上层级标签嵌入、以及下层级标签嵌入的输入中提取特征表示,所述cnn包括:

最大池化层,所述最大池化层用于动态最大池化,以从串联的嵌入中选择特征,所述串联的嵌入通过从所有输入中提取的特征表示而串联;

一个或多个标准化层和一个或多个完全连接层,用于批量标准化并且从所选择的特征中获得紧凑表示;

输出层,输出用于所述每个层级的逐层预测;以及

点生成模型,将所述多个层级中的每个层级处的所述逐层预测合并到所述文档的统一标签集中,所述点生成模型包括:

编码器,将所述逐层预测编码成分别对应于所述多个层级的多个编码器隐藏状态序列;

多个注意力发生器,从所述多个编码器隐藏状态序列导出,以针对所述多个层级中的每个层级生成注意力分布和内容矢量;以及

解码器,至少基于针对所述多个层级中的每个层级的所述生成的内容矢量来生成多个解码器隐藏状态序列,所述解码器至少基于所述逐层预测、所述编码器隐藏状态、所述注意力发生器以及所述解码器隐藏状态来生成所述统一标签集。

在本公开的又一方面,提供了一种使用一个或多个处理器来执行步骤的用于多标签学习和分类的计算机实现的方法,所述方法包括:

在多个分层层级中的每个处,

使用卷积神经网络(cnn),分别从用于文档的单词嵌入、用于关键字的单词嵌入、上分层层级标签嵌入、以及下分层层级标签嵌入的输入中提取特征表示;

将从所有输入中提取的所述特征表示串联为串联嵌入;

在所述cnn的最大池化层处应用动态最大池化,以从串联嵌入中选择特征;

应用批量归一化以及一个或多个完全连接层,以从所选择的特征中获得紧凑表示;

从所述cnn的输出层输出针对所述多个分层层级中的所述每个层级的逐层预测;以及

使用点生成模型将来自所述多个分层层级的所述逐层预测合并到统一标签集中。

附图说明

将参考本发明的实施方式,它们的示例可示于附图中。这些附图旨在是说明性的而非限制性的。虽然本发明大体上在这些实施方式的上下文中描述,但应理解,本发明的范围并不旨在限于这些特定实施方式。附图中的项目未按比例绘制。

附图(“图”)1描绘了根据本公开的实施方式的深度逐层的极端多标签学习和分类(深度逐层的xmlc)框架的系统架构。

图2描绘了根据本公开的实施方式的使用深度逐层的xmlc的标记过程。

图3描绘了根据本公开的实施方式的深度多标签学习模型的神经结构。

图4描绘了根据本公开的实施方式的用于在每个层级使用神经模型进行逐层预测的过程。

图5描绘了根据本公开的实施方式的用于最终合并的指针生成模型。

图6描绘了根据本公开的实施方式的使用指针生成模型以便进行最终合并的过程。

图7以图形方式描绘了根据本公开的实施方式的用于标签集的层级关系。

图8描绘了根据本公开的实施方式的通过具有深度逐层的极端多标签学习和分类(xmlc)的在线宏f度量优化(ofo)获得的宏精度、查全率和f分数。

图9描绘了根据本公开的实施方式的计算装置/信息处理系统的简化框图。

具体实施方式

在以下描述中,出于解释目的,阐明具体细节以便提供对本公开的理解。然而,将对本领域的技术人员显而易见的是,可在没有这些细节的情况下实践实施方式。此外,本领域的技术人员将认识到,下文描述的本公开的实施方式可以以各种方式(例如过程、装置、系统、设备或方法)在有形的计算机可读介质上实施。

附图中示出的组件或模块是本发明实施方式的示例性说明,并且意图避免使本公开不清楚。还应理解,在本论述的全文中,组件可描述为单独的功能单元(可包括子单元),但是本领域的技术人员将认识到,各种组件或其部分可划分成单独组件,或者可整合在一起(包括整合在单个的系统或组件内)。应注意,本文论述的功能或操作可实施为组件。组件可以以软件、硬件、或它们的组合实施。

此外,附图内的组件或系统之间的连接并不旨在限于直接连接。相反,在这些组件之间的数据可由中间组件修改、重格式化、或以其它方式改变。另外,可使用另外或更少的连接。还应注意,术语“联接”、“连接”、或“通信地联接”应理解为包括直接连接、通过一个或多个中间设备来进行的间接连接、和无线连接。

在本说明书中对“一个实施方式”、“优选实施方式”、“实施方式”或“多个实施方式”的提及表示结合实施方式所描述的具体特征、结构、特性或功能包括在本发明的至少一个实施方式中,以及可包括在多于一个的实施方式中。另外,在本说明书的各个地方出现以上所提到的短语并不一定全都是指相同的实施方式或多个相同实施方式。

在本说明书的各个地方使用某些术语目的在于说明,并且不应被理解为限制。服务、功能或资源并不限于单个服务、单个功能或单个资源;这些术语的使用可指代相关服务、功能或资源的可分布或聚合的分组。图像可以是静止图像或来自视频。

术语“包括”、“包括有”、“包含”和“包含有”应理解为开放性的术语,并且其后任何列出内容都是实例,而不旨在限于所列项目。本文所使用的任何标题仅是为了组织目的,并且不应被用于限制说明书或权利要求的范围。本专利文献中提到的每个参考文献以其全文通过引用并入本文。

此外,本领域的技术人员应认识到:(1)某些步骤可以可选地执行;(2)步骤可不限于本文中所阐述的特定次序;(3)某些步骤可以以不同次序执行;以及(4)某些步骤可同时地进行。

a.引言

随着科学文献的爆炸式增长量,需要高效的语义索引方法来构建检索系统。即使利用有效的技术,语义索引过程仍然涉及手动整理来自科学文献的关键方面。为了概述文章的主要主题,通常会邀请领域专家使用从领域本体中选择的关键字来手动索引文章。

在医学领域,medline可能是世界上最大的生物医学文献数据库,并且医学主题词表(mesh)是用于在medline中索引文章的领域本体。通过将查询映射到mesh主题词表,极大地改善了医学文献搜索的体验。例如,查询少年药物使用被映射到mesh主题词表青少年和物质相关疾病。当前,大多数映射规则以及来自medline的医学文献的最终索引由领域专家手动生成。对于语义索引的人类标记过程而言,这既昂贵又耗时。因此,迫切需要自动方法。

然而,自动整理的任务面临重大挑战。首先,一篇文章经常用多个关键字或概念标记。此外,领域本体涉及数十万甚至数百万个标签。这些标签通常以呈森林的形式表示的层次结构来组织。同时处理大量标签、数据样本和复杂的层次结构是艰巨的任务。

在本专利文献的实施方式中,自动语义索引的任务被认为是极端多标签学习和分类(xmlc)问题。与传统的多类不同,xmlc允许每个数据样本共存数百万个标签。最近,提出了几种处理xmlc的方法,包括fastxml、lomtrees、sleec、鲁棒的布隆过滤器、标签划分、快速标签嵌入以及若干种深度学习方法、使用局部神经网络(dxml和xml-cnn)的分层多标签分类。尽管这些方法在处理xmlc方面取得了一些进展,但是维数灾难(称为巨大的标签空间)和对手工制作特征工程的高要求是进一步提高有效性和效率的两个主要障碍。

为了解决这两个问题,在本专利文献中公开了称为深度逐层的极端多标签学习和分类(深度逐层xmlc)的新颖框架的实施方式,以解决大规模语义索引的问题。在一个或多个实施方式中,深度逐层xmlc框架包括两个顺序模块。在一个或多个实施方式中,第一模块是逐层多标签分类模型。通过将大量标签(在较高维数的空间中)分解成多个层级(在较低维数的空间中),它有效地解决了维数灾难。在一个或多个实施方式中,对于每个层级,构建具有至少两个创新点的卷积神经网络。第一个创新点包括旨在捕获标签同现和标签之间的分类关系的基于类别的动态最大池化方法。动态最大池化方法有助于紧密连接逐层分类模型。第二个创新点包括基于宏f度量优化的预测细化方法,该方法使得模块能够以增量方式自动选择标签。深度逐层xmlc框架的第二模块是分层指针生成模型,该模型通过复制和生成机制将每个层级的预测标签合并到最终的概述语义索引中。总体而言,深度逐层xmlc框架通过学习语义索引而无需任何特征工程避免了人为干预的高昂代价。整个系统架构的实施方式在图1中示出,其中在章节b中讨论更多细节。

本专利文献的一些贡献包括:

提出了深度逐层xmlc以学习大规模语义索引。它将标签分为多个层级,以减少维数灾难,同时提高训练效率。

引入具有类别相关动态最大池化的新策略,以捕获标签之间的同现和类别关系。

探索了从宏f度量优化派生的预测细化技术的实施方式,以在线方式智能地选择最佳标签。

开发了分层指针生成模型,以将逐层输出合并到最终的概述语义索引中。

通过将其与来自medline的mesh的自动标记的几种最新方法以及amazoncat13k(亚马逊cat13k)(其是具有与mesh性质相似的xmlc数据集)进行比较,证明了深度逐层xmlc实施方式的有效性。

b.方法实施方式

xmlc存在两个主要挑战。首先,一个数据集中的标签的数量可能超过10,000,甚至高达一百万。其次,一个数据样本可能用多个标签索引,其数量典型的范围是一至几十个。

在本专利文献中,如图1所示,公开了深度逐层xmlc框架的实施方式,以通过将每个数据样本的标签分解成多个层级来处理这两个挑战。在一个或多个实施方式中,深度逐层xmlc框架包括五个阶段:数据预处理阶段105、本体解析阶段110、逐层模型训练阶段115、逐层预测阶段120和最终合并阶段125。在数据预处理阶段,像往常一样,进行令牌化和过滤138以分别从训练文本134和验证文本136中获得干净的训练文本142和干净的验证文本144。在一个或多个实施方式中,根据一些比例随机选择训练和验证数据。与通常的自然语言处理(nlp)任务不同,使用在训练标签132上使用本体解析器140进行本体解析的额外步骤,以便将基于标签的本体层次将标签分为多个层级146。在第三阶段中,采用在方法部分中描述的神经模型来训练逐层模型148。在一个或多个实施方式中,本体解析器140用作逐层多标签分类模型(在章节a中描述的两个顺序模块中的第一个)。随后,在逐层预测阶段(或测试阶段)中,在以相似的方式对测试数据进行预处理以获得逐层预测150之后,将测试数据馈送到训练的逐层模型中以便进行标签预测或标记。在最后阶段中,与指针生成模型152进行最终合并,以输出一个或多个预测标签154,并且还筛选出一些不太相关的标签。在一个或多个实施方式中,指针生成模型152用作分层指针生成模型(在章节a中描述的两个顺序模块中的第二个)。

图2描绘了根据本公开的实施方式的具有在深度逐层xmlc中涉及的五个步骤的标记过程。首先,使用nlp预处理器将用于训练和验证的输入原始文本分别处理(205)成干净的训练文本和干净的验证文本。在一个或多个实施方式中,单词被令牌化并且停用词被过滤掉。其次,使用本体解析器将训练标签基于它们的本体层次解析(210)成逐层标签。第三,至少基于逐层标签和干净的文本,通过逐层多标签分类模型来训练(215)多个逐层模型,其中每个逐层模型与标签的对应层级相关。第四,使用训练的多个逐层模型,利用一个或多个细化策略在一个或多个输入数据集上进行(220)逐层预测。在一个或多个实施方式中,一个或多个输入数据集可以是通过令牌化单词、停用词过滤等用相同的nlp预处理器清理的干净的验证文本。在一个或多个实施方式中,一个或多个输入数据集可以是在部署的框架上接收的文本数据。最后,训练点生成模型以将逐层预测合并(225)到统一的标签集中。

以下小节着重于:1)深度逐层多标签学习框架的实施方式;以及2)用于将所有层级的标签合并成一个统一标签集的指针生成模型的实施方式。

1.深度逐层多标签学习的实施方式

形式上,问题可以定义如下:给定一组输入对深度逐层xmlc将它们分解成m个层级,并且在训练数据上训练m个神经模型。整个标签集被表示为并且是指中的标签的总数。每个yi是具有长度的多热矢量。层级m处的每个模型在每个数据样本上预测最可能的k个标签k是通过细化策略确定的。最后,训练指针生成模型以将每个数据样本xi的m个层级的预测合并到一个统一标签集yi中。

1.1.特征嵌入构造的实施方式

在一个或多个实施方式中,以逐层方式构造模型。如图3所示,在每个层级处用四个并行输入构建神经模型300。图4描绘了根据本公开的实施方式的用于在每个层级使用神经模型300进行逐层预测的过程。

四个输入包括文档310的单词嵌入,关键字320的单词嵌入以及层级相关的信息(包括上层级标签嵌入330和下层级标签嵌入340)。它们为构建更具区分性的特征提供了多种信息。在一个或多个实施方式中,采用(405)卷积神经网络(cnn)300,以分别从对应的输入310、320、330和340学习大量的特征表示314、324、334和344。在一或多个实施方式中,直接从cnn学习文档嵌入314和关键字嵌入324。从上层级和下层级的预测结果的嵌入中学习其他两个嵌入,即上层级嵌入334和下层级标签嵌入344。在一或多个实施方式中,涉及两个步骤。首先,类似于用于输入文本和关键字的单词嵌入,在一个或多个实施方式中,采用gensim来训练来自带注释的mesh的标签嵌入。其次,在训练和测试中,可以将某些层级的某些文档的预测标签用作其上层级或下层级的输入特征。这两个嵌入不仅可以帮助捕获逐层依赖性,还可以处理xmlc中的标签不平衡问题。以这种方式,标签同现以及来自它们上层级和下层级的知识都可以有助于增强稀有标签的表示学习。

例如,在mesh中,淋巴管瘤是稀有标签,并且它本身不易表示。利用其上层级mesh淋巴管肿瘤和下层级mesh淋巴管瘤的信息,囊性淋巴管瘤可能在嵌入空间中得到更好的表示。

在学习四个嵌入之后,将它们串联(410)成串联的嵌入352并传递到最大池化层350中。

由于次序信息,原始令牌/单词可能未直接与关键字、上层级标签和下层级标签的嵌入串联。在一个或多个实施方式中,为它们的cnn特征上的原始令牌/单词构造双向长短期记忆(bi-lstm),以在串联之前保留语言顺序信息。

1.2.学习框架的目标函数的实施方式

在一个或多个实施方式中,在嵌入串联之后,采用最大池化层350来施加(415)动态最大池化以从串联的嵌入中选择期望特征352。通过将批量归一化应用于一个或多个归一化层和一个或多个完全连接层360来从选择的特征352获得(420)紧凑表示362。之后,出于训练目的,至少基于获得的紧凑表示362,在输出层和隐藏瓶颈层370上采用(425)二进制交叉熵损失。在使用二进制交叉熵损失进行训练之后,输出层输出逐层标记380。

在一个或多个实施方式中,二进制交叉熵目标的损失函数l的公式为:

其中,和fj(xi)表示输出层函数。此外,fj(xi)=wogh(wh[p(c1),...p(cι)])。在此,wh∈rh×(ιp)是与隐藏的瓶颈层和输出层370相关联的权重矩阵,gh是元素方式激活函数,例如,施加到瓶颈层的s型函数(sigmoid)或双曲正切(tanh)函数,并且ιp是动态最大池化层处ι和p的乘积。ι是指馈送到池化层中的特征的数量,并且p是指池化数量。两者均由xi中的特征的数量确定。此外,ci是在从更低层进行池化操作p(.)之后的卷积特征矢量。

1.3.以类别为方向的动态最大池化的实施方式

在用于文本分类的传统cnn模型中,经常采用max-over-time方案,因为从直觉上看,特征图的最大元素应当具有最重要的信息,即p(c)=max{c},其中c是指来自cnn的输出。然而,这种方法表现出严重的缺点。当输入文档包含多个主题时,仅使用一个值表示整个特征地图可能会丢失信息。对于多标签学习任务,多个池化可以捕获更丰富的信息。在本专利文献中,池化动态地执行为其中是指从索引1开始至的c的子矢量,p是指最大池化维数。先前的工作使用固定的p。如果p被设置过大,则可能包含冗余特征。如果设置得太小,可能丢失相关特征。

在一个或多个实施方式中,逐层相关信息,即标签的分类信息被合并到神经结构(例如,最大池层)中,以帮助动态地选择p。具体地,p随标签层级的分布而调整。例如,在mesh中,所有项都分为16个类别,如“解剖学”、“生物体”、“疾病”等。每个类别涉及不同的子类别,并且每个标签涉及不同的分布。基于分布,分配不同的权重来确定p。类别的权重越大,p越大。在一个或多个实施方式中,从训练数据中初始化类别或标签的权重。

1.4.利用宏f度量最大化细化预测的实施方式

如图1所示,利用嵌入和动态最大池化,网络可以进行逐层预测。在每个层级,为每个数据样本选择前k个(top-k)预测标签。然而,固定的k可能产生较高的查全率,但是较低的精度。在本专利文献的一个或多个实施方式中,通过更灵活的权重调整策略来细化预测。

在一个或多个实施方式中,将在线f度量优化(ofo)应用于权重调整。使用ofo,可以实现精度和查全率的动态平衡。在一个或多个实施方式中,ofo算法通过以在线方式进行阈值调整来优化二进制f度量。

其中并且在此,是第l个数据样本的第j个标签。是在迭代t处从标签yj上的第一个数据样本到第i个数据样本的累积f分数。

由于增量属性,ofo的阈值通过两条规则来更新。在一个或多个实施方式中,在相同的迭代(批数据)处,阈值根据迭代间规则更新为在不同的迭代处,它根据交叉迭代规则更新为其中n是指一批中的数据样本的数量。在一个或多个实施方式中,当新的批次开始时,i被初始化为0,并且还不存在α或β值。在一个或多个实施方式中,最初使用来自最后一批的值。给定第i个数据样本,ofo将预测标签细化为其中是指在迭代t处标签yj上的xi的预测概率。在一个或多个实施方式中,最佳f度量是最佳阈值的值的两倍,为由于提出的细化机制是动态的、逐层的和增量的,因此最佳阈值要到训练结束后才能固定。在一个或多个实施方式中,将其保存为测试参数。

2.用于最终合并的指针生成模型的实施方式

在具有逐层输出之后,这些输出应合并成一个统一的标签集。然而,它们无法简单地组合在一起,因为与黄金标准标签或groundtruth(标注真实)标签相比,简单的串联可能导致大得多数量的标签。在本专利文献中,公开了一种过滤方法以去除一些逐层标记,以确保预测标签的最终分布与黄金标准标签一致。在一个或多个实施方式中,受文本概述的启发,将每个逐层预测视为一个语句,并且将黄金标准视为概述输出。在解码、编码和注意状态期间层级之间的标签的分层关系被考虑。

2.1分层指针生成模型的实施方式

在一个或多个实施方式中,分层指针生成模型既允许从逐层预测复制标签,也允许从整个标签集生成标签。

图5描绘了根据本公开的实施方式的用于最终合并的指针生成模型,并且图6描绘了根据本公开的实施方式的使用指针生成模型以便进行最终合并的过程。指针生成模型包括编码器520、注意力发生器530和解码器540。编码器接收(605)逐层预测标签的输入510,这些逐层预测标签被组织为从层级1到层级m的逐层序列。输入被编码(610)为m个序列的隐藏状态522。在一个或多个实施方式中,编码器是双向lstm编码器。每个编码的隐藏状态在某个层级反映了预测标签的内部关系。在一个或多个实施方式中,编码器隐藏状态被表示为eτ=vttanh(whγτ+wssτ+battn)。在此,sτ和γτ分别是预测标签周围的预测标签序列矢量和内容矢量。项v、wh、ws和battn是权重参数。在一个或多个实施方式中,内容矢量是关于标记的同现。

在一个或多个实施方式中,从编码器隐藏状态导出多个注意力发生器530,以便以时间步长τ生成(615)注意力分布aτ和内容矢量γτ。在一个或多个实施方式中,aτ被计算为aτ=softmax(eτ)。注意力分布是预测的逐层标签上的概率分布。它用于产生γτ作为编码器隐藏状态的分层加权和:其中γq代表第q个标签。

在一个或多个实施方式中,每个注意力发生器被称为覆盖矢量532,该覆盖矢量示出赋予每个层级的标签多少关注。众所周知,概述可能导致重复。因此,相同的标签也可以被多次生成。精心设计的覆盖矢量起着判断标签是否为重复的作用。如果不是重复,则关注度较高的标签更有可能被解码成一个正确的标签。如果重复,则避免重复的机制(在章节b中的2.3中进行描述)将标签过滤掉。基于该方法中描述的覆盖矢量,会引起注意。随后,解码器正在努力生成尺寸减小的输出。

在一个或多个实施方式中,为了为解码器生成解码器隐藏状态,从内容矢量γτ、预测的标签序列矢量sτ、以及解码器输入yτ(黄金标准或groundtruth)获得(620)针对时间步长τ的生成概率pgen∈[0,1]为:

pgen=σ(whγτ+wssτ+wyyτ+bptr)(3)

其中wh、ws、wy和bptr是权重参数。在此,pgen用作软开关,以在通过从标签分布(在本文参见如何在2.2中计算)中采样来从整个标签集中生成标签或者通过从注意力分布aτ中采样来从输入序列中复制标签之间进行选择。

利用以上输入逐层预测标签、编码器隐藏状态、注意力发生器和解码器隐藏状态,可以训练分层指针生成模型以生成(625)最终概述的语义索引标签的输出550。在生成输出时,生成最终标签的概率被学习。给定一个训练对计算条件概率以将概率链规则项的标签估计为:

其中矢量的序列。通过将训练集的条件概率最大化为来学习模型的参数,其中总和超过训练示例。

2.2序列到序列概率计算的实施方式

在一个或多个实施方式中,以上过程最终产生标签词汇分布为:

其中,v、v'、b和b’是可学习的参数。对于特定标签,可以从获得。在一个或多个实施方式中,损失函数是目标标签的负对数似然。以下示例说明了在给定其他标签的情况下一个标签的概率计算过程。

图7描绘了根据本专利公开的一个或多个实施方式的标签集{营养和代谢疾病}的层次关系。图中的左边单词是标签的缩略词。例如,wolfram综合症的首字母缩写为ws.。该示例的计算在章节b的部分2.2中进行了描述。在图7的左边,为了节省空间并且为了更好地说明过程,在此处以那些简短形式(它们是mesh项的初始字母)绘制了sigmoid符号。

在一个或多个实施方式中,给定内容={nmd、md、dm、dmt1},则遵循这些标签之间的层次关系来将p(ews|context)计算为:

2.3避免重复的机制的实施方式

指针生成模型或序列到序列模型的问题在于它可能多次从输入复制项。不需要重复项,因为每个标签都应当是唯一的。可以通过采用覆盖机制来避免重复。即,如果在一个层级的输出中已看到标签,则在其他层级生成它们的概率将变低。在本专利公开的一个或多个实施方式中,通过将覆盖机制组合到整个指针生成模型中来采用这种方法。具体地,

其中是指覆盖矢量,ym是指第m层级。

在本专利公开的一个或多个实施方式中,覆盖矢量由用于所有层级的一组矢量组成。对于每个覆盖矢量,是在逐层输入上的非标准化分布,逐层输入表示迄今为止已从注意力机制接收到这些标签的覆盖程度。由于标签是按层级排序的,因此在层级的不同部分不应当重复,这种机制旨在删除在不同部分中找到的所有重复标签,并且还避免在同一层级内重复。在一个或多个实施方式中,作为对任何重复的惩罚,将添加到注意力机制并且还将添加到指针生成模型的总损失函数。

c.一些实验

应当注意,这些实验和结果通过说明的方式提供并且使用一个或多个具体实施方式在具体条件下执行;因此,这些实验和它们的结果都不应被用来限制本专利文献的公开的范围。

在此章节中,使用来自标记有mesh和amazon-cat13k的美国国家医学图书馆的medline数据集来评估深度逐层xmlc的实施方式的有效性。如章节a中描述的,medline是世界上最大的生物医学文献数据库,并且医学主题词表(mesh)是用于在medline中标记文章的领域本体。另一数据集amazoncat13k是用于开发极端分类算法的基准数据集之一。类似于mesh,它涉及13330个标签,所有标签都是按层次组织的。数据集规模、专家标签和层次结构性质为所呈现的框架提供了理想的测试平台。

1.数据设置和预处理

medline中的mesh标签的总数为26,000,其中60%出现超过1000次。在一项或多项实验设置中,在实验中删除了出现少于10次的那些mesh标签。medline具有2600万篇带有摘要的文章。这些文章中有90%具有约20个mesh标签。82%的文章分配了4到16个mesh标签。在mesh中,有350万个摘要具有mesh标签和关键字两者。mesh标签的本体可以分解为7个层级,其中最低层级(第7层级)包括最具体的mesh标签,而最高层级(第1层级)具有最通用和抽象的mesh标签。对于仅具有最低层级的mesh标签的文章,通过以下方法对其进行扩展。从最低层级的标签开始,找出其上层级的所有标签。在一个或多个实验设置中,为提出的深度逐层xmlc框架构建7个数据集。

同时,储存来自所有7个层级的具有mesh标签的102,167个摘要用于测试。表1中示出每个层级的数据集的统计信息。可以看出,中间层级的标签数量最多,而最高层级仅具有83个标签,并且最低层级具有2445个标签。数据量也可发现类似的趋势。两百万篇文章的标签来自层级2、3和4,而少于一百万篇文章的标签来自层级1、6和7。

对于amazoncat13k,由于深度逐层xmlc需要文本数据,因此无法直接使用其预处理数据集。同时,数据应基于其逐层类别来划分。发现所有标签可以分解成9个层级。有所不同的是,如果来自amazoncat13k的文档具有较低的标签,则它必具有较高的标签,而来自mesh的文档则不一定如此。因此,很容易找到用于测试amazoncat13k的公共集合(仅使用具有较低类别的文档)。为了保持测试数据的合理的池化,忽略层级高于6的文档(对于层级7、8和9,分别仅为9990、385和31个文档)。

表1.数据集的统计信息。对于每个层级,存在不同的数据量。medline中的论文不一定暗示可以将其标记为较高层级的mesh项,即使它们被使用较低层级的mesh项进行标记。

在实验中,对于medline文章和关键字,在每个层级,首先根据深度逐层xmlc的第一分量来训练单个神经网络。采用训练模型对每个层级的测试数据进行预测。随后,将来自训练数据的预测的逐层标签以及黄金标准标签由指针生成模型用于最终合并。同样,针对amazoncat14k训练逐层模型,但是后者不具有关键字。

2.评估指标

在极端多标签分类数据集中,尽管通常存在巨大的标签空间,但是每个文档的相关标签的数量有限。这意味着为每个测试文档提供相关标签的简短的排序表是重要的。评估的重点因此是此类排序表的质量,重点在于每个列表的顶部的相关性。然而,在一个或多个实验设置中,出于与两个数据集来源进行比较的目的,使用了两个评估指标。医学界更喜欢使用精度、查全率和f分数,而一般领域的人更喜欢使用k处的精度(p@k)和归一化折扣累积增益(简称ndcg@k或g@k)。

具体地,给定预测的标签列表其中前k个项在层级m处,精度、查全率和f分数定义如下:

其中,n是数据样本的数量,并且是排名前k个标签中的正确标签的数量;aki是文章i的黄金标准标签的总数;微度量与宏度量之间的差异在于预测概率的计算。对于微度量,直到将所有正确的预测加在一起后才进行概率计算,而对于宏度量,将对每篇文章进行概率计算,并且最后将平均值用作宏分数。报告这两种度量是为了查看模型对于单篇文章和整个数据集的准确性如何。

相反,p@k和ndcg@k的定义是,

其中,表示为文档的真实标签的矢量,并且为同一文档的系统预测分数矢量。在一个或多个实验设置中,遵循p@k和ndcg@k的约定使用k=1,3,5。

3.参数设置

对于深度逐层xmlc的神经网络,使用修正线性单元。滤波窗口设置为3、4、5。丢失(dropout)率设置为0.5,并且l2约束设置为3。最小批量大小设置为256。嵌入尺寸因不同特征而异。对于mesh,医学单词的单词嵌入涉及500,000个唯一令牌,关键字嵌入涉及100,000多个短语,并且标签嵌入涉及26,000个mesh项。gensim用于训练以300为维数的嵌入。对于amazoncat13k,利用预训练的googlenews-vectors-negative300.bin,其中具有300万个令牌并且以300为维数。其他超参数的值是经由对来自训练数据的较小验证集进行格点搜索来选择的。

4.在线f度量优化的性能

如章节b.1.4中讨论的,在线宏f度量优化(ofo)被集成到提出的框架中。为了显示ofo的有效性,针对mesh对图8中的前6个层级报告宏精度、查全率和f分数。尽管未显示第7层级的结果和amazoncat13k的结果,但它们可以获得类似的性能。可以观察到,ofo有助于在宏精度与查全率之间实现平衡。进一步观察到,最佳f分数在不同的层级是不同的。如果始终选择前k个(实验中k=10)进行逐层预测,则尽管每个层级的查全率可能高达80%左右,但仍无法获得最佳f分数。精度可以低至或小于20%。原因是在将每篇文章的mesh标签划分为7个层级之后,大多数文章在每个层级仅具有2到5个标签。这意味着,即使所有标签均位于前10之内,尽管查全率可能为100%,但精度仅为20%至50%。在这种情况下,f分数也不高。ofo极大地删除了不太相关的标签,因此每个层级的最终预测集中的标签的数量也从2到5不等。同时,大多数正确的预测仍保留在预测集中。显然,这种调整策略极大地提高了性能。

5.逐层性能

如在章节b中讨论的,提出的深度逐层xmlc框架将xmlc的任务分解成逐层模型构建。因此,在本章节中,报告逐层预测结果以便了解整个模型的中间发展和改进。

如图3所示,逐层神经模型从来自上层级或下层级的medline集合、关键字以及预测标签中学习标签嵌入。在此报道了具有不同嵌入的逐层神经模型的性能。通过固定每个层级的前k个标签、经与逐层神经模型进行比较,进一步证明了ofo的有效性。测试从1到10的不同k值,并且发现当k为5时实现最佳性能。

表2报告了用于具有ofo和前k固定策略的逐层模型的微观性能。为了获得最佳结果,在此将k设置为5。表3中也示出宏度量的性能。可以看出,无论在微度量还是宏度量上,ofo的性能总是优于固定前k个的策略。

表2和表3还报告了针对mesh具有三种不同嵌入的逐层预测。尽管对amazoncat13k数据集的评估不是基于f分数,但是还报道针对amazoncat13k的微度量以示出ofo的优势。毕竟,使用ofo在过滤的输出上计算p@k和ndcg@k的结果。根据此结果,可以确定所有七个层级的明显的增量趋势。即,通过添加上层级和下层级的关键字和预测mesh项,该预测会相应地得到快速改善。不难看出,一般而言,宏观结果要优于微观结果。其中,mesh的第三层级和第四层级同时amazoncat13k的第四层级和第五层级比其他数据集产生更差的结果,而对于两个数据集,层级1则获得好得多的结果。考虑到第三和第四标签数量更多(对于mesh,分别为4,484和6,568,而对于amazoncat13k,分别为6,181和5,372),这是可理解的。

表2:使用前k个和ofo进行微度量的逐层性能。该表旨在示出当针对每个层级逐步添加新的特征时,微度量的增量式改进。同时,对于每个层级,此处还示出没有优化和具有ofo优化的前k个的结果。

表3.使用前k个和ofo进行宏度量的逐层性能。该表旨在示出当针对每个层级逐步添加新的特征时,微度量的增量式改进。同时,对于每个层级,以类似于表2的方式,此处还示出没有优化和具有ofo优化的前k个的结果。

6.最终合并的性能

所提出的深度逐层的xmlc会将逐层预测合并到具有指针生成模型的一个统一标签集中。在本章节中,针对mesh结果,将深度逐层xmlc进一步与五种最新方法进行比较,以证明指针生成模型的有效性,五种最新方法包括:mtidef(minliehuang等人,推荐用于生物医学文章注释的mesh项,美国医学信息协会杂志的第18卷,第5期(2011年),第660至667页);meshnow(yuqingmao和zhiyonglu.,2017年),meshnow:通过学习排名在pubmed规模上自动进行mesh索引,生物医学语义学杂志第8卷,第1期(2017年),15);meshlabeler、meshranker(keliu等人,meshlabeler:通过整合各种证据来提高大规模mesh索引的准确性,生物资讯第31期卷,第12期(2015年)第i339至i347页);以及深度mesh(shengwenpeng等人,deepmesh:用于改善大规模mesh索引的深度语义表示,生物资讯,第32期卷,第12期(2016年)第i70至i79页)。所有这些现有系统都大量使用特征工程。相反,深度逐层xmlc使用有限的外部资源。对于amazoncat13k,xml-cnn的结果在此基准数据集上报告了最新系统的状态。

从mesh标记开始,在获得逐层结果之后,使用来自所有层级的预测结果作为输入并且以黄金标准标签作为输出来训练分层指针生成模型。对于模型训练,可以将每个标签作为独立的单位或与一个单元处于同一层级的标签(在概述共同体中称为语句)来组织输入。因此,训练两个指针生成模型,其中前者称为深度逐层xmlclabel,并且后者称为深度逐层xmlclevel。为了进行比较,将所有层级的结果相加,并且随后根据其预测概率和黄金标准(深度逐层xmlcsampling)中的标签分布来过滤掉不太相关的标签。

表4.用于mesh数据集的深度逐层xmlc的性能。从粗体数字可以看出,最佳性能来自深度逐层xmlc。显然,基于层级的动态池化获得比基于标签的动态池更好的性能。

如表4所示,在精度、查全率和f分数的宏度量上,深度逐层xmlclabel和深度逐层xmlclevel均优于其他系统。表4中未报告的微度量也具有类似的趋势。

通过涉及来自medline集合和关键字的嵌入,与所有其他现有的前沿框架相比,深度逐层xmlclabel和深度逐层xmlclevel实现了好得多的性能。可以观察到,尽管f分数非常相似,但是不同的输入组织可能会导致精度和查全率的不同性能。深度逐层xmlclabel实现更好的精度,而深度逐层xmlclevel实现更好的查全率。这似乎表明,提出的分层指针生成模型考虑了单元内的标签之间的相关性。因此,具有更长输入单元的深度逐层xmlclevel获得更好的查全率。然而,它还包括更多的误报,从而降低了其精度。相比之下,深度逐层xmlclebel在精度上获胜,可能是因为它考虑了更多更小的单位,并且因此错过了更多的正确肯定。

同时,与大多数现有系统相比,深度逐层xmlcsampling获得的结果要差得多。这表明分层指针生成模型在最终达到最佳性能方面可以发挥重要作用。此外,还报告了使用最大池化的深度逐层xmlclevel的结果。默认情况下,所有系统都使用动态最大池化来工作。显然,结果表明,动态最大池化比常规最大池化策略更具优势。

表5.用于amazoncat13k的深度逐层xmlc的性能。使用具有指针生成网络以及基于动态池化和层级的版本。如章节c中的3.1中所述,为了将提出的方法论从医学领域扩展到更通用的一些领域,提出的模型实施方式也在amazoncat13k上进行了测试。对于使用amazoncat13k的人,他们更喜欢报告精度@k和ndcg@k。还列出了amazoncat13k的xml-cnn的性能以便进行比较。

xml-cnn:jingzhouliu等人,用于极端多标签文本分类的深度学习。在日本东京的第40届国际acmsigir信息检索研究和发展(sigir)会议的会议记录中,第115至124页。

对于amazoncat13k,结果在表5中给出。还列出了xml-cnn的最新技术成果。表5示出了来自本专利公开中的工作的更高性能的结果。应当注意的是,从具有每个层级的标签的原始文本数据中提取针对深度逐层xmlc的测试数据集,而xml-cnn的工作是在由数据收集器准备的标准测试数据集上进行测试的。

d.一些相关工作

1.基于树的方法

由于标签数量巨大,xmlc的预测可能会在时间和空间上涉及高成本。基于树的方法致力于降低训练和测试成本。例如,通过次线性排序(lpsr)方法进行的标签划分尝试通过学习基础分类器上的层次结构来减少预测时间。一些人提出了一种称为多标签随机森林(mlrf)的方法,该方法旨在学习整个随机树,而不是依赖于学习基础分类器。提议使用fastxml来学习不在标签空间上而是在特征空间上的层次结构。它定义在一个区域中活动的标签集为该区域中存在的所有训练点的标签的并集。在层次结构的每个节点上,都会优化基于ndcg的目标。即,在每个节点处,感应超平面,并且超平面将当前节点中的文档集分成两个子集。通过返回所有叶节点中最频繁出现的标签的排序列表来进行预测。最近,一些人基于整体随机森林开发了用于社交流的多标签分类。他们集成了基础学习器和基于标签的学习器来学习分层标签。然而,由于标签空间和特征空间的维数,这些方法的训练成本很高。

2.嵌入方法

嵌入方法试图通过将标签矢量投影到低维空间上并且由此减少标签的数量来克服由大量标签带来的难处理性问题。假设标签矩阵是低等级的。由于其强大的理论基础和处理标签相关性的能力,嵌入方法已被证明是解决xmlc问题的最流行的方法。具体地,最近提出的嵌入方法、用于极端多标签分类(sleec)的稀疏局部嵌入在将非线性邻域约束合并到低维嵌入空间中以便进行训练之后大大提高了精度,并且简单的k最近邻域(k-nn)聚类被用于嵌入空间中以便进行测试。在本专利公开的一个或多个实施方式中,通过探索逐层标记嵌入来采取进一步的步骤以改善神经结构的预测。

3.最大裕度方法

最大裕度方法也被用来处理多标签分类。有人提出名为pd-sparse的模型。基本上,针对在与该标签相关联的权重矩阵上具有l1和l2范数罚分的每个标签来学习线性分类器。这导致原始空间和对偶空间中的稀疏解。使用完全校正的块坐标frank-wolfe训练算法来实现关于原始变量和双变量的数量的次线性训练时间,同时获得比1对所有svm和多标签分类的逻辑回归更好的性能,大大减少了训练时间和模型尺寸。然而,与1对所有svm一样,pd-sparse方法在算法上无法扩展到极端多标签学习。

4.基于深度学习的方法

基于深度学习的方法也已经用于多标签学习。有人将标签空间嵌入合并到特征嵌入中。具体地,为标签a构造邻接矩阵,并且使用等式m=(a+a2)/2推导标签图矩阵。随后,对于矩阵中的每个非零条目,将由索引p、q和mpq组成的元组馈送到标签嵌入网络中,以与单词嵌入一起训练复合网络。在预测阶段中,在低维特征表示中执行k-nn搜索以从训练数据集中找到类似样本。将k-nn的标签的平均值设置为最终标签预测。有人提出将多标签同现模式纳入神经网络目标,以提高分类性能。他们还建议采用动态最大池化来捕获来自文档不同区域的丰富信息,并且使用附加的隐藏瓶颈层来减小模型尺寸。此外,sigmoid输出上的二进制交叉熵损失被调制为xmlc。然而,这些方法不适用于具有复杂层次标签的数据,因为标签层次的分解会大大减少标签空间。此外,有人提出了基于玻尔兹曼cnn的混合学习网络来处理生物医学文献分类。他们的工作丰富了数据序列嵌入。这种设计不适用于巨大的标签空间。他们的实验仅着重于少于2,000个mesh标签的种类。有人提出分层多标签分类网络(hmcn),据称它能够同时优化局部和全局损失函数,以便从整个分类层次结构中发现局部分层分类关系和全局信息,同时惩罚分层违规。但是由于使用了完全前馈层,他们的工作具有更高的计算复杂性。即使用具有共享权重的类似lstm的模型简化了hmcn网络,它仍然具有很高的计算负担。看来这就是为什么针对hmcn报告最多约4000个标签的数据集的原因。

e.一些结论

本文公开了用于处理极端多标签学习和分类的基于深度学习的逐层框架的实施方式,通常(为方便起见而非限制)命名为深度逐层xmlc。深度逐层xmlc的实施方式包括若干创新。首先,在一个或多个实施方式中,分裂模型训练机制将标签划分为多个层级,从而在很大程度上减少了维数灾难和训练成本。其次,在一个或多个实施方式中,将利用宏f度量的取决于类别的动态最大池化和权重调整集成到神经架构中,使得最终预测更适合于层级及其分层关系的分布。第三,在一个或多个实施方式中,分层指针生成模型成功地将逐层输出合并到一个统一标签预测中。

结果显示,通过利用来自上层级和下层级的medline集合、关键字和预测标签,深度逐层xmlc的实施方式实现了最新的结果。amazoncat13k的结果还表明,深度逐层xmlc的实施方式对于处理各种数据集足够通用。

在本专利公开中,不难发现,深度逐层xmlc实施方式可以方便地转移到任务,如大规模语义索引,以便构建更有效且更准确的信息检索引擎并且减少昂贵的手动专家工作,如此工作中所示。

本领域技术人员将认识到,其他实施方式可以包括不同的、更稳健的损失函数,以及增加更多的层来处理特征细化或权重调整,并且同时提高运行效率。

f.系统实施方式

在实施方式中,本专利文献的方面可涉及、可包括一个或多个信息处理系统/计算系统或者可在一个或多个信息处理系统/计算系统上实施。计算系统可包括可操作来计算、运算、确定、分类、处理、传输、接收、检索、发起、路由、交换、存储、显示、通信、显现、检测、记录、再现、处理或利用任何形式信息、智能或数据的任何手段或手段的组合。例如,计算系统可为或可包括个人计算机(例如,膝上型计算机)、平板电脑、平板手机、个人数字助理(pda)、智能手机、智能手表、智能包装、服务器(例如,刀片式服务器或机架式服务器)、网络存储设备、摄像机或任何其他合适设备,并且可在大小、形状、性能、功能和价格方面改变。计算系统可包括随机存取存储器(ram)、一个或多个处理资源(例如中央处理单元(cpu)或硬件或软件控制逻辑)、rom和/或其他类型的存储器。计算系统的另外组件可包括一个或多个盘驱动器、用于与外部设备通信的一个或多个网络端口、以及各种输入和输出(i/o)设备(例如键盘、鼠标、触摸屏和/或视频显示器)。计算系统还可包括可操作为在各种硬件组件之间传输通信的一个或多个总线。

图9描绘根据本公开的实施方式的计算设备/信息处理系统(或是计算系统)的简化框图。应理解,计算系统可不同地配置并且包括不同组件,包括如图9中所示的更少或更多的部件,但应理解,针对系统900所示出的功能可操作为支持计算系统的各种实施方式。

如图9所示,计算系统900包括一个或多个中央处理单元(cpu)901,cpu901提供计算资源并控制计算机。cpu901可实施有微处理器等,并且还可包括一个或多个图形处理单元(gpu)919和/或用于数学计算的浮点协处理器。系统900还可包括系统存储器902,系统存储器902可呈随机存取存储器(ram)、只读存储器(rom)、或两者的形式。

如图9所示,还可提供多个控制器和外围设备。输入控制器903表示至各种输入设备904的接口,例如键盘、鼠标、触摸屏和/或触笔。计算系统900还可包括存储控制器907,该存储控制器907用于与一个或多个存储设备908对接,存储设备中的每个包括存储介质(诸如磁带或盘)或光学介质(其可用于记录用于操作系统、实用工具和应用程序的指令的程序,它们可包括实施本发明的各方面的程序的实施方式)。存储设备908还可用于存储经处理的数据或是将要根据本发明处理的数据。系统900还可包括显示控制器909,该显示控制器909用于为显示设备911提供接口,显示设备911可为阴极射线管(crt)、薄膜晶体管(tft)显示器、有机发光二极管、电致发光面板、等离子面板或其他类型的显示器。计算系统900还可包括用于一个或多个外围设备906的一个或多个外围控制器或接口905。外围设备的示例可包括一个或多个打印机、扫描仪、输入设备、输出设备、传感器等。通信控制器914可与一个或多个通信设备915对接,这使系统900能够通过各种网络(包括互联网、云资源(例如以太云、经以太网的光纤通道(fcoe)/数据中心桥接(dcb)云等)、局域网(lan)、广域网(wan)、存储区域网络(san))中的任一网络,或通过任何合适电磁载波信号(包括红外信号)来连接至远程设备。

在示出的系统中,所有主要系统组件可连接至总线916,总线916可表示多于一个的物理总线。然而,各种系统组件可在物理上彼此接近或可不在物理上彼此接近。例如,输入数据和/或输出数据可远程地从一个物理位置传输到另一物理位置。另外,实现本发明的各方面的程序可经由网络从远程位置(例如,服务器)访问。此类数据和/或程序可通过各种机器可读介质中的任一机器可读介质来传送,机器可读介质包括但不限于:诸如硬盘、软盘和磁带的磁性介质;诸如cd-rom和全息设备的光学介质;磁光介质;以及硬件设备,该硬件设备专门被配置成存储或存储并执行程序代码,该硬件设备例如专用集成电路(asic)、可编程逻辑器件(pld)、闪存设备、以及rom和ram设备。

本发明的方面可利用用于一个或多个处理器或处理单元以使步骤执行的指令在一个或多个非暂态计算机可读介质上编码。应注意,一个或多个非暂态计算机可读介质应当包括易失性存储器和非易失性存储器。应注意,替代实现方式是可能的,其包括硬件实现方式或软件/硬件实现方式。硬件实施的功能可使用asic、可编程的阵列、数字信号处理电路等来实现。因此,任何权利要求中的术语“手段”旨在涵盖软件实现方式和硬件实现方式两者。类似地,如本文使用的术语“计算机可读媒介或介质”包括具有实施在其上的指令程序的软件和/或硬件或它们的组合。利用所构想的这些替代实现方式,应当理解,附图以及随附描述提供本领域的技术人员编写程序代码(即,软件)和/或制造电路(即,硬件)以执行所需处理所要求的功能信息。

应当注意,本发明的实施方式还可涉及具有其上具有用于执行各种计算机实施的操作的计算机代码的非暂态有形计算机可读介质的计算机产品。介质和计算机代码可为出于本发明的目的而专门设计和构造的介质和计算机代码,或者它们可为相关领域中的技术人员已知或可用的。有形计算机可读介质的示例包括但不限于:诸如硬盘、软盘和磁带的磁性介质;诸如cd-rom和全息设备的光学介质;磁光介质;以及专门配置成存储或存储并执行程序代码的硬件设备,例如,专用集成电路(asic)、可编程逻辑器件(pld)、闪存设备、以及rom和ram设备。计算机代码的示例包括机器代码(例如,编译器产生的代码)以及包含可由计算机使用解释器来执行的更高级代码的文件。本发明的实施方式可整体地或部分地实施为可在由处理设备执行的程序模块中的机器可执行指令。程序模块的示例包括库、程序、例程、对象、组件和数据结构。在分布的计算环境中,程序模块可物理上定位在本地、远程或两者的设定中。

本领域的技术人员将认识到,计算系统或编程语言对本发明的实践来说均不重要。本领域的技术人员将还将认识到,多个上述元件可物理地和/或在功能上划分成子模块或组合在一起。

本领域技术人员将理解,前文的示例和实施方式是示例性的,并且不限制本公开的范围。旨在说明的是,在本领域的技术人员阅读本说明书并研究附图后将对本领域的技术人员显而易见的本发明的所有、置换、增强、等同、组合或改进包括在本公开的真实精神和范围内。还应注意,任何权利要求书的元素可不同地布置,包括具有多个从属、配置和组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1