一种基于市场需求的开源软件分析与比较方法技术

技术编号:12990041 阅读:44 留言:0更新日期:2016-03-10 01:04
一种基于市场需求的开源软件分析方法,选取以针对计算机行业的招聘信息为主的招聘站点,爬取广告并抽取广告属性信息;爬取开源软件数据信息;对开源软件和广告信息进行匹配关联;根据用户选择,将反映市场需求的软件列表反馈给用户,同事为软件开发者提供其关心的开源软件就业发展情况。

【技术实现步骤摘要】

本专利技术涉及一种开源软件分析方法,尤其涉及一种基于市场对于开源软件的需求信息对软件进行分析的方法。
技术介绍
目前,软件行业正在飞速发展,开源软件数目呈指数增长趋势,如何选择开源软件已经成为了一个巨大的挑战。与此同时,也出现了很多招聘网站,比如为大家熟知的领英。这些招聘网站提供给我们很多有价值的数据和信息。国内非常有名的前程无忧(51job)网站发布的数据显示,截止到2014年3月,有将近有45万IT职位需求被发布,比去年同比增长了35.9%。不仅如此,更多以互联网和软件行业量身定造的垂直招聘平台也如雨后春笋一样,例如内推网和拉勾网。显然,企业对于优秀的IT人才有着极大的需求,这其中还包括着对不同软件的需求情况。这样的需求对于软件分析本身来说具有发展性意义,也对软件从业人员极具有指导性意义,应该和软件质量一样成为研究工作关注的重点。然而,传统研究关注的都是软件质量本身,提出了Boehm,McCall,Trustie等软件质量评估模型,针对软件的可用性,可靠性,安全性,实时性等软件本身特性进行评估和分析,却没有针对软件的市场需求情况进行评估和分析的研究。很多研究将数据挖掘算法将软件开发者和开源软件项目联系起来,却很少有研究将软件开发者和软件招聘广告联系起来。而这少数的研究却往往在连接上软件开发者和软件招聘广告后戛然而止,缺少后续进一步的研究和分析,这是软件分析研究工作中欠缺的部分。
技术实现思路
本专利技术的目的在于针对软件分析在市场需求领域上研究的不足,提出一种基于市场需求的开源软件分析与比较方法,该方法弥补目前按开源软件分析在市场需求这一领域的空缺,从开发者的经验需求,职位地理位置,时间的影响三个方面来对开源软件进行分析和比较,并对出现差异的可能原因进行合理推测。该分析能够为软件研究提供了新的角度,也为软件开发者提供了选择开源软件的参考依据。本专利技术的技术方案包括以下步骤:步骤101、选取以针对计算机行业的招聘信息为主的招聘站点,采用通用Web爬虫技术从选取的站点爬取所有能够爬取到的招聘广告,并以HTML代码格式存储在数据库中。步骤102、在存储下来的HTML代码基础上进行广告属性的抽取,按广告的内容分为如下几个字段:广告网址,广告标题,广告标签,创建时间,广告内容,工作类型,开发者经验,工资范围,工作地点,然后将其存储在招聘信息数据表中。进一步地,广告内容的抽取具体包括,从数据库中获取HTML代码信息并封装成自定义的页面格式,根据不同的页面查找相应的模板进行抽取,对抽取成功的结果进行输出。步骤103、采用软件名称与广告标签、软件标签和广告标签、软件名称和广告标题、软件标签和广告标题四组不同数据进行广告和软件的匹配,具体为如下几步:步骤103.1、采用通用Web爬虫技术从互联网的主要项目托管社区中采集软件的项目数据,获取软件名称;步骤103.2、采用开源全文检索工具Lucene为采集到的广告文档的文档标题、文档内容和软件名称建立文件索引;用软件名称与广告标签进行匹配;若所述文档具有与所述软件名称相同的标签,则为所述广告文档与所述开源软件建立关联,并赋予权值w1;步骤103.3、用软件名称在文档标题中进行检索,检索的过程使用开源的Lucene全文检索工具实现,具体实施为:以软件名称为关键词,从步骤103.2中建立的文件索引中搜索广告文档的标题,若文档标题中含有软件名称,则为该文档与软件建立关联,并将这次关联赋予权值w2;步骤103.4、对软件标签统计包含在广告标题中的标签个数x,计算权值w3=0.5*log2(x2+1),该权值表示以软件标签在文档标题中的出现次数作为该软件与广告文档关联程度的度量,通过权值的计算判断关联结果的可信度;步骤103.5、在所有已建立的关联中,对关联的软件标签与广告标签进行匹配,统计在两者中都出现的标签个数y,计算权值w4=0.6*log2(y2+1);步骤103.6、步骤103.2到步骤103.5对软件和广告的4种不同数据进行匹配,并为每一步的关联结果赋予了相应的权值,这4步匹配结束后,计算最终的权值w=w1+w2+(w1+w2)*(w3+w4),把权值超过指标的匹配结果看作是匹配成功,并将匹配结果存储在数据库中;步骤104、从开发者经验、职位地点、软件类型反映软件市场需求数目和薪资影响,并基于开发者经验、职位地点、软件类型三个不同因素向用户推荐软件;进一步地,步骤104进一步包括:步骤104.1、根据用户需求确定需要进行进一步分类的已经提取广告属性字段,对数据库存放的匹配结果和抽取结果,进行属性分类、软件分类和相应的sql操作,将统计信息以可视化方式推荐给用户;进一步地,步骤104.1可进一步包括:得出市场对不同经验者的需求量和工资、不同地区的整体工资和需求量、以及同一类软件在同一城市的需求、工资软件职位数目需求信息。进一步地,步骤104.1还可以包括:在匹配广告的基础上建立同类软件关联,推荐给用户,具体的:当若干个软件都与同一广告匹配时,所述若干个软件之间的值为1,当所述若干个软件都与另一相同广告匹配时,累计为2,如此类推,当该值超过了设定的阙值,则判定两种软件为同一类软件,当用户随机选择一软件后,页面不仅仅列出该软件的需求数目和薪资需求,同时还会列出符合同类软件条件的同类软件,并生成前几名相关同类软件的需求和数目对比关系图。采用本专利技术可以达到以下技术效果:本专利技术针对开发者经验、职位位置、软件类型,时间四个因素对软件进行差异分析,为软件从业人员展示开发经验,城市,软件类型,时间对软件行业就业的影响,并基于开发经验,城市,软件类型为用户推荐软件。以市场对开源软件的职位需求情况,结合实际情况对开源软件的市场需求情况进行分析比较,并对差异出现的原因进行合理的推断,最终可以为传统的软件分析提供新的参考角度,为软件开发者提供开源软件就业发展情况。附图说明图1为本专利技术基于市场需求的开源软件分析与比较方法实施的流程图;图2为本专利技术一种基于市场需求的开源软件分析与比较方法成果实例图;具体实施方式本专利技术主要针对一种基于市场需求的开源软件分析与比较方法。如图1所示,为本专利技术实现基于市场需求的开源软件分析与比较方法的流程图,具体执行以下步骤:步骤101、选取以针对计算机行业的招聘信息为主的招聘站点,采本文档来自技高网
...

【技术保护点】
一种基于市场需求的开源软件分析方法,包括下列步骤:步骤101、选取以针对计算机行业的招聘信息为主的招聘站点,采用通用Web爬虫技术从选取的站点爬取所有能够爬取到的招聘广告,并以HTML代码格式存储在数据库中;步骤102、在存储下来的HTML代码基础上进行广告属性的抽取,按广告的内容分为如下几个字段:广告网址,广告标题,广告标签,创建时间,广告内容,工作类型,开发者经验,工资范围,工作地点,然后将其存储在招聘信息数据表中;步骤103、采用软件名称与广告标签、软件标签和广告标签、软件名称和广告标题、软件标签和广告标题四组不同数据进行广告和软件的匹配,具体为如下几步:步骤103.1、采用通用Web爬虫技术从互联网的主要项目托管社区中采集软件的项目数据,获取软件名称;步骤103.2、采用开源全文检索工具Lucene为采集到的广告文档的文档标题、文档内容和软件名称建立文件索引;用软件名称与广告标签进行匹配;若所述文档具有与所述软件名称相同的标签,则为所述广告文档与所述开源软件建立关联,并赋予权值w1;步骤103.3、用软件名称在文档标题中进行检索,检索的过程使用开源的Lucene全文检索工具实现,具体实施为:以软件名称为关键词,从步骤103.2中建立的文件索引中搜索广告文档的标题,若文档标题中含有软件名称,则为该文档与软件建立关联,并将这次关联赋予权值w2;步骤103.4、对软件标签统计包含在广告标题中的标签个数x,计算权值w3=0.5*log2(x2+1),该权值表示以软件标签在文档标题中的出现次数作为该软件与广告文档关联程度的度量,通过权值的计算判断关联结果的可信度;步骤103.5、在所有已建立的关联中,对关联的软件标签与广告标签进行匹配,统计在两者中都出现的标签个数y,计算权值w4=0.6*log2(y2+1);步骤103.6、步骤103.2到步骤103.5对软件和广告的4种不同数据进行匹配,并为每一步的关联结果赋予了相应的权值,这4步匹配结束后,计算最终的权值w=w1+w2+(w1+w2)*(w3+w4),把权值超过指标的匹配结果看作是匹配成功,并将匹配结果存储在数据库中;步骤104、从开发者经验、职位地点、软件类型反映软件市场需求数目和薪资影响,并基于开发者经验、职位地点、软件类型三个不同因素向用户推荐软件。...

【技术特征摘要】
1.一种基于市场需求的开源软件分析方法,包括下列步骤:
步骤101、选取以针对计算机行业的招聘信息为主的招聘站点,采用通
用Web爬虫技术从选取的站点爬取所有能够爬取到的招聘广告,并以HTML代
码格式存储在数据库中;
步骤102、在存储下来的HTML代码基础上进行广告属性的抽取,按广告
的内容分为如下几个字段:广告网址,广告标题,广告标签,创建时间,
广告内容,工作类型,开发者经验,工资范围,工作地点,然后将其存储
在招聘信息数据表中;
步骤103、采用软件名称与广告标签、软件标签和广告标签、软件名称
和广告标题、软件标签和广告标题四组不同数据进行广告和软件的匹配,
具体为如下几步:
步骤103.1、采用通用Web爬虫技术从互联网的主要项目托管社区中采
集软件的项目数据,获取软件名称;
步骤103.2、采用开源全文检索工具Lucene为采集到的广告文档的文档
标题、文档内容和软件名称建立文件索引;用软件名称与广告标签进行匹
配;若所述文档具有与所述软件名称相同的标签,则为所述广告文档与所
述开源软件建立关联,并赋予权值w1;
步骤103.3、用软件名称在文档标题中进行检索,检索的过程使用开源
的Lucene全文检索工具实现,具体实施为:以软件名称为关键词,从步骤
103.2中建立的文件索引中搜索广告文档的标题,若文档标题中含有软件名
称,则为该文档与软件建立关联,并将这次关联赋予权值w2;
步骤103.4、对软件标签统计包含在广告标题中的标签个数x,计算权
值w3=0.5*log2(x2+1),该权值表示以软件标签在文档标题中的出现
次数作为该软件与广告文档关联程度的度量,通过权值的计算判断关联结
果的可信度;
步骤103.5、在所有已建立的关联中,对关联的软件标签与广告标签进
行匹配,统计在两者中都出现的标签个数y,计算...

【专利技术属性】
技术研发人员:王怀民尹刚王涛刘冰珣史殿习刘惠丁博史佩昌甘谊昂杨程余跃张方
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1