CN116304347A - 一种基于群智知识的Git命令推荐方法 - Google Patents

一种基于群智知识的Git命令推荐方法 Download PDF

Info

Publication number
CN116304347A
CN116304347A CN202310300472.8A CN202310300472A CN116304347A CN 116304347 A CN116304347 A CN 116304347A CN 202310300472 A CN202310300472 A CN 202310300472A CN 116304347 A CN116304347 A CN 116304347A
Authority
CN
China
Prior art keywords
git
command
git command
question
commands
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
CN202310300472.8A
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.)
Nanjing University of Aeronautics and Astronautics
Original Assignee
Nanjing University of Aeronautics and Astronautics
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 Nanjing University of Aeronautics and Astronautics filed Critical Nanjing University of Aeronautics and Astronautics
Priority to CN202310300472.8A priority Critical patent/CN116304347A/zh
Publication of CN116304347A publication Critical patent/CN116304347A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • 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
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9532Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于群智知识的Git命令推荐方法,包括以下步骤:从问答网站获取包含Git命令的相关问答数据;从获取到的问答数据中提取需求关键词与Git命令之间的映射关系,构建关键词‑Git命令映射数据库;通过自然语言处理解析开发者实时产生的Git命令查询需求,提取需求关键词,使用关键词‑Git命令映射数据库筛选候选Git命令;通过启发式相似度分计算算法对于候选Git命令进行重新排序,生成推荐结果;将推荐方法整合成软件,开发者通过实时输入一条或者多条自然语言查询,软件自动生成相应的推荐结果。

Description

一种基于群智知识的Git命令推荐方法
技术领域
本发明涉及Git命令推荐,具体涉及一种基于群智知识的Git命令推荐方法。
背景技术
版本控制系统对于现代软件团队的专业实践至关重要,目前最流行的版本控制系统之一是Git,Git是一个自由开源的分布式版本控制系统,被全球数百万开发者广泛使用,Git以其速度和工作流兼容性而闻名,并已成为软件开发中版本控制的事实标准。它帮助软件开发团队创建强大的工作流和层次结构,每个开发人员将代码更改推送到他们的存储库,维护人员设置代码审查流程,以确保只有高质量的代码合并到主存储库中。因此,使用Git带来了许多好处,例如,可靠的备份拷贝、快速合并和灵活的分支、快速反馈以及离线工作的灵活性。
由于Git的使用越来越多,Git相关研究最近受到了研究人员的关注。但现有的Git相关工作更多地关注于一些特定的命令,如git commit、git pull、git merge和git diff。对于提交命令(即git commit),由于需要提交消息来描述提交过程中的更改,研究人员研究了提交消息的自动生成,并提出了各种方法,例如,通过使用神经机器翻译将差异转换为提交消息来自动生成提交消息的方法;基于代码结构的变化生成提交消息的方法。此外,一些研究人员还研究了拉取和合并命令(git pull和git merge),例如,基于拉请求中添加的源代码注释生成相应的描述,Git合并中的冲突属性以及开发人员如何解决冲突。在gitdiff方面也有一些工作,例如,对Git中的不同diff算法进行研究。对这些特定命令的研究可以帮助开发人员更好地掌握和使用它们。
此外,一些工作关注Git本身的合理性和用法。包括分析Git设计,并提出了备选设计来改进Git的工作。对开发人员在使用Git命令时遇到的问题和困难进行了实证研究工作。这些与我们的观察相呼应,即开发人员很难使用各种Git命令。因此,我们的工作旨在通过向开发人员推荐Git命令来解决这个问题。
给定一个用自然语言描述的查询,本发明的工作是推荐合适的Git命令,这类似于API推荐的应用场景。因此,讨论了API推荐领域的一些相关工作。由于API在软件开发中的重要性,在API推荐方面有很多努力,可以从多个维度进行分类。例如,API推荐方法的使用方式可以用作分类维度。有些方法要求开发人员在编程过程中主动输入查询进行推荐,有些方法可以自动推荐API来完成部分代码片段。另一方面,可以根据他们使用的技术对API推荐工作进行分类。有一类基于挖掘软件存储库的API推荐方法,因为软件存储库有大量关于API使用的信息。研究人员提出了多种方法来从软件库中挖掘API使用模式,以获得建议。此外,一些研究人员建议利用代码结构来推荐API。例如,通过利用代码更改的规律性和重复性来推荐API。
由于问答网站(Stack Overflow)上包含大量的群智知识,还有另一类基于挖掘堆栈溢出的API推荐方法与本发明的方法相关。例如,通过利用堆栈溢出的群智知识,为自然语言查询推荐了一个相关API的排序列表的方法。使用Stack Overflow上的帖子在API和自然语言之间建立关联,以获得API推荐的方法。随着深度学习的快速发展,研究人员已经开始使用单词嵌入等深度学习技术来捕捉查询和Stack Overflow帖子之间的相似性,或查询和文档之间的相似性,以推荐API。例如,考虑查询和堆栈溢出帖子以及API文档之间的相似性,使用Stack Overflow来提取程序任务的候选API的方法。训练Doc2Vec模型,以找到语义上与查询相似的问题标题,并应用LDA主题建模来提取推荐的候选API的方法。
发明内容
本发明目的:针对现有Git命令的使用困难,本发明提出一种基于群智知识的Git命令推荐方法,用于帮助开发人员更好地使用Git命令,从而对项目进行更好的版本控制。
为实现以上功能,本发明设计一种基于群智知识的Git命令推荐方法,执行如下步骤S1-步骤S5,针对用户的自然语言查询需求,生成相应的推荐结果:
步骤S1:从问答网站获取包含Git命令的问答数据,问答数据包括用户所提出的Git命令问题,以及被用户所接受的该Git命令问题的答案;
步骤S2:针对所获取的问答数据,从Git命令问题中提取表征用户查询需求的关键词,从被用户所接受的该Git命令问题的答案中提取Git命令,获得关键词与Git命令之间的映射关系,构建关键词-Git命令映射数据库;
步骤S3:针对用户采用自然语言输入的Git命令查询需求,提取其中的关键词,使用关键词-Git命令映射数据库筛选出关键词所对应的各个候选Git命令;
步骤S4:采用启发式相似度分计算算法针对各个候选Git命令进行排序,生成推荐结果;
基于步骤S1-步骤S4所执行的方法,构建Git命令推荐系统;
步骤S5:基于软件运行Git命令推荐系统,针对用户采用自然语言实时输入的Git命令查询需求,生成相应的推荐结果。
作为本发明的一种优选技术方案:步骤S1的具体方法为:获取问答网站上所发表的帖子数据构成的数据集,从数据集中筛选出与Git命令相关的帖子数据,从所述帖子数据中采集包含Git命令的问答数据,包括Git命令问题的标题,以及被用户所接受的该Git命令问题的答案。
作为本发明的一种优选技术方案:步骤S2的具体方法为:针对问答数据中的Git命令问题的标题,采用自然语言处理方法从标题中提取关键词,从Git官方网站中收集所有Git命令,构建Git命令词典,针对问答数据中被用户所接受的Git命令问题的答案,提取该答案中被<Code>标记包围的代码片段,通过将代码片段与Git命令词典比对,从代码片段中检索Git命令,完成关键词-Git命令映射数据库的构建。
作为本发明的一种优选技术方案:步骤S3的具体方法为:基于关键词-Git命令映射数据库,针对所输入的各个关键词,将与其对应存在映射的Git命令按照出现次数由大至小排序,保留前N条Git命令作为候选Git命令,将每个关键词的候选Git命令合并为一个候选命令列表,并记录其顺序。
作为本发明的一种优选技术方案:步骤S4的具体方法为:针对各个候选Git命令,计算其与关键词的语义关联分数如下式:
Figure BDA0004144971350000031
式中,S(Cj)为候选Git命令Cj与关键词的语义关联分数,rank表示排序函数,sortByFreq(Commands)表示候选Git命令Cj在与关键词的候选命令列表中的排序,len(Commands)表示所有关键词中选择唯一候选Git命令的数量;
根据各个候选Git命令与关键词的语义关联分数,对各个候选Git命令进行重新排序生成推荐结果。
作为本发明的一种优选技术方案:步骤S5采用PyQt5设计图形化界面,采用PyInstaller将Git命令推荐系统打包生成可执行文件exe。
有益效果:相对于现有技术,本发明的优点包括:
1、提出了一种基于问答网站上群智知识的自动化Git命令推荐方法。利用自然语言处理、web数据分析利用问答网站上的数据构建关键词-Git命令映射数据库。利用数据库与自然语言处理技术,为开发者提出的Git命令相关的自然语言查询推荐Git命令列表,帮助开发者更好地使用Git进行版本控制。
2、提出了启发式的相似度计算方法,对于候选Git命令进行重新排序,以提高能解决需求的Git命令在推荐列表中的排名,从而提升推荐效果,进而帮助开发者更快的解决问题。
附图说明
图1是根据本发明实施例提供的基于群智知识的Git命令推荐方法的流程图;
图2是根据本发明实施例提供的启发式相似度推荐算法的伪代码;
图3是根据本发明实施例提供的用户在软件中提出的关于Git命令的问题示例;
图4是根据本发明实施例提供的软件对于用户提出的问题的推荐结果。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
参照图1,本发明实施例提供的一种基于群智知识的Git命令推荐方法,执行如下步骤S1-步骤S5,针对用户的自然语言查询需求,生成相应的推荐结果:
步骤S1:从问答网站获取包含Git命令的问答数据,问答数据包括用户所提出的Git命令问题,以及被用户所接受的该Git命令问题的答案;
步骤S1中获取问答网站(Stack Overflow)上所发表的帖子数据构成的数据集,在本实施例中,从Stack Exchange Data Dump上下载公开可用的Stack Overflow数据集,该数据集中每个帖子数据包含标识符、类型(问题或答案)、标题、标签、正文、创建日期、查看次数、得分、收藏次数;若帖子的类型为问题,则其帖子数据还包括被该帖子作者标记为接受的答案的标识符。
另外,每个帖子数据包含一到五个标签,这些标签代表该帖子的主题。本发明使用一个被广泛使用的Python文档对象模型接口MiniDom解析该数据集,过滤出标签中包含“Git”的问题以及这些问题的接受答案。本发明需要收集与Git相关的需求关键词和Git命令之间的关系,因此对于这些问答数据进行了进一步过滤,仅保留接受的答案中包含Git命令的问答数据。过滤结束后,共计22271个这类问题,作为包含Git命令的相关问答数据。
步骤S2:针对所获取的问答数据,从Git命令问题中提取表征用户查询需求的关键词,从被用户所接受的该Git命令问题的答案中提取Git命令,获得关键词与Git命令之间的映射关系,构建关键词-Git命令映射数据库;
对于每一条问答数据,本发明使用标准的自然语言处理技术从问题的标题中提取关键词,包括分词、停用词去除和词干提取。
分词将自然语言标题分割成单词列表。停用词主要包括常用于句子中但不包含重要语义的词(例如,“I”、“any”和“but”)。这些词对句子的关键语义影响不大,不能作为关键词使用。本实施例中使用NLTK包(Python自然语言处理工具包)中最常见的停用词列表从问题的标题中删除停用词。此外,由于一些语法因素,具有相同含义的关键词可能会以不同的形式出现(例如“plays”、“played”、“playing”),但本发明重点关注关键词的语义与命令的潜在联系,而不是语法。因此,本发明对单词表中的每个单词进行词干提取。通过以上步骤,本发明从问题的标题中提取了一系列表达问题核心语义的单词(共计5814个),作为总结问题需求的关键词。
在问答数据中,提问者将其认可的答案标记为接受答案,因此,接受答案中的Git命令是解决Git相关问题的关键命令。为了提取接受答案中的Git命令,首先从Git官方网站中收集所有Git命令,形成一个Git命令字典。然后解析接受答案的正文内容以获得代码片段。具体来说,本实施例中采用BeautifulSoup(Python库)解析被接受的答案,以提取<code>标记包围的代码片段,然后通过将它们与Git命令字典进行比较,从这些代码片段检索Git命令。由于Git命令的数量不多,使用这种方法不会导致明显的时间损失,并且不会在接受的答案中遗漏任何命令。因此,本发明从所选择的Git相关的问答数据中提取出一组Git命令(共计81种)。需要注意的是,本实施例构建的Git命令字典中有148个命令,但其中只有81个出现在接受答案中,这代表许多命令没有在这些问答数据中出现过。这主要是因为这些命令(例如,git archimport,git cvsserver等)不常用,所以在问答网站上的讨论中没有使用到它们。
从问题标题中提取到关键词,从接受答案中提取Git命令,得到标题中每个关键词对应的Git命令,从而形成关键词-命令映射,这实际上是使用Git命令的需求与解决方案的抽象表达。本实施例从收集到的问答数据中,提取到了906783个关键词-命令映射,并将它们存储在数据库中,用于后续的Git命令推荐。
步骤S3:针对用户采用自然语言输入的Git命令查询需求,提取其中的关键词,使用关键词-Git命令映射数据库筛选出关键词所对应的各个候选Git命令;
基于关键词-Git命令映射数据库,用户输入一条查询Git命令的自然语言问题,首先通过步骤S2中所述的自然语言处理过程处理查询,从查询中获取关键词列表,然后通过关键词列表,筛选出候选Git命令。
候选Git命令的选择依赖于用户输入的自然语言查询中的关键词和关键词-命令映射数据库。由于数据库中出现关键词与Git命令之间的链接是由于关键词与命令之间存在底层的语义关联,因此与关键词出现频率越高的命令与关键词的语义关联越强。对于用户所输入的查询中的关键词,根据与该关键词链接的Git命令的出现次数来选择候选Git命令,而不是将链接到关键词的所有Git命令都视为候选命令。具体来说,对于一个关键词,从链接到它的所有命令中选择出现次数最多的N个Git命令作为候选命令。N是可以配置的,在本实施例中,将N设置为5,因为该取值可以防止命令总数过高,同时推荐的结果仍然准确。通过为查询的关键词列表中的所有关键词选择候选命令,获得最终的候选命令列表。
步骤S4:采用启发式相似度分计算算法针对各个候选Git命令进行排序,生成推荐结果;
候选Git命令的数量可能相当大,因此,有必要进一步对它们进行排序,以便在列表中对用户更可能需要的命令进行优先级排序。现有的一种直观的命令排序方法是基于这些候选命令出现的频率,但是,这种方法只单独考虑查询中的每个关键字,而不考虑查询中关键词之间的关系。在自然语言处理中,获得一个句子的语义信息的更合理的方法是把单词放在一起分析,而不是单独地分析每个单词,例如,通过分析单词出现的意义。
因此,本发明提出了启发式相似度分计算算法,用于对各个候选Git命令排序,该算法既考虑了查询中每个关键词对应的Git命令的频率,也考虑了查询中每个关键词之间的关系。
本发明设计的启发式相似度分计算算法的伪代码参照图2,该算法的输入是用户给出的命令查询Q和上一步中构造的关键词-Git命令映射数据库D。输出是一个排完序的Git命令列表R。它首先提取查询的关键词,然后按照步骤S3中的方法选择候选Git命令。然后,算法根据每个单独的命令的出现次数对链接到查询中每个关键词的Git命令进行排序,然后按照频率顺序为每个候选Git命令分配与关键词的语义关联分数,语义关联分数的计算如下式:
Figure BDA0004144971350000071
式中,S(Cj)为候选Git命令Cj与关键词的语义关联分数,rank表示排序函数,sortByFreq(Commands)表示候选Git命令Cj在与关键词的候选命令列表中的排序;len(Commands)表示所有关键词中选择唯一候选Git命令的数量,即候选Git命令数量N(本实施例中取值为5)乘以关键词的数量,再减去步骤S3中讨论的重复Git命令的数量。S的取值范围为0~1,该Git命令的值越大,则该Git命令与关键词一起出现的可能性越大。
另一方面,该算法除了考虑查询中单个关键词对Git命令排序的影响外,还考虑了查询中关键词之间的关系,以便更好地捕获查询的语义信息。因此,该算法比较查询中每两个不同关键词之间的相似性。单词之间的相似性比较是自然语言处理中常用的技术,因为它捕获单词之间的语义关系。计算的相似度值也在0~1之间。该值越大,表示关键词之间的相似度越高,语义关系越强。为了考虑候选命令排序中不同关键词之间的关系,算法将计算出的关键词之间的相似度值加到相关命令的评分中,命令的分数将用于排序。具体来说,该算法将任意两个不同关键词之间的相似性值添加到链接到这两个关键词的每个Git命令。然后,该算法根据候选命令的分数对它们进行排序,并返回排序结果。本发明使用了一种针对软件工程上下文的新的相似性度量。这个单词相似度测量的关键思想是,如果两个单词出现在相似的上下文中,它们很可能是相似的。例如,“tcp”和“client”经常出现在描述网络的句子、段落或论文中。为了在软件工程上下文中度量单词之间的相似性,该度量利用Stack Overflow中基于单词共现概念的帖子的文本内容。它使用共现向量来描述每个单词,该向量捕获该单词与流行软件标记、其他软件标记和其他单词的共现情况。然后,它比较每对单词的共现向量。在实验结果表明,在软件工程环境中,这种新的度量方法明显优于基于WordNet(自然语言处理界常用的相似度度量方法)的单词相似度。通过该算法,完成对于候选Git命令列表的重新排序,以获得更好的推荐结果。
基于步骤S1-步骤S4所执行的方法,构建Git命令推荐系统;
步骤S5:基于软件运行Git命令推荐系统,针对用户采用自然语言实时输入的Git命令查询需求,生成相应的推荐结果。
将步骤S1到步骤S4所构建的Git命令推荐系统整合到软件中,使用PyQt5(Qt框架的Python语言实现)设计图3所示图形化界面,使用PyInstaller将Git命令推荐系统打包成可执行文件exe,供开发者使用。参见图3,在本实施例中,用户提出两个与Git命令相关的问题,即“How do you push just a single Git branch(and no other branches)?”和“Howto merge branch to master?”。这两个问题的正确解决命令为git checkout,git push和git checkout,git merge。在本实施例中给出的推荐列表如图4,在推荐结果的前几条中包含正确的解决命令。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。

Claims (6)

1.一种基于群智知识的Git命令推荐方法,其特征在于,执行如下步骤S1-步骤S5,针对用户的自然语言查询需求,生成相应的推荐结果:
步骤S1:从问答网站获取包含Git命令的问答数据,问答数据包括用户所提出的Git命令问题,以及被用户所接受的该Git命令问题的答案;
步骤S2:针对所获取的问答数据,从Git命令问题中提取表征用户查询需求的关键词,从被用户所接受的该Git命令问题的答案中提取Git命令,获得关键词与Git命令之间的映射关系,构建关键词-Git命令映射数据库;
步骤S3:针对用户采用自然语言输入的Git命令查询需求,提取其中的关键词,使用关键词-Git命令映射数据库筛选出关键词所对应的各个候选Git命令;
步骤S4:采用启发式相似度分计算算法针对各个候选Git命令进行排序,生成推荐结果;
基于步骤S1-步骤S4所执行的方法,构建Git命令推荐系统;
步骤S5:基于软件运行Git命令推荐系统,针对用户采用自然语言实时输入的Git命令查询需求,生成相应的推荐结果。
2.根据权利要求1所述的一种基于群智知识的Git命令推荐方法,其特征在于,步骤S1的具体方法为:获取问答网站上所发表的帖子数据构成的数据集,从数据集中筛选出与Git命令相关的帖子数据,从所述帖子数据中采集包含Git命令的问答数据,包括Git命令问题的标题,以及被用户所接受的该Git命令问题的答案。
3.根据权利要求1所述的一种基于群智知识的Git命令推荐方法,其特征在于,步骤S2的具体方法为:针对问答数据中的Git命令问题的标题,采用自然语言处理方法从标题中提取关键词,从Git官方网站中收集所有Git命令,构建Git命令词典,针对问答数据中被用户所接受的Git命令问题的答案,提取该答案中被<Code>标记包围的代码片段,通过将代码片段与Git命令词典比对,从代码片段中检索Git命令,完成关键词-Git命令映射数据库的构建。
4.根据权利要求1所述的一种基于群智知识的Git命令推荐方法,其特征在于,步骤S3的具体方法为:基于关键词-Git命令映射数据库,针对所输入的各个关键词,将与其对应存在映射的Git命令按照出现次数由大至小排序,保留前N条Git命令作为候选Git命令,将每个关键词的候选Git命令合并为一个候选命令列表,并记录其顺序。
5.根据权利要求1所述的一种基于群智知识的Git命令推荐方法,其特征在于,步骤S4的具体方法为:针对各个候选Git命令,计算其与关键词的语义关联分数如下式:
Figure FDA0004144971340000021
式中,S(Cj)为候选Git命令Cj与关键词的语义关联分数,rank表示排序函数,sortByFreq(Commands)表示候选Git命令Cj在与关键词的候选命令列表中的排序,len(Commands)表示所有关键词中选择唯一候选Git命令的数量;
根据各个候选Git命令与关键词的语义关联分数,对各个候选Git命令进行重新排序生成推荐结果。
6.根据权利要求1所述的一种基于群智知识的Git命令推荐方法,其特征在于,步骤S5采用PyQt5设计图形化界面,采用PyInstaller将Git命令推荐系统打包生成可执行文件exe。
CN202310300472.8A 2023-03-24 2023-03-24 一种基于群智知识的Git命令推荐方法 Pending CN116304347A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310300472.8A CN116304347A (zh) 2023-03-24 2023-03-24 一种基于群智知识的Git命令推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310300472.8A CN116304347A (zh) 2023-03-24 2023-03-24 一种基于群智知识的Git命令推荐方法

Publications (1)

Publication Number Publication Date
CN116304347A true CN116304347A (zh) 2023-06-23

Family

ID=86801206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310300472.8A Pending CN116304347A (zh) 2023-03-24 2023-03-24 一种基于群智知识的Git命令推荐方法

Country Status (1)

Country Link
CN (1) CN116304347A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116759078A (zh) * 2023-08-21 2023-09-15 药融云数字科技(成都)有限公司 支持双语输入的疾病循证方法、系统、存储介质及终端

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116759078A (zh) * 2023-08-21 2023-09-15 药融云数字科技(成都)有限公司 支持双语输入的疾病循证方法、系统、存储介质及终端
CN116759078B (zh) * 2023-08-21 2023-12-08 药融云数字科技(成都)有限公司 支持双语输入的疾病循证方法、系统、存储介质及终端

Similar Documents

Publication Publication Date Title
CN109189942B (zh) 一种专利数据知识图谱的构建方法及装置
CN101566997B (zh) 确定与给定的词集相关的词
US7428517B2 (en) Data integration and knowledge management solution
AU2007243633A1 (en) Citation network viewer and method
CN105975558A (zh) 建立语句编辑模型的方法、语句自动编辑方法及对应装置
WO2012033511A1 (en) Method and system for integrating web-based systems with local document processing applications
US20040122660A1 (en) Creating taxonomies and training data in multiple languages
WO2008094970A2 (en) Method and apparatus for creating a tool for generating an index for a document
CN110990003B (zh) 一种基于词嵌入技术的api推荐方法
Menezes et al. Building a massive corpus for named entity recognition using free open data sources
Huang et al. Query expansion based on statistical learning from code changes
CN116304347A (zh) 一种基于群智知识的Git命令推荐方法
CN116894495A (zh) 用注释增强机器学习管道的方法、计算机可读介质和系统
US20210342344A1 (en) Weighed Order Decision Making with Visual Representation
Ricca et al. Improving Web site understanding with keyword‐based clustering
Algosaibi et al. Using the semantics inherent in sitemaps to learn ontologies
US7657417B2 (en) Method, system and machine readable medium for publishing documents using an ontological modeling system
KR101088483B1 (ko) 이종 분류체계들을 매핑시키는 방법 및 장치
Preethi et al. A survey paper on text mining-techniques, applications, and issues
Sutoyo et al. Detecting Technical Debt Using Natural Language Processing Approaches--A Systematic Literature Review
Lauser Semi-automatic ontology engineering and ontology supported document indexing in a multilingual environment
Zhang et al. Rasop: an api recommendation method based on word embedding technology
Wilks et al. LaSIE jumps the GATE
Meguellati et al. Feature selection for location metonymy using augmented bag-of-words
Sergeev An Application of Semantic Relation Extraction Models

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