将自然语言翻译成计算机语言的方法、语义分析器及人机对话系统的制作方法
【专利摘要】本发明涉及计算机领域,具体说是将自然语言翻译成计算机语言的方法、语义分析器及人机对话系统,其包括将自然语言输入计算机,计算机提取语法成分、逻辑联接词和逻辑语义,并将其分别翻译成字符串代码、指令代码和二进制代码,然后将代码拼接成计算机可识别的程序语言。本发明按照计算机程序的映射、拼接方法对各语法成分进行技术处理,从而将任何自然语言翻译成计算机可识别的程序语言,解决了计算机对自然语言理解的技术难题,为开发深层智能化电子产品奠定了技术基础,可以实现人与计算机的对话和交谈。
【专利说明】将自然语言翻译成计算机语言的方法、语义分析器及人机对话系统
【技术领域】
[0001]本发明涉及计算机领域,具体说是将一种将自然语言翻译成计算机语言的方法、利用该方法制成的语义分析器及人机对话系统。
【背景技术】
[0002]人类日常生活中用于传递信息和进行交流的语言,是自然语言,包括口头语言即语音,和书面语言即文字两种基本形式。自然语言是人类在改造客观世界的过程中产生的,并随着人类社会和客观世界的变化而不断发展。人类自然语言中所涉及的每一概念总是与客观世界中的某一具体事物或事件相对应,由于客观世界中的任一具体事物或事件的存在形式总是一个特定的唯一对象,所以人类自然语言中的概念或词语所及的任一特定事物或事件也必然是唯一的对象。
[0003]当今社会已进入到了一个科技日新月异的时代。其中,一个最明显的标志是高科技信息产品大量涌入消费市场。它们为人们的工作,生活,交流,学习和通信带来了很大的便利和享受。另一方面,高科技信息产品的普及也为高科技信息产品自身的提升带来很大挑战。其中一大挑战是基于自然语言的人机对话。要实现基于自然语言的人机对话,有两大问题需要解决。一是把语音信号转换成文字符号;二是把文字符号转换成计算机可识别的程序语言。目前,第一个问题已得到较好解决,它就是人们通常所说的语音识别技术。但是,当今的语音识别技术没有解决计算机对自然语言文字的理解这个问题。比如,现有的人机对话系统和信息搜索产品都使用查表算法。从根本上说,它们都没有解决机器对自然语言文字的识别和理解。这一缺陷导致很多高科技产品,无法实现一些非常有用的功能。
[0004]目前,世界上没有一台电脑能懂得人们日常用的自然语言,也就是说,人们还无法通过自然语言去告诉电脑要去做什么,或回答人们的提问。展望未来,在日本等国家的推动下,家用机器人将成为普及率很高的消费品之一。为了实现这个商业目标,目前急待要解决的一大技术难题是怎么将自然语言翻译成计算机语言。
[0005]由于将自然语言翻译成计算机语言是一个技术难题,目前市场上出现的人机对话装置均不能实现深层智能化应用需求的自然语言识别和理解功能,如根据人的自然语言作出响应、通过语音信号所表达的语义直接完成具体操作等。
【发明内容】
[0006]针对计算机无法对自然语言识别的技术问题,本发明的目的在于提供一种将自然语言翻译成计算机语言的方法。
[0007]本发明解决上述技术问题采用的技术方案为:一种将自然语言翻译成计算机语言的方法,其包括以下步骤:
[0008]( I)将自然语言输入计算机;
[0009](2)计算机利用词库和自然语言分词规则识别提取自然语言文字中的语法成分、逻辑联结词和逻辑语义,并基于信息管理库将语法成分翻译成表示计算机面向对象语言中的基本元素名称的字符串代码、将逻辑联结词翻译成表示程序控制的程序转移指令代码、将逻辑语义翻译成表示肯定和否定的二进制代码;
[0010](3)将所述字符串代码、程序转移指令代码和二进制代码拼接成计算机可识别的
程序语言。
[0011]进一步地,步骤(2)中计算机识别和提取自然语言文字中的主语、谓语、定语、宾语、状语和补语六种语法成分,并将其对应为计算机面向对象语言中的对象、函数、属性和参数四种基本元素,其中主语翻译为表示对象名称的字符串代码,谓语翻译为表示函数名称的字符串代码,定语翻译为表示属性或参数名称的字符串代码,宾语、状语和补语翻译为表示参数名称的字符串代码。
[0012]进一步地,步骤(2)中所述逻辑联结词包括与、或、条件三种,分别对应与、或、条件三种逻辑关系,并将其分别翻译成顺序转移指令代码、选择转移指令代码和条件转移指令代码。
[0013]进一步地,步骤(2)中所述逻辑语义是指主语和谓语中表示肯定和否定的两种语义,当主语和谓语中出现如没、不、非和无等否定词时,为否定逻辑语义,否则为肯定逻辑语义,并将其编码为二进制代码,否定为0,肯定为I。
[0014]进一步地,所述词库存储单词、词组及与单词和词组对应的词性。
[0015]上述技术方案根据语法规则对自然语言进行语法成分的划分,按照计算机程序的映射、拼接方法对各语法成分进行技术处理,从而将任何自然语言翻译成计算机可识别的程序语言,实现了计算机对自然语言的识别和理解,为开发深层智能化电子产品奠定了技术基础。
[0016]本发明还提供一种语义分析器,该语义分析器按照上述方法制成,其可通过软件或硬件形式表现,以达到将自然语言翻译为计算机语言可识别的程序语言的目的。
[0017]针对现有电子产品不能实现深层智能化的技术问题,本发明提供一种包含上述语义分析器的人机对话系统,还包括:
[0018]语音转换器,将自然语言的语音实时转换成文字;
[0019]编译执行器:调用类库,动态编译所述语义分析器的程序语言,并执行,完成功能操作。
[0020]进一步地,还包括控制显示器或播放器,所述功能操作为根据语义要求动态生成对应的资源调用信息;控制显示器或播放器接收资源调用信息,根据调用信息显示或播放资源库内对应的资源。
[0021]进一步地,所述信息管理库存储词库、类库和资源库之间的对应关系;所述资源库存储与文字对应的信息资源;所述类库存储功能类的类文件。
[0022]进一步地,信息资源包括文本、图片、视频和动漫资源。
[0023]上述方案通过人机对话系统实现人与计算机之间的对话和交谈,计算机可对人的自然语言作出响应,并可通过语音信号所表达的语义直接完成具体操作。因而,该系统可广泛应用于未来语义互联网、物联网、机器人控制以及人工智能和简化计算机硬件系统的各种前沿领域中。【专利附图】
【附图说明】
[0024]图1是本发明的方法的流程图;
[0025]图2是本发明人机对话系统的结构框图。
【具体实施方式】
[0026]下面结合图1对本发明的方法作进一步的详细说明:
[0027]本发明的方法包括以下步骤:
[0028](I)将自然语言输入计算机;自然语言包括语音和文字,如果输入的是语音,则须转换成文字。
[0029](2)计算机利用词库和自然语言分词规则识别提取自然语言文字中的语法成分、逻辑联结词和逻辑语义,并基于信息管理库分别将语法成分翻译成表示计算机面向对象语言中的基本元素名称的字符串代码、将逻辑联结词翻译成表示程序控制的程序转移指令代码、将逻辑语义翻译成表示肯定和否定的二进制代码;其中语法成分包括主语、谓语、宾语、定语、状语和补语六种。本方案基于词语词性与语法成分之间的对应关系和语法成分的结构规律所采用的识别方法为:
[0030]语句中的第一个名词或代词是主语,主语前有名词或者代词作定语修饰的以结构助词“的”作为识别标记;
[0031]语句中的最后一个动词是谓语,谓语中没有动词的形容词是谓语,谓语后有补语修饰的以结构助词“得”作为识别标记,;
[0032]主语之前的成分是定语,定语的个数可以是零,也可以是一个或者多个;
`[0033]谓语之前的成分是状语,状语的个数可以是零,也可以是一个或者多个;
[0034]谓语之后的成分是宾语或补语,宾语的词性是名词或者代词,宾语之前可有定语修饰,修饰宾语的定语以“的”字作为识别标记,补语以“得”字标记;
[0035]本申请并不限于上述识别规则,还可通过其他的规则提取语法成分。六种语法成分与表示计算机面向对象语言的对象、函数、属性和参数四种基本元素名称对应,具体为主语翻译为对象名称的符串代码,谓语翻译为函数名称的字符串代码,定语翻译为属性或参数名称的字符串代码;当定语修饰主语时,翻译为属性名称的字符串代码;当定语修饰宾语时,翻译为类库参数名称的字符串代码;宾语、状语和补语翻译为参数名称的字符串代码。
[0036]本方案基于自然语句之间的逻辑联结规律,识别逻辑联结词,其中逻辑联结词包括与(合取)、或(析取)、条件(蕴涵)三种,分别对应与、或、条件三种逻辑关系,并将其分别翻译成顺序转移指令代码、选择转移指令代码和条件转移指令代码,选择转移指令代码又称跳转转移指令代码。其中:
[0037]与关系联结词有:并且…并且…(并列语义关系),不但…而且…(递进语义关系),虽然…但是…(转折语义关系)等;
[0038]或关系联结词有:或者…或者…(选择语义关系),要么…要么…(择一语义关系)等;
[0039]条件关系联结词有:如果…那么…(条件语义关系),因为…所以…(因果语义关系)等;[0040]语句之间没有联结词的默认为与逻辑关系,即顺序转移。
[0041]本方案基于数字逻辑规则,将逻辑语义编码为二进制代码,其中逻辑语义是指主语和谓语中表示肯定和否定的两种语义,当主语和谓语中出现如没、不、非和无等否定词时,为否定逻辑语义,否则为肯定逻辑语义,并将其编码为二进制代码,否定为0,肯定为I。
[0042](3)将所述字符串代码、程序转移指令代码和二进制代码拼接成计算机可识别的
程序语言。
[0043]在上述技术方案中,词库存储单词、词组及与单词和词组对应的词性。词库分为公共词库、用户词库。公共词库由开发方进行维护更新,所有用户共享。每一个用户拥有自己的词库,由管理员进行维护,用户根据自己需求更新,仅供个人使用。
[0044]下面举例说明上述实现过程:
[0045]如向计算机输入文字“可爱的小猴子高兴地吃桃子。大象摘苹果。”这句话,根据语法规则“小猴子”、“大象”为主语,“买”、“摘”为谓语,“可爱的”为定语,“桃子”、“苹果”为宾语,“高兴地”为状语。计算机首先利用词库中对应的词语和词性分别提取这些语法成分,然后将“小猴子”、“大象”分析为计算机语言中的对象,“买”、“摘”分析为函数,“可爱的”分析为属性,“桃子”、“苹果”、“高兴地”分析为参数,并利用信息管理库将“小猴子”、“大象”翻译为对象名称的字符串代码,即JHd0albaefd7d3和JHb4f3cff3,将“买”、“摘”翻译为函数的字符串代码,即JHc2f2和JHd5aa,将“可爱的”翻译为属性名称的字符串代码,即JHbfC9b0aeb5c4,将“桃子”、“苹果”、“高兴地”翻译为参数名称的字符串代码,即JHccd2d7d3、JHc6bbb9f b和JHb8dfd0cbb5d8 ;然后对上述文字进行逻辑连接词分析,由于无逻辑联结词,默认为顺序转移,并翻译成顺序转移指令代码null ;再对上述文字进行逻辑语义分析,前一句主语中没有出现否定词,默认为肯定语义,并翻译为对应的二进制代码1,而谓语中也没有出现否定词,因此翻译为I。后一句主语中没有出现否定词,默认为肯定语义,并翻译为对应的二进制代码1,而谓语中也没有出现否定词,因此翻译为I ;接着将上述的字符串代码、指令代码和二进制代码进行拼接,从而形成计算机可识别的程序语言,具体为:
[0046]
【权利要求】
1.将自然语言翻译成计算机语言的方法,其包括以下步骤: (1)将自然语言输入计算机; (2)计算机利用词库和分词规则识别提取自然语言文字中的语法成分、逻辑联结词和逻辑语义,并基于信息管理库将语法成分翻译成表示计算机面向对象语言中的基本元素名称的字符串代码、将逻辑联结词翻译成表示程序控制的程序转移指令代码、将逻辑语义翻译成表示肯定和否定的二进制代码; (3)将所述字符串代码、程序转移指令代码和二进制代码拼接成计算机可识别的程序;五古P口口 ο
2.根据权利要求1所述的方法,其特征在于:步骤(2)中计算机识别和提取文字中的主语、谓语、定语、宾语、状语和补语六种语法成分,并将其对应为计算机面向对象语言中的对象、函数、属性和参数四种基本元素名称,其中主语翻译为表示对象名称的字符串代码,谓语翻译为表示函数名称的字符串代码,定语翻译为表示属性或参数名称的字符串代码,宾语、状语和补语翻译为表示参数名称的字符串代码。
3.根据权利要求1所述的方法,其特征在于:步骤(2)中所述逻辑联结词包括与、或、条件三种,分别对应与、或、条件三种逻辑关系,并将其分别翻译成顺序转移指令代码、选择转移指令代码和条件转移指令代码。
4.根据权利要求2所述的方法,其特征在于:步骤(2)中所述逻辑语义是指主语和谓语中表示肯定和否定的两种语义。
5.根据权利要求1所述的方法,其特征在于:所述词库存储单词、词组及与单词和词组对应的词性。
6.一种根据权利要求1至5中任一项所述方法制成的语义分析器,其特征在于:所述语义分析器采用软件或硬件形式。
7.一种包含权利要求6所述语义分析器的人机对话系统,其特征在于:还包括: 语音转换器,将自然语言的语音实时转换成文字; 编译执行器:调用类库,动态编译所述语义分析器的程序语言,并执行,完成功能操作。
8.根据权利要求7所述的人机对话系统,其特征在于:还包括控制显示器或播放器,所述功能操作为根据语义要求动态生成对应的资源调用信息;控制显示器或播放器接收资源调用信息,根据调用信息显示或播放资源库内对应的资源。
9.根据权利要求8所述的人机对话系统,其特征在于:所述信息管理库存储词库、类库和资源库之间的对应关系;所述资源库存储与文字对应的信息资源;所述类库存储功能类的类文件。
10.根据权利要求1所述的方法,其特征在于:信息资源包括文本、图片、视频和动漫资源。
【文档编号】G06F17/28GK103617159SQ201310657042
【公开日】2014年3月5日 申请日期:2013年12月6日 优先权日:2012年12月7日
【发明者】万继华 申请人:万继华