CN114237588A - 一种代码仓库选择方法、装置、设备及存储介质 - Google Patents

一种代码仓库选择方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114237588A
CN114237588A CN202111544975.7A CN202111544975A CN114237588A CN 114237588 A CN114237588 A CN 114237588A CN 202111544975 A CN202111544975 A CN 202111544975A CN 114237588 A CN114237588 A CN 114237588A
Authority
CN
China
Prior art keywords
party code
warehouse
code warehouse
party
software project
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
Application number
CN202111544975.7A
Other languages
English (en)
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.)
Shenzhen One Account Technology Co ltd
Original Assignee
Shenzhen One Account Technology Co ltd
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 Shenzhen One Account Technology Co ltd filed Critical Shenzhen One Account Technology Co ltd
Priority to CN202111544975.7A priority Critical patent/CN114237588A/zh
Publication of CN114237588A publication Critical patent/CN114237588A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking

Abstract

本发明涉及人工智能领域,实施例公开了一种代码仓库选择方法、装置、设备及存储介质。其中,方法包括:对目标检索信息进行分词处理,得到至少一个检索关键字;针对预设的代码仓库关联图中的各第三方代码仓库,确定关联的全部标签中包含的检索关键字的数量,并根据数量确定至少一个基础备选第三方代码仓库;根据关键字向量与标签向量之间的相似度,确定至少一个备选第三方代码仓库;获取位于数值排序结果中的预设位置的备选第三方代码仓库作为最优第三方代码仓库,提供给用户进行选择。本发明实施例可以自动根据包含当前软件项目开发过程中的痛点难点的检索信息,提供最优第三方代码仓库,减少开发人员工作量,提高项目质量。

Description

一种代码仓库选择方法、装置、设备及存储介质
技术领域
本发明实施例涉及人工智能技术领域,尤其涉及一种代码仓库选择方法、装置、设备及存储介质。
背景技术
目前,在应用程序等软件项目的开发过程中,开发人员会通过使用第三方代码仓库,来提高开发效率,缩短开发时间和交付时间。
相关技术中,通常基于开发人员的个人经验,来设置与软件项目对应的第三方代码仓库。
相关技术的缺陷在于:仅根据个人经验设置第三方代码仓库,未关注所设置的第三方代码仓库是否是针对软件项目的最优第三方代码仓库,是否可能包含不可调和的缺陷,无法针对软件项目开发过程中的痛点难点,设置与软件项目对应的最优第三方代码仓库,严重影响了软件项目的功能和质量。
发明内容
本发明实施例提供一种代码仓库选择方法、装置、设备及存储介质,可以自动在各第三方代码仓库中确定可以为解决当前软件项目的开发过程中的痛点难点提供技术支撑、性能良好、不存在明显性能缺陷的最优第三方代码仓库,并将最优第三方代码仓库提供给用户进行选择,,既可以针对当前软件项目开发过程中的痛点难点,提供最优第三方代码仓库,又可以避免与当前软件项目对应的第三方代码仓库存在明显性能缺陷,减少开发人员的工作量,提高软件项目的质量。
第一方面,本发明实施例提供了一种代码仓库选择方法,包括:
采集用户在当前软件项目的启动时间之后输入的目标检索信息,对所述目标检索信息进行分词处理,得到与所述当前软件项目对应的至少一个检索关键字;
针对预设的代码仓库关联图中的各第三方代码仓库,确定与各第三方代码仓库关联的全部标签中包含的检索关键字的数量,并根据所述数量,在各第三方代码仓库中确定与所述当前软件项目对应的至少一个基础备选第三方代码仓库;
根据与所述当前软件项目对应的各所述检索关键字、各所述检索关键字的文字特征,生成与所述当前软件项目对应的关键字向量;其中,各所述检索关键字的文字特征是各所述检索关键字在所述目标检索信息中出现的次数或各所述检索关键字在所述目标检索信息中出现的前后顺序;
根据与各所述基础备选第三方代码仓库关联的各标签、各标签的权重,生成与各所述基础备选第三方代码仓库对应的标签向量;
计算所述关键字向量与所述标签向量之间的相似度,并根据所述相似度,在各所述基础备选第三方代码仓库中确定与所述当前软件项目对应的至少一个备选第三方代码仓库;
按照性能评估数值从高到低,对各所述备选第三方代码仓库进行排序,获取位于数值排序结果中的预设位置的备选第三方代码仓库作为与所述当前软件项目对应的最优第三方代码仓库,将所述最优第三方代码仓库提供给所述用户进行选择。
第二方面,本发明实施例还提供了一种代码仓库选择装置,包括:
检索信息处理模块,用于采集用户在当前软件项目的启动时间之后输入的目标检索信息,对所述目标检索信息进行分词处理,得到与所述当前软件项目对应的至少一个检索关键字;
第一确定模块,用于针对预设的代码仓库关联图中的各第三方代码仓库,确定与各第三方代码仓库关联的全部标签中包含的检索关键字的数量,并根据所述数量,在各第三方代码仓库中确定与所述当前软件项目对应的至少一个基础备选第三方代码仓库;
关键字向量生成模块,用于根据与所述当前软件项目对应的各所述检索关键字、各所述检索关键字的文字特征,生成与所述当前软件项目对应的关键字向量;其中,各所述检索关键字的文字特征是各所述检索关键字在所述目标检索信息中出现的次数或各所述检索关键字在所述目标检索信息中出现的前后顺序;
标签向量生成模块,用于根据与各所述基础备选第三方代码仓库关联的各标签、各标签的权重,生成与各所述基础备选第三方代码仓库对应的标签向量;
第二确定模块,用于计算所述关键字向量与所述标签向量之间的相似度,并根据所述相似度,在各所述基础备选第三方代码仓库中确定与所述当前软件项目对应的至少一个备选第三方代码仓库;
代码仓库选择模块,用于按照性能评估数值从高到低,对各所述备选第三方代码仓库进行排序,获取位于数值排序结果中的预设位置的备选第三方代码仓库作为与所述当前软件项目对应的最优第三方代码仓库,将所述最优第三方代码仓库提供给所述用户进行选择。
第三方面,本发明实施例还提供了一种计算机设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行,使得所述一个或多个处理器执行所述计算机程序时实现如本发明实施例所述的代码仓库选择方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如本发明实施例所述的代码仓库选择方法。
本发明实施例的技术方案,通过采集用户在当前软件项目的启动时间之后输入的目标检索信息,对目标检索信息进行分词处理,得到与当前软件项目对应的至少一个检索关键字;然后针对预设的代码仓库关联图中的各第三方代码仓库,确定与各第三方代码仓库关联的全部标签中包含的检索关键字的数量,并根据数量,在各第三方代码仓库中确定与当前软件项目对应的至少一个基础备选第三方代码仓库;根据与当前软件项目对应的各检索关键字、各检索关键字的文字特征,生成与当前软件项目对应的关键字向量;根据与各基础备选第三方代码仓库关联的各标签、各标签的权重,生成与各基础备选第三方代码仓库对应的标签向量;然后计算关键字向量与标签向量之间的相似度,并根据相似度,在各基础备选第三方代码仓库中确定与当前软件项目对应的至少一个备选第三方代码仓库;最后按照性能评估数值从高到低,对各备选第三方代码仓库进行排序,获取位于数值排序结果中的预设位置的备选第三方代码仓库作为与当前软件项目对应的最优第三方代码仓库提供给用户进行选择,可以自动根据包含当前软件项目开发过程中的痛点难点的用户检索信息,在预设的代码仓库关联图中的各第三方代码仓库中确定可以为解决当前软件项目的开发过程中的痛点难点提供技术支撑、性能良好、不存在明显性能缺陷的最优第三方代码仓库,并将最优第三方代码仓库提供给用户进行选择,以使用户将可以为解决当前软件项目的开发过程中的痛点难点提供技术支撑、性能良好、不存在明显性能缺陷的最优第三方代码仓库,设置为与当前软件项目对应的第三方代码仓库,既可以针对当前软件项目开发过程中的痛点难点设置与当前软件项目对应的第三方代码仓库,又可以避免与当前软件项目对应的第三方代码仓库存在明显性能缺陷,减少开发人员的工作量,提高软件项目的质量。
附图说明
图1为本发明实施例一提供的一种代码仓库选择方法的流程图。
图2为本发明实施例二提供的一种代码仓库选择方法的流程图。
图3为本发明实施例三提供的一种代码仓库选择装置的结构示意图。
图4为本发明实施例四提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。
另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1为本发明实施例一提供的一种代码仓库选择方法的流程图。本发明实施例可适用于为用户正在开发的软件项目选择第三方代码仓库的情况,该方法可以由本发明实施例提供的代码仓库选择装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成在计算机设备中。
如图1所示,本发明实施例的方法具体包括:
步骤101、采集用户在当前软件项目的启动时间之后输入的目标检索信息,对所述目标检索信息进行分词处理,得到与所述当前软件项目对应的至少一个检索关键字。
可选的,用户可以是软件项目的开发人员。软件项目包括但不限于各种类型的应用程序。例如,实用生活程序、社交程序、通信程序、游戏程序、娱乐程序等。当前软件项目是用户正在开发的软件项目。当前软件项目的启动时间是用户启动当前软件项目的开发过程的时间。
可选的,第三方代码仓库是第三方提供的开源代码库,包含第三方提供的大量的用于实现不同功能的代码文件。用户将与当前软件项目对应的第三方代码库下载到计算机设备中。在当前软件项目的开发过程中,用户可以通过引用第三方代码仓库中的代码文件,来实现当前软件项目的一项或多项功能,从而提高当前软件项目的开发效率,缩短当前软件项目的开发时间和交付时间。
可选的,目标检索信息可以是在当前软件项目的开发过程启动之后,用户在计算机设备上输入的各类检索信息,可以包括:在当前软件项目的开发过程启动之后,用户在安装于计算机设备的搜索引擎客户端中输入的检索信息、用户在安装于计算机设备的数据库客户端中输入的检索信息。通常情况下,当用户存在针对当前软件项目的开发过程中的痛点难点进行检索的需求时,一般是在搜索引擎客户端或数据库客户端中,使用对痛点难点进行概括的检索信息进行多次检索,得到所需的检索结果。因此,目标检索信息中包含与当前软件项目的开发过程中的痛点难点相关的信息。
可选的,采集用户在当前软件项目的启动时间之后输入的目标检索信息,包括:通过询问信息展示页面,向用户展示数据权限询问信息;其中,所述数据权限询问信息是用于询问用户是否为计算机设备授予对所述目标检索信息的采集权限的询问信息;在根据用户与询问信息展示页面的交互操作,确认用户为计算机设备授予对所述目标检索信息的采集权限之后,采集所述用户在所述当前软件项目的启动时间之后输入的目标检索信息。
可选的,计算机设备显示包含数据权限询问信息的询问信息展示页面,通过询问信息展示页面,向用户展示数据权限询问信息。询问信息展示页面是用于向用户展示询问信息的页面。
可选的,询问信息展示页面中设置确认授权控件和拒绝授权控件。用户可以通过点击确认授权控件,确认为计算机设备授予对用户在当前软件项目的启动时间之后输入的目标检索信息的采集权限。用户还可以通过点击拒绝授权控件,确认不为计算机设备授予对用户在当前软件项目的启动时间之后输入的目标检索信息的采集权限。
可选的,计算机设备在用户点击确认授权控件时,确认用户为计算机设备授予对用户在当前软件项目的启动时间之后输入的目标检索信息的采集权限,采集所述用户在所述当前软件项目的启动时间之后输入的目标检索信息。具体的,计算机设备在用户点击确认授权控件时,确认用户为计算机设备授予对用户在当前软件项目的启动时间之后输入的目标检索信息的采集权限,从计算机设备中存储的搜索引擎客户端的日志信息中,采集所述用户在所述当前软件项目的启动时间之后在搜索引擎客户端中输入的检索信息;计算机设备从计算机设备中存储的数据库客户端的日志信息中,采集所述用户在所述当前软件项目的启动时间之后在数据库客户端中输入的检索信息;计算机设备将所述用户在所述当前软件项目的启动时间之后在搜索引擎客户端中输入的检索信息、以及所述用户在所述当前软件项目的启动时间之后在数据库客户端中输入的检索信息,确定为所述用户在所述当前软件项目的启动时间之后输入的目标检索信息,从而完成目标检索信息的采集过程。
可选的,对所述目标检索信息进行分词处理,得到与所述当前软件项目对应的至少一个检索关键字,包括:使用预设的分词模型,对所述目标检索信息进行分词处理,得到至少一个分词;将各分词确定为与所述当前软件项目对应的各检索关键字。一个分词即为一个检索关键字。检索关键字是目标检索信息中的词汇。
可选的,预设的分词模型是预先建立的分词模型,用于将检索信息切分成一个一个单独的词。预设的分词模型包括但不限于基于统计的分词模型、基于词典的分词模型、以及基于人工智能的分词模型。
步骤102、针对预设的代码仓库关联图中的各第三方代码仓库,确定与各第三方代码仓库关联的全部标签中包含的检索关键字的数量,并根据所述数量,在各第三方代码仓库中确定与所述当前软件项目对应的至少一个基础备选第三方代码仓库。
可选的,预设的代码仓库关联图是用于存储与用户可以使用的各第三方代码仓库关联的各类信息的一个或者多个关联图。计算机设备可以根据与各第三方代码仓库关联的标签、各第三方代码仓库的代码仓库评价信息、以及各第三方代码仓库之间的变更脚本,建立代码仓库关联图。
可选的,用户将与各第三方代码仓库关联的标签、各第三方代码仓库的代码仓库评价信息、以及各第三方代码仓库之间的变更脚本,预先存储至计算机设备中。
可选的,与各第三方代码仓库关联的标签可以是各第三方代码仓库的开发人员为各第三方代码仓库设置的,用于指示各第三方代码仓库可以实现的功能的词汇。各第三方代码仓库的开发人员可以为各第三方代码仓库设置一个或者多个标签,并为每一个标签设置一个权重。每一个标签指示一项功能。权重越高的标签,重要度越高,表明标签指示的功能是第三方代码仓库可以实现的主要功能。
可选的,各第三方代码仓库的代码仓库评价信息是用于评价第三方代码仓库的性能的信息,可以包括:关注量信息、评分值信息、用户反馈信息、上传时间信息和/或问题响应信息。关注量信息可以是收藏第三方代码仓库的用户人数。评分值信息可以是第三方代码仓库的用户评分值。例如,使用过第三方代码仓库的各用户针对第三方代码仓库的评分值的平均值。用户反馈信息可以是在第三方代码仓库的评论信息中对第三方代码仓库进行好评的用户人数。上传时间信息可以是第三方代码仓库中上传最新代码文件的时间。问题响应信息可以是用户向第三方代码仓库反馈的问题的平均响应时间。
可选的,各第三方代码仓库之间的变更脚本是预设设置的用于将与软件项目对应的第三方代码仓库,在两个第三方代码仓库之间进行切换的脚本。
可选的,变更脚本用于将与任一一个软件项目对应的第三方代码仓库从第一目标第三方代码仓库切换至第二目标第三方代码仓库,或将与任一一个软件项目对应的第三方代码仓库从所述第二目标第三方代码仓库切换至所述第一目标第三方代码仓库。所述第一目标第三方代码仓库和所述第二目标第三方代码仓库是所述预设的各第三方代码仓库中的两个不同的第三方代码仓库。变更脚本是第一目标第三方代码仓库与第二目标第三方代码仓库之间的变更脚本。第一目标第三方代码仓库与第二目标第三方代码仓库是与变更脚本关联的两个第三方代码仓库。
在一个具体实例中,当前时刻下,与某个软件项目对应的第三方代码仓库是第一目标第三方代码仓库。计算机设备调用第一目标第三方代码仓库与第二目标第三方代码仓库之间的变更脚本。变更脚本在检测与该软件项目对应的当前第三方代码仓库是第一目标第三方代码仓库时,将与该软件项目对应的第三方代码仓库从所述第一目标第三方代码仓库切换至所述第二目标第三方代码仓库。具体的,将与软件项目对应的第三方代码仓库从所述第一目标第三方代码仓库切换至所述第二目标第三方代码仓库,包括:删除计算机设备中存储的所述第一目标第三方代码仓库;将所述第二目标第三方代码仓库下载到计算机设备中。由此,用户可以在该软件项目的开发过程中引用所述第二目标第三方代码仓库中的代码文件。
在另一个具体实例中,当前时刻下,与某个软件项目对应的第三方代码仓库是第二目标第三方代码仓库。计算机设备调用第一目标第三方代码仓库与第二目标第三方代码仓库之间的变更脚本。变更脚本在检测与软件项目对应的当前第三方代码仓库是第二目标第三方代码仓库时,将与该软件项目对应的第三方代码仓库从所述第二目标第三方代码仓库切换至所述第一目标第三方代码仓库。具体的,将与该软件项目对应的第三方代码仓库从所述第二目标第三方代码仓库切换至所述第一目标第三方代码仓库,包括:删除计算机设备中存储的所述第二目标第三方代码仓库;将所述第一目标第三方代码仓库下载到计算机设备中。由此,用户可以在该软件项目的开发过程中引用所述第一目标第三方代码仓库中的代码文件。
可选的,在采集用户在当前软件项目的启动时间之后输入的目标检索信息之前,还包括:获取与各第三方代码仓库关联的全部标签;以各标签、各第三方代码仓库作为顶点,以各标签与各第三方代码仓库之间的关联关系作为边,生成基础代码仓库关联图;基于各第三方代码仓库的代码仓库评价信息,计算所述基础代码仓库关联图中的各第三方代码仓库的性能评估数值;其中,所述代码仓库评价信息包括:关注量信息、评分值信息、用户反馈信息、上传时间信息和/或问题响应信息;获取预设的各第三方代码仓库之间的变更脚本;其中,所述变更脚本用于将与任一一个软件项目对应的第三方代码仓库从第一目标第三方代码仓库切换至第二目标第三方代码仓库,或将与任一一个软件项目对应的第三方代码仓库从所述第二目标第三方代码仓库切换至所述第一目标第三方代码仓库,所述第一目标第三方代码仓库和所述第二目标第三方代码仓库是所述预设的各第三方代码仓库中的两个不同的第三方代码仓库;针对各所述变更脚本,在所述基础代码仓库关联图中的与变更脚本关联的两个第三方代码仓库之间,生成表示两个第三方代码仓库之间的关联关系的边,得到代码仓库关联图。
可选的,获取计算机设备中存储的与各第三方代码仓库关联的全部标签。以各标签、各第三方代码仓库作为顶点,以各标签与各第三方代码仓库之间的关联关系作为边,生成至少一个关联图,然后将生成的各关联图确定为基础代码仓库关联图。基础代码仓库关联图是初步生成的仅包含各第三方代码仓库与各标签之间的关联关系的关联图。
可选的,性能评估数值是根据代码仓库评价信息生成的,用于指示第三方代码库的性能的数值。第三方代码库的性能评估数值越高,表明第三方代码库的性能越好。代码仓库评价信息包括:关注量信息、评分值信息、用户反馈信息、上传时间信息和问题响应信息。关注量信息是收藏第三方代码仓库的用户人数。评分值信息是第三方代码仓库的用户评分值。用户反馈信息是在第三方代码仓库的评论信息中对第三方代码仓库进行好评的用户人数。上传时间信息可以是第三方代码仓库中上传最新代码文件的时间。问题响应信息是用户向第三方代码仓库反馈的问题的平均响应时间。
具体的,基于各第三方代码仓库的代码仓库评价信息,计算所述基础代码仓库关联图中的各第三方代码仓库的性能评估数值,包括:根据收藏第三方代码仓库的用户人数从高到低,对各第三方代码仓库进行排序;根据排序结果和预设评分值规则,为每一个第三方代码仓库分配一个关注量数值;其中,关注量数值从排序结果中的第一位至最后一位依次降低,排序结果中的第一位的关注量数值最高,排序结果中的最后一位的关注量数值最低;根据第三方代码仓库的用户评分值从高到低,对各第三方代码仓库进行排序;根据排序结果和预设评分值规则,为每一个第三方代码仓库分配一个用户评分值数值;其中,用户评分值数值从排序结果中的第一位至最后一位依次降低,排序结果中的第一位的用户评分值数值最高,排序结果中的最后一位的用户评分值数值最低;根据对第三方代码仓库进行好评的用户人数从高到低,对各第三方代码仓库进行排序;根据排序结果和预设评分值规则,为每一个第三方代码仓库分配一个好评数值;其中,好评数值从排序结果中的第一位至最后一位依次降低,排序结果中的第一位的好评数值最高,排序结果中的最后一位的好评数值最低;根据第三方代码仓库中上传最新代码文件的时间从前到后,对各第三方代码仓库进行排序;根据排序结果和预设评分值规则,为每一个第三方代码仓库分配一个文件更新数值;其中,文件更新数值从排序结果中的第一位至最后一位依次升高,排序结果中的第一位的文件更新数值最低,排序结果中的最后一位的文件更新数值最高;根据用户向第三方代码仓库反馈的问题的平均响应时间从高到低,对各第三方代码仓库进行排序;根据排序结果和预设评分值规则,为每一个第三方代码仓库分配一个问题响应数值;其中,问题响应数值从排序结果中的第一位至最后一位依次升高,排序结果中的第一位的问题响应数值最低,排序结果中的最后一位的问题响应数值最高;针对每一个第三方代码仓库,计算第三方代码仓库的关注量数值、用户评分值数值、好评数值、文件更新数值以及问题响应数值的和,将第三方代码仓库的关注量数值、用户评分值数值、好评数值、文件更新数值以及问题响应数值的和确定为第三方代码仓库的性能评估数值。
可选的,关注量数值越高,表明收藏第三方代码仓库的用户人数较多,大量用户可能选择使用第三方代码仓库,第三方代码仓库的性能良好。用户评分值数值越高,表明第三方代码仓库的用户评分值较高,使用过第三方代码仓库的用户认可第三方代码仓库的性能,第三方代码仓库的性能良好。好评数值越高,表明在第三方代码仓库的评论信息中对第三方代码仓库进行好评的用户人数较高,使用过第三方代码仓库的用户认可第三方代码仓库的性能,第三方代码仓库的性能良好。文件更新数值越高,表明第三方代码仓库最近进行代码文件更新,性能可能进行了进一步优化。问题响应数值越高,表明用户向第三方代码仓库反馈的问题的平均响应时间越短,第三方代码仓库可以及时处理用户反馈的问题,性能良好。第三方代码仓库的关注量数值、用户评分值数值、好评数值、文件更新数值以及问题响应数值越高,第三方代码仓库的性能越好,第三方代码仓库的性能评估数值也越高。
由此,计算得到所述基础代码仓库关联图中的各第三方代码仓库的性能评估数值,通过基础代码仓库关联图对各第三方代码仓库的性能评估数值进行存储。可以根据第三方代码仓库的性能评估数值,评价第三方代码仓库的性能。第三方代码仓库的性能评估数值较高,表明第三方代码仓库的性能良好。第三方代码仓库的性能评估数值较低,表明第三方代码仓库的性能较差,可能包含不可调和的缺陷。
可选的,获取计算机设备中存储的各第三方代码仓库之间的变更脚本。针对每一个变更脚本,在所述基础代码仓库关联图中的与变更脚本关联的两个第三方代码仓库之间,生成表示两个第三方代码仓库之间的关联关系的边,得到代码仓库关联图。若代码仓库关联图中的两个第三方代码仓库之间通过一条边连接,可以确定计算机设备中存储两个第三方代码仓库之间的变更脚本,可以通过调用脚本,将与软件项目对应的第三方代码仓库,在两个第三方代码仓库之间进行切换。
由此,在初步生成的仅包含各第三方代码仓库与各标签之间的关联关系的基础代码仓库关联图中,添加各第三方代码仓库的性能评估数值,添加各第三方代码仓库之间的关联关系,得到最终的代码仓库关联图,建立了预设的代码仓库关联图。从预设的代码仓库关联图中,可以获取与各第三方代码仓库关联的全部标签,可以获取第三方代码仓库的性能评估数值,可以确定计算机设备中是否存储有与第三方代码仓库关联的变更脚本。
可选的,所述针对预设的代码仓库关联图中的各第三方代码仓库,确定与各第三方代码仓库关联的全部标签中包含的检索关键字的数量,包括:针对预设的代码仓库关联图中的每一个第三方代码仓库,执行下述操作:在所述预设的代码仓库关联图中,获取与第三方代码仓库关联的全部标签;检测与所述第三方代码仓库关联的全部标签中是否包含与所述当前软件项目对应的各所述检索关键字;根据检测结果,统计与所述第三方代码仓库关联的全部标签中包含的检索关键字的数量。
可选的,检测与所述第三方代码仓库关联的全部标签中是否包含与所述当前软件项目对应的各所述检索关键字,包括:依次获取一个检索关键字作为目标检索关键字;检测与所述第三方代码仓库关联的全部标签中是否存在与目标检索关键字相同的标签;若是,则确定与第三方代码仓库关联的全部标签中包含目标检索关键字;若否,则确定与第三方代码仓库关联的全部标签中不包含目标检索关键字;然后返回执行依次获取一个检索关键字作为目标检索关键字的操作,直至分别确定与所述第三方代码仓库关联的全部标签中是否包含与当前软件项目对应的各个检索关键字。
在一个具体实例中,当前软件项目对应10个检索关键字。针对预设的代码仓库关联图中的每一个第三方代码仓库,在预设的代码仓库关联图中,获取与第三方代码仓库关联的全部标签,然后依次检测与第三方代码仓库关联的全部标签中是否包含与当前软件项目对应的10个检索关键字。根据检测结果,统计与第三方代码仓库关联的全部标签中包含的检索关键字的数量。如果第三方代码仓库关联的全部标签中包含与当前软件项目对应的7个检索关键字,则与第三方代码仓库关联的全部标签中包含的检索关键字的数量为7。
可选的,所述根据所述数量,在各第三方代码仓库中确定与所述当前软件项目对应的至少一个基础备选第三方代码仓库,包括:按照与第三方代码仓库关联的全部标签中包含的检索关键字的数量从高到低,对预设的代码仓库关联图中的各第三方代码仓库进行排序;获取位于数量排序结果中的预设位置的第三方代码仓库,作为基础备选第三方代码仓库。
可选的,数量排序结果中的预设位置可以根据业务需求进行设置。例如,数量排序结果中的前5位。
可选的,基础备选第三方代码仓库是根据第三方代码仓库关联的全部标签中包含的检索关键字的数量,在用户可以使用的各第三方代码仓库中初步筛选的第三方代码仓库。基础备选第三方代码仓库的全部标签中包含的检索关键字的数量较多,可能是可以用于解决当前软件项目的开发过程中的痛点难点的第三方代码仓库。
步骤103、根据与所述当前软件项目对应的各所述检索关键字、各所述检索关键字的文字特征,生成与所述当前软件项目对应的关键字向量。
其中,各所述检索关键字的文字特征是各所述检索关键字在所述目标检索信息中出现的次数或各所述检索关键字在所述目标检索信息中出现的前后顺序。
可选的,根据与所述当前软件项目对应的各所述检索关键字、各所述检索关键字出现的次数,生成与所述当前软件项目对应的关键字向量,包括:使用词向量生成模型,生成各所述检索关键字的词向量;通过词频统计(Term Frequency-Inverse DocumentFrequency,TF-IDF)算法统计各所述检索关键字在目标检索信息中出现的次数,得到各所述检索关键字出现的次数;将各所述检索关键字出现的次数确定为各所述检索关键字的词向量的权重;根据各所述检索关键字的词向量、以及各所述检索关键字的词向量的权重,计算得到与所述当前软件项目对应的向量,作为与所述当前软件项目对应的关键字向量。
可选的,词向量生成模型为word2vec模型。
可选的,根据各所述检索关键字的词向量、以及各所述检索关键字的词向量的权重,计算得到与所述当前软件项目对应的向量,作为与所述当前软件项目对应的关键字向量,包括:根据下述计算公式,计算得到与所述当前软件项目对应的向量,作为与所述当前软件项目对应的关键字向量:
Va=Va1*Fa1+Va2*Fa2+……+Van*Fan
其中,Va是与所述当前软件项目对应的关键字向量,n是与所述当前软件项目对应的检索关键字的总数量,与所述当前软件项目对应的各所述检索关键字的词向量包括:Va1、Va2、……、Van,Fa1是词向量Va1的权重,Fa2是词向量Va2的权重,……,Fan是词向量Van的权重。
可选的,根据与所述当前软件项目对应的各所述检索关键字、各所述检索关键字出现的前后顺序,生成与所述当前软件项目对应的关键字向量,包括:使用词向量生成模型,生成各所述检索关键字的词向量;使用预设的权重设置规则,按照各所述检索关键字在目标检索信息中的正向出现顺序,设置各所述检索关键字的词向量的权重;其中,词向量的权重从正向出现顺序的第一位至最后一位依次升高,位于正向出现顺序的第一位的词向量的权重最低,位于正向出现顺序的最后一位的词向量的权重最高;根据各所述检索关键字的词向量、以及各所述检索关键字的词向量的权重,计算得到与所述当前软件项目对应的向量,作为与所述当前软件项目对应的关键字向量。
步骤104、根据与各所述基础备选第三方代码仓库关联的各标签、各标签的权重,生成与各所述基础备选第三方代码仓库对应的标签向量。
可选的,根据与各所述基础备选第三方代码仓库关联的各标签、各标签的权重,生成与各所述基础备选第三方代码仓库对应的标签向量,包括:针对每一个基础备选第三方代码仓库,执行下述操作:使用词向量生成模型,生成与基础备选第三方代码仓库关联的各标签的词向量;获取与基础备选第三方代码仓库关联的各标签的权重,将各标签的权重,确定为各标签的词向量的权重;根据各标签的词向量、以及各标签的词向量的权重,计算得到与基础备选第三方代码仓库对应的向量,作为与基础备选第三方代码仓库对应的标签向量。
可选的,计算机设备中预先存储了与各第三方代码仓库关联的各标签的权重。各第三方代码仓库的开发人员为各第三方代码仓库设置一个或者多个标签,并为每一个标签设置一个权重。每一个标签指示一项功能。权重越高的标签,重要度越高,表明标签指示的功能是第三方代码仓库可以实现的主要功能。
可选的,获取与基础备选第三方代码仓库关联的各标签的权重,包括:从计算机设备中预先存储的与各第三方代码仓库关联的各标签的权重中,提取与基础备选第三方代码仓库关联的各标签的权重。
可选的,根据各标签的词向量、以及各标签的词向量的权重,计算得到与基础备选第三方代码仓库对应的向量,作为与基础备选第三方代码仓库对应的标签向量,包括:根据下述计算公式,计算得到与基础备选第三方代码仓库对应的向量,作为与基础备选第三方代码仓库对应的标签向量:
Vb=Vb1*Fb1+Vb2*Fb2+……+Vbm*Fbm
其中,Vb是与基础备选第三方代码仓库对应的标签向量,m是与基础备选第三方代码仓库关联的标签的总数量,与基础备选第三方代码仓库关联的各标签的词向量包括:Vb1、Vb2、……、Vbm,Fb1是词向量Vb1的权重,Fb2是词向量Vb2的权重,……,Fbm是词向量Vbm的权重。
步骤105、计算所述关键字向量与所述标签向量之间的相似度,并根据所述相似度,在各所述基础备选第三方代码仓库中确定与所述当前软件项目对应的至少一个备选第三方代码仓库。
可选的,计算所述关键字向量与所述标签向量之间的相似度,包括:针对每一个基础备选第三方代码仓库,执行下述操作:使用余弦相似度算法,计算所述关键字向量与基础备选第三方代码仓库对应的标签向量之间的相似度。
可选的,根据所述相似度,在各所述基础备选第三方代码仓库中确定与所述当前软件项目对应的至少一个备选第三方代码仓库,包括:按照关键字向量与基础备选第三方代码仓库对应的标签向量之间的相似度从高到低,对各所述基础备选第三方代码仓库进行排序;获取位于相似度排序结果中的预设位置的基础备选第三方代码仓库,作为备选第三方代码仓库。
可选的,相似度排序结果中的预设位置可以根据业务需求进行设置。例如,数量排序结果中的前3位。
可选的,备选第三方代码仓库是根据当前软件项目对应的关键字向量与基础备选第三方代码仓库对应的标签向量之间的相似度,在基础备选第三方代码仓库中进一步筛选的第三方代码仓库。备选第三方代码对应的标签向量与当前软件项目对应的关键字向量之间的相似度较高,表明备选第三方代码可以实现的功能与当前软件项目中需要解决的痛点难点的相关度较高,是可以为解决当前软件项目的开发过程中的痛点难点提供技术支撑的第三方代码仓库。
步骤106、按照性能评估数值从高到低,对各所述备选第三方代码仓库进行排序,获取位于数值排序结果中的预设位置的备选第三方代码仓库作为与所述当前软件项目对应的最优第三方代码仓库,将所述最优第三方代码仓库提供给所述用户进行选择。
可选的,所述按照性能评估数值从高到低,对各所述备选第三方代码仓库进行排序,获取位于数值排序结果中的预设位置的备选第三方代码仓库作为与所述当前软件项目对应的最优第三方代码仓库,将所述最优第三方代码仓库提供给所述用户进行选择,包括:在所述预设的代码仓库关联图中,获取各所述备选第三方代码仓库的性能评估数值;按照性能评估数值从高到低,对各所述备选第三方代码仓库进行排序,获取位于性能评估数值排序结果中的第一位的备选第三方代码仓库作为与所述当前软件项目对应的第一最优第三方代码仓库;获取位于性能评估数值排序结果中的第二位的备选第三方代码仓库作为与所述当前软件项目对应的第二最优第三方代码仓库;通过仓库展示页面,向所述用户展示所述第一最优第三方代码仓库和所述第二最优第三方代码仓库,供所述用户进行选择。
可选的,最优第三方代码仓库是根据第三方代码仓库的性能评估数值,在备选第三方代码仓库中进一步筛选的第三方代码仓库。最优第三方代码仓库的性能评估数值较高,表明最优第三方代码仓库是可以为解决当前软件项目的开发过程中的痛点难点提供技术支撑的备选第三方代码仓库中的性能良好,不存在明显性能缺陷的第三方代码仓库。
可选的,仓库展示页面是用于向用户展示所述第一最优第三方代码仓库的页面。通过仓库展示页面,向所述用户展示所述第一最优第三方代码仓库和所述第二最优第三方代码仓库,供所述用户进行选择,包括:在仓库展示页面中显示所述第一最优第三方代码仓库的名称、与所述第一最优第三方代码仓库对应的选择控件、所述第二最优第三方代码仓库的名称、以及与所述第二最优第三方代码仓库对应的选择控件。
可选的,用户可以通过点击与所述第一最优第三方代码仓库对应的选择控件,选择将所述第一最优第三方代码仓库确定为与所述当前软件项目对应的更新第三方代码仓库,即选择将所述第一最优第三方代码仓库确定为与所述当前软件项目对应的新的第三方代码仓库。
可选的,用户可以通过点击与所述第二最优第三方代码仓库对应的选择控件,选择将所述第二第三方代码仓库确定为与所述当前软件项目对应的更新第三方代码仓库,即选择将所述第二选择第三方代码仓库确定为与所述当前软件项目对应的新的第三方代码仓库。
可选的,在通过仓库展示页面,向所述用户展示所述第一最优第三方代码仓库和所述第二最优第三方代码仓库,供所述用户进行选择之后,还包括:在根据所述用户与所述仓库展示页面的交互操作,确认所述用户选择将所述第一最优第三方代码仓库确定为与所述当前软件项目对应的更新第三方代码仓库之后,获取所述第一最优第三方代码仓库与所述当前软件项目对应的当前第三方代码仓库之间的变更脚本;使用所述变更脚本,将与所述当前软件项目对应的第三方代码仓库从所述当前第三方代码仓库切换至所述第一最优第三方代码仓库。
可选的,所述当前第三方代码仓库是当前时刻用户基于个人经验设置的与所述当前软件项目对应的第三方代码仓库。
可选的,获取所述第一最优第三方代码仓库与所述当前软件项目对应的当前第三方代码仓库之间的变更脚本,包括:根据所述预设的代码仓库关联图,确定计算机设备中是否存储所述第一最优第三方代码仓库与所述当前软件项目对应的当前第三方代码仓库之间的变更脚本;若是,则从计算机设备中存储的各变更脚本中,提取所述第一最优第三方代码仓库与所述当前软件项目对应的当前第三方代码仓库之间的变更脚本;若否,则通过仓库展示页面,向所述用户展示代码仓库变更提示信息;其中,代码仓库变更提示信息用于提示计算机设备中没有存储所述第一最优第三方代码仓库与所述当前软件项目对应的当前第三方代码仓库之间的变更脚本,用户可以上传所述第一最优第三方代码仓库与所述当前软件项目对应的当前第三方代码仓库之间的变更脚本,或手动将与所述当前软件项目对应的第三方代码仓库从所述当前第三方代码仓库切换至所述第一最优第三方代码仓库。
可选的,使用所述变更脚本,将与所述当前软件项目对应的第三方代码仓库从所述当前第三方代码仓库切换至所述第一最优第三方代码仓库,包括:通过所述变更脚本,删除计算机设备中存储的所述当前第三方代码仓库,然后将所述第一最优第三方代码仓库下载到计算机设备中。由此,用户可以在所述当前软件项目的开发过程中引用所述第一最优第三方代码仓库中的代码文件。
可选的,在通过仓库展示页面,向所述用户展示所述第一最优第三方代码仓库和所述第二最优第三方代码仓库,供所述用户进行选择之前,还包括:判断所述第一最优第三方代码仓库和所述第二最优第三方代码仓库中是否包含与所述当前软件项目对应的当前第三方代码仓库;若是,则从各备选第三方代码仓库中重新获取一个备选第三方代码仓库,替换与所述当前软件项目对应的当前第三方代码仓库;若否,则通过仓库展示页面,向所述用户展示所述第一最优第三方代码仓库和所述第二最优第三方代码仓库,供所述用户进行选择。
可选的,在使用所述变更脚本,将与所述当前软件项目对应的第三方代码仓库从所述当前第三方代码仓库切换至所述第一最优第三方代码仓库之后,还包括:通过代码仓库评分值页面,获取所述用户针对所述第一最优第三方代码仓库的评分值。
可选的,代码仓库评分值页面是用于获取用户输入的第三方代码仓库的评分值的页面。用户可以在代码仓库评分值页面中输入针对所述第一最优第三方代码仓库的评分值,从而对所述第一最优第三方代码仓库进行评价。
本发明实施例提供了一种代码仓库选择方法,通过采集用户在当前软件项目的启动时间之后输入的目标检索信息,对目标检索信息进行分词处理,得到与当前软件项目对应的至少一个检索关键字;然后针对预设的代码仓库关联图中的各第三方代码仓库,确定与各第三方代码仓库关联的全部标签中包含的检索关键字的数量,并根据数量,在各第三方代码仓库中确定与当前软件项目对应的至少一个基础备选第三方代码仓库;根据与当前软件项目对应的各检索关键字、各检索关键字的文字特征,生成与当前软件项目对应的关键字向量;根据与各基础备选第三方代码仓库关联的各标签、各标签的权重,生成与各基础备选第三方代码仓库对应的标签向量;然后计算关键字向量与标签向量之间的相似度,并根据相似度,在各基础备选第三方代码仓库中确定与当前软件项目对应的至少一个备选第三方代码仓库;最后按照性能评估数值从高到低,对各备选第三方代码仓库进行排序,获取位于数值排序结果中的预设位置的备选第三方代码仓库作为与当前软件项目对应的最优第三方代码仓库提供给用户进行选择,可以自动根据包含当前软件项目开发过程中的痛点难点的用户检索信息,在预设的代码仓库关联图中的各第三方代码仓库中确定可以为解决当前软件项目的开发过程中的痛点难点提供技术支撑、性能良好、不存在明显性能缺陷的最优第三方代码仓库,并将最优第三方代码仓库提供给用户进行选择,以使用户将可以为解决当前软件项目的开发过程中的痛点难点提供技术支撑、性能良好、不存在明显性能缺陷的最优第三方代码仓库,设置为与当前软件项目对应的第三方代码仓库,既可以针对当前软件项目开发过程中的痛点难点设置与当前软件项目对应的第三方代码仓库,又可以避免与当前软件项目对应的第三方代码仓库存在明显性能缺陷,减少开发人员的工作量,提高软件项目的质量。
本发明实施例可以基于人工智能技术对用户在软件项目的启动时间之后的检索信息、与各第三方代码仓库关联的各类信息进行获取和处理。其中,人工智能(ArtificialIntelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。
实施例二
图2为本发明实施例二提供的一种代码仓库选择方法的流程图。本发明实施例可以与上述一个或者多个实施例中各可选方案结合。如图2所示,本发明实施例的方法具体包括:
步骤201、采集用户在当前软件项目的启动时间之后输入的目标检索信息,对所述目标检索信息进行分词处理,得到与所述当前软件项目对应的至少一个检索关键字。
步骤202、针对预设的代码仓库关联图中的各第三方代码仓库,确定与各第三方代码仓库关联的全部标签中包含的检索关键字的数量,并根据所述数量,在各第三方代码仓库中确定与所述当前软件项目对应的至少一个基础备选第三方代码仓库。
步骤203、根据与所述当前软件项目对应的各所述检索关键字、各所述检索关键字的文字特征,生成与所述当前软件项目对应的关键字向量。
其中,各所述检索关键字的文字特征是各所述检索关键字在所述目标检索信息中出现的次数或各所述检索关键字在所述目标检索信息中出现的前后顺序。
步骤204、根据与各所述基础备选第三方代码仓库关联的各标签、各标签的权重,生成与各所述基础备选第三方代码仓库对应的标签向量。
步骤205、计算所述关键字向量与所述标签向量之间的相似度,并根据所述相似度,在各所述基础备选第三方代码仓库中确定与所述当前软件项目对应的至少一个备选第三方代码仓库。
步骤206、在所述预设的代码仓库关联图中,获取各所述备选第三方代码仓库的性能评估数值。
步骤207、按照性能评估数值从高到低,对各所述备选第三方代码仓库进行排序,获取位于性能评估数值排序结果中的第一位的备选第三方代码仓库作为与所述当前软件项目对应的第一最优第三方代码仓库。
步骤208、获取位于性能评估数值排序结果中的第二位的备选第三方代码仓库作为与所述当前软件项目对应的第二最优第三方代码仓库。
可选的,第一最优第三方代码仓库和第二最优第三方代码仓库是根据第三方代码仓库的性能评估数值,在备选第三方代码仓库中进一步筛选的第三方代码仓库。第一最优第三方代码仓库和第二最优第三方代码仓库的性能评估数值较高,表明第一最优第三方代码仓库和第二最优第三方代码仓库是可以为解决当前软件项目的开发过程中的痛点难点提供技术支撑的备选第三方代码仓库中的性能良好,不存在明显性能缺陷的第三方代码仓库。
步骤209、通过仓库展示页面,向所述用户展示所述第一最优第三方代码仓库和所述第二最优第三方代码仓库,供所述用户进行选择。
可选的,仓库展示页面是用于向用户展示所述第一最优第三方代码仓库的页面。通过仓库展示页面,向所述用户展示所述第一最优第三方代码仓库和所述第二最优第三方代码仓库,包括:在仓库展示页面中显示所述第一最优第三方代码仓库的名称、与所述第一最优第三方代码仓库对应的选择控件、所述第二最优第三方代码仓库的名称、以及与所述第二最优第三方代码仓库对应的选择控件。
可选的,用户可以通过点击与所述第一最优第三方代码仓库对应的确认控件,选择将所述第一最优第三方代码仓库确定为与所述当前软件项目对应的更新第三方代码仓库,即选择将所述第一最优第三方代码仓库确定为与所述当前软件项目对应的新的第三方代码仓库。
可选的,用户可以通过点击与所述第二最优第三方代码仓库对应的确认控件,选择将所述第二最优第三方代码仓库确定为与所述当前软件项目对应的更新第三方代码仓库,即选择将所述第二最优第三方代码仓库确定为与所述当前软件项目对应的新的第三方代码仓库。
可选的,在通过仓库展示页面,向所述用户展示所述第一最优第三方代码仓库和所述第二最优第三方代码仓库之前,还包括:判断所述第一最优第三方代码仓库和所述第二最优第三方代码仓库中是否包含与所述当前软件项目对应的当前第三方代码仓库;若是,则从各备选第三方代码仓库中重新获取一个备选第三方代码仓库,替换与所述当前软件项目对应的当前第三方代码仓库;若否,则通过仓库展示页面,向所述用户展示所述第一最优第三方代码仓库和所述第二最优第三方代码仓库。
步骤210、在根据所述用户与所述仓库展示页面的交互操作,确认所述用户选择将所述第一最优第三方代码仓库确定为与所述当前软件项目对应的更新第三方代码仓库之后,获取所述第一最优第三方代码仓库与所述当前软件项目对应的当前第三方代码仓库之间的变更脚本。
可选的,所述当前第三方代码仓库是当前时刻与所述当前软件项目对应的第三方代码仓库,可以是用户基于个人经验预先设置的与所述当前软件项目对应的第三方代码仓库。
可选的,获取所述第一最优第三方代码仓库与所述当前软件项目对应的当前第三方代码仓库之间的变更脚本,包括:根据所述预设的代码仓库关联图,确定计算机设备中是否存储所述第一最优第三方代码仓库与所述当前软件项目对应的当前第三方代码仓库之间的变更脚本;若是,则从计算机设备中存储的各变更脚本中,提取所述第一最优第三方代码仓库与所述当前软件项目对应的当前第三方代码仓库之间的变更脚本;若否,则通过仓库展示页面,向所述用户展示代码仓库变更提示信息;其中,代码仓库变更提示信息用于提示计算机设备中没有存储所述第一最优第三方代码仓库与所述当前软件项目对应的当前第三方代码仓库之间的变更脚本,用户可以上传所述第一最优第三方代码仓库与所述当前软件项目对应的当前第三方代码仓库之间的变更脚本,或手动将与所述当前软件项目对应的第三方代码仓库从所述当前第三方代码仓库切换至所述第一最优第三方代码仓库。
步骤211、使用所述变更脚本,将与所述当前软件项目对应的第三方代码仓库从所述当前第三方代码仓库切换至所述第一最优第三方代码仓库。
可选的,使用所述变更脚本,将与所述当前软件项目对应的第三方代码仓库从所述当前第三方代码仓库切换至所述第一最优第三方代码仓库,包括:通过所述变更脚本,删除计算机设备中存储的所述当前第三方代码仓库,然后将所述第一最优第三方代码仓库下载到计算机设备中。由此,用户可以在所述当前软件项目的开发过程中引用所述第一最优第三方代码仓库中的代码文件。
可选的,在使用所述变更脚本,将与所述当前软件项目对应的第三方代码仓库从所述当前第三方代码仓库切换至所述第一最优第三方代码仓库之后,还包括:通过代码仓库评分值页面,获取所述用户针对所述第一最优第三方代码仓库的评分值。
本发明实施例提供了一种代码仓库选择方法,可以自动根据包含当前软件项目开发过程中的痛点难点的用户检索信息,在预设的代码仓库关联图中的各第三方代码仓库中确定可以为解决当前软件项目的开发过程中的痛点难点提供技术支撑、性能良好、不存在明显性能缺陷的最优第三方代码仓库,并将最优第三方代码仓库提供给用户进行选择,以使用户将可以为解决当前软件项目的开发过程中的痛点难点提供技术支撑、性能良好、不存在明显性能缺陷的最优第三方代码仓库,设置为与当前软件项目对应的第三方代码仓库,既可以针对当前软件项目开发过程中的痛点难点设置与当前软件项目对应的第三方代码仓库,又可以避免与当前软件项目对应的第三方代码仓库存在明显性能缺陷,可以使用第三方代码仓库之间的变更脚本,自动切换与当前软件项目对应的第三方代码仓库,帮助用户更快地接入与当前软件项目对应的最优第三方代码仓库,减少开发人员的工作量,提高软件项目的质量。
实施例三
图3为本发明实施例三提供的一种代码仓库选择装置的结构示意图。如图3所示,所述装置包括:检索信息处理模块301、第一确定模块302、关键字向量生成模块303、标签向量生成模块304、第二确定模块305以及代码仓库选择模块306。
其中,检索信息处理模块301,用于采集用户在当前软件项目的启动时间之后输入的目标检索信息,对所述目标检索信息进行分词处理,得到与所述当前软件项目对应的至少一个检索关键字;第一确定模块302,用于针对预设的代码仓库关联图中的各第三方代码仓库,确定与各第三方代码仓库关联的全部标签中包含的检索关键字的数量,并根据所述数量,在各第三方代码仓库中确定与所述当前软件项目对应的至少一个基础备选第三方代码仓库;关键字向量生成模块303,用于根据与所述当前软件项目对应的各所述检索关键字、各所述检索关键字的文字特征,生成与所述当前软件项目对应的关键字向量;其中,各所述检索关键字的文字特征是各所述检索关键字在所述目标检索信息中出现的次数或各所述检索关键字在所述目标检索信息中出现的前后顺序;标签向量生成模块304,用于根据与各所述基础备选第三方代码仓库关联的各标签、各标签的权重,生成与各所述基础备选第三方代码仓库对应的标签向量;第二确定模块305,用于计算所述关键字向量与所述标签向量之间的相似度,并根据所述相似度,在各所述基础备选第三方代码仓库中确定与所述当前软件项目对应的至少一个备选第三方代码仓库;代码仓库选择模块306,用于按照性能评估数值从高到低,对各所述备选第三方代码仓库进行排序,获取位于数值排序结果中的预设位置的备选第三方代码仓库作为与所述当前软件项目对应的最优第三方代码仓库,将所述最优第三方代码仓库提供给所述用户进行选择。
本发明实施例提供了一种代码仓库选择装置,通过采集用户在当前软件项目的启动时间之后输入的目标检索信息,对目标检索信息进行分词处理,得到与当前软件项目对应的至少一个检索关键字;然后针对预设的代码仓库关联图中的各第三方代码仓库,确定与各第三方代码仓库关联的全部标签中包含的检索关键字的数量,并根据数量,在各第三方代码仓库中确定与当前软件项目对应的至少一个基础备选第三方代码仓库;根据与当前软件项目对应的各检索关键字、各检索关键字的文字特征,生成与当前软件项目对应的关键字向量;根据与各基础备选第三方代码仓库关联的各标签、各标签的权重,生成与各基础备选第三方代码仓库对应的标签向量;然后计算关键字向量与标签向量之间的相似度,并根据相似度,在各基础备选第三方代码仓库中确定与当前软件项目对应的至少一个备选第三方代码仓库;最后按照性能评估数值从高到低,对各备选第三方代码仓库进行排序,获取位于数值排序结果中的预设位置的备选第三方代码仓库作为与当前软件项目对应的最优第三方代码仓库提供给用户进行选择,可以自动根据包含当前软件项目开发过程中的痛点难点的用户检索信息,在预设的代码仓库关联图中的各第三方代码仓库中确定可以为解决当前软件项目的开发过程中的痛点难点提供技术支撑、性能良好、不存在明显性能缺陷的最优第三方代码仓库,并将最优第三方代码仓库提供给用户进行选择,以使用户将可以为解决当前软件项目的开发过程中的痛点难点提供技术支撑、性能良好、不存在明显性能缺陷的最优第三方代码仓库,设置为与当前软件项目对应的第三方代码仓库,既可以针对当前软件项目开发过程中的痛点难点设置与当前软件项目对应的第三方代码仓库,又可以避免与当前软件项目对应的第三方代码仓库存在明显性能缺陷,减少开发人员的工作量,提高软件项目的质量。
在本发明实施例的一个可选实施方式中,可选的,检索信息处理模块301在执行采集用户在当前软件项目的启动时间之后输入的目标检索信息的操作时,具体用于:通过询问信息展示页面,向用户展示数据权限询问信息;其中,所述数据权限询问信息是用于询问所述用户是否为计算机设备授予对所述目标检索信息的采集权限的询问信息;在根据所述用户与所述询问信息展示页面的交互操作,确认所述用户为计算机设备授予对所述目标检索信息的采集权限之后,采集所述用户在所述当前软件项目的启动时间之后输入的目标检索信息。
在本发明实施例的一个可选实施方式中,可选的,代码仓库选择装置,还包括:标签获取模块,用于获取与各第三方代码仓库关联的全部标签;第一生成模块,用于以各标签、各第三方代码仓库作为顶点,以各标签与各第三方代码仓库之间的关联关系作为边,生成基础代码仓库关联图;数值计算模块,用于基于各第三方代码仓库的代码仓库评价信息,计算所述基础代码仓库关联图中的各第三方代码仓库的性能评估数值;其中,所述代码仓库评价信息包括:关注量信息、评分值信息、用户反馈信息、上传时间信息和/或问题响应信息;脚本获取模块,用于获取预设的各第三方代码仓库之间的变更脚本;其中,所述变更脚本用于将与任一一个软件项目对应的第三方代码仓库从第一目标第三方代码仓库切换至第二目标第三方代码仓库,或将与软件项目对应的第三方代码仓库从所述第二目标第三方代码仓库切换至所述第一目标第三方代码仓库,所述第一目标第三方代码仓库和所述第二目标第三方代码仓库是所述预设的各第三方代码仓库中的两个不同的第三方代码仓库;第二生成模块,用于针对各所述变更脚本,在所述基础代码仓库关联图中的与变更脚本关联的两个第三方代码仓库之间生成表示两个第三方代码仓库之间的关联关系的边,得到代码仓库关联图。
在本发明实施例的一个可选实施方式中,可选的,第一确定模块302在执行针对预设的代码仓库关联图中的各第三方代码仓库,确定与各第三方代码仓库关联的全部标签中包含的检索关键字的数量的操作时,具体用于:针对预设的代码仓库关联图中的每一个第三方代码仓库,执行下述操作:在所述预设的代码仓库关联图中,获取与第三方代码仓库关联的全部标签;检测与所述第三方代码仓库关联的全部标签中是否包含与所述当前软件项目对应的各所述检索关键字;根据检测结果,统计与所述第三方代码仓库关联的全部标签中包含的检索关键字的数量。
在本发明实施例的一个可选实施方式中,可选的,第一确定模块302在执行根据所述数量,在各第三方代码仓库中确定与所述当前软件项目对应的至少一个基础备选第三方代码仓库的操作时,具体用于:按照与第三方代码仓库关联的全部标签中包含的检索关键字的数量从高到低,对预设的代码仓库关联图中的各第三方代码仓库进行排序;获取位于数量排序结果中的预设位置的第三方代码仓库,作为基础备选第三方代码仓库。
在本发明实施例的一个可选实施方式中,可选的,代码仓库选择模块306具体用于:在所述预设的代码仓库关联图中,获取各所述备选第三方代码仓库的性能评估数值,按照性能评估数值从高到低,对各所述备选第三方代码仓库进行排序;获取位于性能评估数值排序结果中的第一位的备选第三方代码仓库作为与所述当前软件项目对应的第一最优第三方代码仓库;获取位于性能评估数值排序结果中的第二位的备选第三方代码仓库作为与所述当前软件项目对应的第二最优第三方代码仓库;通过仓库展示页面,向所述用户展示所述第一最优第三方代码仓库和所述第二最优第三方代码仓库,供所述用户进行选择。
在本发明实施例的一个可选实施方式中,可选的,代码仓库选择模块306还用于:在根据所述用户与所述仓库展示页面的交互操作,确认所述用户选择将所述第一最优第三方代码仓库确定为与所述当前软件项目对应的更新第三方代码仓库之后,获取所述第一最优第三方代码仓库与所述当前软件项目对应的当前第三方代码仓库之间的变更脚本;使用所述变更脚本,将与所述当前软件项目对应的第三方代码仓库从所述当前第三方代码仓库切换至所述第一最优第三方代码仓库。
关于上述实施例中的装置,其中各模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
上述代码仓库选择装置可执行本发明任意实施例所提供的代码仓库选择方法,具备执行代码仓库选择方法相应的功能模块和有益效果。
实施例四
图4为本发明实施例四提供的一种计算机设备的结构示意图。图4示出了适用于来实现本发明实施方式的示例性计算机设备12的框图。
图4显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器16,存储器28,连接不同业务系统组件(包括存储器28和处理器16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图4中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器16通过运行存储在存储器28中的程序,从而执行各种功能应用以及数据处理,实现本发明实施例所提供的代码仓库选择方法:采集用户在当前软件项目的启动时间之后输入的目标检索信息,对所述目标检索信息进行分词处理,得到与所述当前软件项目对应的至少一个检索关键字;针对预设的代码仓库关联图中的各第三方代码仓库,确定与各第三方代码仓库关联的全部标签中包含的检索关键字的数量,并根据所述数量,在各第三方代码仓库中确定与所述当前软件项目对应的至少一个基础备选第三方代码仓库;根据与所述当前软件项目对应的各所述检索关键字、各所述检索关键字的文字特征,生成与所述当前软件项目对应的关键字向量;其中,各所述检索关键字的文字特征是各所述检索关键字在所述目标检索信息中出现的次数或各所述检索关键字在所述目标检索信息中出现的前后顺序;根据与各所述基础备选第三方代码仓库关联的各标签、各标签的权重,生成与各所述基础备选第三方代码仓库对应的标签向量;计算所述关键字向量与所述标签向量之间的相似度,并根据所述相似度,在各所述基础备选第三方代码仓库中确定与所述当前软件项目对应的至少一个备选第三方代码仓库;按照性能评估数值从高到低,对各所述备选第三方代码仓库进行排序,获取位于数值排序结果中的预设位置的备选第三方代码仓库作为与所述当前软件项目对应的最优第三方代码仓库,将所述最优第三方代码仓库提供给所述用户进行选择。
实施例五
本发明实施例五提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现本发明实施例所提供的代码仓库选择方法:采集用户在当前软件项目的启动时间之后输入的目标检索信息,对所述目标检索信息进行分词处理,得到与所述当前软件项目对应的至少一个检索关键字;针对预设的代码仓库关联图中的各第三方代码仓库,确定与各第三方代码仓库关联的全部标签中包含的检索关键字的数量,并根据所述数量,在各第三方代码仓库中确定与所述当前软件项目对应的至少一个基础备选第三方代码仓库;根据与所述当前软件项目对应的各所述检索关键字、各所述检索关键字的文字特征,生成与所述当前软件项目对应的关键字向量;其中,各所述检索关键字的文字特征是各所述检索关键字在所述目标检索信息中出现的次数或各所述检索关键字在所述目标检索信息中出现的前后顺序;根据与各所述基础备选第三方代码仓库关联的各标签、各标签的权重,生成与各所述基础备选第三方代码仓库对应的标签向量;计算所述关键字向量与所述标签向量之间的相似度,并根据所述相似度,在各所述基础备选第三方代码仓库中确定与所述当前软件项目对应的至少一个备选第三方代码仓库;按照性能评估数值从高到低,对各所述备选第三方代码仓库进行排序,获取位于数值排序结果中的预设位置的备选第三方代码仓库作为与所述当前软件项目对应的最优第三方代码仓库,将所述最优第三方代码仓库提供给所述用户进行选择。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种代码仓库选择方法,其特征在于,包括:
采集用户在当前软件项目的启动时间之后输入的目标检索信息,对所述目标检索信息进行分词处理,得到与所述当前软件项目对应的至少一个检索关键字;
针对预设的代码仓库关联图中的各第三方代码仓库,确定与各第三方代码仓库关联的全部标签中包含的检索关键字的数量,并根据所述数量,在各第三方代码仓库中确定与所述当前软件项目对应的至少一个基础备选第三方代码仓库;
根据与所述当前软件项目对应的各所述检索关键字、各所述检索关键字的文字特征,生成与所述当前软件项目对应的关键字向量;其中,各所述检索关键字的文字特征是各所述检索关键字在所述目标检索信息中出现的次数或各所述检索关键字在所述目标检索信息中出现的前后顺序;
根据与各所述基础备选第三方代码仓库关联的各标签、各标签的权重,生成与各所述基础备选第三方代码仓库对应的标签向量;
计算所述关键字向量与所述标签向量之间的相似度,并根据所述相似度,在各所述基础备选第三方代码仓库中确定与所述当前软件项目对应的至少一个备选第三方代码仓库;
按照性能评估数值从高到低,对各所述备选第三方代码仓库进行排序,获取位于数值排序结果中的预设位置的备选第三方代码仓库作为与所述当前软件项目对应的最优第三方代码仓库,将所述最优第三方代码仓库提供给所述用户进行选择。
2.根据权利要求1所述的方法,其特征在于,所述采集用户在当前软件项目的启动时间之后输入的目标检索信息,包括:
通过询问信息展示页面,向用户展示数据权限询问信息;
其中,所述数据权限询问信息是用于询问所述用户是否为计算机设备授予对所述目标检索信息的采集权限的询问信息;
在根据所述用户与所述询问信息展示页面的交互操作,确认所述用户为计算机设备授予对所述目标检索信息的采集权限之后,采集所述用户在所述当前软件项目的启动时间之后输入的目标检索信息。
3.根据权利要求1所述的方法,其特征在于,在采集用户在当前软件项目的启动时间之后输入的目标检索信息之前,还包括:
获取与各第三方代码仓库关联的全部标签;
以各标签、各第三方代码仓库作为顶点,以各标签与各第三方代码仓库之间的关联关系作为边,生成基础代码仓库关联图;
基于各第三方代码仓库的代码仓库评价信息,计算所述基础代码仓库关联图中的各第三方代码仓库的性能评估数值;其中,所述代码仓库评价信息包括:关注量信息、评分值信息、用户反馈信息、上传时间信息和/或问题响应信息;
获取预设的各第三方代码仓库之间的变更脚本;其中,所述变更脚本用于将与任一一个软件项目对应的第三方代码仓库从第一目标第三方代码仓库切换至第二目标第三方代码仓库,或将与任一一个软件项目对应的第三方代码仓库从所述第二目标第三方代码仓库切换至所述第一目标第三方代码仓库,所述第一目标第三方代码仓库和所述第二目标第三方代码仓库是所述预设的各第三方代码仓库中的两个不同的第三方代码仓库;
针对各所述变更脚本,在所述基础代码仓库关联图中的与变更脚本关联的两个第三方代码仓库之间生成表示两个第三方代码仓库之间的关联关系的边,得到代码仓库关联图。
4.根据权利要求3所述的方法,其特征在于,所述针对预设的代码仓库关联图中的各第三方代码仓库,确定与各第三方代码仓库关联的全部标签中包含的检索关键字的数量,包括:
针对预设的代码仓库关联图中的每一个第三方代码仓库,执行下述操作:
在所述预设的代码仓库关联图中,获取与第三方代码仓库关联的全部标签;
检测与所述第三方代码仓库关联的全部标签中是否包含与所述当前软件项目对应的各所述检索关键字;
根据检测结果,统计与所述第三方代码仓库关联的全部标签中包含的检索关键字的数量。
5.根据权利要求1所述的方法,其特征在于,所述根据所述数量,在各第三方代码仓库中确定与所述当前软件项目对应的至少一个基础备选第三方代码仓库,包括:
按照与第三方代码仓库关联的全部标签中包含的检索关键字的数量从高到低,对预设的代码仓库关联图中的各第三方代码仓库进行排序;
获取位于数量排序结果中的预设位置的第三方代码仓库,作为基础备选第三方代码仓库。
6.根据权利要求3所述的方法,其特征在于,所述按照性能评估数值从高到低,对各所述备选第三方代码仓库进行排序,获取位于数值排序结果中的预设位置的备选第三方代码仓库作为与所述当前软件项目对应的最优第三方代码仓库,将所述最优第三方代码仓库提供给所述用户进行选择,包括:
在所述预设的代码仓库关联图中,获取各所述备选第三方代码仓库的性能评估数值;
按照性能评估数值从高到低,对各所述备选第三方代码仓库进行排序,获取位于性能评估数值排序结果中的第一位的备选第三方代码仓库作为与所述当前软件项目对应的第一最优第三方代码仓库;
获取位于性能评估数值排序结果中的第二位的备选第三方代码仓库作为与所述当前软件项目对应的第二最优第三方代码仓库;
通过仓库展示页面,向所述用户展示所述第一最优第三方代码仓库和所述第二最优第三方代码仓库,供所述用户进行选择。
7.根据权利要求6所述的方法,其特征在于,在通过仓库展示页面,向所述用户展示所述第一最优第三方代码仓库和所述第二最优第三方代码仓库,供所述用户进行选择之后,还包括:
在根据所述用户与所述仓库展示页面的交互操作,确认所述用户选择将所述第一最优第三方代码仓库确定为与所述当前软件项目对应的更新第三方代码仓库之后,获取所述第一最优第三方代码仓库与所述当前软件项目对应的当前第三方代码仓库之间的变更脚本;
使用所述变更脚本,将与所述当前软件项目对应的第三方代码仓库从所述当前第三方代码仓库切换至所述第一最优第三方代码仓库。
8.一种代码仓库选择装置,其特征在于,包括:
检索信息处理模块,用于采集用户在当前软件项目的启动时间之后输入的目标检索信息,对所述目标检索信息进行分词处理,得到与所述当前软件项目对应的至少一个检索关键字;
第一确定模块,用于针对预设的代码仓库关联图中的各第三方代码仓库,确定与各第三方代码仓库关联的全部标签中包含的检索关键字的数量,并根据所述数量,在各第三方代码仓库中确定与所述当前软件项目对应的至少一个基础备选第三方代码仓库;
关键字向量生成模块,用于根据与所述当前软件项目对应的各所述检索关键字、各所述检索关键字的文字特征,生成与所述当前软件项目对应的关键字向量;其中,各所述检索关键字的文字特征是各所述检索关键字在所述目标检索信息中出现的次数或各所述检索关键字在所述目标检索信息中出现的前后顺序;
标签向量生成模块,用于根据与各所述基础备选第三方代码仓库关联的各标签、各标签的权重,生成与各所述基础备选第三方代码仓库对应的标签向量;
第二确定模块,用于计算所述关键字向量与所述标签向量之间的相似度,并根据所述相似度,在各所述基础备选第三方代码仓库中确定与所述当前软件项目对应的至少一个备选第三方代码仓库;
代码仓库选择模块,用于按照性能评估数值从高到低,对各所述备选第三方代码仓库进行排序,获取位于数值排序结果中的预设位置的备选第三方代码仓库作为与所述当前软件项目对应的最优第三方代码仓库,将所述最优第三方代码仓库提供给所述用户进行选择。
9.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行,使得所述一个或多个处理器执行所述计算机程序时实现如权利要求1-7中任一所述的代码仓库选择方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-7中任一所述的代码仓库选择方法。
CN202111544975.7A 2021-12-16 2021-12-16 一种代码仓库选择方法、装置、设备及存储介质 Pending CN114237588A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111544975.7A CN114237588A (zh) 2021-12-16 2021-12-16 一种代码仓库选择方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111544975.7A CN114237588A (zh) 2021-12-16 2021-12-16 一种代码仓库选择方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN114237588A true CN114237588A (zh) 2022-03-25

Family

ID=80757218

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111544975.7A Pending CN114237588A (zh) 2021-12-16 2021-12-16 一种代码仓库选择方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114237588A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116880899A (zh) * 2023-09-08 2023-10-13 国网信息通信产业集团有限公司 任务信息关联方法、装置、电子设备和计算机可读介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116880899A (zh) * 2023-09-08 2023-10-13 国网信息通信产业集团有限公司 任务信息关联方法、装置、电子设备和计算机可读介质
CN116880899B (zh) * 2023-09-08 2024-01-12 国网信息通信产业集团有限公司 任务信息关联方法、装置、电子设备和计算机可读介质

Similar Documents

Publication Publication Date Title
JP6714024B2 (ja) 言語入力データからnグラムおよび概念関係の自動生成
US10558754B2 (en) Method and system for automating training of named entity recognition in natural language processing
CN109409533B (zh) 一种机器学习模型的生成方法、装置、设备及存储介质
CN110968695A (zh) 基于弱监督技术主动学习的智能标注方法、装置及平台
JP4368336B2 (ja) カテゴリ設定支援方法及び装置
CN106796608B (zh) 上下文搜索字符串同义词的自动生成
JP2020537224A (ja) 名前付きエンティティの構文解析および識別に基づくクロスドキュメントの修辞的つながりの判断
CN110619076A (zh) 一种搜索词推荐方法、装置、计算机及存储介质
CN108228567B (zh) 用于提取组织机构的简称的方法和装置
EP2889788A1 (en) Accessing information content in a database platform using metadata
CN106095738A (zh) 推荐表单片段
CN110737824B (zh) 内容查询方法和装置
CN110968801A (zh) 地产产品搜索方法、存储介质及电子设备
CN111143556A (zh) 软件功能点自动计数方法、装置、介质及电子设备
CN113239173A (zh) 问答数据的处理方法、装置、存储介质与电子设备
US11275777B2 (en) Methods and systems for generating timelines for entities
CN112988784B (zh) 数据查询方法、查询语句生成方法及其装置
CN114237588A (zh) 一种代码仓库选择方法、装置、设备及存储介质
CN113032834A (zh) 一种数据库表格处理方法、装置、设备及存储介质
US20210208855A1 (en) Code recommender for resolving a new issue received by an issue tracking system
CN116383340A (zh) 信息搜索方法、装置、电子设备和存储介质
US20220180287A1 (en) Optimization support apparatus and method
CN112989011B (zh) 数据查询方法、数据查询装置和电子设备
CN113179183B (zh) 服务开关状态控制装置及方法
KR102195191B1 (ko) 키워드 관계 구조를 이용한 신규 키워드 추출 방법 및 시스템

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