基于语义的家庭医疗咨询决策支持技术

2023-02-17 01:54王华琼钱归平秦爱红
计算机应用与软件 2023年1期
关键词:分词湿疹实例

王华琼 钱归平 田 雨 秦爱红 杨 帆 杨 攀

1(浙江传媒学院媒体工程学院 浙江 杭州 310018) 2(浙江大学生物医学工程与仪器科学学院 浙江 杭州 310027) 3(浙江大学医学院附属杭州市第一人民医院 浙江 杭州 310006)

0 引 言

公众健康意识的增强、政策红利的驱动、解决老龄化问题的需要,使家庭医疗保健场景变得越来越普及[1-2]。然而,健康意识的增强和医学知识的欠缺,这一矛盾使得家庭医疗很难真正大范围的普及,这也是造成“有病就去大医院”“小病大看”等不良就医习惯的根本原因。如何通过计算机软件或者服务使公众获取有效的医学知识是家庭医疗领域亟待解决的问题。临床实践大多以经验和推论为主,随着信息技术在医疗领域的深入发展,电子病历系统在各个医疗机构中已经普及,临床经验以文档或结构化数据的形式被存储起来。目前已有很多研究致力于从健康医疗数据中总结经验,辅助临床决策支持[3-6]。

健康医疗数据分为院内数据与院外数据两种类型。院内数据由电子病历系统等院内医疗信息系统采集并存储,是目前医学数据研究的主要对象,在质量和规模上具有竞争力[7-10]。院内数据的缺点体现在其隐私安全问题和信息壁垒问题。因此,基于院内数据分析的结果主要服务于本地机构的临床决策支持。院外数据以前主要集中在智能硬件设备的检测数据和政府收集的个人健康档案。伴随互联网技术在日常医疗场景中的渗透,人们越来越习惯于在互联网上求助和分享临床经验,因此互联网上积累了大量的、开放的网络医学数据。随着丁香园、知乎和微医等国内网站的流量快速增长,在搜索引擎中检索高血压、糖尿病等常见疾病,搜索结果都已经超过了1亿条。网络数据规模庞大、增长快速,而且其数据的开放性能够更加便捷地服务于公众。因此,本文探索基于互联网医学数据的临床决策支持方法,目的是为公众在家庭治疗和日常保健中提供决策参考。

互联网上医学数据以文本形式为主,来源复杂且缺乏整合,质量参差不一。如何从网络文本中挖掘出有效信息并进行知识表达是拟解决的重点和难点。医学术语繁多复杂,采用传统的中文分词方法根本无法从本文中发现医学关键信息。针对上述问题,本文引入语义技术构建医学知识模型,明确诊疗方案中的关键信息要素以支撑中文分词,最终从文本中提炼出可为公众提供决策参考的诊疗建议。

1 医学数据分析方法

1.1 医学数据采集

院内数据可以直接从电子病历系统的数据库中导出结构化数据,面向多源异构系统时采用语义技术进行数据的标准化和统一化处理,语义技术在院内数据分析领域已有大量的研究经验[11-15]。面向互联网中的医学数据,涉及到数据获取、整合和分析,整个过程更加复杂。首先需要明确数据来源并主动获取。由于单独一个平台数据量有限,需要从多个平台中获取数据。不同的平台其网页结构组织方式存在明显的差异,数据采集的方式也不同。数据采集过程通过基于Python的主题网络爬虫来实现。

本文通过主题网络爬虫获取面向某一种疾病的相关医学数据,预设主题关键词和待爬取的URL列表作为种子,对检索关键词得到的结果页面进行解析,从中分离出新的URL列表,进一步获取URL列表对应的网页内容保存到本地。

由于各个网站平台的网页组织形式不同,将其分为静态页面和动态页面两种类型。不同类型的页面,数据爬取过程呈现明显的差异,需要加载不同的Python第三方库。

静态页面以丁香园平台为例,使用浏览器在丁香园网站搜索“湿疹”,查看搜索结果,找到约12 982条结果,分页显示,每页显示15个结果,每条结果链接到一个独立的页面。对于静态页面,页面编号通常作为参数包含在URL之中,根据携带页面编号参数的URL可获取到每个结果页面的内容,进一步分离目标URL获取详细信息作为文本语料库的内容。静态页面的数据获取较为简单,直接使用Requests对象的Get方法可获取对应URL的页面内容,主要的难点在于对网页HTML结构的分析。在丁香园网站中,所有的搜索结果都位于class属性值为“main-item j-main-it”的div标签之中,而目标URL的位置是由div.h3.a标签的href属性所决定的。每个平台都有自己独立的页面组织结构,数据获取过程需要对页面进行解析。本文利用了Python库BeautifulSoup和lxml来进行网页解析,提取目标URL。

动态页面的内容是随着时间、环境或者用户操作的结果动态改变的,通过Requests对象从页面中Get的方式只能获取到第一次加载的页面内容,页面信息有限。对于此类网页,首先通过Selenium对象模拟浏览器的页面交互操作,进而获取动态页面的数据。以知乎平台为例,首次加载时,页面只显示了最新的28个结果,需要多次模拟浏览器的下拉操作,尽可能多地让页面下载数据到浏览器端。接着再利用BeautifulSoup库进行页面解析,提取目标URL。

无论是静态页面还是动态页面,在此步骤中要完成的是分析网站类型和网页结构,尽可能地获取到所有与主题相关的结果并保存到本地。

1.2 疾病知识图谱的构建

网络爬虫方式通过URL读取并保存网页,得到的网页结果以HTML文本形式保存,待进一步提取出有效文本,并进行中文文本分析。传统的中文分词方法无法识别复杂的医学术语,更别说提炼出关键诊疗信息。因此,本文引入了语义技术来解决这一问题,通过构建疾病知识图谱的方法生成自定义词典,进而辅助中文文本分析。

语义网为数据的共享和重用提供了通用框架。在语义网中,网络内容被表达为自然语言,不仅易于被人们理解,而且易于被机器处理,使得信息的发现、共享和集成更加智能[16-18]。语义技术包括了描述知识图谱的网络本体语言(Web Ontology Language,OWL)、支持语义推理的语义网规则语言(Semantic Web Rule Language,SWRL)、Jena语义网框架等。随着近几年知识图谱的快速发展,语义技术在语言开发、工具开发、标准建立等方面都取得了显著的进步,并实现了在工业、物流、医学等领域的应用[19-23]。

将语义技术应用于医学知识建模,构建面向疾病的知识图谱,明确定义疾病诊疗方案实例,细化疾病诊疗过程中的关键要素。这些关键要素将作为网页文本分词自定义词典的重要组成部分,为从文本数据中提取关键诊疗信息提供基础。

为有效地表达面向疾病的诊疗方案,本文基于本体编辑工具Protégé构建疾病Disease、诊断Diagnosis和诊疗方案CarePlan对应的类,基于本体模型添加疾病、诊断、诊疗方案的实例和属性,并为各属性赋值以建立实例间的关系。

以急性阑尾炎为例,AcuteAppendicitis是疾病类Disease的一个实例,通过数据属性hasICD_10Code设定其ICD10编码为DN00114,中文标签“急性阑尾炎”,在Protégé中实例定义如图1所示。

图1 疾病类中名称为AcuteAppendicitis的实例

AppendectomyCP是诊疗方案类CarePlan的一个实例,用来记录疾病AcuteAppendicitis的诊疗方案。图2中列出了急性阑尾炎的常规诊疗方案,其中包含了明确的关键诊疗环节,例如化验项血常规(Cell Broadcast Center,CBC)、注射项青霉素(Penicillin)和手术项阑尾切除术(Appendectomy)等。

图2 急性阑尾炎的诊疗方案实例

本体模型的优势还体现在其智能性上,基于语义技术实现的本体模型支持语义推理,有助于结合患者实例数据生成个性化的疾病诊疗建议。例如急性阑尾炎患者术后需要使用抗生素药物,若患者对于青霉素(实例名称Penicillin)过敏,那么使用左氧氟沙星(实例名称Levofloxacin)替代,对应的SWRL规则定义如下:

Patient(?p) ^ CarePlan(?cp) ^ OrderEvent(?x) ^

hasCP(?p, ?cp) ^ hasOrderEvent(?cp, ?x) ^

hasStandardInjectionDrug(?x, ?drug1) ^

hasSubstitute(?drug1, ?drug2) ^

hasAllerge(?p, ?drug1)

→hasInjectionDrug(?x, ?drug2)

对规则的解释如下:某一个病人p采用诊疗方案cp,诊疗方案中包含一条医嘱事件x,该医嘱事件包含标准注射用药drug1,它有一种替换药物drug2。即在正常情况下,医嘱事件x采用注射药物drug1。如果病人p对注射用药drug1过敏,那么医嘱事件x采用注射用药drug2。

规则是支撑语义推理的关键,推理引擎采用了Jena推理引擎的OWLReasoner推理器,能够基于OWL本体模型生成推理模型,为诊疗方案抽取提供专业术语词典。

疾病知识图谱的构建对文本分析来说非常重要。对于每个疾病种类,只有明确了其中的关键诊疗环节,才能为文本分词提供准确的自定义词典。

1.3 中文分词和知识发现

氢化可的松和可的松是两种不同的糖皮质激素,氢化可的松的抗炎作用是可的松的1.25倍。由于“氢化可的松”的文本包含了“可的松”,无法通过检索和计算网页中药物名称出现的频率来统计这两种药物的使用频率。在这种情况下,无法通过统计来获取关键诊疗信息,必须先对网页文本进行分词。中文文本的分词过程借助了Jieba库。

Jieba是用于文本分析的主流Python第三方生态库,其分词原理是利用一个中文词库,将带分词的内容与分词词库进行比对,通过图结果和动态规划方法找到最大概率的词组。除了分词,Jieba库还提供了自定义中文词典的功能,使用此功能可支持对医学专用语的识别。Jieba分词支持三种模式:(1) 精准分词模式将句子精确地划分,不产生冗余词组,适用于文本分析;(2) 全模式切分句子中所有可能的词组组合,但存在冗余;(3) 搜索引擎模式在精准模式的基础上对长词再次切分以提高召回率。综上分析,本文使用精准模式对文本库中的网页文本进行分词,通过1.2节构建的疾病知识图谱中的实例设置自定义词表。

经过自定义词典的建立和Jieba库中文分词,得到了所有网页文本的词语列表。接着基于统计学的方法,对知识模型中定义的医学知识术语进行词频统计。

疾病知识图谱准确描述了关键诊疗环节的定义、属性和关系,基于此得到的自定义词表中包含了对关键诊疗环节的多种表达方式,例如诊疗药物“糠酸莫米松乳膏”,常见的表达有糠酸莫米松、艾洛松和糠酸等。疾病可能有多种诊疗方案,对于婴幼儿湿疹,存在多种外用药物。在湿疹患者的家庭护理诊疗过程中,需要对药物进行选择,通过词频统计来表示药物的使用率。假定对于疾病D存在n种激素类药物可供选择,每种激素类药物在数据中可能存在m种不同的表达方式,每种表达方式在互联网数据中出现的频次为xi,j(i=1,2,…,m;j=1,2,…,n)。那么,某种激素类药物在文章中的词频计算式表示为:

(1)

综上,使用1.1节主题网络爬虫获取网页医学文本,通过1.2节构建的疾病知识图谱中的实例设置自定义词表,在1.3节中基于自定义词表利用Jieba库精准模式对文本库中的网页文本进行中文分词和词频统计,最终生成各个诊疗环节的概率分布,进而为公众提供辅助家庭诊疗的临床决策支持。基于疾病知识图谱的中文文本分词和知识发现过程如图3所示。

图3 基于疾病知识图谱的文本分词和知识发现过程

2 实验与结果分析

湿疹是一种慢性炎症瘙痒性皮肤病,具有发病率高、病程长和易反复的特点,通常需要长期治疗。近年来婴幼儿湿疹的发病率更是逐年上升,对患者及家属造成了严重的困扰[24-25]。

根据卫生部发布的荨麻疹临床路径,其治疗周期一般为7天,糖皮质激素药物局部外用是治疗轻中度湿疹的主要手段,过程中同时使用抗过敏药物、消炎药物来辅助治疗。常见的糖皮质激素包括糠酸莫米松、氢化可的松、可的松和倍他米松等;抗过敏药物包括美能、扑尔敏片等;消炎外用药物主要是百多邦。其中:氢化可的松、倍他米松等是激素类药物的主要成分;美能、扑尔敏片和百多邦是常见药物的别名。医学领域术语繁多,单就药物的称谓,每种药物包含药物名称、主要成分和别名。而且,这些词都不属于常用词,直接使用传统分词方法根本无法有效识别这些信息。

湿疹的诊疗方案中涉及到了多种药物,表1中列出了常见的5种激素类药物、4种抗过敏药物和1种抗生素消炎药物,其中各列分别给出了药物名称、主要成分、主要别名和类型。因为部分药物存在多个别名,表格中只列举了其中一种最常见的别名。

表1 湿疹常用药物列表

由于病程长、易反复和婴幼儿常发的特性,湿疹的诊疗过程主要依赖于家庭护理。药物种类繁多、难以选择是湿疹家庭护理中现存的主要问题。因此,本文选择湿疹的用药建议作为实验案例,来说明如何利用医学知识模型与互联网数据来提炼有效诊疗信息,生成面向湿疹患者的诊疗关键要素,并统计结果为家庭护理和治疗提供决策支持。面向湿疹疾病的家庭医疗咨询决策支持过程如图4所示。

图4 面向湿疹疾病的家庭医疗咨询决策支持过程

2.1 湿疹数据的采集

目前国内热门的亲子网站主要有育儿网、丁香园、19楼亲子论坛等,根据数据量规模,选取丁香园、知乎、育儿网和19楼四个平台作为数据来源目标网站。在这四个平台中输入“湿疹”关键词进行检索,各个平台给出的检索结果列表列出了“湿疹”相关的文章或者问诊信息。由于各个平台的网页结构存在明显的差异,需要对网页HTML结构进行解析,编写面向各个平台的网络爬虫从这些异构平台收集数据。

对于丁香园、育儿网和19楼三个平台,检索结果以静态页面方式组织,通过遍历访问每个页面获取页面中每篇文章的链接进行访问并获取详细数据;对于知乎平台,检索结果以动态页面方式组织,通过selenium来模拟浏览器下拉操作,动态加载数据并获取链接信息进行访问。

由于部分平台限制了开放的数据量,例如19楼论坛中只开放了最新的50页数据,根据每页20篇文章的限制,最终用户能够查阅的文章数量为1 000篇。因此,基于“湿疹”关键词,从各个平台获取的页面数量是有限的。表2中详细列出了网站名称、URL地址、通过网络爬虫获取的目标网页数量。需要说明的是,目标网页中除了正文之外,还包含了大量的评论和回复信息。

表2 平台名称、URL地址、爬虫采集到的目标网页数量

2.2 湿疹知识图谱

构建一个良好的医学知识模型是实现文本分析关键信息提取的基础。基于卫生部发布的荨麻疹临床路径,分析路径结构和内容,明确诊疗过程中的关键信息要素;针对关键信息要素,采用知识工程方法构建面向湿疹的本体模型,定义类和属性。

在此基础上,为湿疹定义Eczema疾病实例,基于湿疹诊疗过程中的关键信息要素,构建诊疗方案实例EczemaCP。湿疹知识图谱中,诊疗方案实例与药物实例的关联如图5所示,其中前缀CP是诊疗方案(care plan)的简写,是整个本体模型命名空间的名称。

图5 湿疹知识图谱中诊疗方案实例与药物实例的关联

图5最上方的框体中列出了诊疗方案实例EczemCP和它的三个重要属性。对象属性usedforDisease的值说明该实例适用病症为疾病Eczema;数据属性hasDuration的值代表该实例治疗周期为7天;对象属性hasOrderEvert包含了多个属性值,每个属性值代表了湿疹诊疗过程中的一个关键诊疗环节,例如HormonesEvent、AntiallergicEvent和AntibioticsEvent分别代表激素药物治疗、抗过敏药物治疗和抗生素药物治疗,均属于医嘱类型中的处方类实例。每个医嘱实例又拥有自己的属性,通过hasRelatedTerm对象属性关联到具体的药物。例如,激素药物治疗实例HormonesEvent关联到的药物实例包括Momeiasone、Hydrocortisone、Desonide、Triancinolone和Betamethasone,分别对应到表1中列出的五种常见激素药物。每个药物实例通过定义其label属性和comment属性,设置了药物的中文名称、主要成分名称和别名。图5下方框体给出了Momeiasone药物实例在Protégé工具中的定义。

基于湿疹知识图谱的实体关系,执行语义推理,完成is_a、sub_class等关系的继承和匹配,生成湿疹知识库推理模型。基于湿疹知识推理模型中的实体关系,使用如下所示的SPARQL语句即可获取湿疹诊疗方案实例EczemaCP相关药物的医学术语信息。

SELECT ?object

WHERE {

CP:EczemaCP CP:hasOrderEvent ?order

?order CP:hasRelatedTerm ?drug

?drug rdfs:label ?object

}

2.3 湿疹诊疗方案的提取和统计

基于2.1节和2.2节的实验结果,分别得到了目标网页文件和湿疹知识图谱。基于网页文件和湿疹知识图谱提取和统计湿疹诊疗方案的过程说明如下:

(1) 通过SPARQL语义检索,从湿疹知识图谱中获取各个药物实例的label和comment属性值,导出作为分词的中文自定义词典,此时自定义词表中包含了药物的名称、成分和别名等医学术语信息。

(2) 对网页文件预处理,通过正则表达式提取所有中文文本,过滤掉网页标签等元素。

(3) 使用Jieba库的load_userdict方法加载步骤(1)中的中文自定义词典,使用精准分词lcut方法对步骤(2)中的中文文本进行分词。

(4) 为提升统计效率,根据中文停用词表进行停用词过滤,并将最终结果保存到文件中。

(5) 基于中文分词结果,基于统计学的方法统计各医学术语出现的频次。使用文件的readline方法读取步骤(4)中生成的结果文件,将读取的分词结果使用count方法进行统计。

表3中列出了湿疹常用药物的频次统计结果。第1列为药物类型;第2列是药物在知识库中的实例名称,从湿疹知识图谱药物实例的label属性值中读取药物的主要成分以及别名;第3列是各药物实例的合计频次统计结果,其值等于成分频次和别名频次的总和。

表3 湿疹常用药物的频次统计结果

通过式(1)按类别统计激素类药物、抗过敏类药物中每种药物的词频,进而分析各类别药物中哪些药物的受关注度或者使用率更高,计算结果如图6所示。

(a) 激素类药物 (b) 抗过敏类药物图6 按类统计每种药物的词频

基于表3和图6的实验结果,可以得出以下结论:

(1) 激素类药物中,尤卓尔的频次最高,合计461次,约占所有激素类药物的56%,其次为艾洛松,合计217次,约占所有激素类药物的27%,这两种激素类药物的频次远远高于其他激素类药物。

(2) 抗过敏药物中,扑尔敏片出现的词频最高,占82%。合计频次32次,整体上来看所有抗过敏药物出现的频次远低于激素类药物,表明在激素类药物作为湿疹主要治疗手段的前提下,抗过敏药物配合使用的频率比较低。

(3) 抗生素药物主要考察了百多邦这一种药物,出现频次82次,可以看出,相对于抗过敏药物,百多邦作为抗生素消炎药物,更常配合激素类药物共同使用。

这些结论对于为药物选择困扰的公众来说,将提供直观、友好的建议,为最终诊疗方案的确定提供临床决策支持。

相对于院内数据,互联网上的医学数据通常包含有更多的日常保健、护理等非处方类诊疗信息。对于湿疹而言,除了药物治疗之外,日常护肤也是主要的诊疗手段,对应到湿疹知识图谱中的SkinCareEvent实例,属于非处方类医嘱。护肤产品的选择对于诊疗结果有十分重要的作用。目前市场上常见的护肤品牌主要有加州宝宝(California Baby)、强生(Johnson and Johnson)、妙思乐(Mustela)、丝塔芙(Cetaphil)和郁美净(YMJ)等,将这些品牌的护肤产品定义在医嘱实例SkinCareEvent对应的医学术语之中,通过自定义词典进行分词并统计其频次,得到结果如图7所示。

图7 湿疹护肤品牌的频次统计结果

从结果来看,国产品牌郁美净在网页文本中出现的频次最高,合计877次,占所有品牌频次的75%。可见公众对于国产品牌郁美净作为湿疹护肤产品是非常认可的态度。在国外品牌中,丝塔芙的频次统计结果141次是最高的。

另外,在对各平台分词结果的统计过程中发现:不同的网站平台,用户使用药品名称的习惯呈现明显的差异。对于19楼论坛而言,相对于成分,用户更加倾向于使用别名,例如,氢化可的松乳膏,用户使用别名尤卓尔的概率是96.7%,使用成分氢化可的松的概率仅为3.3%;对于知乎平台,用户更能接受使用成分来代替药品名称,同样是氢化可的松乳膏,用户使用别名尤卓尔的概率是60.8%,使用成分氢化可的松的概率为39.2%,远高于其他互联网平台使用成分的概率。

3 讨 论

本文以湿疹的用药建议为例,来说明如何通过疾病知识图谱的类和实例定义生成分词所需的自定义词典,解决医学术语繁多复杂难以进行分词的问题。湿疹的诊疗方案相对于其他疾病来说较为简单,选择其作为实验示例的原因主要有两方面:(1) 当前互联网上的数据有限,对于像急性阑尾炎这类相对复杂的疾病,依赖手术等院内治疗手段,数据更多地记录在电子病历系统之中,公众在互联网上求助和分享的需求也不高,相关的医学数据较少;(2) 基于互联网医学数据的辅助诊疗方法主要面向家庭诊疗的需求,适用于像湿疹这样慢性、病程长和易复发的疾病,其诊疗方案以药物和日常护理为主,而且通常存在药物产品种类多难以选择的问题。因此,本文方法并不局限于湿疹这一种疾病,对于慢性病、老年人日常保健也能提供对应的辅助诊疗支持。

各个平台对于开放数据的数量限制是基于互联网数据分析方法的一项局限。对于主流的微博、19楼和育儿网等平台,运营时间长,平台内部已经积累了大量的数据,但是开放给公众的数据非常有限。例如微博、19楼只开放了最新的50页数据,育儿网只开放最新的100页数据。这个数据量能够支撑用户的日常查阅,却不足以支撑大数据分析的统计挖掘。为解决这一问题,需要定期运行网络爬虫程序,将更新的数据及时保存到数据库中。

相对于医院内部的临床数据,互联网数据的劣势主要体现在数据的质量问题。网络数据依赖于病人对疾病治疗方案的描述,通常缺少统一的规范,对诊疗环节的描述不够清晰、完整。这也是本文中引入语义技术应用于文本分析过程的重要原因,后续将进一步考虑文本中的情感因素,提高分析结果的准确度,并结合患者特征数据,充分利用语义推理功能提高家庭医疗辅助决策的个性化支持。当前状态下,从网络数据中提炼出面向某一个疾病的完整诊疗方案还缺少必要的原始数据支撑,本文探索性地先从中提取关键诊疗信息例如用药信息,来辅助家庭医疗中的临床决策支持。

相对于院内数据,互联网数据的优势主要在于其开放性和日益增长的特性。这些数据公开在网络之上,能够更好地被公众查阅、使用,而不涉及患者隐私的披露问题。基于互联网数据的研究更加侧重于数据的统计结果,而非独立的个体数据。本文方法是对基于互联网数据提取辅助诊疗方案的探索性尝试,提供了一个基础的技术框架。从当前各个平台的“湿疹”数据量来看,还不足以达到大数据的级别。随着信息技术的发展及互联网应用的进一步普及,互联网上的医疗数据必将越来越多,也越来越规范。这部分数据将是对临床数据的重要补充,为辅助医学发展做出贡献。例如实验结果中提到的护理品牌频次分析,这些非处方数据无法从院内系统中获取,却可以通过互联网平台得到,是对临床诊疗方案的重要补充和扩展。另外,互联网上的医学相关数据可能更早地暴露流感等舆情,进而在疫情监控、抑郁症预警等方面做出贡献。

4 结 语

通过构建疾病知识图谱明确关键诊疗环节,为中文文本分词提供自定义词典,根据分词结果统计关键诊疗环节在互联网医学数据中的频次,最终为家庭医疗场景提供临床决策支持。本文将网络爬虫技术、语义技术、分词和统计方法相结合,从互联网数据中发现诊疗规律、提炼治疗路径,提出一种基于互联网医学数据辅助诊疗的技术方法,是对院内数据挖掘的有效补充和拓展,为建立医学大数据科研辅助分析引擎打下基础,将在家庭医疗领域发挥重要的作用。

猜你喜欢
分词湿疹实例
中西医联合治疗慢性肛周湿疹1例
分词在英语教学中的妙用
战胜湿疹是持久战
结巴分词在词云中的应用
结巴分词在词云中的应用
烦人的湿疹何时休
战胜湿疹是持久战
完形填空Ⅱ
完形填空Ⅰ
论英语不定式和-ing分词的语义传承