CN107395584B - 基于自然语言实现设备之间通信的方法及设备 - Google Patents
基于自然语言实现设备之间通信的方法及设备 Download PDFInfo
- Publication number
- CN107395584B CN107395584B CN201710576456.6A CN201710576456A CN107395584B CN 107395584 B CN107395584 B CN 107395584B CN 201710576456 A CN201710576456 A CN 201710576456A CN 107395584 B CN107395584 B CN 107395584B
- Authority
- CN
- China
- Prior art keywords
- protocol
- message
- target
- request
- information
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/03—Protocol definition or specification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
Abstract
本发明实施例中,提出一种基于自然语言实现设备之间通信的方法,包括:接收请求设备发送的请求消息,所述请求消息用于请求与本地所能够支持的通信协议相关的目标信息;向所述请求设备发送响应消息,所述响应消息中携带与本地所能够支持的至少一种通信协议相关的目标信息;其中,所述请求消息和/或所述响应消息是基于自然语言发送的。在该方案中,由于自然语言的通用性高,可以在没有预先存储与目标设备所支持的通信协议相关的目标信息时也能通过自然语言来获取,后续可以采用得到的目标信息来与目标设备通信,因此,可以解决现有技术中没有预先存储相关设备的协议就无法与该类设备进行通信的缺陷,扩大了应用场景的范围。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种基于自然语言实现设备之间通信的方法及设备。
背景技术
随着通信技术的发展,各种可通信设备的种类也越来越多,而有些设备可能是不同的厂家生产的,这些设备之间通信需要满足一定的条件,因此,实现设备之间通信的技术是通信领域中非常重要的技术。
目前主要采用如下几种方式来实现设备之间的通信:
一种为将各设备依次联网建立网络连接,并组建虚拟网络;当各设备联网时,需要相互传输各自的角色信息和数据处理信息并相互保存,直到将所有设备对应的角色信息和数据处理信息相互传递完成,结束角色信息和数据处理信息的传输;接下来,当一个设备需与其他设备进行控制信息和数据信息的传递时,该设备根据自身的信息与存储的其他设备的角色信息和数据处理信息,向与该设备匹配的其他设备进行数据交换;这种方法中,两个设备之间的通信之前要预先知道对方的协议,根据预先知道的协议来通信,但是一般情况下,一种设备能够预先获取的其他设备的协议是有限的,因此,能够通信的设备也是有限的;
另外一种方法为采用多接口通讯协议的转换器,把硬件上可以是多种不同类型的通讯接口、具有不同通讯协议标准的现场设备,经过本转换器的运算处理、转换,直接以一个通讯接口、一种统一的通讯协议进行通讯。由于转换器可以转换的协议有限,难以实现多种不同类型/版本的设备之间的自由通信,因此,这种方式下一个设备能够通信的其它设备的种类也是有限的,也存在应用场景受限的缺陷;
还有一种为利用自然语言进行设备之间的通信;现在这种方式更多的用在智能家居领域,随着移动互联网和物联网的发展,人们进入了智能家居时代,现在比较多的技术就是用户将指令发送到服务器中,服务器将用户发出的语音/文本信息转换成各设备可以识别接收的控制命令,并发送到设备,从而实现对智能家居设备的一种智能控制,同时,各智能家居设备也可将其运行状态反馈给用户。但是这种方法中,两个设备之间通信之前也需要预先存储对方的协议,但是一种设备能够预先获取的其他设备的协议是有限的,因此,这种方式中能够与其他设备进行通信的设备的类型也是有限的,因此,同样存在应用场景受限的缺陷。
发明内容
鉴于上述问题,提出了本发明,以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于自然语言实现设备之间通信的方法及设备,用于解决现有技术中存在的设备无法与未存储对应的协议的设备进行通信的缺陷,扩大了应用场景。
依据本发明的第一方面,提供了一种基于自然语言实现设备之间通信的方法,包括:
接收请求设备发送的请求消息,所述请求消息用于请求与本地所能够支持的通信协议相关的目标信息;
向所述请求设备发送响应消息,所述响应消息中携带与本地所能够支持的至少一种通信协议相关的目标信息;
其中,所述请求消息和/或所述响应消息是基于自然语言发送的。
在一个实施例中,根据本发明的上述实施例所述的方法,所述请求消息中携带指示协议标识;所述向所述请求设备发送响应消息,包括:
所述根据所述指示协议标识向所述请求设备返回响应消息。
在一些实施例中,根据本发明的上述任一实施例所述的方法,所述目标信息包括协议标识和/或协议定义。
在一些实施例中,根据本发明的上述任一实施例所述的方法,所述协议定义信息包括消息传输接口定义信息、消息的格式信息和信令流程信息中的至少一种。
在一些实施例中,根据本发明的上述任一实施例所述的方法,所述消息的格式信息包括数字编码格式;
其中,所述数字编码格式包括所述目标设备所能接收的数据的字段、长度、取值范围、数据类型中的至少一种。
在一些实施例中,根据本发明的上述任一实施例所述的方法,协议标识能够用表征信息来表征;
其中,所述表征信息包括本地设备的标识ID、类型、软硬件版本号和生产厂商信息中的至少一种。
在一些实施例中,根据本发明的上述任一实施例所述的方法,向所述请求设备发送响应消息之后,所述方法还包括:
如果本地所支持的至少一种协议和所述请求设备所支持的至少一种协议不匹配,则继续向所述请求设备发送响应消息。
在一些实施例中,根据本发明的上述任一实施例所述的方法,所述自然语言为语音和/或文本。
依据本发明的第二方面,提供了一种电子设备,包括:
接收单元,用于接收请求设备发送的请求消息,所述请求消息用于请求与所述电子设备所能够支持的通信协议相关的目标信息;
发送单元,用于向所述请求设备发送响应消息,所述响应消息中携带与所述电子设备所能够支持的至少一种通信协议相关的目标信息;
其中,所述请求消息和/或所述响应消息是基于自然语言发送的。
在一个实施例中,根据本发明的上述实施例所述的设备,所述请求消息中携带指示协议标识;
所述发送单元向所述请求设备发送响应消息时,具体为:
根据所述指示协议标识向所述请求设备返回响应消息。
在一些实施例中,根据本发明的上述任一实施例所述的设备,所述目标信息包括协议标识和/或协议定义。
在一些实施例中,根据本发明的上述任一实施例所述的设备,所述协议定义信息包括消息传输接口定义信息、消息的格式信息和信令流程信息中的至少一种。
在一些实施例中,根据本发明的上述任一实施例所述的设备,所述消息的格式信息包括数字编码格式;
其中,所述数字编码格式包括所述目标设备所能接收的数据的字段、长度、取值范围、数据类型中的至少一种。
在一些实施例中,根据本发明的上述任一实施例所述的设备,协议标识能够用表征信息来表征;
其中,所述表征信息包括所述电子设备的标识ID、所述电子设备的类型、所述电子设备的软硬件版本号和所述电子设备的生产厂商信息中的至少一种。
在一些实施例中,根据本发明的上述任一实施例所述的设备,所述设备还包括匹配单元,用于判断所述电子设备所支持的至少一种协议和所述请求设备所支持的至少一种协议是否匹配;
所述发送单元还用于,在所述匹配单元确定所述电子设备所支持的至少一种协议和所述请求设备所支持的至少一种协议不匹配,继续向所述请求设备发送响应消息。
在一些实施例中,根据本发明的上述任一实施例所述的设备,所述自然语言为语音和/或文本。
依据本发明的第三方面,还提供了一种电子设备,包括:
存储器以及一个或多个处理器;
其中,所述存储器与所述一个或多个处理器通信连接,所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器能够实现如上所述的方法。
本发明实施例中,提出一种基于自然语言实现设备之间通信的方法,包括:请求设备基于自然语言获取与目标设备所能够支持的至少一种通信协议相关的目标信息;所述请求设备根据所述目标信息中的全部或者部分信息向所述目标设备发送消息;在该方案中,利用自然语言来获取与通信协议相关的目标信息,由于自然语言的通用性高,因此,即使请求设备没有预先存储与目标设备所支持的通信协议相关的目标信息,也可以通过自然语言来获取与目标设备所支持的通信协议相关的目标信息,后续可以采用得到的目标信息来与目标设备通信,因此,可以解决现有技术中没有预先存储相关设备的协议就无法与该类设备进行通信的缺陷,扩大了应用场景的范围。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是根据本发明的实施例提出的基于自然语言实现设备之间通信的一种流程图;
图2A是根据本发明的实施例提出的基于自然语言实现设备之间通信的另一种流程图;
图2B是根据本发明的实施例提出的基于自然语言实现设备之间通信的另一种流程图;
图3是根据本发明的实施例提出的请求设备的示意图;
图4是根据本发明的实施例提出的目标设备的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
下面先对本申请中可能涉及到的技术术语进行简单描述。
通信协议,是一种区别于自然语言形式进行通信的协议,包括通信双方定义的消息格式(包括消息编码格式,比如00001-表示关闭电视)、信令流程、消息信道定义(比如TCP(Transmission Control Protocol,传输控制协议)端口号等),但是这些内容都是预先设定的。
接口信息有时会等同于通信协议,可以替换使用,但是两者还是有区别的,例如,接口信息还可以包括硬件电气接口,这是不可协商的部分,通信协议则更多体现可协商性,因此,通信协议中一般不包括硬件电气接口信息。其中,接口信息包括接口类型、接口的定义和接口说明书等。
接口类型(以太接口、USB(Universal Serial Bus,通用串行总线)接口等),一般包括硬件电气接口定义,以及基于该硬件接口上的消息定义、信令流程、设备行为等。对于预先设定的接口,一般由对应的通信协议支持,比如以太网接口,有对应的以太网协议。
接口的定义:包括硬件接口和协议接口,包括上述消息定义、信令流程、设备行为等。消息定义可以包括消息的数字编码格式。
接口说明书(也可叫做协议说明书):包括消息定义、信令流程、设备行为等内容,可以与自然语言形式、表格、图表等任意形式呈现。
信令流程指的是双方交换的消息次序(procedure)。
数字编码格式指的是将信息数字化表示的方式,属于协议中可以约定的内容。比如,一个电视的“打开控制指令”可以用一个4bit的二进制来表示,如b0001,而这个4bit的二进制数据b0001由可以采用一定的信源编码或信道编码进行编码的方式就叫做数字编码格式,包括压缩。图1示意性地示出了根据本发明实施方式的一种基于自然语言实现设备之间通信的方法10,包括:
步骤100:请求设备基于自然语言获取与目标设备所能够支持的至少一种通信协议相关的目标信息;
步骤110:所述请求设备根据所述目标信息中的全部或者部分信息向所述目标设备发送消息。
本发明实施例中所说的自然语言实际上指的是对于接收方是非预设内容的自然语言,而不是固定内容的自然语言形式。其中,非预设内容的自然语言意味着接收方需要进行语义分析;而预设内容的自然语言,接收方直接进行字符串匹配即可。例如,在非预设内容的自然语言的情况下,“今天好热”,或者“今天温度好高”,或者“今天快晒死了”,虽然内容不同,但是含义实质上时相同的,用任何一种表达方式都可以。又例如,在非预设内容的自然语言的情况下,“当前温度”和“现在温度”,虽然表达形式不同,但是语义是相同的,采用任何一种表述也都可以。
本发明实施例中,自然语言的表达方式有多种,例如,可以是语音形式,或者也可以是文本形式(如通过IP(Internet Protocol,网络协议)网络广播),语音形式和文本形式都可以采用超声波的方式。其中,文本具体可以为图片文字或者二维码形式呈现出来的文字,语音形式可以是音乐,当然,还可能有其他形式,在此不做具体限定。
当然,请求设备也可以通过FTP下载协议定义说明书。
本发明实施例中,可选地,请求设备基于自然语言获取与目标设备所能够支持的至少一种通信协议相关的目标信息,包括:
所述请求设备基于自然语言向目标设备发送请求消息,所述请求消息用于请求与所述目标设备所能够支持的通信协议相关的目标信息;
所述请求设备接收所述目标设备返回的响应消息,所述响应消息中携带与所述目标设备所能够支持的至少一种通信协议相关的目标信息。
也就是说请求设备给目标设备发送请求消息的时候采用自然语言,但是,目标设备向请求设备返回响应消息的形式不做具体限定,可以采用自然语言的形式,或者也可以请求设备指定的协议,例如,所述请求消息中携带指示协议标识;
此时,可选地,所述请求设备接收所述目标设备返回的响应消息,包括:
所述请求设备接收所述目标设备根据所述指示协议标识返回的响应消息。
当然,目标设备向请求设备返回响应消息也可以采用其他形式,在此不做具体限定。
前面描述的是请求设备向目标设备发送消息采用自然语言,但是目标设备向请求设备发送消息的形式不做具体限定,本发明实施例中,也可以是目标设备向请求设备发送消息采用自然语言,但是请求设备向目标设备发送消息的形式不做具体限定。
因此,请求设备基于自然语言获取与目标设备所能够支持的至少一种通信协议相关的目标信息,包括:
所述请求设备向目标设备发送请求消息,所述请求消息用于请求与所述目标设备所能够支持的通信协议相关的目标信息;
所述请求设备接收所述目标设备基于自然语言返回的响应消息,所述响应消息中携带与所述目标设备所能够支持的至少一种通信协议相关的目标信息。
本发明实施例中,请求设备向目标设备发送请求消息的方式有多种,可选地,可以采用如下方式:
所述请求设备接收用户发送的指令信息;
所述请求设备获得所述指令信息的语义分析结果;
所述请求设备确定与所述语义分析结果对应的请求消息,并将所述请求消息发送至所述目标设备。
其中,所述请求设备获得所述指令信息的语义分析结果时,可以对指令信息进行语义分析,得到语义分析结果;当然,也可以为请求设备目标设备通过云端设备或者服务器进行语义分析后,再将语义分析结果返回给请求设备目标设备,在此不做具体限定。
前面描述的是请求设备获得指令信息的语义分析结果,当然,要获得其他基于自然语言形式的消息的语义分析结果的方法与获得所述指令信息的语义分析结果的方法类似,在此不再进行详述。
本发明实施例中,请求消息可以为用于直接请求与通信协议相关信息的消息,比如:第一应用程序向第二应用程序以自然语言形式发送用于询问与通信协议相关信息的消息,第二应用程序随后向第一应用程序回复与通信协议相关信息。
或者请求消息也可以是用于间接的或隐含请求与通信协议相关信息的消息,只要触发第二应用程序给第一应用程序返回包含目标信息的消息即可,比如:第一应用程序以自然语言形式向第二应用程序发送用户名和密码(隐含方式),第二应用程序随后向第一应用程序回复与通信协议相关信息(隐含响应)。
前面描述的是请求消息的直接的方式,或者隐含的、间接的方式,同理,响应也可以是直接针对第一应用程序的明确的信息请求的响应,也可以是隐含的、间接的响应。在此不再进行详述。
由于请求设备向目标设备发送请求消息的方式可以为采用自然语言,也可以不采用自然语言,因此,上述具体实现方式既可以适用请求设备采用自然语言向目标设备发送请求消息的方式,也可以适用请求设备采用其他方式向目标设备发送请求消息的方式,在此不做具体限定。
上述方式具体可以采用如下形式实现:
所述请求设备接收用户发送的指令信息,并将所述指令信息转化为格式化数据;
对所述格式化数据进行归一化处理得到所述指令信息的语义分析结果;
并确定与所述语义分析结果对应的请求消息,并将所述请求消息发送至所述目标设备。
例如,用户对着遥控器说了一句“外面好冷,我再有20分钟就到家了,提前打开空调”,遥控器要对这句话进行语义分析,得出用户想提前打开空调,并制热,然后,遥控器根据解析得到的语义结果发出与该语义结果对应的请求消息,如“打开空调制热,设置温度为30℃的数据格式是怎样的”,其中,请求消息可以采用自然语言的形式发送。
本发明实施例中,可选地,所述目标信息包括协议标识和/或协议定义信息,当然,还可以包括其他信息,在此不做具体限定。
本发明实施例中,可选地,所述协议定义信息包括消息传输接口定义信息、消息的格式信息和信令流程信息中的至少一种,当然,还可以包括其他信息,在此不做具体限定。数据传输接口包括物理层电气特性定义(比如传输电压大小、信号功率大小、总线类型,时钟频率等)、物理层数据读取时序(比如数据读写时序、占空比规定等)、传输层协议(比如信道编码、传输校验机制、重传机制等)、网络层传输协议(比如IP地址、UDP(User DatagramProtocol,用户数据报协议)或TCP端口号等)。
下面以获取温度数据的信令流程为例对信令流程进行描述:
步骤1:当请求设备需要获取温度时,向目标设备发出temp_req消息;
步骤2:目标设备向请求设备发出temp_data消息。
若在1s内请求设备没有接收到temp_data消息,则请求设备重新向目标设备发送temp_req消息。
上述只是以获取温度数据的信令流程为例进行说明,并不限定于此。
本发明实施例中,可选地,所述消息的格式信息包括数字编码格式;
其中,所述数字编码格式包括所述目标设备所能接收的数据的字段(filed)、长度(length)、取值范围(range)、数据类型(type)中的至少一种。其中,消息的格式信息还可以包括压缩格式。
数字编码格式可以是表格的形式,如表1、2所示的示例。
表1 数字编码格式
字段 | 类型 | 长度 | 取值范围 | 补充信息 |
温度数据(temp_data) | 整型 | 8比特 | -40到+60 | 以IP/UDP(port=10001)的方式承载 |
表2 数字编码格式
字段 | 类型 | 长度 | 取值范围 | 补充信息 |
温度请求(temp_req) | 整型 | 1比特 | 0,1 | 以IP/UDP(port=10001)的方式承载 |
表2中,取值范围项中0表示不再需要温度数据;1表示需要接收温度数据。
其中,可选地,表格可以是图片形式,或者也可以是富文本形式的文档,在此不做具体限定。
本发明实施例中,可选地,所述协议标识能够用表征信息来表征;
其中,所述表征信息包括所述目标设备的ID(Identification,标识)、所述目标设备的类型、所述目标设备的软硬件版本号和所述目标设备的生产厂商信息中的至少一种。
此时,所述请求设备根据所述目标信息中的全部或者部分信息向所述目标设备发送消息,包括:
所述请求设备根据所述表征信息确定所述表征信息所对应的协议;
采用确定的协议向所述目标设备发送消息。
本发明实施例中,可选地,所述请求设备根据所述表征信息确定所述表征信息所对应的协议,包括:
所述请求设备通过第三设备获取对应的协议信息;
其中,所述第三设备为互联网服务器、搜索引擎、自然语言交互引擎中的至少一种。
例如,请求设备获得通过服务器以自然语言方式反馈的其自身设备ID,请求设备以该ID为关键词,通过互联网搜索引擎下载得到目标设备支持的协议定义。总之,获取协议定义的方式不限。在请求设备中写入一个代码段,作为自然语言生成模块,当其与目标设备要进行通信时,则请求设备首先生成关于询问关于目标设备接口定义和数据传输格式的自然语言(比如语音或文本)有关的信息,并发出;关于其接口类型/数据传输格式的信息,可以是询问目标设备的类型、软硬件版本号,生产厂商等,也可以是对直接询问接口定义/说明书,在此不做具体限定。
在实际应用中,目标设备反馈回来的所能够支持的数字编码格式与请求设备所能够支持的数字编码格式可能不统一,此时,二者之间可以进行协商,因此,本发明实施例中,可选地,所述请求设备根据所述目标信息中的全部或者部分信息向所述目标设备发送消息,包括:
所述请求设备判断所述目标设备所支持的至少一种协议和所述请求设备所支持的至少一种协议是否相匹配;
如果所述请求设备判断所述目标设备所支持的至少一种协议和所述请求设备所支持的至少一种协议相匹配,直接采用所述目标信息对应的协议向所述目标设备发送消息;
否则,所述请求设备返回基于自然语言获取与目标设备所能够支持的至少一种通信协议相关的目标信息的步骤。
例如,空调向遥控器发送了其所支持的数字编码格式后,如果遥控器不支持这种数字编码格式,则空调和遥控器两者之间可以继续以自然语言的方式进行协商,具体可以为遥控器向空调发送“要不第一个字节的后4个比特中的1111代表制热吧”这样的消息给空调,空调接收到这个消息后,经过解析调整其数字编码格式发现可以应用这种新的数字编码方式,则其可以给遥控器反馈“好”这样的消息,从而二者就协商了一种新的数字编码方式,采用协商得到的数字编码方式来进行通信。
需要说明的是,如果请求设备返回获取与目标设备所能够支持的至少一种通信协议相关的目标信息的步骤之后,如果所述请求设备判断所述目标设备所支持的至少一种协议和所述请求设备所支持的至少一种协议不相匹配的话,可以再继续获取,直至匹配为止,在此不做具体限定。
下面对方法10进行举例说明。
例如,用户对着遥控器说“打开空调制冷,温度为26℃”,遥控器接收到这句话之后,向空调发送“打开空调制冷,设置温度为26℃的数据格式是怎样的?”,空调接收以语音或文本形式表达的这一消息后,将自己所支持的数字编码格式再以自然语言发送给遥控器,比如“我所支持的数字编码格式是这样的,长度是两个字节共16比特,第一个字节的前4个比特表示开启(1111)/关闭(0000),后4个比特表示制热(0000)/制冷(1111),第二个字节以二进制的格式表示温度,比如26℃为00011010,并且上述内容以IP/UDP(port=10001)的方式承载”。遥控器接收该消息后就可以以这种数字编码的方式向空调进行发送消息,比如发送“111111110001010”的消息,该消息用于表示打开空调制冷,温度设置为26℃。
本发明实施例中,目标设备在接收到请求消息之后,可能无法理解请求设备发送的请求消息,此时,请求设备和目标设备可以反复进行沟通,直至目标设备能够解析出请求设备发送的请求消息,因此,本发明实施例中,请求设备向目标设备发送请求消息之后,接收所述响应消息之前,所述方法还包括:
若所述目标设备无法理解所述请求消息,所述请求设备继续与目标设备进行沟通,直至所述目标设备能够解析所述请求消息。其中,在具体实施过程中,可以采用如下方式:
若所述目标设备无法理解所述请求消息,所述请求设备继续向所述目标设备发送请求消息,直至所述目标设备能够理解所述请求消息。
前面描述的是目标设备无法理解请求设备的请求消息,当然,也可能存在请求设备无法理解目标设备发送的响应消息,此时,请求设备也可以和目标设备反复沟通,直至请求设备能够解析出响应消息,因此,本发明实施例中,所述请求设备接收所述目标设备返回的响应消息之后,向所述目标设备发送消息之前,进一步的,所述方法还包括:
若所述请求设备无法理解所述响应消息,所述请求设备继续与所述目标设备进行沟通,直至请求设备能够解析出目标设备发送的响应消息。在具体实施过程中,可以采用如下方式:
若所述请求设备无法理解所述响应消息,所述请求设备继续接收所述目标设备发送的响应消息,直至所述请求设备能够理解所述响应消息。
在该方案中,利用自然语言来获取与通信协议相关的目标信息,由于自然语言的通用性高,因此,即使请求设备没有预先存储与目标设备所支持的通信协议相关的目标信息,也可以通过自然语言来获取与目标设备所支持的通信协议相关的目标信息,后续可以采用得到的目标信息来与目标设备通信,因此,可以解决现有技术中没有预先存储相关设备的协议就无法与该类设备进行通信的缺陷,扩大了应用场景的范围。
进一步的,由于在获取目标信息后,可以采用协议中规定的数字编码格式传输消息,而采用数字编码格式传输数据的效率较高,因此,本发明实施例提出的方法还可以提高传输效率。
图2A示意性地示出了根据本发明实施方式的另一种基于自然语言实现设备之间通信的方法20A或是20B,包括:
方法20A为:
步骤200A:目标设备接收请求设备基于自然语言发送的请求消息,所述请求消息用于请求与所述目标设备所能够支持的通信协议相关的目标信息;
步骤210A:向所述请求设备发送响应消息,所述响应消息中携带与所述目标设备所能够支持的至少一种通信协议相关的目标信息。
方法20B为:
步骤200B:所述目标设备接收请求设备发送的请求消息,所述请求消息用于请求与所述目标设备所能够支持的通信协议相关的目标信息;
步骤210B:基于自然语言向所述请求设备发送响应消息,所述响应消息中携带与所述目标设备所能够支持的至少一种通信协议相关的目标信息。
本发明实施例中所说的自然语言实际上指的是对于接收方是非预设内容的自然语言,而不是固定内容的自然语言形式。其中,非预设内容的自然语言意味着接收方需要进行语义分析;而预设内容的自然语言,接收方直接进行字符串匹配即可。例如,在非预设内容的自然语言的情况下,“今天好热”,或者“今天温度好高”,或者“今天快晒死了”,虽然内容不同,但是含义实质上时相同的,用任何一种表达方式都可以。又例如,在非预设内容的自然语言的情况下,“当前温度”和“现在温度”,虽然表达形式不同,但是语义是相同的,采用任何一种表述也都可以。
本发明实施例中,自然语言的表达方式有多种,例如,可以是语音形式,或者也可以是文本形式(如通过IP网络广播),语音形式和文本形式都可以采用超声波的方式。其中,文本具体可以为图片文字或者二维码形式呈现出来的文字,语音形式可以是音乐,当然,还可能有其他形式,在此不做具体限定。
需要说明的是,目标设备在接收到请求设备基于自然语言发送的请求消息后,需要获得请求消息的语义分析结果,其中,获得请求消息的语义分析结果时,可以对请求消息进行语义分析,得到语义分析结果;或者,也可以为通过云端设备或者服务器进行语义分析后,再将语义分析结果返回给目标设备,当然,还可以有其他方式,在此不做具体限定。
前面描述的是目标设备获得请求消息的语义分析结果,当然,要获得其他基于自然语言形式的消息的语义分析结果的方法与获得所述请求消息的语义分析结果的方法类似,在此不再进行详述。
本发明实施例中,可选地,请求消息中携带指示协议标识;
此时,可选地,所述目标设备向所述请求设备发送响应消息,包括:
所述目标设备根据所述指示协议标识向所述请求设备返回响应消息。
当然,目标设备向请求设备返回响应消息也可以采用其他形式,在此不做具体限定。
本发明实施例中,可选地,所述目标信息包括协议标识和/或协议定义信息,当然,还可以包括其他信息,在此不做具体限定。
本发明实施例中,可选地,所述协议定义信息包括消息传输接口定义信息、消息的格式信息和信令流程信息中的至少一种,当然,还可以包括其他信息,在此不做具体限定。数据传输接口包括物理层电气特性定义(比如传输电压大小、信号功率大小、总线类型,时钟频率等)、物理层数据读取时序(比如数据读写时序、占空比规定等)、传输层协议(比如信道编码、传输校验机制、重传机制等)、网络层传输协议(比如IP地址、UDP(User DatagramProtocol,用户数据报协议)或TCP端口号等)。
下面以获取温度数据的信令流程为例对信令流程进行描述:
步骤1:当请求设备需要获取温度时,向目标设备发出temp_req消息;
步骤2:目标设备向请求设备发出temp_data消息。
若在1s内请求设备没有接收到temp_data消息,则请求设备重新向目标设备发送temp_req消息。
上述只是以获取温度数据的信令流程为例进行说明,并不限定于此。
本发明实施例中,可选地,所述消息的格式信息包括数字编码格式;
其中,所述数字编码格式包括所述目标设备所能接收的数据的字段、长度、取值范围、数据类型中的至少一种。其中,消息的格式信息还可以包括压缩格式。
数字编码格式可以是表格的形式,如表1、2所示的示例。其中,可选地,表格可以是图片形式,或者也可以是富文本形式的文档,在此不做具体限定。
本发明实施例中,可选地,协议标识能够用表征信息来表征;
其中,所述表征信息包括所述目标设备的标识ID、所述目标设备的类型、所述目标设备的软硬件版本号和所述目标设备的生产厂商信息中的至少一种。
在实际应用中,目标设备反馈回来的所能够支持的数字编码格式与请求设备所能够支持的数字编码格式可能不统一,此时,二者之间可以进行协商,因此,本发明实施例中,可选地,所述目标设备向所述请求设备发送响应消息之后,所述方法还包括:
如果所述目标设备所支持的至少一种协议和所述请求设备所支持的至少一种协议不匹配,所述目标设备继续向所述请求设备发送响应消息。
例如,空调向遥控器发送了其所支持的数字编码格式后,如果遥控器不支持这种数字编码格式,则空调和遥控器两者之间可以继续以自然语言的方式进行协商,具体可以为遥控器向空调发送“要不第一个字节的后4个比特中的1111代表制热吧”这样的消息给空调,空调接收到这个消息后,经过解析调整其数字编码格式发现可以应用这种新的数字编码方式,则其可以给遥控器反馈“好”这样的消息,从而二者就协商了一种新的数字编码方式,采用协商得到的数字编码方式来进行通信。
下面对方法20B进行举例说明。
例如,用户对着遥控器说“打开空调制冷,温度为26℃”,遥控器接收到这句话之后,向空调发送“打开空调制冷,设置温度为26℃的数据格式是怎样的?”,空调接收以语音或文本形式表达的这一消息后,将自己所支持的数字编码格式以自然语言发送给遥控器,比如“我所支持的数字编码格式是这样的,长度是两个字节共16比特,第一个字节的前4个比特表示开启(1111)/关闭(0000),后4个比特表示制热(0000)/制冷(1111),第二个字节以二进制的格式表示温度,比如26℃为00011010,并且上述内容以IP/UDP(port=10001)的方式承载”。遥控器接收该消息后就可以以这种数字编码的方式向空调进行发送消息,比如发送“111111110001010”的消息,该消息用于表示打开空调制冷,温度设置为26℃。
本发明实施例中,目标设备在接收到请求消息之后,可能无法理解请求设备发送的请求消息,此时,请求设备和目标设备可以反复进行沟通,直至目标设备能够解析出请求设备发送的请求消息,因此,本发明实施例中,若所述目标设备无法理解所述请求消息,所述目标设备继续与所述请求设备进行沟通。
前面描述的是目标设备无法理解请求设备的请求消息,当然,也可能存在请求设备无法理解目标设备发送的响应消息,此时,请求设备也可以和目标设备反复沟通,直至请求设备能够解析出响应消息,因此,本发明实施例中,若所述请求设备无法理解所述响应消息,所述目标设备继续与所述请求设备进行沟通。
在该方案中,利用自然语言来获取与通信协议相关的目标信息,由于自然语言的通用性高,因此,即使请求设备没有预先存储与目标设备所支持的通信协议相关的目标信息,也可以通过自然语言来获取与目标设备所支持的通信协议相关的目标信息,后续可以采用得到的目标信息来与目标设备通信,因此,可以解决现有技术中没有预先存储相关设备的协议就无法与该类设备进行通信的缺陷,扩大了应用场景的范围。
进一步的,由于在获取目标信息后,可以采用协议中规定的数字编码格式传输消息,而采用数字编码格式传输数据的效率较高,因此,本发明实施例提出的方法还可以提高传输效率。
参阅图3所示,本发明实施例中,提出一种请求设备30,包括:
获取单元300,用于基于自然语言获取与目标设备所能够支持的至少一种通信协议相关的目标信息;
发送单元310,用于根据所述目标信息中的全部或者部分信息向所述目标设备发送消息。
本发明实施例中所说的自然语言实际上指的是对于接收方是非预设内容的自然语言,而不是固定内容的自然语言形式。其中,非预设内容的自然语言意味着接收方需要进行语义分析;而预设内容的自然语言,接收方直接进行字符串匹配即可。例如,在非预设内容的自然语言的情况下,“今天好热”,或者“今天温度好高”,或者“今天快晒死了”,虽然内容不同,但是含义实质上时相同的,用任何一种表达方式都可以。又例如,在非预设内容的自然语言的情况下,“当前温度”和“现在温度”,虽然表达形式不同,但是语义是相同的,采用任何一种表述也都可以。
本发明实施例中,自然语言的表达方式有多种,例如,可以是语音形式,或者也可以是文本形式(如通过IP网络广播),语音形式和文本形式都可以采用超声波的方式。其中,文本具体可以为图片文字或者二维码形式呈现出来的文字,语音形式可以是音乐,当然,还可能有其他形式,在此不做具体限定。当然,请求设备也可以通过FTP下载协议定义说明书。
本发明实施例中,所述发送单元310还用于,基于自然语言向目标设备发送请求消息,所述请求消息用于请求与所述目标设备所能够支持的通信协议相关的目标信息;
可选地,所述获取单元300基于自然语言获取与目标设备所能够支持的至少一种通信协议相关的目标信息时,具体为:
接收所述目标设备返回的响应消息,所述响应消息中携带与所述目标设备所能够支持的至少一种通信协议相关的目标信息。
也就是说请求设备30给目标设备发送请求消息的时候采用自然语言,但是,目标设备向请求设备30返回响应消息的形式不做具体限定,可以采用自然语言的形式,或者也可以请求设备30指定的协议,例如,所述请求消息中携带指示协议标识;
此时,可选地,所述获取单元300接收所述目标设备返回的响应消息时,具体为:
接收所述目标设备根据所述指示协议标识返回的响应消息。
当然,目标设备向请求设备30返回响应消息也可以采用其他形式,在此不做具体限定。
前面描述的是请求设备30向目标设备发送消息采用自然语言,但是目标设备向请求设备30发送消息的形式不做具体限定,本发明实施例中,也可以是目标设备向请求设备30发送消息采用自然语言,但是请求设备30向目标设备发送消息的形式不做具体限定。
因此,所述发送单元310还用于,向目标设备发送请求消息,所述请求消息用于请求与所述目标设备所能够支持的通信协议相关的目标信息;
所述获取单元300基于自然语言获取与目标设备所能够支持的至少一种通信协议相关的目标信息时,具体为:接收所述目标设备基于自然语言返回的响应消息,所述响应消息中携带与所述目标设备所能够支持的至少一种通信协议相关的目标信息。
本发明实施例中,可选地,所述装置还包括接收单元320和语义分析单元330,其中:
接收单元320,用于接收用户发送的指令信息;
语义分析单元330,用于获得所述指令信息的语义分析结果;
所述发送单元310向目标设备发送请求消息时,具体为:确定与所述语义分析结果对应的请求消息,并将所述请求消息发送至所述目标设备。
其中,所述请求设备30获得所述指令信息的语义分析结果时,可以对指令信息进行语义分析,得到语义分析结果;或者也可以请求设备目标设备通过云端设备或者服务器进行语义分析后,再将语义分析结果返回给请求设备30目标设备,在此不做具体限定。
前面描述的是请求设备30获得指令信息的语义分析结果,当然,要获得其他基于自然语言形式的消息的语义分析结果的方法与获得所述指令信息的语义分析结果的方法类似,在此不再进行详述。
由于请求设备30向目标设备发送请求消息的方式可以为采用自然语言,也可以不采用自然语言,因此,上述具体实现方式既可以适用请求设备30采用自然语言向目标设备发送请求消息的方式,也可以适用请求设备30采用其他方式向目标设备发送请求消息的方式,在此不做具体限定。
上述方式具体可以采用如下形式实现:
接收用户发送的指令信息,并将所述指令信息转化为格式化数据;
对所述格式化数据进行归一化处理得到所述指令信息的语义分析结果,并确定与所述语义分析结果对应的请求消息;
发送单元310将所述请求消息发送至所述目标设备。
例如,用户对着遥控器说了一句“外面好冷,我再有20分钟就到家了,提前打开空调”,遥控器要对这句话进行语义分析,得出用户想提前打开空调,并制热,然后,遥控器根据解析得到的语义结果发出与该语义结果对应的请求消息,如“打开空调制热,设置温度为30℃的数据格式是怎样的”,其中,请求消息可以采用自然语言的形式发送。
本发明实施例中,可选地,所述目标信息包括协议标识和/或协议定义信息,当然,还可以包括其他信息,在此不做具体限定。
本发明实施例中,可选地,所述协议定义信息包括消息传输接口定义信息、消息的格式信息和信令流程信息中的至少一种。当然,还可以包括其他信息,在此不做具体限定。数据传输接口包括物理层电气特性定义(比如传输电压大小、信号功率大小、总线类型,时钟频率等)、物理层数据读取时序(比如数据读写时序、占空比规定等)、传输层协议(比如信道编码、传输校验机制、重传机制等)、网络层传输协议(比如IP地址、UDP或TCP端口号等)。
下面以获取温度数据的信令流程为例对信令流程进行描述:
步骤1:当请求设备30需要获取温度时,向目标设备发出temp_req消息;
步骤2:目标设备向请求设备30发出temp_data消息。
若在1s内请求设备30没有接收到temp_data消息,则请求设备30重新向目标设备发送temp_req消息。
上述只是以获取温度数据的信令流程为例进行说明,并不限定于此。
本发明实施例中,可选地,所述消息的格式信息包括数字编码格式;
其中,所述数字编码格式包括所述目标设备所能接收的数据的字段、长度、取值范围、数据类型中的至少一种。其中,消息的格式信息还可以包括压缩格式。
数字编码格式可以是表格的形式,如表1、2所示的示例。其中,可选地,表格可以是图片形式,或者也可以是富文本形式的文档,在此不做具体限定。
本发明实施例中,可选地,所述协议标识能够用表征信息来表征;
其中,所述表征信息包括所述目标设备的标识ID、所述目标设备的类型、所述目标设备的软硬件版本号和所述目标设备的生产厂商信息中的至少一种。
此时,所述发送单元310根据所述目标信息中的全部或者部分信息向所述目标设备发送消息时,具体为:
根据所述表征信息确定所述表征信息所对应的协议;
采用确定的协议向所述目标设备发送消息。
本发明实施例中,可选地,所述发送单元310根据所述表征信息确定所述表征信息所对应的协议时,具体为:
通过第三设备获取对应的协议信息;
其中,所述第三设备为互联网服务器、搜索引擎、自然语言交互引擎中的至少一种。
例如,请求设备30获得通过服务器以自然语言方式反馈的其自身设备ID,请求设备30以该ID为关键词,通过互联网搜索引擎下载得到目标设备支持的协议定义。总之,获取协议定义的方式不限。在请求设备30中写入一个代码段,作为自然语言生成模块,当其与目标设备要进行通信时,则请求设备30首先生成关于询问关于目标设备接口定义和数据传输格式的自然语言(比如语音或文本)有关的信息,并发出;关于其接口类型/数据传输格式的信息,可以是询问目标设备的类型、软硬件版本号,生产厂商等,也可以是对直接询问接口定义/说明书,在此不做具体限定。
在实际应用中,目标设备反馈回来的所能够支持的数字编码格式与请求设备30所能够支持的数字编码格式可能不统一,此时,二者之间可以进行协商,因此,本发明实施例中,可选地,所述发送单元310根据所述目标信息中的全部或者部分信息向所述目标设备发送消息时,具体为:
判断所述目标设备所支持的至少一种协议和所述请求设备30所支持的至少一种协议是否相匹配;
如果判断所述目标设备所支持的至少一种协议和所述请求设备30所支持的至少一种协议相匹配,直接采用所述目标信息对应的协议向所述目标设备发送消息;
否则,返回基于自然语言获取与目标设备所能够支持的至少一种通信协议相关的目标信息的步骤。
例如,空调向遥控器发送了其所支持的数字编码格式后,如果遥控器不支持这种数字编码格式,则空调和遥控器两者之间可以继续以自然语言的方式进行协商,具体可以为遥控器向空调发送“要不第一个字节的后4个比特中的1111代表制热吧”这样的消息给空调,空调接收到这个消息后,经过解析调整其数字编码格式发现可以应用这种新的数字编码方式,则其可以给遥控器反馈“好”这样的消息,从而二者就协商了一种新的数字编码方式,采用协商得到的数字编码方式来进行通信。
需要说明的是,如果请求设备30返回获取与目标设备所能够支持的至少一种通信协议相关的目标信息的步骤之后,如果所述请求设备30判断所述目标设备所支持的至少一种协议和所述请求设备30所支持的至少一种协议不相匹配的话,可以再继续获取,直至匹配为止,在此不做具体限定。下面对方法10进行举例说明。
例如,用户对着遥控器说“打开空调制冷,温度为26℃”,遥控器接收到这句话之后,向空调发送“打开空调制冷,设置温度为26℃的数据格式是怎样的?”,空调接收以语音或文本形式表达的这一消息后,将自己所支持的数字编码格式再以自然语言发送给遥控器,比如“我所支持的数字编码格式是这样的,长度是两个字节共16比特,第一个字节的前4个比特表示开启(1111)/关闭(0000),后4个比特表示制热(0000)/制冷(1111),第二个字节以二进制的格式表示温度,比如26℃为00011010,并且上述内容以IP/UDP(port=10001)的方式承载”。遥控器接收该消息后就可以以这种数字编码的方式向空调进行发送消息,比如发送“111111110001010”的消息,该消息用于表示打开空调制冷,温度设置为26℃。
本发明实施例中,目标设备在接收到请求消息之后,可能无法理解请求设备30发送的请求消息,此时,请求设备30和目标设备可以反复进行沟通,直至目标设备能够解析出请求设备30发送的请求消息,因此,本发明实施例中,请求设备30向目标设备发送请求消息之后,接收所述响应消息之前,所述方法还包括:
若所述目标设备无法理解所述请求消息,所述请求设备30继续与目标设备进行沟通,直至所述目标设备能够解析所述请求消息。其中,在具体实施过程中,可以采用如下方式:
若所述目标设备无法理解所述请求消息,所述请求设备30继续向所述目标设备发送请求消息,直至所述目标设备能够理解所述请求消息。
前面描述的是目标设备无法理解请求设备30的请求消息,当然,也可能存在请求设备30无法理解目标设备发送的响应消息,此时,请求设备30也可以和目标设备反复沟通,直至请求设备30能够解析出响应消息,因此,本发明实施例中,所述请求设备30接收所述目标设备返回的响应消息之后,向所述目标设备发送消息之前,进一步的,所述方法还包括:
若所述请求设备30无法理解所述响应消息,所述请求设备30继续与所述目标设备进行沟通,直至请求设备30能够解析出目标设备发送的响应消息。在具体实施过程中,可以采用如下方式:
若所述请求设备30无法理解所述响应消息,所述请求设备30继续接收所述目标设备发送的响应消息,直至所述请求设备30能够理解所述响应消息。
在该方案中,利用自然语言来获取与通信协议相关的目标信息,由于自然语言的通用性高,因此,即使请求设备30没有预先存储与目标设备所支持的通信协议相关的目标信息,也可以通过自然语言来获取与目标设备所支持的通信协议相关的目标信息,后续可以采用得到的目标信息来与目标设备通信,因此,可以解决现有技术中没有预先存储相关设备的协议就无法与该类设备进行通信的缺陷,扩大了应用场景的范围。
参阅图4所示,本发明实施例,提出一种目标设备40,包括:
接收单元400,用于接收请求设备基于自然语言发送的请求消息,所述请求消息用于请求与所述目标设备40所能够支持的通信协议相关的目标信息;发送单元410,用于向所述请求设备发送响应消息,所述响应消息中携带与所述目标设备40所能够支持的至少一种通信协议相关的目标信息;或者
所述接收单元400,用于接收请求设备发送的请求消息,所述请求消息用于请求与所述目标设备40所能够支持的通信协议相关的目标信息;所述发送单元410,用于基于自然语言向所述请求设备发送响应消息,所述响应消息中携带与所述目标设备40所能够支持的至少一种通信协议相关的目标信息。
本发明实施例中所说的自然语言实际上指的是对于接收方是非预设内容的自然语言,而不是固定内容的自然语言形式。其中,非预设内容的自然语言意味着接收方需要进行语义分析;而预设内容的自然语言,接收方直接进行字符串匹配即可。例如,在非预设内容的自然语言的情况下,“今天好热”,或者“今天温度好高”,或者“今天快晒死了”,虽然内容不同,但是含义实质上时相同的,用任何一种表达方式都可以。又例如,在非预设内容的自然语言的情况下,“当前温度”和“现在温度”,虽然表达形式不同,但是语义是相同的,采用任何一种表述也都可以。
本发明实施例中,自然语言的表达方式有多种,例如,可以是语音形式,或者也可以是文本形式(如通过IP网络广播),语音形式和文本形式都可以采用超声波的方式。其中,文本具体可以为图片文字或者二维码形式呈现出来的文字,语音形式可以是音乐,当然,还可能有其他形式,在此不做具体限定。
需要说明的是,目标设备40在接收到请求设备基于自然语言发送的请求消息后,需要获得请求消息的语义分析结果,其中,获得请求消息的语义分析结果时,可以对请求消息进行语义分析,得到语义分析结果;或者,也可以为通过云端设备或者服务器进行语义分析后,再将语义分析结果返回给目标设备40,当然,还可以有其他方式,在此不做具体限定。
前面描述的是目标设备40获得请求消息的语义分析结果,当然,要获得其他基于自然语言形式的消息的语义分析结果的方法与获得所述请求消息的语义分析结果的方法类似,在此不再进行详述。
本发明实施例中,可选地,所述请求消息中携带指示协议标识;
此时,可选地,所述发送单元410向所述请求设备发送响应消息时,具体为:
根据所述指示协议标识向所述请求设备返回响应消息。
当然,目标设备40向请求设备返回响应消息也可以采用其他形式,在此不做具体限定。
本发明实施例中,可选地,所述目标信息包括协议标识和/或协议定义。
本发明实施例中,可选地,所述协议定义信息包括消息传输接口定义信息、消息的格式信息和信令流程信息中的至少一种。当然,还可以包括其他信息,在此不做具体限定。数据传输接口包括物理层电气特性定义(比如传输电压大小、信号功率大小、总线类型,时钟频率等)、物理层数据读取时序(比如数据读写时序、占空比规定等)、传输层协议(比如信道编码、传输校验机制、重传机制等)、网络层传输协议(比如IP地址、UDP(User DatagramProtocol,用户数据报协议)或TCP端口号等)。
下面以获取温度数据的信令流程为例对信令流程进行描述:
步骤1:当请求设备需要获取温度时,向目标设备40发出temp_req消息;
步骤2:目标设备40向请求设备发出temp_data消息。
若在1s内请求设备没有接收到temp_data消息,则请求设备重新向目标设备40发送temp_req消息。
上述只是以获取温度数据的信令流程为例进行说明,并不限定于此。本发明实施例中,可选地,所述消息的格式信息包括数字编码格式;
其中,所述数字编码格式包括所述目标设备40所能接收的数据的字段、长度、取值范围、数据类型中的至少一种。其中,消息的格式信息还可以包括压缩格式。
数字编码格式可以是表格的形式,如表1、2所示的示例。其中,可选地,表格可以是图片形式,或者也可以是富文本形式的文档,在此不做具体限定。
本发明实施例中,可选地,协议标识能够用表征信息来表征;
其中,所述表征信息包括所述目标设备40的标识ID、所述目标设备40的类型、所述目标设备40的软硬件版本号和所述目标设备40的生产厂商信息中的至少一种。
在实际应用中,目标设备40反馈回来的所能够支持的数字编码格式与请求设备所能够支持的数字编码格式可能不统一,此时,二者之间可以进行协商,因此,本发明实施例中,可选地,所述设备还包括匹配单元420,用于判断所述目标设备40所支持的至少一种协议和所述请求设备所支持的至少一种协议是否匹配;
所述发送单元410还用于,在所述匹配单元确定所述目标设备40所支持的至少一种协议和所述请求设备所支持的至少一种协议不匹配,继续向所述请求设备发送响应消息。
例如,空调向遥控器发送了其所支持的数字编码格式后,如果遥控器不支持这种数字编码格式,则空调和遥控器两者之间可以继续以自然语言的方式进行协商,具体可以为遥控器向空调发送“要不第一个字节的后4个比特中的1111代表制热吧”这样的消息给空调,空调接收到这个消息后,经过解析调整其数字编码格式发现可以应用这种新的数字编码方式,则其可以给遥控器反馈“好”这样的消息,从而二者就协商了一种新的数字编码方式,采用协商得到的数字编码方式来进行通信。
下面对方法20B进行举例说明。
例如,用户对着遥控器说“打开空调制冷,温度为26℃”,遥控器接收到这句话之后,向空调发送“打开空调制冷,设置温度为26℃的数据格式是怎样的?”,空调接收以语音或文本形式表达的这一消息后,将自己所支持的数字编码格式以自然语言发送给遥控器,比如“我所支持的数字编码格式是这样的,长度是两个字节共16比特,第一个字节的前4个比特表示开启(1111)/关闭(0000),后4个比特表示制热(0000)/制冷(1111),第二个字节以二进制的格式表示温度,比如26℃为00011010,并且上述内容以IP/UDP(port=10001)的方式承载”。遥控器接收该消息后就可以以这种数字编码的方式向空调进行发送消息,比如发送“111111110001010”的消息,该消息用于表示打开空调制冷,温度设置为26℃。
本发明实施例中,目标设备40在接收到请求消息之后,可能无法理解请求设备发送的请求消息,此时,请求设备和目标设备40可以反复进行沟通,直至目标设备40能够解析出请求设备发送的请求消息,因此,本发明实施例中,若所述目标设备40无法理解所述请求消息,所述目标设备40继续与所述请求设备进行沟通。
前面描述的是目标设备40无法理解请求设备的请求消息,当然,也可能存在请求设备无法理解目标设备40发送的响应消息,此时,请求设备也可以和目标设备40反复沟通,直至请求设备能够解析出响应消息,因此,本发明实施例中,若所述请求设备无法理解所述响应消息,所述目标设备40继续与所述请求设备进行沟通。
在该方案中,利用自然语言来获取与通信协议相关的目标信息,由于自然语言的通用性高,因此,即使请求设备没有预先存储与目标设备40所支持的通信协议相关的目标信息,也可以通过自然语言来获取与目标设备40所支持的通信协议相关的目标信息,后续可以采用得到的目标信息来与目标设备40通信,因此,可以解决现有技术中没有预先存储相关设备的协议就无法与该类设备进行通信的缺陷,扩大了应用场景的范围。
进一步的,由于在获取目标信息后,可以采用协议中规定的数字编码格式传输消息,而采用数字编码格式传输数据的效率较高,因此,本发明实施例提出的方法还可以提高传输效率。
在此提供的方法和装置不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的装置中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个装置中。可以把实施例中的若干模块组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者模块中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个装置实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的装置中的一些或者全部模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (17)
1.一种基于自然语言实现设备之间通信的方法,所述方法应用于目标设备,所述方法包括:
目标设备接收请求设备发送的请求消息,所述请求消息用于请求与目标设备所能够支持的通信协议相关的目标信息;
目标设备向所述请求设备发送响应消息,所述响应消息中携带与目标设备所能够支持的至少一种通信协议相关的目标信息;
其中,所述请求消息和/或所述响应消息是基于自然语言发送的。
2.如权利要求1所述的方法,其特征在于,所述请求消息中携带指示协议标识;所述向所述请求设备发送响应消息,包括:
根据所述指示协议标识向所述请求设备返回响应消息。
3.如权利要求2所述的方法,其特征在于,所述目标信息包括协议标识和/或协议定义。
4.如权利要求3所述的方法,其特征在于,所述协议定义信息包括消息传输接口定义信息、消息的格式信息和信令流程信息中的至少一种。
5.如权利要求4所述的方法,其特征在于,所述消息的格式信息包括数字编码格式;
其中,所述数字编码格式包括所述目标设备所能接收的数据的字段、长度、取值范围、数据类型中的至少一种。
6.如权利要求1-5任一项所述的方法,其特征在于,协议标识能够用表征信息来表征;
其中,所述表征信息包括本地设备的标识ID、类型、软硬件版本号和生产厂商信息中的至少一种。
7.如权利要求1所述的方法,其特征在于,向所述请求设备发送响应消息之后,所述方法还包括:
如果本地所支持的至少一种协议和所述请求设备所支持的至少一种协议不匹配,则继续向所述请求设备发送响应消息。
8.如权利要求1所述的方法,其特征在于,所述自然语言为语音和/或文本。
9.一种电子设备,包括:
接收单元,用于接收请求设备发送的请求消息,所述请求消息用于请求与所述电子设备所能够支持的通信协议相关的目标信息;
发送单元,用于向所述请求设备发送响应消息,所述响应消息中携带与所述电子设备所能够支持的至少一种通信协议相关的目标信息;
其中,所述请求消息和/或所述响应消息是基于自然语言发送的。
10.如权利要求9所述的设备,其特征在于,所述请求消息中携带指示协议标识;所述发送单元向所述请求设备发送响应消息时,具体为:
根据所述指示协议标识向所述请求设备返回响应消息。
11.如权利要求10所述的设备,其特征在于,所述目标信息包括协议标识和/或协议定义。
12.如权利要求11所述的设备,其特征在于,所述协议定义信息包括消息传输接口定义信息、消息的格式信息和信令流程信息中的至少一种。
13.如权利要求12所述的设备,其特征在于,所述消息的格式信息包括数字编码格式;
其中,所述数字编码格式包括所述目标设备所能接收的数据的字段、长度、取值范围、数据类型中的至少一种。
14.如权利要求9-13任一项所述的设备,其特征在于,协议标识能够用表征信息来表征;
其中,所述表征信息包括所述电子设备的标识ID、所述电子设备的类型、所述电子设备的软硬件版本号和所述电子设备的生产厂商信息中的至少一种。
15.如权利要求9所述的设备,其特征在于,所述设备还包括匹配单元,用于判断所述电子设备所支持的至少一种协议和所述请求设备所支持的至少一种协议是否匹配;
所述发送单元还用于,在所述匹配单元确定所述电子设备所支持的至少一种协议和所述请求设备所支持的至少一种协议不匹配,继续向所述请求设备发送响应消息。
16.如权利要求9所述的设备,其特征在于,所述自然语言为语音和/或文本。
17.一种电子设备,包括:
存储器以及一个或多个处理器;
其中,所述存储器与所述一个或多个处理器通信连接,所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器能够实现如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710576456.6A CN107395584B (zh) | 2017-07-14 | 2017-07-14 | 基于自然语言实现设备之间通信的方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710576456.6A CN107395584B (zh) | 2017-07-14 | 2017-07-14 | 基于自然语言实现设备之间通信的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107395584A CN107395584A (zh) | 2017-11-24 |
CN107395584B true CN107395584B (zh) | 2020-07-14 |
Family
ID=60340211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710576456.6A Active CN107395584B (zh) | 2017-07-14 | 2017-07-14 | 基于自然语言实现设备之间通信的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107395584B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108833225A (zh) * | 2018-06-01 | 2018-11-16 | 广东美的制冷设备有限公司 | 家电设备及其通讯方法、装置及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104113529A (zh) * | 2014-06-23 | 2014-10-22 | 胡栋 | 一种基于自然语言理解的物联网与社交网络融合的方法和系统 |
CN104717287A (zh) * | 2015-03-07 | 2015-06-17 | 上海恩辅信息科技有限公司 | 实现物联网设备相互通信及分布式智能控制方法及系统 |
CN105490872A (zh) * | 2015-11-24 | 2016-04-13 | 湖北大学 | 一种网络即时通讯数据信息实时监控系统及监控方法 |
CN106325095A (zh) * | 2016-10-25 | 2017-01-11 | 广州华睿电子科技有限公司 | 一种智能语音管家机器人系统 |
CN106547208A (zh) * | 2015-09-16 | 2017-03-29 | 北京北信源软件股份有限公司 | 一种新型智能家居控制系统及控制方法 |
-
2017
- 2017-07-14 CN CN201710576456.6A patent/CN107395584B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104113529A (zh) * | 2014-06-23 | 2014-10-22 | 胡栋 | 一种基于自然语言理解的物联网与社交网络融合的方法和系统 |
CN104717287A (zh) * | 2015-03-07 | 2015-06-17 | 上海恩辅信息科技有限公司 | 实现物联网设备相互通信及分布式智能控制方法及系统 |
CN106547208A (zh) * | 2015-09-16 | 2017-03-29 | 北京北信源软件股份有限公司 | 一种新型智能家居控制系统及控制方法 |
CN105490872A (zh) * | 2015-11-24 | 2016-04-13 | 湖北大学 | 一种网络即时通讯数据信息实时监控系统及监控方法 |
CN106325095A (zh) * | 2016-10-25 | 2017-01-11 | 广州华睿电子科技有限公司 | 一种智能语音管家机器人系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107395584A (zh) | 2017-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111835627B (zh) | 车载网关的通信方法、车载网关及智能车辆 | |
EP3803578B1 (en) | Dynamic data transport between enterprise and business computing systems | |
CN108683574A (zh) | 一种设备控制方法、服务器和智能家居系统 | |
US20150051717A1 (en) | Methods and system for joining a smart energy device to a zigbee network | |
CN102904959B (zh) | 网络加速方法和网关 | |
CN108322437B (zh) | 用于多规约设备之间的自适应通讯方法和装置 | |
WO2015143794A1 (zh) | 制作、升级方法及服务器、终端、升级系统和存储介质 | |
EP2858326B1 (en) | Service information discovery method and device | |
WO2017143743A1 (zh) | 一种异构协议互通方法及控制器 | |
CN110691332A (zh) | 基于蓝牙广播的数据处理方法、设备及存储介质 | |
CN107925652B (zh) | 一种基于报文协议识别的传输协议固定转换方法及装置 | |
CN110769009A (zh) | 用户身份认证方法及系统 | |
US20130202018A1 (en) | Power line communcation method and power line communication system | |
CN107395584B (zh) | 基于自然语言实现设备之间通信的方法及设备 | |
CN107454066B (zh) | 基于自然语言实现设备之间通信的方法及设备 | |
CN105120454A (zh) | 信息传输方法、联网接入方法及相应的终端 | |
CN107370731B (zh) | 基于自然语言实现不同应用之间通信的方法及装置 | |
CN110768749B (zh) | 一种数据传输方法、装置及一种电力调峰系统 | |
CN107395583B (zh) | 基于自然语言实现不同应用之间通信的方法及装置 | |
CN102761780A (zh) | 智能遥控器获取媒体元数据的方法 | |
CN116437377A (zh) | 设备控制通信协议通信方法、系统、电子设备及介质 | |
CN109729154B (zh) | 一种基于控制器的简单消息订阅发布服务方法 | |
US10104530B2 (en) | Information query method, device, and system | |
CN105227413A (zh) | 无线热点信息传输方法、无线热点及设备连接方法及系统 | |
CN117478449B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |