CN109144496A - 测评程序的生成方法和生成装置 - Google Patents

测评程序的生成方法和生成装置 Download PDF

Info

Publication number
CN109144496A
CN109144496A CN201810965165.0A CN201810965165A CN109144496A CN 109144496 A CN109144496 A CN 109144496A CN 201810965165 A CN201810965165 A CN 201810965165A CN 109144496 A CN109144496 A CN 109144496A
Authority
CN
China
Prior art keywords
program
assessment
server
statement
text information
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
CN201810965165.0A
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.)
Guangzhou Huitong Programming Education Technology Co Ltd
Original Assignee
Guangzhou Huitong Programming Education 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 Guangzhou Huitong Programming Education Technology Co Ltd filed Critical Guangzhou Huitong Programming Education Technology Co Ltd
Priority to CN201810965165.0A priority Critical patent/CN109144496A/zh
Publication of CN109144496A publication Critical patent/CN109144496A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • 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/26Speech to text systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及一种测评程序的生成方法和生成装置,该方法包括步骤:获取用户录入的语音信息并转化为相应的文本信息,将文本信息发送至服务器,使服务器从程序语句库中查询与文本信息相匹配的程序语句,接收服务器返回的程序语句,根据程序语句生成测评程序,用于发送至服务器进行测评,克服了传统技术中用户需要输入大量的代码文本才能得到相应测评程序的问题,通过用户与客户端进行语音交互结合服务器在程序语句库查询相应程序语句的形式实现测评程序的录入,提高了测评程序的生成效率,有利于提高测评程序的测评效率,而且通过语音交互的形式能够有效提高编程教学过程中的沉浸感,提高程序编写的质量。还提供一种计算机设备和计算机可读存储介质。

Description

测评程序的生成方法和生成装置
技术领域
本发明涉及编程技术领域,特别是涉及一种测评程序的生成方法、测评程序的生成装置、计算机设备和计算机可读存储介质。
背景技术
随着科技的进步和信息处理技术的发展,在日常生活中可以通过编写计算机程序让计算机处理相关的数据业务,以提高信息处理效率。在计算机程序编写的过程当中,为保证程序能够顺利开发,需要对编写的计算机程序进行测评,其中,Online Judge系统(简称OJ系统,即在线测评系统)是一个在线的判题系统,用户向OJ系统提交通过C、C++或java等代码,OJ系统在后台验证代码的准确性,可见对编写的计算机程序进行测评是程序编写过程中的关键环节。
在传统技术中,用户通常都是直接向OJ系统输入代码文本,OJ系统后台在沙箱中对代码进行编译和运行,运行读取输入数据,比较输出数据,进而评测程序是否正确。然而,代码文本的数据量通常比较大,这种技术需要用户输入大量的代码文本才能生成相应的测评程序从而让OJ系统对该测评程序进行测评,导致测评程序的生成效率低,还降低了程序的测评效率。
发明内容
基于此,有必要针对传统技术测评程序的生成效率低的技术问题,提供一种测评程序的生成方法、测评程序的生成装置、计算机设备和计算机可读存储介质。
一种测评程序的生成方法,包括步骤:
获取用户录入的语音信息;将所述语音信息转化为相应的文本信息;
将所述文本信息发送至服务器,用于触发所述服务器从程序语句库中查询与所述文本信息相匹配的程序语句;
接收所述服务器返回的所述程序语句;
根据所述程序语句生成测评程序,用于发送至所述服务器进行测评。
在一个实施例中,所述接收所述服务器返回的所述程序语句的步骤包括:
接收所述服务器以多个选项的形式反馈的多个程序语句;其中,各个所述选项分别对应各个所述程序语句;所述多个程序语句为所述服务器从所述文本信息中提取关键字,并根据该关键字在所述程序语句库中进行检索得到的与所述关键字相对应的多个程序语句。
在一个实施例中,所述根据所述程序语句生成测评程序的步骤包括:
确定所述用户在所述多个选项中选择的选项,将与该选项相匹配的程序语句设为目标语句;将所述目标语句转化为相应的测评程序。
在一个实施例中,还包括步骤:
将所述测评程序发送至所述服务器,用于触发所述服务器将所述测评程序提交至测评服务器进行程序测评。
在一个实施例中,还提供了一种测评程序的生成方法,包括步骤:
接收客户端发送的文本信息;其中,所述文本信息为所述客户端将用户录入的语音信息进行转化得到的文本信息;
根据所述文本信息从程序语句库中查询与该文本信息相匹配的程序语句;
将所述程序语句发送至所述客户端,用于触发所述客户端根据所述程序语句生成测评程序。
在一个实施例中,所述根据所述文本信息从程序语句库中查询与该文本信息相匹配的程序语句的步骤包括:
从所述文本信息中提取关键字;根据所述关键字在所述程序语句库中进行检索,得到与所述关键字相对应的多个程序语句;
在一个实施例中,所述将所述程序语句发送至所述客户端,用于触发所述客户端根据所述程序语句生成测评程序的步骤包括:
将所述多个程序语句以多个选项的形式发送至所述客户端,用于触发所述客户端确定所述用户在所述多个选项中选择的选项,将与该选项相匹配的程序语句设为目标语句并转化为相应的测评程序;其中,各个所述选项分别对应各个所述程序语句。
在一个实施例中,还包括步骤:
接收所述客户端发送的所述测评程序;将所述测评程序提交至测评服务器进行程序测评。
在一个实施例中,提供了一种测评程序的生成装置,包括:
信息获取模块,用于获取用户录入的语音信息;将所述语音信息转化为相应的文本信息;
信息发送模块,用于将所述文本信息发送至服务器,用于触发所述服务器从程序语句库中查询与所述文本信息相匹配的程序语句;
语句接收模块,用于接收所述服务器返回的所述程序语句;
程序生成模块,用于根据所述程序语句生成测评程序,用于发送至所述服务器进行测评。
在一个实施例中,还提供一种测评程序的生成装置,包括:
信息接收模块,用于接收客户端发送的文本信息;其中,所述文本信息为所述客户端将用户录入的语音信息进行转化得到的文本信息;
语句查询模块,用于根据所述文本信息从程序语句库中查询与该文本信息相匹配的程序语句;
语句发送模块,用于将所述程序语句发送至所述客户端,用于触发所述客户端根据所述程序语句生成测评程序。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上任一项实施例所述的测评程序的生成方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项实施例所述的测评程序的生成方法的步骤。
上述测评程序的生成方法、装置、计算机设备和计算机可读存储介质,客户端获取用户录入的语音信息,将该语音信息转化为相应的文本信息,并将该文本信息发送给服务器,使得该服务器从程序语句库中查询与该文本信息相匹配的程序语句,然后服务器将该程序语句返回给客户端,客户端在接收到服务器返回的程序语句后,根据该程序语句生成相应的测评程序,使得该测评程序可以用于发送到服务器进行测评,克服了传统技术中用户需要输入大量的代码文本才能得到相应测评程序的问题,通过用户与客户端进行语音交互结合服务器在程序语句库查询相应程序语句的形式实现测评程序的录入,提高了测评程序的生成效率,还有利于提高测评程序的测评效率,特别是在编程教育的过程当中,通过语音录入测评程序的形式能够有效提高教学过程中的沉浸感,提高程序编写的质量。
附图说明
图1为一个实施例中测评程序的生成方法的应用环境图;
图2为一个实施例中测评程序的生成方法的流程示意图;
图3为另一个实施例中测评程序的生成方法的流程示意图;
图4为一个实施例中测评程序的生成装置的结构框图;
图5为又一个实施例中测评程序的生成方法的流程示意图;
图6为再一个实施例中测评程序的生成方法的流程示意图;
图7为另一个实施例中测评程序的生成装置的结构框图;
图8为一个实施例中测评程序的生成方法的时序图;
图9为一个实施例中计算机设备的内部结构图;
图10为另一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供的测评程序的生成方法,可以应用于如图1所示的应用环境中,图1为一个实施例中测评程序的生成方法的应用环境图,其中,终端100通过网络与服务器200进行通信,在用户将测评程序的程序代码通过客户端输入到终端100后,终端100可以获取客户端的该用户输入的程序代码并转化成相应的测评程序,并通过网络将该测评程序提交给服务器200进行程序测评。其中,终端100可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器200可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,提供了一种测评程序的生成方法,参考图2,图2为一个实施例中测评程序的生成方法的流程示意图,以该方法应用于图1中的终端100为例进行说明,该测评程序的生成方法可以包括以下步骤:
步骤S101,获取用户录入的语音信息;将语音信息转化为相应的文本信息。
本步骤中,终端100可以获取客户端的用户录入的语音信息,并将该语音信息转化为相对应的文本信息,即将语音转化为对应的文字;其中,该语音信息为用于描述需要进行测评的相关程序的语音信息,例如,当需要进行测评的相关程序是求和程序时,该用户录入的语音信息可以为“求和”。
语音信息可以是用户需要对程序语句进行测评时实时录入到终端100中的,也可以是用户预先录入相关语音后存储在终端100的语音文件中。具体来说,终端100可以通过本地配置的麦克风实时获取用户录入的语音信息,也可以从本地预存的语音文件中提取出用户预先录入的相关语音信息;在获取用户录入的语音信息后,终端100可以通过语音识别平台如百度开放平台或讯飞开放平台将携带该语音信息转化成相应的文本信息。
步骤S102,将文本信息发送至服务器,用于触发服务器从程序语句库中查询与文本信息相匹配的程序语句。
本步骤主要是终端100将文本信息发送给服务器200使得该服务器查询相应的程序语句。其中,服务器200配置有程序语句库,该程序语句库是指用于存储多个程序语句的数据库,该数据库可以基于在线测评系统(OJ,Online Judge)的语料库或数据库进行构建,存储的程序语句包括但不限于C、C++或java等多种编程语言的相关程序语句。
服务器200可以根据文本信息对程序语句库进行查询、检索等操作,当终端100发送文本信息到服务器200时,该文本信息可以触发服务器200从程序语句库中检索出与该文本信息相匹配的程序语句。例如,终端100向服务器200发送的文本信息为“求和”,则服务器200可以从程序语句库中检索出基于多种编程语言的求和语句。
步骤S103,接收服务器返回的程序语句。
服务器200可以在查询到与文本信息相匹配的程序语句后将该程序语句发送给终端100。
步骤S104,根据程序语句生成测评程序,用于发送至服务器进行测评。
本步骤中,终端100在接收到服务器200返回的程序语句后,可以将程序语句转化为相应的测评程序,以便提交至服务器200对该测评程序进行评测。其中,用户在录入描述需要进行测评的相关程序的语音信息时可以将测评程序进行分段录入,所以终端100接收的程序语句的数量可以是多个,本步骤可以将各程序语句进行组合,从而转换成相应的测评程序。
上述测评程序的生成方法,通过客户端获取用户录入的语音信息,将该语音信息转化为相应的文本信息,并将该文本信息发送给服务器,使得该服务器从程序语句库中查询与该文本信息相匹配的程序语句,然后服务器将该程序语句返回给客户端,客户端在接收到服务器返回的程序语句后,根据该程序语句生成相应的测评程序,使得该测评程序可以用于发送到服务器进行测评,克服了传统技术中用户需要输入大量的代码文本才能得到相应测评程序的问题,通过用户与客户端进行语音交互结合服务器在程序语句库查询相应程序语句的形式实现测评程序的录入,提高了测评程序的生成效率,还有利于提高测评程序的测评效率,特别是在编程教育的过程当中,通过语音录入测评程序的形式能够有效提高教学过程中的沉浸感,提高程序编写的质量。
在一个实施例中,接收服务器返回的程序语句的步骤可以包括:
接收服务器以多个选项的形式反馈的多个程序语句。
在本实施例中,终端100向服务器200发送文本信息后,服务器200可以从该文本信息中提取关键字,并根据该关键字在程序语句库中检索出与该关键字相匹配的程序语句。
其中,从文本信息中提取的关键字可以是描述需要进行测评的相关程序的主要特征的文字,例如文本信息为“对X进行求和”,则关键字可以对应为“X、求和”,检索出的程序语句可以是对X进行求和的相关程序语句。由于程序语句库中存储有包括C、C++或java等多种编程语言的相关程序语句,所以服务器200检索得到的程序语句可以包括分别与多种编程语言相对应的多个程序语句。服务器200在检索得到多个程序语句后,可以将程序语句以多个选项的形式反馈给终端100,各选项分别对应于各个程序语句,终端100可以将各选项及其对应的程序语句通过显示设备进行展示,也可以语音播放设备进行播放。
本实施例通过终端发送的文本信息触发服务器根据该文本信息的关键字从程序语句库中匹配出多个程序语句,由于将文本信息可能携带了与程序语句无关的背景噪声从而影响程序语句的匹配度,这种方式可以避免服务器在将整段文本信息进行程序语句匹配时导致匹配度低的问题,使得服务器从程序语句库中检索出将与关键字匹配的多个程序语句,提高文本信息与程序语句匹配程度,而且客户端接收服务器以多个选项的形式反馈的多个程序语句还让用户能够在多个选项中选取需要测评的程序语句,在保证匹配度的情况下还能够提高获取的程序语句的准确性,还使得获取测评程度的灵活度更高。
在一个实施例中,进一步的,根据程序语句生成测评程序的步骤可以包括:
确定用户在多个选项中选择的选项,将与该选项相匹配的程序语句设为目标语句;将目标语句转化为相应的测评程序。
本实施例中,终端100可以将服务器200返回的多个选项及其对应的程序语句通过终端100的显示设备进行展示,也可以语音播放设备进行播放,供用户从显示的各个选项中进行选择,例如可以以选择题的形式提供给用户进行选择。终端100确定用户选择的选项,并将与该选项匹配的程序语句设为目标语句,该目标语句即为用户选择的程序语句,然后将该目标语句转化为相应的测评程序。本实施例以多个选项的形式将服务器检索的多个程序语句提供给用户进行选择,能够准确地生成需要进行程序测评的程序语句,有利于进一步提高对程序进行测评的准确性和效率。
在一个实施例中,还可以包括如下步骤:
将测评程序发送至服务器,用于触发服务器将测评程序提交至测评服务器进行程序测评。
本实施例主要是终端100可以将生成的测评程序发送给服务器200,使得该服务器200将该测评程序提交到测评服务器进行程序测评处理,该测评服务器可以是在线测评系统(OJ,Online Judge)的服务器,测评服务器可以通过后台将该测评程序的代码在沙箱中编译和运行,运行读取输入数据,比较输出数据,进而评测程序是否正确,终端100还可以通过服务器200获取测评服务器反馈的测评结果。本实施例通过将测评程序提交到测评服务器有利于对该测评程序进行专业、有效地评测。
在一个实施例中,还提供一种测评程序的生成方法,参考图3,图3为另一个实施例中测评程序的生成方法的流程示意图,以该方法应用于图1中的终端100为例进行说明,该测评程序的生成方法可以包括如下步骤:
S201,获取用户录入的语音信息;将语音信息转化为相应的文本信息。
本步骤中,终端100可以通过麦克风采集用户录入的语音信息,并将该语音信息通过语音识别平台转化相应的文字信息。
S202,将文本信息发送至服务器,用于触发服务器从程序语句库中查询与文本信息相匹配的程序语句。
本步骤主要是终端100将文本信息通过网络发送给服务器200,使得该服务器200可以根据该文本信息从程序语句库中查询匹配的多个程序语句。
S203,接收服务器以多个选项的形式反馈的多个程序语句。
其中,服务器200可以将查询到的多个程序语句以选择题的形式发送给终端100,使得终端100将各个选项及其对应的多个程序语句反馈给用户。
S204,确定用户在多个选项中选择的选项,将与该选项相匹配的程序语句设为目标语句。
本步骤中,用户可以从多个选项中进行选择,终端100确定用户选择的选项,并将与该选项对应的程序语句设为目标语句,即用户选择的程序语句。
S205,将目标语句转化为相应的测评程序。
终端100将用户选择的语句转化为相应的测评程序。
S206,将测评程序发送至服务器,用于触发服务器将测评程序提交至测评服务器进行程序测评。
其中,终端100将用户确认的测评程序发送给服务器200,使得该服务器200将该测评程序提交至测评服务器进行程序测评。
在一个实施例中,提供了一种测评程序的生成装置,如图4所示,图4为一个实施例中测评程序的生成装置的结构框图,该测评程序的生成装置可以包括:
信息获取模块101,用于获取用户录入的语音信息;将语音信息转化为相应的文本信息;
信息发送模块102,用于将文本信息发送至服务器,用于触发服务器从程序语句库中查询与文本信息相匹配的程序语句;
语句接收模块103,用于接收服务器返回的程序语句;
程序生成模块104,用于根据程序语句生成测评程序,用于发送至服务器进行测评。
在一个实施例中,语句接收模块103进一步用于:
接收服务器以多个选项的形式反馈的多个程序语句;其中,各个选项分别对应各个程序语句;多个程序语句为服务器从文本信息中提取关键字,并根据该关键字在程序语句库中进行检索得到的与关键字相对应的多个程序语句。
在一个实施例中,程序生成模块104进一步用于:
确定用户在多个选项中选择的选项,将与该选项相匹配的程序语句设为目标语句;将目标语句转化为相应的测评程序。
在一个实施例中,还可以包括:
第一提交模块,用于将测评程序发送至服务器,用于触发服务器将测评程序提交至测评服务器进行程序测评。
在一个实施例中,提供了一种测评程序的生成方法,参考图5,图5为又一个实施例中测评程序的生成方法的流程示意图,以该方法应用于图1中的服务器200为例进行说明,该测评程序的生成方法可以包括以下步骤:
步骤S401,接收客户端发送的文本信息。
本步骤中,服务器200可以通过终端100接收客户端发送的文本信息;其中,文本信息为终端100上的客户端将用户录入的语音信息进行转化得到的文本信息;终端100可以获取客户端的用户录入的语音信息,并将该语音信息转化为相对应的文本信息,即将语音转化为对应的文字;该语音信息为用于描述需要进行测评的相关程序的语音信息,例如,当需要进行测评的相关程序是求和程序时,该用户录入的语音信息可以为“求和”。
语音信息可以是用户需要对程序语句进行测评时实时录入到终端100中的,也可以是用户预先录入相关语音后存储在终端100的语音文件中。具体来说,终端100可以通过本地配置的麦克风实时获取用户录入的语音信息,也可以从本地预存的语音文件中提取出用户预先录入的相关语音信息;在获取用户录入的语音信息后,终端100可以通过语音识别平台如百度开放平台或讯飞开放平台将携带该语音信息转化成相应的文本信息。
步骤S402,根据文本信息从程序语句库中查询与该文本信息相匹配的程序语句。
本步骤主要是服务器200接收终端100发送的文本信息,并在程序语句库中查询相应的程序语句。其中,服务器200配置有程序语句库,该程序语句库是指用于存储多个程序语句的数据库,该数据库可以基于在线测评系统(OJ,Online Judge)的语料库或数据库进行构建,存储的程序语句包括但不限于C、C++或java等多种编程语言的相关程序语句。
服务器200可以根据文本信息对程序语句库进行查询、检索等操作,当终端100发送文本信息到服务器200时,该文本信息可以触发服务器200从程序语句库中检索出与该文本信息相匹配的程序语句。例如,终端100向服务器200发送的文本信息为“求和”,则服务器200可以从程序语句库中检索出基于多种编程语言的求和语句。
步骤S403,将程序语句发送至客户端,用于触发客户端根据程序语句生成测评程序。
服务器200可以在查询到与文本信息相匹配的程序语句后将该程序语句发送给终端100,使得终端100在接收到服务器200返回的程序语句后,可以在客户端中将程序语句转化为相应的测评程序,以便提交至服务器200对该测评程序进行评测。其中,用户在录入描述需要进行测评的相关程序的语音信息时可以将测评程序进行分段录入,所以终端100接收的程序语句的数量可以是多个,本步骤可以将各程序语句进行组合,从而转换成相应的测评程序。
上述测评程序的生成方法,通过客户端获取用户录入的语音信息,将该语音信息转化为相应的文本信息,并将该文本信息发送给服务器,使得该服务器从程序语句库中查询与该文本信息相匹配的程序语句,然后服务器将该程序语句返回给客户端,客户端在接收到服务器返回的程序语句后,根据该程序语句生成相应的测评程序,使得该测评程序可以用于发送到服务器进行测评,克服了传统技术中用户需要输入大量的代码文本才能得到相应测评程序的问题,通过用户与客户端进行语音交互结合服务器在程序语句库查询相应程序语句的形式实现测评程序的录入,提高了测评程序的生成效率,还有利于提高测评程序的测评效率,特别是在编程教育的过程当中,通过语音录入测评程序的形式能够有效提高教学过程中的沉浸感,提高程序编写的质量。
在一个实施例中,根据文本信息从程序语句库中查询与该文本信息相匹配的程序语句的步骤可以包括:
从文本信息中提取关键字;根据关键字在程序语句库中进行检索,得到与关键字相对应的多个程序语句。
在本实施例中,终端100向服务器200发送文本信息后,服务器200可以从该文本信息中提取关键字,并根据该关键字在程序语句库中检索出与该关键字相匹配的程序语句。
其中,从文本信息中提取的关键字可以是描述需要进行测评的相关程序的主要特征的文字,例如文本信息为“对X进行求和”,则关键字可以对应为“X、求和”,检索出的程序语句可以是对X进行求和的相关程序语句。由于程序语句库中存储有包括C、C++或java等多种编程语言的相关程序语句,所以服务器200检索得到的程序语句可以包括分别与多种编程语言相对应的多个程序语句。在服务器200检索得到多个程序语句后,可以将程序语句以多个选项的形式反馈给终端100,各选项分别对应于各个程序语句,终端100可以将各选项及其对应的程序语句通过显示设备进行展示,也可以语音播放设备进行播放。
本实施例通过终端发送的文本信息触发服务器根据该文本信息的关键字从程序语句库中匹配出多个程序语句,由于将文本信息可能携带了与程序语句无关的背景噪声从而影响程序语句的匹配度,这种方式可以避免服务器在将整段文本信息进行程序语句匹配时导致匹配度低的问题,使得服务器从程序语句库中检索出将与关键字匹配的多个程序语句,提高文本信息与程序语句匹配程度,而且客户端接收服务器以多个选项的形式反馈的多个程序语句还能够让用户在多个选项中选取需要测评的程序语句,在保证匹配度的情况下还能够提高获取的程序语句的准确性,还使得获取测评程度的灵活度更高。
在一个实施例中,进一步的,将程序语句发送至客户端,用于触发客户端根据程序语句生成测评程序的步骤可以包括:
将多个程序语句以多个选项的形式发送至客户端,用于触发客户端确定用户在多个选项中选择的选项,将与该选项相匹配的程序语句设为目标语句并转化为相应的测评程序;其中,各个选项分别对应各个程序语句。
本实施例中,终端100可以将服务器200返回的多个选项及其对应的程序语句通过终端的显示设备进行展示,也可以语音播放设备进行播放,供用户从显示的各个选项中进行选择,例如可以以选择题的形式提供给用户进行选择。终端100确定用户选择的选项,并将与该选项匹配的程序语句设为目标语句,该目标语句即为用户选择的程序语句,然后将该目标语句转化为相应的测评程序。本实施例以多个选项的形式将服务器检索的多个程序语句提供给用户进行选择,能够准确地生成需要进行程序测评的程序语句,有利于进一步提高对程序进行测评的准确性和效率。
在一个实施例中,还可以包括如下步骤:
接收客户端发送的测评程序;将测评程序提交至测评服务器进行程序测评。
本实施例主要是服务器200可以接收终端100生成的测评程序,并将该测评程序提交到测评服务器进行程序测评处理,该测评服务器可以是在线测评系统(OJ系统,OnlineJudge系统)的服务器,测评服务器可以通过后台将该测评程序的代码在沙箱中编译和运行,运行读取输入数据,比较输出数据,进而评测程序是否正确,终端100还可以通过服务器200获取测评服务器反馈的测评结果。本实施例通过将测评程序提交到测评服务器有利于对该测评程序进行专业、有效地评测。
在一个实施例中,还提供一种测评程序的生成方法,参考图6,图6为再一个实施例中测评程序的生成方法的流程示意图,以该方法应用于图1中的服务器200为例进行说明,该测评程序的生成方法可以包括如下步骤:
步骤S501,接收客户端发送的文本信息。
本步骤中,服务器200可以通过终端100接收客户端发送的文本信息,该文本信息为客户端将用户录入的语音信息进行转化得到的文本信息,其中,终端100可以通过麦克风采集用户录入的语音信息,并将该语音信息通过语音识别平台转化相应的文字信息。
步骤S502,从文本信息中提取关键字。
其中,服务器200可以从终端100发送的文本信息中提取关键字。
步骤S503,根据关键字在程序语句库中进行检索,得到与关键字相对应的多个程序语句。
服务器200可以根据提取的关键字从程序语句库中检索出与关键字相对应的多个程序语句。
步骤S504,将多个程序语句以多个选项的形式发送至客户端。
其中,服务器200可以将多个程序语句以选择题选项的形式将与各个选项相对应的多个程序语句通过终端100反馈至的客户端,使得用户可以从多个选项中进行选择,终端100确定用户选择的选项,并将与该选项对应的程序语句设为目标语句,即用户选择的程序语句,以及将用户选择的语句转化为相应的测评程序。
步骤S505,接收客户端发送的测评程序。
其中,终端100可以将用户确认的测评程序发送给服务器200。
步骤S506,将测评程序提交至测评服务器进行程序测评。
服务器200将该测评程序提交至测评服务器进行程序测评。
在一个实施例中,提供了一种测评程序的生成装置,如图7所示,图7为另一个实施例中测评程序的生成装置的结构框图,该测评程序的生成装置可以包括:
信息接收模块401,用于接收客户端发送的文本信息;其中,文本信息为客户端将用户录入的语音信息进行转化得到的文本信息;
语句查询模块402,用于根据文本信息从程序语句库中查询与该文本信息相匹配的程序语句;
语句发送模块403,用于将程序语句发送至客户端,用于触发客户端根据程序语句生成测评程序。
在一个实施例中,语句查询模块402进一步用于:
从文本信息中提取关键字;根据关键字在程序语句库中进行检索,得到与关键字相对应的多个程序语句。
在一个实施例中,语句发送模块403进一步用于:
将多个程序语句以多个选项的形式发送至客户端,用于触发客户端确定用户在多个选项中选择的选项,将与该选项相匹配的程序语句设为目标语句并转化为相应的测评程序;其中,各个选项分别对应各个程序语句。
在一个实施例中,还可以包括:
第二测评模块,用于接收客户端发送的测评程序;将测评程序提交至测评服务器进行程序测评。
本发明的测评程序的生成装置与本发明的测评程序的生成方法一一对应,关于测评程序的生成装置的具体限定可以参见上文中对于测评程序的生成方法的限定,在上述测评程序的生成方法的实施例阐述的技术特征及其有益效果均适用于测评程序的生成装置的实施例中,在此不再赘述。上述测评程序的生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
为了更清晰阐明本发明的技术方案,在一个实施例中,还提供一种测评程序的生成方法,参考图8,图8为一个实施例中测评程序的生成方法的时序图,以该方法应用于如图1所示的应用环境进行说明,包括终端100和服务器200,该测评程序的生成方法可以包括如下步骤:
步骤S1001,终端100通过麦克风采集用户录入的语音信息,通过百度开放平台或讯飞开放平台将语音信息转化成相应的文本信息。
步骤S1002,终端100将文字信息通过网络发送给服务器200。
步骤S1003,服务器200在接收到文字信息后,可以对文字信息进行过滤,如果发现文字信息中有对应的关键字,则提取该关键字,并根据该关键字在程序语句库中检索对应的程序语句,程序语句的数量可以为多个。
步骤S1004,服务器200将多个程序语句通过选择题的多个选项的形式反馈给终端100。
步骤S1005,终端100获取用户在各个选项中选择的选项,确定与该选项对应的程序语句作为目标语句,将该目标语句转化为测评程序。
步骤S1006,终端100将该测评程序发送给服务器200进行程序测评,服务器200在接收到测评程序后,可以将该测评程序提交至在线测评系统(OJ系统,Online Judge系统)进行测评。
上述测评程序的生成方法,通过用户与客户端进行语音交互结合服务器在程序语句库查询相应程序语句的形式实现测评程序的录入,提高了测评程序的生成效率,还有利于提高测评程序的测评效率,特别是在编程教育的过程当中,通过语音录入测评程序的形式能够有效提高教学过程中的沉浸感,提高程序编写的质量。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示,图9为一个实施例中计算机设备的内部结构图。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种测评程序的生成方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示,图10为另一个实施例中计算机设备的内部结构图。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储测评程序的生成方法的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种测评程序的生成方法。
本领域技术人员可以理解,图9和图10中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
获取用户录入的语音信息;将语音信息转化为相应的文本信息;将文本信息发送至服务器,用于触发服务器从程序语句库中查询与文本信息相匹配的程序语句;接收服务器返回的程序语句;根据程序语句生成测评程序,用于发送至服务器进行测评。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
接收服务器以多个选项的形式反馈的多个程序语句。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
确定用户在多个选项中选择的选项,将与该选项相匹配的程序语句设为目标语句;将目标语句转化为相应的测评程序。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
将测评程序发送至服务器,用于触发服务器将测评程序提交至测评服务器进行程序测评。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
接收客户端发送的文本信息;根据文本信息从程序语句库中查询与该文本信息相匹配的程序语句;将程序语句发送至客户端,用于触发客户端根据程序语句生成测评程序。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
从文本信息中提取关键字;根据关键字在程序语句库中进行检索,得到与关键字相对应的多个程序语句。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
将多个程序语句以多个选项的形式发送至客户端,用于触发客户端确定用户在多个选项中选择的选项,将与该选项相匹配的程序语句设为目标语句并转化为相应的测评程序;其中,各个选项分别对应各个程序语句。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
接收客户端发送的测评程序;将测评程序提交至测评服务器进行程序测评。
上述计算机设备,通过所述处理器上运行的计算机程序,生成相应的测评程序,使得该测评程序可以用于发送到服务器进行测评,通过用户与客户端进行语音交互结合服务器在程序语句库查询相应程序语句的形式实现测评程序的录入,提高了测评程序的生成效率,还有利于提高测评程序的测评效率,特别是在编程教育的过程当中,通过语音录入测评程序的形式能够有效提高教学过程中的沉浸感,提高程序编写的质量。
本领域普通技术人员可以理解实现如上任一项实施例所述的测评程序的生成方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
据此,在一个实施例中提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取用户录入的语音信息;将语音信息转化为相应的文本信息;将文本信息发送至服务器,用于触发服务器从程序语句库中查询与文本信息相匹配的程序语句;接收服务器返回的程序语句;根据程序语句生成测评程序,用于发送至服务器进行测评。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
接收服务器以多个选项的形式反馈的多个程序语句。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
确定用户在多个选项中选择的选项,将与该选项相匹配的程序语句设为目标语句;将目标语句转化为相应的测评程序。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将测评程序发送至服务器,用于触发服务器将测评程序提交至测评服务器进行程序测评。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收客户端发送的文本信息;根据文本信息从程序语句库中查询与该文本信息相匹配的程序语句;将程序语句发送至客户端,用于触发客户端根据程序语句生成测评程序。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
从文本信息中提取关键字;根据关键字在程序语句库中进行检索,得到与关键字相对应的多个程序语句。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将多个程序语句以多个选项的形式发送至客户端,用于触发客户端确定用户在多个选项中选择的选项,将与该选项相匹配的程序语句设为目标语句并转化为相应的测评程序;其中,各个选项分别对应各个程序语句。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
接收客户端发送的测评程序;将测评程序提交至测评服务器进行程序测评。
上述计算机可读存储介质,通过其存储的计算机程序,生成相应的测评程序,使得该测评程序可以用于发送到服务器进行测评,通过用户与客户端进行语音交互结合服务器在程序语句库查询相应程序语句的形式实现测评程序的录入,提高了测评程序的生成效率,还有利于提高测评程序的测评效率,特别是在编程教育的过程当中,通过语音录入测评程序的形式能够有效提高教学过程中的沉浸感,提高程序编写的质量。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种测评程序的生成方法,其特征在于,包括步骤:
获取用户录入的语音信息;将所述语音信息转化为相应的文本信息;
将所述文本信息发送至服务器,用于触发所述服务器从程序语句库中查询与所述文本信息相匹配的程序语句;
接收所述服务器返回的所述程序语句;
根据所述程序语句生成测评程序,用于发送至所述服务器进行测评。
2.根据权利要求1所述的测评程序的生成方法,其特征在于,
所述接收所述服务器返回的所述程序语句的步骤包括:
接收所述服务器以多个选项的形式反馈的多个程序语句;其中,各个所述选项分别对应各个所述程序语句;所述多个程序语句为所述服务器从所述文本信息中提取关键字,并根据该关键字在所述程序语句库中进行检索得到的与所述关键字相对应的多个程序语句;
所述根据所述程序语句生成测评程序的步骤包括:
确定所述用户在所述多个选项中选择的选项,将与该选项相匹配的程序语句设为目标语句;
将所述目标语句转化为相应的测评程序。
3.根据权利要求1所述的测评程序的生成方法,其特征在于,还包括步骤:
将所述测评程序发送至所述服务器,用于触发所述服务器将所述测评程序提交至测评服务器进行程序测评。
4.一种测评程序的生成方法,其特征在于,包括步骤:
接收客户端发送的文本信息;其中,所述文本信息为所述客户端将用户录入的语音信息进行转化得到的文本信息;
根据所述文本信息从程序语句库中查询与该文本信息相匹配的程序语句;
将所述程序语句发送至所述客户端,用于触发所述客户端根据所述程序语句生成测评程序。
5.根据权利要求4所述的测评程序的生成方法,其特征在于,
所述根据所述文本信息从程序语句库中查询与该文本信息相匹配的程序语句的步骤包括:
从所述文本信息中提取关键字;
根据所述关键字在所述程序语句库中进行检索,得到与所述关键字相对应的多个程序语句;
所述将所述程序语句发送至所述客户端,用于触发所述客户端根据所述程序语句生成测评程序的步骤包括:
将所述多个程序语句以多个选项的形式发送至所述客户端,用于触发所述客户端确定所述用户在所述多个选项中选择的选项,将与该选项相匹配的程序语句设为目标语句并转化为相应的测评程序;其中,各个所述选项分别对应各个所述程序语句。
6.根据权利要求4所述的测评程序的生成方法,其特征在于,还包括步骤:
接收所述客户端发送的所述测评程序;
将所述测评程序提交至测评服务器进行程序测评。
7.一种测评程序的生成装置,其特征在于,包括:
信息获取模块,用于获取用户录入的语音信息;将所述语音信息转化为相应的文本信息;
信息发送模块,用于将所述文本信息发送至服务器,用于触发所述服务器从程序语句库中查询与所述文本信息相匹配的程序语句;
语句接收模块,用于接收所述服务器返回的所述程序语句;
程序生成模块,用于根据所述程序语句生成测评程序,用于发送至所述服务器进行测评。
8.一种测评程序的生成装置,其特征在于,包括:
信息接收模块,用于接收客户端发送的文本信息;其中,所述文本信息为所述客户端将用户录入的语音信息进行转化得到的文本信息;
语句查询模块,用于根据所述文本信息从程序语句库中查询与该文本信息相匹配的程序语句;
语句发送模块,用于将所述程序语句发送至所述客户端,用于触发所述客户端根据所述程序语句生成测评程序。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述的测评程序的生成方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一项所述的测评程序的生成方法的步骤。
CN201810965165.0A 2018-08-23 2018-08-23 测评程序的生成方法和生成装置 Pending CN109144496A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810965165.0A CN109144496A (zh) 2018-08-23 2018-08-23 测评程序的生成方法和生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810965165.0A CN109144496A (zh) 2018-08-23 2018-08-23 测评程序的生成方法和生成装置

Publications (1)

Publication Number Publication Date
CN109144496A true CN109144496A (zh) 2019-01-04

Family

ID=64791383

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810965165.0A Pending CN109144496A (zh) 2018-08-23 2018-08-23 测评程序的生成方法和生成装置

Country Status (1)

Country Link
CN (1) CN109144496A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102467367A (zh) * 2010-11-03 2012-05-23 北京北方微电子基地设备工艺研究中心有限责任公司 设备控制软件的帮助系统及其实现方法
CN105427695A (zh) * 2015-11-03 2016-03-23 中国农业大学 编程类考题自动测评方法和系统
CN106815000A (zh) * 2015-11-30 2017-06-09 北京奇虎科技有限公司 一种代码生成方法和装置
CN107193743A (zh) * 2017-05-25 2017-09-22 腾讯科技(深圳)有限公司 一种应用测评方法、装置、计算机设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102467367A (zh) * 2010-11-03 2012-05-23 北京北方微电子基地设备工艺研究中心有限责任公司 设备控制软件的帮助系统及其实现方法
CN105427695A (zh) * 2015-11-03 2016-03-23 中国农业大学 编程类考题自动测评方法和系统
CN106815000A (zh) * 2015-11-30 2017-06-09 北京奇虎科技有限公司 一种代码生成方法和装置
CN107193743A (zh) * 2017-05-25 2017-09-22 腾讯科技(深圳)有限公司 一种应用测评方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
CN109325091B (zh) 兴趣点属性信息的更新方法、装置、设备及介质
CN110442697B (zh) 一种人机交互方法、系统、计算机设备和存储介质
CN108427722A (zh) 智能交互方法、电子装置及存储介质
CN110223695A (zh) 一种任务创建方法及移动终端
CN106062867A (zh) 语音字体说话者以及韵律插值
DeVault et al. Can I finish? Learning when to respond to incremental interpretation results in interactive dialogue
JP2019513267A (ja) グローバルに正規化されたニューラルネットワーク
US10713288B2 (en) Natural language content generator
CN109302461A (zh) 信息展示、处理方法、介质、系统和计算设备
CN108536807B (zh) 一种信息处理方法及装置
CN108989349A (zh) 用户帐号解锁方法、装置、计算机设备及存储介质
CN117290694B (zh) 问答系统评估方法、装置、计算设备及存储介质
CN110458732A (zh) 培训方法、装置、计算机设备和存储介质
CN110325987A (zh) 语境语音驱动深度书签
CN110471838A (zh) 测试用例的校验方法、装置、计算机设备和存储介质
CN109408785A (zh) 问卷生成方法、系统、计算机设备和存储介质
Alhassan et al. A novel framework for Arabic dialect chatbot using machine learning
CN110738056A (zh) 用于生成信息的方法和装置
CN110263128A (zh) 交互问答的方法、装置及计算机可读存储介质
CN109243249A (zh) 测评程序的生成方法和生成装置
CN109144496A (zh) 测评程序的生成方法和生成装置
CN117009113A (zh) 人工智能模型的调用方法、装置、计算机设备及存储介质
CN115098722B (zh) 文本和图像的匹配方法、装置、电子设备和存储介质
CN110249326B (zh) 自然语言内容生成器
CN106547438A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190104

RJ01 Rejection of invention patent application after publication