著录项信息
专利名称 | 一种挖掘热词的方法与装置 |
申请号 | CN201210018787.5 | 申请日期 | 2012-01-20 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2013-07-24 | 公开/公告号 | CN103218368A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 深圳市腾讯计算机系统有限公司 | 申请人地址 | 广东省深圳市南山区高新区高新南一路飞亚达大厦5-10楼
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 深圳市腾讯计算机系统有限公司 | 当前权利人 | 深圳市腾讯计算机系统有限公司 |
发明人 | 邸楠 |
代理机构 | 北京德琦知识产权代理有限公司 | 代理人 | 王一斌;王琦 |
摘要
本发明公开了一种挖掘热词的方法及装置。该方法包括:预先设置热词库并对热词库中的各热词设置相应的热词权重;根据热词在文档中的词频以及热词库中设置的热词权重,将文档用热词库中热词进行表示;将用热词库中热词进行表示的文档聚类为预设数目的文档类;对预设数目的文档类进行重心排序,过滤掉文档类重心值小于预先设置的重心阈值的文档类;对过滤后的文档类按照预先设置的热词选取策略进行热词选取。应用本发明,可以降低聚类复杂度、提高社交网络热点挖掘的效率。
1.一种挖掘热词的方法,其特征在于,该方法包括:
预先设置热词库并对热词库中的各热词设置相应的热词权重;
根据热词在文档中的词频以及热词库中设置的热词权重,将文档用热词库中热词进行表示;
将用热词库中热词进行表示的文档聚类为预设数目的文档类;
对预设数目的文档类进行重心排序,过滤掉文档类重心值小于预先设置的重心阈值的文档类;
对过滤后的文档类按照预先设置的热词选取策略进行热词选取。
2.如权利要求1所述的方法,其特征在于,所述预设数目为用热词库中热词进行表示的文档总数的平方根与预设的文档类系数的乘积;
所述将用热词库中热词进行表示的文档聚类为预设数目的文档类包括:
将用热词库中热词进行表示的文档设置为一个文档类;
采用贪心算法对设置的文档类进行分裂,使得当前分裂后生成的两个文档类的平均距离最大;
计算各文档类的类内距离以及各文档类之间的类间距离,选取类内距离与类间距离比值最大对应的文档类进行再分裂;
确认分裂得到的所有文档类数目达到预设数目。
3.如权利要求2所述的方法,其特征在于,在得到预设数目的文档类后,进一步包括:
对预设数目的文档类中的相似文档类进行合并处理;
所述对预设数目的文档类中的相似文档类进行合并处理包括:
计算每一文档类内所有文档的特征向量值的平均值,得到相应文档类重心;
根据两个文档类的重心计算该两文档之间的欧氏距离;
将计算得到的欧氏距离的倒数作为文档类间相似度,如果文档类间相似度超过预设的类间相似度阈值,合并该两个文档类。
4.如权利要求1所述的方法,其特征在于,所述过滤掉文档类重心值小于预先设置的重心阈值的文档类之后,进一步包括:
获取过滤得到的文档类内的文档数;
将超过预先设置的最大文档数阈值的文档类进行过滤;和/或
将低于预先设置的最小文档数阈值的文档类进行过滤。
5.如权利要求1所述的方法,其特征在于,所述过滤掉文档类重心值小于预先设置的重心阈值的文档类之后,进一步包括:
计算文档类内各文档间相似度,将文档间相似度超过预先设置的文档相似度阈值的文档进行过滤。
6.如权利要求5所述的方法,其特征在于,所述计算文档间相似度包括:
获取文档类内任意两文档中,具有的最长公共字符串的长度;
获取文档类内该两文档中,具有较多字符串的文档所包含的字符串长度;
计算最长公共字符串的长度与所包含的字符串长度的商,得到文档间相似度。
7.如权利要求5所述的方法,其特征在于,所述计算文档间相似度包括:
对文档类内文档按字符串长度进行排序;
获取文档类内相邻两文档中,具有的最长公共字符串的长度;
获取文档类内该两文档中,具有较多字符串的文档所包含的字符串长度;
计算最长公共字符串的长度与所包含的字符串长度的商,得到文档间相似度。
8.如权利要求7所述的方法,其特征在于,进一步包括:
统计文档间相似度超过预先设置的文档相似度阈值的文档对,确定相似文档对的数量超过预先设置的相似文档对数量阈值,过滤该文档类。
9.如权利要求1所述的方法,其特征在于,所述按照预先设置的热词选取策略进行热词选取包括:
统计每一文档类内各热词的词频以及每一文档类的文档数;
如果文档类内热词的词频与该文档类的文档数的比值超过预先设置的该文档类热词阈值,选取该热词。
10.如权利要求1所述的方法,其特征在于,所述按照预先设置的热词选取策略进行热词选取包括:
统计每一文档类内各热词的词频以及该热词出现在各文档类内文档的文档数;
如果文档类内热词的词频与该热词出现在各文档类内文档的文档数的比值超过预先设置的文档类间热词阈值,选取该热词。
11.如权利要求9或10所述的方法,其特征在于,在所述选取该热词后,进一步包括:
计算最接近文档类重心的文档;
匹配选取的热词以及最接近文档类重心的文档中的热词,获取匹配的热词。
12.如权利要求11所述的方法,其特征在于,进一步包括:
确定匹配的热词数量小于预先设置的热词数量阈值,根据预先设置的表意词词库匹配该文档类内文档,获取候选表意词;
根据统计的候选表意词词频过滤候选表意词;
计算最接近文档类重心的文档;
匹配候选表意词以及最接近文档类重心的文档中的表意词,将匹配的表意词放入已选取的热词中。
13.如权利要求12所述的方法,其特征在于,进一步包括:
按照最接近文档类重心的文档中热词及表意词的顺序调整待输出的热词以及表意词的顺序。
14.如权利要求1所述的方法,其特征在于,进一步包括:
将选取的各文档类的热词进行切分,获取各文档类的切分结果,确定两文档类的切分结果满足预先设置的切分条件,过滤文档类重心较低的文档类内的热词。
15.如权利要求14所述的方法,其特征在于,用热词库中热词进行表示的文档的特征向量由文档中与热词库匹配成功的热词的特征向量值组成;
所述获取热词的特征向量值包括:
统计热词在文档中的词频;
获取热词词频的对数值与数值1相加的和;
获取预先设置的热词权重的对数值与所述和的乘积,作为该热词的特征向量值。
16.一种挖掘热词的装置,其特征在于,该装置包括:文档表示模块、文档聚类模块、文档类过滤模块以及文档类热词选取模块,其中,
文档表示模块,用于预先设置热词库并对热词库中的各热词设置相应的热词权重,根据热词在文档中的词频以及热词库中设置的热词权重,将文档用热词库中热词进行表示;
文档聚类模块,用于将用热词库中热词进行表示的文档聚类为预设数目的文档类;
文档类过滤模块,用于对文档聚类模块输出的文档类进行重心排序,过滤掉文档类重心值小于预先设置的重心阈值的文档类;
文档类热词选取模块,用于对文档类过滤模块输出的过滤后的文档类按照预先设置的热词选取策略进行热词选取,并将选取的热词输出。
17.如权利要求16所述的装置,其特征在于,所述文档聚类模块进一步用于对预设数目的文档类中的相似文档类进行合并处理;
所述文档类过滤模块进一步用于获取过滤得到的文档类内的文档数;
将超过预先设置的最大文档数阈值的文档类进行过滤;和/或
将低于预先设置的最小文档数阈值的文档类进行过滤。
18.如权利要求16所述的装置,其特征在于,所述文档类过滤模块进一步用于计算文档类内各文档间相似度,将文档间相似度超过预先设置的文档相似度阈值的文档进行过滤。
19.如权利要求16所述的装置,其特征在于,所述文档类热词选取模块进一步用于确定文档类选取的热词数量小于预先设置的热词数量阈值,根据预先设置的表意词词库匹配该文档类内文档,获取候选表意词;根据统计的候选表意词词频过滤候选表意词;计算最接近文档类重心的文档;匹配候选表意词以及最接近文档类重心的文档中的表意词,将匹配的表意词放入已选取的热词中;按照最接近文档类重心的文档中热词及表意词的顺序调整待输出的热词以及表意词的顺序。
20.如权利要求16至19任一项所述的装置,其特征在于,进一步包括:
文档类去重模块,用于将文档类热词选取模块选取的各文档类的热词进行切分,获取各文档类的切分结果,确定两文档类的切分结果满足预先设置的切分条件,过滤文档类重心较低的文档类内的热词,并将过滤后的热词输出。
一种挖掘热词的方法与装置\n技术领域\n[0001] 本发明涉及计算机聚类技术,特别涉及一种挖掘热词的方法与装置。\n背景技术\n[0002] 随着计算机通信技术的发展,尤其是3g网络和智能移动终端的发展,用户的网络生活越来越丰富,在社交网络上聊天、浏览新闻、看电影、玩游戏、搜索、购物、发布信息等,越来越成为网络生活的一部分。而如何让用户有效地从网络社区中找到有价值的信息,成为信息领域一个重要的研究课题。\n[0003] 目前,在社区中海量的各领域的网络信息中,采用基于文档进行热词挖掘的方法,利用空间向量模型(VSM,Vector Space Model)将网络中的文档表示为由词语组成的特征向量,每一维特征向量值对应词语的相关信息,可以是二值、词语在文档出现次数的词频(TF,Term Frequency)、词频反文档频率(TF-IDF,Term Frequency-Inverse Document Frequency)等。例如,在二值中,可以用0表示词语在相关文档出现,用1表示词语未出现在该相关文档,在TF-IDF中,利用词语在该文档中出现的次数以及该词语在历史文档中出现的次数作为特征向量值的相关信息。这样,通过将文档表示为由词语组成的特征向量后,对文档进行聚类,过滤特征向量中的一些词语,从而挖掘出文档中有价值的词语的信息,并选取一些过滤的到的词语作为热词推荐给用户,从而增加用户的业务体验。但该方法以文档中包含的词语表示文档,采用TF-IDF等方法进行聚类,对于用户比较关注的突发性热点事件,由于该突发性热点事件只与较短的时间信息相关,其词语在历史文档中几乎没有出现,因而,在聚类过程中,容易被过滤掉,使得推荐给用户的热词不能反映热点事件,价值较低;\n进一步地,由词语组成的特征向量中,维度为非0值较多,且包含了大量与热点事件无关的词语,增加了聚类处理的复杂度,无法满足社交网络的实时性要求。\n[0004] 为了有效降低以静态表示文档导致的缺少与热点事件紧密相关的时间信息,现有技术提出了一种改进的基于文档挖掘热词的方法,即考虑热点事件中词语的动态文档表示方法:技术人员浏览文档,当文档中的某个词语在文档所处时间段为与事件紧密相关的时间段时,基于该文档在原有TF-IDF基础上,增加该词语在文档特征向量中的权重,这样,可以提高该词语在聚类结果中的优先性,从而增大作为热词输出并推荐给用户的概率,以克服文档静态表示的缺陷。\n[0005] 由上述可见,现有改进的基于文档挖掘热词的方法,虽然能够有效降低以静态表示文档导致的缺少与事件紧密相关的时间信息,但在进行聚类的词语中,还是包含了大量与热点事件无关的词语,增加了聚类复杂度;进一步地,需要人工识别文档中热点事件包含的词语,且采用现有TF-IDF等聚类方法,而热点事件一般具有突发性、持续时间短等特点,使得考虑词语历史信息的聚类方法,虽然增加了热点事件包含的词语在文档特征向量中的权重,但其聚类结果还是较容易过滤实时性热点事件中包含的词语,热点挖掘效率较低,还是无法满足社交网络挖掘的实时性要求。\n发明内容\n[0006] 有鉴于此,本发明的主要目的在于提出一种挖掘热词的方法,降低聚类复杂度、提高社交网络热点挖掘的效率。\n[0007] 本发明的另一目的在于提出一种挖掘热词的装置,降低聚类复杂度、提高社交网络热点挖掘的效率。\n[0008] 为达到上述目的,本发明提供了一种挖掘热词的方法,该方法包括:\n[0009] 预先设置热词库并对热词库中的各热词设置相应的热词权重;\n[0010] 根据热词在文档中的词频以及热词库中设置的热词权重,将文档用热词库中热词进行表示;\n[0011] 将用热词库中热词进行表示的文档聚类为预设数目的文档类;\n[0012] 对预设数目的文档类进行重心排序,过滤掉文档类重心值小于预先设置的重心阈值的文档类;\n[0013] 对过滤后的文档类按照预先设置的热词选取策略进行热词选取。\n[0014] 所述预设数目为用热词库中热词进行表示的文档总数的平方根与预设的文档类系数的乘积;\n[0015] 所述将用热词库中热词进行表示的文档聚类为预设数目的文档类包括:\n[0016] 将用热词库中热词进行表示的文档设置为一个文档类;\n[0017] 采用贪心算法对设置的文档类进行分裂,使得当前分裂后生成的两个文档类的平均距离最大;\n[0018] 计算各文档类的类内距离以及各文档类之间的类间距离,选取类内距离与类间距离比值最大对应的文档类进行再分裂;\n[0019] 确认分裂得到的所有文档类数目达到预设数目。\n[0020] 在得到预设数目的文档类后,进一步包括:\n[0021] 对预设数目的文档类中的相似文档类进行合并处理;\n[0022] 所述对预设数目的文档类中的相似文档类进行合并处理包括:\n[0023] 计算每一文档类内所有文档的特征向量值的平均值,得到相应文档类重心;\n[0024] 根据两个文档类的重心计算该两文档之间的欧氏距离;\n[0025] 将计算得到的欧氏距离的倒数作为文档类间相似度,如果文档类间相似度超过预设的类间相似度阈值,合并该两个文档类。\n[0026] 所述过滤掉文档类重心值小于预先设置的重心阈值的文档类之后,进一步包括:\n[0027] 获取过滤得到的文档类内的文档数,将超过预先设置的最大文档数阈值的文档类、和/或,低于预先设置的最小文档数阈值的文档类进行过滤。\n[0028] 所述过滤掉文档类重心值小于预先设置的重心阈值的文档类之后,进一步包括:\n[0029] 计算文档类内各文档间相似度,将文档间相似度超过预先设置的文档相似度阈值的文档进行过滤。\n[0030] 所述计算文档间相似度包括:\n[0031] 获取文档类内任意两文档中,具有的最长公共字符串的长度;\n[0032] 获取文档类内该两文档中,具有较多字符串的文档所包含的字符串长度;\n[0033] 计算最长公共字符串的长度与所包含的字符串长度的商,得到文档间相似度。\n[0034] 所述计算文档间相似度包括:\n[0035] 对文档类内文档按字符串长度进行排序;\n[0036] 获取文档类内相邻两文档中,具有的最长公共字符串的长度;\n[0037] 获取文档类内该两文档中,具有较多字符串的文档所包含的字符串长度;\n[0038] 计算最长公共字符串的长度与所包含的字符串长度的商,得到文档间相似度。\n[0039] 进一步包括:\n[0040] 统计文档间相似度超过预先设置的文档相似度阈值的文档对,确定相似文档对的数量超过预先设置的相似文档对数量阈值,过滤该文档类。\n[0041] 所述按照预先设置的热词选取策略进行热词选取包括:\n[0042] 统计每一文档类内各热词的词频以及每一文档类的文档数;\n[0043] 如果文档类内热词的词频与该文档类的文档数的比值超过预先设置的该文档类热词阈值,选取该热词。\n[0044] 所述按照预先设置的热词选取策略进行热词选取包括:\n[0045] 统计每一文档类内各热词的词频以及该热词出现在各文档类内文档的文档数;\n[0046] 如果文档类内热词的词频与该热词出现在各文档类内文档的文档数的比值超过预先设置的文档类间热词阈值,选取该热词。\n[0047] 在所述选取该热词后,进一步包括:\n[0048] 计算最接近文档类重心的文档;\n[0049] 匹配选取的热词以及最接近文档类重心的文档中的热词,获取匹配的热词。\n[0050] 进一步包括:\n[0051] 确定匹配的热词数量小于预先设置的热词数量阈值,根据预先设置的表意词词库匹配该文档类内文档,获取候选表意词;\n[0052] 根据统计的候选表意词词频过滤候选表意词;\n[0053] 计算最接近文档类重心的文档;\n[0054] 匹配候选表意词以及最接近文档类重心的文档中的表意词,将匹配的表意词放入已选取的热词中。\n[0055] 进一步包括:\n[0056] 按照最接近文档类重心的文档中热词及表意词的顺序调整待输出的热词以及表意词的顺序。\n[0057] 进一步包括:\n[0058] 将选取的各文档类的热词进行切分,获取各文档类的切分结果,确定两文档类的切分结果满足预先设置的切分条件,过滤文档类重心较低的文档类内的热词。\n[0059] 用热词库中热词进行表示的文档的特征向量由文档中与热词库匹配成功的热词的特征向量值组成;\n[0060] 所述获取热词的特征向量值包括:\n[0061] 统计热词在文档中的词频;\n[0062] 获取热词词频的对数值与数值1相加的和;\n[0063] 获取预先设置的热词权重的对数值与所述和的乘积,作为该热词的特征向量值。\n[0064] 一种挖掘热词的装置,该装置包括:文档表示模块、文档聚类模块、文档类过滤模块以及文档类热词选取模块,其中,\n[0065] 文档表示模块,用于预先设置热词库并对热词库中的各热词设置相应的热词权重,根据热词在文档中的词频以及热词库中设置的热词权重,将文档用热词库中热词进行表示;\n[0066] 文档聚类模块,用于将用热词库中热词进行表示的文档聚类为预设数目的文档类;\n[0067] 文档类过滤模块,用于对文档聚类模块输出的文档类进行重心排序,过滤掉文档类重心值小于预先设置的重心阈值的文档类;\n[0068] 文档类热词选取模块,用于对文档类过滤模块输出的过滤后的文档类按照预先设置的热词选取策略进行热词选取,并将选取的热词输出。\n[0069] 所述文档聚类模块进一步用于对预设数目的文档类中的相似文档类进行合并处理;\n[0070] 所述文档类过滤模块进一步用于获取过滤得到的文档类内的文档数,将超过预先设置的最大文档数阈值的文档类、和/或,低于预先设置的最小文档数阈值的文档类进行过滤。\n[0071] 所述文档类过滤模块进一步用于计算文档类内各文档间相似度,将文档间相似度超过预先设置的文档相似度阈值的文档进行过滤。\n[0072] 所述文档类热词选取模块进一步用于确定文档类选取的热词数量小于预先设置的热词数量阈值,根据预先设置的表意词词库匹配该文档类内文档,获取候选表意词;根据统计的候选表意词词频过滤候选表意词;计算最接近文档类重心的文档;匹配候选表意词以及最接近文档类重心的文档中的表意词,将匹配的表意词放入已选取的热词中;按照最接近文档类重心的文档中热词及表意词的顺序调整待输出的热词以及表意词的顺序。\n[0073] 进一步包括:\n[0074] 文档类去重模块,用于将文档类热词选取模块选取的各文档类的热词进行切分,获取各文档类的切分结果,确定两文档类的切分结果满足预先设置的切分条件,过滤文档类重心较低的文档类内的热词,并将过滤后的热词输出。\n[0075] 由上述的技术方案可见,本发明实施例提供的一种挖掘热词的方法及装置,预先设置热词库并对热词库中的各热词设置相应的热词权重;根据热词在文档中的词频以及热词库中设置的热词权重,将文档用热词库中热词进行表示;将用热词库中热词进行表示的文档聚类为预设数目的文档类;对预设数目的文档类进行重心排序,过滤掉文档类重心值小于预先设置的重心阈值的文档类;对过滤后的文档类按照预先设置的热词选取策略进行热词选取。这样,以与热点事件相关的热词表示文档,有效降低了后续进行聚类的复杂度;\n运用文档聚类的方式,将同一热点事件下的热词进行聚合以及过滤,按照预先设置的热词选取策略进行热词选取,减少了后续热词选取所需的时间,可以满足社交网络挖掘的实时性要求,并提高社交网络热点挖掘的效率。\n附图说明\n[0076] 图1为本发明实施例挖掘热词的装置结构示意图。\n[0077] 图2为本发明实施例挖掘热词的方法流程示意图。\n具体实施方式\n[0078] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。\n[0079] 热词是一段时间内对社会热点事件的重要提示信息,因而,本发明实施例中,通过预先设置热词库并对热词库中的各热词设置相应的热词权重,并对热词库进行动态维护,将文档用热词库中热词进行表示,然后基于本发明实施例的挖掘热词方法,对文档进行聚类形成文档类,在文档类中对聚类的社交网络某个时间段内描述同一热点事件的热词进行聚合过滤,最后将经聚合过滤的热词进行展示,从而可以实时挖掘出社交网络上的热门话题和热点事件。\n[0080] 图1为本发明实施例挖掘热词的装置结构示意图。参见图1,该装置用于实时社交网络热词聚类、聚类展示以及热点事件挖掘,包括:文档表示模块101、文档聚类模块102、文档类过滤模块103以及文档类热词选取模块104,其中,\n[0081] 文档表示模块101,用于预先设置热词库并对热词库中的各热词设置相应的热词权重,根据热词在文档中的词频以及热词库中设置的热词权重,将文档用热词库中热词进行表示;\n[0082] 本发明实施例中,考虑到挖掘社交网络上文档的实时需求,其热门话题和热点事件中包含的词语对热点挖掘贡献较大,因而,预先从热门话题和热点事件中提取出热词,构建热词库,并对热词库进行动态维护。进一步地,考虑到每个热词对热点挖掘的贡献并不是均衡的,在构建的热词库中,还可以为各热词设置相应的热词权重,当然,也可以对各热词设置统一的热词权重。关于构建热词库的详细过程,由于不属于本发明的讨论范畴,在此不再赘述。\n[0083] 用预先获取的热词库中的热词表示文档,即文档向量特征只用热词的相关信息(词频以及热词权重)表示,而不是采用文档中包含的全部词语的相关信息(词频以及反文档频率)进行表示,这样,可以将文档非0维度减小,同时,将与热词无关的文档进行过滤,降低后续聚类处理的复杂度,提高了后续处理的效率,使得过滤后较少的文档数量可满足社交网络事件挖掘的实时性要求。\n[0084] 如前所述,由于文档只采用热词表示,而热词的IDF值较小,因此传统的TF-IDF方法并不适用表示文档,本发明实施例采用TF与预设的热词权重相结合,提出了基于热词权重的文档表示公式:\n[0085] di=[di1,...dij,...din]\n[0086] dij=(1+logTFij)×logWjbw\n[0087] 其中,\n[0088] di为文档i的特征向量,该文档特征向量由文档i中与热词库匹配成功的热词的特征向量值组成;\n[0089] n为文档i的特征向量个数,即文档i包含的热词个数;\n[0090] dij为文档特征向量di中第j维特征向量的特征向量值,即第j个热词的特征向量值,1≤j≤n;\n[0091] Wjbw为热词Wj的权重,为热词库中预先设置的一个与当前文档无关的词汇重要性评判指标;\n[0092] TFij为热词Wj在文档i中的词频。\n[0093] 文档聚类模块102,用于将用热词库中热词进行表示的文档聚类为预设数目的文档类;\n[0094] 本发明实施例中,由于文档较多,包含于各种文档类中,一个文档类包含一个或多个文档。对于不同的文档类,用户的实时性需求可能不同,为满足各类热点事件挖掘的实时性要求,可以对文档进行聚类以使后续展示的热词与分类的文档更贴近。\n[0095] 较佳地,根据统计分析以及经验,预设的文档类数目为以匹配的热词表示的文档总数的平方根与预设的文档类系数的乘积,即:\n[0096]\n[0097] 其中,\n[0098] A为文档类数目;\n[0099] α为文档类系数,较佳地,α=2~3;\n[0100] N为以匹配的热词表示的文档总数。\n[0101] 当然,实际应用中,也可以根据其他方法确定预设的文档类数目。\n[0102] 本发明实施例中,采用自顶向下二分的方式进行聚类,当聚类的文档类数目达到后停止。具体过程如下:初始将所有文档处于一个聚类中,然后对该聚类进行分裂,分裂方式采用贪心算法,使得当前分裂后生成的两个文档类的平均距离最大,再选择下一个待分裂的文档类,通过贪心算法进行再分裂,直至进行 次分裂,得到 个文档类停止,再次选择的过程如下:计算各文档类的类内距离以及各文档类之间的类间距离,选取类内距离与类间距离比值最大对应的文档类进行再分裂。关于贪心算法、平均距离、类内距离以及类间距离的详细描述,具体可参见相关技术文献,在此不再赘述。\n[0103] 经过上述聚类处理得到的文档类,可能存在多个文档类中的热词或文档描述同一热点事件的情形,造成最终输出或展示给用户的热词冗余。因而,进一步地,[0104] 文档聚类模块102,还用于对预设数目的文档类中的相似文档类进行合并处理;\n[0105] 本发明实施例中,文档聚类模块102用于在上述粗聚类的基础上再进行聚类,为了提高热点挖掘效率,本发明实施例采用文档类重心计算文档类间相似度,作为相似文档类的判断标准,文档类间相似度是指两个文档类之间的相似度,当两个文档类的文档类间相似度超过预设的类间相似度阈值β,表明两个文档类中的热词可能描述同一热点事件,则合并两个文档类,从而将描述同一个热点事件的文档类合并以形成新的文档类,并重新计算合并后的文档类重心,直到文档类无法再合并。\n[0106] 文档类间相似度的计算公式为:\n[0107] Gk,h=1/dist(Ck,Ch)\n[0108] 式中,\n[0109] Gk,h为文档类k与文档类h之间的文档类间相似度;\n[0110] Ck,Ch分别为文档类k与文档类h的重心,为相应文档类内所有文档的特征向量值的平均值;\n[0111] dist(Ck,Ch)为文档类k与文档类h之间的欧氏距离。\n[0112] 其中,\n[0113]\n[0114]\n[0115] 式中,\n[0116] K为文档类k内包含的文档数;\n[0117] 为文档i的特征向量值的均值,即文档类重心为文档类内包含的文档的特征向量值的均值,文档的特征向量值的均值为文档内包含的热词的特征向量值的均值。\n[0118] 文档类过滤模块103,用于对文档聚类模块102输出的文档类进行重心排序,过滤掉文档类重心值小于预先设置的重心阈值的文档类;\n[0119] 本发明实施例中,当文档聚为文档类后,计算文档类重心值,即前述的文档类内所有文档的特征向量值的平均值,例如,Ck,Ch。如果计算得到的文档类重心值小于预先设置的重心阈值,表明该文档类与热点事件相关性较小,则将该文档类过滤掉。\n[0120] 进一步地,对于过滤得到的文档类,还可以作进一步处理,去掉一些低质量的文档类,例如广告推广等,可以采用如下两种过滤方法中的其中一种或两种结合进行再过滤。\n[0121] 文档类过滤模块103,进一步用于获取过滤得到的文档类内的文档数,将超过预先设置的最大文档数阈值的文档类、和/或,低于预先设置的最小文档数阈值的文档类进行过滤;\n[0122] 本发明实施例的第一种过滤方法中,当文档类容量过大时,则认为该文档类在后续进行热词选取时,需要耗费大量的计算资源,导致处理速度较慢,不能满足实时性要求,文档类容量过大是指一个文档类内的文档数(该文档类包含的文档数)超过预先设置的最大文档数阈值;当文档类容量过小时,该文档类不能满足样本性要求,使得经过聚类得到的聚类结果质量较低,文档类容量过小是指一个文档类内的文档数小于预先设置的最小文档数阈值,需要舍弃这两种文档类。\n[0123] 文档类过滤模块103,进一步用于计算文档类内各文档间相似度,将文档间相似度超过预先设置的文档相似度阈值的文档进行过滤;\n[0124] 本发明实施例的第二种过滤方法中,主要针对文档类内的文档相似的情况,可以认为,该文档类内的文档可能是由机器模板生成,而不是用户主动输入的,使得文档的质量较低,应当过滤掉。因此需要通过计算该文档类内文档间相似度来进行识别、筛除。\n[0125] 由于文档类内的文档以各热词的特征向量进行表示,因而,本发明实施例中,可以用向量余弦值作为文档间相似度,向量余弦值是指两文档特征向量夹角的余弦值,例如,对于两个文档m、n,其文档特征向量分别为dm和dn,则其向量余弦值为cos(dm,dn),如果两文档的特征向量夹角愈小,表明文档相似度愈大,如果计算得到的两文档间的向量余弦值超过阈值,则过滤该两文档。\n[0126] 实际应用中,为了提高文档间相似度的计算精度,还可以考虑采用两文档具有的公共字符串作为计算文档间相似度的标准,计算公式如下:\n[0127]\n[0128] 式中,\n[0129] ξ为文档间相似度;\n[0130] d1、d2为文档类内文档;\n[0131] LCS()为文档类内两文档中,具有的最长公共字符串的长度;\n[0132] max()为文档类内两文档中,具有较多字符串的文档所包含的字符串长度;\n[0133] γ为文档相似度阈值。\n[0134] 关于计算以及获取LCS()以及max(),具体可参见相关技术文献,在此不再赘述。\n[0135] 当一个文档类内的两个文档的最长公共字串占原串长度超过文档相似度阈值γ时,认为d1、d2为一个相似文档对,如果计算得到的文档间相似度大于文档相似度阈值,则直接删除该文档类内文档。\n[0136] 进一步地,当相似文档对的数量超过预先设置的相似文档对数量阈值时,认为该文档类内的文档过于相似,还可以将该文档类过滤。\n[0137] 实际应用中,由于一个文档类内的文档数量可能很多,使得两两计算文档最长公共字串复杂度为O(n*n*k*k),其中,n为文档类内文档数量,k为文档平均字符串长度,不能满足社交网络的实时性要求,本发明实施例中,还可以对计算文档最长公共字串复杂度进行简化,先对文档类内文档按长度进行排序,而后只对相邻文档进行文档间相似度计算,这样,复杂度可以降为O(nlogn+n*k*k)。\n[0138] 文档类热词选取模块104,用于对文档类过滤模块103输出的过滤后的文档类按照预先设置的热词选取策略进行热词选取,并将选取的热词输出。\n[0139] 本发明实施例中,文档类热词选取可以帮助用户较快快理解文档类的大致内容。\n[0140] 较佳地,该装置进一步包括:\n[0141] 文档类去重模块105,用于将文档类热词选取模块104选取的各文档类的热词进行切分,获取各文档类的切分结果,确定两文档类的切分结果满足预先设置的切分条件,过滤文档类重心较低的文档类内的热词,并将过滤后的热词输出。\n[0142] 由上述可见,本发明实施例的挖掘热词的装置,文档表示模块以预先获取的热词库匹配文档,根据热词在文档中的词频以及热词库中设置的热词权重构建以匹配的热词表示的文档,以与热点事件相关的热词表示文档,有效降低了后续进行聚类的复杂度,为不同的热词分别设置热词权重,更能反映各热词在热点事件中的贡献;文档聚类模块将以热词表示的文档聚类为预设数目的文档类,文档类过滤模块对文档类进行重心排序,过滤文档类重心值小于预先设置的重心阈值的文档类,这样,运用文档聚类的方式,对热词进行聚类,将同一热点事件下的热词进行聚合,并对质量较低的文档类进行过滤,减少了后续热词选取所需的时间,满足社交网络挖掘的实时性要求,提高了社交网络热点挖掘的效率;文档类热词选取模块对过滤的文档类按照预先设置的热词选取策略进行热词选取,并将选取的热词输出,从而使展示的热词更能反映热点事件,有效提升了用户的业务体验;进一步地,在必要时加入辅助的表意词,可以提高展示的热词的可理解性。\n[0143] 图2为本发明实施例挖掘热词的方法流程示意图。参见图2,该流程包括:\n[0144] 步骤201,预先设置热词库并对热词库中的各热词设置相应的热词权重,根据热词在文档中的词频以及热词库中设置的热词权重,将文档用热词库中热词进行表示;\n[0145] 本步骤中,用热词库中热词进行表示的文档的特征向量由文档中与热词库匹配成功的热词的特征向量值组成。\n[0146] 获取热词的特征向量值的步骤包括:\n[0147] 统计热词在文档中的词频;\n[0148] 获取热词词频的对数值与数值1相加的和;\n[0149] 获取预先设置的热词权重的对数值与所述和的乘积,作为该热词的特征向量值。\n[0150] 步骤202,将用热词库中热词进行表示的文档聚类为预设数目的文档类;\n[0151] 本步骤中,预设数目为用热词库中热词进行表示的文档总数的平方根与预设的文档类系数的乘积。\n[0152] 将用热词库中热词进行表示的文档聚类为预设数目的文档类包括:\n[0153] 将用热词库中热词进行表示的文档设置为一个文档类;\n[0154] 采用贪心算法对设置的文档类进行分裂,使得当前分裂后生成的两个文档类的平均距离最大;\n[0155] 计算各文档类的类内距离以及各文档类之间的类间距离,选取类内距离与类间距离比值最大对应的文档类进行再分裂;\n[0156] 确认分裂得到的所有文档类数目达到预设数目。\n[0157] 本发明实施例中,在得到预设数目的文档类后,进一步包括:\n[0158] 对预设数目的文档类中的相似文档类进行合并处理。\n[0159] 该步骤具体包括:\n[0160] 计算每一文档类内所有文档的特征向量值的平均值,得到相应文档类重心;\n[0161] 根据两个文档类的重心计算该两文档之间的欧氏距离;\n[0162] 将计算得到的欧氏距离的倒数作为文档类间相似度,如果文档类间相似度超过预设的类间相似度阈值,合并该两个文档类。\n[0163] 步骤203,对预设数目的文档类进行重心排序,过滤掉文档类重心值小于预先设置的重心阈值的文档类;\n[0164] 本步骤中,如果计算得到的文档类重心值小于预先设置的重心阈值,表明该文档类与热点事件相关性较小,则将该文档类过滤掉。\n[0165] 较佳地,在对文档类进行过滤后,进一步包括:\n[0166] 获取过滤得到的文档类内的文档数,将超过预先设置的最大文档数阈值的文档类、和/或,低于预先设置的最小文档数阈值的文档类进行过滤。或者,\n[0167] 计算文档类内各文档间相似度,将文档间相似度超过预先设置的文档相似度阈值的文档进行过滤。\n[0168] 本步骤中,计算文档间相似度包括:\n[0169] 获取文档类内任意两文档中,具有的最长公共字符串的长度;\n[0170] 获取文档类内该两文档中,具有较多字符串的文档所包含的字符串长度;\n[0171] 计算最长公共字符串的长度与所包含的字符串长度的商,得到文档间相似度。\n[0172] 当然,计算文档间相似度也可以包括:\n[0173] 对文档类内文档按字符串长度进行排序;\n[0174] 获取文档类内相邻两文档中,具有的最长公共字符串的长度;\n[0175] 获取文档类内该两文档中,具有较多字符串的文档所包含的字符串长度;\n[0176] 计算最长公共字符串的长度与所包含的字符串长度的商,得到文档间相似度。\n[0177] 实际应用中,对于计算文档间相似度的情形,还可以进一步包括:\n[0178] 统计文档间相似度超过预先设置的文档相似度阈值的文档对,确定相似文档对的数量超过预先设置的相似文档对数量阈值,过滤该文档类。\n[0179] 步骤204,对过滤的文档类按照预先设置的热词选取策略进行热词选取,并将选取的热词输出。\n[0180] 本步骤中,按照预先设置的热词选取策略进行热词选取可以是:\n[0181] A11,统计每一文档类内各热词的词频以及每一文档类的文档数;\n[0182] 本步骤中,统计每一文档类内各热词在所属文档类出现的词频,即计算该热词在文档类内各文档的DF值的总和;以及,每一文档类所包含的文档数。\n[0183] A12,如果文档类内热词的词频与该文档类的文档数的比值超过预先设置的该文档类热词阈值,选取该热词。\n[0184] 本步骤中,选取热词的公式如下:\n[0185]\n[0186] 式中,\n[0187] r为文档类内热词的词频;\n[0188] d为该文档类的文档数;\n[0189] λ为该文档类热词阈值。\n[0190] 文档类热词阈值可以适用于所有文档类,当然,实际应用中,也可以针对不同的文档类,分别进行设置。该选取热词的公式要求选取的热词在文档类出现次数较多,以确保选取的热词是该文档类内的核心词。\n[0191] 实际应用中,按照预先设置的热词选取策略进行热词选取还可以是:\n[0192] A′11,统计每一文档类内各热词的词频以及该热词出现在各文档类内文档的文档数;\n[0193] A′12,如果文档类内热词的词频与该热词出现在各文档类内文档的文档数的比值超过预先设置的文档类间热词阈值,选取该热词。\n[0194] 本步骤中,选取热词的公式考虑该热词在各文档类出现的情况,其公式如下:\n[0195]\n[0196] 式中,\n[0197] R为该热词出现在各文档类内文档的文档数;\n[0198] ω为文档类间热词阈值。\n[0199] 该公式建立在如下假设上:某时间段的热词是由于少量事件所引起。因此,要求文档类内热词的词频,与各文档类的总文档中出现该热词的文档数的比值超过阈值ω。\n[0200] 较佳地,在选取该热词后,还可以对选取的热词作进一步处理,即执行步骤A13~A14后才输出展示给用户。\n[0201] A13,计算最接近文档类重心的文档;\n[0202] 本步骤中,文档类重心的计算如前所述,计算出文档类重心之后,计算文档类内每一篇文档到文档类重心的距离,将距离最短的文档作为中心文档。\n[0203] A14,匹配选取的热词以及最接近文档类重心的文档中的热词,获取匹配的热词。\n[0204] 本步骤中,将既在选取的热词中出现又在中心文档中出现的热词作为匹配的热词。\n[0205] 较佳地,在输出进行展示时,按照最接近文档类重心的文档中的热词顺序展示该匹配的热词。\n[0206] 本发明实施例中,经过上述聚类处理展示的热词,数量可能较少,或者热词表意不明确时,可以进一步放宽热词的选取条件,或选取文档类内出现频次较多的非热词的表意词加入文档类已选取的待输出热词集中,即进行表意词扩展。其中,本发明实施例所述的表意词逻辑上定义为能够体现文档类描述热点事件的词语,例如,在应用中定义为:人名、地名、机构团体名、专有名词、习惯用语等表意性较强的词。\n[0207] 选取表意词步骤如下:\n[0208] B11,确定文档类选取的热词数量小于预先设置的热词数量阈值,根据预先设置的表意词词库匹配该文档类内文档,获取候选表意词;\n[0209] 本步骤中,当一个文档类已选取的热词数量较小,或者文档类中表意词数量不足时,则对该文档类进行普通表意词选取,选取的方法可以通过与预先设置的表意词词库进行匹配得到,其中,表意词词库中不包括热词词库中的热词。\n[0210] B12,根据统计的候选表意词词频过滤候选表意词;\n[0211] 本步骤中,对获取的候选表意词,在该文档类内进行词频统计,如果候选表意词词频低于预先设置的表意词词频阈值,将该候选表意词进行过滤,否则,执行步骤B13。\n[0212] B13,计算最接近文档类重心的文档;\n[0213] 本步骤的计算方法与步骤A13相同。\n[0214] B14,匹配候选表意词以及最接近文档类重心的文档中的表意词,将匹配的表意词放入已选取的热词中;\n[0215] 本步骤中,如果最接近文档类重心的文档中没有与候选表意词相匹配的表意词,则表明该文档类内的文档并非描述某个热点事件,只是通过某些热词而聚合,本发明实施例中,将这种文档类舍弃。\n[0216] B15,按照最接近文档类重心的文档中热词及表意词的顺序调整待输出的热词以及表意词的顺序。\n[0217] 本步骤中,调整放入已选取的热词中各词语的顺序,使其与在中心文档中出现的顺序一致,以增加展示的词的可理解性。\n[0218] 较佳地,在将选取的热词输出的步骤之前,进一步包括:\n[0219] 确定文档类选取的热词数量小于预先设置的热词数量阈值,根据预先设置的表意词词库匹配该文档类内文档,获取候选表意词;\n[0220] 根据统计的候选表意词词频过滤候选表意词;\n[0221] 计算最接近文档类重心的文档;\n[0222] 匹配候选表意词以及最接近文档类重心的文档中的表意词,将匹配的表意词放入已选取的热词中;\n[0223] 按照最接近文档类重心的文档中热词及表意词的顺序调整待输出的热词以及表意词的顺序。\n[0224] 较佳地,在将选取的热词输出的步骤之前,还进一步包括:\n[0225] 将选取的各文档类的热词进行切分,获取各文档类的切分结果,确定两文档类的切分结果满足预先设置的切分条件,过滤文档类重心较低的文档类内的热词。\n[0226] 本发明实施例中,由于不同的文档类内的热词存在描述同一热点事件的可能,为了避免重复展示热词,因此需要去除重复的文档类。具体如下:\n[0227] C11,对选取的各文档类的热词进行细粒度分词;\n[0228] 本步骤中,举例来说,如果热词为谢霆锋,则进行细粒度分词后,切分为:谢、霆锋,如果热词为北京市,则进行细粒度分词后,切分为:北京、市。\n[0229] C12,对进行细粒度分词后的热词过滤,获取各文档类的切分结果;\n[0230] 本步骤中,过滤长度为1的词,例如,谢、市,获取各文档类的切分结果。例如,对文档类i、j内的热词进行细粒度分词,分别得到细粒度切分结果Si、Sj。\n[0231] C13,确定两文档类的切分结果满足预先设置的切分条件,过滤文档类重心较低的文档类内的热词,并将过滤后的热词输出。\n[0232] 本步骤中,切分条件公式如下:\n[0233]\n[0234] 式中,\n[0235] Si为文档类i的切分结果;\n[0236] Sj为文档类j的切分结果;\n[0237] θ为切分阈值。\n[0238] 若文档类i、j满足上述公式,则认为文档类i与文档类j内的热词描述同一热点事件,删除文档类重心较低的文档类。\n[0239] 以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。
法律信息
- 2016-03-30
- 2013-08-21
实质审查的生效
IPC(主分类): G06F 17/30
专利申请号: 201210018787.5
申请日: 2012.01.20
- 2013-07-24
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2010-03-03
|
2009-10-21
| | |
2
| | 暂无 |
2003-08-29
| | |
3
| |
2008-06-11
|
2007-11-09
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |