数据聚类的存储方法、装置及计算机可读存储介质与流程

文档序号:21179418发布日期:2020-06-20 17:42阅读:295来源:国知局
数据聚类的存储方法、装置及计算机可读存储介质与流程

本发明涉及人工智能技术领域,尤其涉及一种数据聚类的存储的方法、装置、电子设备及计算机可读存储介质。



背景技术:

随着大数据及人工智能的兴起,对于庞大数据的需求也越来越高,现有的数据存储多依赖于硬件水平的提升,如扩大硬件的存储容量等方式,扩大硬件存储容量虽然可达到数据存储的目的,但消耗了大量的存储资源,同时在数据读取阶段也会影响读取速度。



技术实现要素:

本发明提供一种数据聚类的存储方法、装置、电子设备及计算机可读存储介质,其主要目的在于优化存储资源。

为实现上述目的,本发明提供的一种数据聚类的存储方法,包括:

接收客户端输入的数据集,将所述数据集进行文本向量化操作得到数据向量;

计算所述数据向量与预先存储在数据库的多组数据簇的相似度得到相似度集;

从所述相似度集中提取出数值最大的相似度值,判断所述数值最大的相似度值是否大于预设阈值,若所述数值最大的相似度值小于所述预设阈值,将所述数据集存储至所述数据库内单独的存储空间;

若所述数值最大的相似度值大于所述预设阈值,在所述数据库内,将所述数据集合并至与所述数值最大的相似度值对应的数据簇中得到原始合并数据簇,随机确定k个所述原始合并数据簇的簇心;

根据所述簇心计算所述原始合并数据簇与每组数据簇的聚类系数;

在所述原始合并数据簇内去除聚类系数大于预设聚类系数的数据得到标准合并数据簇。

可选地,所述根据所述簇心计算所述原始合并数据簇与每组数据簇的聚类系数,包括:

计算所述原始合并数据簇内每个数据xi与所述数据xi在同一簇心的其他所有数据之间的凝聚度a(xi);

在所述原始合并数据簇与所述每组数据簇内,遍历其他k-1个簇心的所有数据;

计算所述其他k-1簇心的所有数据与所述数据xi的分离度,并排序得到分离度最小值b(xi);

根据所述凝聚度和分离度最小值b(xi)计算得出所述聚类系数s(xi)。

可选地,所述聚类系数包括采用如下的方式计算:

其中,a(x)为所述的凝聚度,b(x)为所述分离度最小值,s(x)为所述聚类系数。

可选地,所述随机确定k个所述原始合并数据簇的簇心,包括:

根据所述数据向量的维度构建坐标系;

将所述原始合并数据簇投射到所述坐标系内得到合并坐标数据集;

求解所述合并坐标数据集内数据所在的数据区间,根据所述数据区间确定k值,所述k值作为所述原始合并数据簇的簇心的个数。

可选地,所述将所述数据集进行文本向量化操作得到数据向量,包括:

对所述数据集进行切词、去停用词的预处理操作得到标准数据集;

将所述标准数据集作为预先构建的词向量化公式的参数,求解所述词向量化公式得到所述数据向量。

可选地,所述数据向量采用下述方式表示:

其中,i表示词的编号,vi表示词i的n维矩阵向量,vj表示词i第j维的数值。

可选地,所述计算所述数据向量与预先存储在数据库的多组数据簇的相似度包括:

利用下述公式计算所述相似度:

其中,x表示所述数据向量,n表示所述数据向量的维度,yi表示所述数据簇内的数据向量,sim(x,yi)表示所述数据向量与所述数据簇内数据向量的相似度值。

为了解决上述问题,本发明还提供一种数据聚类的存储装置,所述装置包括:

文本向量化模块,用于接收客户端输入的数据集,将所述数据集进行文本向量化操作得到数据向量;

相似度计算及判断模块,用于计算所述数据向量与预先存储在数据库的多组数据簇的相似度得到相似度集,从所述相似度集中提取出数值最大的相似度值,判断所述数值最大的相似度值是否大于预设阈值,若所述数值最大的相似度值小于所述预设阈值,在所述数据库中重新开辟一个存储空间,将所述数据集存储至所述存储空间内;

簇心计算模块,用于若所述数值最大的相似度值大于所述预设阈值,在所述数据库内,将所述数据集合并至与所述数值最大的相似度值对应的数据簇中得到原始合并数据簇,随机确定k个所述原始合并数据簇的簇心,根据所述簇心计算所述原始合并数据簇与每组数据簇的聚类系数;

数据合并模块,用于在所述原始合并数据簇内去除聚类系数大于预设聚类系数的数据得到标准合并数据簇。

为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:

存储器,存储至少一个指令;及

处理器,执行所述存储器中存储的指令以实现上述所述的数据聚类的存储方法。

为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现上述所述的数据聚类的存储方法。

本发明实施例通过两次相似度的判断,分别实现了聚类以及去除相似数据的目的,首先通过计算数据向量与预先存储在数据库的多组数据簇的相似度得到相似度集,并根据所述相似度集进行分类存储,提高了数据分类的智能化程度,根据对聚类系数的判断去除相似数据,防止相似数据占用大量存储内存的同时,提高了整个存储系统的纯洁性。因此本发明提出的数据聚类的存储方法、装置及计算机可读存储介质,可以实现对存储系统的优化。

附图说明

图1为本发明一实施例提供的数据聚类的存储方法的流程示意图;

图2为本发明一实施例提供的数据聚类的存储方法的模块示意图;

图3为本发明一实施例提供的数据聚类的存储方法的电子设备的内部结构示意图;

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种数据聚类的存储方法。参照图1所示,为本发明一实施例提供的数据聚类的存储方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。

在本实施例中,数据聚类的存储方法包括:

s1、接收客户端输入的数据集,将所述数据集进行文本向量化操作得到数据向量。

本发明中,所述数据集可包括多类数据,如智能机器平台中存储的问题数据及答案数据。所述客户端输入数据集有多种方式,如提前开发一个智能机器平台的问答输入网页,用户在所述问答输入网页中输入问题数据及答案数据。

所述文本向量化操作包括:对所述数据集进行切词、去停用词的预处理操作得到标准数据集,将所述标准数据集作为预先构建的词向量化公式的参数,求解所述词向量化公式得到数据向量。

进一步地,所述词向量化公式有多种,如one-hot词向量化、word2vec方法等。经过上述文本向量化操作后得到的数据向量的形式如下所示:

其中,i表示词的编号,vi表示词i的n维矩阵向量,vj表示词i第j维的数值。

s2、计算所述数据向量与预先存储在数据库的多组数据簇的相似度得到相似度集。

所述数据簇是预先按照某个标签归类为同一类的数据集,如上述智能机器平台中存储了多种保险行业类的问答数据,有的问答数据是关于汽车保险、有的问答数据是关于教育保险、有的问答是关于养老保险等,因此将汽车保险类的问答放置于同一个数据簇内、将教育保险的问答放置于同一个数据簇内、将养老保险的问答放置于同一个数据簇内。

所述相似度的计算方法有多种形式,如欧式距离法、余弦距离法等,较佳地,本发明可采用多维余弦相似度计算方法,所述多维余弦相似度计算方法包括:

利用下述公式计算所述相似度:

其中,x表示所述数据向量,n表示所述数据向量的维度,yi表示所述数据簇内的数据向量,sim(x,yi)表示所述数据向量与所述数据簇内数据向量的相似度值。同理,按照上述公示依次计算所述数据向量与每组数据簇的相似度得到相似度集。

s3、从所述相似度集中提取出数值最大的相似度值,判断所述数值最大的相似度值是否大于预设阈值。

s4、若所述数值最大的相似度值小于所述预设阈值,将所述数据集存储至所述数据库内单独的存储空间。

步骤s4主要是规避一些具有相似度高的数据,从而避免反复开辟存储空间,导致最终存储空间不足的现象,如客户端输入的数据是保险行业是否有发展潜力,做为职场新人应该怎么做,由于与预先存储的数据簇如汽车保险、教育保险、养老保险等相似度都较低,因此不满足任一个数据簇,故重新开辟一个存储空间将保险行业是否有发展潜力,做为职场新人应该怎么做的数据存储至新开辟的存储空间内。

s5、若所述数值最大的相似度值大于所述预设阈值,在所述数据库内,将所述数据集合并至与所述数值最大的相似度值对应的数据簇中得到原始合并数据簇,随机确定k个所述原始合并数据簇的簇心。

若将客户端输入的数据集合并到与之相似度高的数据簇中,容易造成数据的重复存储,因此在s4及后面的步骤中,需要进行去重相似的处理,提高整个数据库存储的纯洁度,争取使用最小的存储内存。

详细地,所述随机确定k个所述原始合并数据簇的簇心,包括:根据所述数据向量的维度构建坐标系,将所述原始合并数据簇投射到所述坐标系内得到合并坐标数据集,求解所述合并坐标数据集内数据所在的数据区间大小,根据所述数据区间大小确定k值,所述k值作为所述原始合并数据簇的簇心的个数。

如所述数据向量是二维向量,则所述原始合并数据簇可投射在二维平面坐标内,所述合并坐标数据集的坐标位置可用(x,y)表示,当所述数据向量是三维向量时,此时所述原始合并数据簇可投射在三维平面坐标内,所述合并坐标数据集的坐标位置可用(x,y,z)表示。

如所述原始合并数据簇内数据都在[kmin,kmax]范围内,则可采用去中间值或平均值的形式求解得到所述k值。

s6、根据所述簇心计算所述原始合并数据簇与每组数据簇的聚类系数。

详细地,所述s6包括:对于所述原始合并数据簇内每个数据xi,计算所述数据xi与所述数据xi在同一簇心的其他所有数据之间的凝聚度a(xi),在所述原始合并数据簇与所述每组数据簇内,遍历其他k-1个簇心的所有数据,并计算所述其他k-1簇心的所有数据与所述数据xi的分离度,并排序得到分离度最小值b(xi),根据所述凝聚度和分离度最小值b(xi)计算得出所述聚类系数s(xi)。

进一步地,所述凝聚度的计算方法可使用距离平均值、欧几里得计算法、曼哈度计算法、海明距离计算法等。所述分离度与凝聚度的计算方法相似,也可采用距离平均值、欧几里得计算法、曼哈度计算法、海明距离计算法等。

所述聚类系数的计算方式为:

其中,a(x)为所述的凝聚度,b(x)为所述分离度最小值,s(x)为所述聚类系数。

s7、在所述原始合并数据簇内去除聚类系数大于预设聚类系数的数据得到标准合并数据簇。

如图2所示,是本发明数据聚类的存储装置的功能模块图。

本发明所述数据聚类的存储100可以安装于电子设备中。根据实现的功能,所述数据聚类的存储装置可以包括文本向量化模块101、相似度计算及判断模块102、簇心计算模块103和数据合并模块104。本发所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。

在本实施例中,关于各模块/单元的功能如下:

文本向量化模块101,用于接收客户端输入的数据集,将所述数据集进行文本向量化操作得到数据向量;

相似度计算及判断模块102,用于计算所述数据向量与预先存储在数据库的多组数据簇的相似度得到相似度集,从所述相似度集中提取出数值最大的相似度值,判断所述数值最大的相似度值是否大于预设阈值,若所述数值最大的相似度值小于所述预设阈值,在所述数据库中重新开辟一个存储空间,将所述数据集存储至所述存储空间内;

簇心计算模块103,用于若所述数值最大的相似度值大于所述预设阈值,在所述数据库内,将所述数据集合并至与所述数值最大的相似度值对应的数据簇中得到原始合并数据簇,随机确定k个所述原始合并数据簇的簇心,根据所述簇心计算所述原始合并数据簇与每组数据簇的聚类系数;

数据合并模块104,用于在所述原始合并数据簇内去除聚类系数大于预设聚类系数的数据得到标准合并数据簇。

详细地,所述数据聚类的存储装置各模块的具体实施步骤如下:

文本向量化模块101、接收客户端输入的数据集,将所述数据集进行文本向量化操作得到数据向量。

本发明中,所述数据集可包括多类数据,如智能机器平台中存储的问题数据及答案数据。所述客户端输入数据集有多种方式,如提前开发一个智能机器平台的问答输入网页,用户在所述问答输入网页中输入问题数据及答案数据。

所述文本向量化操作包括:对所述数据集进行切词、去停用词的预处理操作得到标准数据集,将所述标准数据集作为预先构建的词向量化公式的参数,求解所述词向量化公式得到数据向量。

进一步地,所述词向量化公式有多种,如one-hot词向量化、word2vec方法等。经过上述文本向量化操作后得到的数据向量的形式如下所示:

其中,i表示词的编号,vi表示词i的n维矩阵向量,vj表示词i第j维的数值。

相似度计算及判断模块102、计算所述数据向量与预先存储在数据库的多组数据簇的相似度得到相似度集,从所述相似度集中提取出数值最大的相似度值,判断所述数值最大的相似度值是否大于预设阈值,若所述数值最大的相似度值小于所述预设阈值,将所述数据集存储至所述数据库内单独的存储空间。

所述数据簇是预先按照某个标签归类为同一类的数据集,如上述智能机器平台中存储了多种保险行业类的问答数据,有的问答数据是关于汽车保险、有的问答数据是关于教育保险、有的问答是关于养老保险等,因此将汽车保险类的问答放置于同一个数据簇内、将教育保险的问答放置于同一个数据簇内、将养老保险的问答放置于同一个数据簇内。

所述相似度的计算方法有多种形式,如欧式距离法、余弦距离法等,较佳地,本发明可采用多维余弦相似度计算方法,所述多维余弦相似度计算方法如下所示:

其中,x表示所述数据向量,n表示所述数据向量的维度,yi表示所述数据簇内的数据向量,sim(x,yi)表示所述数据向量与所述数据簇内数据向量的相似度值。同理,按照上述公示依次计算所述数据向量与每组数据簇的相似度得到相似度集。

所述在所述数据库中重新开辟一个存储空间,将所述数据集存储至所述存储空间内,主要是规避一些具有相似度高的数据,从而避免反复开辟存储空间,导致最终存储空间不足的现象,如客户端输入的数据是保险行业是否有发展潜力,做为职场新人应该怎么做,由于与预先存储的数据簇如汽车保险、教育保险、养老保险等相似度都较低,因此不满足任一个数据簇,故重新开辟一个存储空间将保险行业是否有发展潜力,做为职场新人应该怎么做的数据存储至新开辟的存储空间内。

簇心计算模块103、若所述数值最大的相似度值大于所述预设阈值,在所述数据库内,将所述数据集合并至与所述数值最大的相似度值对应的数据簇中得到原始合并数据簇,随机确定k个所述原始合并数据簇的簇心,根据所述簇心计算所述原始合并数据簇与每组数据簇的聚类系数。

若将客户端输入的数据集合并到与之相似度高的数据簇中,容易造成数据的重复存储,因此需要进行去重相似的处理,提高整个数据库存储的纯洁度,争取使用最小的存储内存。

详细地,所述随机确定k个所述原始合并数据簇的簇心,包括:根据所述数据向量的维度构建坐标系,将所述原始合并数据簇投射到所述坐标系内得到合并坐标数据集,求解所述合并坐标数据集内数据所在的数据区间大小,根据所述数据区间大小确定k值,所述k值作为所述原始合并数据簇的簇心的个数。

如所述数据向量是二维向量,则所述原始合并数据簇可投射在二维平面坐标内,所述合并坐标数据集的坐标位置可用(x,y)表示,当所述数据向量是三维向量时,此时所述原始合并数据簇可投射在三维平面坐标内,所述合并坐标数据集的坐标位置可用(x,y,z)表示。

如所述原始合并数据簇内数据都在[kmin,kmax]范围内,则可采用去中间值或平均值的形式求解得到所述k值。

详细地,所述根据所述簇心计算所述原始合并数据簇与每组数据簇的聚类系数包括:对于所述原始合并数据簇内每个数据xi,计算所述数据xi与所述数据xi在同一簇心的其他所有数据之间的凝聚度a(xi),在所述原始合并数据簇与所述每组数据簇内,遍历其他k-1个簇心的所有数据,并计算所述其他k-1簇心的所有数据与所述数据xi的分离度,并排序得到分离度最小值b(xi),根据所述凝聚度和分离度最小值b(xi)计算得出所述聚类系数s(xi)。

进一步地,所述凝聚度的计算方法可使用距离平均值、欧几里得计算法、曼哈度计算法、海明距离计算法等。所述分离度与凝聚度的计算方法相似,也可采用距离平均值、欧几里得计算法、曼哈度计算法、海明距离计算法等。

所述聚类系数的计算方式为:

其中,a(x)为所述的凝聚度,b(x)为所述分离度最小值,s(x)为所述聚类系数。

数据合并模块104、在所述原始合并数据簇内去除聚类系数大于预设聚类系数的数据得到标准合并数据簇。

如图3所示,是本发明实现数据聚类的存储方法的电子设备的结构示意图。

所述电子设备1可以包括处理器12、存储器11和总线,还可以包括存储在所述存储器11中并可在所述处理器12上运行的计算机程序。

其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:sd或dx存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(smartmediacard,smc)、安全数字(securedigital,sd)卡、闪存卡(flashcard)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如资源调度程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。

所述处理器12在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(centralprocessingunit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器12是所述电子设备的控制核心(controlunit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如执行资源调度程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。

所述总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器12等之间的连接通信。

图3仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图3示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。

例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、wi-fi模块等,在此不再赘述。

进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如wi-fi接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。

可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(display)、输入单元(比如键盘(keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。

应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。

所述电子设备1中的所述存储器11存储的请求资源调度程序12是多个指令的组合,在所述处理器10中运行时,可以实现:

接收客户端输入的数据集,将所述数据集进行文本向量化操作得到数据向量;

计算所述数据向量与预先存储在数据库的多组数据簇的相似度得到相似度集,从所述相似度集中提取出数值最大的相似度值,判断所述数值最大的相似度值是否大于预设阈值,若所述数值最大的相似度值小于所述预设阈值,将所述数据集存储至所述数据库内单独的存储空间;

若所述数值最大的相似度值大于所述预设阈值,在所述数据库内,将所述数据集合并至与所述数值最大的相似度值对应的数据簇中得到原始合并数据簇,随机确定k个所述原始合并数据簇的簇心,根据所述簇心计算所述原始合并数据簇与每组数据簇的聚类系数;

在所述原始合并数据簇内去除聚类系数大于预设聚类系数的数据得到标准合并数据簇。

具体地,所述处理器10对上述指令的具体实现方法可参考图2对应实施例中相关步骤的描述,在此不赘述。

进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)。

在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。

因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。

此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1