WO2023065638A1 - 一种数据检索方法、装置、电子设备以及存储介质 - Google Patents

一种数据检索方法、装置、电子设备以及存储介质 Download PDF

Info

Publication number
WO2023065638A1
WO2023065638A1 PCT/CN2022/090449 CN2022090449W WO2023065638A1 WO 2023065638 A1 WO2023065638 A1 WO 2023065638A1 CN 2022090449 W CN2022090449 W CN 2022090449W WO 2023065638 A1 WO2023065638 A1 WO 2023065638A1
Authority
WO
WIPO (PCT)
Prior art keywords
text
code
target
location information
resource location
Prior art date
Application number
PCT/CN2022/090449
Other languages
English (en)
French (fr)
Inventor
刘杰
王健宗
瞿晓阳
Original Assignee
平安科技(深圳)有限公司
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 平安科技(深圳)有限公司 filed Critical 平安科技(深圳)有限公司
Publication of WO2023065638A1 publication Critical patent/WO2023065638A1/zh

Links

Images

Classifications

    • 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/38Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/383Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/253Fusion techniques of extracted features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

一种数据检索方法、装置、电子设备以及存储介质,涉及人工智能技术领域。该方法包括:当检测到用户终端提交的检索请求时,根据检索请求获取目标问题文本以及目标问题文本关联的目标代码文本(S401);分别对目标问题文本以及目标代码文本进行特征提取,得到问题文本特征以及代码文本特征(S402);调用预训练的深度学习模型根据问题文本特征以及代码文本特征处理得到目标资源定位信息(S403);根据目标资源定位信息获取检索结果(S404)进而将检索结果发送至用户终端以进行显示(S405)。可以有助于提升数据检索的准确性,还可以应用于区块链领域,如可以将获取的多个资源定位信息存储至区块链中。

Description

一种数据检索方法、装置、电子设备以及存储介质
优先权申明
本申请要求于2021年10月22日提交中国专利局、申请号为202111231139.3,发明名称为“一种数据检索方法、装置、电子设备以及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及人工智能技术领域,尤其涉及一种数据检索方法、装置、电子设备以及存储介质。
背景技术
目前,随着计算机技术的高速发展,通常需要编写代码去实现对应的功能。在编写代码过程中,经常会出现的场景是每当遇到一个问题(如代码编写错误,或者不清楚函数用法)时,就需要去搜索引擎检索对应的解决方法。发明人意识到,通常的搜索引擎是通过搜索时输入的问题与资源的文本进行匹配,从而检索到对应的结果,但是往往匹配到的资源通常有多个,并且由于各自代码的不同,同一个函数或者同一个错误在不同的位置的解决方式也不同,从而导致检索的结果并不准确。
发明内容
本申请实施例提供了一种数据检索方法、装置、电子设备以及存储介质,有助于提高数据检索的准确度。
一方面,本申请实施例公开了一种数据检索方法,所述方法包括:
当检测到用户终端提交的检索请求时,根据所述检索请求获取目标问题文本以及所述目标问题文本关联的目标代码文本;
分别对所述目标问题文本以及所述目标代码文本进行特征提取,得到问题文本特征以及代码文本特征;
调用预训练的深度学习模型根据所述问题文本特征以及所述代码文本特征处理得到目标资源定位信息,所述目标资源定位信息为与所述目标代码文本以及所述目标问题文本匹配的资源定位信息;
根据所述目标资源定位信息获取检索结果,所述检索结果为所述目标资源定位信息,或为所述目标资源定位信息对应的目标页面;
将所述检索结果发送至所述用户终端以进行显示。
另一方面,本申请实施例公开了一种数据检索装置,所述装置包括:
获取单元,用于当检测到用户终端提交的检索请求时,根据所述检索请求获取目标问题文本以及所述目标问题文本关联的目标代码文本;
处理单元,用于分别对所述目标问题文本以及所述目标代码文本进行特征提取,得到问题文本特征以及代码文本特征;
所述处理单元,还用于调用预训练的深度学习模型根据所述问题文本特征以及所述代码文本特征处理得到目标资源定位信息,所述目标资源定位信息为与所述目标代码文本以及所述目标问题文本匹配的资源定位信息;
所述处理单元,用于根据所述目标资源定位信息获取检索结果,所述检索结果为所述目标资源定位信息,或为所述目标资源定位信息对应的目标页面;
发送单元,还用于将所述检索结果发送至所述用户终端以进行显示。
又一方面,本申请实施例提供了一种电子设备,电子设备包括处理器、存储器,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于执行如下步骤:
当检测到用户终端提交的检索请求时,根据所述检索请求获取目标问题文本以及所述目标问题文本关联的目标代码文本;
分别对所述目标问题文本以及所述目标代码文本进行特征提取,得到问题文本特征以及代码文本特征;
调用预训练的深度学习模型根据所述问题文本特征以及所述代码文本特征处理得到目标资源定位信息,所述目标资源定位信息为与所述目标代码文本以及所述目标问题文本匹配的资源定位信息;
根据所述目标资源定位信息获取检索结果,所述检索结果为所述目标资源定位信息,或为所述目标资源定位信息对应的目标页面;
将所述检索结果发送至所述用户终端以进行显示。
又一方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序指令,计算机程序指令被处理器执行时,用于执行如下步骤:
当检测到用户终端提交的检索请求时,根据所述检索请求获取目标问题文本以及所述目标问题文本关联的目标代码文本;
分别对所述目标问题文本以及所述目标代码文本进行特征提取,得到问题文本特征以及代码文本特征;
调用预训练的深度学习模型根据所述问题文本特征以及所述代码文本特征处理得到目标资源定位信息,所述目标资源定位信息为与所述目标代码文本以及所述目标问题文本匹配的资源定位信息;
根据所述目标资源定位信息获取检索结果,所述检索结果为所述目标资源定位信息,或为所述目标资源定位信息对应的目标页面;
将所述检索结果发送至所述用户终端以进行显示。
又一方面,本申请实施例公开了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机设备执行上述数据检索方法。
本申请实施例中,能够当检测到用户终端提交的检索请求时,根据检索请求获取目标问题文本以及目标问题文本关联的目标代码文本,分别对目标问题文本以及目标代码文本进行特征提取,得到问题文本特征以及代码文本特征,调用预训练的深度学习模型根据问题文本特征以及代码文本特征处理得到目标资源定位信息,根据目标资源定位信息获取检索结果,检索结果为目标资源定位信息,或为目标资源定位信息对应的目标页面,进而将检索结果发送至用户终端以进行显示。由此可以综合考虑目标问题文本与目标代码文本,检索到在目标代码文本的情景下目标问题文本对应的检索结果,提升了数据检索的准确性。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据检索流程的效果示意图;
图2是本申请实施例提供的一种数据检索过程的流程示意图;
图3是本申请实施例提供的一种检索系统的效果示意图;
图4是本申请实施例提供的一种数据检索方法的流程示意图;
图5是本申请实施例提供的一种数据检索界面的效果示意图;
图6是本申请实施例提供的一种数据检索方法的流程示意图;
图7是本申请实施例提供的一种数据检索方法的流程示意图;
图8是本申请实施例提供的一种数据检索方法的流程示意图;
图9是本申请实施例提供的一种数据检索装置的结构示意图;
图10是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供一种数据检索方案,能够在检测到用户终端提交的检索请求时,根据检索请求获取目标问题文本以及目标问题文本关联的目标代码文本,然后分别对目标问题文本以及目标代码文本进行特征提取,得到问题文本特征以及代码文本特征,进而调用预训练的深度学习模型根据问题文本特征以及代码文本特征处理得到目标资源定位信息,以根据目标资源定位信息获取检索结果,并将检索结果发送至用户终端以进行显示,由此可以综合考虑目标问题文本与目标代码文本,检索到在目标代码文本的情景下目标问题文本对应的检索结果,提升了数据检索的准确性。
在一种可能的实施方式中,请参见图1,图1是本申请实施例提供的一种数据检索流程的效果示意图。如图1所示,在获取目标代码文本(如图1中的101所示)和目标问题文本(如图1中的102所示)后,通过对应的代码特征提取模型提取到代码文本特征(如图1中的103所示)以及问题文本特征(如图1中的104所示),如transformer(一种模型结构)结构的特征提取模型提取到代码文本特征以及问题文本特征,进而对代码文本特征以及问题文本特征进行融合处理,得到融合后的特征(如图1中的105所示),将融合后的特征输入预训练的深度学习模型(如图1中的101所示)中,则可以得到目标资源定位信息(如图1中的107所示),进而根据目标资源定位信息获取检索结果。
在一个应用场景中,开发人员在代码编写过程中遇到问题时,通过电脑(如电脑上的搜索引擎)输入问题数据以及代码数据,如输入问题文本“catch函数怎么使用”,以及需要应用catch函数的代码段。随后,开发人员可以点击搜索控件,电脑响应于该点击操作,向服务器提交检请求。服务器在接收到检索请求后,根据检索请求所携带的问题数据以及代码数据提取到对应的目标问题文本以及目标代码文本。进而服务器分别对目标问题文本与目标代码文本进行特征提取得到问题文本特征A1与代码文本特征A2,并对问题文本特征A1与代码文本特征A2进行融合处理得到融合后的特征M。服务器通过预训练的深度学习模型对融合后的特征M的处理,得到目标资源定位信息。例如,请参见图2,图2是本申请实施例提供的一种数据检索过程的流程示意图。如图2所示,图2中的201可以为根据检索请求得到的目标问题文本,如“catch函数怎么使用”,图2中的202可以为根据检索请求得到的目标代码文本。对目标问题文本进行特征提取,可以得到目标问题文本对应的问题文本矩阵(如图2中的203所示),203所示的问题文本特征的维度为m*n,m和n均为正整数,203所示的问题文本特征中的每个数值可以表示为ast,s表示数值所在的行数,且s小于或等于m,t表示数值所在的列数,且t小于或等于n。例如,问题文本特征中的第1行第2列的数值可以表示为a12。对目标代码文本进行特征提取,可以得到目标代码文本对应的代码文本特征(如图2中的204所示),204所示的代码文本特征的维度为m*n,m和n均为正整数,204所示的代码文本特征中的每个数值可以表示为ber,e表示数值所在的行数且e小于或等于m,r表示数值所在的列数且r小于或等于n。例如,代码文本特征中的第1行第2列的数值可以表示为b12。通过对问题文本特征与代码文本特征进行融合处理,可以得到融合后的特征。如图2中的205所示,该融合后的特征中的每个数值均通过代码文本特征与问题文本特征中的数值进行计算得到,205所示的融合后的特征的维度可以为m*m,其中每个数值可以表示为
Figure PCTCN2022090449-appb-000001
j可以为从1到n的取值,p表示数值所在的行数且p小于或等于m,q表示数值所在的列数且q小于或等于m。例如,融合后的特征中的第1行第2列的数值可以表示为
Figure PCTCN2022090449-appb-000002
可以理解的是,图2中205所示仅为通过一种融合方式得到的融合后的特征的示例,本申请还可以通过其他的融合方式得到融合后的特 征,融合后的特征的表示取决于实际采用的融合方式,不同的融合方式得到的融合后的特征可以不同,此处不做限制。进而可以将融合后的特征输入预训练的深度学习模型中,得到针对该检索请求所对应的与目标代码文本以及目标问题文本匹配的资源定位信息(如图2中的206所示),如该目标资源定位信息可以为与该检索请求匹配的网址。服务器将该目标资源定位信息作为检索结果,以将该检索结果返回至开发人员所对应的电脑进行显示,由此开发人员就可以通过电脑中显示的目标资源定位信息。若开发人员点击用于指示进入目标资源定位信息所对应的页面的控件时,电脑的显示界面中显示该目标资源定位信息所对应的页面。可以理解的是,图2中的203、204、205的特征矩阵均仅为一个示例,不为根据图2中的201和202所示的文本得到具体的特征矩阵,实际应用该过程中提取到的特征以及融合后的特征取决于根据检索请求确定的目标代码文本以及目标问题文本,不同的目标代码文本以及目标问题文本提取到的特征有不同的表示。
本申请的技术方案可运用在电子设备中,该电子设备可以是终端,也可以是服务器,如上述的应用场景中的服务器,本申请不做限定。本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
在一种可能的实施方式中,本申请实施例可以应用于人工智能领域,例如可以基于人工智能技术对目标代码文本以及目标问题文本进行特征提取,以得到代码文本特征以及问题文本特征。又如,通过预训练的深度学习模型确定目标资源定位信息。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
在一种可能的实施方式中,本申请的技术方案可以应用于数据检索系统中,请参见图3,图3是本申请实施例提供的一种检索系统的效果示意图。该检索系统可以包括用于数据检索的电子设备和用户终端。该用于数据检索的电子设备可以用于接收用户终端提交的检索请求,并根据检索请求进行处理以得到与该检索请求匹配的资源定位信息,并根据资源定位信息确定出检索结果,进而将检索结果发送至用户终端以进行显示。该用户终端可以响应于检索操作,向电子设备提交检索请求,并接收电子设备发送的针对该检索请求的检索结果,进而显示接收到的检索结果。其中,该检索请求中可以包括目标问题文本以及目标问题文本关联的目标代码文本,由此可以通过检索到在目标代码文本的情景下目标问题文本对应的检索结果,提升了数据检索的准确性。
基于上述的描述,本申请实施例提出一种数据检索方法。请参见图4,图4是本申请实施例提供的一种数据检索方法的流程示意图。该方法可以由上述所提及的电子设备执行。该方法可以包括步骤S401-S405。
S401、当检测到用户终端提交的检索请求时,根据检索请求获取目标问题文本以及目标问题文本关联的目标代码文本。
其中,该用户终端可以为提交检索请求的任一终端设备,该检索请求可以为用于进行检索的请求,该检索请求中可以携带目标问题数据以及目标代码数据。
在一种可能的实施方式中,该用户终端提交的检索请求可以为用户终端根据用户输入的问题数据以及代码数据生成的检索请求,用户终端可以将用户输入的问题数据确定为目标问题数据,将用户输入的代码数据确定为目标代码数据,进而用户终端可以得到检索请求并向电子设备提交该检索请求。
在一种可能的实施方式中,该用户终端提交的检索请求也可以为用户终端响应于针对代码的运行日志的报错信息的检索指令自动生成的检索请求。该报错信息可以为代码运行日志中用于指示代码运行中可能存在错误的信息,该报错信息可以包括报错代码文本以及报错代码文本所对应的报错提示信息等信息。进而用户终端可以将报错代码文本以及与报错代码文本关联代码文本确定为目标代码数据,并根据报错提示信息生成对应的目标问题数据,进而用户终端可以得到检索请求并向电子设备提交该检索请求。其中,该报错代码文本可以为代码运行日志中的用于指示代码运行中可能存在错误的代码,与报错代码文本关联的代码文本可以为该报错代码文本之前或之后的一行或多行代码,例如,与报错代码文本关联的代码文本可以为报错代码文本所在位置的前10行以及后10行代码等等,此处不做限制。与报错代码文本关联的代码文本也可以为称为报错代码文本的上下文代码。该报错提示信息可以为用于提示报错代码文本的报错原因的提示信息,如可以为针对报错代码文本的报错原因的文本或错误编码等信息,此处不做限制。
该检索请求中的目标问题数据可以为包括问题信息的文本、语音或图像等,此处不做限制。该检索请求中的目标代码数据可以为包括代码信息的文本或图像等,此处不做限制。可以理解的是,该目标代码数据可以包括需要查询的问题所对应的代码信息,以及需要查询的问题所对应的代码信息的上下文代码信息,由此可以使得查询的结果与代码的使用场景更加贴近,提升数据检索的准确度。在一种可能的实施方式中,目标代码数据对应一种代码类型,该代码类型可以为目标代码对应的编写语言的类型。例如,该代码类型可以为伪代码、C语言、java、C++、Python、Pascal等类型,此处不做限制。
该目标问题文本可以为根据检索请求获取的包括问题信息的文本,该目标代码文本可以为根据检索请求获取的包括代码信息的文本。
可选的,若目标问题数据为包括问题信息的文本,则可以直接将该包括问题信息的文本确定为目标问题文本;若目标问题数据为包括问题信息的语音,则可以将该包括问题信息的语音进行语音识别,得到该语音对应的文本,以作为目标问题文本;若目标问题数据为包括问题信息的图像,则可以将该包括问题信息的图像进行图像识别,将图像中的文字转换为文本,得到该图像对应的文本,以作为目标问题文本。
可选的,若目标代码数据为包括代码信息的文本,则可以直接将该包括代码信息的文本作为目标代码文本;若目标代码数据为包括代码信息的图像,则可以将该包括代码信息的图像进行图像识别,将图像中的文字转换为文本,得到该图像对应的文本,以作为目标代码文本。
在一种可能的实施方式中,目标代码文本包括基于代码运行日志确定出的报错代码文本,还包括与报错代码文本关联的代码文本,目标问题文本是根据代码运行日志的报错提示信息构建的问题文本。其中,该报错代码文本可以为代码运行日志中的用于指示代码运行中可能存在错误的代码,与报错代码文本关联的代码文本可以为该报错代码文本之前或之后的一行或多行代码。该报错提示信息可以为用于提示报错代码文本的报错原因的提示信息。基于代码运行日志的报错提示信息构建的问题文本,可以为直接将报错提示信息作为目标问题文本,也可以为将报错提示信息中的提示关键词文本作为目标问题文本,此处不做限制。该提示关键词文本可以包括基于关键词提取模型提取到的关键词的文本,该关键词文本还可以包括报错提示信息中的错误编码等信息,此处不做限制。
在一种应用场景中,用户终端在代码运行后,根据代码运行日志显示出报错代码文本以及报错提示信息。用户终端所对应的用户在想要知道针对报错代码文本的解决方法时,可以点击用于指示针对该报错代码文本进行检索或查询解决方法的控件,则用户终端根据代码运行日志确定出该控件对应的报错代码文本,以及与该报错代码文本关联的代码文本,得到目标代码文本,并且基于代码运行日志的报错提示信息构建问题文本得到目标问题文本,进而生成检索请求,并向电子设备提交该检索请求。由此使得电子设备在接收到用户终端提交的检索请求后,可以根据该检索请求获取到目标代码文本以及目标问题文本。
S402、分别对目标问题文本以及目标代码文本进行特征提取,得到问题文本特征以及代码文本特征。
其中,该问题文本特征可以包括对目标问题文本进行特征提取得到的语义特征,该代码 文本特征可以包括对目标代码文本进行特征提取得到的语义特征。该问题文本特征以及代码文本特征可以为对应的特征矩阵,此处不做限制。
在一种可能的实施方式中,对目标问题文本进行特征提取,可以为通过问题特征提取模型提取目标问题文本的问题文本特征;对目标代码文本进行特征提取,可以为通过代码特征提取模型提取目标代码文本的代码文本特征。该问题特征提取模型与代码特征提取模型可以为经过大量文本进行预训练的网络模型,如该预训练的网络模型可以为预训练的Transformer模型,Transformer模型是一种基于encoder-decoder(编码器-解码器)结构的模型,能够用于提取文本的语义特征。由于问题特征提取模型与代码特征提取模型经过了大量的文本的训练,可以很好的理解文本中的语义,能够对目标问题文本和目标代码文本进行词性拆分和语义理解并形成特征,由此可以得到目标问题文本对应的问题文本特征,目标代码文本对应的代码文本特征。
举例来说,结合图2来看,电子设备可以调用预训练的问题特征提取模型(如Transformer模型)对201所示的目标问题文本进行特征提取,提取到203所示的问题文本特征。并且电子设备可以调用预训练的代码特征提取模型(如Transformer模型)对202所示的目标代码文本提取到204所示的代码文本特征,具体描述可以参见上述描述,此处不做赘述。其中,图2中的203、204的特征矩阵均仅为一个示例,不为根据图2中的201和202所示的文本得到具体的特征矩阵,实际应用该过程中提取到的特征以及融合后的特征取决于根据检索请求确定的目标代码文本以及目标问题文本,不同的目标代码文本以及目标问题文本提取到的特征有不同的表示。
在一种可能的实施方式中,还可以确定目标代码文本所对应的目标代码类型;根据目标代码类型与代码特征提取模型的对应关系,确定目标代码类型对应的目标代码特征提取模型,进而调用目标代码特征提取模型提取目标代码文本的特征,得到代码文本特征。其中,该目标代码类型可以为目标代码文本所属的代码类型。该目标代码特征提取模型为所述目标代码类型对应的代码特征提取模型。可以理解的是,基于不同代码类型可以预训练得到每个代码类型对应的代码特征提取模型,即可以得到至少一个代码特征提取模型,也就是基于不同的代码类型的样本代码文本进行训练得到分别对应的代码特征提取模型,进而确定训练好的每个代码特征提取模型与代码类型的对应关系。在得到目标代码文本对应的目标代码类型后,从该训练好的代码特征提取模型中的确定出该目标代码类型所对应的目标代码特征提取模型,以对目标代码文本进行特征提取。由此可以根据目标代码类型确定对应的目标代码特征提取模型,由于目标代码特征模型是基于目标代码类型的样本代码文本训练得到的,具有更好地识别目标代码类型的代码文本的语义的特点,可以更准确地提取目标代码文本的特征。例如,结合图2来看,图2中的202所示的目标代码文本的的代码类型为java类型,则可以确定java类型所对应的代码特征提取模型作为目标代码特征提取模型,以用于提取202所示的目标代码文本的代码文本特征。在其他示例中,该目标代码文本的代码类型还可以为其他类型,如伪代码、C语言、java、C++、Python、Pascal等类型,则均可以确定对应的目标代码类型的代码特征提取模型作为目标代码特征提取模型。
S403、调用预训练的深度学习模型根据问题文本特征以及代码文本特征处理得到目标资源定位信息。
其中,该目标资源定位信息为与目标代码文本以及目标问题文本匹配的资源定位信息。该资源定位信息可以为统一资源定位符(Uniform Resource Locator,简称URL),URL是专为标识Internet网上资源位置而设置的一种编址方式,通常所说的网页地址指的即是URL。该资源定位信息也可以为数据存储地址,该数据存储地址可以指示数据存储在存储区域(如分布式存储系统、云存储服务器等等)的存储地址。该资源定位信息还可以为自定义的查询码,该查询码可以为进行数据检索时能够检索到的文档或链接等数据构建的关联的查询码,也就是在得到查询码后,即可得到对应的文档或链接等数据。该资源定位信息还可以为其他表现形式,此处不做限制。
该预训练的深度学习模型可以为根据样本问题文本、样本问题文本数据所关联的样本代码文本以及对应的样本资源定位信息训练初始的深度学习模型,得到的预训练的深度学习模型。其中,该样本问题文本以及样本代码文本是基于样本资源定位信息所对应的页面提取到 的文本数据。该初始的深度学习模型为与预训练的深度学习模型结构相同但模型参数不同的深度学习模型。具体的,可以分别对样本问题文本以及样本代码文本进行特征提取,得到样本问题文本特征以及样本代码文本特征,调用初始的深度学习模型根据样本问题文本特征以及样本代码文本特征处理得到预测资源定位信息,根据预测资源定位信息与样本资源定位信息基于损失函数回调初始的深度学习模型的模型参数,得到预训练的深度学习模型。可选的,该预训练的深度学习模型可以为CNN/RNN等网络模型,此处不做限制。
可以理解的是,针对在数据检索时能够获取到的全部资源定位信息,均需要作为样本资源定位信息对初始的深度学习模型进行训练,在基于每个样本资源定位信息对初始的深度学习模型进行训练后,得到预训练的深度学习模型。具体的,分别根据每个样本资源定位信息,以及每个样本资源定位信息对应的页面提取的样本问题文本、样本代码文本对初始的深度学习模型进行训练,得到预训练的深度学习模型。
在一种可能的实施方式中,调用预训练的深度学习模型根据问题文本特征以及代码文本特征处理得到目标资源定位信息,可以包括以下步骤:对问题文本特征以及代码文本特征进行融合处理,得到融合后的特征;将融合后的特征输入预训练的深度学习模型进行处理,得到目标资源定位信息。
可以理解的是,在对预训练的深度学习模型进行训练时,调用初始的深度学习模型根据样本问题文本特征以及样本代码文本特征处理得到预测资源定位信息,可以包括以下步骤:对样本问题文本特征以及样本代码文本特征进行融合处理,得到融合后的预测特征;将融合后的预测特征输入初始的深度学习模型进行处理,得到预测资源定位信息。
在一种可能的实施方式中,还可以确定目标代码文本所对应的目标代码类型;根据目标代码类型与预训练的深度学习模型的对应关系,确定目标代码类型对应的目标预训练的深度学习模型;那么,调用预训练的深度学习模型根据问题文本特征以及代码文本特征处理得到目标资源定位信息,可以为调用目标预训练的深度学习模型根据问题文本特征以及代码文本特征处理得到目标资源定位信息。其中,该目标代码类型可以为目标代码文本所属的代码类型。该目标预训练的深度学习模型为所述目标代码类型对应的预训练的深度学习模型。可以理解的是,基于不同代码类型可以预训练得到每个代码类型对应的预训练的深度学习模型,即可以得到至少一个预训练的深度学习模型。具体的,基于不同的代码类型的样本代码文本、与样本代码文本关联的样本问题文本以及样本资源定位信息对初始的深度学习模型进行训练,得到每种代码类型对应的预训练的深度学习模型,并确定训练好的每个预训练的深度学习模型与代码类型的对应关系。进而可以基于目标代码类型从至少一个预训练的深度学习模型中确定出目标代码类型对应的目标预训练的深度学习模型,调用目标预训练的深度学习模型获取目标资源定位信息,由此可以针对每种代码类型调用代码类型对应的预训练的深度学习模型,进而提升确定的目标资源定位信息的效率。
S404、根据目标资源定位信息获取检索结果。
其中,该检索结果为目标资源定位信息,或为目标资源定位信息对应的目标页面。该目标页面即为该目标资源定位信息所对应的页面,该目标页面中可以包括代码数据以及与代码数据关联的描述文本;该目标页面中也可以包括代码数据、代码数据关联的问题文本、以及针对问题文本的答复文本。其中,该代码数据可以为代码图像或代码文本。可以理解的是,该检索结果即为针对上述检索请求的检索结果。
S405、将检索结果发送至用户终端以进行显示。
其中,当用户终端接收到检索结果时,可以于用户终端中的终端界面显示该检索结果。也就是说,用户终端在向电子设备提交检索请求后,可以接收到电子设备返回的针对提交的检索请求的检索结果。
在一种可能的实施方式中,若检索结果为目标资源定位信息,则将该目标资源定位信息发送至用户终端以进行显示,即用户终端可以在接收到电子设备发送的目标资源定位信息时,可以于用户终端的终端界面中显示该目标资源定位信息。可选的,用户终端可以响应于针对该目标资源定位信息的触控操作,获取该目标资源定位信息的目标页面。
在一种可能的应用场景中,用户可以通过用户终端的数据检索界面输入目标代码数据以及目标问题数据,并接收电子设备根据检索请求返回的检索结果以进行显示。例如,请参见 图5,图5是本申请实施例提供的一种数据检索界面的效果示意图,图5中的501所示为用于输入问题数据的输入区域,502所示为用于输入代码数据的输入区域。可选的,图5中还可以包括指示开始检索的控件,如图5中的503所示。图5中的504所示为显示检索结果的显示区域,在504所示区域中可以显示检索到的目标资源定位信息。
本申请实施例中,能够当检测到用户终端提交的检索请求时,根据检索请求获取目标问题文本以及目标问题文本关联的目标代码文本,分别对目标问题文本以及目标代码文本进行特征提取,得到问题文本特征以及代码文本特征,调用预训练的深度学习模型根据问题文本特征以及代码文本特征处理得到目标资源定位信息,根据目标资源定位信息获取检索结果,检索结果为目标资源定位信息,或为目标资源定位信息对应的目标页面,进而将检索结果发送至用户终端以进行显示。由此可以综合考虑目标问题文本与目标代码文本,检索到在目标代码文本的情景下目标问题文本对应的检索结果,提升了数据检索的准确性。
请参见图6,图6是本申请实施例提供的一种数据检索方法的流程示意图,该方法可以由上述电子设备执行。该方法可以包括以下步骤。
S601、当检测到用户终端提交的检索请求时,根据检索请求获取目标问题文本以及目标问题文本关联的目标代码文本。
S602、分别对目标问题文本以及目标代码文本进行特征提取,得到问题文本特征以及代码文本特征。
步骤S601-S602可以参照步骤S401-S402的相关描述,此处不做赘述。
S603、对问题文本特征以及代码文本特征进行融合处理,得到融合后的特征。
其中,该融合后的特征可以为根据问题文本特征与代码文本特征进行融合处理后得到的特征。该融合后的特征可以表现为特征矩阵,该融合后的特征可以为融合后的语义特征。对问题文本特征以及代码文本特征进行融合处理可以为直接将问题文本特征与代码文本特征进行拼接,得到融合后的特征,也可以为通过融合函数对问题文本特征与代码文本特征进行处理得到融合后的特征,或者还可以通过其他方式进行融合处理,此处不做限制。
在一种可能的实施方式中,通过融合函数对问题文本特征与代码文本特征进行处理得到融合后的特征,可以包括以下步骤:根据问题文本特征与代码文本特征进行第一乘法运算,得到第一融合特征;根据问题文本特征以及代码文本特征进行第二乘法运算,得到第二融合特征;对第一融合特征和第二融合特征进行加法运算,得到融合后的特征。
其中,该问题文本特征的特征矩阵的行列数与代码文本特征的特征矩阵的行列数相同,例如,该问题文本特征的特征矩阵为m*m的矩阵,则该代码文本特征的特征矩阵也为m*m的矩阵。又如,该问题文本特征的特征矩阵为m*n的矩阵,则该代码文本特征的特征矩阵也为m*n的矩阵。
该第一乘法运算可以为根据问题文本特征与代码文本特征进行矩阵乘法运算,得到第一融合特征;或者,该第一乘法运算也可以为对问题文本特征乘以第一常数后得到的矩阵,与对代码文本特征乘以第二常数后得到的矩阵进行矩阵乘法运算,得到第一融合特征。该第一常数与第二常数均为预设的常数,第一常数与第二常数可以相同也可以不同,此处不做限制。其中,根据问题文本特征与代码文本特征进行矩阵乘法运算,可以为对问题文本特征与问题文本特征的转置矩阵进行乘法运算,或者,可以为对问题文本特征的转置矩阵与代码文本特征进行乘法运算。例如,问题文本特征与代码文本特征均为m*n的矩阵,则可以确定代码文本特征的转置矩阵,代码文本特征的转置矩阵为n*m的矩阵,通过对m*n的问题文本特征与n*m的代码文本特征的转置矩阵进行乘法运算可以得到维度为m*m的第一融合特征。又如,问题文本特征与代码文本特征均为m*n的矩阵,则可以确定问题文本特征的转置矩阵,问题文本特征的转置矩阵为n*m的矩阵,通过对n*m的问题文本特征的转置矩阵与m*n的代码文本特征进行乘法运算可以得到维度为n*n的第一融合特征。在实际应用场景中,是确定代码文本特征的转置矩阵还是问题文本特征的转置矩阵以实际需求为准,此处不做限制。可选的,若问题文本特征的行数和列数相同,且代码文本特征的行数和列数相同,则根据问题文本特征与代码文本特征进行矩阵乘法运算,可以直接对问题文本特征与代码文本特征进行乘法运算。例如,问题文本特征为n*n的矩阵,代码文本特征也为n*n的特征矩阵,则可以通过问题文本特征与代码文本特征进行乘法运算,得到维度为n*n的第一融合特征。该第一融 合特征即为根据问题文本特征与代码文本特征进行第一乘法运算得到的特征矩阵。
该第二乘法运算可以为根据问题文本特征以及代码文本特征进行矩阵乘法运算后,将进行矩阵乘法运算得到的矩阵中的每个数值转换为对应的倒数,得到第二融合特征。或者,该第二乘法运算可以为将根据问题文本特征以及代码文本特征进行矩阵乘法运算后,将进行矩阵乘法运算后的矩阵中的每个数值转换为对应的倒数,并乘以第三常数,得到第二融合特征。该第三常数可以为预设的常数,第三常数与第一常数或第二常数可以相同也可以不同,此处不做限制。其中,其中,根据问题文本特征与代码文本特征进行矩阵乘法运算,可以为对问题文本特征与问题文本特征的转置矩阵进行乘法运算,或者,可以为对问题文本特征的转置矩阵与代码文本特征进行乘法运算,具体描述可以参照第一乘法运算中针对矩阵乘法运算的相关描述,此处不做赘述。该第二融合特征即为根据问题文本特征以及代码文本特进行第二乘法运算得到的特征矩阵。
例如,可以通过公式(1)所示的融合函数进行计算得到融合后的特征:
Figure PCTCN2022090449-appb-000003
其中,其中k,v,d为常数,y1表示问题文本特征,y2为表示代码文本特征,而x则代表融合后的特征。可以理解的是,
Figure PCTCN2022090449-appb-000004
代表将问题文本特征y1与代码文本特征y2进行第一乘法运算得到的第一融合矩阵,即对问题文本特征乘以1/v(即第一常数)后得到的矩阵,与对代码文本特征乘以1/d(即第二常数)后得到的矩阵进行矩阵乘法运算,得到第一融合特征。该第一乘法运算也可以为对问题文本特征乘以第一常数后得到的矩阵,与对代码文本特征乘以第二常数后得到的矩阵,得到第一融合特征。k/(y1*y2)代表将问题文本特征y1与代码文本特征y2进行第二乘法运算得到的第二融合矩阵,即根据y1以及y2进行矩阵乘法运算后,将进行矩阵乘法运算后的矩阵中的每个数值转换为对应的倒数,并乘以k(即第三常数),得到第二融合特征。进而将第一融合矩阵与第二融合矩阵进行加法运算,即可得到融合后的特征。在实际应用场景中,可以通过调整k,v,d等常数,以便于找到融合效果最好的融合函数,从而通过融合函数得到融合后的特征。
此处以图2中203所示的问题文本特征与204所示的代码文本特征为例,融合后的特征矩阵可以如图2中的205所示,203所示的矩阵在乘以1/v后得到的矩阵与204所示的矩阵乘以1/d后得到的矩阵进行矩阵乘法运算,则可以得到第一融合矩阵,如203所示的矩阵在乘以1/v后得到的矩阵与204所示的矩阵乘以1/d后得到的矩阵的转置矩阵进行乘法运算得到第一融合矩阵,则第一融合矩阵的每个位置的所对应的数值可以表示为
Figure PCTCN2022090449-appb-000005
将203所示的矩阵与204所示的矩阵进行矩阵乘法运算后,将进行矩阵乘法运算后的矩阵中的每个数值转换为对应的倒数,并乘以k,则可以得到第二融合矩阵,如将203所示的矩阵与204所示的矩阵的转置矩阵进行乘法运算后,将进行乘法运算后的矩阵中的每个数值转换为对应的倒数,并乘以k以得到第二融合矩阵,则第二融合矩阵的每个位置的所对应的数值可以表示为
Figure PCTCN2022090449-appb-000006
由此可以得到如图205所示的融合后的特征,该融合后的特征中的每个数值可以表示为
Figure PCTCN2022090449-appb-000007
可以理解的是,图2中205所示仅为通过一种融合方式得到的融合后的特征的示例,本申请还可以通过其他的融合方式得到融合后的特征,融合后的特征的表示取决于实际采用的融合方式,不同的融合方式得到的融合后的特征可以不同,此处不做限制。
S604、将融合后的特征输入预训练的深度学习模型进行处理,得到目标资源定位信息。
其中,针对该预训练的深度学习模型的相关描述可以参照步骤S403的相关描述,此处不做赘述。进而可以将融合后的特征输入预训练的深度学习模型,则预训练的深度学习模型可以根据融合后的特征确定出对应的目标资源定位信息。
S605、根据目标资源定位信息获取检索结果。
S606、将检索结果发送至用户终端以进行显示。
步骤S605-S606可以参照步骤S404-S405的相关描述,此处不做赘述。
本申请实施例中,能够当检测到用户终端提交的检索请求时,根据检索请求获取目标问题文本以及目标问题文本关联的目标代码文本,分别对目标问题文本以及目标代码文本进行 特征提取,得到问题文本特征以及代码文本特征,调用预训练的深度学习模型根据问题文本特征以及代码文本特征处理得到目标资源定位信息,根据目标资源定位信息获取检索结果,检索结果为目标资源定位信息,或为目标资源定位信息对应的目标页面,进而将检索结果发送至用户终端以进行显示。由此可以综合考虑目标问题文本与目标代码文本,检索到在目标代码文本的情景下目标问题文本对应的检索结果,提升了数据检索的准确性。
请参见图7,图7是本申请实施例提供的一种数据检索方法的流程示意图,该方法可以由上述电子设备执行。该方法可以包括以下步骤。
S701、获取多个资源定位信息。
其中,该多个资源定位信息中每个资源定位信息对应的页面包括代码数据以及与代码数据关联的描述文本。该代码数据为代码图像或代码文本,该代码图像可以为包括代码信息的图像数据,该代码文本可以为包括代码信息的文本数据。与代码数据关联的描述文本可以为资源定位信息对应的页面中包括的除代码数据之外的文本。可以理解的是,获取的多个资源定位信息可以为后续进行数据检索时能够检索到的资源定位信息。
在一种可能的实施方式中,获取多个资源定位信息可以为大量收集的针对各种代码数据的分析的网页的统一资源定位符(URL),也可以为构建的用于解决各种代码问题的文档或链接所对应的数据存储地址或查询码,此处不做限制。
在一种可能的实施方式中,若获取多个资源定位信息为大量收集的针对各种代码数据的分析的网页的统一资源定位符(URL),则可以对每个URL所对应的页面中包括的数据进行查重处理,若存在相似度高于预设值的多个页面,则从该多个页面中确定出一个页面,并将该确定出的一个页面的URL确定为获取的多个资源定位信息。其中,该相似度可以为页面中的文本之间的相似度,如可以将页面中的文本映射到向量空间,再利用余弦相似度等方法计算文本之间的相似度,当相似度大于预设值则确定页面为重复的页面。由此可以避免在出现多个重复的页面所对应的资源定位信息,使得在数据检索时准确度更高。
S702、获取每个资源定位信息对应的页面。
其中,该页面可以为资源定位信息对应的页面。也就是说,通过该资源定位信息可以获取到对应的页面。每个资源定位信息对应的页面中包括代码数据以及与代码数据关联的描述文本。
S703、提取描述文本中的关键词文本,并根据代码数据获得代码文本。
其中,提取描述文本中的关键词文本可以为通过关键词提取模型提取关键词文本,也可以为通过人工形式提取关键词文本,此处不做限制。
在一种可能的实施方式中,通过关键词提取模型提取关键词文本之前,可以为通过样本描述文本对初始的关键词提取模型进行训练,以得到训练好的关键词提取模型。该样本描述文本可以携带样本标签,该样本标签用于指示样本描述文本中的标注关键词,进而将样本描述文本输入初始的关键词提取模型进行处理,得到预测关键词,根据标注关键词与预测关键修正初始的关键词提取模型的模型参数,以得到训练好的关键词提取模型。
在一种可能的实施方式中,根据代码数据获得代码文本时,若代码数据为代码图像,则可以将该代码图像进行图像识别,将代码图像中的文字转换为文本,得到该代码图像对应的代码文本;若代码数据为代码文本,则可以直接根据代码数据得到代码文本。
可以理解的是,在本文中,采用了诸如步骤S701、S702、S703等步骤代号,其目的是为了更清楚简要地表述相应内容,不构成顺序上的实质性限制,如可以先执行S702、S703,再执行步骤S701,此处不做限制。
S704、利用关键词文本、代码文本以及资源定位信息训练初始的深度学习模型,得到预训练的深度学习模型。
其中,该关键词文本即为样本问题文本,该代码文本即为样本问题文本关联的样本代码文本,该资源定位信息即为样本资源定位信息,则利用关键词文本、代码文本以及资源定位信息训练初始的深度学习模型,得到预训练的深度学习模型的相关描述可以参照步骤S403的相关描述,此处不做赘述。也就是,对关键词文本进行特征提取得到样本问题文本特征,对代码文本进行特征提取得到样本代码文本特征,对样本问题文本特征以及样本代码文本特征进行融合处理,得到融合后的预测特征,将融合后的预测特征输入初始的深度学习模型进 行处理,得到预测资源定位信息,根据预测资源定位信息与对应的资源定位信息基于损失函数回调初始的深度学习模型的模型参数,得到预训练的深度学习模型。
S705、当检测到用户终端提交的检索请求时,根据检索请求获取目标问题文本以及目标问题文本关联的目标代码文本。
S706、分别对目标问题文本以及目标代码文本进行特征提取,得到问题文本特征以及代码文本特征。
S707、调用预训练的深度学习模型根据问题文本特征以及代码文本特征处理得到目标资源定位信息。
S708、根据目标资源定位信息获取检索结果。
S709、将检索结果发送至用户终端以进行显示。
步骤S705-S709的相关描述可以参照步骤S401-S405,此处不做赘述。
本申请实施例中,能够当检测到用户终端提交的检索请求时,根据检索请求获取目标问题文本以及目标问题文本关联的目标代码文本,分别对目标问题文本以及目标代码文本进行特征提取,得到问题文本特征以及代码文本特征,调用预训练的深度学习模型根据问题文本特征以及代码文本特征处理得到目标资源定位信息,根据目标资源定位信息获取检索结果,检索结果为目标资源定位信息,或为目标资源定位信息对应的目标页面,进而将检索结果发送至用户终端以进行显示。由此可以综合考虑目标问题文本与目标代码文本,检索到在目标代码文本的情景下目标问题文本对应的检索结果,提升了数据检索的准确性。
请参见图8,图8是本申请实施例提供的一种数据检索方法的流程示意图,该方法可以由上述电子设备执行。该方法可以包括以下步骤。
S801、获取多个资源定位信息。
其中,该多个资源定位信息中每个资源定位信息对应的页面包括代码数据、代码数据关联的问题文本、以及针对问题文本的答复文本。代码数据可以为代码图像或代码文本。该代码数据关联的问题文本可以为针对该代码数据的问题的文本数据。该答复文本可以为用于解决该问题文本所对应的问题的答复文本。
在一种可能的实施方式中,该获取的多个资源定位信息可以为大量收集的用于解决用户提出的代码问题的页面的URL。可选的,在大量收集的用于解决用户提出的代码问题页面的URL时,可以对每个URL所对应的页面中包括的问题文本、代码文本以及答复文本进行查重处理,若存在相似度高于预设值的多个页面,则从该多个页面中确定出一个页面,并将该确定出的一个页面的URL确定为获取的多个资源定位信息。由此可以避免在出现多个重复的页面所对应的资源定位信息,使得在数据检索时准确度更高。
S802、获取每个资源定位信息对应的页面。
其中,该页面可以为资源定位信息对应的页面,通过该资源定位信息可以获取到对应的页面。每个资源定位信息对应的页面中包括代码数据、代码数据关联的问题文本、以及针对问题文本的答复文本。
S803、根据代码数据获得代码文本。
其中,根据代码数据获得代码文本时,若代码数据为代码图像,则可以将该代码图像进行图像识别,将代码图像中的文字转换为文本,得到该代码图像对应的代码文本;若代码数据为代码文本,则可以直接根据代码数据得到代码文本。
S804、利用代码文本、问题文本以及资源定位信息训练初始的深度学习模型,得到预训练的深度学习模型。
其中,该代码文本即可以为样本代码文本,问题文本即为样本问题文本,该资源定位信息即为样本资源定位信息,则利用代码文本、问题文本以及资源定位信息训练初始的深度学习模型,得到预训练的深度学习模型的相关描述可以参照步骤S403的相关描述,此处不做赘述。也就是说,对问题文本进行特征提取得到样本问题文本特征,对代码文本进行特征提取得到样本代码文本特征,对样本问题文本特征以及样本代码文本特征进行融合处理,得到融合后的预测特征,将融合后的预测特征输入初始的深度学习模型进行处理,得到预测资源定位信息,根据预测资源定位信息与对应的资源定位信息基于损失函数回调初始的深度学习模型的模型参数,得到预训练的深度学习模型。
可以理解的是,在本文中,采用了诸如步骤S801、S802、S803等步骤代号,其目的是为了更清楚简要地表述相应内容,不构成顺序上的实质性限制,如可以先执行S802、S803,再执行步骤S801,此处不做限制。
S805、当检测到用户终端提交的检索请求时,根据检索请求获取目标问题文本以及目标问题文本关联的目标代码文本。
S806、分别对目标问题文本以及目标代码文本进行特征提取,得到问题文本特征以及代码文本特征。
S807、调用预训练的深度学习模型根据问题文本特征以及代码文本特征处理得到目标资源定位信息。
S808、根据目标资源定位信息获取检索结果。
S809、将检索结果发送至用户终端以进行显示。
本申请实施例中,能够当检测到用户终端提交的检索请求时,根据检索请求获取目标问题文本以及目标问题文本关联的目标代码文本,分别对目标问题文本以及目标代码文本进行特征提取,得到问题文本特征以及代码文本特征,调用预训练的深度学习模型根据问题文本特征以及代码文本特征处理得到目标资源定位信息,根据目标资源定位信息获取检索结果,检索结果为目标资源定位信息,或为目标资源定位信息对应的目标页面,进而将检索结果发送至用户终端以进行显示。由此可以综合考虑目标问题文本与目标代码文本,检索到在目标代码文本的情景下目标问题文本对应的检索结果,提升了数据检索的准确性。
请参见图9,图9是本申请实施例提供的一种数据检索装置的结构示意图。可选的,该数据检索装置可以设置于上述电子设备中。如图9所示,本实施例中所描述的数据检索装置可以包括:
获取单元901,用于当检测到用户终端提交的检索请求时,根据所述检索请求获取目标问题文本以及所述目标问题文本关联的目标代码文本;
处理单元902,用于分别对所述目标问题文本以及所述目标代码文本进行特征提取,得到问题文本特征以及代码文本特征;
所述处理单元902,还用于调用预训练的深度学习模型根据所述问题文本特征以及所述代码文本特征处理得到目标资源定位信息,所述目标资源定位信息为与所述目标代码文本以及所述目标问题文本匹配的资源定位信息;
所述处理单元902,用于根据所述目标资源定位信息获取检索结果,所述检索结果为所述目标资源定位信息,或为所述目标资源定位信息对应的目标页面;
发送单元903,还用于将所述检索结果发送至所述用户终端以进行显示。
在一种实现方式中,所述处理单元902具体用于:
对所述问题文本特征以及所述代码文本特征进行融合处理,得到融合后的特征;
将所述融合后的特征输入预训练的深度学习模型进行处理,得到目标资源定位信息。
在一种实现方式中,所述处理单元902具体用于:
根据所述问题文本特征与所述代码文本特征进行第一乘法运算,得到第一融合特征;
根据所述问题文本特征以及所述代码文本特征进行第二乘法运算,得到第二融合特征;
对所述第一融合特征和所述第二融合特征进行加法运算,得到融合后的特征。
在一种实现方式中,所述处理单元902还用于:
获取多个资源定位信息,所述多个资源定位信息中每个资源定位信息对应的页面包括代码数据以及与所述代码数据关联的描述文本,所述代码数据为代码图像或代码文本;
获取所述每个资源定位信息对应的页面;
提取所述描述文本中的关键词文本,并根据所述代码数据获得代码文本;
利用所述关键词文本、所述代码文本以及所述资源定位信息训练初始的深度学习模型,得到预训练的深度学习模型。
在一种实现方式中,所述处理单元902还用于:
获取多个资源定位信息,所述多个资源定位信息中每个资源定位信息对应的页面包括代码数据、所述代码数据关联的问题文本、以及针对所述问题文本的答复文本,所述代码数据为代码图像或代码文本;
获取所述每个资源定位信息对应的页面;
根据所述代码数据获得代码文本;
利用所述代码文本、所述问题文本以及所述资源定位信息训练初始的深度学习模型,得到预训练的深度学习模型。
在一种实现方式中,所述处理单元902还用于:
确定所述目标代码文本所对应的目标代码类型;
根据所述目标代码类型与预训练的深度学习模型的对应关系,确定所述目标代码类型对应的目标预训练的深度学习模型;
所述处理单元902具体用于:
调用所述目标预训练的深度学习模型根据所述问题文本特征以及所述代码文本特征处理得到目标资源定位信息。
在一种实现方式中,所述目标代码文本包括基于代码运行日志确定出的报错代码文本,还包括与所述报错代码文本关联的代码文本;
所述目标问题文本是根据所述代码运行日志的报错提示信息构建的问题文本。
请参见图10,图10是本申请实施例提供的一种电子设备的结构示意图。本实施例中所描述的电子设备,包括:处理器1001、存储器1002。可选的,该电子设备还可包括网络接口1003或供电模块等结构。上述处理器1001、存储器1002以及网络接口1003之间可以交互数据。
上述处理器1001可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
上述网络接口1003可以包括输入设备和/或输出设备,例如该输入设备是可以是控制面板、麦克风、接收器等,输出设备可以是显示屏、发送器等,此处不一一列举。例如,在申请实施例中,该网络接口可包括接收器和发送器。
上述存储器1002可以包括只读存储器和随机存取存储器,并向处理器1001提供程序指令和数据。存储器1002的一部分还可以包括非易失性随机存取存储器。其中,所述处理器1001调用所述程序指令时用于执行:
当检测到用户终端提交的检索请求时,根据所述检索请求获取目标问题文本以及所述目标问题文本关联的目标代码文本;
分别对所述目标问题文本以及所述目标代码文本进行特征提取,得到问题文本特征以及代码文本特征;
调用预训练的深度学习模型根据所述问题文本特征以及所述代码文本特征处理得到目标资源定位信息,所述目标资源定位信息为与所述目标代码文本以及所述目标问题文本匹配的资源定位信息;
根据所述目标资源定位信息获取检索结果,所述检索结果为所述目标资源定位信息,或为所述目标资源定位信息对应的目标页面;
将所述检索结果发送至所述用户终端以进行显示。
在一种实现方式中,所述处理器1001具体用于:
对所述问题文本特征以及所述代码文本特征进行融合处理,得到融合后的特征;
将所述融合后的特征输入预训练的深度学习模型进行处理,得到目标资源定位信息。
在一种实现方式中,所述处理器1001具体用于:
根据所述问题文本特征与所述代码文本特征进行第一乘法运算,得到第一融合特征;
根据所述问题文本特征以及所述代码文本特征进行第二乘法运算,得到第二融合特征;
对所述第一融合特征和所述第二融合特征进行加法运算,得到融合后的特征。
在一种实现方式中,所述处理器1001还用于:
获取多个资源定位信息,所述多个资源定位信息中每个资源定位信息对应的页面包括代码数据以及与所述代码数据关联的描述文本,所述代码数据为代码图像或代码文本;
获取所述每个资源定位信息对应的页面;
提取所述描述文本中的关键词文本,并根据所述代码数据获得代码文本;
利用所述关键词文本、所述代码文本以及所述资源定位信息训练初始的深度学习模型,得到预训练的深度学习模型。
在一种实现方式中,所述处理器1001还用于:
获取多个资源定位信息,所述多个资源定位信息中每个资源定位信息对应的页面包括代码数据、所述代码数据关联的问题文本、以及针对所述问题文本的答复文本,所述代码数据为代码图像或代码文本;
获取所述每个资源定位信息对应的页面;
根据所述代码数据获得代码文本;
利用所述代码文本、所述问题文本以及所述资源定位信息训练初始的深度学习模型,得到预训练的深度学习模型。
在一种实现方式中,所述处理器1001还用于:
确定所述目标代码文本所对应的目标代码类型;
根据所述目标代码类型与预训练的深度学习模型的对应关系,确定所述目标代码类型对应的目标预训练的深度学习模型;
所述处理器1001具体用于:
调用所述目标预训练的深度学习模型根据所述问题文本特征以及所述代码文本特征处理得到目标资源定位信息。
在一种实现方式中,所述目标代码文本包括基于代码运行日志确定出的报错代码文本,还包括与所述报错代码文本关联的代码文本;
所述目标问题文本是根据所述代码运行日志的报错提示信息构建的问题文本。
可选的,该程序指令被处理器执行时还可实现上述实施例中方法的其他步骤,这里不再赘述。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述方法,比如执行上述电子设备执行的方法,此处不赘述。
可选的,本申请涉及的存储介质如计算机可读存储介质可以是非易失性的,也可以是易失性的。
以上对本申请实施例所提供的一种数据检索方法、装置、电子设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (20)

  1. 一种数据检索方法,其中,包括:
    当检测到用户终端提交的检索请求时,根据所述检索请求获取目标问题文本以及所述目标问题文本关联的目标代码文本;
    分别对所述目标问题文本以及所述目标代码文本进行特征提取,得到问题文本特征以及代码文本特征;
    调用预训练的深度学习模型根据所述问题文本特征以及所述代码文本特征处理得到目标资源定位信息,所述目标资源定位信息为与所述目标代码文本以及所述目标问题文本匹配的资源定位信息;
    根据所述目标资源定位信息获取检索结果,所述检索结果为所述目标资源定位信息,或为所述目标资源定位信息对应的目标页面;
    将所述检索结果发送至所述用户终端以进行显示。
  2. 根据权利要求1所述的方法,其中,所述调用预训练的深度学习模型根据所述问题文本特征以及所述代码文本特征处理得到目标资源定位信息,包括:
    对所述问题文本特征以及所述代码文本特征进行融合处理,得到融合后的特征;
    将所述融合后的特征输入预训练的深度学习模型进行处理,得到目标资源定位信息。
  3. 根据权利要求2所述的方法,其中,所述对所述问题文本特征以及所述代码文本特征进行融合处理,得到融合后的特征,包括:
    根据所述问题文本特征与所述代码文本特征进行第一乘法运算,得到第一融合特征;
    根据所述问题文本特征以及所述代码文本特征进行第二乘法运算,得到第二融合特征;
    对所述第一融合特征和所述第二融合特征进行加法运算,得到融合后的特征。
  4. 根据权利要求1所述的方法,其中,所述方法还包括:
    获取多个资源定位信息,所述多个资源定位信息中每个资源定位信息对应的页面包括代码数据以及与所述代码数据关联的描述文本,所述代码数据为代码图像或代码文本;
    获取所述每个资源定位信息对应的页面;
    提取所述描述文本中的关键词文本,并根据所述代码数据获得代码文本;
    利用所述关键词文本、所述代码文本以及所述资源定位信息训练初始的深度学习模型,得到预训练的深度学习模型。
  5. 根据权利要求1所述的方法,其中,所述方法还包括:
    获取多个资源定位信息,所述多个资源定位信息中每个资源定位信息对应的页面包括代码数据、所述代码数据关联的问题文本、以及针对所述问题文本的答复文本,所述代码数据为代码图像或代码文本;
    获取所述每个资源定位信息对应的页面;
    根据所述代码数据获得代码文本;
    利用所述代码文本、所述问题文本以及所述资源定位信息训练初始的深度学习模型,得到预训练的深度学习模型。
  6. 根据权利要求2所述方法,其中,所述方法还包括:
    确定所述目标代码文本所对应的目标代码类型;
    根据所述目标代码类型与预训练的深度学习模型的对应关系,确定所述目标代码类型对应的目标预训练的深度学习模型;
    所述调用预训练的深度学习模型根据所述问题文本特征以及所述代码文本特征处理得到目标资源定位信息,包括:
    调用所述目标预训练的深度学习模型根据所述问题文本特征以及所述代码文本特征处理得到目标资源定位信息。
  7. 根据权利要求2所述的方法,其中,所述目标代码文本包括基于代码运行日志确定出的报错代码文本,还包括与所述报错代码文本关联的代码文本;
    所述目标问题文本是根据所述代码运行日志的报错提示信息构建的问题文本。
  8. 一种数据检索装置,其中,包括:
    获取单元,用于当检测到用户终端提交的检索请求时,根据所述检索请求获取目标问题文本以及所述目标问题文本关联的目标代码文本;
    处理单元,用于分别对所述目标问题文本以及所述目标代码文本进行特征提取,得到问题文本特征以及代码文本特征;
    所述处理单元,还用于调用预训练的深度学习模型根据所述问题文本特征以及所述代码文本特征处理得到目标资源定位信息,所述目标资源定位信息为与所述目标代码文本以及所述目标问题文本匹配的资源定位信息;
    所述处理单元,用于根据所述目标资源定位信息获取检索结果,所述检索结果为所述目标资源定位信息,或为所述目标资源定位信息对应的目标页面;
    发送单元,还用于将所述检索结果发送至所述用户终端以进行显示。
  9. 一种电子设备,其中,包括处理器、存储器,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如下步骤:
    当检测到用户终端提交的检索请求时,根据所述检索请求获取目标问题文本以及所述目标问题文本关联的目标代码文本;
    分别对所述目标问题文本以及所述目标代码文本进行特征提取,得到问题文本特征以及代码文本特征;
    调用预训练的深度学习模型根据所述问题文本特征以及所述代码文本特征处理得到目标资源定位信息,所述目标资源定位信息为与所述目标代码文本以及所述目标问题文本匹配的资源定位信息;
    根据所述目标资源定位信息获取检索结果,所述检索结果为所述目标资源定位信息,或为所述目标资源定位信息对应的目标页面;
    将所述检索结果发送至所述用户终端以进行显示。
  10. 根据权利要求9所述的电子设备,其中,所述调用预训练的深度学习模型根据所述问题文本特征以及所述代码文本特征处理得到目标资源定位信息,包括:
    对所述问题文本特征以及所述代码文本特征进行融合处理,得到融合后的特征;
    将所述融合后的特征输入预训练的深度学习模型进行处理,得到目标资源定位信息。
  11. 根据权利要求10所述的电子设备,其中,所述对所述问题文本特征以及所述代码文本特征进行融合处理,得到融合后的特征,包括:
    根据所述问题文本特征与所述代码文本特征进行第一乘法运算,得到第一融合特征;
    根据所述问题文本特征以及所述代码文本特征进行第二乘法运算,得到第二融合特征;
    对所述第一融合特征和所述第二融合特征进行加法运算,得到融合后的特征。
  12. 根据权利要求9所述的电子设备,其中,所述步骤还包括:
    获取多个资源定位信息,所述多个资源定位信息中每个资源定位信息对应的页面包括代码数据以及与所述代码数据关联的描述文本,所述代码数据为代码图像或代码文本;
    获取所述每个资源定位信息对应的页面;
    提取所述描述文本中的关键词文本,并根据所述代码数据获得代码文本;
    利用所述关键词文本、所述代码文本以及所述资源定位信息训练初始的深度学习模型,得到预训练的深度学习模型。
  13. 根据权利要求9所述的电子设备,其中,所述步骤还包括:
    获取多个资源定位信息,所述多个资源定位信息中每个资源定位信息对应的页面包括代码数据、所述代码数据关联的问题文本、以及针对所述问题文本的答复文本,所述代码数据为代码图像或代码文本;
    获取所述每个资源定位信息对应的页面;
    根据所述代码数据获得代码文本;
    利用所述代码文本、所述问题文本以及所述资源定位信息训练初始的深度学习模型,得到预训练的深度学习模型。
  14. 根据权利要求10所述电子设备,其中,所述步骤还包括:
    确定所述目标代码文本所对应的目标代码类型;
    根据所述目标代码类型与预训练的深度学习模型的对应关系,确定所述目标代码类型对 应的目标预训练的深度学习模型;
    所述调用预训练的深度学习模型根据所述问题文本特征以及所述代码文本特征处理得到目标资源定位信息,包括:
    调用所述目标预训练的深度学习模型根据所述问题文本特征以及所述代码文本特征处理得到目标资源定位信息。
  15. 一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如下步骤:
    当检测到用户终端提交的检索请求时,根据所述检索请求获取目标问题文本以及所述目标问题文本关联的目标代码文本;
    分别对所述目标问题文本以及所述目标代码文本进行特征提取,得到问题文本特征以及代码文本特征;
    调用预训练的深度学习模型根据所述问题文本特征以及所述代码文本特征处理得到目标资源定位信息,所述目标资源定位信息为与所述目标代码文本以及所述目标问题文本匹配的资源定位信息;
    根据所述目标资源定位信息获取检索结果,所述检索结果为所述目标资源定位信息,或为所述目标资源定位信息对应的目标页面;
    将所述检索结果发送至所述用户终端以进行显示。
  16. 根据权利要求15所述的计算机可读存储介质,其中,所述调用预训练的深度学习模型根据所述问题文本特征以及所述代码文本特征处理得到目标资源定位信息,包括:
    对所述问题文本特征以及所述代码文本特征进行融合处理,得到融合后的特征;
    将所述融合后的特征输入预训练的深度学习模型进行处理,得到目标资源定位信息。
  17. 根据权利要求16所述的计算机可读存储介质,其中,所述对所述问题文本特征以及所述代码文本特征进行融合处理,得到融合后的特征,包括:
    根据所述问题文本特征与所述代码文本特征进行第一乘法运算,得到第一融合特征;
    根据所述问题文本特征以及所述代码文本特征进行第二乘法运算,得到第二融合特征;
    对所述第一融合特征和所述第二融合特征进行加法运算,得到融合后的特征。
  18. 根据权利要求15所述的计算机可读存储介质,其中,所述步骤还包括:
    获取多个资源定位信息,所述多个资源定位信息中每个资源定位信息对应的页面包括代码数据以及与所述代码数据关联的描述文本,所述代码数据为代码图像或代码文本;
    获取所述每个资源定位信息对应的页面;
    提取所述描述文本中的关键词文本,并根据所述代码数据获得代码文本;
    利用所述关键词文本、所述代码文本以及所述资源定位信息训练初始的深度学习模型,得到预训练的深度学习模型。
  19. 根据权利要求15所述的计算机可读存储介质,其中,所述步骤还包括:
    获取多个资源定位信息,所述多个资源定位信息中每个资源定位信息对应的页面包括代码数据、所述代码数据关联的问题文本、以及针对所述问题文本的答复文本,所述代码数据为代码图像或代码文本;
    获取所述每个资源定位信息对应的页面;
    根据所述代码数据获得代码文本;
    利用所述代码文本、所述问题文本以及所述资源定位信息训练初始的深度学习模型,得到预训练的深度学习模型。
  20. 根据权利要求16所述计算机可读存储介质,其中,所述步骤还包括:
    确定所述目标代码文本所对应的目标代码类型;
    根据所述目标代码类型与预训练的深度学习模型的对应关系,确定所述目标代码类型对应的目标预训练的深度学习模型;
    所述调用预训练的深度学习模型根据所述问题文本特征以及所述代码文本特征处理得到目标资源定位信息,包括:
    调用所述目标预训练的深度学习模型根据所述问题文本特征以及所述代码文本特征处理得到目标资源定位信息。
PCT/CN2022/090449 2021-10-22 2022-04-29 一种数据检索方法、装置、电子设备以及存储介质 WO2023065638A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111231139.3 2021-10-22
CN202111231139.3A CN113918734A (zh) 2021-10-22 2021-10-22 一种数据检索方法、装置、电子设备以及存储介质

Publications (1)

Publication Number Publication Date
WO2023065638A1 true WO2023065638A1 (zh) 2023-04-27

Family

ID=79242336

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/090449 WO2023065638A1 (zh) 2021-10-22 2022-04-29 一种数据检索方法、装置、电子设备以及存储介质

Country Status (2)

Country Link
CN (1) CN113918734A (zh)
WO (1) WO2023065638A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113918734A (zh) * 2021-10-22 2022-01-11 平安科技(深圳)有限公司 一种数据检索方法、装置、电子设备以及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104809139A (zh) * 2014-01-29 2015-07-29 日本电气株式会社 代码文件查询方法和装置
CN111126031A (zh) * 2019-12-12 2020-05-08 南京谦萃智能科技服务有限公司 代码文本处理方法及相关产品
US20200184210A1 (en) * 2018-12-06 2020-06-11 International Business Machines Corporation Multi-modal document feature extraction
CN111562915A (zh) * 2020-06-15 2020-08-21 厦门大学 前端代码生成模型的生成方法和装置
CN112051986A (zh) * 2020-08-26 2020-12-08 西安电子科技大学 基于开源知识的代码搜索推荐装置及方法
CN113918734A (zh) * 2021-10-22 2022-01-11 平安科技(深圳)有限公司 一种数据检索方法、装置、电子设备以及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104809139A (zh) * 2014-01-29 2015-07-29 日本电气株式会社 代码文件查询方法和装置
US20200184210A1 (en) * 2018-12-06 2020-06-11 International Business Machines Corporation Multi-modal document feature extraction
CN111126031A (zh) * 2019-12-12 2020-05-08 南京谦萃智能科技服务有限公司 代码文本处理方法及相关产品
CN111562915A (zh) * 2020-06-15 2020-08-21 厦门大学 前端代码生成模型的生成方法和装置
CN112051986A (zh) * 2020-08-26 2020-12-08 西安电子科技大学 基于开源知识的代码搜索推荐装置及方法
CN113918734A (zh) * 2021-10-22 2022-01-11 平安科技(深圳)有限公司 一种数据检索方法、装置、电子设备以及存储介质

Also Published As

Publication number Publication date
CN113918734A (zh) 2022-01-11

Similar Documents

Publication Publication Date Title
US11651236B2 (en) Method for question-and-answer service, question-and-answer service system and storage medium
CN107491534B (zh) 信息处理方法和装置
US11899681B2 (en) Knowledge graph building method, electronic apparatus and non-transitory computer readable storage medium
US20220198327A1 (en) Method, apparatus, device and storage medium for training dialogue understanding model
US11423314B2 (en) Method and system for facilitating user support using multimodal information
EP4006909B1 (en) Method, apparatus and device for quality control and storage medium
CN105550206B (zh) 结构化查询语句的版本控制方法及装置
US11651015B2 (en) Method and apparatus for presenting information
WO2023045187A1 (zh) 基于神经网络的语义搜索方法、装置、设备和存储介质
CN114385780B (zh) 程序接口信息推荐方法、装置、电子设备和可读介质
CN109634436B (zh) 输入法的联想方法、装置、设备及可读存储介质
CN109190062B (zh) 目标语料数据的爬取方法、装置及存储介质
WO2023065638A1 (zh) 一种数据检索方法、装置、电子设备以及存储介质
WO2022141872A1 (zh) 文献摘要生成方法、装置、计算机设备及存储介质
CN113918794B (zh) 企业网络舆情效益分析方法、系统、电子设备及存储介质
CN112925898A (zh) 基于人工智能的问答方法、装置、服务器及存储介质
CN111476026A (zh) 语句向量的确定方法、装置、电子设备及存储介质
CN117149967A (zh) 应答生成方法、装置、服务器和计算机可读存储介质
CN116738476A (zh) 一种基于大语言模型的安全交互方法及装置
EP4254256A1 (en) Spoken language processing method and apparatus, electronic device, and storage medium
CN110363189B (zh) 一种文档内容修复方法、装置、电子设备及可读存储介质
CN114201376A (zh) 基于人工智能的日志解析方法、装置、终端设备及介质
CN114661746A (zh) 语句转换方法、装置、电子设备及存储介质
CN110895924A (zh) 一种文档内容朗读方法、装置、电子设备及可读存储介质
US20240070489A1 (en) Personalized question answering using semantic caching

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22882263

Country of ref document: EP

Kind code of ref document: A1