发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何减小热点话题检测的复杂度,并实现有效的热点话题检测。
(二)技术方案
为解决上述技术问题,本发明提供了一种微博热点话题自动检测方法,所述方法包括以下步骤:
S1:抓取待检测的微博文本;
S2:对所述微博文本进行关键词提取;
S3:根据各个关键词之间的相关性,获取关键词组;
S4:根据各个关键词组之间的相关性,对所述关键词组进行聚类,以获得候选关键词簇;
S5:计算每个候选关键词簇所代表话题的热度值,根据所述热度值对所述候选关键词簇进行排序,按照所述热度值从大到小顺序在所述候选关键词簇中选择N个关键词簇,并将所述N个关键词簇分别代表的话题作为热点话题,所述N为不小于1的整数。
其中,步骤S1和步骤S2之间还包括:对所述微博文本进行预处理,所述预处理包括:噪声过滤和/或文本去重。
其中,步骤S2包括:
S201:对所述微博文本进行分词处理,以获得所述微博文本中所有的词语,对所述词语进行词性标注,并统计所述词语的频次和文档频率;
S202:根据所述词语的频次、文档频率及词性计算每个词语的权重值;
S203:根据所述权重值对所述词语进行排序,选取为预设词性并且不在停用词表中的词语作为候选关键词,所述预设词性包括:形容词、动词、简称、地名、人名、机构名和专有名词;
S204:按照权重值从大到小顺序在所述候选关键词中选择预设个数m的关键词。
其中,步骤S202包括:
S2021:根据当前用户所关注的领域获取用户词典;
S2022:根据所述词语的频次、文档频率及词性并结合所述用户词典计算每个词语的权重值。
其中,步骤S204中,当所述候选关键词的数量w小于所述预设个数m时,则将所述候选关键词作为关键词,并按照权重值从大到小顺序在除所述候选关键词外的词语中选择m-w个词语作为关键词。
其中,步骤S3包括:
S301:遍历所述微博文本,在当前微博文本内具有两个关键词时,则将所述两个关键词作为关键词对,并依次判断所述当前微博文本内各个关键词对之间的距离是否为预设距离,每次判断为是,则将该关键词对的同现频度加1,以获得每个关键词对的同现频度;
S302:根据所述同现频度计算每个关键词对之间的卡方统计量;
S303:根据所述卡方统计量对所述关键词对进行排序,按照卡方统计量从大到小顺序在所述关键词对之中选择预设个数q的关键词对作为关键词组。
其中,步骤S303中,选择关键词对时,对于同一个关键词,只能被选择预设次数x。
其中,步骤S4包括:
S401:设当前关键词组中包括关键词w1和w2,并将当前关键词组的密度值设为关键词w1和关键词w2的卡方统计值;
S402:分别遍历关键词w1和关键词w2所在的其他关键词组,设所述其他关键词组中的待并入关键词为wi,对关键词wi进行判断,若满足Ds(cws∪wi)≥Ds(cws)/2,则将关键词wi并入当前关键词组;
其中,Ds(cws∪wi)=(Ds(cws)+max(cws,wi))/(cws.size+1),cws为当前词组,Ds(cws∪wi)为当前关键词组中并入关键词wi后的密度值,Ds(cws)为所述当前关键词组的密度值,cws.size为所述当前关键词组中关键词的个数,max(cws,wi)为cws中所包含的关键词和关键词wi之间的最大卡方统计值;
S403:遍历已并入当前关键词组中的关键词wi所在的关键词组,设所述关键词组中的待并入关键词为wj,对关键词wj进行判断,若满足Ds(cws∪wj)≥Ds(cws)/2,则将关键词wj并入当前关键词组,直至没有关键词能够并入所述当前关键词组为止,将所述当前关键词组作为所述候选关键词簇;
其中,Ds(cws∪wj)=(Ds(cws)+max(cws,wj))/(cws.size+1),Ds(cws∪wj)为当前关键词组中并入关键词wj后的密度值,max(cws,wj)为cws中所包含的关键词和关键词wj之间的最大卡方统计值;
S404:判断是否已经遍历了除被并入的关键词组外的所有关键词组,若是,则执行步骤S5,否则返回步骤S401。
其中,步骤S4和S5之间包括:
遍历所述微博文本,判断当前微博文本是否满足条件一或条件二,若是,则将所述当前微博文本作为与所述候选关键词簇T对应的微博文本,并将所述候选关键词簇T对应的微博文本的数量加1,以获得每个候选关键词簇对应的微博文本的数量,所述命名实体包括:人名、地名和机构名,所述条件一为包含某一候选关键词簇T中的命名实体,所述条件二为包含所述候选关键词簇T中关键词总数预设比例p的关键词;
步骤S5中通过以下公式计算每个候选关键词簇所代表话题的热度值,
其中,H(topic)为热度值,n为与候选关键词簇对应的微博文本的数量,doci为第i个与候选关键词簇对应的微博文本,len(*)为文本长度,f为转发数,c为评论数。
其中,步骤S5之后还包括:
S6:获取每个热点话题的话题摘要;
步骤S6包括:
S601:将所述热点话题所对应的微博文本通过下式根据文本长度和所包含关键词的个数进行打分,
Score(doci)=log(len(doci))*count(keyword)
其中,Score(doci)为第i个微博文本的得分,len(doci)为第i个微博文本的长度,count(keyword)为第i个微博文本所包含关键词的个数;
S602:选择每个热点话题所对应的微博文本中打分最高的微博文本;
S603:判断当前打分最高的微博文本中是否具有标题标识符【】,若是,则将所述标题标识符所包含的内容作为当前热点话题的话题摘要,并执行步骤S606,否则执行步骤S604;
S604:判断当前打分最高的微博文本中是否具有话题标识符[],若是,则将所述话题标识符所包含的内容作为当前热点话题的话题摘要,并执行步骤S606,否则执行步骤S605;
S605:计算当前打分最高的微博文本中的每个句子的权重,并选取所有微博中权重最大的句子作为当前热点话题的话题摘要;
S606:判断所有热点话题的话题摘要是否均已获得,若是,则结束流程,否则返回步骤S603。
本发明还公开了一种微博热点话题自动检测装置,所述装置包括:
文本抓取模块,用于抓取待检测的微博文本;
关键词提取模块,用于对所述微博文本进行关键词提取;
关键词组获取模块,用于根据各个关键词之间的相关性,获取关键词组;
关键词组聚类模块,用于根据各个关键词组之间的相关性,对所述关键词组进行聚类,以获得候选关键词簇;
热点话题获取模块,用于计算每个候选关键词簇所代表话题的热度值,根据所述热度值对所述候选关键词簇进行排序,按照所述热度值从大到小顺序在所述候选关键词簇中选择N个关键词簇,并将所述N个关键词簇分别代表的话题作为热点话题,所述N为不小于1的整数。
其中,所述装置还包括:预处理模块,用于对所述微博文本进行预处理,所述预处理包括:噪声过滤和/或文本去重。
其中,所述关键词提取模块包括:
分词处理子模块,用于对所述微博文本进行分词处理,以获得所述微博文本中所有的词语,对所述词语进行词性标注,并统计所述词语的频次和文档频率;
第一权重值计算子模块,用于根据所述词语的频次、文档频率及词性计算每个词语的权重值;
排序子模块,用于根据所述权重值对所述词语进行排序,选取为预设词性并且不在停用词表中的词语作为候选关键词,所述预设词性包括:形容词、动词、简称、地名、人名、机构名和专有名词;
关键词选择子模块,用于按照权重值从大到小顺序在所述候选关键词中选择预设个数m的关键词。
其中,所述权重值计算子模块包括:
用户词典获取单元,用于根据当前用户所关注的领域获取用户词典;
权重值计算单元,用于根据所述词语的频次、文档频率及词性并结合所述用户词典计算每个词语的权重值。
其中,所述关键词选择子模块中,当所述候选关键词的数量w小于所述预设个数m时,则将所述候选关键词作为关键词,并按照权重值从大到小顺序在除所述候选关键词外的词语中选择m-w个词语作为关键词。
其中,所述关键词组获取模块包括:
距离判断子模块,用于遍历所述微博文本,在当前微博文本内具有两个关键词时,则将所述两个关键词作为关键词对,并依次判断所述当前微博文本内各个关键词对之间的距离是否为预设距离,每次判断为是,则将该关键词对的同现频度加1,以获得每个关键词对的同现频度;
卡方计算子模块,用于根据所述同现频度计算每个关键词对之间的卡方统计量;
关键词组选择子模块,用于根据所述卡方统计量对所述关键词对进行排序,按照卡方统计量从大到小顺序在所述关键词对之中选择预设个数q的关键词对作为关键词组。
其中,所述关键词组选择子模块中,选择关键词对时,对于同一个关键词,只能被选择预设次数x。
其中,所述关键词组聚类模块包括:
初始子模块,用于设当前关键词组中包括关键词w1和w2,并将当前关键词组的密度值设为关键词w1和关键词w2的卡方统计值;
第一并入子模块,用于分别遍历关键词w1和关键词w2所在的其他关键词组,设所述其他关键词组中的待并入关键词为wi,对关键词wi进行判断,若满足Ds(cws∪wi)≥Ds(cws)/2,则将关键词wi并入当前关键词组;
其中,Ds(cws∪wi)=(Ds(cws)+max(cws,wi))/(cws.size+1),cws为当前词组,Ds(cws∪wi)为当前关键词组中并入关键词wi后的密度值,Ds(cws)为所述当前关键词组的密度值,cws.size为所述当前关键词组中关键词的个数,max(cws,wi)为cws中所包含的关键词和关键词wi之间的最大卡方统计值;
第二并入子模块,用于遍历已并入当前关键词组中的关键词wi所在的关键词组,设所述关键词组中的待并入关键词为wj,对关键词wj进行判断,若满足Ds(cws∪wj)≥Ds(cws)/2,则将关键词wj并入当前关键词组,直至没有关键词能够并入所述当前关键词组为止,将所述当前关键词组作为所述候选关键词簇;
其中,Ds(cws∪wj)=(Ds(cws)+max(cws,wj))/(cws.size+1),Ds(cws∪wj)为当前关键词组中并入关键词wj后的密度值,max(cws,wj)为cws中所包含的关键词和关键词wj之间的最大卡方统计值;
第一判断子模块,用于判断是否已经遍历了除被并入的关键词组外的所有关键词组。
其中,所述装置还包括:
文本对应模块,用于遍历所述微博文本,判断当前微博文本是否满足条件一或条件二,若是,则将所述当前微博文本作为与所述候选关键词簇T对应的微博文本,并将所述候选关键词簇T对应的微博文本的数量加1,以获得每个候选关键词簇对应的微博文本的数量,所述命名实体包括:人名、地名和机构名,所述条件一为包含某一候选关键词簇T中的命名实体,所述条件二为包含所述候选关键词簇T中关键词总数预设比例p的关键词;
所述热点话题获取模块中通过以下公式计算每个候选关键词簇所代表话题的热度值,
其中,H(topic)为热度值,n为与候选关键词簇对应的微博文本的数量,doci为第i个与候选关键词簇对应的微博文本,len(*)为文本长度,f为转发数,c为评论数。
其中,所述装置还包括:
话题摘要获取模块,用于获取每个热点话题的话题摘要;
所述话题摘要获取模块包括:
打分子模块,用于将所述热点话题所对应的微博文本通过下式根据文本长度和所包含关键词的个数进行打分,
Score(doci)=log(len(doci))*count(keyword)
其中,Score(doci)为第i个微博文本的得分,len(doci)为第i个微博文本的长度,count(keyword)为第i个微博文本所包含关键词的个数;
选择子模块,用于选择每个热点话题所对应的微博文本中打分最高的微博文本;
第二判断子模块,用于判断当前打分最高的微博文本中是否具有标题标识符【】,若是,则将所述标题标识符所包含的内容作为当前热点话题的话题摘要;
第三判断子模块,用于判断当前打分最高的微博文本中是否具有话题标识符[],若是,则将所述话题标识符所包含的内容作为当前热点话题的话题摘要;
第二权重值计算子模块,用于计算当前打分最高的微博文本中的每个句子的权重,并选取所有微博中权重最大的句子作为当前热点话题的话题摘要;
第四判断子模块,用于判断所有热点话题的话题摘要是否均已获得。
(三)有益效果
本发明通过对待检测的微博文本依次进行关键词提取、关键词组获取及关键词组聚类,以获得候选关键词簇,最后计算各个候选关键词簇所对应话题的热度值并根据热度值选择热点话题,减小了热点话题检测的复杂度,并实现有效的热点话题检测。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1是本发明一种实施方式的微博热点话题自动检测方法的流程图;参照图1,所述方法包括以下步骤:
S1:抓取待检测的微博文本;
S2:对所述微博文本进行关键词提取;
S3:根据各个关键词之间的相关性,获取关键词组;
S4:根据各个关键词组之间的相关性,对所述关键词组进行聚类,以获得候选关键词簇;
S5:计算每个候选关键词簇所代表话题的热度值,根据所述热度值对所述候选关键词簇进行排序,按照所述热度值从大到小顺序在所述候选关键词簇中选择N个关键词簇,并将所述N个关键词簇分别代表的话题作为热点话题,所述N为不小于1的整数。
优选地,步骤S1和步骤S2之间还包括:对所述微博文本进行预处理,所述预处理包括:噪声过滤和/或文本去重,通过噪声过滤去掉微博文本中包含的常用字词等干扰信息,通过文本消重去掉重复的微博消息可能带来热点失真问题,具体实现方法描述如下:
(1)对于噪声过滤:由于待检测的微博文本中包含大量无效信息,不仅降低了处理效率,而且影响热词提取的效果。本实施方式中,首先,根据微博文本的特性,去除所述微博文本中的以下四种噪声:①表情符号(一般以“[文本]”形式出现)噪声,②“html标签”噪声,③“用户名”噪声,④“//用户名”噪声;
其次,通过规则匹配的方法,去掉待处理微博文本中包含的噪声信息,具体方法为:对于每一篇微博文本进行遍历,对于一个字符,依次和每个规则进行匹配,如果成功匹配到某个规则,则将规则代表的噪声去掉,例如:对于长度过于短的微博,比如“感慨的人:太好看了”、“戈壁风凛石:美”、“顶”、“赞”等,包含的信息量非常少,如果不加处理,会极大的增加处理效率;或包含大量重复字词的微博,比如“回忆里的疯狂丶丶:美了美了美了,我醉了醉了醉了。”会增加特定字词的频度,会造成热词提取失真。对于短微博,如果其长度小于预设字符数(本实施方式中所述预设字符数为10个,但并不限定本发明的保护范围),或者包含信息量(本实施方式中,将信息量低于0.5作为信息量很小,但不限定本发明的保护范围)很小,也作为噪声过滤掉。
(2)文本去重:由于微博文本之间的转发关系,消重之后的微博会存在大量重复的现象,为了降低重复内容给词权重计算带来的不公平性,需要进行文本去重处理。本实施方式先将每篇微博映射成一个64位的指纹信息,然后通过比较生成的指纹信息的差异性来确定是否为重复微博文本。具体方法为:顺序处理每一篇待检测的微博文本,生当前微博文本的指纹信息,与已有的指纹信息进行比较,确定指纹信息差异性是否存在预设位数(本实施方式中所述预设位数为3位,但并不限定本发明的保护范围)以内的,如果存在,判定为重复微博,丢弃掉,否则,将当前微博文本的指纹信息加入到已有的指纹信息库中。
为保证关键词提取的准确性,优选地,步骤S2包括:
S201:对所述微博文本进行分词处理,以获得所述微博文本中所有的词语,对所述词语进行词性标注,并统计所述词语的频次和文档频率;本实施方式中,步骤S201具体为:首先,建立如表1所示词语索引表和如表2所示微博索引表,用来保存增量信息(即在原有信息的基础上增加的信息);其次,对于每篇待检测的微博文本进行分词和词性标注;再次,遍历每篇微博文本的分词结果,对于每个不重复词语分配一个索引号,保存到词语索引表中,对于每篇微博文本分配一个索引号,按照所包含词语的位置前后关系,将此词语的索引号保存到微博文本所对应的微博索引表的索引项中;最后,对于每个词语,遍历每一篇微博文本,统计包含该词语对应索引号的频次tf,统计包含该词语对应索引号的微博数量df,然后更新词语索引表中对应索引项的信息。
表1词语索引表
表2微博索引表
S202:根据所述词语的频次、文档频率及词性计算每个词语的权重值;本实施方式中,步骤S202中每个词语term权重值weight(term)的计算公式为:
其中,|d|为微博文本总数,tf(term)为term出现的次数,df(term)为包含term的文档数,a(term)为修正值,a(term)的取值为:
其中,nr为人名,nt为机构名。
S203:根据所述权重值对所述词语进行排序,选取为预设词性并且不在停用词表(所述停用词表可扩展)中的词语作为候选关键词,所述预设词性包括:形容词、动词、简称、地名、人名、机构名和专有名词;
S204:按照权重值从大到小顺序在所述候选关键词中选择预设个数m的关键词。
为进一步提高关键词提取的准确性,优选地,步骤S202包括:
S2021:根据当前用户所关注的领域获取用户词典,即基于用户不同的背景,建立用户词典,比如财经相关、体育相关、娱乐相关;
S2022:根据所述词语的频次、文档频率及词性并结合所述用户词典计算每个词语的权重值,本实施方式中,步骤S2022中每个词语term权重值weight(term)的计算公式为:
其中,
由于可能存在候选关键词少于需要关键词的个数,优选地,步骤S204中,当所述候选关键词的数量w小于所述预设个数m时,则将所述候选关键词作为关键词,并按照权重值从大到小顺序在除所述候选关键词外的词语中选择m-w个词语作为关键词。
为保证关键词组获取的准确性,优选地,步骤S3包括:
S301:遍历所述微博文本,在当前微博文本内具有两个关键词时,则将所述两个关键词作为关键词对,并依次判断所述当前微博文本内各个关键词对之间的距离是否为预设距离(本实施方式中,所述预设距离为6个词语),每次判断为是(由于一个微博文本中可能会多次出现同一关键词对,例如一个微博文本中出现了3次同一个关键词对,若3次同一关键词对之间的距离均在预设距离内,则需要将同现频度加3,故而此处采用每次判断为是就进行加1的方式),则将该关键词对的同现频度加1,以获得每个关键词对的同现频度;
S302:根据所述同现频度计算每个关键词对之间的卡方统计量;由于关键词对之间的同现频率还不能完全体现关键词对之间的相关性,卡方统计量作为一种项和类别之间相关性的度量方法,能够更准确反应隐含的相关性。本发明通过将关键词抽象为项和类别,利用关键词同现信息实现关键词相关性的评价。每个关键词对之间的卡方统计量χ2(wi,wj)的计算公式如下:
其中A、B、C、D、N的含义如下表:
|
包含wj文本数 |
不包含wj的文本数 |
总数 |
包含wi文本数 |
A |
B |
A+B |
不包含wi文本数 |
C |
D |
C+D |
总数 |
A+C |
B+D |
N |
S303:根据所述卡方统计量对所述关键词对进行排序,按照卡方统计量从大到小顺序在所述关键词对之中选择预设个数q的关键词对作为关键词组。
为防止过于偏袒某个词,并保证所选择的关键词组尽量保持均匀分布,优选地,步骤S303中,选择关键词对时,对于同一个关键词,只能被选择预设次数x,本实施方式中,所述预设次数x为5,但不限定保护范围。
为保证关键词组聚类的正确性,优选地,步骤S4包括:
S401:设当前关键词组中包括关键词w1和w2,并将当前关键词组的密度值设为关键词w1和关键词w2的卡方统计值;
S402:分别遍历关键词w1和关键词w2所在的其他关键词组,设所述其他关键词组中的待并入关键词为wi,对关键词wi进行判断,若满足Ds(cws∪wi)≥Ds(cws)/2,则将关键词wi并入当前关键词组;
其中,Ds(cws∪wi)=(Ds(cws)+max(cws,wi))/(cws.size+1),cws为当前词组,Ds(cws∪wi)为当前关键词组中并入关键词wi后的密度值,Ds(cws)为所述当前关键词组的密度值,cws.size为所述当前关键词组中关键词的个数,max(cws,wi)为cws中所包含的关键词和关键词wi之间的最大卡方统计值;
S403:遍历已并入当前关键词组中的关键词wi所在的关键词组,设所述关键词组中的待并入关键词为wj,对关键词wj进行判断,若满足Ds(cws∪wj)≥Ds(cws)/2,则将关键词wj并入当前关键词组,直至没有关键词能够并入所述当前关键词组为止,将所述当前关键词组作为所述候选关键词簇;
其中,Ds(cws∪wj)=(Ds(cws)+max(cws,wj))/(cws.size+1),Ds(cws∪wj)为当前关键词组中并入关键词wj后的密度值,max(cws,wj)为cws中所包含的关键词和关键词wj之间的最大卡方统计值;
S404:判断是否已经遍历了除被并入的关键词组外的所有关键词组,若是,则执行步骤S5,否则返回步骤S401。
为便于计算每个候选关键词簇所代表话题的热度值,优选地,步骤S4和S5之间包括:
遍历所述微博文本,判断当前微博文本是否满足条件一或条件二,若是,则将所述当前微博文本作为与所述候选关键词簇T对应的微博文本,并将所述候选关键词簇T对应的微博文本的数量加1,以获得每个候选关键词簇对应的微博文本的数量,所述命名实体包括:人名、地名和机构名,所述条件一为包含某一候选关键词簇T中的命名实体,所述条件二为包含所述候选关键词簇T中关键词总数预设比例p的关键词;
步骤S5中通过以下公式计算每个候选关键词簇所代表话题的热度值,
其中,H(topic)为热度值,n为与候选关键词簇对应的微博文本的数量,doci为第i个与候选关键词簇对应的微博文本,len(*)为文本长度,f为转发数,c为评论数。
在获得热点话题后,为便于将热点话题呈现给用户,优选地,步骤S5之后还包括:
S6:获取每个热点话题的话题摘要;
步骤S6包括:
S601:将所述热点话题所对应的微博文本通过下式根据文本长度和所包含关键词的个数进行打分,
Score(doci)=log(len(doci))*count(keyword)
其中,Score(doci)为第i个微博文本的得分,len(doci)为第i个微博文本的长度,count(keyword)为第i个微博文本所包含关键词的个数;
S602:选择每个热点话题所对应的微博文本中打分最高的微博文本;
S603:判断当前打分最高的微博文本中是否具有标题标识符【】,若是,则将所述标题标识符所包含的内容作为当前热点话题的话题摘要,并执行步骤S606,否则执行步骤S604;
S604:判断当前打分最高的微博文本中是否具有话题标识符[],若是,则将所述话题标识符所包含的内容作为当前热点话题的话题摘要,并执行步骤S606,否则执行步骤S605;
S605:计算当前打分最高的微博文本中的每个句子的权重,并选取所有微博中权重最大的句子作为当前热点话题的话题摘要;
S606:判断所有热点话题的话题摘要是否均已获得,若是,则结束流程,否则返回步骤S603。
本发明还公开了一种微博热点话题自动检测装置,参照图2,所述装置包括:
文本抓取模块,用于抓取待检测的微博文本;
关键词提取模块,用于对所述微博文本进行关键词提取;
关键词组获取模块,用于根据各个关键词之间的相关性,获取关键词组;
关键词组聚类模块,用于根据各个关键词组之间的相关性,对所述关键词组进行聚类,以获得候选关键词簇;
热点话题获取模块,用于计算每个候选关键词簇所代表话题的热度值,根据所述热度值对所述候选关键词簇进行排序,按照所述热度值从大到小顺序在所述候选关键词簇中选择N个关键词簇,并将所述N个关键词簇分别代表的话题作为热点话题,所述N为不小于1的整数。
优选地,所述装置还包括:预处理模块,用于对所述微博文本进行预处理,所述预处理包括:噪声过滤和/或文本去重。
优选地,所述关键词提取模块包括:
分词处理子模块,用于对所述微博文本进行分词处理,以获得所述微博文本中所有的词语,对所述词语进行词性标注,并统计所述词语的频次和文档频率;
第一权重值计算子模块,用于根据所述词语的频次、文档频率及词性计算每个词语的权重值;
排序子模块,用于根据所述权重值对所述词语进行排序,选取为预设词性并且不在停用词表中的词语作为候选关键词,所述预设词性包括:形容词、动词、简称、地名、人名、机构名和专有名词;
关键词选择子模块,用于按照权重值从大到小顺序在所述候选关键词中选择预设个数m的关键词。
优选地,所述权重值计算子模块包括:
用户词典获取单元,用于根据当前用户所关注的领域获取用户词典;
权重值计算单元,用于根据所述词语的频次、文档频率及词性并结合所述用户词典计算每个词语的权重值。
优选地,所述关键词选择子模块中,当所述候选关键词的数量w小于所述预设个数m时,则将所述候选关键词作为关键词,并按照权重值从大到小顺序在除所述候选关键词外的词语中选择m-w个词语作为关键词。
优选地,所述关键词组获取模块包括:
距离判断子模块,用于遍历所述微博文本,在当前微博文本内具有两个关键词时,则将所述两个关键词作为关键词对,并依次判断所述当前微博文本内各个关键词对之间的距离是否为预设距离,每次判断为是,,则将该关键词对的同现频度加1,以获得每个关键词对的同现频度;
卡方计算子模块,用于根据所述同现频度计算每个关键词对之间的卡方统计量;
关键词组选择子模块,用于根据所述卡方统计量对所述关键词对进行排序,按照卡方统计量从大到小顺序在所述关键词对之中选择预设个数q的关键词对作为关键词组。
优选地,所述关键词组选择子模块中,选择关键词对时,对于同一个关键词,只能被选择预设次数x。
优选地,所述关键词组聚类模块包括:
初始子模块,用于设当前关键词组中包括关键词w1和w2,并将当前关键词组的密度值设为关键词w1和关键词w2的卡方统计值;
第一并入子模块,用于分别遍历关键词w1和关键词w2所在的其他关键词组,设所述其他关键词组中的待并入关键词为wi,对关键词wi进行判断,若满足Ds(cws∪wi)≥Ds(cws)/2,则将关键词wi并入当前关键词组;
优选地,Ds(cws∪wi)=(Ds(cws)+max(cws,wi))/(cws.size+1),cws为当前词组,Ds(cws∪wi)为当前关键词组中并入关键词wi后的密度值,Ds(cws)为所述当前关键词组的密度值,cws.size为所述当前关键词组中关键词的个数,max(cws,wi)为cws中所包含的关键词和关键词wi之间的最大卡方统计值;
第二并入子模块,用于遍历已并入当前关键词组中的关键词wi所在的关键词组,设所述关键词组中的待并入关键词为wj,对关键词wj进行判断,若满足Ds(cws∪wj)≥Ds(cws)/2,则将关键词wj并入当前关键词组,直至没有关键词能够并入所述当前关键词组为止,将所述当前关键词组作为所述候选关键词簇;
其中,Ds(cws∪wj)=(Ds(cws)+max(cws,wj))/(cws.size+1),Ds(cws∪wj)为当前关键词组中并入关键词wj后的密度值,max(cws,wj)为cws中所包含的关键词和关键词wj之间的最大卡方统计值;
第一判断子模块,用于判断是否已经遍历了除被并入的关键词组外的所有关键词组。
优选地,所述装置还包括:
文本对应模块,用于遍历所述微博文本,判断当前微博文本是否满足条件一或条件二,若是,则将所述当前微博文本作为与所述候选关键词簇T对应的微博文本,并将所述候选关键词簇T对应的微博文本的数量加1,以获得每个候选关键词簇对应的微博文本的数量,所述命名实体包括:人名、地名和机构名,所述条件一为包含某一候选关键词簇T中的命名实体,所述条件二为包含所述候选关键词簇T中关键词总数预设比例p的关键词;
所述热点话题获取模块中通过以下公式计算每个候选关键词簇所代表话题的热度值,
其中,H(topic)为热度值,n为与候选关键词簇对应的微博文本的数量,doci为第i个与候选关键词簇对应的微博文本,len(*)为文本长度,f为转发数,c为评论数。
优选地,所述装置还包括:
话题摘要获取模块,用于获取每个热点话题的话题摘要;
所述话题摘要获取模块包括:
打分子模块,用于将所述热点话题所对应的微博文本通过下式根据文本长度和所包含关键词的个数进行打分,
Score(doci)=log(len(doci))*count(keyword)
其中,Score(doci)为第i个微博文本的得分,len(doci)为第i个微博文本的长度,count(keyword)为第i个微博文本所包含关键词的个数;
选择子模块,用于选择每个热点话题所对应的微博文本中打分最高的微博文本;
第二判断子模块,用于判断当前打分最高的微博文本中是否具有标题标识符【】,若是,则将所述标题标识符所包含的内容作为当前热点话题的话题摘要;
第三判断子模块,用于判断当前打分最高的微博文本中是否具有话题标识符[],若是,则将所述话题标识符所包含的内容作为当前热点话题的话题摘要;
第二权重值计算子模块,用于计算当前打分最高的微博文本中的每个句子的权重,并选取所有微博中权重最大的句子作为当前热点话题的话题摘要;
第四判断子模块,用于判断所有热点话题的话题摘要是否均已获得。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。