掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明属于基于主题聚类的数据清洗领域,具体涉及一种基于主题聚类的数据清洗方法、系统、计算机设备及存储介质。

背景技术

CN202010431417.9专利公开了一种大数据清洗方法,包括:通过高性能消息服务器获取待清洗数据;对所述待清洗数据进行模板匹配,获取所述待清洗数据所对应的清洗模板;根据所述清洗模板对所述待清洗数据进行过滤处理,得到过滤数据;根据所述清洗模板对所述过滤数据进行提取处理,得到提取数据;根据所述清洗模板对所述提取数据进行数据转换处理,得到转换数据,输出结果;本发明通过清洗模板对数据进行过滤、提取和转换处理,实现对大数据的清洗功能,提高海量数据清洗的效率和质量。

该方法是基于模版匹配的方法,其只能去除文本中具有特定模式的短语或短句,使处理后的文本相较原文本,更加简洁。其缺点是:一、是只能处理已知的、有限的模式,对于未知的模式束手无策;二、是只能对现有文本进行“精简”,无法确定该文本是否与本任务相关,对该文本进行学习是否有意义;故数据清洗的精准性较差,应用面较窄。

发明内容

本申请实施例提供了一种数据清洗方法、系统、计算机存储设备,以至少解决相关技术中主观因素影响的问题。

本发明提供了一种数据清洗方法,其中,包括:

获得文档主题概率分布步骤:使用主题模型对收集到的原始语料进行主题建模,得到各文档的主题概率分布;

主题概率分布聚类步骤:根据所述主题概率分布通过聚类算法获得文档样本集合及/或离群噪声点;

无关文本删除步骤:删除所述离群噪声点。上述方法,其中,所述获得文档主题概率分布步骤包括:

设置主题数,基于原始语料训练所述主题模型,得到每篇文档的所述主题概率分布。

上述方法,其中,所述主题概率分布聚类步骤包括:

设置所述聚类算法所需的初始参数后,通过所述聚类算法对语料库中的所述主题概率分布进行聚类,并迭代和优化所述初始参数。

上述方法,其中,所述无关文本删除步骤包括:

所述离群噪声点为与主题无关的文本,将每一所述离群噪声点从所述语料库中删除,得到清洗后的语料库。

本发明还提供了一种数据清洗系统,其中,包括:

获得文档主题概率分布模块,所述获得文档主题概率分布模块使用主题模型对收集到的原始语料进行主题建模,得到各文档的主题概率分布;

主题概率分布聚类模块,所述主题概率分布聚类模块根据所述主题概率分布通过聚类算法获得文档样本集合及/或离群噪声点;

无关文本删除模块,所述无关文本删除模块删除所述离群噪声点。上述系统,其中,所述获得文档主题概率分布模块设置主题数,基于原始语料训练所述主题模型,得到每篇文档的所述主题概率分布。

上述系统,其中,所述主题概率分布聚类模块设置所述聚类算法所需的初始参数后,通过所述聚类算法对语料库中的所述主题概率分布进行聚类,并迭代和优化所述初始参数。

上述系统,其中,所述无关文本删除模块将每一所述离群噪声点从所述语料库中删除,得到清洗后的语料库。

本发明还提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述中任一项所述的一种数据清洗方法。

本发明还提供了一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如上述任一种数据清洗方法。

与现有技术相比,本发明的有益效果如下:

1、超越传统方法数据清洗的效果:删除语料中的内容无关文本,避免无关文本后续对模型的干扰。

2、自动化程度高:采用主题聚类的方法自动识别文本的主题类别,可实现内容无关文本的自动化过滤。

3、通用性较好:对于一次建模任务,只需人工对语料库中的文本进行简单预处理(分词等),不需要对特定任务做过多调整,人工干预较少。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。

在附图中:

图1是实现基于主题聚类的数据清洗方法的流程图;

图2是基于主题聚类的数据清洗方法的应用流程图;

图3是基于主题聚类的数据清洗系统的结构图;

图4是根据本发明实施例的计算机设备的框架图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。

在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。

除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。

下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。

在详细阐述本发明各个实施例之前,对本发明的核心发明思想予以概述,并通过下述若干实施例予以详细阐述。

请参照图1,图1是实现基于主题聚类的数据清洗方法的流程图。如图1所示,本发明的基于主题聚类的数据清洗方法包括:

获得文档主题概率分布步骤S1:使用主题模型对收集到的原始语料进行主题建模,得到各文档的主题概率分布;

主题概率分布聚类步骤S2:根据所述主题概率分布通过聚类算法获得文档样本集合及/或离群噪声点;

无关文本删除步骤S3:删除所述离群噪声点。

进一步地,所述获得文档主题概率分布步骤S1包括:

设置主题数,基于原始语料训练所述主题模型,得到每篇文档的所述主题概率分布。

再进一步地,所述主题概率分布聚类步骤S2包括:

设置所述聚类算法所需的初始参数后,通过所述聚类算法对语料库中的所述主题概率分布进行聚类,并迭代和优化所述初始参数。

更进一步地,所述无关文本删除步骤S3包括:

所述离群噪声点为与主题无关的文本,将每一所述离群噪声点从所述语料库中删除,得到清洗后的语料库。

实施例一:

本发明设计了一种基于主题聚类的数据清洗方法,该方法能够识别语料库中文本的所属主题,继而定位主题无关的文本并将它们删除,实现清洗内容无关文本的效果。

本发明的核心思路是:使用主题模型,对收集到的原始语料C进行主题建模,得到各文档的主题概率分布;接下来我们将主题模型对文档主题类别的学习结果,作为聚类算法的输入,将文档的主题概率分布进行聚类,聚类后所有文档或者被聚在了紧密程度高的样本集合中,或者成为了离群的噪声点;在本问题中,由于语料库中内容无关的垃圾语料通常占据少数,故对大量有关文本的主题分布进行聚类后,这些样本的主题分布的“距离”会比较近,形成样本簇,那么噪声点就有较高的概率是主题无关的文本,可以将其删除。如图2所示。

具体地说,本方法具体执行步骤如下:

1、设置主题数K,基于原始语料C训练主题模型M,得到每篇文档的主题概率分布。主题概率分布为K维向量,每一维表示该文档属于某主题的概率。

2、设置DBSCAN所需的初始参数r和minPts。对语料库中的文档主题概率分布进行聚类,并迭代和优化超参数r和minPts。

3、聚类后我们得到一个最大的密度相连样本集合,和若干离群点。将离群点的样本从原始语料库中删除,得到清洗后的语料库。

我们采用BTM主题模型来识别文本的所属主题。主题模型是在一系列文档中发现抽象主题的一种统计模型,它的输入是语料库中的若干篇文档,每篇文档包含若干个词,输出是每篇文档的主题概率分布。主题建模相当于是将语料库中的长文本降维成K维,其中K是我们预先设置的主题个数,通过降维之后的概率分布,我们可以对文本进行主题划分。

我们选择DBSCAN作为本方案的聚类算法。DBSCAN(Density-Based SpatialClustering of Applications with Noise)是一个比较有代表性的基于密度的聚类算法。与划分和层次聚类方法不同,它将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并可在噪声的空间数据库中发现任意形状的聚类。DBSCAN算法将具有足够密度的区域划分为簇,不在簇中的样本与簇中的样本不具有足够的密度,故称为噪声点或离群点。该方法被广泛用于数据的异常检测之中。

DBSCAN中的几个定义:

Ε邻域:给定对象半径为Ε内的区域称为该对象的Ε邻域;

核心对象:如果给定对象Ε邻域内的样本点数大于等于MinPts,则称该对象为核心对象;

直接密度可达:对于样本集合D,如果样本点q在p的Ε邻域内,并且p为核心对象,那么对象q从对象p直接密度可达。

密度可达:对于样本集合D,给定一串样本点p1,p2....pn,p=p1,q=pn,假如对象pi从pi-1直接密度可达,那么对象q从对象p密度可达。

密度相连:存在样本集合D中的一点o,如果对象o到对象p和对象q都是密度可达的,那么p和q密度相联。

可以发现,密度可达是直接密度可达的传递闭包,并且这种关系是非对称的。密度相连是对称关系。DBSCAN目的是找到密度相连对象的最大集合。

Eg:假设半径Ε=3,MinPts=3,点p的E邻域中有点{m,p,p1,p2,o},点m的E邻域中有点{m,q,p,m1,m2},点q的E邻域中有点{q,m},点o的E邻域中有点{o,p,s},点s的E邻域中有点{o,s,s1}.

那么核心对象有p,m,o,s(q不是核心对象,因为它对应的E邻域中点数量等于2,小于MinPts=3);

点m从点p直接密度可达,因为m在p的E邻域内,并且p为核心对象;

点q从点p密度可达,因为点q从点m直接密度可达,并且点m从点p直接密度可达;

点q到点s密度相连,因为点q从点p密度可达,并且s从点p密度可达。

在介绍该算法的工作过程之前,我们需要设定两个参数:一个半径参数r,簇内最小样本数minPts,该算法的工作过程是不断地发现可达的关键点,直到无法再找到合格的关键点为止。关键点指的是在样本空间中,以该点为核心,至少有minPts个样本点可以被划分在半径为r的邻域内;也就是说,邻域内的点与关键点是具有足够密度的。我们从第一个关键点的邻域出发,逐个试探邻域中所有非关键点的点,看看它们是否也可以成为关键点,即其他点是否能划出一个r半径的邻域,使得邻域内包含超过minPts个样本点;如果是的话,则我们成功发现了一个新的关键点;依次迭代下去,直到不能再发现新的关键点。每一个关键点的邻域可以成为一个个“小簇”,各个“小簇”中的样本都是密度可达的,即所有“小簇”属于同一个“大簇”,最终在这个“大簇”之外的,才是离群点。

1.DBSCAN算法的样本点组成

DBSCAN算法处理后的聚类样本点分为:核心点(core points),边界点(borderpoints)和噪声点(noise),这三类样本点的定义如下:核心点:对某一数据集D,若样本p的ε-领域内至少包含MinPts个样本(包括样本p),那么样本p称核心点。

即:称p为核心点,其中ε-领域的表达式为:

边界点:对于非核心点的样本b,若b在任意核心点p的ε-领域内,那么样本b称为边界点。

即:

称b为边界点噪声点:对于非核心点的样本n,若n不在任意核心点p的ε-领域内,那么样本n称为噪声点。

即:

称n为噪声点。

假设MinPts=4,如下图的核心点、非核心点与噪声的分布:

2.DBSCAN算法原理

由上述可知,DBSCAN算法划分数据集D为核心点,边界点和噪声点,并按照一定的连接规则组成簇类。介绍连接规则前,先定义下面这几个概念

密度直达(directly density-reachable):若q处于p的ε-邻域内,且p为核心点,则称q由p密度直达;

密度可达(density-reachable):若q处于p的ε-邻域内,且p,q均为核心点,则称q的邻域点由p密度可达;

密度相连(density-connected):若p,q均为非核心点,且p,q处于同一个簇类中,则称q与p密度相连。

上述概念的直观显示(MinPts):

其中核心点E由核心点A密度直达,边界点B由核心点A密度可达,边界点B与边界点C密度相连,N为孤单的噪声点。

DBSCAN是基于密度的聚类算法,原理为:只要任意两个样本点是密度直达或密度可达的关系,那么该两个样本点归为同一簇类,样本点ABCE为同一簇类。因此,DBSCAN算法从数据集D中随机选择一个核心点作为“种子”,由该种子出发确定相应的聚类簇,当遍历完所有核心点时,算法结束。

DBSCAN算法的伪代码:

其中计算样本Q邻域个数的伪代码:

其中计算样本P与Q的距离函数dist(P,Q)不同,邻域形状也不同,若我们使用的距离是曼哈顿(manhattan)距离,则邻域性状为矩形;若使用的距离是欧拉距离,则邻域形状为圆形。

DBSCAN算法可以抽象为以下几步:

1)找到每个样本的ε-邻域内的样本个数,若个数大于等于MinPts,则该样本为核心点;

2)找到每个核心样本密度直达和密度可达的样本,且该样本亦为核心样本,忽略所有的非核心样本;

3)若非核心样本在核心样本的ε-邻域内,则非核心样本为边界样本,反之为噪声。

3.DBSCAN算法的参数估计

由上述可知,DBSCAN主要包含两个参数:

ε:两个样本的最小距离,它的含义为:如果两个样本的距离小于或等于值ε,那么这两个样本互为邻域。

MinPts:形成簇类所需的最小样本个数,比如MinPts等于5,形成簇类的前提是至少有一个样本的ε-邻域大于等于5。

ε参数和MinPts参数估计:

如果ε值取的太小,部分样本误认为是噪声点(白色);ε值取的多大,大部分的样本会合并为同一簇类。

同样的,若MinPts值过小,则所有样本都可能为核心样本;MinPts值过大时,部分样本误认为是噪声点(白色)

根据经验,minPts的最小值可以从数据集的维数D得到,即。若minPts=1,含义为所有的数据集样本都为核心样本,即每个样本都是一个簇类;若minPts≤2,结果和单连接的层次聚类相同;因此minPts必须大于等于3,因此一般认为minPts=2*dim,若数据集越大,则minPts的值选择的亦越大。

ε值常常用k-距离曲线(k-distance graph)得到,计算每个样本与所有样本的距离,选择第k个最近邻的距离并从大到小排序,得到k-距离曲线,曲线拐点对应的距离设置为ε;

根据k-距离曲线的定义可知:样本点第k个近邻距离值小于ε归为簇类,大于ε的样本点归为噪声点。根据经验,一般选择ε值等于第(minPts-1)的距离,计算样本间的距离前需要对数据进行归一化,使所有特征值处于同一尺度范围,有利于ε参数的设置。

如果(k+1)-距离曲线和k-距离曲线没有明显差异,那么minPts设置为k值。例如k=4和k>4的距离曲线没有明显差异,而且k>4的算法计算量大于k=4的计算量,因此设置MinPts=4。

实施例二:

请参照图3,图3图3是基于主题聚类的数据清洗系统的结构图。如图3所示,本发明的系统包括:

获得文档主题概率分布模块,所述获得文档主题概率分布模块使用主题模型对收集到的原始语料进行主题建模,得到各文档的主题概率分布;

主题概率分布聚类模块,所述主题概率分布聚类模块根据所述主题概率分布通过聚类算法获得文档样本集合及/或离群噪声点;

无关文本删除模块,所述无关文本删除模块删除所述离群噪声点。进一步地,所述获得文档主题概率分布模块设置主题数,基于原始语料训练所述主题模型,得到每篇文档的所述主题概率分布。

再进一步地,所述主题概率分布聚类模块设置所述聚类算法所需的初始参数后,通过所述聚类算法对语料库中的所述主题概率分布进行聚类,并迭代和优化所述初始参数。

更进一步地,所述无关文本删除模块将每一所述离群点从所述语料库中删除,得到清洗后的语料库。

实施例三:

结合图4所示,本实施例揭示了一种计算机设备的一种具体实施方式。计算机设备可以包括处理器81以及存储有计算机程序指令的存储器82。

具体地,上述处理器81可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。

其中,存储器82可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器82可包括硬盘驱动器(Hard Disk Drive,简称为HDD)、软盘驱动器、固态驱动器(SolidState Drive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(Universal SerialBus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器82可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器82可在数据处理装置的内部或外部。在特定实施例中,存储器82是非易失性(Non-Volatile)存储器。在特定实施例中,存储器82包括只读存储器(Read-Only Memory,简称为ROM)和随机存取存储器(RandomAccess Memory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable Read-Only Memory,简称为PROM)、可擦除PROM(Erasable ProgrammableRead-Only Memory,简称为EPROM)、电可擦除PROM(Electrically Erasable ProgrammableRead-Only Memory,简称为EEPROM)、电可改写ROM(Electrically Alterable Read-OnlyMemory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(Static Random-Access Memory,简称为SRAM)或动态随机存取存储器(Dynamic Random Access Memory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器(Fast Page Mode Dynamic Random Access Memory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(Extended Date Out Dynamic RandomAccess Memory,简称为EDODRAM)、同步动态随机存取内存(Synchronous Dynamic Random-Access Memory,简称SDRAM)等。

存储器82可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器81所执行的可能的计算机程序指令。

处理器81通过读取并执行存储器82中存储的计算机程序指令,以实现上述实施例中的任意一种基于主题聚类的数据清洗方法。

在其中一些实施例中,计算机设备还可包括通信接口83和总线80。其中,如图4所示,处理器81、存储器82、通信接口83通过总线80连接并完成相互间的通信。

通信接口83用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。通信端口83还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。

总线80包括硬件、软件或两者,将计算机设备的部件彼此耦接在一起。总线80包括但不限于以下至少之一:数据总线(Data Bus)、地址总线(Address Bus)、控制总线(Control Bus)、扩展总线(Expansion Bus)、局部总线(Local Bus)。举例来说而非限制,总线80可包括图形加速接口(Accelerated Graphics Port,简称为AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,简称为EISA)总线、前端总线(Front Side Bus,简称为FSB)、超传输(Hyper Transport,简称为HT)互连、工业标准架构(Industry Standard Architecture,简称为ISA)总线、无线带宽(InfiniBand)互连、低引脚数(Low Pin Count,简称为LPC)总线、存储器总线、微信道架构(Micro ChannelArchitecture,简称为MCA)总线、外围组件互连(Peripheral Component Interconnect,简称为PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial AdvancedTechnology Attachment,简称为SATA)总线、视频电子标准协会局部(Video ElectronicsStandards Association Local Bus,简称为VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线80可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。

该计算机设备可以基于主题聚类的数据清洗方法进行数据清洗,从而实现结合图1描述的方法。

另外,结合上述实施例中基于主题聚类的数据清洗方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种基于主题聚类的数据清洗方法。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

综上所述,基于本发明的有益效果在于,超越传统方法数据清洗的效果:删除语料中的内容无关文本,避免无关文本后续对模型的干扰;自动化程度高:采用主题聚类的方法自动识别文本的主题类别,可实现内容无关文本的自动化过滤;通用性较好:对于一次建模任务,只需人工对语料库中的文本进行简单预处理(分词等),不需要对特定任务做过多调整,人工干预较少。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 数据清洗方法、数据清洗设备以及计算机存储介质
  • 一种数据清洗方法、系统、数据清洗设备和可读存储介质
技术分类

06120112345775