本文是一篇计算机论文,本文通过在几个基准数据集以及自己构建的中医药处方数据上和最近的基线模型进行对比,证明了我们提出的模型的有效性。
1绪论
1.1研究背景
自然语言处理(Natural language processing,NLP)是语言学、计算机科学和人工智能的一个交叉子领域,关注计算机与人类语言之间的交互,特别是如何对计算机进行编程以处理和分析大量自然语言数据。目标是一台能够“理解”文档内容的计算机,包括语言的上下文细微差别。然后,该技术可以准确提取文档中包含的信息和见解,并对文档本身进行分类和组织。
极大多标签文本分类(Extreme multi-label text classification,XMTC)任务是一个NLP任务,它对给定的一段文本,从一个极大的标签集合中找到最相关的标签子集,这个标签集合通常包括成千上万、几十万、几百万的标签。XMTC任务在现实中有非常多的应用场景。例如,由于在大数据架构的基础上互联网内容快速增长,维基百科拥有超过一百万个由策展人创建的类别标签,每篇文章至少有一个相关的标签,对新增的文章找到与其最相关的标签子集是一个XMTC任务。不同于经典的多标签分类问题,XMTC任务中的标签集合非常庞大,而且随着数据规模的爆发式增长以及传统行业数据信息电子化,越来越多的场景需要用到XMTC模型。
不同的场景下所需的算法侧重点有所不同,维基百科上的文章标签分配任务侧重于找到与文章内容最相关的若干个标签,而中医药处方预测需要根据病人的症状描述文本,从几千味药材中找到一个药物(标签)之间能够互相搭配、对不同处方可变长度、相对完整的子集。所预测出的药物并不是直接根据相关度进行排序,而是侧重于药物之间互相搭配,对症下药,相同的病症也可以用不同的药物组合进行治疗。
1.2研究目标与主要内容
本文的研究目标是针对XMTC任务,提出一个可扩展的序列到集合(Sequence-to-set)的模型,在胜任通用的XMTC算法的同时,针对不同数据集的特性加减模块能够提升模型效果。本文将从以下几个方面对序列到序列的模型进行改进,提升其在XMTC任务上的准确性。
1)从序列到集合的角度出发,将XMTC任务视为一个序列文本作为输入,标签集合视为输出的端到端训练的模型。
2)XMTC任务中标签量级巨大,如何在有限的计算资源下,进行模型的训练、预测是一个关键的问题。
3)在监督学习的情况下,如何充分的利用已有的训练数据是一个重要的课题,针对具有不同特点的XMTC任务,模型能够扩展不同的模块充分挖掘数据隐含的知识是一个重要的关键点。
本文具体的研究工作和贡献如下:
1)设计了一个自回归模式的、端到端训练的序列到集合模型。该模型在训练阶段使用Student-forcing模式,结合基于二分匹配(Bipartite matching)的负对数似然损失函数,完全消除了训练中标签无意义的顺序的影响,并且该模型避免了存在于序列到序列模型中的曝光误差[8](Exposure bias)。本文中设计了二分匹配算法的两种匹配模式,各自擅长不同标签分布的数据集。自回归模式的序列到集合的模型同时也具有可扩展性,针对不同的任务的数据集,我们设计了多个模块来充分的利用不同数据集的特性提升模型的效果。验证了提出的序列到集合模型的可扩展性,证明提出的模型能够解决实际问题。
2相关研究方法
2.1 XMTC模型
XMTC模型根据输入的不同可以大致分为两个方向。一类是传统的机器学习方法,使用文本的稀疏特征如词袋模型(bag-of-words)的特征表示作为输入,另一类是使用原始文本作为输入的深度学习方法。
2.1.1传统的机器学习方法
对于传统的机器学习方法,我们可以继续将这些方法分为三个方向:
one-vs-all方法、基于树的方法和基于词嵌入的方法。one-vs-all方法one-vs-all方法,如DiSMEC[9]、ProXML[10]、PDSparse[11]和PPDSparse[12]等模型,它们将每个标签视为一个二分类问题,并且标签之间相互独立。尽管像DiSMEC和PPDSparse等模型专注于提高其效率,one-vs-all方法仍然存在昂贵的计算复杂度和庞大的模型规模等问题。这类方法以效率为代价可以达到可接受的预测精度。
基于树的方法基于树的方法旨在克服one-vs-all方法中高昂的计算复杂度。这些方法需要构建一个层次化的树状结构,例如,Parabel[13]通过分割标签来构造树状结构、FastXML[14]模型通过稀疏特征来构造树状结构。Parabel模型的标签树根据标签的特征使用一种平衡2-均值聚类算法来构造,在分类时,输入文本被判断是否属于当前节点下的标签,或当前叶子节点对应的标签。Bonsai[15]模型通过放松Parabel模型中的两个约束来提升模型效果,其一是每个节点可以包括多个子节点而不是两个,其二是去掉了聚类算法中的平衡约束。FastXML模型通过直接优化归一化折损累积增益(NormalizedDiscounted Cumulative Gain,NDCG)损失函数来构造树结构,其树结构中每个节点都包括多个类别,类似Bonsai模型通过遍历树结构进行分类。
2.2序列到序列的模型
序列到序列的模型早期被使用在机器翻译领域,并且经过不断地改进,现在被应用在多标签分类、关键字生成、命名实体识别等众多的自然语言处理任务中。
2.2.1序列到序列的文本生成模型
Seq2Seq模型基于注意力机制的序列到序列的模型Seq2Seq[7]在机器翻译任务上仍然是一个非常强的基线模型。Seq2Seq模型包括一个编码器、一个解码器、以及注意力机制,在机器翻译任务中,编码器的输入为待翻译文本序列(x1,x2,...,xTx),编码器将待翻译文本序列转化为表示向量的序列,解码器将一个开始标记BOS以及上下文表示向量c1作为输入,输出第一个目标词y1,随后将y1以及上下文表示向量c2作为输入生成第二个目标词y2,直到生成一个结束标记EOS之后停止,在生成目标词的第t步,通过注意力机制计算得到的一个包含当前步骤应该关注哪些内容的上下文表示向量ct,如图2.4所示。
3最优传输增强的序列到集合模型OTSeq2Set...........................18
3.1背景和动机....................................18
3.2自回归式的序列到集合模型...............................20
4基数预测增强的序列到集合模型....................................37
4.1背景和动机....................................37
4.2模型描述...............................40
5总结与展望.............................50
5.1总结...............................50
5.2展望.....................................50
4基数预测增强的序列到集合模型
4.1背景和动机
几千年来,传统中医在中国社会中发挥着至关重要的作用,其中医药处方是疾病预防和治疗的最主要的手段。一个完整的中医药处方包括药物的组成、药物的用量、药材的制作方法、煎药的剂量以及对病人症状的文字描述。在本文中,我们聚焦于中医药处方中最重要的两部分:病人症状描述和药物的组成。在漫长的中国历史中,中医发明了大量的处方。例如,《中医方剂大辞典》[6]记录了九万多的处方。现如今,中医医生根据这些经典处方开具处方。所以,挖掘药物组成和病人症状之间的规律,对于临床治疗和新处方的开发是有意义且必要的。
近年来,挖掘中医药处方中规律和中医药处方预测的工作主要包括三类方法,即主题模型(Topic models)[47][48],基于图神经网络的模型(Graph neural network based mod-els)[49][50][51],以及序列到序列的模型[28][52][53]。主题模型计算共同出现的症状和药材的条件概率,以捕捉症状和药物之间的潜在关系。基于图形神经网络的模型利用已有的处方为症状和药材构建图结构,然后学习症状和药物的词嵌入以更好地进行处方预测。主题模型和基于图神经网络的模型在处方生成任务上都有显著的表现,但是这两类模型都只使用了从完整症状描述中提取的症状词表,而完整的症状描述中包含更多的关键信息,如病人的性别和年龄。例如,图4.1给出了一个摘取自《中医方剂大辞典》的包含病人年龄的处方。中医医生在开方时不只是根据症状,同时也会考虑病人的年龄、性别甚至更详细的身体状况。对于儿童,中医医生可能会开出较为温和的药物。序列到序列模型的编码器可以完整的编码症状描述的信息,并且其中的注意力机制可以在预测药物时将注意力集中在不同的症状文本上,可以关注到其中的年龄、性别等关键特征。
5总结与展望
5.1总结
XMTC模型是自然语言处理的研究热点之一,随着技术的不断发展以及大数据的爆发式增长,越来越多的场景需要使用XMTC模型。早期的XMTC模型以传统机器学习算法为主,随着深度学习对自然语言文本表示能力的不断提升,深度学习在XMTC任务中也达到了新的高度。本文在序列到序列的模型的基础上进行改进,提出了一个自回归模式的序列到集合模型。并且提出的模型可以兼容多种持续增强预测能力的模块来解决不同风格的任务。通过在几个基准数据集以及自己构建的中医药处方数据上和最近的基线模型进行对比,证明了我们提出的模型的有效性。
本文的具体工作包括如下几点:
首先介绍了与本文研究内容相关的工作,介绍了现有的XMTC模型,序列到序列的模型以及非自回归的集合预测模型,并且比较了各自的优缺点。
然后从通用的XMTC任务和特定的XMTC任务两个角度进行深入研究。
详细介绍了针对通用XMTC任务的OTSeq2Set模型的设计思路以及设计方案,并且进行了充分的实验及结果分析,实验表明我们提出的模型大幅优于目前的序列到序列模型。
最后详细介绍了针对中医药处方预测任务的基于基数预测增强的序列到集合模型,并且通过实验验证了各个模块的作用,实验结果表明提出的方法大幅优于目前的中医药处方预测方法,也超过了针对通用XMTC任务的OTSeq2Set模型,说明自回归模式的序列到集合模型对特定的XMTC任务具有可扩展性,能够解决实际场景中的问题。
参考文献(略)