CN110297633B - 代码转换方法、装置、设备和存储介质 - Google Patents
代码转换方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN110297633B CN110297633B CN201910583572.XA CN201910583572A CN110297633B CN 110297633 B CN110297633 B CN 110297633B CN 201910583572 A CN201910583572 A CN 201910583572A CN 110297633 B CN110297633 B CN 110297633B
- Authority
- CN
- China
- Prior art keywords
- description file
- skills
- skill
- storing
- module
- 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.)
- Active
Links
- 238000003860 storage Methods 0.000 title claims abstract description 75
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000011161 development Methods 0.000 claims abstract description 49
- 238000013515 script Methods 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 22
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 9
- 230000008521 reorganization Effects 0.000 claims description 7
- 238000009826 distribution Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 3
- 230000002349 favourable effect Effects 0.000 abstract description 4
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 230000000007 visual effect Effects 0.000 description 20
- 238000013473 artificial intelligence Methods 0.000 description 17
- 230000003993 interaction Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000014509 gene expression Effects 0.000 description 8
- 235000015278 beef Nutrition 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013439 planning Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 238000012550 audit Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Acoustics & Sound (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提出一种代码转换方法、装置、设备和存储介质。该方法包括:将技能的描述文件中的资源重新组织后,得到重新组织后的存储位置;根据所述描述文件,进行所述技能的意图注册,得到注册结果;根据所述描述文件、所述重新组织后的存储位置、以及所述注册结果,将所述描述文件转换成技能服务代码。本发明实施例能够对技能的描述文件中的资源进行重组,并对描述文件中包括的意图进行注册,有利于统一管理资源,减少部署服务所需的存储空间。此外,描述文件可以直接转换成技能服务代码,有利于快速生成服务,降低了服务开发的编程难度。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种代码转换方法、装置、设备和存储介质。
背景技术
在游戏等剧情类技能应用的开发过程中,需要编写游戏策划,选择开发语言以及程序编写工具,搭建开发环境和底层框架,确定美术风格以及制作标准,搭建开发所用的客户端/服务器等。然后,开发人员按照编写的游戏策划对应地编写代码。
游戏策划中可能包括很多情节,因此开发过程复杂,编程需要的专业性强,往往需要团队合作,集中分配人员,安排开发周期等。
发明内容
本发明实施例提供一种代码转换方法、装置、设备和存储介质,以解决现有技术中的一个或多个技术问题。
第一方面,本发明实施例提供了一种代码转换方法,包括:
将技能的描述文件中的资源重新组织后,得到重新组织后的存储位置;
根据所述描述文件,进行所述技能的意图注册,得到注册结果;
根据所述描述文件、所述重新组织后的存储位置、以及所述注册结果,将所述描述文件转换成技能服务代码。
在一种实施方式中,所述将技能的描述文件中的资源重新组织后,得到重新组织后的存储位置,包括:
获取所述描述文件中包括的图像、视频、音频和链接地址中的至少一种资源;
按照资源类型将各种所述资源分别保存到存储端的数据库中;
记录各种所述资源在所述数据库中的存储位置。
在一种实施方式中,所述按照资源类型将各种所述资源分别保存到存储端的数据库中,包括以下至少一种:
将所述描述文件中的图像保存到图像数据库;
将所述描述文件中的视频保存到视频数据库;
将所述描述文件中的音频保存到音频数据库;
将所述描述文件中的网页地址和/或网页内容保存到网页数据库中。
在一种实施方式中,所述根据所述描述文件,进行所述技能的意图注册,得到注册结果,包括:
从所述描述文件提取出所述技能的各种意图;
将各种所述意图注册到开发端,以在所述开发端确定各所述意图所归属的技能服务。
在一种实施方式中,该方法还包括:
将各种所述意图中包括的词拆分后注册到开发端的词典系统;
对各种所述意图进行泛化,将同一意图的不同话术注册到所述开发端的词典系统。
在一种实施方式中,该方法还包括:
将所述技能服务代码保存到指定的服务部署端;或者
将所述技能服务代码和所述描述文件保存到指定的服务部署端;
其中,所述服务部署端包括对象存储系统、内容分发网络中的至少一种。
第二方面,本发明实施例提供了一种代码转换装置,包括:
重组模块,用于将技能的描述文件中的资源重新组织后,得到重新组织后的存储位置;
注册模块,用于根据所述描述文件,进行所述技能的意图注册,得到注册结果;
转换模块,用于根据所述描述文件、所述重新组织后的存储位置、以及所述注册结果,将所述描述文件转换成技能服务代码。
在一种实施方式中,所述重组模块包括:
获取子模块,用于获取所述描述文件中包括的图像、视频、音频和链接地址中的至少一种资源;
保存子模块,用于按照资源类型将各种所述资源分别保存到存储端的数据库中;
记录子模块,用于记录各种所述资源在所述数据库中的存储位置。
在一种实施方式中,所述保存子模块还用于执行以下步骤的至少一种:
将所述描述文件中的图像保存到图像数据库;
将所述描述文件中的视频保存到视频数据库;
将所述描述文件中的音频保存到音频数据库;
将所述描述文件中的网页地址和/或网页内容保存到网页数据库中。
在一种实施方式中,所述注册模块包括:
提取子模块,用于从所述描述文件提取出所述技能的各种意图;
意图注册子模块,用于将各种所述意图注册到开发端,以在所述开发端确定各所述意图所归属的技能服务。
在一种实施方式中,所述注册模块还包括:
词典注册子模块,用于将各种所述意图中包括的词拆分后注册到开发端的词典系统;
泛化子模块,用于对各种所述意图进行泛化,将同一意图的不同话术注册到所述开发端的词典系统。
在一种实施方式中,该装置还包括:
服务部署模块,用于将所述技能服务代码保存到指定的服务部署端;或者将所述技能服务代码和所述描述文件保存到指定的服务部署端;其中,所述服务部署端包括对象存储系统、内容分发网络中的至少一种。
第三方面,本发明实施例提供了一种代码转换设备,所述设备的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,所述设备的结构中包括处理器和存储器,所述存储器用于存储支持所述设备执行上述代码转换方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述设备还可以包括通信接口,用于与其他设备或通信网络进行通信。
第四方面,本发明实施例提供了一种计算机可读存储介质,用于存储代码转换设备所用的计算机软件指令,其包括用于执行上述代码转换方法所涉及的程序。
上述技术方案中的一个技术方案具有如下优点或有益效果:能够对技能的描述文件中的资源进行重组,并对描述文件中包括的意图进行注册,有利于统一管理资源,减少部署服务所需的存储空间并提升用户的加载性能,意图注册可以充分利用对话式人工智能系统开放平台的能力,提高开发者的效率。此外,描述文件可以直接转换成技能服务代码,有利于快速生成服务,降低了服务开发的编程难度。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。
图1示出根据本发明实施例的代码转换方法的流程图。
图2示出根据本发明实施例的代码转换方法的流程图。
图3示出根据本发明实施例的代码转换方法的流程图。
图4示出根据本发明实施例的代码转换装置的结构框图。
图5示出根据本发明实施例的代码转换装置的结构框图。
图6示出根据本发明实施例的服务生成系统的示例的结构图。
图7示出根据本发明实施例的服务生成方法的示例的流程图。
图8a可视化编辑器的模板选择界面的示意图。
图8b和图8c可视化编辑器的代码编辑界面的示意图。
图9示出根据本发明实施例的代码转换设备的结构框图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
图1示出根据本发明实施例的代码转换方法的流程图。如图1所示,该代码转换方法包括:
步骤S11、将技能的描述文件中的资源重新组织后,得到重新组织后的存储位置。
技能可以包括互联网服务在人工智能交互设备上的应用。以对话式人工智能设备为例:如果用户和设备说“今天天气怎么样”;设备回答“今天多云,的温度xxx,...”;设备后台的天气服务可以理解用户的这个询问并给出相应的解答,则天气服务即为一个技能。
在一种实施方式中,所述技能为剧情类技能,所述描述文件为剧情描述文件。有些技能例如:游戏、故事等包括很多场景组合而成的剧情。从存储端,可以读取具有剧情的技能对应剧情描述文件。
描述文件中可能包括多种资源。将描述文件中的资源重新组织后,可以保存到存储端,并获取重新组织后的资源在存储端的存储位置。
步骤S12、根据所述描述文件,进行所述技能的意图注册,得到注册结果。
描述文件中可以包括该技能的各种意图,例如技能入口意图、节点对应的场景意图等。在意图注册时,可以将这些意图注册到开发端。
步骤S13、根据所述描述文件、所述重新组织后的存储位置、以及所述注册结果,将所述描述文件转换成技能服务代码。
例如,根据描述文件包括的技能的属性信息和业务逻辑,资源重新组织后的存储位置,以及意图注册结果,将所述描述文件转换成技能服务代码。可以预先设置一些编程语言例如PHP的代码模板,代码化过程中,利用该编程语言的代码生成器,将描述文件转换为某种编程语言格式的代码。
本发明实施例能够对技能的描述文件中的资源进行重组,并对描述文件中包括的意图进行注册,有利于统一管理资源,减少部署服务所需的存储空间。此外,描述文件可以直接转换成技能服务代码,有利于快速生成服务,降低了服务开发的编程难度。
在一种实施方式中,如图2所示,步骤S11包括:
步骤S21、获取所述描述文件中包括的图像、视频、音频和链接地址中的至少一种资源。
步骤S22、按照资源类型将各种所述资源分别保存到存储端的数据库中。
步骤S23、记录各种所述资源在所述数据库中的存储位置。
在一种实施方式中,步骤S22包括所述按照资源类型将各种所述资源分别保存到存储端的数据库中,包括以下至少一种:
将所述描述文件中的图像保存到图像数据库;
将所述描述文件中的视频保存到视频数据库;
将所述描述文件中的音频保存到音频数据库;
将所述描述文件中的网页地址和/或网页内容保存到网页数据库中。
示例中的各数据库可以位于同一个设备,也可以位于不同设备。将某个描述文件中的资源重新组织后,记录该描述文件中的各种资源的存储位置。并在生成的技能服务代码中包括需要的资源的存储位置。如果需要调用某些资源,可以通过技能服务代码中的该资源的存储位置调用该资源。
在一种实施方式中,如图3所示,步骤S12可以包括:
步骤S31、从所述描述文件提取出所述技能的各种意图;
步骤S32、将各种所述意图注册到开发端,以在所述开发端确定各所述意图所归属的技能服务。
此外,该方法还可以包括:将各种所述意图中包括的词拆分后注册到开发端的词典系统;对各种所述意图进行泛化,将同一意图的不同话术注册到所述开发端的词典系统。
从描述文件提取该技能包括的各种意图,例如技能入口意图、节点对应的场景意图等,将这些意图注册到开发端。在开发端可以根据意图确定该意图属于哪个技能服务,以及该技能服务存放在哪个服务器等。并且,意图中可以包括多个词,可以将意图中的词拆分后注册到开发端的词典系统中。此外,还可以将意图进行泛化,得到表示同一意图的不同表达的话术,将这些话术也保存到词典系统中。
然后,在步骤S13中,可以根据描述文件包括的技能的属性信息和业务逻辑的逻辑描述代码,以及资源保存位置,以及意图注册结果,将描述文件转换成技能服务代码。
在开发端的对话式人工智能系统的开放平台例如DBP(DuerOS BOT Platform,度秘BOT平台),创建技能时生成技能的属性信息。其中,DuerOS是一种对话式人工智能操作系统,DBP是duerOS的开放平台。BOT可以是聊天机器人对话系统。技能的属性信息可以包括技能的类型、基本信息和技能入口意图中的至少一种,技能的基本信息可以包括技能的名称、图标、权属信息、宣传话术、展示图像、计费信息中的至少一种。其中,权属信息可以包括作者、厂家等。技能入口意图可以包括启动该技能的意图。例如,“打开游戏A”,“进入游戏A”等。
从开发端获取技能的属性信息后,可以利用可视化编辑器,编辑技能的业务逻辑。例如,在可视化编辑器的界面中,选择所需的模板,选择该技能的展现设备,设置业务逻辑中包括的场景在描述文件结构中对应的各组件,根据各场景之间的关系确定各组件之间的关系等。其中,描述文件结构中的各组件包括章节组件、节点组件、卡片组件、展示组件、模板组件、提示组件、讲话组件、条件相关状态(condition)组件、用户相关状态(state)组件中的一种或多种。每种组件的描述包括该组件的属性,每种组件的逻辑描述代码可以转换为对应的执行代码。
例如,章节组件的属性可以包括:游戏名、游戏类型、包括的节点、背景图像、章节标识等。再如,节点组件的属性可以包括节点标识、节点名称、节点类型、该节点对应的场景等。展示组件的属性可以包括模板、DPL描述等属性。在可视化编辑器的界面中可以设置这些属性的具体内容。
此外,节点组件的类型可以包括欢迎节点、结束节点、退出节点、交互节点和自动跳转节点中的一种或多种。
描述文件结构类似于DAG(Directed Acyclic Graph,有向图),有向图可以从根节点分成二叉树或其他树状结构,根据条件沿不同分支往下进行。每个节点可以对应一个场景。每个场景可能包括多个环节或步骤。例如,欢迎节点可以对应根节点。退出节点可以对应需要退出的情况。交互节点可以对应各种需要交互的场景。自动跳转节点可以对应过渡性场景。
可以预先设置一些编程语言的代码模板,代码化过程中,利用该编程语言的代码生成器,将描述文件转换为某种编程语言例如PHP格式的代码。
在一种实施方式中,可以利用技能服务代码部署技能服务,例如,可以采用多种方式部署服务:
方式一、将所述技能服务代码保存到指定的服务部署端。
方式二、将所述技能服务代码和所述描述文件保存到指定的服务部署端。
服务部署端可以包括对象存储系统例如BOS(Baidu Object Storage,对象存储)系统,还可以包括CDN(Content Delivery Network,内容分发网络)等。
在一种应用场景中,设备端拾取用户的待执行语音后,可以将该语音发送到语音识别模块。语音识别模块可以对语音进行ASR(Automatic Speech Recognition,自动语音识别)处理得到文本,并对文本进行NLU(Natural Language Understanding,自然语音理解)处理,得到待执行意图。语音识别模块可以设置在独立的服务器中,也可以设置在开发端、代码转换端、服务部署端等中。从待执行语音中识别出待执行意图后,查找该意图所归属的技能服务,将该意图发送到部署了该技能服务的服务部署端。服务部署端执行该意图对应的技能服务代码。在执行代码过程中,可以向设备端返回相应的资源。例如,音箱拾取用户发出的“我要玩儿游戏A”,将该语音发送到代码转换端后,进行语音识别后确定出待执行意图是打开游戏A。将该待执行意图发送到部署了游戏A的服务器。在该服务器中,根据该待执行意图查找到游戏A的代码。执行游戏A的代码,向音箱返回游戏A的主界面,主界面可以包括的图像、文字、音效、视频等。然后,根据用户对游戏A的操作(例如语音、手势或鼠标操作),识别出用户的当前的意图,执行当前的意图对应的代码,一步步返回该游戏A中与当前意图对应的资源。
图4示出根据本发明实施例的代码转换装置的结构框图。如图4所示,该代码转换装置,可以包括:
重组模块51,用于将技能的描述文件中的资源重新组织后,得到重新组织后的存储位置;
注册模块52,用于根据所述描述文件,进行所述技能的意图注册,得到注册结果;
转换模块53,用于根据所述描述文件、所述重新组织后的存储位置、以及所述注册结果,将所述描述文件转换成技能服务代码。
在一种实施方式中,如图5所示,所述重组模块51包括:
获取子模块511,用于获取所述描述文件中包括的图像、视频、音频和链接地址中的至少一种资源;
保存子模块512,用于按照资源类型将各种所述资源分别保存到存储端的数据库中;
记录子模块513,用于记录各种所述资源在所述数据库中的存储位置。
在一种实施方式中,所述保存子模块还用于执行以下步骤的至少一种:
将所述描述文件中的图像保存到图像数据库;
将所述描述文件中的视频保存到视频数据库;
将所述描述文件中的音频保存到音频数据库;
将所述描述文件中的网页地址和/或网页内容保存到网页数据库中。
在一种实施方式中,所述注册模块52包括:
提取子模块521,用于从所述描述文件提取出所述技能的各种意图;
意图注册子模块522,用于将各种所述意图注册到开发端,以在所述开发端确定各所述意图所归属的技能服务。
在一种实施方式中,所述注册模块52还包括:
词典注册子模块523,用于将各种所述意图中包括的词拆分后注册到开发端的词典系统;
泛化子模块524,用于对各种所述意图进行泛化,将同一意图的不同话术注册到所述开发端的词典系统。
在一种实施方式中,该装置还包括:
服务部署模块54,用于将所述技能服务代码保存到指定的服务部署端;或者将所述技能服务代码和所述描述文件保存到指定的服务部署端;其中,所述服务部署端包括对象存储系统、内容分发网络中的至少一种。
本发明实施例代码转换装置中的各模块的功能可以参见上述代码转换方法中的对应描述,在此不再赘述。
应用示例一
以游戏开发为例,代码转换系统可以为对话式AI(Artificial Intelligence,人工智能)系统的游戏开发集成系统。该对话式AI系统的游戏开发集成系统可以是一个面向角色扮演的冒险类游戏/故事集成开发环境/平台,实现语音技能游戏/故事的无编程开发,用户可以无需编程进行语音技能的相关开发操作。
开发者可以通过该系统,选择模版或者自定义业务逻辑,采用可视化编辑的形式生成剧情描述文件。系统可以根据剧情描述文件生成对应的技能服务代码并完成部署。开发者可以进行在线模拟和真机测试,来验证具体的应用。通过可视化编辑剧情,服务更新技术会更新线上的服务,TTS的个性化合成可以提升服务的感染力,使应用更富个性。另外,对于已有脚本化描述的游戏,也可以将已有的游戏脚本转化移植为符合本方案的剧情描述文件结构的文件,进而生成代码并完成部署,实现对话式语音服务。
如图6所示,该系统的架构如下:
视图(view)层,实现可视化编辑器的功能,输出结果是剧情描述文件。在视图层可以只编辑剧情描述文件,不存储剧情描述文件。例如,将剧情描述文件存储到BOS。视图层可以接收来自开发端的技能的属性信息。在视图层可以利用可视化编辑器实现前端用户设计、编辑技能的业务逻辑的文本、图形等内容。
服务(service)层,提供视图层向控制器层请求的分发和返回,将可视化编辑器的输出结果发送给控制器(controller)层,起到中转作用。通过服务层可以将生成的剧情描述文件保存到存储层。
控制器(controller)层,根据剧情描述文件生成代码,并部署服务。控制器层可以包括代码转换端。
存储层例如DAO(data access object,数据访问对象)层,可以作为平台数据库,用于存储技能的剧情描述文件。
外部服务,可以包括例如BOS、TTS生成服务、音频数据库、图像库等。其中,BOS存储可以直接推送到CDN(Content Delivery Network,内容分发网络)。音频数据库、图像库可以存储剧情描述文件重整后的音频、图像等。TTS生成服务可以对剧情描述文件中需要转换为语音的文字进行转换。
此外,该系统还可以通过开放平台与设备端交互。例如,通过集成在开发平台例如DBP中BOT引擎与设备端交互。
其中,控制器层主要实现以下功能:
1)生成代码。读取剧情描述文件,得到剧情描述文件的结构、内容和配置等。在控制器层生成PHP(Hypertext Preprocessor,超文本预处理器)或其他编程语言的代码。
2)资源转化。将剧情描述文件中的资源重新组织后放到指定的位置,DAO(dataaccess object,数据访问对象)层、CDN等。代码化过程中,通过控制器层将剧情描述文件中的资源例如图像、音频等重新拆分整理。例如,对资源中的图像转存到新的存储设备,将资源中的作为语音输出的文本通过TTS(Text To Speech,从文本到语音)方式转换成文本,进行SSML(Speech Synthesis Markup Language,语音合成标记语言)拼接等。然后,将重新整理的资源存储到指定的位置,例如不同的DAO层、外部服务中。在生成的代码中该可以包括将重新整理的资源的存储位置。
在代码化过程中,还可以进行意图和词典的注册。例如,从剧情描述文件中提取技能的入口意图以及各个场景对应的意图。将这些意图注册到对话式人工智能系统的的开放平台例如DBP。每个意图可以包括一个或多个词,将这些词保存到开放平台的词典系统中。这样,在开放平台,如果收到用户语音,可以识别用户语音得到意图,并确定意图所归属的技能。此外,还可以将表示同一意图的不同表达的相关话术保存到词典系统中。在部署服务后,如果开放平台收到用户语音,可以根据语音中的意图查找到所属的技能,并将该意图发送给部署了该技能的服务器处理。
3)服务部署,控制器层将生成的执行代码保存到指定服务器,也可以将描述文件与代码一起保存到指定服务器。执行服务的代码时,可以从该代码对应的描述文件中读取资源,也可以从该代码所指示的数据库的存储位置读取资源。
如图7所示,服务开发的具体流程如下:
S101、在对话式人工智能系统的开放平台创建技能。
S102、分配新的技能类型
S103、保存技能基本信息.
S104、保存技能意图信息。
其中,对话式人工智能系统的开放平台例如DBP(DuerOS Bot Platform),可以使用可视化编辑器的功能。DuerOS是一种对话式人工智能操作系统,DBP是DuerOS的开放平台。BOT可以是聊天机器人对话系统。
其中,技能可以包括基于Web服务(Web Services)的互联网应用,例如游戏服务、故事服务等,技能也可以称为应用服务。
技能类型可以包括多种,例如:游戏,故事等。
技能基本信息可以包括:名字如“游戏A”,图标,作者,是否收费,厂家,宣传话术、权属信息、展示图像等。
技能意图信息可以包括技能入口意图。技能入口意图可以表达怎么进入该技能。例如,“打开游戏A”、“我要玩儿游戏A”。
根据技能类型、技能基本信息和技能入口意图这些属性信息可以区分本服务与其他服务。
S105、在游戏工厂创建剧情描述文件。剧情描述文件也简称为脚本(script)。例如:游戏工厂从开放平台接收技能的技能类型、技能基本信息和技能入口意图等属性信息后,可以生成具有一定结构的剧情描述文件。剧情描述文件中包括该技能的属性信息和业务逻辑。技能的业务逻辑可以包括该技能的各个场景。例如,游戏技能的业务逻辑包括该游戏技能在每个场景需要展示的内容。再如,故事技能的业务逻辑包括该故事技能的各个场景的故事内容。
S106、生成的剧情描述文件可以保存到指定位置如BOS系统。
S107、如果更新的剧情描述文件,将更新后的文件上传到对象存储系统例如BOS系统,生成并保存剧情描述文件在BOS中对应的存储地址例如URL(Uniform ResourceLocator,统一资源定位符)。
S108、代码化时利用代码生成器可以将剧情描述文件按转化为技能服务代码。可以转换成多种不同编程语言的代码,例如PHP或其他编程语言的代码。代码化过程中,对剧情描述文件中的资源进行重新组织,存放到指定位置。
在代码化过程中,可以更新意图表达。更新意图表达可以理解为泛化过程。例如:有个意图叫“进门”,可以泛化为“进去”、“走进门”,将某个意图更新为多种常用表达,从而通过多种表达来表示同一个意图。
已生成的剧情描述文件不变,在对剧情描述文件代码化并部署服务时更新意图表达。这样,使得在线上服务时,一个意图可以对应多个表达。例如,可视化编辑时技能入口意图只包括进门,在代码化时可以将“进门”这个意图为多种不同表达“进去”、“走进去”等。
然后进行服务部署:将代码存放到指定服务器,代码审核通过后可以发布上线。上线完成后,也可以将剧情描述文件也推送到部署了代码的服务器。
应用示例二
剧情描述文件类似于有向图(DAG,Directed Acyclic Graph)。有向图从根节点分成二叉树或其他树状结构,一步步根据条件沿不同分支往下进行。用一系列符号表示出业务逻辑的每个场景的流程。每个场景可能包括多个环节或步骤。每个节点可以由不同的方式描述。例如,根节点可以包括技能入口意图。根节点的下一级节点可以包括进入技能后的下一场景。
例如,对“猜数”游戏的场景进行剧情描述,每个场景都体现在剧情描述文件中。假设“猜数”游戏包括的第一个场景为第一方出数字,第二个场景为第二方猜数字,可以将每个场景需要展现的画面、音乐、文字通过节点等形式体现在剧情描述文件中。
游戏具体的业务逻辑在剧情描述文件中实现,剧情描述文件中还包括该游戏的外部的属性信息:入口信息、名称、作者产权、厂家、宣传话术、权属信息、展示图像等。
该剧情描述文件可以采用XML(eXtensible Markup Language,可扩展标记语言)或JSON(JavaScript Object Notation)等格式描述。其中,该文件可以包括纯文本描述,通过可视化编辑生成描述文件的展示部分。利用描述文件可以一键式生成代码。
剧情描述文件结构可以包括章节(session)、节点(node)、卡片(card)、展示(show)、模板(template)、提示(hint)、讲话(speech)、条件相关状态(condition)、用户相关状态(state)等组件。其中,card、show、template属于展现形式,show可以表示与DPL(DuerOS Presentation Language,DuerOS展现语言)有关的展现形式以及其他的扩展形式。hint表示指引提示,speech表示语音。state表示剧情中当前与用户相关的状态,例如体力。condition与环境变化、条件、计算等相关。例如,有风、货物不足等。
可以预先设置每种组件对应的属性,例如JSON格式描述。例如,章节组件的属性可以包括:游戏名、游戏类型、包括的节点、背景图像、章节标识、欢迎节点等。再如,节点组件的属性可以包括节点标识、节点名称、节点类型、该节点对应的场景等。展示组件的属性可以包括模板、DPL描述等属性。在可视化编辑器的界面中可以设置这些属性的具体内容。
在剧情描述文件结构中,节点是重要的组件。节点类型可以包括:欢迎节点、结束节点、退出节点、交互节点(各种对话的节点类)和自动跳转节点。其中,欢迎节点可以对应根节点例如技能入口。退出节点可以对应玩了一部分需要退出的情况。交互节点可以对应各种对话的场景。自动跳转节点可以对应过渡性场景。例如点击“我要去长安”后,屏幕滚动,并显示关于长安的介绍内容“长安是……”。再如,游戏通关之后,自动跳转到“欢迎你”等场景,再跳转到下一个交互节点。通过自动跳转节点可以自动跳转到下一个场景对应的节点,用户不用交互。
剧情描述文件中可以包括多个章节,每个章节可以包括多个节点,每个节点可以对应一个场景。可以根据场景的需要来设置节点的属性内容。例如,增加一个节点,设置该节点中表示某人的说什么话、有没有交互、进入的另一个场景(对应的节点)等的属性内容。游戏包括的所有场景(对应的节点)以及执行顺序都编辑好之后,点击生成,可以生成该游戏的剧情描述文件,再解析描述文件生成代码。
在剧情描述文件中,展示类场景可以采用DPL描述。例如,游戏场景包括:用户说“进酒店”,进来之后,酒保说“你想吃什么”,用户说“我想吃牛肉”。后台服务,酒保说“牛肉AA钱”,并展示DPL描述实现的牛肉图像“一盘牛肉”,酒保说“你要吃这盘牛肉吗?”,再返回系统。其中,描述文件中需要显示的对话、牛肉图像等,可以采用DPL描述。
在可视化编辑器中还可以设置设备的信息,以便于服务可以适配不同的展示设备。例如,当设备端的用户的语音经过对话式AI系统到达技能服务时,技能服务除了返回有效的语音播报之外,还可以根据设备端的屏幕类型生成对于的DPL描述,返回给对话式AI系统。对话式AI系统的开放平台将DPL描述转换成具体的信息,显示到设备端的屏幕上。其中,屏幕类型可以包括:有屏幕,无屏幕,屏幕大小等。根据屏幕类型生成DPL描述的示例包括:假设需要在设备端展示一张图像和一个音频。将该图和音频的DPL描述存放在根节点上,对于无屏幕的音箱只返回音频,对于有屏幕的音箱可以返回音频和图像。
在一种示例中,假设游戏名称为“游戏xx”,游戏的业务逻辑包括多个场景。
场景一:在进入游戏后,展现“欢迎来到游戏xx,请说开始游戏”,再次进入游戏后,展现“欢迎再次来到游戏模拟,请说继续游戏”。展现的内容可以采用card、show、speech等多种组件展现形式。该场景可以使用欢迎节点。
场景二:在游戏中进入某个饭店后,展现“你来到了饭店,请问你要吃什么”,再次进入该饭店后,展现“你又来到了饭店,请问你要吃什么”。展现的内容可以采用card、show、speech等多种组件展现形式。该场景可以使用交互节点。
场景三:需要退出游戏时,展现“您确定要退出游戏么”,经用户确认后退出游戏。展现的内容可以采用card、show、speech等多种组件展现形式。该场景可以使用退出节点。
根据以上场景,分别确定各场景对应的节点,设置节点中的各属性的内容,生成包括例如JSON格式的逻辑描述伪代码的描述文件。描述文件中可以包括游戏名称、节点、游戏的各场景等。
本发明实施例的代码转换系统适用于带有屏幕的智能语音设备的交互场景,能够在计算和存储资源受限的显示设备上获得良好的可视化交互体验。本发明实施例的代码转换系统也适用于不带屏幕的设备的交互场景。
本发明实施例中的剧情描述文件可以利用可视化编辑器生成。
如图8a、图8b和图8c所示,可视化编辑器的界面可以分成为模板选择界面和代码编辑界面。
示例性地,如图8a所示,用户可以在模板选择界面进行以下操作:
1)从头开始创建新的展现形式。例如,响应于对新创建选项“从头开始创建”的选择操作,跳转到创建新展现形式的页面。
2)上传代码文件或资源文件等。例如,响应于对上传文件选项“上传代码”的选择操作,跳转到上传代码文件或资源文件的页面。
3)选择系统默认的展现形式或模版。例如,响应于对某个模板的选择操作,加载所选择的模板。
在模板选择界面,用户可以选择喜欢的布局模板来创建技能,可以上传代码文件或者从头开始创建技能。布局模板包括多种,例如简单图片、长文本、短文本、图文混合。
如图8b所示,在代码编辑界面可以进行以下操作:
1)将可以展现的字段,通过页面展现框图直接呈现。
例如,左侧显示了清晰的框架结构和层级关系;右侧直接提示用户可以修改的字段,在文本框内可以进行编辑。
2)选择全局属性后显示影响全局的代码框架,比如文件,风格,资源,用户的修改将会修改全局的展现状态。
3)选择不同的设备。例如,用户点击顶部的设备选择控件,下方将会呈现不同的模拟器效果(各个设备的屏幕类型可能不同)。
4)导出代码。右上角为代码导出控件,用户可以点击该控件导出文件的代码。
如图8c所示,为切换为代码编辑后的示意图。切换为代码编辑后,底部可以全部为代码编辑的操作区间。在该操作区间内可以修改代码。
采用可视化编辑器的优势包括:
1.将复杂的前端编辑界面通过流程化的框图展现,层级结构清晰,并且可点击直接编辑,操作方便。
2.可以选择不同的设备,从而可以模拟不同设备的展现效果,并且每次编辑可以实时展现不同设备的模拟显示效果。
3.支持展现框架图和代码选择呈现,极大提升开发效率。
4.支持代码导出,内置丰富的模板。
5.将核心逻辑部分的模块拆分,选择后直接代码编辑。
应用示例三
可以将剧情描述文件自动转化为PHP代码。例如根据剧情描述文件结构中的各组件、各组件的逻辑关系等,生成对应的PHP代码。在代码生成过程中,可以进行资源转化。例如:如果描述文件中给出图像,可以将图像存放到CDN。如果剧情描述文件中给出文本,将文本转换成声音。此外,还可以进行意图和词典注册。从剧情描述文件中提取意图,完成意图注册,并利用与意图类似的常用话术进行词典注册。
然后,将生成的技能服务代码部署到指定的服务器。例如将技能服务部署到对话式人工智能系统的开放平台例如DBP生成的一个存储空间。执行技能服务时,可以将话术文本资源返回到开放平台,由开放平台最终返回到设备端(例如智能音箱)。技能服务部署到哪些服务器上可以采用一定算法来确定。例如根据云上有多少服务器、负载状况、空间状况、新申请服务器、复用一个或多个服务器等,来确定如何部署服务。部署服务之后,对服务进行审核,审核通过后可以上线。
此外,在可视化编辑器,可以点击编辑意图或词典。语音会变成事件类似于鼠标点击所产生的事件,即技能服务所注册的意图。对话式人工智能系统的开放平台将用户的语音经ASR和NLU后识别出意图。将所识别出的意图发到所生成代码所在的服务器上。服务器收到意图后,执行该意图对应的代码。
例如,用户对着音箱说“打开游戏A”语音,音箱将该语音发送到开放平台转换为意图。开放平台根据意图注册的信息可以查找到该意图所归属的“游戏A”技能服务,从而将该意图发到部署了“游戏A”技能服务的服务器。服务器收到该意图后,执行该意图对应的技能服务代码。将执行结果返回开放平台。如果有DPL描述,开放平台可以通过DPL进行视觉展示。开放平台向智能音箱或其他设备端发送这个服务资源例如声音,图像等。
本示例以将剧情描述文件转换为PHP代码为例进行说明,其他编程语言的实现类似。PHP代码中可以包括多个PHP格式文件。例如“.php”结尾的文件。这些文件中包括具体的PHP代码内容。
例如,PHP代码的目录结构中可以包括控制器文件例如入口、事件处理类、意图事件处理根类、意图处理类、节点解析类、BOT类。PHP的目录结构还可以包括配置文件、CI(Continuous Integration,持续集成)文件、故事(story)文件、lib库文件等。
意图处理类可以包括多种意图的PHP格式文件。例如,startintent.class.php表示开始意图,对应欢迎节点。restartintent.class.php表示重新开始意图。answerintent.class.php表示回答意图,对应用户回答。repeatintent.class.php表示重复意图。repeatintent.class.php表示重复意图。sessionendedrequest.class.php表示结束意图,对应结束节点。
节点解析类可以包括多种节点的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)等。
剧情描述文件中某个场景需要音频,剧情描述文件中可以直接包括文本(通过TTS服务转换为语音),也可以给出URL或音频文件。URL通常是经过验证的可访问的网页地址。例如:如果需要描述用户问“吃饭了没有”之后,放歌,在剧情描述文件中包括需要播放的歌曲的音频文件或URL等。
利用代码生成器,可以利用剧情描述文件自动生成对应的可执行代码,并部署到对话式AI系统的开放平台例如DBP上,期间涉及的技能服务的意图和词典注册,资源转化等可以参见上述实施例的相关描述。
应用示例四
对于已有脚本例如情节类游戏的脚本,通过元数据映射和文件上传的方式,可以直接转化为符合本发明实施例的剧情描述文件结构的内容,进而生成可以在智能语音设备等设备端上执行的服务。
移植转化的过程可以包括:
1、元数据映射。可以将已有脚本称为待移植文件。将已有脚本中的元数据与剧情描述文件结构中的元数据进行映射关联。
其中,已有脚本的元数据可以包括与本发明实施例中的剧情描述文件结构中的各组件类似的数据。例如,已有脚本的元数据可以包括游戏的名称、作者、厂商、图标等属性信息。将已有脚本的游戏的名称、作者、厂商、图标分别与剧情描述文件结构中技能的名称、作者、厂商、图标关联。
已有脚本的元数据也可以包括具体场景。例如:将已有脚本的元数据中的第一个场景与剧情描述文件结构中的根节点关联,将已有脚本的元数据中的第二个场景与剧情描述文件结构中的根节点的子节点关联。
例如,待移植文件中的场景、情节、环节等的内容可以对应剧情描述文件结构中的章节或节点的属性信息。再如,待移植文件中的提问可以对应待移植文件中的讲话(speech)的属性信息。
2、将已有脚本上传到开发端的开放平台例如DBP。在DBP根据上述的映射关系,对该脚本进行解析,生成符合剧情描述文件结构的内容、即剧情描述文件。进而利用剧情描述文件自动生成代码并部署服务。
将已有脚本中的场景与本方案的剧情描述文件结构的章节组件、节点组件等建立映射关系。然后将已有脚本生成符合剧情描述文件结构的文件,剧情描述文件结构类似于DAG(有向图)。这样,能够充分复用已有脚本,快速生成在剧情描述文件,快速实现在智能语音交互设备等设备端的服务。
图9示出根据本发明实施例的代码转换设备的结构框图。如图9所示,该设备包括:存储器910和处理器920,存储器910内存储有可在处理器920上运行的计算机程序。所述处理器920执行所述计算机程序时实现上述实施例中的代码转换方法。所述存储器910和处理器920的数量可以为一个或多个。
该设备还包括:
通信接口930,用于与外界设备进行通信,进行数据交互传输。
存储器910可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
如果存储器910、处理器920和通信接口930独立实现,则存储器910、处理器920和通信接口930可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,PeripheralComponent Interconnect)总线或扩展工业标准体系结构(EISA,Extended IndustryStandard Architecture)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器910、处理器920及通信接口930集成在一块芯片上,则存储器910、处理器920及通信接口930可以通过内部接口完成相互间的通信。
本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述实施例中任一所述的方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (14)
1.一种代码转换方法,其特征在于,包括:
将技能的描述文件中的资源重新组织后,得到重新组织后的存储位置;
其中,所述技能的描述文件包括技能类型为游戏技能或故事技能的剧情描述文件;所述剧情描述文件中包括该技能的属性信息和业务逻辑,如果该技能为游戏技能,则技能的业务逻辑包括该游戏技能在每个场景需要展示的内容,如果该技能为故事技能,则技能的业务逻辑包括该故事技能的各个场景的故事内容;
根据所述描述文件,进行所述技能的意图注册,得到注册结果;
根据所述描述文件、所述重新组织后的存储位置、以及所述注册结果,将所述描述文件转换成技能服务代码;
在将技能的描述文件中的资源重新组织后,得到重新组织后的存储位置之前,还包括:
获取已有脚本,并将所述已有脚本中的元数据与剧情描述文件结构中的元数据进行映射关联;
将所述已有脚本上传至开发端,以在所述开发端根据所述映射关系,对所述已有脚本进行解析,生成所述剧情描述文件。
2.根据权利要求1所述的方法,其特征在于,所述将技能的描述文件中的资源重新组织后,得到重新组织后的存储位置,包括:
获取所述描述文件中包括的图像、视频、音频和链接地址中的至少一种资源;
按照资源类型将各种所述资源分别保存到存储端的数据库中;
记录各种所述资源在所述数据库中的存储位置。
3.根据权利要求2所述的方法,其特征在于,所述按照资源类型将各种所述资源分别保存到存储端的数据库中,包括以下至少一种:
将所述描述文件中的图像保存到图像数据库;
将所述描述文件中的视频保存到视频数据库;
将所述描述文件中的音频保存到音频数据库;
将所述描述文件中的网页地址和/或网页内容保存到网页数据库中。
4.根据权利要求1所述的方法,其特征在于,所述根据所述描述文件,进行所述技能的意图注册,得到注册结果,包括:
从所述描述文件提取出所述技能的各种意图;
将各种所述意图注册到开发端,以在所述开发端确定各所述意图所归属的技能服务。
5.根据权利要求1所述的方法,其特征在于,还包括:
将各种所述意图中包括的词拆分后注册到开发端的词典系统;
对各种所述意图进行泛化,将同一意图的不同话术注册到所述开发端的词典系统。
6.根据权利要求1至5中任一项所述的方法,其特征在于,还包括:
将所述技能服务代码保存到指定的服务部署端;或者
将所述技能服务代码和所述描述文件保存到指定的服务部署端;
其中,所述服务部署端包括对象存储系统、内容分发网络中的至少一种。
7.一种代码转换装置,其特征在于,包括:
重组模块,用于将技能的描述文件中的资源重新组织后,得到重新组织后的存储位置;
其中,所述技能的描述文件包括技能类型为游戏技能或故事技能的剧情描述文件;所述剧情描述文件中包括该技能的属性信息和业务逻辑,如果该技能为游戏技能,则技能的业务逻辑包括该游戏技能在每个场景需要展示的内容,如果该技能为故事技能,则技能的业务逻辑包括该故事技能的各个场景的故事内容;
注册模块,用于根据所述描述文件,进行所述技能的意图注册,得到注册结果;
转换模块,用于根据所述描述文件、所述重新组织后的存储位置、以及所述注册结果,将所述描述文件转换成技能服务代码;
所述装置还包括剧情描述文件生成模块,用于:
在将技能的描述文件中的资源重新组织后,得到重新组织后的存储位置之前,获取已有脚本,并将所述已有脚本中的元数据与剧情描述文件结构中的元数据进行映射关联;
将所述已有脚本上传至开发端,以在所述开发端根据所述映射关系,对所述已有脚本进行解析,生成所述剧情描述文件。
8.根据权利要求7所述的装置,其特征在于,所述重组模块包括:
获取子模块,用于获取所述描述文件中包括的图像、视频、音频和链接地址中的至少一种资源;
保存子模块,用于按照资源类型将各种所述资源分别保存到存储端的数据库中;
记录子模块,用于记录各种所述资源在所述数据库中的存储位置。
9.根据权利要求8所述的装置,其特征在于,所述保存子模块还用于执行以下步骤的至少一种:
将所述描述文件中的图像保存到图像数据库;
将所述描述文件中的视频保存到视频数据库;
将所述描述文件中的音频保存到音频数据库;
将所述描述文件中的网页地址和/或网页内容保存到网页数据库中。
10.根据权利要求7所述的装置,其特征在于,所述注册模块包括:
提取子模块,用于从所述描述文件提取出所述技能的各种意图;
意图注册子模块,用于将各种所述意图注册到开发端,以在所述开发端确定各所述意图所归属的技能服务。
11.根据权利要求7所述的装置,其特征在于,所述注册模块还包括:
词典注册子模块,用于将各种所述意图中包括的词拆分后注册到开发端的词典系统;
泛化子模块,用于对各种所述意图进行泛化,将同一意图的不同话术注册到所述开发端的词典系统。
12.根据权利要求7至11中任一项所述的装置,其特征在于,还包括:
服务部署模块,用于将所述技能服务代码保存到指定的服务部署端;或者将所述技能服务代码和所述描述文件保存到指定的服务部署端;
其中,所述服务部署端包括对象存储系统、内容分发网络中的至少一种。
13.一种代码转换设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至6中任一项所述的方法。
14.一种计算机可读存储介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910583572.XA CN110297633B (zh) | 2019-06-28 | 2019-06-28 | 代码转换方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910583572.XA CN110297633B (zh) | 2019-06-28 | 2019-06-28 | 代码转换方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110297633A CN110297633A (zh) | 2019-10-01 |
CN110297633B true CN110297633B (zh) | 2023-05-23 |
Family
ID=68029664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910583572.XA Active CN110297633B (zh) | 2019-06-28 | 2019-06-28 | 代码转换方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110297633B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110286893B (zh) * | 2019-06-28 | 2023-08-15 | 百度在线网络技术(北京)有限公司 | 服务生成方法、装置、设备、系统和存储介质 |
CN111177663B (zh) * | 2019-12-20 | 2023-03-14 | 青岛海尔科技有限公司 | 编译器的代码混淆改进方法及装置、存储介质、电子装置 |
CN111429127A (zh) * | 2020-03-20 | 2020-07-17 | 中国建设银行股份有限公司 | 一种应用于缴费的业务管理方法和装置 |
CN111427578B (zh) * | 2020-04-15 | 2023-08-29 | 赞同科技股份有限公司 | 一种数据转换方法、装置及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105224293A (zh) * | 2014-05-30 | 2016-01-06 | 阿里巴巴集团控股有限公司 | 目标对象的生成方法及服务器 |
CN109614102A (zh) * | 2018-10-09 | 2019-04-12 | 平安科技(深圳)有限公司 | 代码自动生成方法、装置、电子设备及存储介质 |
CN109908585A (zh) * | 2019-03-06 | 2019-06-21 | 珠海金山网络游戏科技有限公司 | 一种文件处理方法及系统、计算设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6237136B1 (en) * | 1997-12-02 | 2001-05-22 | National Instruments Corporation | System and method for automatically creating source code example files for an application program in a plurality of programming languages |
US8886777B2 (en) * | 2010-08-20 | 2014-11-11 | Unisys Corporation | Moving enterprise software applications to a cloud domain |
CN102063298A (zh) * | 2010-12-10 | 2011-05-18 | 电子科技大学 | 一种面向汽车电子控制器的运行时环境生成系统及方法 |
US20120226786A1 (en) * | 2011-03-04 | 2012-09-06 | General Electric Company | System and method for porting of device software |
CN103425469A (zh) * | 2012-05-17 | 2013-12-04 | 上海闻泰电子科技有限公司 | 基于mda技术的手机游戏代码生成方法 |
CN103530135A (zh) * | 2013-10-31 | 2014-01-22 | 深圳中兴网信科技有限公司 | 代理服务生成装置和代理服务生成方法 |
CN106919434B (zh) * | 2017-03-22 | 2021-02-12 | 恒生电子股份有限公司 | 一种代码生成方法及装置 |
-
2019
- 2019-06-28 CN CN201910583572.XA patent/CN110297633B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105224293A (zh) * | 2014-05-30 | 2016-01-06 | 阿里巴巴集团控股有限公司 | 目标对象的生成方法及服务器 |
CN109614102A (zh) * | 2018-10-09 | 2019-04-12 | 平安科技(深圳)有限公司 | 代码自动生成方法、装置、电子设备及存储介质 |
CN109908585A (zh) * | 2019-03-06 | 2019-06-21 | 珠海金山网络游戏科技有限公司 | 一种文件处理方法及系统、计算设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
基于元模型的WEB用户界面研究;文义红;《中国优秀硕士学位论文全文数据库 信息科技辑》;I139-138 * |
Also Published As
Publication number | Publication date |
---|---|
CN110297633A (zh) | 2019-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110308902B (zh) | 文件生成方法、装置、设备和存储介质 | |
CN110297633B (zh) | 代码转换方法、装置、设备和存储介质 | |
US8024196B1 (en) | Techniques for creating and translating voice applications | |
EP1535453B1 (en) | System and process for developing a voice application | |
US7930182B2 (en) | Computer-implemented tool for creation of speech application code and associated functional specification | |
CN110286910B (zh) | 文件移植方法、装置、设备和存储介质 | |
US20120130718A1 (en) | Method and system for collecting audio prompts in a dymanically generated voice application | |
US20030110472A1 (en) | Method and system for generating program source code of a computer application from an information model | |
CN110244941B (zh) | 任务开发方法、装置、电子设备及计算机可读存储介质 | |
CN110704594A (zh) | 基于人工智能的任务型对话交互处理方法、装置 | |
CN110234032B (zh) | 一种语音技能创建方法及系统 | |
JP6866336B2 (ja) | 人工知能アプリケーションを構築する方法及び装置 | |
US20050043953A1 (en) | Dynamic creation of a conversational system from dialogue objects | |
CN101639943A (zh) | 制作动画的方法和设备 | |
CN110286893B (zh) | 服务生成方法、装置、设备、系统和存储介质 | |
CN110297616A (zh) | 话术的生成方法、装置、设备以及存储介质 | |
JP2019091416A5 (zh) | ||
CN110600004A (zh) | 一种语音合成播放方法、装置和存储介质 | |
CN115129878B (zh) | 一种对话业务执行方法、装置、存储介质及电子设备 | |
Hagino | Practical Node-RED Programming: Learn powerful visual programming techniques and best practices for the web and IoT | |
CN113835700A (zh) | 活动上线方法、装置、电子设备及计算机可读存储介质 | |
CN115148212A (zh) | 一种语音交互方法、智能设备及系统 | |
CN117193738A (zh) | 应用搭建方法、装置、设备及存储介质 | |
CN109524000A (zh) | 离线对话实现方法和装置 | |
CN113296759B (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210508 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 |