CN110348465A - 用于标注样本的方法和设备 - Google Patents
用于标注样本的方法和设备 Download PDFInfo
- Publication number
- CN110348465A CN110348465A CN201810303792.8A CN201810303792A CN110348465A CN 110348465 A CN110348465 A CN 110348465A CN 201810303792 A CN201810303792 A CN 201810303792A CN 110348465 A CN110348465 A CN 110348465A
- Authority
- CN
- China
- Prior art keywords
- sample
- level
- node
- group
- distance
- 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
Classifications
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
公开了用于标注样本的方法和设备。该方法包括:对多个样本中的每一个提取特征向量;针对每个样本,确定其是否属于多个已知类别中的一个,当其不属于任何已知类别时,将该样本分类为未知类别;针对被分类为未知类别的多个样本:生成该多个样本的层次1至层次n的表示,n>1,其中层次1的表示包括多个层次1样本团,层次i的表示包括至少一个层次i样本团,层次i‑1的表示包括至少两个层次i‑1样本团,2≤i≤n,每个层次i样本团包含多个层次i‑1样本团,每个层次1样本团包含多个样本;针对每个层次,显示该层次的表示中所包括的样本团,其中单个样本团包含的所有样本被显示为一个页面;将用户在页面中选择的多个样本标注为同一类别。
Description
技术领域
本发明涉及用于对样本进行标注的方法和设备,更具体地,涉及由计算机辅助以减少人力劳动量的标注样本的方法和设备。
背景技术
当前的人工智能技术主要依靠深度学习网络。为了训练这些网络,需要大量的已标注数据。已标注数据是指已经被标注为属于某一类别的数据。然而,这些数据一般是通过人工来标注的,由于数据量巨大,因此人工标注是一件费时费力的工作。
为了减少人力工作量,可以采用计算机辅助的标注方法。然而,目前商业可用的计算机辅助标注工具非常少,尤其是针对汉字的标注工具更是罕见。
因此,期望的是,提供能够大大降低人工标注的工作量的可靠高效的计算机辅助标注方法。
发明内容
针对上述技术问题,本发明提供了一种计算机实现的对多个样本进行标注的方法,所述方法包括:对所述多个样本中的每个样本提取特征向量;针对每个样本:针对多个已知类别中的每个已知类别,确定所述样本的特征向量与属于所述已知类别的多个样本的特征向量之间的距离,并且计算所确定的多个距离的平均值;当所述平均值小于预定阈值时,将所述样本标注为所述已知类别;以及当所述样本未被标注为所述多个已知类别中的任何已知类别时,将所述样本分类为未知类别;针对被分类为未知类别的多个样本:生成所述未知类别的多个样本的层次1至层次n的表示,其中n>1,其中,层次1的表示包括多个层次1样本团,层次i的表示包括至少一个层次i样本团,层次i-1的表示包括至少两个层次i-1样本团,其中2≤i≤n,其中,每个层次i样本团包含多个层次i-1样本团,每个层次1样本团包含多个样本;针对层次1至层次n中的每个层次,显示所述层次的表示中所包括的各个样本团,其中,单个样本团所包含的所有样本被显示为一个页面;以及将用户在所述页面中选择的多个样本标注为同一类别。
在另一个方面,本发明提供了一种用于对多个样本进行标注的设备,所述设备包括:存储器;以及处理器,所述处理器被配置为执行如上所述的用于对多个样本进行标注的方法。
在又一个方面,本发明提供了一种存储有程序的记录介质,所述程序在被计算机执行时,使得计算机实现如上所述的用于对多个样本进行标注的方法。
附图说明
图1是根据本发明的由计算机辅助的标注样本的方法的流程图。
图2是实现图1中的步骤S104的处理的流程图。
图3是实现图1中的步骤S106的处理的流程图。
图4A示出了用于标注样本的用户操作界面的一个示例。
图4B示出了用户操作界面的另一个示例。
图5示意地示出了一个层次6样本团的结构。
图6-图28示出了用于实现图1的步骤S106的聚类的数据结构。
图29-图38示出了使用图28的聚类结果来标注样本的数据结构。
图39示出了实现本发明方案的计算机硬件的示例性配置框图。
具体实施方式
图1示出了根据本发明的由计算机辅助的标注样本的方法的总体流程图。
在图1中,首先在待标注的全部样本中选择一小部分样本,并对所选择的样本进行人工标注,如步骤S101所示。经人工标注后,所选择的样本分别被标注为属于多个已知类别。
在步骤S102,利用这些已标注的样本来训练特征提取器,该特征提取器用于对输入的样本提取特征,并且输出用于描述该样本的特征的向量。特征提取器例如可以通过单个或多个卷积神经网络(CNN)来实现。特征提取器的设计方案可以采用本领域技术人员熟知的多种方案,本文中不再赘述。
在步骤S103,对于未经人工标注的样本生成列表文件L,在该列表文件L中记录每一个样本的名称。然后,利用在步骤S102中训练的特征提取器对列表文件L中的每个未标注样本提取特征向量,并且生成特征文件F1,在特征文件F1中记录了每个未标注样本的特征向量。此外,利用该特征提取器对在步骤S101中已经标注的每个样本也提取特征向量,并且生成特征文件F0,在特征文件F0中记录了每个已标注样本的特征向量。
然后,在步骤S104,将列表文件L中的每个未标注样本分类到上述经人工标注的多个已知类别之一,或者分类到未知类别。以下将结合图2来具体描述步骤S104的操作。
首先,确定特征文件F0中的任何两个特征向量的相似程度。例如,可以采用两个特征向量之间的距离或相似度来衡量该两个特征向量的相似程度。距离越小,相似程度越高;相似度越大,相似程度越高。采用距离还是相似度可以取决于特征提取器的设计方案,这对于本领域技术人员而言是已知技术,因此不再赘述。下文中将以特征向量的距离为例来进行描述。容易理解的是,将下文中的特征向量的距离替换为相似度也是可行的。
如步骤S201所示,计算特征文件F0中的任何两个特征向量之间的距离。所获得的多个距离包括被标注为同一已知类别的两个样本的特征向量之间的距离(下文称为“同类样本距离”),以及被标注为不同已知类别的两个样本的特征向量之间的距离(下文称为“异类样本距离”)。同类样本距离和异类样本距离都可以是多个距离。
然后,计算多个同类样本距离的平均值,作为同类平均距离D0,并且计算多个异类样本距离的平均值,作为异类平均距离D1。选择大于同类平均距离D0且小于异类平均距离D1的值作为阈值D,如步骤S202所示。
针对上述经人工标注的多个已知类别中的每个已知类别,在属于该已知类别的多个样本中选择n个代表样本(n为正整数)。然后,对于列表文件L中的每个未标注文件,在特征文件F1中取出其特征向量,分别计算所取出的特征向量与一个已知类别的n个代表样本的特征向量(存储在特征文件F0中)之间的距离,并且对所计算的多个距离进行平均,获得平均距离M,如步骤S203所示。平均距离M表示该未标注样本与该已知类别之间的距离。
需要说明的是,虽然以上描述了计算所取出的特征向量与n个代表样本的特征向量之间的距离的平均值,作为平均距离M,但本发明的方案也可以计算所取出的特征向量与属于该已知类别的全部样本之间的距离的平均值,作为平均距离M。
然后在步骤S204判断所计算的平均距离M是否小于或等于阈值D。如果平均距离M小于或等于阈值D(步骤S204,“是”),则确定该未标注样本属于该已知类别,如步骤S205所示。如果平均距离M大于阈值D(步骤S204,“否”),则确定该未标注样本不属于该已知类别,如步骤S206所示。
然后在步骤S207确定是否存在尚未比较的另一已知类别。如果存在另一已知类别(步骤S207,“是”),则通过执行步骤S203-S206来确定该未标注样本是否属于该另一已知类别。如果不存在另一已知类别(步骤S207,“否”),说明该未标注样本已经与全部已知类别进行比较,并且其不属于任何一个已知类别,因此可以将该未标注样本分类到未知类别,如步骤S208所示。此外,特别地,如果在先前的处理中确定该未标注样本属于多于一个的已知类别,则也在步骤S208中将该未标注样本分类到未知类别。
然后,针对列表文件L中的其他各个未标注样本,通过执行步骤S203-S208以相同的方式来将其分类到某一已知类别或未知类别。
返回参照图1,在步骤S104之后,更多的样本被标注为已知类别。但是与步骤S101中的人工标注不同,步骤S104中的计算机自动标注可能存在错误。也就是说,样本可能被标注为错误的已知类别,或者本不属于任何已知类别的样本被标注为某一已知类别。因此,在步骤S105,由人工来检查步骤S104的标注结果。例如,当检查人员发现某一样本不属于所标注的已知类别时,检查人员将该样本分类到未知类别。此外,例如,当检查人员发现某一样本不属于所标注的已知类别,而应属于其他某一已知类别时,检查人员将该样本重新标注为该其他已知类别。需要说明的是,尽管本方法中需要人工检查标注结果,但相比于完全由人工来标注列表文件L中的全部样本的情况,使用本方法后人力劳动量仍是大大降低了。
在步骤S105之后所得到的被分类为未知类别的样本构成集合S。在步骤S106,对集合S中的样本进行聚类。以下将结合图3来描述根据本发明的聚类方法。
如上所述,集合S中的未标注样本的特征向量记录在特征文件F1中。因此,首先针对集合S中的一个样本A,分别计算其的特征向量与集合S中其他各个样本的特征向量之间的距离,如步骤S301所示。然后,在步骤S302将样本A与距离样本A最近的一个样本(样本B)聚在一起,形成一个层次1样本团。特别地,如果存在与样本A距离最近的多个样本(该多个样本与样本A的距离相同),则将样本A与该多个样本聚在一起,形成一个层次1样本团。
然后,在步骤S303判断集合S中是否存在未被聚合的下一个样本。如果存在未被处理的下一个样本C(步骤S303,“是”),则针对样本C执行步骤S301-S302的处理。也就是说,通过比较样本C与集合S中的其他各个样本(包括样本A)的距离,将样本C与距其最近的一个或多个样本聚在一起,形成一个层次1样本团。特别地,如果确定距离样本C最近的是样本A,而此时样本A已包含在某一个层次1样本团中,则将样本C也包含在同一个层次1样本团中。
如果在步骤S303中确定不存在未被处理的样本(步骤S303,“否”),则集合S中的所有样本均被聚合为层次1样本团。以下假设得到了K个层次1样本团,它们构成集合S1。K个层次1样本团各自可以包含不同数量的样本。
然后,针对集合S1中的一个层次1样本团A1,分别计算样本团A1与集合S1中其他各个样本团之间的特征向量距离,如步骤S304所示。两个样本团之间的特征向量距离可以被定义为它们各自包含的样本的特征向量两两之间的距离的平均值。例如,假设样本团A1中包含两个样本,其特征向量分别为a1和a2,另一样本团B1中包含两个样本,其特征向量分别为b1和b2,则样本团A1与样本团B1之间的特征向量距离可以定义如下:
(|a1-b1|+|a1-b2|+|a2-b1|+|a2-b2|)/4--等式1
根据所计算的多个特征向量距离,可以将样本团A1与距样本团A1最近的一个样本团(如样本团B1)聚在一起,从而形成一个层次2样本团,如步骤S305所示。特别地,如果存在与样本团A1距离最近的多个样本团,则可以将样本团A1与该多个样本团聚在一起,形成一个层次2样本团。
然后,在步骤S306判断集合S1中是否存在未被聚合的下一个层次1样本团。如果存在未被处理的下一个层次1样本团C1(步骤S306,“是”),则针对样本团C1执行步骤S304-S305的处理。也就是说,通过比较样本团C1与集合S1中的其他各个样本团(包括样本团A1)的特征向量距离,将样本团C1与距其最近的一个或多个样本团聚在一起,以形成一个层次2样本团。特别地,如果确定距离样本团C1最近的是样本团A1,而此时样本团A1已包含在某一个层次2样本团中,则将样本团C1也包含在同一个层次2样本团中。
如果在步骤S306中确定不存在未被处理的样本团(步骤S306,“否”),则集合S1中的所有样本团均被聚合为层次2样本团。
然后,针对所得到的多个层次2样本团,可以进行与上述对集合S1中的多个层次1样本团的处理相同的处理,从而将多个层次2样本团聚合为多个层次3样本团。然后以相同的方式将层次3样本团聚合为层次4样本团,以此类推。这样的聚类过程可以进行到形成最终的一个样本团为止,该最终的样本团包含集合S中的全部样本,如步骤S307所示。
根据本发明的聚类方法,较小的样本团逐渐聚合成更大的样本团,每个层次的样本团包括下一层次的两个或多个样本团,从而构成具有层级的树状结构。
返回参照图1,在步骤S106对集合S中的样本的自动聚类使得彼此相似程度高(特征向量距离近)的样本已经聚在一起,这将给后续的人工处理带来很大方便。
在步骤S107中,根据步骤S106的聚类结果,将集合S中的样本(未知类别的样本)显示给用户,以供用户对这些样本进行处理。下文将对此进行详细描述。
在步骤S108中,用户在所显示的样本中识别属于同一类别的样本,并将属于同一类别的样本合并为一个组。合并之后获得了对应于多个类别的多个组,然后可以将每个组中的样本标注为相应的类别,由此完成了对样本的标注。
在本发明的方案中,按照层次向用户显示样本。例如,层次0对应于未聚合的样本,层次1对应于通过聚合样本而获得的层次1样本团,层次2对应于通过聚合层次1样本团而获得的更大的层次2样本团,以此类推。
因此,可以对集合S中的样本生成层次1至层次n的表示,其中n>1。层次1的表示可以包括多个层次1样本团,每个层次1样本团可以包含多个样本。层次i(2≤i≤n)的表示可以包括至少一个层次i样本团,层次i-1的表示可以包括至少两个层次i-1样本团,每个层次i样本团包含多个层次i-1样本团。
以下将结合图4A所示的操作界面来具体描述步骤S107。在图4A的示例中,待标注的样本是汉字的小图片,文字图片显示了诸如“何”、“住”、“佛”、“仁”、“今”等文字。需要说明的是,文字图片仅是样本的一个示例,本发明的方案也可适用于除了文字图片之外的样本,例如人脸图像或显示其他内容的图像等等。
操作界面的窗口左上方的数字“18”表示自动聚类产生了18个层次,数字“6”表示当前处于层次6。用户可以利用按钮410在不同的层次之间切换。例如,点击向上箭头按钮,则上移一层,点击向下箭头按钮,则下移一层。此外,用户也可以在显示数字“6”的框中直接输入其他数值,以跳转到任意其他层次。
此外,窗口左下方的数字“1457”指示层次6的表示中共包含1457个层次6样本团,而数字“15”表示当前页面中显示的是其中第15个样本团中的样本。需要注意的是,图4A中仅示出了第15个样本团的部分样本,可以通过滚动窗口右侧的滚动条来查看第15个样本团中的其余样本。此外,用户可以利用按钮420在不同的层次6样本团之间切换。例如,点击向左箭头按钮,则显示前一个样本团的样本,点击向右箭头按钮,则显示后一个样本团的样本。用户也可以在显示数字“15”的框中直接输入其他数值,以跳转到任意其他样本团。
需要说明的是,本发明的方案并不限于图4A所示的用户操作界面的示例。例如,上述的18个层次和1457个样本团等等都是作为示例而给出的,旨在说明本发明的原理,而非限制本发明。
由图4A可以看出,在本发明中,针对每个层次,对应于该层次的多个样本团中的一个样本团的样本被显示为一个页面。根据上文所述的聚类过程可知,被聚合到同一个样本团中的样本都是特征向量距离彼此相近的,因而是相似程度高的样本。因此,将一个样本团的样本显示在一个页面中可以使得将相似程度高的样本显示在同一个页面,从而用户能够容易地在该页面中识别出属于同一类别的多个样本。
图4A所示的当前页面中显示了属于一个层次6样本团的样本。然而,根据上文所述的聚类过程可知,层次6样本团中包含的是多个层次5样本团,而不是直接包含样本。类似地,层次5样本团中包含的是多个层次4样本团,而不是直接包含样本。层次4至层次2的样本团也是如此。因此,在将属于同一个层次6样本团的样本显示在一个页面上的过程中,需要按照一定顺序将该层次6样本团“拆解”为样本的序列,然后依次将序列中的各个样本显示在页面上。以下将以层次6样本团为例,结合图5来描述拆解样本团的方法。可以以相同的方式来拆解其他层次的样本团。
在图5所示的示例中,层次6样本团A6包括两个层次5样本团A5和B5,样本团A5进而包括两个层次4样本团A4和B4,样本团A4进而包括两个层次3样本团A3和B3,样本团A3进而包括两个层次2样本团A2和B2,样本团A2进而包括两个层次1样本团A1和B1,层次1样本团A1和B1分别包含样本。为了简明,在图5中省略了样本团B5,B4,B3,B2的内部结构,易于理解的是,它们的内部结构分别与样本团A5,A4,A3,A2的类似,因此对它们的处理方法与以下描述的对样本团A5,A4,A3,A2的处理相同。此外,需要说明的是,为了简明,在图5中每个样本团被示出为包括两个较低层次的样本团,但本发明不限于此,每个样本团可以包括任何数量的(至少两个)较低层次的样本团。
在将层次6样本团A6拆解为样本序列的过程中,首先在序列中排列样本团A1的样本,之后接着的是样本团B1中的样本。此时,样本团A2中的样本已都排列在序列中。
之后接着排列样本团B2中的样本(处理方法与样本团A2相同)。此时,样本团A3中的样本已都排列在序列中。
在此之后接着排列样本团B3中的样本(处理方法与样本团A3相同)。此时,样本团A4中的样本已都排列在序列中。
在此之后接着排列样本团B4中的样本(处理方法与样本团A4相同)。此时,样本团A5中的样本已都排列在序列中。
在此之后接着排列样本团B5中的样本(处理方法与样本团A5相同)。此时,样本团A6中的样本已都排列在序列中。从而,层次6样本团A6被拆解为样本的序列。
然后,按照序列中的先后顺序将各个样本依次显示在页面中。由于属于同一个层次k(1≤k≤5)样本团的样本在序列中是彼此相邻,因此它们也被彼此相邻地显示在页面中。由于属于同一个样本团的样本都是相似程度高的样本,因此这种显示方式能够使得相似程度高的样本被显示为彼此相邻,从而更加便利于用户在该页面中识别属于同一类别的样本。
返回参照图4A,可以看出,在页面上所显示的样本当中,相似程度很高的样本彼此相邻,因此用户可以容易地在页面上识别出属于同一类别的样本。在这里,属于同一类别的文字图片都是表现同一个文字。
用户可以在页面上选择所识别的属于同一类别的多个样本,然后使用窗口右侧的按钮430来合并所选择的多个样本。在合并之后,在页面上仅显示被合并的多个样本中的一个代表样本,而不再显示其他样本,因为这些样本都是表现同一个文字。进一步地,该代表样本可以被显示为与页面中其他未合并的样本相区别,以向用户提示该样本代表了同一类别的多个样本。例如,图4A中以加框的方式显示了代表样本“仁”,以区别于其他未合并的样本。
用户可以使用窗口右侧的按钮440来具体查看代表样本“仁”所代表的多个样本。查看结果如图4B所示。例如,当用户发现图4B所示的多个样本中有某个样本是由于误操作而被错误地合并进来时,用户可以选择该样本,并且使用按钮460从所合并的多个样本中剔除该错误样本。此外,例如,当由于用户的误操作而使两个类别的样本被合并在一起并且显示在图4B中时,用户可以在窗口中选择属于其中一个类别的所有样本,然后通过使用按钮470来提取所选择的样本。所提取的样本将不再显示在图4B的窗口中,而是恢复显示在图4A的窗口中,例如,可以以未合并的形式来显示。
此外,用户可以使用图4A的窗口右侧的按钮450来取消对多个样本的合并,即,分解已合并的多个样本。被取消合并的多个样本将全部显示在页面上。
以下,将结合图6-图28来实现图1的步骤S106的聚类的数据结构。
假设集合S中共有N个样本。如图6所示,为集合S中的每个样本创建一个信息结点,其中记录了该样本的名称和特征向量。此外,为集合S中的每个样本创建一个叶子结点,其指向该样本的信息结点。
每个叶子结点的结构如图7所示,其中包括:①标志LFlag,其的值为非负整数,并且初始值为0;②指针p1、pp1、p2、pp2、p3、pp3、p4、leaf_head、leaf_tail,它们的初始值都为0。
此外,还定义用以指向叶子结点的头结点,该头结点的结构如图8所示,其中包括:①标志LFlag,其的值为非负整数,并且初始值为0;②指针previous、next、head,它们的初始值都为0。
图6中的叶子结点利用指针p2而指向信息结点。然后,通过指针p1和pp1将所有的叶子结点连接起来,构成双向链表,并且建立一个头结点,通过其指针head指向第一个叶子结点。此外,还定义一个尾指针,用以指向双向链表的最后一个结点。此时的数据组织结构如图9所示。然后,从叶子结点出发,开始进行聚类。
首先,使每个叶子结点的指针leaf_head和leaf_tail都指向自身,如图10所示。
然后,将第一个叶子结点从双向链表中取下来,头结点的指针head随即指向第二个叶子结点,如图11所示。为了简明,在图11中省略了信息结点,但易于理解的是,每个叶子结点仍然通过指针p2指向对应的信息结点,与图10一样。因此,每个叶子结点可以通过指针p2找到它所对应的样本的特征向量。在取下第一个叶子结点后,将它所对应的样本的特征向量逐一地与其余结点的样本的特征向量进行比较,计算特征向量之间的距离,并且找到最小距离。假设其与第k个结点的样本的特征向量之间的距离最小,那么将第k个结点也从链表中取下,如图12所示。
接下来进行“结点聚合”操作。具体来说,创建一个新结点,并将它与第1个和第k个叶子结点按照图13所示的方式通过指针组装起来。这个新结点的结构与叶子结点相同,如图7所示。然而不同于叶子结点,这个新结点的标志LFlag被赋值为1,因为它不是层次0的结点(叶子结点是层次0的结点),而是层次1的结点。这个新结点的编号为1-1,表示它是层次1的第1个结点。
叶子结点1与叶子结点k通过指针p1和pp1而构成双向链表,它们是同层结点。结点1-1是叶子结点1与叶子结点k的上层结点。由图13可见,结点1-1通过指针p2指向叶子结点1,叶子结点1和叶子结点k通过指针pp2指向结点1-1。在下文中将继续沿用这一规则,即,利用指针p2指向下层结点,利用指针pp2指向上层结点。
将叶子结点1的leaf_tail所指向的目标结点与叶子结点k的leaf_head所指向的目标结点通过指针p3和pp3构成双向链表。然后,使结点1-1的leaf_head指向叶子结点1的leaf_head所指向的目标结点,使结点1-1的leaf_tail指向叶子结点k的leaf_tail所指向的目标结点。由于叶子结点1和叶子结点k的指针leaf_head和leaf_tail都指向其自身,所以结果如图14所示。
需要说明的是,图13和图14共同地示出叶子结点1和叶子结点k的聚合操作,虽然为了简明,在图14中省略了在图13中出现过的指针,但需要明白的是,所有指针在图13和图14中都是存在的。图13所示的连接被称为结点聚合的“基本连接”,图14所示的连接被称为结点聚合的“底层连接”。在实现图14的连接之后,将结点1-1添加到原来的双向链表的末尾,并使尾指针指向它,如图15所示。至此,完成了叶子结点1和叶子结点k的聚合操作。
接下来,以图11所示的相同方式,将图15中的叶子结点2从双向链表中取下。然后,将叶子结点2所对应的样本的特征向量逐一地与其余结点的样本的特征向量进行比较,计算特征向量之间的距离,并且找到最小距离,如图16所示。假设其与叶子结点j的样本的特征向量之间的距离最小。
如果叶子结点j是叶子结点3至叶子结点N中的一个,那么以图13-图15所示的相同方式,将叶子结点2与叶子结点j组装起来,挂在新建的结点1-2下。此外,将结点1-2添加到双向链表的末尾,并使尾指针指向它,如图17所示。
如果叶子结点j是叶子结点1或叶子结点k,那么直接将叶子结点2插入到叶子结点j之后,而无需生成新的结点。图18和图19示出了叶子结点j是叶子结点1时的情况,其中图18示出了基本连接,图19示出了底层连接。图20和图21示出了叶子结点j是叶子结点k时的情况,其中图20示出了基本连接,图21示出了底层连接。
需要说明的是,虽然图中未示出叶子结点2的指针pp2,但应理解的是,在图18和图20所示的插入之后,叶子结点2的指针pp2指向它的上层结点1-1。在图21中,因为叶子结点2替代叶子结点k而成为结点1-1下挂的子链表的新末尾,所以结点1-1的指针leaf_tail的指向发生了改变(与图14相比)。
在完成叶子结点2与叶子结点j的聚合之后,将叶子结点3从双向链表中取下,并且以图16所示的相同方式,将叶子结点3所对应的样本的特征向量逐一地与其余结点的样本的特征向量进行比较,计算特征向量之间的距离,并且找到最小距离。然后以图17-图21所示的方式进行叶子结点3与最小距离所对应的结点的聚合。以此方式进行下去,直到针对叶子结点N完成结点聚合。此时,顶层结点全部变成层次1结点,所有叶子结点(层次0结点)都挂在它们之下,一个可能的示例如图22所示。
接下来,以上述方法,对结点1-1、结点1-2、……、结点1-m进行结点聚合。具体来说,首先将结点1-1从图22所示的双向链表中取下,结果如图23所示。需要说明的是,虽然为了简明在图23中省略了叶子结点,但应理解的是,图23中的结点1-1至结点1-m中的每一个结点之下都挂着相应的一串叶子结点(通过指针p2),与图22所示的一样。结点1-1至结点1-m是根据本发明的聚类方法所生成的层次1样本团。
然后,在结点1-2至结点1-m中寻找与结点1-1的特征向量距离最近的一个结点,换言之,寻找样本团之间的特征向量距离中的最小距离。因此,需要计算m-1次样本团特征向量距离。样本团特征向量距离的定义已在前文给出,如等式1所示。
假设与结点1-1的特征向量距离最近的是结点1-n,那么对结点1-1和结点1-n进行聚合。首先,创建一个编号为2-1的层次2结点,其标志LFlag的值为2。然后,在结点2-1、结点1-1、结点1-n三者之间建立基本连接,确立上下层关系,如图24所示。之后,在结点2-1、结点1-1、结点1-n三者之间建立底层连接,如图25所示。在图25中示意性地示出了:叶子结点1、k、2挂在结点1-1之下,叶子结点17-318挂在结点1-n之下。本领域技术人员易于理解的是还可以存在其他的情况。此外,为了简明,图25中没有示出图24中的指针p1、pp1以及两个指针pp2,但应当理解这些指针是存在的。
由图25可以看出,无论结点位于哪个层次,它的指针leaf_head始终指向它拥有的第一个叶子结点,它的指针leaf_tail始终指向它拥有的最后一个叶子结点。此外,处于底层的叶子结点通过指针p3和pp3构成双向链表。因此,在计算样本团之间的特征向量距离时,将很容易索引到每个样本团所拥有的所有叶子结点,以便计算这些叶子结点所对应的样本的特征向量之间的距离。
将新建的层次2结点2-1添加到图23所示的双向链表的末尾,并使尾指针指向它,如图26所示。之后,以类似于结点1-1的方式,依次取下结点1-2至结点1-m并对其进行处理,最后顶层结点全都变成层次2结点,如图27所示,其中示出了h个层次2结点。层次2结点相比于层次1结点而言,是更大的样本团。
以此方式继续进行结点聚合,从而依次生成层次3结点、层次4结点等等。随着层次的升高,顶层结点的数目越来越少,直到最终顶层只剩下1个结点为止。此时得到一个最大的样本团,其拥有所有的样本,而在其之下通过不同层次的结点构成了树状结构。为了便于索引每一层的结点,对每一层创建一个行首结点,用以指向该层的第一个结点。行首结点与图8所示的头结点的结构相同。如图28所示,行首结点挂在头结点之下,并且通过指针next和previous构成一个纵向的双向链表。此外,通过指针p3和pp3,每一层的所有结点构成一个横向的双向链表。这样便得到了图1中的步骤S106的聚类的最终结果。
在图28中,头结点的标志LFlag的值为18,这是由样本总数决定的。行首结点w(w=0,1,2,...,17)的标志LFlag的值为w。第i层(i=1,2,...,18)的每个结点的标志LFlag的值为i。第0层的结点是叶子结点,因而其标志LFlag的值为0。
此外,在每一层中,除了第一个结点仍然位于最先位置之外,其余结点的位置顺序都打乱了,这是因为在聚类过程中是基于样本的特征向量之间的距离来生成样本团的。因此,图28中第0层的行尾结点是“叶子M”,而不再是最初的“叶子N”。同样地,图28中第1层的行尾结点是“结点1-s”,而不再是原先的“结点1-m”。此外,为了简明在图28中省略了指针p1、pp1、pp2,但应当明白这些指针都是存在的。
以下将结合图29-图38来描述使用图28所示的聚类结果来标注样本的数据结构。此外,图4A和4B示出了用于人工标注样本的操作界面,因此在以下描述中也将参考图4A和4B。
首先,对于每个叶子结点建立对应的影子结点和影子指针结点,并在它们之间建立如图29所示的连接关系。每个叶子结点通过p4指针指向对应的影子结点,每个影子结点通过p4指针指向对应的影子指针结点,每个影子指针结点通过p5指针指向其所对应的影子结点。
每个影子结点的结构如图30所示,其中标志UFlag的值为0或1,且初始值为0。p1、pp1、p2、pp2、p4表示指针。在初始状态,通过指针p1和pp1将N个(如前文所述,N为集合S中的样本总数)影子结点连成一个双向链表。图29中每个影子结点的指针p2都被赋予对应叶子结点的指针p2的值,也就是指向对应样本的信息结点。在初始状态,每个影子结点的pp2指针都为0。
每个影子指针结点的结构如图31所示,其中标志CFlag的值为0或1,且初始值为0。tp、tpp、p5、p_data表示指针。图29中每个影子指针结点的指针p_data都被赋予对应叶子结点的指针p2的值,也就是指向对应样本的信息结点。在初始状态,每个影子指针结点的指针tp和tpp都为0。
图4A所示的待标注样本是文字图片,每个文字图片的文件名和存储路径被保存在如图9所示的信息结点中。如上文所述,图4A的窗口左上方的数字“18”表示聚类产生了18个层次,这与图28所示的18个层次一致。此外,如上文所述,图4A的窗口左下方的数字“1457”表示在层次6存在1457个层次6样本团,虽然图28中没有示出第6层,但易于理解的是,“行首结点6”所指向的一行中存在1457个结点,其编号为6-1、6-2、……、6-1457。
在图4A中用户通过点击向上箭头按钮410可以使层次上移一层,这对应于在图28中上移到结点6-15的指针pp2所指向的上一层结点。类似地,在图4A中通过点击向下箭头按钮410使层次下移一层对应于在图28中下移到结点6-15的指针p2所指向的下一层结点。此外,在图4A中用户通过点击向左箭头按钮420可以在页面中显示前一个样本团的样本,这对应于在图28中左移到结点6-14。类似地,在图4A中通过点击向右箭头按钮420来显示后一个样本团的样本对应于在图28中右移到结点6-16。
仍然基于结点6-15来进行描述。由结点6-15的指针leaf_head和leaf_tail可以限定底层叶子结点的一个范围,该范围中的底层叶子结点通过指针p3和pp3构成双向链表,它们是结点6-15下属的叶子结点的集合,记为SLL6-15。由图29可知,在初始状态,集合SLL6-15中的每一个叶子结点具有对应的影子结点和影子指针结点。首先,通过结点6-15的指针leaf_head访问集合SLL6-15中的第一个叶子结点,然后通过指针p3遍历集合SLL6-15中的叶子结点,在到达指针leaf_tail时终止。在这个遍历过程中,针对所访问的每一个叶子结点,通过指针p4访问其对应的影子结点,然后确定该影子结点的指针pp2的值是否为0。需要说明的是,虽然在初始状态该指针pp2的值为0,但是经过人工处理之后指针pp2的值将不一定为0。
如果确定影子结点的指针pp2的值不为0,则访问该指针pp2所指向的上层影子结点。如果确定影子结点的指针pp2的值为0,则通过影子结点的指针p4访问其对应的影子指针结点。通过指针tp和tpp将这些影子指针结点连成一个临时双向链表,并且由临时的链表头指针t_head指向该临时双向链表的第一个结点,如图32所示。
在此基础上,可以遍历集合SLL6-15中的所有叶子结点所对应的影子指针结点。通过每个影子指针结点的指针p_data访问对应的样本信息结点,从中提取文字图片的文件名和存储路径信息。从而,可以从存储位置读取文字图片,并将其显示在图4A所示的操作界面上。
如上文所述,用户在页面中选择属于同一类别的样本图片后,可以对其执行合并操作,该合并操作是通过对影子结点的操作而实现的,以下进行详细描述。
由于通过影子指针结点的指针p_data访问样本信息结点,从而将样本(文字图片)显示在操作界面上,所以在操作界面上所显示的文字图片和影子指针结点之间存在关联关系。假设用户选择了与影子指针结点k至影子指针结点u相对应的多个文字图片以进行合并。图33示意性地示出了影子指针结点k至影子指针结点u被选择。
首先,将被选择的影子指针结点k所对应的影子结点k从其所在的双向链表中取下,并且建立一个具有图30所示结构的影子结点1-1。影子结点1-1替代于影子结点k被放置在双向链表中影子结点k原先的位置处,并且使影子结点1-1的指针p2指向影子结点k。
然后,将其余被选择的影子指针结点所对应的影子结点从双向链表中取下,通过指针p1和pp1在影子结点k之后构成一条双向链表。使影子结点k到影子结点u的指针pp2都指向影子结点1-1。
然后,删除被选择的影子指针结点当中的除了影子指针结点k之外的其余影子指针结点。使影子指针结点k的指针p5指向影子结点1-1,并且使影子结点1-1的指针p4指向影子指针结点k。将影子指针结点k重命名为“影子指针结点1-1”。影子指针结点1-1是通过改造影子指针结点k而获得的,其指针p_data不发生改变,仍然指向影子结点k所对应的样本信息结点。
图34和图35示出了执行上述处理之后所得的结果。需要说明的是,图34和图35共同地示出结果,在一个图中示出的连接也存在于另一个图中,虽然在该另一个图中未示出。
由图34可见,与影子指针结点k至影子指针结点u对应的影子结点k至影子结点u被合并在一起,挂在新的影子结点1-1之下,影子指针结点也由多个减少到一个。相应地,在用户操作界面上,仅显示与影子指针结点k对应的文字图片,与被删除的其余影子指针结点对应的文字图片都不再显示。
另外,如上文所述,用户通过操作图4A所示操作界面中的按钮410可以切换至上一层次或下一层次。以上移一层的情况为例,其对应于到达图28中的结点6-15的指针pp2所指向的上层结点处。假设该上层结点为结点7-10,那么结点7-10下属的叶子结点的集合SLL7-10显然包含比集合SLL6-15更多的叶子结点,相应地包含更多的影子结点。通过遍历集合SLL7-10,可以找到所对应的影子指针结点,并通过指针tp和tpp在它们之间建立临时双向链表,如图36所示。
在遍历集合SLL6-15时,针对所访问的每一个叶子结点,通过指针p4访问其对应的影子结点并且确定该影子结点的指针pp2的值是否为0,如果不为0,则访问该指针pp2所指向的上层影子结点。在遍历集合SLL7-10时也采用同样的处理,而且此时确实会遇到指针pp2的值不为0的影子结点,即,图36中的影子结点k至影子结点u。在此情况下,通过访问指针pp2所指向的上层影子结点,可以找到代表了一个类别的顶层影子结点,例如在图36中影子结点1-1、影子结点s、影子结点t都是顶层影子结点,它们分别代表三个类别,只是影子结点s和影子结点t各自所代表的类别中只包含一个样本。
在找到顶层影子结点之后,可以通过指针p4访问所对应的影子指针结点,并进而通过指针tp和tpp使影子指针结点构成一个临时双向链表。然后,遍历该临时双向链表,通过每个影子指针结点的指针p_data访问对应的样本信息结点,从中提取文字图片的文件名和存储路径信息,进而可以从存储位置读取文字图片,并将其显示在操作界面上。然而,此时可能存在以下问题:多个叶子结点可能对应于同一个顶层影子结点。例如在遍历集合SLL7-10时,从与图36中的影子结点k至影子结点u相对应的叶子结点出发,都到达同一个顶层影子结点1-1。针对此问题,可以对集合SLL7-10遍历两遍。在第一遍遍历时,将每个顶层影子结点的标志UFlag(参见图30)设置为1。当在第二遍遍历中再次访问每个顶层影子结点时,首先确定其标志UFlag的值是否为1。如果标志UFlag的值为1,则将对应的影子指针结点加入到通过指针tp和tpp而构成的临时链表中,然后将标志UFlag清零。如果标志UFlag的值为0,则继续遍历集合SLL7-10中的后续叶子结点。以此方式,可以确保通过每个顶层影子结点只提取一次文字图片的信息,从而使得针对每个类别只在操作界面上显示一个文字图片。
另一方面,由图31可见,每个影子指针结点也具有标志CFlag。标志CFlag用于指示该影子指针结点所指向的是一个单独的影子结点(代表只包含一个样本的类别),还是影子结点团(代表包含多个样本的类别)。如果所指向的是一个单独的影子结点,则标志CFlag的值为0,如果所指向的是影子结点团,则标志CFlag的值为1。例如,在图34所示的合并结果的情况下,将影子指针结点1-1的标志CFlag的值设置为1,将影子指针结点s和影子指针结点t的标志CFlag的值保持为0。如果影子指针结点的标志CFlag的值为1,则在操作界面上显示样本图片时,将通过该影子指针结点而提取的文字图片作为代表样本而区别性地进行显示。
在图36所示情况的基础上可以进行进一步合并。例如,如果用户将与影子指针结点t和影子指针结点a相对应的两个文字图片进行合并,则合并结果如图37所示。如果用户进一步将与图37中的影子指针结点1-1和影子指针结点1-2相对应的两个文字图片进行合并,则合并结果如图38所示。可以看出,在这次合并之后,并没有像图24那样生成一个更高层的结点,而是直接将影子结点1-2下属的两个影子结点t和a附加到影子结点1-1下属的双向链表的末尾。因此,由用户进行合并的结果不会生成类似于图28所示的多层次树状结构,而是得到一个简单的线状结构,即,每个顶层影子结点对应于一个影子指针结点,并且其代表一个类别。如果该类别中包含的样本数量大于1,则这个影子结点下面会悬挂一个双向链表。因此,经用户合并之后,得到X个类别,就有X个影子指针结点,以及X个顶层影子结点。
如上文所示,用户可以使用图4A中的窗口右侧的按钮440来查看代表样本“仁”所代表的多个样本,并且查看结果如图4B所示。代表样本“仁”可以对应于图38中的影子结点1-1,并且图4B中的表现文字“仁”的多个图片可以对应于图38中的影子结点k至影子结点a。
如果用户查看后发现图4B所示的多个样本中有某个样本是由于误操作而被错误地合并进来,则用户可以使用按钮460来剔除该错误样本。例如,如果图38中的影子结点t和影子结点a对应于由于用户的误操作而合并的样本,则在用户执行“剔除”操作之后,图38所示的结构会恢复为图36所示的结构。
此外,如果用户发现图4B所示的多个样本中包含属于两个类别的样本,则用户可以选择属于其中一个类别的样本,并利用按钮470将所选择的样本提取为一个新的类别。例如,如果图38中的影子结点t和影子结点a对应于被用户选择的属于其中一个类别的样本,则在用户执行“提取成类”操作之后,图38所示的结构会恢复为图37所示的结构。
当用户利用图4A和图4B所示的操作界面完成了对集合S中的所有未标注样本的处理之后,属于同一类别的样本被合并为一个组,从而获得了对应于多个类别的多个组。然后,可以将每个组中的样本标注为相应的类别,由此完成了对样本的标注。
需要说明的是,用户在图4A的操作界面中只需选择某一层次,并针对该层次上的全部样本团(页面)进行处理,就可以完成对集合S中的所有样本的标注,而无需在每个层次上都进行处理。层次越低,一个样本团中包含的样本彼此相似程度越高,但是样本的数量较少,因此一个样本团可能不足以覆盖属于同一类别的全部样本。反之,层次越高,一个样本团中的样本的数量越多,易于覆盖属于同一类别的全部样本,但是部分样本之间的相似程度可能较低。因此在操作中,用户可以根据实际情况选择适当的层次。
以上已经结合实施例描述了本发明提出的计算机辅助的对样本进行标注的方法以及相应的数据结构。利用该方法,能够极大地降低人力工作量。例如,当每一类别的平均样本数量为150个左右时,相比于完全由人工标注样本的情况,本发明的方法可以将效率大约提高100倍以上。
在上述实施例中描述的方法可以由软件、硬件或者软件和硬件的组合来实现。包括在软件中的程序可以事先存储在设备的内部或外部所设置的存储介质中。作为一个示例,在执行期间,这些程序被写入随机存取存储器(RAM)并且由处理器(例如CPU)来执行,从而实现在本文中描述的各种处理。
图39示出了根据程序执行本发明的方法的计算机硬件的示例配置框图,该计算机硬件是根据本发明的用于标注样本的设备的一个示例。
如图39所示,在计算机600中,中央处理单元(CPU)601、只读存储器(ROM)602以及随机存取存储器(RAM)603通过总线604彼此连接。
输入/输出接口605进一步与总线604连接。输入/输出接口605连接有以下组件:以键盘、鼠标、麦克风等形成的输入单元606;以显示器、扬声器等形成的输出单元607;以硬盘、非易失性存储器等形成的存储单元608;以网络接口卡(诸如局域网(LAN)卡、调制解调器等)形成的通信单元609;以及驱动移动介质611的驱动器610,该移动介质611例如是磁盘、光盘、磁光盘或半导体存储器。
在具有上述结构的计算机中,CPU 601将存储在存储单元608中的程序经由输入/输出接口605和总线604加载到RAM 603中,并且执行该程序,以便执行上文中描述的方法。
要由计算机(CPU 601)执行的程序可以被记录在作为封装介质的移动介质611上,该封装介质以例如磁盘(包括软盘)、光盘(包括压缩光盘-只读存储器(CD-ROM))、数字多功能光盘(DVD)等)、磁光盘、或半导体存储器来形成。此外,要由计算机(CPU 601)执行的程序也可以经由诸如局域网、因特网、或数字卫星广播的有线或无线传输介质来提供。
当移动介质611安装在驱动器610中时,可以将程序经由输入/输出接口605安装在存储单元608中。另外,可以经由有线或无线传输介质由通信单元609来接收程序,并且将程序安装在存储单元608中。可替选地,可以将程序预先安装在ROM 602或存储单元608中。
由计算机执行的程序可以是根据本说明书中描述的顺序来执行处理的程序,或者可以是并行地执行处理或当需要时(诸如,当调用时)执行处理的程序。
本文中所描述的设备或单元仅是逻辑意义上的,并不严格对应于物理设备或实体。例如,本文所描述的每个单元的功能可能由多个物理实体来实现,或者,本文所描述的多个单元的功能可能由单个物理实体来实现。此外,在一个实施例中描述的特征、部件、元素、步骤等并不局限于该实施例,而是也可以应用于其它实施例,例如替代其它实施例中的特定特征、部件、元素、步骤等,或者与其相结合。
以上已经结合附图详细描述了本发明的实施例以及技术效果,但是本发明的范围不限于此。本领域普通技术人员应该理解的是,取决于设计要求和其他因素,在不偏离本发明的原理和精神的情况下,可以对本文中所讨论的实施方式进行各种修改或变化。本发明的范围由所附权利要求或其等同方案来限定。
附记:
(1)一种计算机实现的对多个样本进行标注的方法,包括:
对所述多个样本中的每个样本提取特征向量;
针对每个样本:
针对多个已知类别中的每个已知类别,确定所述样本的特征向量与属于所述已知类别的多个样本的特征向量之间的距离,并且计算所确定的多个距离的平均值;
当所述平均值小于预定阈值时,将所述样本标注为所述已知类别;以及
当所述样本未被标注为所述多个已知类别中的任何已知类别时,将所述样本分类为未知类别;
针对被分类为未知类别的多个样本:
生成所述未知类别的多个样本的层次1至层次n的表示,其中n>1,其中,层次1的表示包括多个层次1样本团,层次i的表示包括至少一个层次i样本团,层次i-1的表示包括至少两个层次i-1样本团,其中2≤i≤n,其中,每个层次i样本团包含多个层次i-1样本团,每个层次1样本团包含多个样本;
针对层次1至层次n中的每个层次,显示所述层次的表示中所包括的各个样本团,其中,单个样本团所包含的所有样本被显示为一个页面;以及
将用户在所述页面中选择的多个样本标注为同一类别。
(2)根据(1)所述的方法,其中,在单个层次i样本团所包含的样本被显示的页面中,属于所述单个层次i样本团中包含的同一个层次k样本团的样本被显示为彼此相邻,其中1≤k≤i-1。
(3)根据(1)所述的方法,还包括:根据用户对被标注为所述已知类别的样本的检查结果,将不应被标注为所述已知类别的样本分类为所述未知类别。
(4)根据(1)所述的方法,还包括:
针对被分类为未知类别的多个样本,
确定每个样本的特征向量与其他各个样本的特征向量之间的距离,并且将所述样本与距离最近的一个或多个其他样本形成为一个层次1样本团,以及
针对每个层次i-1样本团,确定所述层次i-1样本团与其他各个层次i-1样本团之间的特征向量距离,并且将所述层次i-1样本团与距离最近的一个或多个其他层次i-1样本团形成为一个层次i样本团。
(5)根据(4)所述的方法,还包括:当距离最近的其他样本已包含在特定的层次1样本团中时,将所述样本包含在所述特定的层次1样本团中。
(6)根据(4)所述的方法,还包括:当距离最近的其他层次i-1样本团已包含在特定的层次i样本团中时,将所述层次i-1样本团包含在所述特定的层次i样本团中。
(7)根据(4)所述的方法,还包括:
分别确定所述层次i-1样本团中包含的每个样本的特征向量与其他层次i-1样本团中包含的每个样本的特征向量之间的距离;以及
计算所确定的多个距离的平均值,作为所述层次i-1样本团与所述其他层次i-1样本团之间的特征向量距离。
(8)根据(1)所述的方法,还包括:
计算属于同一已知类别的多个样本的特征向量之间的距离,作为同类样本距离,并且计算多个所述同类样本距离的平均值,作为同类平均距离;
计算属于不同已知类别的多个样本的特征向量之间的距离,作为异类样本距离,并且计算多个所述异类样本距离的平均值,作为异类平均距离;以及
选择大于所述同类平均距离且小于所述异类平均距离的值作为所述预定阈值。
(9)根据(1)所述的方法,还包括:
将用户在所述页面中选择的多个样本进行合并;以及
在所述页面中仅显示被合并的多个样本中的一个样本,作为被合并的多个样本的代表,其中,所述代表被显示为与未合并的样本相区别。
(10)根据(9)所述的方法,还包括:响应于用户的指令,对所述被合并的多个样本取消合并,并且在所述页面上显示被取消合并的多个样本。
(11)一种用于对多个样本进行标注的设备,所述设备包括:
存储器;以及
处理器,所述处理器被配置为执行根据(1)所述的用于对多个样本进行标注的方法。
(12)一种存储有程序的记录介质,所述程序在被计算机执行时,使得计算机实现根据(1)所述的用于对多个样本进行标注的方法。
Claims (10)
1.一种计算机实现的对多个样本进行标注的方法,包括:
对所述多个样本中的每个样本提取特征向量;
针对每个样本:
针对多个已知类别中的每个已知类别,确定所述样本的特征向量与属于所述已知类别的多个样本的特征向量之间的距离,并且计算所确定的多个距离的平均值;
当所述平均值小于预定阈值时,将所述样本标注为所述已知类别;以及
当所述样本未被标注为所述多个已知类别中的任何已知类别时,将所述样本分类为未知类别;
针对被分类为未知类别的多个样本:
生成所述未知类别的多个样本的层次1至层次n的表示,其中n>1,其中,层次1的表示包括多个层次1样本团,层次i的表示包括至少一个层次i样本团,层次i-1的表示包括至少两个层次i-1样本团,其中2≤i≤n,其中,每个层次i样本团包含多个层次i-1样本团,每个层次1样本团包含多个样本;
针对层次1至层次n中的每个层次,显示所述层次的表示中所包括的各个样本团,其中,单个样本团所包含的所有样本被显示为一个页面;以及
将用户在所述页面中选择的多个样本标注为同一类别。
2.根据权利要求1所述的方法,其中,在单个层次i样本团所包含的样本被显示的页面中,属于所述单个层次i样本团中包含的同一个层次k样本团的样本被显示为彼此相邻,其中1≤k≤i-1。
3.根据权利要求1所述的方法,还包括:
根据用户对被标注为所述已知类别的样本的检查结果,将不应被标注为所述已知类别的样本分类为所述未知类别。
4.根据权利要求1所述的方法,还包括:
针对被分类为未知类别的多个样本,
确定每个样本的特征向量与其他各个样本的特征向量之间的距离,并且将所述样本与距离最近的一个或多个其他样本形成为一个层次1样本团,以及
针对每个层次i-1样本团,确定所述层次i-1样本团与其他各个层次i-1样本团之间的特征向量距离,并且将所述层次i-1样本团与距离最近的一个或多个其他层次i-1样本团形成为一个层次i样本团。
5.根据权利要求4所述的方法,还包括:
当距离最近的其他样本已包含在特定的层次1样本团中时,将所述样本包含在所述特定的层次1样本团中。
6.根据权利要求4所述的方法,还包括:
当距离最近的其他层次i-1样本团已包含在特定的层次i样本团中时,将所述层次i-1样本团包含在所述特定的层次i样本团中。
7.根据权利要求4所述的方法,还包括:
分别确定所述层次i-1样本团中包含的每个样本的特征向量与其他层次i-1样本团中包含的每个样本的特征向量之间的距离;以及
计算所确定的多个距离的平均值,作为所述层次i-1样本团与所述其他层次i-1样本团之间的特征向量距离。
8.根据权利要求1所述的方法,还包括:
计算属于同一已知类别的多个样本的特征向量之间的距离,作为同类样本距离,并且计算多个所述同类样本距离的平均值,作为同类平均距离;
计算属于不同已知类别的多个样本的特征向量之间的距离,作为异类样本距离,并且计算多个所述异类样本距离的平均值,作为异类平均距离;以及
选择大于所述同类平均距离且小于所述异类平均距离的值作为所述预定阈值。
9.根据权利要求1所述的方法,还包括:
将用户在所述页面中选择的多个样本进行合并;以及
在所述页面中仅显示被合并的多个样本中的一个样本,作为被合并的多个样本的代表,其中,所述代表被显示为与未合并的样本相区别。
10.根据权利要求9所述的方法,还包括:响应于用户的指令,对所述被合并的多个样本取消合并,并且在所述页面上显示被取消合并的多个样本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810303792.8A CN110348465B (zh) | 2018-04-03 | 2018-04-03 | 用于标注样本的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810303792.8A CN110348465B (zh) | 2018-04-03 | 2018-04-03 | 用于标注样本的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110348465A true CN110348465A (zh) | 2019-10-18 |
CN110348465B CN110348465B (zh) | 2022-10-18 |
Family
ID=68172982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810303792.8A Active CN110348465B (zh) | 2018-04-03 | 2018-04-03 | 用于标注样本的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110348465B (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5060277A (en) * | 1985-10-10 | 1991-10-22 | Palantir Corporation | Pattern classification means using feature vector regions preconstructed from reference data |
US5329596A (en) * | 1991-09-11 | 1994-07-12 | Hitachi, Ltd. | Automatic clustering method |
US20060008151A1 (en) * | 2004-06-30 | 2006-01-12 | National Instruments Corporation | Shape feature extraction and classification |
US20070061319A1 (en) * | 2005-09-09 | 2007-03-15 | Xerox Corporation | Method for document clustering based on page layout attributes |
US20100030780A1 (en) * | 2008-07-30 | 2010-02-04 | Kave Eshghi | Identifying related objects in a computer database |
JP2010250814A (ja) * | 2009-04-14 | 2010-11-04 | Nec (China) Co Ltd | 品詞タグ付けシステム、品詞タグ付けモデルのトレーニング装置および方法 |
US20110106734A1 (en) * | 2009-04-24 | 2011-05-05 | Terrance Boult | System and appartus for failure prediction and fusion in classification and recognition |
US20110113385A1 (en) * | 2009-11-06 | 2011-05-12 | Craig Peter Sayers | Visually representing a hierarchy of category nodes |
US20140032450A1 (en) * | 2012-07-30 | 2014-01-30 | Choudur Lakshminarayan | Classifying unclassified samples |
US20140236486A1 (en) * | 2013-02-21 | 2014-08-21 | Saudi Arabian Oil Company | Methods, Program Code, Computer Readable Media, and Apparatus For Predicting Matrix Permeability By Optimization and Variance Correction of K-Nearest Neighbors |
CN104462614A (zh) * | 2015-01-14 | 2015-03-25 | 苏州大学 | 一种基于网络数据的主动学习方法及装置 |
US9152703B1 (en) * | 2013-02-28 | 2015-10-06 | Symantec Corporation | Systems and methods for clustering data samples |
US20170116728A1 (en) * | 2015-10-22 | 2017-04-27 | International Business Machines Corporation | Viewpoint recognition in computer tomography images |
CN107506799A (zh) * | 2017-09-01 | 2017-12-22 | 北京大学 | 一种基于深度神经网络的开集类别发掘与扩展方法与装置 |
WO2018001384A1 (zh) * | 2016-07-01 | 2018-01-04 | 北京市商汤科技开发有限公司 | 数据处理、数据识别方法和装置、计算机设备 |
CN107766864A (zh) * | 2016-08-23 | 2018-03-06 | 阿里巴巴集团控股有限公司 | 提取特征的方法和装置、物体识别的方法和装置 |
-
2018
- 2018-04-03 CN CN201810303792.8A patent/CN110348465B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5060277A (en) * | 1985-10-10 | 1991-10-22 | Palantir Corporation | Pattern classification means using feature vector regions preconstructed from reference data |
US5329596A (en) * | 1991-09-11 | 1994-07-12 | Hitachi, Ltd. | Automatic clustering method |
US20060008151A1 (en) * | 2004-06-30 | 2006-01-12 | National Instruments Corporation | Shape feature extraction and classification |
US20070061319A1 (en) * | 2005-09-09 | 2007-03-15 | Xerox Corporation | Method for document clustering based on page layout attributes |
US20100030780A1 (en) * | 2008-07-30 | 2010-02-04 | Kave Eshghi | Identifying related objects in a computer database |
JP2010250814A (ja) * | 2009-04-14 | 2010-11-04 | Nec (China) Co Ltd | 品詞タグ付けシステム、品詞タグ付けモデルのトレーニング装置および方法 |
US20110106734A1 (en) * | 2009-04-24 | 2011-05-05 | Terrance Boult | System and appartus for failure prediction and fusion in classification and recognition |
US20110113385A1 (en) * | 2009-11-06 | 2011-05-12 | Craig Peter Sayers | Visually representing a hierarchy of category nodes |
US20140032450A1 (en) * | 2012-07-30 | 2014-01-30 | Choudur Lakshminarayan | Classifying unclassified samples |
US20140236486A1 (en) * | 2013-02-21 | 2014-08-21 | Saudi Arabian Oil Company | Methods, Program Code, Computer Readable Media, and Apparatus For Predicting Matrix Permeability By Optimization and Variance Correction of K-Nearest Neighbors |
US9152703B1 (en) * | 2013-02-28 | 2015-10-06 | Symantec Corporation | Systems and methods for clustering data samples |
CN104462614A (zh) * | 2015-01-14 | 2015-03-25 | 苏州大学 | 一种基于网络数据的主动学习方法及装置 |
US20170116728A1 (en) * | 2015-10-22 | 2017-04-27 | International Business Machines Corporation | Viewpoint recognition in computer tomography images |
WO2018001384A1 (zh) * | 2016-07-01 | 2018-01-04 | 北京市商汤科技开发有限公司 | 数据处理、数据识别方法和装置、计算机设备 |
CN107766864A (zh) * | 2016-08-23 | 2018-03-06 | 阿里巴巴集团控股有限公司 | 提取特征的方法和装置、物体识别的方法和装置 |
CN107506799A (zh) * | 2017-09-01 | 2017-12-22 | 北京大学 | 一种基于深度神经网络的开集类别发掘与扩展方法与装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110348465B (zh) | 2022-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112069415B (zh) | 一种基于异构属性网络表征学习的兴趣点推荐方法 | |
JP6629678B2 (ja) | 機械学習装置 | |
JP5134628B2 (ja) | 連続する記事部分の媒体資料解析 | |
CN104573130B (zh) | 基于群体计算的实体解析方法及装置 | |
JP4997856B2 (ja) | データベース分析プログラム、データベース分析装置、データベース分析方法 | |
CN107924384A (zh) | 用于使用预测学习模型预测结果的系统和方法 | |
CN109933660B (zh) | 面向自然语言形式基于讲义和网站的api信息检索方法 | |
CN105512277B (zh) | 一种面向图书市场书名的短文本聚类方法 | |
TW200900958A (en) | Link spam detection using smooth classification function | |
CN110163262A (zh) | 模型训练方法、业务处理方法、装置、终端及存储介质 | |
CN107229731A (zh) | 用于分类数据的方法和装置 | |
CN113254354A (zh) | 测试用例推荐方法、装置、可读存储介质及电子设备 | |
CN112364352A (zh) | 可解释性的软件漏洞检测与推荐方法及系统 | |
CN109753517A (zh) | 一种信息查询的方法、装置、计算机存储介质及终端 | |
CN111680506A (zh) | 数据库表的外键映射方法、装置、电子设备和存储介质 | |
CN107451429A (zh) | 一种一键化分析rna数据的系统 | |
CN111241326B (zh) | 基于注意力金字塔图网络的图像视觉关系指代定位方法 | |
CN106126727A (zh) | 一种推荐系统大数据处理方法 | |
JP5780036B2 (ja) | 抽出プログラム、抽出方法及び抽出装置 | |
CN107426610A (zh) | 视频信息同步方法及装置 | |
CN109800215A (zh) | 一种对标处理的方法、装置、计算机存储介质及终端 | |
CN109509517A (zh) | 一种医学检验检查指标自动修正的方法 | |
CN109543712B (zh) | 时态数据集上的实体识别方法 | |
CN110348465A (zh) | 用于标注样本的方法和设备 | |
Górecki et al. | Deep coalescence reconciliation with unrooted gene trees: Linear time algorithms |
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 |