一种Markdown特征感知的无监督关键词提取方法

文档序号:1170284 发布日期:2020-09-18 浏览:7次 >En<

阅读说明:本技术 一种Markdown特征感知的无监督关键词提取方法 (Markdown feature perception unsupervised keyword extraction method ) 是由 杨凌锋 赵慧 华丽萍 于 2020-04-21 设计创作,主要内容包括:本发明提供一种Markdown特征感知的无监督关键词提取方法,其包括:利用Markdown丰富的语义描述的特点提取出一种新的文本特征MD-Feature(Markdown feature),帮助提升Markdown格式的博客文章关键词提取准确率;并使用MD-Feature在TF-IDF算法和TextRank算法的基础上提出改进算法MD-TFIDF(Markdown feature aware TF-IDF)和MD-TextRank(Markdown feature aware TextRank);结合MD-TFIDF算法和MD-TextRank算法,提出一种Markdown特征感知的关键词提取算法--MDKE,帮助解决针对Markdown格式的博客文章关键词提取问题。采用本发明方法,能提高关键词提取准确率,满足针对Markdown格式的博客文章个性化需求。(The invention provides a Markdown feature perception unsupervised keyword extraction method, which comprises the following steps: extracting a new text feature MD-feature (Markdown feature) by utilizing the characteristic of abundant semantic description of Markdown to help improve the extraction accuracy of the keywords of the blog article in the Markdown format; and an improved algorithm MD-TFIDF (Markdown Feature aware TF-IDF) and MD-TextRank (Markdown Feature aware TextRank) are provided on the basis of the TF-IDF algorithm and the TextRank algorithm by using MD-Feature; combining the MD-TFIDF algorithm and the MD-TextRank algorithm, a Markdown feature perception keyword extraction algorithm-MDKE is provided, and the problem of extraction of the keywords of the blog articles in the Markdown format is solved. By adopting the method, the keyword extraction accuracy can be improved, and the individual requirements of the blog articles in Markdown format can be met.)

一种Markdown特征感知的无监督关键词提取方法

技术领域

本发明涉及关键词提取技术领域,尤其涉及一种Markdown特征感知的无监督关键词提取方法,特别是针对Markdown格式的博客文章的关键词提取。

背景技术

随着信息技术的进步和互联网技术的发展,人们逐渐从信息匮乏的时代进入信息多元化时代,甚至进入信息过载(information overload)的时代。以中国较为活跃的互联网IT技术交流社区——掘金网为例,这是一个集成化的技术与知识传播和共享服务平台,技术爱好者和从业人员可以在技术社区中发表博客或者帖子来记录和分享自己对于某一技术的经验或看法,可以浏览或者收藏自己感兴趣的技术文章,可以去关注某位技术大牛的动态,还可以参与到相关技术话题的讨论中去。技术爱好者和从业人员每天都会产生大量的技术文章,以及浏览、收藏、评论、点赞等行为。随着数据越来越多,无论是技术文章的消费者还是技术文章的产出者都面临着巨大的挑战:作为技术文章的消费者,如何从海量的技术文章中找到自己感兴趣的技术文章成为一件非常困难的事情;而作为技术文章的产出者,如何将自己产出的技术文章传播的更广,收到更多人的关注,也成了一件十分困难的事情。推荐系统就是在信息过载环境下为用户有效筛选信息的有效解决方案,即通过用户兴趣和爱好自适应地为用户提供满足用户需求的信息。

而关键词抽取作为文本挖掘中的重要技术,是推荐系统的基础性和必要性工作,能有效帮助解决信息过载问题。

常见的无监督关键词提取方法大多是基于主题模型的关键词提取、基于TF-IDF词频统计的关键词提取和基于TextRank算法的关键词提取。基于主题模型的关键词提取算法是通过文档和单词主题分布的相似性来计算单词的重要性,由于该类方法通常需要从语料中训练得到主题分布信息,因此,该类方法提取的关键词质量受训练语料主题分布的影响很大。基于TF-IDF词频统计的关键词提取算法是一种常用的关键词提算法,主要通过计算词频和词的逆文档频率来判断词对文章的重要性,该类方法过于依赖词的统计特征,而忽略了语义、上下文等特征。基于TextRank算法的关键词提取算法是一种基于图的关键词提取算法,利用局部词汇之间的关系(例如,共现窗口关系)构建词图进而对文中的词进行排序,然而该类方法单词的权重往往没有实际意义仅与共现关系有关,缺少了对上下文的理解。

IT技术社区中的博文多数以Markdown格式保存。Markdown是一种轻量级标记语言,允许人们使用一些预定义的符号编写文档。Markdown格式的文本不同于传统文本,文本中出现的一些特殊符号拥有特殊的语义。例如“#”在纯文本中应当按照停用词处理,而在Markdown格式的文本中却是用来表示一级标题。如何利用Markdown的语义特征来提升无监督关键词提取的有效性成了一个值得研究的创新点。

发明内容

本发明提供一种Markdown特征感知的无监督关键词提取方法,其包括:利用Markdown丰富的语义描述的特点提取出一种新的文本特征MD-Feature(Markdownfeature),帮助提升Markdown格式的博客文章关键词提取准确率;并使用MD-Feature在TF-IDF算法和TextRank算法的基础上提出改进算法MD-TFIDF(Markdown feature aware TF-IDF)和MD-TextRank(Markdown feature aware TextRank);结合MD-TFIDF算法和MD-TextRank算法,提出一种Markdown特征感知的关键词提取算法--MDKE,帮助解决针对Markdown格式的博客文章关键词提取问题。采用本发明方法,能提高关键词提取准确率,满足针对Markdown格式的博客文章个性化需求。

本发明提出的Markdown特征感知的无监督关键词提取方法,包括以下步骤:

(1)对Markdown格式的博客文章的语义表述特点,提取出一种新的文本特征MD-Feature(Markdown feature),具体步骤如下:

(1.1)划分语义块:将每一篇Markdown文本划分为语义块的集合;

(1.2)对文本进行分词:使用jieba分词和专业名词词典及停用词词典对每个语义块进行分词处理;

(1.3)计算位置信息:计算每个词在语义块的位置信息;

(1.4)计算MD-Feature。

(2)基于TF-IDF算法和TextRank算法的基础上,使用MD-Feature提出改进算法MD-TFIDF(Markdown feature aware TF-IDF)和MD-TextRank(Markdown feature awareTextRank)。

(3)在(2)基础上提出MDKE算法,充分利用词的统计信息、位置信息以及通过MD-Feature特征融入的用户潜在语义信息,对Markdown格式的博客文章中的关键词进行提取,具体步骤如下:

(3.1)计算关键词候选集L1:使用(2)中提到的算法MD-TFIDF计算出文档的关键词候选集L1

(3.2)计算关键词候选集L2:使用(2)MD-TextRank算法计算出文档的关键词候选集L2

(3.3)获取候选集的交集L,评估交集L大小并进行调整:取(3.1)中关键词候选集L1和(3.2)中关键词候选集L2的交集;判断L候选集的大小是否小于预设的候选集大小Msize,如果小于Msize就从关键词候选集L1和关键词候选集L2中选取得分靠前的其他候选词加入交集L,使得交集L的集合大小为大于等于Msize为止;

(3.4)对候选词进行打分,并排序输出:由于MD-TFIDF和MD-TextRank算法对候选词的打分标准不一致,本发明中使用主题模型(Latent Dirichlet Allocation,LDA)对候选集L中的词进行排序,最后选取排序结果中的前K个词作为文章的关键词输出。

进一步地,所述步骤(1.1)中语义块的划分的具体内容是:

本发明帮助解决针对Markdown格式的文本关键词的提取问题,因此这里根据Markdown标记的语义描述将Markdown文本划分为不同的语义块,每个语义块通过正则表达式从原始的Markdown格式的文档中提取出来,并用“\001”分割语义块的类型和语义块内容。下面图2展示了从原始文本中提取语义块的样例。表1列出了本发明中关注的Markdown标记和其对应的描述信息与对应块。

表1 Markdown标记描述表

Figure BDA0002459489730000041

进一步地,所述步骤(1.4)中MD-Feature的计算过程是:

观察研究Markdown格式的文档中关键词出现的位置,发现关键词与所在语义块的词的个数有关且词越少出现关键词的可能性越高,另外关键词往往出现在语义块靠前的位置。因此,在本发明中,通过计算词wijk所在的第j个语义块的词数占全部词数的比例的倒数来衡量语义块词的个数对词的权重的影响,再计算词wijk在第j个语义块中的位置顺序比重来衡量词在语义块中的位置对权重的影响,并考虑不同的语义块有着不同的语义描述,于是考虑为每一个语义块给予不同的语义权重Wmd,Wmd的值通过实验获得。最后将三者相乘获得MD-Feature的计算公式:

其中,Kq表示第q个语义块的词的个数。

进一步地,步骤(2)所述的改进算法MD-TFIDF具体算法公式如下:

Figure BDA0002459489730000043

其中,tfil表示词wijk在文档di中的词频,idfjk表示词wijk在文档集合D中出现词wijk的文档数nj占总文档数N的倒数,即逆文档频率,MDF(wijk)表示词wijk的MD-Feature分数值。

具体步骤如下:

(4.1)语义块切分成词:用分词工具将需要提取关键词的博文di的每一个语义块切分成词,记为

Figure BDA0002459489730000044

其中Wij表示博文i的第j个语义块的分词结果,

Figure BDA0002459489730000045

表示分词结果中的第k个词,K为语义块Wij分词结果中词的个数;

(4.2)统计词的频数:使用tokenCount以词

Figure BDA0002459489730000051

为键,以词

Figure BDA0002459489730000052

在文中出现的次数为值,用键值对的方式统计分词结果中每个词出现的频数;

(4.3)计算词的得分数:统计在数据集中有几篇文章出现了词的idf值,使用公式(2)计算出每个词的得分数score;

(4.4)记录分数:以词Wij为键,以score为值记录在tokenScore中;

(4.5)排序:对tokenScore中的词进行排序,将score靠前的TopK个词作为文章的关键词。

进一步地,步骤(2)所述的MD-TextRank改进算法具体内容是:

为了改进传统的TextRank算法存在的一点不足,即在构建图时默认每个词的权重一致,忽略了词本身的属性。这里词的属性包括:语义属性、位置属性、词性相关等特征。在Markdown格式的文档中词的语义属性尤为突出,不同语义块拥有不同的语义描述,能够在一定程度上传达作者的语义信息。因此,这里改进了TextRank算法,提出新的MD-TextRank算法,在构建图时为每个节点赋予权重时融入MD-Feature,通过不同的初始值进行迭代计算。使随机游走的结果更具有针对性,更接近文档关键词的抽取结果。

假设G(V,E)是点集V和边集E组成的有向图,其中V集合中的点就是文本中的词语,E集合中的边则表示出现在同一个共现窗口中的词的连接。如果对于某个确定的点vi,将所有的入度节点集合记为In(vi),将所有出度节点集合记为Out(vi),节点权重的计算公式如下:

Figure BDA0002459489730000053

其中,wsji表示vj与点vi之间的权重,调节系数d通常设置为0.85;mdf(vi)表示节点vi对应的词的MD-Feature分数值。

具体步骤如下:

(5.1)语义块切分成词:用分词工具将需要提取关键词的博文d的每一个语义块切分成词,记为

Figure BDA0002459489730000054

其中表示博文di的第j个语义块的分词结果中第k个词,K为语义块Wij分词结果中词的个数;

(5.2)计算每个词的MD-Feature;

(5.3)记录分数:以词

Figure BDA0002459489730000061

为键,计算得到的MD-Feature为值,用键值对的方式存储在Weight中,按照共现关系构建词图G(V,E),并使用Weight为每个节点初始化权重,使用公式(3)进行迭代计算,并将收敛时的权重以键值对的形式更新到Weight中;

(5.4)排序。对Weight中的词,按照权重进行排序,选取TopN个权重靠前的词作为文章di的关键词。

本发明采用的技术方案有以下技术特点:

1、本发明根据Markdown的语法和语义表达,提出了一种Markdown语义特征(Markdown Feature,MD-Feature),能有效表达Markdown格式的计算机博文数据的语义信息。

2、本发明从语义块中提取出MD-Feature,并使用MD-Feature改进了TFIDF算法和TextRank算法,提出了Markdown特征感知的TFIDF算法(Markdown feature aware TF-IDF,MD-TFIDF)和Markdown特征感知的TextRank算法(Markdown feature aware TextRank,MD-TextRank),满足针对Markdown格式的博客文章个性化需求。

3、本发明结合了MD-TFIDF算法和MD-TextRank算法提出了Markdown特征感知的无监督关键词提取方法Unsupervised Markdown Feature-Aware Keywords Extraction,MDKE),帮助提升Markdown格式的博客文章关键词提取准确率。

附图说明

图1是本发明提供的Markdown特征感知的无监督关键词提取方法的一种实施例的流程示意图。

图2是从原始文本中进行语义块提取的样例图。

具体实施方式

下面结合附图和具体实施方式,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1,是本发明提供的Markdown特征感知的无监督关键词提取方法的一种实施例的流程示意图,该方法步骤101至108,各步骤具体如下:

步骤101:数据获取。

在本实施例中数据集分成两部分,一部分是掘金实验数据,是由爬虫爬取,另一部分是辅助数据,包括停用词表和专业名词表,分别是从Google机器学习词汇和清华开放IT词库下载,并且通过统计和人工筛选获得。

在本实施例中,使用的计算机博文数据和技术社区用户行为数据均来自国内活跃的在线技术交流社区掘金网。设计并实现了网络爬虫,采集了38416个用户的历史交互信息,涉及85193篇文章,涵盖了571个标签。下面详细展示掘金实验数据获取过程。

(1)选取种子用户:种子用户的选取关系到爬虫遍历的深度和数据集中不同专业方向文章数量的分布,所以我们选取了前端、后端、人工智能、数据库、计算机网络、算法六个方向,每个方向5个活跃用户作为抓取数据的种子用户。

(2)抓取用户数据:抓取的数据包括用户的可见注册信息、用户的历史交互数据、与用户历史交互有关的文章数据。

(3)获取新的抓取用户:遍历种子用户,将种子用户的关注用户作为待抓取对象加入URL队列。

(4)数据持久化:我们将抓取到的数据进行解析,并将解析之后的数据存入Mongodb数据库中,为后续研究使用。

(5)结束条件:不断读取URL队列中的用户地址,直到URL队列为空。步骤102:数据预处理。

在本实施例中,对于停用词表和专业名词表,由于计算机博文数据属于专有领域的数据,对后续研究起到关键作用的往往是文中出现的专业词汇。因此,本实施例使用基于词频统计的方法提取停用词,构建针对计算机博文数据的停用词表。

对于掘金实验数据,由于Markdown格式文本特点,每一种Markdown语法标记都有特定的语义描述信息,如果直接将这些特殊符号从文本中去除则会失去Markdown本身包含的语义信息,而保留这部分特殊标记又会加入额外的噪声。为了在后续研究中充分利用Markdown的语义信息,本文提出了语义块的概念,将同一种语义描述的文本称为一类语义块。根据Markdown标记的语义描述可以将Markdown文本划分为不同的语义块,表1列出了研究问题关注的Markdown标记和其对应的描述信息与对应的语义块。Markdown格式的计算机博文数据具体处理步骤如下:

(1)使用正则表达式提取文章d的标题title、代码块和其余文章数据article;

(2)去除提取的代码块,将博文处理成临时格式a=<title,article>;

(3)使用正则表达式将article划分成语义块SEBlock={b1,b2,...,bi,...,bT},其中bi表示第i个语义块。使用\001分割语义块的类型和语义块内容,图2展示了从原始文本中提取语义块的样例;

(4)将用户为博文d标记的关键词处理成l=<kw1,kw2,...,kwj,...,kwn>;

(5)将l、a、SEBlock处理成最终格式d′=<title,article,SEBlock>。

表1 Markdown标记描述表

Figure BDA0002459489730000081

步骤103:Markdown特征提取。

在本实施例中,提取Markdown特征的过程包含三个步骤:

(1)划分语义块:将每一篇Markdown文本划分为语义块的集合;

(2)对文本进行分词:使用jieba分词和专业名词词典及停用词词典对每个语义块进行分词处理;

(3)计算位置信息:计算每个词在语义块的位置信息;

(4)计算MD-Feature。MD-Feature的计算公式如下:

Figure BDA0002459489730000091

其中Kq表示第q个语义块的词的个数。

步骤104:实施MD-TFIDF算法。

改进算法MD-TFIDF具体算法公式如下:

其中tfil表示词wijk在文档di中的词频,idfjk表示词wijk在文档集合D中出现词wijk的文档数nj占总文档数N的倒数,即逆文档频率,MDF(wijk)表示词wijk的MD-Feature分数值。

具体步骤如下:

(1)语义块切分成词:用分词工具将需要提取关键词的博文di的每一个语义块切分成词,记为其中Wij表示博文i的第j个语义块的分词结果,

Figure BDA0002459489730000094

表示分词结果中的第k个词,K为语义块Wij分词结果中词的个数;

(2)统计词的频数:使用tokenCount以词为键,以词

Figure BDA0002459489730000096

在文中出现的次数为值,用键值对的方式统计分词结果中每个词出现的频数;

(3)计算词的得分数。统计在数据集中有几篇文章出现了词的idf值,使用公式(2)计算出每个词的得分数score;

(4)记录分数:以词Wij为键,以score为值记录在tokenScore中;

(5)排序:对tokenScore中的词进行排序,将score靠前的TopK个词作为文章的关键词,获得候选集L1

步骤105:实施MD-TFIDF算法。

MD-TextRank改进算法具体内容是:

为了改进传统的TextRank算法存在的一点不足,即在构建图时默认每个词的权重一致,忽略了词本身的属性。这里词的属性包括:语义属性、位置属性、词性相关等特征。在Markdown格式的文档中词的语义属性尤为突出,不同语义块拥有不同的语义描述,能够在一定程度上传达作者的语义信息。因此,这里改进了TextRank算法,提出新的MD-TextRank算法,在构建图时为每个节点赋予权重时融入MD-Feature,通过不同的初始值进行迭代计算。使随机游走的结果更具有针对性,更接近文档关键词的抽取结果。

假设G(V,E)是点集V和边集E组成的有向图,其中V集合中的点就是文本中的词语,E集合中的边则表示出现在同一个共现窗口中的词的连接。如果对于某个确定的点vi,将所有的入度节点集合记为In(vi),将所有出度节点集合记为Out(vi),节点权重的计算公式如下:

其中,wsji表示vj与点vi之间的权重,调节系数d通常设置为0.85。mdf(vi)表示节点vi对应的词的MD-Feature分数值。

具体步骤如下:

(1)语义块切分成词:用分词工具将需要提取关键词的博文d的每一个语义块切分成词,记为

Figure BDA0002459489730000102

其中表示博文di的第j个语义块的分词结果中第k个词,K为语义块Wij分词结果中词的个数;

(2)计算每个词的MD-Feature;

(3)记录分数:以词为键,计算得到的MD-Feature为值,用键值对的方式存储在Weight中,按照共现关系构建词图G(V,E),并使用Weight为每个节点初始化权重,使用公式(3)进行迭代计算,并将收敛时的权重以键值对的形式更新到Weight中;

(4)排序:对Weight中的词,按照权重进行排序,选取TopN个权重靠前的词作为文章di的关键词,获得候选集L2

步骤106:获取候选集L。

取关键词候选集L1和关键词候选集L2的交集L,并判断L候选集的大小是否小于预设的候选集大小Msize,如果小于Msize就从关键词候选集L1和关键词候选集L2中选取得分靠前的其他候选词加入L,直到集合L的大小为大于等于Msize为止。

步骤107:LDA主题模型对L候选集排序。

由于MD-TFIDF和MD-TextRank算法对候选词的打分标准不一致,因此采用LDA主题模型对候选集L中的词进行排序。将集合L中的词视为需要进行主题分析的文本输入LDA模型,设置LDA模型的参数为一个主题和K个与主题相关的词。

步骤108:获取topK个关键词。

由于LDA模型输出的结果中词已经按照与主题相关程度排序,因此最终将输出结果中的K个词作为文章的关键词输出。

本发明的保护内容不局限于以上实施例。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:数据库表的外键映射方法、装置、电子设备和存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!