CN103729431B - 具有增减量功能的海量微博数据分布式分类装置及方法 - Google Patents

具有增减量功能的海量微博数据分布式分类装置及方法 Download PDF

Info

Publication number
CN103729431B
CN103729431B CN201310732005.9A CN201310732005A CN103729431B CN 103729431 B CN103729431 B CN 103729431B CN 201310732005 A CN201310732005 A CN 201310732005A CN 103729431 B CN103729431 B CN 103729431B
Authority
CN
China
Prior art keywords
microblog data
matrix
microblog
intermediate result
data
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.)
Active
Application number
CN201310732005.9A
Other languages
English (en)
Other versions
CN103729431A (zh
Inventor
王国仁
信俊昌
聂铁铮
赵相国
丁琳琳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northeastern University China
Original Assignee
Northeastern University China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Northeastern University China filed Critical Northeastern University China
Priority to CN201310732005.9A priority Critical patent/CN103729431B/zh
Publication of CN103729431A publication Critical patent/CN103729431A/zh
Application granted granted Critical
Publication of CN103729431B publication Critical patent/CN103729431B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明一种具有增减量功能的海量微博数据分布式分类装置及方法,属于数据挖掘技术领域,本发明克服了以往的利用极限学习机技术仅能分布式地处理海量微博数据而不能有效地处理微博数据更新的缺陷,良好地解决了针对海量微博数据中数据频繁更新的问题,充分利用了海量微博数据的效用,起到了更好的为应用服务的效果。

Description

具有增减量功能的海量微博数据分布式分类装置及方法
技术领域
本发明属于数据挖掘技术领域,具体涉及一种具有增减量功能的海量微博数据分布式分类装置及方法。
背景技术
目前,互联网上每时每刻都会产生大量的信息,这些信息的表现形式多种多样,其中微博平台产生的信息量也在迅速增加。任何人都可以成为微博用户,并且任何人都可以随时在任何支持微博的客户端上发表和读取信息,使得微博数据的更新速度也非常迅速。为此,如何采取适当的措施与技术,从海量的微博数据中挖掘有用的信息,同时能够有效地处理不断更新的微博数据,对未来事物做出预测性的判断已经成为当前数据挖掘领域研究的热点与难点问题。
如今微博数据中包含了大量的微博用户情感信息,例如观点分析、商品评价、民意检测等方面,这些信息表明了微博用户对某个事件、商品、人物等的观点和看法,这些情感信息具有很高的研究和应用价值,也就使得针对微博数据的情感分析获得了广泛的关注,具有了广阔的应用前景。
在现有的针对海量微博数据的相关研究中,分布式的处理方法仅仅能够达到处理海量规模的微博数据的目的,然而在大数据环境下的很多实际应用中,往往存在频繁的数据更新,例如新数据的不断产生,旧数据的过期等问题,采用现有的分布式处理方法很难应对大数据的频繁更新所带来的挑战。
发明内容
针对现有技术存在的不足,本发明一种具有增减量功能的海量微博数据分布式分类装置及方法,以达到对不断更新的微博数据进行有效地处理和分析,提高数据处理快速性和准确性,更好的为应用服务。
一种具有增减量功能的海量微博数据分布式分类装置,包括多个从控制机和一个主控制机,所述的从控制机包括向量器、剥离器、转换器、后项计算器和前项计算器;所述的主控制机包括前项缓存器、后项缓存器、更新前项累加器、更新后项累加器、前项整合器、后项整合器、参数生成器和分类生成器;其中,
向量器:用于将标注后的文本字段进行特征提取,并将提取的特征和标注类型表示成向量形式,并将该向量发送至剥离器;
剥离器:用于对向量化后的文本字段进行剥离,获得所有文本字段的特征矩阵和分类结果矩阵,并将文本字段的特征矩阵发送至转换器,将分类结果矩阵发送至后项计算器;
转换器:用于将特征矩阵中的元素进行归一化处理,并在极限学习机选择一个激励函数,将归一化处理后的特征矩阵中的元素代入所选择的激励函数中,获得极限学习机的隐层输出矩阵,并将隐层输出矩阵发送至后项计算器和前项计算器;
前项计算器:用于根据获得的隐层输出矩阵,获得第一中间结果,所述的第一中间结果为隐层输出矩阵的转置矩阵与自身的乘积,当采集原始微博数据时,将获得的第一中间结果发送至前项缓存器,当采集更新微博数据时,将获得的第一中间结果发送至更新前项累加器;
后项计算器:用于根据获得的隐层输出矩阵和微博数据训练集的分类结果矩阵,获得第二中间结果,所述的第二中间结果为隐层输出矩阵的转置矩阵与分类结果矩阵的乘积,当采集原始微博数据时,将获得的第二中间结果发送至后项缓存器,当采集更新微博数据时,将获得的第二中间结果发送至更新后项累加器;
前项缓存器:用于计算并存储所有从控制机发送的第一中间结果的总和,并把总和发送至前项整合器;
后项缓存器:用于计算并存储所有从控制机发送的第二中间结果的总和,并把总和发送至后项整合器;
更新前项累加器:用于计算并存储所有从控制机发送的更新微博数据第一中间结果的总和,并把总和发送至前项整合器;
更新后项累加器:用于计算并存储所有从控制机发送的更新微博数据第二中间结果的总和,并把总和发送至后项整合器;
前项整合器:
当微博数据量发生变化时,用于将前项缓存器存储的原始数据的第一中间结果和更新前项累加器存储的更新微博数据的第一中间结果进行合并,获得汇总微博数据的第一中间结果并发送至参数生成器;
当微博数据量未发生变化时,用于直接将前项缓存器存储的第一中间结果发送至参数生成器;
后项整合器:
当微博数据量发生变化时,用于将后项缓存器存储的原始微博数据的第二中间结果和更新后项累加器存储的更新微博数据的第二中间结果,获得汇总微博数据的第二中间结果并发送至参数生成器;
当微博数据量未发生变化时,用于直接将后项缓存器存储的第二中间结果发送至参数生成器;
参数生成器:用于根据获得的汇总微博数据的第一中间结果和汇总微博数据的第二中间结果,计算获得极限学习机输出节点的权重向量参数并发送至分类生成器;
分类生成器:
当建立分类器时,用于根据获得的输出节点的权重向量参数和待分类微博数据的隐层输出向量,确定微博数据分类函数,即完成微博数据分类器的构建;
当对被测微博数据进行分类检测时,用于根据微博数据分类函数和被测微博数据隐层输出向量,确定该被测微博数据的类型。
采用具有增减量功能的海量微博数据分布式分类装置进行分类的方法,包括以下步骤:
步骤1:采集某一微博平台产生的数据,并对采集的数据进行人工标注,形成微博训练数据集,具体如下:
采用主控制机采集所需处理的微博数据,确定该微博数据中的文本内容字段,对文本字段进行人工标注分类,并将标注后的文本字段发送至从控制机;或者采用主控制机发送信号至每个从控制机,控制从控制机采集所需处理的微博数据,从控制机根据采集的微博数据,确定其中的文本字段,对文本内容字段进行人工标注分类,形成标注后的文本字段;
步骤2:采用主控制机对所需参数进行初始化处理,并将初始化处理后的参数发送至从控制机;
所述的初始化处理具体为:采用极限学习机方法对微博数据进行处理,采用主控制机随机生成极限学习机内部参数,包括:隐层节点个数、输入节点的权重向量和隐层节点的偏移量;
步骤3:每个从控制机对获得的标注后的文本字段进行处理,获得隐层输出矩阵的转置矩阵与自身的乘积和隐层输出矩阵的转置矩阵与分类结果矩阵的乘积,并发送至主控制机,具体如下:
步骤3-1:采用向量器将标注后的文本字段进行特征提取,并将提取的特征和标注类型存储至一个向量中,完成文本字段的向量化;
步骤3-2:对向量化后的文本字段进行剥离,即获得所有文本字段的特征矩阵和分类结果矩阵,形成微博数据训练集;
步骤3-3:采用极限学习机方法,根据获得的微博数据训练集、初始化随机设定的输入节点的权重向量和隐层节点的偏移量,获得隐层输出矩阵的转置矩阵与自身的乘积和隐层输出矩阵的转置矩阵与分类结果矩阵的乘积,并发送给主控制机,具体为:
步骤3-3-1:将微博数据训练集特征矩阵中的元素进行归一化处理,并在极限学习机选择一个激励函数,将归一化处理后的特征矩阵中的元素代入所选择的激励函数中,获得极限学习机的隐层输出矩阵;
步骤3-3-2:前项计算器根据获得的隐层输出矩阵,获得第一中间结果,所述的第一中间结果为隐层输出矩阵的转置矩阵与自身的乘积;
步骤3-3-3:后项计算器根据获得的隐层输出矩阵和微博数据训练集的分类结果矩阵,获得第二中间结果,所述的第二中间结果为隐层输出矩阵的转置矩阵与分类结果矩阵的乘积;
步骤3-3-4:将获得的第一中间结果和第二中间结果发送至主控制机中;
步骤4:主控制机将所有从控制机发送的第一中间结果进行求和,存储于前项缓存器中;将所有从控制机发送的第二中间结果进行求和,存储于后项缓存器中;
步骤5:判断采集的微博数据量是否发生变化,若是,则执行步骤6;否则执行步骤9;
步骤6:将更新的微博数据返回执行步骤1至步骤3,主控制机将获得的所有更新微博数据的第一中间结果进行求和,存储于更新前项累加器中;主控制机将获得的所有更新微博数据的第二中间结果进行求和,存储于更新后项累加器中;
步骤7:采用前项整合器将前项缓存器存储的原始数据的第一中间结果和更新前项累加器存储的更新微博数据的第一中间结果进行合并,获得汇总微博数据的第一中间结果,采用后项整合器将后项缓存器存储的原始微博数据的第二中间结果和更新后项累加器存储的更新微博数据的第二中间结果,获得汇总微博数据的第二中间结果;
步骤8:参数生成器根据获得的汇总微博数据的第一中间结果和汇总微博数据的第二中间结果,计算获得极限学习机输出节点的权重向量参数,执行步骤10;
步骤9:前项缓存器将存储的第一中间结果发送至前项整合器,后项缓存器将存储的第二中间结果发送至后项整合器;参数生成器根据前项整合器发送的数据和后项整合器发送的数据,计算获得极限学习机输出节点的权重向量参数,执行步骤10;
步骤10:分类生成器根据获得的输出节点的权重向量参数和待分类微博数据的隐层输出向量,确定微博数据分类函数,即完成微博数据分类器的构建;
步骤11:实时采集被测微博平台产生的数据,并对被测数据的文本字段进行向量化和归一化处理,并根据已选择的激励函数获得被测数据的隐层输出向量,代入获得的微博数据分类函数获得被测数据的类型,即在获得的微博数据分类函数的向量中,最大元素所在维度对应的类型,即为该被测数据的类型;
步骤12、完成被测微博平台数据的分类处理。
步骤3-1所述的提取的特征包括褒义词词频、褒义词平均等级、贬义词词频、贬义词平均等级、程度副词词频和否定副词词频六个特征,其中,所述的褒义词词频、贬义词词频、程度副词词频和否定副词词频,均根据该文本字段中对应类型单词个数和单词总个数获得;所述的褒义词平均等级和贬义词平均等级,均据该文本字段中对应类型单词等级的总和与对应类型词总个数获得;所述的向量行数为采集的文本字段个数,向量的列包括褒义词词频、褒义词平均等级、贬义词词频、贬义词平均等级、程度副词词频、否定副词词频和标注类型七列;所述的单词等级,具体为:褒义词等级包括:+1、+2和+3;贬义词等级包括:-1、-2和-3。
步骤3-2所述的特征矩阵,行数为采集的文本字段个数,列包括褒义词词频、褒义词平均等级、贬义词词频、贬义词平均等级、程度副词词频和否定副词词频六列;所述的分类结果矩阵,行数为采集的文本字段个数,列包括标注类型一列;所述的微博数据训练集包括特征矩阵和分类结果矩阵。
步骤8所述的参数生成器根据获得的汇总微博数据的第一中间结果和汇总微博数据的第二中间结果,计算获得极限学习机输出节点的权重向量参数,具体如下:
当采集的微博数据量增加时,输出节点的权重向量参数公式如下:
β + = ( I λ + H + T H + ) - 1 H + T T + = ( I λ + U + ) - 1 V + - - - ( 1 )
其中,β+表示微博数据量增加时输出节点的权重向量参数;I是单位阵,λ是用户指定的参数,λ>0,(·)-1是矩阵求逆运算,U+表示微博数据量增加时汇总微博数据的第一中间结果;V+表示微博数据量增加时汇总微博数据的第二中间结果;H+表示微博数据量增加时汇总后的隐层输出矩阵;T+表示微博数据量增加时汇总后的分类结果矩阵;,+表示增量;
当微博数据量减少或者过期时,输出节点的权重向量参数公式如下:
β - = ( I λ + H - T H - ) - 1 H - T T - = ( I λ + U - ) - 1 V - - - - ( 2 )
其中,β-表示微博数据量减少时输出节点的权重向量参数;U-表示微博数据量减少时汇总微博数据的第一中间结果;V-表示微博数据量减少时汇总微博数据的第二中间结果;H-表示微博数据量减少时汇总后的隐层输出矩阵;T-表示微博数据量减少时汇总后的分类结果矩阵;-表示减量。
步骤9所述的计算获得极限学习机输出节点的权重向量参数,公式如下:
β = ( I λ + H T H ) - 1 H T T 1 = ( I λ + U ) - 1 V - - - ( 3 )
其中,β表示微博数据量未发生变化时输出节点的权重向量参数;H表示汇总后的隐层输出矩阵;T1表示汇总后的分类结果矩阵;V表示微博数据量未发生变化时的第二中间结果;U表示微博数据量未发生变化时的第一中间结果。
步骤10所述的微博数据分类函数,公式如下:
f(x)=h(x)β± (4)
其中,f(x)表示待分类微博数据的分类结果,h(x)表示待分类微博数据的隐层输出向量,β±表示微博数据量增加或减少时输出节点的权重向量参数。
本发明优点:
本发明一种具有增减量功能的海量微博数据分布式分类装置及方法,克服了以往的利用极限学习机技术仅能分布式地处理海量微博数据而不能有效地处理微博数据更新的缺陷,良好地解决了针对海量微博数据中数据频繁更新的问题,充分利用了海量微博数据的效用,起到了更好的为应用服务的效果。
附图说明
图1为本发明一种实施方式的分布式体系结构示意图;
图2为本发明一种实施方式的主控制机与从控制机的连接示意图;
图3为本发明一种实施方式的主控制机及从控制机结构框图;
图4为本发明一种实施方式的分布式微博数据训练集示意图;
图5为本发明一种实施方式的具有增减量功能的海量微博数据分布式分类方法流程图;
图6为本发明一种实施方式从控制机转化后的局部中间结果示意图;
图7为本发明一种实施方式从控制机计算更新数据中间结果及主控制机汇总示意图。
具体实施方式
下面结合附图对本发明一种实施例做进一步说明。
本发明实施例中,根据微博数据的情感倾向性来对微博数据进行分类,并在分布式环境下对海量微博数据进行分析,其中分布式体系结构如图1所示,包括一个主节点n0和多个从节点n1,n2,...,ns,其中,主节点n0分别与多个从节点n1,n2,...,ns互联,能够和所有从节点n1,n2,...,ns进行相互通信。
如图2所示,一种具有增减量功能的海量微博数据分布式分类装置,包括多个从控制机(从控制机1,从控制机2,...,从控制机m)和一个主控制机,每个从控制机均与主控制机互联。根据极限学习机(ELM)的原理,每个从控制机处理自身局部的微博数据训练集,产生各自的用于生成最终分类器的中间结果,并将这些中间结果发送给主控制机,主控制机在接收这些中间结果后,同样根据极限学习机(ELM)的原理,产生最终的微博数据分类器。
如图3所示,本发明实施例中,从控制机包括向量器、剥离器、转换器、后项计算器和前项计算器;所述的主控制机包括前项缓存器、后项缓存器、更新前项累加器、更新后项累加器、前项整合器、后项整合器、参数生成器和分类生成器;其中,
向量器:用于将标注后的文本字段进行特征提取,并将提取的特征向量xi和标注类型ti存储成向量形式,并将该向量发送至剥离器中;
剥离器:用于对向量化后的文本字段进行剥离,获得所有文本字段的特征矩阵Xi(ΔXi)和分类结果矩阵Ti(ΔTi),并将文本字段的特征矩阵发送至转换器,将分类结果矩阵发送至后项计算器;
转换器:利用极限学习机(ELM)的原理,用于将特征矩阵Xi(ΔXi)中的元素进行归一化处理,并在极限学习机选择一个激励函数,将归一化处理后的特征矩阵中的元素代入所选择的激励函数中,获得极限学习机的隐层输出矩阵Hi(ΔHi),并将隐层输出矩阵Hi(ΔHi)发送至后项计算器和前项计算器;
前项计算器:用于根据获得的隐层输出矩阵Hi(ΔHi),获得第一中间结果,所述的第一中间结果为隐层输出矩阵的转置矩阵与自身的乘积Hi THi(ΔHi TΔHi),当采集原始微博数据时,将获得的第一中间结果发送至前项缓存器,当采集更新微博数据时,将获得的第一中间结果发送至更新前项累加器;
后项计算器:用于根据获得的隐层输出矩阵Hi(ΔHi)和分类结果矩阵Ti(ΔTi),获得第二中间结果,所述的第二中间结果为隐层输出矩阵的转置矩阵与分类结果矩阵的乘积Hi TTi(ΔHi TΔTi),当采集原始微博数据时,将获得的第二中间结果发送至后项缓存器,当采集更新微博数据时,将获得的第二中间结果发送至更新后项累加器;
前项缓存器:用于计算并存储所有从控制机发送的第一中间结果Hi THi的总和HTH,并把总和发送至前项整合器;
后项缓存器:用于计算并存储所有从控制机发送的第二中间结果Hi TTi的总和HTT,并把总和发送至后项整合器;
更新前项累加器:用于计算并存储所有从控制机发送的更新微博数据第一中间结果ΔHi TΔHi的总和ΔHTΔH,并把总和发送至前项整合器;
更新后项累加器:用于计算并存储所有从控制机发送的更新微博数据第二中间结果ΔHi TΔTi的总和ΔHTΔT,并把总和发送至后项整合器;
前项整合器:
当微博数据量发生变化时,用于将前项缓存器存储的原始数据的第一中间结果和更新前项累加器存储的更新微博数据的第一中间结果进行合并,获得汇总微博数据的第一中间结果H±TH并发送至参数生成器;
当微博数据量未发生变化时,用于直接将前项缓存器存储的第一中间结果HTH发送至参数生成器;
后项整合器:
当微博数据量发生变化时,用于将后项缓存器存储的原始微博数据的第二中间结果和更新后项累加器存储的更新微博数据的第二中间结果,获得汇总微博数据的第二中间结果H±TT并发送至参数生成器;
当微博数据量未发生变化时,用于直接将后项缓存器存储的第二中间结果HTT发送至参数生成器;
参数生成器:用于根据获得的汇总微博数据的第一中间结果和汇总微博数据的第二中间结果,计算获得极限学习机输出节点的权重向量参数β并发送至分类生成器;
分类生成器:
当建立分类器时,用于根据获得的输出节点的权重向量参数β和待分类微博数据的隐层输出向量h(x),确定微博数据分类函数,即完成微博数据分类器的构建;
当对被测微博数据进行分类检测时,用于根据微博数据分类函数和被测微博数据隐层输出向量h(x),确定该被测微博数据的类型。
本发明实施例是根据与苹果平板电脑相关的微博数据,对目前微博用户对苹果平板电脑的情感倾向性进行分析,通过这样的情感倾向性分析,帮助有关的产品生产商、供应商、经销商等对苹果平板电脑未来的发展趋势做出正确的判断,同时也可以帮助苹果平板电脑的已购和预购用户加深对苹果平板电脑的了解,进而做出适宜的选择。本实施方式仍然以增加微博数据为例进行说明。
如图4所示,本发明实施例中,采用一个主控制机(即主节点n0)和三个从控制机(即从节点n1、n2和n3)共同构成的分布式系统。根据ELM的基本原理进行如下的处理:
采用具有增减量功能的海量微博数据分布式分类装置进行分类的方法,方法流程图如图5所示,包括以下步骤:
步骤1:采集某一微博平台产生的数据,并对采集的数据进行人工标注,形成微博训练数据集,具体如下:
本发明实施例中采用第一种采集方式,即主控制机获得与苹果平板电脑相关的微博数据,微博数据含有多个字段,例如,发表时间、发表人、类型、访问权限、正文文本内容、图片URL、视频URL等等。本实施例中仅仅获取这些微博数据中的文本内容字段即可,用于情感倾向性分析。同时,需要人工标注增添一个情感倾向维度,即微博数据的分类结果部分,用于表示微博内容的情感倾向,本实施例中将文本的情感倾向分为三个级别,赞成、中立、反对。
本发明实施例中,有如下7条进行过人工情感标注的微博数据,主控制机将这7条训练数据分发给三个从控制机,其中语句1-2发给从控制机n1,语句3-5发送给从控制机n2,语句6-7发送给从控制机n3
从控制机n1的微博数据训练集:
语句1:苹果平板电脑品质不错,反应速度够快,手感也很好。(语句1的情感倾向是:赞成)
语句2:苹果平板电脑用了有段时间,功能太少了,没有传说中的那么好,太一般了。(语句2的情感倾向是:反对)
从控制机n2的微博数据训练集:
语句3:苹果平板电脑速度很快,联网稳定,游戏上网都比较完美,赞一个!(语句3的情感倾向是:赞成)
语句4:苹果平板电脑单一的产品路线和高的价格,不知道在三星等其他的对手的竞争下还能持续多久。(语句4的情感倾向是:中立)
语句5:苹果平板电脑操作系统不习惯,屏幕比例看宽屏电影很不爽,导出文件麻烦,下载软件很昂贵。(语句5的情感倾向是:反对)
从控制机n3的微博数据训练集:
语句6:苹果平板电脑速度非常快,分辨度也很高,应用程序相当丰富。(语句6的情感倾向是:赞成)
语句7:苹果平板电脑机身太重,拿起不方便,下载需要通过itunes,很麻烦!(语句7的情感倾向是:反对)
步骤2:采用主控制机对所需参数进行初始化处理,并将初始化处理后的参数发送至从控制机;
本实施方式中,各从控制机和主控制机均采用ELM技术实现对微博数据的分析,其中的ELM技术具体如下:
极限学习机是一种基于单隐层前馈神经网络(Single Hidden-LayerFeedforward NeuralNetworks,SLFNs)的训练方法。ELM在训练前随机设置隐含层到输入层的连接权值和偏置值,在算法的执行过程中不需要调整网路的输入权值以及隐含层单元的偏置值,既能够对输出层权重产生唯一最优解析解,能够提供良好的泛化能力和极快的学习速度。
ELM的基本原理为:在训练过程中,ELM首先随机产生输入权重和隐层节点阈值,然后再根据训练数据计算SLFNs的输出权重。假设给定N个训练样本(xj,tj),其中xj是训练样本的特征向量部分,tj是样本的分类结果部分。隐层节点数为L、激励函数为g(x)的SLFNs可以形式化地表示为:
Σ i = 1 L β i g ( x j ) = Σ i = 1 L β i g ( w i · x j + b i ) = o j , j = 1,2 , . . . , N ; - - - ( 5 )
其中,wi是连接第i个隐层节点和输入节点的权重向量;βi是连接第i个隐层节点和输出节点的权重向量;bi是第i个隐层节点的阈值;oj是SLFNs的第j个输出向量。
如果SLFNs可以无误差的近似训练样本,那么就要满足即存在wi、βi和bi,使得 Σ i = 1 L β i g ( w i · x j + b i ) = t j , 简记为Hβ=T。其中,
H ( w 1 , w 2 , . . . , w L , b 1 , b 2 , . . . , b L , x 1 , x 2 , . . . , x N ) = g ( w 1 · x 1 + b 1 ) g ( w 2 · x 1 + b 2 ) · · · g ( w L · x 1 + b L ) g ( w 1 · x 2 + b 1 ) g ( w 2 · x 2 + b 2 ) · · · g ( w L · x 2 + b L ) · · · · · · · · · · · · g ( w 1 · x N + b 1 ) g ( w 2 · x N + b 2 ) · · · g ( w L · x N + b L ) - - - ( 6 )
其中,其中,矩阵xT为矩阵x的转置矩阵;矩阵H称为隐层输出矩阵。公式Hβ=T中,只有β是未知数,可得 是H的Moore-Penrose广义逆。
在基本的极限学习机的基础上,提出了基于随机隐层特征映射的ELM,此时其中I是单位阵,λ是用户指定的参数;
此外,还有基于核函数的ELM(Kernel based ELM),完全复杂ELM(Fully ComplexELM)、在线连续ELM(Online Sequential ELM)、增量ELM(Incremental ELM)和集成ELM(Ensemble of ELM)等多个ELM的变种,均被广泛地使用在不同的应用领域,达到了很好的实际应用效果。
本发明实施例中,初始化预先设定的参数均由主控制机预先随机生成,参数包括:输入节点的权重向量w1,w2,w3和隐层节点的阈值b1,b2,b3;并将这些参数下发到从节点n1、n2和n3,并设定隐层节点数L=3。
w1=(-0.9286,0.3575,-0.2155,0.4121,-0.9077,0.3897)
w2=(0.6983,0.5155,0.3110,-0.9363,-0.8057,-0.3658)
w3=(0.8680,0.4863,-0.6576,-0.4462,0.6469,0.9004)
b1=0.0344
b2=0.4387
b3=0.3816
步骤3:每个从控制机对获得的标注后的文本字段进行处理,获得隐层输出矩阵的转置矩阵与自身的乘积和隐层输出矩阵的转置矩阵与分类结果矩阵的乘积,并发送至主控制机,具体如下:
步骤3-1:采用向量器将标注后的文本字段进行特征提取,包括褒义词词频、褒义词平均等级、贬义词词频、贬义词平均等级、程度副词词频和否定副词词频六个特征,并将上述六个特征和标注类型存储至一个向量中,完成文本字段的向量化;
本发明实施例中,将带有分类结果部分的每条微博训练数据进行向量化,其中包括每条微博数据的数据部分的特征向量xi和分类结果部分ti
对数据部分的向量化即对数据部分进行特征提取。特征提取是情感倾向性分析的基础,特征提取的好坏直接影响情感倾向性预测的结果。特征提取是用映射(或变换)的方法把原始特征变换为最有代表性的新特征。本实施方式主要研究文本数据中褒义情感词、贬义情感词、程度副词、否定词作为特征对文本情感倾向性分析的影响。下面具体加以介绍:
情感词:情感词是指具有情感倾向的名词、动词、形容词以及一些成语与习惯用语等。文本的情感倾向性主要通过情感词加以传递,因此,情感词是文本情感倾向性分析与预测的重要特征之一。根据情感分析的需要,本实施例将文本数据中的情感词分为两种,即褒义词和贬义词。褒义词是词性带有赞许,肯定感情的词,如“喜欢”、“认可”、“赞赏”、“嘉许”、“褒扬”、“尊崇”、“美好”等。贬义词:是词义带有贬斥、否定、憎恨、轻蔑感情色彩的词,如“厌恶”、“反对”、“无知”、“郁闷”、“卑鄙”、“欺骗”等。本实施方式将褒义情感词分为三个等级[+3,+2,+1],褒义程度依次降低,贬义情感词也分为三个等级[-1,-2,-3],贬义程度依次升高。
情感词涉及到的特征向量主要有四个,分别是褒义词词频、褒义词平均等级、贬义词词频、贬义词平均等级。
程度副词:程度副词是副词的一种,表示程度。如“很、非常、极、十分、最、顶、太、更、挺、极其、格外、分外、更加、越、越发、有点儿、稍、稍微、略微、几乎、过于、尤其”等,其中本实施方式提取程度副词的词频作为一个特征向量。
否定副词:否定副词是副词的一种,表示肯定、否定。如“不、没、没有、不用(甭)、必、必须、必定、准、的确、未、别、莫、勿、是否、不必、不曾”等,其中本实施方式提取否定副词的词频作为一个特征向量。
综上所述,本实施方式提取的文本特征向量主要有六个,分别是褒义词词频、褒义词平均等级、贬义词词频、贬义词平均等级、程度副词词频和否定副词词频。同时微博数据的分类结果部分中,将文本的情感倾向分为三个级别,赞成、中立、反对,用[+1,+2,+3]表示。即获得的每条微博数据的特征向量部分和分类结果部分,具体形式如下:
表1
根据上述特征提取方法,本发明实施例对7条微博数据提取,得到相应的向量化结果如下:
语句1:苹果平板电脑品质不错,反应速度够快,手感也很好。语句1的情感倾向是:赞成)
语句1分析:语句1中可以划分成8个单词,其中褒义词有“不错”、“快”、“很好”3个,则语句1的褒义词词频为3/8,相应褒义词的级别分别为+1、+2、+2,则语句1的褒义词平均等级为(1+2+2)/3,语句1中不含有贬义词,因此其贬义词词频和平均等级均为0,程度副词为“很”,词频为1/8,否定副词的词频为0,情感倾向为赞成,分类结果为+1,因此语句1经过抽取后可以转换成(0.375,1.667,0,0,0.125,0,1)。
运用相同的方法,可以得到其它语句的特征向量部分。
语句2:苹果平板电脑用了有段时间,功能太少了,没有传说中的那么好,太一般了。(语句2的情感倾向是:反对)
语句2分析:(0.083,2,0.167,-1.5,0.25,0.083,3)。
语句3:苹果平板电脑速度很快,联网稳定,游戏上网都比较完美,赞一个!(语句3的情感倾向是:赞成)
语句3分析:(0.333,2.5,0,0,0.25,0,1)。
语句4:苹果平板电脑单一的产品路线和高的价格,不知道在三星等其他的对手的竞争下还能持续多久。(语句4的情感倾向是:中立)
语句4分析:(0.077,2,0.077,-1,0,0,2)。
语句5:苹果平板电脑操作系统不习惯,屏幕比例看宽屏电影很不爽,导出文件麻烦,下载软件要很昂贵。(语句5的情感倾向是:反对)
语句5分析:(0,0,0.188,-2.333,0.125,0.063,3)。
语句6:苹果平板电脑速度非常快,分辨度也很高,应用程序相当丰富。(语句6的情感倾向是:赞成)
语句6分析:(0.273,2.333,0,0,0.273,0,1)。
语句7:苹果平板电脑机身太重,拿起不方便,下载需要通过itunes,很麻烦!(语句7的情感倾向是:反对)
语句7分析:(0,0,0.154,-2.5,0.154,0.077,3)。
步骤3-2:对向量化后的文本字段进行剥离,即获得所有文本字段的特征矩阵和分类结果矩阵,形成微博数据训练集;
本发明实施例中,每个从控制机对自身局部的向量化后的微博训练数据进行剥离,剥离这些数据的特征向量部分和分类结果部分,即使得每个从控制机均生成各自的局部微博数据集(Xi,Ti)或(ΔXi,ΔTi),其中,Xi为微博数据训练集的特征矩阵,Ti为微博数据训练集的分类结果矩阵,ΔXi为更新微博数据训练集的特征矩阵,ΔTi为更新微博数据训练集的分类结果矩阵。从控制机n1的训练数据为:
语句1(0.375,1.667,0,0,0.125,0,1)
语句2(0.083,2,0.167,-1.5,0.25,0.083,3)
从控制机n1的微博数据经过剥离后的微博训练数据的特征矩阵X1和分类结果矩阵T1如下所示:
特征矩阵 X 1 = 0.375 1.667 0 0 0.125 0 0.083 2 0.167 - 1.5 0.25 0.083
分类结果矩阵 T 1 = 1 3
从控制机n2的训练数据为:
语句3(0.333,2.5,0,0,0.25,0,1)
语句4(0.077,2,0.077,-1,0,0,2)
语句5(0,0,0.188,-2.333,0.125,0.063,3)
从控制机n2的微博数据经过剥离后的微博训练数据特征矩阵X2和分类结果矩阵T2如下所示:
特征矩阵 X 2 = 0.333 2.5 0 0 0.25 0 0.077 2 0.077 - 1 0 0 0 0 0.188 - 2.333 0.125 0.063
分类结果矩阵 T 2 = 1 2 3
从控制机n3的训练数据为:
语句6(0.273,2.333,0,0,0.273,0,1)
语句7(0,0,0.154,-2.5,0.154,0.07,3)
从控制机n3的微博数据经过剥离后的微博训练数据特征矩阵X3和分类结果矩阵T3如下所示:
特征矩阵 X 3 = 0.273 2.333 0 0 0.273 0 0 0 0.154 - 2.5 0.154 0.077
分类结果矩阵 T 3 = 1 3
步骤3-3:采用极限学习机方法,根据获得的微博数据训练集、初始化随机设定的输入节点的权重向量和隐层节点的偏移量,获得隐层输出矩阵的转置矩阵与自身的乘积和隐层输出矩阵的转置矩阵与分类结果矩阵的乘积,并发送给主控制机,具体为:
步骤3-3-1:将微博数据训练集特征矩阵中的元素进行归一化处理,并在极限学习机选择一个激励函数,将归一化处理后的特征矩阵中的元素代入所选择的激励函数中,获得极限学习机的隐层输出矩阵;
如图6所示,本发明实施例中,每个从控制机ni根据接收的参数w1,w2,...,wL和b1,b2,...,bL,以及局部微博数据集(Xi,Ti),计算ELM所需的中间结果,并将中间结果提交给主控制机。
在ELM中,对于输入数据的特征矩阵Xi中的每个元素需要进行归一化,使得Xi中所有的元素均在[-1,+1]之间,归一化方法选取的不同会造成输入数据的不同。另外,对于激励函数g(wi·xi+bi),ELM提供了多种激励函数以供用户选择,激励函数的选取的不同,同样会使得中间结果不同,进而造成最终分类结果的不同。在本发明实施例中,将这些语句的向量进行归一化,选择一个激活函数,进而求得ELM所需的中间结果。下面分别对三个从控制机进行说明:
对于从节点n1来说:
从控制机n1处理的数据为语句1(0.375,1.667,0,0,0.125,0,1)和语句2(0.083,2,0.167,-1.5,0.25,0.083,3),接收的参数为w1,w2,w3,b1,b2,b3,归一化和选取激励函数后可得
隐层输出矩阵 H 1 = g ( w 1 · x 1 + b 1 ) g ( w 2 · x 1 + b 2 ) g ( w 3 · x 1 + b 3 ) g ( w 1 · x 2 + b 1 ) g ( w 2 · x 2 + b 2 ) g ( w 3 · x 2 + b 3 ) = 0.5287 0.7409 0.7524 0.5442 0.7244 0.7404 ,
分类结果矩阵 T 1 = 1 3
步骤3-3-2:前项计算器根据获得的隐层输出矩阵,获得第一中间结果,所述的第一中间结果为隐层输出矩阵的转置矩阵与自身的乘积;
根据H1,计算中间结果U1,可得 U 1 = H 1 T H 1 = 0.5867 0.7932 0.8081 0.7932 1.0737 1.0938 0.8081 1.0938 1.1143
步骤3-3-3:后项计算器根据获得的隐层输出矩阵和微博数据训练集的分类结果矩阵,获得第二中间结果,所述的第二中间结果为隐层输出矩阵的转置矩阵与分类结果矩阵的乘积;
根据H1和T1,计算中间结果V1,可得 V 1 = H 1 T T 1 = 2.1913 2.9141 2.9736
步骤3-3-4:将获得的第一中间结果和第二中间结果发送至主控制机中;
并将中间结果U1和V1提交给主控制机。
同样,根据步骤3-3-1、步骤3-3-2、步骤3-3-3和步骤3-3-4,将获得的第一中间结果和第二中间结果发送至主控制机中;
,对于从控制机2来说:
从控制机n2处理的数据为语句3(0.333,2.5,0,0,0.25,0,1)、语句4(0.077,2,0.077,-1,0,0,2)和语句5(0,0,0.188,-2.333,0.125,0.063,3),接收的参数为w1,w2,w3,b1,b2,b3,归一化和选取激励函数后可得隐层输出矩阵:
H 2 = g ( w 1 · x 3 + b 1 ) g ( w 2 · x 3 + b 2 ) g ( w 3 · x 3 + b 3 ) g ( w 1 · x 4 + b 1 ) g ( w 2 · x 4 + b 2 ) g ( w 3 · x 4 + b 3 ) g ( w 1 · x 5 + b 1 ) g ( w 2 · x 5 + b 2 ) g ( w 3 · x 5 + b 3 ) = 0.5441 0.7194 0.7388 0.5467 0.7244 0.7163 0.7398 0.7388 0.8114
分类结果矩阵 T 2 = 1 2 3
根据H2,计算中间结果U2,可得 U 2 = H 2 T H 2 = 1.1422 1.3340 1.3961 1.3340 1.5881 1.6521 1.3961 1.6521 1 . 7222 ;
根据H2和T2,计算中间结果V2,可得 V 2 = H 2 T T 2 = 3.8569 4.3846 4.6146
并将中间结果U2和V2提交给主控制机。
根据步骤3-3-1、步骤3-3-2、步骤3-3-3和步骤3-3-4,对于从控制机3来说:
从控制机n3处理的数据为语句6(0.273,2.333,0,0,0.273,0,1)和语句7(0,0,0.154,-2.5,0.154,0.07,3),接收的参数为w1,w2,w3,b1,b2,b3,归一化和选取激励函数后可得
隐层输出矩阵 H 3 = g ( w 1 · x 6 + b 1 ) g ( w 2 · x 6 + b 2 ) g ( w 3 · x 6 + b 3 ) g ( w 1 · x 7 + b 1 ) g ( w 2 · x 7 + b 2 ) g ( w 3 · x 7 + b 3 ) = 0 . 3993 0 . 7005 0 . 8426 0 . 2272 0 . 6769 0 . 8216
分类结果矩阵 T 3 = 1 3
根据H3,计算中间结果U3,可得 U 3 = H 3 T H 3 = 0 . 2111 0 . 4335 0 . 5458 0 . 4335 1 . 9489 1 . 2141 0 . 5458 1 . 2141 1 . 5593 ;
根据H3和T3,计算中间结果V3,可得 V 3 = H 3 T T 3 = 1.0809 2.7312 3.6074 , 并将中间结果U3和V3提交给主控制机。
步骤4:主控制机将所有从控制机发送的第一中间结果进行求和,存储于前项缓存器中;将所有从控制机发送的第二中间结果进行求和,存储于后项缓存器中;
本发明实施例中,前项缓存器合并各个从控制机提交的中间结果U1,U2,U3,后项缓存器合并各个从控制机提交的中间结果V1,V2,V3,得到汇总结果:
U = U 1 + U 2 + U 3 = 1.9400 2.5607 2.7500 2.5607 3.6107 3.9600 2.7500 3.9600 4.3958 V = V 1 + V 2 + V 3 = 7.1291 10.0299 11.1956
步骤5:判断采集的微博数据量是否发生变化,若是,则执行步骤6;否则执行步骤9;
步骤6:将更新的微博数据返回执行步骤1至步骤3,主控制机将获得的所有更新微博数据的第一中间结果进行求和,存储于更新前项累加器中;主控制机将获得的所有更新微博数据的第二中间结果进行求和,存储于更新后项累加器中;
本发明实施例中,假设更新的微博数据也为上述7条微博数据,同样由上述主从控制机构成的集群进行处理,如图7所示,表示从控制机计算更新数据中间结果及主控制机汇总示意图,获得的三个从控制机更新微博数据第一中间结果和第二中间结果分别如下:
从控制机1:
第一中间结果: ΔU 1 = Δ H 1 T Δ H 1 = 0.5867 0.7932 0.8081 0.7932 1.0737 1.0938 0.8081 1.0938 1.1143
第二中间结果: ΔV 1 = Δ H 1 T Δ T 1 = 2.1913 2.9141 2.9736
从控制机2:
第一中间结果: Δ U 2 = ΔH 2 T ΔH 2 = 1.1422 1.3340 1.3961 1.3340 1.5881 1.6521 1.3961 1.6521 1 . 7222
第二中间结果: ΔV 2 = ΔH 2 T ΔT 2 = 3.8569 4.3846 4.6146
从控制机3:
第一中间结果: Δ U 3 = Δ H 3 T ΔH 3 = 0 . 2111 0 . 4335 0 . 5458 0 . 4335 1 . 9489 1 . 2141 0 . 5458 1 . 2141 1 . 5593
第二中间结果: Δ V 3 = Δ H 3 T ΔT 3 = 1.0809 2.7312 3.6074
更新前项累加器合并各个从控制机提交的中间结果ΔU1,ΔU2,ΔU3,更新后项累加器合并各个从控制机提交的中间结果ΔV1,ΔV2,ΔV3,得到汇总结果
ΔU = Δ U 1 + Δ U 2 + Δ U 3 = 1.9400 2.5607 2.7500 2.5607 3.6107 3.9600 2.7500 3.9600 4.3958 ΔV = ΔV 1 + ΔV 2 + ΔV 3 = 7.1291 10.0299 11.1956
步骤7:采用前项整合器将前项缓存器存储的原始数据的第一中间结果和更新前项累加器存储的更新微博数据的第一中间结果进行合并,获得汇总微博数据的第一中间结果,采用后项整合器将后项缓存器存储的原始微博数据的第二中间结果和更新后项累加器存储的更新微博数据的第二中间结果,获得汇总微博数据的第二中间结果;
本发明实施例中,前项整合器和后项整合器根据前项缓存器和后项缓存器中原始微博数据的计算结果U和V以及增量微博数据的ΔU和ΔV,计算U+=U++U,以及V+=V++V,具体如下:
U + = U + ΔU = 3.8800 5.1214 5.5000 5.1214 7.2214 7.9200 5.5000 7.9200 8.7916 , V + = V + ΔV = 14.2582 20.0598 22.3912
步骤8:参数生成器根据获得的汇总原始微博数据的第一中间结果和汇总原始微博数据的第二中间结果,计算获得极限学习机输出节点的权重向量参数,执行步骤10;
步骤8所述的参数生成器根据获得的汇总原始微博数据的第一中间结果和汇总原始微博数据的第二中间结果,计算获得极限学习机输出节点的权重向量参数,具体如下:
本发明实施例中,微博数据量增加,则输出节点的权重向量参数公式如下:
β + = ( I λ + U + ) - 1 V + = - 16.8925 9.9534 6.6591 42.3653 - 19.4846 - 23.3897 - 28.1804 10.8984 16.6435 - - - ( 1 )
此外,当微博数据量减少或者过期时,输出节点的权重向量参数公式如下:
β - = ( I λ + H - T H - ) - 1 H - T T - = ( I λ + U - ) - 1 V - - - - ( 2 )
步骤9:前项缓存器将存储的第一中间结果发送至前项整合器,后项缓存器将存储的第二中间结果发送至后项整合器;参数生成器根据前项整合器发送的数据和后项整合器发送的数据,计算获得极限学习机输出节点的权重向量参数,执行步骤10;
计算获得极限学习机输出节点的权重向量参数,公式如下:
β = ( I λ + H T H ) - 1 H T T 1 = ( I λ + U ) - 1 V - - - ( 3 )
步骤10:分类生成器根据获得的输出节点的权重向量参数和待分类微博数据的隐层输出向量,确定微博数据分类函数,即完成微博数据分类器的构建;
本发明实施例中,根据参数生成器得到的参数β,构建能够预测微博数据情感倾向性分析的分类器,用于对待测试的微博数据进行情感倾向性分析,公式如下:
f(x)=h(x)β± (4)
其中,f(x)表示待分类微博数据的分类结果,h(x)表示待分类微博数据的隐层输出向量,即是被测数据的隐层输出矩阵,β±表示微博数据量增加或减少时输出节点的权重向量参数。
所述的微博数据分类函数有三个维度,第一维度表示微博数据类型为:赞成;第二维度表示微博数据类型为:中立;第一维度表示微博数据类型为:反对;
步骤11:实时采集被测微博平台产生的数据,并对被测数据的文本字段进行向量化和归一化处理,并根据已选择的激励函数获得被测数据的隐层输出向量,代入获得的微博数据分类函数获得被测数据的类型,即在获得的微博数据分类函数的向量中,最大元素所在维度对应的类型,即为该被测数据的类型;
本发明实施例中,微博数据的自动分类主要有两种方式,本实施例中采用第一种方式,由主控制机继续抓取微博数据,运用已经生成的微博数据分类器直接输出待分类的微博数据的分类结果,如下两句为主控制机继续抓取的待分类的微博数据及运用相同的特征提取方法后得到的结果。
语句8:苹果平板电脑是送给朋友的,朋友很喜欢,非常不错!速度、造型都很好!喜欢!
语句8分析:(0.286,2.25,0,0,0.214,未知分类结果)。
语句9:苹果平板电脑屏幕素质很低,用起来也很费事,续航时间很差。
语句9分析:(0,0,0.25,-2.333,0.25,0,未知分类结果)。
运用同样的归一化方法、选取同样的激励函数后,求得语句8的分类结果如下:
隐层输出矩阵h(x8)=[g(w1·x8+b1)g(w2·x8+b2)g(w3·x8+b3)]=[0.54670.72440.7388]
带入到分类器的公式中,求得
f(x)=h(x)β=[0.6332-0.6207-1.0061]
对于上述结果,ELM采取一种最大化的方法判断待预测的微博数据的分类结果,基本原理是判断求得结果的向量中的最大的元素所在的维度,则该维度对应的分类标签即为该待预测数据的分类结果,如语句8的分类器输出结果中最大的元素为0.6332,对应的维度为1,那么语句8的分类结果就是标签1表示的分类,即“赞成”。
语句9的预测过程与语句8是相同的,简述如下:求得语句9的分类结果如下:
隐层输出矩阵h(x9)=[g(w1·x9+b1)g(w2·x9+b2)g(w3·x9+b3)]=[0.22220.67040.9174]
带入到分类器的公式中,求得
f(x)=h(x)β=[-1.2055-0.85211.0684]
语句9的分类器输出结果中最大的元素为1.0684,对应的维度为3,那么语句9的分类结果就是标签3表示的分类,即“反对”。
在测试数据为语句8和语句9时,运用已经生成的微博数据分类器,能够正确的得到语句8和语句9的情感倾向,能够准确的对待分类的微博数据进行分类。
步骤12、完成被测微博平台数据的分类处理。
本发明除了分析微博数据的情感倾向之外,本发明也可以用来分析电影票房、歌曲点击率、理财产品推荐、股票分析、仪器效能、新闻热点事件分析、社会舆论分析等众多应用中。
虽然以上描述了本发明的具体实施方式,但是本领域内的熟练的技术人员应当理解,这些仅是举例说明,可以对这些实施方式做出多种变更或者修改,而不背离本发明的原理和实质。本发明的范围仅由所附权利要求书限定。

Claims (4)

1.一种具有增减量功能的海量微博数据分布式分类装置,其特征在于,包括多个从控制机和一个主控制机,所述的从控制机包括向量器、剥离器、转换器、后项计算器和前项计算器;所述的主控制机包括前项缓存器、后项缓存器、更新前项累加器、更新后项累加器、前项整合器、后项整合器、参数生成器和分类生成器;其中,
向量器:用于将标注后的文本字段进行特征提取,并将提取的特征和标注类型表示成向量形式,并将该向量发送至剥离器;
所述的标注后的文本字段为:采集某一微博平台产生的数据,确定采集的微博数据中的文本内容字段,对文本字段进行人工标注分类而获得的文本字段;
剥离器:用于对向量化后的文本字段进行剥离,获得所有文本字段的特征矩阵和分类结果矩阵,并将文本字段的特征矩阵发送至转换器,将分类结果矩阵发送至后项计算器;
转换器:用于将特征矩阵中的元素进行归一化处理,并在极限学习机选择一个激励函数,将归一化处理后的特征矩阵中的元素代入所选择的激励函数中,获得极限学习机的隐层输出矩阵,并将隐层输出矩阵发送至后项计算器和前项计算器;
所述的极限学习机:采用主控制机对所需参数进行初始化处理,即采用主控制机随机生成极限学习机内部参数,包括:隐层节点个数、输入节点的权重向量和隐层节点的偏移量,并将初始化处理后的参数发送至从控制机,以用于从控制机采用极限学习机方法对微博数据进行处理;
前项计算器:用于根据获得的隐层输出矩阵,获得第一中间结果,所述的第一中间结果为隐层输出矩阵的转置矩阵与自身的乘积,当采集原始微博数据时,将获得的第一中间结果发送至前项缓存器,当采集更新微博数据时,将获得的第一中间结果发送至更新前项累加器;
后项计算器:用于根据获得的隐层输出矩阵和微博数据训练集的分类结果矩阵,获得第二中间结果,所述的第二中间结果为隐层输出矩阵的转置矩阵与分类结果矩阵的乘积,当采集原始微博数据时,将获得的第二中间结果发送至后项缓存器,当采集更新微博数据时,将获得的第二中间结果发送至更新后项累加器;
前项缓存器:用于计算并存储所有从控制机发送的第一中间结果的总和,并把总和发送至前项整合器;
后项缓存器:用于计算并存储所有从控制机发送的第二中间结果的总和,并把总和发送至后项整合器;
更新前项累加器:用于计算并存储所有从控制机发送的更新微博数据第一中间结果的总和,并把总和发送至前项整合器;
更新后项累加器:用于计算并存储所有从控制机发送的更新微博数据第二中间结果的总和,并把总和发送至后项整合器;
前项整合器:
当微博数据量发生变化时,用于将前项缓存器存储的所有从控制机发送的原始数据的第一中间结果和更新前项累加器存储的所有从控制机发送的更新微博数据的第一中间结果进行合并,获得汇总微博数据的第一中间结果并发送至参数生成器;
当微博数据量未发生变化时,用于直接将前项缓存器存储的第一中间结果发送至参数生成器;
后项整合器:
当微博数据量发生变化时,用于将后项缓存器存储的所有从控制机发送的原始微博数据的第二中间结果和更新后项累加器存储的所有从控制机发送的更新微博数据的第二中间结果进行合并,获得汇总微博数据的第二中间结果并发送至参数生成器;
当微博数据量未发生变化时,用于直接将后项缓存器存储的第二中间结果发送至参数生成器;
参数生成器:用于根据获得的汇总微博数据的第一中间结果和汇总微博数据的第二中间结果,计算获得极限学习机输出节点的权重向量参数并发送至分类生成器;
参数生成器根据获得的汇总微博数据的第一中间结果和汇总微博数据的第二中间结果,计算获得极限学习机输出节点的权重向量参数,具体如下:
当采集的微博数据量增加时,输出节点的权重向量参数公式如下:
β + = ( I λ + H + T H + ) - 1 H + T T + = ( I λ + U + ) - 1 V + - - - ( 1 )
其中,β+表示微博数据量增加时输出节点的权重向量参数;I是单位阵,λ是用户指定的参数,λ>0,(·)-1是矩阵求逆运算,U+表示微博数据量增加时汇总微博数据的第一中间结果;V+表示微博数据量增加时汇总微博数据的第二中间结果;H+表示微博数据量增加时汇总后的隐层输出矩阵;T+表示微博数据量增加时汇总后的分类结果矩阵;+表示增量;
当微博数据量减少或者过期时,输出节点的权重向量参数公式如下:
β - = ( I λ + H - T H - ) - 1 H - T T - = ( I λ + U - ) - 1 V - - - - ( 2 )
其中,β-表示微博数据量减少时输出节点的权重向量参数;U-表示微博数据量减少时汇总微博数据的第一中间结果;V-表示微博数据量减少时汇总微博数据的第二中间结果;H-表示微博数据量减少时汇总后的隐层输出矩阵;T-表示微博数据量减少时汇总后的分类结果矩阵;-表示减量;
参数生成器根据前项整合器发送的数据和后项整合器发送的数据,计算获得极限学习机输出节点的权重向量参数,公式如下:
β = ( I λ + H T H ) - 1 H T T 1 = ( I λ + U ) - 1 V - - - ( 3 )
其中,β表示微博数据量未发生变化时输出节点的权重向量参数;H表示汇总后的隐层输出矩阵;T1表示汇总后的分类结果矩阵;V表示微博数据量未发生变化时的第二中间结果;U表示微博数据量未发生变化时的第一中间结果;
分类生成器:
当建立分类器时,用于根据获得的输出节点的权重向量参数和待分类微博数据的隐层输出向量,确定微博数据分类函数,即完成微博数据分类器的构建;
微博数据分类函数,公式如下:
f(x)=h(x)β± (4)
其中,f(x)表示待分类微博数据的分类结果,h(x)表示待分类微博数据的隐层输出向量,β±表示微博数据量增加或减少时输出节点的权重向量参数;
当对被测微博数据进行分类检测时,用于根据微博数据分类函数和被测微博数据隐层输出向量,确定该被测微博数据的类型。
2.采用权利要求1所述的具有增减量功能的海量微博数据分布式分类装置进行分类的方法,其特征在于,包括以下步骤:
步骤1:采集某一微博平台产生的数据,并对采集的数据进行人工标注,形成微博训练数据集,具体如下:
采用主控制机采集所需处理的微博数据,确定该微博数据中的文本内容字段,对文本字段进行人工标注分类,并将标注后的文本字段发送至从控制机;或者采用主控制机发送信号至每个从控制机,控制从控制机采集所需处理的微博数据,从控制机根据采集的微博数据,确定其中的文本字段,对文本内容字段进行人工标注分类,形成标注后的文本字段;
步骤2:采用主控制机对所需参数进行初始化处理,并将初始化处理后的参数发送至从控制机;
所述的初始化处理具体为:采用极限学习机方法对微博数据进行处理,采用主控制机随机生成极限学习机内部参数,包括:隐层节点个数、输入节点的权重向量和隐层节点的偏移量;
步骤3:每个从控制机对获得的标注后的文本字段进行处理,获得隐层输出矩阵的转置矩阵与自身的乘积和隐层输出矩阵的转置矩阵与分类结果矩阵的乘积,并发送至主控制机,具体如下:
步骤3-1:采用向量器将标注后的文本字段进行特征提取,并将提取的特征和标注类型存储至一个向量中,完成文本字段的向量化;
步骤3-2:对向量化后的文本字段进行剥离,即获得所有文本字段的特征矩阵和分类结果矩阵,形成微博数据训练集;
步骤3-3:采用极限学习机方法,根据获得的微博数据训练集、初始化随机设定的输入节点的权重向量和隐层节点的偏移量,获得隐层输出矩阵的转置矩阵与自身的乘积和隐层输出矩阵的转置矩阵与分类结果矩阵的乘积,并发送给主控制机,具体为:
步骤3-3-1:将微博数据训练集特征矩阵中的元素进行归一化处理,并在极限学习机选择一个激励函数,将归一化处理后的特征矩阵中的元素代入所选择的激励函数中,获得极限学习机的隐层输出矩阵;
步骤3-3-2:前项计算器根据获得的隐层输出矩阵,获得第一中间结果,所述的第一中间结果为隐层输出矩阵的转置矩阵与自身的乘积;
步骤3-3-3:后项计算器根据获得的隐层输出矩阵和微博数据训练集的分类结果矩阵,获得第二中间结果,所述的第二中间结果为隐层输出矩阵的转置矩阵与分类结果矩阵的乘积;
步骤3-3-4:将获得的第一中间结果和第二中间结果发送至主控制机中;
步骤4:主控制机将所有从控制机发送的第一中间结果进行求和,存储于前项缓存器中;将所有从控制机发送的第二中间结果进行求和,存储于后项缓存器中;
步骤5:判断采集的微博数据量是否发生变化,若是,则执行步骤6;否则执行步骤9;
步骤6:将更新的微博数据返回执行步骤1至步骤3,主控制机将获得的所有更新微博数据的第一中间结果进行求和,存储于更新前项累加器中;主控制机将获得的所有更新微博数据的第二中间结果进行求和,存储于更新后项累加器中;
步骤7:采用前项整合器将前项缓存器存储的所有从控制机发送的原始数据的第一中间结果和更新前项累加器存储的所有从控制机发送的更新微博数据的第一中间结果进行合并,获得汇总微博数据的第一中间结果,采用后项整合器将后项缓存器存储的原始微博数据的所有从控制机发送的第二中间结果和更新后项累加器存储的所有从控制机发送的更新微博数据的第二中间结果,获得汇总微博数据的第二中间结果;
步骤8:参数生成器根据获得的汇总微博数据的第一中间结果和汇总微博数据的第二中间结果,计算获得极限学习机输出节点的权重向量参数,执行步骤10;
所述的参数生成器根据获得的汇总微博数据的第一中间结果和汇总微博数据的第二中间结果,计算获得极限学习机输出节点的权重向量参数,具体如下:
当采集的微博数据量增加时,输出节点的权重向量参数公式如下:
β + = ( I λ + H + T H + ) - 1 H + T T + = ( I λ + U + ) - 1 V + - - - ( 1 )
其中,β+表示微博数据量增加时输出节点的权重向量参数;I是单位阵,λ是用户指定的参数,λ>0,(·)-1是矩阵求逆运算,U+表示微博数据量增加时汇总微博数据的第一中间结果;V+表示微博数据量增加时汇总微博数据的第二中间结果;H+表示微博数据量增加时汇总后的隐层输出矩阵;T+表示微博数据量增加时汇总后的分类结果矩阵;,+表示增量;
当微博数据量减少或者过期时,输出节点的权重向量参数公式如下:
β - = ( I λ + H - T H - ) - 1 H - T T - = ( I λ + U - ) - 1 V - - - - ( 2 )
其中,β-表示微博数据量减少时输出节点的权重向量参数;U-表示微博数据量减少时汇总微博数据的第一中间结果;V-表示微博数据量减少时汇总微博数据的第二中间结果;H-表示微博数据量减少时汇总后的隐层输出矩阵;T-表示微博数据量减少时汇总后的分类结果矩阵;-表示减量;
步骤9:前项缓存器将存储的第一中间结果发送至前项整合器,后项缓存器将存储的第二中间结果发送至后项整合器;参数生成器根据前项整合器发送的数据和后项整合器发送的数据,计算获得极限学习机输出节点的权重向量参数,执行步骤10;
所述的计算获得极限学习机输出节点的权重向量参数,公式如下:
β = ( I λ + H T H ) - 1 H T T 1 = ( I λ + U ) - 1 V - - - ( 3 )
其中,β表示微博数据量未发生变化时输出节点的权重向量参数;H表示汇总后的隐层输出矩阵;T1表示汇总后的分类结果矩阵;V表示微博数据量未发生变化时的第二中间结果;U表示微博数据量未发生变化时的第一中间结果;
步骤10:分类生成器根据获得的输出节点的权重向量参数和待分类微博数据的隐层输出向量,确定微博数据分类函数,即完成微博数据分类器的构建;
所述的微博数据分类函数,公式如下:
f(x)=h(x)β± (4)
其中,f(x)表示待分类微博数据的分类结果,h(x)表示待分类微博数据的隐层输出向量,β±表示微博数据量增加或减少时输出节点的权重向量参数;
步骤11:实时采集被测微博平台产生的数据,并对被测数据的文本字段进行向量化和归一化处理,并根据已选择的激励函数获得被测数据的隐层输出向量,代入获得的微博数据分类函数获得被测数据的类型,即在获得的微博数据分类函数的向量中,最大元素所在维度对应的类型,即为该被测数据的类型;
步骤12、完成被测微博平台数据的分类处理。
3.根据权利要求2所述的具有增减量功能的海量微博数据分布式分类方法,其特征在于,步骤3-1所述的提取的特征包括褒义词词频、褒义词平均等级、贬义词词频、贬义词平均等级、程度副词词频和否定副词词频六个特征,其中,所述的褒义词词频、贬义词词频、程度副词词频和否定副词词频,均根据该文本字段中对应类型单词个数和单词总个数获得;所述的褒义词平均等级和贬义词平均等级,均据该文本字段中对应类型单词等级的总和与对应类型词总个数获得;所述的向量行数为采集的文本字段个数,向量的列包括褒义词词频、褒义词平均等级、贬义词词频、贬义词平均等级、程度副词词频、否定副词词频和标注类型七列;所述的单词等级,具体为:褒义词等级包括:+1、+2和+3;贬义词等级包括:-1、-2和-3。
4.根据权利要求2所述的具有增减量功能的海量微博数据分布式分类方法,其特征在于,步骤3-2所述的特征矩阵,行数为采集的文本字段个数,列包括褒义词词频、褒义词平均等级、贬义词词频、贬义词平均等级、程度副词词频和否定副词词频六列;所述的分类结果矩阵,行数为采集的文本字段个数,列包括标注类型一列;所述的微博数据训练集包括特征矩阵和分类结果矩阵。
CN201310732005.9A 2013-12-26 2013-12-26 具有增减量功能的海量微博数据分布式分类装置及方法 Active CN103729431B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310732005.9A CN103729431B (zh) 2013-12-26 2013-12-26 具有增减量功能的海量微博数据分布式分类装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310732005.9A CN103729431B (zh) 2013-12-26 2013-12-26 具有增减量功能的海量微博数据分布式分类装置及方法

Publications (2)

Publication Number Publication Date
CN103729431A CN103729431A (zh) 2014-04-16
CN103729431B true CN103729431B (zh) 2017-01-18

Family

ID=50453505

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310732005.9A Active CN103729431B (zh) 2013-12-26 2013-12-26 具有增减量功能的海量微博数据分布式分类装置及方法

Country Status (1)

Country Link
CN (1) CN103729431B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107590134A (zh) * 2017-10-26 2018-01-16 福建亿榕信息技术有限公司 文本情感分类方法、存储介质及计算机
CN107908782A (zh) * 2017-12-06 2018-04-13 陕西识代运筹信息科技股份有限公司 一种基于情感分析的数据处理方法和装置
CN108446986A (zh) * 2018-03-22 2018-08-24 张家林 投资组合的数据处理和计算方法、装置及设备
CN110868414B (zh) * 2019-11-14 2021-07-13 北京理工大学 一种基于多投票技术的工控网络入侵检测方法及系统
CN113609361B (zh) * 2021-08-20 2023-11-14 东北大学 一种基于Gaia系统的数据分类方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102789498A (zh) * 2012-07-16 2012-11-21 钱钢 基于集成学习的中文评论文本的情感分类方法与系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102789498A (zh) * 2012-07-16 2012-11-21 钱钢 基于集成学习的中文评论文本的情感分类方法与系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Extreme Learning Machine for Regression and Multiclass Classification;Huang Guangbin 等;《IEEE Transactions on system, man,and cybernetics-part B》;20120430;第42卷(第2期);513-529 *
基于二叉级联结构的并行急速学习机算法;王磊等;《吉林阿学学报(信息科学版)》;20120731;第30卷(第4期);418-425 *

Also Published As

Publication number Publication date
CN103729431A (zh) 2014-04-16

Similar Documents

Publication Publication Date Title
CN109241424B (zh) 一种推荐方法
CN103729431B (zh) 具有增减量功能的海量微博数据分布式分类装置及方法
CN103699521B (zh) 文本分析方法及装置
CN110162703A (zh) 内容推荐方法、训练方法、装置、设备及存储介质
CN102495860B (zh) 基于语言模型的专家推荐方法
CN109165950A (zh) 一种基于金融时间序列特征的异常交易识别方法,设备及可读存储介质
CN107818105A (zh) 应用程序的推荐方法及服务器
CN109446430A (zh) 产品推荐的方法、装置、计算机设备及可读存储介质
CN104050243B (zh) 一种将搜索与社交相结合的网络搜索方法及其系统
CN107194430A (zh) 一种样本筛选方法及装置,电子设备
CN107438083B (zh) 一种Android环境下钓鱼网站检测方法及其检测系统
CN103020712B (zh) 一种海量微博数据的分布式分类装置及方法
CN107256494A (zh) 一种物品推荐方法及装置
Wang et al. Cross-domain recommendation with user personality
CN108509517B (zh) 一种面向实时新闻内容的流式话题演化跟踪方法
CN109903138B (zh) 一种个性化商品推荐方法
CN104899229A (zh) 基于群体智能的行为聚类系统
CN110245285A (zh) 一种基于异构信息网络的个性化推荐方法
CN108460010A (zh) 一种基于情感分析的综合评分模型实现方法
CN107918825A (zh) 一种基于应用安装偏好判定用户年龄段的方法和装置
CN108304490A (zh) 基于文本的相似度确定方法、装置及计算机设备
CN108182597A (zh) 一种基于决策树和逻辑回归的点击率预估方法
CN108920521A (zh) 基于伪本体的用户画像-项目推荐系统及方法
CN112749330A (zh) 信息推送方法、装置、计算机设备和存储介质
CN107341242A (zh) 一种标签推荐方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant