CN110147544A - 一种基于自然语言的指令生成方法、装置以及相关设备 - Google Patents
一种基于自然语言的指令生成方法、装置以及相关设备 Download PDFInfo
- Publication number
- CN110147544A CN110147544A CN201810508895.8A CN201810508895A CN110147544A CN 110147544 A CN110147544 A CN 110147544A CN 201810508895 A CN201810508895 A CN 201810508895A CN 110147544 A CN110147544 A CN 110147544A
- Authority
- CN
- China
- Prior art keywords
- natural language
- instruction
- language data
- target
- template
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 98
- 238000013507 mapping Methods 0.000 claims abstract description 50
- 230000000875 corresponding effect Effects 0.000 claims description 458
- 230000006870 function Effects 0.000 claims description 129
- 238000004458 analytical method Methods 0.000 claims description 32
- 230000011218 segmentation Effects 0.000 claims description 15
- 238000005194 fractionation Methods 0.000 claims description 14
- 230000009471 action Effects 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 13
- 230000006399 behavior Effects 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012549 training Methods 0.000 abstract description 15
- 230000008569 process Effects 0.000 description 29
- 238000010586 diagram Methods 0.000 description 19
- 241000209094 Oryza Species 0.000 description 17
- 235000007164 Oryza sativa Nutrition 0.000 description 17
- 235000009566 rice Nutrition 0.000 description 17
- 238000004891 communication Methods 0.000 description 10
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 239000004615 ingredient Substances 0.000 description 4
- 230000000149 penetrating effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 230000001755 vocal effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 240000006248 Broussonetia kazinoki Species 0.000 description 1
- 208000033748 Device issues Diseases 0.000 description 1
- 101100409308 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) adv-1 gene Proteins 0.000 description 1
- 244000131316 Panax pseudoginseng Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000032696 parturition Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
本发明实施例公开了一种基于自然语言的指令生成方法、装置以及相关设备,其中方法包括:获取目标自然语言数据,并生成目标自然语言数据对应的语法结构特征;若指令规则库包括目标自然语言数据对应的语法结构特征,则在指令规则库中,查找与目标自然语言数据对应的语法结构特征具有映射关系的指令生成模板,作为目标指令生成模板;根据目标自然语言数据对应的语法结构特征、目标指令生成模板中的关键字符语法标识,在目标自然语言数据中选择关键字符信息;根据目标指令生成模板和关键字符信息,生成目标自然语言数据所指示的操作指令。采用本发明,无需训练成本即可保证所生成的操作指令的准确性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于自然语言的指令生成方法、装置以及相关设备。
背景技术
随着自然语言分析技术的发展,用户能够通过语音控制设备执行各式各样的行为操作,如用户可以与聊天机器人进行对话、问答,甚至是完成天气查询、日程安排等简单任务。聊天机器人可以是一段与用户进行自然语言对话的程序,多基于大数据检索和分析、机器学习等技术。聊天机器人可以通过对话模式训练和用户行为习惯分析,从自然语言中提取用户意图,进而根据用户意图完成对应的操作指令。为了保证所提取的用户意图的准确性,就需要依赖大量的数据对聊天机器人进行训练,可见,目前的聊天机器人需要以较高的训练成本才能保证所生成的操作指令的准确性。
发明内容
本发明实施例提供一种基于自然语言的指令生成方法、装置以及相关设备,无需训练成本即可保证所生成的操作指令的准确性。
本发明实施例一方面提供了一种基于自然语言的指令生成方法,包括:
获取目标自然语言数据,并生成所述目标自然语言数据对应的语法结构特征;
若指令规则库包括所述目标自然语言数据对应的语法结构特征,则在所述指令规则库中,查找与所述目标自然语言数据对应的语法结构特征具有映射关系的指令生成模板,作为目标指令生成模板;所述指令规则库包括多个语法结构特征以及与每个语法结构特征具有映射关系的指令生成模板;
根据所述目标自然语言数据对应的语法结构特征、所述目标指令生成模板中的关键字符语法标识,在所述目标自然语言数据中选择关键字符信息;
根据所述目标指令生成模板和所述关键字符信息,生成所述目标自然语言数据所指示的操作指令。
其中,所述获取目标自然语言数据,并生成所述目标自然语言数据对应的语法结构特征,包括:
获取所述目标自然语言数据,并生成所述目标自然语言数据对应的目标文本信息;
对所述目标文件信息进行分词处理,得到多个词字符,并标注每个词字符分别对应的词性标签,并基于字符结构分析为所述多个词字符构建字符结构树;所述字符结构树中包含所述多个词字符之间的字符结构关系;
根据所述词性标签和所述字符结构树,生成所述目标自然语言数据对应的语法结构特征。
其中,所述根据所述词性标签和所述字符结构树,生成所述目标自然语言数据对应的语法结构特征,包括:
按照遍历顺序,对所述字符结构树中的所述多个词字符分别对应的词性标签进行遍历,并根据遍历结果确定每个词字符分别对应的词性标签的访问次数,并根据所述访问次数确定所述每个词字符分别对应的索引号;
根据所述词性标签、所述字符结构树中的所述多个词字符之间的字符结构关系和父子节点关系、所述每个词字符分别对应的索引号,生成所述目标自然语言数据对应的语法结构特征。
其中,所述根据所述目标自然语言数据对应的语法结构特征、所述目标指令生成模板中的关键字符语法标识,在所述目标自然语言数据中选择关键字符信息,包括:
获取所述目标指令生成模板中的关键字符语法标识;所述关键字符语法标识包括用于进行指令生成的词字符对应的词性标签和索引号;
根据所述目标自然语言数据对应的语法结构特征,在所述多个词字符中查找与所述关键字符语法标识中的词性标签和索引号相匹配的词字符,作为关键字符信息。
其中,所述根据所述目标指令生成模板和所述关键字符信息,生成所述目标自然语言数据所指示的操作指令,包括:
查找与所述目标指令生成模板中的返回值类型、关键字符语法标识的数量、所述关键字符信息对应的参数类型相匹配的功能函数集;所述功能函数集中的每个功能函数均具有对应的操作类型标签;
识别所述多个词字符与所述每个功能函数对应的操作类型标签之间的相似度,将具有最高相似度的功能函数确定为目标功能函数;
将所述关键字符信息添加到所述目标功能函数中,根据添加后的目标功能函数生成所述目标自然语言数据所指示的操作指令。
本发明实施例一方面提供了一种基于自然语言的指令生成方法,包括:
获取目标自然语言数据,并生成所述目标自然语言数据对应的语法结构特征;
当在指令规则库中未查找到与所述目标自然语言数据对应的语法结构特征时,对所述目标自然语言数据进行句子拆分,得到与所述目标自然语言数据对应的多个子自然语言数据,并生成每个子自然语言数据分别对应的语法结构特征;所述指令规则库包括多个语法结构特征以及与每个语法结构特征具有映射关系的指令生成模板;
在所述指令规则库中,查找与所述每个子自然语言数据分别对应的语法结构特征具有映射关系的指令生成模板;
对与所述每个子自然语言数据分别对应的指令生成模板进行合并,得到新增指令生成模板;
根据所述每个子自然语言数据对应的语法结构特征、所述新增指令生成模板中的关键字符语法标识,在所述每个子自然语言数据中选择关键字符信息;
根据所述新增指令生成模板和所述关键字符信息,生成所述目标自然语言数据所指示的操作指令。
其中,所述对与所述每个子自然语言数据分别对应的指令生成模板进行合并,得到新增指令生成模板,包括:
将与所述每个子自然语言数据分别对应的指令生成模板中的关键字符语法标识,确定为待检测关键字符语法标识,并根据所述每个子自然语言数据分别对应的语法结构特征,在所述每个子自然语言数据中获取与所述待检测关键字符语法标识相匹配的词字符,作为第一词字符;所述词字符是通过对所述每个子自然语言数据进行分词处理所得到的;所述关键字符语法标识包括用于进行指令生成的词字符对应的词性标签和索引号;
根据所述目标自然语言数据对应的语法结构特征,在所述目标自然语言数据中获取与所述待检测关键字符语法标识相匹配的词字符,作为第二词字符;
将所述第一词字符和所述第二词字符相同的待检测关键字符语法标识,确定为第一关键字符语法标识,并将所述第一词字符和所述第二词字符不相同的待检测关键字符语法标识,确定为第二关键字符语法标识;
在所述目标自然语言数据对应的语法结构特征中,查找所述第二关键字符语法标识对应的第一词字符的索引号,作为目标索引号;
将所述第二关键字符语法标识中的索引号替换为所述目标索引号,得到第三关键字符语法标识,并根据所述每个子自然语言数据之间的句子顺序,对所述第一关键字符语法标识和所述第三关键字符语法标识所属的指令生成模板进行顺序合并,得到新增指令生成模板。
其中,所述新增指令生成模板包括与所述每个子自然语言数据分别对应的指令生成模板中的指令提示集,每个指令提示集均包括与所属的子自然语言数据相关联的关键字符语法标识;每个指令提示集之间的顺序与所述每个子自然语言数据之间的句子顺序相同;
所述根据所述新增指令生成模板和所述关键字符信息,生成所述目标自然语言数据所指示的操作指令,具体包括:
根据所述新增指令生成模板中的每个指令提示集、所述每个指令提示集分别对应的关键字符信息,生成所述每个指令提示集分别对应的子操作指令,并按照所述每个指令提示集之间的顺序对所述子操作指令进行组合,得到所述目标自然语言数据所指示的操作指令。
其中,所述新增指令生成模板中的多个指令提示集包括第一指令提示集和第二指令提示集,所述第一指令提示集还包括不为空的返回值类型,所述第一指令提示集位于所述第二指令提示集之前;
则所述根据所述新增指令生成模板中的每个指令提示集、所述每个指令提示集分别对应的关键字符信息,生成所述每个指令提示集分别对应的子操作指令,并按照所述每个指令提示集之间的顺序对所述子操作指令进行组合,得到所述目标自然语言数据所指示的操作指令,包括:
根据所述新增指令生成模板中的第一指令提示集、所述第一指令提示集对应的关键字符信息,生成所述第一指令提示集对应的子操作指令;
根据所述第一指令提示集对应的子操作指令执行对应操作,得到结果数据,并将所述结果数据作为所述第一指令提示集的返回值,并将所述返回值作为所述第二指令提示集的输入参数;
根据所述新增指令生成模板中的第二指令提示集、包含所述返回值的输入参数、所述第二指令提示集对应的关键字符信息,生成所述第二指令提示集对应的子操作指令,并将所述第二指令提示集对应的子操作指令确定为所述目标自然语言数据所指示的操作指令。
其中,还包括:
设置所述新增指令生成模板与所述目标自然语言数据之间的映射关系,并将所述新增指令生成模板与所述目标自然语言数据之间的映射关系添加至所述指令规则库。
本发明实施例一方面提供了一种基于自然语言的指令生成装置,包括:
特征生成模块,用于获取目标自然语言数据,并生成所述目标自然语言数据对应的语法结构特征;
模板查找模块,用于若指令规则库包括所述目标自然语言数据对应的语法结构特征,则在所述指令规则库中,查找与所述目标自然语言数据对应的语法结构特征具有映射关系的指令生成模板,作为目标指令生成模板;所述指令规则库包括多个语法结构特征以及与每个语法结构特征具有映射关系的指令生成模板;
选择模块,用于根据所述目标自然语言数据对应的语法结构特征、所述目标指令生成模板中的关键字符语法标识,在所述目标自然语言数据中选择关键字符信息;
生成模块,用于根据所述目标指令生成模板和所述关键字符信息,生成所述目标自然语言数据所指示的操作指令。
其中,所述特征生成模块包括:
文本生成单元,用于获取所述目标自然语言数据,并生成所述目标自然语言数据对应的目标文本信息;
构建单元,用于对所述目标文件信息进行分词处理,得到多个词字符,并标注每个词字符分别对应的词性标签,并基于字符结构分析为所述多个词字符构建字符结构树;所述字符结构树中包含所述多个词字符之间的字符结构关系;
特征生成单元,用于根据所述词性标签和所述字符结构树,生成所述目标自然语言数据对应的语法结构特征。
其中,所述特征生成单元包括:
索引号确定子单元,用于按照遍历顺序,对所述字符结构树中的所述多个词字符分别对应的词性标签进行遍历,并根据遍历结果确定每个词字符分别对应的词性标签的访问次数,并根据所述访问次数确定所述每个词字符分别对应的索引号;
特征生成子单元,用于根据所述词性标签、所述字符结构树中的所述多个词字符之间的字符结构关系和父子节点关系、所述每个词字符分别对应的索引号,生成所述目标自然语言数据对应的语法结构特征。
其中,所述选择模块包括:
标识获取单元,用于获取所述目标指令生成模板中的关键字符语法标识;所述关键字符语法标识包括用于进行指令生成的词字符对应的词性标签和索引号;
关键字符查找单元,用于根据所述目标自然语言数据对应的语法结构特征,在所述多个词字符中查找与所述关键字符语法标识中的词性标签和索引号相匹配的词字符,作为关键字符信息。
其中,所述生成模块包括:
函数查找单元,用于查找与所述目标指令生成模板中的返回值类型、关键字符语法标识的数量、所述关键字符信息对应的参数类型相匹配的功能函数集;所述功能函数集中的每个功能函数均具有对应的操作类型标签;
函数确定单元,用于识别所述多个词字符与所述每个功能函数对应的操作类型标签之间的相似度,将具有最高相似度的功能函数确定为目标功能函数;
指令生成单元,用于将所述关键字符信息添加到所述目标功能函数中,根据添加后的目标功能函数生成所述目标自然语言数据所指示的操作指令。
本发明实施例一方面提供了一种基于自然语言的指令生成装置,包括:
特征生成模块,用于获取目标自然语言数据,并生成所述目标自然语言数据对应的语法结构特征;
拆分模块,用于当在指令规则库中未查找到与所述目标自然语言数据对应的语法结构特征时,对所述目标自然语言数据进行句子拆分,得到与所述目标自然语言数据对应的多个子自然语言数据,并通知所述特征生成模块生成每个子自然语言数据分别对应的语法结构特征;所述指令规则库包括多个语法结构特征以及与每个语法结构特征具有映射关系的指令生成模板;
模板查找模块,用于在所述指令规则库中,查找与所述每个子自然语言数据分别对应的语法结构特征具有映射关系的指令生成模板;
模板合并模块,用于对与所述每个子自然语言数据分别对应的指令生成模板进行合并,得到新增指令生成模板;
选择模块,用于根据所述每个子自然语言数据对应的语法结构特征、所述新增指令生成模板中的关键字符语法标识,在所述每个子自然语言数据中选择关键字符信息;
生成模块,用于根据所述新增指令生成模板和所述关键字符信息,生成所述目标自然语言数据所指示的操作指令。
其中,所述模板合并模块包括:
第一字符获取单元,用于将与所述每个子自然语言数据分别对应的指令生成模板中的关键字符语法标识,确定为待检测关键字符语法标识,并根据所述每个子自然语言数据分别对应的语法结构特征,在所述每个子自然语言数据中获取与所述待检测关键字符语法标识相匹配的词字符,作为第一词字符;所述词字符是通过对所述每个子自然语言数据进行分词处理所得到的;所述关键字符语法标识包括用于进行指令生成的词字符对应的词性标签和索引号;
第二字符获取单元,用于根据所述目标自然语言数据对应的语法结构特征,在所述目标自然语言数据中获取与所述待检测关键字符语法标识相匹配的词字符,作为第二词字符;
标识确定单元,用于将所述第一词字符和所述第二词字符相同的待检测关键字符语法标识,确定为第一关键字符语法标识,并将所述第一词字符和所述第二词字符不相同的待检测关键字符语法标识,确定为第二关键字符语法标识;
索引号查找单元,用于在所述目标自然语言数据对应的语法结构特征中,查找所述第二关键字符语法标识对应的第一词字符的索引号,作为目标索引号;
模板合并单元,用于将所述第二关键字符语法标识中的索引号替换为所述目标索引号,得到第三关键字符语法标识,并根据所述每个子自然语言数据之间的句子顺序,对所述第一关键字符语法标识和所述第三关键字符语法标识所属的指令生成模板进行顺序合并,得到新增指令生成模板。
其中,所述新增指令生成模板包括与所述每个子自然语言数据分别对应的指令生成模板中的指令提示集,每个指令提示集均包括与所属的子自然语言数据相关联的关键字符语法标识;每个指令提示集之间的顺序与所述每个子自然语言数据之间的句子顺序相同;
所述生成模块,具体用于根据所述新增指令生成模板中的每个指令提示集、所述每个指令提示集分别对应的关键字符信息,生成所述每个指令提示集分别对应的子操作指令,并按照所述每个指令提示集之间的顺序对所述子操作指令进行组合,得到所述目标自然语言数据所指示的操作指令。
其中,所述新增指令生成模板中的多个指令提示集包括第一指令提示集和第二指令提示集,所述第一指令提示集还包括不为空的返回值类型,所述第一指令提示集位于所述第二指令提示集之前;
则所述生成模块包括:
指令生成单元,用于根据所述新增指令生成模板中的第一指令提示集、所述第一指令提示集对应的关键字符信息,生成所述第一指令提示集对应的子操作指令;
返回值确定单元,用于根据所述第一指令提示集对应的子操作指令执行对应操作,得到结果数据,并将所述结果数据作为所述第一指令提示集的返回值,并将所述返回值作为所述第二指令提示集的输入参数;
所述指令生成单元,还用于根据所述新增指令生成模板中的第二指令提示集、包含所述返回值的输入参数、所述第二指令提示集对应的关键字符信息,生成所述第二指令提示集对应的子操作指令,并将所述第二指令提示集对应的子操作指令确定为所述目标自然语言数据所指示的操作指令。
其中,还包括:
设置添加模块,用于设置所述新增指令生成模板与所述目标自然语言数据之间的映射关系,并将所述新增指令生成模板与所述目标自然语言数据之间的映射关系添加至所述指令规则库。
本发明实施例一方面提供了一种电子设备,包括:处理器和存储器;
所述处理器和存储器相连,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如本发明实施例一方面中的方法。
本发明实施例一方面提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如本发明实施例一方面中的方法。
本发明实施例通过分析自然语言的语法结构特征,而且语法结构特征是直接通过分析自然语言的语法结构即可获得,所以语法结构特征是不需要依赖大量数据的训练,即无需训练成本即可获取到语法结构特征。由于语法结构特征可以准确的描述自然语言,因此,通过语法结构特征对应的指令生成模板可以准确的找出自然语言中的有效数据,即关键字符信息,进而根据关键字符信息和指令生成模板,可以保证所生成的操作指令的准确性,即基于语法结构特征可以无需训练成本即可保证所生成的操作指令的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的语音控制设备的场景示意图;
图1b是本发明实施例提供的一种指令生成的场景示意图;
图2是本发明实施例提供的一种基于自然语言的指令生成方法的流程示意图;
图3a是本发明实施例提供的一种字符结构树的结构示意图;
图3b是本发明实施例提供的一种生成操作指令的场景示意图;
图4是本发明实施例提供的另一种基于自然语言的指令生成方法的流程示意图;
图5是本发明实施例提供的另一种基于自然语言的指令生成方法的流程示意图;
图6是本发明实施例提供的一种基于自然语言的指令生成装置的结构示意图;
图7是本发明实施例提供的另一种基于自然语言的指令生成装置的结构示意图;
图8是本发明实施例提供的一种电子设备的结构示意图;
图9是本发明实施例提供的另一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1a,是本发明实施例提供的语音控制设备的场景示意图,在图1a中,用户100可以向终端设备200发送自然语言,图1a中的终端设备200是一种以机器人为形态的设备,终端设备200接收到该自然语言后,可以对该自然语言进行分析并生成对应的操作指令,若自然语言为“向前走5米”,则终端设备200可以根据对应的操作指令执行如图1a所示的移动操作,该移动操作即指终端设备200向前走5米的行为操作。
进一步的,请一并参见图1b,是本发明实施例提供的一种指令生成的场景示意图。图1b仍以上述图1a中的用户100和终端设备200为例,用户100可以向终端设备200发送自然语言,可以将该自然语言称之为目标自然语言数据,终端设备200接收到目标自然语言数据后,对目标自然语言数据进行自然语言分析,即对目标自然语言数据对应的目标文本信息进行分词,得到多个词字符,并确定每个词字符的词性标签,并基于字符结构分析确定所述多个词字符之间的字符结构关系,再根据词性标签和字符结构关系生成对应的语法结构特征。其中,词性标签可以包括名词、动词、形容词或其他词性的标签。字符结构分析可以是指依存句法分析(dependency parsing,DP),字符结构关系可以是依存句法分析对应的依存关系,如依存关系可以包括SBV(subject-verb,主谓关系)、VOB(verb-object,动宾关系)等等。语法结构特征是一种字符串表示形式,这种表示形式的语法结构特征可以提高后续的索引速度,生成语法结构特征的具体过程在下面图2对应实施例中的进行具体说明。终端设备200得到目标自然语言数据对应的语法结构特征后,可以进一步在指令规则库中查询是否存在该语法结构特征,若查询成功(即指令规则库包括目标自然语言数据对应的语法结构特征),则进一步在指令规则库中提取该语法结构特征对应的指令生成模板,作为目标指令生成模板,并基于该目标指令生成模板生成所述目标自然语言数据所指示的操作指令。其中,指令规则库可以包括多个语法结构特征以及与每个语法结构特征具有映射关系的指令生成模板,指令生成模板可以用于指导后续的指令生成,对指令生成模板的具体定义也在下面图2对应实施例中进行详细说明。
在图1b中,若查询失败(即指令规则库不包括目标自然语言数据对应的语法结构特征),则终端设备200可以通过与用户100进行交互以对目标自然语言数据进行句子拆分,得到多个简单的子自然语言数据。例如,终端设备200接收到的目标自然语言数据对应的目标文本信息为“把桌子上的杯子拿给我。”,且无法在指令规则库中找到其对应的语法结构特征,因此,终端设备200进一步发出提示语音“抱歉,能解释一下吗?”,用户100根据提示语音,重新将目标自然语言数据拆分成两句简单的子自然语言数据,两句简单的子自然语言数据分别对应的文本信息为“拿起桌子上的杯子。”和“把被子给我。”。终端设备200也同样可以生成每个子自然语言数据分别对应的语法结构特征,若在指令规则库中成功查询到每个子自然语言数据分别对应的语法结构特征,则可以进一步在指令规则库中提取每个子自然语言数据分别对应的语法结构特征所映射的指令生成模板(在图1a中具体包括指令生成模板a、指令生成模板b、指令生成模板c,这里仅以3个为例,本发明实施例并不对数量进行限定),对指令生成模板a、指令生成模板b、指令生成模板c进行合并,得到新增指令生成模板,并基于新增指令生成模板生成所述目标自然语言数据所指示的操作指令。若依然对子自然语言数据对应的语法结构特征查询失败,则终端设备200可以继续与用户进行交互以进一步对子自然语言数据进行句子拆分。终端设备200得到新增指令生成模板后,还可以设置所述新增指令生成模板与所述目标自然语言数据之间的映射关系,并将所述新增指令生成模板与所述目标自然语言数据之间的映射关系添加至所述指令规则库,以便于后续再接收到的该目标自然语言数据,就不用再进行句子拆分和对指令生成模板合并的操作,即可以直接从指令规则库中找到该新增指令生成模板,并基于该新增指令生成模板生成相应的操作指令。
其中,生成语法结构特征的具体过程、对指令规则库和指令生成模板的具体定义、合并得到新增指令生成模板的具体过程、基于目标指令生成模板或新增指令生成模板生成操作指令的具体过程,可以通过以下图2-图7对应实施例进行详细说明。
请参见图2,是本发明实施例提供的一种基于自然语言的指令生成方法的流程示意图,所述方法可以包括:
S201,获取目标自然语言数据,并生成所述目标自然语言数据对应的语法结构特征;
具体的,用户可以向终端设备说出语音数据,该语音数据可以为自然语言,自然语言通常是指一种自然地随文化演化的语言,同时还可以将该语音数据称之为目标自然语言数据,即终端设备可以获取到该目标自然语言数据。终端设备可以进一步基于语音识别技术生成所述目标自然语言数据对应的目标文本信息,该目标文本信息可以为中文文本信息,并对目标文本信息进行分词(Word Segmentation,WS),该分词可以是指将汉字序列切分成词序列,本发明实施例将对目标文本信息进行分词后得到的多个词序列称之为多个词字符。其中,用于对目标文本信息进行分词的分词算法可以包括基于字符串匹配的分词方法、基于理解的分词方法、基于统计的分词方法。终端设备再对每个词字符进行词性标注(Part-of-speech Tagging,POS tagging),词性标注可以是指为每个词字符标注一个正确的词性的过程,也即确定每个词字符是名词、动词、形容词或其他词性的过程。进行词性标注后可以得到每个词字符分别对应的词性标签,词性标签可以包括名词、动词、形容词或其他词性的标签。
终端设备还可以基于依存句法分析确定每个词字符之间的依存关系,依存句法分析可以是通过分析语言单位内成分之间的依存关系揭示其句法结构的过程,换言之,基于依存句法分析可以识别句子中的“主谓宾”、“定状补”这些语法成分,并分析各成分之间的关系。其中,可以分为15种依存关系,分别为SBV(subject-verb,主谓关系)、VOB(verb-object,动宾关系)、IOB(indirect-object,间宾关系)、FOB(fronting-object,前置宾语)、DBL(double,兼语)、ATT(attribute,定中关系)、ADV(adverbial,状中结构)、CMP(complement,动补结构)、COO(coordinate,并列关系)、POB(preposition-object,介宾关系)、LAD(left adjunct,左附加关系)、RAD(right adjunct,右附加关系)、IS(independentstructure,独立结构)、WP(punctuation,标点)、HED(head,核心关系)。
终端设备可以以每个词字符为节点构建字符结构树,该字符结构树包括每个节点之间的依存关系以及每个节点之间的父子节点关系,并对字符结构树进行遍历,该遍历顺序可以是从字符结构树的根节点(属于最上层的节点)开始,逐渐往下层的节点遍历,对于同一层的节点则可以按照从左至右的顺序进行遍历,按照遍历的顺序可以为每个节点分别对应的词性标签设置一个索引号,使得字符结构树上的每一个节点都是唯一的。例如,访问根节点“root”后,第二个访问到的节点的词性标签为v(v表示动词),设置其索引号为0,并用字符串“v_0”表征该节点;第三个访问到的节点的词性标签为v(v表示动词),设置其索引号为1,并用字符串“v_1”表征该节点;第四个访问到的节点的词性标签为q(q表示量词),设置其索引号为0,并用字符串“q_0”表征该节点。
终端设备可以再根据所述词性标签、字符结构树中的多个词字符之间的依存关系和父子节点关系、所述每个词字符分别对应的索引号,构建目标自然语言数据对应的语法结构特征,其中,该语法结构特征可以由每个词字符对应的用于表示语法结构的字符串组成,因此,语法结构特征是一种字符串表示形式,这种表示形式的语法结构特征可以提高后续的索引速度。进一步的,请一并参加图3a,是本发明实施例提供的一种字符结构树的结构示意图,目标自然语言数据对应的目标文本信息为“向前走5米。”,分词后得到的词字符分别为“向前”、“走”、“5”、“米”、“。”,如图3a所示,这些词字符均作为字符结构树的节点,其中,“向前”的词性标签为v(v表示动词)、“走”的词性标签为v、“5”的词性标签为m(m表示数词)、“米”的词性标签为q(q表示量词)、“。”的词性标签为wp(wp表示标点);对图3a中的字符结构树进行遍历的顺序为:首先访问根节点“root”,然后从上至下对节点进行访问,即继续访问下一层的节点“走”,节点“走”为第一次访问到的动词,所以设置节点“走”对应的索引号为0,并用字符串“v_0”来表示节点“走”;继续访问下一层的节点“向前”(对于同一层的节点,从左至右进行遍历),节点“向前”为第二次访问到的动词,所以设置节点“向前”对应的索引号为1,并用字符串“v_1”来表示节点“向前”;再访问节点“米”,节点“米”为第一次访问到的量词,所以设置节点“米”对应的索引号为0,并用字符串“q_0”来表示节点“米”;再访问节点“。”,节点“。”为第一次访问到的标点,所以设置节点“。”对应的索引号为0,并用字符串“wp_0”来表示节点“。”;最后访问最底层的节点“5”,节点“5”为第一次访问到的数词,所以设置节点“5”对应的索引号为0,并用字符串“m_0”来表示节点“米”。上述遍历顺序为广度优先遍历顺序,可选的,本发明实施例也可以通过深度优先遍历顺序对字符结构树进行遍历。从图3a中可知,根节点“root”是节点“走”的父节点,且节点“走”与其父节点的依存关系为HED(即核心关系);节点“走”是节点“向前”的父节点,且节点“向前”与其父节点的依存关系为ADV(即状中结构);节点“走”是节点“米”的父节点,且节点“米”与其父节点的依存关系为VOB(即动宾关系);节点“走”是节点“。”的父节点,且节点“。”与其父节点的依存关系为WP(即标点);节点“米”是节点“5”的父节点,且节点“5”与其父节点的依存关系为ATT(即定中关系)。基于依存关系、词性标签、索引号,可以生成每个词字符分别对应的用于表示语法结构的字符串,如节点“走”对应的用于表示语法结构的字符串可以为v_HED_0(该字符串中的v即表示节点“走”的词性标签,HED即表示节点“走”与其父节点的依存关系,0即表示节点“走”对应的索引号),同理可得节点“向前”对应的用于表示语法结构的字符串可以为v_ADV_1,节点“米”对应的用于表示语法结构的字符串可以为q_VOB_0,节点“。”对应的用于表示语法结构的字符串可以为wp_WP_0,节点“5”对应的用于表示语法结构的字符串可以为m_ATT_0,再根据每个节点之间的父子节点关系对每个节点对应的用于表示语法结构的字符串进行组合,得到目标自然语言数据对应的语法结构特征:
v_HED_0(v_ADV_1q_VOB_0(m_ATT_0)wp_WP_0)。
其中,语法结构特征中的括号用于表示字符结构树的父子节点关系。其中,用词性标签替换词字符本身可以加强语法结构特征的覆盖范围,从而不需要关心词字符具体是什么,只要词性一致,字符结构树一致,便可归为一类。
可选的,字符结构树提供了每个词字符之间的依存关系。该依存关系是可表示为三元组其中是Ti节点到Tj节点之间的依存关系。例如,节点“走”和节点“向前”之间的依存关系为ADV(状中结构),所以该三元组可记作<走,ADV,向前>。再使用词字符的词性标签替换词字符本身,使得表示依存关系的三元组被转移到 是Ti节点的词性标签,是Tj节点的词性标签。例如,节点“走”被替换为“v”,节点“向前”也被替换为“v”,因此,三元组<走,ADV,向前>被转移到<v,ADV,v>。
可选的,语法结构特征还可以称之为由中文自然语言依存句法分析所构建的模型,也可以称之为语法特征模型,也可以称之为DM(dependence model,依赖模型)。
可选的,在得到目标文本信息后,可以先将目标文本信息中不具备实际意义的虚词删除,再进行分词,进而可以保证所生成的语法结构特征的准确性。
S202,若指令规则库包括所述目标自然语言数据对应的语法结构特征,则在所述指令规则库中,查找与所述目标自然语言数据对应的语法结构特征具有映射关系的指令生成模板,作为目标指令生成模板;
具体的,指令规则库可以包括多个语法结构特征以及与每个语法结构特征具有映射关系的指令生成模板,多个指令生成模板和多个语法结构特征均可以由开发人员预先设置好,并设置指令生成模板和语法结构特征之间的映射关系,并将该映射关系存储在指令规则库中,该指令规则库还可以称之为DML(dependence model library,依赖模型库),指令生成模板还可以称之为程序框架或程序模板,指令生成模板可以用于指导后续的指令生成。指令规则库中的语法结构特征还可以称之为key(键),对应的指令生成模板还可以称之为value(值),以形成键值对。
终端设备在得到模板自然语言数据对应的语法结构特征后,可以进一步在指令规则库中查找是否存在目标自然语言数据对应的语法结构特征,若存在,则可以进一步在指令规则库中提取与所述目标自然语言数据对应的语法结构特征具有映射关系的指令生成模板,并将查找到的该指令生成模板称之为目标指令生成模板。
以上述图3a对应实施例中的语法结构特征为例,其对应的目标指令生成模板可以为:
其中,“Block_0””代表一个指令集合,即“Block_0””可以包括多条stmt指令(即机器人指令),目标指令生成模板中的“Stmt_0”可以是指一条stmt指令,一条stmt指令用于生成一个操作指令,一条stmt指令包括一个指令提示集,该指令提示集包括返回值类型和关键字符语法标识,“None”表示返回值类型为空,“v_1”和“m_0”和“q_0”均为关键字符语法标识,即该目标指令生成模板中的指令提示集包括3个关键字符语法标识,这3个关键字符语法标识是用于从目标自然语言数据中获取与之对应的3个词字符,这3个词字符即为用于生成操作指令的有效数据。
可选的,目标指令生成模板也可以包含多条stmt指令,即基于该目标指令生成模板可以生成多个操作指令,一条stmt指令可以生成一个操作指令,通过按序执行所生成的多个操作指令即可实现目标自然语言数据所指示的操作。如目标指令生成模板包括“Stmt_0”和“Stmt_1”两条stmt指令,因此,可以先执行“Stmt_0”对应的操作指令,然后再执行“Stmt_1”对应的操作指令,进一步的,若“Stmt_0”对应的指令提示集包括不为空的返回值类型,则在生成出“Stmt_0”对应的操作指令后,可以执行“Stmt_0”对应的操作指令所指示的操作,并得到结果数据,并将该结果数据作为“Stmt_1”中的指令提示集中的输入参数,基于该输入参数和“Stmt_1”中的指令提示集中的关键字符语法标识,可以生成“Stmt_1”对应的操作指令。例如,目标自然语言数据对应的目标文本信息为“告诉我深圳天气情况”,对应的目标指令生成模板包括“Stmt_0”和“Stmt_1”两条stmt指令,“Stmt_0”包含不为空的返回值类型,“Stmt_0”可以生成出天气获取指令,通过该天气获取指令可以获取深圳天气数据,并将该深圳天气数据作为返回值,并将该返回值作为“Stmt_1”的输入参数,“Stmt_1”可以生成出语音播放指令,因此,通过执行包含深圳天气数据的语音播放指令,可以语音播放深圳天气情况。
S203,根据所述目标自然语言数据对应的语法结构特征、所述目标指令生成模板中的关键字符语法标识,在所述目标自然语言数据中选择关键字符信息;
具体的,终端设备可以获取所述目标指令生成模板中的关键字符语法标识;所述关键字符语法标识包括用于进行指令生成的词字符对应的词性标签和索引号;再根据所述目标自然语言数据对应的语法结构特征,在所述多个词字符中查找与所述关键字符语法标识中的词性标签和索引号相匹配的词字符,作为关键字符信息,关键字符信息即为用于生成操作指令的有效数据。以上述图3a为例,目标自然语言数据对应的目标文本信息为“向前走5米。”,对应的目标指令生成模板中的关键字符语法标识包括“v_1”、“m_0”、“q_0”,与“v_1”相匹配的词字符为“向前”,与“m_0”相匹配的词字符为“5”,与“q_0”相匹配的词字符为“米”,因此,词字符“向前”、“5”、“米”均为关键字符信息。
S204,根据所述目标指令生成模板和所述关键字符信息,生成所述目标自然语言数据所指示的操作指令;
具体的,终端设备可以查找与所述目标指令生成模板中的返回值类型、关键字符语法标识的数量、所述关键字符信息对应的参数类型相匹配的功能函数集。其中,可以预先定义与每个功能函数具有关联关系的返回值类型、关键字符语法标识的数量、参数类型,进而在获得目标指令生成模板后,可以查找满足目标指令生成模板中的返回值类型、关键字符语法标识的数量、所述关键字符信息对应的参数类型的约束的多个功能函数,并将该多个功能函数称之为功能函数集。其中,所述关键字符信息对应的参数类型可以包括位移参数类型、时间参数类型、距离参数类型、整数参数类型等等,如某个关键字符信息为“米”,则“米”对应的参数类型可以为距离参数类型。所述功能函数集中的每个功能函数均具有对应的操作类型标签。例如,用于控制设备移动的功能函数所对应的操作类型标签可以包括:“移动”、“位移”;用于控制设备进行语音播放的功能函数所对应的操作类型标签可以包括:“语音”、“播放”。终端设备可以进一步识别所述多个词字符(即目标文本信息中的所有分词)与所述每个功能函数对应的操作类型标签之间的相似度,将具有最高相似度的功能函数确定为目标功能函数,该相似度可以理解为语义的相似度,即分析目标文本信息和操作类型标签之间在语义上的相似度,也可以将与功能函数对应的操作类型标签匹配的词字符的数量作为相似度,即匹配的数量越多,则相似度越高。其中,若某词字符与功能函数对应的操作类型标签的字符完全相同或语义相近,则可以确定该词字符与功能函数对应的操作类型标签相匹配。再将所述关键字符信息添加到所述目标功能函数中,根据添加后的目标功能函数生成所述目标自然语言数据所指示的操作指令。
请一并参见图3b,是本发明实施例提供的一种生成操作指令的场景示意图。在图3b中,查找满足目标指令生成模板中的返回值类型、关键字符语法标识的数量、所述关键字符信息对应的参数类型的约束的多个功能函数,具体包括如图3b所示的功能函数A、功能函数B、功能函数C,其中,目标自然语言数据对应的多个词字符包括如图3b所示的词字符1、词字符2、词字符3;每个功能函数对应的操作类型标签都与3个词字符进行匹配,若功能函数A对应的操作类型标签与词字符1和词字符2匹配为相似,功能函数B对应的操作类型标签与词字符1、词字符2以及词字符3都匹配为相似,功能函数C对应的操作类型标签与词字符2以及词字符3匹配为相似,则可以得知功能函数B所匹配到为相似的词字符的数量最多,进而可以确定功能函数B与目标自然语言数据的相似度最高,进而确定功能函数B为目标功能函数,将关键字符信息添加到功能函数B中,根据添加后的功能函数B生成目标自然语言数据所指示的操作指令。
可选的,当目标指令生成模板包括多条stmt指令时,均可以通过上述确定目标功能函数的方式为每条stmt指令分别确定对应的目标功能函数,基于每个目标功能函数可以生成每条stmt指令分别对应的子操作指令,按照stmt指令的执行顺序,可以将各子操作指令组合为所述目标自然语言数据所指示的操作指令,即按顺序执行各个子操作指令后,即可完成目标自然语言数据所指示的行为操作。
本发明实施例通过获取目标自然语言数据,并生成所述目标自然语言数据对应的语法结构特征;若指令规则库包括所述目标自然语言数据对应的语法结构特征,则在所述指令规则库中,查找与所述目标自然语言数据对应的语法结构特征具有映射关系的指令生成模板,作为目标指令生成模板;根据所述目标自然语言数据对应的语法结构特征、所述目标指令生成模板中的关键字符语法标识,在所述目标自然语言数据中选择关键字符信息;根据所述目标指令生成模板和所述关键字符信息,生成所述目标自然语言数据所指示的操作指令。可见,本发明实施例是不需要识别用户意图的,只需分析自然语言的语法结构特征即可,而且语法结构特征是直接通过分析自然语言的语法结构即可获得,即不需要依赖大量数据的训练,即无需训练成本即可获取到语法结构特征。由于语法结构特征可以准确的描述自然语言,因此,通过语法结构特征对应的目标指令生成模板可以准确的找出自然语言中的有效数据,即关键字符信息,进而根据关键字符信息和目标指令生成模板,可以保证所生成的操作指令的准确性,即基于语法结构特征可以无需训练成本即可保证所生成的操作指令的准确性。
请参见图4,是本发明实施例提供的另一种基于自然语言的指令生成方法的流程示意图,所述方法可以包括:
S401,获取所述目标自然语言数据,并生成所述目标自然语言数据对应的目标文本信息;
具体的,用户可以向终端设备说出语音数据,该语音数据可以为自然语言,自然语言通常是指一种自然地随文化演化的语言,同时还可以将该语音数据称之为目标自然语言数据,即终端设备可以获取到该目标自然语言数据。终端设备可以进一步基于语音识别技术生成所述目标自然语言数据对应的目标文本信息,该目标文本信息可以为中文文本信息。
S402,对所述目标文件信息进行分词处理,得到多个词字符,并标注每个词字符分别对应的词性标签,并基于字符结构分析为所述多个词字符构建字符结构树;所述字符结构树中包含所述多个词字符之间的字符结构关系;
具体的,终端设备可以对目标文本信息进行分词,该分词可以是指将汉字序列切分成词序列,本发明实施例将对目标文本信息进行分词后得到的多个词序列称之为多个词字符。其中,用于对目标文本信息进行分词的分词算法可以包括基于字符串匹配的分词方法、基于理解的分词方法、基于统计的分词方法。终端设备再对每个词字符进行词性标注,词性标注可以是指为每个词字符标注一个正确的词性的过程,也即确定每个词字符是名词、动词、形容词或其他词性的过程。进行词性标注后可以得到每个词字符分别对应的词性标签,词性标签可以包括名词、动词、形容词或其他词性的标签。
其中,字符结构分析可以包括:依存句法分析和语义依存分析。依存句法分析可以是通过分析语言单位内成分之间的依存关系揭示其句法结构的过程,换言之,基于依存句法分析可以识别句子中的“主谓宾”、“定状补”这些语法成分,并分析各成分之间的关系。语义依存分析可以是指分析句子各个语言单位之间的语义关联,并将语义关联以依存结构呈现。
若字符结构分析为依存句法分析,则可以将所构建的字符结构树称之为句法结构树,且该句法结构树可以为上述图3a对应实施例中的字符结构树,即该句法结构树中的每个节点(即每个词字符)之间的字符结构关系可以为依存关系。句法结构树中每个节点之间的父子节点关系是由每个节点之间的依存关系所确定的。句法结构树中的定义和结构可以参见上述图3a对应实施例中对字符结构树的描述,这里不再进行赘述。
若字符结构分析为语义依存分析,则可以将所构建的字符结构树称之为语义结构树,语义结构树中的节点与句法结构树中的节点是相同的,但两种字符结构树中的节点间的父子节点关系不同,且节点间的字符结构关系也不同。在语义结构树中,每个节点之间的字符结构关系为语义关系,因此,每个节点之间的父子节点关系是由每个节点之间的语义关系所确定的。
可选的,由于字符结构树的树形结构具有同构性,所以要在为节点设置索引号之前消除树结构的同构性,为了消除树结构的同构性,可以依据节点信息给每个节点分配一个哈希值,并在树的同级节点之间按照哈希值递增的顺序排序节点。消除树结构的同构性的具体过程可以为:由根节点按照深度优先顺序递归处理;当某个节点的所有子节点都为叶子节点,则计算这些叶子节点的"a_b"字符串的MD5哈希值(其中a代表该叶子节点与其父节点的依赖关系的标签,b代表该叶子节点的词性标签),依据MD5哈希值递增的顺序给这些叶子节点排序;若某个节点不是叶子节点,则递归处理该节点的子节点,当其所有子节点顺序固定,则以该节点为根的子树可以用唯一字符串表示,然后计算该节点字符串表示的MD5哈希值,用该MD5哈希值排序。
S403,按照遍历顺序,对所述字符结构树中的所述多个词字符分别对应的词性标签进行遍历,并根据遍历结果确定每个词字符分别对应的词性标签的访问次数,并根据所述访问次数确定所述每个词字符分别对应的索引号;
具体的,终端设备可以对字符结构树进行遍历,该遍历顺序可以是从字符结构树的根节点(属于最上层的节点)开始,逐渐往下层的节点遍历,对于同一层的节点则可以按照从左至右的顺序进行遍历,根据遍历结果可以确定每个词字符分别对应的词性标签的访问次数,按照遍历的顺序可以为每个节点分别对应的词性标签设置一个索引号,使得字符结构树上的每一个节点都是唯一的。例如,访问根节点“root”后,第二个访问到的节点的词性标签为v(v表示动词),设置其索引号为0,并用字符串“v_0”表征该节点;第三个访问到的节点的词性标签为v(v表示动词),设置其索引号为1,并用字符串“v_1”表征该节点;第四个访问到的节点的词性标签为q(q表示量词),设置其索引号为0,并用字符串“q_0”表征该节点。无论字符结构树为句法结构树,或是语义结构树,均可以按照上述的遍历方式和索引点设置方式进行处理。上述遍历顺序为广度优先遍历顺序,可选的,本发明实施例也可以通过深度优先遍历顺序对字符结构树进行遍历。
S404,根据所述词性标签、所述字符结构树中的所述多个词字符之间的字符结构关系和父子节点关系、所述每个词字符分别对应的索引号,生成所述目标自然语言数据对应的语法结构特征;
具体的,终端设备可以再根据所述词性标签、字符结构树中的多个词字符之间的依存关系和父子节点关系、所述每个词字符分别对应的索引号,构建目标自然语言数据对应的语法结构特征,其中,该语法结构特征可以由每个词字符对应的用于表示语法结构的字符串组成,因此,语法结构特征是一种字符串表示形式,这种表示形式的语法结构特征可以提高后续的索引速度。生成语法结构特征的具体过程可以参见上述图3a对应实施例中生成语法结构特征的过程,如目标自然语言数据对应的目标文本信息为“向前走5米。”,则对应的语法结构特征可以为v_HED_0(v_ADV_1q_VOB_0(m_ATT_0)wp_WP_0)。
S405,当在指令规则库中未查找到与所述目标自然语言数据对应的语法结构特征时,对所述目标自然语言数据进行句子拆分,得到与所述目标自然语言数据对应的多个子自然语言数据,并生成每个子自然语言数据分别对应的语法结构特征;
具体的,指令规则库可以包括多个语法结构特征以及与每个语法结构特征具有映射关系的指令生成模板,多个指令生成模板和多个语法结构特征均可以由开发人员预先设置好,并设置指令生成模板和语法结构特征之间的映射关系,并将该映射关系存储在指令规则库中,该指令规则库还可以称之为DML,指令生成模板还可以称之为程序框架或程序模板,指令生成模板可以用于指导后续的指令生成。
终端设备在得到模板自然语言数据对应的语法结构特征后,可以进一步在指令规则库中查找是否存在目标自然语言数据对应的语法结构特征,若存在,则执行上述图2对应实施例中S202-S204的步骤。若不存在,则对所述目标自然语言数据进行句子拆分,得到与所述目标自然语言数据对应的多个子自然语言数据,并生成每个子自然语言数据分别对应的语法结构特征。句子拆分的过程可以为:终端设备向用户发出提示信息,以告知用户需要以多个简单的句子来重新描述目标自然语言数据的含义,并接收用户重新说出的多个简单的句子,每个简单的句子都可以称之为子自然语言数据。例如,终端设备接收到的目标自然语言数据对应的目标文本信息为“把桌子上的杯子拿给我。”,且无法在指令规则库中找到其对应的语法结构特征,因此,终端设备进一步发出提示语音“抱歉,能解释一下吗?”,用户根据提示语音,重新将目标自然语言数据拆分成两句简单的子自然语言数据,两句简单的子自然语言数据分别对应的文本信息为“拿起桌子上的杯子。”和“把被子给我。”。其中,生成每个子自然语言数据的语法结构特征的过程与生成目标自然语言数据的语法结构特征的过程是相同的。
S406,在所述指令规则库中,查找与所述每个子自然语言数据分别对应的语法结构特征具有映射关系的指令生成模板;
具体的,终端设备继续在指令规则库中查找是否包含每个子自然语言数据对应的语法结构特征,若依然查找不到,则继续对为查找到的子自然语言数据进行拆分,若都能查找到,则继续在所述指令规则库中,查找与所述每个子自然语言数据分别对应的语法结构特征具有映射关系的指令生成模板。指令生成模板的定义和结构可以参见上述图2实施例中S202,这里不再进行赘述。
S407,对与所述每个子自然语言数据分别对应的指令生成模板进行合并,得到新增指令生成模板;
具体的,终端设备可以将与所述每个子自然语言数据分别对应的指令生成模板中的关键字符语法标识,确定为待检测关键字符语法标识,并根据所述每个子自然语言数据分别对应的语法结构特征,在所述每个子自然语言数据中获取与所述待检测关键字符语法标识相匹配的词字符,作为第一词字符。例如,若存在子自然语言数据A和子自然语言数据B,子自然语言数据A对应的指令生成模板包括关键字符语法标识C,子自然语言数据B对应的指令生成模板包括关键字符语法标识D(其中,关键字符语法标识C和关键字符语法标识D均可以称之为待检测关键字符语法标识),则可以根据子自然语言数据A对应的语法结构特征,在子自然语言数据A中获取与关键字符语法标识C相匹配的词字符,并将其称之为第一词字符;还可以根据子自然语言数据B对应的语法结构特征,在子自然语言数据B中获取与关键字符语法标识D相匹配的词字符,同样也将其称之为第一词字符。同理,还可以根据所述目标自然语言数据对应的语法结构特征,在所述目标自然语言数据中获取与所述待检测关键字符语法标识相匹配的词字符,并将其称之为第二词字符。
终端设备可以将所述第一词字符和所述第二词字符相同的待检测关键字符语法标识,确定为第一关键字符语法标识,并将所述第一词字符和所述第二词字符不相同的待检测关键字符语法标识,确定为第二关键字符语法标识。例如,若待检测关键字符语法标识“n_0”对应的第一词字符和第二词字符均为“水壶”,则可以确定“n_0”为第一关键字符语法标识;若待检测关键字符语法标识“n_1”对应的第一词字符和第二词字符均为“凳子”,则可以确定“n_1”也为第一关键字符语法标识;若待检测关键字符语法标识“v_0”对应的第一词字符为“给”,“v_0”对应的第二词字符为“拿”,则可以确定“v_0”为第二关键字符语法标识。
终端设备继续在所述目标自然语言数据对应的语法结构特征中,查找所述第二关键字符语法标识对应的第一词字符的索引号,作为目标索引号,并将所述第二关键字符语法标识中的索引号替换为所述目标索引号,得到第三关键字符语法标识。例如,若待检测关键字符语法标识“v_0”对应的第一词字符为“给”,“v_0”对应的第二词字符为“拿”,则可以确定“v_0”为第二关键字符语法标识,并在所述目标自然语言数据对应的语法结构特征中,查找“v_0”对应的第一词字符“给”的索引号为“1”,并将“1”作为目标索引号,并用“1”替换“v_0”中的索引号,得到“v_1”,并将“v_1”确定为第三关键字符语法标识。
终端设备再根据所述每个子自然语言数据之间的句子顺序,对所述第一关键字符语法标识和所述第三关键字符语法标识所属的指令生成模板进行顺序合并,得到新增指令生成模板。可选的,若所有第一词字符与所有第二词字符都一一对应相同,则无需进行索引号修改,即所有待检测关键字符语法标识均为第一关键字符语法标识,进而对所述第一关键字符语法标识所属的指令生成模板进行顺序合并,得到新增指令生成模板。可选的,若所有第一词字符与所有第二词字符都一一对应不相同,则所有待检测关键字符语法标识均为第二关键字符语法标识,并对所有第二关键字符语法标识进行索引号修改,得到分别对应的第三关键字符语法标识,进而对所述第三关键字符语法标识所属的指令生成模板进行顺序合并,得到新增指令生成模板。
例如,拆分后得到两个子自然语言数据,第一个子自然语言数据对应的文本信息为“拿起桌子上的杯子。”,第二个子自然语言数据对应的文本信息为“把杯子给我。”,第一个子自然语言数据的执行顺序早于第二个子自然语言数据的执行顺序。其中,第一个子自然语言数据对应的语法结构特征为:
v_HED_0(n_VOB_0(nd_ATT_0(n_ATT_1u_RAD_0))v_CMP_1wp_WP_0);第二个子自然语言数据对应的语法结构特征为:
v_HED_0(p_ADV_0(n_POB_0)r_VOB_0wp_WP_0);
若都可以在指令规则库中提取到上述的两个语法结构特征,进而继续在指令规则库中提取到第一个语法结构特征对应的指令生成模板(称为模板1)为:
模板1中的“v_0”、“n_0”、“n_1”均可以称之为待检测关键字符语法标识。继续在指令规则库中提取到第二个语法结构特征对应的指令生成模板(称为模板2)为:
模板2中的“v_0”、“n_0”、“r_0”也均可以称之为待检测关键字符语法标识。模版1中的“v_0”对应的词字符为“拿“,在目标自然语言数据中的词字符”拿“的标记也是“v_0”,则不用修改“拿”对应的索引号,即可以进一步将模版1中的“v_0”称之为第一关键字符语法标识;同理,模板1中的“n_0”和“n_1”也不用修改,即可以进一步将模版1中的“n_0”和“n_1”也称之为第一关键字符语法标识。但模版2中,“v_0”对应的词字符为“给”,在目标自然语言数据中词字符“给”的标记是“v_1”,故需要将模版2中的“v_0”改为“v_1”,因此,可以将模板2中的“v_0”称之为第二关键字符语法标识,修改后所得到的“v_1”可以称之为第三关键字符语法标识;而模板2中的“n_0”和“r_0”同样也不用修改,因此,可以将模板2中的“n_0”和“r_0”也称之为第一关键字符语法标识。对模板2进行修改后,根据两条子自然语言数据的执行顺序关系,将包含对应的第一关键字符语法标识的模版1、包含对应的第一关键字符语法标识和第三关键字符语法标识的模板2合并为新增指令生成模板,新增指令生成模板具体为:
其中,新增指令生成模板可以包括与所述每个子自然语言数据分别对应的指令生成模板中的指令提示集,即包括“Stmt_0”对应的指令提示集和“Stmt_1”对应的指令提示集。“Stmt_0”对应的指令提示集包括:返回值类型“None”(表示返回值为空)、关键字符语法标识“v_0”、关键字符语法标识“n_0”、关键字符语法标识“n_1”,其中,“Stmt_0”对应的指令提示集中的3个关键字符语法标识均可以称之为第一关键字符语法标识。“Stmt_1”对应的指令提示集包括:返回值类型“None”(表示返回值为空)、关键字符语法标识“v_1”、关键字符语法标识“n_0”、关键字符语法标识“r_0”,其中,“Stmt_1”对应的指令提示集中的“v_1”也可以称之为第三关键字符语法标识,“Stmt_1”对应的指令提示集中的“n_0”和“r_0”也可以称之为第一关键字符语法标识。其中,“Stmt_0”对应的指令提示集位于“Stmt_1”对应的指令提示集之前,即每个指令提示集之间的顺序与所述每个子自然语言数据之间的句子顺序相同。
S408,根据所述每个子自然语言数据对应的语法结构特征、所述新增指令生成模板中的关键字符语法标识,在所述每个子自然语言数据中选择关键字符信息;
具体的,终端设备可以根据所述每个子自然语言数据对应的语法结构特征、所述新增指令生成模板中的关键字符语法标识,在所述每个子自然语言数据中选择关键字符信息。以上述的两个子自然语言数据分别对应的文本信息为“拿起桌子上的杯子。”、“把杯子给我。”为例,基于“拿起桌子上的杯子。”对应的语法结构特征和新增指令生成模板中“Stmt_0”对应的指令提示集中的关键字符语法标识,可以在“拿起桌子上的杯子。”中选择出关键字符信息包括:“拿”、“杯子”、“桌子”;基于“把杯子给我。”对应的语法结构特征和新增指令生成模板中“Stmt_1”对应的指令提示集中的关键字符语法标识,可以在“把杯子给我。”中选择出关键字符信息包括:“给”、“杯子”、“我”。其中,查找子自然语言数据对应的关键字符信息的具体过程与上述图2对应实施例中S203中查找关键字符信息的过程相同。
S409,根据所述新增指令生成模板和所述关键字符信息,生成所述目标自然语言数据所指示的操作指令;
具体的,终端设备再根据所述新增指令生成模板中的每个指令提示集、所述每个指令提示集分别对应的所述关键字符信息,生成所述每个指令提示集分别对应的子操作指令。以新增指令生成模板中的其中一个指令提示集为例,首先查找与该指令提示集中的返回值类型、关键字符语法标识的数量、关键字符信息对应的参数类型相匹配的功能函数集,所述功能函数集中的每个功能函数均具有对应的操作类型标签,进一步识别该指令提示集对应的子自然语言数据中的所有词字符与所述每个功能函数对应的操作类型标签之间的相似度,将具有最高相似度的功能函数确定为目标功能函数,该相似度可以理解为语义的相似度,即分析子自然语言数据和操作类型标签之间在语义上的相似度,也可以将与功能函数对应的操作类型标签匹配的词字符的数量作为相似度,即匹配的数量越多,则相似度越高。其中,若某词字符与功能函数对应的操作类型标签的字符完全相同或语义相近,则可以确定该词字符与功能函数对应的操作类型标签相匹配。再将该指令提示集对应的关键字符信息添加到所述目标功能函数中,根据添加后的目标功能函数生成该指令提示集对应的子操作指令。其中,可以预先定义与每个功能函数具有关联关系的返回值类型、关键字符语法标识的数量、参数类型,进而在获得新增指令生成模板后,可以查找满足新增指令生成模板中某指令提示集中的返回值类型、关键字符语法标识的数量、关键字符信息对应的参数类型的约束的多个功能函数,并将该多个功能函数称之为功能函数集。其中,所述参数类型可以包括位移参数类型、时间参数类型、距离参数类型、整数参数类型等等,如某个关键字符信息为“米”,则“米”对应的参数类型可以为距离参数类型。同理,可以生成新增指令生成模板中其他指令提示集分别对应的子操作指令。终端设备再按照所述每个指令提示集之间的顺序对所述子操作指令进行组合,得到所述目标自然语言数据所指示的操作指令,即按顺序执行各个子操作指令后,即可完成目标自然语言数据所指示的行为操作。
可选的,若新增指令生成模板中的多个指令提示集包括第一指令提示集(如将上述“Stmt_0”对应的指令提示集称之为第一指令提示集)和第二指令提示集(如将上述“Stmt_1”对应的指令提示集称之为第二指令提示集),所述第一指令提示集还包括不为空的返回值类型,所述第一指令提示集位于所述第二指令提示集之前,则生成所述每个指令提示集分别对应的子操作指令,并按照所述每个指令提示集之间的顺序对所述子操作指令进行组合,得到所述目标自然语言数据所指示的操作指令的具体过程可以为:根据所述新增指令生成模板中的第一指令提示集、所述第一指令提示集对应的关键字符信息,生成所述第一指令提示集对应的子操作指令;根据所述第一指令提示集对应的子操作指令执行对应操作,得到结果数据,并将所述结果数据作为所述第一指令提示集的返回值,并将所述返回值作为所述第二指令提示集的输入参数;根据所述新增指令生成模板中的第二指令提示集、包含所述返回值的输入参数、所述第二指令提示集对应的关键字符信息,生成所述第二指令提示集对应的子操作指令,并将所述第二指令提示集对应的子操作指令确定为所述目标自然语言数据所指示的操作指令,生成所述第二指令提示集对应的子操作指令,并将所述第二指令提示集对应的子操作指令确定为所述目标自然语言数据所指示的操作指令。
可选的,终端设备在得到新增指令生成模板后,还可以设置所述新增指令生成模板与所述目标自然语言数据之间的映射关系,并将所述新增指令生成模板与所述目标自然语言数据之间的映射关系添加至所述指令规则库,以便于后续再接收到的该目标自然语言数据,就不用再进行句子拆分和对指令生成模板合并的操作,即可以直接从指令规则库中找到该新增指令生成模板,并基于该新增指令生成模板生成相应的操作指令。
本发明实施例是不需要识别用户意图的,只需分析自然语言的语法结构特征即可,而且语法结构特征是直接通过分析自然语言的语法结构即可获得,即不需要依赖大量数据的训练,即无需训练成本即可获取到语法结构特征。由于语法结构特征可以准确的描述自然语言,因此,通过语法结构特征对应的目标指令生成模板可以准确的找出自然语言中的有效数据,即关键字符信息,进而根据关键字符信息和目标指令生成模板,可以保证所生成的操作指令的准确性,即基于语法结构特征可以无需训练成本即可保证所生成的操作指令的准确性。而且通过将复杂的句子拆分为多个简单的句子,进而在指令规则库中查找到简单的句子对应的指令生成模板,并合并形成新增指令生成模板,基于新增指令生成模板即可生成复杂的句子对应的操作指令,因此,本发明实施例可以生成复杂的自然语言数据所对应的复杂操作指令。而且通过将新增指令生成模板与对应的语法结构特征存储在指令规则库中,可以在后续直接从指令规则库中找到与复杂的自然语言数据相对应的该新增指令生成模板,并基于该新增指令生成模板生成相应的操作指令,即可以实现指令规则库的自动扩展,即具备自我学习能力,使得系统能及时响应用户需求而无需开发人员介入。
请参见图5,是本发明实施例提供的另一种基于自然语言的指令生成方法的流程示意图,所述方法可以包括:
S501,获取目标自然语言数据;
S502,生成语法结构特征;
具体的,对目标自然语言数据进行自然语言分析,即对目标自然语言数据对应的目标文本信息进行分词,得到多个词字符,并确定每个词字符的词性标签,并基于字符结构分析确定所述多个词字符之间的字符结构关系(具体为依存关系或语义关系),再根据词性标签和字符结构关系生成对应的语法结构特征。生成语法结构特征的具体过程可以参见上述图2对应实施例中的S201,这里不再进行赘述。
S503,查询指令规则库;
具体的,在得到目标自然语言数据对应的语法结构特征后,可以在指令规则库中查询是否存在目标自然语言数据对应的语法结构特征,若查询成功,则可以继续在指令规则库中提取该语法结构特征对应的指令生成模板,并跳转至S506步骤;若查询失败,则跳转至S504步骤。其中,对指令规则库和指令生成模板的具体定义可以参见上述图2对应实施例中的S202,这里不再进行赘述。
S504,进入教学模式;
具体的,若无法在指令规则库中查询到目标自然语言数据对应的语法结构特征,则可以进入教学模式,在该教学模式中可以对所述目标自然语言数据进行句子拆分,得到与所述目标自然语言数据对应的多个子自然语言数据,并生成每个子自然语言数据分别对应的语法结构特征,若指令规则库包括所述每个子自然语言数据分别对应的语法结构特征,则在所述指令规则库中,查找与所述每个子自然语言数据分别对应的语法结构特征具有映射关系的指令生成模板,并对与所述每个子自然语言数据分别对应的指令生成模板进行合并,得到新增指令生成模板,并同时跳转到S505步骤和S506步骤,在S506步骤中根据所述每个子自然语言数据对应的语法结构特征、所述新增指令生成模板,生成所述目标自然语言数据所指示的操作指令。该教学模式具体用于生成新增指令生成模板,生成新增指令生成模板的具体过程可以参见上述图4对应实施例中的S405-S407,这里不再进行赘述。
S505,更新指令规则库;
具体的,在得到新增指令生成模板后,还可以设置所述新增指令生成模板与所述目标自然语言数据之间的映射关系,并将所述新增指令生成模板与所述目标自然语言数据之间的映射关系添加至所述指令规则库,以完成对指令规则库的更新,以便于后续再接收到的该目标自然语言数据,就不用再进入教学模式,即可以直接从指令规则库中找到该新增指令生成模板,并基于该新增指令生成模板生成相应的操作指令。
S506,生成操作指令;
S506步骤的具体实现方式可以参见上述图2对应实施例中的S203-204,或参见上述图4对应实施例中的S408-S409,这里不再进行赘述。
本发明实施例是不需要识别用户意图的,只需分析自然语言的语法结构特征即可,而且语法结构特征是直接通过分析自然语言的语法结构即可获得,即不需要依赖大量数据的训练,即无需训练成本即可获取到语法结构特征。由于语法结构特征可以准确的描述自然语言,因此,通过语法结构特征对应的目标指令生成模板可以准确的找出自然语言中的有效数据,即关键字符信息,进而根据关键字符信息和目标指令生成模板,可以保证所生成的操作指令的准确性,即基于语法结构特征可以无需训练成本即可保证所生成的操作指令的准确性。而且通过将复杂的句子拆分为多个简单的句子,进而在指令规则库中查找到简单的句子对应的指令生成模板,并合并形成新增指令生成模板,基于新增指令生成模板即可生成复杂的句子对应的操作指令,因此,本发明实施例可以生成复杂的自然语言数据所对应的复杂操作指令。而且通过将新增指令生成模板与对应的语法结构特征存储在指令规则库中,可以在后续直接从指令规则库中找到与复杂的自然语言数据相对应的该新增指令生成模板,并基于该新增指令生成模板生成相应的操作指令,即可以实现指令规则库的自动扩展,即具备自我学习能力,使得系统能及时响应用户需求而无需开发人员介入。
请参见图6,是本发明实施例提供的一种基于自然语言的指令生成装置的结构示意图。该指令生成装置1可以包括:特征生成模块11、模板查找模块12、选择模块13、生成模块14;
特征生成模块11,用于获取目标自然语言数据,并生成所述目标自然语言数据对应的语法结构特征;
模板查找模块12,用于若指令规则库包括所述目标自然语言数据对应的语法结构特征,则在所述指令规则库中,查找与所述目标自然语言数据对应的语法结构特征具有映射关系的指令生成模板,作为目标指令生成模板;所述指令规则库包括多个语法结构特征以及与每个语法结构特征具有映射关系的指令生成模板;
选择模块13,用于根据所述目标自然语言数据对应的语法结构特征、所述目标指令生成模板中的关键字符语法标识,在所述目标自然语言数据中选择关键字符信息;
生成模块14,用于根据所述目标指令生成模板和所述关键字符信息,生成所述目标自然语言数据所指示的操作指令。
其中,特征生成模块11、模板查找模块12、选择模块13、生成模块14的具体实现功能可以参见上述图2对应实施例中的S201-S204,这里不再进行赘述。
进一步的,再请参见图6,图6中的特征生成模块11可以包括:文本生成单元111、构建单元112、特征生成单元113;
文本生成单元111,用于获取所述目标自然语言数据,并生成所述目标自然语言数据对应的目标文本信息;
构建单元112,用于对所述目标文件信息进行分词处理,得到多个词字符,并标注每个词字符分别对应的词性标签,并基于字符结构分析为所述多个词字符构建字符结构树;所述字符结构树中包含所述多个词字符之间的字符结构关系;
特征生成单元113,用于根据所述词性标签和所述字符结构树,生成所述目标自然语言数据对应的语法结构特征。
其中,文本生成单元111、构建单元112、特征生成单元113的具体实现功能可以参见上述图2对应实施例中的S201,这里不再进行赘述。
进一步的,再请参见图6,图6中的特征生成单元113可以包括:索引号确定子单元1131、特征生成子单元1132;
索引号确定子单元1131,用于按照遍历顺序,对所述字符结构树中的所述多个词字符分别对应的词性标签进行遍历,并根据遍历结果确定每个词字符分别对应的词性标签的访问次数,并根据所述访问次数确定所述每个词字符分别对应的索引号;
特征生成子单元1132,用于根据所述词性标签、所述字符结构树中的所述多个词字符之间的字符结构关系和父子节点关系、所述每个词字符分别对应的索引号,生成所述目标自然语言数据对应的语法结构特征。
其中,索引号确定子单元1131、特征生成子单元1132的具体实现功能可以参见上述图2对应实施例中的S201,这里不再进行赘述。
进一步的,再请参见图6,图6中的选择模块13可以包括:标识获取单元131、关键字符查找单元132;
标识获取单元131,用于获取所述目标指令生成模板中的关键字符语法标识;所述关键字符语法标识包括用于进行指令生成的词字符对应的词性标签和索引号;
关键字符查找单元132,用于根据所述目标自然语言数据对应的语法结构特征,在所述多个词字符中查找与所述关键字符语法标识中的词性标签和索引号相匹配的词字符,作为关键字符信息。
其中,标识获取单元131、关键字符查找单元132的具体实现功能可以参见上述图2对应实施例中的S203,这里不再进行赘述。
进一步的,再请参见图6,图6中的生成模块14可以包括:函数查找单元141、函数确定单元142、指令生成单元143;
函数查找单元141,用于查找与所述目标指令生成模板中的返回值类型、关键字符语法标识的数量、所述关键字符信息对应的参数类型相匹配的功能函数集;所述功能函数集中的每个功能函数均具有对应的操作类型标签;
函数确定单元142,用于识别所述多个词字符与所述每个功能函数对应的操作类型标签之间的相似度,将具有最高相似度的功能函数确定为目标功能函数;
指令生成单元143,用于将所述关键字符信息添加到所述目标功能函数中,根据添加后的目标功能函数生成所述目标自然语言数据所指示的操作指令。
其中,函数查找单元141、函数确定单元142、指令生成单元143的具体实现功能可以参见上述图2对应实施例中的S204,这里不再进行赘述。
本发明实施例是不需要识别用户意图的,只需分析自然语言的语法结构特征即可,而且语法结构特征是直接通过分析自然语言的语法结构即可获得,即不需要依赖大量数据的训练,即无需训练成本即可获取到语法结构特征。由于语法结构特征可以准确的描述自然语言,因此,通过语法结构特征对应的目标指令生成模板可以准确的找出自然语言中的有效数据,即关键字符信息,进而根据关键字符信息和目标指令生成模板,可以保证所生成的操作指令的准确性,即基于语法结构特征可以无需训练成本即可保证所生成的操作指令的准确性。
请参见图7,是本发明实施例提供的另一种基于自然语言的指令生成装置。该指令生成装置2可以包括:特征生成模块21、拆分模块22、模板查找模块23、模板合并模块24、选择模块25、生成模块26、设置添加模块27;
特征生成模块21,用于获取目标自然语言数据,并生成所述目标自然语言数据对应的语法结构特征;
拆分模块22,用于当在指令规则库中未查找到与所述目标自然语言数据对应的语法结构特征时,对所述目标自然语言数据进行句子拆分,得到与所述目标自然语言数据对应的多个子自然语言数据,并通知所述特征生成模块21生成每个子自然语言数据分别对应的语法结构特征;所述指令规则库包括多个语法结构特征以及与每个语法结构特征具有映射关系的指令生成模板;
模板查找模块23,用于在所述指令规则库中,查找与所述每个子自然语言数据分别对应的语法结构特征具有映射关系的指令生成模板;
模板合并模块24,用于对与所述每个子自然语言数据分别对应的指令生成模板进行合并,得到新增指令生成模板;
选择模块25,用于根据所述每个子自然语言数据对应的语法结构特征、所述新增指令生成模板中的关键字符语法标识,在所述每个子自然语言数据中选择关键字符信息;
生成模块26,用于根据所述新增指令生成模板和所述关键字符信息,生成所述目标自然语言数据所指示的操作指令;
设置添加模块27,用于设置所述新增指令生成模板与所述目标自然语言数据之间的映射关系,并将所述新增指令生成模板与所述目标自然语言数据之间的映射关系添加至所述指令规则库。
其中,特征生成模块21、拆分模块22、模板查找模块23、模板合并模块24、选择模块25、生成模块26、设置添加模块27的具体实现功能可以参见上述图4对应实施例中的S401-S409,这里不再进行赘述。
进一步的,再请参见图7,图7中的模板合并模块24可以包括:第一字符获取单元241、第二字符获取单元242、标识确定单元243、索引号查找单元244、模板合并单元245;
第一字符获取单元241,用于将与所述每个子自然语言数据分别对应的指令生成模板中的关键字符语法标识,确定为待检测关键字符语法标识,并根据所述每个子自然语言数据分别对应的语法结构特征,在所述每个子自然语言数据中获取与所述待检测关键字符语法标识相匹配的词字符,作为第一词字符;所述词字符是通过对所述每个子自然语言数据进行分词处理所得到的;所述关键字符语法标识包括用于进行指令生成的词字符对应的词性标签和索引号;
第二字符获取单元242,用于根据所述目标自然语言数据对应的语法结构特征,在所述目标自然语言数据中获取与所述待检测关键字符语法标识相匹配的词字符,作为第二词字符;
标识确定单元243,用于将所述第一词字符和所述第二词字符相同的待检测关键字符语法标识,确定为第一关键字符语法标识,并将所述第一词字符和所述第二词字符不相同的待检测关键字符语法标识,确定为第二关键字符语法标识;
索引号查找单元244,用于在所述目标自然语言数据对应的语法结构特征中,查找所述第二关键字符语法标识对应的第一词字符的索引号,作为目标索引号;
模板合并单元245,用于将所述第二关键字符语法标识中的索引号替换为所述目标索引号,得到第三关键字符语法标识,并根据所述每个子自然语言数据之间的句子顺序,对所述第一关键字符语法标识和所述第三关键字符语法标识所属的指令生成模板进行顺序合并,得到新增指令生成模板。
其中,第一字符获取单元241、第二字符获取单元242、标识确定单元243、索引号查找单元244、模板合并单元245的具体实现功能可以参见上述图4对应实施例中的S407,这里不再进行赘述。
其中,所述新增指令生成模板包括与所述每个子自然语言数据分别对应的指令生成模板中的指令提示集,每个指令提示集均包括与所属的子自然语言数据相关联的关键字符语法标识;每个指令提示集之间的顺序与所述每个子自然语言数据之间的句子顺序相同;
所述生成模块26,具体用于根据所述新增指令生成模板中的每个指令提示集、所述每个指令提示集分别对应的关键字符信息,生成所述每个指令提示集分别对应的子操作指令,并按照所述每个指令提示集之间的顺序对所述子操作指令进行组合,得到所述目标自然语言数据所指示的操作指令。
其中,所述新增指令生成模板中的多个指令提示集包括第一指令提示集和第二指令提示集,所述第一指令提示集还包括不为空的返回值类型,所述第一指令提示集位于所述第二指令提示集之前;
则在图7中的生成模块26可以包括:指令生成单元261、返回值确定单元262;
指令生成单元261,用于根据所述新增指令生成模板中的第一指令提示集、所述第一指令提示集对应的关键字符信息,生成所述第一指令提示集对应的子操作指令;
返回值确定单元262,用于根据所述第一指令提示集对应的子操作指令执行对应操作,得到结果数据,并将所述结果数据作为所述第一指令提示集的返回值,并将所述返回值作为所述第二指令提示集的输入参数;
所述指令生成单元261,还用于根据所述新增指令生成模板中的第二指令提示集、包含所述返回值的输入参数、所述第二指令提示集对应的关键字符信息,生成所述第二指令提示集对应的子操作指令,并将所述第二指令提示集对应的子操作指令确定为所述目标自然语言数据所指示的操作指令。
本发明实施例是不需要识别用户意图的,只需分析自然语言的语法结构特征即可,而且语法结构特征是直接通过分析自然语言的语法结构即可获得,即不需要依赖大量数据的训练,即无需训练成本即可获取到语法结构特征。由于语法结构特征可以准确的描述自然语言,因此,通过语法结构特征对应的目标指令生成模板可以准确的找出自然语言中的有效数据,即关键字符信息,进而根据关键字符信息和目标指令生成模板,可以保证所生成的操作指令的准确性,即基于语法结构特征可以无需训练成本即可保证所生成的操作指令的准确性。而且通过将复杂的句子拆分为多个简单的句子,进而在指令规则库中查找到简单的句子对应的指令生成模板,并合并形成新增指令生成模板,基于新增指令生成模板即可生成复杂的句子对应的操作指令,因此,本发明实施例可以生成复杂的自然语言数据所对应的复杂操作指令。而且通过将新增指令生成模板与对应的语法结构特征存储在指令规则库中,可以在后续直接从指令规则库中找到与复杂的自然语言数据相对应的该新增指令生成模板,并基于该新增指令生成模板生成相应的操作指令,即可以实现指令规则库的自动扩展,即具备自我学习能力,使得系统能及时响应用户需求而无需开发人员介入。
可选的,图6中的指令生成装置1和图7中的指令生成装置2可以集成在同一个装置中,即集成后的装置可以具备图6中的指令生成装置1和图7中的指令生成装置2所具备的所有功能。
请参见图8,是本发明实施例提供的一种电子设备的结构示意图。如图8所示,上述图6中的指令生成装置1可以应用于所述电子设备1000,所述电子设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,所述电子设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图8所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图8所示的电子设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取目标自然语言数据,并生成所述目标自然语言数据对应的语法结构特征;
若指令规则库包括所述目标自然语言数据对应的语法结构特征,则在所述指令规则库中,查找与所述目标自然语言数据对应的语法结构特征具有映射关系的指令生成模板,作为目标指令生成模板;所述指令规则库包括多个语法结构特征以及与每个语法结构特征具有映射关系的指令生成模板;
根据所述目标自然语言数据对应的语法结构特征、所述目标指令生成模板中的关键字符语法标识,在所述目标自然语言数据中选择关键字符信息;
根据所述目标指令生成模板和所述关键字符信息,生成所述目标自然语言数据所指示的操作指令。
在一个实施例中,所述处理器1001在执行获取目标自然语言数据,并生成所述目标自然语言数据对应的语法结构特征时,具体执行以下步骤:
获取所述目标自然语言数据,并生成所述目标自然语言数据对应的目标文本信息;
对所述目标文件信息进行分词处理,得到多个词字符,并标注每个词字符分别对应的词性标签,并基于字符结构分析为所述多个词字符构建字符结构树;所述字符结构树中包含所述多个词字符之间的字符结构关系;
根据所述词性标签和所述字符结构树,生成所述目标自然语言数据对应的语法结构特征。
在一个实施例中,所述处理器1001在执行根据所述词性标签和所述字符结构树,生成所述目标自然语言数据对应的语法结构特征时,具体执行以下步骤:
按照遍历顺序,对所述字符结构树中的所述多个词字符分别对应的词性标签进行遍历,并根据遍历结果确定每个词字符分别对应的词性标签的访问次数,并根据所述访问次数确定所述每个词字符分别对应的索引号;
根据所述词性标签、所述字符结构树中的所述多个词字符之间的字符结构关系和父子节点关系、所述每个词字符分别对应的索引号,生成所述目标自然语言数据对应的语法结构特征。
在一个实施例中,所述处理器1001在执行根据所述目标自然语言数据对应的语法结构特征、所述目标指令生成模板中的关键字符语法标识,在所述目标自然语言数据中选择关键字符信息时,具体执行以下步骤:
获取所述目标指令生成模板中的关键字符语法标识;所述关键字符语法标识包括用于进行指令生成的词字符对应的词性标签和索引号;
根据所述目标自然语言数据对应的语法结构特征,在所述多个词字符中查找与所述关键字符语法标识中的词性标签和索引号相匹配的词字符,作为关键字符信息。
在一个实施例中,所述处理器1001在执行根据所述目标指令生成模板和所述关键字符信息,生成所述目标自然语言数据所指示的操作指令时,具体执行以下步骤:
查找与所述目标指令生成模板中的返回值类型、关键字符语法标识的数量、所述关键字符信息对应的参数类型相匹配的功能函数集;所述功能函数集中的每个功能函数均具有对应的操作类型标签;
识别所述多个词字符与所述每个功能函数对应的操作类型标签之间的相似度,将具有最高相似度的功能函数确定为目标功能函数;
将所述关键字符信息添加到所述目标功能函数中,根据添加后的目标功能函数生成所述目标自然语言数据所指示的操作指令。
应当理解,本发明实施例中所描述的电子设备1000可执行前文图2所对应实施例中对所述基于自然语言的指令生成方法的描述,也可执行前文图6所对应实施例中对所述指令生成装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本发明实施例还提供了一种计算机存储介质,且所述计算机存储介质中存储有前文提及的指令生成装置1所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文图2所对应实施例中对所述基于自然语言的指令生成方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本发明所涉及的计算机存储介质实施例中未披露的技术细节,请参照本发明方法实施例的描述。
请参见图9,是本发明实施例提供的另一种电子设备的结构示意图。如图9所示,上述图7中的指令生成装置2可以应用于所述电子设备2000,所述电子设备2000可以包括:处理器2001,网络接口2004和存储器2005,此外,所述电子设备2000还可以包括:用户接口2003,和至少一个通信总线2002。其中,通信总线2002用于实现这些组件之间的连接通信。其中,用户接口2003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口2003还可以包括标准的有线接口、无线接口。网络接口2004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器2005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器2005可选的还可以是至少一个位于远离前述处理器2001的存储装置。如图9所示,作为一种计算机存储介质的存储器2005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图9所示的电子设备2000中,网络接口2004可提供网络通讯功能;而用户接口2003主要用于为用户提供输入的接口;而处理器2001可以用于调用存储器2005中存储的设备控制应用程序,以实现:
获取目标自然语言数据,并生成所述目标自然语言数据对应的语法结构特征;
当在指令规则库中未查找到与所述目标自然语言数据对应的语法结构特征时,对所述目标自然语言数据进行句子拆分,得到与所述目标自然语言数据对应的多个子自然语言数据,并生成每个子自然语言数据分别对应的语法结构特征;所述指令规则库包括多个语法结构特征以及与每个语法结构特征具有映射关系的指令生成模板;
在所述指令规则库中,查找与所述每个子自然语言数据分别对应的语法结构特征具有映射关系的指令生成模板;
对与所述每个子自然语言数据分别对应的指令生成模板进行合并,得到新增指令生成模板;
根据所述每个子自然语言数据对应的语法结构特征、所述新增指令生成模板中的关键字符语法标识,在所述每个子自然语言数据中选择关键字符信息;
根据所述新增指令生成模板和所述关键字符信息,生成所述目标自然语言数据所指示的操作指令。
在一个实施例中,处理器2001在执行对与所述每个子自然语言数据分别对应的指令生成模板进行合并,得到新增指令生成模板时,具体执行以下步骤:
将与所述每个子自然语言数据分别对应的指令生成模板中的关键字符语法标识,确定为待检测关键字符语法标识,并根据所述每个子自然语言数据分别对应的语法结构特征,在所述每个子自然语言数据中获取与所述待检测关键字符语法标识相匹配的词字符,作为第一词字符;所述词字符是通过对所述每个子自然语言数据进行分词处理所得到的;所述关键字符语法标识包括用于进行指令生成的词字符对应的词性标签和索引号;
根据所述目标自然语言数据对应的语法结构特征,在所述目标自然语言数据中获取与所述待检测关键字符语法标识相匹配的词字符,作为第二词字符;
将所述第一词字符和所述第二词字符相同的待检测关键字符语法标识,确定为第一关键字符语法标识,并将所述第一词字符和所述第二词字符不相同的待检测关键字符语法标识,确定为第二关键字符语法标识;
在所述目标自然语言数据对应的语法结构特征中,查找所述第二关键字符语法标识对应的第一词字符的索引号,作为目标索引号;
将所述第二关键字符语法标识中的索引号替换为所述目标索引号,得到第三关键字符语法标识,并根据所述每个子自然语言数据之间的句子顺序,对所述第一关键字符语法标识和所述第三关键字符语法标识所属的指令生成模板进行顺序合并,得到新增指令生成模板。
在一个实施例中,所述新增指令生成模板包括与所述每个子自然语言数据分别对应的指令生成模板中的指令提示集,每个指令提示集均包括与所属的子自然语言数据相关联的关键字符语法标识;每个指令提示集之间的顺序与所述每个子自然语言数据之间的句子顺序相同;
处理器2001在执行根据所述新增指令生成模板和所述关键字符信息,生成所述目标自然语言数据所指示的操作指令时,具体执行以下步骤:
根据所述新增指令生成模板中的每个指令提示集、所述每个指令提示集分别对应的关键字符信息,生成所述每个指令提示集分别对应的子操作指令,并按照所述每个指令提示集之间的顺序对所述子操作指令进行组合,得到所述目标自然语言数据所指示的操作指令。
在一个实施例中,所述新增指令生成模板中的多个指令提示集包括第一指令提示集和第二指令提示集,所述第一指令提示集还包括不为空的返回值类型,所述第一指令提示集位于所述第二指令提示集之前;
则处理器2001在执行根据所述新增指令生成模板中的每个指令提示集、所述每个指令提示集分别对应的关键字符信息,生成所述每个指令提示集分别对应的子操作指令,并按照所述每个指令提示集之间的顺序对所述子操作指令进行组合,得到所述目标自然语言数据所指示的操作指令时,具体执行以下步骤:
根据所述新增指令生成模板中的第一指令提示集、所述第一指令提示集对应的关键字符信息,生成所述第一指令提示集对应的子操作指令;
根据所述第一指令提示集对应的子操作指令执行对应操作,得到结果数据,并将所述结果数据作为所述第一指令提示集的返回值,并将所述返回值作为所述第二指令提示集的输入参数;
根据所述新增指令生成模板中的第二指令提示集、包含所述返回值的输入参数、所述第二指令提示集对应的关键字符信息,生成所述第二指令提示集对应的子操作指令,并将所述第二指令提示集对应的子操作指令确定为所述目标自然语言数据所指示的操作指令。
在一个实施例中,处理器2001还可以执行以下步骤:
设置所述新增指令生成模板与所述目标自然语言数据之间的映射关系,并将所述新增指令生成模板与所述目标自然语言数据之间的映射关系添加至所述指令规则库。
应当理解,本发明实施例中所描述的电子设备2000可执行前文图4所对应实施例中对所述基于自然语言的指令生成方法的描述,也可执行前文图7所对应实施例中对所述指令生成装置2的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本发明实施例还提供了一种计算机存储介质,且所述计算机存储介质中存储有前文提及的指令生成装置2所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文图4所对应实施例中对所述基于自然语言的指令生成方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本发明所涉及的计算机存储介质实施例中未披露的技术细节,请参照本发明方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (15)
1.一种基于自然语言的指令生成方法,其特征在于,包括:
获取目标自然语言数据,并生成所述目标自然语言数据对应的语法结构特征;
在指令规则库中,查找与所述目标自然语言数据对应的语法结构特征具有映射关系的指令生成模板,作为目标指令生成模板;所述指令规则库包括多个语法结构特征以及与每个语法结构特征具有映射关系的指令生成模板;
根据所述目标自然语言数据对应的语法结构特征、所述目标指令生成模板中的关键字符语法标识,在所述目标自然语言数据中选择关键字符信息;
根据所述目标指令生成模板和所述关键字符信息,生成所述目标自然语言数据所指示的操作指令。
2.如权利要求1所述的方法,其特征在于,所述获取目标自然语言数据,并生成所述目标自然语言数据对应的语法结构特征,包括:
获取所述目标自然语言数据,并生成所述目标自然语言数据对应的目标文本信息;
对所述目标文件信息进行分词处理,得到多个词字符,并标注每个词字符分别对应的词性标签,并基于字符结构分析为所述多个词字符构建字符结构树;所述字符结构树中包含所述多个词字符之间的字符结构关系;
根据所述词性标签和所述字符结构树,生成所述目标自然语言数据对应的语法结构特征。
3.如权利要求2所述的方法,其特征在于,所述根据所述词性标签和所述字符结构树,生成所述目标自然语言数据对应的语法结构特征,包括:
按照遍历顺序,对所述字符结构树中的所述多个词字符分别对应的词性标签进行遍历,并根据遍历结果确定每个词字符分别对应的词性标签的访问次数,并根据所述访问次数确定所述每个词字符分别对应的索引号;
根据所述词性标签、所述字符结构树中的所述多个词字符之间的字符结构关系和父子节点关系、所述每个词字符分别对应的索引号,生成所述目标自然语言数据对应的语法结构特征。
4.如权利要求3所述的方法,其特征在于,所述根据所述目标自然语言数据对应的语法结构特征、所述目标指令生成模板中的关键字符语法标识,在所述目标自然语言数据中选择关键字符信息,包括:
获取所述目标指令生成模板中的关键字符语法标识;所述关键字符语法标识包括用于进行指令生成的词字符对应的词性标签和索引号;
根据所述目标自然语言数据对应的语法结构特征,在所述多个词字符中查找与所述关键字符语法标识中的词性标签和索引号相匹配的词字符,作为关键字符信息。
5.如权利要求2至4任一项所述的方法,其特征在于,所述根据所述目标指令生成模板和所述关键字符信息,生成所述目标自然语言数据所指示的操作指令,包括:
查找与所述目标指令生成模板中的返回值类型、关键字符语法标识的数量、所述关键字符信息对应的参数类型相匹配的功能函数集;所述功能函数集中的每个功能函数均具有对应的操作类型标签;
识别所述多个词字符与所述每个功能函数对应的操作类型标签之间的相似度,将具有最高相似度的功能函数确定为目标功能函数;
将所述关键字符信息添加到所述目标功能函数中,根据添加后的目标功能函数生成所述目标自然语言数据所指示的操作指令。
6.一种基于自然语言的指令生成方法,其特征在于,包括:
获取目标自然语言数据,并生成所述目标自然语言数据对应的语法结构特征;
当在指令规则库中未查找到与所述目标自然语言数据对应的语法结构特征时,对所述目标自然语言数据进行句子拆分,得到与所述目标自然语言数据对应的多个子自然语言数据,并生成每个子自然语言数据分别对应的语法结构特征;所述指令规则库包括多个语法结构特征以及与每个语法结构特征具有映射关系的指令生成模板;
在所述指令规则库中,查找与所述每个子自然语言数据分别对应的语法结构特征具有映射关系的指令生成模板;
对与所述每个子自然语言数据分别对应的指令生成模板进行合并,得到新增指令生成模板;
根据所述每个子自然语言数据对应的语法结构特征、所述新增指令生成模板中的关键字符语法标识,在所述每个子自然语言数据中选择关键字符信息;
根据所述新增指令生成模板和所述关键字符信息,生成所述目标自然语言数据所指示的操作指令。
7.如权利要求6所述的方法,其特征在于,所述对与所述每个子自然语言数据分别对应的指令生成模板进行合并,得到新增指令生成模板,包括:
将与所述每个子自然语言数据分别对应的指令生成模板中的关键字符语法标识,确定为待检测关键字符语法标识,并根据所述每个子自然语言数据分别对应的语法结构特征,在所述每个子自然语言数据中获取与所述待检测关键字符语法标识相匹配的词字符,作为第一词字符;所述词字符是通过对所述每个子自然语言数据进行分词处理所得到的;所述关键字符语法标识包括用于进行指令生成的词字符对应的词性标签和索引号;
根据所述目标自然语言数据对应的语法结构特征,在所述目标自然语言数据中获取与所述待检测关键字符语法标识相匹配的词字符,作为第二词字符;
将所述第一词字符和所述第二词字符相同的待检测关键字符语法标识,确定为第一关键字符语法标识,并将所述第一词字符和所述第二词字符不相同的待检测关键字符语法标识,确定为第二关键字符语法标识;
在所述目标自然语言数据对应的语法结构特征中,查找所述第二关键字符语法标识对应的第一词字符的索引号,作为目标索引号;
将所述第二关键字符语法标识中的索引号替换为所述目标索引号,得到第三关键字符语法标识,并根据所述每个子自然语言数据之间的句子顺序,对所述第一关键字符语法标识和所述第三关键字符语法标识所属的指令生成模板进行顺序合并,得到新增指令生成模板。
8.如权利要求7所述的方法,其特征在于,所述新增指令生成模板包括与所述每个子自然语言数据分别对应的指令生成模板中的指令提示集,每个指令提示集均包括与所属的子自然语言数据相关联的关键字符语法标识;每个指令提示集之间的顺序与所述每个子自然语言数据之间的句子顺序相同;
所述根据所述新增指令生成模板和所述关键字符信息,生成所述目标自然语言数据所指示的操作指令,具体包括:
根据所述新增指令生成模板中的每个指令提示集、所述每个指令提示集分别对应的关键字符信息,生成所述每个指令提示集分别对应的子操作指令,并按照所述每个指令提示集之间的顺序对所述子操作指令进行组合,得到所述目标自然语言数据所指示的操作指令。
9.如权利要求8所述的方法,其特征在于,所述新增指令生成模板中的多个指令提示集包括第一指令提示集和第二指令提示集,所述第一指令提示集还包括不为空的返回值类型,所述第一指令提示集位于所述第二指令提示集之前;
则所述根据所述新增指令生成模板中的每个指令提示集、所述每个指令提示集分别对应的关键字符信息,生成所述每个指令提示集分别对应的子操作指令,并按照所述每个指令提示集之间的顺序对所述子操作指令进行组合,得到所述目标自然语言数据所指示的操作指令,包括:
根据所述新增指令生成模板中的第一指令提示集、所述第一指令提示集对应的关键字符信息,生成所述第一指令提示集对应的子操作指令;
根据所述第一指令提示集对应的子操作指令执行对应操作,得到结果数据,并将所述结果数据作为所述第一指令提示集的返回值,并将所述返回值作为所述第二指令提示集的输入参数;
根据所述新增指令生成模板中的第二指令提示集、包含所述返回值的输入参数、所述第二指令提示集对应的关键字符信息,生成所述第二指令提示集对应的子操作指令,并将所述第二指令提示集对应的子操作指令确定为所述目标自然语言数据所指示的操作指令。
10.如权利要求6至9任一项所述的方法,其特征在于,还包括:
设置所述新增指令生成模板与所述目标自然语言数据之间的映射关系,并将所述新增指令生成模板与所述目标自然语言数据之间的映射关系添加至所述指令规则库。
11.一种基于自然语言的指令生成装置,其特征在于,包括:
特征生成模块,用于获取目标自然语言数据,并生成所述目标自然语言数据对应的语法结构特征;
模板查找模块,用于若指令规则库包括所述目标自然语言数据对应的语法结构特征,则在所述指令规则库中,查找与所述目标自然语言数据对应的语法结构特征具有映射关系的指令生成模板,作为目标指令生成模板;所述指令规则库包括多个语法结构特征以及与每个语法结构特征具有映射关系的指令生成模板;
选择模块,用于根据所述目标自然语言数据对应的语法结构特征、所述目标指令生成模板中的关键字符语法标识,在所述目标自然语言数据中选择关键字符信息;
生成模块,用于根据所述目标指令生成模板和所述关键字符信息,生成所述目标自然语言数据所指示的操作指令。
12.如权利要求11所述的装置,其特征在于,所述特征生成模块包括:
文本生成单元,用于获取所述目标自然语言数据,并生成所述目标自然语言数据对应的目标文本信息;
构建单元,用于对所述目标文件信息进行分词处理,得到多个词字符,并标注每个词字符分别对应的词性标签,并基于字符结构分析为所述多个词字符构建字符结构树;所述字符结构树中包含所述多个词字符之间的字符结构关系;
特征生成单元,用于根据所述词性标签和所述字符结构树,生成所述目标自然语言数据对应的语法结构特征。
13.一种基于自然语言的指令生成装置,其特征在于,包括:
特征生成模块,用于获取目标自然语言数据,并生成所述目标自然语言数据对应的语法结构特征;
拆分模块,用于当在指令规则库中未查找到与所述目标自然语言数据对应的语法结构特征时,对所述目标自然语言数据进行句子拆分,得到与所述目标自然语言数据对应的多个子自然语言数据,并通知所述特征生成模块生成每个子自然语言数据分别对应的语法结构特征;所述指令规则库包括多个语法结构特征以及与每个语法结构特征具有映射关系的指令生成模板;
模板查找模块,用于在所述指令规则库中,查找与所述每个子自然语言数据分别对应的语法结构特征具有映射关系的指令生成模板;
模板合并模块,用于对与所述每个子自然语言数据分别对应的指令生成模板进行合并,得到新增指令生成模板;
选择模块,用于根据所述每个子自然语言数据对应的语法结构特征、所述新增指令生成模板中的关键字符语法标识,在所述每个子自然语言数据中选择关键字符信息;
生成模块,用于根据所述新增指令生成模板和所述关键字符信息,生成所述目标自然语言数据所指示的操作指令。
14.一种电子设备,其特征在于,包括:处理器和存储器;
所述处理器和存储器相连,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如权利要求1-10任一项所述的方法。
15.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如权利要求1-10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810508895.8A CN110147544A (zh) | 2018-05-24 | 2018-05-24 | 一种基于自然语言的指令生成方法、装置以及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810508895.8A CN110147544A (zh) | 2018-05-24 | 2018-05-24 | 一种基于自然语言的指令生成方法、装置以及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110147544A true CN110147544A (zh) | 2019-08-20 |
Family
ID=67589179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810508895.8A Pending CN110147544A (zh) | 2018-05-24 | 2018-05-24 | 一种基于自然语言的指令生成方法、装置以及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110147544A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532487A (zh) * | 2019-09-11 | 2019-12-03 | 北京百度网讯科技有限公司 | 标签的生成方法及装置 |
CN110765759A (zh) * | 2019-10-21 | 2020-02-07 | 普信恒业科技发展(北京)有限公司 | 意图识别方法及装置 |
CN111581936A (zh) * | 2020-05-13 | 2020-08-25 | 网易(杭州)网络有限公司 | Gm指令处理方法、装置、设备及存储介质 |
CN113138673A (zh) * | 2020-01-17 | 2021-07-20 | 华为技术有限公司 | 一种基于命令行界面的提示方法及相关设备 |
WO2023093259A1 (en) * | 2021-11-24 | 2023-06-01 | International Business Machines Corporation | Iteratively updating a document structure to resolve disconnected text in element blocks |
CN116541118A (zh) * | 2023-06-29 | 2023-08-04 | 新华三技术有限公司 | 网络设备管理方法、装置及电子设备 |
CN116860328A (zh) * | 2023-06-30 | 2023-10-10 | 北京百度网讯科技有限公司 | 生成指令数据的方法、装置、设备和介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020169597A1 (en) * | 2001-03-12 | 2002-11-14 | Fain Systems, Inc. | Method and apparatus providing computer understanding and instructions from natural language |
CN104657439A (zh) * | 2015-01-30 | 2015-05-27 | 欧阳江 | 用于自然语言精准检索的结构化查询语句生成系统及方法 |
CN105868313A (zh) * | 2016-03-25 | 2016-08-17 | 浙江大学 | 一种基于模板匹配技术的知识图谱问答系统及方法 |
CN106598946A (zh) * | 2016-12-14 | 2017-04-26 | 厦门市美亚柏科信息股份有限公司 | 一种内容提取方法及装置 |
US20170177715A1 (en) * | 2015-12-21 | 2017-06-22 | Adobe Systems Incorporated | Natural Language System Question Classifier, Semantic Representations, and Logical Form Templates |
CN106959944A (zh) * | 2017-02-14 | 2017-07-18 | 中国电子科技集团公司第二十八研究所 | 一种基于中文语法规则的事件提取方法和系统 |
CN107451153A (zh) * | 2016-05-31 | 2017-12-08 | 北京京东尚科信息技术有限公司 | 输出结构化查询语句的方法和装置 |
CN107885844A (zh) * | 2017-11-10 | 2018-04-06 | 南京大学 | 基于分类检索的自动问答方法及系统 |
-
2018
- 2018-05-24 CN CN201810508895.8A patent/CN110147544A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020169597A1 (en) * | 2001-03-12 | 2002-11-14 | Fain Systems, Inc. | Method and apparatus providing computer understanding and instructions from natural language |
CN104657439A (zh) * | 2015-01-30 | 2015-05-27 | 欧阳江 | 用于自然语言精准检索的结构化查询语句生成系统及方法 |
US20170177715A1 (en) * | 2015-12-21 | 2017-06-22 | Adobe Systems Incorporated | Natural Language System Question Classifier, Semantic Representations, and Logical Form Templates |
CN105868313A (zh) * | 2016-03-25 | 2016-08-17 | 浙江大学 | 一种基于模板匹配技术的知识图谱问答系统及方法 |
CN107451153A (zh) * | 2016-05-31 | 2017-12-08 | 北京京东尚科信息技术有限公司 | 输出结构化查询语句的方法和装置 |
CN106598946A (zh) * | 2016-12-14 | 2017-04-26 | 厦门市美亚柏科信息股份有限公司 | 一种内容提取方法及装置 |
CN106959944A (zh) * | 2017-02-14 | 2017-07-18 | 中国电子科技集团公司第二十八研究所 | 一种基于中文语法规则的事件提取方法和系统 |
CN107885844A (zh) * | 2017-11-10 | 2018-04-06 | 南京大学 | 基于分类检索的自动问答方法及系统 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532487A (zh) * | 2019-09-11 | 2019-12-03 | 北京百度网讯科技有限公司 | 标签的生成方法及装置 |
CN110532487B (zh) * | 2019-09-11 | 2022-07-29 | 北京百度网讯科技有限公司 | 标签的生成方法及装置 |
CN110765759A (zh) * | 2019-10-21 | 2020-02-07 | 普信恒业科技发展(北京)有限公司 | 意图识别方法及装置 |
CN113138673A (zh) * | 2020-01-17 | 2021-07-20 | 华为技术有限公司 | 一种基于命令行界面的提示方法及相关设备 |
CN111581936A (zh) * | 2020-05-13 | 2020-08-25 | 网易(杭州)网络有限公司 | Gm指令处理方法、装置、设备及存储介质 |
CN111581936B (zh) * | 2020-05-13 | 2023-08-22 | 网易(杭州)网络有限公司 | Gm指令处理方法、装置、设备及存储介质 |
WO2023093259A1 (en) * | 2021-11-24 | 2023-06-01 | International Business Machines Corporation | Iteratively updating a document structure to resolve disconnected text in element blocks |
CN116541118A (zh) * | 2023-06-29 | 2023-08-04 | 新华三技术有限公司 | 网络设备管理方法、装置及电子设备 |
CN116541118B (zh) * | 2023-06-29 | 2023-10-13 | 新华三技术有限公司 | 网络设备管理方法、装置及电子设备 |
CN116860328A (zh) * | 2023-06-30 | 2023-10-10 | 北京百度网讯科技有限公司 | 生成指令数据的方法、装置、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110147544A (zh) | 一种基于自然语言的指令生成方法、装置以及相关设备 | |
CN108052547B (zh) | 基于问句和知识图结构分析的自然语言问答方法及系统 | |
TWI746690B (zh) | 自然語言問句答案的產生方法、裝置及伺服器 | |
CN108268441B (zh) | 句子相似度计算方法和装置及系统 | |
CN111090461B (zh) | 一种基于机器翻译模型的代码注释生成方法 | |
CN100489841C (zh) | 用于开发自然语言理解应用的方法和集成开发工具 | |
CN102236645B (zh) | 基于语义逻辑的类自然语言人机对话装置 | |
CN104252533B (zh) | 搜索方法和搜索装置 | |
CN109284363A (zh) | 一种问答方法、装置、电子设备及存储介质 | |
CN105808590B (zh) | 搜索引擎实现方法、搜索方法以及装置 | |
CN109918680A (zh) | 实体识别方法、装置及计算机设备 | |
US20140351228A1 (en) | Dialog system, redundant message removal method and redundant message removal program | |
CN108268580A (zh) | 基于知识图谱的问答方法及装置 | |
CN107885844A (zh) | 基于分类检索的自动问答方法及系统 | |
Pérez-Soler et al. | The rise of the (modelling) bots: Towards assisted modelling via social networks | |
CN104679867B (zh) | 基于图的地址知识处理方法及装置 | |
CN112306497B (zh) | 一种将自然语言转化为程序代码的方法及系统 | |
JP3921523B2 (ja) | テキスト生成方法及びテキスト生成装置 | |
CN110795913B (zh) | 一种文本编码方法、装置、存储介质及终端 | |
CN103593412B (zh) | 一种基于树形结构问题的应答方法及系统 | |
JPH02302876A (ja) | 対話型言語解析装置 | |
CN106575292A (zh) | 用于跨应用填写表单的命名实体的概念识别和捕获 | |
CN107193882A (zh) | RDF数据上基于图匹配的why‑not查询回答方法 | |
US20220414463A1 (en) | Automated troubleshooter | |
CN108304424A (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 |