基于海量微博文本和用户信息的网络新词自动提取的方法

文档序号:10594180阅读:502来源:国知局
基于海量微博文本和用户信息的网络新词自动提取的方法
【专利摘要】本发明提出一种基于海量微博文本和用户信息的网络新词自动提取的方法,包括:获取微博文本及微博对应的作者标识符;建立新词列表;根据汉语分析工具对微博文本进行分词操作,得到分割词段,分别统计各个分割词段基于文本和用户两个维度的词频信息;将新词列表中词语频次小于第一频次阈值的词语从新词列表中删除;统计微博数据中所有的二元组和三元组,并将其作为候选新词;计算候选新词的关联性的得分;将候选新词中词语频次大于第二频次阈值且关联性得分大于得分阈值的词语添加至新词列表:迭代执行以上过程,直至没有新的候选新词产生且新词列表中没有候选新词被删除。本发明能够自动提取网络新词,具有较高的准确性和较低的时间和空间复杂度。
【专利说明】
基于海量微博文本和用户信息的网络新词自动提取的方法
技术领域
[0001] 本发明设及网络数据挖掘技术领域,特别设及一种基于海量微博文本和用户信息 的网络新词自动提取的方法。
【背景技术】
[0002] 新词发现是中文自然语言处理研究领域的一个重要部分。新词指不存在于传统词 典中的词。而在互联网中,特别是在社交网络中,新词更是不断地涌现。社交网络用户出于 想表达强烈的情感,或是表现个人感情色彩,或是使自己发布的社交网络文本更有趣有活 力等原因,会频繁地使用网络新词。运些新词可能是由一些较长词语或句子缩写构成,也可 能是传统词的谐音词,甚至可能是完全和传统词语不相关的词语。如今社交网络是互联网 重要的组成部分之一,对社交网络媒体数据的分析也是众多数据挖掘方向的专家和学者研 究的热点领域。一方面,社交媒体数据更新非常快,因此可W研究的数据量也十分丰富;另 一方面由于社交网络的用户非常活跃,更倾向于使用一些不同于传统文本语法规则的新型 用语,运也导致了社交网络中新词的大量涌现,给传统的文本分析技术带来了很大的挑战。
[0003] 不同于英文等语言有天然的空格字符将词与词隔开,中文的文本是由中文字符序 列组成的,而且搭载中文文本语义的单元往往是词语而不是单个字符。运些中文词语都具 有自己特定的语义和词性。因此大部分的中文自然语言处理任务的第一步就是将中文文本 分割成由不同的词语组成的"词段",运一步骤称为"分词"。分词操作在很大程度上依赖于 分词所使用的词典。据统计60% W上的分词错误都是由于不能正确划分新词导致的,运是 因为新词不存在于分词工具的词典中,导致了分词工具无法正确的识别运些新词。
[0004] 传统的新词检测方法,主要有W下几种方式:将新词检测嵌入与分词任务中、基于 复杂的语言学规则和知识、将词检测转化为分类问题W及统计学方法。传统的方法不仅难 W达到较高的准确率,并且往往由于算法中产生大量候选新词导致其时间或者空间的复杂 度较高。

【发明内容】

[0005] 本发明旨在至少解决上述技术问题之一。
[0006] 为此,本发明的目的在于提出一种基于海量微博文本和用户信息的网络新词自动 提取的方法,该方法在微博文本的基础上,综合考虑了用户信息,同时建立了一种迭代计算 算法来自动提取网络新词,产生的结果具有较高的准确性和较低的时间和空间复杂度。
[0007] 为了实现上述目的,本发明的实施例公开了一种基于海量微博文本和用户信息的 网络新词自动提取的方法,包括W下步骤:Sl:获取微博数据,其中,微博数据包括微博文本 及微博对应的作者标识符;S2:建立新词列表,其中,新词列表初始化为空集;S3:将新词列 表加入预设的汉语分析工具中,并根据汉语分析工具对微博文本进行分词操作,W将微博 文本映射成分割词段的集合,并分别统计各个分割词段基于文本和用户两个维度的词频信 息;S4:根据得到的词频信息更新所述新词列表中对应词语的词频信息,并将词语频次小于 第一频次阔值的词语从新词列表中删除;S5:将分词操作中n个连续出现的分割词段定义为 n元组,统计微博数据中所有的二元组和=元组,并将二元组和=元组作为候选新词;S6:根 据候选新词在文本和用户两个维度的分布,统计候选新词基于文本和用户两个维度的词频 信息,并计算候选新词的关联性的得分;S7:将候选新词中词语频次大于第二频次阔值且关 联性得分大于得分阔值的词语添加至新词列表;W及S8:迭代执行S2至S7,直至微博数据中 没有新的候选新词产生且新词列表中没有候选新词被删除。
[0008] 根据本发明实施例的基于海量微博文本和用户信息的网络新词自动提取的方法, 利用微博数据的特点,在微博文本的基础上,综合考虑了用户信息,同时建立了一种迭代计 算算法来自动提取网络新词;并且相对于传统方法的结果,该方法产生的结果具有较高的 准确性和较低的时间和空间复杂度,在社交媒体数据的挖掘和分析中具有重要的应用。
[0009] 另外,根据本发明上述实施例的基于海量微博文本和用户信息的网络新词自动提 取的方法还可W具有如下附加的技术特征:
[0010]在一些示例中,在所述S4中,在微博文本的基础上,根据微博数据的用户信息进行 新词自动提取。
[0011] 在一些示例中,其中,在所述S8中,通过迭代计算算法迭代式地合并分词结果中的 分割词段,其中,在每次迭代过程中仅需查找微博数据中的二元组和=元组。
[0012] 在一些示例中,在所述S8中,还包括:在每次迭代完成后,将发现的新词加入新词 列表,并将新词列表作为预设汉语分析工具的用户自定义词典,W在下一次分词操作中,将 上一次迭代过程中发现的新词正确地划分。
[0013] 在一些示例中,所述S6进一步包括:基于强化互信息EMI理论,计算每个词语基于 文本频次的EMI得分,具体为:
[0014]
[001引其中,iVwn和W俾分别表示词语W"和Wf的基于微博文本的频次,T是微博的总数 目,n是n元组中的参数n,n = 2或3;
[0016] 根据词语在用户之间的分布信息计算用户之间的EMI得分,具体为:
[0017]
[001引其中,和分别表示词语和昧f的基于用户使用的频次,Tu是用户的总数 目,n是n元组中的参数n,n = 2或3;
[0019] 根据基于文本频次的EMI得分和用户之间的EMI得分得到候选新词的关联性得分, 具体为:
[0020] ascore(w") =EMI (w")+usrEMI (w"),
[0021] 其中,ascore(wn)为候选新词w"的关联性得分。
[0022] 在一些示例中,在所述Sl中,通过网络爬虫技术获取所述微博数据。
[0023] 本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变 得明显,或通过本发明的实践了解到。
【附图说明】
[0024] 本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得 明显和容易理解,其中:
[0025] 图1是根据本发明实施例的基于海量微博文本和用户信息的网络新词自动提取的 方法的流程图;W及
[0026] 图2是根据本发明一个实施例的基于海量微博文本和用户信息的网络新词自动提 取的方法的整体流程图。
【具体实施方式】
[0027] 下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同 或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描 述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[002引在本发明的描述中,需要理解的是,术语"中屯、"、"纵向横向上"、"下"、 "前"、"后V'左'、"右V'竖曹'、"水甲V'顶'、"底V'胖V'外"等指示的方位或位置关系为 基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗 示所指的装置或元件必须具有特定的方位、W特定的方位构造和操作,因此不能理解为对 本发明的限制。此外,术语"第一"、"第二"仅用于描述目的,而不能理解为指示或暗示相对 重要性。
[0029] 在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语"安装"、"相 连"、"连接"应做广义理解,例如,可W是固定连接,也可W是可拆卸连接,或一体地连接;可 W是机械连接,也可W是电连接;可W是直接相连,也可W通过中间媒介间接相连,可W是 两个元件内部的连通。对于本领域的普通技术人员而言,可W具体情况理解上述术语在本 发明中的具体含义。
[0030] W下结合附图描述根据本发明实施例的基于海量微博文本和用户信息的网络新 词自动提取的方法。
[0031] 图1是根据本发明实施例的基于海量微博文本和用户信息的网络新词自动提取的 方法。图2是根据本发明一个实施例的基于海量微博文本和用户信息的网络新词自动提取 的方法的整体流程图。结合图1和图2所示,根据本发明实施例的基于海量微博文本和用户 信息的网络新词自动提取的方法,包括W下步骤:
[0032] 步骤SI:获取微博数据,其中,微博数据包括微博文本内容及每条微博对应的作者 标识符。在一些示例中,例如通过网络爬虫技术获取大量微博数据。例如,得到微博数据集 合为D,其中每一项包括微博文本化W及对应的用户标识符符Si。
[0033] 步骤S2:建立新词列表,例如记作W,其中,新词列表初始化为空集,即新词列表W初 始为至集。
[0034] 步骤S3:将新词列表作为用户自定义词典加入预设的汉语分析工具中,并根据汉 语分析工具对微博数据集合D中的各个微博文本化进行分词操作,W将微博文本化映射成分 割词段的集合,并分别统计各个分割词段基于文本和用户两个维度的词频信息。换言之,即 将得到的每一个分割词段作为一个基本单元,记为Wi,分别统计各个基本单元Wi基于微博文 本和用户信息两个维度的词语频次信息,例如分别记为诉和nf。
[0035] 步骤S4:根据步骤S3中得到的词频信息更新新词列表中对应词语的词频信息并将 词语频次小于第一频次阔值的词语从新词列表W中删除。
[0036] 其中,在步骤S4中,在微博文本的基础上,综合利用了微博数据的用户信息进行新 词自动提取,不同于传统方法只考虑新词基于文本内容的分布,该方法根据微博数据的特 点,综合考虑了网络新词在文本和用户两个维度的分布信息。
[0037] 步骤S5:在分词操作得到的分割词段中,将出现的每个单独的分割词段作为一个 基本单元,将n个连续出现的分割词段定义为n元组,据此统计微博数据中出现的所有的二 元组和=元组,并将二元组和=元组作为候选新词。
[0038] 步骤S6:根据候选新词在文本和用户两个维度的分布,统计候选新词基于文本和 用户两个维度的词频信息,并计算候选新词的关联性得分。
[0039] 在一些示例中,该步骤具体包括:
[0040] 首先,基于强化互信息EMI理论,计算每个词语基于文本频次的EMI得分,具体为:
[0041]
[0042] 其中,和Wwf:分别表示词语W"和邮的基于微博文本的频次,T是微博的总数 目,n是n元组中的参数n,n = 2或3;
[0043] 其次,根据词语在用户之间的分布信息计算用户之间的EMI得分,具体为:
[0044]
[0045] 其中,和W苗分别表示词语和Wf的基于用户使用的频次,Tu是用户的总数 目,n是n元组中的参数n,n = 2或3;
[0046] 最后,根据基于文本频次的EMI得分和用户之间的EMI得分得到候选新词的关联性 得分,具体为:
[0047] ascore(w") =EMI (w")+usrEMI (w"),
[004引其中,ascore(wn)为候选新词的关联性得分。
[0049] 步骤S7:将候选新词中词语频次大于第二频次阔值且关联性得分大于得分阔值的 词语添加至新词列表。
[0050] 步骤S8:迭代执行步骤S2至步骤S7,直至微博数据中没有新的候选新词产生且新 词列表中没有候选新词被删除。也就是说,在该步骤中,建立了一种迭代计算算法,从而可 W迭代式地合并分词结果中的分割词段。运样在每次迭代过程中只需要找到低阶的n元组 (例如二元组和=元组)即可,而传统方法为了发现比较长的新词需要找到高阶的n元组,因 此候选词的数量随着n的增大呈指数增长。因此本发明实施例的方法相对于传统方法,用迭 代的计算算法取代了传统方法中的直接计算算法,极大减小了方法的空间和时间复杂度。
[0051] 进一步地,在步骤S8中,在每次迭代完成后,将发现的新词加入新词列表,并将新 词列表作为预设汉语分析工具的用户自定义词典,W在下一次分词操作中,将上一次迭代 过程中发现的新词正确地划分,从而可W不断优化分词结果。并且优化后的分词结果进而 可W提高候选新词的质量。
[0052] 综上,根据本发明实施例的基于海量微博文本和用户信息的网络新词自动提取的 方法,利用微博数据的特点,在微博文本的基础上,综合考虑了用户信息,同时建立了一种 迭代计算算法来自动提取网络新词;并且相对于传统方法的结果,该方法产生的结果具有 较高的准确性和较低的时间和空间复杂度,在社交媒体数据的挖掘和分析中具有重要的应 用。
[0053] 为了便于更好地理解本发明,W下W新浪微博数据为例,结合具体的实施例来对 本发明上述实施例的基于海量微博文本和用户信息的网络新词自动提取的方法做进一步 详细地描述。
[0054] 在本实施例中,该方法例如包括W下步骤:
[0055] 步骤1:利用新浪微博对应的API(新浪微博提供的应用程序编程接口)爬取大量新 浪微博用户发布的微博数据,包括所有微博文本及对应用户的标识符符(用户名或者用户 ID等能唯一表征用户的属性),数据集合记为D,其中每一项包括微博文本内容DiW及用户 标识符符Si;即D=K化,Si) Ii = I,2,3-'},为后续的新词检测任务做数据准备。
[0056] 步骤2:定义一个新词列表W,初始化新词列表W为空集。该方法会对W持续更新,W最 终的内容就是整个方法的输出结果,即提取到的网络新词。
[0057] 步骤3:将新词列表W作为汉语分析工具的用户自定义词典,并利用该汉语分析工 具对微博数据集合D中的各个文本内容Di进行分词操作,从而得到每个微博的分割词段的 集合,记为W,W= Iwi I i = 1,2,},Wi为各个分割词段。新词列表W不断地更新使得新发现的 网络新词可W不断优化分词结果。
[0058] 步骤4:根据步骤3中得到的分词结果中的分割词段,统计各个词段的词频信息。对 于每一个分割词段Wi,分别统计其在微博文本和用户两个维度的词频信息。具体为:对于每 一个词段Wi,在微博文本内容运个维度上,统计有多少篇微博含有词段Wi,结果记为nf; W及 基于用户使用信息的维度上,统计有多少个用户使用了词段Wi,结果记为雌。因此,此步骤 最终完成了从微博文本内容W及用户使用信息到词段频次表的映射。最终,将得到的词段 频次表记为G:
[0059] 步骤5:在统计得到各个分割词段的频次信息之后,利用该信息对新词列表W进行 更新。对于新词列表W中每一个词,根据词段频次表G中的信息,将对应的微博文本内容词频 nf小于第一频次阔值的词语从W中滤除。而之所W在每一次分词之后对W中的词进行词频统 计,之后再进行滤除操作,是因为将新词列表W作为汉语分析工具的用户自定义词典加入了 分词操作当中,可W让分词工具根据W中的各个词语找到对微博文本更加合适的划分,从而 优化分词结果,并且可W根据优化后的分词结果再滤除之前发现的错误的新词。
[0060] 步骤6:利用分割词段找到海量微博文本中所有的二元组和=元组。二元组由在微 博文本内容中相邻的两个分割词段Wi组成,记为W2 = W1W2,而=元组为在微博文本内容中相 邻的立个分割词段Wi组成,记为W3 = W1W2W3,将二元组和立元组统一记为W%运些二元组和= 元组即构成了候选新词。
[0061] 步骤7:对于每一个候选新词w%利用与之前统计词段频次表相同的方法,分别基 于其所在文本内容和对应用户信息两个维度,统计其词频信息,结果记为F,
。其中,得到的结果F为包含所有可能候选新词的集合。进一步 地,基于统计学习的方法,根据其文本词频信息和用户使用情况计算F中的每一个词是否是 新词。首先基于强化互信息EMI理论,计算每个词语基于文本频次的EMI得分,公式如下:
[0062]
[0063] 其中,Wwn和Wwf分别代表词语W"和Wf的基于微博文本的频次,T是微博的总数 目,n是n元组中的参数n(n = 2或3)。词语W"的EMI得到越高,表示组成运个词语W"的各个分割 词段有更强的关联性,则运个词语W"越有可能是网络新词。
[0064] 然后,利用词语在用户之间的分布信息计算用户之间的EMI得分,公式如下:
[00 化]
[0066] 其中,分别代表词语W"和 < 的基于用户使用的频次,Tu是用户的总数 目,n是n元组中的参数n(n = 2或3)。词语W"的用户EMI得到越高,表示运个词语W"可能被更多 的用户所使用,并且在不同用户之间有更强的关联性,则运个词语W"越有可能是流行的网 络新词。
[0067] 最后,将候选新词W"的关联性得分ascore定义为:
[0068] ascore(w")=EMI(w")+usrEMI(w"),
[0069] 其中,对于一个候选新词W%其关联性得分越高,说明组成运个词语的各个分割词 段在微博文本和用户使用两个维度上有更强的关联性。同时由于该词语W"没有被分词工具 正确地检测到,因此W"很可能就是从微博中发现的用户自定义的流行词汇,即网络新词。
[0070] 根据先验知识,"新词"是大家能接受的新出现的、有一定语义的、并且不存在于传 统词典里的词,因此新词一定是被很多不同用户广泛使用的。词语的频次信息和其关联性 得分可W很好的反映上述指标,因此如果词语W"的关联性得分大于关联性得分阔值,并且 词语W"的频次也大于频次阔值,则将词语W"加入候选新词列表W。
[0071] W上步骤7是该方法的一次迭代,不断重复W上步骤,直到某一次迭代最终没有产 生新的词语加入新词列表W,并且也没有新词列表中的词语被删除,则终止迭代过程,此时 的新词列表W中的每一项均为本发明的方法提取的网络新词。
[0072] 综上,在本实施例中该方法具有如下特点:利用了微博用户维度上的词语分布信 息。相对于传统的方法,该方法利用统计学方法,基于强化互信息(EMI)理论,不仅对新词在 文本内容维度上的分布做了分析,同时利用微博运个网络信息载体的特性,分析了新词在 不同用户之间的使用分布情况,运一点可W较明显地提升该方法发现的新词的准确率。另 夕h本方法建立了一种迭代计算算法进行新词自动提取步骤,而不同于传统方法直接进行 计算。首先,运一点能有效地降低该方法的时间和空间复杂度。原始的基于EMI的新词检测 算法中,为了一次找到所有的新词,需要找到高阶的n元组,即找到文本中任意不大于n的连 续分割词段的组合。然而随着n的增大,候选词的数量呈现指数增长,对内存和时间的消耗 也急剧增大。而该方法采用迭代的方式,可W在每次迭代过程中只使用二元组和=元组,之 后通过多次的合并操作来发现更长的词语组合,因此该方法能有效降低对内存的需求,具 有较低的时间和空间复杂度。另一方面,在每一次迭代的步骤中,可W产生识别到的候选新 词,该方法利用该候选新词优化下一次的分词操作,进而利用优化后的分词结果滤除之前 发现的新词集合中不合格的项,运一点可W进一步提升该方法发现的新词的准确率。
[0073] 在本说明书的描述中,参考术语"一个实施例"、"一些实施例"、"示例"、"具体示 例"、或"一些示例"等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特 点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不 一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可W在任何 的一个或多个实施例或示例中W合适的方式结合。
[0074] 尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可W理解:在不 脱离本发明的原理和宗旨的情况下可W对运些实施例进行多种变化、修改、替换和变型,本 发明的范围由权利要求及其等同限定。
【主权项】
1. 一种基于海量微博文本和用户信息的网络新词自动提取的方法,其特征在于,包括 以下步骤: S1:获取微博数据,其中,所述微博数据包括微博文本及微博对应的作者标识符; S2:建立新词列表,其中,所述新词列表初始化为空集; S3:将所述新词列表加入预设的汉语分析工具中,并根据所述汉语分析工具对所述微 博文本进行分词操作,以将所述微博文本映射成分割词段的集合,并分别统计各个分割词 段基于文本和用户两个维度的词频信息; S4:根据得到的词频信息更新所述新词列表中对应词语的词频信息,并将词语频次小 于第一频次阈值的词语从所述新词列表中删除; S5:将分词操作中η个连续出现的分割词段定义为η元组,统计微博数据中所有的二元 组和三元组,并将所述二元组和三元组作为候选新词; S6:根据所述候选新词在文本和用户两个维度的分布,统计所述候选新词基于文本和 用户两个维度的词频信息,并计算所述候选新词的关联性得分; S7:将所述候选新词中词语频次大于第二频次阈值且关联性得分大于得分阈值的词语 添加至所述新词列表;以及 S8:迭代执行所述S2至S7,直至所述微博数据中没有新的候选新词产生且所述新词列 表中没有候选新词被删除。2. 根据权利要求1所述的基于海量微博文本和用户信息的网络新词自动提取的方法, 其特征在于,在所述S4中,在所述微博文本的基础上,根据微博数据的用户信息进行新词自 动提取。3. 根据权利要求1所述的基于海量微博文本和用户信息的网络新词自动提取的方法, 其特征在于,其中,在所述S8中,通过迭代计算算法迭代式地合并分词结果中的分割词段, 其中,在每次迭代过程中仅需查找微博数据中的二元组和三元组。4. 根据权利要求3所述的基于海量微博文本和用户信息的网络新词自动提取的方法, 其特征在于,在所述S8中,还包括: 在每次迭代完成后,将发现的新词加入所述新词列表,并将所述新词列表作为预设汉 语分析工具的用户自定义词典,以在下一次分词操作中,将上一次迭代过程中发现的新词 正确地划分。5. 根据权利要求1所述的基于海量微博文本和用户信息的网络新词自动提取的方法, 其特征在于,所述S6进一步包括: 基于强化互信息ΕΜΙ理论,计算每个词语基于文本频次的ΕΜΙ得分,具体为:其中JVwn和分别表示词语wn和的基于微博文本的频次,τ是微博的总数目, 11是11 元组中的参数η,η = 2或3; 根据词语在用户之间的分布信息计算用户之间的EMI得分,具体为:其中,和<;[η分别表示词语#和Wf的基于用户使用的频次,Tu是用户的总数目,!!是 η元组中的参数η,η = 2或3; 根据所述基于文本频次的EMI得分和用户之间的EMI得分得到候选新词的关联性得分, 具体为: ascore(wn) =EMI(wn)+usrEMI(wn), 其中,ascore (wn)为候选新词wn的关联性得分。
【文档编号】G06F17/30GK105956158SQ201610324541
【公开日】2016年9月21日
【申请日】2016年5月17日
【发明人】黄永峰, 吴方照, 刘佳伟, 袁志刚, 吴思行
【申请人】清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1