首页> 中国专利> 基于分布式表达词向量计算的关键词自动提取方法

基于分布式表达词向量计算的关键词自动提取方法

摘要

本发明涉及一种基于分布式表达词向量计算的关键词自动提取方法,该方法自动生成特征,更好地解决关键词自动提取,其步骤如下:步骤一,训练原始数据集的获得;步骤二,训练集和测试文本的预处理,包括:去标点、数字、停用词以及词性过滤;步骤三,得到训练集后,通过语言模型的训练将其转化为词向量表;步骤四,通过距离计算的方法,算出关键字词向量到待测试文本的距离;步骤五,由不同距离计算方法,分别得到领域关键词集所有关键词的分布式表达词向量到测试文本所有单词的分布式表达词向量的算术平均语义距离,从而进行选择和排序。该方法为关键词提取提供了新思路,可以充分利用数据集的语义信息,并显著提高了自动提取的准确性。

著录项

  • 公开/公告号CN106021272A

    专利类型发明专利

  • 公开/公告日2016-10-12

    原文格式PDF

  • 申请/专利权人 上海大学;

    申请/专利号CN201610205927.8

  • 申请日2016-04-04

  • 分类号G06F17/30(20060101);G06K9/62(20060101);

  • 代理机构上海上大专利事务所(普通合伙);

  • 代理人何文欣

  • 地址 200444 上海市宝山区上大路99号

  • 入库时间 2023-06-19 00:39:52

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-03-17

    未缴年费专利权终止 IPC(主分类):G06F16/35 专利号:ZL2016102059278 申请日:20160404 授权公告日:20191119

    专利权的终止

  • 2019-11-19

    授权

    授权

  • 2016-11-09

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20160404

    实质审查的生效

  • 2016-10-12

    公开

    公开

说明书

技术领域

本发明涉及一种基于分布式表达词向量计算的关键词自动提取的方法,属于文本挖掘(Text Mining)领域。

背景技术

信息技术的不断发展使得许多领域信息呈现爆炸式增长,大量的文本信息被电子化。诸如数字图书馆,电子论文库,E-book等电子信息资源给人们收集信息、存储信息、利用信息带来了极大的便利,已经成为现代生活必不可少的组成部分。随着电子信息的不断增加,如何从大规模文本信息中快速而准确地获取所需信息成为一个巨大的挑战。关键词提取就是一种解决上述问题的有效手段,是文本挖掘领域研究的核心技术之一,起着十分重要的作用。

目前绝大多数文本信息还尚未提供关键词。纵观已经存在的关键词提取算法,对于词组关键字以及文章中尚未出现但是仍可作为文章关键字的词语,还无法很好地找到解决方法。此外,大部分自动抽取关键词算法都需要人工预设特征,这种方法领域相关性强,适用性也较差。大数据时代的研究背景抛给研究者们开拓了一个新方向,即使用DeepLearning思想,自动的生成特征,解决关键词自动提取问题。

从对国内外研究现状的分析,目前关键词自动抽取研究技术仍然具有局限性:

(1)现有的关键词自动提取算法对一词多义、同义词冗余表达、词库更新的动态性、跨领域的内容复杂性等问题面临较多的。

(2)大部分关键词自动提取算法都是基于小规模实验样本或者单篇文档,大规模数据样本应用的关键词提取目前没有很好的解决方案,而且面临关键词信息标注不平衡问题。

(3)词组比单个词更具有概括能力,包含的信息更加丰富,对实际应用而言,关键词词组比单个词的抽取更有价值,但目前的研究关键词组的抽取效果并不好。

发明内容

本发明的目的在于针对以上问题,尝试使用训练词向量的方式将关键词自动提取工作放在词向量空间中进行,提出了一种基于分布式表达词向量计算的关键词自动提取方法。

为达到上述目的,本发明的构思是:利用深度学习工具,把每个单词表示为一个分布式表达的词向量。文本内容的处理被转化为空间向量运算,使用向量空间的相似度用来表示文本语义上的相似度。两词向量的距离越小就说明两词的语义更相近,通过文本单词和关键词集的向量计算,选取出最接近文本全部语义信息的词作为关键词。

根据上述发明构思,本发明采用下述技术方案:一种基于分布式表达词向量计算的关键词自动提取方法,其特征在于,该方法的具体操作步骤如下:

步骤一,训练原始数据集的获得;领域关键词集的建立,初始训练集的建立,测试样本集的建立;

步骤二,训练集和测试文本的预处理,包括:去标点、数字、停用词以及词性过滤;

步骤三,得到训练集后,通过语言模型的训练将其转化为词向量表;

步骤四,通过距离计算的方法,算出关键字词向量到待测试文本的距离;

步骤五,由不同距离计算方法,分别得到领域关键词集所有关键词的分布式表达词向量到测试文本所有单词的分布式表达词向量的算术平均语义距离,从而进行选择和排序。

优选地,所述的步骤一的训练原始数据集的获得的具体操作为:

步骤十一,建立领域关键词集,对于相同领域的数据,检查每条数据中的关键词字段,提取出所有出现过的关键词;并对关键词集做一定的处理:对于词组关键词,由于语言模型训练过程中每个词向量是以空格自动分割,因此将词组中每个单词间的空格用‘-’表示;将一个词组看作一个整体,而关键单词则不做处理,得到关键词集对关键词集进行统计,将关键词组占全部关键词的比例记作实验统计分析,本发明取值为0.7;将作为指导因子,用于测试文本提取关键词的过程中,提取的关键词组占整个提取关键词集的比例为

步骤十二,建立初始训练集,对于相同领域每条数据,提取此数据的摘要和关键词字段;使用三层循环:循环一扫描摘要中每个单词;循环二扫描论文关键词出现的词组;最内层循环中,有两种情况:一、若某个关键词组出现在摘要中,将中间空格用”-”代替,二、关键词组当中每个单词单独出现在摘要中时,此单词自动扩展为对应的关键词组,同样去掉中间的空格,用”-”代替;最后将本条数据处理后的摘要加上本纪录所有的关键词,加入初始训练集,一直到所有论文纪录处理结束;

步骤十三,建立测试样本集,在每个领域数据集中抽取一定数量的数据作为测试样本集;对于每条数据,提取此数据的摘要和关键词字段;论文摘要字段作为测试文本,而关键词字段作为手工标注的关键词,用于对比和检测本发明的关键字自动提取方法提取的关键词的性能。

优选地,所述的步骤二的训练集和测试文本的预处理的具体操作是首先进行词法分析,识别出文本中的数字、标点符号、特殊符号以及词语,只识别空格作为词的分隔符,将其余符号全部过滤是不可取的,单独存在的数字也需要过滤。

优选地,所述的步骤三的词向量训练的具体操作是得到训练集后,通过语言模型的训练将其转化为词向量表;

分布式表达的词向量的获得通常情况下伴随着语言模型的训练,借助于语言模型的概率参数,可以估算出训练样本中任意句子是否为有序的自然语言;训练语言模型的过程就是从大量未标注的普通文本数据中无监督地调整和优化模型参数,同时学习出词向量;

通过语言模型的训练,文本内容被转化为维数向量空间的词向量集,其中包含了单词本身及其对应的一定维数的浮点数向量;每个词向量用换行符表示结束,此词向量集将作为输入用于接下来的对于测试文本的关键词提取。

优选地,所述的步骤四的距离计算的具体操作为根据分布式表达词向量的空间特性、线性平移性以及文本自身的统计信息,使用了四种距离计算方法,分别为欧式距离、余弦距离、线性平移距离以及TF-IDF线性平移距离。

优选地,所述的步骤五的选择和排序的具体操作为由不同距离计算方法,分别得到领域关键词集所有关键词的分布式表达词向量到测试文本所有单词的分布式表达词向量的算术平均语义距离;选取语义距离最近的T个关键词作为本文关键词,T为测试文本预处理后文本中不重复词语个数的1/4;其中,根据数据集获取过程得到的关键词组比例值T个关键词的分配比例为:个词组关键词以及个关键单词,作为最终提取的关键词。

本发明的DRKE关键词自动提取方法,与现有技术相比,具有以下突出的实质性特点和显著优点:

一、本发明的DRKE关键词自动提取方法提取词组关键词的准确率,召回率和F-measure都明显优于基于TF-IDF的关键词自动提取,TextRank和RAKE算法。虽对于关键单词,算法的提取性能较低,但在实际应用中词组关键词出现的频次较高,因此整体的关键词提取性能还是比其余三种方法有较为明显的提升。

二、本发明的DRKE关键词自动提取方法可以充分利用数据集的语义信息,解决关键词组提取困难的问题,对关键词组的提取准确率与实用性和其他方法对比较优。

三、本发明的DRKE关键词自动提取方法不需要人工抽取词的特征,通过语言模型对词语特征进行表达学习,并可以利用不断增长的数据提升模型的准确性。

附图说明

图1是本发明的DRKE关键词自动提取的整体流程图;

具体实施方式

以下结合附图对本发明的优选实施例进一步详细说明。

本实施例的数据集是四个从IEEE数字图书馆获取的计算机专业不同领域的英语论文。下表列出了每个数据集的论文篇数,关键词个数以及训练后词向量单词表的单词个数。在每个数据集中抽取出50个数据作为测试样本集,其余为初始训练集,如表1所示。

表1

其中,Data Mining,Information Extraction以及Recommendation数据集的领域集中,语料较纯。

本实施例中,关键词的自动提取方法的实验使用Google的Word2vec工具进行实验,使用C语言实现程序,并在Ubuntu环境下运行。Word2vec是自然语言处理领域最具代表性的深度学习工具之一,此模型在一定程度上解决了一次多义和同义词冗余表达问题,将文档表示单词转化到向量空间计算。相较于大部分的语言模型,Word2vec做了大量的简化,去掉了词序和神经网络的隐藏层,最后变成了一个逻辑回归线性模型。此改进大大的提高了训练的效率,而且最后得到的效果也不会相差太多。应用此工具在训练出的词向量空间中进行DRKE关键词自动提取。

本实施例中使用信息检索领域常用的三个评价标准:准确率(记为P),召回率(记为R),F-measure对实验结果进行分析,三个标准的计算公式如下式(1)、式(2)、式(3):

>F-measure=2*PRP+R......(3)>

步骤一,首先从IEEE数字图书馆收集了计算机专业的不同领域相关论文数据。得到论文数据集后,抽取出其中的摘要和关键词两个字段内容,作为实验数据建立领域关键词集、初始训练集以及测试样本集。

步骤十一,建立领域关键词集,对于相同领域的数据,检查每条数据中的关键词字段,提取出所有出现过的关键词。并对关键词集做一定的处理:对于词组关键词,由于语言模型训练过程中每个词向量是以空格自动分割,因此将词组中每个单词间的空格用‘-’表示。将一个词组看作一个整体,而关键单词则不做处理,得到关键词集对关键词集进行统计,将关键词组占全部关键词的比例记作实验统计分析,本文取值为0.7。将作为指导因子,用于测试文本提取关键词的过程中,提取的关键词组占整个提取关键词集的比例为

步骤十二,建立初始训练集,对于相同领域每条数据,提取此数据的摘要和关键词字段。使用三层循环:循环一扫描摘要中每个单词;循环二扫描论文关键词出现的词组;最内层循环中,有两种情况:一、若某个关键词组出现在摘要中,将中间空格用”-”代替,二、关键词组当中每个单词单独出现在摘要中时,此单词自动扩展为对应的关键词组,同样去掉中间的空格,用”-”代替。最后将本条数据处理后的摘要加上本纪录所有的关键词,加入初始训练集,一直到所有论文纪录处理结束;

步骤十三,建立测试样本集,在每个领域数据集中抽取一定数量的数据作为测试样本集。对于每条数据,提取此数据的摘要和关键词字段。论文摘要字段作为测试文本,而关键词字段作为手工标注的关键词,用于对比和检测本发明的方法提取的关键词的性能。

步骤二,文本的预处理,包括训练集和测试文本的预处理:去标点、数字、停用词以及词性过滤,首先进行词法分析,识别出文本中的数字、标点符号、特殊符号以及词语,只识别空格作为词的分隔符,将其余符号全部过滤是不可取的,单独存在的数字也需要过滤。

一般来说,关键词都为包含多个单词的名词词组或单词,很少包含标点或者停用词。初始训练集建立完毕后,需要对其进行一些预处理,包括去标点,数字,停用词以及词性过滤。

首先进行词法分析,识别出文本中的数字、标点符号、特殊符号以及词语。在发明的操作中,只识别空格作为词的分隔符,将其余符号全部过滤是不可取的。因为其中关键词组使用“-”连接,所以在符号过滤过程中,要保留连字符,过滤掉其余符号。另外,单独存在的数字也需要过滤。文本词法分析结束后,需要对停用词进行过滤。

另外,文档中出现概率80%以上的词,由于出现得太过频繁,而且被用户广泛的用于分析和搜索任务中,大部分情况下都被认为是不提供信息或者无意义的词语,因此被大部分的信息抽取和文本分析系统排除在外。这种类型的词称作停用词,停用词包括功能词(and,the,of等虚拟词,语气助词,连词,副词)和一些其他包含最低词汇意义的词。本文使用了包含891个英文单词的停用词表,将去除标点和数字后的训练集过滤停用词。

本发明的操作使用nltk(Natural Language Toolkit)工具包的词性标注工具,对文本单词进行词性过滤,保留了所有的名词以及词组,去除了大部分的形容词,动词,副词等其它词性的词汇。nltk是一个python自然语言处理工具包,作用包括分词(tokenize),词性标注(POS),文本分类等。

综上,通过对初始的词法分析、去停用词以及词性过滤,由初始训练集得到训练集。此训练集除了连字符‘-’外,不包含任何符号,单词中间以空格分割;此外,训练集中只保留了名词,名词词组,去除了所有单独出现的数字,停用词(如‘the’,‘a’),大部分形容词和动词也被过滤(如‘booming’,‘fast’等)。

步骤三,得到训练集后,通过语言模型的训练将其转化为词向量表;分布式表达的词向量的获得通常情况下伴随着语言模型的训练,借助于语言模型的概率参数,可以估算出训练样本中任意句子是否为有序的自然语言。训练语言模型的过程就是从大量未标注的普通文本数据中无监督地调整和优化模型参数,同时学习出词向量。

为了得到词向量,需要在给定训练数据集情况下,训练得到目标模型。而模型需要满足一定的约束,即对于任意的,表示与上下文所有可能的组合的概率和为1。语言模型的训练过程分解为两部分:首先,词表中任意单词表示为词向量,由此构建了一个的矩阵,词的概率分布可以通过矩阵进行变换得到。过程中的函数是组合上下文中词向量构建一个词的条件概率分布,函数的输出为一个向量,其第i个分量表示当前词等于词表中第i个词的条件概率,函数组合并得到最终的输出结果。

语言模型形式化的描述为:给定一个字符串,其属于自然语言的概率表示为:p(w1,w2,w3,…,wt)。w1到wt表示此字符串中的各个词。常用的语言模型一般情况下存在以下推论,如下式(4):

p(w1,w2,w3…..wt)≈p(wt|w1,w2,w3……,wt-1)……(4)

语言模型都围绕此公式,调整参数,优化结果。

在自然语言处理任务中,分布式表达词向量训练比较复杂且并不唯一,质量也依赖于训练数据集、训练算法和词向量维数等因素。一般来说,词向量训练影响因素有三个,分别为:模型,数据集和训练参数。从模型角度来说,所有的词向量模型都基于分布假说,即拥有相似上下文的词,词义就相近。普遍情况下,简单的模型在小预料下表现较好,而复杂的模型在大数据集下略有优势。从数据集角度,领域内语义信息越纯训练出的词向量越好。而参数包括迭代次数,词向量维数等。

通过调整参数,选取不同的语言模型框架,以验证不同模型、参数、维数训练得到的分布式表达词向量对于不同关键词提取任务的性能。通过语言模型的训练,文本内容被转化为一定维数向量空间的词向量集,其中包含了单词本身及其对应的一定维数的浮点数向量。每个词向量用换行符表示结束,此词向量集将作为输入用于接下来的对于测试文本的关键词提取。

步骤四,对于要进行测试的文本,首先进行预处理,处理方法同训练集的预处理,将文本处理为词的集合。再根据词向量集合和相关领域关键词集得到待测试文本词向量集合和关键字词向量集合。通过距离计算的方法,算出关键字词向量到待测试文本的距离。根据词向量集合和相关领域关键词集得到待测试文本词向量集合和关键字词向量集合。通过距离计算的方法,算出关键字词向量到待测试文本的距离;

根据分布式表达词向量的空间特性、线性平移性以及文本自身的统计信息,本文使用了四种距离计算方法,分别为欧式距离、余弦距离、线性平移距离以及TF-IDF线性平移距离。其中,对于每篇测试文本text,为其文本预处理后单词集,表示文本中的单词个数;表示相关领域关键词集,为领域关键词集中关键词的个数。四种计算公式分别为:

(1)欧式距离,通常采用的距离定义,是在一定维数的向量空间中两个点之间的真实距离。距离值d越大,说明这两个点的离的越远,认为相关性越低。具体公式如下式(5):

>dk=ΣwjwΣi=1m(ki-wij)2/|w|......(5)>

在公式中,m表示词向量的维数,ki和wi分别表示对于关键词向量和文本单词向量第i维的浮点数值,wj表示中第j个单词,dk表示表示领域关键词集中的关键词k到测试文本的全部单词欧式距离的算术平均值,代表了关键词ki相对于此测试文本的语义欧式距离。

(2)余弦距离,指以原点为起始点到这两个点的向量的夹角的余弦值。从几何学的角度来,余弦值越大两个点的相关性越高。当余弦距离为1的时候,两点到原点形成的向量在一个方向上,余弦距离为-1时在反方向上,具体公式如下式(6):

>ck=ΣwjtextΣi=1m(kiwij)Σi=1mki2×Σi=1m(wij)2/|w|......(6)>

由公式可知,m表示词向量的维数,ki和wi分别表示对应关键词向量和测试文本单词向量第i维的浮点数值,wj表示中第j个单词,ck代表了领域关键词集中的关键词k到测试文本的全部单词的余弦距离的算术平均值,表示关键词ki相对于此测试文本在语义上的余弦距离。

(3)线性平移距离,根据词向量的线性平移性,首先假设关键词集中最能代表测试文本的全部语义信息的单词可以被选为测试集的关键词,具体公式如下式(7):

>Σwwvector(w)/|w|vector(text)......(7)>

公式左边得到测试文本单词集的线性算术平均值,即将中所有单词同一维数处的浮点数值分别逐一相加,最后除以以此将测试文本所有单词向量表示为文本向量vector(text)。将vector(text)和中所有关键词逐一计算余弦距离,余弦距离公式由公式3.6计算方法得到。余弦值越大的关键词说明和测试文本全部语义信息越相近,越能被选取为测试文本关键词。

(4)TF-IDF线性平移距离:此方法加入单篇文本的全文统计信息值,将文章中所有词的词向量求加权平均值(权重是单词的TF-IDF值),作为文章的语义向量,表示方法如下式(8):

>Σww(tf-idfw)vector(w)/|w|vector(text)......(8)>

公式左边得到的是测试文本单词集的TF-IDF权重的线性算术平均值,即将中所有单词同一维度处的浮点数值首先乘以此单词的TF-IDF值,然后分别逐一相加,最后除以将此值作为语义向量vector(text),将vector(text)和中所有关键词逐一计算余弦距离,找到最相似的向量作为文本关键词。

步骤五,由不同距离计算方法,分别得到领域关键词集所有关键词的分布式表达词向量到测试文本所有单词的分布式表达词向量的算术平均语义距离,从而进行选择和排序。其具体操作为由不同距离计算方法,分别得到领域关键词集所有关键词的分布式表达词向量到测试文本所有单词的分布式表达词向量的算术平均语义距离。选取语义距离最近的T个关键词作为本文关键词,T为测试文本预处理后文本中不重复词语个数的1/4;其中,根据数据集获取过程得到的关键词组比例值T个关键词的分配比例为:个词组关键词以及个关键单词,作为最终提取的关键词。

对于欧式距离计算方法,向量距离越近则得到的结果越小,将关键词集中每个关键词到测试文本全部语义向量的欧式距离di按升序排列,选择距离最小的T个关键词向量对应的关键词作为测试文本的关键词。

对于另外三种方法,由于两向量间由余弦距离方法计算,余弦值越大两向量的相关性越高,因此本文选取和测试文本向量余弦值最大的T个关键词作为测试文本提取的文本关键词。

本文将此方法和TextRank、RAKE以及基于TF-IDF的关键词提取方法进行对比。抽取50篇文本作为测试集,训练的实验数据,实验参数以及距离计算方法如下表2所示。

表2

下表为使用Computer Science数据集作为训练样本,使用三种方法进行自动关键词提取的结果比较。分别使用P,R,F-measure三个评判标准进行验证,如下表3所示:

表3

可见本发明DRKE关键词自动提取方法对于词组关键词提取的性能明显优于其他方法。同时,本实例发现,由于关键词集是由领域内大量训练样本的所有关键词得到,本发明的关键字自动提取方法能得到不存在于测试文本中,但是同样被手工标注成为关键词的候选词。

本发明的关键字自动提取方法提取词组关键词的准确率,召回率和F-measure都明显优于其他方法。虽然对于关键单词的提取性能不是很理想,但是由于在实际应用中词组关键词出现的频次较高,因此整体的关键词提取性能还是比其余三种方法有较为明显的提升。

本文结合说明书附图和具体实施例进行阐述只是用于帮助理解本发明的方法和核心思想。本发明所述的方法并不限于具体实施方式中所述的实施例,本领域技术人员依据本发明的方法和思想得出的其它实施方式,同样属于本发明的技术创新范围。本说明书内容不应理解为对本发明的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号