系统评价中自动化偏倚风险评估的相关算法研究论文

2021年1月20日11:21:09系统评价中自动化偏倚风险评估的相关算法研究论文已关闭评论

系统评价中自动化偏倚风险评估的相关算法研究论文

摘要

系统评价是循证医学中最高质量的证据来源,主要由专业的系统评价人员和 医生来完成。系统评价形成过程中要求必须对纳入研究的临床试验报告 (Randomized Controlled Trials, RCT)进行偏倚风险评估,然而该评估过程既复杂 又繁重。近年来生物医学文献的发表速度正呈指数级形式增长,对系统评价人员 来说,偏倚风险评估任务显得务更加困难。本文研究通过人工智能方法完成偏倚 风险评估的自动化过程,从而提高系统评价的效率。

本文提出了一种结合n元语法模型(n-gram)与TF-IDF (Term Frequency- Inverse Document Frequency )的特征工程方法,基于线性支持向量机(Support Vector Machine, SVM)分类器构建自动化偏倚风险评估模型。该方法通过引入词频统计 的概念和n-gmni思想,有效避免了词袋模型存在的高稀疏性和高纬度性,通过算 法实现和对比实验,发现该模型在自动化偏倚风险评估任务的文档分类任务上取 得了 62.8%—80.0%的F1值,句子分类任务上取得了 67.7%—74.7%的F1值。

为了弥补传统特征表示方法在上下文语义学习上的不足,本文又提出了一种 基于 BERT (Bidirectional Encoder Representations from Transformers) 的自动化偏 倚风险评估模型。该模型采用性能优异Tmnsfonnw结构作为特征抽取器,同时采 用双向语言模型学习上下文信息。对比实验结果显示,该模型在文档分类任务上 的F1值要比传统方法(结合TF-IDF特征工程与SVM分类器的方法)高14.7%左 右,在句子提取任务上的F1值要比传统机器方法高18.2%左右。

本文数据来源于从Cochrane图书馆的系统评价数据库(Cochrane Database of Systematic Reviews, CDSR)和Pubmed等数据库中获取到的3802篇RCT的原文及 其对应偏倚风险评估数据。本文使用pdfminer3k工具包对RCT原文进行格式处理, 并采用文本相似性计算技术从处理后的全文中获取对应的偏倚风险描述句,经处 理后最终得到自动化偏倚风险评估模型训练和测试所需的数据集,该数据集是目 前国内外相关研究中规模最大的一个。

基于以上研究,本文设计实现了一个自动化偏倚风险评估系统。该系统基于 Flask轻量级框架开发,采用Docker容器技术在本地服务器和阿里云服务器上分别 部署。测试结果表明,该系统能够缩短系统评价过程中偏倚风险评估任务的时间, 有效地提高了系统评价的整体效率。

关键词:系统评价,自动化偏倚风险评估,人工智能,TF-IDF, BERT

ABSTRACT

Systematic reviews, mainly done by professional reviewers and doctors manually, were regarded as the source of evidence with the highest quality in evidence-based medicine. Risk of bias assessment needs to be done on clinical trial reports (Randomized Controlled Trials, RCTs) that were recruited in the systematic reviewers. It is very time-consuming and error-prone. Meanwhile, the publication of biomedical literature soars recently, which made the systematic reviews, especially the risk of bias assessment, more difficult. This study proposed a method to complete the risk of bias assessment automatically via introducing algorithm in artificial intelligence.

N-gram and TF-IDF (Term Frequency-Inverse Document Frequency) were combined in this study to obtain the features, and the Linear Support Vector Machine (Linear SVM) classifier was utilized to complete the risk of bias assessment automatically. The high sparsity and latitude of the BoW (Bag of Word) was effectively settled The results of experiment showed that the Fl value of the model on the document classification task of the automated risk of bias assessment task was 62.8% -80.0%, and the Fl value of the sentence classification task was 67.7% -74.7%.

Furthermore, an automated bias risk assessment model based on BERT (Bidirectional Encoder Representations from Transformers) was proposed since the lack of contextual semantic in traditional feature engineering. Previous studies showed that the BERT performed better because it used the Transformer structure as a feature extractor, while learning contextual information with a bidirectional language model. Experimental results showed that the Fl value of the model on the document classification task was about 14.7% higher than that of the traditional method (combining the TF-IDF feature engineering and SVM classifier method), and the Fl value on the sentence extraction task was higher 18.2 % around.

Datasets used in this study were the original 3802 RCTs and their corresponding assessment data obtained from the Cochrane Database of Systematic Reviews (CDSR), Pubmed and other databases. Firstly, the pdfminer3k toolkit was used in the preprocessing of the original RCT. Secondly, the similarity calculation of text was proposed to obtain the corresponding risk of bias assessment. Finally, the data can be used in the training of the automated risk of bias assessment was obtained, which is

the largest in the relevant research.

In the following, an automated risk of bias assessment system was designed and implemented in this study. The system was developed based on a lightweight framework- the Flask, and was deployed on the local server and the Alibaba Cloud server by using Docker container technology. The results of the experiments showed that the time consumed in the risk of bias assessment can be largely reduced with high accuracy.

Keywords: Systematic reviews, automated risk of bias assessment, artificial intelligence, TF-IDF, BERT

第一章绪论

1.1课题研究背景及意义

1.1.1研究背景

发展于20世纪90年代初的循证医学(evidence based medicine, EBM),是临 床医学领域一门新兴的交叉基础学科。它的学术思想、研究方法和研究结果,对 于政府部门指导卫生决策、医学教育、以及医师日常临床实践和临床科研都有着 十分重要的意义,它被誉为是21世纪的临床医学⑴。

EBM强调医师在日程临床实践中,对于患者的诊断和治疗必须基于三点:一 是当前可得的最高级别的研究证据;二是医师的个人经验和患者的第一手临床数 据;三是患者的选择和意愿。只有保证以上三点,才能确保患者得到最有效的治 疗⑵。“证据”及其质量是EBM的思想核心,也是实践EBM的关键所在。EBM 中采用了防止偏倚的措施从而确保了试验结果的真实性和科学性的临床研究,被 认为是高质量的证据。这类高质量的证据主要包括病因、诊断、预防、治疗、康 复和预后等各方面的研究。其中高质量系统评价的结论或者高质量RCT的结论, 具有最高的证据级别,通常作为权威临床指南的重要参考依据⑶。循证医学最新的 证据等级划分如图1-1所示为。

图1-1循证医学“新九级证据”示意图

RCT是EBM中最主要的文献证据来源,如图1-1所示,基于RCT的系统评 价是EBM中最有力的证据形式,具有最高的证据级别,因为它们旨在提供一种包 含所有相关研究证据的公正观点⑷。正确设计和执行的RCT,为临床干预提供了 可靠的证据来源。但是RCT的试验设计,实施,分析或报告中的缺陷可能导致过 度或低估治疗效果⑸叫例如,双盲一即参与者和研究者都不知道正在施用哪种治 疗方法一已被证明可以减少试验结果的偏倚⑺。因此,评估RCT中重要偏倚的风 险是解释和综合试验报告的关键步骤。

偏倚风险评估为系统评价中的分析提供依据。例如,在敏感性分析中可能会 拒绝被认为具有高度偏倚风险的试验,从而保证只从最有力的证据来判断治疗效 果。由于单个系统评价可能包含数十个RCT,具体评估某一篇RCT的偏倚风险通 常需要阅读全文,因此执行此类评估非常耗时。事实上,进行偏倚风险评估所需 的时间已经被认为是阻碍系统评价保持最新的关键因素⑻。

1.1.2研究意义

系统评价通常是由医生或者专业的系统评估员来完成,其中偏倚风险评估过 程,极具专业性。在临床医学领域,RCT的发表速度远远超过了临床医生阅读他们 的能力。系统评价的一项关键任务是确定纳入研究的结果是否可能受到偏倚的影 响,而对纳入研究的偏倚风险评估又往往占到整个系统评价时间的70%以上。因 此,利用人工智能方法,实现偏倚风险评估的自动化,将是一项十分有意义的研 究,它将从一定程度上减轻临床研究人员的工作量。这种自动化、智能化的偏倚 风险评估技术,将对EBM甚至是临床医学的相关研究产生深远的影响。此外如果 能利用机器学习和自然语言处理的相关技术,从开源的生物医学文献数据库中构 建出数据质量相对较高、数据规模相对较大的偏倚风险评估数据集,同样具有重 大意义。

众所周知在自然语言处理(NLP)领域,很多问题都可以采用为文本分类的思 想来解决。经过前期大量的文献调研发现,利用机器学习方法和NLP技术构建相 应的文本分类模型,能够很好的实现对RCT文献的自动化偏倚风险评估。而且关 于自动化偏倚风险评估的相关研究是在国外医学信息学领域最近几年才兴起的一 项研究,目前国内并没有相关的研究被报道,因此本文将是国内自动化偏倚风险 评估研究的一次初探。

1.2国内外研究现状

系统评价和Meta分析属于二次研究,即针对特定问题,在汇总所有相关的原 始研究结果后,重新形成的总结性的研究。值得注意的是,在系统评价和Meta分 析形成过程中,如果纳入统计分析的RCT本身存在较高的偏倚风险,那么对其结 果直接进行合并,将不仅不能排除其本身存在的偏倚,而且很可能会提高有偏估 计的精确性,从而进一步歪曲真实的效应。因此EBM中要求所有系统评价和Meta 分析,都必须对纳入研究的RCT进行偏倚风险评估,而且评估结果也将为进一步 的证据质量分级提供依据⑼。

彻底的系统评价非常耗时,通常需要持续3年之久,而且针对每一篇RCT的 偏倚风险评估必须由两位评审员独立完成,以尽量减少错误[⑹。一项研究表明,80% 左右的RCT的偏倚风险评估,需要花费专业人士 60分钟左右的时间才能完成, 而且评估的结果往往还不太完善Mi】。另一项研究表明,如果人为的错过了文章中 的关键信息,那么不同的系统评价研究员在针对同一篇RCT的同一偏倚风险进行 评估时,往往会给出不同的评估结果[12J3]O正因如此,国外医学信息学领域,近 年来才兴起了一项关于自动化偏倚风险评估的研究。

1.2.1系统评价与偏倚风险评估的相关概念

EBM中关于系统评价的定义是,系统地总结特定临床问题上已有的既往研究 成果,并进一步形成能够作为临床决策证据的方法[14J5]o在类别上除了针对RCT 的系统评价外,还有针对观察性研究的系统评价、针对定性研究的系统评价等。 系统评价得到的是关于某个干预措施效果的结论,其可信度取决于纳入研究的真 实性。此外系统评价制作过程中的各阶段都有可能产生偏倚,因此用户在解释系 统评价的结果和结论时需要考虑这些潜在的偏倚。如果纳入不真实的研究可能会 导致误导的结果,尤其是Meta分析,如果纳入的研究存在偏倚,将产生一个围绕 错误的干预效果估计值的狭窄可信区间。因此,纳入研究的真实性评价(偏倚风 险评估)是Cochrane系统评价的重要部分,它直接影响到系统评价的数据分析、 结果解释和结论。

Cochrane系统评价手册中关于偏倚的定义是,研究结果或统计推断中的一种 系统误差,或与真实值的偏差称之为偏倚。偏倚具有三大特性:一是方向性,即 不同类别的偏倚可能导致低估或高估干预措施的真实效应;二是偏倚具有量的变 化,即有些偏倚较小——与观察到的效应相比可忽略不计,有些偏倚较大——明 显的效应完全是由偏倚造成的;三是多态性,即来源相同的偏倚也可能具有不同 的方向,例如因实验设计缺陷所产生的偏倚(例如,无分配方案隐藏)在一个研 究中可能造成疗效被低估,而在另一个研究中则可能使其疗效被高估。

Cochrane系统评价手册还指出,随机临床对照试验(RCT)在设计、实施和 分析中的过程中所存在的缺陷通常会导致偏倚的产生,但是要想明确知道这些偏 倚最终会对研究结果产生多大程度的影响,这几乎是不可能的。因为即使研究过 程中存在方法学上的缺陷,但最终结果上也可能并没有偏倚,因此考虑纳入研究 的“偏倚风险”更恰当。此外,偏倚风险的不同,还有助于解释系统评价中纳入 研究结果的差异一一如解释结果的异质性。例如,如果系统评价中纳入不真实的 研究,而这些研究倾向于高估干预措施的效果,那么针对这些不真实研究结果的 Meta分析,将会错误地认为某项干预措施是有效的;如果这些不真实的研究倾向 于低估干预措施的效果,那么最终的结果很可能错误地认为干预措施是无效的[⑹。 如图1-2所示为Cochrane手册中给出的一项系统评价中关于纳入研究的倚风险评 估结果,这种结果通常称之为偏倚风险矩阵。

对于系统评价而言,纳入研究的差异无论是来自研究结果还是研究的真实性, 系统的评估所有纳入研究的所有偏倚风险都很重要。因为,如果所有纳入研究的 结果趋于一致,但是所有的研究又都存在缺陷的可能性,那么在这种情况下,所 得到的系统评价的结论,就不可能与纳入研究完全真实(实验设计和实施严格且 结果趋于一致)的系统评价所得出的结论具有同等的说服力了。这种针对所有纳 入研究的所有偏倚风险进行评估的过程,在Cochrane手册中被称之为“纳入研究 偏倚风险评估"。

从统计学的角度来讲,“偏倚”通常容易与“不精确”的概念相混淆。统计学 中“偏倚”指的是系统误差,也即多次重复同一个实验仍会得到相同的或者规律 可知的偏差。“不精确”指的是随机误差,即多次重复同一个实验,因为抽样误差 而产生的大小和方向均无法估量的误差。由于小样本研究更容易受到抽样误差的 影响,因此其随机误差更大,即精确度更差。EBM中“方法学质量评价” 一词已 经被广泛用于系统评价方法中对纳入研究进行严格评估,但是“偏倚”与“质量” 的概念还是应该区分开来,因为当判断大量证据的质量时,每个研究结果的偏倚 风险,对效应估计值的影响是需要考虑的关键因素之一。

1.2.2自动化偏倚风险评估算法研究现状

自动化偏倚风险评估的各个方面都有可能减少执行系统评价所需的时间,并减 少评价过程中的人为错误和主观性。从纳入研究的RCT中识别出与各个偏倚描述 相关的句子,并预测相应的风险高低值,是可以通过文本挖掘的方法来完成的。 相关研究表明,利用文本挖掘的方法,可以自动识别生物医学文献中的结论等关 键信息[17J8]O但是关于自动化偏倚风险评估的研究目前仍然较少,已知的最早的 一项研究开始于2014年。

2014年Marshall等提出了一种基于Linear SVM的文本分类方法,用于预测 RCT文献的6类偏倚风险,同时提取出支持该预测的句子(完成偏倚风险评估的 同时,自动识别相应的偏倚域)22021]。2016年Millard等提出采用Logistic回归 分类算法来构建自动化偏倚风险评估模型,并以此预测RCT文献中的三类偏倚风 险(随机序列生成,分配隐藏,盲法),同时自动提取相应的偏倚信息。在特征工 程方面,Marshall 2014提出采用的是标准的词袋模型来原始文本进行向量和特征 学习,而Millard 2016则采用原始文本中出现频率超过15%的词来对文本进行向量 表示。

虽然Marshall 2014和Millard 2016等分别采用了两种不同的分类算法来构建 偏倚风险评估模型,但是从本质上来讲,这两种方式都是基于机器学习方法来实 现。而且在特征工程方面,两者都是采用较为原始的特种工程表示方法(词袋模 型和基于词频统计的特征表示方法)。尽管如此,关于自动化偏倚风险评估算法的 研究仍然是一项近乎全新的研究,因为在2014年之前并没有相关的研究被发表。 目前已知的两项研究都是发生在国外,而且都是发表在目前EBM发展较为成熟的 欧美地区,而国内目前也并没有类似的研究被报道。

而且从已经披露的两项研究来看,整个偏倚风险评估任务通常分为两步来完 成,一是从全文中寻找到关于各个偏倚风险描述的句子一一句子分类任务;二是 根据所寻找到的句子的描述,判定对应偏倚风险的风险值一一文档分类任务。因 此本文的相关研究,同样是采用构建两类分类模型的方式来实现自动化偏倚风险 评估。一个是针对句子的分类模型,用来从全文所有的句子中提取出与各偏倚描 述相关的句子;另一个是文档分类模型,根据相应的句子或者全文信息将文献分 类为高风险、低风险两个类别。

1.3本文主要研究内容

本文的主要目的是通过对自动化偏倚风险评估中所涉及到的相关算法进行研 究,并通过大量的对比实验,总结各种方法的优缺点,从而提出更理想的算法模 型,最后基于该模型开发出一款自动化偏倚风险评估工具。因此本文的主要研究 内容包括以下几个部分:

1、 利用远程监督和文本预处理的方法从CDSR数据库与PubMed数据库 中获取相关数据并构建一份,规模较大、数据质量较高的数据集。

2、 对比研究机器学习方法中常见的特征工程方法,提出一种结合n-gram 与TF-IDF的特征表示方法,并通过实验证明该方法的性能。

3、 对比研究自动化偏倚风险评估中目前已知的两种方法(Linear SVM和 Logistic回归),分别从理论和实验结果上分析两者的优缺点。

4、 通过对比实验探索其它机器学习方法(Navibayes,随机森林,XGBoost) 在该问题上的性能。

5、 探索性研究NLP领域目前最前沿的预训练NLP模型,在此基础上提 出一种基于BERT的偏倚风险评估模型,并设计算法实现通过对比实验证明该 模型的优越性。

6、 在构建的数据集上训练基于BERT的自动化偏倚风险评估模型,基于 此模型设计、开发一款自动化偏倚风险评估系统,并测试该系统的性能。

1.4本文结构安排

本文研究的主要内容是对系统评价中自动化偏倚风险评估的相关算法进行研 究,然后提出一种更为理想的算法模型,并在此基础上开发出一款自动化系统。 通过文献调研发现,目前国外的相关研究主要集中于采用机器学习方法来实现自 动化偏倚风险评估。然而自Google2018年提出BERT模型以来,在NLP领域越来 越多的问题趋向于使用BERT来解决,因此本文也将尝试采用BERT来实现偏倚 风险评估过程的自动化,故本文的结构安排如下。

第一章主要对本研究所涉及到了几个概念,如“系统评价”、“偏倚风险评估” 和“自动化偏倚风险评估”等进行解释,同时结合国外的研究背景及现状阐述本 研究的目的及意义。

第二章主要是探索机器学习方法在自动化偏倚风险评估任务上的表现。首先 将详细介绍机器学习中经典的特征表示方法一词袋模型,在此基础上提出基于 n-gram和TF-IDF的特征工程方法。然后介绍机器学习中几种常用来进行文本分类 的分类器,并基于LinearSVM分类器构建自动化偏倚风险评估模型,最后通过对 比实验分析该方法在自动化偏倚风险评估任务上的表现。

第三章主要介绍以BERT为代表的预训练NLP模型的基本概念及发展现状, 详细阐述BERT的网络结构及思想流程,并构建基于BERT的偏倚风险评估模型, 在已有的数据集上进行训练测试、测试,最后将模型的测试结果与机器学习方法 模型所得的结果进行对比分析。

第四章详细阐述自动偏倚风险评估系统的设计与实现过程。首先将从应用需 求的角度,介绍系统的总体设计以及各模块的相关功能,然后简要介绍系统开发 所采用的框架,以及各功能模块具体的设计思路,最后简要介绍系统的在线部署 以及测试情况。

第五章将对本文所涉及的研究内容进行总结。从数据集的构建、模型设计、 对比实验等几个方面分别阐述现阶段的研究进展情况,以及目前所存在的主要问 题。然后针对目前所存在的问题,对未来的研究方向进行展望。

第二章 基于n-gram与TF-IDF的偏倚风险评估算法研究

前文已经阐述自动化偏倚风险评估任务可以通过文本分类的方式来实现,自 然语言处理中文本分类方法主要分为两大类:一类是基于机器学习方法的文本分 类;另一类是基于深度神经网络的文本分类。本章将重点介绍的机器学习方法中 常用来处理文本分类的几种模型,在此基础上提出一种结合n-gram与TF-IDF的 偏倚风险评估算法,并通过对比实验来分析该方法在偏倚风险评估任务上的表现。

2.1特征工程方法研究

文本分类的相关研究最早可以追溯到上个世纪50年代,当时最为普遍的做法 是通过专家规则来进行分类。直到80年代初才开始利用知识工程来构建专家系统, 从而进行分类。专家系统的好处在于,可以短平快的解决top问题,但同时它的缺 点也较为突出。其一是构建专家系统的过程费时费力,其二是基于特定问题构建 的专家系统,往往准确率低而且适用性差。90年代后基于统计学方法的机器学习 的逐渐兴起,使得传统的基于专家系统的文本分类方法逐渐被大家所遗忘。此外 90年代后互联网的飞速发展,带来了大量在线文本堆积,因此便形成了一系列以 解决大规模文本分类为目的的经典方法。这类方法的主要思想是,通过人工特征 工程+浅层分类器来实现大规模文本分类。自此之后文本分类相关问题的研究,就 被拆分成“特征工程”和“分类器”两个方面来进行。

通俗来讲,基于机器学习方法的文本分类研究,可以理解为把数据转换成计 算机可以理解的信息,然后经过数学模型学习后提取出所需知识的过程。其中特 征工程是“数据->信息”的过程,它决定了计算机理解数据的能力,从而决定了 最终结果的上限,因此在整个过程中特征工程往往是最耗时耗力的,但同时它也 是最重要的。分类器是“信息->知识”的过程,这个过程是通过数学模型的学习 去逼近整个结果的上限,因此分类器具有通用性,即同一个数学模型在不同的分 类问题上,往往具有适用性。然而特征工程则不同,它不具备较强的通用性,往 往需要针对不同的任务分别构建。文本分类中特征工程的主要目的是把文本转换 成计算机可理解的数据,并尽可能的多的保留用于模型学习的信息,主要包括文 本预处理、特征选择、特征提取三个部分。

文本预处理主要包括分词和去停用词两个过程,之所以进行分词,是因为机 器学习方法大多是基于统计学等数学模型,而这些数学模型在进行学习过程中是 不考虑词序信息的,因此分词之后能够尽可能多的保留"n-gram”信息。由于英文 本身具有天然的分词优势一一单词以空格分隔,因此英文文本在进行预处理时, 不需要进行分词,只需要进行去停留词处理即可。特征选择的主要目的就是尽可 能多的保留原始特征集合中有用的特征,过滤掉冗余或无关的特征。特征抽取的 主要目的是将原始特进行征空间映射和向量表示,从而方便模型的学习,特征抽 取的经典做法有词袋模型(Bag Of Words, BOW)和向量空间模型(Vector Space Model) o

2.1.1传统基于词袋模型的特征工程方法分析

自然语言处理中特征工程的主要目的是,将输入的原始文本特征转换成计算 机可以理解和计算的数值型向量,传统的做法是使用词袋模型模型来进行转换。 BOW的原理是,假设输入的原始文本特征集中所有的词或字都来自一个词表* 事实上也确实都来自同一个词表,该词表的大小可以表示为"I。那么原始文本特 征集中的每一个样本都可以表示为一个维度为VI的向量%, % G                                                                                               并且向量x

每一个维度上看的值表示为V中的第i个词是否在样本%中出现[⑵,如果出现则色的 值为1,否则E的值为0。

例如两个文本“我喜欢苹果”和“我讨厌苹果”中共有“我”、“喜欢”、“讨 厌”、“苹果”四个词,则它们的BOW可分别表示为(2-1)和(2-2)所示

词袋模型的思想是,将原始文本特征集中所有的样本看做是词或字的集合, 这种集合只是单纯意义上的集合,不考虑词或字的顺序信息。因此这种基于字词 集合的BOW的做法存在比较明显的缺点,即它忽略了原始文本特征集中所有样本 中所包含的上下文关系,由于它的特征表示中每个词之间彼此独立,因此无法表 征样本中所包含的语义信息。词袋模型的一种改进方式,是在对文本进行向量化 表示时,加入n-gram特征(n元组合),即文本中每n个连续字或词构成一个基本 单元,然后再用词袋模型进行表示。以最简单的二元特征组合(即两个词的组合 特征)为例,上面的两个文本中共有六个特征单元“ $我”、“我喜欢”、“我讨厌”、

“喜欢苹果”、“讨厌苹果”、“苹果#”。因此这两个文本对应的二元特征BOW 可表示为(2-3)和(2-4)所示

随着n的逐渐增大,n元特征的数量会呈指数级上升,上限为|V|no因此,在 实际应用中,文本特征维数通常在十万或百万级别以上的,所以结合n-gram特征 的BOW在实际应用中通常存在两个致命的缺点,即高纬度性、和高稀疏性。

2.1.2本文基于n-gram与TF-IDF的特征工程方法研究

所谓的高稀疏性是指,采用BOW进行特征表示时可能存在多个维度冷的值为 0的情况。为了有效避免高稀疏所带来的一系列问题,本文提出采用基于概率统计 的向量空间模型TF-IDF来进行特征表示。TF (term frequency,词频)指的是某 一个给定的词或字在该文档中出现的频率[刼,TF计算公式如(2-5)所示。

其中山丿表示词叱在文档©中出现的次数,而分母则表示在文档©中所有词的 出现次数之和。

IDF (Inverse Document Frequency,逆文本频率)指的是包含指定词的文档数 占总文档数比值的倒数,IDF表达式如公式(2-6)所示。

1=log|{j:^Ly}|                                                (2心

其中|D|表示原始文本特征集中所包含的文档总数,|丿":叱G 表示原始文本特 征集中包含词叱的文档总数。如(2-6)所示,如果该词不在语料库中,就会导致 被除数为零,因此需要在分母部分加1,即|口叱Edj\ + 1。此时文档©中词叱的tfidf 表示为(2-7)所示。

tfldfq = tfij x idfi                                                (2-7)

经过TF-IDF计算后原始特征集中的每个词都可以用0-1之间的一个小数来表 示,如此便可有效避免BOW进行特征表示时存在的高稀疏性问题。之所以选择这 种基于词频和概率统计的TF-IDF方法来构建特征工程,的另一个原因是,本文对 数据集中偏倚风险评估数据的Support for judgement部分做了词频统计分析,结果 发现,在描述随机序列生成(Random sequence generation, RSG)偏倚的句子中类 似computer, generated, random和randomization等描述随机方法的词汇出现频率 较高。在描述分配隐藏(Allocation concealment, AC)偏倚的句子中类似sealed, generated, envelopes及randomization等描述分配隐藏方法的词汇出现的频率较高, 而且其他偏倚上情况类似。因此本文认为基于词频统计的TF-IDF方法是一种较为 理想的特征工程方法,它能够很好的学习到偏倚描述相关句中包含的词频信息。

为了有效避免高纬度性所带来的不必要麻烦,本文在TF-IDF的基础上加入n 元特征(mgmni)。因为医学语言是一门特殊语言,在医学英语中尤其是医学文本 语言中,大量使用名词、动作名词、动作名词短语等结构。而其中的名词和动作 名词大多由单个专业性的词汇组成,名词短语和动作名词短语结构,通常由介词 连接的2个及以上词汇组成。而经过停用词处理过后的名词短语和动名词短语的 长度一般也不超过2,因此在加入的n-gmm特征中设定n的值为1-2。关于n的取 值本文也作了一系列的调参实验,但是限于篇幅的原因,在此也不做详细的展示。

2.2本文采用的机器学习文本分类算法介绍

机器学习中很多分类算法都可以用来处理文本分类任务,例如朴素贝叶斯分 类算法(Naive Bayes)> logistic回归、SVM和决策树等。文献调研发现,国外已 经发表的两项相关研究,在分类器上选择的分别是Logistic回归和SVMo因此, 本节将详细介绍机器学习中几种常见的文本分类模型的思想及原理。

  • Logistic回归分类算法介绍

Logistic回归(Logistic Regwssion, LR)是机器学习中经典的线性模型之一, 它常被用来处理二分类问题。Logistic回归在处理二分类问题时的主要思想是,采 用非线性函数gN t 丿作为判别函数,来预测类别标签的后验概率 p Cy = l|x丿,从而有效解决连续的线性函数不适合进行分类的问题0]。

p(y = l\x) = g (f Cx,w))                                             (2-8)

公式(2-8)中g ( •)被称之为激活函数(activation fimction),它的作用是通 过函数变换将线性函数的值域从实数区间“挤压”到了(0,1)之间,并以此来表 示类别标签的概率。在Logistic回归中,通常使用Logistic函数来作为激活函数, 此时标签y = 1的后验概率可表示为公式(2-9)所示

其中咛耳表示样本X为正、反例的后验概率的比值,称为几率(odds),几 p{y=0\x)

率的对数称为对数几率(log odds,或logit)o公式(2-13)的左边表示的是线性 函数,右边是对数几率,因此logistic回归模型可以看作是预测值为“标签的对数 几率”的线性回归模型。所以‘logistic回归通常也被称之为对数几率回归(Logit Regression)o对于一维的数据而言,logistic回归处理二分类问题的原理如图2-1 所示。

  • SVM分类算法介绍

支持向量机(Support Vector Machine, SVM)是机器学习另一个较为经典的二 类分类模型。与Logistic回归采用非线性函数来预测类别标签的后验概率不同, SVM采用寻找最佳分割超平面的方式来进行分类。由于经过反复震荡所得到的分 割超平面,通常具有较好的鲁棒性[⑸,因此SVM被广泛应用在很多二分类任务上, 尤其是文本分类任务上。

SVM的思想是假定某个二分类问题的原始特征集为 D = {(巾%),(无2以2),•••,(&,%)},其中Vi G {+1/-1},而且该特征集中所有的样 本都是线性可分的,则必定存在一个如公式(2-15)所示的超平面

wTXt + b = 0                                                (2-15)

将两类样本分开,并且对于原始特征集中的每个样本都有yt^xt + b) > 0。

此时原始特征集D中每个样本石到分割超平面的距离可以表示为公式(2-16) 所示

SVM中定义整个原始特征集D中所有样本到分割超平面的最短距离为间隔

(Margin) y

X = minn                                                    (2-17)

并且当间隔Y越大时,所得的分割超平面对原始特征集的划分也将会越稳定, 越不容易受噪声等因素影响〔旳。因此SVM训练过程的目标就是寻找到一个理想的 超平面 3*”*丿使得间隔丫最大,即

  • Navibayes分类算法介绍

朴素贝叶斯(Navibayes)是机器学习中为数不多的,基于统计学定理的一组 有监督的分类算法。它的原理是基于贝叶斯定理的,即“简单”地假设原始特征 集中每对样本之间均相互独立[2刀。对于一个线性可分的二分类问题,给定某一类 别y和一组从样本衍到样本&的相关的特征向量,则该问题的贝叶斯定理描述可表 示为公式(2-22)所示。

 

其中P fy丿和P (Xi\y)的值,通常使用最大后验概率(Maximum A Posteriori, MAP)来进行估计;其中P (y)表示为训练集中类别y的相对频率。

朴素贝叶斯模型根据其处理P                丿分布时的所做的假设不同,可分为伯努

利贝叶斯、多项式贝叶斯等不同类型。尽管贝叶斯模型中所做得假设很简单,但 是在很多实际的分类问题中,朴素贝叶斯模型却表现得很好,特别是在文本分类 和垃圾邮件过滤等任务上[绚。此外朴素贝叶斯模型还有一个显著的优点,那就是 其训练速度非常快。

  • Random Forest分类算法介绍

随机森林(Random Forest, RF)是一种基于 Bagging (Bootstrap Aggregating) 和决策树而设计的扰动和组合技术(perturb-and-combine techniques) [29],这种技 术主要是通过在Bagging的基础上引入随机特征,从而进一步提高每个基模型之 间的独立性。Bagging的核心思想是,通过不同模型训练数据集的独立性来提高不 同模型之间的独立性。具体做法是在原始训练集上进行有放回的随机采样n次, 得到n个相对较小的训练集,并基于这n个训练集分别训练得到n个模型,然后 通过投票的方式将所得的n个模型加以集成。在RF中,所得的n个模型都是决策 树,最后只需要将这n棵决策树的预测结果加以平均,便可得到集成分类器RF的 预测结果。

RF的每棵决策树在构建过程中,除了需要对训练集进行自采样以外,在进行 结点分割时,每棵树所选择的分割点都必须是对应训练集上所有特征的最佳分割 点,或特征大小为max_features的随机子集的最佳分割点。

因此RF中每棵决策树的生成规则可描述如下:

(1)  假设原始训练集的大小为X,首先从X中随机且有放回地进行采样,抽取 其中的X个样本作为一棵决策树的训练集,如此重复n次,得到n棵决策树的训练 样本集。

(2) 假设原始训练集中每个样本的特征维度为K,指定一个常数k«K,并 针对每一个样本从其K个特征中个随机地选择m个特征。

(3)   然后利用随机抽取的到m个特征对每棵决策树尽最大程度的生长(训练), 并且生长过程中不进行任何的减枝操作。

RF的整体构建流程可表示为图2-3所示。

图2-3随机森林算法流程图

  • XGBoost分类算法介绍

与RF不同,XGBoost是一种基于Boosting思想的集成学习算法。Boosting的 思想是,先按照一定的顺序来先后训练出不同的基础模型,每个基础模型都是针 对前序基础模型的错误进行专门训练,并根据前序模型的测试结果,调整当前模 型训练样本的权重,从而增加不同基础模型之间的差异性,最后再将所有的基础 模型集成在一起形成一个强分类器〔沏。这些基础模型同样采用决策树来构建,因 此XGBoost的本质其实是将多个决策树集成在一起,最终形成一个很强的分类器。

换言之XGBoost模型的训练过程,实际上是不断生成决策树的过程。首先基 于原始特征集生成一个基础的决策树,然后通过不断地进行特征分裂来生成新的 决策树,并添加到之前的决策树中,每次添加新决策树的过程,实际上就是学习 一个新的函数,去拟合前序决策树预测结果的残差⑶]。

因此XGBoost模型训练完之后,通常会得到k棵决策树。当XGBoost模型预 测某个样本的分数时,首先根据待预测样本的特征,在所有的决策树中进行遍历, 然后找到该样本在每棵树中可能会落到的叶子节点的位置,而决策树中每个叶子 节点都对应一个分数,最后将遍历所得的所有叶子节点的分数相加便可得到该样 本的预测值,样本预测值可用公式(2-27)表示。

y = 0(刁)=ZLiA g)                                                   (2-27)

其中

F = {/(%) = Wq 仗)} (q : Rm t T ,w e RT )                                (2-28)

Wq &丿为叶子节点g的分数,f (x)为其中的一棵决策树

训练过程中XGBoost的目标函数可表示为公式(2-29)所示

Obj =器1心,兔)+炭=10 (fQ                                        (2-29)

其中

0(f) = yf + |A||6)||2                                             (2-30)

从公式(2-29)可以看出XGBoost的目标函数主要由两部分构成,第一部分 是所有样本的真实结果与预测结果的偏差进行求和,它表示的是样本的预测分数 和真实分数的差距;第二部分是正则化项。XGBoost的正则化项同样包含两部分, 如公式(2-30)所示,其中T表示遍历所得的叶子结点的总数,w表示遍历所得叶 子节点对应的分数。其中引入参数y的目的是为了控制叶子结点的个数不至于过大, 引入参数2的目的是为了将叶子节点的分数控制在0-1之间,两者都是为了防止训 练过程中出现过拟合。

由于每棵树在生成过程中,都要不断的拟合前序树的预测结果的残差,因当 第t棵树生成后,模型对应的预测分数可以表示为公式(2-31)所示。

必◎=氏 &亠 + ft %)                                                      (2-31)

相应的目标函数何以表示为公式(2-32)所示。

L a) =                                       齐(乞))+迄(ft)                          (2-32)

模型训练过程的主要任务,就是找到一个使得目标函数最小的办。为了找到这 个最小的齐,XGBoost中通常采用目标函数在Z = 0处的泰勒二阶展开式来近似它。

如此,目标函数便可表示为公式(2-33)所示。

£ (t) M 器1 卩(% 肿T))+ 9注比)+ 詁亓(x.) ] + [2 (ft) (2-33)

其中Q为目标函数的一阶导数,屁为目标函数的二阶导数,口和屁的表达式如公式 (2-34)所示

9t = %(一)心少7),忆=弔(―机 仇夕I丿丿                                          (2-34)

对当前树t而言,其前上-1棵树的预测分数与对应真实结果y的残差,对目标 函数的优化影响不大,通常可以直接去掉,因此目标函数可简化为公式(2-35)所 示

£ ◎=罗=1[口齐(心)+ 扌仏护(x.) ] + n (匸)                                         (2-35)

公式(2-35)表示的是训练集中所有样本的损失函数之和。由于每个样本经过 遍历后,最终都会落到对应的叶子节点,因此可以将所有落到同一个叶子节点的 样本事先加起来,然后再求相应的损失函数,如此目标函数可表示为(2-36)所示。

Obj a)=器i [必(石)+轨护(百)]+ Q(匸)

=器1[口叫(“)+轨吃%丿]+刈+好窈=1呼 (2-36) =導 1 [(为眄 01)|(S 怔 + A; Wj2] + yT

如公式(2-36)所示,XGBoost的目标函数可以表示为关于叶子结点分数w的 一个一元二次函数,如此目标函数的求解便可转换为求解公式(2-36)的最优w值。 而这个最优的w可以通过二次函数的顶点公式来求解,因此,对XGBoost目标函 数的求解便可等价于对公式(2-37)的求解。

2.3基于n-gram与TF-IDF的偏倚风险评估算法实现

本章针对自动化偏倚风险评估中的两类任务(偏倚风险评估任务,和句子提取 任务)分别构建两类不同的文本分类模型,并进行算法实现。在偏倚风险评估任 务上,针对7类偏倚(随机序列生成(Random sequence generatiom RSG),分配 隐藏(Allocation concealment: AC),对试验受试者及实验人员实施盲法(Blinding of participants and personnel: BOP ),对结局评估员实施盲法(Blinding of outcome assessment: BOA),实验结果数据不完整 (Incomplete outcome data: IOD),选
择性报告 (Selective TepoTting: SR),其他偏倚 (Other sources of bias: O))分 别构建一个二分类模型,在句子提取任务上,针对除其它偏倚(Other sources of bias: O)外的其它6类偏倚分别构建一个二分类模型。算法实现的具体流程如图2-4所

Zjl O

图2-4模型训练、测试流程图。

如图(2-4)左边为偏倚风险评估模型的训练和测试流程,右边为句子提取任 务模型的训练测试流程图。该流程主要包括数据获取,预处理,数据集构建,模 型选择及参数设置,模型训练、测试等几个步骤。

2.3.1数据来源

本文采用远程监督卩"I和网络爬虫的方式从Cochrane图书馆的CDSR数据库 [河中获取结构化的偏倚风险评估数据,以此避免了人工标注所带来的成本和可能 出现的偏差。

截止本研究开始前,CDSR数据库总共包含8028篇系统评价,其中只有部分 系统评价数据是Free Access的。免费开放的每篇系统评价都包含十几到几十篇纳 入研究的RCT的结构化偏倚风险评估数据,它们一般被详细记录在每篇系统评价

Characteristics of included studies”部分。与此同时对于每一项纳入研究的RCT, Cochrane系统评价都使用第一作者的姓氏和出版年份作为基本的临床试验标识符 来加以区分,这些标识符在每个系统评价中都是唯一的。如表2-1所示,为CDSR 数据库一篇系统评价的Characteristics of included studies部分的一个样例。

表2-1 CDSR数据库中系统评价数据示例

表(2-1)所表属的系统评价由Joan Webster等[35]2015年发表。表中给出了该 篇系统评价的Characteristic Studies部分中某一项纳入研究(RCT)的偏倚风险评 估结果,该纳入研究的唯一标识符为De wan 1987 o表(2-1)中Author^ judgement 为系统评估员对该项研究在每一类偏倚上的评估结果。Support for judgement为系 统评估员给出的评估依据,它将作为目标句,用来从PDF全文中提取出与偏倚风 险描述相关的句子。

在获取CDSR数据库中结构化的偏倚风险评估数据时,本文还从对应的 References部分获取到每一项纳入研究的RCT的详细信息,并以此链接到Pubmed 和其它数据库,从而获取到对应的PDF全文数据。

2.3.2数据预处理

为了构建分类模型所需的数据集,首先需要将PDF转成对应的txt格式,然后 利用文本预处理技术对格式转换后的文本进行清洗和格式处理,最终分别构建出 两类模型——文档分类和句子分类,所需的数据集。数据集构建流程如图2-5所示。

图2-5数据集构建的流程图

1) 、格式转换,文本预处理:首先采用pdfminer3k X具包,将获取到的3821 篇RCT的PDF数据转换为对应的txt格式,此过程中有19篇PDF为加密扫描格 式,无法完成转换,因此最终得到3802篇txt格式的RCTo然后采用NLTK工具 包和正则化技术,对txt格式的RCT做进一步的预处理,使每篇txt文本都按照单 句一行的格式保存。

2) 、构建偏倚风险评估模型数据集:在构建偏倚风险评估模型时,将结构化 数据中评估者判断(Author' s judgement)对应值为低风险(Low risk)的数据视 为目标类别(正样本,1),其余的(Highrisk, unclear risk)视为非目标类别(负 样本,0)。处理完成后,本文针对数据集中不同偏倚类别的数据进行了统计,统
计结果如表2-2所示。

表2-2偏倚风险评估任务数据集

3)、构建句子分类模型所需的数据集:将每一篇RCT的每一类偏倚风险的判 断依据(Support for judgement)作为目标句,然后与对应的txt文档的每一个sentence 进行相似度计算〔旳(本文采用的相似度计算方法为:doc2vec (gensim) + TF-IDF +余弦相似度)。最后将相似度最高的1至3个句子视为“相关句”,其它的句子 视为“非相关”句。本文对数据集中各偏倚风险类别上的数据分布情况进行了统 计,统计结果如表2-3所示。

表2-3句子提取任务数据集

在计算相似度的过程中,本文只将评估者判断结果为高风险和低风险的评估 依据作为目标句,不考虑评估结果为未知风险(Uncle如risk)的数据,因此对于 RSG偏倚而言最终参与相似度计算的文档总数为2228篇,sentence总数为449935 个。此外由于其他偏倚(O)包含的情况较为复杂,很难从原文中找到评估依据, 因此句子分类任务上只考虑前六类偏倚风险的情况。

2.3.3模型选择及参数设置

从2.1节的研究结果来看,基于词频统计的特征工程方法要优于传统词袋模型, 因此本节算法实现中所采用的特征工程方法将不再采用前人研究中所采用的词袋 模型,而是直接采用本文提出的结合n-gram与TF-IDF的方法。分类器上,本文 首先先复现了前人研究中所提到的Logistic模型和LinearSVM模型,然后再引入 上节中所提到的其它几种分类器来进行对比实验。

关于特征工程中n-gram的参数n的取值,本文进行了一系列的调参实验,最 终选择n=l-2o对于Logistic回归模型的交叉爛损失函数,以及LinearSVM模型的 惩罚项系数C本文均进行了一系列的调参实验,最终选择Logistic回归的交叉癇 损失函数值为0.8, LinearSVM模型的惩罚项系数C为1.2。限于篇幅原因,本文 不对调参过程做更多的介绍。其余模型的相关参数设置上,本文没有进行过多的 考究,直接采用skleani工具包中默认的参数。

2.4对比实验设计及结果分析

如机器学习中常见的经典做法一样,本文采用10折交叉验证的方式来训练和 测试本章所提出的两类分类模型〔3刀。利用原始与数据集中90%的数据训练模型, 并在其余10%上测试它。本章采用机器学习中常见的模型评估指标,正确率(Acc)、 准确率(P值)、召回率(R值)、F1值,以及ROC曲线来评估模型的性能[38][39]O

2.4.1模型评估指标

机器学习中对于分类问题,常见的模型评价指标有Acc、P值、R值和F1值等。 给定测试集丁 =(乃仍),•••,(&,%),假设其对应的标签为% G {1,…,C},用训练好 的模型f(g对测试集中的每一个样本进行预测,假设预测结果为丫=久,…九。

则模型评估指标准确率(Accuracy)可以用公式(2-38)来表示

力cc =    h①=兔丿                                                       (2-38)

其中/ (•)为指示函数。

模型评估指标错误率(ErrorRate)的计算公式可以表示为(2-39)

8 = 1 -Acc                                                    (2-39)

=律 h工 %丿                                               (2-40)

机器学习中通常所说的准确率,指的是数据集中所有类别样本性能的整体平 均,如果需要对数据集中所有类别的数据分别进行性能估计,则需要单独计算各
自的准确率和召回率。准确率和召回率是信息检索和统计学中针对分类问题应用 最为广泛的两个评价指标,也是机器学习中比较常用的两个评估指标,关于准确 率和召回率相关概念的描述如下。

对于测试集中类别y = C的样本来说,模型预测结果和真实值对应情况可以分 为以下四种:

1、 真正例(Tme Positive, TP):所谓的真正例表示的是,测试集中样本的真 实类别为y = c并且模型预测结果也为y = c,的该类样本总数记为TP, 可用公式(2-41)来表示

TPy=c — E/Li Kyi —       — c)                                     (2-41)

2、 假负例(FalseNegative, FN):表示测试集中样本真实的类别为y = c,

模型预测结果为y丰c,的样本总数记为FN,可表示为公式(2-42)所示

FNy=c = h ①=c 八氏工 c)                                               (2-42)

3、 假正例(FalsePositive,FP):表示测试集中样本的真实类别为其它类(yc),

但模型预测结果为y = c,的样本总数记为FP,可表示为(2-43)

FPy=c = h (yt C /\ yI = c)                                                    (2-43)

4、 真负例(True Negative, TN):表示测试集中样本真实类别为其它类(yc),

且模型预测结果也为其它类(y工c),的这类样本总数记为TNy=cO 以上4种情况的关系可以用如表2-4所示的混淆矩阵来表示:

表2-4模型评估指标的混淆矩阵(针对类别y = c)

机器学习中准确率(Precision),也叫查准率、精确率或精度,针对类别y = c的 准确率表示为,模型预测结果为y = c的所有样本中,真实类别也为y = c的样本所 占的比例,如公式(2-44)所示。

TPy=c

TPy=C+FPy=c

召回率(Recall),也叫查全率,针对类别y = c的查全率表示为,测试集中所 有真实标签为类别y = c的样本中,模型预测结果也为y = c的样本所占的比例,如 公式2-45所示。

尹之 _ TPy=c + FNy=l

机器学习模型评估指标中F值(FMeasuw)是一个综合指标,它表示为准确 率和召回率的调和平均,如公式(2-46)所示。

其中0用于平衡查全率和查准率的重要性,一般取值为1。因此0 = 1时的F值 也被称为F1值,它是是准确率和召回率的调和平均。

宏平均和微平均:机器学习中为了计算分类算法在所有类别上的总体准确率、 召回率和F1值,通常使用两种平均方法,分别称为宏平均(Macro Average)和微 平均(Micro Average ) [40]o

宏平均是分类模型在每一个类别上的性能指标的算术平均值,如公式(2-47)、 (2-48)和(2-49)所示。

微平均是测试集中每一个样本的性能指标的算术平均。对于单个样本而言, 它的查准率和查全率是相同的(要么都是1,要么都是0)。因此查准率的微平均 和查全率的微平均是相同的。当不同类别的样本数量不均衡时,使用宏平均会比 微平均更合理些。宏平均会更关注于小类别上的评价指标。此外在实际应用中, 往往还通过调整分类模型的阈值来进行更全面的评价,比如AUC值(Area UndeT Curve)> ROC (Receiver Operating Characteristic)曲线、PR (Precision-Recall)曲 线等。

2.4.2实验结果分析

上节介绍了参与实验的各个模型及相应的参数设置,本节将针对偏倚风险评 估的两类任务分别进行对比实验,并对实验的结果进行统计和分析。文档分类任 务的实验结果如表2-5和图2-6所示,句子分类模型的实验结果如表2-6和图2-7 所示。

表2-5常见机器学习模型在文档分类任务上的对比实验结果(F1值)表2-6常见机器学习模型在句子分类任务上的对比实验结果(F1值)

图2-7常见机器学习模型在句子分类任务上的对比实验结果(ROC曲线)

从表2-5和图2-6可以看出,在文档分类任务上表现最好的分类器是 LinearSVM,尤其是在AC, BOP, BOA, IOD, SR和O这六类偏倚风险评估任 务上,LinearSVM的F1值要明显由于其他模型。从表2-5给出的结果来看,在RSG 偏倚上,XGBoost和Logistic回归模型的F1要优于LinearSVM模型,但是从图2-6 所示的AUC指标表上来看,在所有的七类偏倚上LinearSVM模型的效果均要优于 其他模型。从表2-5和图2-6所示的结果中还可以看出,在7类偏倚上Logistic回 归模型和LinearSVM模型无论是在F1值上还是AUC值上均比较接近,这也从侧 面印证了国外已经发表的相关研究的结论。

从表2-6和图2-7所示的结果,可以看出LinearSVM模型无论是在F1值还是 AUC值上均要优于其他模型,尤其是在F1值上,LinearSVM的效果要远好于其 他模型,但是在AUC值上Logistic回归模型的结果与之相近。这主要是因为用于 句子提取任务的数据集中,存在明显的数据不均衡的问题,即数据集中正负样本 的比率接近1:70o而LinearSVM中由于引入了惩罚项因子的原因,因此它在非线 性分类任务和数据不均衡等问题上具有良好的表现。

2.5本章小结

本章对比研究了几种传统的特征工程方法,此基础上提出了结合n-gram与 TF-IDF的特征表示方法。同时还对比研究了机器学习中几种经典的文本分类算法, 并结合以上特征工程方法进行了一系列对比实验。实验结果表明该特征表示方法 在LinearSVM模型上表现出了最佳的效果。此外本章还详细介绍了本研究所采用 的数据集的来源,并详细阐述了数据集的构建方法和构建流程。

第三章 基于BERT模型的偏倚风险评估算法研究

上一章中主要介绍了结合n-gram与TF-IDF的特征表示方法,同时还基于 LinearSVM分类器探讨了该方法在自动化偏倚风险评估任务上的表现,此外还对 比研究了机器学习中其它几种常见的分类器模型。本章将从预训练NLP模型的角 度来出发,阐述如何利用NLP领域最新研究成果BERT来构建文本分类模型,从 而实现自动化偏倚风险评估任务。

3.1 BERT 简介

BERT 全称 Bidirectional Encoder Representations from Transformers, 是 Google 团队于2018年11月提出的一种基于Transformers的预训练NLP模型。该模型具 有复杂的网络结构,同时它还在海量的文本进行了预训练,因此它能高效抽取特 定领域的文本信息,并应用于下游的各种NLP任务,此外Google团队还凭借着 BERT模型刷新了 NLP领域11项任务的当前最佳记录⑷】。BERT模型的提出标 志着NLP领域的相关研究从此迈入了一个全新的阶段,因此BERT型也一度被认 为是NLP领域的ResNeto

3.1.1预训练NLP模型

通常我们所理解的语言模型,简单来说就是通过数学建模,来表示一个句子存 在的可能性,而预训练语言模型(PLM, Pre-trained Language Model)指的是利用 大量在人们生活中出现过的文本来训练,使模型在这些文本中,学习到每一个词 或者字出现的概率分布,并以此来建模出符合这些文本分布的模型。例如这个模 型会预测“我要好好学习”这句话在现实语境中出现的可能性比较高,而“我学 习要好好”这种表述在现实语境中出现的可能性就不那么高了。通俗来讲,语言 模型就是根据上下文来预测相邻的词或者字是什么,只是不同的语言模型有时候 会根据应用场景和训练任务的不同而存在略微细节的差异而已。

所以语言模型的语料的标签就是它的上下文,不需要人为的重新标注,这也就 决定了人们几乎可以无限制地利用大规模的语料来训练语言模型,使其学习到丰 富的语义知识,例如BERT中就使用了 Books Corpus (800M words)和English Wikipedia (2500M words)来训练其语言模型。也正是因为BERT模型在预训练过 程中所采用的语料集规模庞大,所以它才表现出了强大的特征学习能力,进而才 使得它在下游的很多相关任务上展现出了出色的效果。

其实预训练模型的思想在CV领域早已被应用,只是预训练语言模型 (Pre-trained Language Model, PLM)的概念却直到 2015 年才被 Dai & Le 首次提 出跑。2018年Google关于BERT的论文发表之后,PLM才被证明在各个任务中 效果优异。而在此之前NLP领域广为流行的是使用词嵌入(word embedding)来 进行特征表示,所谓的词嵌入就是将文本中的词嵌入到一个多维的空间中,并且 在较大的预料库上训练之后,再以此来捕捉词与词之间的特定关系。其中比较经 典的词嵌入模型有word2vec, GloVe等。在PLM模型提出之前,词嵌入模型通常 被用来初始化下游任务模型的第一层嵌入层,然后再加上其他功能层,完成整个 模型的构建,但是早期的词嵌入模型无法保留每个词的上下文信息,因此存在一 定的局限性。传统词嵌入模型的示意图如3-1所示。

图3-1词嵌入模型示例图

 

基于Word2vec的向量化表示通常可以用来判断词或字是否相似、相反,如图 3-1要判断“男人”与“女人”的关系就如同判断“国王”与“王后”的关系。 通俗来讲预训练NLP模型可以看成是一个更深层次的Word2Vec模型,当针对一 些特定的NLP任务时,只需要在这些预训练模型之后下接一些其它的网络结构然 后再进行微调,就可以出色地完成相应的任务了。

3.1.2早期预训练NLP模型的研究

1、Semi-supervised Sequence Learning 思想

2015 年 Google 发表的一项研究 Semi-supervised Sequence Learning[42]可以算是 NLP领域预训练模型的开山之作。该研究主要使用无标签的数据一一即普通文本, 和RNN进行了两种尝试,实际上就是通过两种不同训练目标来分别预训练LSTM 模型。第一种训练目标是去预测一个句子中下一个词是什么,这是一种典型的语 言模型训练方法,第二种训练目标是,训练出一个自动编码器(auto-encoder),用 于将句子映射成向量后再重建原来的句子。该研究还表明这两种训练任务可以为 下游的监督学习算法提供"pre-training step%换句话说这两种无监督训练得到的 参数可以作为接下来有监督学习模型的起始点,同时使后续模型更稳定,泛化性 能更好,而且只需要经过较少的后续训练,就能在很多分类任务上得到不错的结 果。

本文认为该研究最大的贡献,就是系统地阐述了上游预训练语言模型可以用 于下游特定任务这个划时代的思想,并通过两个训练目标,用一系列分类任务的 实验来对比支持了这个观点。自此之后,预训练语言模型便逐渐进入人们的视野。 虽然这篇文章放在今天看来,其思想已经让我们觉得理所当然,而且它的效果也 没有那么地让人觉得惊艳,但是放在当时那种背景之下,它就像一盏明灯,为NLP 领域的研究照明了 一个方向。

2、context2ve 模型

2016年由巴伊兰大学Own Melamud等人发表的context2ve模型问提出了一种 新的预训练思想。该思想是通过双向的LSTM学习文本中包含的上下文信息的 embeddingso众所周知NLP中通常存在“歧义”现象,即同一个词在不同的上下 文语境中可能表现出不同的含义,相同的指代词在不同上下文中往往指代不同的 实体。因此NLP相关研究的一项重要工作,就是考虑每个词在其上下文中所应该 呈现的向量表达方式  特征工程。本文认为Oren Melamud等人提出的context2ve

模型最主要的贡献就是,它证明了使用双向的LSTM可以从一个比较大的文本语 料中,有效地学习到包含上下文信息的embeddings,并且该embeddings在很多词 义消岐、完形填空等任务上都取得了不低于state-of-the-art的效果。而且该论文还 表示,在他们之前的大多数研究都只是把上下文进行独立的embedding,或最多也 只是进行简单的平均,而没有一个比较好的机制来优化基于上下文的向量表达。 因此,他们提出了 context2vec模型,这是一个能够通过双向LSTM学习广泛上下 文embedding的非监督模型。context2vec模型的网络结构如图3-2所示。

如图3-2所示,context2vec模型在网络结构和思想原理上,基本沿袭了 word2vec结构,但是却又与 word2vec略有不同。因为 word2vec的 CBOW (Continuous Bag-of-Words)模式,在学习上下文的embeddings时,只是拿过来简 单的平均一下,而context2vec则先把上下文的文本数据通过了双向的LSTM (左 侧蓝色的正向embeddings和右侧绿色的反向embeddings分别经过LSTM的流转) 来进行学习,然后连接起来通过多层感知机(MLP)做进一步处理,以此来产生 包含上下文信息的context embeddings (图中红色的),最后再通过目标函数去进行
整体训练。CBOW模式网络结构如图3-3所示。

图3-2 context2vec模型网络结构图

context2vec模型通过LSTM的长时记忆能力,可以捕捉到句子中更远位置的 上下文信息,同时将序列之间的联系包含到了模型中来,紧接着通过多层感知机, 又可以将左右两边的序列信息很好的结合在一起,使之成为真正意义上包含上下 文语义信息的context embeddingso其实无论从名字上还是从网络结构上都不难看 出,context2vec模型是word2vec的改进版,context2vec模型中则利用双向LSTM 获得了句子级别的的上下文语义表示,因此它能够更为准确的衡量一个词和某一 整段上下文文本的相似性。

tom          [bought]          an                apple               bought

图3-3 CBOW模式网络结构图

本文认为context2vec模型最主要的贡献在于,它开创性地提出通过双向LSTM 将上下文的语义信息融入到了词嵌入中去,同时它还承接起了当时正流行的词嵌 入和语言模型之间的关系。context2vec模型还表明它可以利用大量的无标注文本 数据,在可接受的时间内,训练出高质量的包含上下文信息的向量表示。而且这 种含上下文信息的向量表示所带来的效果,要明显优于使用传统词向量表示所带 来的效果。

3.1.3 ELMo, OpenAI GPT 到 BERT

1、ELMo模型

ELMo(Embedding from Language Models)是由华盛顿大学的 NLP 团队在 2018 年提出的[辆。然而该模型的思想其实早在2017年的一篇论文中就已经被提到, 只是直到2018年该团队才正式定义并开源ELMo模型。如前文所述,NLP中高质 量的文本特征表示方法 词表征方法,通常存在两大难点:一是如何充分表示 词的复杂特征,即词中所包含的句法和语义信息,二是如何分别表示词在不同上 下文中的含义,即一词多义oELMo模型的提出,使得这两大难题迎刃而解oELMo 模型的思想是,通过深层双向语言模型——双向LSTM,的内部状态来学习到文本 的词向量,并在一个庞大的语料上进行预训练。ELMo的网络结构如图3-4所示。

如图3-4所示,ELMo的网络结构主要由两层双向的LSTM来组成,其中低层 LSTM的输入为原始特文本的字或词(token)特征,可以是字或词的embedding (既可以是提前训练好的embedding也可以是标准的词袋模型)也可以是采用字 符卷积处理后得到的embedding表示。如图3-4, ELMo网络结构中左边的两层前 向LSTM,表示模型对原始特征文本进行正向编码,它接收的输入是原始文本中除 去当前预测词后从左到右的正序上文信息;ELMo网络结构中右边的两层反向 LSTM,表示模型对原始特征文本进行反向编码,它接收的输入是原始文本中除去 当前预测词后从从右到左的逆序下文信息。关于为什么要采用两层LSTM叠加来 构建编码器,原文的解释是,第一层的双向LSTM主要是为了学习文本的词义特 征,也即捕捉文本词义和上下文相关的信息;第二层的双向LSTM主要是为了学 习文本的句法特征,也即捕捉文本单词与上下文之间的关系。

虽然EMLo模型在众多NLP任务中的优异表现,但是该模型却很快被众人所 遗忘。主要是因为ELMo的网络结构上存在两个明显的缺点:一是ELMo中采用 LSTM作为神经元进行特征抽取,而这种循环神经网络的特征抽取能力远不及 Transformer优秀;二是ELMo中,两个方向的LSTM采用双向拼接的方式进行特 征融合,而这方式所带来的特征融合的能力远不及经典的一体化的特征融合方式 优秀。虽然ELMo模型作为NLP领域早期成型的一款预训练模型,但是相比较于 CV领域的预训练模型,不难发现ELMo还缺少应有的Fine-tuning (微调)模式。 2、OpenAIGPT 模型

ELMo模型提出后不久,OpenAI团队便在其预印版论文中提出了一种新的预 训练模型——OpenAI GPT〔%]。OpenAI GPT模型的原理与ELMo类似,即通过对 前k个词的特征进行学习来预测目标词的特征,因此它同样采用标准的语言模型 (依据文本序列从左到右进行预测)作为目标函数进行建模。然而在语言模型的 网络结构上,OpenAI GPT不再采用ELMo类似的LSTM 来构建,而是采用了 Google团队2016年Attention论文旳中提出的Transformer编/解码器来进行特征 抽取。Transformer和循环神经网络(LSTM)不同,它是一种全新的基于自注意力 (self-attention)机制的编码解码(encodeT-decodeT)模型,关于自注意力机制和 Transformer的思想原理将在下一节进行详细阐述o OpenAI GPT模型的网络结构如 图3-5所示。

如图3-5所示,OpenAI GPT模型在进行特征抽取时的做法是,直接在最后一 层Transformer上连接softmax函数作为任务输出层,然后再根据输入的原始文本 特征对整个模型进行微调。这与ELMo模型的做法明显不同,因为ELMo模型每 次都需要针对新的任务重新构建新的模型。OpenAI GPT模型的提出同时也证明了, 使用语言模型来辅助完成预训练任务,不仅能够极大的提高有监督模型的泛化能 力,而且还能够大幅提高模型收敛速度。

虽然与ELMo相比OpenAI GPT模型具有很大的优势,但它很快就被Google 开源的BERT模型抢尽风头,其主要原因在于OpenAI GPT的网络结构上也存在一 些不足——OpenAI GPT模型中采用的是单向的语言模型而非双向的(类似ELMo)语言模型通俗来讲就是,原始特征文本中使用单词叱的上下文来正确预测单词叱 的过程中所采用的策略。对于语言模型的理解首先必须从两个概念开始,一是上 文(Context-before ),即原始特征文本中目标词叱之前的序列;二是下文 (Context-after),即目标词叱之后的序列。所谓“单向”指的是:进行目标词预 测时只采用叱这个单词的上文,而抛弃了目标词的下文信息,例如OpenAI GPT 即是如此。相比较而言,ELMO虽然采用独立双向的LSTM来进行特征抽取,但 是在经过特征融合之后,它仍然利用到了上下文信息。

3、BERT的提出

BERT模型最早是由Google的NLP团队在其2018年12月的预印版论文 中提出的,其预训练模型是在2019年3月左右才正式开源。BERT模型在思想上 采用和OpenAI GPT完全相同的两阶段,一是使用大规模的预料完成语言模型预 训练;二是使用FineTuning (微调)模式来解决下游具体的NLP任务。尽管如此, BERT模型在众多NLP任务上的效果却要比OpenAI GPT好得多,主要是因为 BERT在网络结构上采用了类似于ELMO的双向语言模型结构,而非OpenAI GPT 所采用单向的语言模型结构,BERT的网络结构如图3-6所示。

图3-6 BERT网络结构图

如图3-6所示,从BERT的网络结构上来看,它和ELMo模型、OpenAI GPT 模型之间存在着很大的相似性。如果把OpenAI GPT模型的预训练阶段换成类似于 ELMo的双向语言模型,那么就得到了 BERT模型。同理如果把ELMo模型的特 征抽取器由LSTM换成Transformer结构,那么同样也会得到BERT模型。因此 BERT在预训练NLP领域的核心竞争力便不言而喻了,一是在其特征抽取器上采 用了 Transformer结构而非传统的LSTM;二是在进行预训练的过程中采用了类似 于ELMo的双向语言模型,而非单向的。

3.2基于BERT模型的偏倚风险评估算法设计

上节中主要介绍了 NLP领域中预训练模型的发展历程,并简要介绍了其中具 有代表性的几种模型及其思想。同时还对比分析了各种模型及其网络结构的优缺 点,最后提出了 BERT模型。本节将针对BERT的思想原理和网络结构进行详细 阐述,并在此基础上构建相应的偏倚风险评估模型。

3.2.1 BERT预训练模型的思想与流程

如前文所述,以BERT为代表的预训练NLP模型的基本思想其实和Word2Vec 的CBOW模式类似,都是基于给定context,来预测下一个词。然而两者在网络结 构上却存在较大的差异,首先BERT采用了基于Transformer结构的特征提取器而 非传统的循环神经网络(RNN, LSTM等);其次BERT采用双向语言模型进行预 训练。其中Transfonner作为一种性能优越的特征提取器,其实早在2016年的时 候就已经被Google团队提出了,只是近两年来才逐渐被大家所熟知。

Transformer

从本质上来讲Transformer是一种基于注意力(attention)机制的编码器一解 码器(encoder-decoder)模型,从思想原理上来讲,这种编码器一解码器模型是基 于seq2seq机制来实现的。序列到序列(seq2seq)的思想通俗来讲就是,模型输入 给定的变长序列,在经过相应的特征变换和权重计算之后输出另一个变长序列 肌49】。因此TmnsfonneT目标也是针对给定输入的变长序列,经过编码和解码变换 之后生成另一个变长序列,Transformer的网络结构如图3-7所示。

如图3-7, Transformer的网络结构由两部分组成,左边的编码器(encoder) 和右边的解码器(decoder)o其中左侧编码端由6个相同的编码模块堆叠而成,每 个编码模块又都包含两个相同的网络层,一层是由自注意力机制(self-attention) 组成的Multi-Head (多头)Attention,另一层是一个前馈神经网络,而且每一个 Multi-Head Attention层和前馈神经网络之后都会紧接着一个残差/归一化网络。右 侧的解码端同样是由6个相同的解码模块堆叠而成的,其中每一个解码模块又都 包含三层结构,除了与编码端类似的由自注意力机制组成的Multi-Head (多头) Attention和前馈神经网络以外,还包括一个由自注意力机制组成的Masked (掩 码)Multi-Head Attention,所谓的掩码其实就是在进行多头attention计算时选择性 的隐藏部分信息,例如在预测当前词时会选择性的隐藏未来时刻的信息。

TTansfonner进行编码/解码的整个过程可以表述为,首先,输入的原始特征文
本经过embedding操作之后(这里的embedding操作可以理解为类似word2vec的 词嵌入操作),进入到编码层,在编码层中首先经过self-attention网络结构处理, 然后进入到前馈神经网络进一步计算,最后再将所得的输出输入到对应的解码层 进行解码操作。

图3-7 Transformer网络结构图

  • self-attention

self-attention是一种基于seq2seq的思想模型,通俗来讲就是给定输入序列, 经过self-attention的特征变换和权重计算之后输得到另一个序列。特征变换和权重 计算的主要目的,是将模型对目标词上下文的“理解”转变成对目标词的“理解”。 例如:“这次考试小明分数比小亮低,是因为他生病了”这里的“他”到底代表 的是小明还是小亮呢,对于机器来说,是很难判断的,而self-attention的目的就是 让机器能够把“他”和“小明”联系起来。self-attention的网络结构如图3-8所示。

如图3-8所示,self-attention对原始特征文本的处理过程可以理解为,首先将 原始特征集视为由一系列Key (^) -Value (V)数据对构成,将目标任务中的元素 视为QueryCg),它由原始特征数据的embedding与一个特征矩阵(WQ ,WK ,WV ) 相乘得到。然后,将Q和K进行点乘得到self-attention的分数值,该分数值表示在 对原始特征集中某一个词进行编码时,其它上下文对该词的关注程度。

图3-8 self-attention网络结构图

接下来,将点乘所得的结果除以特征维度血的开方数(论文中给出的默维度 为64,所以这里除以8)o然后再将相除后所得的结果进行softmax计算,此时 softmax操作的目的是将所得所有词的分数分数进行归一化,如此得到的分数将都 是正值且和为1。最后,再将softmax归一化之后所得的结果与其对应的V相乘, 如此便可得到目标任务对应的self-attention结果。该过程的计算公式可表示为3-1 所示。

Attention (Q,K, V) = softmax             ) V                       (3・1)

(2)    multi-head attention

Multi-head (多头)attention模块在思想上延续了 self-attention的思想,只是 为了提高模型对特定位置的专注能力,Multi-head attention中引入"多头”的概念。 所谓的“多头”其实就是将self-attention过程重复多次(TTansfonner中设定为8 次)得到多个编码矩阵,这里的重复不仅仅是简单的重复,而是在每次进行 self-attention操作之前输入的0、KV矩阵都通过原始特征集的embedding跟特 征矩阵(W^,WK,WV丿重新相乘得到的,而且每次的特征矩阵(W^,WK,WV丿都 是随机初始化化产生的,因此每次输入self-attention的Q. KV矩阵都是不同的。 在transformer结构中每一个Multi-head attention之后都会紧接着一个前馈神经网络, 而前馈神经网络不需要多个编码矩阵(8个)输入,因此需要对之前所得的8个矩 阵进行压缩,在Multi-head attention采用直接拼接然后乘以权重矩阵的方式来处理。 Multi-head attention网络结构如图3-9所示。

Multi-head attention计算公式可表示为3-2所示

MultiHead ^Q, K, V) = Concat(Jieadr, ••• ,headh)W°                  (3-2)

其中

headt = Attention^QW^ fKW^ fVW^)                                  (3-3)

且冏° G Remodel X"匕鸭“ w Rdmodel X d匕鸭U    ^model Xd“,           ^hdvXdmodei

  • 前馈神经网络

前馈神经网络在众多的深度神经网络中均有应用,transformer的前馈神经网络 模块主要由两个线性变换组成,而且在两个线性变换之间加入了一个激活函数 (ReLU), transformer中前馈神经网络的公式表示如3-4所示

FFN (%) = max(0, xWr + b1)W2 + b2

(4)残差连接和层归一化(Add& Norm)

Transformer 网络结构中,每一个子层(Muti-head Attention, self-attention,前 馈神经网络)后面都会连接一个残差连接和层归一化模块(Add&Nonn)。残差连 接的主要目的是在保证网络性能不退化的前提下,有效避免网络训练过程中可能 出现的梯度消失和梯度爆炸问题,因此它在很多深度神经网络中都有用到。残差 连接的思想原理也很简单,即在网络结构的输出向量f &丿上加入原始输入向量, 并将相加后的整体作为网络结构的最终输出,如此网络结构的输出便可表示为 f (x) +监 之所以这样做,是因为深度神经网络在进行训练的过程中需要对兀进 行反复求偏导,而在输出中加入原始输入向量就相当于,在每次求导结果中都加 入一个项常数项1,如此便可避免梯度消失问题。换言之残差连接的主要目的,就 是为了让网络在进行多层训练时,只关注当前有差异的部分冈。Transformer中残 差连接的网络结构如图3-10所示。

图3-10残差连接网络示意图

 

深度神经网络中为了避免输入数据落在激活函数的饱和区,通常采用归一化 操作来将输入转化成均值为0方差为1的数据。归一化的目的和残差连接相同, 也是为了尽量避免训练过程可能存在的梯度消失或爆炸的情况。常见的归一化方 法有批量归一化(Batch Normalization, BN )和层归一化(Layer Normalization, LN ), 其中BN的主要思想是,在每一层的每一批数据上进行归一化。与BN不同,LN 的主要思想是在每一层输出的每一个样本上进行归一化。Transformer中采用的是 层归一化,此外LN还经常用于RNN等循环神经网络结构中。LN会将每一层神 经元的输入都转成均值方差都一样的,这样一来便可加快模型的收敛⑸]。

Add & Nonn的公式表述如下:

L ay er Norm(X + MultiHeadAttention (X))                          (3・5)

L ay er Norm(X + FeedForward (X))                            (3-6)

其中 X 表示 Multi-Head Attention 或者 Feed Forward 的输入, Multi-Head Attention (X) 和 Feed Forward (X) 表示输出 (输出与输入 X 维 度是一样的,所以可以相加)。

(5) Positional Encoding

多头注意力机制旨在学习词的不同位置信息,因此Transformer中对编码层和 解码层的每一个输入的词嵌入都添加了一个额外的位置向量(Positional Encoding), 用来记录每个单词的位置信息或者序列中不同单词之间的距离,该向量的维度和 输入序列词嵌入的维度一样。针对位置向量,Transformer中提出了一种特殊的编 码规则,如公式3-7、3-8所示。

其中pos表示当前词在句子中的位置,i表示向量中每个值的index,由公式(3-7) 和(3-8)可以看出,Transformer中针对偶数位置采用正弦编码,奇数位置采用余 弦编码。结合三角公式 sin Ca + (3 ) = sin a cos 0 + cos a sin 0 , cos (a + B)= cos a cos /3 - sin a sin /?可知,位置k + p的位置向量可以表示为位置k的特 征向量的线性变化,如此也为模型学习单词间的相对位置信息提供了便利。

3.2.2基于BERT文本分类模型的构建

与第二章的算法设计一样,本章针对偏倚风险评估中文档分类任务和句子分 类任务分别构建两类文本分类模型,并针对每一类偏倚分别构建一个二分类模型。 针对不同任务的分类模型网络结构,仅在输入序列的处理上有所不同,其余各部 分均相同,具体网络结构如图3-11所示。

图3-11本文基于BERT的分类模型网络结构图

如图3-11,其中(a)为文档分类模型的网络结构图,(b)为句子分类模型的 网络结构图。图(a)中输入文档的不同句子之间采用[SEP]标签进行分隔,在经过 embedding层之后输入到tTansfomieT层,最后再经过softmax层处理后输出文档对 应的label标签。由于本文中采用的是BERT-Base因此这里的transformer层数为 12层,transformer•层的维度为对应的输入文本序列的长度,在此们设置的512。图

(b)同样采用BERT-Base的12层transformer层,但是这里的transformer层的维 度设置为128o

Transformer层的每一个神经元采用的都是上节中所提到的transformer结构。 不同的transformer层之间采用全连接机制,最后一层transformer层的输出直接输 入标准的softmax层进行计算、分类,最后输出相应的标签的概率。在此需要注意 的是,输入文本序列所进行的embedding操作不再是传统的词嵌入操作,而是结 合位置嵌入(position-embedding)和分层嵌入(segment-embedding)的复杂的 embedding操作。具体的embedding表示过程如图3-12所示。

本章同样针对自动化偏倚风险评估中的两类任务(偏倚风险评估任务,和句子 提取任务)分别构建两类不同的文本分类模型,并进行算法实现。在偏倚风险评 估任务上,针对7类偏倚分别构建一个二分类模型,在句子提取任务上,针对除 其它偏倚(Other sources of bias: O)外的其它6类偏倚分别构建一个二分类模型。 算法实现的具体流程如图3-13所示。首先令牌嵌入阶段,通过查询词表,将输入文本的每个单词转换成一维的词 向量,这里的词表采用的是Google开源预训练模型中提供的(Bert-Base Uncased) [39]O接下来进行分层嵌入操作,该过程的主要目的是学习单词的全局语义信息, 用于记录当前词是属于句子A还是属于句子B,这个过程也不是一成不变的,而 是随着训练的的迭代进行是会发生改变的。然后再加入单词的位置信息,position embedding在上节transformer的原理介绍中已经阐述了,其主要目的是为了记录单 词在句子中的位置信息,从而学习文本的词义信息。最后将token_embedding + segment_embedding + position_embedding 所得的结果作为 BERT 模型的输入。

3.3基于BERT文本分类模型的算法实现

如图(3-13)左边为偏倚风险评估模型的训练和测试流程,右边为句子提取任 务模型的训练测试流程图。该流程主要包括数据获取、预处理,数据集构建,模 型选择及参数设置,模型训练,参数调整,和模型测试等几个步骤。

3.3.1数据来源及预处理

本章模型训练数据采用的数据来源有两个:系统评价数据来源于Cochrane图 书馆CDSR数据库中免费开源的系统评价数据;系统评价中纳入研究的RCT的全 文数据,来源于PubMed和其他数据库。

首先采用网络爬虫和远程监督的方式从Cochrane图书馆CDSR数据库中获取 到3821篇RCT的偏倚风险评估结果数据,然后利用RCT的PMID从PubMed和 其他数据库中获取到对应的pdf数据。经过pdfminer3k格式转换后,得到3802篇 TXT格式的全文数据(其中有19篇为扫描形式的pdf无法完成处理),数据清洗 后得到完整的初始数据。数据集构建的详细过程以及,初始数据集的分布情况在 第二章中已经介绍,在此不再赘述。

图3-13模型训练、测试流程图。

针对每一类偏倚本文都采用8:1:1的比率拆分数据集,在文档分类任务上针对 每一类偏倚分别构建相应的train> test和dev,并且所有的数据集均采用csv格式 来存储。每一个csv文件都包含两列,第一列为对应的label,第二列为context□ 对于文档分类模型,context为对应的全文(full-text),对于句子分类模型,context 为full-text分句处理后得到的句子。

由于文档分类任务是针对7类偏倚中的每一类偏倚分别构建了一个二分类模 型,而句子提取任务,是针对除“其它偏倚”外的其余6类偏倚分别构建一个二 分类模型,因此最终构建了针对13个二分类模型的13个数据集,在每一个数据 集中均包含数据比率为8:1:1的三个数据集tran、test、dev。

332模型的参数选择

本章采用Google开源的BERT-Base模型来构建分类模型,因此transformer 层的层数为12层,隐藏层的维度为为默认参数768不做任何调整。本章将主要针 对学习率,训练批次大小,输入序列长度等参数进行设置,具体参数及设置如下 表3-1所示。

表3-1:基于BERT的偏倚风险评估模型的参数设置表

3.4实验结果及分析由于本章分别针对文档分类任务和句子分类任务设计了两类不同的的分类模 型,因此输入序列长度(max_seq」ength)在不同的分类模型上设置不同,在文档 分类模型上设置为512,在句子分类模型上设置为128,因为句子分类任务数据集 中,绝大多数句子的长度不超过128。

采用第二章所提出的基于n-gram与TF-IDF的偏倚风险评估模型(LinearSVM 作为分类器)作为对比模型,本节对比统计了本文BERT模型在偏倚风险评估任 务中的不同风险类别上的表现,统计结果如表3-2、3-3和图3-14、3-15所示,其 中图3-14和3-15为模型在F1值上的对比图。

表3-2文档分类模型测试结果统计表

■Ours ■对比模型如表3-2所示,本文BERT模型在RSG, IOD, SR和O四类偏倚风险评估上 的表现要明显优于它在其他几类偏倚风险上的表现。结合数据集中正负样本的分 布情况加以分析,结果发现在模型表现效果更好的四种偏倚风险类别上,它们的 数据集中正样本的数量明显多于负样本,而其余类别的数据集中正负样本的比率 则恰好相反。正因如此,模型在RSG、IOD、SR和O四类偏倚风险评估上的召回 率(Recall)明显要高于准确率(Precision),而在其余三类偏倚风险上的表现则刚 好相反。此外,本实验中只统计了正样本的评估结果,这是因为在偏倚风险评估 任务中,通常只关注于准确识别出低风险的研究。                                                       O

图3-14文档分类任务上本文BERT模型与对比模型在F1值上的对比结果图

表3-3句子分类模型测试结果统计表

如表3-3所示,本文BERT模型在所有偏倚风险类别上的准确率(Pwcision) 都要远高于召回率(Recall)。结合数据的分布情况来看,所有偏倚风险类别的正 样本(偏倚风险描述相关句)量均远小于负样本量。然而从句子分类任务上来讲, 偏倚风险评估的目标是,希望模型预测结果中尽可能多的句子是跟偏倚风险描述 确实相关的,也即希望模型表现出尽可能高的准确率。从表3-3给出的结果来看, 无论在那种风险类别上,模型都取得了较好的准确率,这也正好符合任务的目标 需求。

图3-15句子提取任务上本文BERT模型与对比模型在F1值上的对比结果图

此外,如果将本文BERT模型所得结果和对比模型的测试结果进行比较,如图 3-14、3-15所示,不难发现,无论是在文档分类上,还是在句子分类上,本文基于 BERT的偏倚风险评估模型都要明显优于基于n-gram和TF-IDF的对比模型方法。 同时也不难发现,本文BERT模型在文档分类任务上优化效果远没有它在句子分 类任务上的优化效果好。这是因为,文本的长度要远大于句子的长度,而BERT 模型对输入序列的长度有严格限制(最大不超过512),因此在进行文档分类训练 时,必定存在信息丢失的情况。此外从数据集的规模上来讲,文档分类任务的数 据集规模要远小于句子分类任务的数据集规模。所以本文BERT模型在句子分类 任务上的效果,要明显由于文档分类任务上的效果。

3.5本章小结

本章主要介绍了预训练NLP模型的基本概念、主要思想以及研究现状,并详 细介绍了 BERT的网络结构、思想原理。在此基础上构建了基于BERT的偏倚风 险评估模型,并进行了算法实现。实验结果表明,该模型无论是在文档分类任务 还是在句子分类任务上均表现出了优异的性能。通过与对比模型的实验结果进行 比较,发现该模型无论是在文档分类任务上还在是句子提取任务上F1值,均要高 于对比模型10%以上。

第四章 自动化偏倚风险评估系统的设计与实现

本文BERT偏倚风险评估模型的基础上,设计并开发了一款自动化偏倚风险 评估系统(System Reviewer ) □开发该系统的主要目的,是为了方便医生或系统评 估员,在进行日常科研时,尤其是在进行系统评价时,能够快速完成对纳入研究 (RCT)的偏倚风险评估,从而提高系统评价的效率。

4.1系统总体设计

4.1.1系统模块介绍

自动化偏倚风险评估系统(System Reviewer)主要包含注册登录、文件上传 等4个模块,这四个模块均独立开发,最后采用API接口 server集合的方式进行 管理和调用。系统各模块之前的相互关系如图4-1所示。

图4-1系统模块总体设计图

注册登录模块:注册登录模块包括注册和登录两大功能,首先注册功能要求 用户注册时,填写用户名、密码、联系电话、电子邮件、姓名、所属单位机构等 信息。并且要求在联系电话和电子邮件两个信息上,均设置前后端校验两种校验 方式,前端主要负责校验联系电话和电子邮件的格式是否正确,后端主要负责校 验数据库中是否存在重复注册的情况。此外在所属单位、机构信息上,要求用户 填写准确的单位、机构信息,并且设置后台校验。只有通过校验的用户,才具备 登录和使用系统的权限。登录功能上要求比较简单,目前需求中只要求设计一种

 

登录方式一一用户名+密码的方式。后台只需要根据用户名和密码以及用户权限进 行校验即可,用户权限的设定主要是为了校验用户是否通过后台的审核,一旦审 核通过即可获得登录使用系统的权限。

文件上传及格式处理模块:该模块同样包括两大功能需求,文件上传和格式 处理。首先是文件上传阶段,要求对上传文件的格式进行限制,只允许上传pdf 和txt两种格式的文件,并且要求能够满足一次同时上传多个文件。其次在格式处 理阶段,要求包含文件格式判断功能,pdf格式转换(pdf转txt)功能,txt格式处 理等功能。

自动化偏倚风险评估模块:该模块包括文档偏倚风险评估和偏倚句提取两大 功能,该模块接收文件格式处理模块的处理结果,然后分别调用第三章中训练的 两类模型(文档分类模型和句子分类模型)进行预测,最终返回模型的预测结果 并以json格式传递给结果展示模块。

评估结果展示模块:该模块主要用于展示模型评估的结果,接收偏倚风险评 估模型的预测结果(json格式),然后以表格的形式进行展示。展示时主要采取两 个独立表格来完成,文档的偏倚风险评估结果采用偏倚风险评估矩阵的形式进行 展示,句子分类模型的预测结果采用每一篇文档对应一个内嵌子表格的形式进行 展示,具体的效果将在下节中介绍。

4.1.2系统开发语言及框架介绍

第二三章中的文本分类模型均由Python语言进行设计与实现,为了方便调用 第三章中训练好的模型,同时也为了节省系统开发成本,本章在系统开发语言上 也采用Python语言。Python语言是由贵铎•范•罗萨姆(Guido van Rossum)在 阿姆斯特丹于1989年圣诞节期间,开发的一个优雅而健壮的编程语言。它不仅继 承了传统编译型语言(C/C++等)的强大性和通用性,同时也借鉴了脚本语言 (Tcl/TkTck PerlPerl     和解释型语言(JavaScript^ Shell 等)的易用性。Python

是一款遵循GPL (GNU General Public License)协议的自由软件,它的第一个公 开发行版发行于1991年。

Python采用极简主义的设计理念,来统一规范交互模式,同时它还被设计成 是“符合大脑思维习惯”的,因此Python具有易于学习、理解和记忆的特性。从 编程模式上来讲,Python是一门面向对象的编程语言,但同时它又和C++—样既 支持面向对象编程,又支持面向过程编程。作为一门解释型语言,Python还具有 易于编写、解释和调试等优点,因此它的代码开发速度较快。此外Python中还提 供了丰富的API和工具包,而且程序员能够轻松地使用C/C++语言来编写和扩充
模块。最后,作为一种“胶水语言”,Python具有较好的跨平台性。虽然Python 也有一些缺点,例如代码执行速度慢,代码安全性低等,但是从Web网络开发的 角度来讲,Python所提供的丰富模块和Flak框架促使其成为本章系统开发的首选。

Flask是Python中常用来进行应用开发的一种微型框架,它是一个基于jinja2 模板和Werkzeug WSGI服务的框架。Werkzeug WSGI的本质是一个用于接收http 请求、预处理,并触发Flask框架的Socket服务端。Werkzeug WSGI接收请求并 触发Flask框架之后,开发人员只需要针对请求做相应的处理并将处理后的结果返 回给前端即可。如果返回的结果过于复杂,则可以采用Flask提供的jinja2模板对 结果进行渲染,再将渲染后的字符串返回给前端。

4.1.3系统的主要功能及流程介绍

自动化偏倚风险评估系统(System Reviewer)包含四大模块,每一个模块均 包含相应的功能。各个模块之间相互依赖,各功能之间依序执行从而保证系统的 有效运行,

当用户访问系统时,首先会进入登录及注册模块,该模块中后台会对用户输入 的信息进行多重校验,只有当用户成功登录,或者已登录才会进入文件上传模块, 否则将根据校验结果给出相应提示。进入文件上传模块后,将提示用户上传规定 格式的文件,当用户选择并上传规定格式的文件后,将直接进入格式转换及处预 理阶段,由于该过程涉及到pdf的格式转换及文本预处理等操作,因此需要等待系 统后台响应一定的时间。待格式转换及处理完成后将进入风险评估模块,如果格 式转换失败将提示数据格式问题,并重新返回文件上传模块。成功进入风险评估 模块后,系统将分别调用文档分类模型和句子分类模型的server进行预测,最终 将预测结果以json格式返回给结果展示模块。接收到模型预测结果后,结果展示 模块将调用jinja2模板对预测结果进行渲染并在前端界面进行展示。

4.2系统主要功能模块的设计与实现

4.2.1注册登录模块设计与实现

System Reviewer的登录注册功能采用Flask提供的flask-login模块来实现。

Flask-Login模块提供Flask的用户会话管理,它常用来处理用户登录、注销和记住 用户登录状态等任务。Flask-Login可以将活动用户的ID存储在会话中,从而轻松 实现登录和注销功能。同时还提供记住用户登录状态,用户注销等功能。用户注 册信息中“联系电话”、“电子邮件”等的格式校验采用正则表达式来实现,用户 权限审核采用后台人工审核的方式来完成。注册、登录界面效果如图4-3和4-4所

图4-3用户注册界面效果图

4-4用户登录界面效果图

4.2.2文件上传及处理模块设计与实现

文件上传操作允许用户一次同时上传多个文件,该功能通过jinja2模板中的相 关组件实现。同时文件上传过程中,还要求对上传文件的格式进行限制,只允许 上传pdf和txt格式文件,该过程通过Python的os模块来实现。文件上传成功后 需要对其进行格式转换和文本预处理,格式转换过程采用Python提供的pdfminer3k 模块来实现。pdfminer3k是PDFMiner的最新改进版,是Python中使用频率最高 的一款pdf处理工具,常用来获取pdf中的文本数据。pdfminer3k模块中提供了丰 富的函数,例如PDFParser> PDFResourceManager等,这些函数主要用来进行格 式转换、格式处理和信息提取。文件上传操作的效果如图4-5和4-6所示。

c (D I

图4-5文件上传前默认界面

C ▲不妄金 I 211 加,11 U24:54)O7/lagin

: 迎使用自期化偏倚风险评估系统

选捽文件超他件

图4-6文件上传操作效果图(一次上传多个文件)

PDF格式转换后,需要进行分词、分句等文本预处理操作,该过程采用NLTK 工具包来实现。NLTK,全称Natural Language Toolkit,它是自然语言处理中应用 频率最高的一个Python库,是由宾夕法尼亚大学的自然语言处理团队,基于Python 语言开发的一款开源工具包。

4.2.3自动化偏倚风险评估模块设计与实现

经过格式处理后的数据将以测试集类似的格式存储于临时路径下,然后分别 调用文档分类模型和句子分类模型的server。该server同样采用Flask框架开发, 只是不包含任何的前端界面,完全通过后台API接口的方式进行数据交互。模型 预测结束后,预测结果将通过伽sk」son框架进行整合,整合后的结果直接返回给 结果展示模块进行展示。整个过程的流程如图4-7所示。

图4-7偏倚风险评估模块流程图

4.2.4评估结果展示模块设计与实现

经过flaskjson框架整合后的模型预测结果为json格式的数据,可直接通过 Jinja2模板在前端界面进行展示。Jinja2是最常用的Python模板引擎之一,它的设 计灵感来自Django的模板系统,但又通过一种表达性语言对其进行了扩展,从而 为模板作者提供了更强大的工具集。最重要的是,它为安全性很重要的应用程序 添加了沙盒执行和可选的自动转义功能。

Jinja2除了具备沙盒执行和可选的自动转义功能之外,它还包含强大的HTML 自动转义系统,可防止跨站点脚本编写,同时它还将模板编译和运行时的错误集 成到标准的Python追溯系统中,从而方便系统开发者进行代码调试。预测结果的 展示效果如图4-8所示。

Risk of bias table:

Characteristics of studies :

如图4-8所示,系统结果展示包含两个部分,一是文档分类模型的预测结果, 以偏倚风险评估表格的形式进行展示,每一行对应一篇RCT文献,列为具体的偏 倚类别;二是句子分类模型的预测结果,同样以表格的形式展示,大表格中每一 个小表格对应一篇RCT的偏倚描述句的提取结果,其中第一列为偏倚类别,第二 列为偏倚风险评估结果,第三列为模型从对应全文中提取的与该偏倚描述相关的 句子。

4.3系统部署与测试

4.3.1系统部署

随着Cochrane图书馆CDSR数据库中开源数据集(系统评价)规模的不断扩 大,未来模型将基于新数据进行迭代训练,系统也将随之更新。因此为了方便系 统的迭代更新,同时也为了应对服务器可能存在的突发宕机等情况,System Reviewer系统将采用本地服务器和云服务器两种方式进行部署。

本地部署采用电子科技大学数字健康中心的内部服务器作为宿主进行部署, 云在线部署采用阿里云平台的ECS (Elastic Compute Service,弹性计算云服务器) 服务器作为宿主进行部署。服务器的相关参数如表4-1和4-2所示。

表4-1电子科技大学数字健康中心的内部服务器参数

 System Reviewer系统通过GitLab进行代码管理和版本控制,采用Docker进行 项目打包和部署。GitLab是使用Git作为代码管理工具,并在此基础上搭建起来的 一个专门管理代码的web服务。Git和SVN—样是目前主流的代码管理工具,相 较于SVN, Git提供更为丰富的命令行操作,因此本文采用Git来协助开发o Docker 是操作系统层面目前最为流行的一种虚拟化技术,它能够保证开发、运行环境的 一致性,避免出现开发、测试、生产由于环境配置不一致导致的各种问题。

4.3.2系统测试

系统测试的主要目的,是为了验证软件系统最终是否满足用户规定的需求。
对于System Reviewer系统而言,用户需求中取关键的两点是:一系统能否准确准 确预测出导入的RCT文献在各个偏倚类别上的风险值;二系统响应时间能否尽可 能的短。虽然在模型训练、测试阶段即本文第三章已经给出了测试结果,但是作 为一个专业型的评估工具,其用户将主要集中于医生、系统评估员、医学情报研 究员等专业人士,因此System Reviewer的评估结果与专业人士人工评估结果的一 致性将显得尤为重要。

关于“一致性”的检验标准,在统计学中通常采用Kappa系数来表示。然而 基于实验室现有的条件,无法召集一批专业的人士来测试系统评估结果的一致性, 因此本节系统测试将主要针对用户需求的第二点一一系统响应时间。已知影响系 统响应时间的主要因素,是用户上传的待评估的RCT的数量,因此本节分别统计 系统在不同数量RCT情况下的响应时间,统计结果如表4-3和图4-9所示。

表4-3系统响应时间统计表4.4本章小结

本章主要介绍了自动化偏倚风险评估系统的设计与实现,首先从总体结构上 介绍了系统各个模块的主要功能及操作流程,并简要介绍了系统开发的语言和框 架。然后详细介绍了每个模块的设计思路及具体实现,并展示了相应的效果图。 最后阐述了系统的部署环境、部署方式,以及测试方法、测试流程和测试结果。

第五章全文总结和展望

本文详细阐述了自动化偏倚风险评估的研究背景、研究现状,并详细介绍了 机器学习方法中常见的几种经典的文本分类算法,通过对比实验阐述了此类方法 的存在的缺陷,最后提出了一种基于BERT的偏倚风险评估模型,同时还基于该 模型开发了一款自动化偏倚风险评估系统。本章将对前文阐述的相关研究进行总 结,指出研究中存在的不足之处,并对未来的研究方向进行展望。

5.1总结

本文提出来一种基于BERT的自动化偏倚风险评估算法,并基于该模型开发 出了一款自动化偏倚风险评估系统,从而极大缩短了传统系统评价中人工进行偏 倚风险评估所需的时间成本。

首先为了明确本课题的研究意义,本文对国内外的研究背景和研究现状进行 了广泛深入的调研。调研发现关于自动化偏倚风险评估的相关研究是医学信息学 领域目前较为全新的一个课题,国外的相关研究最早开始于2014年,而国内并没 有类似的相关研究被披露。并且从2016年至今国外也仅有两项相关研究被发发表。 虽然已知的相关研究仅有两项,但是从这两项研的究论文发表情况来看(其中一 篇发表于ACL2017并获得Best Paper),该项研究对于循证医学领域而言具有重大 意义,它是循证医学迈向智能化、自动化的关键一步。

总结已有的两项研究发现,目前主流的技术都是基于机器学习方法来实现的

(logistic回归和Linear SVM)。本文第二章,在传统词袋模型的基础上提出了一 种结合n-gram与TF-IDF的特征工程方法,结合机器学习中目前常见的几种分类 器进行对算分实现。通过对比实验发现该方法结合Line如SVM分类器,在偏倚风 险评估任务上取得了最佳的表现,在文档分类任务上取得了 62.8%—80.0%的F1 值,在句子分类任务上取得了 67.7%—74.7%的F1值。除此之外本文第二章,还 构建了一个包含3802篇RCT及其偏倚风险评估数据的数据集,并详细介绍了该 数据集的构建方法、流程,结合前期调研的结果来看,该数据集是目前已知规模 最大一个。

本文第三章,基于NLP领域目前最新的研究成果——预训练NLP模型,提出 来一种基于BERT的自动化偏倚风险评估模型。并分别从预训练NLP模型的发展 历程,BERT的思想原理、网络结构等多个方面论述了该算法模型的优越性,通过 与机器学习中的Baseline模型进行对比实验,发现最该模型要比传统方法的F1值

高出10%以上。

最后为了将理论结果应用于实践,本文第四章,在第三章训练模型的基础上 设计、开发了一款自动化偏倚风险评估系统,并分别从系统功能模块、开发框架、 实现流程等多个方面对该系统进行了详细介绍。最后通过本地部署和在线部署两 种部署方式,来保证系统的稳定性,并通过系统测试验证了该系统的高效性。

5.2展望

虽然本文第二章对比研究了机器学习中常用于文本分类的几种经典模型,但 是深度学习领域同样有很多表现优异的文本分类模型,因此在未来的研究中,可 以重点探讨深度学习领域常见的文本分类模型,在自动化偏倚风险评估上的表现。

本文的研究重点是基于BERT构建自动化偏倚风险评估模型,虽然在第三章 中也运用了大量的篇幅来介绍BERT的网络结构和算法原理,但是据我们所知NLP 领域的发展是日新月异的。从Google2019年开源BERT模型以来,基于BERT思 想改进的预训练NLP模型层出不穷,而且大多性能优异。因此在未来的研究中, 也可以尝试基于其他预训练NLP模型来构建自动化偏倚风险评估模型,例如 XLNet> GPT-2、ALBERT

本文在构建基于BERT的自动化偏倚风险评估模型时,采用的是Google开源 的BERT-Base预训练模型。而该预训练模型是基于英文维基百科和英文Books Cropus等语料进行训练的,这些语料大多是通用语境下的文本。因此未来如果实 验环境成熟,也可以尝试着使用PubMed等生物医学文本数据库数据,来训练一个 基于专业生物医学文本的预训练模型,并进一步探讨基于专业语料的预训练模型 是否能表现出更优异的性能。

本文开发的自动化偏倚风险评估系统,虽然操作简单,评估效率高,基本能 满足医生、系统评估评估员等专业人士的使用需求。但是该系统没有经过高负载、 高并发等线上环境测试,也没有进行分布式部署。因此,未来研究中可以尝试使 用Java等开发语言开发出并发性能更优越的系统,并采用eurake等框架进行分布 式部署。

参考文献

  • 邓长安,李幼平,李静.循证医学[M].高等教育出版社,2003, 12-35
  • 循证医学:引领医学新变革[J].中国微侵袭神经外科杂志,2012,17 (09) :409.
  • 周巧珍,周昱,田柳,郑瑞斌,麻健丰.氧化错种植体基台机械性能及存活率的系统评价卩].中 国口腔种植学杂志,2014,19 (03) :116-121,
  • Bastian, P. Glasziou, and I. Chalmers. Seventy-five trials and eleven systematic reviews a day: how will we ever keep up?[J]. PLOS Medicine, el000326.2010, 7 (9) : 53-61
  • Brody and N. Elhadad. An unsupervised aspect-sentiment model for online reviews[C]. In

Human Language Technologies: The 2010 Annual Conference of the North American Chapter of the Association for Computational Linguistics (HLT '10) . Association for Computational Linguistics, USA, 2010, 804-812.

  • Evidence-Based Medicine Working Group. Evidence-based medicine. A new approach to teaching the practice of medicine [J]. Jama, 1992, 268 (17) :
  • Hartling, M. Ospina, and Y. Liang, et al. Risk of bias versus quality assessment of randomised controlled trials: cross sectional study [J]. Bmj, 2009, 339: b4012.
  • Higgins, D. Altman, P. Gotzsche, et al. The Cochrane Collaboration's tool for assessing risk of bias in randomised trials [J]. Bmj, 2011, 343: d5928.
  • 杨智荣,孙凤,詹思延.偏倚风险评估系列:(一)概述.中华流行病学杂志2017年7月 第38卷第7期.
  • Millard, P. Flach, J. Higgins, Machine learning to assist risk-of-bias assessments in systematic reviews [J]. International journal of epidemiology, 2016, 45 ( 1) : 266-277.
  • Savovic, L. Weeks, J, Sterne, et al. Evaluation of the Cochrane Collaboration's tool for assessing the risk of bias in randomized trials: focus groups, online survey, proposed recommendations and their implementation[J]. Systematic reviews, 2014, 3 ( 1) : 37.
  • Hartling, MP. Hamm, A. Milne, et al. Testing the risk of bias tool showed low reliability between individual reviewers and across consensus assessments of reviewer pairs [J]. Journal of clinical epidemiology, 2013, 66 (9) : 973-981.
  • Armijo-Olivo, M, Ospina, BR. da Costa, et al. Poor reliability between Cochrane reviewers and blinded external reviewers when applying the Cochrane risk of bias tool in physical therapy

trials [J]. PloS one, 2014, 9 (5) : e96920.

  • Higgins, S. Green. Cochrane handbook for systematic reviews of interventions[M]. John Wiley & Sons, 2011,76-187
  • University of York. Centre for Reviews and Dissemination, J. Akers. Systematic reviews: CRD's guidance for undertaking reviews in health care[M]. Centre for Reviews and Dissemination, 2009,24-51
  • Detsky, CD. Naylor, K. O'Rourke, et al. Incorporating variations in the quality of individual randomized trials into meta-analysis[J]. Journal of clinical epidemiology, 1992, 45 (3): 255-265.
  • Tsafnat, P. Glasziou, MK. Choong, et al. Systematic review automation technologies [J]. Systematic reviews, 2014, 3 ( 1) : 74.
  • Hassanzadeh, T. Groza, J. Hunter. Identifying scientific artefacts in biomedical literature: The evidence based medicine use case [J]. Journal of biomedical informatics, 2014, 49: 159-170.
  • I J. Marshall, J. Kuiper, BC. Wallace. Automating risk of bias assessment for clinical trials[C]//Proceedings of the 5th ACM Conference on Bioinformatics, Computational Biology, and Health Informatics. 2014: 88-95.
  • I J. Marshall, J. Kuiper, BC. Wallace. RobotReviewer: evaluation of a system for automatically assessing bias in clinical trials [J]. Journal of the American Medical Informatics Association, 2016,23 (1) : 193-201.
  • I J. Marshall, J. Kuiper, BC. Wallace. Automating risk of bias assessment for clinical trials [J]. IEEE journal of biomedical and health informatics, 2015, 19 (4) : 1406-1412.
  • Zhao, K. Mao. Fuzzy bag-of-words model for document representation [J]. IEEE Transactions on Fuzzy Systems, 2017, 26 (2) : 794-804.
  • Aizawa. An information-theoretic perspective of tMdf measures [J]. Information Processing & Management, 2003, 39 ( 1) : 45-65.
  • Kleinbaum, K. Dietz, M. Gail, et al. Logistic regression[M]. New York: Springer-Verlag, 2002,78-152.
  • Cortes, V. Vapnik. Support-vector networks [J]. Machine learning, 1995, 20 (3) : 273-297.
  • Andrew. An Introduction to Support Vector Machines and Other Kernel-Based Learning Methods by Nello Christianini and John S ha we-Taylor, Cambridge University Press, Cambridge, 2000, xiii+ 189 pp., ISBN 0-521-78019-5 (Hbk,£ 27.50) [J]. Robotica, 2000, 18 (6) : 687-689.
  • Domingos, M. Pazzani. On the optimality of the simple Bayesian classifier under zero-one loss[J]. Machine learning, 1997, 29 (2-3) : 103-130.
  • McCallum, K. Nigam. A comparison of event models for naive bayes text clas sification [C]//A A Al -9 8 workshop on learning for text categorization. 1998, 752 (1) : 41-48.
  • Breiman. Arcing classifier (with discussion and a rejoinder by the author ) [J]. The annals of statistics, 1998, 26 (3) : 801-849.
  • Schapire. The strength of weak learnability [J]. Machine learning, 1990, 5 (2) : 197-227.
  • Chen, C. Guestrin. Xgboost: A scalable tree boosting system[C]//Proceedings of the 22nd acm sigkdd international conference on knowledge discovery and data mining. 2016: 785-794.
  • Mintz, S. Bills, R. Snow, et al. Distant supervision for relation extraction without labeled data[C]//Proceedings of the Joint Conference of the 47th Annual Meeting of the ACL and the 4th International Joint Conference on Natural Language Processing of the AFNLP: Volume 2-Volume 2. Association for Computational Linguistics, 2009: 1003-1011.
  • Moschitti, TVT. Nguyen. End-to-end relation extraction using distant supervision from external semantic repositories[C]//Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies: short papers-Volume 2. Association for Computational Linguistics, 2011: 277-282.
  • Cochrane Collaboration. The Cochrane database of systematic reviews [EB/OL]. Available: http:〃thccochranelibrary.com. July 16, 2014
  • Webster, A. Alghamdi. Use of plastic adhesive drapes during surgery for preventing surgical site infection [J]. Cochrane database of systematic reviews, 2015 (4) : CD006353.
  • Wang, Q. Zhou, G. Sun. Text Similarity Based on Semantic Analysis[C]//2016 2nd International Conference on Artificial Intelligence and Industrial Engineering ( AIIE 2016). Atlantis Press, 2016: 303-307.
  • Stone. Cross - validatory choice and assessment of statistical predictions [J]. Journal of the Royal Statistical Society: Series B (Methodological) , 1974, 36 (2) : 111-133.
  • Flach. (2010) ROC analysis. Encyclopedia of machine learning (ed. by C. Sammut and G.I. Webb) [J]. Berlin/Heidelberg: Springer, 2010: pp. 869- 875.
  • Fawcett. An introduction to ROC analysis [J]. Pattern recognition letters, 2006, 27 (8):

861-874.

  • Yang. An evaluation of statistical approaches to text categorization [J]. Information retrieval, 1999, 1 (1-2) : 69-90.
  • Devlin, MW. Chang, K. Lee, et al. Bert: Pre-training of deep bidirectional transformers for language understanding [J]. arXiv preprint arXiv: 1810.04805, 2018.
  • Dai, QV. Le. Semi-supervised sequence learning[C]//Advances in neural information processing systems. 2015: 3079-3087.
  • Melamud, J. Goldberger, I. Dagan. context2vec: Learning generic context embedding with bidirectional lstm[C]//Proceedings of The 20th SIGNLL Conference on Computational Natural Language Learning. 2016: 51-61.
  • Ilic, E. Marrese-Taylor, JA. Balazs, et al. Deep contextualized word representations for detecting sarcasm and irony [J]. arXiv preprint arXiv: 1809.09795, 2018.
  • Peters, W. Ammar, C. Bhagavatula, et al. Semi-supervised sequence tagging with bidirectional language models [J]. arXiv preprint arXiv: 1705.00108, 2017.
  • Radford, K. Narasimhan, T. Salimans, et al. 2018. Improving language understanding by generative pre-training[J], preprint: s3-us-west-2.amazonaws.com, 2018.
  • Vaswani, N. Shazeer, N. Parmar, et al. Attention is all you need[C]//Advances in neural information processing systems. 2017: 5998-6008.
  • Sutskever, O. Vinyals, QV. Le. Sequence to sequence learning with neural networks[C]//Advances in neural information processing systems. 2014: 3104-3112.
  • Cho, B. Van Merrienboer, C. Gulcehre, et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation [J]. arXiv preprint arXiv: 1406.1078, 2014.
  • He, X. Zhang, S. Ren, et al. Deep residual learning for image recognition[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 770-778.
  • Ba, JR. Kiros, GE. Hinton. Layer normalization [J]. arXiv preprint arXiv: 1607.06450, 2016.