新词发现的方法及装置与流程

文档序号:15981708发布日期:2018-11-17 00:24阅读:183来源:国知局

本发明属于自然语言处理的舆情挖掘领域,尤其涉及一种新词发现方法及装置。

背景技术

随着社会的飞速发展,尤其是互联网的广泛使用,新词语不断地在日常生活中涌现出来。每时每刻都会有大量的社交媒体平台产生的海量话题文本,人们通过媒体获得信息,发布信息,进而汇聚了大量的舆情信息。这些舆情信息通常会产生一些新的词汇,往往背后代表着某个热点事件。尤其是在网络舆情的挖掘工作中,发现新的词汇往往会使舆情分析更加精准,搜集和整理这些新词语,是中文信息处理中的一个重要研究课题,并且在中文词语的切分中有着重要的作用。而且在中文新闻和社交媒体中存在的海量的、有丰富内容含义的文本资源,对其进行文本的新词发现与舆情挖掘研究是非常有必要的。

在舆情挖掘中,词汇作为最小语义单元,其准确性,及时性将会直接影响后续的文本处理与分析。新词发现作为中文信息处理领域的一项基础性任务,直接影响到分词等其它中文信息处理任务的性能。然而新词发现研究仍然存在一些问题:一是新词发现的效果不够理想,实际应用的时候常常需要人工干预;二是在微博等互联网语料上进行新词发现的研究比较少。在对中文文本新词发现的方面还需进有一步的的研究。三是现有的新词发现往往都需要大量的舆情文本,处理费时费力,计算成本较高。



技术实现要素:

本发明所要解决的技术问题主要是提升新词发现的准确度,降低计算成本。

为解决上述技术问题,本发明系统实施提供了一种新词发现的方法,其特征在于:所述的新词发现方法包括以下步骤:

s1、对每日舆情进行读取文本,是用crf算法进行分词处理,剔除掉非中文字符,并替换成“<end>”自定义特殊字符;

s2、计算候选词的左右信息熵和互信息,以及候选词的内部熵,按照设定条件过滤不能成词候选词,并将计算结果排序输出;

s3、遍历从每日舆情中提取出来的候选词,与总候选词集比较左右熵和互信息,选出变化较大的候选词,增加该候选词的分数。最后将计算结果进行排序输出。

进一步优化本技术方案,所述步骤s1还包括在进行文本的分词、替换非中文字符之后,按照分词顺序两两组合,并使用双数组trie树进行存储;其中树中每个节点存储的是从根节点到该节点组成的候选词,在文本中出现的次数。

进一步优化本技术方案,所述步骤s2还包括计算各个候选词的互信息,去除所述互信息在设定的阈值之外的候选词串;

计算候选词的信息熵,以及候选词左字串的右熵和候选词右字串的左熵,即候选词内部熵,剔除在所设定的阈值之外的候选词串;

对候选词的左右字串进行停用词过滤。只要候选词其中任意左右字串包含已有的停用词,则剔除该候选词。

进一步优化本技术方案,所述步骤s3还包括对当前日期选出的候选词与总候选词集比较,通过对当前日期的舆情文本所计算的候选词分数进行排序,只取一定数量的排名靠前的候选词,然后遍历当前日期的候选词与总候选词集比较互信息和左右熵,计算综合变化得分,若得分超过所设定阈值,则对这个候选词进行加分;最后对所有计算后的候选词集进行排序,取一定数量的排名靠前的候选词作为新词进行输出。

进一步优化本技术方案,所述一种用于新词发现的装置包括

预处理模块:对每日舆情进行读取文本,是用crf算法进行分词处理,剔除掉非中文字符,并替换成“<end>”自定义特殊字符;

计算模块:计算候选词的左右信息熵和互信息,以及候选词的内部熵,按照设定条件过滤不能成词候选词,并将计算结果排序输出;

选取比较模块:遍历从每日舆情中提取出来的候选词,与总候选词集比较左右熵和互信息,选出变化较大的候选词,增加该候选词的分数。最后将计算结果进行排序输出。

进一步优化本技术方案,所述预处理还包括在进行文本的分词、替换非中文字符之后,按照分词顺序两两组合,并使用双数组trie树进行存储。树中每个节点存储从根节点到该节点组成的候选词,在文本中出现的次数。

进一步优化本技术方案,所述计算模块还包括计算各个候选词的互信息,去除所述互信息在设定的阈值之外的候选词串;

计算候选词的信息熵,以及候选词左字串的右熵和候选词右字串的左熵,即候选词内部熵。去除在所设定的阈值之外的候选词串;

对候选词的左右字串进行停用词过滤。只要候选词其中任意左右字串包含已有的停用词,则剔除该候选词。

进一步优化本技术方案,所述选取比较模块还包括当前日期与以前的候选词比较包括:通过前期计算的候选词权重,进行排序,只取一定数量的排名靠前的候选词。并遍历当前日期的候选词与以前的候选词比较互信息和熵,计算综合变化得分,如果得分超过所设定阈值,则对这个候选词进行加分;

输出新词包括:对所有计算后的候选词进行排序,取一定数量的排名靠前的候选词作为新词进行输出。

与现有技术相比,本发明实施例的技术方案具有以下有益效果:

使用分词先将文本切分,然后两两组合成候选词,可以减少候选词的数量,去除较多的无意义的垃圾串。避免因为单个字两两组合的候选词较多,造成计算量过大,发现新词效果不显著的问题。

同时在计算成本上,每天产生的舆情文本从数量上说,比一次性大规模的计算要小的多,因此可以分多批使用较为耗时的crf分词方法,可以更准确有效的发现新词。

相比于现有的其他技术,在新词发现时,需要大规模语料库,在计算时候,需要很大的成本,首先计算一次占用内存会很高。语料库越大,内存占用越多,同时统计词频,搜索候选词的前后缀的计算量会增加。当计算语料库很大的时候,就会忽略掉某一段时间内出现的新词,比如说特朗普税改,在某一段时间内会比较火热,但是可能最后计算出来的分数,在大量候选词的分数中排名靠后。无法准确有效的发现这个新词。

从时间维度挖掘新词,根据新词出现时的波动,可以有效的把握新词,而且也可以从一定程度上体现某一段时间的热词。

附图说明

图1是根据本发明实施例的文本中新词发现的方法的主要步骤的示意图。

图2是根据本发明实施例的文本中新词发现的方法的具体流程示意图。

图3是根据本发明实施例的文本中新词发现的装置的主要模块的示意图。

具体实施方式

以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以主语理解,应当将它们认为仅仅是示范性。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

如图1所示,本发明实施例的文本中新词发现的方法主要包括如下步骤:

步骤s1:将每天的舆情文本使用crf算法进行分词,若不分词将会存在较多的“垃圾串”,如“的是”、“个一”、“了一”等等;且西方文字通常在词与词之间存在空格分隔,计算机对西方文字的词识别较为方便,但是中文没有任何有标志性的符号分割词组,而且计算机本身也不能区分中文的词组,所以对分好词的词组进行新词发现,可以减少左右熵和互信息的计算量,提升整体性能。因此,在本发明实施例中,对文本进行新词发现之前,首先要将每日的舆情文本使用crf算法分词。

对舆情文本进行处理之前,需要将舆情文本按照日期放在不同的文件夹下。方便后期程序对舆情文本按照日期方式进行读取和处理。

在进行crf分词后,便可利用互信息和左右熵计算新词。但是由于舆情文本中往往含有多个句子,其中也包含大量的标点符号,而标点符号对于新词的是无用的。因此,需要在计算前先将标点符号、数字等非中文数字,替换为“<end>”结束符。可以减少计算的复杂程度,从而提高处理效率。

进行预处理之后,需要使用双数组trie树进行存储,可以兼顾查询效率和空间存储。存储分为两个部分,第一部分存储两个连续的字串的结构,如“媒体→采访”、“媒体←采访”。第二部分存储这两个连续词前后的字串,如“媒体→采访→<end>”、“媒体→采访←接受”。

在进行分词和预处理之后,即可进行下一步的计算可能是新词的互信息和左右熵,最后计算成词的概率。从步骤s2开始处理。

步骤s2:计算候选词中,左字串的右熵和右字串的左熵,即候选词内部熵。然后计算候选词的互信息和左右熵。其中,候选词的内部熵和互信息是衡量候选词左右两部分字串结合紧密程度的指标。内部熵越小,互信息越高,代表候选词的左右字串同时出现在文中的次数越多,更可能成为一个词。左右熵是衡量候选词有丰富上下文的指标。左右熵越大,代表候选词越有可能出现在不同的上下文语境中,越有可能作为一个新词。

对候选词的互信息计算公式如下:

其中,x和y为候选词的左右字串。p为出现的概率,p(x,y)是xy共同出现的概率。互信息越高,则表示x和y相关性越高,则x和y越有可能组成新词。

对候选词的左右熵计算公式如下:

其中,el是候选词左侧的信息熵,x为出现在w左边所有词语数据集合,p(x|w)表示候选词w左边出现x的概率。候选词的右信息熵与左侧信息熵公式相似,如下:

其中,er是候选词右侧的信息熵,y为出现在w右边所有词语数据集合,p(y|w)表示候选词w右边出现y的概率。

候选词的内部熵公式与左右熵公式相似,这里只列举候选词右侧字串部分的左熵。如下:

其中,el_r(l)表示候选词右侧字串部分的左侧信息熵,而l表示出现在候选词右侧字串左边的所有词语数据集合。

在运行如上所述的计算时,需要剔除一部分不能构成新词的候选词,以减少不必要的计算。如:候选词词中包含停用词,或者包含“<end>”的字符串。

最后需要对各个计算量进行加和,算出总分数,计算公式如下:

其中,score是候选词的得分,el和er为候选词的左右熵,mi为候选词的互信息,el_r和er_l为候选词右字串的左熵,左字串的右熵。

完成以上步骤的计算过程后,即可对所有候选词进行排序输出,按照分数由大到小的顺序,取前100个候选词作为计算当前日期的新候选词。

步骤s3:通过选出s2计算的当前日期的候选词,与之前的候选词进行比较。计算当前日期与之前候选词的增量,包括候选词的左右熵和互信息,对于增量变化越明显,持续时间越长的候选词,总分数增加的越多,最后排序输出结果。

在完成步骤s2的计算,并输出排序后的候选词,便已经得到一些较好的候选词集。但是,对于新出现的词,仍然不能很有效的捕获。例如:对于“特朗普税改”“旅行青蛙”等,带有很明显时效的词,未能有效的输出。因此,需要对比之前的候选词集,选出在某段时间内持续出现的候选词作为新词。

在计算步骤s3时,需要对当前日期的候选词集进行遍历,若在总的候选词集中,则与总候选词集中的词进行比较。若不存在,则加入到总候选词集中。

与总候选词集比较时,需计算其各个增量,包括候选词的左右熵和互信息,以及该候选词在当前日期的排名。其计算公式如下:

其中,下标为re候选词的右熵,下标为le候选词的左熵,下标mi候选词的互信息。

字母d表示增量,new表示当天的候选词集,old表示之前的候选词集,increment为该候选词依据增量所得分数。proportion表示按该候选词的排名情况加分,具体计算方式为:候选词在当天的分数排名/当天的候选词数量。

按照如上方法计算increment分数后,会预设一个阈值,防止增量如果有微小的波动就计算。如果增量超过这个阈值,则会加入到总候选词集的分数中。其最终得分计算公式如下:

increnum为候选词的指标波动较大的次数,a是设定的增加分数的比例,increment取绝对值,即为最后计算的结果。在计算时,该公式会自动将连续时间段内,左右熵和互信息变化波动较大的候选词,按一定比例增加分数,连续次数越多,增加的分数也就越多。

至此,所有计算过程完成,最后需要对总的候选词集进行排序,选取一定比例的候选词输出即可。根据上述文本中新词发现的方法可以看出,通过将每日舆情文本通过crf算法分词,减少候选词的数量,可以降低计算的复杂程度。通过过滤非中文的字符,一方面是减小了计算量,另一方面对不可能成词的字符串过滤。通过对候选词使用双数组trie树存储,即可以提升性能,也可以减少存储空间,方面后期进行统计候选词的数量,进行计算。通过候选词的互信息和左右信息熵,以及候选词的内部熵,对于内部结合不稳定,左右信息熵较小的词,可以初步过滤掉。在计算时需要对候选词进行进一步过滤,剔除掉候选词集中包含“<end>”和停用词的候选词,以减少计算量。而内部熵也是可以衡量得到该候选词左侧字串与右侧字串稳定程度,选取前100个可能为新词的候选词。再与之前的总的候选词集进行比较,选取左右熵和互信息变化大于所设阈值的候选词,再次进行加分操作。对于多次,连续的增量的变化,增加其最后得分的比例,即候选词的左右熵和互信息连续变化次数较多的,越有可能是新词。从而能进一步的找到,在某段时间内,对于某些新出现词汇进行有效的输出。

如图3所示,本发明实施例的文本中新词发现的装置20主要包括,预处理模块201、计算模块202、选取比较模块203。

预处理模块201用于读取每日舆情文本,并使用crf进行分词,对数据进行预处理,方便后续计算和处理。计算模块202用于计算已存储好的候选词,计算内容包括候选词的左右信息熵、互信息和内部熵,其中内部熵是指候选词左侧字串的右熵,右侧字串的左熵,并过滤一些不能成词数据。选取比较模块203用于遍历从每日舆情文本中提取出来的候选词,并和总候选词集中比较,选出增量较大的候选词,进行加分。

预处理模块201还用于将文本过滤非中文字符,并替换为“<end>”特殊标记。然后使用双数组trie树进行存储,提高查询的效率和缩减存储空间。

计算模块202还用于将候选词中包含“<end>”和词典中收录停用词的过滤。并对选出的候选词分数进行排序输出。

选取比较模块203还用于遍历从每日舆情文本中提取出来的候选词,将这些候选词与总候选词集比较。若该候选词存在于总候选词集中,则选出左右信息熵和互信息变化较大候选词,做加分操作,且该候选词连续的,多次的有较大的变化,则加分的比例越大。若该候选词不存在于总候选词集中,则直接加入到总候选词集中。最后排序输出总候选词集中分数较大的候选词作为新词。

根据上述文本中新词发现的方法可以看出,通过将每日舆情文本通过crf算法分词,减少候选词的数量,可以降低计算的复杂程度。通过过滤非中文的字符,一方面是减小了计算量,另一方面对不可能成词的字符串过滤。通过对候选词使用双数组trie树存储,即可以提升性能,也可以减少存储空间,方面后期进行统计候选词的数量,进行计算。通过候选词的互信息和左右信息熵,以及候选词的内部熵,对于内部结合不稳定,左右信息熵较小的词,可以初步过滤掉。在计算时需要对候选词进行进一步过滤,剔除掉候选词集中包含“<end>”和停用词的候选词,以减少计算量。而内部熵也是可以衡量得到该候选词左侧字串与右侧字串稳定程度,选取前100个可能为新词的候选词。再与之前的总的候选词集进行比较,选取左右熵和互信息变化大于所设阈值的候选词,再次进行加分操作。对于多次,连续的增量的变化,增加其最后得分的比例,即候选词的左右熵和互信息连续变化次数较多的,越有可能是新词。从而能进一步的找到,在某段时间内,对于某些新出现词汇进行有效的输出

上述具体实施方式,并不构成本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所做的修改、等同替换和改进等,均应包含在本发明保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1