本申请涉及大数据,提供一种代码提示方法、装置、计算机设备和存储介质。所述方法包括:接收终端发送的可调用方法提示指令,根据可调用方法提示指令获取终端提交的代码段;根据代码段提取代码特征,得到代码特征向量;根据代码特征向量和历史代码特征矩阵确定邻居代码特征矩阵,根据代码特征向量和邻居代码特征矩阵确定目标代码向量;根据目标代码向量获取对应的调用方法代码,将调用方法代码按照目标顺序返回终端进行提示。采用本方法能够提高代码提示的精确度。
Code prompt method, device, computer equipment and storage medium
【技术实现步骤摘要】
代码提示方法、装置、计算机设备和存储介质
本申请涉及计算机
,特别是涉及一种代码提示方法、装置、计算机设备和存储介质。
技术介绍
目前,当前集成开发环境(IntegratedDevelopmentEnvironments)的代码提示主要是基于编程语言的语法系统。因此通常给出的提示与当前的工作环境没有直接关系。此外这些建议常常是按字母顺序排列,经常会提示无关的和几乎不使用的方法,导致代码提示信息的精确度较低。使开发人员通常需要花费大量的精力去找自己需要的方法代码。比如,JAVA类SWT的公共接口Text,包含160多个可调用方法代码。当用户查询Text的实例方法代码时,会得到大量的提示建议。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能够提高代码提示精确度的代码提示方法、装置、计算机设备和存储介质。一种代码提示方法,所述方法包括:接收终端发送的可调用方法提示指令,根据可调用方法提示指令获取终端提交的代码段;根据代码段提取代码特征,得到代码特征向量;根据代码特征向量和历史代码特征矩阵确定邻居代码特征矩阵,根据代码特征向量和邻居代码特征矩阵确定目标代码向量;根据目标代码向量获取对应的调用方法代码,将调用方法代码按照目标顺序返回终端进行提示。在其中一个实施例中,历史代码特征矩阵的生成步骤,包括:获取历史代码段信息,从历史代码段信息中提取各个已有变量代码;根据各个已有变量代码从历史代码段信息中确定对应的历史调用方法代码,将历史调用方法代码进行编码,生成历史代码特征矩阵。在其中一个实施例中,根据代码特征向量和历史代码特征矩阵确定邻居代码特征矩阵,包括:使用代码特征向量计算与历史代码特征矩阵中各个历史特征向量的相似度;获取相似度相同的历史特征向量,得到等价特征向量集;根据等价特征向量集确定目标相似度的等价特征向量集,得到邻居代码特征矩阵。在其中一个实施例中,根据代码特征向量和邻居代码特征矩阵确定目标代码向量,包括:获取代码特征向量中的元素总数;从邻居代码特征矩阵中确定历史调用方法代码对应的历史调用数,使用历史调用数和元素总数计算历史调用方法代码的调用概率;根据历史调用方法代码的调用概率得到目标代码向量。在其中一个实施例中,在根据目标代码向量获取对应的调用方法代码,将调用方法代码按照目标顺序返回终端进行提示后,还包括:接收终端发送的调用方法代码选取指令,根据调用方法代码选取指令获取对应的调用方法代码,并将调用方法代码返回终端进行展示。一种代码提示装置,装置包括:代码段获取模块,用于接收终端发送的可调用方法提示指令,根据可调用方法提示指令获取终端提交的代码段;特征向量提取模块,用于根据代码段提取代码特征,得到代码特征向量;代码向量确定模块,用于根据代码特征向量和历史代码特征矩阵确定邻居代码特征矩阵,根据代码特征向量和邻居代码特征矩阵确定目标代码向量;代码提示模块,用于根据目标代码向量获取对应的调用方法代码,将调用方法代码按照目标顺序返回终端进行提示。在其中一个实施例中,装置还包括:代码提取模块,用于获取历史代码段信息,从历史代码段信息中提取各个已有变量代码;矩阵生成模块,用于根据各个已有变量代码从历史代码段信息中确定对应的历史调用方法代码,将历史调用方法代码进行编码,生成历史代码特征矩阵。在其中一个实施例中,代码向量确定模块,包括:相似度计算模块,永固使用代码特征向量计算与历史代码特征矩阵中各个历史特征向量的相似度;向量集得到模块,用于获取相似度相同的历史特征向量,得到等价特征向量集;矩阵得到模块,用于根据等价特征向量集确定目标相似度的等价特征向量集,得到邻居代码特征矩阵。一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:接收终端发送的可调用方法提示指令,根据可调用方法提示指令获取终端提交的代码段;根据代码段提取代码特征,得到代码特征向量;根据代码特征向量和历史代码特征矩阵确定邻居代码特征矩阵,根据代码特征向量和邻居代码特征矩阵确定目标代码向量;根据目标代码向量获取对应的调用方法代码,将调用方法代码按照目标顺序返回终端进行提示。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:接收终端发送的可调用方法提示指令,根据可调用方法提示指令获取终端提交的代码段;根据代码段提取代码特征,得到代码特征向量;根据代码特征向量和历史代码特征矩阵确定邻居代码特征矩阵,根据代码特征向量和邻居代码特征矩阵确定目标代码向量;根据目标代码向量获取对应的调用方法代码,将调用方法代码按照目标顺序返回终端进行提示。上述代码提示方法、装置、计算机设备和存储介质,通过根据代码特征向量和历史代码特征矩阵确定邻居代码特征矩阵,根据代码特征向量和邻居代码特征矩阵确定目标代码向量,提高了得到目标代码向量的准确性,然后根据标代码向量获取对应的调用方法代码,将调用方法代码按照目标顺序返回终端进行提示,提高了代码提示的精确度。附图说明图1为一个实施例中代码提示方法的应用场景图;图2为一个实施例中代码提示方法的流程示意图;图3为一个实施例中生成历史代码特征矩阵的流程示意图;图4为一个实施例中得到历史代码特征矩阵的示意图;图5为一个实施例中得到邻居代码特征矩阵的流程示意图;图6为一个实施例中推导出海明距离的平方根的示意图;图7为一个实施例中确定目标代码向量的流程示意图;图8为一个实施例中得到调用概率的示意图;图9为一个实施例中代码提示装置的结构框图;图10为一个实施例中计算机设备的内部结构图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。本申请提供的代码提示方法,可以应用于如图1所示的应用环境中。其中,终端102与服务器104通过网络进行通信。服务器104接收终端102发送的可调用方法提示指令,根据可调用方法提示指令获取终端提交的代码段;服务器104根据代码段提取代码特征,得到代码特征向量;服务器104根据代码特征向量和历史代码特征矩阵确定代码特征矩阵,服务器104根据代码特征向量和邻居代码特征矩阵确定目标代码向量;服务器104根据目标代码向量获取对应的调用方法代码,将调用方法代码按照目标顺序返回终端102进行提示。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。在一个实施例中,如图2本文档来自技高网...
【技术保护点】
1.一种代码提示方法,所述方法包括:/n接收终端发送的可调用方法提示指令,根据所述可调用方法提示指令获取所述终端提交的代码段;/n根据所述代码段提取代码特征,得到代码特征向量;/n根据所述代码特征向量和历史代码特征矩阵确定邻居代码特征矩阵,根据所述代码特征向量和所述邻居代码特征矩阵确定目标代码向量;/n根据所述目标代码向量获取对应的调用方法代码,将所述调用方法代码按照目标顺序返回所述终端进行提示。/n
【技术特征摘要】
1.一种代码提示方法,所述方法包括:
接收终端发送的可调用方法提示指令,根据所述可调用方法提示指令获取所述终端提交的代码段;
根据所述代码段提取代码特征,得到代码特征向量;
根据所述代码特征向量和历史代码特征矩阵确定邻居代码特征矩阵,根据所述代码特征向量和所述邻居代码特征矩阵确定目标代码向量;
根据所述目标代码向量获取对应的调用方法代码,将所述调用方法代码按照目标顺序返回所述终端进行提示。
2.根据权利要求1所述的方法,其特征在于,所述历史代码特征矩阵的生成步骤,包括:
获取历史代码段信息,从所述历史代码段信息中提取各个已有变量代码;
根据所述各个已有变量代码从所述历史代码段信息中确定对应的历史调用方法代码,将所述历史调用方法代码进行编码,生成历史代码特征矩阵。
3.根据权利要求1所述的方法,其特征在于,所述根据所述代码特征向量和历史代码特征矩阵确定邻居代码特征矩阵,包括:
使用所述代码特征向量计算与所述历史代码特征矩阵中各个历史特征向量的相似度;
获取所述相似度相同的历史特征向量,得到等价特征向量集;
根据所述等价特征向量集确定目标相似度的等价特征向量集,得到邻居代码特征矩阵。
4.根据权利要求1所述的方法,其特征在于,所述根据所述代码特征向量和所述邻居代码特征矩阵确定目标代码向量,包括:
获取所述代码特征向量中的元素总数;
从所述邻居代码特征矩阵中确定所述历史调用方法代码对应的历史调用数,使用所述历史调用数和所述元素总数计算所述历史调用方法代码的调用概率;
根据所述历史调用方法代码的调用概率得到目标代码向量。
5.根据权利要求1所述的方法,其特征在于,在所述根据所述目标代码向量获取对应的调用方法代码,将所述调用方法代码按照目标顺序返回所述终端进行提示后,还包括:
接收终端发送的调用方...
【专利技术属性】
技术研发人员:刘利,
申请(专利权)人:深圳壹账通智能科技有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。