一种基于超图随机游走的文档关键词抽取方法

文档序号:28964132发布日期:2022-02-19 13:58阅读:334来源:国知局
一种基于超图随机游走的文档关键词抽取方法

1.本发明属于信息技术领域,尤其是自然语言处理信息抽取领域,涉及一种基于超图随机游走的文档关键词抽取方法。


背景技术:

2.随着信息化、数字化时代的到来,文本数据层出不穷,文本挖掘成为备受关注的重要研究领域,如何从海量文本资料中高效了解文档信息的关键内容尤为重要。自动关键词抽取旨在自动从文档中选择重要的主题性词或短语,其研究成果可广泛用于文档检索、文本摘要、推荐系统等下游应用领域。
3.关键词抽取算法按照是否需要标注语料可以分为有监督算法和无监督算法两大类。其中有监督算法聚焦于任务的重定义和特征的设计,将关键词抽取任务转换为二分类或者序列标注问题,并设计各种文本特征,最后采用朴素贝叶斯、支持向量机、条件随机场或深度神经网络等有监督算法训练模型。而无监督算法通常采用各种评分指标对候选关键词进行排序,然后选取排名最高的几个作为关键词,基于网络图的方法是无监督关键词抽取算法中最重要的一类方法。这类方法不需要对文本进行复杂的自然语言预处理,通常仅需要分词和词性标注,对语言分析工具依赖程度低,具有良好的跨领域和跨语言适用性。
4.基于复杂网络设计无监督关键词抽取算法,可以充分利用海量文本中的上下文语义信息以及语义关系设计短语相似度度量等相关指标,利用复杂网络对文档建模,融合语义关联和语料库统计学特征构建边权计算方法,优化最终关键词排名结果。
5.无监督基于普通图模型的关键词抽取首先要构建文档的词语网络图,然后利用系统科学的网络中心性分析方法对文档进行网络图分析,这种方法的核心思想是用节点的显著性表示节点在文档中的重要性,以不破坏网络的整体性为基础,确定节点的重要性,在图上寻找到的具有重要作用的词或者短语,就是文档的关键词。此方法是从网络的局部属性和全局属性角度去定量分析网络结构的拓扑性质。语言网络图中,都是以预处理过后的词作为节点,词与词之间的关系作为边,边与边之间的权重一般用词之间的语义相关性来表示。在使用语言网络图获得关键词的时候,需要评估各个节点的重要性,然后根据重要性对节点进行排序,选取重要性最高的前n个节点所代表的词作为关键词。
6.目前基于词图的关键词抽取方法所建立的图模型皆为普通图。这种构图方法只考虑了词与词之间的二元关系,而基于滑动窗口的节点连边构造法,忽略了句子内部词之间的完整关系,同时忽略了文档本身所携带的主题语义关系,不能很好的融入上下文的主旨关系。


技术实现要素:

7.本发明的目的在于针对现有技术的不足,提供一种基于超图随机游走的文档关键词抽取方法,提高关键词抽取的准确性,并挖掘出能正确反映文档主题的关键词,同时避免大规模人工语料标注工作,降低信息抽取成本,提高信息抽取效率,实现了高效、准确的提
取文档关键词。
8.本发明方法具体如下:
9.(1)文本数据收集和数据预处理:在各大网站上采集文本数据,然后对采集到的文本数据进行清洗、分词、词性标注、去除停用词操作。具体是:
10.(1-1)文本数据采集,获取待分析文档:在不对获取文档的格式、主题进行限定下,通过数据挖掘技术合法获取多个来源的文本数据;
11.(1-2)文本数据清洗:对输入的数据进行噪音去除,再将文本数据的格式进行统一并保存;首先去除文本数据中多余的空格和特殊符号,然后将所有的数字用《digit》代替;再将英文字母统一为大写字母或者小写字母,将文本数据重新编码为utf-8;最后将文本数据转换成统一的格式,进行格式化保存;
12.(1-3)分词操作:将文本数据中连续的字序列按照规范重新组合成词序列,使用支持多语言的stanford corenlp工具包对输入的文本数据进行分词;
13.(1-4)词性标注:在给定句子中根据含义和上下文内容判定每个词的语法范畴,确定其词性并加以标注;对中文和英文文本分别采用jieba和stanford corenlp进行词性标注,中文词性标记采用和ictclas兼容的标签体系,英文词性标记采用penn treebank词性标签体系;
14.(1-5)去除停用词:根据停用词表删除分词结果中的停用词。
15.(2)提取候选关键词,得到候选关键词集合:将预处理后的文本分别采用命名实体识别、名词短语块抽取、最长序列匹配,得到三个集合,然后取三个集合的并集作为候选关键词集合。具体是:
16.(2-1)命名实体识别:提取文本数据中的所有实体,识别其中的命名实体,得到命名实体集合;
17.(2-2)名词短语块抽取:首先将一段文本数据分割成几段小段文本数据,得到组块集,然后对每个组块集进行组块分析,得到名词短语,获得短语块集合;
18.(2-3)最长序列匹配:使用n-gram滑动窗口取词,将文本数据中的内容按照大小为n的滑动窗口进行选词操作,形成了长度是n的文本片段序列gram,并且对提取出来的文本片段序列gram进行过滤,形成关键词集合。
19.(3)构建加权的超图节点,构建加权的超图边,利用随机游走计算候选关键词的重要性得分。具体是:
20.(3-1)构建加权的超图节点:在预处理后的文本数据中,选择词性为名词、形容词、动词的单词作为超图节点,每个单词只作为一个超图节点,如果重复的单词的词性不同,则保留词性出现频率高的单词;
21.文档集合表示为d={d1,d2,

,dn},其中dn表示文档集合中第n篇输入文档,n=1,2,

,n,n为文档集合d中文档的数量,dn={v
n,1
,v
n,2
,

,v
n,m
},v
n,m
为dn中第m个单词,m=1,2,

,m,m为词袋dn中单词数量;
22.dn′
为dn对应的由不同的单词v
n,k
所组成的词袋,dn′
={v
n,1
,v
n,2
,

,v
n,k
},v
n,k
即为dn′
中第k个节点,k=1,2,

,k,k为词袋dn′
中节点数量;
23.对dn′
中节点v
n,k
计算tf-idf值和位置信息得分得到该节点的初始权重
24.(3-2)构建加权的超图边:计算词汇超图中每个节点的转移概率,节点vi到达节点vj之间的转移概率w
i,j
为节点vi和节点vj共同隶属的所有超边度的和减1的值,wi为节点vi能到达的所有节点共同隶属的所有超边度的和减1的值;转移概率t
i,j
即为超边权重;
25.(3-3)节点和超边构成了词汇超图hgn(vn,en),vn表示词汇超图hgn中所有不同单词构成的节点集合,vn={v
n,1
,v
n,2
,

,v
n,k
},en表示词汇超图hgn中的超边集合,en={e
n,1
,e
n,2
,

,e
n,l
},e
n,l
为en中第l个超边,l=1,2,

,l,l为en中超边数量;如果v
n,k
∈e
n,l
,hgn中的元素hn(v
n,k
,e
n,l
)=1,否则hn(v
n,k
,e
n,l
)=0;利用随机游走计算节点vi的重要性得分s(vi)。
26.(4)对候选关键词集合中的关键词排序:对构成候选关键词的所有节点的重要性得分进行加和求平均,得到候选关键词的重要性得分;根据得分由高到低进行排序,选出排序前r个候选关键词作为文档dn最终预测的关键词。
27.本发明方法为了解决在关键词抽取过程中,使用普通图建模文档的缺陷,使用超图对文档建模,充分考虑词语之间和句子之间的语义相关性,将普通图上的拓扑关系映射到了超图上。本发明有益技术效果包括:本发明通过获取待处理文本信息;对所述待处理文本信息进行清洗分词词性标注的预处理后,通过三种方法(命名实体识别、名词块抽取以及最长序列匹配)来获取候选关键词集。然后用超图的拓扑结构对文档进行结构化建模,根据tf-idf值和位置信息值为节点和超边加权,然后通过随机游走的迭代来为每个节点算出一个分数,再用节点的分数给每个候选关键词加权求和算出一个权重,然后给候选关键词排序,选取重要性得分最高的前n个关键词作为最终的结果。由此能够提高关键词获取的准确性,能够获取词与词之间更完整的语义关系,能够更好的利用全文信息,使得所提取的待处理文档信息的关键词可以适用于多样的应用场景,提升了用户的使用体验。
附图说明
28.图1为本发明方法的流程示意图。
具体实施方式
29.以下结合附图以及一种单篇文档关键词的抽取具体实施方式本发明做进一步说明。
30.如图1所示,一种基于超图随机游走的文档关键词抽取方法,具体如下:
31.(1)文本数据收集和数据预处理:在各大网站上采集文本数据,然后对采集到的文本数据进行清洗、分词、词性标注、去除停用词操作。具体是:
32.(1-1)文本数据采集,获取待分析文档:在不对获取文档的格式、主题进行限定下,通过数据挖掘技术合法获取多个来源的文本数据,包括全文科学出版物、论文摘要、新闻文档、微博、推特等文本。学术文献网站:中国知网、超星发现、oalib、basesearch、highwirepress等;期刊:biomed central生命科学网络期刊等;学术会议网站:acl会议、
emnlp会议等;新闻:可以是中国新闻网等,不限于这些来源。
33.(1-2)文本数据清洗:对输入的数据进行噪音去除,再将文本数据的格式进行统一并保存。首先去除文本数据中多余的空格,以及特殊符号,如“¥”“@”等;然后将所有的数字用《digit》代替;再将英文字母统一为大写字母或者小写字母;将文本数据重新编码为utf-8(8位元,universal character set/unicode transformation format);最后将文本数据转换成统一的格式,进行格式化保存。
34.(1-3)分词操作:将文本数据中连续的字序列按照规范重新组合成词序列,使用支持多语言的stanford corenlp(https://stanfordnlp.github.io/corenlp/)工具包对输入的文本数据进行分词。
35.分词方式包括但不限于:第一种分词方式,使用基于词典对语句内容进行分词,获得词语集合。原理是将文档中的字符串与词典中的词条进行逐一匹配,如果词典中找到某个字符串,则匹配成功,对其进行切分。例如:以词典为依据的正向最大匹配法、逆向最大匹配法和最少切分法。第二种分词方式,基于概率统计模型的分词方法对语句进行分词。原理是根据字符串在语料库中出现的统计频率来决定其是否构成词。词是字的组合,相邻的字同时出现的次数越多,就越有可能构成一个词,基于统计的方法例如:词频逆向文件频率分词器、隐马尔可夫模型方法和条件随机场方法等。第三种分词方式,使用基于语法和规则的分词方法对语句内容进行分词。原理是在分词的同时进行句法、语义分析,利用句法信息和语义信息来进行词性标注,以解决分词歧义现象。
36.具体的实施过程中,假设从文本语料中获取的语句内容为“自然语言处理被誉为人工智能皇冠上的明珠”,即为例句。再对语句内容进行分词操作,获得的词语集合可以表示为“['自然','语言','处理','被','誉为','人工智能','皇冠','上','的','明珠']”。
[0037]
(1-4)词性标注:在给定句子中根据含义和上下文内容判定每个词的语法范畴,确定其词性并加以标注。对中文和英文文本分别采用jieba和stanford corenlp进行词性标注,中文词性标记采用和ictclas兼容的标签体系,英文词性标记采用penn treebank词性标签体系。
[0038]
词性标注方式包括但不限于:第一种词性标注方式,使用基于规则的词性标注方法对词语集合进行词性标注,获得词性集合。这种方法是较早提出的一种词性标注方法,是按兼类词搭配关系和上下文语境建造词类消歧规则,初期通常由人工构建词类标注规则。第二种词性标注方式,使用基于统计模型的词性标注方法对词语集合进行词性标注。该方法是将词性标注看作是一个序列标注问题,给定带有各自标注的词的序列,从而可以确定下一个词最可能的词性。第三种词性标注方式,使用基于统计方法与规则方法相结合的词性标注方法对词语集合进行词性标注;具体例如:对统计标注结果的筛选,只对那些被认为可疑的标注结果,才采用规则方法进行歧义消解,而不是对所有情况都既使用统计方法又使用规则方法。
[0039]
具体的实施过程中,假设分词结果表示为“['自然','语言','处理','被','誉为','人工智能','皇冠','上','的','明珠']”,再对分词后的结果进行词性标注操作,得到的结果可表示为['nn','nn','nn','sb','vv','nn','nn','lc','deg','nn'],其中nn表示名词(noun);sb表示代词(in short bei-const)被、给;vv表示动词(verb);lc表示方位词;deg表示属格“的”。
[0040]
(1-5)去除停用词:根据停用词表删除分词结果中的停用词,该过程既去除了不包含文档有效信息的词语,也减小了候选关键词的规模。中、英文关键词表分别使用中文常用停用词表(https://github.com/goto456/stopwords)和nltk英文停用词表(https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/stopwords.zip)。
[0041]
(2)提取候选关键词,得到候选关键词集合:将预处理后的文本分别采用命名实体识别、名词短语块抽取、最长序列匹配,得到三个集合,然后取三个集合的并集作为候选关键词集合。具体是:
[0042]
(2-1)命名实体识别:
[0043]
提取文本数据中的所有实体,所述实体包括命名实体(主要指人物、组织机构、地点)、普通实体(如动植物、书籍、文化习俗、材料等)和抽象概念(产生于人类抽象思维的无实物形态的概念)。识别其中的命名实体,得到命名实体集合。
[0044]
命名实体识别方式主要包括:第一种识别方式,使用基于规则的命名实体识别,获得命名实体集合。该方式依赖于手工规则的系统,结合命名实体库,对每条规则进行权重辅助,然后比较实体与规则的相符情况来进行类型判断。但是规则通常依赖具体语言领域和文本风格,难以覆盖所有的语言场景。第二种识别方式,基于统计的命名实体识别,与分词类似,目前流行的方法有:隐马尔科夫模型、条件随机场模型等。该方式是基于人工标注的语料,将命名实体识别任务作为序列标注问题来解决,该方法依赖语料库。第三种识别方式,采用混合方法。自然语言处理并不全是一个随机过程,单独使用基于统计的方法使状态搜索空间非常大,必须借助规则知识提前进行过滤修剪处理。本发明方法中,命名实体识别采用基于规则的命名实体识别和基于统计的命名实体识别的混合方法。
[0045]
具体的实施过程中,对例句进行命名实体识别操作,获得的结果可以表示为['自然语言','人工智能','皇冠','明珠']。提取后,得到一个候选关键词集合candidate_a。
[0046]
(2-2)名词短语块抽取:首先将一段文本数据分割成几段小段文本数据,得到组块集,然后对每个组块集进行组块分析(chunking),得到名词短语(np),获得短语块集合。注意文本分块与分词不同,分词是把一段文本分割成单词,而文本分块是把一大段文本分割成多个小段文本。
[0047]
具体的实施过程中,首先对例句进行名词块抽取,获得候选关键词集合可以表示为['自然语言处理','人工智能皇冠',’明珠’]。对提取后的名词词块进行过滤,得到候选关键词集合candidate_b。
[0048]
(2-3)最长序列匹配:使用n-gram滑动窗口取词,是一种基于统计语言模型的算法。是将文本数据中的内容按照大小为n的滑动窗口进行选词操作,形成了长度是n的文本片段序列gram,并且对提取出来的文本片段序列gram进行过滤,形成关键词集合。
[0049]
在具体的实施过程中,假设从文本语料中获取的语句内容为“皇冠上的明珠”,对文本进行滑动窗口取词,假设n取3,那么获得候选关键词集合的结果可以表示为['皇','皇冠’,'皇冠上','冠','冠上','冠上的',

上','上的','上的明','的','的明','的明珠','明','明珠','珠']。然后根据词性对数组集合进行过滤,得到候选关键词集合candidate_c。
[0050]
将上述所产生candidate_a、candidate_b、candidate_c进行合并去重,得到候选
关键词集合。
[0051]
(3)构建加权的超图节点,构建加权的超图边,利用随机游走计算候选关键词的重要性得分;具体是:
[0052]
(3-1)构建加权的超图节点:在预处理后的文本数据中,选择词性为名词、形容词、动词的单词作为超图节点,每个单词只作为一个超图节点,如果重复的单词的词性不同,则保留词性出现频率高的单词。
[0053]
文档集合表示为d={d1,d2,

,dn},其中dn表示文档集合中第n篇输入文档,n=1,2,

,n,n为文档集合d中文档的数量,dn={v
n,1
,v
n,2
,

,v
n,m
},v
n,m
为dn中第m个单词,m=1,2,

,m,m为词袋dn中单词数量。
[0054]dn

为dn对应的由不同的单词v
n,k
所组成的词袋,dn′
={v
n,1
,v
n,2
,

,v
n,k
},v
n,k
即为dn′
中第k个节点,k=1,2,

,k,k为词袋dn′
中节点数量。
[0055]
对dn′
中每个节点v
n,k
计算tf-idf值和位置信息得分,得到该节点的初始权重:
[0056]
tf-idf值用以评估某个字词对于某个文件集或某个语料库中的其中一份文档的重要程度。节点的重要性随着它在文件中出现的次数成正比增加,但会随着它在语料库中出现的频率成反比。
[0057]
在具体的实施过程中,词频(term frequency,tf)是一词语出现的次数除以该文件的总词语数。逆向文件频率(inverse document frequency,idf)是一个词语普遍重要性的度量。某一特定词语的idf,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取以10为底的对数计算出。通过这种方式计算超图上的每个节点初始tf-idf值其中,v
n,k
的词频的词频表示dn中v
n,k
出现的次数;逆向文件频率件频率表示d中包含单词v
n,k
的文档的数量。然后进行归一化处理,得到每个节点的最终tf-idf值:
[0058]
计算每个节点的位置信息得分,节点的初始位置得分跟节点所代表的词在文本中的位置成反比,跟词频成正比。
[0059]
节点v
n,k
的初始位置信息得分为该节点对应的单词在dn中每次出现的绝对位置序号的倒数之和,然后进行归一化处理,得到每个节点的最终位置信息得分
[0060]
节点v
n,k
的初始权重α和β为加权系数。
[0061]
(3-2)构建加权的超图边:为词汇超图创建边,并给边加权。根据两个节点对应的单词是否在同一个句子中,来为超图创建边;如果节点vi和节点vj在同一个句子中,则将两个节点划到同一个超边e。一个句子即为一个超边,超边里包含这个句子预处理后的多个单词,不同的超边可能含有相同的节点,因此超边可能会相交,甚至重合,这样就可以获得完
整的句子语义关系拓扑结构。
[0062]
计算词汇超图中每个节点的转移概率,由节点vi到达节点vj的概率,是根据节点vi和节点vj共同隶属的超边数所决定的。
[0063]
节点vi到达节点vj之间的转移概率w
i,j
为节点vi和节点vj共同隶属的所有超边度的和减1的值,wi为节点vi能到达的所有节点共同隶属的所有超边度的和减1的值。转移概率t
i,j
即为超边权重。
[0064]
(3-3)节点和超边构成了词汇超图hgn(vn,en),vn表示词汇超图hgn中所有不同单词构成的节点集合,vn={v
n,1
,v
n,2
,

,v
n,k
},en表示词汇超图hgn中的超边集合,en={e
n,1
,e
n,2
,

,e
n,l
},e
n,l
为en中第l个超边,l=1,2,

,l,l为en中超边数量。如果v
n,k
∈e
n,l
,hgn中的元素hn(v
n,k
,e
n,l
)=1,否则hn(v
n,k
,e
n,l
)=0。
[0065]
利用随机游走计算候选关键词的重要性得分,随机游走过程如下:
[0066]
选定起始节点vi,随机选择一条包含vi的特定超边ei;在ei中,选择节点vi到达其他节点的概率最大的节点,作为转移节点v
i+1

[0067]
然后迭代计算节点vi的重要性得分的重要性得分为节点vi的初始权重,λ为阻尼因子,a(vi)为与节点vi隶属同一个超边的所有其他节点的集合,∑tj为节点vj的转移概率和。两次迭代误差小于设定阈值,停止迭代,得到节点vi最终的重要性得分。
[0068]
(4)对候选关键词集合中的关键词排序:对构成候选关键词的所有节点的重要性得分进行加和求平均,得到候选关键词的重要性得分。根据得分由高到低进行排序,选出排序前r个候选关键词作为文档dn最终预测的关键词。
[0069]
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1