一种对话方法、装置、设备及介质与流程

文档序号:19635054发布日期:2020-01-07 11:54阅读:189来源:国知局
一种对话方法、装置、设备及介质与流程

本申请涉及计算机技术领域,尤其涉及一种对话方法、装置、设备及介质。



背景技术:

随着人工智能时代到来,各种智能设备走进千家万户,其中搭载智能对话系统的智能设备越来越普及,如各种智能音箱,智能机器人,手机语音助手等。但是各种智能对话设备之间各自有自己的标准和限制,一般只支持其所属公司或平台的内容,而不能使用其他公司或其他平台的内容;如智能音箱产品中的腾讯叮当智能屏可以使用腾讯音乐的内容,但是不能使用喜马拉雅的音频内容;天猫精灵能够使用虾米音乐,但是无法使用腾讯音乐的内容等等,从而降低了用户的使用体验。

有鉴于此,需要更有效和更高效的人机对话方案。



技术实现要素:

本说明书实施例提供一种对话方法、装置、设备及介质,用以解决如何更有效和更高效地进行人机对话的技术问题。

为解决上述技术问题,本说明书实施例是这样实现的:

本说明书实施例提供一种对话方法,包括:

接收目标对话信息,向关联的各服务提供方发送所述目标对话信息;

接收各服务提供方对所述目标对话信息的自然语言理解结果;

根据所述自然语言理解结果确定目标服务提供方,以使终端输出与所述目标服务提供方对应的自然语言理解结果所对应的反馈信息。

本说明书实施例提供一种对话装置,包括;

信息收发模块,用于接收目标对话信息,向关联的各服务提供方发送所述目标对话信息;

结果接收模块,用于接收各服务提供方对所述目标对话信息的自然语言理解结果;

反馈模块,用于根据所述自然语言理解结果确定目标服务提供方,以使终端输出与所述目标服务提供方对应的自然语言理解结果所对应的反馈信息。

本说明书实施例提供一种对话设备,包括:

至少一个处理器;

以及,

与所述至少一个处理器通信连接的存储器;

其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:

接收目标对话信息,向关联的各服务提供方发送所述目标对话信息;

接收各服务提供方对所述目标对话信息的自然语言理解结果;

根据所述自然语言理解结果确定目标服务提供方,以使终端输出与所述目标服务提供方对应的自然语言理解结果所对应的反馈信息。

本说明书实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如下的步骤:

接收目标对话信息,向关联的各服务提供方发送所述目标对话信息;

接收各服务提供方对所述目标对话信息的自然语言理解结果;

根据所述自然语言理解结果确定目标服务提供方,以使终端输出与所述目标服务提供方对应的自然语言理解结果所对应的反馈信息。

本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:

能够整合各个服务提供方资源,扩展对话资源来源,提高对话准确度。

附图说明

为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对本说明书实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本说明书第一个实施例提供的对话方法的流程示意图。

图2是本说明书第一个实施例提供的对话过程示意图。

图3是本说明书第一个实施例中的对话方法的应用示意图。

图4是本说明书第三个实施例提供的对话装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整的描述。显然,下面所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

如图1所示,本说明书第一个实施例提供了一种对话方法。本实施例的执行主体可以是计算机或者服务器或者相应的智能系统,即执行主体多种多样的,可以根据实际情况进行设置或者变换。另外,也可以有第三方应用程序协助所述执行主体执行本实施例;例如图3所示,可以由服务器来执行本实施例中的对话方法,并且还可以在(用户所持有的)终端上安装相应的应用程序,服务器与应用程序对应,服务器与用户所持有的终端之间可以进行数据传输,通过应用程序来向用户进行页面以及信息展示或输入输出。

图2是本说明书第一个实施例提供的对话过程示意图,结合图1和图2,本实施例中的对话方法包括:

s101:接收目标对话信息,向关联的各服务提供方发送所述目标对话信息。

本实施例中,所述的目标对话信息可以是文本信息或其他类型或形式的信息,目标对话信息的来源也可以是多种多样的,本实施例对这些不作限定。例如,用户可以通过终端进行文本输入或语音输入或触控输入,若用户通过终端进行语音输入,终端可以通过语音识别技术(如自动语音识别,automaticspeechrecognition,asr)将语音转换为文本,同样终端可以将触控输入转化成文本。其中,终端包括但不限于各种智能终端设备,例如手机、智能音箱等。以智能音箱为例,音箱可以判断用户是否在说话,并通过唤醒词等确认用户是否在向音箱发送语音或指令,并可以接收用户语音。如果终端被唤醒后,检测不到用户的语音信息,可以对用户进行提示,例如提示用户重新输入语音。提示多少次可以根据需要设置。因为用户发出的语音各有不同,例如儿童吐字不清晰,音色与成人也不一样,从而可能影响语音识别准确性,为此可以增加具有针对性的语音训练语料,以增强终端的语音识别准确性。

终端可以将用户输入的文本信息或根据用户输入转换或处理后得到的文本信息发送至前述的本实施例执行主体(以下简称“执行主体”),执行主体接收的信息即为目标对话信息。本实施例中,终端可以通过web服务调用的方式,将信息发送给执行主体以及执行主体对信息的接收。另外,终端还可以将设备类型、设备id(identity)、系统版本、token认证信息中的一种或多种发送给执行主体。

可见,本实施例所述的“对话方法”可以由计算机或者服务器或者相应的智能系统执行,但与用户的“直接或面对面对话者”可以是终端,即由终端接收用户输入以及向用户反馈或输出对话结果。

本实施例中,执行主体接收到所述目标对话信息后,可以向各服务提供方发送所述的目标对话信息。这里的服务提供方为与执行主体相关联的服务提供方,用于提供相关服务,例如天气、音频、视频服务等,音频服务还可以包括歌曲、故事、电台等。不同服务提供方所提供的服务可以不同或相同或类似(例如有多个服务提供方都提供天气服务),各个服务提供方可以提供单种或多种服务。服务提供方可以是计算机或者服务器或者业务或应用系统等,执行主体可以与各服务提供方进行数据传输或数据共享。具体接入哪些服务提供方可以根据需要选择,例如可以接入现有的天气服务提供方、音乐服务提供方、视频服务提供方等;特别的,可以自行构建一个或多个服务提供方来提供所需的相关服务,例如天气服务、音、视频服务等。

在本实施例中,在接收到目标对话信息后,还可以判断所接收的目标对话信息是否符合预设条件(例如目标对话信息是否为空);若目标对话信息符合预设条件,则向各服务提供方发送目标对话信息;和/或,若目标对话信息不符合预设条件(例如目标对话信息为空),则不向各服务提供方发送目标对话信息,并且还可以使终端发出提示,这属于本实施例的容错机制。预设条件可以根据实际需要确定,本实施例对此不作限定。

s103:接收各服务提供方对所述目标对话信息的自然语言理解结果。

本实施例中,各个服务提供方具有自然语言理解(nlu:naturallanguageunderstanding)功能,故可以识别目标对话信息的语义,从而确定针对目标对话信息的自然语言理解结果(以下简称“理解结果”)。nlu包括domain(领域),intention(意图)和slot(槽位)。nlu负责对目标对话信息进行领域/意图分类及槽填充。其中领域(domain)和意图(intention)分类是为了明白用户的对话所处领域及意图,方便后续调用相应的模型去识别;另外,还需要确定槽位,即槽填充。比如“查询明天北京的天气”,domain为weather,intention为search_weather,slot有两个值,分别是date(日期)=明天,city(城市)=北京;再比如“听一首歌”,根据领域/意图分类,判断用户的意图是听歌;还需要识别歌曲的名称等等,歌曲名称就可以作为槽位。domain、intention的识别可以利用深度学习中的分类技术,slot提取可以采用lstm+crf技术。例如某个服务提供方的理解结果为vendor:nlua;intent:music;musicurl:http://www.a.com/xxx.mp3;respone:请听这个音乐,这表示在服务提供方a返回的nlu中,intent是music,即该服务提供方返回的的技能是music,是歌曲类的技能,播放的歌曲资源位于http://www.a.com/xxx.mp3

本实施例中,执行主体可以采用配置文件来接入各个服务提供方的nlu。配置文件示例如下:

(1)版本描述信息:

一个nlu版本可以配置多个技能(即功能或服务)。比如3.0nlu版本支持1.0,1.1甚至更多的技能配置版本,默认值开启一个(default:true/false)控制:

(2)技能配置信息:

support_device—指定支持的硬件设备。

device_skills_selector—指定服务提供方。

render_format—输出结果格式:支持yaml,json格式。

skills_std_mapping—将多个服务提供方的类似技能放在一起。

下面示例中有来自三方的技能,分别是服务提供方a(记作vendora)、服务提供方b(记作vendorb)和服务提供方c(记作vendorc)。不同服务提供方可以提供相同或者类似的技能,比如vendora和vendorb都有成语接龙技能,则:

版本配置文件能够控制多个版本同时提供服务,由调用方(即执行主体)进行功能选择;技能配置文件能够配置某个版本的技能配置信息,包括服务提供方的优先级,技能开关等。各服务提供方的技能均可以通过配置文件立即生效,有利于降低代码量和逻辑的复杂性。需要说明的是,各个服务提供方的技能优先级可以根据需要配置,包括各个服务提供方的优先级以及各种技能的优先级,例如可以配置服务提供方a的技能的优先级高于服务提供方b的技能的优先级,还可以配置音频类技能的优先级高于闲聊类技能的优先级。

本实施例中,可以并行调用各个服务提供方的nlu功能,即接收各服务提供方的理解结果,理解结果包括但不限于domain、intention、slot以及服务提供方的回复。具体的,可以读取配置文件,通过get或post方式调用各个服务提供方的web服务,进而接收服务提供方的理解结果。java和python等通用语言都提供相关的包实现功能调用。具体的,可以由服务提供方提供web服务,并提供相关接口信息,接口信息可以包括:调用接口地址,接口参数,技术文档和密钥。根据这些信息,执行主体可以发起服务调用,获取各服务提供方的理解结果。

对任一服务提供方,若对该服务提供方的理解结果接收不成功,且符合终止条件(例如对该服务提供方的理解结果已调用预定次仍未调用成功和/或对该服务提供方的理解结果调用耗时达到预定时长后仍未调用成功),则停止接收该服务提供方的理解结果;

和/或,

对任一服务提供方,若对该服务提供方的理解结果接收不成功,且不符合终止条件(例如对该服务提供方的理解结果调用未达到预定次数和/或未达到预定耗时),则重复请求接收该服务提供方的理解结果。两次请求接收理解结果之间可以间隔预设时长

停止接收服务提供方的理解结果后,服务提供方返回的理解结果可以作丢弃处理。另外,不同服务提供方对应的上述“预定时长”可以相同或不同。

s105:根据所述自然语言理解结果确定目标服务提供方,以使终端输出与所述目标服务提供方对应的自然语言理解结果所对应的反馈信息。

在接收服务提供方的理解结果后,可以根据理解结果确定目标服务提供方。本实施例中,根据所述理解结果确定目标服务提供方包括:

确定所述理解结果是否符合直选规则;

若有理解结果符合直选规则,则将符合直选规则的理解结果对应的服务提供方作为目标服务提供方;

若无理解结果符合直选规则,则对理解结果进行技能选举,根据技能选举结果确定候选服务提供方,根据所述候选服务提供方的优先级确定目标服务提供方。

以下对根据所述理解结果确定目标服务提供方进行具体说明:

确定所述理解结果是否符合直选规则;本实施例中,直选规则可以称为特殊路由,通过该规则可以选择目标服务提供方。特殊路由可以通过配置文件special_di_route节点中配置。

若无理解结果符合直选规则(即无理解结果符合特殊路由),则对理解结果进行技能选举,根据技能选举结果确定候选服务提供方,根据所述候选服务提供方的优先级确定目标服务提供方。具体的,统计domain和intention的服务提供方数量(不妨将domain和intention记为d/i)。由于d/i对应着技能,将对应相同或相似技能的d/i统计在一起,这样会出现一个或多个d/i组,每个组对应着一种技能。根据少数服从多数的选举原则,将含有最多数量的d/i的组作为目标组;这样的目标组可能有一个或多个。

若目标组只有一个,则比较目标组内的各个d/i所对应的服务提供方的优先级,优先级最高的服务提供方即为目标vendor;若返回的所有d/i都不含有特殊路由,且目标组有多个,则可以比较目标组的各个服务提供方的通用vendor优先级,即比较所有目标组的各个服务提供方的通用优先级,通用vendor优先级最高的为目标vendor。通用vendor优先级可以在配置文件的“general_vendor_priority”节点设置。

若有理解结果符合直选规则(即有理解结果符合特殊路由),则将符合特殊路由的理解结果所对应的服务提供方作为目标服务提供方。对于同样的目标对话信息和服务提供方等,特殊路由下选择的目标服务提供方与无特殊路由下选择的目标服务提供方可能不同。由于无特殊路由情况下选择的目标服务提供方可能不是想要的服务提供方,这样就可以利用特殊路由强制选择目标服务提供方。可见,符合直选规则的理解结果对应的服务提供方的优先级高于其他理解结果的优先级。

在本实施例中,在接收服务提供方的理解结果后,可以对理解结果进行标准化。具体的,可以将接收到的各个服务提供方的d/i映射为配置文件中的值(例如映射为配置文件skills_std_mapping节点中的std_domain和std_intention值),即完成d/i标准化。由于对于相同或者类似的技能,不同的服务提供方返回的domian和intention具体值可能不同,比如歌曲类的技能,有的服务提供方返回music,有的服务提供方返回song,那么在进行标准化操作后,技能music和技能song可以都标准化为std_audio,更易于对技能进行归类或分组。这种情况下,根据“所述理解结果确定目标服务提供方”中所使用的可以是标准化后的d/i,即“std_domain”和“std_intention”。

在确定目标服务提供方后,就可以将接收的目标服务提供方的理解结果作为目标理解结果,然后可以向终端发送指令,以使终端输出与所述目标服务提供方对应的自然语言理解结果所对应的反馈信息。

本实施例中,在确定目标服务提供方后,可以确定目标服务提供方对应的自然语言理解结果所对应的技能是否开启;

若开启,则使终端输出与所述目标服务提供方对应的自然语言理解结果所对应的反馈信息;

若未开启,则可以向终端发送指令,使终端进行提示,或者可以使终端进行闲聊兜底。

服务提供方的技能开启状态可以灵活配置,不同的对话场景或者系统可以按需配置不同的技能,例如有的场景下音频技能开启、闲聊技能关闭;有的场景下音频技能关闭,闲聊技能开启,从而实现差异化。

本实施例中,终端可以将目标结果进行自然语言生成(naturallanguagegeneration,nlg),从而转换成文本输出给用户,也可以利用tts(texttospeech)转化成语音输出给用户。

本实施例中,对话可以是按轮进行的,即用户向终端输入到终端向用户输出可以看作是一轮对话。对话中的技能包括单轮技能和多轮技能,例如,成语接龙是多轮技能,播放歌曲是单轮技能。本实施例中,可以根据目标结果判断当前对话(或当前轮)是否开启多轮对话流程;

若不开启多轮对话流程,则执行单轮对话流程,即执行前述的过程;

若开启多轮对话流程,则当前轮(不妨称为“开启轮”)以及后续轮都按照多轮对话处理,直至某一轮结束多轮对话流程。具体的,若某轮在接收目标对话信息后,根据目标服务提供方(不妨记为服务提供方x)的目标结果判断符合多轮对话开启条件,则开启多轮对话流程,该轮以及后续轮都把“开启轮所确定的目标服务提供方”作为目标服务提供方,即该轮以及后续轮都将服务提供方x作为目标服务提供方,直至某一轮结束多轮对话流程。由于多轮对话是根据服务提供方x的理解结果开启的,而多轮对话具有延续性,那么后续都采用服务提供方x的理解结果准确性更高。

是否开启或结束多轮对话流程可以设置条件,比如设置关键词,当目标结果中出现某个或某些关键词时开启多轮对话流程,当目标结果中出现某个或某些关键词时结束多轮对话流程。

例如,用户在某一轮说出“开始成语接龙”,在经过前述的s101、s103、s105后确定服务提供方y为目标服务提供方,服务提供方y的理解结果为目标结果。若目标结果中包含关键词“成语接龙”,该关键词符合多轮对话开启条件,则开启多轮对话流程,该轮以及后续轮都将服务提供方y作为目标服务提供方。若后续某轮(可以是开启轮的下一轮)中用户说出“结束成语接龙”(该轮仍都将服务提供方y作为目标服务提供方),服务提供方y返回的理解结果中包含关键词“结束”,该关键词符合多轮对话结束条件,则结束多轮对话流程,后续轮仍按照前述的s101、s103、s105处理。

本实施例中,每次(或每轮)对话结束后,将使终端自动开启监听状态,避免用户需要再次唤醒终端才能进行下一轮对话,即实现多轮免唤醒对话,唤醒一次,可以对话多次,更加贴近真实的人类交互,提高用户体验。

本实施例中,通过接入各个服务提供方,能够整个各个服务提供方资源(包括自行构建的服务提供方),能够扩展对话资源来源,提高对话准确度效率;通过优先级和直选规则来确定目标服务提供方以及目标结果,既扩展了对话资源,又能够输出最优对话反馈信息,能够进一步提高对话准确度和效率;通过整合各个服务提供方的nlu功能,并结合深度学习技术,能够进一步提高对话准确度和效率;各个服务提供方的技能计入是通过配置文件的形式,生效快,能够减少代码量和逻辑复杂度;支持多轮免唤醒对话,提高对话效率;具有容错机制,进一步提高对话效率。

本说明书第二个实施例是第一个实施例的一种应用示例,

本实施例中,用户对终端说话,例如用户说“我要听小红帽”,终端接收用户的语音信息,利用asr将语音信息转换成文本信息“我要听小红帽”;

终端将上述文本信息通过web服务调用方式,发送给服务器;

服务器接收文本信息,接收的文本信息即为目标对话信息;终端还可以将设备类型、设备id、系统版本、token认证信息等信息发送给服务器,服务器对接收到的web服务调用请求,进行安全认证;

服务器判断目标对话信息是否为空;若是,则进行容错处理,不将目标对话信息发送给服务提供方,并向终端发送指令,使终端进行提示,例如“请再说一次”;若不为空,则将目标对话信息发送给各服务提供方;

调用各个服务提供方的nlu服务,接收服务提供方返回的理解结果。假设有四个服务提供方,分别为vendora、vendorb、vendorc、vendord,返回的理解结果分别如下:

(1)vendor:nlua;intent:play_music;music_url:

http://www.a.com/little_red_hat.mp3;respone:开始播放;

(2)vendor:nlub;intent:song;song_url:

http://www.b.com/little_red_hat.mp3,respone:请听这个经典故事;

(3)vendor:nluc;intent:chat;response:是小红帽和大灰狼的故事;

(4)vendor:me;intent:audio;url:

http://www.d.com/little_red_hat.mp3,respone:宝宝请听小红帽;

将上述理解结果进行标准化,audio、play_music、song都标准化为std_audio;chat标准化为std_chat;

若这些理解结果都不符合直选规则,则进行选举:上述四个理解结果中,有三个为std_audio,一个为std_chat,std_audio这一组为目标组,所以确定为点播音频技能;

在三个均为std_audio技能的理解结果所对应的的服务提供方中,假设优先级为vendora<vendorb<vendord,故选择vendord为目标服务提供方;

若vendord的std_audio技能开启,则服务器向终端发送指令,触发action动作,使终端播放response,即播放“宝宝请听小红帽”;然后终端播放http://www.d.com/little_red_hat.mp3这个音频,response和http://www.d.com/little_red_hat.mp3这个音频都可以看作反馈信息。

假设四个理解结果中两个是std_audio,两个是std_chat,则可以比较通用vendor优先级决定目标服务提供方。

如图4所示,本说明书第三个实施例提供了一种对话装置,包括:

信息收发模块202,用于接收目标对话信息,向关联的各服务提供方发送所述目标对话信息;

结果接收模块204,用于接收各服务提供方对所述目标对话信息的自然语言理解结果;

反馈模块206,用于根据所述自然语言理解结果确定目标服务提供方,以使终端输出与所述目标服务提供方对应的自然语言理解结果所对应的反馈信息。

可选的,所述目标对话信息由终端对用户输入的语音进行语音识别得到。

可选的,所述信息收发模块202通过web调用接收所述目标对话信息。

可选的,所述信息收发模块202还用于:

接收目标对话信息后,判断所述目标对话信息是否为空;

若否,则向关联的各服务提供方发送所述目标对话信息。

可选的,所述结果接收模块204还用于:

对任一服务提供方,若对该服务提供方的自然语言理解结果接收不成功,且符合终止条件,则停止接收该服务提供方的自然语言理解结果;

和/或,

对任一服务提供方,若对该服务提供方的自然语言理解结果接收不成功,且不符合终止条件,则重复请求接收该服务提供方的自然语言理解结果。

可选的,根据所述自然语言理解结果确定目标服务提供方包括:

确定所述自然语言理解结果是否符合直选规则;

若有自然语言理解结果符合直选规则,则将符合直选规则的自然语言理解结果对应的服务提供方作为目标服务提供方;

若无自然语言理解结果符合直选规则,则对自然语言理解结果进行技能选举,根据技能选举结果确定候选服务提供方,根据所述候选服务提供方的优先级确定目标服务提供方。

可选的,所述反馈模块206还用于:

根据所述自然语言理解结果确定目标服务提供方之前,对接收的自然语言理解结果进行标准化,根据标准化后的自然语言理解结果确定目标服务提供方。

可选的,所述反馈模块206还用于:

确定目标服务提供方对应的自然语言理解结果所对应的技能是否开启;

若是,则使终端输出与所述目标服务提供方对应的自然语言理解结果所对应的反馈信息。

可选的,所述反馈模块206还用于:

若上述技能未开启,则使终端进行提示。

可选的,所述反馈模块206还用于:

根据与所述目标服务提供方对应的自然语言理解结果确定是否开启或结束多轮对话;

自多轮对话开启到多轮对话结束,所述反馈模块206使用同一服务提供方作为目标服务提供方。

本说明书第四个实施例提供了一种对话设备,包括:

至少一个处理器;

以及,

与所述至少一个处理器通信连接的存储器;

其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:

接收目标对话信息,向关联的各服务提供方发送所述目标对话信息;

接收各服务提供方对所述目标对话信息的自然语言理解结果;

根据所述自然语言理解结果确定目标服务提供方,以使终端输出与所述目标服务提供方对应的自然语言理解结果所对应的反馈信息。

本说明书第五个实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如下的步骤:

接收目标对话信息,向关联的各服务提供方发送所述目标对话信息;

接收各服务提供方对所述目标对话信息的自然语言理解结果;

根据所述自然语言理解结果确定目标服务提供方,以使终端输出与所述目标服务提供方对应的自然语言理解结果所对应的反馈信息。

上述各实施例可以结合使用。

上述对本说明书特定实施例进行了描述,其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,附图中描绘的过程不一定必须按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书实施例提供的装置、设备、非易失性计算机可读存储介质与方法是对应的,因此,装置、设备、非易失性计算机存储介质也具有与对应方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述对应装置、设备、非易失性计算机存储介质的有益技术效果。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescrip地址tionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescrip地址tionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescrip地址tionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescrip地址tionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescrip地址tionlanguage)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchip地址pic18f26k20以及siliconelabsc8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本说明书实施例可提供为方法、系统、或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本说明书实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1