技术领域technical field
本发明涉及计算机技术领域,尤其涉及一种服务生成方法、装置、设备、系统和存储介质。The present invention relates to the field of computer technology, in particular to a service generation method, device, equipment, system and storage medium.
背景技术Background technique
在游戏等剧情类技能应用的开发过程中,需要编写游戏策划,选择开发语言以及程序编写工具,搭建开发环境和底层框架,确定美术风格以及制作标准,搭建开发所用的客户端/服务器等。然后,开发人员按照编写的游戏策划对应地编写代码。In the development process of game and other plot skill applications, it is necessary to write the game plan, select the development language and programming tools, build the development environment and underlying framework, determine the art style and production standards, and build the client/server for development, etc. Developers then write code corresponding to the written game plan.
游戏策划中可能包括很多情节,因此开发过程复杂,编程需要的专业性强,往往需要团队合作,集中分配人员,安排开发周期等。Game planning may include many plots, so the development process is complex, and programming requires strong professionalism. It often requires teamwork, centralized allocation of personnel, and arrangement of development cycles.
发明内容Contents of the invention
本发明实施例提供一种服务生成方法、装置、设备、系统和存储介质,以解决现有技术中的一个或多个技术问题。Embodiments of the present invention provide a service generation method, device, device, system and storage medium to solve one or more technical problems in the prior art.
第一方面,本发明实施例提供了一种服务生成方法,包括:In a first aspect, an embodiment of the present invention provides a method for generating a service, including:
获取技能对应的描述文件;Obtain the description file corresponding to the skill;
将所述描述文件转换成技能服务代码;converting the description file into a skill service code;
利用所述技能服务代码部署对应的技能服务。Use the skill service code to deploy the corresponding skill service.
在一种实施方式中,获取技能对应的描述文件,包括:In an implementation manner, acquiring a description file corresponding to a skill includes:
接收来自开发端的所述技能的属性信息;receiving attribute information of the skill from the development end;
编辑所述技能的业务逻辑;Edit the business logic of said skill;
根据所述属性信息和所述业务逻辑,生成所述技能对应的描述文件。According to the attribute information and the business logic, a description file corresponding to the skill is generated.
在一种实施方式中,所述将所述描述文件转换成技能服务代码,包括:In one embodiment, the converting the description file into a skill service code includes:
将所述描述文件中的资源重新组织后,保存到存储端,并获取资源在所述存储端的存储位置;After reorganizing the resources in the description file, save them to the storage terminal, and obtain the storage location of the resources in the storage terminal;
根据所述描述文件,进行所述技能的意图注册,得到注册结果;According to the description file, register the intention of the skill, and obtain the registration result;
根据所述描述文件包括的所述属性信息和所述业务逻辑,以及所述注册结果,将所述描述文件转换成技能服务代码。Convert the description file into a skill service code according to the attribute information and the business logic included in the description file, as well as the registration result.
在一种实施方式中,所述利用所述技能服务代码部署对应的技能服务,包括:In one embodiment, deploying the corresponding skill service by using the skill service code includes:
将所述技能服务代码保存到指定的服务部署端;或者Save the skill service code to the specified service deployment end; or
将所述技能服务代码和所述描述文件保存到指定的服务部署端;Save the skill service code and the description file to a designated service deployment end;
其中,所述服务部署端包括对象存储系统、内容分发网络中的至少一种。Wherein, the service deployment end includes at least one of an object storage system and a content distribution network.
在一种实施方式中,该方法还包括:In one embodiment, the method also includes:
接收待执行语音;Receive the voice to be executed;
从所述待执行语音中识别出待执行意图;identifying the intention to be executed from the speech to be executed;
将所述待执行意图发送到服务部署端,由所述服务部署端执行所述待执行意图对应的技能服务代码。The intent to be executed is sent to the service deployment end, and the service deployment end executes the skill service code corresponding to the intent to be executed.
在一种实施方式中,所述技能为剧情类技能,所述描述文件为剧情描述文件。In one embodiment, the skill is a plot skill, and the description file is a plot description file.
第二方面,本发明实施例提供了一种服务生成装置,包括:In a second aspect, an embodiment of the present invention provides a service generation device, including:
获取模块,用于获取技能对应的描述文件;The acquisition module is used to obtain the description file corresponding to the skill;
转换模块,用于将所述描述文件转换成技能服务代码;A conversion module, configured to convert the description file into a skill service code;
部署模块,用于利用所述技能服务代码部署对应的技能服务。A deployment module, configured to deploy the corresponding skill service using the skill service code.
在一种实施方式中,所述获取模块包括:In one embodiment, the acquisition module includes:
接收子模块,用于接收来自开发端的所述技能的属性信息;The receiving submodule is used to receive the attribute information of the skill from the development end;
编辑子模块,用于编辑所述技能的业务逻辑;Edit sub-module for editing the business logic of the skill;
生成子模块,用于根据所述属性信息和所述业务逻辑,生成所述技能对应的描述文件。The generating submodule is configured to generate a description file corresponding to the skill according to the attribute information and the business logic.
在一种实施方式中,所述转换模块包括:In one embodiment, the conversion module includes:
重组子模块,用于将所述描述文件中的资源重新组织后,保存到存储端,并获取资源在所述存储端的存储位置;The reorganization submodule is used to reorganize the resources in the description file, store them in the storage terminal, and obtain the storage location of the resources in the storage terminal;
注册子模块,用于根据所述描述文件,进行所述技能的意图注册,得到注册结果;The registration submodule is used to register the intention of the skill according to the description file, and obtain a registration result;
转换子模块,用于根据所述描述文件包括的所述属性信息和所述业务逻辑,以及所述注册结果,将所述描述文件转换成技能服务代码。The conversion sub-module is configured to convert the description file into a skill service code according to the attribute information, the business logic included in the description file, and the registration result.
在一种实施方式中,所述部署模块还用于将所述技能服务代码保存到指定的服务部署端;或者,将所述技能服务代码和所述描述文件保存到指定的服务部署端;其中,所述服务部署端包括对象存储系统、内容分发网络中的至少一种。In one embodiment, the deployment module is also used to save the skill service code to a designated service deployment end; or, save the skill service code and the description file to a designated service deployment end; wherein , the service deployment end includes at least one of an object storage system and a content distribution network.
在一种实施方式中,该装置还包括:In one embodiment, the device also includes:
接收模块,用于接收待执行语音;The receiving module is used to receive the voice to be executed;
识别模块,用于从所述待执行语音中识别出待执行意图;A recognition module, configured to recognize the intention to be executed from the speech to be executed;
发送模块,用于将所述待执行意图发送到服务部署端,由所述服务部署端执行所述待执行意图对应的技能服务代码。A sending module, configured to send the intent to be executed to a service deployment end, and the service deployment end executes the skill service code corresponding to the intent to be executed.
在一种实施方式中,所述技能为剧情类技能,所述描述文件为剧情描述文件。In one embodiment, the skill is a plot skill, and the description file is a plot description file.
第三方面,本发明实施例提供了一种服务生成系统,包括:In a third aspect, an embodiment of the present invention provides a service generation system, including:
开发端,用于创建技能,并保存所述技能的属性信息;The development terminal is used to create skills and save the attribute information of the skills;
服务生成端,包括本发明实施例中任意一种结构的服务生成装置。The service generation end includes a service generation device with any structure in the embodiments of the present invention.
在一种实施方式中,该系统还包括:In one embodiment, the system also includes:
第一存储端,用于存储描述文件;The first storage terminal is used to store the description file;
第二存储端,用于存储重新组织后的所述描述文件中的资源。The second storage terminal is used to store the reorganized resources in the description file.
在一种实施方式中,该系统还包括:In one embodiment, the system also includes:
服务部署端,用于保存各技能的技能服务代码。The service deployment end is used to save the skill service code of each skill.
在一种实施方式中,该系统还包括:In one embodiment, the system also includes:
设备端,用于检测待执行语音,向所述服务生成端发送所述待执行语音,以在所述服务生成端识别出待执行意图;The device end is used to detect the voice to be executed, and send the voice to be executed to the service generation end, so as to recognize the intention to be executed at the service generation end;
所述服务部署端还用于接收所述待执行意图,执行所述待执行意图对应的技能服务代码,在执行所述技能服务代码的过程中向设备端发送对应的资源。The service deployment end is further configured to receive the intent to be executed, execute the skill service code corresponding to the intent to be executed, and send corresponding resources to the device during the execution of the skill service code.
第四方面,本发明实施例提供了一种服务生成设备,所述设备的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。In a fourth aspect, the embodiment of the present invention provides a service generation device, and the functions of the device may be implemented by hardware, or by executing corresponding software on the hardware. The hardware or software includes one or more modules corresponding to the above functions.
在一个可能的设计中,所述设备的结构中包括处理器和存储器,所述存储器用于存储支持所述设备执行上述服务生成方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述设备还可以包括通信接口,用于与其他设备或通信网络进行通信。In a possible design, the structure of the device includes a processor and a memory, the memory is used to store a program that supports the device to execute the above service generating method, and the processor is configured to execute the memory programs stored in . The device may also include a communication interface for communicating with other devices or a communication network.
第五方面,本发明实施例提供了一种计算机可读存储介质,用于存储服务生成设备所用的计算机软件指令,其包括用于执行上述服务生成方法所涉及的程序。In a fifth aspect, an embodiment of the present invention provides a computer-readable storage medium for storing computer software instructions used by a service generating device, which includes programs involved in executing the above service generating method.
上述技术方案中的一个技术方案具有如下优点或有益效果:本发明实施例将技能的描述文件直接转换成技能服务代码,然后部署对应的技能服务,有利于快速生成服务,降低了服务开发的编程难度。One of the above technical solutions has the following advantages or beneficial effects: the embodiment of the present invention directly converts the description file of the skill into the skill service code, and then deploys the corresponding skill service, which is conducive to the rapid generation of services and reduces the programming of service development. difficulty.
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。The above summary is for illustrative purposes only and is not intended to be limiting in any way. In addition to the illustrative aspects, embodiments and features described above, further aspects, embodiments and features of the present invention will be readily apparent by reference to the drawings and the following detailed description.
附图说明Description of drawings
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。In the drawings, unless otherwise specified, the same reference numerals designate the same or similar parts or elements throughout the several drawings. The drawings are not necessarily drawn to scale. It should be understood that these drawings only depict some embodiments disclosed in accordance with the present invention and should not be taken as limiting the scope of the present invention.
图1示出根据本发明实施例的服务生成方法的流程图。Fig. 1 shows a flowchart of a method for generating a service according to an embodiment of the present invention.
图2示出根据本发明实施例的服务生成方法的流程图。Fig. 2 shows a flowchart of a method for generating a service according to an embodiment of the present invention.
图3示出根据本发明实施例的服务生成方法的流程图。Fig. 3 shows a flowchart of a method for generating a service according to an embodiment of the present invention.
图4示出根据本发明实施例的服务生成装置的结构框图。Fig. 4 shows a structural block diagram of a service generation device according to an embodiment of the present invention.
图5示出根据本发明实施例的服务生成装置的结构框图。Fig. 5 shows a structural block diagram of a service generation device according to an embodiment of the present invention.
图6示出根据本发明实施例的服务生成系统的结构框图。Fig. 6 shows a structural block diagram of a service generation system according to an embodiment of the present invention.
图7示出根据本发明实施例的服务生成系统的结构框图。Fig. 7 shows a structural block diagram of a service generating system according to an embodiment of the present invention.
图8示出根据本发明实施例的服务生成系统的示例的结构图。FIG. 8 shows a structural diagram of an example of a service generating system according to an embodiment of the present invention.
图9示出根据本发明实施例的服务生成方法的示例的流程图。FIG. 9 shows a flowchart of an example of a service generating method according to an embodiment of the present invention.
图10a可视化编辑器的模板选择界面的示意图。Fig. 10a is a schematic diagram of the template selection interface of the visual editor.
图10b和图10c可视化编辑器的代码编辑界面的示意图。Figure 10b and Figure 10c are schematic diagrams of the code editing interface of the visual editor.
图11示出根据本发明实施例的服务生成设备的结构框图。Fig. 11 shows a structural block diagram of a service generating device according to an embodiment of the present invention.
具体实施方式Detailed ways
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。In the following, only some exemplary embodiments are briefly described. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. Accordingly, the drawings and descriptions are to be regarded as illustrative in nature and not restrictive.
图1示出根据本发明实施例的服务生成方法的流程图。如图1所示,该服务生成方法包括:Fig. 1 shows a flowchart of a method for generating a service according to an embodiment of the present invention. As shown in Figure 1, the service generation method includes:
步骤S11、获取技能对应的描述文件。Step S11, acquiring a description file corresponding to the skill.
技能可以包括互联网服务在人工智能交互设备上的应用。以对话式人工智能设备为例:如果用户和设备说能今天天气怎么样”;设备回答“今天多云,的温度xxx,...云;设备后台的天气服务可以理解用户的这个询问并给出相应的解答,则天气服务即为一个技能。Skills can include the application of Internet services on artificial intelligence interactive devices. Take the conversational artificial intelligence device as an example: If the user and the device can say how is the weather today"; the device answers "today is cloudy, the temperature is xxx, ... cloud; the weather service in the background of the device can understand the user's inquiry and give The corresponding answer, the weather service is a skill.
在一种实施方式中,所述技能为剧情类技能,所述描述文件为剧情描述文件。有些技能例如:游戏、故事等包括很多场景组合而成的剧情。从文件的存储端,可以读取具有剧情的技能对应剧情描述文件。In one embodiment, the skill is a plot skill, and the description file is a plot description file. Some skills such as games, stories, etc. include plots composed of many scenes. From the storage end of the file, you can read the plot description file corresponding to the skill with the plot.
步骤S12、将所述描述文件转换成技能服务代码。Step S12, converting the description file into a skill service code.
在一种示例中,描述文件中可以包括技能的属性信息、业务逻辑等。将技能的属性信息、业务逻辑等转换为对应的代码,并将这些代码按照一定顺序组织起来,形成技能服务代码。In an example, the description file may include skill attribute information, business logic, and the like. Convert skill attribute information, business logic, etc. into corresponding codes, and organize these codes in a certain order to form skill service codes.
步骤S13、利用所述技能服务代码部署对应的技能服务。Step S13, using the skill service code to deploy the corresponding skill service.
具体地,可以将服务技能代码保存到指定的服务部署端,也可以将技能服务代码与描述文件一起保存到指定的服务部署端。Specifically, the service skill code can be saved to a designated service deployment end, or the skill service code and description file can be saved to a designated service deployment end.
本发明实施例将技能的描述文件直接转换成技能服务代码,然后部署对应的技能服务,有利于快速生成服务,降低了服务开发的编程难度。The embodiments of the present invention directly convert skill description files into skill service codes, and then deploy corresponding skill services, which facilitates rapid generation of services and reduces programming difficulty in service development.
在一种实施方式中,如图2所示,步骤S11包括:In one embodiment, as shown in FIG. 2, step S11 includes:
步骤S21、接收来自开发端的技能的属性信息。Step S21, receiving the attribute information of the skill from the developer.
在开发端的对话式人工智能系统的开放平台例如DBP(DuerOS BOT Platform,度秘BOT平台),创建技能时生成技能的属性信息。其中,DuerOS是一种对话式人工智能操作系统,DBP是duerOS的开放平台。BOT可以是聊天机器人对话系统。技能的属性信息可以包括技能的类型、基本信息和技能入口意图中的至少一种,技能的基本信息可以包括技能的名称、图标、权属信息、宣传话术、展示图像、计费信息中的至少一种。其中,权属信息可以包括作者、厂家等。技能入口意图可以包括启动该技能的意图。例如,“打开游戏A”,“进入游戏A”等。The open platform of the conversational artificial intelligence system on the development side, such as DBP (DuerOS BOT Platform, DuerOS BOT Platform), generates the attribute information of the skill when creating the skill. Among them, DuerOS is a conversational artificial intelligence operating system, and DBP is an open platform of duerOS. A BOT can be a chatbot dialogue system. The attribute information of the skill may include at least one of the type of skill, basic information and skill entry intent, and the basic information of the skill may include the name of the skill, icon, ownership information, promotional words, display images, and information in the billing information. at least one. Wherein, the ownership information may include an author, a manufacturer, and the like. A skill entry intent may include an intent to activate the skill. For example, "Open Game A", "Enter Game A", etc.
步骤S22、编辑所述技能的业务逻辑。Step S22, editing the business logic of the skill.
后端收到技能的属性信息后,可以利用可视化编辑器,编辑技能的业务逻辑。例如,在可视化编辑器的界面中,选择所需的模板,选择该技能的展现设备,设置业务逻辑中包括的场景在描述文件结构中对应的各组件,根据各场景之间的关系确定各组件之间的关系等。其中,描述文件结构中的各组件包括章节组件、节点组件、卡片组件、展示组件、模板组件、提示组件、讲话组件、条件相关状态(condition)组件、用户相关状态(state)组件中的一种或多种。每种组件的描述包括该组件的属性,每种组件可以转换为对应的代码。After receiving the attribute information of the skill, the backend can use the visual editor to edit the business logic of the skill. For example, in the interface of the visual editor, select the required template, select the display device of the skill, set the components corresponding to the scenarios included in the business logic in the description file structure, and determine each component according to the relationship between the scenarios relationship between etc. Wherein, each component in the description file structure includes a chapter component, a node component, a card component, a display component, a template component, a prompt component, a speech component, a condition-related state (condition) component, and a user-related state (state) component. or more. The description of each component includes the properties of the component, and each component can be converted into the corresponding code.
步骤S23、根据所述属性信息和所述业务逻辑,生成所述技能对应的描述文件。具体可以根据所述属性信息,所述业务逻辑对应的各所述组件,各所述组件之间的关系,以及各所述组件的属性等,生成JSON(JavaScript Object Notation,JavaScript对象表示法)格式或XML(eXtensible Markup Language,可扩展标记语言)格式等结构化数据的的描述文件。Step S23, generating a description file corresponding to the skill according to the attribute information and the business logic. Specifically, the JSON (JavaScript Object Notation, JavaScript Object Notation) format can be generated according to the attribute information, the components corresponding to the business logic, the relationship between the components, and the attributes of the components, etc. Or XML (eXtensible Markup Language, Extensible Markup Language) format and other structured data description files.
例如,在可视化编辑器的界面,按照技能的属性信息和业务逻辑编辑完成后,响应于开发者点击代码导出控件的操作,可以自动生成符合描述文件结构的描述文件。For example, on the interface of the visual editor, after the editing is completed according to the attribute information and business logic of the skill, in response to the developer's operation of clicking the code export control, a description file conforming to the description file structure can be automatically generated.
在一种实施方式中,如图2所示,步骤S12包括:In one embodiment, as shown in FIG. 2, step S12 includes:
步骤S31、将技能的描述文件中的资源重新组织后,得到重新组织后的存储位置。Step S31 , after reorganizing the resources in the skill description file, the reorganized storage location is obtained.
例如,将所述描述文件中的资源重新组织后,保存到存储端,并获取资源在所述存储端的存储位置。存储端可以包括多种数据库。将描述文件中的图像保存到图像数据库,视频保存到视频数据库,音频保存到音频数据库。再如,将描述文件中的网页地址和/或网页内容保存到网页数据库中。For example, after the resources in the description file are reorganized, they are saved to a storage terminal, and the storage locations of the resources in the storage terminal are acquired. The storage side can include various databases. Save the image in the description file to the image database, the video to the video database, and the audio to the audio database. For another example, save the webpage address and/or webpage content in the description file into the webpage database.
示例中的各数据库可以位于同一个设备,也可以位于不同设备。将某个描述文件中的资源重新组织后,记录该描述文件中的各种资源的存储位置。并在生成的技能服务代码中包括需要的资源的存储位置。如果需要调用某些资源,可以通过技能服务代码中的该资源的存储位置调用该资源。The databases in the examples can be located on the same device or on different devices. After reorganizing the resources in a description file, record the storage locations of various resources in the description file. And include the storage location of the required resources in the generated skill service code. If you need to call some resource, you can call the resource through the storage location of the resource in the skill service code.
步骤S32、根据所述描述文件,进行所述技能的意图注册,得到注册结果。Step S32 , according to the description file, register the intention of the skill, and obtain a registration result.
可以从描述文件提取该技能包括的各种意图,例如技能入口意图、节点对应的场景意图等,将这些意图注册到开发端。在开发端可以根据意图确定该意图属于哪个技能服务,以及该技能服务存放在哪个服务器等。并且,意图中可以包括多个词,可以将意图中的词拆分后注册到开发端的词典中。此外,还可以将意图进行泛化,将同一意图类似的话术进行关联。Various intents included in the skill can be extracted from the description file, such as skill entry intents, scene intents corresponding to nodes, etc., and these intents are registered to the development end. On the development side, it can be determined which skill service the intent belongs to and which server the skill service is stored in according to the intent. In addition, the intent can include multiple words, and the words in the intent can be split and registered in the dictionary on the development side. In addition, the intent can also be generalized to associate similar words with the same intent.
步骤S33、根据所述描述文件、所述重新组织后的存储位置、以及所述注册结果,将所述描述文件转换成技能服务代码。Step S33, converting the description file into a skill service code according to the description file, the reorganized storage location, and the registration result.
例如,根据描述文件包括的技能的属性信息和业务逻辑,资源重新组织后的存储位置,以及意图注册结果,将所述描述文件转换成技能服务代码。可以预先设置一些编程语言的代码模板,代码化过程中,利用该编程语言的代码生成器,将描述文件转换为某种编程语言格式的代码。For example, the description file is converted into a skill service code according to the attribute information and business logic of the skill included in the description file, the storage location after resource reorganization, and the registration result of the intent. Code templates of some programming languages can be set in advance, and during the coding process, the code generator of the programming language is used to convert the description file into a code in a certain programming language format.
在一种实施方式中,在步骤S13中,可以采用多种方式部署服务:In one embodiment, in step S13, the service can be deployed in multiple ways:
方式一、将所述技能服务代码保存到指定的服务部署端。Method 1: Save the skill service code to a designated service deployment terminal.
方式二、将所述技能服务代码和所述描述文件保存到指定的服务部署端。Method 2: Save the skill service code and the description file to a designated service deployment terminal.
服务部署端可以包括对象存储系统例如BOS(Baidu Object Storage,对象存储)系统,还可以包括CDN(Content Delivery Network,内容分发网络)等。The service deployment end may include an object storage system such as a BOS (Baidu Object Storage, object storage) system, and may also include a CDN (Content Delivery Network, content distribution network) and the like.
在一种实施方式中,如图3所示,该方法还包括:In one embodiment, as shown in Figure 3, the method also includes:
步骤S41、接收待执行语音。Step S41, receiving the speech to be executed.
步骤S42、从所述待执行语音中识别出待执行意图。例如,识别出的待执行意图可能是技能入口意图,或技能的某个场景的意图。Step S42, identifying the intention to be executed from the speech to be executed. For example, the recognized intent to be executed may be a skill entry intent, or an intent of a certain scene of the skill.
步骤S43、将所述待执行意图发送到服务部署端,由所述服务部署端执行所述待执行意图对应的技能服务代码。Step S43, sending the intent to be executed to the service deployment end, and the service deployment end executes the skill service code corresponding to the intent to be executed.
在一种应用场景中,设备端拾取用户的待执行语音后,可以将该语音发送到语音识别模块。语音识别模块可以对语音进行ASR(Automatic Speech Recognition,自动语音识别)处理得到文本,并对文本进行NLU(Natural Language Understanding,自然语音理解)处理,得到待执行意图。语音识别模块可以设置在独立的服务器中,也可以设置在开发端、服务生成端、服务部署端等中。从待执行语音中识别出待执行意图后,查找该意图所归属的技能服务,将该意图发送到部署了该技能服务的服务部署端。服务部署端执行该意图对应的技能服务代码。在执行代码过程中,可以向设备端返回相应的资源。例如,音箱拾取用户发出的“我要玩儿游戏A”,将该语音发送到服务生成端后,进行语音识别后确定出待执行意图是打开游戏A。将该待执行意图发送到部署了游戏A的服务器。在该服务器中,根据该待执行意图查找到游戏A的代码。执行游戏A的代码,向音箱返回游戏A的主界面,主界面可以包括的图像、文字、音效、视频等。然后,根据用户对游戏A的操作(例如语音、手势或鼠标操作),识别出用户的当前的意图,执行当前的意图对应的代码,一步步返回该游戏A中与当前意图对应的资源。In one application scenario, after the device picks up the user's voice to be executed, it can send the voice to the voice recognition module. The speech recognition module can perform ASR (Automatic Speech Recognition, automatic speech recognition) processing on the speech to obtain text, and perform NLU (Natural Language Understanding, natural speech understanding) processing on the text to obtain the intention to be executed. The speech recognition module can be set in an independent server, or can be set in the development end, service generation end, service deployment end, etc. After the intent to be executed is recognized from the voice to be executed, the skill service to which the intent belongs is searched, and the intent is sent to the service deployment end where the skill service is deployed. The service deployment end executes the skill service code corresponding to the intent. During code execution, corresponding resources can be returned to the device. For example, the speaker picks up the "I want to play game A" sent by the user, sends the voice to the service generator, performs voice recognition, and determines that the intention to be executed is to open game A. Send the intent to be executed to the server where game A is deployed. In the server, the code of game A is found according to the intent to be executed. Execute the code of game A, and return the main interface of game A to the speaker. The main interface can include images, text, sound effects, videos, etc. Then, according to the user's operation on game A (such as voice, gesture or mouse operation), the user's current intention is recognized, the code corresponding to the current intention is executed, and the resource corresponding to the current intention in game A is returned step by step.
图4示出根据本发明实施例的服务生成装置的结构框图。如图4所示,该服务生成装置,可以包括:Fig. 4 shows a structural block diagram of a service generation device according to an embodiment of the present invention. As shown in Figure 4, the service generation device may include:
获取模块51,用于获取技能对应的描述文件;An acquisition module 51, configured to acquire a description file corresponding to the skill;
转换模块52,用于将所述描述文件转换成技能服务代码;A conversion module 52, configured to convert the description file into a skill service code;
部署模块53,用于利用所述技能服务代码部署对应的技能服务。The deployment module 53 is configured to deploy the corresponding skill service by using the skill service code.
在一种实施方式中,如图5所示,所述获取模块51包括:In one embodiment, as shown in FIG. 5, the acquisition module 51 includes:
接收子模块511,用于接收来自开发端的所述技能的属性信息;A receiving submodule 511, configured to receive attribute information of the skill from the development end;
编辑子模块512,用于编辑所述技能的业务逻辑;Editing sub-module 512, configured to edit the business logic of the skill;
生成子模块513,用于根据所述属性信息和所述业务逻辑,生成所述技能对应的描述文件。The generation sub-module 513 is configured to generate a description file corresponding to the skill according to the attribute information and the business logic.
在一种实施方式中,在开发端的对话式人工智能系统的开放平台例如DBP创建技能时生成技能的属性信息。技能的属性信息可以包括技能的类型、基本信息和技能入口意图中的至少一种,技能的基本信息可以包括技能的名称、图标、权属信息、宣传话术、展示图像、计费信息中的至少一种。其中,权属信息可以包括作者、厂家等。技能入口意图可以包括启动该技能的意图。例如,“打开游戏A”,“进入游戏A”等。In one embodiment, the attribute information of the skill is generated when the open platform of the conversational artificial intelligence system at the development end, such as DBP, creates the skill. The attribute information of the skill may include at least one of the type of skill, basic information and skill entry intent, and the basic information of the skill may include the name of the skill, icon, ownership information, promotional words, display images, and information in the billing information. at least one. Wherein, the ownership information may include an author, a manufacturer, and the like. A skill entry intent may include an intent to activate the skill. For example, "Open Game A", "Enter Game A", etc.
在一种实施方式中,所述转换模块52包括:In one embodiment, the conversion module 52 includes:
重组子模块521,用于将所述描述文件中的资源重新组织后,保存到存储端,并获取资源在所述存储端的存储位置;The reorganization submodule 521 is configured to reorganize the resources in the description file, save them to the storage end, and obtain the storage location of the resources in the storage end;
注册子模块522,用于根据所述描述文件,进行所述技能的意图注册,得到注册结果;The registration sub-module 522 is configured to register the intention of the skill according to the description file, and obtain a registration result;
转换子模块523,用于根据所述描述文件包括的所述属性信息和所述业务逻辑,以及所述注册结果,将所述描述文件转换成技能服务代码。The conversion sub-module 523 is configured to convert the description file into a skill service code according to the attribute information, the business logic included in the description file, and the registration result.
在一种实施方式中,所述部署模块53还用于将所述技能服务代码保存到指定的服务部署端;或者,将所述技能服务代码和所述描述文件保存到指定的服务部署端;其中,所述服务部署端包括对象存储系统、内容分发网络中的至少一种。In one embodiment, the deployment module 53 is further configured to save the skill service code to a designated service deployment end; or, save the skill service code and the description file to a designated service deployment end; Wherein, the service deployment end includes at least one of an object storage system and a content distribution network.
在一种实施方式中,该装置还包括:In one embodiment, the device also includes:
接收模块61,用于接收待执行语音;The receiving module 61 is used to receive the voice to be executed;
识别模块62,用于从所述待执行语音中识别出待执行意图;A recognition module 62, configured to recognize the intention to be executed from the speech to be executed;
发送模块63,用于将所述待执行意图发送到服务部署端,由所述服务部署端执行所述待执行意图对应的技能服务代码。The sending module 63 is configured to send the intent to be executed to a service deployment end, and the service deployment end executes the skill service code corresponding to the intent to be executed.
本发明实施例服务生成装置中的各模块的功能可以参见上述服务生成方法中的对应描述,在此不再赘述。For the functions of each module in the service generating apparatus in the embodiment of the present invention, reference may be made to the corresponding description in the above service generating method, and details are not repeated here.
图6示出根据本发明实施例的服务生成系统的结构框图。如图6所示,该服务生成系统可以包括:Fig. 6 shows a structural block diagram of a service generating system according to an embodiment of the present invention. As shown in Figure 6, the service generation system may include:
开发端71,用于创建技能,并保存所述技能的属性信息。在对话式人工智能系统的开放平台例如DBP创建技能时可以生成技能的属性信息。其中,技能的属性信息可以包括技能的类型、基本信息和技能入口意图中的至少一种,技能的基本信息可以包括技能的名称、图标、权属信息、宣传话术、展示图像、计费信息中的至少一种。其中,权属信息可以包括作者、厂家等。技能入口意图可以包括启动该技能的意图。例如,“打开游戏A”,“进入游戏A”等。The development terminal 71 is used to create a skill and save attribute information of the skill. Attribute information of skills can be generated when skills are created on an open platform of a conversational artificial intelligence system such as DBP. Wherein, the attribute information of the skill may include at least one of the type of the skill, basic information, and the entry intention of the skill, and the basic information of the skill may include the name of the skill, icon, ownership information, promotional words, display images, and billing information at least one of the Wherein, the ownership information may include an author, a manufacturer, and the like. A skill entry intent may include an intent to activate the skill. For example, "Open Game A", "Enter Game A", etc.
服务生成端72,包括上述实施例中任意一种结构的服务生成装置。The service generating end 72 includes a service generating device with any structure in the above-mentioned embodiments.
在一种实施方式中,如图7所示,该系统还包括:In one embodiment, as shown in Figure 7, the system also includes:
第一存储端73,用于存储描述文件;The first storage terminal 73 is used to store the description file;
第二存储端74,用于存储重新组织后的所述描述文件中的资源。The second storage terminal 74 is used for storing resources in the reorganized description file.
在一种实施方式中,该系统还包括:In one embodiment, the system also includes:
服务部署端75,用于保存各技能的技能服务代码。The service deployment terminal 75 is used to save the skill service code of each skill.
在一种实施方式中,该系统还包括:In one embodiment, the system also includes:
设备端76,用于检测待执行语音,向所述服务生成端72发送所述待执行语音,以在所述服务生成端72识别出待执行意图;The device end 76 is used to detect the voice to be executed, and send the voice to be executed to the service generation end 72, so as to identify the intention to be executed at the service generation end 72;
所述服务部署端75还用于接收所述待执行意图,执行所述待执行意图对应的技能服务代码,在执行所述技能服务代码的过程中向设备端发送对应的资源。The service deployer 75 is also configured to receive the intent to be executed, execute the skill service code corresponding to the intent to be executed, and send the corresponding resource to the device during the execution of the skill service code.
本发明实施例服务生成系统中的各装置的功能可以参见上述服务生成方法中的对应描述,在此不再赘述。For the functions of each device in the service generation system in the embodiment of the present invention, reference may be made to the corresponding description in the above service generation method, which will not be repeated here.
应用示例一Application example one
以游戏开发为例,服务生成系统可以为对话式AI(Artificial Intelligence,人工智能)系统的游戏开发集成系统。该对话式AI系统的游戏开发集成系统可以是一个面向角色扮演的冒险类游戏/故事集成开发环境/平台,实现语音技能游戏/故事的无编程开发,用户可以无需编程进行语音技能的相关开发操作。Taking game development as an example, the service generation system may be a game development integration system of a conversational AI (Artificial Intelligence, artificial intelligence) system. The game development integration system of the conversational AI system can be a role-playing adventure game/story integrated development environment/platform, which realizes the non-programming development of voice skill games/story, and users can carry out related development operations of voice skills without programming .
开发者可以通过该系统,选择模版或者自定义业务逻辑,采用可视化编辑的形式生成剧情描述文件。系统可以根据剧情描述文件生成对应的技能服务代码并完成部署。开发者可以进行在线模拟和真机测试,来验证具体的应用。通过可视化编辑剧情,服务更新技术会更新线上的服务,TTS(Text To Speech,从文本到语音)的个性化合成可以提升服务的感染力,使应用更富个性。另外,对于已有脚本化描述的游戏,也可以将已有的游戏脚本转化移植为符合本方案的剧情描述文件结构的文件,进而生成代码并完成部署,实现对话式语音服务。Through this system, developers can select templates or customize business logic to generate plot description files in the form of visual editing. The system can generate the corresponding skill service code according to the plot description file and complete the deployment. Developers can conduct online simulation and real machine testing to verify specific applications. Through visual editing of the plot, the service update technology will update the online service, and the personalized synthesis of TTS (Text To Speech, from text to speech) can enhance the appeal of the service and make the application more personalized. In addition, for games with existing scripted descriptions, the existing game scripts can also be converted and transplanted into files conforming to the plot description file structure of this solution, and then codes are generated and deployed to realize conversational voice services.
如图8所示,该系统的架构如下:As shown in Figure 8, the architecture of the system is as follows:
视图(view)层,实现可视化编辑器的功能,输出结果是剧情描述文件。在视图层可以只编辑剧情描述文件,不存储剧情描述文件。例如,将剧情描述文件存储到BOS。视图层可以接收来自开发端的技能的属性信息。在视图层可以利用可视化编辑器实现前端用户设计、编辑技能的业务逻辑的文本、图形等内容。The view (view) layer realizes the function of the visual editor, and the output result is a plot description file. In the view layer, only the plot description file can be edited, and the plot description file is not stored. For example, store the scenario description file to BOS. The view layer can receive attribute information of skills from the development side. In the view layer, the visual editor can be used to realize the text and graphics of the business logic of front-end user design and editing skills.
服务(service)层,提供视图层向控制器层请求的分发和返回,将可视化编辑器的输出结果发送给控制器(controller)层,起到中转作用。通过服务层可以将生成的剧情描述文件保存到存储层。The service (service) layer provides the distribution and return of the request from the view layer to the controller layer, and sends the output of the visual editor to the controller (controller) layer, which plays a transit role. The generated plot description file can be saved to the storage layer through the service layer.
控制器(controller)层,根据剧情描述文件生成代码,并部署服务。控制器层可以包括服务生成端。The controller (controller) layer generates code according to the scenario description file and deploys the service. The controller layer may include service generators.
存储层例如DAO(data access object,数据访问对象)层,可以作为平台数据库,用于存储技能的剧情描述文件。The storage layer, such as DAO (data access object, data access object) layer, can be used as a platform database to store the plot description files of skills.
外部服务,可以包括例如BOS、TTS生成服务、音频数据库、图像库等。其中,BOS存储可以直接推送到CDN(Content Delivery Network,内容分发网络)。音频数据库、图像库可以存储剧情描述文件重整后的音频、图像等。TTS生成服务可以对剧情描述文件中需要转换为语音的文字进行转换。External services, which may include, for example, BOS, TTS generation services, audio databases, image libraries, etc. Among them, BOS storage can be directly pushed to CDN (Content Delivery Network, content distribution network). The audio database and the image library can store the audio and images reconstructed from the plot description file. The TTS generation service can convert the text in the plot description file that needs to be converted into speech.
此外,该系统还可以通过开放平台与设备端交互。例如,通过集成在开发平台例如DBP中BOT引擎与设备端交互。In addition, the system can also interact with the device side through an open platform. For example, the BOT engine interacts with the device side by integrating it in a development platform such as DBP.
其中,控制器层主要实现以下功能:Among them, the controller layer mainly realizes the following functions:
1)生成代码。读取剧情描述文件,得到剧情描述文件的结构、内容和配置等。在控制器层生成PHP(Hypertext Preprocessor,超文本预处理器)或其他编程语言的代码。1) Generate code. Read the plot description file to get the structure, content and configuration of the plot description file. Generate PHP (Hypertext Preprocessor, hypertext preprocessor) or other programming language codes at the controller layer.
2)资源转化。将剧情描述文件中的资源重新组织后放到指定的位置,DAO(dataaccess object,数据访问对象)层、CDN等。代码化过程中,通过控制器层将剧情描述文件中的资源例如图像、音频等重新拆分整理。例如,对资源中的图像转存到新的存储设备,将资源中的作为语音输出的文本通过TTS方式转换成文本,进行SSML(Speech SynthesisMarkup Language,语音合成标记语言)拼接等。然后,将重新整理的资源存储到指定的位置,例如不同的DAO层、外部服务中。在生成的代码中该可以包括将重新整理的资源的存储位置。2) Resource conversion. Reorganize the resources in the plot description file and put them in the specified location, DAO (data access object, data access object) layer, CDN, etc. During the coding process, the resources in the plot description file, such as images and audio, are reorganized through the controller layer. For example, the image in the resource is transferred to a new storage device, the text output as speech in the resource is converted into text by TTS, and SSML (Speech Synthesis Markup Language, Speech Synthesis Markup Language) splicing is performed. Then, store the rearranged resources in a specified location, such as different DAO layers, external services. In the generated code this can include the storage location of the resource that will be rearranged.
在代码化过程中,还可以进行意图和词典的注册。例如,从剧情描述文件中提取技能的入口意图以及各个场景对应的意图。将这些意图注册到对话式人工智能系统的的开放平台例如DBP。每个意图可以包括一个或多个词,将这些词保存到开放平台的词典系统中。这样,在开放平台,如果收到用户语音,可以识别用户语音得到意图,并确定意图所归属的技能。此外,还可以将表示同一意图的不同表达的相关话术保存到词典系统中。在部署服务后,如果开放平台收到用户语音,可以根据语音中的意图查找到所属的技能,并将该意图发送给部署了该技能的服务器处理。In the codification process, registration of intents and dictionaries can also be performed. For example, the entry intent of the skill and the intent corresponding to each scene are extracted from the plot description file. Register these intents with open platforms such as DBP for conversational AI systems. Each intent can include one or more words, which are stored in the dictionary system of the open platform. In this way, on the open platform, if the user's voice is received, the user's voice can be recognized to obtain the intent, and the skill to which the intent belongs can be determined. In addition, related phrases representing different expressions of the same intention can also be saved in the dictionary system. After the service is deployed, if the open platform receives the user's voice, it can find out the skill it belongs to according to the intent in the voice, and send the intent to the server where the skill is deployed for processing.
3)服务部署,控制器层将生成的执行代码保存到指定服务器,也可以将描述文件与代码一起保存到指定服务器。执行服务的代码时,可以从该代码对应的描述文件中读取资源,也可以从该代码所指示的数据库的存储位置读取资源。3) Service deployment, the controller layer saves the generated execution code to the designated server, and may also save the description file and the code to the designated server. When executing the code of the service, the resource can be read from the description file corresponding to the code, or the resource can be read from the storage location of the database indicated by the code.
如图9所示,服务开发的具体流程如下:As shown in Figure 9, the specific process of service development is as follows:
S101、在对话式人工智能系统的开放平台创建技能。S101. Creating a skill on an open platform of a conversational artificial intelligence system.
S102、分配新的技能类型S102. Assigning a new skill type
S103、保存技能基本信息.S103. Save the basic skill information.
S104、保存技能意图信息。S104. Save the skill intent information.
其中,对话式人工智能系统的开放平台例如DBP(DuerOS Bot Platform),可以使用可视化编辑器的功能。DuerOS是一种对话式人工智能操作系统,DBP是DuerOS的开放平台。BOT可以是聊天机器人对话系统。Among them, the open platform of the conversational artificial intelligence system, such as DBP (DuerOS Bot Platform), can use the function of the visual editor. DuerOS is a conversational artificial intelligence operating system, and DBP is an open platform of DuerOS. A BOT can be a chatbot dialogue system.
其中,技能可以包括基于Web服务(Web Services)的互联网应用,例如游戏服务、故事服务等,技能也可以称为应用服务。Wherein, the skills may include Internet applications based on Web Services (Web Services), such as game services, story services, etc., and the skills may also be called application services.
技能类型可以包括多种,例如:游戏,故事等。Skill types can include many types, such as: games, stories, etc.
技能基本信息可以包括:名字如“游戏A”,图标,作者,是否收费,厂家,宣传话术、权属信息、展示图像等。Basic skill information can include: name such as "Game A", icon, author, whether to charge, manufacturer, promotional words, ownership information, display images, etc.
技能意图信息可以包括技能入口意图。技能入口意图可以表达怎么进入该技能。例如,“打开游戏A”、“我要玩儿游戏A”。Skill intent information may include skill entry intent. The skill entry intent can express how to enter the skill. For example, "Open Game A", "I want to play Game A".
根据技能类型、技能基本信息和技能入口意图这些属性信息可以区分本服务与其他服务。This service can be distinguished from other services based on attribute information such as skill type, basic skill information and skill entry intent.
S105、在游戏工厂创建剧情描述文件。剧情描述文件也简称为脚本(script)。例如:游戏工厂从开放平台接收技能的技能类型、技能基本信息和技能入口意图等属性信息后,可以生成具有一定结构的剧情描述文件。剧情描述文件中包括该技能的属性信息和业务逻辑。技能的业务逻辑可以包括该技能的各个场景。例如,游戏技能的业务逻辑包括该游戏技能在每个场景需要展示的内容。再如,故事技能的业务逻辑包括该故事技能的各个场景的故事内容。S105. Create a plot description file in the game factory. The plot description file is also referred to as a script for short. For example: Game Factory can generate a plot description file with a certain structure after receiving attribute information such as skill type, basic skill information, and skill entry intent from the open platform. The plot description file includes attribute information and business logic of the skill. The business logic of a skill can include each scenario of the skill. For example, the business logic of a game skill includes the content that the game skill needs to display in each scene. For another example, the business logic of a story skill includes the story content of each scene of the story skill.
S106、生成的剧情描述文件可以保存到指定位置如BOS系统。S106. The generated scenario description file can be saved to a designated location such as a BOS system.
S107、如果更新的剧情描述文件,将更新后的文件上传到对象存储系统例如BOS系统,生成并保存剧情描述文件在BOS中对应的存储地址例如URL(Uniform ResourceLocator,统一资源定位符)。S107. If the plot description file is updated, upload the updated file to the object storage system such as the BOS system, generate and save the storage address corresponding to the plot description file in the BOS such as URL (Uniform ResourceLocator, Uniform Resource Locator).
S108、代码化时利用代码生成器可以将剧情描述文件按转化为技能服务代码。可以转换成多种不同编程语言的代码,例如PHP或其他编程语言的代码。代码化过程中,对剧情描述文件中的资源进行重新组织,存放到指定位置。S108. When coding, use the code generator to convert the scenario description file into a skill service code. Code that can be converted into many different programming languages, such as PHP or other programming languages. During the coding process, the resources in the plot description file are reorganized and stored in the designated location.
在代码化过程中,可以更新意图表达。更新意图表达可以理解为泛化过程。例如:有个意图叫“进门”,可以泛化为“进去”、“走进门”,将某个意图更新为多种常用表达,从而通过多种表达来表示同一个意图。During codification, intent expressions can be updated. Updating intent expression can be understood as a generalization process. For example: there is an intention called "entering the door", which can be generalized as "going in" and "walking through the door", and updating a certain intention into multiple common expressions, so as to express the same intention through multiple expressions.
已生成的剧情描述文件不变,在对剧情描述文件代码化并部署服务时更新意图表达。这样,使得在线上服务时,一个意图可以对应多个表达。例如,可视化编辑时技能入口意图只包括进门,在代码化时可以将“进门”这个意图为多种不同表达“进去”、“走进去”等。The generated scenario description file remains unchanged, and the intent expression is updated when the scenario description file is coded and the service is deployed. In this way, when serving online, one intent can correspond to multiple expressions. For example, when visually editing, the skill entry intention only includes entering the door. When coding, the intent of "entering the door" can be expressed as "going in", "walking in", etc.
然后进行服务部署:将代码存放到指定服务器,代码审核通过后可以发布上线。上线完成后,也可以将剧情描述文件也推送到部署了代码的服务器。Then perform service deployment: store the code in a designated server, and release it online after passing the code review. After the online is completed, the plot description file can also be pushed to the server where the code is deployed.
应用示例二Application example two
剧情描述文件类似于有向图(DAG,Directed Acyclic Graph)。有向图可以从根节点分成二叉树或其他树状结构,一步步根据条件沿不同分支往下进行。用一系列符号表示出业务逻辑的每个场景的流程。每个场景可能包括多个环节或步骤。每个节点可以由不同的方式描述。例如,根节点可以包括技能入口意图。根节点的下一级节点可以包括进入技能后的下一场景。The plot description file is similar to a directed graph (DAG, Directed Acyclic Graph). Directed graphs can be divided into binary trees or other tree structures from the root node, step by step along different branches according to conditions. Use a series of symbols to represent the flow of each scenario of business logic. Each scenario may include multiple links or steps. Each node can be described in different ways. For example, a root node may include a skill entry intent. The next-level nodes of the root node may include the next scene after entering the skill.
例如,对“猜数”游戏的场景进行剧情描述,每个场景都体现在剧情描述文件中。假设“猜数”游戏包括的第一个场景为第一方出数字,第二个场景为第二方猜数字,可以将每个场景需要展现的画面、音乐、文字通过节点等形式体现在剧情描述文件中。For example, to describe the plot of the scene of the "guess the number" game, each scene is reflected in the plot description file. Assuming that the "guess the number" game includes the first scene where the first party draws the number, and the second scene is the second party guessing the number, the pictures, music, and text that need to be displayed in each scene can be reflected in the plot through nodes, etc. description file.
游戏具体的业务逻辑在剧情描述文件中实现,剧情描述文件中还包括该游戏的外部的属性信息:入口信息、名称、作者产权、厂家、宣传话术、权属信息、展示图像等。The specific business logic of the game is implemented in the plot description file, which also includes the external attribute information of the game: entry information, name, author's property right, manufacturer, promotional words, ownership information, display images, etc.
该剧情描述文件可以采用XML或JSON等格式描述。其中,该文件可以包括纯文本描述,通过可视化编辑生成描述文件的展示部分。利用描述文件可以一键式生成代码。The plot description file can be described in formats such as XML or JSON. Wherein, the file may include a plain text description, and the presentation part of the description file is generated through visual editing. The description file can be used to generate code with one click.
剧情描述文件结构可以包括章节(session)、节点(node)、卡片(card)、展示(show)、模板(template)、提示(hint)、讲话(speech)、条件相关状态(condition)、用户相关状态(state)等组件。其中,card、show、template属于展现形式,show可以表示与DPL(DuerOS Presentation Language,DuerOS展现语言)有关的展现形式以及其他的扩展形式。hint表示指引提示,speech表示语音。state表示剧情中当前与用户相关的状态,例如体力。condition与环境变化、条件、计算等相关。例如,有风、货物不足等。The plot description file structure can include chapter (session), node (node), card (card), display (show), template (template), prompt (hint), speech (speech), condition-related state (condition), user-related State (state) and other components. Among them, card, show, and template belong to presentation forms, and show may represent presentation forms related to DPL (DuerOS Presentation Language, DuerOS presentation language) and other extended forms. hint means guidance prompt, and speech means voice. state represents the current state related to the user in the plot, such as physical strength. condition is related to environmental changes, conditions, calculations, etc. For example, windy, insufficient cargo, etc.
可以预先设置每种组件对应的属性,例如JSON格式描述。例如,章节组件的属性可以包括:游戏名、游戏类型、包括的节点、背景图像、章节标识、欢迎节点等。再如,节点组件的属性可以包括节点标识、节点名称、节点类型、该节点对应的场景等。展示组件的属性可以包括模板、DPL描述等属性。在可视化编辑器的界面中可以设置这些属性的具体内容。The properties corresponding to each component can be preset, such as a description in JSON format. For example, the properties of the chapter component may include: game name, game type, included nodes, background image, chapter logo, welcome node, and so on. For another example, the attributes of the node component may include a node identifier, a node name, a node type, a scene corresponding to the node, and the like. The properties of the presentation component may include properties such as templates and DPL descriptions. The specific content of these properties can be set in the interface of the visual editor.
在剧情描述文件结构中,节点是重要的组件。节点类型可以包括:欢迎节点、结束节点、退出节点、交互节点(各种对话的节点类)和自动跳转节点。其中,欢迎节点可以对应根节点例如技能入口。退出节点可以对应玩了一部分需要退出的情况。交互节点可以对应各种对话的场景。自动跳转节点可以对应过渡性场景。例如点击“我要去长安”后,屏幕滚动,并显示关于长安的介绍内容“长安是......”。再如,游戏通关之后,自动跳转到“欢迎你”等场景,再跳转到下一个交互节点。通过自动跳转节点可以自动跳转到下一个场景对应的节点,用户不用交互。In the scenario description file structure, nodes are important components. Node types may include: welcome node, end node, exit node, interactive node (node class of various dialogues) and automatic jump node. Wherein, the welcome node may correspond to a root node such as a skill entry. The exit node can correspond to the situation where a part of the game needs to be exited. Interaction nodes can correspond to various dialogue scenarios. Automatic jump nodes can correspond to transitional scenes. For example, after clicking "I'm going to Chang'an", the screen scrolls and displays the introduction content about Chang'an "Chang'an is...". For another example, after the game is cleared, it will automatically jump to "Welcome" and other scenes, and then jump to the next interactive node. By automatically jumping to the node, you can automatically jump to the node corresponding to the next scene, and the user does not need to interact.
剧情描述文件中可以包括多个章节,每个章节可以包括多个节点,每个节点可以对应一个场景。可以根据场景的需要来设置节点的属性内容。例如,增加一个节点,设置该节点中表示某人的说什么话、有没有交互、进入的另一个场景(对应的节点)等的属性内容。游戏包括的所有场景(对应的节点)以及执行顺序都编辑好之后,点击生成,可以生成该游戏的剧情描述文件,再解析描述文件生成代码。The plot description file may include multiple chapters, each chapter may include multiple nodes, and each node may correspond to a scene. The attribute content of the node can be set according to the needs of the scene. For example, add a node, and set the attribute content in the node indicating what someone said, whether there is interaction, another scene entered (corresponding node), etc. After editing all the scenes (corresponding nodes) and execution order included in the game, click Generate to generate the plot description file of the game, and then parse the description file to generate code.
在剧情描述文件中,展示类场景可以采用DPL描述。例如,游戏场景包括:用户说“进酒店”,进来之后,酒保说“你想吃什么”,用户说“我想吃牛肉”。后台服务,酒保说“牛肉AA钱”,并展示DPL描述实现的牛肉图像“一盘牛肉”,酒保说“你要吃这盘牛肉吗?”,再返回系统。其中,描述文件中需要显示的对话、牛肉图像等,可以采用DPL描述。In the plot description file, the display scene can be described by DPL. For example, the game scenario includes: the user says "enter the hotel", after entering, the bartender says "what do you want to eat", and the user says "I want to eat beef". Backstage service, the bartender said "beef AA money", and displayed the beef image realized by DPL description "a plate of beef", the bartender said "do you want to eat this plate of beef?", and then returned to the system. Among them, the dialogs, beef images, etc. that need to be displayed in the description file can be described by DPL.
在可视化编辑器中还可以设置设备的信息,以便于服务可以适配不同的展示设备。例如,当设备端的用户的语音经过对话式AI系统到达技能服务时,技能服务除了返回有效的语音播报之外,还可以根据设备端的屏幕类型生成对于的DPL描述,返回给对话式AI系统。对话式AI系统的开放平台将DPL描述转换成具体的信息,显示到设备端的屏幕上。其中,屏幕类型可以包括:有屏幕,无屏幕,屏幕大小等。根据屏幕类型生成DPL描述的示例包括:假设需要在设备端展示一张图像和一个音频。将该图和音频的DPL描述存放在根节点上,对于无屏幕的音箱只返回音频,对于有屏幕的音箱可以返回音频和图像。Device information can also be set in the visual editor so that the service can adapt to different display devices. For example, when the voice of the user on the device reaches the skill service through the conversational AI system, the skill service can generate a corresponding DPL description according to the screen type of the device and return it to the conversational AI system in addition to returning an effective voice broadcast. The open platform of the conversational AI system converts the DPL description into specific information and displays it on the screen of the device. Wherein, the screen type may include: with screen, without screen, screen size and so on. An example of generating a DPL description according to a screen type includes: suppose that an image and an audio need to be displayed on the device side. Store the DPL description of the graph and audio on the root node, and only return audio for speakers without a screen, and return audio and images for speakers with a screen.
在一种示例中,假设游戏名称为“游戏xx”,游戏的业务逻辑包括多个场景。In an example, assume that the game name is "game xx", and the business logic of the game includes multiple scenarios.
场景一:在进入游戏后,展现“欢迎来到游戏xx,请说开始游戏”,再次进入游戏后,展现“欢迎再次来到游戏模拟,请说继续游戏”。展现的内容可以采用card、show、speech等多种组件展现形式。该场景可以使用欢迎节点。Scene 1: After entering the game, it displays "Welcome to game xx, please say start the game", and after entering the game again, it displays "Welcome to the game simulation again, please say continue the game". The displayed content can be displayed in the form of various components such as card, show, and speech. This scene can use welcome node.
场景二:在游戏中进入某个饭店后,展现“你来到了饭店,请问你要吃什么”,再次进入该饭店后,展现“你又来到了饭店,请问你要吃什么”。展现的内容可以采用card、show、speech等多种组件展现形式。该场景可以使用交互节点。Scene 2: After entering a restaurant in the game, it displays "You have come to the restaurant, what do you want to eat", and after entering the restaurant again, it displays "You have come to the restaurant again, what do you want to eat". The displayed content can be displayed in the form of various components such as card, show, and speech. This scene can use interaction nodes.
场景三:需要退出游戏时,展现“您确定要退出游戏么”,经用户确认后退出游戏。展现的内容可以采用card、show、speech等多种组件展现形式。该场景可以使用退出节点。Scenario 3: When it is necessary to exit the game, display "Are you sure you want to exit the game", and exit the game after the user confirms. The displayed content can be displayed in the form of various components such as card, show, and speech. This scene can use exit nodes.
根据以上场景,分别确定各场景对应的节点,设置节点中的各属性的内容,生成包括例如JSON格式的逻辑描述伪代码的描述文件。描述文件中可以包括游戏名称、节点、游戏的各场景等。According to the above scenarios, the nodes corresponding to each scenario are respectively determined, the content of each attribute in the node is set, and a description file including, for example, a logical description pseudocode in JSON format is generated. The description file may include the game name, nodes, various scenes of the game, and so on.
本发明实施例的服务生成系统适用于带有屏幕的智能语音设备的交互场景,能够在计算和存储资源受限的显示设备上获得良好的可视化交互体验。本发明实施例的服务生成系统也适用于不带屏幕的设备的交互场景。The service generation system of the embodiment of the present invention is applicable to the interaction scene of the intelligent voice device with a screen, and can obtain a good visual interaction experience on the display device with limited computing and storage resources. The service generation system in the embodiment of the present invention is also applicable to the interaction scene of the device without a screen.
本发明实施例中的剧情描述文件可以利用可视化编辑器生成。The scenario description file in the embodiment of the present invention can be generated using a visual editor.
如图10a、图10b和图10c所示,可视化编辑器的界面可以分成为模板选择界面和代码编辑界面。As shown in Fig. 10a, Fig. 10b and Fig. 10c, the interface of the visual editor can be divided into a template selection interface and a code editing interface.
示例性地,如图10a所示,用户可以在模板选择界面进行以下操作:Exemplarily, as shown in Figure 10a, the user can perform the following operations on the template selection interface:
1)从头开始创建新的展现形式。例如,响应于对新创建选项“从头开始创建”的选择操作,跳转到创建新展现形式的页面。1) Create a new representation from scratch. For example, in response to a selection operation of the new creation option "create from scratch", jump to a page for creating a new presentation form.
2)上传代码文件或资源文件等。例如,响应于对上传文件选项“上传代码”的选择操作,跳转到上传代码文件或资源文件的页面。2) Upload code files or resource files, etc. For example, in response to the selection operation of the upload file option "upload code", jump to a page for uploading code files or resource files.
3)选择系统默认的展现形式或模版。例如,响应于对某个模板的选择操作,加载所选择的模板。3) Select the default display form or template of the system. For example, in response to a selection operation on a certain template, the selected template is loaded.
在模板选择界面,用户可以选择喜欢的布局模板来创建技能,可以上传代码文件或者从头开始创建技能。布局模板包括多种,例如简单图片、长文本、短文本、图文混合。In the template selection interface, users can choose their favorite layout template to create skills, upload code files or create skills from scratch. There are various layout templates, such as simple pictures, long text, short text, and mixed graphics and text.
如图10b所示,在代码编辑界面可以进行以下操作:As shown in Figure 10b, the following operations can be performed on the code editing interface:
1)将可以展现的字段,通过页面展现框图直接呈现。1) The fields that can be displayed are directly presented through the page display block diagram.
例如,左侧显示了清晰的框架结构和层级关系;右侧直接提示用户可以修改的字段,在文本框内可以进行编辑。For example, the left side shows a clear frame structure and hierarchical relationship; the right side directly prompts the user to edit the fields that can be edited in the text box.
2)选择全局属性后显示影响全局的代码框架,比如文件,风格,资源,用户的修改将会修改全局的展现状态。2) After selecting the global attribute, display the code framework that affects the global, such as files, styles, resources, and user modifications will modify the global display state.
3)选择不同的设备。例如,用户点击顶部的设备选择控件,下方将会呈现不同的模拟器效果(各个设备的屏幕类型可能不同)。3) Choose a different device. For example, if the user clicks the device selection control on the top, different emulator effects will be presented below (the screen types of each device may be different).
4)导出代码。右上角为代码导出控件,用户可以点击该控件导出文件的代码。4) Export code. The upper right corner is the code export control, users can click this control to export the code of the file.
如图10c所示,为切换为代码编辑后的示意图。切换为代码编辑后,底部可以全部为代码编辑的操作区间。在该操作区间内可以修改代码。As shown in Figure 10c, it is a schematic diagram after switching to code editing. After switching to code editing, the bottom part can all be the operation area of code editing. Code can be modified within this operating range.
采用可视化编辑器的优势包括:Advantages of using the visual editor include:
1.将复杂的前端编辑界面通过流程化的框图展现,层级结构清晰,并且可点击直接编辑,操作方便。1. The complex front-end editing interface is displayed through a streamlined block diagram, the hierarchical structure is clear, and it can be directly edited by clicking, which is easy to operate.
2.可以选择不同的设备,从而可以模拟不同设备的展现效果,并且每次编辑可以实时展现不同设备的模拟显示效果。2. Different devices can be selected, so that the display effects of different devices can be simulated, and each edit can display the simulated display effects of different devices in real time.
3.支持展现框架图和代码选择呈现,极大提升开发效率。3. Supports the presentation of frame diagrams and code selection, which greatly improves development efficiency.
4.支持代码导出,内置丰富的模板。4. Support code export, built-in rich templates.
5.将核心逻辑部分的模块拆分,选择后直接代码编辑。5. Split the modules of the core logic part, and edit the code directly after selection.
应用示例三Application example three
可以将剧情描述文件自动转化为PHP代码。例如根据剧情描述文件结构中的各组件、各组件的逻辑关系等,生成对应的PHP代码。在代码生成过程中,可以进行资源转化。例如:如果描述文件中给出图像,可以将图像存放到CDN。如果剧情描述文件中给出文本,将文本转换成声音。此外,还可以进行意图和词典注册。从剧情描述文件中提取意图,完成意图注册,并利用与意图类似的常用话术进行词典注册。The plot description file can be automatically converted into PHP code. For example, corresponding PHP codes are generated according to each component in the plot description file structure, the logical relationship of each component, and the like. During code generation, resource transformations can be performed. For example: if an image is given in the description file, the image can be stored in CDN. If text is given in the scenario description file, convert the text to sound. In addition, intent and dictionary registration is possible. Extract the intention from the plot description file, complete the intention registration, and use the common words similar to the intention to register the dictionary.
然后,将生成的技能服务代码部署到指定的服务器。例如将技能服务部署到对话式人工智能系统的开放平台例如DBP生成的一个存储空间。执行技能服务时,可以将话术文本资源返回到开放平台,由开放平台最终返回到设备端(例如智能音箱)。技能服务部署到哪些服务器上可以采用一定算法来确定。例如根据云上有多少服务器、负载状况、空间状况、新申请服务器、复用一个或多个服务器等,来确定如何部署服务。部署服务之后,对服务进行审核,审核通过后可以上线。Then, deploy the generated skill service code to the specified server. For example, deploy the skill service to a storage space generated by the open platform of the conversational artificial intelligence system, such as DBP. When executing the skill service, the speech text resource can be returned to the open platform, and the open platform will finally return it to the device (such as a smart speaker). Which servers the skill service is deployed to can be determined using a certain algorithm. For example, determine how to deploy services based on the number of servers on the cloud, load conditions, space conditions, new application servers, reuse of one or more servers, etc. After the service is deployed, the service is reviewed and can be launched after the review is passed.
此外,在可视化编辑器,可以点击编辑意图或词典。语音会变成事件类似于鼠标点击所产生的事件,即技能服务所注册的意图。对话式人工智能系统的开放平台将用户的语音经ASR和NLU后识别出意图。将所识别出的意图发到所生成代码所在的服务器上。服务器收到意图后,执行该意图对应的代码。In addition, in the visual editor, you can click to edit intents or dictionaries. Speech turns into events similar to mouse clicks, intents registered with the skill service. The open platform of the conversational artificial intelligence system recognizes the user's voice through ASR and NLU to identify the intent. The recognized intent is sent to the server where the generated code resides. After receiving the intent, the server executes the code corresponding to the intent.
例如,用户对着音箱说“打开游戏A”语音,音箱将该语音发送到开放平台转换为意图。开放平台根据意图注册的信息可以查找到该意图所归属的“游戏A”技能服务,从而将该意图发到部署了“游戏A”技能服务的服务器。服务器收到该意图后,执行该意图对应的技能服务代码。将执行结果返回开放平台。如果有DPL描述,开放平台可以通过DPL进行视觉展示。开放平台向智能音箱或其他设备端发送这个服务资源例如声音,图像等。For example, the user speaks the voice of "open game A" to the speaker, and the speaker sends the voice to the open platform to convert it into an intent. The open platform can find out the “Game A” skill service to which the intent belongs according to the intent registration information, and then send the intent to the server where the “Game A” skill service is deployed. After receiving the intent, the server executes the skill service code corresponding to the intent. Return the execution result to the open platform. If there is a DPL description, the open platform can be visually displayed through the DPL. The open platform sends this service resource such as sound, image, etc. to smart speakers or other devices.
本示例以将剧情描述文件转换为PHP代码为例进行说明,其他编程语言的实现类似。PHP代码中可以包括多个PHP格式文件。例如“.php”结尾的文件。这些文件中包括具体的PHP代码内容。This example uses the conversion of the plot description file into PHP code as an example, and the implementation of other programming languages is similar. Multiple PHP format files can be included in the PHP code. For example files ending in ".php". These files include specific PHP code content.
例如,PHP代码的目录结构中可以包括控制器文件例如入口、事件处理类、意图事件处理根类、意图处理类、节点解析类、BOT类。PHP的目录结构还可以包括配置文件、CI(Continuous Integration,持续集成)文件、故事(story)文件、lib库文件等。For example, the directory structure of the PHP code may include controller files such as entry, event processing class, intent event processing root class, intent processing class, node parsing class, and BOT class. The directory structure of PHP may also include configuration files, CI (Continuous Integration, continuous integration) files, story files, lib library files, and the like.
意图处理类可以包括多种意图的PHP格式文件。例如,startintent.class.php表示开始意图,对应欢迎节点。restartintent.class.php表示重新开始意图。answerintent.class.php表示回答意图,对应用户回答。repeatintent.class.php表示重复意图。repeatintent.class.php表示重复意图。sessionendedrequest.class.php表示结束意图,对应结束节点。The intent handler class can include PHP format files for multiple intents. For example, startintent.class.php represents the start intent, corresponding to the welcome node. restartintent.class.php represents restart intent. answerintent.class.php indicates the answer intent, corresponding to the user's answer. repeatintent.class.php represents a repeat intent. repeatintent.class.php represents a repeat intent. sessionendedrequest.class.php indicates the end intention, corresponding to the end node.
节点解析类可以包括多种节点的PHP格式文件。例如,基本节点(basenode.class.php)、结束节点(endnode.class.php)、退出节点(quitnode.class.php)、节点解析器(nodeparser.class.php)、正常节点(normalnode.class.php)、问题节点(questionnode.class.php)、状态节点(conditionnode.class.php)、随机节点(randomnode.class.php)、子节点(childnode.class.php)、欢迎节点(welcomenode.class.php)、开始节点(startnode.class.php)等。The node parsing class can include PHP format files of various nodes. For example, base node (basenode.class.php), end node (endnode.class.php), exit node (quitnode.class.php), node parser (nodeparser.class.php), normal node (normalnode.class. php), question node (questionnode.class.php), status node (conditionnode.class.php), random node (randomnode.class.php), child node (childnode.class.php), welcome node (welcomenode.class. php), start node (startnode.class.php), etc.
剧情描述文件中某个场景需要音频,剧情描述文件中可以直接包括文本(通过TTS服务转换为语音),也可以给出URL或音频文件。URL通常是经过验证的可访问的网页地址。例如:如果需要描述用户问“吃饭了没有”之后,放歌,在剧情描述文件中包括需要播放的歌曲的音频文件或URL等。A scene in the plot description file needs audio, and the plot description file can directly include text (converted into voice through the TTS service), or a URL or an audio file can be given. A URL is usually a verified address of a web page that is accessible. For example: if it is necessary to describe that after the user asks "Have you eaten", the song should be played, and the audio file or URL of the song to be played should be included in the plot description file.
利用代码生成器,可以利用剧情描述文件自动生成对应的可执行代码,并部署到对话式AI系统的开放平台例如DBP上,期间涉及的技能服务的意图和词典注册,资源转化等可以参见上述实施例的相关描述。Using the code generator, you can use the plot description file to automatically generate the corresponding executable code, and deploy it to the open platform of the conversational AI system such as DBP. The intent of the skill service involved, dictionary registration, resource conversion, etc. can refer to the above implementation Description of the example.
应用示例四Application example four
对于已有脚本例如情节类游戏的脚本,通过元数据映射和文件上传的方式,可以直接转化为符合本发明实施例的剧情描述文件结构的内容,进而生成可以在智能语音设备等设备端上执行的服务。For existing scripts, such as scripts of plot games, through metadata mapping and file uploading, they can be directly converted into content conforming to the structure of the plot description file in the embodiment of the present invention, and then generated to be executed on devices such as smart voice devices. services.
移植转化的过程可以包括:The process of transplantation can include:
1、元数据映射。可以将已有脚本称为待移植文件。将已有脚本中的元数据与剧情描述文件结构中的元数据进行映射关联。1. Metadata mapping. Existing scripts may be referred to as files to be migrated. Map and associate the metadata in the existing script with the metadata in the plot description file structure.
其中,已有脚本的元数据可以包括与本发明实施例中的剧情描述文件结构中的各组件类似的数据。例如,已有脚本的元数据可以包括游戏的名称、作者、厂商、图标等属性信息。将已有脚本的游戏的名称、作者、厂商、图标分别与剧情描述文件结构中技能的名称、作者、厂商、图标关联。Wherein, the metadata of the existing script may include data similar to each component in the scenario description file structure in the embodiment of the present invention. For example, the metadata of an existing script may include attribute information such as the game name, author, manufacturer, and icon. Associate the name, author, manufacturer, and icon of the game with the existing script with the name, author, manufacturer, and icon of the skill in the plot description file structure respectively.
已有脚本的元数据也可以包括具体场景。例如:将已有脚本的元数据中的第一个场景与剧情描述文件结构中的根节点关联,将已有脚本的元数据中的第二个场景与剧情描述文件结构中的根节点的子节点关联。Metadata for existing scripts can also include specific scenes. For example: associate the first scene in the metadata of the existing script with the root node in the plot description file structure, associate the second scene in the metadata of the existing script with the child of the root node in the plot description file structure Node association.
例如,待移植文件中的场景、情节、环节等的内容可以对应剧情描述文件结构中的章节或节点的属性信息。再如,待移植文件中的提问可以对应待移植文件中的讲话(speech)的属性信息。For example, the content of scenes, plots, links, etc. in the file to be transplanted may correspond to the attribute information of chapters or nodes in the structure of the plot description file. For another example, the question in the file to be transplanted may correspond to the attribute information of speech in the file to be transplanted.
2、将已有脚本上传到开发端的开放平台例如DBP。在DBP根据上述的映射关系,对该脚本进行解析,生成符合剧情描述文件结构的内容、即剧情描述文件。进而利用剧情描述文件自动生成代码并部署服务。2. Upload the existing script to an open platform such as DBP on the development side. The DBP analyzes the script according to the above-mentioned mapping relationship, and generates the content conforming to the structure of the plot description file, that is, the plot description file. Then use the scenario description file to automatically generate code and deploy services.
将已有脚本中的场景与本方案的剧情描述文件结构的章节组件、节点组件等建立映射关系。然后将已有脚本生成符合剧情描述文件结构的文件,剧情描述文件结构类似于DAG(有向图)。这样,能够充分复用已有脚本,快速生成在剧情描述文件,快速实现在智能语音交互设备等设备端的服务。Establish a mapping relationship between the scenes in the existing script and the chapter components and node components of the plot description file structure of this scheme. Then, the existing script is generated into a file conforming to the structure of the plot description file, and the structure of the plot description file is similar to a DAG (directed graph). In this way, existing scripts can be fully reused, a plot description file can be quickly generated, and services on devices such as intelligent voice interaction devices can be quickly realized.
图11示出根据本发明实施例的服务生成设备的结构框图。如图11所示,该设备包括:存储器910和处理器920,存储器910内存储有可在处理器920上运行的计算机程序。所述处理器920执行所述计算机程序时实现上述实施例中的服务生成方法。所述存储器910和处理器920的数量可以为一个或多个。Fig. 11 shows a structural block diagram of a service generating device according to an embodiment of the present invention. As shown in FIG. 11 , the device includes: a memory 910 and a processor 920 , and the memory 910 stores computer programs that can run on the processor 920 . When the processor 920 executes the computer program, the service generation method in the foregoing embodiments is realized. The number of the memory 910 and the processor 920 may be one or more.
该设备还包括:The device also includes:
通信接口930,用于与外界设备进行通信,进行数据交互传输。The communication interface 930 is used for communicating with external devices for interactive data transmission.
存储器910可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。The memory 910 may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.
如果存储器910、处理器920和通信接口930独立实现,则存储器910、处理器920和通信接口930可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,PeripheralComponent Interconnect)总线或扩展工业标准体系结构(EISA,Extended IndustryStandard Architecture)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。If the memory 910, the processor 920, and the communication interface 930 are independently implemented, the memory 910, the processor 920, and the communication interface 930 may be connected to each other through a bus to complete mutual communication. The bus may be an Industry Standard Architecture (ISA, Industry Standard Architecture) bus, a Peripheral Component Interconnect (PCI, Peripheral Component Interconnect) bus, or an Extended Industry Standard Architecture (EISA, Extended Industry Standard Architecture) bus, etc. The bus can be divided into address bus, data bus, control bus and so on. For ease of representation, only one thick line is used in FIG. 11 , but it does not mean that there is only one bus or one type of bus.
可选的,在具体实现上,如果存储器910、处理器920及通信接口930集成在一块芯片上,则存储器910、处理器920及通信接口930可以通过内部接口完成相互间的通信。Optionally, in specific implementation, if the memory 910, the processor 920, and the communication interface 930 are integrated on one chip, the memory 910, the processor 920, and the communication interface 930 may communicate with each other through an internal interface.
本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述实施例中任一所述的方法。An embodiment of the present invention provides a computer-readable storage medium, which stores a computer program, and when the program is executed by a processor, the method described in any one of the above-mentioned embodiments is implemented.
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。In the description of this specification, descriptions referring to the terms "one embodiment", "some embodiments", "example", "specific examples", or "some examples" mean that specific features described in connection with the embodiment or example , structure, material or characteristic is included in at least one embodiment or example of the present invention. Furthermore, the described specific features, structures, materials or characteristics may be combined in any suitable manner in any one or more embodiments or examples. In addition, those skilled in the art can combine and combine different embodiments or examples and features of different embodiments or examples described in this specification without conflicting with each other.
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。In addition, the terms "first" and "second" are used for descriptive purposes only, and cannot be interpreted as indicating or implying relative importance or implicitly specifying the quantity of indicated technical features. Thus, the features defined as "first" and "second" may explicitly or implicitly include at least one of these features. In the description of the present invention, "plurality" means two or more, unless otherwise specifically defined.
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。Any process or method descriptions in flowcharts or otherwise described herein may be understood to represent modules, segments or portions of code comprising one or more executable instructions for implementing specific logical functions or steps of the process , and the scope of preferred embodiments of the invention includes alternative implementations in which functions may be performed out of the order shown or discussed, including substantially concurrently or in reverse order depending on the functions involved, which shall It is understood by those skilled in the art to which the embodiments of the present invention pertain.
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。The logic and/or steps represented in the flowcharts or otherwise described herein, for example, can be considered as a sequenced listing of executable instructions for implementing logical functions, can be embodied in any computer-readable medium, For use with instruction execution systems, devices, or devices (such as computer-based systems, systems including processors, or other systems that can fetch instructions from instruction execution systems, devices, or devices and execute instructions), or in conjunction with these instruction execution systems, devices or equipment used. For the purposes of this specification, a "computer-readable medium" may be any device that can contain, store, communicate, propagate or transmit a program for use in or in conjunction with an instruction execution system, device or device. More specific examples (non-exhaustive list) of computer-readable media include the following: electrical connection with one or more wires (electronic device), portable computer disk case (magnetic device), random access memory (RAM), Read Only Memory (ROM), Erasable and Editable Read Only Memory (EPROM or Flash Memory), Fiber Optic Devices, and Portable Read Only Memory (CDROM). In addition, the computer-readable medium may even be paper or other suitable medium on which the program can be printed, as it may be possible, for example, by optically scanning the paper or other medium, followed by editing, interpreting, or other suitable processing if necessary. The program is processed electronically and stored in computer memory.
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。It should be understood that various parts of the present invention can be realized by hardware, software, firmware or their combination. In the embodiments described above, various steps or methods may be implemented by software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented by any one or combination of the following techniques known in the art: Discrete logic circuits, ASICs with suitable combinational logic gates, programmable gate arrays (PGAs), field programmable gate arrays (FPGAs), etc.
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。Those of ordinary skill in the art can understand that all or part of the steps carried by the methods of the above embodiments can be completed by instructing related hardware through a program, and the program can be stored in a computer-readable storage medium. During execution, one or a combination of the steps of the method embodiments is included.
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。In addition, each functional unit in each embodiment of the present invention may be integrated into one processing module, each unit may exist separately physically, or two or more units may be integrated into one module. The above-mentioned integrated modules can be implemented in the form of hardware or in the form of software function modules. If the integrated modules are realized in the form of software function modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. The storage medium may be a read-only memory, a magnetic disk or an optical disk, and the like.
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。The above is only a specific embodiment of the present invention, but the protection scope of the present invention is not limited thereto. Any person familiar with the technical field can easily think of its various changes or modifications within the technical scope disclosed in the present invention. Replacement, these should be covered within the protection scope of the present invention. Therefore, the protection scope of the present invention should be determined by the protection scope of the claims.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910584200.9ACN110286893B (en) | 2019-06-28 | 2019-06-28 | Service generation method, device, equipment, system and storage medium |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910584200.9ACN110286893B (en) | 2019-06-28 | 2019-06-28 | Service generation method, device, equipment, system and storage medium |
| Publication Number | Publication Date |
|---|---|
| CN110286893A CN110286893A (en) | 2019-09-27 |
| CN110286893Btrue CN110286893B (en) | 2023-08-15 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201910584200.9AExpired - Fee RelatedCN110286893B (en) | 2019-06-28 | 2019-06-28 | Service generation method, device, equipment, system and storage medium |
| Country | Link |
|---|---|
| CN (1) | CN110286893B (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111427578B (en)* | 2020-04-15 | 2023-08-29 | 赞同科技股份有限公司 | Data conversion method, device and equipment |
| CN113171615B (en)* | 2021-03-22 | 2024-06-25 | 网易(杭州)网络有限公司 | Game skill processing method and device, storage medium and electronic device |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101004680A (en)* | 2006-11-23 | 2007-07-25 | 福建顶点软件股份有限公司 | Flexible, fast software development method and support system by using kernels of direct operation object model definition |
| CN101256492A (en)* | 2008-03-31 | 2008-09-03 | 宋乃辉 | Software development method and system for executing model drive structure |
| CN106445556A (en)* | 2016-10-18 | 2017-02-22 | 中国银行股份有限公司 | Visualized code generation method and system thereof |
| CN109597617A (en)* | 2019-01-25 | 2019-04-09 | 北京字节跳动网络技术有限公司 | The method and apparatus for quickly generating the business page based on template |
| CN109885293A (en)* | 2019-02-27 | 2019-06-14 | 重庆电子工程职业学院 | The method, apparatus and server that Internet of Things application and development automatically creates |
| CN110297633A (en)* | 2019-06-28 | 2019-10-01 | 百度在线网络技术(北京)有限公司 | Code conversion method, device, equipment and storage medium |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070067384A1 (en)* | 2005-09-21 | 2007-03-22 | Angelov Dimitar V | System and method for web services configuration creation and validation |
| WO2018226621A1 (en)* | 2017-06-05 | 2018-12-13 | Umajin Inc. | Methods and systems for an application system |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101004680A (en)* | 2006-11-23 | 2007-07-25 | 福建顶点软件股份有限公司 | Flexible, fast software development method and support system by using kernels of direct operation object model definition |
| CN101256492A (en)* | 2008-03-31 | 2008-09-03 | 宋乃辉 | Software development method and system for executing model drive structure |
| CN106445556A (en)* | 2016-10-18 | 2017-02-22 | 中国银行股份有限公司 | Visualized code generation method and system thereof |
| CN109597617A (en)* | 2019-01-25 | 2019-04-09 | 北京字节跳动网络技术有限公司 | The method and apparatus for quickly generating the business page based on template |
| CN109885293A (en)* | 2019-02-27 | 2019-06-14 | 重庆电子工程职业学院 | The method, apparatus and server that Internet of Things application and development automatically creates |
| CN110297633A (en)* | 2019-06-28 | 2019-10-01 | 百度在线网络技术(北京)有限公司 | Code conversion method, device, equipment and storage medium |
| Title |
|---|
| 关于"小度技能开放平台"的29个解答;百度AI;https://www.sohu.com/a/217503018_630344;全文* |
| Publication number | Publication date |
|---|---|
| CN110286893A (en) | 2019-09-27 |
| Publication | Publication Date | Title |
|---|---|---|
| CN110308902B (en) | File generation method, device, equipment and storage medium | |
| CN110297633B (en) | Code conversion method, device, device and storage medium | |
| US8024196B1 (en) | Techniques for creating and translating voice applications | |
| US20050028085A1 (en) | Dynamic generation of voice application information from a web server | |
| CN111145745B (en) | Dialogue flow customization method and device | |
| CN115148212B (en) | A voice interaction method, intelligent device and system | |
| CN103294475A (en) | Automatic service generating system and automatic service generating method both of which are based on imaging service scene and field template | |
| JP2004005676A (en) | Method and system for creating both initiative multi-modal dialogue and related browsing mechanism | |
| CN110286910B (en) | File migration method, device, equipment and storage medium | |
| US10679000B2 (en) | Interpreting conversational authoring of information models | |
| JP2019091416A5 (en) | ||
| JP2019091416A (en) | Method and device for constructing artificial intelligence application | |
| CN110286893B (en) | Service generation method, device, equipment, system and storage medium | |
| CN117193738A (en) | Application building method, device, equipment and storage medium | |
| CN112837683B (en) | Voice service method and device | |
| CN117272648A (en) | Automatic driving simulation scene generation method, device and electronic equipment | |
| CN117939190A (en) | Method for generating video content and music content with soundtrack and electronic equipment | |
| CN113296759A (en) | User interface processing method, user interface processing system, user interface processing device, and storage medium | |
| CN108491232A (en) | The method and system of control are loaded in voice dialogue platform | |
| WO2025035667A1 (en) | Audio generation method, apparatus and device, and storage medium | |
| Ouaddi et al. | A Model-Driven Approach Employing DSL and Generation Templates to Accelerate the Development of Conversational Agents for Smart Tourism | |
| CN112346736B (en) | Data processing method and system | |
| CN111797636B (en) | Offline Semantic Analysis Method and System | |
| CN111415655A (en) | Language model construction method and device and storage medium | |
| Li et al. | An extensible scripting language for interactive animation in a speech-enabled virtual environment |
| 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 | ||
| TA01 | Transfer of patent application right | Effective date of registration:20210512 Address after:100085 Baidu Building, 10 Shangdi Tenth Street, Haidian District, Beijing Applicant after:BAIDU ONLINE NETWORK TECHNOLOGY (BEIJING) Co.,Ltd. Applicant after:Shanghai Xiaodu Technology Co.,Ltd. Address before:100085 Baidu Building, 10 Shangdi Tenth Street, Haidian District, Beijing Applicant before:BAIDU ONLINE NETWORK TECHNOLOGY (BEIJING) Co.,Ltd. | |
| TA01 | Transfer of patent application right | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant | ||
| CF01 | Termination of patent right due to non-payment of annual fee | Granted publication date:20230815 | |
| CF01 | Termination of patent right due to non-payment of annual fee |