一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于ICD诊断码的对象划分方法、存储介质及电子病历系统

2022-08-28 05:37:34 来源:中国专利 TAG:

基于icd诊断码的对象划分方法、存储介质及电子病历系统
技术领域
1.本发明涉及对象划分方法,特别是涉及基于icd诊断码的对象划分方法、存储介质、计算机设备及电子病历系统。


背景技术:

2.器官衰竭是icu即重症加强护理病房(intensive care unit)监护中致死率最高的病因之一。器官衰竭的患者的生活质量很差,且器官衰竭的死亡率和发病率很高,并给各国带来了巨大的卫生支出。一个国家的卫生系统必须更好地了解这些器官衰竭之间的潜在关系,以便采取预防措施并更有效地进行早期干预以提高死亡率和治疗率。然而,由于与呈现症状和患者表现变化相关的广泛诊断,及时和正确地识别重要器官衰竭患者可能具有挑战性。此外,这些器官衰竭的病理和临床复杂性很高。


技术实现要素:

3.基于此,有必要针对很少有研究报告和分析对象的特征问题,提供一种基于icd诊断码的对象划分方法、存储介质、计算机设备及电子病历系统。
4.本技术提供一种基于icd诊断码的对象划分方法,包括:对预定类别的对象所具有的icd诊断码构建本体树;通过glove模型对所述本体树中的所有节点进行训练,构建初始表征矩阵;结合多层感知机与所述初始表征矩阵学习注意力权重,以对所述本体树中的叶子节点构建icd诊断码表征矩阵;通过对象编码矩阵对所述icd诊断码表征矩阵进行映射,以将映射的结果输入对象划分架构;基于无监督学习,通过所述对象划分架构,将所述预定类别的对象聚集到不同的集群中;或者基于有监督学习,通过所述对象划分架构,将所述预定类别的对象分类到特定的类别中。
5.上述基于icd诊断码的对象划分方法,通过对象的划分,例如对象的聚类或对象的分类,将对象聚类到具有鲁棒性的不同集群中,从而将对象按照具有相似的潜在特征进行分组;或者将对象分类到不同标签的特定类别中,从而将不同类别的对象进行分离。
6.在其中一个实施例中,所述对预定类别的对象所具有的icd诊断码构建本体树,包括:选择预定数量的属于预定类别之一的对象;确定每一个对象具有的所有icd诊断码;根据所有对象的icd诊断码,构建所述本体树。
7.在其中一个实施例中,所述结合多层感知机与所述初始表征矩阵学习注意力权重,以对所述本体树中的叶子节点构建icd诊断码表征矩阵,包括:确定所述本体树的叶子节点的数量;
基于所述初始表征矩阵,根据所述叶子节点的数量通过所述多层感知机学习注意力权重,以构建所述icd诊断码表征矩阵。
8.在其中一个实施例中,所述通过对象编码矩阵对所述icd诊断码表征矩阵进行映射,以将映射的结果输入对象划分架构,包括:将对象的3d编码矩阵映射成2d编码矩阵作为所述对象编码矩阵;将所述对象编码矩阵与所述icd诊断码表征矩阵执行内积运算,以作为所述对象划分架构的输入。
9.在其中一个实施例中,所述基于无监督学习,通过所述对象划分架构,将所述预定类别的对象聚集到不同的集群中,包括:将所述映射的结果输入自动编码器;对所述自动编码器应用损失函数,以计算总损失;当所述总损失符合收敛要求时,对所述自动编码器应用聚类算法,以将所述预定类别的对象聚集到不同的集群中。
10.在其中一个实施例中,所述对所述自动编码器应用损失函数,以计算总损失,包括:对所述自动编码器应用逐层重建损失函数,以计算重建损失;对所述自动编码器的瓶颈层应用聚类损失函数,以计算聚类损失;对所述重建损失和所述聚类损失求和,以获得所述总损失。
11.在其中一个实施例中,所述对所述自动编码器应用逐层重建损失函数,以计算重建损失,包括:对所述自动编码器中的最初输入和最终输出以及每一对中间层的输出分别计算均方误差并做加权求和,作为所述重建损失。
12.在其中一个实施例中,所述对所述自动编码器的瓶颈层应用聚类损失函数,以计算聚类损失,包括:对所述自动编码器的瓶颈层应用k均值聚类损失函数,以计算所述聚类损失。
13.在其中一个实施例中,所述当所述总损失符合收敛要求时,对所述自动编码器应用聚类算法,以将所述预定类别的对象聚集到不同的集群中,包括:抽取所述自动编码器的瓶颈层作为所述预定类别的对象的隐式表达;对所述隐式表达执行k均值聚类,以将所述预定类别的对象聚集到不同的集群中。
14.在其中一个实施例中,当所述总损失符合收敛要求时,所述方法还包括:利用交叉验证和早停法确定是否终止训练以防止过拟合;根据所述总损失的梯度,更新参数;根据更新后的参数,重新计算所述总损失,直至所述总损失在验证集上符合收敛要求。
15.在其中一个实施例中,所述基于有监督学习,通过所述对象划分架构,将所述预定类别的对象分类到特定的类别中,包括:将所述映射的结果输入另一多层感知机;对所述另一多层感知机的输出应用有监督学习的损失函数,以将所述预定类别的对象分类到特定的类别中。
16.在其中一个实施例中,所述对所述另一多层感知机的输出应用有监督学习的损失函数,以将所述预定类别的对象分类到特定的类别中,包括:对所述另一多层感知机的输出应用交叉熵损失函数;当所述交叉熵损失函数的输出在验证集上符合收敛要求时,实现所述预定类别的对象被分类到特定的类别中。
17.在其中一个实施例中,所述预定类别的对象是曾经发生过器官衰竭的对象;所述器官衰竭包括心脏衰竭、呼吸衰竭和肾衰竭。
18.在其中一个实施例中,相同的集群中的对象具有相同的既往并发症特征。
19.在其中一个实施例中,所述特定的类别为所述心脏衰竭、所述呼吸衰竭和所述肾衰竭之一。
20.本技术还提供一种非暂时性存储介质,存储有计算机可读指令,其中,当所述计算机可读指令被处理器执行时,实现如上所述的方法的步骤。
21.本技术还提供一种计算机设备,包括处理器和存储器,所述存储器存储有计算机可读指令,其中,当所述计算机可读指令被所述处理器执行时,实现如上所述的方法的步骤。
22.本技术还提供一种电子病历系统,包括如上所述的计算机设备。
23.本技术的基于icd诊断码的对象划分方法仅用于辅助医生诊断,或者同时根据历史数据向个人发出警报或提醒个人的健康状况。
附图说明
24.图1为根据一实施例的基于icd诊断码的对象划分方法的流程图;图2为根据一实施例的电子病历系统的示意图;图3为根据一实施例的深度聚类模型的示意图;图4为根据一实施例的深度神经网络分类模型的示意图;图5为根据一实施例的本体树的示意图;图6为根据一实施例将对象3d矩阵转换成2d的对象编码矩阵的示意图;图7为根据一实施例的对象被聚集到不同的集群中的示意图;图8为根据一实施例的对象被分类到特定的类别中的示意图;图9为根据一个实施例的计算机设备的内部结构示意图。
具体实施方式
25.为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳的实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。
26.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体地实施例的目的,不是旨在于限制本发明。
27.图1为根据一实施例的基于icd(international coding diagnosis)诊断码的对
象划分方法的流程图。该方法应用于如图2所示的电子病历系统10中。该电子病历系统10包括计算机设备,计算机设备可以是如图2所示的移动终端110或者服务器120。在如图2所示的实施例中,多个移动终端110(例如,膝上型计算机)与服务器120通过网络连接进行通信。该方法包括以下步骤:s10,对预定类别的对象所具有的icd诊断码构建本体树。
28.将预定类别的对象中的每个对象所具有的全部icd诊断码形成一个本体树。这种结构化的本体树可以帮助呈现更具描述性的统计数据,以便于分析和解释。关系更密切的icd诊断码很可能属于同一较低级别的父节点。例如,对于对象是曾经的住院患者,他们往往在一次医院就诊期间获得多个icd诊断码,而ehr(eletronic health record,电子健康记录)系统可以跟踪住院患者的历史就诊情况。如图5所示,通过使用这样的基于icd的本体树,可以将注意力机制和循环神经网络(rnn,recurrent neural network)结合起来预测疾病的发作。本体树的结构可以帮助学习罕见疾病的表征并生成预测性患者表征。
29.s20,通过glove模型对本体树中的所有节点进行训练,构建初始表征矩阵。
30.通过glove模型对本体树中所有节点逐一进行训练,构建预训练的icd诊断码嵌入的初始表征矩阵。该初始表征矩阵作为如图3所示的深度聚类模型的输入,或者作为如图4所示的深度神经网络分类模型的输入。在本实施例中,使用glove模型初始化本体树可以提高方法的性能。因此,使用相同的glove模型训练并初始化以构建初始表征矩阵,并将glove模型的嵌入维度保持为128,采用xavier权重初始化方法和adam优化器。也就是说,glove模型是在包含患者每次访问中获得的所有叶子节点icd诊断码及其所有相应的祖先节点的序列上对本体树进行训练。因此,glove模型能够结合嵌入在本体树中的层次关系以及叶子节点icd诊断码之间的共现信息。
31.s30,结合多层感知机与初始表征矩阵学习注意力权重,以对本体树中的叶子节点构建icd诊断码表征矩阵。
32.初始表征矩阵中每个icd glove嵌入的元素都通过多层感知机(mlp,multilayer perceptron)来学习注意力权重。所有的多层感知机输出的串联作为对象更新的icd诊断码表征矩阵。
33.s40,通过对象编码矩阵对icd诊断码表征矩阵进行映射,以将映射的结果输入对象划分架构。
34.将“注意力集中的”icd诊断码表征矩阵与对象编码矩阵进一步映射,以将映射的结果作为对象划分架构的输入。在一实施例中,对象划分可以是将对象进行聚类,或者将对象进行分类。
35.s50,基于无监督学习,通过对象划分架构,将预定类别的对象聚集到不同的集群中。
36.当需要将对象进行聚类时,采用如图3所示的深度聚类模型,自动编码器架构作为对象划分架构,从而通过无监督学习,将对象聚集到不同的集群中。
37.s60,基于有监督学习,通过所述对象划分架构,将所述预定类别的对象分类到特定的类别中。
38.当需要将对象进行分类时,采用如图4所示的深度神经网络分类模型,另一多层感知机作为对象划分架构,从而通过有监督学习,将对象分类到特定的类别中。
39.上述基于icd诊断码的对象划分方法,通过对象的划分,例如对象的聚类或对象的分类,将对象聚类到具有鲁棒性的不同集群中,从而将对象按照具有相似的潜在特征进行分组;或者将对象分类到不同标签的特定类别中,从而将不同类别的对象进行分离。
40.在一实施例中,步骤s10,对预定类别的对象所具有的icd诊断码构建本体树,包括以下步骤:选择属于预定类别之一的对象。
41.在一实施例中,当将预定类别的对象确定为器官衰竭的患者时,根据所有对象的icd诊断码;构建所述本体树。为了识别心脏衰竭的患者、呼吸衰竭的患者和肾衰竭的患者,可以选择以下icd诊断码:428(心脏衰竭)以下的所有终级icd诊断码、518.81(急性呼吸衰竭)、518.83(慢性呼吸衰竭)、518.84(急性和慢性呼吸衰竭)、518.51(外伤和手术后的急性呼吸衰竭)、518.53(外伤和手术后的急性和慢性呼吸衰竭)、770.84(新生儿的呼吸衰竭)、584(急性肾衰竭)以下的所有终级icd诊断码、669.3(分娩和分娩后的急性肾衰竭)和586(肾功能衰竭)以下的所有终级icd诊断码。总共有24个叶子结点icd诊断码。
42.确定每一个对象具有的所有icd诊断码。
43.在一实施例中,针对器官衰竭的患者作为对象,单个患者可能多次就诊(入院),每次就诊通常会分配给患者多个icd诊断码。如果患者的所有就诊里有且仅有一类器官衰竭的icd诊断码,我们将患者视为器官衰竭的患者,并且包括器官衰竭的患者的所有就诊诊断。
44.根据所有对象的icd诊断码,构建所述本体树。
45.对于基于icd诊断码的本体树,在一实施例中,可以采用由临床分类软件创建的方案。在一实施例中,可以采用单级(icd诊断码只有一个整体类别)和多级(icd诊断码有分层祖先类别)。如图5所示,使用多级来构建本体树。在如图5所示的本体树中,叶子节点是实际存储在ehr系统中的可计费的icd诊断码,上层祖先是更一般的医学概念。例如,在图5中,“心脏衰竭”有三个祖先(除了所有icd诊断码共享的根节点)。“心力衰竭”和“房颤”都是叶子节点的icd诊断码。它们位于不同的“父”节点下,但属于同一个“祖父”节点。在一实施例中,器官衰竭的患者的诊断中出现了3266个独特的叶子节点的icd诊断码,在本体树中有729个祖先节点(医学概念)。
46.在一实施例中,步骤s30,结合多层感知机与初始表征矩阵学习注意力权重,以对本体树中的叶子节点构建icd诊断码表征矩阵,包括以下步骤:确定本体树的叶子节点的数量。
47.在一实施例中,当器官衰竭的患者作为对象时,每位患者仅属于器官衰竭的类别之一。因此,对象的集合由三个不重叠的患者的集合组成。此外,为了减少数据的随机性,删除了住院次数少于两次的患者。由此,在一实施例中,有2216个患者,将这个队列命名为目标队列,并确定这2216个患者的所有icd诊断码中可计费的诊断码作为叶子节点。
48.基于所述初始表征矩阵,根据所述叶子节点的数量通过多层感知机学习注意力权重,以构建icd诊断码表征矩阵。
49.在一实施例中,可以使初始表征矩阵中与叶子节点的数量对应的行或对应的列通过多层感知机学习注意力权重,以构建icd诊断码表征矩阵。当本体树中叶子节点的数量为c时,就将初始表征矩阵中前c行中的每一个行通过一个多层感知机来学习注意力权重,也
就是说,对本体树施加了一种注意机制,以在叶子节点的icd诊断码与其祖先医学概念之间建立联系。目标是为叶子节点的icd诊断码构建一个新的icd诊断码表征矩阵,其中icd诊断码表征矩阵中的每个嵌入都是祖先嵌入和原始icd诊断码嵌入本身的加权线性组合。在一实施例中,初始表征矩阵包含本体树中所有节点的初始嵌入由glove训练而得。“注意力”嵌入的icd诊断码表征矩阵仅包含icd诊断码(也就是所有叶子结点)的嵌入,由如下公式(1)构建。
50.,其中,公式(1)其中ei是icd诊断码表征矩阵中的第i列,其对应于第i个icd诊断码,是初始表征矩阵中的第i列,其代表目标icd诊断码中的祖先节点的注意力权重,a(i)是i个icd诊断码及其祖先的集合,f(

)代表两层多层感知机。如图5所示的本体树,受注意的嵌入的心脏衰竭是初始化嵌入的线性表达。
51.在一实施例中,步骤s40,通过对象编码矩阵对icd诊断码表征矩阵进行映射,以将映射的结果输入对象划分架构,包括以下步骤:将对象的3d编码矩阵映射成2d编码矩阵作为所述对象编码矩阵。
52.如图6所示,在器官衰竭的患者作为对象的示例中,对象编码矩阵包含患者的诊断信息。对于每一次就诊,对象编码矩阵是n
ꢀꢀ
c矩阵,其中n是患者的数量,c是本体树中icd诊断码的总数。m
ij
表示来自患者i的所有访问的icd诊断码j的计数,图6说明了如何生成对象编码矩阵:对象的3d矩阵是n
ꢀꢀcꢀꢀ
t(所有患者中的最大就诊次数)的二进制矩阵,表示患者是否在一次就诊中获得了某个icd诊断码。访问没有时间顺序,即不同患者的第t次访问可能在不同的现实世界时间。矩阵被填充到最大访问次数,使用0填充患者不存在的访问。对象编码矩阵是右侧的2d矩阵,它在3d矩阵中的“就诊”轴上的求和而得。
53.将对象编码矩阵与icd诊断码表征矩阵执行内积运算,以作为对象划分架构的输入。
54.取icd诊断码表征矩阵和对象编码矩阵之间的内积作为对象划分架构的输入,也就是说,作为无监督学习的聚类架构的输入,或者作为有监督学习的分类架构的输入。
55.在一实施例中,步骤s50,基于无监督学习,通过所述对象划分架构,将所述预定类别的对象聚集到不同的集群中,包括以下步骤:将映射的结果输入自动编码器。
56.如图3所示,将映射的结果,例如icd诊断码表征矩阵和对象编码矩阵之间内积运算的结果输入自动编码器。
57.对自动编码器应用损失函数,以计算总损失。
58.在一实施例中,除了应用自动编码器自身的重建损失函数外,还是应用外部的聚类损失函数,对自动编码器进行联合损失训练,以计算总损失。
59.当总损失符合收敛要求时,对自动编码器应用聚类算法,以将预定类别的对象聚集到不同的集群中。
60.在一实施例中,当模型收敛时,对自动编码器应用动态聚类,以将预定类别的对象聚集到不同的集群中。如图3所示,自动编码器的输出作为深度聚类模型的输出。在实际使
用中,用总损失来确定深度聚类模型是否收敛。在一实施例中,当总损失符合收敛要求时,也就是上一次迭代中的总损失与此次迭代的总损失之差小于某个精度,并且此现象持续多个(预设值)连续迭代时,模型停止训练,对自动编码器瓶颈层应用聚类算法,以将对象聚集到不同的集群中。
61.在一实施例中,对自动编码器应用损失函数,以计算总损失,包括以下步骤:对自动编码器应用逐层重建损失函数,以计算重建损失。
62.对自动编码器的输出应用逐层重建损失函数。在一实施例中,均方误差函数作为重建损失函数。在一实施例中,当自动编码器具有多个中间层时,对自动编码器中的最初输入和最终输出、每一对中间层(即,每个编码层和对应的解码层)的输出分别计算均方误差并做加权求和,作为所述重建损失。
63.对自动编码器的瓶颈层应用聚类损失函数,以计算聚类损失。
64.对自动编码器的瓶颈层z应用聚类损失函数,例如k均值聚类损失函数,以计算聚类损失,其中,k是正整数,在一实施例中k等于2、3或4。
65.对重建损失和聚类损失求和,以获得所述总损失。
66.如下公式(2)计算总损失:
ꢀꢀꢀ
公式(2)其中,g表示初始表征矩阵;表示自动编码器的输出,也就是,深度聚类模型的输出;表示弗罗贝尼乌斯范数(f-范数);k表示聚类数,也就是集群的数量;n表示患者的数量;和表示自动编码器的第l层的编码器和解码器的输出;w
ij
是二进制聚类分配参数,i表示第i个聚类,j表示第j个点,w
ij
表示将第j个点分配给第i个聚类;zj是自动编码器的瓶颈层的第j行,是第i个聚类的中心,是的统称;是逐层重建损失的系数,是k均值损失的系数。
67.在一实施中,部署具有层宽为三层堆叠的自动编码器[128,64,32],并使用adam优化器,使用reducelronplateau作为学习率调度器。学习率调度器将减少因子设置为0.1,耐心等于2。将注意力维度设置为200,训练批量为128。除了自动编码器中的编码层的最后一层和解码层第一层和最后一层中使用tanh激活函数之外,其他所有层使用leakyrelu作为激活函数。
[0068]
在一实施例中,当总损失符合收敛要求时,对自动编码器应用聚类算法,以将预定类别的对象聚集到不同的集群中,包括以下步骤:抽取自动编码器的瓶颈层作为预定类别的对象的隐式表达。
[0069]
对隐式表达执行k均值聚类,以将所述预定类别的对象聚集到不同的集群中。
[0070]
如图7所示的聚类结果,k等于2、3或4都给出了相似的结果。对于器官衰竭的患者,最后患者被聚集到疾病的水平严重程度不同的两个集群中。也就是,获得非重叠的器官衰竭的患者的两个集群。当自动编码器有足够的中间层(在这种情况下为3个)来学习这种结果时,这一结果对自动编码器的架构是稳定的,并且对分配k均值的集群数量具有鲁棒性。集群代表了患者的不同患病病理特征或患病风险,例如,可代表患病的严重程度,并且在相同严重程度的集群中,患者具有相似的并发症特征。
[0071]
在一实施例中,当总损失符合收敛要求时,方法还包括:利用交叉验证和早停法确定是否终止训练以防止过拟合。
[0072]
根据总损失的梯度,更新参数。
[0073]
计算总损失的梯度,根据所计算的梯度,更新深度聚类模型的参数。在一实施例中,可以更新深度聚类模型的一个或多个参数。
[0074]
根据更新后的参数,重新计算总损失,直至总损失在验证集上符合收敛要求。
[0075]
在一实施例中,上一次迭代中的总损失与此次迭代的总损失之差小于某个精度,并且这样的情况持续多个(预设值)连续迭代时,确定模型收敛。在没有聚类损失的情况下,使用adam优化器的默认参数运行预训练的自动编码器,直到收敛。然后,将adam优化器的起始学习率降低到1e-5,并进一步运行具有联合损失函数(聚类损失函数和均方误差损失函数)的联合训练,直到收敛。
[0076]
另外,为了区分集群和确定患者的疾病类别,在一实施例中,步骤s60,基于有监督学习,通过对象划分架构,将预定类别的对象分类到特定的类别中,包括以下步骤:将映射的结果输入另一多层感知机。
[0077]
如图4所示,将映射的结果,例如icd诊断码表征矩阵和对象编码矩阵之间内积运算的结果输入另一多层感知机。
[0078]
对另一多层感知机的输出应用有监督学习的损失函数,以将预定类别的对象分类到特定的类别中。
[0079]
如图4所示,另一多层感知机的输出作为深度神经网络分类模型的输出。理想的情况是,当深度神经网络分类模型的输出等于深度神经网络分类模型的输入时,确定深度神经网络分类模型收敛。但在实际使用中,用有监督学习的损失函数的输出,例如对另一多层感知机的输出应用交叉熵损失函数,然后判断交叉熵损失函数的输出在验证集上是否符合收敛要求,来确定深度神经网络分类模型是否收敛。在一实施例中,当交叉熵损失函数的输出在验证集上不再下降时,确定深度神经网络分类模型收敛,实现对象被分类到特定的类别中,例如对于器官衰竭的患者,分类为心脏衰竭、呼吸衰竭和肾衰竭之一。
[0080]
如图8所示,通过深度神经网络分类模型,将聚类的两个集群中的各个对象分类到不同的疾病类别中。
[0081]
具体地,如图8所示,聚类获得的两个集群,即集群1和集群2,集群1的发病率的标准化值高于集群2的发病率的标准化值,也就是说集群1中的对象发病率的概率更高,因为集群1中的对象具有更多的icd诊断码。当一个对象划分到某一集群时,临床医生可以参考此集群中的高发疾病,作为此对象的并发症参考。
[0082]
为了训练深度神经网络分类模型,以0.7:0.15:0.15的比率将数据随机分为训练集、验证集和测试集。测试集被排除在深度神经网络分类模型的训练之外,仅用于报告结
果。采用了层宽为[256,128,3]的三层多层感知机,训练批次大小为200。
[0083]
图9为根据一实施例的计算机设备110的内部结构示意图。参照图9,该计算机设备110包括通过系统总线连接的处理器、非暂时性存储介质、内存储器、输入装置和显示屏。其中,该计算机设备110的非暂时性存储介质可存储操作系统和计算机可读指令,该计算机可读指令被执行时,可使得处理器执行本技术各实施例的基于icd诊断码的对象划分方法的步骤。
[0084]
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0085]
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献