CN102541913A - 面向Web的VSM分类器训练、OSSP页面识别及OSS资源提取方法 - Google Patents

面向Web的VSM分类器训练、OSSP页面识别及OSS资源提取方法 Download PDF

Info

Publication number
CN102541913A
CN102541913A CN2010106097430A CN201010609743A CN102541913A CN 102541913 A CN102541913 A CN 102541913A CN 2010106097430 A CN2010106097430 A CN 2010106097430A CN 201010609743 A CN201010609743 A CN 201010609743A CN 102541913 A CN102541913 A CN 102541913A
Authority
CN
China
Prior art keywords
keyword
ossp
vsm
page
web
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.)
Granted
Application number
CN2010106097430A
Other languages
English (en)
Other versions
CN102541913B (zh
Inventor
王怀民
朱沿旭
尹刚
袁霖
史殿习
米海波
滕猛
刘惠
刘波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201010609743.0A priority Critical patent/CN102541913B/zh
Publication of CN102541913A publication Critical patent/CN102541913A/zh
Application granted granted Critical
Publication of CN102541913B publication Critical patent/CN102541913B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明提供了面向Web的VSM分类器训练、OSSP页面识别及OSS资源提取方法。其中,VSM分类器训练方法包括:基于OSSP页面识别特征向量,用初始样本集训练VSM分类器;所述OSSP页面识别特征向量是:在软件版本控制管理关键词、邮件列表关键词、Bug跟踪关键词、开发者列表关键词、证书关键词、修改日志关键词、任务列表关键词,以及软件控制管理命令中选取其中7项或选择全部8项作为分量而组成的VSM分类器特征向量。OSSP页面识别方法则是根据所训练出的VSM分类器识别出Web页面是否为OSSP页面。OSS资源提取方法则是在所识别出的OSSP页面中查找OSS资源并将其下载到本地。本发明能够显著提高面向Web的OSSP页面识别的精确度;够提高OSS资源搜索和下载的完备性;能够更准确地获取OSS资源。

Description

面向Web的VSM分类器训练、OSSP页面识别及OSS资源提取方法
技术领域
本发明涉及Web文档分类和Web页面信息提取技术领域,具体地说,本发明涉及VSM分类器训练方法、OSSP(开源软件主页)页面识别方法及OSS(开源软件)资源提取方法。
背景技术
一、OSS简介
开源软件英文为Open Source Software,缩写为OSS。自1983年自由软件运动发起,开源软件的拥护者一直倡导着“自由、参与、奉献和协作”的精神,这种精神吸引着大批精英投身其中,逐渐形成了自由软件联盟(FSF)、开放源码促进会(OSI)等多个组织。
开源软件经历了近三十年的发展,在全球形成了庞大的规模,以Linux为龙头的开源软件迅猛增长,同时也逐渐形成了类似Sourceforge的开源软件协同开发联盟(OSSF),每个联盟中的软件项目数从几十个几百个到几十万个不等,这样的联盟数目还在不断的增加中。
二、OSS资源的搜索方法
目前,各大开源软件联盟一般都内嵌有专用搜索引擎,从而方便了用户或OSS开发者查找自己所需的OSS资源(主要是源代码)。然而,这种专用搜索引擎往往只能用于一个开源软件联盟内部的搜索,信息量十分有限,所返回搜索结果不够完备。
另外,现有技术中还可以使用通用搜索引擎(比如Google)在海量的Web页面中搜索OSS资源。以Google为例,输入开源软件的关键词,Google会返回搜索结果列表,用户可以通过浏览搜索结果列表来获取OSS资源。这种做法所返回搜索结果较为完备,然而,使用通用搜索引擎返回的结果往往夹杂大量的不含有OSS资源的Web页面,因此,用户必须浏览大量的页面来寻找所要的软件,使用十分不便。因此当前迫切需要能够同时提高搜索完备性和准确性的OSS资源搜索的解决方案。
三、现有的基于机器学习的文本分类技术
现有技术中,存在一种基于机器学习的文本分类技术,该技术可以应用于网页分类。然而,基于机器学习的文本分类技术用于OSSP页面识别,会存在以下缺陷:
1、OSSP页面不同于普通Web页面,不能简单地依据词频来选取关键词。比如对识别OSSP页面相当有价值的SVN、Git、CVS、License等词在OSSP页面中的词频可能并不高,有时甚至可能只出现一次。这样,经典的文本分类方法中,一些与OSS无关的但词频较大的词可能会被作为主要特征输入基于机器学习的分类器,进而导致识别结果精确度偏低。
2、在海量的Web页面中,存在大量的与OSS相关的页面,比如简介某一OSS的页面,这类相关页面的具有OSSP页面的很多特征,但缺乏代码版本控制库的入口,也就是说用户不能从这类OSS相关页面中获取源代码。容易理解,经典的文本分类方法中,可能将大量的OSS相关页面误判为OSSP页面,这也使得识别结果精确度大大降低。
综上所述,当前迫切需要一种高精确度的面向Web的OSSP页面识别方法及OSS资源提取方法。
发明内容
本发明的目的是提供一种高精确度的面向Web的VSM分类器训练方法、OSSP页面识别方法及OSS资源提取方法。
为实现上述目的,本发明提供了一种VSM分类器训练方法,该方法基于OSSP页面识别特征向量,用初始样本集训练VSM分类器;所述OSSP页面识别特征向量是:在软件版本控制管理关键词、邮件列表关键词、bug跟踪关键词、开发者列表关键词、证书关键词、修改日志关键词、任务列表关键词,以及软件控制管理命令中选取其中7项或选择全部8项作为分量而组成的VSM分类器特征向量。
本发明还提供了一种面向Web的OSSP页面识别方法,包括下列步骤(如图1所示):
1)基于OSSP页面识别特征向量,用初始样本集训练VSM分类器;所述OSSP页面识别特征向量是:在软件版本控制管理关键词、邮件列表关键词、bug跟踪关键词、开发者列表关键词、证书关键词、修改日志关键词、任务列表关键词,以及软件控制管理命令中选取其中7项或选择全部8项作为分量而组成的VSM分类器特征向量;
2)对每个待识别Web页面,分别提取每个Web页面的OSSP页面识别特征向量,然后用训练过的VSM分类器识别出该Web页面是否为OSSP页面。
本发明还提供了一种面向Web的OSS资源提取方法,包括下列步骤:
1)根据上述的面向Web的OSSP页面识别方法识别出Web页面中的OSSP页面;
2)在所识别出的OSSP页面中查找OSS资源并将其下载到本地。
与现有技术相比,本发明具有下列技术效果:
1、本发明能够显著提高面向Web的OSSP页面识别的精确度;
2、本发明能够提高OSS资源搜索和下载的完备性;
3、本发明能够更准确地获取OSS资源。
附图说明
图1示出了本发明实施例1的面向Web的OSSP页面识别方法的流程图;
图2示出了本发明实施例2的面向Web的OSS资源提取方法的流程图。
具体实施方式
为更好地阐述本发明,首先介绍OSS和OSSP页面的定义,以及现有的基于机器学习的文本分类技术。
①、OSS和OSSP页面的定义
开放源码促进会(OSI)对OSS的定义如下(包括10个方面):
1、自由再发行
许可证不能限制任何团体销售或赠送软件,软件可以是几个不同来源的程序集成后的软件发行版中的其中一个原件。许可证不能要求对这样的销售收取许可证费或其他费用。
2、程序源代码
程序必须包含源代码。必须允许发行版在包含编译形式的同时也包含程序源代码。当产品以某种形式发行时没有包含源代码,必须非常醒目的告知用户,如何通过Internet免费的下载源代码。源代码必须是以当程序员修改程序时优先选用的形式提供。故意地扰乱源代码是不允许的。以预处理程序或翻译器这样的中间形式作为源代码也是不允许的。
3、派生程序
许可证必须允许更改或派生程序。必须允许这些程序按与初始软件相同的许可证发行。
4、作者源代码的完整性
只有当许可证允许在程序开发阶段,为了调整程序的目的将“修补文件”的发行版与源代码一起发行时,许可证才能限制源代码以更改后的形式发行。许可证必须明确地允许按更改后的源代码所建立的程序发行。许可证可以要求派生的程序使用与初始软件不同的名称或版本号。
5、不歧视个人或团体
许可证必须不得歧视任何个人或者团体。
6、不歧视领域内的尝试
许可证不能限制任何人尝试将程序应用于某个特定的领域。例如不能限制程序应用于商业领域,或者应用于遗传研究。
7、许可证发行
附属于程序的权力必须适用于所有的程序分销商,而不需要这些团体之间再附加其他额外的许可证。
8、许可证不能特制某个产品
如果程序是某软件的某一发行版中的一部分,附属于该程序的权力不是必须依赖于这一发行版。如果程序是从某一发行版中摘录出来的,使用或发行时用的都是那个程序的许可证,分销程序的所有团体都应拥有与初始软件版所允许的所有权力。
9、许可证不能排斥其他软件
许可证不能限制随该许可证软件一起发行的其他软件。例如,许可证不能要求所有与之一起发行的其他软件都是开源软件。
10、许可证必须是技术中立的
许可证不能建立在任何个人技术或者接口风格的基础上。
以上定义非常复杂,实际上,本领域技术人员可以简单地从是否具有License和源代码这两个方面来判断一个软件资源是否是OSS资源。本发明中,只要一个软件资源同时具有License和源代码,即判定其为OSS资源。每一个OSS资源一般都具有相应的开源软件开发社区主页,为方便描述,本文中将开源软件开发社区主页称为OSSP。容易理解,如果能够利用学习机从海量的Web页面中识别出哪些是OSSP页面,那么OSS资源的搜索就能同时在效率和完备性两个方面获得显著提高。在本发明中,OSSP页面是指提供了代码版本控制库的入口,能够下载和上传OSS源代码的页面。基于这一定义,在构造初始样本集时,本领域的普通技术人员能够直观地且唯一地判断出一个web页面是否是OSSP页面。
②、现有的基于机器学习的文本分类技术
现有技术中,存在一种基于机器学习的文本分类技术,该技术可以应用于网页分类。下面简要介绍一种经典的文本分类方法,该文本分类主要包括以下几个步骤:
文本表示→训练样本集的建立→训练分类器→分类预测。
文本表示最主要的方法就是向量空间表示模型(Vector Space Model,VSM),现有技术中,主要以词(或词组)作为项,以项的频率为基础计算权重,每个文本d都可以表示为由词和词频对组成的向量,d={(t1,w1d),(t2,w2d),…,(tn,wnd)}。
训练样本集就是有限的一个由文本向量和文本类属组成的集合,其表现形式如表1
表1
  Term1   Term2 ...... 类别
文本1   Term1在文档1中的词频   Term2在文档1中的词频 ...... 体育
文本2   Term1在文档2中的词频   Term2在文档2中的词频 ...... 音乐
......   ......   ...... ...... ......
目前,基于机器学习的分类器主要有:SVM、Bayes、线性分类、决策树及k-NN等方法,SVM具有扎实的理论基础,在许多应用领域比大多数其他的算法更精准,尤其在处理高维数据时;另外,很多研究人员认为SVM可能是解决文本分类问题最为准确的算法,所以一般选择SVM为主要的分类器。
SVM分类器的主要工作原理(最简单的情况):SVM是一个线性的学习***,主要用于二值分类问题。训练样本集为{(X1,y1),(X2,y2),…,(Xn,yn)},其中Xi=(xi1,xi2,…,xir)是一个r维的输入向量,yi是Xi的类属标记。比如,对于表来说,文本1的输入向量为X1=(w11,w21,…,wr1),类属标记为yi∈{体育,音乐}。
SVM就是寻找一个线性函数(1)
f(X)=<W·X>+b          (1)
如果f(Xi)>0那么Xi被赋予正类,否则被赋予负类,即(2)
Figure BSA00000401651200061
对于表来说,如果f(X1)>0说明文本1分类为y1=体育;f(X2)<0说明文本2分类为y2=音乐。
结合上述分析,可以看出,将上述经典的文本分类方法用于OSSP页面识别,会存在以下缺陷:
1、OSSP页面不同于普通Web页面,不能简单地依据词频来选取关键词。比如对识别OSSP页面相当有价值的SVN、Git、CVS、License等词在OSSP页面中的词频可能并不高,有时甚至可能只出现一次。这样,经典的文本分类方法中,一些与OSS无关的但词频较大的词可能会被作为主要特征输入基于机器学习的分类器,进而导致识别结果精确度偏低。
2、在海量的Web页面中,存在大量的与OSS相关的页面,比如简介某一OSS的页面,这类相关页面的具有OSSP页面的很多特征,但缺乏代码版本控制库的入口,也就是说用户不能从这类OSS相关页面中获取源代码。容易理解,经典的文本分类方法中,可能将大量的OSS相关页面误判为OSSP页面,这也使得识别结果精确度大大降低。
下面结合具体实施例对本发明作进一步地描述。
实施例1
根据本发明的一个实施例,提供了一种基于VSM(向量空间表示模型)分类器的面向Web的OSSP页面识别方法,该方法包括下列步骤:
1)选取一组关键词作为VSM分类器的特征向量;
2)基于步骤1)的特征向量,用初始样本集训练VSM分类器;
3)用训练过的VSM分类器进行web页面识别。
本实施例还提供了相应的OSS资源提取方法,该方法是根据上述步骤1)2)3)识别出OSSP页面,然后在该OSSP页面查找OSS资源(如源代码),并将其下载到本地存储设备。
下面分别介绍上述各个步骤。
一、关键词选取
在步骤1)中,VSM分类器的特征向量由一组不同类型的关键词组成。本实施例中,关键词按类型分为:软件版本控制管理关键词、邮件列表关键词、Bug跟踪关键词、开发者列表关键词、证书关键词、修改日志关键词和任务列表关键词。
其中,软件版本控制管理关键词包括SVN、Git或CVS。只要一个Web页面中含有SVN、Git、CVS中任一个词,即可判断该web页面具有软件版本控制管理关键词;否则判断该Web页面不具有软件版本控制管理关键词。
邮件列表关键词包括Mailing Lists、Mail_List或Email_List。只要一个Web页面中含有Mailing Lists、Mail_List或Email_List中任一个词,即可判断该Web页面具有邮件列表关键词;否则判断该Web页面不具有邮件列表关键词。
Bug跟踪关键词包括Bug Trackers、Issue Tracker或Bug Report。只要一个Web页面中含有Bug Trackers、Issue Tracker、Bug Report中任一个词,即可判断该Web页面具有Bug跟踪关键词;否则判断该Web页面不具有Bug跟踪关键词。
开发者列表关键词包括Developer List、Member List、Project Memberlist、Blogger List、View Members或Author。只要一个Web页面中含有DeveloperList、Member List、Project Memberlist、Blogger List、View Members、Author中任一个词,即可判断该Web页面具有开发者列表关键词;否则判断该Web页面不具有开发者列表关键词。
证书关键词包括GPL、Apache License、BSD License、MIT license、Mozilla Public License、Common Development and Distribution License或Eclipse Public License。只要一个Web页面中含有GPL、Apache License、BSDLicense、MIT License、Mozilla Public License、Common Development andDistribution License、Eclipse Public License中任一个词,即可判断该Web页面具有证书关键词;否则判断该Web页面不具有证书关键词。
修改日志关键词包括Change Log、Commit Log、Update Log。只要一个Web页面中含有Change Log、Commit Log、Update Log中任一个词,即可判断该Web页面具有修改日志关键词;否则判断该Web页面不具有修改日志关键词。
任务列表关键词包括task lists。
二、VSM分类器的训练
在步骤2)中,以已知的开源软件协同开发联盟(OSSF)的OSSP页面为基础构建初始训练样本集。初始训练样本集中,对于一个OSSP页面,与其对应的VSM特征向量为:(软件版本控制管理关键词,邮件列表关键词,Bug跟踪关键词,开发者列表关键词,证书关键词,修改日志关键词,任务列表关键词)。每个关键词的值为“0”或“1”,分别表示该OSSP页面不具有或具有对应类型的关键词。而VSM分类器的输出值也为“0”或“1”,分别表示“否”或“是”OSSP页面。
为增加VSM分类器的精确度,可以在初始训练样本集中进一步增加已被人工识别的Web页面。按照前文所述的定义,提供了代码版本控制库的入口,能够下载和上传OSS源代码的页面,即可认为是OSSP页面。基于该定义,本领域的普通技术人员能够直观地且唯一地判断出一个Web页面是否是OSSP页面。
具体地,通过本领域普通技术人员按照OSSP页面定义对100个典型的与OSS相关的Web页面进行判定,得出其是否是OSSP页面,最终形成以是否包含软件版本控制管理关键词,邮件列表关键词,Bug跟踪关键词,开发者列表关键词,证书关键词,修改日志关键词,任务列表关键词为属性,以是否是OSSP页面为类属的训练样本集。
将初始训练样本集中的每个OSSP页面或非OSSP的Web页面的VSM特征向量输入VSM分类器,同时将OSSP页面或非OSSP的Web页面的所对应的VSM输出值也赋予VSM分类器,从而得到经过初始训练的VSM分类器。
三、web页面的识别
在步骤3)中,对于每个待识别的Web页面,计算机分别检索该Web页面中是否具有软件版本控制管理关键词、邮件列表关键词、Bug跟踪关键词、开发者列表关键词、证书关键词、修改日志关键词和任务列表关键词,从而得出该Web页面所对应的VSM特征向量。将该VSM特征向量输入训练过的VSM分类器,得出VSM输出值,如果VSM输出值为“1”时,该Web页面是OSSP页面,如果VSM输出值为“0”时,该Web页面不是OSSP页面。
当VSM输出值为“1”时,可以进一步将当前Web页面的VSM特征向量及其VSM输出值加入训练样本集,以便对VSM分类其作进一步的训练,以进一步提高识别的精确度。
上述实施例以OSSP页面文本中的关键词作为特征训练分类器。然而,仅使用文本中的关键词,可能会出现假阳性的问题。比如简介某一OSS的页面,这类相关页面具有OSSP页面的很多特征,但缺乏代码版本控制库的入口,也就是说用户不能从这类OSS相关页面中获取源代码,因此这类Web页面并不是OSSP页面。而仅使用文本中的关键词作为特征向量进行识别时,有可能将大量简介性质的页面误判为OSSP页面。因此,本发明还提供了优选实施例,该优选实施例与前面的实施例基本一致,区别是采用了不同的VSM特征向量。在优选实施例中,VSM特征向量除了关键词外,还包括OSSP页面结构特征。OSSP页面结构特征包括软件控制管理命令。在优选实施例中,VSM特征向量中增加一个元素--软件控制管理命令。根据web页面是否具有软件控制管理命令来决定VSM特征向量中对应于的软件控制管理命令的值是“1”还是“0”。该优选实施例的其余部分与前述的第一个实施例完全一致,这里不再赘述。
该优选实施例中,软件控制管理命令包括:第一次下载的命令、下载服务器上最新的更新的命令、检出某个修订版本的命令、添加被跟踪文件的命令、删除被跟踪文件的命令或者提交更改的命令。即只要一个Web页面中含有第一次下载的命令、下载服务器上最新的更新的命令、检出某个修订版本的命令、添加被跟踪文件的命令、删除被跟踪文件的命令、提交更改的命令中任一个命令,即可判断该Web页面具有软件控制管理命令;否则判断该Web页面不具有软件控制管理命令。
进一步地,OSSP页面的软件控制管理命令包括:(包含目前主流的三种控制管理软件-svn、cvs、git的常用命令)
(1)第一次下载,包括源码和版本库:
对于SVN控制管理软件,该命令为:
svn checkout http://path/to/repo repo_name
对于CVS控制管理软件,该命令为:
cvs checkout project_Lname
对于Git控制管理软件,该命令为:
git-clone\git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git\linux-2.6
(2)下载服务器上最新的更新
对于SVN控制管理软件,该命令为:
svn update[-r rev]PATH
对于CVS控制管理软件,该命令为:
cvs update
对于Git控制管理软件,该命令为:
git-pull git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
(3)检出某个修订版本
对于SVN控制管理软件,该命令为:
svn checkout-r<rev>
对于CVS控制管理软件,该命令为:
cvs checkout-r rel-1-0 tc
对于Git控制管理软件,该命令为:
git reset-hard-r<rev>
(4)添加被跟踪文件
对于SVN控制管理软件,该命令为:
svn add PATH...
对于CVS控制管理软件,该命令为:
cvs add new_file
对于Git控制管理软件,该命令为:
git-add Documentation/Sandwiches
(5)删除被跟踪文件
对于SVN控制管理软件,该命令为:
svn delete PATH
对于CVS控制管理软件,该命令为:
cvs rm file_name
对于Git控制管理软件,该命令为:
git rm/path/to/file Svn8.Com
(6)提交更改
对于SVN控制管理软件,该命令为:
svn status-v PATH
对于CVS控制管理软件,该命令为:
cvs commit-m″write some comments here″file_name
对于Git控制管理软件,该命令为:
git commit
除了上述实施例外,本发明的VSM特征向量还可以采用其它组合方式。比如,可以从软件版本控制管理关键词、邮件列表关键词、Bug跟踪关键词、开发者列表关键词、证书关键词、修改日志关键词和任务列表关键词以及软件控制管理命令中选择任意7项组成VSM特征向量。
VSM分类器可以选择SVM、Bayes、线性分类、决策树或k-NN等分类器,其中,适合二值分类的方法有SVM和决策树,而本上述实施例属于二值分类的范畴,所以可选的分类器为SVM和决策树。
下面给出本发明的一些实际测试数据。
测试样本集说明:本发明的测试样本集与分类器的训练样本集构造方法一样,都是通过本领域普通技术人员按照OSSP页面定义对100个典型的与OSS相关的Web页面进行判定,得出其是否是OSSP页面,最终形成以是否包含软件版本控制管理关键词,邮件列表关键词,Bug跟踪关键词,开发者列表关键词,证书关键词,修改日志关键词,任务列表关键词为属性,以是否是OSSP页面为类属的样本集合。
实验条件说明:
硬件配置:SONY NW系列(CPU:双核2.1G,内存:4G)
软件配置:操作***为WIN7,编译运行环境为Eclipse Java EE IDE for WebDevelopers,数据库为MySQL 5.0.89。
精确度的定义如表2所示:
表2
Figure BSA00000401651200111
注:TP:本来为正例,被正确的分类为正例的数目(true positive)
    FN:本来为正例,被错误的分类为反例的数目(false negative)
    FP:本来为反例,被错误的分类为正例的数目(false positive)
    TN:本来为反例,被正确的分类为反例的数目(true negative)
不同分类器使用本发明方法产生的分类效果如表3所示:
表3
Figure BSA00000401651200112
从表3中可以看出,无论是基于SVM分类器还是决策树分类器,本发明相对于传统的基于机器学习的文本分类技术的方法均由显著提高。
实施例2
本实施例提供了一种自动的智能的OSS资源提取方法,该方法从开源软件联盟的网页出发,通过游走于页面上的各种链接,学习页面及链接的特征,自动、高效的识别OSSP页面,最终将OSS资源提取出来,存储到本地数据库。本实施例中,所述的OSS资源可以是OSS信息,OSS信息包括软件名称、开发社区入口地址、开发团队入口地址、邮件列表入口地址、Bug列表入口地址、代码版本控制***入口地址。
如图2所示,本实施例的OSS信息提取方法包括以下步骤:
步骤1、录入各大开源软件联盟网址,将他们存入链接缓冲队列(种子链接列表)。
步骤2、自动读取队列中一条未读链接,分析链接指向的网页,根据网页中不同的链接类型游走,判断游走路径中出现的web页面是否是OSSP页面,并捕获所识别出的OSSP页面,最终形成一个OSSP网页集合,同时更新链接缓冲队列。其中OSSP页面的识别方法与实施例1一致,这里不再赘述。在识别出新的OSSP页面时,可将该OSSP页面存入OSSP学习样本集,以不断训练分类器。
步骤3、自动分析OSSP网页集合中的每一个OSSP页面,识别OSS的相关属性,提取每一个OSSP网页对应的OSS信息。OSS信息包括软件名称、开发社区入口地址、开发团队入口地址、邮件列表入口地址、Bug列表入口地址、代码版本控制***入口地址。
步骤4、将提取的OSS信息存入数据库表,数据库表的字段包括<软件名称,开发社区入口地址,开发团队入口地址,邮件列表入口地址,Bug列表入口地址,代码版本控制***入口地址>。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。

Claims (12)

1.一种面向Web的VSM分类器训练方法,包括:
基于OSSP页面识别特征向量,用初始样本集训练VSM分类器;所述OSSP页面识别特征向量是:在软件版本控制管理关键词、邮件列表关键词、Bug跟踪关键词、开发者列表关键词、证书关键词、修改日志关键词、任务列表关键词,以及软件控制管理命令中选取其中7项或选择全部8项作为分量而组成的VSM分类器特征向量。
2.根据权利要求1所述的面向Web的VSM分类器训练方法,其特征在于,所述软件版本控制管理关键词包括SVN、Git或CVS。
3.根据权利要求1所述的面向Web的VSM分类器训练方法,其特征在于,所述邮件列表关键词包括Mailing Lists、Mail_List或Email_List。
4.根据权利要求1所述的面向Web的VSM分类器训练方法,其特征在于,所述Bug跟踪关键词包括Bug Trackers、Issue Tracker或Bug Report。
5.根据权利要求1所述的面向Web的VSM分类器训练方法,其特征在于,所述开发者列表关键词包括Developer、Developer List、Member List、Project Memberlist、Blogger List、View Members或Author。
6.根据权利要求1所述的面向Web的VSM分类器训练方法,其特征在于,所述证书关键词包括License、GPL、Apache License、BSD License、MIT License、Mozilla Public License、Common Development and DistributionLicense或Eclipse Public License。
7.根据权利要求1所述的面向Web的VSM分类器训练方法,其特征在于,所述修改日志关键词包括Change Log、Commit Log或Update Log。
8.根据权利要求1所述的面向Web的VSM分类器训练方法,其特征在于,所述任务列表关键词包括Task Lists。
9.根据权利要求1所述的面向Web的VSM分类器训练方法,其特征在于,所述软件控制管理命令包括第一次下载的命令、下载服务器上最新的更新的命令、检出某个修订版本的命令、添加被跟踪文件的命令、删除被跟踪文件的命令或者提交更改的命令。
10.一种面向Web的OSSP页面识别方法,其特征在于,包括下列步骤:
1)对每个待识别Web页面,分别提取每个Web页面的OSSP页面识别特征向量,所述OSSP页面识别特征向量是:在软件版本控制管理关键词、邮件列表关键词、Bug跟踪关键词、开发者列表关键词、证书关键词、修改日志关键词、任务列表关键词,以及软件控制管理命令中选取其中7项或选择全部8项作为分量而组成的VSM分类器特征向量;
2)然后利用按照权利要求1~9之一所述的VSM分类器训练方法所训练出的VSM分类器识别出该Web页面是否为OSSP页面。
11.一种面向Web的OSS资源获取方法,其特征在于,包括下列步骤:
1)根据权利要求11所述的面向Web的OSSP页面识别方法识别出Web页面中的OSSP页面;
2)在所识别出的OSSP页面中查找OSS资源。
12.根据权利要求11所述的面向Web的OSS资源获取方法,其特征在于,还包括下列步骤:
3)将步骤2)所查找到的OSS资源下载到本地。
CN201010609743.0A 2010-12-15 2010-12-15 面向Web的VSM分类器训练、OSSP页面识别及OSS资源提取方法 Expired - Fee Related CN102541913B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010609743.0A CN102541913B (zh) 2010-12-15 2010-12-15 面向Web的VSM分类器训练、OSSP页面识别及OSS资源提取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010609743.0A CN102541913B (zh) 2010-12-15 2010-12-15 面向Web的VSM分类器训练、OSSP页面识别及OSS资源提取方法

Publications (2)

Publication Number Publication Date
CN102541913A true CN102541913A (zh) 2012-07-04
CN102541913B CN102541913B (zh) 2017-10-03

Family

ID=46348830

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010609743.0A Expired - Fee Related CN102541913B (zh) 2010-12-15 2010-12-15 面向Web的VSM分类器训练、OSSP页面识别及OSS资源提取方法

Country Status (1)

Country Link
CN (1) CN102541913B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103078897A (zh) * 2012-11-29 2013-05-01 中山大学 一种实现Web业务细粒度分类与管理的***
CN103226509A (zh) * 2013-04-08 2013-07-31 上海华力微电子有限公司 一种***日志自动分析的方法
CN110188536A (zh) * 2019-05-22 2019-08-30 北京邮电大学 应用程序检测方法及装置
CN110990035A (zh) * 2019-11-01 2020-04-10 中国人民解放军63811部队 一种基于Git的链式软件升级方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1719436A (zh) * 2004-07-09 2006-01-11 中国科学院自动化研究所 一种新的面向文本分类的特征向量权重的方法及装置
CN101055621A (zh) * 2006-04-10 2007-10-17 中国科学院自动化研究所 基于内容的敏感网页识别方法
CN101281521A (zh) * 2007-04-05 2008-10-08 中国科学院自动化研究所 一种基于多分类器融合的敏感网页过滤方法及***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1719436A (zh) * 2004-07-09 2006-01-11 中国科学院自动化研究所 一种新的面向文本分类的特征向量权重的方法及装置
CN101055621A (zh) * 2006-04-10 2007-10-17 中国科学院自动化研究所 基于内容的敏感网页识别方法
CN101281521A (zh) * 2007-04-05 2008-10-08 中国科学院自动化研究所 一种基于多分类器融合的敏感网页过滤方法及***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
白洁,李春平: "面向软件开发信息库的数据挖掘综述", 《计算机应用研究》, vol. 25, no. 1, 31 January 2008 (2008-01-31) *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103078897A (zh) * 2012-11-29 2013-05-01 中山大学 一种实现Web业务细粒度分类与管理的***
CN103078897B (zh) * 2012-11-29 2015-11-18 中山大学 一种实现Web业务细粒度分类与管理的***
CN103226509A (zh) * 2013-04-08 2013-07-31 上海华力微电子有限公司 一种***日志自动分析的方法
CN103226509B (zh) * 2013-04-08 2016-03-30 上海华力微电子有限公司 一种***日志自动分析的方法
CN110188536A (zh) * 2019-05-22 2019-08-30 北京邮电大学 应用程序检测方法及装置
CN110990035A (zh) * 2019-11-01 2020-04-10 中国人民解放军63811部队 一种基于Git的链式软件升级方法

Also Published As

Publication number Publication date
CN102541913B (zh) 2017-10-03

Similar Documents

Publication Publication Date Title
US11615246B2 (en) Data-driven structure extraction from text documents
Zhu et al. Unsupervised entity resolution on multi-type graphs
US8503769B2 (en) Matching text to images
Saleem et al. Porsche: Performance oriented schema mediation
US8538898B2 (en) Interactive framework for name disambiguation
CN102508859B (zh) 一种基于网页特征的广告分类方法及装置
López et al. ModelSet: a dataset for machine learning in model-driven engineering
CN108717470A (zh) 一种具有高准确度的代码片段推荐方法
Babur et al. Hierarchical clustering of metamodels for comparative analysis and visualization
CN108762808B (zh) 接口文档的生成方法及***
Babur et al. Metamodel clone detection with SAMOS
Bin et al. Web mining research
CN103778206A (zh) 一种网络服务资源的提供方法
Chen et al. Recommending software features for mobile applications based on user interface comparison
Meusel et al. Exploiting microdata annotations to consistently categorize product offers at web scale
Babur Statistical analysis of large sets of models
CN102541913A (zh) 面向Web的VSM分类器训练、OSSP页面识别及OSS资源提取方法
Jalal Text Mining: Design of Interactive Search Engine Based Regular Expressions of Online Automobile Advertisements.
De Bonis et al. Graph-based methods for Author Name Disambiguation: a survey
Revindasari et al. Traceability between business process and software component using Probabilistic Latent Semantic Analysis
CN116894495A (zh) 用注释增强机器学习管道的方法、计算机可读介质和***
de Viana et al. Integrating deep-web information sources
Souza et al. ARCTIC: metadata extraction from scientific papers in pdf using two-layer CRF
Velloso et al. Web page structured content detection using supervised machine learning
CN107341169B (zh) 一种基于信息检索的大规模软件信息站标签推荐方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171003

Termination date: 20201215

CF01 Termination of patent right due to non-payment of annual fee