海量文本中基于词向量表征的新词发现方法及系统与流程

文档序号:11250871阅读:562来源:国知局
海量文本中基于词向量表征的新词发现方法及系统与流程

本发明属于中文自然语言处理领域,特别涉及一种海量文本中基于词向量表征的新词发现方法及系统。



背景技术:

新词发现是中文自然语言处理研究领域一个非常重要的研究内容。由于中文不像英文等许多西方语言,词和词之间有固定的分隔符,所以分词通常作为中文信息处理任务最开始的一个必要步骤,而新词发现又与分词紧密相关。sproat和emerson指出新词的出现很大程度上影响着分词工具的分词准确性,60%的分词错误是由新词引起的。在新词任务中,对于“新词”并没有一个明确界定的概念。在中文分词领域,有新词和未登录词两种概念,未登录词是指不在当前分词工具的词典出现的词,新词则是指随时代发展出现的词,新词也属于未登录词,一般没有对新词和未登录词加以区别,本发明对此也不做区分。

目前新词识别方法主要分为有监督的方法和无监督的方法。有监督的方法主要是基于统计学习,这种方法需要大量的标注数据以及大量的特征选取工作,而获得大量的标注数据往往成本较高,特征选取需要丰富的经验;无监督的方法主要是基于规则或计算一些统计指标来进行新词发现,基于规则的方法需要制定大量的语言规则,可移植性差,而单纯的某个统计指标往往效果较差,且一些统计指标计算复杂。

随着近几年利用神经网络或深度学习训练语言模型而得到的词向量能够很好的表征词与词之间的语义关系,而一个新词如果被分词软件错误的分开,被分开的不同部分应该语义上很相似,例如‘张勇’是一个人名,但分词软件错误的分成了“张/勇/”。经过合适的神经网络模型训练,可以发现‘张’和‘勇’对应的词向量很相似。



技术实现要素:

本发明的目的是提供一种海量文本中基于词向量表征的新词发现方法及系统,以至少解决以上技术问题之一。

本发明是通过以下技术方案实现的。

本发明首先涉及一种海量文本中基于词向量表征的新词发现方法,包括:

对新词发现任务的语料进行预处理,所述预处理至少包括短句切分和分词;

对预处理后的语料进行n-gram词串挖掘,以得到该语料中的n-gram候选词串;

设置词向量,并根据n-gram候选词串中的词与词之间对应的词向量的相似性进行剪枝,得到新词。

作为一种优选的实施方式,所述对预处理后的语料进行n-gram词串挖掘以得到该语料中的n-gram候选词串的方法包括:

从预处理后的语料中查找所有出现频率大于预设频率阈值的二元词串,并记录各个二元词串的位置索引;

二元词串从其位置索引开始进行左右扩张直到达到停止条件,得到n-gram候选词串。

作为另一种优选的实施方式,所述词向量为基于外部语料训练得到,所述基于外部语料训练词向量的方法包括:

对外部语料进行分词处理;

采用神经网络训练语言模型对分词处理后的外部语料进行训练,得到词向量。

作为另一种优选的实施方式,所述根据n-gram候选词串中的词与词之间对应的词向量的距离进行剪枝的方法包括:判断n-gram候选词串中的词与词之间对应的词向量的相似性是否大于预设的相似性阈值,如果满足该条件则将这两个词作为一个新词进行保存。

本发明还涉及一种海量文本中基于词向量表征的新词发现系统,包括:

预处理模块,其被配置成对新词发现任务的语料进行预处理,所述预处理至少包括短句切分和分词;

n-gram词串挖掘模块,其被配置成对预处理后的语料进行n-gram词串挖掘,以得到该语料中的n-gram候选词串;

词向量设置模块,其被配置成设置词向量;

剪枝模块,其被配置成根据n-gram候选词串中的词与词之间对应的词向量的相似性进行剪枝,得到新词。

作为一种优选的实施方式,所述n-gram词串挖掘模块具体被配置成:

从预处理后的语料中查找所有出现频率大于预设频率阈值的二元词串,并记录各个二元词串的位置索引;

二元词串从其位置索引开始进行左右扩张直到达到停止条件,得到n-gram候选词串。

作为另一种优选的实施方式,所述词向量设置模块具体被配置成:对外部语料进行分词处理;采用神经网络训练语言模型对分词处理后的外部语料进行训练,得到词向量。

作为另一种优选的实施方式,所述剪枝模块具体被配置成:判断n-gram候选词串中的词与词之间对应的词向量的相似性是否小于预设的相似性阈值,如果满足该条件则将这两个词作为一个新词进行保存。

本发明提出的技术方案具有以下有益效果:

本发明把词向量应用到了中文的新词发现任务中,并结合传统新词发现中用的n-gram词串方法,提出了一种新的无监督的新词发现方法,本发明首先利用海量文本进行词向量训练,然后基于词向量对n-gram词串进行剪枝。实验结果表明,相较于基于互信息、邻接熵等无监督方法,本发明提出的方法具有更高的准确率,此外,由于本发明并不需要大量的人工标注数据,因此能够更加简单高效的实施。

附图说明

图1示出了根据本发明的实施例的海量文本中基于词向量表征的新词发现方法的流程图。

图2示出了根据本发明的实施例的海量文本中基于词向量表征的新词发现系统的原理框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的具体实施方式进行清楚、完整的描述。

图1示出了根据本发明的实施例的海量文本中基于词向量表征的新词发现方法的流程图。

该方法包括:步骤s1,对新词发现任务的语料进行预处理;步骤s2,对预处理后的语料进行n-gram词串挖掘,以得到该语料中的n-gram候选词串;步骤s3,设置词向量,并根据n-gram候选词串中的词与词之间对应的词向量的相似性进行剪枝,得到新词。

首先,步骤s1中,对新词发现任务的语料进行预处理。本实施例的目的为发现新词发现任务的语料中的新词,因此,所述新词发现任务的语料为本实施例的处理对象,在本实施例中,首先需要对新词发现任务的语料进行预处理,其中,预处理包括短句切分和分词,具体地,可以将新词发现任务的语料以中文句号或问号进行短句切分,然后利用分词软件进行分词,常用的分词软件包括word分词器、stanford分词器、jieba分词器等等。

接下来,步骤s2中,对预处理后的语料进行n-gram词串挖掘,以得到该语料中的n-gram候选词串。

对于步骤s2,首先介绍以下基本概念。

如果几个相邻的词在语料中经常一起出现,他们很可能是新词,这样的序列词串叫做n-gram词串,n代表序列词串中词的个数。例如有这样一句话“ceo张勇表示…”,分词后变成“ceo张勇表示…”,如果“张勇表示”出现在多个句子里,便可以找出3-gram词串{‘张’,‘勇’,‘表示’}。步骤s2的目标是找出所有的出现频率大于预设频率阈值的n-gram,同时每个n元词串中的n要尽可能大。

对于步骤s2,在一个具体地实施例中,所述对预处理后的语料进行n-gram词串挖掘的方法包括:从预处理后的语料中查找所有出现频率大于预设频率阈值的二元词串,并记录各个二元词串的位置索引;对于各个二元词串,二元词串从其位置索引开始进行左右扩张直到达到停止条件,得到n-gram候选词串,其中,所述停止条件可以为左右扩张后得到的词串频率小于预设频率阈值或者左右扩张后得到的词串为停用词。

最后,在步骤s3中,设置词向量,并根据n-gram候选词串中的词与词之间对应的词向量的相似性进行剪枝,得到新词。

对于步骤s3,设置词向量是剪枝的基础,因此需要确保在剪枝前设置词向量,关于词向量,首先介绍以下基础知识。

自然语言处理中要用机器学习的方法解决问题,首先需要把一些特征符号数学化,把词转换成词向量便是其中一种方式。词向量主要有两种,一种是one-hotrepresentation,即建立一个词库,向量的维度等于词库大小,词表示为对应维度为1;另一种是distributedrepresentation,它是采用神经网络或深度学习的方式训练语言模型时得到的词向量。distributedrepresentation词向量很好的刻画了潜在的语义关系,同时相对于one-hotrepresentation维度较低,避免了维数灾难和稀疏问题。本发明实施例采用distributedrepresentation词向量。

对于步骤s3,在另一个具体地实施例中,设置词向量的方法包括:对外部语料进行分词处理,外部语料作为训练词向量的训练语料,对于外部语料,仅需要进行分词处理;采用神经网络训练语言模型对分词处理后的外部语料进行训练,得到词向量,其中,所述神经网络训练语言模型为skip-gram或cbow模型,该步骤中,可以采用现有的训练工具进行词向量的训练,训练工具可以采用google开源词向量工具word2vec。

对于步骤s3,设置词向量后,根据n-gram候选词串中的词与词之间对应的词向量的相似性进行剪枝,在另一个具体地实施例中,所述剪枝的方法包括:判断n-gram候选词串中的词与词对应的词向量之间的相似性,根据相似性结果对n-gram候选词串进行剪枝。更具体地,度量两个词向量之间的相似性或距离的指标可以为余弦相似性、欧式距离、曼哈顿距离,其中,当选用余弦相似性指标时,扫描候选词串,如相邻的两个词对应的词向量之间的余弦相似性小于某一个阈值,就进行剪枝;如果选用的是欧式距离或曼哈顿距离,扫描候选词串,如相邻的两个词对应的词向量之间的距离相似性大于所设定的阈值,就进行剪枝。例如,对于{‘张’,‘勇’,‘表示’}这个候选词串,‘张’对应的词向量与‘勇’对应的词向量之间的余弦相似性大于预设的阈值,但‘勇’对应的词向量‘表示’对应的词向量之间的余弦相似性小于预设的阈值,因此‘张勇表示’不能作为新词,即此时需要引入剪枝,把‘表示’这个词去掉,剩下的‘张勇’作为一个新词。

表1为根据本发明的实施例的海量文本中基于词向量表征的新词发现方法与现有技术的对比实验结果。

表1对比实验结果

表1中,作为对比的方法包括互信息和左右信息熵的无监督方法,以及基于条件随机场的有监督方法,另外,采用正确率(precision)、召回率(recall)和f值(f-measure)来评价各个参评方法的性能。

如表1所示,本发明提出的基于词向量剪枝的新词发现方法明显优于其他几类方法。

图2示出了根据本发明的实施例的海量文本中基于词向量表征的新词发现系统的原理框图。

如图2所示,根据本发明的实施例的海量文本中基于词向量表征的新词发现系统包括预处理模块1、n-gram词串挖掘模块2、词向量设置模块3和剪枝模块4。

所述预处理模块被配置1成对新词发现任务的语料进行预处理,所述预处理包括短句切分和分词。

所述n-gram词串挖掘模块2被配置成对预处理后的语料进行n-gram词串挖掘,以得到该语料中的n-gram候选词串。

所述词向量设置模块3被配置成设置词向量。

所述剪枝模块4被配置成根据n-gram候选词串中的词与词之间对应的词向量的相似性进行剪枝,得到新词。

在一种实施例中,所述n-gram词串挖掘模块2具体被配置成:从预处理后的语料中查找所有出现频率大于预设频率阈值的二元词串,并记录各个二元词串的位置索引;二元词串从其位置索引开始进行左右扩张直到达到停止条件,得到n-gram候选词串,所述停止条件为左右扩张后得到的词串频率小于预设频率阈值或者左右扩张后得到的词串为停用词。

在另一种实施例中,所述词向量设置模块3具体被配置成:对外部语料进行分词处理;采用神经网络训练语言模型对分词处理后的外部语料进行训练,得到词向量。所述神经网络训练语言模型为skip-gram或cbow模型。

在另一种实施例中,所述剪枝模块4具体被配置成:判断n-gram候选词串中的词与词之间对应的词向量的相似性是否大于预设的相似性阈值,如果满足该条件则将这两个词作为一个新词进行保存。例如,对于{‘张’,‘勇’,‘表示’}这个n-gram候选词串,通过相似性判断得到‘张勇’是个新词,但‘张勇表示’不是新词,因此,通过剪枝模块进行剪枝,把‘表示’这个词去掉,剩下的‘张勇’作为一个新词进行保存。

从以上实施例可以看出,本发明实施例首先利用海量文本进行词向量训练,然后基于词向量对n-gram词串进行剪枝。实验结果表明,相较于基于互信息、邻接熵等无监督方法,本发明提出的方法具有更高的准确率,此外,由于本发明并不需要大量的人工标注数据,因此能够更加简单高效的实施。

需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

还需要说明的是,上述一系列处理不仅包括以这里所述的顺序按时间序列执行的处理,而且包括并行或分别地、而不是按时间顺序执行的处理。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过软件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

以上对本发明进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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