网络新词发现方法、装置、电子设备及存储介质与流程

文档序号:18397330发布日期:2019-08-09 23:32阅读:129来源:国知局
网络新词发现方法、装置、电子设备及存储介质与流程

本发明涉及计算机自然语言处理,尤其涉及用于网络新词发现的方法、装置、电子设备及存储介质。



背景技术:

随着互联网技术在日常生活中的普遍应用,各种新词不断涌现,如何有效识别新词对于诸如信息检索、机器翻译等中文信息处理的效果有重大影响。目前主流的新词发现方法有基于隐马尔可夫模型的新词发现方法和基于信息熵的新词发现方法。基于隐马尔可夫模型的新词发现需要大量语料进行训练,而新词往往出现在较新的预料中,重复训练模型的成本比较高。基于信息熵的新词发现算法可以避免训练过程,直接从现有文本中提炼出新词,但准确率有待提高。



技术实现要素:

本发明实施例的目的在于克服上述现有技术的缺陷,提供一种新的基于信息熵的网络新词发现方法、装置、电子设备及存储介质,能进一步提高新词发现的准确率。

上述目的是通过以下技术方案实现的:

根据本发明实施例的第一方面,提供了一种用于网络新词发现的方法,包括:从语料库中获取多个候选词并计算每个候选词的内部凝固度、内部自由度和外部自由度,以及基于每个候选词的内部凝固度、内部自由度和外部自由度来选择所述多个候选词中的一个或多个作为新词;

其中,计算每个候选词的内部自由度包括:

生成候选词的全部二分组合,每个二分组合将候选词拆分成前部分子串和后部分子串;

对于每个二分组合,计算该组合中前部分子串的右邻字信息熵和后部分子串的左邻字信息熵,取其中较小值作为该二分组合的自由度;

从全部二分组合的自由度中取最小值作为该候选词的内部自由度。

在本发明的一些实施例中,该方法还可包括定期通过从网络抓取新的语料来更新所述语料库。

在本发明的一些实施例中,所述从语料库中获取多个候选词包括:对所述语料库中的文本句子进行切词处理,获取经切词处理得到的长度属于预设长度区间的字符串;对所述长度属于预设长度区间的字符串计算其逆文档频率,选择其逆文档频率超过预设的词频阈值的字符串作为候选词。

在本发明的一些实施例中,所述预设长度区间可以为2~8个字符。

在本发明的一些实施例中,基于每个候选词的内部凝固度、内部自由度和外部自由度来选择所述多个候选词中的一个或多个作为新词包括:基于每个候选词的内部凝固度、内部自由度和外部自由度对该候选词进行评分,以及按评分从高到低对所述多个候选词进行排序,选取排序靠前的一个或多个候选词作为新词。

在本发明的一些实施例中,所述选取排序靠前的一个或多个候选词作为新词,包括:将所选取的每个候选词的内部凝固度、外部自由度和内部自由度分别与相应的设定阈值相比较,仅将其内部凝固度超过设定的内部凝固度阈值、外部自由度超过设定的外部自由度阈值、内部自由度低于设定的内部自由度阈值的候选词作为最终输出的新词。

在本发明的一些实施例中,每个候选词的评分可以等于该候选词的内部凝固度与外部自由度之和减去内部自由度。

根据本发明实施例的第二方面,还提供了一种用于网络新词发现的装置,包括候选词生成模块、指标计算模块和新词选择模块。其中候选词生成模块用于从语料库中获取多个候选词。指标计算模块用于计算每个候选词的内部凝固度、内部自由度和外部自由度。新词选择模块用于基于每个候选词的内部凝固度、内部自由度和外部自由度来选择所述多个候选词中的一个或多个作为新词。其中指标计算模块通过下面的方式来计算每个候选词的内部自由度:生成候选词的全部二分组合,每个二分组合将候选词拆分成前后两个子串;对于每个二分组合,计算该组合中前部分子串的右邻字信息熵和后部分子串的左邻字信息熵,取其中较小值作为该二分组合的自由度;从全部二分组合的自由度中取最小值作为该候选词的内部自由度。

根据本发明实施例的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被执行时实现如上述实施例第一方面所述的用于网络新词发现的方法。

根据本发明实施例的第四方面,提供了一种电子设备,包括处理器和存储器,其中存储器用于存储可执行指令;所述处理器被配置为经由执行所述可执行指令来实现如上述实施例中第一方面所述的用于网络新词发现的方法。

本发明实施例提供的技术方案可以包括以下有益效果:

在对候选词评分时,除了内部凝固度和外部自由度这两个指标之外,还引入了候选词内部自由度的指标,衡量候选词能被拆成更短的词的可能性,从而进一步提升了新词发现的准确度。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1为根据本发明一个实施例的用于网络新词发现的方法的流程示意图。

图2示出了根据本发明一个实施例的用于网络新词发现的装置的结构示意图。

具体实施方式

为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动下获得的所有其他实施例,都属于本发明保护的范围。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

现有的基于信息熵的网络新词发现方法主要包括对于网络语料库中所有句子进行切词处理得到候选子串或候选词;对于每个候选词,计算其内部凝固度和外部自由度;当某个候选词的内部凝固度和外部自由度都超过相应的预设阈值时,将该候选词确定为网络新词。其中某个候选词的内部凝固度用于衡量组成候选词中各字符作为固定搭配出现的概率。例如假设候选词xy包括两个子串x和y,则该候选词xy的内部凝固度solid(x,y)可用下面的公式来计算:solid(x,y)=min(log(p(x,y)/p(x)p(y))),其中p(x,y)表示两个子串xy这个组合在语料库中一起出现的概率,p(x)表示子串x在语料库中出现的概率,p(y)表示子串y在语料库中出现的概率。内部凝固度越高,表示该候选词作为固定词或固定词组一起出现的概率越大。

某个候选词的外部自由度用于衡量该候选词与其他词搭配的灵活程度。自由度取值越高,表示给该候选词可搭配的词或词组越多。如果一个词能够算作是新词,那么应该能灵活地出现在各种不同的搭配中,具有非常丰富的左邻接字集合和右邻接字集合。通常,候选词的外部自由度取该候选词的左邻字信息熵和右邻字信息熵中的较小值。候选词的左邻字信息熵或右邻字信息熵的计算公式为:hl或其中对数一般取2为底,n表示左邻字或右邻字的个数;pi指每个左邻字或右邻字在该候选词左侧或右侧出现的概率。以计算“中华人民共和国”的左邻字信息熵hl为例,统计语料库中该候选词“中华人民共和国”的左侧直接相邻的字符信息,假设统计结果是“我”出现10次,“天”出现3次,“北”出现1次,“冷”出现1次,那么左邻字出现的总次数=10+3+1+1=15次,其中“我”出现的概率=10/15,“天”出现的概率=3/15,“北”出现的概率=1/15,“冷”出现的概率=1/15;则“中华人民共和国”的左邻字信息熵hl=(-10/15)*log(10/15)+(-3/15)*log(3/15)+(-1/15)*log(1/15)+(-1/15)*log(1/15)。同理,“中华人民共和国”的右邻字信息熵hr使用与候选词直接相邻的右侧字符进行计算。

在得到每个候选词的内部凝固度和外部自由度之后,可以对每个候选词的内部凝固度和外部自由度进行加权求和,得到每个候选词的评分,根据评分从所有候选词中选择一个或多个候选词作为发现的新词。

通过上述的基于信息熵的网络新词发现方法可以从网络语料库中发现出现频率高并且灵活搭配程度高的词,但这些词有时可能是其中包含了新词的较长的多个词的搭配或组合,有时这些词可能是常有词但其组合在一起构成了新词。例如,以近期的互联网语料中由于流浪地球电影的热点效应为例,对于“流浪地球”这个候选词,“流浪”和“地球”这两个子串各自都有很高的内部凝固度和外部自由度,是两个比较独立的词。采用现有的基于信息熵的网络新词发现方法所得到的得分高的候选词常常是“流浪”和“地球”,而非“流浪地球”,因此仅考虑候选词的内部凝固度和外部自由度可能会遗漏某些真正的新词或识别出非真正的新词。

因此,在本发明的实施例中提供了一种新的基于信息熵的网络新词发现方法,在对候选词进行评分时除了内部凝固度和外部自由度之外,还引入了内部自由度作为指标,以进一步提高新词发现的准确率。每个候选词的内部自由度的计算过程如下:

(a)生成候选词的全部二分组合,每个二分组合实际上是将候选词拆分成前后两个子串(前部分子串和后部分子串);

(b)对于每个二分组合,计算该组合中前部分子串的右邻字信息熵和后部分子串的左邻字信息熵,取其中较小值作为该二分组合的自由度;

(c)从全部二分组合的自由度中取最小值作为该候选词的内部自由度。

仍以“中华人民共和国”这个词为例来说明内部自由度的计算过程。首先,生成“中华人民共和国”的全部二分组合,包括:{(中华,人民共和国},(中华人,民共和国),(中华人民,共和国),(中华人民共,和国)};接着对于每个二分组合,以第一组为例,计算前部分子串“中华”的右邻字信息熵和“人民共和国”的左邻字信息熵,取两者中较小的作为该二分组合的自由度;最后取全部二分组合的自由度中最小值作为“中华人民共和国”这个词的内部自由度。从上述过程可以看出,候选词的内部自由度体现了这个词能被拆成更短的词的可能性,内部自由度越小指示该候选词越不适合再拆成更小的词语。又例如对于“流浪地球”这个候选词,通过内部自由度指标可以指示其不适合再拆分为“流浪”和“地球”这两个更小的子串,从而可以真正发现“流浪地球”是互联网中新出现的词。

图1给出了根据本发明的一个实施例中用于网络新词发现的方法的流程示意图,其主要包括步骤s101)从语料库中获取多个候选词;步骤s102)计算每个候选词的内部凝固度、内部自由度和外部自由度;步骤s103)基于每个候选词的内部凝固度、内部自由度和外部自由度来选择所述多个候选词中的一个或多个作为新词。该方法的执行主体可以是服务器或用于进行新词发现的任何一个或多个计算装置及其组合。

更具体地,在步骤s101)语料库中获取多个候选词。语料库中的语料可涉及多个不同的领域,也可以涉及特定的领域,本文对此不进行限制。下面主要以新闻语料为例来进行举例说明。随着时间的推移,新闻热点也会不断改变,因此为保证新词发现的实时性,可以定期地通过诸如网络爬虫之类的工具从新闻门户网站、微博、论坛等抓取一定时间段内的信息来更新语料库。对于所抓取的信息通常会转换成文本格式后存储至语料库中。在一个实施例中,可以从语料库中任意截取字符串作为候选词。在又一个实施例中,对于语料库中的文本句子,可以按照预先设定的候选词长度范围进行切词处理,将切词处理出来的所有互不相同的字符串作为候选词。其中预设的候选词长度范围可以为2~8字符。将候选词的长度设置为不小于2字符可以确保候选词不存在单字的情况。进一步地,还可以对切词后的得到的多个字符串进行去噪处理,去除敏感词、停用词等。在一个实施例中,考虑到具有一定出现频率的词才有可能是新词,可以利用词频来对切词后的多个字符串进一步进行筛选,例如,可计算各个字符串的逆文档频率(inversedocumentfrequency,idf),idf表征了某个字符串在语料库各文档中的出现频次,idf值越高说明这个字符串在不同语言环境中出现的概率越高。因此,可对于经切词得到的长度符合上述预设的长度范围的字符串计算其逆文档频率,选择其逆文档频率超过预设的词频阈值的字符串作为候选词。这里的词频阈值可根据实际需求来进行设置或调整。

在步骤s102)对于所获取的多个候选词,计算每个候选词的内部凝固度、内部自由度和外部自由度。如上文介绍的,候选词的内部凝固度用于衡量组成候选词中各字符作为固定搭配出现的可能性大小,例如可以通过统计该候选词在语料库中出现的次数以及组成该候选词的各子串在语料库中单独出现的次数来获得。以二元词组ab为例,词a和词b单独出现的概率为p(a)和p(b),假设这两个词是独立词,则这两个词单独出现的概率为p(a)*p(b),若这两个词不是独立的,需要作为固定搭配一起出现,则这两个词同时出现的概率p(ab)会大于p(a)*p(b)。可看出,候选词的内部凝固度越高,表示该候选词作为固定词或固定词组一起出现的概率越大。

候选词的外部自由度为该候选词的左邻字信息熵和右邻字信息熵中的较小值,用于衡量该候选词与其他词搭配的灵活程度。自由度取值越高,表示给该候选词可搭配的词或词组越多。候选词的左邻字信息熵和右邻字信息熵通常可以通过统计语料库中出现在该候选词的左侧和右侧直接相邻的字符及其出现次数来计算。

候选词的内部自由度用于衡量该候选词能被拆成更短的词的可能性,内部自由度越小指示该候选词越不适合再拆成更小的词语。如上文提到的,先生成候选词的全部二分组合,接着对于每个二分组合,计算该组合中前部分子串的右邻字信息熵和后部分子串的左邻字信息熵,取其中较小值作为该二分组合的自由度,从全部二分组合的自由度中取最小值作为该候选词的内部自由度。

继续参考图1,在步骤s103)基于每个候选词的内部凝固度、内部自由度和外部自由度来选择所述多个候选词中的一个或多个作为新词。每个候选词的内部凝固度和外部自由度越高,内部自由度越小,则该候选词为新词的可能性越高。在一个实施例中,可以基于每个候选词的内部凝固度、内部自由度和外部自由度对该候选词进行评分,然后按照按评分从高到低选取前若干个候选词作为发现的新词。例如,每个候选词的评分可以是其内部凝固度与外部自由度之和再减去内部自由度。又例如,每个候选词的评分可以通过加权求和的方式来获得,即a1*(内部凝固度)+a2*(外部自由度)-a3*(内部自由度),其中各评分指标的权重系数a1、a2和a3可由用户根据实际需求来限定或调整。在又一个实施例中,选取其评分较高的前若干个候选词之后,可以进一步地将所选取的每个候选词的内部凝固度、内部自由度和外部自由度分别与预先设定的相应阈值进行比较,仅在每个候选词的内部凝固度、内部自由度和外部自由度中的每一个均满足预设条件时,才将该候选词作为新词进行推荐。例如,可以根据历史统计数据或历史经验数据设置最低内部凝固度阈值、最低外部自由度阈值、最高内部自由度阈值和最低评分阈值,这样,对于满足最低评分阈值的前若干个候选词,仅在每个候选词的内部凝固度不小于最低内部凝固度阈值,外部自由度不小于最低外部自由度阈值,内部自由度不大于最高内部自由度阈值时,将该候选词作为新词进行推荐。不同语料库可以具有不同的阈值设置,可以根据实际需求或经多次优化调整参来确定相应阈值。

前述实施例的技术方案在常用的内部凝固度和外部自由度两个评分指标之外引入了内部自由度作为候选词的评分指标,进一步提高了新词发现的准确率。

图2给出了根据本发明一个实施例的用于网络新词发现的装置的结构示意图。如图2所示,该新词发现装置200包括候选词生成模块201、指标计算模块202和新词选择模块203。尽管该框图以功能上分开的方式来描述组件,但这样的描述仅为了说明的目的。明显地,在图中描绘的组件可以任意地进行组合或被分为独立的软件、固件和/或硬件组件。而且,显然无论这样的组件是如何被组合或划分的,它们都可以在同一主机或多个主机上执行,其中多个主机可以是由一个或多个网络连接。

其中候选词生成模块201用于从语料库中获取多个候选词。在一个实施例中,该候选词生成模块201还被配置为定期通过从网络抓取新的语料来更新语料库。在又一个实施例中,该候选词生成模块201还被配置为对语料库中文本句子进行切词处理,对于经切词得到的长度属于预设长度区间的字符串计算其逆文档频率,选择其逆文档频率超过预设的词频阈值的字符串作为候选词。其中所述预设长度区间为2~8个字符。

继续参考图2,指标计算模块202用于计算每个候选词的内部凝固度、内部自由度和外部自由度。如上文介绍的,候选词的内部凝固度用于衡量组成候选词中各字符作为固定搭配出现的可能性大小,例如可以通过统计该候选词在语料库中出现的次数以及组成该候选词的各子串在语料库中单独出现的次数来获得。候选词的外部自由度为该候选词的左邻字信息熵和右邻字信息熵中的较小值,用于衡量该候选词与其他词搭配的灵活程度。候选词的左邻字信息熵和右邻字信息熵通常可以通过统计语料库中出现在该候选词的左侧和右侧直接相邻的字符及其出现次数来计算。候选词的内部自由度用于衡量该候选词能被拆成更短的词的可能性,内部自由度越小指示该候选词越不适合再拆成更小的词语。每个候选词的内部自由度可通过下面的方式来计算:1)生成候选词的全部二分组合,每个二分组合将候选词拆分成前后两个子串;2)对于每个二分组合,计算该组合中前部分子串的右邻字信息熵和后部分子串的左邻字信息熵,取其中较小值作为该二分组合的自由度;3)从全部二分组合的自由度中取最小值作为该候选词的内部自由度。

新词选择模块203用于基于每个候选词的内部凝固度、内部自由度和外部自由度来选择所述多个候选词中的一个或多个作为新词。每个候选词的内部凝固度和外部自由度越高,内部自由度越小,则该候选词为新词的可能性越高。在一个实施例中,新词选择模块203可以基于每个候选词的内部凝固度、内部自由度和外部自由度对该候选词进行评分,然后按照按评分从高到低选取前若干个候选词作为发现的新词。例如,每个候选词的评分可以是其内部凝固度与外部自由度之和再减去内部自由度。又例如,每个候选词的评分可以通过加权求和的方式来获得,即a1*(内部凝固度)+a2*(外部自由度)-a3*(内部自由度),其中各评分指标的权重系数a1、a2和a3可由用户根据实际需求来限定或调整。在又一个实施例中,新词选择模块203选取其评分较高的前若干个候选词之后,可以进一步地将所选取的每个候选词的内部凝固度、内部自由度和外部自由度分别与预先设定的相应阈值进行比较,仅在每个候选词的内部凝固度、内部自由度和外部自由度中的每一个均满足预设条件时,才将该候选词作为新词进行推荐。例如,可以根据历史统计数据或历史经验数据设置最低内部凝固度阈值、最低外部自由度阈值、最高内部自由度阈值和最低评分阈值,这样,对于满足最低评分阈值的前若干个候选词,仅在每个候选词的内部凝固度不小于最低内部凝固度阈值,外部自由度不小于最低外部自由度阈值,内部自由度不大于最高内部自由度阈值时,将该候选词作为新词进行推荐计算每个候选词的内部凝固度、内部自由度和外部自由度。

在本发明的又一个实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序或可执行指令,当所述计算机程序或可执行指令被执行时实现如前述实施例中所述的技术方案,其实现原理类似,此处不再赘述。在本发明的实施例中,计算机可读存储介质可以是任何能够存储数据且可以被计算装置读取的有形介质。计算机可读存储介质的实例包括硬盘驱动器、网络附加存储器(nas)、只读存储器、随机存取存储器、cd-rom、cd-r、cd-rw、磁带以及其它光学或非光学数据存储装置。计算机可读存储介质也可以包括分布在网络耦合计算机系统上的计算机可读介质,以便可以分布式地存储和执行计算机程序或指令。

在本发明的又一个实施例中,还提供了一种电子设备,包括处理器和存储器,其中所述存储器用于存储可由处理器执行的可执行指令,其中所述处理器被配置为执行存储器上存储的可执行指令,所述可执行指令被执行时实现前述任一实施例中介绍的技术方案,其实现原理类似,此处不再赘述。

本说明书中针对“各个实施例”、“一些实施例”、“一个实施例”、或“实施例”等的参考指代的是结合所述实施例所描述的特定特征、结构、或性质包括在至少一个实施例中。因此,短语“在各个实施例中”、“在一些实施例中”、“在一个实施例中”、或“在实施例中”等在整个说明书中各地方的出现并非必须指代相同的实施例。此外,特定特征、结构、或性质可以在一个或多个实施例中以任何合适方式组合。因此,结合一个实施例中所示出或描述的特定特征、结构或性质可以整体地或部分地与一个或多个其他实施例的特征、结构、或性质无限制地组合,只要该组合不是非逻辑性的或不能工作。

本说明书中“包括”和“具有”以及类似含义的术语表达,意图在于覆盖不排他的包含,例如包含了一系列步骤或单元的过程、方法、系统、产品或设备并不限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。“一”或“一个”也不排除多个的情况。另外,本申请附图中的各个元素仅仅为了示意说明,并非按比例绘制。

虽然本发明已经通过上述实施例进行了描述,然而本发明并非局限于这里所描述的实施例,在不脱离本发明范围的情况下还包括所做出的各种改变以及变化。

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