掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本申请涉及计算机技术领域,尤其涉及一种人机交互方法、装置、设备及系统。

背景技术

随着计算机网络技术以及无线通信网络技术的不断发展,终端的应用越来越广泛,用户通过终端可以获得信息。

通常,用户向终端进行输入,终端根据用户输入确定出用户最终的输入词,并将输入词发送至服务器,以搜索系统为例,用户可以在搜索界面中依次输入文字“权力”、“的”、“游戏”以及输入对于搜索按钮的点击操作之后,终端可以确定出最终的输入词为“权力的游戏”。服务器根据输入词进行搜索匹配,得到与匹配结果,并将匹配结果返回给终端,由终端根据匹配结果向用户展示,从而使得用户能够获知针对输入词的返回结果。

然而,上述人机交互方法存在用户获得返回结果的等待时长较长的问题。

发明内容

本申请实施例提供一种人机交互方法、装置、设备及系统,用以解决现有技术中用户获得返回结果的等待时长较长的问题。

第一方面,本申请实施例提供一种人机交互方法,应用于终端,包括:

在用户输入过程中,获取与当前输入词对应的至少一个预测词及其匹配结果;

在获取所述用户的最终输入词后,根据所述最终输入词在所述至少一个预测词中进行匹配;

在预测词命中所述最终输入词的情况下,根据目标预测词的匹配结果向所述用户进行展示,所述目标预测词为命中所述最终输入词的预测词。

第二方面,本申请实施例提供一种人机交互方法,应用于服务器,包括:

接收终端发送的用户在输入过程中的当前输入词;

将所述当前输入词输入预测模型中,经所述预测模型进行预测得到所述当前输入词对应的至少一个预测词;所述至少一个预测词用于所述终端在获取所述用户的最终输入词之前获取匹配结果,并在预测词命中所述最终输入词的情况下,根据目标预测词的匹配结果向所述用户进行展示,所述目标预测词为命中所述最终输入词的预测词;

向所述终端发送结果信息,所述结果信息包括所述至少一个预测词。

第三方面,本申请实施例提供一种人机交互装置,包括:

获取模块,用于在用户输入过程中,获取与当前输入词对应的至少一个预测词及其匹配结果;

匹配模块,用于在获取所述用户的最终输入词后,根据所述最终输入词在所述至少一个预测词中进行匹配;

展示模块,用于在预测词命中所述最终输入词的情况下,根据目标预测词的匹配结果向所述用户进行展示,所述目标预测词为命中所述最终输入词的预测词。

第四方面,本申请实施例提供一种人机交互装置,包括:

接收模块,用于接收终端在用户输入过程中发送的所述用户的当前输入词;

预测模块,用于将所述当前输入词输入预测模型中,经所述预测模型进行预测得到所述当前输入词对应的至少一个预测词;所述至少一个预测词用于所述终端在获取所述用户的最终输入词之前获取匹配结果,并在预测词命中所述最终输入词的情况下,根据目标预测词的匹配结果向所述用户进行展示,所述目标预测词为命中所述最终输入词的预测词;

发送模块,用于向所述终端发送结果信息,所述结果信息包括所述至少一个预测词。

第三方面,本申请实施例提供一种终端,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现第一方面任一项所述的方法。

第四方面,本申请实施例提供一种服务器,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如第二方面任一项所述的方法。

第五方面,本申请实施例提供一种人机交互系统,包括:第三方面任一项所述的终端以及第四方面任一项所述的服务器。

本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包含至少一段代码,所述至少一段代码可由计算机执行,以控制所述计算机执行如第一方面任一项所述的人机交互方法。

本申请实施例还提供一种计算机程序,当所述计算机程序被计算机执行时,用于实现如第一方面任一项所述的人机交互方法。

本申请实施例提供的人机交互方法、装置、设备及系统,通过在用户输入过程中,获取与当前输入词对应的至少一个预测词及其匹配结果;在获取用户的最终输入词后,根据最终输入词在至少一个预测词中进行匹配;在预测词命中最终输入词的情况下,根据命中最终输入词的目标预测词的匹配结果向用户进行展示,实现了提前从服务器获取针对用户当前输入词对应的预测词的匹配结果,使得在预测词命中用户的最终输入词的情况下,能够直接根据预测词的匹配结果进行展示,使得用户无需等待终端将用户的最终输入词发送至服务器,服务器根据最终输入词确定出匹配结果,以及服务器将匹配结果返回给终端的过程,减小了用户的等待时长,提高了用户的使用体验。

附图说明

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

图1-图2为本申请实施例的应用场景示意图;

图3为本申请一实施例提供的人机交互方法的流程示意图;

图4为本申请另一实施例提供的人机交互方法的流程示意图;

图5-图6为本申请一实施例提供的用户输入搜索操作的示意图;

图7为本申请又一实施例提供的人机交互方法的流程示意图;

图8为本申请一实施例提供的人机交互方法的流程框图;

图9为本申请又一实施例提供的人机交互方法的流程示意图;

图10为本申请另一实施例提供的人机交互方法的流程框图;

图11为本申请一实施例提供的人机交互装置的结构示意图;

图12为本申请一实施例提供的终端的结构示意图;

图13为本申请另一实施例提供的人机交互装置的结构示意图;

图14为本申请一实施例提供的服务器的结构示意图。

具体实施方式

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

在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。

应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。

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

另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。

为了方便本领域技术人员理解本申请实施例提供的技术方案,下面先对技术方案实现的技术环境进行说明。

相关技术中比较常用的人机交互方法,一般是在终端确定出用户最终的输入词之后,将输入词发送至服务器,接收服务器返回的匹配结果,并根据匹配结果向用户展示,因此从用户输入完成到用户能够获得返回结果之间,需要经过终端将输入词发送至服务器,服务器根据输入词确定出匹配结果,服务器将匹配结果返回给终端等一列的处理,等待时长较长,因此相关技术中亟需一种能够减小用户等待时长的人机交互方法。

基于类似于上文所述的实际技术需求,本申请提供的人机交互方法可以利用技术化的手段减少用户的等待时长。

下面通过两个示例性的业务场景具体说明本申请各个实施例提供的人机交互方法。

场景一

在一个场景中,如图1所示,终端11在用户输入过程中,获取用户的当前输入词,图1中终端11仅是示例性的,还可以包括平板电脑、台式电脑、智能手机、智能音响等其他多种形式终端,本申请在此不做限制。用户输入的可以是语音或文字等,可以理解的是,对于用户输入的语音可以将其转换成文字,从而得到当前输入词。以用户输入文字为例,例如,当用户输入“权力”时,终端可以获取当前输入词“权力”,当用户进一步输入“的”时,终端可以获取当前输入词“权力的”。

如图1所示,终端11在获取当前输入词之后,可以将所述当前输入词发送给服务器12,服务器12可以包括云服务器、分布式服务器等任何形式的数据处理服务器。例如,终端11在获取当前输入词“权力”之后,可以将“权力”发送给服务器12。

服务器12接收到所述当前输入词之后,如图1所示,服务器12可以将所述当前输入词输入预测模型中,经预测模型预测得到所述当前输入词对应的预测词。例如,输入词“权力”输入预测模型中,经预测模型可以预测得到预测词“权力的游戏”。服务器12得到预测词之后,如图1所示,服务器12可以将预测词返回给终端11。

终端11在得到预测词之后,如图1所示,终端11可以向服务器12请求预测词的匹配结果,服务器12在接收到终端11的请求之后,可以从数据库13中获取与所述预测词相关的数据,并对数据经过算法排序,以得到匹配结果并返回给终端。

需要说明的是,图1中以进行预测的服务器和确定匹配结果的服务器为同一服务器为例,在其他场景下,两者也可以为不同的服务器,本申请对此不作限定。

需要说明的是,对于不同的使用场景,匹配结果的具体内容可以不同。例如对于搜索系统,当前输入词可以为用户输入的部分搜索词,匹配结果可以包括页面文件,可以为网页页面的页面文件或APP页面的页面文件,例如超文本标记语言(Hypertext MarkupLanguage,HTML)文件。又例如,对于物联网(The Internet of Things,IOT)场景中的智能音响,当前输入词可以为用户语音输入的部分歌名,匹配结果可以包括歌曲文件。

之后,在所述用户输入结束后,终端11可以根据所述用户的最终输入词在预测词中进行匹配,若预测词命中最终输入词,则终端11可以根据命中最终输入词的目标预测词的匹配结果向所述用户进行展示,以便所述用户能够获得搜索结果。例如,当用户的最终输入词为“权力的游戏”时,可以直接根据之前获得的“权力的游戏”的匹配结果向用户进行展示,使得用户无需等待终端将用户的最终输入词发送至服务器,服务器根据最终输入词确定出匹配结果,服务器将匹配结果返回给终端的过程,减小了用户的等待时长,提高了用户的使用体验。

场景二

在另一个场景中,如图2所示,终端11在用户输入过程中,获取用户的当前输入词,终端11在获取与当前输入词之后,可以将所述当前输入词输入本地的预测模型中,经预测模型预测得到所述当前输入词对应的预测词。终端在得到预测词之后,如图1所示,可以从服务器12获得预测词的匹配结果。之后,在所述用户输入结束后,终端11可以根据所述用户的最终输入词在预测词中进行匹配,若预测词命中最终输入词,则终端11可以根据命中最终输入词的目标预测词的匹配结果向所述用户进行展示,以便所述用户能够获得搜索结果。

本场景与图1所示场景一的主要区别在于,由终端11本地进行搜索词的预测,对终端11的算力要求较高。

需要说明的是,图1和图2中通信连接的方式仅为举例。

下面结合附图,对本申请的一些实施例作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

图3为本申请一实施例提供的人机交互方法的流程示意图,本实施例的执行主体可以为图1、图2中的终端,如图3所示,本实施例的方法可以包括:

步骤301,在用户输入过程中,获取与当前输入词对应的至少一个预测词及其匹配结果;

步骤302,在获取所述用户的最终输入词后,根据所述最终输入词在所述至少一个预测词中进行匹配;

步骤303,在预测词命中所述最终输入词的情况下,根据目标预测词的匹配结果向所述用户进行展示,所述目标预测词为命中所述最终输入词的预测词。

需要说明的是,为了便于说明,以下主要以搜索系统为例进行具体说明。

本申请实施例中,在用户输入过程中,终端可以获取用户的当前输入词。例如,用户可以在终端显示的搜索界面的文本框中输入文字,终端可以通过文本框获取到用户的当前输入词。

在终端获取到用户的当前输入词之后,可以确定所述当前输入词对应的预测词,所述预测词是指根据所述当前输入词预测得到的搜索词。可选的,可以由服务器确定预测词并将预测词发送至终端,以便终端能够得到预测词,如图4所述,在步骤401中,终端将所述用户的当前输入词发送给服务器,在步骤402中,服务器将所述当前输入词输入预测模型中,经所述预测模型进行预测得到所述当前输入词对应的至少一个预测词,之后,在步骤403中,服务器向终端发送结果信息,所述结果信息包括所述至少一个预测词。其中,预测模型例如可以为基于梯度提升迭代决策树(Gradient Boosting Decision Tree,GBDT)模型、Wide&deep模型等,当然,在其他实施例中预测模型还可以为其他类型模型,本申请对此不做限定。

本申请实施例中,所述预测模型可以包括输入词和预测词的对应关系,基于所述预测模型可以得到用户的当前输入词对应的预测词。预测模型可以利用多个样本输入词以及各样本输入词的样本标签训练得到。一个样本输入词的样本标签用于表征该样本输入词是正样本,还是负样本。样本输入词及其样本标签可以基于海量的历史搜索数据分析获得。例如,通过海量的历史搜索数据分析出某个用户在输入词为A的状态下点击搜索按钮,则将样本输入词A作为一条正样本;某个用户在输入词为A的状态下没有点击搜索按钮而是继续输入,则将样本输入词A作为一条负样本;某个用户在输入词为AB的状态下点击搜索按钮,则将样本输入词AB作为一条正样本;某个用户在AB状态下没有点击搜索按钮而是继续输入,则将样本输入词AB作为一条负样本。通过对大量用户的海量历史数据进行上述分析,可以得到很多条样本,利用其可以训练得到所述预测模型。

本申请实施例中,在获得所述多个样本输入词之后,可以构建预测模型,该预测模型中设置有训练参数。然后,可以将所述多个样本输入词分别输入至该预测模型中,生成预测结果。在一个实施例中,所述预测结果可以包括输入的样本输入词分别与多个指定词之间的关联关系。最后,可以基于所述预测结果与所述样本输入数据的样本标签对应的期望结果之间的差异,对所述训练参数进行迭代调整,直至所述差异满足预设要求。

本申请实施例中,可选的,为了提高预测的准确度,在进行预测时可以考虑用户的个性化。所述预测模型可以包括输入词+用户属性数据和预测词的对应关系,基于此,服务器可以将所述当前输入词以及所述用户的用户属性数据一起输入预测模型中,经所述预测模型进行预测得到所述当前输入词对应的预测词。所述用户的用户属性数据例如可以基于所述用户的ID查询获得,用户属性数据例如可以为年龄、性别、职业、爱好等,当然,在其他实施例中,用户属性数据还可以为其他类型数据。相应的,在对预测模型进行训练时,一条样本中除了包括样本输入词还可以包括用户属性数据,具体训练方式可以参考前述内容,在此不再赘述。

在一个实施例中,服务器将所述当前输入词输入预测模型中,经所述预测模型进行预测得到所述当前输入词对应的预测词,具体可以包括:将所述当前输入词输入预测模型中,经所述预测模型预测得到所述当前输入词分别与多个指定词之间的关联关系;根据所述关联关系,确定所述多个指定词中与所述当前输入词对应的预测词。例如,将输入词“权力”输入预测模型中,经预测模型预测可以得到“权力”分别与“权力的游戏”、“权力与选择”、“权力的含义”、“权力与权利”的关联关系,并根据该关联关系确定预测词。关联关系可以表示关联程度的大小,在一个实施例中,可以根据所述关联关系,从所述多个指定词中选择与所述当前输入词的关联程度最大的一个指定词作为所述当前输入词对应的预测词。例如,假设输入词“权力”与“权力的游戏”的关联关系为0.5、“权力”与“权力与选择”的关联关系为0.3、“权力”与“权力的含义”的关联关系为0.1、“权力”与“权力与权利”的关联关系为0.1,则可以确定输入词“权力”对应的预测词为“权力的游戏”。

在另一个实施例中,所述根据关联关系,确定所述多个指定词中与所述当前输入词对应的预测词,具体可以包括:确定是否满足预设条件;若满足所述预设条件,则根据所述关联关系,确定所述多个指定词中的M个指定词作为所述当前输入词对应的预测词,所述M个指定词与所述当前输入词的关联程度均大于所述多个指定词中其他指定词与所述当前输入词的关联程度,M为大于1的整数。其中,满足预设条件可以表示针对所述当前输入词需要确定出多个预测词,不满足预设条件可以表示针对所述当前输入词需要确定出一个预测词。例如,假设M等于2,输入词“权力”与“权力的游戏”的关联关系为0.5、“权力”与“权力与选择”的关联关系为0.3、“权力”与“权力的含义”的关联关系为0.1、“权力”与“权力与权利”的关联关系为0.1,则可以确定输入词对应的预测词为“权力的游戏”和“权力与选择”。

预设条件可以根据需求灵活实现,示例性的,预设条件可以包括:所述终端当前的接入网络为无线保真(Wireless Fidelity,WiFi)网络;和/或,所述预测模型针对所述当前输入词的预测准确度小于准确度阈值。其中,在终端当前的接入网络为WiFi网络时,可以表示终端对于流量的消耗不敏感,此时针对所述当前输入词可以预测出多个预测词。在预测模型针对所述当前输入词的预测准确度小于准确度阈值时,可以表示预测模型对所述当前输入词的预测准确度较低,此时为了提高预测词的命中率,针对所述当前输入词可以预测出多个预测词。其中,预测模型针对所述当前输入词的预测准确度可以通过线上统计获得。

本申请实施例中,M可以为固定值,例如M可以等于2,或者,M可以可变值,示例性的,M可以与所述预测模型针对所述当前输入词的预测准确度负相关,即预测模型针对所述当前输入词的预测准确度越高M越小,预测模型针对所述当前输入词的预测准确度越低M越大,从而既能确保预测的准确度,又能尽量节省开销。

进一步的,若不满足所述预设条件,则可以根据关联关系,确定所述多个指定词中与所述当前输入词关联程度最大的一个指定词作为所述当前输入词对应的预测词。

本申请实施例中,可替换的,可以由终端利用所述预测模型预测得到所述当前输入词对应的预测词,其具体实现方式与服务器实现预测类似,在此不再赘述。

需要说明的是,在用户输入过程中,终端可以多次获取与当前输入词对应的预测词。例如,当用户的当前输入词为“权力”时,终端可以获取“权力”对应的预测词,当用户在“权力”的基础上进一步输入“的”时,可以获得“权力的”对应的预测词,其中针对“权力”的预测可以理解为第一次预测,针对“权力的”的预测可以理解为第二次预测,依次类推。可以理解的是,在预测模型的准确度较高的情况下,第一次预测与第二次预测得到的预测词可以相同。

本申请实施例中,在用户输入过程中,终端在获得所述当前输入词对应的至少一个预测词之后,可以从服务器获取所述至少一个预测词的匹配结果。在一个实施例中,终端可以将向服务器发送统一资源定位符(Uniform Resource Locator,URL)请求,该URL请求中的参数中包括所述预测词,服务器在接收到URL请求后,可以根据URL请求确定与所述预测词匹配的匹配结果,并返回给终端。以预测词为“权力的游戏”为例,URL请求例如可以为“https://www.sm.cn/?q=权力的游戏”。

可选的,URL可以由终端通过对服务器的地址与所述预测词拼接获得,或者,前述结果信息中可以包括URL,例如结果信息可以包括“https://www.sm.cn/?q=权力的游戏”,以便终端可以从结果信息中提取URL请求并发送,有利于简化终端的实现。在一个实例中,所述结果信息除了包括所述URL还可以包括预测词,以避免终端需要解析URL得到预测词,基于此,结果信息例如可以包括:{query:“权力的游戏”,url:“https://www.sm.cn/?q=权力的游戏”}。

本申请实施例中,可选的,所述结果信息中还可以包括预测标识,所述预测标识可以区分不同用户以及同一用户不同次打开搜索页面的输入过程,当然,预设标识还可以做其他粒度的区分。预测标识可以作为URL的参数,基于此结果信息例如可以为{query:“权力的游戏”,url:“https://www.sm.cn/?q=权力的游戏&tid=12345”},其中12345即为预测标识。类似的,结果信息中可以单独包括预测标识,基于此,结果信息例如可以为{query:“权力的游戏”,url:“https://www.sm.cn/?q=权力的游戏&tid=12345”tid:“12345”}。通过预测标识,使得服务器能够基于预测标识进行数据收集,具体内容参见后续描述。

在一个实施例中,服务器在接收到URL请求之后,可以根据预测词从数据库获取需要展示的数据,将其填充到页面模版上得到页面文件并返回给终端,此时,匹配结果即为页面文件。当然,匹配结果还可以为其他形式,本申请中主要以匹配结果为页面文件为例进行说明。

本申请实施例中,在终端从服务器获取匹配结果之后,终端可以响应所述用户发出的目标操作,确定所述用户的最终输入词,对于搜索系统所述目标操作具体可以为搜索操作。示例性的,终端可以采用如下两种方式中的任意一种确定用户发出目标操作。以目标操作为搜索操作为例,方式一,如图5所示,在检测到目标按钮(例如,搜索按钮)被触发(例如被点击)时,可以确定用户发出目标操作,并进一步确定所述用户在发出目标操作之前的输入词为所述最终输入词,以图5为例,最终输入词即为“权力的游戏”。方式二,如图6所示,在检测到向所述用户提示的联想词被触发(例如被点击)时,确定所述用户发出目标操作,并进一步确定所述被触发的联想词为所述最终输入词,以图6为例,最终输入词即为“权力的游戏”其中,联想词可以由终端从服务器获取并展示给用户,以减少用户的输入,对于联想词的确定方式,本申请不做限定。

本申请实施例中,在获取所述用户的最终输入词之后,终端可以根据所述最终输入词在所述至少一个预测词中进行匹配,以确定预测词是否命中最终输入词。当所述至少一个预测词中包括所述最终输入词时,可以表示预测词命中所述最终输入词,当所述至少一个预测词中不包括所述最终输入词时,可以表示预测词未命中所述最终输入词。

本申请实施例中,在预测词命中所述最终输入词情况下,可以直接根据命中所述最终输入词的预测词(即目标预测词)的匹配结果向所述用户进行展示,以便所述用户能够获知与其最终输入词对应的搜索结果。只有在所述预测词未命中所述最终输入词的情况下,需要从服务器获取所述最终输入词的匹配结果,并根据所述最终输入词的匹配结果向所述用户进行展示。

本申请实施例中,当所述匹配结果包括页面文件时,所述在预测词命中所述最终输入词的情况下,根据目标预测词的匹配结果向所述用户进行展示,具体可以包括:在预测词命中所述最终输入词的情况下,根据所述目标搜索词的匹配结果加载、渲染并显示页面。

或者,为了进一步减少用户等待时长,当所述匹配结果包括页面文件时,终端在获得匹配结果之后,并在获得所述最终输入词之前,可以先根据所述匹配结果进行页面预加载。预加载是指后台提前开始加载内容但不渲染。相应的,所述根据目标预测词的匹配结果向所述用户进行展示,具体可以包括:根据所述目标预测词的匹配结果的页面预加载结果,向所述用户进行展示,即根据所述目标预测词的匹配结果的页面预加载结果,进行渲染并显示页面。通过预加载,可以避免在确定用户的最终输入词之后的加载过程,有利于进一步减少用户的等待时长,提高用户的使用体验。

或者,为了更进一步减少用户等待时长,当所述匹配结果包括页面文件时,终端在获得匹配结果之后,并在获得最终输入词之前,可以先根据所述匹配结果进行页面预渲染。预渲染是指后台提前开始加载内容并渲染。相应的,所述根据目标预测词的匹配结果向所述用户进行展示,具体可以包括:根据所述目标预测词的匹配结果的页面预渲染结果,向所述用户进行展示,即根据所述目标预测词的匹配结果的页面预渲染结果显示页面。通过预渲染,可以避免在确定用户的最终输入词之后的加载过程和渲染过程,有利于更进一步减少用户的等待时长,提高用户的使用体验。

本申请实施例中,在结果信息还包括预测标识时,在确定出所述预测词命中还是未命中所述最终输入词的情况下,还可以包括:向所述服务器发送反馈信息,所述反馈信息包括所述预测标识以及所述预测标识对应的结果反馈;其中,在预测词命中所述最终输入词的情况下,所述结果反馈表征预测成功;在预测词未命中所述最终输入词的情况下,所述结果反馈表征预测失败。在预测词命中所述最终输入词的情况下,所述结果反馈例如可以为1,以表征预测成功;在预测词未命中所述最终输入词的情况下,所述结果反馈例如可以为0,以表征预测失败。在服务器接收到所述反馈信息之后,可以存储所述预测标识与所述结果反馈的对应关系,以实现数据收集,以便能够根据所收集的数据进行进一步处理,例如确定预测准确率等。

进一步的,在结果反馈表征预测成功时,结果信息还可以包括所述目标预测词,相应的,服务器可以存储预测标识与结果反馈以及目标预测词的对应关系。通过结果信息还包括命中目标预测词,在用户一次搜索过程中预测得到的预测词为多个时,使得服务器能够获知是该多个预测词中的具体哪个预测词命中,有利于提高数据收集的精确性。

通过本实施例提供的人机交互方法,终端在用户输入过程中,获取与当前输入词对应的至少一个预测词及其匹配结果,在获取所述用户的最终输入词后,根据所述最终输入词在所述至少一个预测词中进行匹配,在预测词命中所述最终输入词的情况下,根据命中所述最终输入词的预测词的匹配结果向所述用户进行展示,实现了提前从服务器获取针对用户当前输入词对应的预测词的匹配结果,使得在预测词命中用户的最终输入词的情况下,能够直接根据预测词的匹配结果向用户进行展示,从而使得用户无需等待终端将用户的最终输入词发送至服务器,服务器根据最终输入词确定出匹配结果,以及服务器将匹配结果返回给终端的过程,减小了用户的等待时长,提高了用户的使用体验。

图7为本申请又一实施例提供的人机交互方法的流程示意图,本实施例的执行主体可以为图1中的服务器,如图7所示,本实施例的方法可以包括:

步骤701,接收终端发送的用户在输入过程中的当前输入词。

步骤702,将所述当前输入词输入预测模型中,经所述预测模型进行预测得到所述当前输入词对应的至少一个预测词;所述至少一个预测词用于所述终端在获取所述用户的最终输入词之前获取匹配结果,并在预测词命中所述最终输入词的情况下,根据目标预测词的匹配结果向所述用户进行展示,所述目标预测词为命中所述最终输入词的预测词。

步骤703,向所述终端发送结果信息,所述结果信息包括所述至少一个预测词。

需要说明的是,本实施例主要针对图1所示的由服务器进行搜索词预测的场景,其具体预测过程可以参见前述实施例的相关描述,在此不再赘述。

通过本实施例提供的人机交互方法,服务器接收终端发送的用户在输入过程中的当前输入词,将所述当前输入词输入预测模型中,经所述预测模型进行预测得到所述当前输入词对应的至少一个预测词,并向所述终端发送结果信息,所述结果信息包括所述至少一个预测词,使得终端在获取所述用户的最终输入词之前获取匹配结果,并在预测词命中所述最终输入词的情况下,根据命中所述最终输入词的预测词的匹配结果向所述用户进行展示,实现了由服务器进行搜索词的预测,从而能够降低对终端的算力要求,提高了人机交互方法的适用范围。

以预渲染为例,参考图8-图10,本申请实施例给出一种终端及服务器的一种具体实现方式的举例。如图8所示,终端可以包括由软件实现的控制模块和渲染模块,服务器可以包括由软件实现的联想词模块、预测模块以及搜索模块,其中,控制模块主要用于与联想词模块和预测模块交互,渲染模块主要与搜索模块交互。

参考图8,在用户输入搜索词的过程中,控制模块可以将用户的当前输入词Q发送至联想词模块,联想词模块可以将输入词对应的联想结果例如联想词Q1、Q2……返回给控制模块,进一步的控制模块可以将联想词的展示给用户。控制模块还可以将当前输入词Q发送至预测模块,预测模块可以通过预测模型得到预测词Q11并返回给控制模块,其中,预测模块在进行预测时可以考虑所述用户的用户属性数据。控制模块在得到预测词Q11之后,可以通知渲染模块针对所述预测词进行预渲染,然后,渲染模块可以向搜索模块发送针对预测词的URL请求,进一步的搜索模块根据该URL请求通过查询数据库获得需要展示的数据,基于页面模版生成并向渲染模块返回预测词的HTML文件,之后,渲染模块可以根据预测词的HTML文件进行页面预渲染。

进一步的,如图8所示,在用户点击目标按钮之后,控制模块可以获得用户的最终输入词并将最终输入词发送至渲染模块,当渲染模块确定预测词命中用户的最终输入词时,可以直接根据命中最终输入词的预测词的预渲染结果进行展示。或者,当渲染模块确定预测词未命中用户的最终输入词时,可以将最终输入词发送给渲染模块,然后,渲染模块可以向搜索模块发送针对最终输入词的URL请求,进一步的搜索模块根据该URL请求通过查询数据库获得需要展示的数据,基于页面模版生成并向渲染模块返回最终输入词的HTML文件,之后,渲染模块可以根据最终输入词的HTML文件进行页面渲染,在渲染之后进一步可以进行展示。另外,控制模块还可以向预测模块返回结果信息。

对应于图8,人机交互方法的流程图可以如图9所示。参考图9,具体可以包括如下步骤901-步骤910。

步骤901,在用户输入过程中,响应于用户输入,控制模块获取用户的当前输入词。

步骤902,终端的控制模块向服务器请求预测,携带当前输入词。

步骤903,服务器获得当前输入词之后,将当前输入词输入预测模型中,经预测模型处理得到当前输入词对应的预测词。

步骤904,服务器向终端发送结果信息,该结果信息包括预测词,URL以及预测标识。

步骤905,终端的控制模块在获得结果信息之后,将预测词以及URL发送至终端的渲染模块。

步骤906,终端的渲染模块根据URL进行页面预渲染。

需要说明的是,在用户点击目标按钮之前,步骤901-步骤906可以执行多次,实现根据用户多次输入的当前输入词进行多次预测以及多次预渲染。

步骤907,响应于用户点击目标按钮,终端的控制模块确定用户的最终输入词。

步骤908,终端的控制模块将最终输入词发送至终端的渲染模块。

步骤909,终端的渲染模块判断预测词是否命中最终输入词,若命中则根据预渲染结果向用户进行页面展示,若未命中则根据最终输入词从服务器获得URL并根据URL进行加载、渲染及展示。

步骤910,终端的渲染模块通知终端的控制模块向用户所展示页面对应的搜索词。

例如,若步骤909判断结果为命中,则步骤910中渲染模块通知控制模块向用户所展示页面对应的搜索词为最终输入词;若步骤909判断结果为未命中,则渲染模块通知控制模块向用户所展示页面对应的搜索词为命中的预测词。

步骤911,终端的控制模块根据渲染模块向用户所展示页面对应的词,向服务器返回结果信息。

对应于图8,以预测模块单次预测得到多个预测词为例,如图10所示,在步骤1.1中输入模块获取到用户的当前输入词“北京”之后,可以将输入词“北京”发送至控制模块,然后,在步骤1.2中控制模块根据“北京”向预测模块请求预测,之后,在步骤1.3中预测模块根据控制模块的请求进行预测得到两个预测词分别为“北京天气”和“北京时间”并返回给控制模块,最后,在步骤1.4中控制模块触发渲染模块分别针对“北京天气”和“北京时间”两个预测词进行预渲染,即获得“北京天气”对应的页面文件并进行预渲染,以及获得“北京时间”对应的页面文件并进行预渲染。

进一步的,当用户在输入“北京时间”后点击目标按钮时,如图9所示,在步骤2.1中输入模块可以通知控制模块用户需要搜索“北京时间”,控制模块将“北京时间”发送给渲染模块,以触发渲染模块直接命中“北京时间”,并根据“北京时间”对应页面文件的渲染结果进行展示。

需要说明的是,图8-图10中的模块为功能模块,模块所完成功能的划分方式仅为举例,并不作为限定。

图11为本申请一实施例提供的人机交互装置的结构示意图;参考附图11所示,本实施例提供了一种人机交互装置,该装置可以执行上述的人机交互方法中终端侧的方法,具体的,该人机交互装置可以包括:

获取模块111,用于在用户输入过程中,获取与当前输入词对应的至少一个预测词及其匹配结果;

匹配模块112,用于在获取所述用户的最终输入词后,根据所述最终输入词在所述至少一个预测词中进行匹配;

展示模块113,用于在预测词命中所述最终输入词的情况下,根据目标预测词的匹配结果向所述用户进行展示,所述目标预测词为命中所述最终输入词的预测词。

可选的获取模块111用于在用户输入过程中,获取与当前输入词对应的至少一个预测词,具体包括:将所述当前输入词发送给服务器;以及,接收所述服务器根据所述当前输入词发送的结果信息,所述结果信息包括至少一个预测词。

可选的,所述结果信息还包括:预测标识;所述装置还包括:发送模块,用于向所述服务器发送反馈信息,所述反馈信息包括所述预测标识以及所述预测标识对应的结果反馈;

其中,在预测词命中所述最终输入词的情况下,所述结果反馈表征预测成功;在预测词未命中所述最终输入词的情况下,所述结果反馈表征预测失败。

可选的,所述匹配结果包括页面文件;所述装置还包括预加载模块,用于根据所述目标预测词的匹配结果进行页面预加载;

展示模块113,用于根据目标预测词的匹配结果向所述用户进行展示,具体包括:根据目标预测词的匹配结果的页面预加载结果向所述用户进行展示。

可选的,所述匹配结果包括页面文件;所述装置还包括预渲染模块,用于根据所述目标预测词的匹配结果进行页面预渲染;

展示模块113,用于根据目标预测词的匹配结果向所述用户进行展示,具体包括:根据目标预测词的匹配结果的页面预渲染结果向所述用户进行展示。

可选的,所述装置还包括确定模块,用于响应所述用户发出的搜索操作,确定所述最终输入词。

可选的,所述确定模块,具体用于在检测到目标按钮被触发时,确定所述用户发出搜索操作,并确定所述用户在发出搜索操作之前的输入词为所述最终输入词。

可选的,所述确定模块,具体用于在检测到向所述用户提示的联想词被触发时,确定所述用户发出搜索操作,并确定所述被触发的联想词为所述最终输入词。

可选的,获取模块111,还用于在预测词未命中所述最终输入词的情况下,获取所述最终输入词的匹配结果;展示模块113,还用于根据所述最终输入词的匹配结果向所述用户进行展示。

图11所示装置可以执行上述实施例终端侧的方法,本实施例未详细描述的部分,可参考对上述实施例的相关说明。该技术方案的执行过程和技术效果参见上述方法实施例中的描述,在此不再赘述。

在一个可能的实现中,图11所示人机交互装置的结构可实现为一终端。如图12所示,该终端可以包括:处理器121和存储器122。其中,存储器122用于存储支持终端执行上述方法实施例中提供的人机交互方法终端侧的程序,处理器121被配置为用于执行存储器122中存储的程序。

程序包括一条或多条计算机指令,其中,一条或多条计算机指令被处理器121执行时能够实现如下步骤:

获取与当前输入词对应的预测词;

在用户输入过程中,获取与当前输入词对应的至少一个预测词及其匹配结果;

在获取所述用户的最终输入词后,根据所述最终输入词在所述至少一个预测词中进行匹配;

在预测词命中所述最终输入词的情况下,根据目标预测词的匹配结果向所述用户进行展示,所述目标预测词为命中所述最终输入词的预测词。

可选的,处理器21还用于执行前述方法实施例中终端侧的全部或部分步骤。

其中,终端的结构中还可以包括通信接口123,用于终端与其他设备或通信网络通信。

图13为本申请另一实施例提供的人机交互装置的结构示意图;参考附图13所示,本实施例提供了一种人机交互装置,该装置可以执行上述人机交互方法中服务器侧的方法,具体的,该人机交互装置可以包括:

接收模块131,用于接收终端发送的用户在输入过程中的当前输入词;

预测模块132,用于将所述当前输入词输入预测模型中,经所述预测模型进行预测得到所述当前输入词对应的至少一个预测词;所述至少一个预测词用于所述终端在获取所述用户的最终输入词之前获取匹配结果,并在预测词命中所述最终输入词的情况下,根据目标预测词的匹配结果向所述用户进行展示,所述目标预测词为命中所述最终输入词的预测词;

发送模块133,用于向所述终端发送结果信息,所述结果信息包括所述至少一个预测词。

可选的,预测模块132,具体用于将所述当前输入词输入预测模型中,经所述预测模型预测得到所述当前输入词分别与多个指定词之间的关联关系;以及,根据所述关联关系,确定所述多个指定词中与所述当前输入词对应的至少一个预测词。

可选的,预测模块132用于根据关联关系,确定所述多个指定词中与所述当前输入词对应的至少一个预测词,具体包括:

确定是否满足预设条件;

若满足所述预设条件,则根据所述关联关系,确定所述多个指定词中的M个指定词作为所述当前输入词对应的预测词,所述M个指定词与所述当前输入词的关联程度均大于所述多个指定词中其他指定词与所述当前输入词的关联程度,M为大于1的整数。

可选的,M与所述预测模型针对所述当前输入词的预测准确度负相关。

可选的,预测模块132,还用于:若不满足所述预设条件,则根据关联关系,从所述多个指定词中选择与所述当前输入词关联程度最大的一个指定词作为所述当前输入词对应的预测词。

可选的,所述预设条件包括:所述终端当前的接入网络为无线保真网络;和/或,所述预测模型针对所述当前输入词的预测准确度小于准确度阈值。

可选的,所述装置还包括:获取模块,用于获取所述用户的用户属性数据;

预测模块132,具体用于将所述用户属性数据和所述当前输入词一起输入预测模型中,经所述预测模型进行预测。

可选的,所述结果信息还包括预测标识;所述接收模块还用于:接收所述终端发送的反馈信息,所述反馈信息包括所述预测标识以及所述预测标识对应的结果反馈;其中,在预测词命中所述最终输入词的情况下,所述结果反馈表征预测成功;在预测词未命中所述最终输入词的情况下,所述结果反馈表征预测失败;以及,根据所述反馈信息,存储所述预测标识与所述结果反馈的对应关系。

可选的,所述预测模型是按照如下方式训练得到:

构建预测模型,所述预测模型中设置有训练参数;

将多个样本输入词分别输入至所述预测模型中,生成预测结果;

基于所述预测结果与所述样本输入词的样本标签对应的期望结果之间的差异,对所述训练参数进行迭代调整,直至所述差异满足预设要求。

图13所示装置可以执行上述实施例服务器侧的方法,本实施例未详细描述的部分,可参考对上述实施例的相关说明。该技术方案的执行过程和技术效果参见上述方法实施例中的描述,在此不再赘述。

在一个可能的实现中,图13所示人机交互装置的结构可实现为服务器。如图14所示,该服务器可以包括:处理器141和存储器142。其中,存储器142用于存储支持服务器执行上述方法实施例中提供的人机交互方法服务器侧的程序,处理器141被配置为用于执行存储器142中存储的程序。

程序包括一条或多条计算机指令,其中,一条或多条计算机指令被处理器141执行时能够实现如下步骤:

接收终端发送的用户在输入过程中的当前输入词;

将所述当前输入词输入预测模型中,经所述预测模型进行预测得到所述当前输入词对应的至少一个预测词;所述至少一个预测词用于所述终端在获取所述用户的最终输入词之前获取匹配结果,并在预测词命中所述最终输入词的情况下,根据目标预测词的匹配结果向所述用户进行展示,所述目标预测词为命中所述最终输入词的预测词;

向所述终端发送结果信息,所述结果信息包括所述至少一个预测词。

可选的,处理器141还用于执行前述上述方法实施例中服务器侧的全部或部分步骤。

其中,服务器的结构中还可以包括通信接口143,用于服务器与其他设备或通信网络通信。

另外,本申请实施例还提供一种人机交互系统包括图12所述的终端以及图14所述的服务器。

此外,本申请实施例提供了一种计算机存储介质,用于储存终端所用的计算机软件指令,其包含用于执行上述方法实施例中人机交互方法终端侧所涉及的程序。

本申请实施例提供了一种计算机存储介质,用于储存服务器所用的计算机软件指令,其包含用于执行上述方法实施例中人机交互方法服务器侧所涉及的程序。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施例的描述,本领域的技术人员可以清楚地了解到各实施例可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对传统技术做出贡献的部分可以以计算机产品的形式体现出来,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

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

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

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

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

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

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

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

相关技术
  • 人机交互设备枚举处理方法、装置及人机交互设备
  • 一种电子设备的人机交互方法及相应的人机交互装置
技术分类

06120113084722