CN115062602A - 对比学习的样本构造方法、装置、计算机设备及存储介质 - Google Patents
对比学习的样本构造方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN115062602A CN115062602A CN202210985929.9A CN202210985929A CN115062602A CN 115062602 A CN115062602 A CN 115062602A CN 202210985929 A CN202210985929 A CN 202210985929A CN 115062602 A CN115062602 A CN 115062602A
- Authority
- CN
- China
- Prior art keywords
- sample
- batch
- data
- medical
- cluster
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000010276 construction Methods 0.000 title claims abstract description 56
- 238000012549 training Methods 0.000 claims abstract description 72
- 239000013598 vector Substances 0.000 claims abstract description 42
- 238000000034 method Methods 0.000 claims abstract description 33
- 230000008569 process Effects 0.000 claims abstract description 18
- 238000003064 k means clustering Methods 0.000 claims abstract description 9
- 238000005070 sampling Methods 0.000 claims description 14
- 238000012360 testing method Methods 0.000 claims description 14
- 230000000052 comparative effect Effects 0.000 claims description 12
- 238000004140 cleaning Methods 0.000 claims description 7
- 238000007781 pre-processing Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 5
- 230000011218 segmentation Effects 0.000 claims description 5
- 238000011176 pooling Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 claims description 2
- 238000010187 selection method Methods 0.000 claims description 2
- 238000009223 counseling Methods 0.000 claims 1
- 239000003814 drug Substances 0.000 abstract description 3
- 206010020772 Hypertension Diseases 0.000 description 10
- 239000002083 C09CA01 - Losartan Substances 0.000 description 5
- 201000010099 disease Diseases 0.000 description 5
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 5
- 229960004773 losartan Drugs 0.000 description 5
- KJJZZJSZUJXYEA-UHFFFAOYSA-N losartan Chemical compound CCCCC1=NC(Cl)=C(CO)N1CC1=CC=C(C=2C(=CC=CC=2)C=2[N]N=NN=2)C=C1 KJJZZJSZUJXYEA-UHFFFAOYSA-N 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000001631 hypertensive effect Effects 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 241000588724 Escherichia coli Species 0.000 description 1
- WQZGKKKJIJFFOK-GASJEMHNSA-N Glucose Natural products OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O WQZGKKKJIJFFOK-GASJEMHNSA-N 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000008103 glucose Substances 0.000 description 1
- 150000004106 losartan derivatives Chemical class 0.000 description 1
- 244000005700 microbiome Species 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 208000019553 vascular disease Diseases 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/355—Class or cluster creation or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Machine Translation (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本发明属于医学领域和对比学习技术领域,公开了一种对比学习的样本构造方法、装置、计算机设备及存储介质。其中,本发明方法样本构造通过MeSH医学术语词库匹配出数据文本中的医学术语,并通过医学术语体偏好词进行替换,依此来改变数据样本的字符长度,并且是利用医学偏好词进行替换,原数据文本的语义不会发生变化,再利用Dropout构造对比学习的正样本,通过对训练数据进行Embedding,转化为向量,对向量进行K‑Means聚类,训练时从各个簇中随机选择一个数据,并添加到同一个batch中,作为对比学习的负样本。通过以上样本构造方法,使得模型更加有效地学习样本数据表征,利于解决利用对比学习进行召回的过程中召回率较低的问题。
Description
技术领域
本发明属于医学领域和对比学习技术领域,特别涉及一种对比学习的样本构造方法、装置、计算机设备及存储介质。
背景技术
在推荐系统中采用召回-粗排-精排的链路对候选数据进行筛选和排序。召回环节是从大量的候选语料数据中获取可能相似的数据,该环节将候选数据的量级快速筛减到千级别甚至百级别或者筛选到指定的数据量,供后续环节进行排序,召回环节的关键是覆盖全面。
对比学习可应用在推荐系统中的召回环节中,利用对比学习获取所有候选数据的向量表示,将该向量表示存放到向量检索数据库中,输入的文本Query经过向量化进入向量库进行检索,设定相似度阈值获取召回后的候选数据,再进行排序链路,得出最终的推荐结果。
在利用对比学习实施召回时,很多与Query相似性较高的数据不能被召回,继而无法被送到后续的链路流程中,因而存在召回率低(不全面)的问题,即使后续的粗排和精排模型很优秀,也无法推送出与Query关联性大的数据,因此,需要提升对比学习召回的效果。
目前,多采用SimCSE模型进行对比学习的训练,其在样本构造时存在如下缺点:
1. SimCSE采用原文本进行Dropout作为正样本,然而仅仅使用Dropout,会使正样本之间的随机性不足,SimCSE模型倾向于字符长度相近的数据更具有相似性。
2. SimCSE模型是从训练数据中进行随机取样数据作为负样本,然而,当训练集中存在较多相似样本时,不可避免会取到相似的数据到同一个batch中,在SimCSE模型训练时,相似的样本之间会被当成负样本,进而造成模型难收敛,训练时间变长的问题。
可见,SimCSE模型在样本构造时存在的上述问题,是导致与Query相似性较高的数据不能被召回的根本原因,因此,迫切需要提出一种对比学习的样本构造方法。
发明内容
本发明的目的在于提出一种医学领域对比学习的样本构造方法,通过提出一种对比学习的正、负样本构造方法,利于提高对比学习的模型表征能力,进而利于解决利用对比学习进行召回的过程中召回率较低的问题。
本发明为了实现上述目的,采用如下技术方案:
一种医学领域对比学习的样本构造方法,包括如下步骤:
步骤1. 数据预处理;
收集医学领域问题数据,并对获取的医学领域问题数据进行数据清洗,然后将清洗后的数据进行数据切分,并划分为训练集和测试集;
将数据切分后训练集和测试集中的样本数据以csv格式文件保存;
步骤2. 数据向量化表示;
读取训练集中每个样本数据,利用Bert进行Embedding,取Bert的第一层和最后一层的隐藏层状态做平均池化作为向量输出,表示该样本数据对应的向量;
步骤3. 基于K-Means聚类方式将训练集中所有样本数据划分为K个簇,K为自然数;
步骤4. 对比学习训练batch内第一个样本构建;
定义对比学习训练过程中每个epoch包含整数个batch,batch的数量记为batch_num,每个batch中的样本数量记为batch_size;
其中,batch_num以及batch_size均为自然数,且batch_size ≤K;
在一个batch取样数据开始前,先从K个簇中随机选择一个簇;然后,从选择的簇中选择每个batch的第一个样本,且每个epoch开始前,都会重复该过程;
步骤5. 对比学习训练batch内正样本构建;
将医学主题词表中的医学术语存入到前缀树Trie字典中,当每个batch内的第一个样本中含有Trie字典中的医学术语时,前缀树会输出匹配到的医学术语的位置索引;
通过前缀树方法匹配出每个batch内的第一个样本中的医学术语,并通过医学主题词表MeSH中的偏好词对第一个样本中出现的医学术语进行替换;
通过该步骤,构建了与每个batch中第一个样本对应的正样本数据;
步骤6. 对比学习训练batch内负样本构建;
从除每个batch内第一个样本所在簇外的其他K-1个簇中随机选择batch_size-1个簇,再从选择的batch_size-1个簇中分别随机选择一个样本,作为当前batch的负样本;
通过该步骤,构建了与每个batch中的所有负样本数据。
此外,在上述医学领域对比学习的样本构造方法的基础上,本发明还提出了一种与之相对应的医学领域对比学习的样本构造装置,其技术方案如下:
一种医学领域对比学习的样本构造装置,包括:
数据预处理模块,用于收集医学领域问题数据,并对获取的医学领域问题数据进行数据清洗,然后将清洗后的数据进行数据切分,并划分为训练集和测试集;
将数据切分后的训练集和测试集中的数据以csv格式文件保存;
数据向量化表示模块,用于读取训练集中每个样本数据,利用Bert进行Embedding,取Bert第一层和最后一层的隐藏层状态做平均池化作为向量输出表示该样本数据对应的向量;
聚类模块,基于K-Means聚类方式将训练集中所有样本数据划分为K个簇;
对比学习训练batch内第一个样本构建模块,用于构建每个batch内第一个样本;
定义对比学习训练过程中每个epoch包含整数个batch,batch的数量记为batch_num,每个batch中的样本数量记为batch_size;
其中,batch_num以及batch_size均为自然数,且batch_size≤ K;
在一个batch取样数据开始前,先从K个簇中随机选择一个簇;然后,从选择的簇中选择每个batch的第一个样本,且每个epoch开始前,都会重复该过程;
对比学习训练batch内正样本构建模块,用于构建每个batch内正样本;
将医学主题词表中的医学术语存入到前缀树Trie字典中,当每个batch内的第一个样本中含有Trie字典中的医学术语时,前缀树会输出匹配到的医学术语的位置索引;
通过前缀树方法匹配出每个batch内的第一个样本中的医学术语,并通过医学主题词表MeSH中的偏好词对第一个样本中出现的医学术语进行替换;
对比学习训练batch内负样本构建模块,用于构建每个batch内负样本;
从除每个batch内第一个样本所在簇外的其他K-1个簇中随机选择batch_size-1个簇,再从选择的batch_size-1个簇中分别随机选择一个样本,共同作为当前batch的负样本。
此外,在上述医学领域对比学习的样本构造方法的基础上,本发明还提出了一种用于实现上述医学领域对比学习的样本构造方法的计算机设备。
该计算机设备包括存储器和处理器,存储器中存储有可执行代码,处理器执行所述可执行代码时,用于实现上面述及的医学领域对比学习的样本构造方法。
此外,在上述医学领域对比学习的样本构造方法的基础上,本发明还提出了一种用于实现上述医学领域对比学习的样本构造方法的计算机可读存储介质。
该计算机可读存储介质,其上存储有程序,当该程序被处理器执行时,用于实现上面述及的医学领域对比学习的样本构造方法。
本发明具有如下优点:
如上所述,本发明述及了一种医学领域对比学习的样本构造方法,该样本构造方法针对目前利用对比学习进行召回的过程中正、负样本的构造问题,分别提出了一种对比学习的正、负样本构造方法,其中,通过MeSH医学术语词库匹配出数据文本中的医学术语,并通过医学术语体偏好词进行替换,依此来改变数据样本的字符长度,并且是利用医学偏好词进行替换,原数据文本的语义不会发生变化,再利用Dropout构造对比学习的正样本,通过对训练数据进行Embedding,转化为向量,对向量进行K-Means聚类,训练时,从各个簇中随机选择一个数据,并添加到同一个batch中,作为对比学习的负样本。通过以上正、负样本构造方法,利于推远不相似的负样本数据,拉近相似的正样本数据,使得模型更加有效地学习样本数据表征,进而利于解决利用对比学习进行召回的过程中召回率较低的问题。
附图说明
图1为本发明实施例中医学领域对比学习的样本构造方法的流程框图。
图2为本发明实施例中对比学习正样本的构建方法流程图。
图3为本发明实施例中对比学习负样本的构建方法流程图。
具体实施方式
下面结合附图以及具体实施方式对本发明作进一步详细说明:
如图1所示,一种医学领域对比学习的样本构造方法,包括如下步骤:
步骤1. 数据预处理。
收集医学领域问题数据,并对获取的医学领域问题数据进行数据清洗,然后将清洗后的数据进行数据切分,并划分为训练集和测试集。
本实施例中收集的医学领域问题数据有10000条,来源于医学资讯网站的在线问诊相关栏目,获取的数据内容为医患沟通场景中患者提出的咨询类问题。
数据清洗进行去除医学领域问题数据中的html标签、空行、乱码和特殊符号等处理,得到清洗后的文本数据,以此确保文本数据在后续向量化时不会受到别的干扰。
将收集的10000条数据清洗后,切分为8000条用于训练的数据,即训练集样本数据,2000条用于验证和评估的数据,即测试集样本数据,并以csv格式文件保存。
步骤2. 数据向量化表示。
读取训练集中每个样本数据,利用Bert进行Embedding,取Bert的第一层和最后一层的隐藏层状态做平均池化作为向量输出,表示该样本数据对应的向量。
每个向量都是768维,共得到8000个不同的向量,样本数据和向量一一对应。
举例:编号为0的数据文本【您好,方医生,我得了高血压疾病,这个能服用洛沙坦吗】经过上述处理步骤后的向量,其前10维是:
[0.01737910881638527,
0.6520003080368042,
0.13459737598896027,
0.23542313277721405,
-0.11189911514520645,
0.7351060509681702,
-0.8901082277297974,
-0.984892725944519,
-0.5772903561592102,
1.0832966566085815,
... ]。
对所有向量进行编号,编号方便用于后续取样使用,编号范围从0到7999。在下述取样操作中利用样本数据的编号表示;在输入到模型之前,再将编号映射为样本数据。
步骤3. 基于K-Means聚类方式将训练集中所有样本数据划分为K个簇,进而为对比学习提供负样本构建作为相似性判断,K为自然数。
其中,处于同一个簇的两条数据相似性大,处于不同簇间的两条数据相似性小。
该步骤3具体为:
步骤3.1. 从训练集中所有样本数据(在本实施例中,训练集中样本数据为8000)对应的向量中随机选取K个样本(K<8000),作为初始的聚类中心点,即质心。
一个质心对应一个聚类类别,以下称为cluster,即簇。
该步骤中,首先需要确定最佳K值的大小。
对于将8000个样本数据分为多少个簇合适,本实施例使用轮廓系数法来确定。
具体的,K值的确定方式如下:
从2到N中,取不同的整数K值,以K值为x轴,计算轮廓系数SSE,并以轮廓系数SSE为y轴绘制直角坐标系,选择拐点所对应的K作为最佳K值;
其中,N表示训练集中样本数量的算术平方根,在本实施例中为8000的算术平方根。
通过计算,确定本实施例中最佳K值的大小为67。
步骤3.2. 分别计算所有向量到当前K个质心的欧氏距离。所有向量中任意一个向量到所有K个质心中,欧氏距离最近的质心对应的聚类类别即为该向量的簇。
步骤3.3. 计算每个簇中所有向量数据的均值,将均值作为更新后该簇的质心。
步骤3.4. 重复上述步骤3.2至3.3,不断更新簇的质心位置;
当簇的质心位置不再发生变化时,即得到当前K值下的各个簇的最佳质心。
步骤3.5. 通过上述步骤3.2至3.4,将训练集中所有样本数据对应的向量数据分为对应的K个簇,每个样本数据和向量一一对应,因此,样本数据也被映射到K个簇中。
由于每个类别中的样本数据属于同一个簇,他们之间是两两相似的,所以不能同时出现在同一个训练的batch中,而不同的类别之间,由于样本数据分别属于不同的簇,而不同簇之间的数据不具备相似性,因而它们可以出现在同一个batch中。
步骤4. 对比学习训练batch内第一个样本构建。
利用上一步骤3中的K-Means聚类方法,将训练集样本数据划分为K个簇。
定义对比学习训练过程中每个epoch包含整数个batch,batch的数量记为batch_num,每个batch中的样本数量记为batch_size。
其中,batch_num以及batch_size均为自然数,且batch_size ≤K。
在一个batch取样数据开始前,先从K个簇中随机选择一个簇。然后,从选择的簇中选择每个batch的第一个样本,具体选择方法如下:
若选择的簇内样本数量大于等于batch_num,则使用python的函数方法random.choices,无放回的随机选择batch_num个样本依次作为每个batch的第一个样本。
若选择的簇内样本数量小于batch_num,则进行有放回的取样,直到达到取样数量batch_num,同时也将取样的样本依次作为每个batch的第一个样本。
每个epoch开始前,都会重复该过程,以保证每个epoch之间的数据选择不影响。
为了表示方便,在取样操作中,都只利用训练集的样本数据的编号进行表示,在输入到SimCSE模型之前,再将对应的编号映射为相应的样本数据。
举例:用前10个样本为例,假设簇K=4,batch_num=3,训练样本被分为四个簇,每个簇的内容如下【括号中的数字是样本数据对应的编号】:
簇一:[3, 8, 9] 簇二:[1, 7] 簇三:[2, 4, 5] 簇四:[0, 6]。
若每个batch第一个样本的来源簇为簇一,此种情况下batch_num数和簇中的样本数相等,batch_num数为3,故要选择三次,则一种可能的取样结果为8,3,9。
此时,采用无放回随机取样即可,他们分别作为每个batch的第一个样本。
若每个batch第一个样本的来源簇为簇二,由于batch_num数大于簇中的样本数,需要进行有放回取样,一种可能的取样结果为1,7,1,他们分别为每个batch的第一个样本。
步骤5. 对比学习训练batch内正样本构建。
在医疗场景中,医学术语有对应的语义类型,如医学术语“高血压”的语义类型为疾病,医学术语“葡萄糖”的语义类型为物质,“大肠杆菌”的语义类型为微生物。
本发明实施例中使用到的语义类型为疾病、人体形态和结构、临床所见、生物、药品、物质、操作七大类别。这些含有语义类型的词,是构成医学文本语句的基本元素,有重要的含义,因此,对这些基本元素进行医学术语偏好词替换,可以丰富数据文本,但是却不会改变其原始文本的含义。这些医学术语来源于医学主题词表【MeSH】,医学主题词表中含有大量的医学术语,每个实体有其对应的语义类型。
将医学主题词表中的医学术语存入到前缀树Trie字典中,当每个batch内的第一个样本中含有Trie字典中的医学术语时,前缀树会输出匹配到的医学术语的位置索引。
通过前缀树方法匹配出每个batch内的第一个样本中的医学术语,并通过医学主题词表MeSH中的偏好词对第一个样本中出现的医学术语进行替换。
同样的,在正样本输入到SimCSE模型前,需要加上Dropout层。
通过该步骤5,构建了与每个batch中第一个样本对应的正样本数据。
医学术语偏好词举例:高血压疾病、高血压性血管病、高血压病,他们都属于疾病这个语义类型,在不同的场景中可能会有不同的表述,但是含义都是相同的,指的是同一种疾病,它们的医学术语偏好词都是高血压。
医学术语偏好词替换举例,如图2所示:
原文本为:【您好,方医生,我得了高血压疾病,这个能服用洛沙坦吗】。
根据MeSH医学主题词表,在这句医学问询中,含有“高血压疾病”和“洛沙坦”这两个医学术语,在MeSH中的偏好词分别为“高血压”和“氯沙坦”,因此,经过医学术语偏好词替换后的结果为【您好,方医生,我得了高血压,这个能服用氯沙坦吗】。
本发明利用医学术语偏好词词表,对数据中识别出的医学术语进行替换,在不改变原有医学含义的基础上,增加了医学语句表达的多样性,提升模型的表征能力。
步骤6. 对比学习训练batch内负样本构建。
每个batch内样本的数量小于等于K,即batch_size≤K。
由上述步骤4,已经得到了每个batch的第一个样本数据。
从除每个batch内第一个样本所在簇外的其他K-1个簇中随机选择batch_size-1个簇,再从选择的batch_size-1个簇中分别随机选择一个样本,作为当前batch的负样本。
重复该步骤,直至batch的数量达到batch_num,构成训练整个的epoch。
举例:如图3所示,用前10个样本为例,假设簇K=4,batch_size=3,batch_num=3,训练样本被分为了四个簇,簇的内容如下【括号中的数字是样本的序号】:
簇一:[3, 8, 9] 簇二:[1, 7] 簇三:[2, 4, 5] 簇四:[0, 6]。
假设每个batch的第一个样本来源于簇二,因batch_num=3,故需要有放回选择三次,可能选中的结果为1,7,1,他们分别作为每个batch的第一个样本。
由batch_size=3,并且由簇二已经确定了第一个样本,故要在剩下的簇内,即簇一、簇三、簇四中选中两个簇,然后在每个簇中选择一个样本作为batch的负样本。
这里以第一个batch为例,该batch的第一个样本为1,假设簇一、簇三、簇四中随机选中的簇为簇三和簇四,其中,簇三中选中的样本为4,簇四种选中的样本为6。
则第一个batch的一种可能的结果为[1,4,6],当然,以上只是为示例性的,方便理解。
在SimCSE模型训练时,利用上述batch数据构建方法,构建正负样本,进行模型训练。
此外,本发明还对利用上述batch数据构建方法后的SimCSE模型进行了实验。
从训练中表现发现,SimCSE模型在训练中的斯皮尔曼相关系数,从单纯使用SimCSE的0.8156,提升至本发明中条件下的0.8566,提升了5.02%,效果显著。
此外,本发明还验证了利用batch数据构建方法后的SimCSE模型在下游任务中的表现。
在召回场景中,需要先把相似的数据召回,再送入后续的排序链路,其他步骤和排序算法保持一致,根据最终的排序结果是否符合用户的需要,即用户对返回的推荐内容予以评价,来判定召回模型的优劣。本发明分别利用单纯使用SimCSE和本发明训练出的模型在该任务中进行测试,经过测试得到,推荐结果有7.23%的提升,从而证明了发明的有效性。
此外,基于同样的发明构思,本发明实施例还提供了一种对应于上述医学领域对比学习的样本构造方法的医学领域对比学习的样本构造装置。
该医学领域对比学习的样本构造装置,包括如下功能模块:
数据预处理模块,用于收集医学领域问题数据,并对获取的医学领域问题数据进行数据清洗,然后将清洗后的数据进行数据切分,并划分为训练集和测试集;
将数据切分后的训练集和测试集中的数据以csv格式文件保存;
数据向量化表示模块,读取训练集中每个样本数据,利用Bert进行Embedding,取Bert的第一层和最后一层的隐藏层状态做平均池化作为向量输出,表示该样本数据对应的向量;
聚类模块,基于K-Means聚类方式将训练集中所有样本数据划分为K个簇;
对比学习训练batch内第一个样本构建模块,用于构建每个batch内第一个样本;
定义对比学习训练过程中每个epoch包含整数个batch,batch的数量记为batch_num,每个batch中的样本数量记为batch_size;
其中,batch_num以及batch_size均为自然数,且batch_size≤ K;
在一个batch取样数据开始前,先从K个簇中随机选择一个簇;然后,从选择的簇中选择每个batch的第一个样本,且每个epoch开始前,都会重复该过程;
对比学习训练batch内正样本构建模块,用于构建每个batch内正样本;
将医学主题词表中的医学术语存入到前缀树Trie字典中,当每个batch内的第一个样本中含有Trie字典中的医学术语时,前缀树会输出匹配到的医学术语的位置索引;
通过前缀树方法匹配出每个batch内的第一个样本中的医学术语,并通过医学主题词表MeSH中的偏好词对第一个样本中出现的医学术语进行替换;
对比学习训练batch内负样本构建模块,用于构建每个batch内负样本;
从除每个batch内第一个样本所在簇外的其他K-1个簇中随机选择batch_size-1个簇,再从选择的batch_size-1个簇中分别随机选择一个样本,共同作为当前batch的负样本。
需要说明的是,上述医学领域对比学习的样本构造装置中,各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
此外,本发明还提出了一种用于实现上述医学领域对比学习的样本构造方法的计算机设备。该计算机设备包括存储器和一个或多个处理器。其中,在存储器中存储有可执行代码,处理器执行可执行代码时,用于实现上述医学领域对比学习的样本构造方法。
本实施例中计算机设备为任意具备数据数据处理能力的设备或装置,此处不再赘述。
此外,本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,用于实现上述医学领域对比学习的样本构造方法。
该计算机可读存储介质可以是任意具备数据处理能力的设备或装置的内部存储单元,例如硬盘或内存,也可以是任意具备数据处理能力的设备的外部存储设备,例如设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。
当然,以上说明仅仅为本发明的较佳实施例,本发明并不限于列举上述实施例,应当说明的是,任何熟悉本领域的技术人员在本说明书的教导下,所做出的所有等同替代、明显变形形式,均落在本说明书的实质范围之内,理应受到本发明的保护。
Claims (10)
1.一种医学领域对比学习的样本构造方法,其特征在于,包括如下步骤:
步骤1. 数据预处理;
收集医学领域问题数据,并对获取的医学领域问题数据进行数据清洗,然后将清洗后的数据进行数据切分,并划分为训练集和测试集;
将数据切分后训练集和测试集中的样本数据以csv格式文件保存;
步骤2. 数据向量化表示;
读取训练集中每个样本数据,利用Bert进行Embedding,取Bert的第一层和最后一层的隐藏层状态做平均池化作为向量输出,表示该样本数据对应的向量;
步骤3. 基于K-Means聚类方式将训练集中所有样本数据划分为K个簇,K为自然数;
步骤4. 对比学习训练batch内第一个样本构建;
定义对比学习训练过程中每个epoch包含整数个batch,batch的数量记为batch_num,每个batch中的样本数量记为batch_size;
其中,batch_num以及batch_size均为自然数,且batch_size ≤K;
在一个batch取样数据开始前,先从K个簇中随机选择一个簇;然后,从选择的簇中选择每个batch的第一个样本,且每个epoch开始前,都会重复该过程;
步骤5. 对比学习训练batch内正样本构建;
将医学主题词表中的医学术语存入到前缀树Trie字典中,当每个batch内的第一个样本中含有Trie字典中的医学术语时,前缀树会输出匹配到的医学术语的位置索引;
通过前缀树方法匹配出每个batch内的第一个样本中的医学术语,并通过医学主题词表MeSH中的偏好词对第一个样本中出现的医学术语进行替换;
通过该步骤,构建了与每个batch中第一个样本对应的正样本数据;
步骤6. 对比学习训练batch内负样本构建;
从除每个batch内第一个样本所在簇外的其他K-1个簇中随机选择batch_size-1个簇,再从选择的batch_size-1个簇中分别随机选择一个样本,作为当前batch的负样本;
通过该步骤,构建了与每个batch中的所有负样本数据。
2.根据权利要求1所述的医学领域对比学习的样本构造方法,其特征在于,
所述步骤3具体为:
步骤3.1. 从训练集中所有样本数据对应的向量中随机选取K个样本,作为初始的聚类中心点,即质心,一个质心对应一个聚类类别,以下称为簇;
步骤3.2. 分别计算所有向量到当前K个质心的欧氏距离;所有向量中任意一个向量到所有K个质心中,欧氏距离最近的质心对应的聚类类别即为该向量的簇;
步骤3.3. 计算每个簇中所有向量数据的均值,将均值作为更新后该簇的质心;
步骤3.4. 重复上述步骤3.2至3.3,不断更新簇的质心位置;
当簇的质心位置不再发生变化时,即得到当前K值下的各个簇的最佳质心;
步骤3.5. 通过上述步骤3.2至3.4,将训练集中所有样本数据对应的向量数据分为对应的K个簇,每个样本数据和向量一一对应,因此样本数据也被映射到K个簇中。
3.根据权利要求2所述的医学领域对比学习的样本构造方法,其特征在于,
所述步骤3.1中,K值的确定方式如下:
从2到N中,取不同的整数K值,以K值为x轴,计算轮廓系数SSE,并以轮廓系数SSE为y轴绘制直角坐标系,选择拐点所对应的K值作为最佳K值;
其中,N表示训练集中样本数量的算术平方根。
4.根据权利要求1所述的医学领域对比学习的样本构造方法,其特征在于,
所述步骤4中,每个batch中第一个样本的选择方法如下:
若选择的簇内样本数量大于等于batch_num,则使用python的函数方法random.choices,无放回的随机选择batch_num个样本依次作为每个batch的第一个样本;
若选择的簇内样本数量小于batch_num,则进行有放回的取样,直到达到取样数量batch_num,同时也将取样的样本依次作为每个batch的第一个样本。
5.根据权利要求1所述的医学领域对比学习的样本构造方法,其特征在于,
所述步骤2中,对与训练集中样本数据对应的所有向量进行编号;在步骤4至步骤6取样操作中利用样本数据的编号表示;在输入到模型之前,再将编号映射为样本数据。
6.根据权利要求1所述的医学领域对比学习的样本构造方法,其特征在于,
所述步骤5中,正样本输入到模型前,加上Dropout层。
7.根据权利要求1所述的医学领域对比学习的样本构造方法,其特征在于,
所述步骤1中,收集医学领域问题数据来源于医学资讯网站的在线问诊相关栏目,获取的数据内容为医患沟通场景中患者提出的咨询类问题;
数据清洗包括去除医学领域问题数据中的html标签、空行、乱码以及特殊符号处理。
8.一种医学领域对比学习的样本构造装置,其特征在于,包括:
数据预处理模块,用于收集医学领域问题数据,并对获取的医学领域问题数据进行数据清洗,然后将清洗后的数据进行数据切分,并划分为训练集和测试集;
将数据切分后的训练集和测试集中的数据以csv格式文件保存;
数据向量化表示模块,用于读取训练集中每个样本数据,利用Bert进行Embedding,取Bert第一层和最后一层的隐藏层状态做平均池化作为向量输出表示该样本数据对应的向量;
聚类模块,基于K-Means聚类方式将训练集中所有样本数据划分为K个簇;
对比学习训练batch内第一个样本构建模块,用于构建每个batch内第一个样本;
定义对比学习训练过程中每个epoch包含整数个batch,batch的数量记为batch_num,每个batch中的样本数量记为batch_size;
其中,batch_num以及batch_size均为自然数,且batch_size≤ K;
在一个batch取样数据开始前,先从K个簇中随机选择一个簇;然后,从选择的簇中选择每个batch的第一个样本,且每个epoch开始前,都会重复该过程;
对比学习训练batch内正样本构建模块,用于构建每个batch内正样本;
将医学主题词表中的医学术语存入到前缀树Trie字典中,当每个batch内的第一个样本中含有Trie字典中的医学术语时,前缀树会输出匹配到的医学术语的位置索引;
通过前缀树方法匹配出每个batch内的第一个样本中的医学术语,并通过医学主题词表MeSH中的偏好词对第一个样本中出现的医学术语进行替换;
对比学习训练batch内负样本构建模块,用于构建每个batch内负样本;
从除每个batch内第一个样本所在簇外的其他K-1个簇中随机选择batch_size-1个簇,再从选择的batch_size-1个簇中分别随机选择一个样本,共同作为当前batch的负样本。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有可执行代码,其特征在于,所述处理器执行所述可执行代码时,
用于实现权利要求1至7任一项所述的医学领域对比学习的样本构造方法。
10.一种计算机可读存储介质,其上存储有程序,其特征在于,当该程序被处理器执行时,用于实现权利要求1至7任一项所述的医学领域对比学习的样本构造方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210985929.9A CN115062602B (zh) | 2022-08-17 | 2022-08-17 | 对比学习的样本构造方法、装置及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210985929.9A CN115062602B (zh) | 2022-08-17 | 2022-08-17 | 对比学习的样本构造方法、装置及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115062602A true CN115062602A (zh) | 2022-09-16 |
CN115062602B CN115062602B (zh) | 2022-11-11 |
Family
ID=83207425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210985929.9A Active CN115062602B (zh) | 2022-08-17 | 2022-08-17 | 对比学习的样本构造方法、装置及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115062602B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115860009A (zh) * | 2023-02-27 | 2023-03-28 | 佛山科学技术学院 | 一种引入辅助样本进行对比学习的句子嵌入方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111581385A (zh) * | 2020-05-06 | 2020-08-25 | 西安交通大学 | 一种不平衡数据采样的中文文本类别识别系统及方法 |
CN112668627A (zh) * | 2020-12-24 | 2021-04-16 | 四川大学 | 一种基于对比学习的大规模图像在线聚类系统及方法 |
CN112711676A (zh) * | 2020-12-25 | 2021-04-27 | 上海众源网络有限公司 | 一种视频召回方法、装置、电子设备及存储介质 |
EP3822867A1 (en) * | 2019-11-14 | 2021-05-19 | Koninklijke Philips N.V. | Constrained training of artificial neural networks using labelled medical data of mixed quality |
CN113436698A (zh) * | 2021-08-27 | 2021-09-24 | 之江实验室 | 融合自监督和主动学习的医学术语自动标准化系统及方法 |
CN113485982A (zh) * | 2021-05-19 | 2021-10-08 | 国网河北省电力有限公司衡水供电分公司 | 电力业务数据显示方法、装置和终端设备 |
US20220138423A1 (en) * | 2020-11-02 | 2022-05-05 | Chengdu Wang'an Technology Development Co., Ltd. | Deep learning based text classification |
CN114780727A (zh) * | 2022-04-24 | 2022-07-22 | 润联软件系统(深圳)有限公司 | 基于强化学习的文本分类方法、装置、计算机设备及介质 |
-
2022
- 2022-08-17 CN CN202210985929.9A patent/CN115062602B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3822867A1 (en) * | 2019-11-14 | 2021-05-19 | Koninklijke Philips N.V. | Constrained training of artificial neural networks using labelled medical data of mixed quality |
CN111581385A (zh) * | 2020-05-06 | 2020-08-25 | 西安交通大学 | 一种不平衡数据采样的中文文本类别识别系统及方法 |
US20220138423A1 (en) * | 2020-11-02 | 2022-05-05 | Chengdu Wang'an Technology Development Co., Ltd. | Deep learning based text classification |
CN112668627A (zh) * | 2020-12-24 | 2021-04-16 | 四川大学 | 一种基于对比学习的大规模图像在线聚类系统及方法 |
CN112711676A (zh) * | 2020-12-25 | 2021-04-27 | 上海众源网络有限公司 | 一种视频召回方法、装置、电子设备及存储介质 |
CN113485982A (zh) * | 2021-05-19 | 2021-10-08 | 国网河北省电力有限公司衡水供电分公司 | 电力业务数据显示方法、装置和终端设备 |
CN113436698A (zh) * | 2021-08-27 | 2021-09-24 | 之江实验室 | 融合自监督和主动学习的医学术语自动标准化系统及方法 |
CN114780727A (zh) * | 2022-04-24 | 2022-07-22 | 润联软件系统(深圳)有限公司 | 基于强化学习的文本分类方法、装置、计算机设备及介质 |
Non-Patent Citations (3)
Title |
---|
CHENGXI ZANG等: "《SCEHR:Supervised Contrastive Learning for Clinical Risk Prediction using Electronic Health Records》", 《2021 IEEE INTERNATIONAL CONFERENCE ON DATA MINING (ICDM)》 * |
胡小生等: "两层聚类的类别不平衡数据挖掘算法", 《计算机科学》 * |
陈来等: "基于聚类算法的学生学业表现分析预测模型", 《山西警察学院学报》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115860009A (zh) * | 2023-02-27 | 2023-03-28 | 佛山科学技术学院 | 一种引入辅助样本进行对比学习的句子嵌入方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115062602B (zh) | 2022-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111414393B (zh) | 一种基于医学知识图谱的语义相似病例检索方法及设备 | |
CN111415740B (zh) | 问诊信息的处理方法、装置、存储介质及计算机设备 | |
CN109697285B (zh) | 增强语义表示的层次BiLSTM中文电子病历疾病编码标注方法 | |
CN111738003B (zh) | 命名实体识别模型训练方法、命名实体识别方法和介质 | |
CN111125434B (zh) | 一种基于集成学习的关系抽取方法及系统 | |
CN110569353A (zh) | 一种基于注意力机制的Bi-LSTM的标签推荐方法 | |
CN110427486B (zh) | 身体病况文本的分类方法、装置及设备 | |
CN112749274B (zh) | 基于注意力机制和干扰词删除的中文文本分类方法 | |
CN112784532B (zh) | 用于短文本情感分类的多头注意力记忆系统 | |
CN114023412B (zh) | 基于联合学习和去噪机制的icd代码预测方法及系统 | |
US11645447B2 (en) | Encoding textual information for text analysis | |
Aurangzeb et al. | Aspect based multi-labeling using SVM based ensembler | |
CN111126067B (zh) | 实体关系抽取方法及装置 | |
CN111241271B (zh) | 文本情感分类方法、装置及电子设备 | |
CN115186665B (zh) | 一种基于语义的无监督学术关键词提取方法及设备 | |
CN114969275A (zh) | 一种基于银行知识图谱的对话方法及其系统 | |
CN112347246B (zh) | 一种基于谱分解的自适应文档聚类方法及系统 | |
CN111582506A (zh) | 基于全局和局部标记关系的偏多标记学习方法 | |
CN115062602B (zh) | 对比学习的样本构造方法、装置及计算机设备 | |
CN118171653B (zh) | 一种基于深度神经网络的健康体检文本治理方法 | |
CN116842168B (zh) | 跨领域问题处理方法、装置、电子设备及存储介质 | |
CN110334204B (zh) | 一种基于用户记录的习题相似度计算推荐方法 | |
Depeweg et al. | Solving Bongard Problems With a Visual Language and Pragmatic Constraints | |
CN118538401B (zh) | 基于语言大模型的糖尿病咨询交互方法及装置 | |
Li et al. | Seq-CNN: A lightweight and efficient neural network for sentimental analysis of text |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 310000 room 905, floor 9, building a, No. 369, Internet of things street, Xixing street, Binjiang District, Hangzhou City, Zhejiang Province Patentee after: Hangzhou Huiyidao Technology Co.,Ltd. Country or region after: China Address before: 310000 room 905, floor 9, building a, No. 369, Internet of things street, Xixing street, Binjiang District, Hangzhou City, Zhejiang Province Patentee before: Hangzhou Firestone Technology Co.,Ltd. Country or region before: China |
|
CP03 | Change of name, title or address |