发明内容
本发明的目的在于提供一种基于云平台的数据汇聚、分析、挖掘与共享方法,利用CRF词典分词、向量空间模型和SVM算法对申报项目进行挖掘提取、以及对词频A、词序B、词义C进行评分打分,通过C均值FCM聚类算法对数据进行分类和分析,最后通过多种典型算法在信息服务平台上将数据共享给用户。
本发明通过下述技术方案实现:一种基于云平台的数据汇聚、分析、挖掘与共享方法,首先通过CRF词典分词预测,利用SVM算法对云平台数据进行项目申报提取和汇聚,通过向量空间模型清洗重复相似的申报项目;通过模糊C均值FCM聚类算法和多种典型算法对申报项目进行聚类分类和分析,然后以信息服务平台能够呈现的方式分享推荐给用户。
进一步地,为了更好的实现本发明,所述模糊C均值FCM聚类算法是基于C均值算法和FCM聚类算法并用隶属度确定每个向量数据点属于某个聚类程度,对项目申报数据进行聚类分类和分析;
能够对申报项目进行分类和分析后以信息服务平台能够呈现的方式分享给用户的所述多种典型的算法包括静态数据推荐法、基于内容推荐法以及协同过滤算法;
具体包括以下步骤:
步骤F1:利用CRF词典分词算法对通知数据进行词频、词序以及语义的分词语料训练和分词预测,通过SVM算法对云平台数据进行项目申报提取和汇聚;向量空间模型将项目申报数据转换为向量的形式,并清洗重复相似的申报项目;
步骤F2:依据FCM把n个向量xi(i=1,...,c)分为c个模糊组并求每组的聚类中心,使得非相似性指标的目标函数达到最小的原理,对项目申报数据进行分类和分析并在信息服务平台中呈现出来;
步骤F3:所述静态数据推荐法是在信息服务平台中,利用用户的地区、行业等静态数据进行相应的政策性信息推荐;
步骤F4:所述基于内容推荐法是在信息服务平台中,根据用户收藏的政策性信息找出与其相关的政策性信息推荐给用户;
步骤F5:所述协同过滤算法是在信息服务平台中,依靠静态数据推荐法和基于内容推荐法积累的数据进行排名和共享。
进一步地,为了更好的实现本发明,所述步骤F1具体包括以下步骤:
步骤F11:将训练语料按字切分为Word2vec字向量训练特征和Brown聚类特征,并分别对Word2vec字向量训练特征进行K-Means聚类特征提取和Brown聚类特征进行提取,存放入训练CRF分词模型中进行CRF分词,然后输出分词结果;
步骤F12:将待切分句子进行词典匹配歧义判断,判断是否存在歧义,如果存在歧义则将待切分句子进行CRF分词,然后输出分词结果;如果不存在歧义则直接输出计算分词结果;
步骤F13:资金通知进行证据分词,并统计通知中的词在证据通知中出现的次数,计算得出词频得分A;
步骤F14:对问题分词构建通知词的2-gram表达式,并统计2-gram表达式与证据匹配的次数,计算得出词序得分B;
步骤F15:将向量化表示问题和证据分为两个部分,一个部分是证据向量和主向量的集合,通过PageRank算法计算证据权重W以及计算证据问题相关度,再加上另一个部分问题主向量通过计算问题相关度,计算得出语义得分C;
步骤F16:根据输出的分词结果统计每个词得分排名,选取前N个得分较高的词来作为词向量的表示;
步骤F17:对每个项目申报数据进行分词得出词向量,将每个词向量作为神经网络的出入进行训练,把SVM分类算法原有的一维点X映射到三维(Xi,X,C)中,原有的预测模型为:
式中f(x)为分类函数,W为权重,T为转置,b为截距,<Xi,X>为向量Xi和向量X的内积,此时将X换为H(X),那么得到新的预测模型:
步骤F18:进而使用预测模型对文本进行分类预测。
进一步地,为了更好的实现本发明,所述步骤F2具体包括以下步骤:
步骤F21:用值在(0,1)之间的随机数初始化隶属矩阵U,加上归一化规定,一个数据集的隶属度的和总是等于1,使其满足下式的约束条件:
式中i为类别,j为样本,i=1,...,c,j=1,...,n,Uij为隶属度;
步骤F22:那么FCM的目标函数就是式(1)的一般化形式:
式中J为U的目标函数,Uij介于(0,1)之间,ci为模糊组i的聚类中心,dij=||ci-xj||为第i个聚类中心与第j个向量点之间的欧几里得距离,且是一个加权指数,xj为第j个向量,m为加权指数,d为终止误差;
步骤F23:构造新的目标函数如下式所示,可求得使(2)式达到最小值的必要条件:
式中λj(j=1,...,n)为(1)式的第j个约束式的拉格朗日乘子;
对所有向量参数求导,得到使(2)式达到最小值的必要条件:
和
k为实数,k=1,...,c,根据(4)式可得到ci和隶属矩阵U的值;
步骤F24:根据(2)式计算得出目标函数,如果目标函数小于某个确定的阀值,或相对上一次的目标函数值的改变量小于某个阀值,然后停止算法;若不小于,则返回步骤F12更新隶属度矩阵继续计算。
进一步地,为了更好的实现本发明,所述步骤F3具体包括以下步骤:
步骤F31:在信息服务平台中,根据用户的地区为其推荐政策性信息;
步骤F32:在信息服务平台中,对应用户的行业为其推荐政策性信息。
进一步地,为了更好的实现本发明,所述步骤F4具体包括以下步骤:
步骤F41:在信息服务平台中,用户可以收藏感兴趣的政策性信息;
步骤F42:根据用户收藏的政策性信息,找出与其相关的政策性信息推荐给客户。
进一步地,为了更好的实现本发明,:所述步骤F5具体包括以下步骤:
步骤F51:在信息服务平台中,过滤协同算法的应用需要依靠前期的数据积累,基于用户的协同过滤算法需要收集每一个用户感兴趣的政策性信息,然后计算用户如果喜欢某个政策性信息那么也会喜欢另一个政策性信息,即为用户推荐相应的政策性信息;
步骤F52:基于政策性信息内容的过滤协同算法需要收集每一个政策性信息的相似度进行排名,以及收集用户对每一个政策性信息的热度进行排名,然后将相似度较高和热度较高的推荐给用户。
工作原理:
1.首先通过CRF词典分词对词频A、词序B、词义C进行评分打分,SVM算法对云平台数据进行申报项目的提取和汇聚。
2.通过向量空间模型清洗重复相似的申报项目。
3.通过模糊C均值FCM聚类算法和多种典型算法对申报项目进行聚类分类和分析。
4.以信息服务平台能够呈现的方式分享推荐给用户。
本发明与现有技术相比,具有以下优点及有益效果:
(1)本发明通过CRF词典分词对词频A、词序B、词义C进行评分统计,SVM算法对云平台数据进行申报项目的提取和汇聚,通过向量空间模型清洗重复相似的申报项目;
(2)本发明通过多种典型算法将申报项目以能够在信息服务平台中呈现的方式共享给用户。
具体实施方式
下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
实施例1:
本发明通过下述技术方案实现,如图1-图7所示,一种基于云平台的数据汇聚、分析、挖掘与共享方法,首先通过CRF词典分词预测,利用SVM算法对云平台数据进行项目申报提取和汇聚,通过向量空间模型清洗重复相似的申报项目;通过模糊C均值FCM聚类算法和多种典型算法对申报项目进行聚类分类和分析,然后以信息服务平台能够呈现的方式分享推荐给用户。
需要说明的是,通过上述改进,基于云平台的数据通过CRF词典分词对词频A、词序B、词义C进行评分打分,SVM算法对云平台数据进行申报项目提取和汇聚,汇聚后通过向量空间模型将申报项目转换为向量的形式,再清洗重复的申报项目,所述向量空间模型(VSM:Vector space model)是文本中最著名的特征提取方法。清洗后通过模糊C均值FCM聚类算法和多种典型算法对申报项目进行聚类分类和分析,然后以信息服务平台能够呈现的方式分享推荐给用户。
CRF词典分词、向量空间模型、SVM算法和模糊C均值FCM聚类算法得改进点在于项目资金通知提取的算法,主要改进在分词、词频以及词义模型的训练。
本实施例的其他部分与上述实施例相同,故不再赘述。
实施例2:
本实施例在上述实施例的基础上做进一步优化,如图1-图7所示,所述模糊C均值FCM聚类算法是基于C均值算法和FCM聚类算法并用隶属度确定每个向量数据点属于某个聚类程度,对项目申报数据进行聚类分类和分析;
能够对申报项目进行分类和分析后以信息服务平台能够呈现的方式分享给用户的所述多种典型的算法包括静态数据推荐法、基于内容推荐法以及协同过滤算法;
具体包括以下步骤:
步骤F1:利用CRF词典分词算法对通知数据进行词频、词序以及语义的分词语料训练和分词预测,通过SVM算法对云平台数据进行项目申报提取和汇聚;向量空间模型将项目申报数据转换为向量的形式,并清洗重复相似的申报项目;
步骤F2:依据FCM把n个向量xi(i=1,...,c)分为c个模糊组并求每组的聚类中心,使得非相似性指标的目标函数达到最小的原理,对项目申报数据进行分类和分析并在信息服务平台中呈现出来;
步骤F3:所述静态数据推荐法是在信息服务平台中,利用用户的地区、行业等静态数据进行相应的政策性信息推荐;
步骤F4:所述基于内容推荐法是在信息服务平台中,根据用户收藏的政策性信息找出与其相关的政策性信息推荐给用户;
步骤F5:所述协同过滤算法是在信息服务平台中,依靠静态数据推荐法和基于内容推荐法积累的数据进行排名和共享。
需要说明的是,通过上述改进,上述各种算法通过对词频、词序以及词义的提取改进之后实现基于云平台得数据汇聚、分析、挖掘以及共享。
本实施例的其他部分与上述实施例相同,故不再赘述。
实施例3:
本实施例在上述实施例的基础上做进一步优化,如图1-图7所示,所述步骤F1具体包括以下步骤:
步骤F11:将训练语料按字切分为Word2vec字向量训练特征和Brown聚类特征,并分别对Word2vec字向量训练特征进行K-Means聚类特征提取和Brown聚类特征进行提取,存放入训练CRF分词模型中进行CRF分词,然后输出分词结果;
步骤F12:将待切分句子进行词典匹配歧义判断,判断是否存在歧义,如果存在歧义则将待切分句子进行CRF分词,然后输出分词结果;如果不存在歧义则直接输出计算分词结果;
步骤F13:资金通知进行证据分词,并统计通知中的词在证据通知中出现的次数,计算得出词频得分A;
步骤F14:对问题分词构建通知词的2-gram表达式,并统计2-gram表达式与证据匹配的次数,计算得出词序得分B;
步骤F15:将向量化表示问题和证据分为两个部分,一个部分是证据向量和主向量的集合,通过PageRank算法计算证据权重W以及计算证据问题相关度,再加上另一个部分问题主向量通过计算问题相关度,计算得出语义得分C;
步骤F16:根据输出的分词结果统计每个词得分排名,选取前N个得分较高的词来作为词向量的表示;
步骤F17:对每个项目申报数据进行分词得出词向量,将每个词向量作为神经网络的出入进行训练,把SVM分类算法原有的一维点X映射到三维(Xi,X,C)中,原有的预测模型为:
式中f(x)为分类函数,W为权重,T为转置,b为截距,<Xi,X>为向量Xi和向量X的内积,此时将X换为H(X),那么得到新的预测模型:
步骤F18:进而使用预测模型对文本进行分类预测。
需要说明的是,通过上述改进,所述Word2vec也叫Word Embeddings,中文名为“词向量”,作用是将自然语言中的字词转为计算机可以理解的稠密向量(Dense Vector)。所述K-Means聚类特征提取算法,也被称为K-平均或K-均值,是一种广泛使用的聚类算法,或者成为其他聚类算法的基础。所述Brown聚类特征是一种自底向上的层次聚类算法,基于n-gram模型和马尔科夫链模型。
所述CRF分词模型的原理为:
1.CRF把分词当做字的词位分类问题,通常定义字的词位信息如下:
词首,常用B表示
词中,常用M表示
词尾,常用E表示
单子词,常用S表示
2.CRF分词的过程就是对词位标注后,将B和E之间的字,以及S单字构成分词;
3.CRF分词实例:
原始例句:我爱北京天安门
CRF标注后:我/S爱/S北/B京/E天/B安/M门/E
分词结果:我/爱/北京/天安门
利用向量空间模型对申报项目进行提取特征并确定特征集,将申报项目的项目申报数据转换为向量的形式,然后利用SVM算法对向量进行训练和预测。所述向量空间模型(VSM)是文本分类中最著名的特征提取方法,即将样本转换为向量的形式。为了能实现这种转换,需要做两个工作:确定特征集和提取特征。
特征集其实就是词典,根据需要分类的样本,提取样本的特征,构成特征集,在本实施列中需要分类的样本是申报项目。根据不同的业务,文本分类中词典的规模在万级到千万级甚至亿级。而这么大的维度可能会带来维度灾难,因此就要想办法从大量的特征中选择一些有代表性的特征而又不影响分类的效果,一般的计算方法有词频、卡方公式、信息增益等。另外一种解决维度灾难的思路就是特征提取。同样是降维,相比特征选择,特征提取采用了一种高级的方法来进行。Topic Model的原理就是将利用映射将高纬度空间映射到低纬空间,从而达到降维的目的。当把文本转换成向量的形式后,要做的就是利用SVM算法进行训练和预测了。
对于二维分类问题,训练集T={(x1,y1),(x2,y2),…,(xN,yN)},其类别y
i∈{0,1},线性SVM算法通过学习得到分离超平面(hyperplane):w·x+b=0,式中w为法向量,b为截距,以及相应的分类决策函数:f(x)=sign(w·x+b)。如图2所示,将距离分离超平面最近的两个不同类别的样本点称为支持向量,如b
11和b
12、b
21和b
22构成了两条平行于分离超平面的长带,二者之间的距离称之为margin。margin越大,则分类正确的确信度越高。通过计算得到:
SVM算法分类问题可描述为在全部分类正确的情况下,最大化
等价于最小化
则线性向量分类的约束最优化问题:
yi(w·xi+b)-1≥0
对每一个不等式约束引进拉格朗日乘子αi≥0,i=1,2,...N构造拉格朗日函数:
根据拉格朗日对偶性,原始的约束最优化问题可等价于极大极小的对偶问题:
将L(w,b,α)对w,b求偏导并令其等于0,则:
得到:
等价于最优化问题:
二维规划问题,可以用二次规划工具求解了,针对数据不完全线性可分的超平面,可将问题转化为下式:
式中C用于控制“最大化间隔”和“保证大部分的点的函数间隔都小于1”这两个目标的权重。
大部分时候数据并不是线性可分的,对于非线性的情况,SVM算法的处理方法是选择一个核函数K,通过将数据映射到高维空间,来解决在原始空间中线性不可分的问题。具体来说,在线性不可分的情况下,SVM算法首先在低维空间中完成计算,然后通过核函数将输入空间映射到高维特征空间,最终在高维特征空间中构造出最优分离超平面,从而把平面上本身不好分的非线性数据分开。核函数K是一个函数,φ是从X到内积特征空间F的映射,对所有的x,z都满足:
K(x,z)={φ(x)·φ(z)}
假设通过SMO高效优化算法,得到了最优的αi,那么也就可以知得到W:
于是可以得到线性分类器的结果为:
式子中<Xi,X>表示两个向量的内积,从这个公式可以看出,对于一个新点X,只需要计算它与训练数据点的内积即可,这一点也是后面使用核函数K进行非线性推广的前提。
这里需要强调:预测新点X的类别时,只需要计算它与训练数据点的内积即可;这些训练数据点其实也只是那些“支持向量”的点,即只有“支持向量”的点会被用来进行新样本的预测。
把SVM分类算法原有的一维点X映射到三维(Xi,X,C)中,原有的预测模型为:
式中f(x)为分类函数,W为权重,T为转置,b为截距,<Xi,X>为向量Xi和向量X的内积,此时将X换为H(X),那么得到新的预测模型:
计算核函数K的时候,它可以让x和z不用通过H(X)映射到高维空间再计算内积,而是直接在低维空间里计算。核函数作用就是K(x,z)=某个函数,从而避开了X映射到H(X),Y映射到H(Y)这么一个过程。那么多项式核:
K(X,Y)=((X,Y)+R)d
式中d用来设置多项式核函数的最高此项次数,默认值是3;R用来设置核函数中的gamma参数设置,默认值是1/k(k是类别数)。
高斯核:
通过调控参数σ使高斯核具有相当的灵活性。
如图1所示,将所有训练语料按字切分进行Word2vec字向量训练后的K-Means聚类特征提取和Brown聚类特征提取,将提取的特征放入训练CRF分词模型中进行CRF分词后输出分词结果,同时通过词典匹配歧义判断待切分的句子是否存在歧义,如果有歧义则进行CRF分词,如果没有歧义则输出计算分词结果。
如图5所示,资金通知进行证据分词,并统计通知中的词在证据通知中出现的次数,然后计算得出词频得分A。如图6所示,对问题分词构建通知词的2-gram表达式,并统计2-gram表达式与证据匹配的次数,然后计算得出词序得分B。如图7所示,将向量化表示问题和证据分为两个部分,一个部分是证据向量和主向量的集合,通过PageRank算法计算证据权重W以及计算证据问题相关度,再加上另一个部分问题主向量通过计算问题相关度,然后计算得出语义得分C。根据输出的分词结果统计每个词得分排名,选取前N个得分较高的词来作为词向量的表示,得出每个样本的词向量,将每个样本的词向量作为神经网络的输入进行训练,得出模型,进而对用模型对文本进行分类预测。预测过程中使用下式添加新样本:
本实施例的其他部分与上述实施例相同,故不再赘述。
实施例4:
本实施例在上述实施例的基础上做进一步优化,如图1-图7所示,所述步骤F2具体包括以下步骤:
步骤F21:用值在(0,1)之间的随机数初始化隶属矩阵U,加上归一化规定,一个数据集的隶属度的和总是等于1,使其满足下式的约束条件:
式中i为类别,j为样本,i=1,...,c,j=1,...,n,Uij为隶属度;
步骤F22:那么FCM的目标函数就是式(1)的一般化形式:
式中J为U的目标函数,Uij介于(0,1)之间,ci为模糊组i的聚类中心,dij=||ci-xj||为第i个聚类中心与第j个向量点之间的欧几里得距离,且是一个加权指数,xj为第j个向量,m为加权指数,d为终止误差;
步骤F23:构造新的目标函数如下式所示,可求得使(2)式达到最小值的必要条件:
式中λj(j=1,...,n)为(1)式的第j个约束式的拉格朗日乘子;
对所有向量参数求导,得到使(2)式达到最小值的必要条件:
和
k为实数,k=1,...,c,根据(4)式可得到ci和隶属矩阵U的值;
步骤F24:根据(2)式计算得出目标函数,如果目标函数小于某个确定的阀值,或相对上一次的目标函数值的改变量小于某个阀值,然后停止算法;若不小于,则返回步骤F12更新隶属度矩阵继续计算。
需要说明的是,通过上述改进,FCM算法是一种基于划分的聚类算法,它的思想就是使得被划分到同一簇的对象之间相似度最大,而不同簇之间的相似度最小。模糊C均值算法是普通C均值算法的改进,普通C均值算法对于数据的划分是硬性的,而FCM则是一种柔性的模糊划分。所述模糊C均值FCM聚类算法是用隶属度确定每个数据点属于某个聚类的程度的一种聚类算法,是C均值聚类(HCM)方法的一种改进。
首先说明隶属度函数的概念:隶属度函数是表示一个对象x隶属于集合A的程度的函数,通常记做μA(x),其自变量范围是所有可能属于集合A的对象(即集合A所在空间中的所有点),取值范围是[0,1],即0<=μA(x)<=1。μA(x)=1表示x完全隶属于集合A,相当于传统集合概念上的x∈A。一个定义在空间X={x}上的隶属度函数就定义了一个模糊集合A,或者叫定义在论域X={x}上的模糊子集。对于有限个对象x1,x2,...,xn模糊集合可以表示为:
有了模糊集合的概念,一个元素隶属于模糊集合就不是硬性的了,在聚类的问题中,可以把聚类生成的簇看成模糊集合,因此,每个样本点隶属于簇的隶属度就是[0,1]区间里面的值。FCM算法把n个向量xi(i=1,2,...,n)分为c个模糊组,并求每组的聚类中心ci,使得非相似性指标的价值函数达到最小。FCM算法与HCM算法的主要区别在于FCM算法用模糊划分,使得每个给定数据点用值在0,1间的隶属度来确定其属于各个组的程度。与引入模糊划分相适应,隶属矩阵U允许有取值在0,1间的元素。不过,加上归一化规定,一个数据集的隶属度的和总等于1,使其满足下式的约束条件:
式中i为类别,j为样本,i=1,...,c,j=1,...,n;
那么FCM的目标函数就是式(1)的一般化形式:
式中J为U的目标函数,Uij介于(0,1)之间,ci为模糊组i的聚类中心,dij=||ci-xj||为第i个聚类中心与第j个向量点之间的欧几里得距离,且是一个加权指数,xj为第j个向量,m为加权指数,d为终止误差;
构造新的目标函数如下式所示,可求得使(2)式达到最小值的必要条件:
式中λj(j=1,...,n)为(1)式的第j个约束式的拉格朗日乘子;
对所有向量参数求导,得到使(2)式达到最小值的必要条件:
和
k为实数,k=1,...,c,根据(4)式可得到ci和隶属矩阵U的值;
如图4所示,根据(2)式计算得出目标函数如果小于某个确定的阀值,或相对上一次的目标函数值的改变量小于某个阀值,然后停止算法;若不小于,则返回步骤F12更新隶属度矩阵继续计算。
本实施例的其他部分与上述实施例相同,故不再赘述。
以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。