CN114662607A - 基于人工智能的数据标注方法、装置、设备以及存储介质 - Google Patents
基于人工智能的数据标注方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN114662607A CN114662607A CN202210335852.0A CN202210335852A CN114662607A CN 114662607 A CN114662607 A CN 114662607A CN 202210335852 A CN202210335852 A CN 202210335852A CN 114662607 A CN114662607 A CN 114662607A
- Authority
- CN
- China
- Prior art keywords
- clustering
- samples
- cluster
- participating
- sample
- 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
- 238000000034 method Methods 0.000 title claims abstract description 98
- 238000013473 artificial intelligence Methods 0.000 title claims abstract description 35
- 238000002372 labelling Methods 0.000 claims abstract description 76
- 238000012545 processing Methods 0.000 claims abstract description 42
- 239000013598 vector Substances 0.000 claims abstract description 21
- 230000008569 process Effects 0.000 claims description 43
- 238000004422 calculation algorithm Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012216 screening Methods 0.000 claims description 5
- 239000000126 substance Substances 0.000 claims description 2
- 238000003058 natural language processing Methods 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000006116 polymerization reaction Methods 0.000 description 3
- 101100481876 Danio rerio pbk gene Proteins 0.000 description 2
- 101100481878 Mus musculus Pbk gene Proteins 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Analysis (AREA)
Abstract
本公开提供了一种基于人工智能的数据标注方法、装置、设备以及存储介质,涉及人工智能领域,尤其数据标注、图像识别、自然语言处理技术领域。具体实现方案为:确定多个参与聚类的样本;根据各个所述参与聚类的样本的向量表示,对所述多个参与聚类的样本进行预聚类,得到多个类簇,每个所述类簇包含至少一个所述参与聚类的样本;接收针对各个所述类簇的标注信息,根据所述标注信息重新确定多个参与聚类的样本,返回执行所述对所述多个参与聚类的样本进行预聚类的步骤,以实现迭代处理;直至满足收敛条件或迭代次数达到次数阈值的情况下,根据所述针对各个所述类簇的标注信息确定聚类结果。本公开能够提高聚类标注的准确性。
Description
技术领域
本公开涉及人工智能领域,尤其数据标注、图像识别、自然语言处理技术领域。
背景技术
聚类标注算法又称为聚类分析算法或群分析方法,是研究分类问题的一种统计分析方法,同时也是数据挖掘的一个重要算法。聚类(Cluster)分析以相似性为基础,在一个聚类中的模式之间比不在同一聚类中的模式之间具有更多的相似性。
现实业务中,经常需要划分真实的类簇。例如,为了评估聚类任务的效果,可以采用测试集进行评估。测试集是将多个样本按照聚类标准划分出的多个互斥的真实簇,需要人工来进行划分;如果样本数量较大,会造成标注的工作量过大,进而造成聚类标注的准确性较低。
发明内容
本公开提供了一种基于人工智能的数据标注方法、装置、设备以及存储介质。
根据本公开的一方面,提供了一种基于人工智能的数据标注方法,包括:
确定多个参与聚类的样本;
根据各个参与聚类的样本的向量表示,对多个参与聚类的样本进行预聚类,得到多个类簇,每个类簇包含至少一个参与聚类的样本;
接收针对各个类簇的标注信息,根据标注信息重新确定多个参与聚类的样本,返回执行对多个参与聚类的样本进行预聚类的步骤,以实现迭代处理;直至满足收敛条件或迭代次数达到次数阈值的情况下,根据针对各个类簇的标注信息确定聚类结果。
根据本公开的另一方面,提供了一种聚类装置,包括:
聚类装置,包括:
筛选模块,用于确定多个参与聚类的样本;
聚类模块,用于根据各个参与聚类的样本的向量表示,对多个参与聚类的样本进行预聚类,得到多个类簇,每个类簇包含至少一个参与聚类的样本;
处理模块,用于接收针对各个类簇的标注信息,根据标注信息重新确定多个参与聚类的样本,返回执行对多个参与聚类的样本进行预聚类的步骤,以实现迭代处理;直至满足收敛条件或迭代次数达到次数阈值的情况下,根据针对各个类簇的标注信息确定聚类结果。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与该至少一个处理器通信连接的存储器;其中,
该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行上述基于人工智能的数据标注方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,该计算机指令用于使该计算机执行上述基于人工智能的数据标注方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现上述基于人工智能的数据标注方法。
本公开首先对参与聚类的样本进行预聚类,得到多个类簇;之后根据标注信息实现对各个类簇的划分,并多次迭代,最终得到聚类结果。由于每个类簇中样本的数量不大,因此标注的工作量较小,从而能够提高聚类标注的准确性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开的一种应用场景示意图;
图2是根据本公开一实施例的基于人工智能的数据标注方法的实现流程示意图;
图3是根据本公开另一实施例的基于人工智能的数据标注方法的实现流程示意图;
图4是根据本公开一实施例的聚类装置的结构示意图;
图5是可以用来实施本公开的实施例的示例电子设备的示意性框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
通常而言,对聚类任务效果的评价需要将数据标注为互斥的真实簇才能得到准确的评价结果,因此,现实业务中有很多聚类任务需要基于标注的数据进行评估,例如在事件库构建中,需要将描述同一事件的实时新闻聚类成一个事件并保存在事件库中,以事件为粒度为事件分析提供数据分析基础。以事件聚类为例,理想情况下,聚类效果需要满足两个要求:
1.同一个簇内均为描述同一事件的新闻,即精确率。
2.描述同一事件的所有新闻均在一个簇中,不会分散到多个簇中,即召回率。
要计算精确率和召回率,需要将数据进行准确地聚类,即将测试集按照不同业务场景的聚类标准划分成互斥的多个真实簇。
在不考虑标注量和人工标注成本的情况下,可以采用暴力标注,即人工标注所有样本。一般地情况下,往往需要考虑标注量及相关成本,现有评估方案主要基于相关性召回的方法进行标注,该方法限制了参与评估的数据的数量,无法得到整个测试集的所有真实簇,聚类准确性不足。
针对上述问题,本公开提出了一种基于人工智能的数据标注方法,该方法以类簇为粒度挑选代表性样本进行多轮迭代的聚类标注,可以在减少标注量的同时提高聚类结果的准确性。
针对上述问题,本公开提出了一种基于人工智能的数据标注方法,该方法以类簇为粒度进行多轮迭代的聚类标注,在减少标注量的情况下快速得到全局的真实簇。
本公开提出一种基于人工智能的数据标注方法,该方法可以应用于图1所示的应用场景。如图1所示,该应用场景可以包括客户终端110和服务器120,以应用了该方法的装置部署于服务器中为例,使用者可以通过客户终端110向服务器120发送使用该基于人工智能的数据标注方法的请求,服务器120使用该基于人工智能的数据标注方法对样本进行聚类后,将聚类结果反馈给标注终端130,标注终端130可以接收聚类得到的类簇信息,并对类簇进行标注划分,标注完成后可以将标注信息再次发送给服务器120,服务器120接收标注信息后继续使用该基于人工智能的数据标注方法生成新的类簇信息,如此往复进行多轮迭代后得到最终的聚类结果。
客户终端110和标注终端130可以通过无线网络或有线网络与服务器120相连。可选地,客户终端110和标注终端130可以分别是智能手机、平板电脑、笔记本电脑、台式计算机、智能手表、车载终端等,但并不局限于此。客户终端110可以安装和运行有支持基于人工智能的数据标注方法的应用程序。标注终端130可以为多个。向服务器120发送使用该基于人工智能的数据标注方法的请求的客户终端110和进行标注划分的标注终端130可以是相同或不同的终端。
服务器120可以是独立的服务器,或是服务器集群或者分布式***,或者是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、以及大数据和人工智能平台等基础云计算服务的云服务器。
图2是根据本公开一实施例的基于人工智能的数据标注方法的实现流程示意图,该方法至少包括以下步骤:
S210:确定多个参与聚类的样本;
S220:根据各个参与聚类的样本的向量表示,对多个参与聚类的样本进行预聚类,得到多个类簇,每个类簇包含至少一个参与聚类的样本;
S230:接收针对各个类簇的标注信息,根据标注信息重新确定多个参与聚类的样本,返回执行步骤S220,以实现迭代处理;直至满足收敛条件或迭代次数达到次数阈值的情况下,根据针对各个类簇的标注信息确定聚类结果。
可见,本公开提出的基于人工智能的数据标注方法采用迭代聚类方式,每次迭代包括:对参与聚类的多个样本进行预聚类,划分为多个类簇;根据标注信息从各个类簇中确定代表性样本,将该代表性样本作为下一次迭代中参与聚类的样本。本公开在每次迭代过程中,在预聚类之后,每个类簇中样本的数量较小,便于后续进行准确标注,从而提高了聚类的准确性。
在一些可能的实施方式中,上述样本可以是图像样本或文本样本,即本方法可以适用于对图像或者文本进行聚类。
在一些可能的实施方式中,上述样本的向量表示可以利用神经网络模型获得,该神经网络模型可以包括知识增强的语义表示(ERNIE,Enhanced Representation fromkNowledge IntEgration)模型,或基于转换器的双向编码表示(BERT,BidirectionalEncoder Representation from Transformers)模型,也可以是其它模型,在此不作限定。
在一些可能的实施方式中,针对类簇的标注信息可以包括:类簇中包含的至少一个子簇以及每个子簇中的代表性样本;
上述根据标注信息重新确定多个参与聚类的样本,可以包括:将针对各个类簇的标注信息中的每个子簇中的代表性样本,作为重新确定的多个参与聚类的样本。
本公开实施例中,标注人员可以以类簇为粒度将预聚类生成的各个类簇标注成各个互斥的子簇,然后人工选取各个子簇中具有代表性的样本进入下一轮聚类。从各个子簇中选取的具有代表性的样本可以称为代表性样本,其余样本可以称为非代表性样本。例如,标注人员可以在每个子簇中选取表达精简、单一的样本进入到下一轮聚类中;接收到标注人员针对各个类簇的标注信息之后,根据该标注信息能够确定出代表性样本,这些代表性样本将参与下一轮聚类。代表性样本的单一性能够避免信息传递问题。并且,每次迭代的第二步中,将每个类簇划分为多个子簇,每个子簇中有一个代表性样本,用于下一次迭代,能够快速减少下一次迭代过程中参与聚类的样本数量。
在一些可能的实施方式中,上述根据各个参与聚类的样本的向量表示,对多个参与聚类的样本进行预聚类,包括:
采用聚类算法并结合限制条件,对多个参与聚类的样本进行预聚类,以使预聚类得到的各个类簇满足限制条件。
在一些可能的实施方式中,上述限制条件包括以下至少之一:
(1)每个类簇中包含的参与聚类的样本个数不大于样本个数阈值;
(2)每个类簇中包含的各个参与聚类的样本在上一次迭代处理的预聚类过程中,属于不同的类簇。
上述限制条件的设置主要是出于以下考虑:
第一,针对上述限制条件(1),设置样本个数阈值可以保证预聚类得到的每个类簇中的样本数量不会太多,便于标注,因此能够降低对标注人员的要求,从而提高对类簇的划分(每个类簇被划分为多个子簇)的准确性,提高最终聚类结果的准确性。
第二,针对上述限制条件(2),限制条件(2)保证了上一次迭代过程中被划分至同一类簇的两个样本,如果同时进入下一次迭代过程,则不会被再次划分至同一类簇。这是由于,进入下一次迭代过程的两个样本是已经被人工标注为互斥的样本(即属于不同的类别),因此无需再将其归入同一类簇。
在一些可能的实施方式中,上述聚类算法可以是多种,以下以密度峰值(densitypeaks)算法为例进行介绍,采用密度峰值(density peaks)算法并结合上述限制条件,对多个参与聚类的样本进行预聚类的实现方式可以包括:
步骤1:确定各个参与聚类的样本的密度。
步骤2:按照密度从大到小的顺序,对各个参与聚类的样本分别执行以下操作:
确定参与聚类的样本的多个邻近样本;按照邻近样本与该参与聚类的样本的相似度从大到小的顺序,依次遍历各个邻近样本,在以下第一判断条件均被满足的情况下,将参与聚类的样本加入所述邻近样本所属的类簇;进一步地,在不满足以下第一判断条件中至少之一的情况下,建立新的类簇,该新的类簇包括该参与聚类的样本。
上述第一判断条件包括:
(1)邻近样本的密度大于该参与聚类的样本的密度;
(2)邻近样本存在所属的类簇;
(3)邻近样本与该参与聚类的样本的相似度大于或等于相似度阈值;
(4)邻近样本所属的类簇包含的样本的个数小于样本个数阈值;
(5)邻近样本与该参与聚类的样本在上一次迭代处理的预聚类过程中,属于不同的类簇。
从上述第一判断条件可见,上述第一判断条件中的(1)-(3)是密度峰值(densitypeaks)算法中的判断条件,上述第一判断条件中的(4)和(5)是为满足上述限制条件而增加的判断条件。
一个具体的示例如下:
步骤1,确定N个参与聚类的样本的密度。
具体地,可以利用向量检索工具获取与每个样本相似度最大的K个(topK)个邻近样本,K为正整数。例如,采用脸书人工智能相似性搜索工具(faiss,facebook AISimilarity Search)或K最邻近(KNN,K-NearestNeighbor)算法等获取。
之后,针对各个样本,将该样本与topK个邻近样本的平均相似度作为该样本的密度。
样本与邻近样本的相似度可以通过欧氏距离或夹角余弦来确定。两个样本的向量表示的余弦夹角也叫余弦相似度,是用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大小的度量。如果两个向量的方向一致,即夹角接近零,那么这两个向量表示就越相近。
或者,可直接通过向量运算,确定样本a和样本b的余弦相似度为:
步骤2,按照密度从大到小的顺序,对各个参与聚类的样本进行排序,如排序后的样本为:样本A、样本B、样本C、……;
按照前述顺序,分别将各个样本与邻近样本进行判断,判断是否将该样本加入其邻近样本所属的类簇。
以样本A为例,假定样本A的邻近样本包括样本1、样本2、样本3、……;其中样本1、样本2、样本3等是按照相似度大小的顺序进行排列的,即样本1与样本A的相似度最高、之后的样本2、样本3等与样本A的相似度逐渐减小。
针对这种情况,可以首先判断样本A与样本1是否满足上述第一判断条件中的所有条件:如,如果样本1的密度大于样本A的密度、样本1存在所属的类簇(也就是样本1属于一个已经形成的类簇,假定该类簇为X)、并且样本1与样本A的密度大于或等于相似度阈值,则说明样本A满足密度峰值算法所规定的归类条件;并且,如果样本1所属的类簇(如类簇X)中包含的样本个数小于样本个数阈值(如预先设置为N),说明类簇X还可以继续加入新的样本;并且,如果样本1和样本A在上一次迭代中属于不同的类簇,则样本A可以加入样本1所属的类簇(如类簇X)。
如果样本A加入了样本1所属的类簇(即类簇X),则对样本A的处理结束,可以继续针对样本B执行相同的操作。
如果样本A与样本1不满足上述第一判断条件中的所有条件,则进一步判断样本A与下一个邻近样本(即样本2)是否满足上述第一判断条件中的所有条件,如此顺序进行,如果样本A与所有邻近样本均不满足上述第一判断条件中的所有条件,则将样本A归入一个新的类簇,即建立新的类簇,该新的类簇包括样本A,此时针对样本A的处理也已结束,可以继续针对样本B执行相同的操作。
上述第一判断条件中邻近样本的密度大于参与聚类的样本的密度,是指相较于参与聚类样本,邻近样本更接近密度峰值区域,此时参与聚类的样本可以加入邻近样本所属的类簇,反之,若邻近样本的密度小于参与聚类的样本的密度,则参与聚类的样本不应加入邻近样本所属的类簇。
上述邻近样本与参与聚类的样本的相似度大于或等于相似度阈值,是指两者在向量空间中的距离足够近,可以聚类为同一类簇。
可见,本实施例中,通过聚类算法和上述限制条件结合,可以将参与聚类的样本聚类成多个满足限制条件的类簇。
在一些可能的实施方式中,上述聚类算法还可以是K均值(K-means)算法,以下以K-means算法为例进行介绍,采用K-means算法并结合上述限制条件,对多个参与聚类的样本进行预聚类的实现方式可以包括:
步骤1:从多个参与聚类的样本中选取部分,将选取的每个参与聚类的样本作为一个聚类中心;
步骤2:针对除聚类中心以外的各个参与聚类的样本,在以下第二判断条件均被满足的情况下,将参与聚类的样本加入距离最近的聚类中心所属的类簇:
上述第二判断条件包括:
(1)距离最近的聚类中心所属的类簇中包含的样本的个数小于样本个数阈值;
(2)距离最近的聚类中心所属的类簇中,不包含上一次迭代处理的预聚类过程中与参与聚类的样本属于同一类簇的样本。
在一些可能的实施方式中,在不满足第二判断条件中至少之一的情况下,将参与聚类的样本加入其他聚类中心所属的类簇。
上述第二判断条件中距离最近的聚类中心所属的类簇中包含的样本的个数小于样本个数阈值,可以保证每个类簇中的样本数量不会太多(即每个类簇中包含的样本个数不超过样本个数阈值),便于标注。距离最近的聚类中心所属的类簇中,不包含上一次迭代处理的预聚类过程中与参与聚类的样本属于同一类簇的样本,是因为每轮标注时,每个类簇中的子簇互斥,且每个子簇仅选取一个代表性样本进入下一轮,那么两个样本如果在上一轮被归入同一个类簇里,说明在在上一轮的标注过程中必然属于互斥的不同子簇,即在上一轮中已经标注为两者是不能在一起的样本。
在一些可能的实施方式中,上述收敛条件包括:各个类簇中包含的样本个数均小于样本个数阈值。
本实施例中,各个类簇中包含的样本个数均小于样本个数阈值K说明不存在因为限制类簇中包含的样本的个数阈值而将原本应该聚一起的样本分散成多个类簇的情况,即原本应该聚一起的样本已经在同一类簇中,形成了真实簇。
在一些可能的实施方式中,上述次数阈值由样本个数阈值和第一次迭代过程中参与聚类的样本的个数确定。
在一些可能的实施方式中,上述子簇中包括一个代表性样本和至少一个非代表性样本;
将针对各个类簇的标注信息中的每个子簇中的代表性样本,作为重新确定的多个参与聚类的样本之后,还包括:
针对代表性样本,确定在上一次迭代过程中与代表性样本属于相同子簇的非代表性样本;
将确定出的非代表性样本在本次迭代过程中所属的子簇确定为与代表性样本在本次迭代过程中所属的子簇相同。
本实施例中,通过使非代表性样本与代表性样本的最新子簇保持一致,通过选取代表性样本的方式使得所有样本都参与聚类,从而获得基于整个样本的真实簇,提高评估的准确性。
图3是根据本公开另一实施例的基于人工智能的数据标注方法的实现流程图,如图3所示,在一些可能的实施方式中,以样本数量n=1000,类簇中最大的样本个数K=10为例进行举例说明:
基于人工智能的数据标注方法包括以下步骤:
S301:获取待标注样本。
例如,取1000个待标注样本。
S302:获取待标注样本的向量表示;
例如,将1000个待标注样本分别输入知识增强的语义表示(ERNIE,EnhancedRepresentation from kNowledge IntEgration)模型,得到各个待标注样本的向量表示。
S303:初始化样本聚类标注信息。
具体地,初始化每个样本的本轮预聚类生成的类簇编号cluster_id为空,本轮标注的子簇编号cluster_sub_id为空,初始化每个样本的上一轮预聚类生成的类簇编号pre_cluster_id和上一轮标注的子簇编号pre_cluster_sub_id分别为互不相同的数值。并且,为每个样本设置一个参数如is_main_sample,用于表示该样本是否为所属子簇中的是否为子簇中的代表性样本标记;例如,将is_main_sample初始化为1,表示所有样本在首轮时都是需要参与聚类的样本。
S304:初始化聚类算法参数。
例如,初始化标注时每个类簇最大的样本个数K为10,初始化相似度阈值为T。
S305:确定参与聚类的样本。
具体地,将is_main_sample为1的样本确定为参与聚类的样本,由于所有样本的is_main_sample初始化为1,即所有样本均参与第一轮聚类。
S306:更新上一轮聚类信息;
具体地,当样本的cluster_id不为空时,将cluster_id赋值给pre_cluster_id,即,将pre_cluster_id的值设置为等于cluster_id的值;当样本的cluster_sub_id不为空时,将cluster_sub_id赋值给pre_cluster_sub_id,即,将pre_cluster_sub_id的值设置为等于cluster_sub_id的值。首轮迭代时,由于cluster_id、cluster_sub_id初始化为空,此步骤略过。
S307:预聚类。
具体地,预聚类可以采用密度峰值(density peaks)算法并结合限制条件,以得到每个样本的cluster_id。或者,预聚类可以采用K-means算法并结合限制条件,得到每个样本的cluster_id。
以采用密度峰值算法结合限制条件为例,具体过程可以包括:
确定各个参与聚类的样本的密度;
按照密度从大到小的顺序,对各个参与聚类的样本分别执行以下操作:
确定参与聚类的样本的多个邻近样本;按照邻近样本与参与聚类的样本的相似度从大到小的顺序,依次遍历各个邻近样本,在以下第一判断条件均被满足的情况下,将参与聚类的样本加入邻近样本所属的类簇:
邻近样本的密度大于参与聚类的样本的密度;
邻近样本存在所属的类簇;
邻近样本与参与聚类的样本的相似度大于或等于相似度阈值;
邻近样本所属的类簇包含的样本的个数小于样本个数阈值;
邻近样本与参与聚类的样本在上一次迭代处理的预聚类过程中,属于不同的类簇。
在不满足第一判断条件中至少之一的情况下,建立新的类簇,新的类簇包括参与聚类的样本。
例如,按照上述方式,首轮聚类后将参与聚类的1000份样本划分为100个类簇,每个参与聚类的样本得到cluster_id,每个类簇中的样本数量不大于10个。
S308:按照标注信息划分子簇。
具体地,对每个类簇进行标注,根据标注标准分成多个互斥的子簇,并为每个子簇赋予子簇编号cluster_sub_id(子簇编号可以包含其所属类簇的类簇编号的信息,例如,如果类簇编号为1,则其包含的各个子簇的子簇编号可以为1_1、1_2、1_3,从而方便下一轮标注时,直接通过子簇编号获取其所属的类簇的类簇编号)。同时,针对每个子簇确定一个样本作为代表性样本,标注is_main_sample=1;其他样本作为非代表性样本,is_main_sample可以标注为0。
例如,第一次迭代结果如下表1所示,1000个样本被预聚类为100个子簇,根据标注信息,每个子簇被划分为2个子簇,每个子簇中包含一个代表性样本及多个非代表性样本。所有的代表性样本将进入下一次迭代过程,继续参与聚类。对于非代表性样本,虽然不会进入下一次迭代过程,但其可以跟随所属子簇中的代表性样本进行聚类。
表1
S309:更新非代表性样本的子簇;
具体地,将上一轮相同cluster_sub_id的样本中is_main_sample=0的cluster_sub_id赋值为参与当前轮聚类的代表性样本的cluster_sub_id。
例如,参见表1,在第一次迭代过程中形成子簇1-1,其中样本1是子簇1-1中的代表性样本,样本2至5是子簇1-1中的非代表性样本;样本1进入第二次迭代过程,在第二次迭代过程中,如果样本1被划分至子簇T,则样本2至5也被划分至子簇T,即将样本2至5的cluster_sub_id设置为等于样本1的cluster_sub_id。
S310:判断是否满足收敛条件或迭代次数达到次数阈值,判断为否时(即不满足收敛条件,并且迭代次数未达到次数阈值),返回执行步骤S305;判断为是时(即满足收敛条件或迭代次数达到次数阈值),输出聚类结果。具体地,可以将每个样本所属的子簇编号(cluster_sub_id)作为聚类结果。
具体地,将标注为同一cluster_sub_id的样本作为一个簇获得聚类结果。
以下详细举例说明上述迭代过程:
假定第一次迭代的结果如上表1所示。第二次迭代过程中,参与聚类的样本是第一次迭代过程中确定的代表性样本,即表1中的样本1、6、11、…996,共200个。需要说明的是,每个类簇中子簇互斥,子簇的个数不限于2个,也可以是1个或大于1的任意整数,为方便说明,表1、表2中各类簇的子簇均以2个为例。
第二次迭代结果为:
表2
第一次迭代的预聚类过程中被归类至同一类簇的样本,在第二次迭代过程中不应再被归类至同一类簇。
在每一次迭代中包括两个步骤:第一个步骤是采用聚类算法对参与聚类的样本进行预聚类,形成多个类簇,由于类簇大小的限制以及聚类算法自身的限制等,预聚类划分出的类簇不能代表真实的分类情况。第二个步骤是根据标注信息对各个类簇再进行划分,将每个类簇划分为至少一个互斥的子簇。标注信息可以是人工根据标注标准对各个类簇进行的划分,将每个类簇划分为至少一个互斥的子簇;标注标准可以根据不同的业务进行设置。可以看出,第二个步骤可以认为是对第一个步骤的修正。
基于上述内容,结合上述表1和表2再举例解释:如表1所示,在第一次迭代的预聚类过程中,样本1和样本6被归类至同一类簇(即类簇1);之后根据标注信息,样本1和样本6被划分至互斥的子簇,即样本1属于子簇1-1,样本6属于子簇1-2。可以认为,在第一次迭代过程中,第二个步骤对第一个步骤的聚类结果进行了修正,即,将第一个步骤中归类在类簇1中的样本(如表1中类簇1包括样本1~10)划分至不同的子簇。那么,被划分至不同子簇中的代表性样本进入下一次迭代时,就不应再被归类至同一个类簇;前述限制可以由本申请实施例提出的限制条件来实现。如表2所示,样本1和样本6在进入第二次迭代时,在预聚类过程中被划分至了不同的类簇。
以上举例说明了对代表性样本的处理方式,那么,对于非代表性样本的处理方式如下:
以表1和表2为例,在第一次迭代中,子簇2-1中包括5个样本,即样本11、12、13、14、15,其中样本11为代表性样本,样本12~15为非代表性样本。在第二次迭代中,样本11作为一个代表性样本,重新参与聚类(包括2个步骤,即预聚类和根据标注信息划分),样本11被划分至子簇1-1,即此时样本11所属的子簇为子簇1-1,那么在第一次迭代中与样本11属于同一个子簇的非代表性样本(即样本12~15),在第二次迭代中所属的子簇也更新为子簇1-1。也就是说,在每一次迭代中,非代表性样本跟随上一次迭代中属于同一个子簇的代表性样本来进行归类处理。
基于上述处理方式完成每轮迭代后判断是否满足收敛条件,即所有类簇中的样本个数均小于10个,或迭代次数达到次数阈值在二者皆不满足的情况下继续进行下一轮迭代,在满足二者之一的情况下,根据针对各个类簇的标注信息确定聚类结果。
基于上述内容,可以对标注复杂度进行分析,定义样本数量为n,样本个数阈值K,迭代次数一个类簇内标注复杂度为即每个类簇中的所有样本都需要两两标注。一般地,考虑标注成本,聚类的测试集不会很大,设n=2000,考虑到基于簇标注需要标注人员对类簇的整体有大概了解,因此K建议设置为20左右,综合n=2000,K=20,m=3。下面对几个极端情况进行分析:
1.真实最大簇大小不超过K,在第一轮预聚类后就达到终止条件,标注复杂度最大为其中,样本数量除以每个类簇的样本个数阈值n/K得到最大的类簇个数,即最多有100个类簇,是每个类簇中的样本需要两两进行对比,即本方法复杂度为19000,这种情况下,对比暴力标注的复杂度为1,999,000,暴力标注是本方法的(n-1)/(K-1)≈105倍。
2.所有数据属于同一簇,一共需要标注m轮,每轮生成的类簇的个数为n/K,n/K^2,…1,标注复杂度为极端情况下,所有数据属于同一簇,每轮预聚类后无法划分,因此每轮聚类和标注之后仍然是100个类簇,每轮的标注复杂度为因此,最大复杂度可以表示为这种情况下,对比暴力标注的复杂度,暴力标注是本方法的(n-1)/(m*(K-1))≈35倍。
3.标注复杂度最大的情况为样本两两之间的相似度或距离都满足阈值,但互不能聚在一起,在本方法中,每一轮标注,可以减少n*(K-1)种可能,因此需要标注(n-1)/(K-1)轮,每轮n/K个类簇,此时的标注成本为 与暴力标注的复杂度一样,均为次。但是现实业务的测试聚类数据集中一般不会出现这种情况,排除这种特殊情况,本方法的标注复杂度比两两标注的方法复杂度低。
图4是根据本公开一实施例的聚类装置的结构示意图。如图4所示的聚类装置400,包括:
筛选模块410,用于确定多个参与聚类的样本;
聚类模块420,用于根据筛选模块410或处理模块430所确定的各个参与聚类的样本的向量表示,对多个参与聚类的样本进行预聚类,得到多个类簇,每个类簇包含至少一个参与聚类的样本;
处理模块430,用于接收针对各个类簇的标注信息,根据标注信息重新确定多个参与聚类的样本,将确定的多个参与聚类的样本通知聚类模块420,以实现迭代处理;并在满足收敛条件或迭代次数达到次数阈值的情况下,根据针对各个类簇的标注信息确定聚类结果。
在一些可能的实施方式中,针对类簇的标注信息包括:类簇中包含的至少一个子簇以及每个子簇中的代表性样本;
该处理模块430用于:将针对各个类簇的标注信息中的每个子簇中的代表性样本,作为重新确定的多个参与聚类的样本。
在一些可能的实施方式中,上述聚类模块420用于:
采用聚类算法并结合限制条件,对多个参与聚类的样本进行预聚类,以使预聚类得到的各个类簇满足限制条件。
在一些可能的实施方式中,上述限制条件包括以下至少之一:
每个类簇中包含的参与聚类的样本个数不大于样本个数阈值;
每个类簇中包含的各个参与聚类的样本在上一次迭代处理的预聚类过程中,属于不同的类簇。
在一些可能的实施方式中,上述聚类模块420用于:
确定各个参与聚类的样本的密度;
按照密度从大到小的顺序,对各个参与聚类的样本分别执行以下操作:
确定参与聚类的样本的多个邻近样本;按照邻近样本与参与聚类的样本的相似度从大到小的顺序,依次遍历各个邻近样本,在以下第一判断条件均被满足的情况下,将参与聚类的样本加入邻近样本所属的类簇;该第一判断条件包括:
邻近样本的密度大于参与聚类的样本的密度;
邻近样本存在所属的类簇;
邻近样本与参与聚类的样本的相似度大于或等于相似度阈值;
邻近样本所属的类簇包含的样本的个数小于样本个数阈值;
邻近样本与参与聚类的样本在上一次迭代处理的预聚类过程中,属于不同的类簇。
在一些可能的实施方式中,上述聚类模块420还用于:在不满足第一判断条件中至少之一的情况下,建立新的类簇,新的类簇包括参与聚类的样本。
在一些可能的实施方式中,上述聚类模块420用于:
从多个参与聚类的样本中选取部分,将选取的每个参与聚类的样本作为一个聚类中心;
针对除聚类中心以外的各个参与聚类的样本,在以下第二判断条件均被满足的情况下,将参与聚类的样本加入距离最近的聚类中心所属的类簇;该第二判断条件包括:
距离最近的聚类中心所属的类簇中包含的样本的个数小于样本个数阈值;
距离最近的聚类中心所属的类簇中,不包含上一次迭代处理的预聚类过程中与参与聚类的样本属于同一类簇的样本。
在一些可能的实施方式中,上述聚类模块420还用于:在不满足第二判断条件中至少之一的情况下,将参与聚类的样本加入其他聚类中心所属的类簇。
在一些可能的实施方式中,上述收敛条件包括:各个类簇中包含的样本个数均小于样本个数阈值。
在一些可能的实施方式中,上述次数阈值由样本个数阈值和第一次迭代过程中参与聚类的样本的个数确定。
在一些可能的实施方式中,上述子簇中包括一个代表性样本和至少一个非代表性样本;
该处理模块430用于:
针对代表性样本,确定在上一次迭代过程中与代表性样本属于相同子簇的非代表性样本;
将确定出的非代表性样本在本次迭代过程中所属的子簇确定为与代表性样本在本次迭代过程中所属的子簇相同。
在一些可能的实施方式中,上述参与聚类的样本包括图像样本或文本样本。
本公开实施例的数据处理装置的各模块、子模块的具体功能和示例的描述,可以参见上述基于人工智能的数据标注方法实施例中对应步骤的相关描述,在此不再赘述。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图5示出了可以用来实施本公开的实施例的示例电子设备500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图5所示,设备500包括计算单元501,其可以根据存储在只读存储器(ROM)502中的计算机程序或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序,来执行各种适当的动作和处理。在RAM 503中,还可存储设备500操作所需的各种程序和数据。计算单元501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
设备500中的多个部件连接至I/O接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如基于人工智能的数据标注方法。例如,在一些实施例中,基于人工智能的数据标注方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到RAM 503并由计算单元501执行时,可以执行上文描述的基于人工智能的数据标注方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行基于人工智能的数据标注方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式***的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (27)
1.一种基于人工智能的数据标注方法,包括:
确定多个参与聚类的样本;
根据各个所述参与聚类的样本的向量表示,对所述多个参与聚类的样本进行预聚类,得到多个类簇,每个所述类簇包含至少一个所述参与聚类的样本;
接收针对各个所述类簇的标注信息,根据所述标注信息重新确定多个参与聚类的样本,返回执行所述对所述多个参与聚类的样本进行预聚类的步骤,以实现迭代处理;直至满足收敛条件或迭代次数达到次数阈值的情况下,根据所述针对各个所述类簇的标注信息确定聚类结果。
2.根据权利要求1所述的方法,其中,针对类簇的所述标注信息包括:所述类簇中包含的至少一个子簇以及每个所述子簇中的代表性样本;
所述根据所述标注信息重新确定多个参与聚类的样本,包括:将针对各个所述类簇的标注信息中的每个子簇中的代表性样本,作为重新确定的多个参与聚类的样本。
3.根据权利要求2所述的方法,其中,所述根据各个所述参与聚类的样本的向量表示,对所述多个参与聚类的样本进行预聚类,包括:
采用聚类算法并结合限制条件,对所述多个参与聚类的样本进行预聚类,以使预聚类得到的各个类簇满足所述限制条件。
4.根据权利要3所述的方法,其中,所述限制条件包括以下至少之一:
每个类簇中包含的参与聚类的样本个数不大于样本个数阈值;
每个类簇中包含的各个参与聚类的样本在上一次迭代处理的预聚类过程中,属于不同的类簇。
5.根据权利要4所述的方法,所述采用聚类算法并结合限制条件,对所述多个参与聚类的样本进行预聚类,包括:
确定各个所述参与聚类的样本的密度;
按照所述密度从大到小的顺序,对各个所述参与聚类的样本分别执行以下操作:
确定所述参与聚类的样本的多个邻近样本;按照邻近样本与所述参与聚类的样本的相似度从大到小的顺序,依次遍历各个所述邻近样本,在第一判断条件均被满足的情况下,将所述参与聚类的样本加入所述邻近样本所属的类簇;所述第一判断条件包括:
所述邻近样本的密度大于所述参与聚类的样本的密度;
所述邻近样本存在所属的类簇;
所述邻近样本与所述参与聚类的样本的相似度大于或等于相似度阈值;
所述邻近样本所属的类簇包含的样本的个数小于所述样本个数阈值;
所述邻近样本与所述参与聚类的样本在上一次迭代处理的预聚类过程中,属于不同的类簇。
6.根据权利要5所述的方法,还包括:在不满足所述第一判断条件中至少之一的情况下,建立新的类簇,所述新的类簇包括所述参与聚类的样本。
7.根据权利要4所述的方法,其中,所述采用聚类算法并结合限制条件,对所述多个参与聚类的样本进行预聚类,包括:
从所述多个参与聚类的样本中选取部分,将选取的每个参与聚类的样本作为一个聚类中心;
针对除所述聚类中心以外的各个所述参与聚类的样本,在第二判断条件均被满足的情况下,将所述参与聚类的样本加入距离最近的聚类中心所属的类簇;所述第二判断条件包括:
所述距离最近的聚类中心所属的类簇中包含的样本的个数小于所述样本个数阈值;
所述距离最近的聚类中心所属的类簇中,不包含上一次迭代处理的预聚类过程中与所述参与聚类的样本属于同一类簇的样本。
8.根据权利要7所述的方法,还包括:在不满足所述第二判断条件中至少之一的情况下,将所述参与聚类的样本加入其他聚类中心所属的类簇。
9.根据权利要4至8中任一所述的方法,其中,所述收敛条件包括:各个所述类簇中包含的样本个数均小于所述样本个数阈值。
10.根据权利要4至8中任一所述的方法,其中,所述次数阈值由所述样本个数阈值和第一次迭代过程中所述参与聚类的样本的个数确定。
11.根据权利要求2至10中任一所述的方法,其中,所述子簇中包括一个所述代表性样本和至少一个非代表性样本;
所述将针对各个所述类簇的标注信息中的每个子簇中的代表性样本,作为重新确定的多个参与聚类的样本之后,还包括:
针对所述代表性样本,确定在上一次迭代过程中与所述代表性样本属于相同子簇的非代表性样本;
将确定出的非代表性样本在本次迭代过程中所属的子簇确定为与所述代表性样本在本次迭代过程中所属的子簇相同。
12.根据权利要求1至11中所述的方法,其中,所述参与聚类的样本包括图像样本或文本样本。
13.一种基于人工智能的数据标注装置,包括:
筛选模块,用于确定多个参与聚类的样本;
聚类模块,用于根据筛选模块或处理模块所确定的各个所述参与聚类的样本的向量表示,对所述多个参与聚类的样本进行预聚类,得到多个类簇,每个所述类簇包含至少一个所述参与聚类的样本;
处理模块,用于接收针对各个所述类簇的标注信息,根据所述标注信息重新确定多个参与聚类的样本,将确定的多个参与聚类的样本通知所述聚类模块,以实现迭代处理;并在满足收敛条件或迭代次数达到次数阈值的情况下,根据所述针对各个所述类簇的标注信息确定聚类结果。
14.根据权利要求13所述的装置,其中,针对类簇的所述标注信息包括:所述类簇中包含的至少一个子簇以及每个所述子簇中的代表性样本;
所述处理模块用于:将针对各个所述类簇的标注信息中的每个子簇中的代表性样本,作为重新确定的多个参与聚类的样本。
15.根据权利要求14所述的装置,其中,所述聚类模块用于:
采用聚类算法并结合限制条件,对所述多个参与聚类的样本进行预聚类,以使预聚类得到的各个类簇满足所述限制条件。
16.根据权利要15所述的装置,其中,所述限制条件包括以下至少之一:
每个类簇中包含的参与聚类的样本个数不大于样本个数阈值;
每个类簇中包含的各个参与聚类的样本在上一次迭代处理的预聚类过程中,属于不同的类簇。
17.根据权利要16所述的装置,所述聚类模块用于:
确定各个所述参与聚类的样本的密度;
按照所述密度从大到小的顺序,对各个所述参与聚类的样本分别执行以下操作:
确定所述参与聚类的样本的多个邻近样本;按照邻近样本与所述参与聚类的样本的相似度从大到小的顺序,依次遍历各个所述邻近样本,在第一判断条件均被满足的情况下,将所述参与聚类的样本加入所述邻近样本所属的类簇;所述第一判断条件包括:
所述邻近样本的密度大于所述参与聚类的样本的密度;
所述邻近样本存在所属的类簇;
所述邻近样本与所述参与聚类的样本的相似度大于或等于相似度阈值;
所述邻近样本所属的类簇包含的样本的个数小于所述样本个数阈值;
所述邻近样本与所述参与聚类的样本在上一次迭代处理的预聚类过程中,属于不同的类簇。
18.根据权利要17所述的装置,所述聚类模块还用于:在不满足所述第一判断条件中至少之一的情况下,建立新的类簇,所述新的类簇包括所述参与聚类的样本。
19.根据权利要16所述的装置,所述聚类模块用于:
从所述多个参与聚类的样本中选取部分,将选取的每个参与聚类的样本作为一个聚类中心;
针对除所述聚类中心以外的各个所述参与聚类的样本,在第二判断条件均被满足的情况下,将所述参与聚类的样本加入距离最近的聚类中心所属的类簇;所述第二判断条件包括:
所述距离最近的聚类中心所属的类簇中包含的样本的个数小于所述样本个数阈值;
所述距离最近的聚类中心所属的类簇中,不包含上一次迭代处理的预聚类过程中与所述参与聚类的样本属于同一类簇的样本。
20.根据权利要19所述的装置,所述聚类模块还用于:在不满足所述第二判断条件中至少之一的情况下,将所述参与聚类的样本加入其他聚类中心所属的类簇。
21.根据权利要16至20中任一所述的装置,其中,所述收敛条件包括:各个所述类簇中包含的样本个数均小于所述样本个数阈值。
22.根据权利要16至20中任一所述的装置,其中,所述次数阈值由所述样本个数阈值和第一次迭代过程中所述参与聚类的样本的个数确定。
23.根据权利要求14至22中任一所述的装置,其中,所述子簇中包括一个所述代表性样本和至少一个非代表性样本;
所述处理模块还用于:
针对所述代表性样本,确定在上一次迭代过程中与所述代表性样本属于相同子簇的非代表性样本;
将确定出的非代表性样本在本次迭代过程中所属的子簇确定为与所述代表性样本在本次迭代过程中所属的子簇相同。
24.根据权利要求13至23中任一所述的装置,其中,所述参与聚类的样本包括图像样本或文本样本。
25.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-12中任一项所述的方法。
26.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-12中任一项所述的方法。
27.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-12中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210335852.0A CN114662607B (zh) | 2022-03-31 | 2022-03-31 | 基于人工智能的数据标注方法、装置、设备以及存储介质 |
JP2022125529A JP2023152270A (ja) | 2022-03-31 | 2022-08-05 | 人工知能によるデータラベリング方法、装置、電子デバイス、記憶媒体、及びプログラム |
US17/902,323 US20230316709A1 (en) | 2022-03-31 | 2022-09-02 | Data labeling method based on artificial intelligence, apparatus and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210335852.0A CN114662607B (zh) | 2022-03-31 | 2022-03-31 | 基于人工智能的数据标注方法、装置、设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114662607A true CN114662607A (zh) | 2022-06-24 |
CN114662607B CN114662607B (zh) | 2024-07-05 |
Family
ID=82034272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210335852.0A Active CN114662607B (zh) | 2022-03-31 | 2022-03-31 | 基于人工智能的数据标注方法、装置、设备以及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230316709A1 (zh) |
JP (1) | JP2023152270A (zh) |
CN (1) | CN114662607B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541731A (zh) * | 2023-05-26 | 2023-08-04 | 北京百度网讯科技有限公司 | 网络行为数据的处理方法、装置和设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108764319A (zh) * | 2018-05-21 | 2018-11-06 | 北京京东尚科信息技术有限公司 | 一种样本分类方法和装置 |
CN110232414A (zh) * | 2019-06-11 | 2019-09-13 | 西北工业大学 | 基于k近邻与共享近邻的密度峰值聚类算法 |
WO2020119053A1 (zh) * | 2018-12-11 | 2020-06-18 | 平安科技(深圳)有限公司 | 一种图片聚类方法、装置、存储介质及终端设备 |
CN113411645A (zh) * | 2021-06-16 | 2021-09-17 | 北京百度网讯科技有限公司 | 信息推荐方法及装置、电子设备和介质 |
CN114090769A (zh) * | 2021-10-14 | 2022-02-25 | 深圳追一科技有限公司 | 实体挖掘方法、装置、计算机设备和存储介质 |
CN114118180A (zh) * | 2021-04-02 | 2022-03-01 | 京东科技控股股份有限公司 | 聚类方法、装置、电子设备及存储介质 |
-
2022
- 2022-03-31 CN CN202210335852.0A patent/CN114662607B/zh active Active
- 2022-08-05 JP JP2022125529A patent/JP2023152270A/ja active Pending
- 2022-09-02 US US17/902,323 patent/US20230316709A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108764319A (zh) * | 2018-05-21 | 2018-11-06 | 北京京东尚科信息技术有限公司 | 一种样本分类方法和装置 |
WO2020119053A1 (zh) * | 2018-12-11 | 2020-06-18 | 平安科技(深圳)有限公司 | 一种图片聚类方法、装置、存储介质及终端设备 |
CN110232414A (zh) * | 2019-06-11 | 2019-09-13 | 西北工业大学 | 基于k近邻与共享近邻的密度峰值聚类算法 |
CN114118180A (zh) * | 2021-04-02 | 2022-03-01 | 京东科技控股股份有限公司 | 聚类方法、装置、电子设备及存储介质 |
CN113411645A (zh) * | 2021-06-16 | 2021-09-17 | 北京百度网讯科技有限公司 | 信息推荐方法及装置、电子设备和介质 |
CN114090769A (zh) * | 2021-10-14 | 2022-02-25 | 深圳追一科技有限公司 | 实体挖掘方法、装置、计算机设备和存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541731A (zh) * | 2023-05-26 | 2023-08-04 | 北京百度网讯科技有限公司 | 网络行为数据的处理方法、装置和设备 |
Also Published As
Publication number | Publication date |
---|---|
US20230316709A1 (en) | 2023-10-05 |
JP2023152270A (ja) | 2023-10-16 |
CN114662607B (zh) | 2024-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111178380A (zh) | 数据分类方法、装置及电子设备 | |
WO2023019933A1 (zh) | 构建检索数据库的方法、装置、设备以及存储介质 | |
CN110096697B (zh) | 词向量矩阵压缩方法和装置、及获取词向量的方法和装置 | |
CN113657249B (zh) | 训练方法、预测方法、装置、电子设备以及存储介质 | |
CN114360027A (zh) | 一种特征提取网络的训练方法、装置及电子设备 | |
CN115186738B (zh) | 模型训练方法、装置和存储介质 | |
CN115169489B (zh) | 数据检索方法、装置、设备以及存储介质 | |
CN110738048A (zh) | 一种关键词提取方法、装置及终端设备 | |
CN114118049B (zh) | 信息获取方法、装置、电子设备及存储介质 | |
CN113761379B (zh) | 商品推荐方法及装置、电子设备和介质 | |
CN114662607B (zh) | 基于人工智能的数据标注方法、装置、设备以及存储介质 | |
CN114037060A (zh) | 预训练模型的生成方法、装置、电子设备以及存储介质 | |
CN114201953A (zh) | 一种关键词提取、模型训练方法、装置、设备及存储介质 | |
CN110688508B (zh) | 图文数据扩充方法、装置及电子设备 | |
CN110321435B (zh) | 一种数据源划分方法、装置、设备和存储介质 | |
CN111858917A (zh) | 文本分类方法和装置 | |
CN111046894A (zh) | 识别马甲账号的方法和装置 | |
CN114037057B (zh) | 预训练模型的生成方法、装置、电子设备以及存储介质 | |
CN117131197B (zh) | 一种招标书的需求类别处理方法、装置、设备及存储介质 | |
CN114491416B (zh) | 特征信息的处理方法、装置、电子设备和存储介质 | |
CN116188063A (zh) | 客群创建方法、装置、设备以及存储介质 | |
CN116502095A (zh) | 一种模型相似度的计算方法和模型更新方法 | |
CN114037061A (zh) | 预训练模型的生成方法、装置、电子设备以及存储介质 | |
CN117009857A (zh) | 数据筛选方法、装置、设备、存储介质和产品 | |
CN114860975A (zh) | 查询图片的方法、装置、电子设备及存储介质 |
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 |