CN114265936A - 一种科技项目文本挖掘的实现方法 - Google Patents
一种科技项目文本挖掘的实现方法 Download PDFInfo
- Publication number
- CN114265936A CN114265936A CN202111587458.8A CN202111587458A CN114265936A CN 114265936 A CN114265936 A CN 114265936A CN 202111587458 A CN202111587458 A CN 202111587458A CN 114265936 A CN114265936 A CN 114265936A
- Authority
- CN
- China
- Prior art keywords
- text
- word
- words
- similarity
- vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种科技项目文本挖掘的实现方法,包括:步骤S1,对文本信息进行数据预处理,将文本转换为向量形式并进行特征提取;步骤S2,将提取的特征向量构建向量空间模型,并对所述向量空间模型进行降维处理;步骤S3,采用文本挖掘算法对文本进行挖掘,并对挖掘结果进行可视化表达;步骤S4,将文本表示为计算机可以计算的数值向量;步骤S5,基于所述数值向量计算文本之间的相似度。本发明为后续信息系统固化科技项目评审专家推荐、申报成员专业能力评估功能提供基础,进而进行信息系统固化,保障专家遴选效率及专家专业性匹配度,建立客观量化的申报主体成员竞争力评估体系,使科技项目立项评审工作更加高效、智能。
Description
技术领域
本发明属于电力系统技术领域,具体涉及一种科技项目文本挖掘的实现方法。
背景技术
科技评审的工作是由美国在上个世纪初率先开展起来的,历经一个世纪的发展,科技评审已经受到世界许多国家越来越多的重视。其中以美国、日本、英国、法国、德国等为代表的发达国家经过长期的评估实践,已经形成了相对稳定和比较完备的科技评审体系,具体包括科技评审机构的建设、评审结果的认定等。
目前,国家及各地政府对科技活动的大力支持直接导致了科技项目申报、立项数量的增多。聚焦国内电力行业,已有借助文本挖掘分析方法开展合同法务审批等通用方向的研究,但还未形成研究成果。随着电力改革不断深入、科学技术不断持续发展,各专业领域的科学技术研究项目立项评审越来越多,随之而来如何智能辅助立项评审,保障立项管理工作提质增效,并实现成果科学管理,已然成为困扰科技项目管理亟待解决的问题。
发明内容
本发明所要解决的技术问题在于,提供一种科技项目文本挖掘的实现方法,以使科技项目立项评审工作更加智能、高效。
为解决上述技术问题,本发明提供一种科技项目文本挖掘的实现方法,包括:
步骤S1,对文本信息进行数据预处理,将文本转换为向量形式并进行特征提取;
步骤S2,将提取的特征向量构建向量空间模型,并对所述向量空间模型进行降维处理;
步骤S3,采用文本挖掘算法对文本进行挖掘,并对挖掘结果进行可视化表达;
步骤S4,将文本表示为计算机可以计算的数值向量;
步骤S5,基于所述数值向量计算文本之间的相似度。
进一步地,所述步骤S1中,数据预处理具体包括分词处理、特征表示和特征提取。
进一步地,所述分词处理具体包括采用基于词库的分词算法和基于无词典的分词算法,基于词库的分词算法包括正向最大匹配、正向最小匹配、逆向匹配及逐词遍历匹配法;基于无词典的分词算法是基于词频的统计,将原文中任意前后紧邻的两个字作为一个词进行出现频率的统计,在频率超过预先设定的阈值时,就将其作为一个词进行索引。
进一步地,所述特征表示具体是关以一定特征项来代表文档,在文本挖掘时对所述特征项进行处理,从而实现对非结构化的文本处理。
进一步地,所述特征提取具体是构造一个评价函数对每个特征进行评估,然后把特征按分值高低排序,预定数目分数最高的特征被选取。
进一步地,所述步骤S2中,降维处理具体是采用非负矩阵分解,将所述向量空间模型分解成两个非负、非正交的子矩阵。
进一步地,所述步骤S4包括利用Bag-of-words模型将一幅图像表示成为数值向量,其具体包括:
利用SIFT算法从不同类别的图像中提取视觉词汇向量,所述视觉词汇向量代表的是图像中局部不变的特征点;
将所有特征点向量集合到一块,利用K-Means算法合并词义相近的视觉词汇,构造一个包含K个词汇的单词表;
统计单词表中每个单词在图像中出现的次数,从而将图像表示成为一个K 维数值向量。
进一步地,所述步骤S5包括:使用TextRank算法提取关键词和关键词组,其具体步骤如下:
将给定的文本按照整句进行分割,即T=[S1,S2,...,Sm];
对于每个句子Si∈T,对其进行分词和词性标注,然后剔除停用词,只保留指定词性的词,即Si=[ti,1,ti,2,...,ti,n],其中ti,j为句子i中保留下的词;
构建词图G=(V,E),其中V为节点集合,由以上步骤生成的词组成,然后采用共现关系构造任意两个节点之间的边:两个节点之间存在边仅当它们对应的词在长度为K的窗口中共现,K表示窗口大小;
迭代计算各节点的权重直至收敛;
对节点的权重进行倒序排序,从中得到最重要的t个单词,作为top-t关键词;
对于得到的top-t关键词,在原始文本中进行标记,若它们之间形成了相邻词组,则作为关键词组提取出来。
进一步地,从给定文本中提取关键句时,将文本中的每个句子分别看作一个节点,如果两个句子有相似性,则判定这两个句子对应的节点之间存在一条无向有权边,判断句子之间相似性的公式如下:
其中,Si、Sj分别表示两个句子,wk表示句子中的词;分子部分表示同时出现在两个句子中的同一个词的数量,分母表示对句子中词的个数求对数后求和;
根据以上相似度计算公式循环计算任意两个节点之间的相似度,设置阈值去掉两个节点之间相似度较低的边连接,构建出节点连接图,然后迭代计算每个节点的TextRank值,排序后选出TextRank值最高的几个节点对应的句子作为关键句。
进一步地,所述步骤S5包括无监督的相似度计算方法、有监督的文本相似度计算方法,所述无监督的相似度计算方法具体是采用欧氏距离方法,直接计算文本之间的距离或者相似度;所述有监督的文本相似度计算方法是采用朴素贝叶斯分类器的有监督模型来判断文本相似性或者计算相似度。
实施本发明具有如下有益效果:本发明为后续信息系统固化科技项目评审专家推荐、申报成员专业能力评估功能提供基础,进而进行信息系统固化,保障专家遴选效率及专家专业性匹配度,建立客观量化的申报主体成员竞争力评估体系,使科技项目立项评审工作更加高效、智能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一种科技项目文本挖掘的实现方法的流程示意图。
图2为本发明实施例Bag-of-words模型应用图像示意图。
图3为本发明实施例Bag-of-words模型应用图像示意图。
图4为本发明实施例Bag-of-words模型应用图像示意图;
图5为本发明实施例K-Means算法示意图。
图6为本发明实施例Bag-of-words模型应用图像示意图。
图7为本发明实施例LDA框架图。
图8为本发明实施例Word2Vec架构图。
具体实施方式
以下各实施例的说明是参考附图,用以示例本发明可以用以实施的特定实施例。
请参照图1所示,本发明实施例提供一种科技项目文本挖掘的实现方法,包括:
步骤S1,对文本信息进行数据预处理,将文本转换为向量形式并进行特征提取;
步骤S2,将提取的特征向量构建向量空间模型,并对所述向量空间模型进行降维处理;
步骤S3,采用文本挖掘算法对文本进行挖掘,并对挖掘结果进行可视化表达;
步骤S4,将文本表示为计算机可以计算的数值向量;
步骤S5,基于所述数值向量计算文本之间的相似度。
具体地,本实施例一种科技项目文本挖掘的实现方法涉及构建文本挖掘类模型以及文本相似度计算方法的探索;构建文本挖掘类模型包括数据预处理技术、数据挖掘分析技术;文本相似度计算方法的探索有2个关键组件,即文本表示模型和相似度度量方法,前者用于将文本表示为计算机可以计算的数值向量,也就是提供特征;后者用于基于前面得到的数值向量计算文本之间的相似度;文本相似度计算方法的探索包括文本向量抽取方法、文本相似度计算。以下分别进行介绍。
1.文本挖掘类模型介绍
1.1文本挖掘技术
文本挖掘不但要处理大量的结构化和非结构化的文档数据,而且还要处理其中复杂的语义关系,因此,现有的数据挖掘技术无法直接应用于其上。对于非结构化问题,一条途径是发展全新的数据挖掘算法直接对非结构化数据进行挖掘,由于数据非常复杂,导致这种算法的复杂性很高;另一条途径就是将非结构化问题结构化,利用现有的数据挖掘技术进行挖掘,目前的文本挖掘一般采用该途径进行。对于语义关系,则需要集成计算语言学和自然语言处理等成果进行分析。
1.1.1数据预处理技术
预处理技术主要包括Stemming(英文)/分词(中文)、特征表示和特征提取。
与数据库中的结构化数据相比,文本具有有限的结构,或者根本就没有结构。此外,文档的内容是人类所使用的自然语言,计算机很难处理其语义。文本信息源的这些特殊性使得数据预处理技术在文本挖掘中更加重要。
(1)分词技术
在对文档进行特征提取前,需要先进行文本信息的预处理,对英文而言需进行Stemming处理,中文的情况则不同,因为中文词与词之间没有固有的间隔符(空格),需要进行分词处理。目前主要有基于词库的分词算法和无词典的分词技术两种。
基于词库的分词算法包括正向最大匹配、正向最小匹配、逆向匹配及逐词遍历匹配法等。这类算法的特点是易于实现,设计简单;但分词的正确性很大程度上取决于所建的词库。因此基于词库的分词技术对于歧义和未登录词的切分具有很大的困难。
基于无词典的分词技术的基本思想是:基于词频的统计,将原文中任意前后紧邻的两个字作为一个词进行出现频率的统计,出现的次数越高,成为一个词的可能性也就越大,在频率超过某个预先设定的阈值时,就将其作为一个词进行索引。这种方法能够有效地提取出未登录词。
(2)特征表示
文本特征指的是关于文本的元数据,分为描述性特征(如文本的名称、日期、大小、类型等)和语义性特征(如文本的作者、机构、标题、内容等)。特征表示是指以一定特征项(如词条或描述)来代表文档,在文本挖掘时只需对这些特征项进行处理,从而实现对非结构化的文本处理。这是一个非结构化向结构化转换的处理步骤。特征表示的构造过程就是挖掘模型的构造过程。特征表示模型有多种,常用的有布尔逻辑型、向量空间模型(VectorSpace Model,VSM)、概率型以及混合型等。W3C近来制定的XML,RDF等规范提供了对Web文档资源进行描述的语言和框架。
(3)特征提取
用向量空间模型得到的特征向量的维数往往会达到数十万维,如此高维的特征对即将进行的分类学习未必全是重要、有益的(一般只选择2%~5%的最佳特征作为分类依据),而且高维的特征会大大增加机器的学习时间,这便是特征提取所要完成的工作。
特征提取算法一般是构造一个评价函数,对每个特征进行评估,然后把特征按分值高低排队,预定数目分数最高的特征被选取。在文本处理中,常用的评估函数有信息增益(Information Gain)、期望交叉熵(Expected Cross Entropy)、互信息(MutualInformation)、文本证据权(The Weight of Evidence for Text)和词频。
1.1.2数据挖掘分析技术
文本转换为向量形式并经特征提取以后,便可以进行挖掘分析了。常用的文本挖掘分析技术有:文本结构分析、文本摘要、文本分类、文本聚类、文本关联分析、分布分析和趋势预测等。
(1)文本结构分析
其目的是为了更好地理解文本的主题思想,了解文本所表达的内容以及采用的方式。最终结果是建立文本的逻辑结构,即文本结构树,根节点是文本主题,依次为层次和段落。
(2)文本摘要
文本摘要是指从文档中抽取关键信息,用简洁的形式对文档内容进行解释和概括。这样,用户不需要浏览全文就可以了解文档或文档集合的总体内容。
任何一篇文章总有一些主题句,大部分位于整篇文章的开头或末尾部分,而且往往是在段首或段尾,因此文本摘要自动生成算法主要考察文本的开头、末尾,而且在构造句子的权值函数时,相应的给标题、子标题、段首和段尾的句子较大的权值,按权值大小选择句子组成相应的摘要。
(3)文本分类
文本分类的目的是让机器学会一个分类函数或分类模型,该模型能把文本映射到己存在的多个类别中的某一类,使检索或查询的速度更快,准确率更高。训练方法和分类算法是分类系统的核心部分。用于文本分类的分类方法较多,主要有朴素贝叶斯分类(NativeBayes)、向量空间模型、决策树、支持向量机、后向传播分类、遗传算法、基于案例的推理、K-最临近、基于中心点的分类方法、粗糙集、模糊集以及线性最小二乘(Linear Least SquareFit,LLSF)等。
传统特征提取的方法是基于词形的,并不考察词语的意义,忽略了同一意义下词形的多样性、不确定性以及词义间的关系,尤其是上下位关系。该文的方法在向量空间模型(VSM)的基础上,以“概念”为基础,同时考虑词义的上位关系,使得训练过程中可以从词语中提炼出更加概括性的信息,从而达到提高分类精度的目的。
(4)文本聚类
文本分类是将文档归入到己经存在的类中,文本聚类的目标和文本分类是一样的,只是实现的方法不同。文本聚类是无教师的机器学习,聚类没有预先定义好的主题类别,它的目标是将文档集合分成若干个簇,要求同一簇内文档内容的相似度尽可能大,而不同簇间的相似度尽可能小。Hearst等人的研究已经证明了“聚类假设”,即与用户查询相关的文档通常会聚类得比较靠近,而远离与用户查询不相关的文档。
(5)关联分析
关联分析是指从文档集合中找出不同词语之间的关系。Feldman和Hirsh研究了文本数据库中关联规则的挖掘,提出了一种从大量文档中发现一对词语出现模式的算法,并用来在Web上寻找作者和书名的出现模式,从而发现了数千本在Amazon网站上找不到的新书籍;Wang Ke等以Web上的电影介绍作为测试文档,通过使用OEM模型从这些半结构化的页面中抽取词语项,进而得到一些关于电影名称、导演、演员、编剧的出现模式。
(6)分布分析与趋势预测
分布分析与趋势预测是指通过对文档的分析,得到特定数据在某个历史时刻的情况或将来的取值趋势。Feldman R等使用多种分布模型对路透社的两万多篇新闻进行了挖掘,得到主题、国家、组织、人、股票交易之间的相对分布,揭示了一些有趣的趋势。WuthrichB等通过分析Web上出版的权威性经济文章对每天的股票市场指数进行预测,取得了良好的效果。
(7)可视化技术
数据可视化(Data Visualization)技术指的是运用计算机图形学和图像处理技术,将数据转换为图形或图像在屏幕上显示出来,并进行交互处理的理论、方法和技术。它涉及到计算机图形学、图像处理、计算机辅助设计、计算机视觉及人机交互技术等多个领域。国内外学者已经对信息可视化技术进行了大量的研究,运用最小张力计算、多维标度法、语义分析、内容图谱分析、引文网络分析及神经网络技术,进行了信息和数据的可视化表达。
1.1.3文本挖掘热点难点问题
显然,目标不同,文本挖掘的过程也不尽相同。但不论何种目标,都不可忽视如下几个方面的研究:
(1)文本建模
向量空间模型,也称为“词袋”法,是目前文本处理的标准模式。简单讲,就是提取文本高频词构成特征向量来表达文本特征的方法,该方法有效描述了词一文档间的频率关系。面对复杂繁琐的自然语言文本,向量空间模型是目前最为简便有效的文本表示方法。
但向量空间模型建模方法最大的问题就是忽略了词在文本中承担的语法和语义上的作用,同时忽略了词与词之间的顺序关系,丢失了大量有用信息,从而减弱了高频词向量表达文本特征的可信度。
同时,向量空间模型在处理真实文本数据时形成的特征向量的高维性也严重影响了后续文本挖掘的效率和结果的准确性。
此外,建模前的文本预处理工作作为整个文本挖掘过程的基础尤为重要。而不同的语言的处理又常常不同。如何解决多语言混合如中英文混合情况下的文本处理和建模工作日益重要。同时,不同的语言有不同的切词处理方式。并且存在着大量多词同义、一词多义的现象。
(2)特征降维
文本模型的高维特性制约了文本挖掘的效果。不论何种语种,由于语言本身的非结构特性以及建模后的高维特性,使得后续挖掘过程中都面临严重的效率问题。因此有效的降维是进行后续文本挖掘的重要一环。
目前的文本降维方法主要采用基于奇异值分解的潜在语义分析技术。该技术通过分析特征词之间的语义相关性来减少特征向量的维数,通过将词一文档的高维表示投影在低维潜在语义空间中,降低空间的维数,进而得到词一文档的不再稀疏的低维表示。并且,由词袋模型在进行奇异值分解后得到的子空间不再是仅仅反映出词汇出现的频率和分布关系,而进一步揭示了词汇或文档之间的语义联系。
然而,基于奇异值分解的潜在语义分析技术有两大突出的问题:一是得到的分解矩阵具有正交的特性,导致无法更好的描述文本数据空间的特点,从而使得对降维后的子空间进行进一步的文本分析时结果并不准确。这一问题在面对大规模文本数据时显得更加突出。另一方面,由于潜在语义分析得到的分解矩阵存在负数,而难以直观地做出与实际情况一致的语义上的解释。
非负矩阵分解方法有效解决了上述问题。借鉴人类思维中“局部构成整体”的概念,非负矩阵分解将由词袋法构造的向量空间模型分解成两个非负、非正交的子矩阵,从而可以更有效的降维及进行进一步的聚类、分类分析。
(3)挖掘算法的选择
模型创建成功并且进行了有效的降维处理之后,就可以进行具体的挖掘操作了。从狭义的角度理解,也可以说这部分才是真正的挖掘。而广义上来说,整个过程才一构成文本挖掘的全部过程。
文本挖掘算法并不是一个新的领域,通常就是数据挖掘方法在文本数据上的应用。因此多数挖掘方法来自机器学习、统计学习、自然语言处理、信息抽取、信息检索以及知识管理等领域,最终目标就是对建模后的文本数据进行分析和处理,找到其中潜在的有用信息。
根据不同的应用目标,挖掘出的知识种类不尽不同,由此可以对文本挖掘的技术和算法进行如下的分类:如根据发现关联规则、聚类、趋势、差异等知识的不同,分别对应不同领域的算法选择。
任何算法技术的研究和设计都离不开始实验的仿真和具体实例的验证。文本数据挖掘过程亦是如此。由于文本数据的复杂多样性,导致文本数据的挖掘过程相对其他结构化数据要复杂繁琐的多,对数据的敏感性更为严重,在很多情况下,面临对开放语料的实验结果不理想的问题。因此选择更好的评价方法,克服现有语料手工分类不准确带来的误差,以更好地对算法作出评价,同样重要。本实施例也将在后续仿真的具体过程中对所研究的方法进行有意义的评价。
(4)模式的理解及可视化表达
多数文本挖掘应用实例的目标同数据挖掘类似,通常是要辅助用户的决策和判断,因此从用户的角度来看,文本挖掘所发现结果的可理解至关重要。而对于各种方法挖掘出的模式、规则等结果,提高其可理解性的解决方法通常有两种:一种是以生成人类易于理解的自然语言的方式进行呈现,如对文档进行摘要的方法;另一种方式则是以图形界面方式展示结果,通过提供相对少量的规则,利用计算机图形学、图像处理等可视化技术将结果更加直观的呈现给用户。
近年来,可视化技术作为展示结果的关键一环逐渐成为文本挖掘过程中日益重要的一个分支。大量的研究结合语义分析、内容图谱分析、最小张力计算、神经网络技术、多维标度法等数据分析和处理方法进行了结果的可视化表达。
2.文本相似度计算方法探索
文本相似度计算方法有2个关键组件,即文本表示模型和相似度度量方法,如下表所示。前者负责将文本表示为计算机可以计算的数值向量,也就是提供特征;后者负责基于前面得到的数值向量计算文本之间的相似度。
从文本表示模型和相似度度量方法中选择合适的,就可以组合出一个文本相似度计算方案。
表1 常见的文本表示模型和相似度度量方法
使用上述表1中的选项,我们可以组合出非常多的文本相似度计算方案,这里涉及到有无监督、文本切分粒度、特征构建、距离计算方法4个维度。
2.1文本向量抽取方法
2.1.1基于词袋模型(Bag of Words)
Bag of Words:主要思想是基于对句子中字出现的次数来构建句子向量,向量大小即为词表大小。可以采用的工具是gensim中的doc2bow。
Bag-of-words模型是信息检索领域常用的文档表示方法。在信息检索中, BOW模型假定对于一个文档,忽略它的单词顺序和语法、句法等要素,将其仅仅看作是若干个词汇的集合,文档中每个单词的出现都是独立的,不依赖于其它单词是否出现。也就是说,文档中任意一个位置出现的任何单词,都不受该文档语意影响而独立选择的。例如有如下两个文档:
1:Bob likes to play basketball,Jim likes too.
2:Bob also likes to play football games.
基于这两个文本实施例档,构造一个词典:
Dictionary={1:“Bob”,2.“like”,3.“to”,4.“play”,5.“basketball”, 6.“also”,7.“football”,8.games”,9.“Jim”,10.“too”}。
这个词典一共包含10个不同的单词,利用词典的索引号,上面两个文档每一个都可以用一个10维向量表示(用整数数字0~n(n为正整数)表示某个单词在文档中出现的次数):
1:[1,2,1,1,1,0,0,0,1,1]
2:[1,1,1,1,0,1,1,1,0,0]
向量中每个元素表示词典中相关元素在文档中出现的次数(下文中,将用单词的直方图表示)。不过,在构造文档向量的过程中可以看到,我们并没有表达单词在原来句子中出现的次序。
Bag-of-words模型的适用场景:
在一个巨大的文档集合D,里面一共有M个文档,而文档里面的所有单词提取出来后,一起构成一个包含N个单词的词典,利用Bag-of-words模型,每个文档都可以被表示成为一个N维向量,计算机非常擅长于处理数值向量。这样,就可以利用计算机来完成海量文档的分类过程。
考虑将Bag-of-words模型应用于图像表示。为了表示一幅图像,可以将图像看作文档,即若干个“视觉词汇”的集合,同样的,视觉词汇相互之间没有顺序,如图2所示。
由于图像中的词汇不像文本文档中的那样是现成的,我们需要首先从图像中提取出相互独立的视觉词汇,这通常需要经过三个步骤:(1)特征检测,(2) 特征表示,(3)单词本的生成,如图3所示。
通过观察会发现,同一类目标的不同实例之间虽然存在差异,但我们仍然可以找到它们之间的一些共同的地方,比如说人脸,虽然说不同人的脸差别比较大,但眼睛,嘴,鼻子等一些比较细小的部位,却观察不到太大差别,我们可以把这些不同实例之间共同的部位提取出来,作为识别这一类目标的视觉词汇。
接下来,我们通过上述图像展示如何通过Bag-of-words模型,将图像表示成数值向量。如图4,现在有三个目标类,分别是人脸、自行车和吉他。
第二步是利用K-Means算法构造单词表。K-Means算法是一种基于样本间相似性度量的间接聚类方法,此算法以K为参数,把N个对象分为K个簇,以使簇内具有较高的相似度,而簇间相似度较低。SIFT提取的视觉词汇向量之间根据距离的远近,可以利用K-Means算法将词义相近的词汇合并,作为单词表中的基础词汇,假定我们将K设为4,那么单词表的构造过程如图5所示:
然后是利用单词表的中词汇表示图像。利用SIFT算法,可以从每幅图像中提取很多个特征点,这些特征点都可以用单词表中的单词近似代替,通过统计单词表中每个单词在图像中出现的次数,可以将图像表示成为一个K=4维数值向量,如图6:
我们从人脸、自行车和吉他三个目标类图像中提取出的不同视觉词汇,而构造的词汇表中,会把词义相近的视觉词汇合并为同一类,经过合并,词汇表中只包含了四个视觉单词,分别按索引值标记为1,2,3,4。通过观察可以看到,它们分别属于自行车、人脸、吉他、人脸类。统计这些词汇在不同目标类中出现的次数可以得到每幅图像的直方图表示:
人脸:[3,30,3,20]
自行车:[20,3,3,2]
吉他:[8,12,32,7]
其实这个过程就是针对人脸、自行车和吉他这三个文档,抽取出相似的部分(或者词义相近的视觉词汇合并为同一类),构造一个词典,词典中包含4个视觉单词,即Dictionary={1:”自行车”,2.“人脸”,3.“吉他”,4.“人脸类”},最终人脸、自行车和吉他这三个文档皆可以用一个4维向量表示,最后根据三个文档相应部分出现的次数画成了上面对应的直方图。
下面,总结一下如何利用Bag-of-words模型将一幅图像表示成为数值向量:
第一步:利用SIFT算法从不同类别的图像中提取视觉词汇向量,这些向量代表的是图像中局部不变的特征点;
第二步:将所有特征点向量集合到一块,利用K-Means算法合并词义相近的视觉词汇,构造一个包含K个词汇的单词表;
第三步:统计单词表中每个单词在图像中出现的次数,从而将图像表示成为一个K维数值向量。
2.1.2 Latent Dirichlet Allocation(LDA
LDA(Latent dirichlet allocation)是由Blei于2003年提出的三层贝叶斯主题模型,通过无监督的学习方法发现文本中隐含的主题信息,目的是要以无指导学习的方法从文本中发现隐含的语义维度-即“Topic”或者“Concept”。隐性语义分析的实质是要利用文本中词项(term)的共现特征来发现文本的Topic结构,这种方法不需要任何关于文本的背景知识。文本的隐性语义表示可以对“一词多义”和“一义多词”的语言现象进行建模,这使得搜索引擎系统得到的搜索结果与用户的query在语义层次上match,而不是仅仅只是在词汇层次上出现交集。
LDA生成过程:所谓生成模型,就是说,我们认为一篇文章的每个词都是通过“以一定概率选择了某个主题,并从这个主题中以一定概率选择某个词语”这样一个过程得到。文档到主题服从多项式分布,主题到词服从多项式分布。每一篇文档代表了一些主题所构成的一个概率分布,而每一个主题又代表了很多单词所构成的一个概率分布。
首先所做的事情都在词典的限定下,就是文档中出现的词都不会超出词典给出的范围。比如说,话题“基因”中以很高的概率包含若干关于基因的词,而话题“进化生物学”则会以很高概率包含进化生物学的相关词。我们假设这些话题在数据产生前已经确定了。现在在文档集合中的每个文档,来生成其中的文字。步骤如下:
(1)随机选择话题之上的分布;
(2)对文档中的每个词:从步骤(1)中产生的分布中随机选择一个话题;
(3)从词典上的对应分布中随机选择一个词。
这个统计模型反应出文档拥有不同比例的话题;每个文档中的每个词都是从众多话题之一中抽取出来的,而被选择的话题是从针对每个文档的话题上的分布中产生的。
在LDA中,所有的文档共有同样的话题集,但是每个文档以不同的比例展示对应的话题。LDA的主要目标是自动发现一个文档集合中的话题。这些文档本身是可以观测到的,而话题的结构——话题、每个文档的话题分布和每个文档的每个词的话题赋值——是隐藏的(可称为hidden structure)。话题建模的核心计算问题就是使用观测到的文档来推断隐藏话题结构。这也可以看作是生成 (generative)过程的逆过程——什么样的隐藏结构可以产生观测到的文档集合?
借助LDA算法可以得到话题的结构,需要指出的是,算法本身并不需要用到这些话题的信息,文档本身也没有使用话题或者关键字进行标注。这个隐藏结构最有可能产生现在可以观测到的文档集合。
话题模型方便的地方就是可以通过推断的隐藏结构来组成文档的主题结构。这样的信息对于信息检索,分类和语料研究提供了有力的支撑。所以可以这样说,话题模型给出了一种管理、组织和标注文本的大量集合的算法解答。
LDA的定义和分析:
LDA和其他一些话题模型从属于概率建模领域之下。生成概率建模中,我们的数据可以从一个包含了隐藏变量的生成过程中得到。这个生成过程定义了一个在已观测随机变量和隐藏随机变量之上的联合概率分布。我们通过使用联合概率分布来计算给定观测变量值下的隐藏变量的条件分布。这种条件分布也被叫做后验分布。
LDA正好属于这个框架。已观测的变量就是那些文档中的词;隐藏变量就是话题模型;生成过程就是前面我们介绍的。而从文档来推断隐藏话题结构的问题就变成了计算后验分布的问题——计算给定文档后隐藏变量的条件分布。
可以形式化地描述LDA,话题(Topics)是\beta_{1:K},其中每个\beta_k 是在词典上的分布。第d个文档的话题比例(Per-document topic proportions)是 \theta_d,其中\theta_{d,k}是话题k在文档d中的比例。对第d个文档的话题赋值(Per-word topicassignment)就是z_d,其中z_{d,n}是第d个文档的第n个词的话题赋值。最后,文档d观测到的词(Observed word)是w_d,其中w_{d, n}是在文档d中的第n个词,它是来自于我们给定的词典的。
LDA参数:如图7,K为主题个数,M为文档总数,Nm是第m个文档的单词总数。是每个Topic下词的多项分布的Dirichlet先验参数,是每个文档下 Topic的多项分布的Dirichlet先验参数。Zm,n是第m个文档中第n个词的主题, wm,n是m个文档中的第n个词。剩下来的两个隐含变量和分别表示第m 个文档下的Topic分布和第k个Topic下词的分布,前者是k维(k为Topic总数) 向量,后者是v维向量(v为词典中term总数)。
2.1.3BERT工具与其原理
Masked LM新技术:它随机mask句子中的单词,然后尝试预测它们。mask 意味着模型将从两个方向观察,它使用句子的全部上下文,包括左边和右边的环境,来预测被mask的词(将某个词盖住,并预测该词)。与之前的语言模型不同,它会同时考虑前一个和下一个标记。现有的基于LSTM的从左到右和从右到左的组合模型缺少这个“相同时间的部分”。(更准确地说,BERT是没有方向性的。)
ERT依附于“Transformer”(一种标注机制,用来学习文本中单词之间的上下文关系)。
Transformer简介:一个基本的Transformer包括一个编码器,用来读取文本输入,一个解码器,用来产生关于任务的预测。
BERT中仅需要一个编码器的部分;
BERT是一个用Transformers作为特征抽取器的深度双向预训练语言理解模型;
word2vec是一个上下文无关的模型,为词汇表中的每个词都找到各自的词向量。
Transformer工作时力求执行一个少的、恒定数量的步骤。在每个步骤中,它应用一个标注机制来理解句子中所有单词之间的关系,而不管它们的位置。例如,对于句子“Iarrived at the bank after crossing the river”,需要确定“bank”这个词是指一条河的岸边,而不是一个金融机构,Transformer可以很快根据“river”这个词进行标注,只用一步就实现了目的。
BERT在训练的时候将遮盖住语料中的15%的词语,用[MASK]代替,通过预测这部分的词语(与true word相比较)学习句子中的语义、句法和语义信息。 (这是一个不断迭代的过程,参考word2vec的训练过程)
其指导思想是“简单”:使用(MASK)token随机mask 15%的单词输入,之后运行基于编码器的BERT标注,然后基于所提供的上下文中的其他 non-masked词序列预测被mask的单词含义。然而,这种原始的mask方法有一个问题——模型只在[MASK]token出现在输入中时才尝试预测,而我们希望模型不管输入中出现了什么tokens都能够尝试预测正确的tokens。为了解决这个问题,我们选择mask15%的tokens:(如果标记都用[MASK]表示会影响模型,所以在随机mask的时候采用下面的策略。
1.实际上80%的tokens被替换为token[MASK]。
eg、my dog is hairy→my dog is[MASK]
2.10%的token被替换为随机token。
eg、my dog is hairy→my dog is apple
3.10%的token保持不变。
eg、my dog is hairy→my dog is hairy
2.1.4 TF-IDF方法
TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TF-IDF加权的各种形式常被搜索引擎应用,作为文件与用户查询之间相关程度的度量或评级。除了TF-IDF以外,因特网上的搜索引擎还会使用基于链接分析的评级方法,以确定文件在搜寻结果中出现的顺序。
TF-IDF的主要思想是:如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。TFIDF实际上是:TF*IDF,TF词频(Term Frequency),IDF逆向文件频率(Inverse DocumentFrequency)。TF表示词条在文档d中出现的频率。 IDF的主要思想是:如果包含词条t的文档越少,也就是n越小,IDF越大,则说明词条t具有很好的类别区分能力。如果某一类文档C中包含词条t的文档数为m,而其它类包含t的文档总数为k,显然所有包含t的文档数n=m+k,当m 大的时候,n也大,按照IDF公式得到的IDF的值会小,就说明该词条t类别区分能力不强。但是实际上,如果一个词条在一个类的文档中频繁出现,则说明该词条能够很好代表这个类的文本的特征,这样的词条应该给它们赋予较高的权重,并选来作为该类文本的特征词以区别与其它类文档。这就是IDF的不足之处.在一份给定的文件里,词频(termfrequency,TF)指的是某一个给定的词语在该文件中出现的频率。这个数字是对词数(termcount)的归一化,以防止它偏向长的文件。(同一个词语在长文件里可能会比短文件有更高的词数,而不管该词语重要与否)对于在某一特定文件里的词语来说,它的重要性可表示为:
以上式子中分子是该词在文件中的出现次数,而分母则是在文件中所有字词的出现次数之和。
逆向文件频率(inverse document frequency,IDF)是一个词语普遍重要性的度量。某一特定词语的IDF,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取以10为底的对数得到,其中:
|D|:语料库中的文件总数
包含词语的文件数目(即的文件数目)如果该词语不在语料库中,就会导致分母为零,因此一般情况下使用作为分母。然后再计算TF与IDF的乘积。
某一特定文件内的高词语频率,以及该词语在整个文件集合中的低文件频率,可以产生出高权重的TF-IDF。因此,TF-IDF倾向于过滤掉常见的词语,保留重要的词语。
TFIDF算法是建立在这样一个假设之上的:对区别文档最有意义的词语应该是那些在文档中出现频率高,而在整个文档集合的其他文档中出现频率少的词语,所以如果特征空间坐标系取TF词频作为测度,就可以体现同类文本的特点。另外考虑到单词区别不同类别的能力,TFIDF法认为一个单词出现的文本频数越小,它区别不同类别文本的能力就越大。因此引入了逆文本频度IDF的概念,以TF和IDF的乘积作为特征空间坐标系的取值测度,并用它完成对权值 TF的调整,调整权值的目的在于突出重要单词,抑制次要单词。但是在本质上 IDF是一种试图抑制噪音的加权,并且单纯地认为文本频数小的单词就越重要,文本频数大的单词就越无用,显然这并不是完全正确的。IDF的简单结构并不能有效地反映单词的重要程度和特征词的分布情况,使其无法很好地完成对权值调整的功能,所以TFIDF法的精度并不是很高。
此外,在TFIDF算法中并没有体现出单词的位置信息,对于Web文档而言,权重的计算方法应该体现出HTML的结构特征。特征词在不同的标记符中对文章内容的反映程度不同,其权重的计算方法也应不同。因此应该对于处于网页不同位置的特征词分别赋予不同的系数,然后乘以特征词的词频,以提高文本表示的效果。
2.1.5 TextRank方法
TextRank算法是一种文本排序算法,由谷歌的网页重要性排序算法 PageRank算法改进而来,它能够从一个给定的文本中提取出该文本的关键词、关键词组,并使用抽取式的自动文摘方法提取出该文本的关键句。本章节介绍 TextRank算法的基本原理,然后给出Python中TextRank算法的中文文本实现模块textrank4zh的使用实例。
TextRank算法是由网页重要性排序算法PageRank算法迁移而来:PageRank 算法根据万维网上页面之间的链接关系计算每个页面的重要性;TextRank算法将词视为“万维网上的节点”,根据词之间的共现关系计算每个词的重要性,并将PageRank中的有向边变为无向边。PageRank算法的核心思想如下:
如果一个网页被很多其他网页链接到,说明这个网页比较重要,即该网页的PR值(PageRank值)会相对较高;
如果一个PR值很高的网页链接到一个其他网页,那么被链接到的网页的 PR值会相应地因此而提高。
以投票机制的观点来看,一个网页的得票数由所有链向它的网页的得票数经过递归算法来得到,有到一个网页的超链接相当于对该网页投了一票。
TextRank算法是由PageRank算法改进而来的,二者的思想有相同之处,区别在于:PageRank算法根据网页之间的链接关系构造网络,而TextRank算法根据词之间的共现关系构造网络;PageRank算法构造的网络中的边是有向无权边,而TextRank算法构造的网络中的边是无向有权边。TextRank算法的核心公式如下,其中用于表示两个节点之间的边连接具有不同的重要程度:
为了便于理解,给出使用TextRank算法提取关键词和关键词组的具体步骤如下:
1)将给定的文本按照整句进行分割,即T=[S1,S2,...,Sm];
2)对于每个句子Si∈T,对其进行分词和词性标注,然后剔除停用词,只保留指定词性的词,如名词、动词、形容词等,即Si=[ti,1,ti,2,…,ti,n],其中 ti,j为句子i中保留下的词;
3)构建词图G=(V,E),其中V为节点集合,由以上步骤生成的词组成,然后采用共现关系构造任意两个节点之间的边:两个节点之间存在边仅当它们对应的词在长度为K的窗口中共现,K表示窗口大小,即最多共现K个单词,一般K取2;
4)根据上面的公式,迭代计算各节点的权重,直至收敛;
5)对节点的权重进行倒序排序,从中得到最重要的t个单词,作为top-t关键词;
6)对于得到的top-t关键词,在原始文本中进行标记,若它们之间形成了相邻词组,则作为关键词组提取出来。
从给定文本中提取关键句时,将文本中的每个句子分别看作一个节点,如果两个句子有相似性,则认为这两个句子对应的节点之间存在一条无向有权边,衡量句子之间相似性的公式如下:
Si、Sj:两个句子
wk:句子中的词
分子部分的意思是同时出现在两个句子中的同一个词的数量,分母是对句子中词的个数求对数后求和,这样设计可以遏制较长的句子在相似度计算上的优势。
根据以上相似度计算公式循环计算任意两个节点之间的相似度,设置阈值去掉两个节点之间相似度较低的边连接,构建出节点连接图,然后迭代计算每个节点的TextRank值,排序后选出TextRank值最高的几个节点对应的句子作为关键句。
2.1.6 Word2Vec方法
Word2vec使用的词向量是Distributed representation的词向量表示方式。其基本思想是通过训练将每个词映射成K维实数向量(K一般为模型中的超参数),通过词之间的距离(比如cosine相似度、欧氏距离等)来判断它们之间的语义相似度.其采用一个三层的神经网络,输入层-隐层-输出层。有个核心的技术是根据词频用Huffman编码,使得所有词频相似的词隐藏层激活的内容基本一致,出现频率越高的词语,他们激活的隐藏层数目越少,这样有效的降低了计算的复杂度。而Word2vec大受欢迎的一个原因正是其高效性,Mikolov 在论文中指出,一个优化的单机版本一天可训练上千亿词。
这个三层神经网络本身是对语言模型进行建模,但也同时获得一种单词在向量空间上的表示,而这个副作用才是Word2vec的真正目标。
与潜在语义分析(Latent Semantic Index,LSI)、潜在狄立克雷分配(LatentDirichlet Allocation,LDA)的经典过程相比,Word2vec利用了词的上下文,语义信息更加地丰富。
如图8,Word2Vec实际上是两种不同的方法:Continuous Bag of Words (CBOW)和Skip-gram。CBOW的目标是根据上下文来预测当前词语的概率。 Skip-gram刚好相反:根据当前词语来预测上下文的概率(如下所示)。这两种方法都利用人工神经网络作为它们的分类算法。起初,每个单词都是一个随机N维向量。经过训练之后,该算法利用CBOW或者Skip-gram的方法获得了每个单词的最优向量。
取一个适当大小的窗口当做语境,输入层读入窗口内的词,将它们的向量 (K维,初始随机)加和在一起,形成隐藏层K个节点。输出层是一个巨大的二叉树,叶节点代表语料里所有的词(语料含有V个独立的词,则二叉树有|V| 个叶节点)。而这整颗二叉树构建的算法就是Huffman树。这样,对于叶节点的每一个词,就会有一个全局唯一的编码,形如"010011",不妨记左子树为1,右子树为0。接下来,隐层的每一个节点都会跟二叉树的内节点有连边,于是对于二叉树的每一个内节点都会有K条连边,每条边上也会有权值。
对于语料库中的某个词w_t,对应着二叉树的某个叶子节点,因此它必然有一个二进制编码,如"010011"。在训练阶段,当给定上下文,要预测后面的词 w_t的时候,我们就从二叉树的根节点开始遍历,这里的目标就是预测这个词的二进制编号的每一位。即对于给定的上下文,我们的目标是使得预测词的二进制编码概率最大。形象地说,我们希望在根节点,词向量和与根节点相连经过 logistic计算得到bit=1的概率尽量接近0,在第二层,希望其bit=1的概率尽量接近1,这么一直下去,我们把一路上计算得到的概率相乘,即得到目标词 w_t在当前网络下的概率P(w_t),那么对于当前这个sample的残差就是1-P(w_t),于是就可以使用梯度下降法训练这个网络得到所有的参数值了。显而易见,按照目标词的二进制编码计算到最后的概率值就是归一化的。
Hierarchical Softmax用Huffman编码构造二叉树,其实借助了分类问题中,使用一连串二分类近似多分类的思想。例如我们是把所有的词都作为输出,那么“桔子”、“汽车”都是混在一起。给定w_t的上下文,先让模型判断w_t是不是名词,再判断是不是食物名,再判断是不是水果,再判断是不是“桔子”。
但是在训练过程中,模型会赋予这些抽象的中间结点一个合适的向量,这个向量代表了它对应的所有子结点。因为真正的单词公用了这些抽象结点的向量,所以Hierarchical Softmax方法和原始问题并不是等价的,但是这种近似并不会显著带来性能上的损失同时又使得模型的求解规模显著上升。
没有使用这种二叉树,而是直接从隐层直接计算每一个输出的概率——即传统的Softmax,就需要对|V|中的每一个词都算一遍,这个过程时间复杂度是 O(|V|)的。而使用了二叉树(如Word2vec中的Huffman树),其时间复杂度就降到了O(log2(|V|)),速度大大地加快了。
现在这些词向量已经捕捉到上下文的信息。我们可以利用基本代数公式来发现单词之间的关系(比如,“国王”-“男人”+“女人”=“王后”)。这些词向量可以代替词袋用来预测未知数据的情感状况。该模型的优点在于不仅考虑了语境信息还压缩了数据规模(通常情况下,词汇量规模大约在300个单词左右而不是之前模型的100000个单词)。因为神经网络可以替我们提取出这些特征的信息,所以我们仅需要做很少的手动工作。但是由于文本的长度各异,我们可能需要利用所有词向量的平均值作为分类算法的输入值,从而对整个文本实施例档进行分类处理。
然而,即使上述模型对词向量进行平均处理,我们仍然忽略了单词之间的排列顺序对情感分析的影响。即上述的word2vec只是基于词的维度进行"语义分析"的,而并不具有上下文的"语义分析"能力。
作为一个处理可变长度文本的总结性方法,Quoc Le和Tomas Mikolov提出了Doc2Vec方法。除了增加一个段落向量以外,这个方法几乎等同于 Word2Vec。和Word2Vec一样,该模型也存在两种方法:Distributed Memory(DM) 和Distributed Bag of Words(DBOW)。DM试图在给定上下文和段落向量的情况下预测单词的概率。在一个句子或者文档的训练过程中,段落ID保持不变,共享着同一个段落向量。DBOW则在仅给定段落向量的情况下预测段落中一组随机单词的概率。
3.1文本相似度计算
文本相似度计算的分析主要包含:文本编码成句向量的生成,距离计算公式应用(有监督与无监督两种模式)。“3.1”的章节描述了文本向量抽取的方法,本章节内容为在完成句、词向量生成的基础上,进行相似度计算的方法说明。
3.1.1无监督的相似度计算方法
就是用欧氏距离等方法,直接计算文本之间的距离或者相似度。这类方法的特点是:不需要标注语料,特征工程或者参数估计可以使用很大的数据;很多方法对语言的依赖比较小,可以应对多语种混杂的场景;距离计算环节复杂度较低。其中:
(1)欧式距离:
其特点是:只考虑距离,没考虑方向,距离越小说明越相似。
(2)余弦相似度:
其特点是:既考虑了方向又考虑了距离。
(3)简单共有词
通过计算两篇文档共有的词的总字符数除以最长文档字符数来评估他们的相似度。
假设有A、B两句话,先取出这两句话的共同都有的词的字数然后看哪句话更长就除以哪句话的字数。
同样是A、B两句话,共有词的字符长度为4,最长句子长度为6,那么4/6,≈0.667。
(4)编辑距离
编辑距离(Edit Distance),又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。一般来说,编辑距离越小,两个串的相似度越大。由俄罗斯科学家Vladimir Levenshtein(找不到他照片 233333)在1965年提出这个概念。
例如将“BABAY是个好人”转成“BABY是个帅哥”,编辑举例就是2~~ (好人变帅哥只要2就好...)~~:BABY是个帅人(好→帅)BABY是个帅哥 (人→哥)
然后拿编辑距离去除以两者之间的最大长度,2/6≈0.333,意味着只要变动这么多就可以从A变成B,所以不用变动的字符便代表了相似度,1-0.333=0.667。
(5)SimHash+汉明距离
simhash是谷歌发明的算法,可以将一个文档转换成64位的字节,然后我们可以通过判断两个字节的汉明距离就知道是否相似了。
汉明距离是以理查德·卫斯里·汉明的名字命名的。在信息论中,两个等长字符串之间的汉明距离是两个字符串对应位置的不同字符的个数。换句话说,它就是将一个字符串变换成另外一个字符串所需要替换的字符个数。例如:
1011101与1001001之间的汉明距离是2。
"toned"与"roses"之间的汉明距离是3。
首先我们来计算SimHash:
①提取文档关键词得到[word,weight]这个一个数组。(举例[美国,4])
②用hash算法将word转为固定长度的二进制值的字符串[hash(word), weight]。(举例[100101,4])
③word的hash从左到右与权重相乘,如果为1则乘以1,如果是0则曾以-1。(举例4,-4,-4,4,-4,4)
④接着计算下个数,直到将所有分词得出的词计算完,然后将每个词第三步得出的数组中的每一个值相加。(举例美国和51区,[4,-4,-4,4,-4,4] 和[5 -5 5 -5 5 5]得到[9 -9 1 -1 1 9])
⑤对第四步得到的数组中每一个值进行判断,如果>0记为1,如果<0记为0。(举例[101011])
第四步得出的就是这个文档的SimHash。
这样我们就能将两个不同长度的文档转换为同样长度的SimHash值,可以计算第一个文档的值和第二个文档的汉明距离(一般<3就是相似度高的)。
SimHash本质上是局部敏感性的hash(如果是两个相似的句子,那么只会有部分不同),和md5之类的不一样。正因为它的局部敏感性,所以我们可以使用海明距离来衡量SimHash值的相似度。
如果想要小数形式的可以这么做:1-汉明距离/最长关键词数组长度。
(6)Jaccard相似性系数
Jaccard系数,又叫Jaccard相似性系数,用来比较样本集中的相似性和分散性的一个概率。Jaccard系数等于样本集交集与样本集合集的比值,即J=|A ∩B|÷|A∪B|。
即交集除以并集,两个文档的共同都有的词除以两个文档所有的词。
(7)欧几里得距离
欧几里得距离是用得非常广的公式,设A(x1,y1),B(x2,y2)是平面上任意两点那么两点间的距离距离(A,B)=平方根((x1-x2...)^2+(y1-y2....)^2)
我们可以拿两个文档所有的词(不重复)在A文档的词频作为x,在B文档的作为y进行计算。
同样拿A=你是个坏人、B=小明是个坏人这两句话作为例子,词频分别为 A={10 1 1}、B={0 1 1 1}。
那么距离为根号2,≈1.414(余3位)
然后可以通过1÷(1+欧几里德距离)得到相似度。
(8)曼哈顿距离
曼哈顿距离(Manhattan Distance)是由十九世纪的赫尔曼·闵可夫斯基所创词汇,是种使用在几何度量空间的几何学用语,用以标明两个点上在标准坐标系上的绝对轴距总和。
跟欧几里德距离有点像,简单来说就是d(i,j)=|x1-x2...|+|y1-y2...|,同理xn和yn分别代表两个文档所有的词(不重复)在A和B的词频。
然后可以通过1÷(1+曼哈顿距离)得到相似度。
(10)杰卡德相似系数
两个集合A和B交集元素的个数在A、B并集中所占的比例,称为这两个集合的杰卡德系数,用符号J(A,B)表示。杰卡德相似系数是衡量两个集合相似度的一种指标(余弦距离也可以用来衡量两个集合的相似度)。
jaccard值越大说明相似度越高。
3.1.2有监督的文本相似度计算
普通用朴素贝叶斯分类器之类的有监督模型来判断文本相似性或者计算相似度。这类方法要求有一定数量的标注语料,构建的代价比较高;由于训练语料通常无法做得很大,模型的泛化性不够,实际用起来会有点麻烦;距离计算环节的复杂度会比较高。
通过上述说明可知,本发明带来的有益效果在于:本发明为后续信息系统固化科技项目评审专家推荐、申报成员专业能力评估功能提供基础,进而进行信息系统固化,保障专家遴选效率及专家专业性匹配度,建立客观量化的申报主体成员竞争力评估体系,使科技项目立项评审工作更加高效、智能。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (10)
1.一种科技项目文本挖掘的实现方法,其特征在于,包括:
步骤S1,对文本信息进行数据预处理,将文本转换为向量形式并进行特征提取;
步骤S2,将提取的特征向量构建向量空间模型,并对所述向量空间模型进行降维处理;
步骤S3,采用文本挖掘算法对文本进行挖掘,并对挖掘结果进行可视化表达;
步骤S4,将文本表示为计算机可以计算的数值向量;
步骤S5,基于所述数值向量计算文本之间的相似度。
2.根据权利要求1所述的实现方法,其特征在于,所述步骤S1中,数据预处理具体包括分词处理、特征表示和特征提取。
3.根据权利要求2所述的实现方法,其特征在于,所述分词处理具体包括采用基于词库的分词算法和基于无词典的分词算法,基于词库的分词算法包括正向最大匹配、正向最小匹配、逆向匹配及逐词遍历匹配法;基于无词典的分词算法是基于词频的统计,将原文中任意前后紧邻的两个字作为一个词进行出现频率的统计,在频率超过预先设定的阈值时,就将其作为一个词进行索引。
4.根据权利要求2所述的实现方法,其特征在于,所述特征表示具体是关以一定特征项来代表文档,在文本挖掘时对所述特征项进行处理,从而实现对非结构化的文本处理。
5.根据权利要求2所述的实现方法,其特征在于,所述特征提取具体是构造一个评价函数对每个特征进行评估,然后把特征按分值高低排序,预定数目分数最高的特征被选取。
6.根据权利要求1所述的实现方法,其特征在于,所述步骤S2中,降维处理具体是采用非负矩阵分解,将所述向量空间模型分解成两个非负、非正交的子矩阵。
7.根据权利要求1所述的实现方法,其特征在于,所述步骤S4包括利用Bag-of-words模型将一幅图像表示成为数值向量,其具体包括:
利用SIFT算法从不同类别的图像中提取视觉词汇向量,所述视觉词汇向量代表的是图像中局部不变的特征点;
将所有特征点向量集合到一块,利用K-Means算法合并词义相近的视觉词汇,构造一个包含K个词汇的单词表;
统计单词表中每个单词在图像中出现的次数,从而将图像表示成为一个K维数值向量。
8.根据权利要求1所述的实现方法,其特征在于,所述步骤S5包括:使用TextRank算法提取关键词和关键词组,其具体步骤如下:
将给定的文本按照整句进行分割,即T=[S1,S2,...,Sm];
对于每个句子Si∈T,对其进行分词和词性标注,然后剔除停用词,只保留指定词性的词,即Si=[ti,1,ti,2,...,ti,n],其中ti,j为句子i中保留下的词;
构建词图G=(V,E),其中V为节点集合,由以上步骤生成的词组成,然后采用共现关系构造任意两个节点之间的边:两个节点之间存在边仅当它们对应的词在长度为K的窗口中共现,K表示窗口大小;
迭代计算各节点的权重直至收敛;
对节点的权重进行倒序排序,从中得到最重要的t个单词,作为top-t关键词;
对于得到的top-t关键词,在原始文本中进行标记,若它们之间形成了相邻词组,则作为关键词组提取出来。
10.根据权利要求1所述的实现方法,其特征在于,所述步骤S5包括无监督的相似度计算方法、有监督的文本相似度计算方法,所述无监督的相似度计算方法具体是采用欧氏距离方法,直接计算文本之间的距离或者相似度;所述有监督的文本相似度计算方法是采用朴素贝叶斯分类器的有监督模型来判断文本相似性或者计算相似度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111587458.8A CN114265936A (zh) | 2021-12-23 | 2021-12-23 | 一种科技项目文本挖掘的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111587458.8A CN114265936A (zh) | 2021-12-23 | 2021-12-23 | 一种科技项目文本挖掘的实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114265936A true CN114265936A (zh) | 2022-04-01 |
Family
ID=80829008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111587458.8A Pending CN114265936A (zh) | 2021-12-23 | 2021-12-23 | 一种科技项目文本挖掘的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114265936A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117892331A (zh) * | 2024-03-14 | 2024-04-16 | 山东仁正认证技术有限公司 | 一种科技成果共享平台的数据安全存储方法 |
CN118035427A (zh) * | 2024-04-15 | 2024-05-14 | 之江实验室 | 一种通过3d对比学习增强多模态图文检索的方法及装置 |
-
2021
- 2021-12-23 CN CN202111587458.8A patent/CN114265936A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117892331A (zh) * | 2024-03-14 | 2024-04-16 | 山东仁正认证技术有限公司 | 一种科技成果共享平台的数据安全存储方法 |
CN117892331B (zh) * | 2024-03-14 | 2024-05-24 | 山东仁正认证技术有限公司 | 一种科技成果共享平台的数据安全存储方法 |
CN118035427A (zh) * | 2024-04-15 | 2024-05-14 | 之江实验室 | 一种通过3d对比学习增强多模态图文检索的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Andhale et al. | An overview of text summarization techniques | |
CN112001187B (zh) | 一种基于中文句法和图卷积神经网络的情感分类系统 | |
Zubrinic et al. | The automatic creation of concept maps from documents written using morphologically rich languages | |
CN112001185A (zh) | 一种结合中文句法和图卷积神经网络的情感分类方法 | |
CN112001186A (zh) | 一种利用图卷积神经网络和中文句法的情感分类方法 | |
Wahid et al. | Topic2Labels: A framework to annotate and classify the social media data through LDA topics and deep learning models for crisis response | |
Wu et al. | Exploring syntactic and semantic features for authorship attribution | |
CN114254653A (zh) | 一种科技项目文本语义抽取与表示分析方法 | |
Toshevska et al. | Comparative analysis of word embeddings for capturing word similarities | |
CN114265936A (zh) | 一种科技项目文本挖掘的实现方法 | |
Alhojely et al. | Recent progress on text summarization | |
CN111259156A (zh) | 一种面向时间序列的热点聚类方法 | |
Dhankhar et al. | A statistically based sentence scoring method using mathematical combination for extractive Hindi text summarization | |
Sharma et al. | Shallow neural network and ontology-based novel semantic document indexing for information retrieval | |
Zhang et al. | Combining the attention network and semantic representation for Chinese verb metaphor identification | |
Aalaa Abdulwahab et al. | Documents classification based on deep learning | |
Dong et al. | Knowledge graph construction of high-performance computing learning platform | |
Batista | Large-scale semantic relationship extraction for information discovery | |
Beumer | Evaluation of Text Document Clustering using k-Means | |
Thambi et al. | Graph based document model and its application in keyphrase extraction | |
Hao | Naive Bayesian Prediction of Japanese Annotated Corpus for Textual Semantic Word Formation Classification | |
Zhang et al. | Construction and Research on Chinese Semantic Mapping Based on Linguistic Features and Sparse Self‐Learning Neural Networks | |
Imtiaz | A novel Auto-ML Framework for Sarcasm Detection | |
Elmenshawy et al. | Automatic arabic text summarization (AATS): A survey | |
Altaf et al. | Efficient natural language classification algorithm for detecting duplicate unsupervised features |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |