CN103294666A - 语法编译方法、语义解析方法以及对应装置 - Google Patents

语法编译方法、语义解析方法以及对应装置 Download PDF

Info

Publication number
CN103294666A
CN103294666A CN2013102039872A CN201310203987A CN103294666A CN 103294666 A CN103294666 A CN 103294666A CN 2013102039872 A CN2013102039872 A CN 2013102039872A CN 201310203987 A CN201310203987 A CN 201310203987A CN 103294666 A CN103294666 A CN 103294666A
Authority
CN
China
Prior art keywords
exp
key
default
magic
text
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.)
Granted
Application number
CN2013102039872A
Other languages
English (en)
Other versions
CN103294666B (zh
Inventor
王育军
贾磊
万广鲁
蒋正翔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201310203987.2A priority Critical patent/CN103294666B/zh
Publication of CN103294666A publication Critical patent/CN103294666A/zh
Priority to KR1020157033354A priority patent/KR101726667B1/ko
Priority to PCT/CN2014/078596 priority patent/WO2014190901A1/zh
Priority to US14/892,818 priority patent/US20160124936A1/en
Priority to JP2016515634A priority patent/JP6238494B2/ja
Application granted granted Critical
Publication of CN103294666B publication Critical patent/CN103294666B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Machine Translation (AREA)

Abstract

本发明提供了一种语法编译方法、语义解析方法以及对应装置,按照语义的常用语句表达采用基于逻辑语法直观语言(LGML)预先定义对应的语法描述文件和词类描述文件,在语法描述文件中由词类、操作符和函数构成常用语句的描述,词类描述文件用于描述词类的具体取值;将语法描述文件和词类描述文件分别按照预设顺序的归约方法生成语法描述文件的语法树和词类描述文件的词类树,将词类树挂接在语法树中对应词类的位置,形成语义的语法树,从而实现语法编译。基于该方式建立的语义的语法树,采用整句匹配、语义映射匹配或者整句匹配和语义映射匹配相结合的方式进行语义解析。

Description

语法编译方法、语义解析方法以及对应装置
【技术领域】
本发明涉及计算机应用技术领域,特别涉及一种语法编译方法、语义解析方法以及对应装置。
【背景技术】
语音识别和口语语义解析是语音交互产品的两个重要技术,语音识别是将语音的内容转换成文字,口语语义解析是理解口语语音信号承载的信息。语音识别率和口语语义解析的准确度直接影响用户体验。为了提高语音识别率和口语语义解析的准确度,目前主要采用的是W3C(万维网联盟)规范的两种上下文无关语法来构建识别空间,即利用BNF(巴克斯范式)形式的语法或基于XML(可扩展标记语言)格式的语法。
人们说话的方式为自然口语,行为、措词和文本输入都有较大差异,例如口语中存在语法不严格和语序颠倒,W3C推荐的BNF语法和XML格式的语法为主流的大词汇量连续语音识别器所应用,但由于BNF和XML的解释层级深,采用这两种语法进行的语义映射和句法理解定义非常复杂,具有可读性差和可维护性差的缺陷,且很难进行相关的语法编译和语义解析。
【发明内容】
有鉴于此,本发明提供了一种语法编译方法、语义解析方法以及对应装置,以便于提高可读性和可维护性。
具体技术方案如下:
一种语法编译方法,按照语义的常用语句表达采用基于逻辑语法直观语言LGML预先定义对应的语法描述文件和词类描述文件,在所述语法描述文件中由词类、操作符和函数构成常用语句的描述,所述词类描述文件用于描述词类的具体取值;
将所述语法描述文件和词类描述文件分别按照预设顺序的归约方法生成语法描述文件的语法树和词类描述文件的词类树;
将所述词类树挂接在所述语法树中对应词类的位置,形成所述语义的语法树。
根据本发明一优选实施方式,所述词类描述文件中包含词项,或者除了包含词项外还包含操作符和函数中的至少一种以描述各词项之间的关系。
根据本发明一优选实施方式所述操作符包括以下至少一种:
操作符+表示两个以上的操作数串联;
操作符|表示两个以上的操作数并列关系;
操作符()表示操作数形成一个不可忽略的组合;
操作符[]表示操作数形成一个可忽略的组合;
操作符;表示语句结束;
操作符:表示词类描述文件中词类的解释关系;
操作符“”表示引用了外部词典。
根据本发明一优选实施方式,所述语法描述文件中的函数包括以下函数中的至少一种:
函数&repeat(EXP,min,max)表示把语法片段EXP重复最少min遍,最多max遍;
函数&repeat(EXP,n)表示把EXP重复n遍;
函数&perm(EXP1,EXP2,…)表示把EXP1,EXP2,…做全排列;
函数&grammar(gammar_name)表示语法名称为grammar_name的语法描述文件;
函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)实现EXP到语义标签key的映射;其中函数&magic(EXP,key,default)在语法匹配过程中,当EXP与一个文本片段T匹配成功时,key的值为T,否则key的值为default;函数&magic(EXP,key,default,display)在语法匹配过程中,当EXP与一个文本片段T匹配成功时,key的值为display,否则key的值为default。
根据本发明一优选实施方式,所述词类描述文件中的函数包括以下函数中的至少一种:
函数&repeat(EXP,min,max)表示把语法片段EXP重复最少min遍,最多max遍;
函数&repeat(EXP,n)表示把EXP重复n遍;
函数&perm(EXP1,EXP2,…)表示把EXP1,EXP2,…做全排列。
根据本发明一优选实施方式,在所述语义的语法树中,叶节点为词类描述文件中的词项或者引用的外部词典,非叶节点为操作符或函数名,非叶节点的操作数为该非叶节点的各子树表示的内容。
根据本发明一优选实施方式,在所述语义的语法树中所述函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)作为非叶节点进行标识,保存所述函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)对应的映射表。
一种语义解析方法,该语义解析方法包括:
将待解析文本在采用上述语法编译方法得到的语法树上按照所述预设顺序进行匹配,如果所述待解析文本完全与所述语法树匹配,则将所述语法树所对应的语义确定为所述待解析文本的语义。
根据本发明一优选实施方式,在所述匹配的过程中,如果所述待解析文本中某文本片段与所述函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)所标识的子树匹配,则在解析结果中所述函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)所对应的映射表中key的取值为该文本片段或映射表中display的取值。
一种语义解析方法,该语义解析方法包括:
将待解析文本在采用上述语法编译方法得到的语法树上按照所述预设顺序进行前向最大匹配,如果所述待解析文本中存在文本片段与所述语法树中函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)所标识的子树匹配,则将所述语法树所对应的语义确定为所述待解析文本的语义。
根据本发明一优选实施方式,在解析结果中匹配的函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)所对应的映射表中key的取值为该文本片段或映射表中display的取值。
根据本发明一优选实施方式,只有所述待解析文本中存在文本片段与所述语法树中预设的关键函数&magic(EXP,key,default,display)或关键函数&magic(EXP,key,default)所标识的子树匹配,才将所述语法树所对应的语义确定为所述待解析文本的语义。
一种语义解析方法,该语义解析方法包括:
S1、将待解析文本在采用上述语法编译方法得到的语法树上按照所述预设顺序进行匹配,如果所述待解析文本完全与所述语法树匹配,则将所述语法树所对应的语义确定为所述待解析文本的语义;否则执行步骤S2;
S2、将所述待解析文本在所述语法树上按照所述预设顺序进行前向最大匹配,如果所述待解析文本中存在文本片段与所述语法树中函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)所标识的子树匹配,则将所述语法树所对应的语义确定为所述待解析文本的语义。
根据本发明一优选实施方式,在解析结果中匹配的函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)所对应的映射表中key的取值为该文本片段或映射表中display的取值。
一种语法编译装置,该语法编译装置包括:
文件存储单元,用于存储语义对应的语法描述文件和词类描述文件,所述语法描述文件和词类描述文件是按照语义的常用语句表达采用基于逻辑语法直观语言LGML预先定义的,在所述语法描述文件中由词类、操作符和函数构成常用语句的描述,所述词类描述文件用于描述词类的具体取值;
语法树生成单元,用于将所述语法描述文件和词类描述文件分别按照预设顺序的归约方法生成语法描述文件的语法树和词类描述文件的词类树,将所述词类树挂接在所述语法树中对应词类的位置,形成所述语义的语法树。
根据本发明一优选实施方式,所述词类描述文件中包含词项,或者除了包含词项外还包含操作符和函数中的至少一种以描述各词项之间的关系。
根据本发明一优选实施方式,所述操作符包括以下至少一种:
操作符+表示两个以上的操作数串联;
操作符|表示两个以上的操作数并列关系;
操作符()表示操作数形成一个不可忽略的组合;
操作符[]表示操作数形成一个可忽略的组合;
操作符;表示语句结束;
操作符:表示词类描述文件中词类的解释关系;
操作符“”表示引用了外部词典。
根据本发明一优选实施方式,所述语法描述文件中的函数包括以下函数中的至少一种:
函数&repeat(EXP,min,max)表示把语法片段EXP重复最少min遍,最多max遍;
函数&repeat(EXP,n)表示把EXP重复n遍;
函数&perm(EXP1,EXP2,…)表示把EXP1,EXP2,…做全排列;
函数&grammar(gammar_name)表示语法名称为grammar_name的语法描述文件;
函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)实现EXP到语义标签key的映射;其中函数&magic(EXP,key,default)在语法匹配过程中,当EXP与一个文本片段T匹配成功时,key的值为T,否则key的值为default;函数&magic(EXP,key,default,display)在语法匹配过程中,当EXP与一个文本片段T匹配成功时,key的值为display,否则key的值为default。
根据本发明一优选实施方式,所述词类描述文件中的函数包括以下函数中的至少一种:
函数&repeat(EXP,min,max)表示把语法片段EXP重复最少min遍,最多max遍;
函数&repeat(EXP,n)表示把EXP重复n遍;
函数&perm(EXP1,EXP2,…)表示把EXP1,EXP2,…做全排列。
根据本发明一优选实施方式,在所述语义的语法树中,叶节点为词类描述文件中的词项或者引用的外部词典,非叶节点为操作符或函数名,非叶节点的操作数为该非叶节点的各子树表示的内容。
根据本发明一优选实施方式,在所述语义的语法树中所述函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)作为非叶节点进行标识,所述文件存储单元进一步保存所述函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)对应的映射表。
一种语义解析装置,该语义解析装置包括:
整句匹配单元,用于将待解析文本在由上述语法编译装置得到的语法树上按照所述预设顺序进行匹配,如果所述整句匹配单元确定所述待解析文本完全与所述语法树匹配,则将匹配结果发送给结果确定单元;
结果确定单元,用于接收到所述匹配结果时,将所述语法树所对应的语义确定为所述待解析文本的语义。
根据本发明一优选实施方式,在所述匹配的过程中,如果所述待解析文本中某文本片段与所述函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)所标识的子树匹配,则在所述结果确定单元得到的解析结果中所述函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)所对应的映射表中key的取值为该文本片段或映射表中display的取值。
一种语义解析装置,该语义解析装置包括:
语义映射匹配单元,用于将待解析文本在由上述语法编译装置得到的语法树上按照所述预设顺序进行前向最大匹配,如果所述待解析文本中存在文本片段与所述语法树中函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)所标识的子树匹配,则将匹配结果发送给结果确定单元;
结果确定单元,用于在接收到所述匹配结果时,将所述语法树所对应的语义确定为所述待解析文本的语义。
根据本发明一优选实施方式,在所述结果确定单元得到的解析结果中所述函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)所对应的映射表中key的取值为该文本片段或映射表中display的取值。
根据本发明一优选实施方式,所述语义映射匹配单元只有在所述待解析文本中存在文本片段与所述语法树中预设的关键函数&magic(EXP,key,default,display)或关键函数&magic(EXP,key,default)所标识的子树匹配时,才将匹配结果发送给所述结果确定单元。
一种语义解析装置,该语义解析装置包括:
整句匹配单元,用于将待解析文本在由语法编译装置得到的语法树上按照所述预设顺序进行匹配,如果所述整句匹配单元确定所述待解析文本完全与所述语法树匹配,则将匹配结果发送给结果确定单元;否则,触发语义映射匹配单元;
语义映射匹配单元,用于受到触发后,将所述待解析文本在所述语法树上按照所述预设顺序进行前向最大匹配,如果所述待解析文本中存在文本片段与所述语法树中函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)所标识的子树匹配,则将匹配结果发送给结果确定单元;
结果确定单元,用于接收到匹配结果时,将所述语法树对应的语义确定为所述待解析文本的语义。
根据本发明一优选实施方式,所述结果确定单元如果接收到所述语义映射匹配单元的匹配结果,则在解析结果中匹配的函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)所对应的映射表中key的取值为该文本片段或映射表中display的取值。
由以上技术方案可以看出,本发明提供的语法编译方法和语义解析方法基于LGML预先定义的语法描述文件和词类描述文件,其更接近于人的口语表达,相比较BNF和XML解释层级浅,可读性更强且更易维护。
【附图说明】
图1a为本发明实施例提供的一个语法描述文件的语法树示意图;
图1b、图1c和图1d为本发明实施例提供的词类描述文件的词类树示意图;
图1e为本发明实施例提供的一个语义的语法树示意图;
图2a为本发明实施例提供的一个语法描述文件的语法树实例图;
图2b和图2c为本发明实施例提供的一个词类描述文件的词类树实例图;
图2d为本发明实施例提供的一个语义的语法树实例图;
图3为本发明实施例提供的针对查询天气的语义对应的语法树;
图4为本发明实施例提供的语法编译装置的结构图;
图5为本发明实施例提供的第一种语义解析装置的结构图;
图6为本发明实施例提供的第二种语义解析装置的结构图;
图7为本发明实施例提供的第三种语义解析装置的结构图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明所提供的语法编译方法基于一种新的语法描述语言,即基于逻辑语法直观语言(LGML,Logical Grammar by Manifest Language),该LGML不同于现有的BNF或XML的复杂结构,而更接近于自然口语的顺序和描述方式。针对各语义的常用语句表达采用LGML预先定义对应的语法,采用LGML定义的语法由两部分构成:语法描述文件和词类描述文件。
在语法描述文件中由操作符,词类和函数构成常用的语句描述,该语法描述文件通常采用穷举的方式预先定义各种语句描述。词类和函数在语法描述文件中通常作为操作符的操作数,词类除了在语法描述文件中作为一个独立的操作对象出现之外,也可以作为函数中的参数出现。词类是对若干具有相同含义的词项(指词汇或词组)所进行的统一标识,一个词类具体包含的词项在该词类对应的词类描述文件中定义,也就是说,词类描述文件用于描述词类的具体取值,在词类描述文件中也会包含操作符和/或函数来描述各词项之间的关系。词类描述文件可以采用人工定义的方式,也可以采用机器挖掘的结果。
下面对本发明实施例提供的LGML的上述具体构成进行详细描述。首先语法描述文件和词类描述文件中的操作符可以包括但不限于以下几种:
操作符+表示两个以上的操作数串联,所谓串联就是按顺序描述语句。
操作符|表示两个以上的操作数并列的关系,所谓并列的关系就是操作数择一的表达相同含义。
操作符()表示操作数形成一个不可忽略的组合。
操作符[]表示操作数形成一个可忽略的组合。
操作符;表示语句结束。
操作符:表示词类描述文件中词类的解释关系。
操作符“”表示引用了外部词典,词典中的词汇是并列关系。
词类描述文件中的函数可以包括但不限于以下几种:
函数&repeat(EXP,min,max)表示把语法片段EXP重复最少min遍,最多max遍。
函数&repeat(EXP,n)表示把EXP重复n遍。
函数&perm(EXP1,EXP2,…)表示把EXP1,EXP2,…做全排列。例如:&perm(EXP1,EXP2,EXP3)等价于6个串联项的并列:
(EXP1+EXP2+EXP3)|(EXP1+EXP3+EXP2)|(EXP2+EXP3+EXP1)|(EXP2+EXP1+EXP3)|(EXP3+EXP1+EXP2)|(EXP3+EXP2+EXP1)
语法描述文件中除了上面的函数&repeat(EXP,min,max)、函数&repeat(EXP,n)和函数&perm(EXP1,EXP2,…)之外,还可以包括但不限于以下几种函数:
函数&grammar(gammar_name)通常写在语法文件开头,表示一个语句表达的语法名称为grammar_name,该grammar_name标识该语句表达的语法描述文件。
函数&magic(EXP,key,default,display)和函数&magic(EXP,key,default)实现EXP到语义标签key的映射。
其中函数&magic(EXP,key,default)在语法匹配过程中,当EXP与一个文本片段T匹配成功时,key的值为T。否则key的值为default。
函数&magic(EXP,key,default,display)在语法匹配过程中,当EXP与一个文本片段T匹配成功时,key的值为display,否则key的值为default。
下面举一个例子,假设针对查询天气的语句表达预先定义语法描述文件和词类描述文件,则语法描述文件可以定义为:
Figure BDA00003260631700101
词类描述文件可以定义为:
【意愿】:我+(想|想要);
【查询】:知道|查询;
【时间】:今天|明天;
【地点】:&repeat(“place.dic”+[省|市],1,2);
【天气指标】:气温|湿度;
……
本发明中提供的语法编译是将语义基于LGML编译成一棵语法树,在编译语法树的过程中对上述语法描述文件和词类描述文件采用预设顺序(本发明实施例中采用从左至右的顺序)的归约方法,按照函数和操作符所约束的关系生成的语法树。具体地,采用从左至右的归约方法,将语法描述文件生成语法树,并且采用从左至右的归约方法将词类描述文件生成词类树,然后将词类树挂接在语法树中对应词类的位置,最终各词类树挂接在语法树的叶子节点上。
在将语法描述文件生成语法树时,叶节点为词类,非叶节点为操作符,作为非叶结点的操作符的操作数为该非叶结点的各子树表示的内容。由于函数&repeat(EXP,min,max)、&repeat(EXP,n)、&perm(EXP1,EXP2,…)都可以表示成语法片段EXP与操作符的组合的形式,而函数&magic(EXP,key,default,display)和&magic(EXP,key,default)由于实现的是映射关系,因此需要在语法树中对&magic函数进行标识,标识的方式可以是作为一个非叶节点出现,同时存在该&magic函数所对应的映射表,例如该&magic函数的标识与其对应的映射表之间可以存在一个位置指向。
下面举一些简单的例子:假设某语义的语法描述文件的内容为:
[【A】+【B】]|【C】
从左至右进行归约,生成的语法描述文件的语法树如图1a所示,在图1a中,叶节点为词类【A】、【B】和【C】,非叶结点为操作符,其中非叶节点“+,[]”的操作数为【A】和【B】,非叶节点“|”为其各子树的内容,左边分支的子树内容为[【A】+【B】],右边分支的子树内容为【C】。
如果该语义的词类描述文件分别为:
【A】:a+b;
【B】:[c+d]+e;
【C】:f|g;
那么分别对各词类进行从左至右的归约,词类【A】、【B】和【C】对应的词类树分别为图1b、图1c和图1d所示。然后将各词类树挂接在语法描述文件的语法树上对应词类的位置,最终形成上述语义的语法树如图1e所示。
假设某语义的语法描述文件的内容为:
&magic((【X】|【Y】),key,default,display)
从左至右归约,生成的语法描述文件的语法树如图2a所示,非叶节点“magic,+”标识&magic函数,并且存在一个magic映射表,并指示出该magic函数的语法树在映射表中的位置。
假设该语义的词类描述文件为:
【X】:[a+b]+c;
【Y】:[a+b]+d;
那么分别对各词类进行从左至右的归约,词类【X】和【Y】对应的词类树分别为图2b和图2c所示。然后将各词类树挂接在语法描述文件的语法树上对应词类的位置,最终形成该语义的语法树如图2d所示。
也就是说,最终形成的语义的语法树中,叶节点为词类描述文件中的词项或者引用的外部词典,非叶节点为操作符或函数名,非叶节点的操作数为该非叶节点的各子树表示的内容。
如果在语法描述文件中存在两个以上的&magic函数,则可以将语法描述文件中的所有&magic函数的映射表合并形成一个映射表,以方便存储和查询。
在完成上述语法编译后,就可以在语法编译形成的语法树的基础上进行语义解析。待解析文本可以是诸如对用户的语音进行识别的文本结果,从而对该文本结果进行语义解析得到其所表达的语义,也可以是诸如用户输入搜索引擎的文本,对用户输入的该文本进行语义解析得到其所表达的语义,等等,在此不再一一穷举。
在进行语义解析时,是将待解析文本与各语法树进行匹配,在匹配时采用从左至右的匹配方式,将匹配的语法树所对应的语义确定为待解析文本的语义。在匹配过程中可以采用整句匹配的方式,也可以采用语义映射匹配的方式,或者采用整句匹配和语义映射匹配相结合的方式,即先整句匹配,若无匹配结果再进行语义映射匹配的方式。所谓整句匹配是待解析文本能够完全与某语义的LGML的语法树匹配,这种匹配方式是一种通用的、准确度较高的匹配方式,无论LGML中采用什么函数均适用。语义映射匹配是待解析文本中的文本片段能够与&magic函数定义的语法片段匹配,即待解析文本中的全部或部分文本能够与语法树中&magic函数所标识的子树匹配,则确定该解析文本的语义包含该&magic函数所映射的语义。
整句匹配时,将待解析文本与语法树的匹配方式与现有语法树匹配方式基本相同,只是顺序是按照从左至右的顺序进行,只有待解析文本能够在语法树上完全匹配到,则确定匹配成功。特别地,在匹配过程中,如果匹配到&magic函数所标识的子树,则根据&magic函数所标识的子树的匹配结果从该&magic函数所指示的映射表中获取映射结果作为解析结果。即,如果待解析文本中某文本片段与&magic函数所标识的子树完全匹配,则在解析结果中该&magic函数所指示的映射表中的key的取值为该文本片段或映射表中display的取值。
以图2b所示语法树为例,假设待解析文本为:abd,那么从左至右在语法树上进行匹配,“|”左边子树没有匹配,但右边子树能够完全匹配,因此可以确定abd的语义解析结果为该语义树所对应的语义,在解析结果中key的取值为display的取值。如果待解析文本为eabdc,则与该语法树不匹配,该语法树所对应的语义不是该待解析文本的语义。
对于&magic函数这种特殊的函数,对其所标识的子树可以采用语义映射匹配的方式,即将&magic函数所标识的子树与待解析文本做前向最大匹配,如果待解析文本中存在文本片段与&magic函数所标识的子树匹配,则可以确定该待解析文本的语义为该语法树对应的语义,在解析结果中该&magic函数所指示的映射表中的key的取值为该文本片段或映射表中display的取值。
同样以图2b所示语法树为例,假设待解析文本为eabdc,将该语法树与待解析文本进行前向最大匹配(即从e作为待解析文本的开始进行匹配,如果匹配不成功再从a开始作为待解析文本的开始进行匹配,如果不成功再从b开始,依次类推),结果是其中的文本片段abd能够与该语法树匹配,则可以确定待解析文本的语义为该语法树对应的语义,解析结果中key的取值为display的取值。
鉴于整句匹配的准确性和语义映射匹配的高覆盖率,为了整合两种匹配方式的优点,在本发明实施例中可以采取先整句匹配后语义映射匹配的方式,即如果整句匹配失败再进行语义映射匹配。
下面举一个具体的实例,假设针对查询天气的语义对应的语法树如图3所示,需要说明的是,在该图中为了描述方便将该&magic的标识magic进行了编号,在实际情况中语法树中的节点magic标识是相同的,但存在与其对应的magic映射表的位置指向,图3中为了清楚没有采用位置指向的方式,而是将magic标识采用编号的方式来呈现与magic映射表的指向关系。另外,在实际情况中可以将各magic映射表合并成一张映射表的形式。
如果待解析文本为“我想知道北京温度”,能够整句匹配成功,magic1映射到“today”,magic2映射到“北京”,magic3映射到“weather”,因此该待解析文本的语义为查询天气,解析结果中date的取值为“today”,place的取值为“北京”,weather的取值为“weather”,用户虽然没有说今天,但由于语法中规定magic1的操作符为[]是可忽略的,因此取默认值“today”。
如果待解析文本为“告诉我温度”,由于语法中未定义“告诉我”的相关语法片段,因此整句匹配失败,然后进行语义映射匹配,其中“温度”这一文本片段与magic3的子树匹配成功,则语义映射匹配成功,仍可以认为该待解析文本的语义为查询天气,magic1映射到“today”,magic2映射到“LBS”,magic3映射到“weather”,因此解析结果中date的取值为“today”,place的取值为“LBS”,weather的取值为“weather”。
另外在语义映射匹配过程中可以对关键的magic函数进行设置,只有关键的magic函数对应的子树匹配成功才认为语义映射匹配成功。例如可以将图3所示的语法树中magic3函数设置为关键的magic函数,只有该magic函数对应的子树匹配成功才认为语义映射匹配成功。举个例子,当待解析文本为“我想知道北京”,虽然“我想知道北京”整句匹配失败,但“北京”这一文本片段与magic2函数对应的子树匹配成功,但由于关键的magic3函数没有匹配成功,仍不会认为语义映射匹配成功,不能认为该待解析文本为查询天气的语义。
还可能存在这样的情况,在一个语义的语法树中进行语义映射匹配时,存在多个&magic函数的子树都能够与待解析文本匹配的情况,为了解决这种情况下的冲突,可以采用预先定义各子树的优先级的方式来解决,或者以匹配的词项数目最大等约束条件来解决。
以上是对本发明所提供的方法进行的描述,下面结合实施例对本发明提供的装置进行详细描述。
图4为本发明实施例提供的语法编译装置的结构图,如图4所示,该语法编译装置主要包括文件存储单元41和语法树生成单元42。
文件存储单元41存储语义对应的语法描述文件和词类描述文件,语法描述文件和词类描述文件是按照语义的常用语句表达采用基于LGML预先定义的,在语法描述文件中由词类、操作符和函数构成常用语句的描述,词类描述文件用于描述词类的具体取值。
在词类描述文件中包含词项,或者除了包含词项外还包含操作符和函数中的至少一种以描述各词项之间的关系。
上述的操作符可以包括但不限于以下操作符中的至少一种:
操作符+表示两个以上的操作数串联;
操作符|表示两个以上的操作数并列关系;
操作符()表示操作数形成一个不可忽略的组合;
操作符[]表示操作数形成一个可忽略的组合;
操作符;表示语句结束;
操作符:表示词类描述文件中词类的解释关系;
操作符“”表示引用了外部词典。
词类描述文件中的函数可以包括但不限于以下几种:
函数&repeat(EXP,min,max)表示把语法片段EXP重复最少min遍,最多max遍。
函数&repeat(EXP,n)表示把EXP重复n遍。
函数&perm(EXP1,EXP2,…)表示把EXP1,EXP2,…做全排列。例如:&perm(EXP1,EXP2,EXP3)等价于6个串联项的并列:
(EXP1+EXP2+EXP3)|(EXP1+EXP3+EXP2)|(EXP2+EXP3+EXP1)|(EXP2+EXP1+EXP3)|(EXP3+EXP1+EXP2)|(EXP3+EXP2+EXP1)
语法描述文件中除了上面的函数&repeat(EXP,min,max)、函数&repeat(EXP,n)和函数&perm(EXP1,EXP2,…)之外,还可以包括但不限于以下几种函数:
函数&grammar(gammar_name)通常写在语法文件开头,表示一个语句表达的语法名称为grammar_name,该grammar_name标识该语句表达的语法描述文件。
函数&magic(EXP,key,default,display)和函数&magic(EXP,key,default)实现EXP到语义标签key的映射。
其中函数&magic(EXP,key,default)在语法匹配过程中,当EXP与一个文本片段T匹配成功时,key的值为T。否则key的值为default。
函数&magic(EXP,key,default,display)在语法匹配过程中,当EXP与一个文本片段T匹配成功时,key的值为display,否则key的值为default。
语法树生成单元42负责将语法描述文件和词类描述文件分别按照预设顺序(例如采用从左至右的顺序)的归约方法生成语法描述文件的语法树和词类描述文件的词类树,将词类树挂接在语法树中对应词类的位置,形成语义的语法树。
在将语法描述文件生成语法树时,叶节点为词类,非叶节点为操作符,作为非叶结点的操作符的操作数为该非叶结点的各子树表示的内容。由于函数&repeat(EXP,min,max)、&repeat(EXP,n)、&perm(EXP1,EXP2,…)都可以表示成语法片段EXP与操作符的组合的形式,而函数&magic(EXP,key,default,display)和&magic(EXP,key,default)由于实现的是映射关系,因此需要在语法树中对&magic函数进行标识,标识的方式可以是作为一个非叶节点出现,同时进一步保存该&magic函数所对应的语义映射,例如该&magic函数的标识与其对应的映射表之间可以存在一个位置指向。
在最终生成的语义的语法树中,叶节点为词类描述文件中的词项或者引用的外部词典,非叶节点为操作符或函数名,非叶节点的操作数为该非叶节点的各子树表示的内容。
如果在语法描述文件中存在两个以上的&magic函数,则可以将语法描述文件中的所有&magic函数的映射表合并形成一个映射表,以方便存储和查询。
基于图4所示的语法编译装置得到的语义的语法树,本发明提供的语义解析装置可以采用三种结构实现,一种单纯采用整句匹配的方式,另一种单纯采用语义映射匹配的方式,还有一种采用整句匹配和语义映射匹配相结合的方式。
图5为本发明实施例提供的第一种语义解析装置的结构图,该语义解析装置单纯采用整句匹配的方式,如图5所示,该语义解析装置包括:整句匹配单元51和结果确定单元52。
整句匹配单元51将待解析文本在上述语义的语法树上按照预设顺序进行匹配,如果确定待解析文本完全与语法树匹配,则将匹配结果发送给结果确定单元52。
结果确定单元52接收到匹配结果时,将语法树所对应的语义确定为待解析文本的语义。
可以看出,整句匹配是待解析文本能够完全与某语义的LGML的语法树匹配,这种匹配方式是一种通用的、准确度较高的匹配方式,无论LGML中采用什么函数均适用。
特别地,在整句匹配的过程中可能会匹配到&magic函数所标识的子树,如果待解析文本中某文本片段与函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)所标识的子树匹配,则在结果确定单元52得到的解析结果中函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)所对应的映射表中key的取值为该文本片段或映射表中display的取值。
图6为本发明实施例提供的第二种语义解析装置的结构图,该语义解析装置单纯采用语义映射匹配,这种方式应用于包含将&magic函数所标识的子树的语法树,如图6所示,该语义解析装置包括:语义映射匹配单元61和结果确定单元62。
语义映射匹配单元61将待解析文本在语义的语法树上按照预设顺序进行前向最大匹配,如果待解析文本中存在文本片段与语法树中函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)所标识的子树匹配,则将匹配结果发送给结果确定单元62。
结果确定单元62在接收到匹配结果时,将语法树所对应的语义确定为待解析文本的语义。更进一步地,在结果确定单元62得到的解析结果中函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)所对应的映射表中key的取值为该文本片段或映射表中display的取值。
另外在语义映射匹配过程中可以对关键的magic函数进行设置,只有关键的magic函数对应的子树匹配成功才认为语义映射匹配成功。即语义映射匹配单元61只有在待解析文本中存在文本片段与语法树中预设的关键函数&magic(EXP,key,default,display)或关键函数&magic(EXP,key,default)所标识的子树匹配时,才将匹配结果发送给结果确定单元62。
图7为本发明实施例提供的第三种语义解析装置的结构图,该语义解析装置采用整句匹配和语义映射匹配相结合的方式,其中语义映射匹配通常适用于语法树中包含&magic函数对应的子树的情况。如图7所示,该语义解析装置包括:整句匹配单元71、语义映射匹配单元72和结果确定单元73。
整句匹配单元71将待解析文本在语义的语法树上按照预设顺序进行匹配,如果整句匹配单元71确定待解析文本完全与语法树匹配,则将匹配结果发送给结果确定单元73;否则,触发语义映射匹配单元72。
语义映射匹配单元72受到触发后,将待解析文本在语法树上按照预设顺序进行前向最大匹配,如果待解析文本中存在文本片段与语法树中函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)所标识的子树匹配,则将匹配结果发送给结果确定单元73。
结果确定单元73无论接收到整句匹配单元71匹配结果还是语义映射匹配单元72的匹配结果,都可以将语法树对应的语义确定为待解析文本的语义。
更进一步地,结果确定单元73如果接收到语义映射匹配单元72的匹配结果,则在解析结果中匹配的函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)所对应的映射表中key的取值为该文本片段或映射表中display的取值。
同样,在语义映射匹配过程中可以对关键的magic函数进行设置,只有关键的magic函数对应的子树匹配成功才认为语义映射匹配成功。即语义映射匹配单元72只有在待解析文本中存在文本片段与语法树中预设的关键函数&magic(EXP,key,default,display)或关键函数&magic(EXP,key,default)所标识的子树匹配时,才将匹配结果发送给结果确定单元73。
需要特别说明的是,在语义解析的过程中,通常是对各语义的语法树逐个进行匹配从而确定待解析文本对应的语义的,在本发明的实施例中均以在一个语法树上进行匹配为例进行的描述,对于各语法树的匹配过程相同。另外,在一些应用中,采用多层次的语义分析,那么可以在每一层次的语义分析中均采用本发明实施例提供的语义解析方法和语义解析装置来实现。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (28)

1.一种语法编译方法,其特征在于,按照语义的常用语句表达采用基于逻辑语法直观语言LGML预先定义对应的语法描述文件和词类描述文件,在所述语法描述文件中由词类、操作符和函数构成常用语句的描述,所述词类描述文件用于描述词类的具体取值;
将所述语法描述文件和词类描述文件分别按照预设顺序的归约方法生成语法描述文件的语法树和词类描述文件的词类树;
将所述词类树挂接在所述语法树中对应词类的位置,形成所述语义的语法树。
2.根据权利要求1所述的语法编译方法,其特征在于,所述词类描述文件中包含词项,或者除了包含词项外还包含操作符和函数中的至少一种以描述各词项之间的关系。
3.根据权利要求1或2所述的语法编译方法,其特征在于,所述操作符包括以下至少一种:
操作符+表示两个以上的操作数串联;
操作符|表示两个以上的操作数并列关系;
操作符()表示操作数形成一个不可忽略的组合;
操作符[]表示操作数形成一个可忽略的组合;
操作符;表示语句结束;
操作符:表示词类描述文件中词类的解释关系;
操作符“”表示引用了外部词典。
4.根据权利要求1所述的语法编译方法,其特征在于,所述语法描述文件中的函数包括以下函数中的至少一种:
函数&repeat(EXP,min,max)表示把语法片段EXP重复最少min遍,最多max遍;
函数&repeat(EXP,n)表示把EXP重复n遍;
函数&perm(EXP1,EXP2,…)表示把EXP1,EXP2,…做全排列;
函数&grammar(gammar_name)表示语法名称为grammar_name的语法描述文件;
函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)实现EXP到语义标签key的映射;其中函数&magic(EXP,key,default)在语法匹配过程中,当EXP与一个文本片段T匹配成功时,key的值为T,否则key的值为default;函数&magic(EXP,key,default,display)在语法匹配过程中,当EXP与一个文本片段T匹配成功时,key的值为display,否则key的值为default。
5.根据权利要求2所述的语法编译方法,其特征在于,所述词类描述文件中的函数包括以下函数中的至少一种:
函数&repeat(EXP,min,max)表示把语法片段EXP重复最少min遍,最多max遍;
函数&repeat(EXP,n)表示把EXP重复n遍;
函数&perm(EXP1,EXP2,…)表示把EXP1,EXP2,…做全排列。
6.根据权利要求1所述的方法,其特征在于,在所述语义的语法树中,叶节点为词类描述文件中的词项或者引用的外部词典,非叶节点为操作符或函数名,非叶节点的操作数为该非叶节点的各子树表示的内容。
7.根据权利要求4所述的方法,其特征在于,在所述语义的语法树中所述函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)作为非叶节点进行标识,保存所述函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)对应的映射表。
8.一种语义解析方法,其特征在于,该语义解析方法包括:
将待解析文本在采用如权利要求1、2、4、5、6或7任一权项所述语法编译方法得到的语法树上按照所述预设顺序进行匹配,如果所述待解析文本完全与所述语法树匹配,则将所述语法树所对应的语义确定为所述待解析文本的语义。
9.根据权利要求8所述的解析方法,其特征在于,当采用如权利要求7所述的语法编译方法得到的语法树时,在所述匹配的过程中,如果所述待解析文本中某文本片段与所述函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)所标识的子树匹配,则在解析结果中所述函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)所对应的映射表中key的取值为该文本片段或映射表中display的取值。
10.一种语义解析方法,其特征在于,该语义解析方法包括:
将待解析文本在采用如权利要求7所述语法编译方法得到的语法树上按照所述预设顺序进行前向最大匹配,如果所述待解析文本中存在文本片段与所述语法树中函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)所标识的子树匹配,则将所述语法树所对应的语义确定为所述待解析文本的语义。
11.根据权利要求10所述的方法,其特征在于,在解析结果中匹配的函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)所对应的映射表中key的取值为该文本片段或映射表中display的取值。
12.根据权利要求10所述的方法,其特征在于,只有所述待解析文本中存在文本片段与所述语法树中预设的关键函数&magic(EXP,key,default,display)或关键函数&magic(EXP,key,default)所标识的子树匹配,才将所述语法树所对应的语义确定为所述待解析文本的语义。
13.一种语义解析方法,其特征在于,该语义解析方法包括:
S1、将待解析文本在采用如权利要求7所述语法编译方法得到的语法树上按照所述预设顺序进行匹配,如果所述待解析文本完全与所述语法树匹配,则将所述语法树所对应的语义确定为所述待解析文本的语义;否则执行步骤S2;
S2、将所述待解析文本在所述语法树上按照所述预设顺序进行前向最大匹配,如果所述待解析文本中存在文本片段与所述语法树中函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)所标识的子树匹配,则将所述语法树所对应的语义确定为所述待解析文本的语义。
14.根据权利要求13所述的方法,其特征在于,在解析结果中匹配的函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)所对应的映射表中key的取值为该文本片段或映射表中display的取值。
15.一种语法编译装置,其特征在于,该语法编译装置包括:
文件存储单元,用于存储语义对应的语法描述文件和词类描述文件,所述语法描述文件和词类描述文件是按照语义的常用语句表达采用基于逻辑语法直观语言LGML预先定义的,在所述语法描述文件中由词类、操作符和函数构成常用语句的描述,所述词类描述文件用于描述词类的具体取值;
语法树生成单元,用于将所述语法描述文件和词类描述文件分别按照预设顺序的归约方法生成语法描述文件的语法树和词类描述文件的词类树,将所述词类树挂接在所述语法树中对应词类的位置,形成所述语义的语法树。
16.根据权利要求15所述的语法编译装置,其特征在于,所述词类描述文件中包含词项,或者除了包含词项外还包含操作符和函数中的至少一种以描述各词项之间的关系。
17.根据权利要求15或16所述的语法编译装置,其特征在于,所述操作符包括以下至少一种:
操作符+表示两个以上的操作数串联;
操作符|表示两个以上的操作数并列关系;
操作符()表示操作数形成一个不可忽略的组合;
操作符[]表示操作数形成一个可忽略的组合;
操作符;表示语句结束;
操作符:表示词类描述文件中词类的解释关系;
操作符“”表示引用了外部词典。
18.根据权利要求15所述的语法编译装置,其特征在于,所述语法描述文件中的函数包括以下函数中的至少一种:
函数&repeat(EXP,min,max)表示把语法片段EXP重复最少min遍,最多max遍;
函数&repeat(EXP,n)表示把EXP重复n遍;
函数&perm(EXP1,EXP2,…)表示把EXP1,EXP2,…做全排列;
函数&grammar(gammar_name)表示语法名称为grammar_name的语法描述文件;
函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)实现EXP到语义标签key的映射;其中函数&magic(EXP,key,default)在语法匹配过程中,当EXP与一个文本片段T匹配成功时,key的值为T,否则key的值为default;函数&magic(EXP,key,default,display)在语法匹配过程中,当EXP与一个文本片段T匹配成功时,key的值为display,否则key的值为default。
19.根据权利要求16所述的语法编译装置,其特征在于,所述词类描述文件中的函数包括以下函数中的至少一种:
函数&repeat(EXP,min,max)表示把语法片段EXP重复最少min遍,最多max遍;
函数&repeat(EXP,n)表示把EXP重复n遍;
函数&perm(EXP1,EXP2,…)表示把EXP1,EXP2,…做全排列。
20.根据权利要求15所述的语法编译装置,其特征在于,在所述语义的语法树中,叶节点为词类描述文件中的词项或者引用的外部词典,非叶节点为操作符或函数名,非叶节点的操作数为该非叶节点的各子树表示的内容。
21.根据权利要求18所述的语法编译装置,其特征在于,在所述语义的语法树中所述函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)作为非叶节点进行标识,所述文件存储单元进一步保存所述函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)对应的映射表。
22.一种语义解析装置,其特征在于,该语义解析装置包括:
整句匹配单元,用于将待解析文本在由权利要求15、16、18、19、20或21任一权项所述语法编译装置得到的语法树上按照所述预设顺序进行匹配,如果所述整句匹配单元确定所述待解析文本完全与所述语法树匹配,则将匹配结果发送给结果确定单元;
结果确定单元,用于接收到所述匹配结果时,将所述语法树所对应的语义确定为所述待解析文本的语义。
23.根据权利要求22所述的语义解析装置,其特征在于,当采用如权利要求21所述的语法编译装置得到的语法树时,在所述匹配的过程中,如果所述待解析文本中某文本片段与所述函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)所标识的子树匹配,则在所述结果确定单元得到的解析结果中所述函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)所对应的映射表中key的取值为该文本片段或映射表中display的取值。
24.一种语义解析装置,其特征在于,该语义解析装置包括:
语义映射匹配单元,用于将待解析文本在由如权利要求21所述语法编译装置得到的语法树上按照所述预设顺序进行前向最大匹配,如果所述待解析文本中存在文本片段与所述语法树中函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)所标识的子树匹配,则将匹配结果发送给结果确定单元;
结果确定单元,用于在接收到所述匹配结果时,将所述语法树所对应的语义确定为所述待解析文本的语义。
25.根据权利要求24所述的语义解析装置,其特征在于,在所述结果确定单元得到的解析结果中所述函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)所对应的映射表中key的取值为该文本片段或映射表中display的取值。
26.根据权利要求24所述的语义解析装置,其特征在于,所述语义映射匹配单元只有在所述待解析文本中存在文本片段与所述语法树中预设的关键函数&magic(EXP,key,default,display)或关键函数&magic(EXP,key,default)所标识的子树匹配时,才将匹配结果发送给所述结果确定单元。
27.一种语义解析装置,其特征在于,该语义解析装置包括:
整句匹配单元,用于将待解析文本在由权利要求21所述语法编译装置得到的语法树上按照所述预设顺序进行匹配,如果所述整句匹配单元确定所述待解析文本完全与所述语法树匹配,则将匹配结果发送给结果确定单元;否则,触发语义映射匹配单元;
语义映射匹配单元,用于受到触发后,将所述待解析文本在所述语法树上按照所述预设顺序进行前向最大匹配,如果所述待解析文本中存在文本片段与所述语法树中函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)所标识的子树匹配,则将匹配结果发送给结果确定单元;
结果确定单元,用于接收到匹配结果时,将所述语法树对应的语义确定为所述待解析文本的语义。
28.根据权利要求27所述的语义解析装置,其特征在于,所述结果确定单元如果接收到所述语义映射匹配单元的匹配结果,则在解析结果中匹配的函数&magic(EXP,key,default,display)或函数&magic(EXP,key,default)所对应的映射表中key的取值为该文本片段或映射表中display的取值。
CN201310203987.2A 2013-05-28 2013-05-28 语法编译方法、语义解析方法以及对应装置 Active CN103294666B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201310203987.2A CN103294666B (zh) 2013-05-28 2013-05-28 语法编译方法、语义解析方法以及对应装置
KR1020157033354A KR101726667B1 (ko) 2013-05-28 2014-05-28 어법컴파일방법, 어의해석방법, 디바이스, 컴퓨터 저장매체 및 장치
PCT/CN2014/078596 WO2014190901A1 (zh) 2013-05-28 2014-05-28 语法编译方法、语义解析方法、装置、计算机存储介质和设备
US14/892,818 US20160124936A1 (en) 2013-05-28 2014-05-28 Grammar compiling methods, semantic parsing methods, devices, computer storage media, and apparatuses
JP2016515634A JP6238494B2 (ja) 2013-05-28 2014-05-28 文法コンパイル方法、語義解析方法、及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310203987.2A CN103294666B (zh) 2013-05-28 2013-05-28 语法编译方法、语义解析方法以及对应装置

Publications (2)

Publication Number Publication Date
CN103294666A true CN103294666A (zh) 2013-09-11
CN103294666B CN103294666B (zh) 2017-03-01

Family

ID=49095560

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310203987.2A Active CN103294666B (zh) 2013-05-28 2013-05-28 语法编译方法、语义解析方法以及对应装置

Country Status (5)

Country Link
US (1) US20160124936A1 (zh)
JP (1) JP6238494B2 (zh)
KR (1) KR101726667B1 (zh)
CN (1) CN103294666B (zh)
WO (1) WO2014190901A1 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014190901A1 (zh) * 2013-05-28 2014-12-04 百度在线网络技术(北京)有限公司 语法编译方法、语义解析方法、装置、计算机存储介质和设备
CN105912521A (zh) * 2015-12-25 2016-08-31 乐视致新电子科技(天津)有限公司 一种解析语音内容的方法及装置
CN106228983A (zh) * 2016-08-23 2016-12-14 北京谛听机器人科技有限公司 一种人机自然语言交互中的场景处理方法及系统
CN106933832A (zh) * 2015-12-30 2017-07-07 中国科学院沈阳自动化研究所 一种油藏的数字字典的构建方法
CN108021559A (zh) * 2018-02-05 2018-05-11 威盛电子股份有限公司 自然语言理解系统以及语意分析方法
CN108228191A (zh) * 2018-02-06 2018-06-29 威盛电子股份有限公司 语法编译系统以及语法编译方法
CN108399919A (zh) * 2017-02-06 2018-08-14 中兴通讯股份有限公司 一种语义识别方法和装置
CN109841210A (zh) * 2017-11-27 2019-06-04 西安中兴新软件有限责任公司 一种智能操控实现方法及装置、计算机可读存储介质
CN110109676A (zh) * 2019-04-30 2019-08-09 努比亚技术有限公司 编译方法、终端及计算机可读存储介质
CN110471666A (zh) * 2019-07-18 2019-11-19 五八有限公司 代码自动转换方法和装置、代码转换器及介质
CN110826314A (zh) * 2019-11-07 2020-02-21 中金智汇科技有限责任公司 一种规则解析方法、装置、电子设备及存储介质

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11100291B1 (en) 2015-03-13 2021-08-24 Soundhound, Inc. Semantic grammar extensibility within a software development framework
US11106867B2 (en) * 2017-08-15 2021-08-31 Oracle International Corporation Techniques for document marker tracking
CN107704450B (zh) * 2017-10-13 2020-12-04 威盛电子股份有限公司 自然语言识别设备以及自然语言识别方法
CN109254776B (zh) * 2018-09-29 2022-02-01 深圳市雷赛控制技术有限公司 多语言代码编译方法及编译器
CN109783806B (zh) * 2018-12-21 2023-05-02 众安信息技术服务有限公司 一种利用语义解析结构的文本匹配方法
CN110109681B (zh) * 2019-05-08 2023-06-09 上海携程商务有限公司 不同平台间代码的转换方法及系统
KR20210061141A (ko) * 2019-11-19 2021-05-27 삼성전자주식회사 자연어 처리 방법 및 장치
CN110928550B (zh) * 2019-11-19 2023-11-24 上海工程技术大学 基于关键词Trie树消除GCC抽象语法树冗余的方法
CN110968634B (zh) * 2019-12-03 2024-02-02 普元信息技术股份有限公司 大数据场景下基于xml描述实现利用可编程函数式进行etl转换处理的方法
CN112114812B (zh) * 2020-08-26 2022-09-27 中国船舶重工集团公司第七一六研究所 一种应用于工业机器人编程语言的语法检查方法
CN112256837B (zh) * 2020-11-05 2022-07-12 思必驰科技股份有限公司 语义解析方法和装置
CN112287663B (zh) * 2020-11-25 2022-08-12 深圳平安智汇企业信息管理有限公司 一种文本解析方法、设备、终端及存储介质
CN112908488B (zh) * 2021-02-09 2022-03-11 北京药明津石医药科技有限公司 事件识别方法、装置、计算机设备和存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5559693A (en) * 1991-06-28 1996-09-24 Digital Equipment Corporation Method and apparatus for efficient morphological text analysis using a high-level language for compact specification of inflectional paradigms
JP3709305B2 (ja) * 1999-07-01 2005-10-26 日立オムロンターミナルソリューションズ株式会社 地名文字列照合方法、地名文字列照合装置、地名文字列認識装置及び郵便物区分システム
JP2007102530A (ja) * 2005-10-05 2007-04-19 Advanced Telecommunication Research Institute International 特定言語の文法を生成する装置
JP4451435B2 (ja) * 2006-12-06 2010-04-14 本田技研工業株式会社 言語理解装置、言語理解方法、及び、コンピュータプログラム
KR101092363B1 (ko) * 2008-12-22 2011-12-09 한국전자통신연구원 중한자동번역을 위한 한국어 연결어미 생성 방법 및 그 장치
CN101814065B (zh) * 2009-02-23 2014-07-30 富士通株式会社 句法分析装置及句法分析方法
US8892419B2 (en) * 2012-04-10 2014-11-18 Artificial Solutions Iberia SL System and methods for semiautomatic generation and tuning of natural language interaction applications
CN103294666B (zh) * 2013-05-28 2017-03-01 百度在线网络技术(北京)有限公司 语法编译方法、语义解析方法以及对应装置

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014190901A1 (zh) * 2013-05-28 2014-12-04 百度在线网络技术(北京)有限公司 语法编译方法、语义解析方法、装置、计算机存储介质和设备
CN105912521A (zh) * 2015-12-25 2016-08-31 乐视致新电子科技(天津)有限公司 一种解析语音内容的方法及装置
CN106933832A (zh) * 2015-12-30 2017-07-07 中国科学院沈阳自动化研究所 一种油藏的数字字典的构建方法
CN106228983A (zh) * 2016-08-23 2016-12-14 北京谛听机器人科技有限公司 一种人机自然语言交互中的场景处理方法及系统
CN108399919A (zh) * 2017-02-06 2018-08-14 中兴通讯股份有限公司 一种语义识别方法和装置
CN109841210A (zh) * 2017-11-27 2019-06-04 西安中兴新软件有限责任公司 一种智能操控实现方法及装置、计算机可读存储介质
CN109841210B (zh) * 2017-11-27 2024-02-20 西安中兴新软件有限责任公司 一种智能操控实现方法及装置、计算机可读存储介质
CN108021559B (zh) * 2018-02-05 2022-05-03 威盛电子股份有限公司 自然语言理解系统以及语意分析方法
CN108021559A (zh) * 2018-02-05 2018-05-11 威盛电子股份有限公司 自然语言理解系统以及语意分析方法
CN108228191B (zh) * 2018-02-06 2022-01-25 威盛电子股份有限公司 语法编译系统以及语法编译方法
CN108228191A (zh) * 2018-02-06 2018-06-29 威盛电子股份有限公司 语法编译系统以及语法编译方法
CN110109676A (zh) * 2019-04-30 2019-08-09 努比亚技术有限公司 编译方法、终端及计算机可读存储介质
CN110109676B (zh) * 2019-04-30 2023-10-17 努比亚技术有限公司 编译方法、终端及计算机可读存储介质
CN110471666A (zh) * 2019-07-18 2019-11-19 五八有限公司 代码自动转换方法和装置、代码转换器及介质
CN110826314A (zh) * 2019-11-07 2020-02-21 中金智汇科技有限责任公司 一种规则解析方法、装置、电子设备及存储介质
CN110826314B (zh) * 2019-11-07 2023-08-22 中金智汇科技有限责任公司 一种规则解析方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
KR101726667B1 (ko) 2017-04-13
JP6238494B2 (ja) 2017-11-29
US20160124936A1 (en) 2016-05-05
CN103294666B (zh) 2017-03-01
KR20160004325A (ko) 2016-01-12
JP2016526224A (ja) 2016-09-01
WO2014190901A1 (zh) 2014-12-04

Similar Documents

Publication Publication Date Title
CN103294666A (zh) 语法编译方法、语义解析方法以及对应装置
CN110121705B (zh) 将语用学原理应用于与可视分析交互的系统和方法
KR102033395B1 (ko) 심층 자연어 질문 분석 기반 구조화된 지식베이스 질의응답 시스템 및 그 방법
US11776533B2 (en) Building a natural language understanding application using a received electronic record containing programming code including an interpret-block, an interpret-statement, a pattern expression and an action statement
US20200110803A1 (en) Determining Levels of Detail for Data Visualizations Using Natural Language Constructs
Perkins Python text processing with NLTK 2.0 cookbook
Zettlemoyer et al. Learning context-dependent mappings from sentences to logical form
KR101678787B1 (ko) 자동질의응답 방법 및 그 장치
US10896222B1 (en) Subject-specific data set for named entity resolution
US10997223B1 (en) Subject-specific data set for named entity resolution
JPH04205409A (ja) 自然語処理方法および自然語処理システム
US8812294B2 (en) Translating phrases from one language into another using an order-based set of declarative rules
KR102106797B1 (ko) 복합 문장 분석 장치, 이를 위한 기록매체
KR100910895B1 (ko) 법률의 개정내용 심사 및 제/개정 작업을 위한 자동화시스템 및 그 방법
van Cranenburgh Rich statistical parsing and literary language
Hastings Design and implementation of a speech recognition database query system
Ekpenyong et al. Agent-based framework for intelligent natural language interface
US20120330641A1 (en) Translating a symbolic representation of a lingual phrase into a representation in a different medium
Gavhal et al. Sentence Compression Using Natural Language Processing
Zettlemoyer Learning to map sentences to logical form
Bhowmik et al. Development of A Word Based Spell Checker for Bangla Language
Goulian et al. How NLP techniques can improve speech understanding: ROMUS-a robust chunk based message understanding system using link grammars.
CN117608582A (zh) 一种sql语句管理方法、装置、电子设备及存储介质
Lison et al. An integrated approach to robust processing of situated spoken dialogue
Ranta Speaking About Wine: Another Case Study in Bridging the Gap Between Formal and Informal Knowledge

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant