首页> 中国专利> 将自然语言翻译成计算机语言的方法、语义分析器及人机对话系统

将自然语言翻译成计算机语言的方法、语义分析器及人机对话系统

摘要

本发明涉及计算机领域,具体说是将自然语言翻译成计算机语言的方法、语义分析器及人机对话系统,其包括将自然语言输入计算机,计算机提取语法成分、逻辑联接词和逻辑语义,并将其分别翻译成字符串代码、指令代码和二进制代码,然后将代码拼接成计算机可识别的程序语言。本发明按照计算机程序的映射、拼接方法对各语法成分进行技术处理,从而将任何自然语言翻译成计算机可识别的程序语言,解决了计算机对自然语言理解的技术难题,为开发深层智能化电子产品奠定了技术基础,可以实现人与计算机的对话和交谈。

著录项

  • 公开/公告号CN103617159A

    专利类型发明专利

  • 公开/公告日2014-03-05

    原文格式PDF

  • 申请/专利权人 万继华;

    申请/专利号CN201310657042.8

  • 发明设计人 万继华;

    申请日2013-12-06

  • 分类号G06F17/28(20060101);G06F17/27(20060101);

  • 代理机构44259 广州凯东知识产权代理有限公司;

  • 代理人姚迎新

  • 地址 410008 湖南省长沙市开福区湘江世纪城融江苑12栋801室

  • 入库时间 2024-02-19 22:18:46

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-10-12

    授权

    授权

  • 2014-04-02

    实质审查的生效 IPC(主分类):G06F17/28 申请日:20131206

    实质审查的生效

  • 2014-03-05

    公开

    公开

说明书

技术领域

本发明涉及计算机领域,具体说是将一种将自然语言翻译成计算机 语言的方法、利用该方法制成的语义分析器及人机对话系统。

背景技术

人类日常生活中用于传递信息和进行交流的语言,是自然语言,包 括口头语言即语音,和书面语言即文字两种基本形式。自然语言是人类 在改造客观世界的过程中产生的,并随着人类社会和客观世界的变化而 不断发展。人类自然语言中所涉及的每一概念总是与客观世界中的某一 具体事物或事件相对应,由于客观世界中的任一具体事物或事件的存在 形式总是一个特定的唯一对象,所以人类自然语言中的概念或词语所及 的任一特定事物或事件也必然是唯一的对象。

当今社会已进入到了一个科技日新月异的时代。其中,一个最明显 的标志是高科技信息产品大量涌入消费市场。它们为人们的工作,生活, 交流,学习和通信带来了很大的便利和享受。另一方面,高科技信息产 品的普及也为高科技信息产品自身的提升带来很大挑战。其中一大挑战 是基于自然语言的人机对话。要实现基于自然语言的人机对话,有两大 问题需要解决。一是把语音信号转换成文字符号;二是把文字符号转换 成计算机可识别的程序语言。目前,第一个问题已得到较好解决,它就 是人们通常所说的语音识别技术。但是,当今的语音识别技术没有解决 计算机对自然语言文字的理解这个问题。比如,现有的人机对话系统和 信息搜索产品都使用查表算法。从根本上说,它们都没有解决机器对自 然语言文字的识别和理解。这一缺陷导致很多高科技产品,无法实现一 些非常有用的功能。

目前,世界上没有一台电脑能懂得人们日常用的自然语言,也就是 说,人们还无法通过自然语言去告诉电脑要去做什么,或回答人们的提 问。展望未来,在日本等国家的推动下,家用机器人将成为普及率很高 的消费品之一。为了实现这个商业目标,目前急待要解决的一大技术难 题是怎么将自然语言翻译成计算机语言。

由于将自然语言翻译成计算机语言是一个技术难题,目前市场上出 现的人机对话装置均不能实现深层智能化应用需求的自然语言识别和理 解功能,如根据人的自然语言作出响应、通过语音信号所表达的语义直 接完成具体操作等。

发明内容

针对计算机无法对自然语言识别的技术问题,本发明的目的在于提 供一种将自然语言翻译成计算机语言的方法。

本发明解决上述技术问题采用的技术方案为:一种将自然语言翻译 成计算机语言的方法,其包括以下步骤:

(1)将自然语言输入计算机;

(2)计算机利用词库和自然语言分词规则识别提取自然语言文字中 的语法成分、逻辑联结词和逻辑语义,并基于信息管理库将语法成分翻 译成表示计算机面向对象语言中的基本元素名称的字符串代码、将逻辑 联结词翻译成表示程序控制的程序转移指令代码、将逻辑语义翻译成表 示肯定和否定的二进制代码;

(3)将所述字符串代码、程序转移指令代码和二进制代码拼接成计 算机可识别的程序语言。

进一步地,步骤(2)中计算机识别和提取自然语言文字中的主语、 谓语、定语、宾语、状语和补语六种语法成分,并将其对应为计算机面 向对象语言中的对象、函数、属性和参数四种基本元素,其中主语翻译 为表示对象名称的字符串代码,谓语翻译为表示函数名称的字符串代码, 定语翻译为表示属性或参数名称的字符串代码,宾语、状语和补语翻译 为表示参数名称的字符串代码。

进一步地,步骤(2)中所述逻辑联结词包括与、或、条件三种,分 别对应与、或、条件三种逻辑关系,并将其分别翻译成顺序转移指令代 码、选择转移指令代码和条件转移指令代码。

进一步地,步骤(2)中所述逻辑语义是指主语和谓语中表示肯定和 否定的两种语义,当主语和谓语中出现如没、不、非和无等否定词时, 为否定逻辑语义,否则为肯定逻辑语义,并将其编码为二进制代码,否 定为0,肯定为1。

进一步地,所述词库存储单词、词组及与单词和词组对应的词性。

上述技术方案根据语法规则对自然语言进行语法成分的划分,按照 计算机程序的映射、拼接方法对各语法成分进行技术处理,从而将任何 自然语言翻译成计算机可识别的程序语言,实现了计算机对自然语言的 识别和理解,为开发深层智能化电子产品奠定了技术基础。

本发明还提供一种语义分析器,该语义分析器按照上述方法制成, 其可通过软件或硬件形式表现,以达到将自然语言翻译为计算机语言可 识别的程序语言的目的。

针对现有电子产品不能实现深层智能化的技术问题,本发明提 供一种包含上述语义分析器的人机对话系统,还包括:

语音转换器,将自然语言的语音实时转换成文字;

编译执行器:调用类库,动态编译所述语义分析器的程序语言,并 执行,完成功能操作。

进一步地,还包括控制显示器或播放器,所述功能操作为根据语义 要求动态生成对应的资源调用信息;控制显示器或播放器接收资源调用 信息,根据调用信息显示或播放资源库内对应的资源。

进一步地,所述信息管理库存储词库、类库和资源库之间的对应关 系;所述资源库存储与文字对应的信息资源;所述类库存储功能类的类 文件。

进一步地,信息资源包括文本、图片、视频和动漫资源。

上述方案通过人机对话系统实现人与计算机之间的对话和交谈,计 算机可对人的自然语言作出响应,并可通过语音信号所表达的语义直接 完成具体操作。因而,该系统可广泛应用于未来语义互联网、物联网、 机器人控制以及人工智能和简化计算机硬件系统的各种前沿领域中。

附图说明

图1是本发明的方法的流程图;

图2是本发明人机对话系统的结构框图。

具体实施方式

下面结合图1对本发明的方法作进一步的详细说明:

本发明的方法包括以下步骤:

(1)将自然语言输入计算机;自然语言包括语音和文字,如果输入 的是语音,则须转换成文字。

(2)计算机利用词库和自然语言分词规则识别提取自然语言文字中 的语法成分、逻辑联结词和逻辑语义,并基于信息管理库分别将语法成 分翻译成表示计算机面向对象语言中的基本元素名称的字符串代码、将 逻辑联结词翻译成表示程序控制的程序转移指令代码、将逻辑语义翻译 成表示肯定和否定的二进制代码;其中语法成分包括主语、谓语、宾语、 定语、状语和补语六种。本方案基于词语词性与语法成分之间的对应关 系和语法成分的结构规律所采用的识别方法为:

语句中的第一个名词或代词是主语,主语前有名词或者代词作定语 修饰的以结构助词“的”作为识别标记;

语句中的最后一个动词是谓语,谓语中没有动词的形容词是谓语, 谓语后有补语修饰的以结构助词“得”作为识别标记,;

主语之前的成分是定语,定语的个数可以是零,也可以是一个或者 多个;

谓语之前的成分是状语,状语的个数可以是零,也可以是一个或者 多个;

谓语之后的成分是宾语或补语,宾语的词性是名词或者代词,宾语 之前可有定语修饰,修饰宾语的定语以“的”字作为识别标记,补语以 “得”字标记;

本申请并不限于上述识别规则,还可通过其他的规则提取语法成分。 六种语法成分与表示计算机面向对象语言的对象、函数、属性和参数四 种基本元素名称对应,具体为主语翻译为对象名称的符串代码,谓语翻 译为函数名称的字符串代码,定语翻译为属性或参数名称的字符串代码; 当定语修饰主语时,翻译为属性名称的字符串代码;当定语修饰宾语时, 翻译为类库参数名称的字符串代码;宾语、状语和补语翻译为参数名称 的字符串代码。

本方案基于自然语句之间的逻辑联结规律,识别逻辑联结词,其中 逻辑联结词包括与(合取)、或(析取)、条件(蕴涵)三种,分别对 应与、或、条件三种逻辑关系,并将其分别翻译成顺序转移指令代码、 选择转移指令代码和条件转移指令代码,选择转移指令代码又称跳转转 移指令代码。其中:

与关系联结词有:并且…并且…(并列语义关系),不但…而且… (递进语义关系),虽然…但是…(转折语义关系)等;

或关系联结词有:或者…或者…(选择语义关系),要么…要么… (择一语义关系)等;

条件关系联结词有:如果…那么…(条件语义关系),因为…所以… (因果语义关系)等;

语句之间没有联结词的默认为与逻辑关系,即顺序转移。

本方案基于数字逻辑规则,将逻辑语义编码为二进制代码,其中逻 辑语义是指主语和谓语中表示肯定和否定的两种语义,当主语和谓语中 出现如没、不、非和无等否定词时,为否定逻辑语义,否则为肯定逻辑 语义,并将其编码为二进制代码,否定为0,肯定为1。

(3)将所述字符串代码、程序转移指令代码和二进制代码拼接成计 算机可识别的程序语言。

在上述技术方案中,词库存储单词、词组及与单词和词组对应的词 性。词库分为公共词库、用户词库。公共词库由开发方进行维护更新, 所有用户共享。每一个用户拥有自己的词库,由管理员进行维护,用户 根据自己需求更新,仅供个人使用。

下面举例说明上述实现过程:

如向计算机输入文字“可爱的小猴子高兴地吃桃子。大象摘苹果。” 这句话,根据语法规则“小猴子”、“大象”为主语,“买”、“摘” 为谓语,“可爱的”为定语,“桃子”、“苹果”为宾语,“高兴地” 为状语。计算机首先利用词库中对应的词语和词性分别提取这些语法成 分,然后将“小猴子”、“大象”分析为计算机语言中的对象,“买”、 “摘”分析为函数,“可爱的”分析为属性,“桃子”、“苹果”、“高 兴地”分析为参数,并利用信息管理库将“小猴子”、“大象”翻译为 对象名称的字符串代码,即JHd0a1baefd7d3和JHb4f3cff3,将“买”、 “摘”翻译为函数的字符串代码,即JHc2f2和JHd5aa,将“可爱的”翻 译为属性名称的字符串代码,即JHbfc9b0aeb5c4,将“桃子”、“苹果”、 “高兴地”翻译为参数名称的字符串代码,即JHccd2d7d3、JHc6bbb9fb 和JHb8dfd0cbb5d8;然后对上述文字进行逻辑连接词分析,由于无逻辑 联结词,默认为顺序转移,并翻译成顺序转移指令代码null;再对上述 文字进行逻辑语义分析,前一句主语中没有出现否定词,默认为肯定语 义,并翻译为对应的二进制代码1,而谓语中也没有出现否定词,因此 翻译为1。后一句主语中没有出现否定词,默认为肯定语义,并翻译为 对应的二进制代码1,而谓语中也没有出现否定词,因此翻译为1;接 着将上述的字符串代码、指令代码和二进制代码进行拼接,从而形成计 算机可识别的程序语言,具体为:

再如向计算机输入文字“如果小猴子没有去商店,那么小猴子没有 买桃子。”这句话,根据语法规则“小猴子”、为主语,“去”、“买” 为谓语,“商店”、“桃子”为宾语。计算机首先利用词库中对应的词 语和词性分别提取这些语法成分,然后将“小猴子”分析为计算机语言 中的对象,“去”、“买”分析为函数,“商店”、“桃子””分析为 参数,并利用信息管理库将“小猴子”翻译为对象名称的字符串代码, 即JHd0a1baefd7d3,将“去”、“买”翻译为函数名称的字符串代 码,即JHc8a5b9fd和JHc2f2,将“商店”、“桃子”翻译为参数 名称的字符串代码,即JHc9ccb5ea和JHccd2d7d3;然后对上述 文字中的逻辑连接词进行分析,逻辑连接词“如果…那么…”对应于条 件逻辑关系,因此将其翻译成条件转移指令代码,即if…else…;再对 上述文字进行逻辑语义分析,前一句主语中没有出现否定词,默认为肯 定语义,并翻译为对应的二进制代码1,而谓语中出现了否定词“没有”, 因此翻译为0。后一句主语中没有出现否定词,默认为肯定语义,并翻 译为对应的二进制代码1,而谓语中出现了否定词“没有”,因此翻译 为0;接着将上述的字符串代码、指令代码和二进制代码进行拼接,从 而形成计算机可识别的程序语言,具体为:

再如向计算机输入文字“小猴子或者在玩耍,小猴子或者在睡觉。” 这句话,根据语法规则“小猴子”为主语,“玩耍”、“睡觉”为谓语, “在”为状语。计算机首先利用词库中对应的词语和词性分别提取这些 语法成分,然后将“小猴子”分析为计算机语言中的对象,“玩耍”、 “睡觉”分析为函数,“在”分析为参数,并利用信息管理库将“小猴 子”翻译为对象名称的字符串代码,即JHd0a1baefd7d3,将“玩 耍”、“睡觉”翻译为函数名称的字符串代码,即JHcde6cba3和 JHcbafbef5,将“在”翻译为参数名称的字符串代码,即JHd4da; 然后对上述文字中的逻辑连接词进行分析,逻辑连接词“或者…或者…” 对应于或逻辑关系,因此将其翻译成跳转转移指令代码;再对上述文字 进行逻辑语义分析,前一句主语中没有出现否定词,默认为肯定语义, 并翻译为对应的二进制代码1,而谓语中也没有出现否定词,因此翻译 为1。后一句主语中没有出现否定词,默认为肯定语义,并翻译为对应 的二进制代码1,而谓语中也没有出现否定词,因此翻译为1;接着将 上述的字符串代码、指令代码和二进制代码进行拼接,从而形成计算机 可识别的程序语言,具体为:

本发明还提供一种语义分析器,该语义分析器是按照上述方法制成 的,具体对应关系为:

输入模块,将自然语言输入计算机;

翻译模块,计算机利用词库和自然语言分词规则识别提取自然语言 文字中的语法成分、逻辑联结词和逻辑语义,并基于信息管理库将语法 成分翻译成表示计算机面向对象语言中的基本元素名称的字符串代码、 将逻辑联结词翻译成表示程序控制的程序转移指令代码、将逻辑语义翻 译成表示肯定和否定的二进制代码;

拼接模块,将所述字符串代码、程序转移指令代码和二进制代码拼 接成计算机可识别的程序语言。

其中具体的翻译、拼接过程按上述方法操作,在此不再赘述。

本发明的语义分析可采用软件或硬件形式表现,其中,软件形式为 常规的技术;硬件形式可将语义分析代码烧刻入定制的PCB电路板或者 定制的芯片,构成语义分析系统,完成语义理解功能,实现将自然语言 翻译为计算机语言可识别的程序语言的目的。

本发明还提供一种包括上述语义分析器12的人机对话系统,如 图2,其还包括:

语音转换器11,将自然语言的语音实时转换成文字;

编译执行器13:调用类库,动态编译所述语义分析器的程序语言, 并执行,完成功能操作,其中功能操作包括各种科学计算、数据处理和 智能控制等。

本发明的人机对话系统还包括控制显示器或播放器14,所述功能操 作为根据语义要求动态生成对应的资源调用信息;控制显示器或播放器 接收资源调用信息,根据调用信息显示或播放资源库内对应的资源。

其中,信息管理库存储词库、类库和资源库之间的对应关系;资源 库存储与文字对应的信息资源,信息资源包括文本、图片、视频和动漫 资源;类库存储功能类的类文件,功能类指具体功能操作的代码组合。

当人向系统说话时,首先,语音转换器将语音转换成文字,并将文 字输送至语义分析器;接着语义分析器根据本申请的方法的技术方案将 文字翻译为计算机可识别的程序语言,调用类库,动态编译所述语义分 析器的程序语言,并执行,完成功能操作,如各种科学计算、数据处理 和智能控制等。本发明还提供一种具体的功能操作:即编译执行器通过 调用类库,动态编译所述语义分析器的程序语言,并执行,生成资源调 用信息,控制显示器或播放器接收资源调用信息,并根据调用信息显示 或播放资源库内对应的资源,从而显示或播放与所说话语对应的内容, 如文字、图片、视频和动漫等。本发明的人机对话系统,可以做到人说 出相关内容,就可显示与内容相关的信息,使人机达到更深层次的智能 互动。

上述实施方式仅供说明本发明之用,而并非是对本发明的限制,有 关技术领域的普通技术人员,在不脱离本发明精神和范围的情况下,还 可以作出各种变化和变型,因此所有等同的技术方案也应属于本发明的 范畴。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号