CN115145547A - 基于语音的编程方法、装置、电子设备及存储介质 - Google Patents

基于语音的编程方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN115145547A
CN115145547A CN202210731838.2A CN202210731838A CN115145547A CN 115145547 A CN115145547 A CN 115145547A CN 202210731838 A CN202210731838 A CN 202210731838A CN 115145547 A CN115145547 A CN 115145547A
Authority
CN
China
Prior art keywords
programming
voice
standard
content
template
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
CN202210731838.2A
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.)
Ping An Bank Co Ltd
Original Assignee
Ping An Bank 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 Ping An Bank Co Ltd filed Critical Ping An Bank Co Ltd
Priority to CN202210731838.2A priority Critical patent/CN115145547A/zh
Publication of CN115145547A publication Critical patent/CN115145547A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Library & Information Science (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请提供一种基于语音的编程方法、装置、电子设备及计算机可读存储介质。该方法根据获取的预设的检查标准对当前编程内容进行检查,从而得到检查结果,并根据该检查结果确定并发出语音提示播报,然后接收用户基于该语音提示播报输入的语音指令,最后根据该语音指令确定并执行对应的编程操作。该方法基于检查标准对当前编程内容进行自动检查,并发出语音提示播报,使得用户可以基于播报内容发出语音指令进行相应的编程操作,减少了对人工的依靠,通过语音交互缓解了用户编程时的枯燥,增加了编程的乐趣,缓解了用户在实际操作过程中容易产生纰漏的问题。

Description

基于语音的编程方法、装置、电子设备及存储介质
技术领域
本申请涉及数据编译技术领域,尤其涉及一种基于语音的编程方法、装置、电子设备及计算机可读存储介质。
背景技术
在计算机领域,当前在写代码的过程中主要是依靠人工对代码进行检查等操作。然而,用户每次在编写代码时都需要进行检查等操作,但人工检查难免会出现遗漏,同时,重复的检查等操作也会令用户感到枯燥和无聊,甚至对检查等操作产生抵触,以至于在实际操作中可能出现纰漏。
因此,当前编程方法存在过于依靠人工对代码进行检查等操作,且枯燥乏味的检查等操作使得用户容易产生抵触情绪,以至于在操作过程中出现纰漏的技术问题,需要改进。
发明内容
本申请提供一种基于语音的编程方法、装置、电子设备及计算机可读存储介质,用于缓解当前编程方法存在的过于依靠人工对代码进行检查等操作,且枯燥乏味的检查等操作使得用户容易产生抵触情绪,以至于在操作过程中出现纰漏的技术问题。
为了解决上述技术问题,本申请提供以下技术方案:
本申请提供一种基于语音的编程方法,包括:
获取预设的检查标准,所述检查标准包括编程逻辑标准、编程注释标准、编程格式标准以及编程自定义标准;
根据所述预设的检查标准对当前编程内容进行检查,得到检查结果;
根据所述检查结果,确定并发出语音提示播报;
接收用户基于所述语音提示播报输入的语音指令;
根据所述语音指令,确定并执行所述语音指令对应的编程操作。
相应的,本申请还提供一种基于语音的编程装置,包括:
标准获取模块,用于获取预设的检查标准,所述检查标准包括编程逻辑标准、编程注释标准、编程格式标准以及编程自定义标准;
检查模块,用于根据所述预设的检查标准对当前编程内容进行检查,得到检查结果;
语音播报模块,用于根据所述检查结果,确定并发出语音提示播报;
指令接收模块,用于接收用户基于所述语音提示播报输入的语音指令;
操作执行模块,用于根据所述语音指令,确定并执行所述语音指令对应的编程操作。
同时,本申请提供一种电子设备,其包括处理器和存储器,存储器用于存储计算机程序,处理器用于运行所述存储器里的计算机程序,以执行上述基于语音的编程方法中的步骤。
此外,本申请还提供一种计算机可读存储介质,计算机可读存储介质存储有多条指令,指令适于处理器进行加载,以执行上述基于语音的编程方法中的步骤。
有益效果:本申请提供一种基于语音的编程方法、装置、电子设备及计算机可读存储介质。具体地,该方法在获取预设的检查标准后,根据预设的检查标准对当前编程内容进行检查,得到检查结果,其中,预设的检查标准包括编程逻辑标准、编程注释标准、编程格式标准以及编程自定义标准,接着根据该检查结果确定并发出语音提示播报,然后接受用户基于该语音提示播报输入的语音指令,最后根据该语音指令确定并执行该语音指令对应的编程操作。该方法通过预设的检查标准对当前编程内容进行自动检查,并根据检查结果发出语音提示播报,以提示用户需要对检查结果进行对应的操作,与人工进行检查相比,节省了人力,减少了人工检查中容易出现遗漏的问题,可以使得用户在编码过程中尽可能完善自己的代码标准,避免后期返工,此外,用户通过输入语音指令进行相应的编程操作,这种使用语音交互的方式进行编程有效地缓解了用户编程时的枯燥和无聊,增加了用户编程的乐趣,缓解了用户在实际操作过程中容易产生纰漏的问题。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其它有益效果显而易见。
图1是本申请实施例提供的基于语音的编程系统的系统架构图。
图2是本申请实施例提供的基于语音的编程方法的流程示意图。
图3是本申请实施例提供的编程页面的一种界面示意图。
图4是本申请实施例提供的编程页面的另一种界面示意图。
图5是本申请实施例提供的基于语音的编程装置的结构示意图。
图6是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含;本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行。
在本申请中,预设的检查标准指的是用于检查代码是否符合规范的标准,该标准可以是用户根据编程习惯自定义的,也可以是公司根据要求定义的,还可以是一些代码通用规范。具体地,预设的检查标准包括编程逻辑标准、编程注释标准、编程格式标准以及编程自定义标准。其中,编程逻辑标准为代码通用规范,例如代码中不允许出现逻辑错误(如空指针);编程注释标准例如每行代码都需要进行注释,或者除业界通用代码无需注释外,其余都需要进行注释;编程格式标准例如描述一个功能的代码不能超过默认行数;编程自定义标准可以是用户自定义的,也可以是公司自定义的,例如公司设置的禁止使用硬编码形式,等等。
在本申请中,检查结果指的是当前编程内容是否符合预设的检查标准。若符合,则检查结果为“当前编程内容符合预设的检查标准”;若不符合,则检查结果为“当前编程内容因为出现了XX情形,不符合预设的检查标准中的XX标准”。
在本申请中,语音提示播报指的是通过智慧语音基于检查结果发出的语音提示。具体地,该语音提示播报发出的语音提示可以是“当前编程内容不符合编程逻辑标准,出现了空指针”,还可以是“当前编程内容不符合编程注释标准,XX行未进行注释”等。
在本申请中,语音指令是由用户通过编程设备中的麦克风发出的包含编程关键词(包括注释、修正以及优化等)的指令。例如,语音指令可以是“对XX行进行注释”,还可以是“优化XX行至XX行的内容”,还可以是“修正XX行出现的空指针”等。
本申请提供一种基于语音的编程方法、装置、电子设备及计算机可读存储介质。
请参阅图1,图1是本申请提供的基于语音的编程系统的系统架构示意图,如图1所示,该基于语音的编程系统至少包括编程设备101、存储服务器102以及处理服务器103,其中:
编程设备101、存储服务器102以及处理服务器103之间设有通信链路,以实现信息交互。通信链路的类型可以包括有线、无线通信链路或者光纤电缆等,本申请在此不做限制。
编程设备101可以是装备有编程软件的计算机、笔记本电脑以及平板电脑等设备,其中,编程软件可是例如Visual C++、Visual Studio、Eclipse、MyEclipse、JDK等。
存储服务器102和处理服务器103可以是独立的服务器,也可以是服务器组成的服务器网络或者服务器集群;例如,本申请中所描述的服务器,其包括但不限于计算机、网络主机、数据库服务器以及应用服务器或者多个服务器构成的云服务器,其中云服务器由基于云计算(Cloud Computing)的大量计算机或者网络服务器构成。其中,存储服务器102用于存储诸如预设的检查标准、语音播报的声音类型、优化模板库以及编程模板库等数据;处理服务器103主要用于进行当前编程内容的检查,处理用户输入的语音指令等操作。
本申请提出了一种基于语音的编程系统,该基于语音的编程系统包括编程设备101、存储服务器102以及处理服务器103。具体地,处理服务器103从存储服务器102中获取预设的检查标准,该预设的检查标准包括编程逻辑标准、编程注释标准、编程格式标准以及编程自定义标准,然后处理服务器103根据该预设的检查标准对当前编程内容进行检查,得到检查结果,并将该检查结果反馈至编程设备101,由编程设备101通过扬声器发出语音提示播报,接着,用户基于该语音提示播报通过编程设备101的麦克风输入语音指令,编程设备101将该语音指令传送至处理服务器103,处理服务器103根据该语音指令确定对应的编程操作,并控制编程设备101执行相应的编程操作。
在上述编程过程中,处理服务器通过预设的检查标准对当前编程内容进行自动检查,并根据检查结果发出语音提示播报,以提示用户需要对检查结果进行对应的操作,与人工进行检查相比,节省了人力,减少了人工检查中容易出现遗漏的问题,可以使得用户在编码过程中尽可能完善自己的代码标准,避免后期返工,此外,用户通过编程设备的麦克风输入语音指令,从而进行相应的编程操作,这种使用语音交互的方式进行编程有效地缓解了用户编程时的枯燥和无聊,增加了用户编程的乐趣,缓解了用户在实际操作过程中容易产生纰漏的问题。
需要说明的是,图1所示的系统架构示意图仅仅是一个示例,该系统架构可以用于银行系统的开发中,本申请实施例描述的服务器、终端、设备以及场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
综合上述基于语音的编程系统的系统架构,下面将对本申请中基于语音的编程方法进行详细的介绍,请参阅图2所示,图2是本申请实施例提供的基于语音的编程方法的流程示意图。该方法至少包括以下步骤:
S201:获取预设的检查标准,预设的检查标准包括编程逻辑标准、编程注释标准、编程格式标准以及编程自定义标准。
由于当前用户在编写代码的过程中主要依靠人工对代码进行检查等操作,难免会出现遗漏,同时,重复的检查等操作也会令用户感到枯燥和无聊,甚至对检查等操作产生抵触,以至于在实际操作中可能出现纰漏。因此,本申请提出了一种基于语音的可以自动进行代码检查的编程方法,以避免人工检查中容易出现遗漏的问题,同时,缓解用户在编程中因为要人工进行检查等操作而产生的负面情绪,提高用户编程的乐趣。
具体地,通过在存储服务器中存储预设的检查标准,从而实现编程设备通过调用预设的检查标准进行自动检查当前编程内容的目的。其中,预设的检查标准指的是用于检查代码是否符合规范的标准,该标准可以是用户根据编程习惯自定义的,也可以是公司根据要求定义的,还可以是一些代码通用规范。具体地,预设的检查标准包括编程逻辑标准、编程注释标准、编程格式标准以及编程自定义标准。其中,编程逻辑标准为代码通用规范,例如代码中不允许出现逻辑错误(如空指针);编程注释标准例如每行代码都需要进行注释,或者除业界通用代码无需注释外,其余都需要进行注释等人为设定的标准;编程格式标准例如描述一个功能的代码不能超过默认行数等标准;编程自定义标准可以是用户自定义的,也可以是公司自定义的,例如公司设置的禁止使用硬编码形式,等等。
S202:根据预设的检查标准对当前编程内容进行检查,得到检查结果。
如上述内容,预设的检查标准被存储于存储服务器中,当编程设备正在进行编程时,编程设备从存储服务器中调用预设的检查标准,从而对当前编程内容进行检查,以判断当前编程内容是否符合预设的检查标准,从而得到相应的检查结果。
其中,检查结果指的是当前编程内容是否符合预设的检查标准。若符合,则检查结果为“当前编程内容符合预设的检查标准”;若不符合,则检查结果为“当前编程内容因为出现了XX情形,不符合预设的检查标准中的XX标准”。例如,检查结果可以是“当前编程内容因为出现了空指针,不符合预设的检查标准中的编程逻辑标准”,还可以是“当前编程内容存在XX行未进行注释,不符合预设的检查标准中的编程注释标准”等等。
S203:根据所述检查结果,确定并发出语音提示播报。
在一种实施例中,用户可以自行选择是否开启语音提示播报,若要开启语音提示播报,其具体步骤包括:接收功能触发指令;基于功能触发指令,开启语音播报功能。其中,功能触发指令指的是可以触发语音提示播报的功能指令,该指令可以是通过语音发出的,也可以是通过在编程软件中编写相应的触发代码发出的,还可以是通过在编程设备中点击触发控件发出的,本申请不对该功能触发指令的触发类型进行限制。
具体地,在用户通过编程设备发出功能触发指令后,编程设备将该功能触发指令传至处理服务器进行处理,处理服务器对该功能触发指令进行解析,从而下发开启语音播报功能的指令至编程设备,以使得该编程设备开启语音播报功能。除此之外,用户还可以个性化定制语音播报的方案,例如定制语音播报的声音、语音播报的语速、语音播报的语种等等。通过个性化定制语音播报的方案,进一步提高用户编程的趣味性。
在用户开启了语音提示播报后,编程设备可以根据检查结果,发出相应的语音提示播报,以提示用户当前编程内容是否符合预设的检查标准。其中,语音提示播报指的是通过智慧语音基于检查结果发出的语音提示。例如,在检查结果表征当前编程内容出现了空指针,不符合编程逻辑标准时,该语音提示可以是“当前编程内容因为出现了空指针,不符合预设的检查标准中的编程逻辑标准,请进行修正”,或者在检查结果表征当前编程内容出现了公司规定的禁止使用的硬编码形式时,该语音提示可以是“当前编程内容因为出现了硬编码,不符合预设的检查标准中的编程自定义标准,请进行修正”;又例如,在检查结果表征当前编程内容中的XX行没有进行注释,不符合编程注释标准时,该语音提示可以是“当前编程内容存在XX行未进行注释,不符合预设的检查标准中的编程注释标准,请添加注释”;再例如,在检查结果表征当前编程内容编辑过长,超过了默认的80行,不符合编程格式标准时,该语音提示可以是“当前编程内容编辑过长,不符合预设的检查标准中的编程格式标准,请进行优化”。
S204:接收用户基于语音提示播报输入的语音指令。
用户在接收到编程设备的扬声器发出的语音提示播报后,意识到当前编程内容不符合预设的检查标准,因此,需要对当前编程内容进行调整(包括添加注释、修正以及优化等)。具体地,用户可以通过智慧语音与编程设备进行实时的语音交互,从而为用户提供一种新颖的方式使得用户可以缓解编程时的枯燥和无聊,用户通过语音发送指令的形式,对当前编程内容进行调整,从而解放双手。其中,语音指令是由用户通过编程设备中的麦克风发出的包含编程关键词(包括注释、修正以及优化等)的指令。例如,语音指令可以是“对XX行进行注释”,还可以是“优化XX行至XX行的内容”,还可以是“修正XX行出现的空指针”、“修正XX行出现的硬编码”等。
S205:根据语音指令,确定并执行语音指令对应的编程操作。
在一种实施例中,处理服务器可以对编程设备传送的语音指令进行解析,从而确定对应的编程操作,并控制编程设备执行该编程操作,其具体步骤包括:基于训练后的语义模型对语音指令进行解析,得到编程关键词;根据编程关键词,确定并执行语音指令对应的编程操作。其中,训练后的语义模型是基于编程关键词进行训练得到的,该模型可以较为准确的提取语音指令中的编程关键词。
具体地,处理服务器通过训练后的语义模型对语音指令进行解析,从而提取到编程关键词,处理服务器根据系统中存储的映射表,确定该编程关键词对应的编程操作,并将该编程操作反馈至编程设备,以使得编程设备执行对应的编程操作。例如,语音指令中提取出的编程关键词是注释,那么对应的编程操作即为注释操作;语音指令中提取出的编程关键词是优化,那么对应的编程操作即为优化操作;语音指令中提取出的编程关键词是修正,那么对应的编程操作即为修正操作。
在一种实施例中,编程关键词包括注释,对应的编程操作包括注释操作,在编程设备收到处理服务器反馈的编程操作后,编程设备会执行相应的编程操作,其具体步骤包括:接收光标触发操作,并根据光标触发操作确定光标位置;获取用户输入的语音内容;根据语音内容,确定注释语音文本;将注释语音文本填充至光标位置处进行显示。其中,光标触发操作是由用户通过编程设备发出的,例如通过鼠标,又例如通过触控区域等等;光标位置指的是光标在当前编程内容中屏幕上显示的位置。
如图3所示,图3为本申请实施例提供的编程页面的一种界面示意图。图3中示出了若干行代码,可以看到的是,第四行代码未进行注释,根据前述内容的描述,处理服务器在对图3中的当前编程内容进行检查的过程中,语音提示播报会播报如下内容“当前编程内容存在第四行未进行注释,不符合预设的检查标准中的编程注释标准,请添加注释”,用户在接收到该语音提示播报后,可以通过智慧语音口述代码注释,当用户想要添加代码注释时,如图3所示,可以定位光标的位置在第四行的代码之后,然后口述注释内容,对应于编程设备,即编程设备接收到用户的光标触发操作后,确定该光标的位置,同时通过编程设备中的麦克风获取到用户输入的语音内容,并传至处理服务器对该语音内容进行处理,得到注释语音文本,最后将该注释语音文本填充至光标位置处进行显示。整个过程用户几乎可以放下鼠标,放松一下,缓解了用户编程过程中的疲惫。
其中,编程设备将用户输入的语音内容传至处理服务器,通过处理服务器将语音转换为对应的注释语音文本,该处理过程除了单纯的语音文本转换外,还涉及转换后的校正,其具体步骤包括:获取预设的注释文本标准和当前编程内容的上下文;基于语音识别技术将所述语音内容转换至文本,得到初态文本;解析所述当前编程内容的上下文,得到上下文关联信息;根据所述预设的注释文本标准和所述上下文关联信息对所述初态文本进行校正,得到注释语音文本。其中,预设的注释文本标准可以是根据大数据采集的代码注释总结得到的注释文本标准,也可以是人为设定的注释文本标准;此外,当前编程内容的上下文除了代码外,还包括注释内容。
具体地,处理服务器从存储服务器中获取预设的注释文本标准,同时,从编程设备中获取当前编程内容的上下文,并基于语音识别技术将编程设备发送的语音内容转换至文本,得到初态文本,并对获取的当前编程内容的上下文进行解析,从而得到当前编程内容的上下文关联信息(例如,上文是对一种计算标准的描述,后文是对计算结果的输出,那么可以推断当前编程内容是在描述一种计算过程),最后根据预设的注释文本标准(例如同一段编程内容中应该描述的是同一个事件)和解析得到的上下文关联信息对语音转换得到的初态文本进行校正,从而得到注释语音文本(例如,若初态文本内容描述的是机算,结合注释文本标准和上下文关联信息,可以得到初态文本在语音转换文本中出现了误差,误把“计算”转换成了“机算”,导致注释有误,因此将其校正为“计算”,从而得到注释语音文本)。
前述内容描述了编程操作中的注释操作,下文将对编程操作中的优化操作进行详细的解释。
在另一种实施例中,编程关键词包括优化,对应的编程操作包括优化操作,在编程设备收到处理服务器反馈的编程操作后,编程设备会执行相应的编程操作,其具体步骤包括:获取优化模板库和用户输入的语音内容;根据语音内容,从优化模板库中确定优化目标模板;根据优化目标模板对当前编程内容进行优化。其中,优化模板库存储于存储服务器中,该优化模板库包括由用户自定义设计的优化模板,还包括系统联网获取的公共网络上共享的优化模板等。
如图4所示,图4为本申请实施例提供的编程页面的另一种界面示意图。图4所示的代码的共有92行,超过了默认的80行,因此,处理服务器在对图4中的当前编程内容进行检查的过程中,语音提示播报会播报如下内容“当前编程内容编辑过长,不符合预设的检查标准中的编程格式标准,请进行优化”,用户在接收到该语音提示播报后,可以通过智慧语音调用相应的优化模板对当前编程内容进行优化,例如用户发出“调用行数优化模板对第1行至第92行的内容进行优化”,此时,编程设备会将用户输入的该语音内容传至处理服务器,处理服务器根据该语音内容,从优化模板库中确定行数优化模板为优化目标模板,并将该行数优化模板返回至编程设备,以使得该编程设备根据该行数优化模板对当前编程内容进行优化。
除此之外,图4所示的编程页面的界面示意图中,还存在不符合编程逻辑标准的问题,处理服务器在对图4中的当前编程内容进行检查的过程中,语音提示播报还会播报如下内容“当前编程内容因为第7行和第10行出现了空指针,不符合预设的检查标准中的编程逻辑标准,请进行修正”,因此,用户在接收该语音提示播报后,同样可以通过语音指令调用对应的修正模板对当前编程内容中出现的空指针进行修正,也可以直接通过语音描述如何修正当前编程内容进行修正。
在一种实施例中,还可以根据用户输入的语音调用对应的编程模板进行代码的编写,其具体步骤包括:接收光标触发操作,并根据光标触发操作确定光标位置;获取候选模板集和用户输入的语音内容;根据语音内容,从候选模板集中确定目标编程模板;根据目标编程模板,在光标位置处生成并展示目标代码。其中,光标触发操作是由用户通过编程设备发出的,例如通过鼠标,又例如通过触控区域等等;光标位置指的是光标在当前编程内容中屏幕上显示的位置;候选模板集为系统根据当前编程内容智能从编程模板库中推荐的模板集,除此之外,候选模板集还可以是系统根据当前用户的用户信息个性化推荐的模板集(例如按照用户的工种,推荐相同工种的用户编写的编程模板,按照用户的教育背景,推荐相同教育背景的用户编写的编程模板)等;用户输入的语音内容可以是“启动XX模板中的XX方法”,也可以是“调用XX模板”。
具体地,当用户想直接复制一段代码或快速搭建一个服务,用户首先需要定位光标的位置,然后可以直接通过口述方式从候选模板集中调用对应的编程模板(例如,用户输入的语音内容为“调用时间处理模板”),接着处理服务器接收到该语音内容,对其进行语音识别,根据识别后的内容从候选模板集中确定目标编程模板为时间处理模板,最后将该时间处理模板返回至编程设备,以使得编程设备根据该时间处理模板生成目标代码,展示在光标位置,这种方式可以减少用户重复编写模板中已有的代码,提高用户的编程效率。
其中,候选模板集可以根据当前编程内容进行智能推荐,其具体步骤包括:获取编程模板库、模板推荐模型以及当前编程内容的上下文,编程模板库包括不同职位、不同工种以及不同教育背景的用户编写的编程模板;解析当前编程内容的上下文,得到上下文关联信息;根据模板推荐模型和上下文关联信息,从编程模板库中确定候选模板集。其中,用户可以将自己的知识库封装到智慧语音中,形成各种各样的编程模板,并存储到存储服务器中进行保存,此外,系统还可以通过联网在共享网络上下载相应的编程模板存储至存储服务器中,从而得到编程模板库;模板推荐模型是基于编程内容的上下文关联信息训练得到的,该模板推荐模型可以根据上下文关联信息智能推荐合适的模板作为候选模板集,例如,当前编程内容的上下文关联信息判断当前编程内容为绘制图形,则模板推荐模型会对上下文关联信息进行分析,并从编程模板库中匹配对应的图形绘制的编程模板组成候选模板集,以供调用。
在一种实施例中,存储服务器中存储的各类模板可以根据推荐系数进行推荐,其具体步骤包括:获取当前编程内容和预设的完整性判断条件;根据完整性判断条件对当前编程内容的完整性进行判断,得到完整性评分;根据完整性评分,确定模板类型的推荐系数,模板类型包括优化模板和编程模板。具体地,预设的完整性判断条件可以为用户设定的判断当前编程内容是否完整的条件,根据该完整性判断条件判断当前内容是否完整,得到完整性评分,如果完整性评分高,则说明当前编程内容完整性较高,对应设定优化模板的推荐系数高,编程模板的推荐系数低(即优先推荐优化模板);如果完整性评分低,则说明当前编程内容完整性较低,还需要继续编写,以实现代码所要描述的功能,对应设定优化模板的推荐系数低,编程模板的推荐系数高(即优先推荐编程模板)。
本申请提供的基于语音的编程方法,将智慧语音和开发工具(例如编程软件)相结合,利用语音交互模式在整个开发过程中和用户进行实时交互,从而了解用户的编码诉求,并通过预设的检查标准积极检查校验当前编程内容是否符合规范,节省了人力,减少了人工检查中容易出现遗漏的问题,使得用户在编码过程中尽可能完善自己的代码标准,避免后期返工,同时,还增加了用户编程的乐趣,缓解了用户在实际操作过程中容易产生纰漏的问题。
基于上述实施例的内容,本申请实施例提供了一种基于语音的编程装置。该基于语音的编程装置用于执行上述方法实施例中提供的基于语音的编程方法,具体地,请参阅图5,该装置包括:
标准获取模块501,用于获取预设的检查标准,所述检查标准包括编程逻辑标准、编程注释标准、编程格式标准以及编程自定义标准;
检查模块502,用于根据所述预设的检查标准对当前编程内容进行检查,得到检查结果;
语音播报模块503,用于根据所述检查结果,确定并发出语音提示播报;
指令接收模块504,用于接收用户基于所述语音提示播报输入的语音指令;
操作执行模块505,用于根据所述语音指令,确定并执行所述语音指令对应的编程操作。
在一种实施例中,该基于语音的编程装置还包括:
触发指令接收模块,用于接收功能触发指令;
功能开启模块,用于基于所述功能触发指令,开启语音播报功能。
在一种实施例中,操作执行模块505包括:
指令解析模块,用于基于训练后的语义模型对所述语音指令进行解析,得到编程关键词;
操作确定模块,用于根据所述编程关键词,确定并执行所述语音指令对应的编程操作。
在一种实施例中,编程关键词包括注释,编程操作包括注释操作,操作确定模块还包括:
第一位置确定模块,用于接收光标触发操作,并根据所述光标触发操作确定光标位置;
语音获取模块,用于获取用户输入的语音内容;
第一文本确定模块,用于根据所述语音内容,确定注释语音文本;
第一文本显示模块,用于将所述注释语音文本填充至所述光标位置处进行显示。
在一种实施例中,第一文本确定模块包括:
第一获取模块,用于获取预设的注释文本标准和当前编程内容的上下文;
文本转换模块,用于基于语音识别技术将所述语音内容转换至文本,得到初态文本;
文本解析模块,用于解析所述当前编程内容的上下文,得到上下文关联信息;
文本校正模块,用于根据所述预设的注释文本标准和所述上下文关联信息对所述初态文本进行校正,得到注释语音文本。
在一种实施例中,编程关键词包括优化,编程操作包括优化操作,操作确定模块还包括:
第二获取模块,用于获取优化模板库和用户输入的语音内容;
第一模板确定模块,用于根据所述语音内容,从所述优化模板库中确定优化目标模板;
内容优化模块,用于根据所述优化目标模板对当前编程内容进行优化。
在一种实施例中,该基于语音的编程装置还包括:
第二位置确定模块,用于接收光标触发操作,并根据所述光标触发操作确定光标位置;
第三获取模块,用于获取候选模板集和用户输入的语音内容;
第二模块确定模块,用于根据所述语音内容,从所述候选模板集中确定目标编程模板;
代码展示模块,用于根据所述目标编程模板,在所述光标位置处生成并展示目标代码。
在一种实施例中,第三获取模块包括:
模板库获取模块,用于获取编程模板库、模板推荐模型以及当前编程内容的上下文,所述编程模板库包括不同职位、不同工种以及不同教育背景的用户编写的编程模板;
信息解析模块,用于解析所述当前编程内容的上下文,得到上下文关联信息;
模板集确定模块,用于根据所述模板推荐模型和所述上下文关联信息,从所述编程模板库中确定候选模板集。
在一种实施例中,该基于语音的编程装置还包括:
第四获取模块,用于获取当前编程内容和预设的完整性判断条件;
完整性判断模块,用于根据所述完整性判断条件对所述当前编程内容的完整性进行判断,得到完整性评分;
系数确定模块,用于根据所述完整性评分,确定模板类型的推荐系数,所述模板类型包括优化模板和编程模板。
本申请实施例的基于语音的编程装置,可以用于执行前述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
区别于当前的技术,本申请提供的基于语音的编程装置设置了检查模块、语音播报模块以及指令接收模块,通过检查模块根据预设的检查标准对当前编程内容进行自动检查,并通过语音播报模块根据检查结果发出语音提示播报,以提示用户需要对检查结果进行对应的操作,与人工进行检查相比,节省了人力,减少了人工检查中容易出现遗漏的问题,可以使得用户在编码过程中尽可能完善自己的代码标准,避免后期返工,此外,用户通过指令接收模块输入语音指令进行相应的编程操作,这种使用语音交互的方式进行编程有效地缓解了用户编程时的枯燥和无聊,增加了用户编程的乐趣,缓解了用户在实际操作过程中容易产生纰漏的问题。
相应的,本申请实施例还提供一种电子设备,如图6所示,该电子设备可以包括有一个或者一个以上处理核心的处理器601、无线(WiFi,Wireless Fidelity)模块602、有一个或一个以上计算机可读存储介质的存储器603、音频电路604、显示单元605、输入单元606、传感器607、电源608、以及射频(RF,Radio Frequency)电路609等部件。本领域技术人员可以理解,图6中示出的电子设备的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器601是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器603内的软件程序和/或模块,以及调用存储在存储器603内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。在一种实施例中,处理器601可包括一个或多个处理核心;优选的,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。
WiFi属于短距离无线传输技术,电子设备通过无线模块602可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图6示出了无线模块602,但是可以理解的是,其并不属于终端的必需构成,完全可以根据需要在不改变发明的本质的范围内而省略。
存储器603可用于存储软件程序以及模块,处理器601通过运行存储在存储器603的计算机程序以及模块,从而执行各种功能应用以及数据处理。存储器603可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器603可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器603还可以包括存储器控制器,以提供处理器601和输入单元606对存储器603的访问。
音频电路604包括扬声器,扬声器可提供用户与电子设备之间的音频接口。音频电路604可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,扬声器将收集的声音信号转换为电信号,由音频电路604接收后转换为音频数据,再将音频数据输出处理器601处理后,经射频电路609发送给比如另一电子设备,或者将音频数据输出至存储器603以便进一步处理。音频电路604还可能包括耳塞插孔,以提供外设耳机与电子设备的通信。
显示单元605可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元605可包括显示面板,在一种实施例中,可以采用液晶显示器(LCD,Liquid CrystalDisplay)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器601以确定触摸事件的类型,随后处理器601根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图6中,触敏表面与显示面板是作为两个独立的部件来实现输入和输出功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
输入单元606可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元606可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。在一种实施例中,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器601,并能接收处理器601发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元606还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
电子设备还可包括至少一种传感器607,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及距离传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度(接近传感器可在终端移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等);至于电子设备还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
电子设备还包括给各个部件供电的电源608(比如电池),优选的,电源可以通过电源管理系统与处理器601逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源608还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
射频电路609可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器601处理;另外,将涉及上行的数据发送给基站。通常,射频电路609包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,Subscriber Identity Module)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,射频电路609还可以通过无线通信与网络和其他设备通信。无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,Global System of Mobile communication)、通用分组无线服务(GPRS,GeneralPacket Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband Code Division Multiple Access)、长期演进(LTE,Long TermEvolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
尽管未示出,电子设备还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,电子设备中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器603中,并由处理器601来运行存储在存储器603中的应用程序,从而实现以下功能:
获取预设的检查标准,所述预设的检查标准包括编程逻辑标准、编程注释标准、编程格式标准以及编程自定义标准;
根据所述预设的检查标准对当前编程内容进行检查,得到检查结果;
根据所述检查结果,确定并发出语音提示播报;
接收用户基于所述语音提示播报输入的语音指令;
根据所述语音指令,确定并执行所述语音指令对应的编程操作。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以实现上述基于语音的编程方法的功能。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
以上对本申请实施例所提供的基于语音的编程方法、装置、电子设备以及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (12)

1.一种基于语音的编程方法,其特征在于,包括:
获取预设的检查标准,所述预设的检查标准包括编程逻辑标准、编程注释标准、编程格式标准以及编程自定义标准;
根据所述预设的检查标准对当前编程内容进行检查,得到检查结果;
根据所述检查结果,确定并发出语音提示播报;
接收用户基于所述语音提示播报输入的语音指令;
根据所述语音指令,确定并执行所述语音指令对应的编程操作。
2.根据权利要求1所述的基于语音的编程方法,其特征在于,在所述根据所述检查结果,确定并发出语音提示播报的步骤之前,还包括:
接收功能触发指令;
基于所述功能触发指令,开启语音播报功能。
3.根据权利要求1所述的基于语音的编程方法,其特征在于,所述根据所述语音指令,确定并执行所述语音指令对应的编程操作的步骤,包括:
基于训练后的语义模型对所述语音指令进行解析,得到编程关键词;
根据所述编程关键词,确定并执行所述语音指令对应的编程操作。
4.根据权利要求3所述的基于语音的编程方法,其特征在于,所述编程关键词包括注释,所述编程操作包括注释操作,在所述根据所述编程关键词,确定并执行所述语音指令对应的编程操作的步骤之后,还包括:
接收光标触发操作,并根据所述光标触发操作确定光标位置;
获取用户输入的语音内容;
根据所述语音内容,确定注释语音文本;
将所述注释语音文本填充至所述光标位置处进行显示。
5.根据权利要求4所述的基于语音的编程方法,其特征在于,所述根据所述语音内容,确定注释语音文本的步骤,包括:
获取预设的注释文本标准和当前编程内容的上下文;
基于语音识别技术将所述语音内容转换至文本,得到初态文本;
解析所述当前编程内容的上下文,得到上下文关联信息;
根据所述预设的注释文本标准和所述上下文关联信息对所述初态文本进行校正,得到注释语音文本。
6.根据权利要求3所述的基于语音的编程方法,其特征在于,所述编程关键词包括优化,所述编程操作包括优化操作,在所述根据所述编程关键词,确定并执行所述语音指令对应的编程操作的步骤之后,还包括:
获取优化模板库和用户输入的语音内容;
根据所述语音内容,从所述优化模板库中确定优化目标模板;
根据所述优化目标模板对当前编程内容进行优化。
7.根据权利要求1所述的基于语音的编程方法,其特征在于,还包括:
接收光标触发操作,并根据所述光标触发操作确定光标位置;
获取候选模板集和用户输入的语音内容;
根据所述语音内容,从所述候选模板集中确定目标编程模板;
根据所述目标编程模板,在所述光标位置处生成并展示目标代码。
8.根据权利要求7所述的基于语音的编程方法,其特征在于,所述获取候选模板集和用户输入的语音内容的步骤,包括:
获取编程模板库、模板推荐模型以及当前编程内容的上下文,所述编程模板库包括不同职位、不同工种以及不同教育背景的用户编写的编程模板;
解析所述当前编程内容的上下文,得到上下文关联信息;
根据所述模板推荐模型和所述上下文关联信息,从所述编程模板库中确定候选模板集。
9.根据权利要求1所述的基于语音的编程方法,其特征在于,还包括:
获取当前编程内容和预设的完整性判断条件;
根据所述完整性判断条件对所述当前编程内容的完整性进行判断,得到完整性评分;
根据所述完整性评分,确定模板类型的推荐系数,所述模板类型包括优化模板和编程模板。
10.一种基于语音的编程装置,其特征在于,包括:
标准获取模块,用于获取预设的检查标准,所述检查标准包括编程逻辑标准、编程注释标准、编程格式标准以及编程自定义标准;
检查模块,用于根据所述预设的检查标准对当前编程内容进行检查,得到检查结果;
语音播报模块,用于根据所述检查结果,确定并发出语音提示播报;
指令接收模块,用于接收用户基于所述语音提示播报输入的语音指令;
操作执行模块,用于根据所述语音指令,确定并执行所述语音指令对应的编程操作。
11.一种电子设备,其特征在于,包括处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于运行所述存储器里的计算机程序,以执行权利要求1至9任一项所述的基于语音的编程方法中的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至9任一项所述的基于语音的编程方法中的步骤。
CN202210731838.2A 2022-06-25 2022-06-25 基于语音的编程方法、装置、电子设备及存储介质 Pending CN115145547A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210731838.2A CN115145547A (zh) 2022-06-25 2022-06-25 基于语音的编程方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210731838.2A CN115145547A (zh) 2022-06-25 2022-06-25 基于语音的编程方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN115145547A true CN115145547A (zh) 2022-10-04

Family

ID=83408410

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210731838.2A Pending CN115145547A (zh) 2022-06-25 2022-06-25 基于语音的编程方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115145547A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115794065A (zh) * 2022-11-01 2023-03-14 中犇科技有限公司 一种基于ai语音交互的可视化智能编程方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115794065A (zh) * 2022-11-01 2023-03-14 中犇科技有限公司 一种基于ai语音交互的可视化智能编程方法
CN115794065B (zh) * 2022-11-01 2023-11-03 中犇科技有限公司 一种基于ai语音交互的可视化智能编程方法

Similar Documents

Publication Publication Date Title
US20210065716A1 (en) Voice processing method and electronic device supporting the same
CN109947650B (zh) 脚本步骤处理方法、装置和系统
US9128930B2 (en) Method, device and system for providing language service
WO2021136159A1 (zh) 截屏方法及电子设备
US11658932B2 (en) Message sending method and terminal device
CN111061383B (zh) 文字检测方法及电子设备
CN107919138B (zh) 一种语音中的情绪处理方法及移动终端
US11151995B2 (en) Electronic device for mapping an invoke word to a sequence of inputs for generating a personalized command
CN104281568B (zh) 一种释义显示方法和装置
WO2015062312A1 (en) Method, device and system for providing language service
KR20200106703A (ko) 사용자 선택 기반의 정보를 제공하는 방법 및 장치
CN110830368A (zh) 即时通讯消息发送方法及电子设备
CN106486119B (zh) 一种识别语音信息的方法和装置
US10976997B2 (en) Electronic device outputting hints in an offline state for providing service according to user context
CN110837734A (zh) 文本信息处理方法、移动终端
CN115145547A (zh) 基于语音的编程方法、装置、电子设备及存储介质
KR20210036527A (ko) 사용자 발화를 처리하는 전자 장치 및 그 작동 방법
CN108520760B (zh) 一种语音信号处理方法及终端
CN105095161B (zh) 一种显示富文本信息的方法及装置
CN109274814B (zh) 一种消息提示方法、装置及终端设备
CN111897916A (zh) 语音指令识别方法、装置、终端设备及存储介质
CN107835310B (zh) 一种移动终端设置方法及移动终端
CN115116434A (zh) 应用实现方法、装置、存储介质及电子设备
CN109347721B (zh) 一种信息发送方法及终端设备
CN108093124B (zh) 一种音频定位方法、装置及移动终端

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