生成计算机代码的方法及自然语言解释中心和应用控制端的制作方法

文档序号:6586601阅读:227来源:国知局
专利名称:生成计算机代码的方法及自然语言解释中心和应用控制端的制作方法
技术领域
本发明涉及自然语言在应用设计中的使用,尤其涉及一种生成计算机代码的方法
及自然语言解释中心和应用控制端。
背景技术
计算机语言在计算机领域内应用范围广泛,但是,随着计算机语言的高速发展,其
种类越来越多,并且计算机语言的复杂度也较高,掌握并达到精通的程度比较困难。 在越来越多的计算机应用中要求相关产品的产出既要高效又要周期短。对这些
应用的实现,要求应用设计者和实施者具有较高的计算机语言水平。而在现实环境中这往
往意味着需要付出更多的成本用于编码和设计培训的投入,并且导致规模性的实施相对困难。 计算机语言的使用风格与自然语言差别巨大,计算机语言表述信息比自然语言更 加精确,但是复杂度也相对更高。对计算机语言从掌握到精通往往需要较高的成本投入,并 且实现周期过长。 由于计算机语言严谨和细致的特性,通过计算机语言来实现应用往往意味着其细 节性问题过多,实现者在实现的过程中需要将较多的目光用于关注这些细节,增加了应用 的设计成本和研发周期。

发明内容
本发明要解决的技术问题是提供一种生成计算机代码的方法及自然语言解释中 心和应用控制端,解决计算机代码的构建编写复杂困难的问题,实现低成本短周期地生成 计算机代码。 为解决上述技术问题,本发明的一种生成计算机代码的方法,包括 自然语言解释中心接收到应用控制端发送的词典和语法规则导入指令后,从词汇
和语法规则库中读入词典和语法规则; 应用控制端读入以自然语言格式描述的应用,并将该应用发送给自然语言解释中 心; 自然语言解释中心根据词典中的词汇字符特征数据对应用的各语句截取词汇,查 询词汇的字符特征,根据字符特征从字典的词汇词法特征数据中查询词汇的词法特征,根 据词汇的词法特征和语法规则,生成各语句与计算机代码间的中间等价类,根据字典中的 词汇代码表示数据将中间等价类中的自然语言词汇转换为计算机代码,生成应用的各语句 对应的代码片段,将代码片段组装为应用对应的计算机代码。 进一步地,自然语言解释中心从词汇和语法规则库中读入词典和语法规则的过程 包括 从词汇和语法规则库中读入词典,从该词典中读出词汇字符特征数据、词汇词法 特征数据和词汇代码表示数据,按照词汇词法特征数据和词汇代码表示数据分别为词汇字
4符特征数据中的每个字符特征建立词法特征条目和代码表示条目;
从词汇和语法规则库中读入语法规则。 进一步地,根据字符特征从字典的词汇词法特征数据中查询词汇的词法特征的方 法为根据字符特征对应的词法特征条目获知该词汇的词法特征; 自然语言解释中心生成应用的各语句与计算机代码间的中间等价类后,根据词汇 的字符特征对应的代码表示条目获知该词汇的计算机代码,以将中间等价类中的自然语言 词汇转换为计算机代码。 进一步地,自然语言解释中心生成应用的各语句与计算机代码间的中间等价类的 方法为 自然语言解释中心根据语法规则合并语句中的词汇的词法特征,将语句合并为动 词短语+名词短语的形式,或合并为动词短语的形式,获得中间等价类。 进一步地,词汇字符特征数据是具有相同语义的词汇组成的单词特征类的集合, 每个单词特征类具有一个字符特征; 词汇词法特征数据是在语句中扮演相同或相近的语法角色的单词特征类抽象成
的单词词法特征类的集合,每个单词词法特征类具有一个词法特征; 词汇代码表示数据是自然语言的词汇与计算机代码的映射数据的集合; 语法规则是词法特征的组合及转换关系的规则定义。 进一步地,自然语言解释中心在将代码片段组装为应用对应的计算机代码后,将 组装好的计算机代码发送给计算机代码运行端,并向应用控制端发送代码已下发通知;
应用控制端接收到代码已下发通知后,向计算机代码运行端发送代码运行指令;
计算机代码运行端接收到代码运行指令后,运行所接收到的计算机代码。
进一步地,一种自然语言解释中心,包括断词模块、语法解释模块、语义解释模块 和上下文组装模块,其中 断词模块,用于根据词典中的词汇字符特征数据对接收到的应用的各语句截取词 汇; 语法解释模块,用于从断词模块读取词汇,查询各词汇的字符特征,根据字符特征 从字典的词汇词法特征数据中查询词汇的词法特征,根据词汇的词法特征和语法规则,生 成应用的各语句与计算机代码间的中间等价类; 语义解释模块,用于根据字典中的词汇代码表示数据将中间等价类中的自然语言
词汇转换为计算机代码,生成应用的各语句对应的代码片段; 上下文组装模块,用于将代码片段组装为应用对应的计算机代码。
进一步地,该自然语言解释中心还包括解释器初始化模块; 解释器初始化模块,用于从词汇和语法规则库中读入词典,从该词典中读出词汇 字符特征数据、词汇词法特征数据和词汇代码表示数据,按照词汇词法特征数据和词汇代 码表示数据分别为词汇字符特征数据中的每个字符特征建立词法特征条目和代码表示条 目;并从词汇和语法规则库中读入语法规则。 进一步地,一种应用控制端,包括词汇和语法规则导入模块、自然语言读入模块 和自然语言解释调用模块,其中 词汇和语法规则导入模块,用于向自然语言解释中心发送词典和语法规则导入指令,并通知自然语言读入模块读入以自然语言描述的应用; 自然语言读入模块,用于在接收到词汇和语法规则导入模块的通知后,读入以自 然语言描述的应用; 自然语言解释调用模块,用于从自然语言读入模块读取以自然语言描述的应用, 并发送给自然语言解释中心。 进一步地,该应用控制端还包括计算机代码运行调用模块; 自然语言解释调用模块,还用于在在接收到代码已下发通知后,向计算机代码运 行调用模块发送执行代码的通知; 计算机代码运行调用模块,用于在接收到执行代码的通知后,向计算机代码运行
端发送代码运行指令,控制计算机代码运行端运行接收到的计算机代码。 综上所述,本发明简化并降低了计算机代码的编码、设计和维护的复杂度和成本,
能很好地解决在部分数据产品应用中设计和编码复杂的问题,有效的降低应用实现的难度
和周期,降低对应用设计者的基础技能要求,从而提高应用设计者对目标的关注度。


图1为本发明实施例生成计算机代码的系统的架构图; 图2为本发明实施例中字典的结构图; 图3为本发明实施例中语法规则的结构图 图4为本发明实施例采用的自然语言解释中心的架构图; 图5为本发明实施例采用的应用控制端的架构图; 图6为本发明实施例生成计算机代码的方法的流程图。
具体实施例方式
考虑到对于一个用自然语言可轻易表述的问题,计算机语言的表述往往相对繁 杂。而人类对自然语言的掌握具有与生倶来性,因此,为了利用应用者掌握自然语言的优 势,本发明的实施例中对输入的自然语言进行解释,组配出对应的概念符号,并且进一步翻 译成计算机代码,然后自动调用和运行翻译完毕的计算机代码,从而实现以自然语言为输 入手段的应用模式,解决了设计和编码上相对复杂,实现周期过长,维护成本高的问题。
下面结合附图对本发明的具体实施方式
进行说明。
图1所示为本发明实施例生成计算机代码的系统,该系统包括应用控制端、词汇
和语法规则库(Nature Language Data Base,NLDB)、自然语言解释中心和至少一个计算机
代码运行端(A卯lication Client, AC),其中: 应用控制端是系统的管理中枢; 词汇和语法规则库是自然语言资源的存储中心; 自然语言解释中心是自然语言的解释核心,负责完成将输入的自然语言翻译成可 运行的计算机代码(机器语言); 计算机代码运行端是分布在网络中的执行机构,负责运行翻译后的完整可运行的 计算机代码,实现具体的应用。
在词汇和语法规则数据库中保存有词典和语法规则,如图2所示,词典包括词汇字符特征数据、词汇词法特征数据和词汇代码表示数据,具体如下 词汇字符特征数据是自然语言解释中心在读入一个语句后的断词依据,可以将 具有相同语义的词汇抽象成单词特征类,每个单词特征类具有一个字符特征,例如"是"、 "为"和"等于"在专业测试语言中具有相同的语义,均用于表示前后等价的关系,因此,这些 词汇的字符特征均可以表示为worcLtype(是)。又如"端口 1"和"portl"具有相同的字 符特征worcLtype(portl),由字符特征和其下的词汇构成词汇字符特征数据,自然语言解 释中心可以根据词汇字符特征数据将读入的语句中的字符依次进行分类,并归纳为词典中 定义的抽象后单词特征类。 词汇词法特征数据用于表达在自然语言规则中的单词的隐性特征,例如,名词、动 词、形容词等,隐形特征是指语言的某种约定俗成的属性。将在一条语句中扮演相同或者相 近语法角色(主谓宾定状补)的单词特征类抽象成单词词法特征类,以组成词汇词法特征 数据。例如,字符特征为worcLtype(portl)和WOrd_type (port2)的词汇均具有相同的词 法特征名词(N),自然语言解释中心可以根据词汇词法特征数据分辨出单词在一条语句 中所扮演的语法角色。例如名词(N)、及物动词(VI)、不及物动词(VT)、是动词(VIS)和 形容词(A)等。名词或名词短语可以充当主语,而动词或者动词短语可以充当谓语。
词汇代码表示数据是自然词汇与计算机代码的映射数据的集合,其用于在自然语 言解释中心完成对自然语言语法和语义的解释后,将语句转换为以计算机代码的方式进行 表达。 如图3所示,语法规则为一个或者多个词法特征进行组合及相互转换的规则定 义,包含多个词性合并规则,例如,名词可以合并为名词短语,即NP < = N ;及物动词+名词 短语可以合并为动词短语,即VP <= VT+NP ;又如名词短语+动词短语可以合并为语句, 即s <= NP+VP。自然语言解释中心根据此语法规则决定一条完整语句中词法特征的构成
方式。例如语句端口 1发送流量。根据词典将语句分解为单词"端口 l"、"发送"和"流 量"。其中,"端口 l"的词法特征为名词(N)、"发送"的词法特征为及物动词(VI)、流量的
词法特征为名词(N),即抽象为string二N(端口 1)+VI (发送)+N(流量),根据语法规则
进行替换S < = NP+VP,或S < = N+VT+NP,或S < = N+VI+N。 基于上述系统,本发明提供了一种生成计算机代码的方法,包括 401 :应用控制端向自然语言解释中心发送词典和语法规则导入指令; 402 :自然语言解释中心从词汇和语法规则库中读入词典和语法规则; 步骤402具体包括 4021 :解释器初始化模块从词典中读出词汇字符特征数据; 4022 :解释器初始化模块从词典中读出词汇词法特征数据,为每个词汇字符特征 建立词法特征条目; 4023 :解释器初始化模块从词典表中读出词汇代码表示数据,为每个词汇字符特 征建立代码表示条目; 4024:解释器初始化模块从词汇和语法规则库中读入语法规则。 403 :应用控制端读入以自然语言描述的应用,并发送给自然语言解释中心进行解
释; 404 :自然语言解释中心对输入的以自然语言描述的应用的各语句进行代码翻译; 步骤404具体包括 4041 :对输入的各语句进行断词,根据词汇字符特征数据由左向右依次截断和取 出语句中的词汇,构成单词实例表,从词汇字符特征数据中查询各词汇的字符特征;
4042 :根据词汇的字符特征从词法特征条目中依次查询出词汇的词法特征;
4043 :根据语法规则合并各词汇的词法特征,直至最终合并成S < = NP+VP,或者S <=VP,并依据词法特征的合并方式获得中间等价类; 4044 :根据中间等价类的各词汇的字符特征,从代码表示条目中查询各词汇对应 的计算机代码,将中间等价类中的自然语言词汇转化为计算机代码,得到语句翻译后的代 码片段; 4045 :将所有生成的代码片段进行成文组装,组装成应用对应的计算机代码;
405 :自然语言解释中心将组装好的计算机代码发送给计算机代码运行端;
406 :自然语言解释中心向应用控制端发送代码已下发通知; 407 :应用控制端接收到代码已下发通知后,向计算机代码运行端发送代码运行指 令; 408 :计算机代码运行端接收到代码运行指令后,运行所接收到的计算机代码。
如图5所示,本发明采用的自然语言解释中心包括解释器初始化模块、断词模 块、语法解释模块、语义解释模块和上下文组装模块,其中 解释器初始化模块,用于在词典和语法规则导入指令后,从词汇和语法规则库中
读入词典,从该词典中读出词汇字符特征数据、词汇词法特征数据和词汇代码表示数据,按
照词汇词法特征数据和词汇代码表示数据分别为词汇字符特征数据中的每个字符特征建
立词法特征条目和代码表示条目,并从词汇和语法规则库中读入所述语法规则。 断词模块根据词典中定义的词汇字符特征数据在一个语句中截取出其组成的词
汇序列; 语法解释模块负责依次读入断词模块所输出的单词,查询各词汇的字符特征,根 据字符特征从词典中定义的词汇词法特征数据中取出词汇所对应的词法特征(通过字符 特征对应的词法特征条目可获知该词汇的词法特征),根据语法规则判别出一条完整语句 的语法结合方式以及其是否合法,输出一个用于表达词汇间相互依附关系的中间等价类, 例如,S = = VT (发送){N (端口 1) N (流量)}。中间等价类是介于自然语言表达方式与计算 机语言表达方式的一种中间形态,以便于将自然语言词汇替换后转换为计算机语言语句。
语义解释模块负责将中间等价类根据词汇代码表示数据转换成计算机代码片段, 语义解释模块通过词汇的字符特征对应的代码表示条目获知该词汇的计算机代码。
上下文组装模块负责将转换出的代码片段组装成文,组成完整可运行的代码,并 将组装好的计算机代码发送给计算机代码运行端,并向应用控制端发送代码已下发通知。
如图6所示,应用控制端包括词汇和语法规则导入模块、自然语言读入模块、自 然语言解释调用模块和计算机代码运行调用模块,其中 词汇和语法规则导入模块负责向自然语言解释中心发送词典和语法规则导入指 令,通知自然语言解释中心从词汇和语法规则库中载入所保存的词典和语法规则,并通知 自然语言读入模块读入以自然语言描述的应用。
自然语言读入模块负责在接收到词汇和语法规则导入模块的通知后,将以自然语言描述的应用读入到系统中。 自然语言解释调用模块负责将读入系统的自然语言应用数据传递给自然语言解释中心,由其负责进行自然语言的翻译,并在在接收到自然语言解释中心的代码已下发通知后,向计算机代码运行调用模块发送执行代码的通知; 计算机代码运行调用模块负责在接收到执行代码的通知后,向计算机代码运行端发送代码运行指令,控制计算机代码运行端运行接收到的计算机代码。 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
一种生成计算机代码的方法,包括自然语言解释中心接收到应用控制端发送的词典和语法规则导入指令后,从词汇和语法规则库中读入词典和语法规则;所述应用控制端读入以自然语言格式描述的应用,并将该应用发送给所述自然语言解释中心;所述自然语言解释中心根据所述词典中的词汇字符特征数据对所述应用的各语句截取词汇,查询词汇的字符特征,根据字符特征从所述字典的词汇词法特征数据中查询词汇的词法特征,根据词汇的词法特征和所述语法规则,生成所述各语句与计算机代码间的中间等价类,根据所述字典中的词汇代码表示数据将所述中间等价类中的自然语言词汇转换为计算机代码,生成所述应用的各语句对应的代码片段,将所述代码片段组装为所述应用对应的计算机代码。
2. 如权利要求1所述的方法,其特征在于,所述自然语言解释中心从所述词汇和语法 规则库中读入词典和语法规则的过程包括从所述词汇和语法规则库中读入所述词典,从该词典中读出所述词汇字符特征数据、 词汇词法特征数据和词汇代码表示数据,按照所述词汇词法特征数据和词汇代码表示数据 分别为所述词汇字符特征数据中的每个字符特征建立词法特征条目和代码表示条目;从所述词汇和语法规则库中读入所述语法规则。
3. 如权利要求2所述的方法,其特征在于所述根据字符特征从所述字典的词汇词法特征数据中查询词汇的词法特征的方法为 根据所述字符特征对应的词法特征条目获知该词汇的词法特征;所述自然语言解释中心生成所述应用的各语句与计算机代码间的中间等价类后,根据 词汇的字符特征对应的代码表示条目获知该词汇的计算机代码,以将所述中间等价类中的 自然语言词汇转换为计算机代码。
4. 如权利要求1所述的方法,其特征在于,所述自然语言解释中心生成所述应用的各 语句与计算机代码间的中间等价类的方法为所述自然语言解释中心根据语法规则合并所述语句中的词汇的词法特征,将语句合并 为动词短语+名词短语的形式,或合并为动词短语的形式,获得中间等价类。
5. 如权利要求l所述的方法,其特征在于所述词汇字符特征数据是具有相同语义的词汇组成的单词特征类的集合,每个单词特 征类具有一个字符特征;所述词汇词法特征数据是在语句中扮演相同或相近的语法角色的单词特征类抽象成 的单词词法特征类的集合,每个单词词法特征类具有一个词法特征;所述词汇代码表示数据是自然语言的词汇与计算机代码的映射数据的集合;所述语法规则是词法特征的组合及转换关系的规则定义。
6. 如权利要求1所述的方法,其特征在于,该方法还包括所述自然语言解释中心在将所述代码片段组装为所述应用对应的计算机代码后,将组 装好的计算机代码发送给计算机代码运行端,并向所述应用控制端发送代码已下发通知; 所述应用控制端接收到代码已下发通知后,向计算机代码运行端发送代码运行指令; 所述计算机代码运行端接收到所述代码运行指令后,运行所接收到的计算机代码。
7. —种自然语言解释中心,包括断词模块、语法解释模块、语义解释模块和上下文组 装模块,其中所述断词模块,用于根据所述词典中的词汇字符特征数据对接收到的应用的各语句截 取词汇;所述语法解释模块,用于从所述断词模块读取词汇,查询各词汇的字符特征,根据字符 特征从所述字典的词汇词法特征数据中查询词汇的词法特征,根据词汇的词法特征和所述 语法规则,生成所述应用的各语句与计算机代码间的中间等价类;所述语义解释模块,用于根据所述字典中的词汇代码表示数据将所述中间等价类中的 自然语言词汇转换为计算机代码,生成所述应用的各语句对应的代码片段;所述上下文组装模块,用于将所述代码片段组装为所述应用对应的计算机代码。
8. 如权利要求7所述的自然语言解释中心,其特征在于,该自然语言解释中心还包括 解释器初始化模块;所述解释器初始化模块,用于从所述词汇和语法规则库中读入所述词典,从该词典中 读出所述词汇字符特征数据、词汇词法特征数据和词汇代码表示数据,按照所述词汇词法 特征数据和词汇代码表示数据分别为所述词汇字符特征数据中的每个字符特征建立词法 特征条目和代码表示条目;并从所述词汇和语法规则库中读入所述语法规则。
9. 一种应用控制端,包括词汇和语法规则导入模块、自然语言读入模块和自然语言 解释调用模块,其中所述词汇和语法规则导入模块,用于向自然语言解释中心发送词典和语法规则导入指 令,并通知所述自然语言读入模块读入以自然语言描述的应用;所述自然语言读入模块,用于在接收到所述词汇和语法规则导入模块的通知后,读入 以自然语言描述的应用;所述自然语言解释调用模块,用于从所述自然语言读入模块读取以自然语言描述的应 用,并发送给自然语言解释中心。
10. 如权利要求9所述的应用控制端,其特征在于,该应用控制端还包括计算机代码运 行调用模块;所述自然语言解释调用模块,还用于在在接收到代码已下发通知后,向所述计算机代 码运行调用模块发送执行代码的通知;所述计算机代码运行调用模块,用于在接收到执行代码的通知后,向计算机代码运行 端发送代码运行指令,控制所述计算机代码运行端运行接收到的计算机代码。
全文摘要
本发明公开了一种生成计算机代码的方法及自然语言解释中心和应用控制端,包括应用控制端读入以自然语言格式描述的应用,并将该应用发送给自然语言解释中心;自然语言解释中心根据词典中的词汇字符特征数据对应用的各语句截取词汇,查询词汇的字符特征,根据字符特征从字典的词汇词法特征数据中查询词汇的词法特征,根据词汇的词法特征和语法规则,生成各语句与计算机代码间的中间等价类,根据字典中的词汇代码表示数据将中间等价类中的自然语言词汇转换为计算机代码,生成应用的各语句对应的代码片段,将代码片段组装为应用对应的计算机代码。
文档编号G06F17/22GK101763342SQ20091026279
公开日2010年6月30日 申请日期2009年12月31日 优先权日2009年12月31日
发明者史颖春, 樊志强, 许生海 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1