[发明专利]一种构建标签数据库的方法和装置在审
申请号: | 202110408897.1 | 申请日: | 2021-04-15 |
公开(公告)号: | CN113051253A | 公开(公告)日: | 2021-06-29 |
发明(设计)人: | 何军;江同飞 | 申请(专利权)人: | 广州云族佳科技有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/2457 |
代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 徐丽 |
地址: | 510700 广东省广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 构建 标签 数据库 方法 装置 | ||
本发明提供了一种构建标签数据库的方法和装置,包括:获取开源代码信息;将开源代码信息通过抽象语法树进行解析,得到特征语句;根据特征语句构建依赖模块数据库;对依赖模块数据库中的依赖模块进行标签提取,得到备选标签;从备选标签中选取技术标签;根据技术标签确定技术领域和实现功能;其中,依赖模块用于表征引入第三方库的语句,通过构建依赖模块数据库可以减少人工采集的工作量,通过依赖模块数据库对标签进行标定得到备选标签,根据备选标签进行判断或校正,提高效率和准确率。
技术领域
本发明涉及软件技术领域,尤其是涉及一种构建标签数据库的方法和装置。
背景技术
目前,软件代码中可能引用各种第三方模块来实现软件功能,这些三方模块涉及到不同技术领域。一般通过人工采集软件的依赖模块,为软件的依赖模块打标签,通过打标签来确定软件的依赖模块所属的技术领域。具体为:采集每个软件中依赖模块对应的依赖库列表,根据依赖库列表中的相关信息确定依赖模块属于哪个技术领域。
上述采集过程通过人工采集,工作量大,并且还需要通过人工对标签进行标定。由于每个人员对于技术领域的认知不同,所以会导致标签标定的差异性大,从而降低准确率。
发明内容
有鉴于此,本发明的目的在于提供一种构建标签数据库的方法和装置,通过构建依赖模块数据库可以减少人工采集的工作量,通过依赖模块数据库对标签进行标定得到备选标签,根据备选标签进行判断或校正,提高效率和准确率。
第一方面,本发明实施例提供了一种构建标签数据库的方法,所述方法包括:
获取开源代码信息;
将所述开源代码信息通过抽象语法树进行解析,得到特征语句;
根据所述特征语句构建依赖模块数据库;
对所述依赖模块数据库中的依赖模块进行标签提取,得到备选标签;
从所述备选标签中选取技术标签;
根据所述技术标签确定技术领域和实现功能;
其中,所述依赖模块用于表征引入第三方库的语句。
进一步的,所述根据所述特征语句构建依赖模块数据库,包括:
对所述特征语句中的内置模块进行过滤,得到包括所述依赖模块的特征语句;
根据所述包括依赖模块的特征语句构建所述依赖模块数据库;
其中,所述内置模块用于表征与技术领域特征无关的语句。
进一步的,所述对所述依赖模块数据库中的依赖模块进行标签提取,得到备选标签,包括:
将所述依赖模块的名称作为关键词,通过搜索技术和爬虫技术获取所述依赖模块对应的搜索内容信息集;
将所述搜索内容信息集通过分词技术进行分割,得到多个分词;
将所述多个分词根据预设技术领域标签集进行提取,得到多个标签;
将所述多个标签作为所述备选标签。
进一步的,所述将所述多个分词根据预设技术领域标签集进行提取,得到多个标签,包括:
将所述多个分词按照重复次数从大到小进行排序,得到排序后的多个分词;
将所述排序后的多个分词通过所述预设技术领域标签集进行提取,得到所述多个标签。
第二方面,本发明实施例提供了一种构建标签数据库的装置,所述装置包括:
获取模块,用于获取开源代码信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州云族佳科技有限公司,未经广州云族佳科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110408897.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种石墨烯复合碳毡的高温制备方法
- 下一篇:一种物料搬运的转运机械手