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

一种输入语料的推荐方法和装置

文献发布时间:2023-06-19 12:24:27


一种输入语料的推荐方法和装置

技术领域

本发明涉及计算机技术领域,尤其涉及一种输入预料的推荐方法和装置。

背景技术

文字交流被广泛地应用于客服咨询、社交平台、信息检索等领域,为提升用户体验,简化用户输入方式或减少用户输入时间,常采用输入联想对用户输入进行辅助,即根据文本规则或智能算法来预测用户的可能输入以推荐给用户。

目前,常用的输入联想方法是基于搜索引擎实现,通过ES(ElasticSearch)等非结构化数据库提供的全文检索功能,针对用户输入进行现有语料库的搜索,以提供与用户输入对应的预测语料。

在实现本发明过程中,发明人发现现有技术中至少存在如下问题:基于搜索引擎实现的输入联想功能对应的响应时间相对较长,无法满足在线客服或在线咨询等对即时性要求较高的场景,用户体验差。

发明内容

有鉴于此,本发明实施例提供了一种输入语料的推荐方法和装置,能够在使用搜索引擎进行语料推荐之前,优先在本地获取与用户输入对应的语料以推荐给用户,提高了语料获取的效率,降低了响应时间,保证了推荐语料的即时性,提高了用户体验。

为实现上述目的,根据本发明实施例的一个方面,提供了一种输入语料的推荐方法,包括:

接收用户输入;

基于所述用户输入、本地词库对应的索引号生成词组标识,以判断本地词库中是否存在与所述用户输入匹配的词组:

若存在,则根据所述词组从本地语料库中获取一条或多条语料以推荐给所述用户;

若不存在,则将所述用户输入发送至搜索引擎,以从所述搜索引擎中获取一条或多条语料以推荐给所述用户。

可选地,所述根据所述词组从本地语料库中获取一条或多条语料以推荐给所述用户,包括:

从所述本地语料库中获取与所述词组对应的一条或多条语料,以及所述语料对应的一个或多个预设权重参数;

获取所述用户输入对应的一个或多个业务参数;

在所述业务参数属于所述语料对应的预设权重参数的情况下,根据所述业务参数对应的权重,计算所述语料对应的权重分数;

根据所述语料对应的权重分数由高到低的顺序选取一个或多个语料以推荐给所述用户。

可选地,还包括:

在判断本地词库中是否存在与所述用户输入匹配的词组之前,从所述用户输入中删除下述一种或多种内容:停用词、标点符号、特殊字符、表情。

可选地,还包括:

在判断本地词库中是否存在与所述用户输入匹配的词组之前,判断所述本地词库对应的版本是否为最新版本,以在所述本地词库对应的版本不是最新版本的情况下,从所述搜索引擎中获取最新版本的词库。

可选地,还包括:

在判断本地词库中是否存在与所述用户输入匹配的词组之前,判断所述本地词库是否可用:若可用,则继续判断本地词库中是否存在与所述用户输入匹配的词组;若不可用,则将所述用户输入发送至所述搜索引擎。

可选地,在出现下述任意一种情况时将所述本地词库设置为不可用:所述用户为黑名单用户、当前时间段为预设的不可用时间段、所述本地词库对应的响应时间大于阈值响应时间、所接收的用户输入数量大于阈值用户输入数量。

可选地,通过埋点技术收集所述用户输入、推荐给所述用户与所述用户输入对应的一条或多条语料、所述用户点击的语料,以更新所述本地词库、所述本地语料库。

可选地,基于一个或多个可插拔的组件将所述本地词库设置为不可用;基于可插拔的业务埋点组件收集所述用户输入、推荐给所述用户与所述用户输入对应的一条或多条语料、所述用户点击的语料。

为实现上述目的,根据本发明实施例的另一个方面,提供了一种输入语料的推荐装置,包括:用户输入接收模块、语料获取模块;其中,

所述用户输入接收模块,用于接收用户输入;

所述语料获取模块,用于基于所述用户输入、本地词库对应的索引号生成词组标识,以判断本地词库中是否存在与所述用户输入匹配的词组:

若存在,则根据所述词组从本地语料库中获取一条或多条语料以推荐给所述用户;

若不存在,则将所述用户输入发送至搜索引擎,以从所述搜索引擎中获取一条或多条语料以推荐给所述用户。

可选地,所述根据所述词组从本地语料库中获取一条或多条语料以推荐给所述用户,包括:

从所述本地语料库中获取与所述词组对应的一条或多条语料,以及所述语料对应的一个或多个预设权重参数;

获取所述用户输入对应的一个或多个业务参数;

在所述业务参数属于所述语料对应的预设权重参数的情况下,根据所述业务参数对应的权重,计算所述语料对应的权重分数;

根据所述语料对应的权重分数由高到低的顺序选取一个或多个语料以推荐给所述用户。

可选地,还包括:用户输入处理模块;其中,

所述用户输入处理模块,用于在判断本地词库中是否存在与所述用户输入匹配的词组之前,从所述用户输入中删除下述一种或多种内容:停用词、标点符号、特殊字符、表情。

可选地,还包括:词库预处理模块;其中,

所述词库预处理模块,用于在判断本地词库中是否存在与所述用户输入匹配的词组之前,判断所述本地词库对应的版本是否为最新版本,以在所述本地词库对应的版本不是最新版本的情况下,从所述搜索引擎中获取最新版本的词库。

可选地,所述词库预处理模块,还用于,

在判断本地词库中是否存在与所述用户输入匹配的词组之前,判断所述本地词库是否可用:若可用,则继续判断本地词库中是否存在与所述用户输入匹配的词组;若不可用,则将所述用户输入发送至所述搜索引擎。

可选地,所述词库预处理模块,还用于在出现下述任意一种情况时将所述本地词库设置为不可用:所述用户为黑名单用户、当前时间段为预设的不可用时间段、所述本地词库对应的响应时间大于阈值响应时间、所接收的用户输入数量大于阈值用户输入数量。

可选地,所述词库预处理模块,还包括下述一种或多个可插拔的组件:开关组件、熔断限流组件、流量分发组件;其中,

所述开关组件,用于判断所述用户是否为黑名单用户或当前时间段是否为不可用时间段;

所述熔断限流组件,用于判断所述本地词库对应的响应时间是否大于阈值响应时间;

所述流量分发组件,用于判断所接收的用户输入数量是否大于阈值用户输入数量。

可选地,所述词库预处理模块,还包括:业务埋点组件;其中,

所述业务埋点组件,用于通过埋点技术收集所述用户输入、推荐给所述用户与所述用户输入对应的一条或多条语料、所述用户点击的语料,以更新所述本地词库、所述本地语料库。

为实现上述目的,根据本发明实施例的一个方面,提供了一种用于推荐输入语料的电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的输入预料的推荐方法中任一所述的方法。

为实现上述目的,根据本发明实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上所述的输入预料的推荐方法中任一所述的方法。

上述发明中的一个实施例具有如下优点或有益效果:通过在使用搜索引擎进行语料推荐之前,先在本地词库中匹配与用户输入对应的词组,进而根据词组从本地语料库中获取一条或多条语料以推荐给用户的方式,提高了语料获取的效率,降低了响应时间,保证了推荐语料的即时性,提高了用户体验;同时,在本地词库中无法匹配对应的词组的情况下,通过继续使用搜索引擎获取一条或多条语料以推荐给用户的方式保证了语料推荐的可靠性及通用性。

上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。

附图说明

附图用于更好地理解本发明,不构成对本发明的不当限定。其中:

图1是根据本发明实施例的输入语料的推荐方法的主要流程的示意图;

图2是根据本发明实施例的词组匹配方法的主要流程的示意图;

图3根据本发明实施例的本地词库的映射关系的示意图;

图4是根据本发明实施例的从本地语料库获取语料的方法主要流程的示意图;

图5是根据本发明实施例的本地语料库的映射关系的示意图;

图6是根据本发明实施例的另一输入语料的推荐方法的主要流程的示意图;

图7a是根据本发明实施例的输入语料的推荐装置的主要模块的示意图;

图7b是根据本发明实施例的词库预处理模块的主要结构示意图;

图8是本发明实施例可以应用于其中的示例性系统架构图;

图9是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。

具体实施方式

以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

图1是根据本发明实施例的输入语料的推荐方法的主要流程示意图,如图1所示,该输入语料的推荐方法具体可以包括的步骤如下:

步骤S101,接收用户输入。

用户输入是指用户在进行文字交流时输入的任何文本信息,如在与在线客服沟通时经常会输入的你好、在么等内容。

步骤S102,基于所述用户输入、本地词库对应的索引号生成词组标识基,以判断本地词库中是否存在与所述用户输入匹配的词组:若存在,则继续执行下述步骤S103,若不存在,则继续执行下述步骤S104。

其中,本地词库是由根据用户经常输入的一条或多条高频语料提炼出的一个或多个词组构成。比如以用户经常输入的语料“你好在么”、“你好怎么”为例进行说明,则对应的词组为“你好”;而语料“这个商品打折么”、“这件衣服打折么”对应的词组则为“打折”。可以理解的是,用户可能输入的语料成千上万条,对应的词组也可能有成千上万条,为了进一步提升从本地获取与用户输入对应的语料的效率,可以仅在本地语料库中存储一些经常被用户输入的高频语料或者热门语料,相应地,也仅在本地词库中存储与高频语料对应的一个或多个热门的词组,比如你好、优惠券、打折、退货、换货等。更具体地,本地词库及本地语料库可以直接存储至本地缓存中,以便于在接收到用户输入时快速获取到对应的语料。值得注意的是,本地缓存中仅存储高频语料以及高频词组,而搜索引擎采用的Redis等存储空间中存储有全量的用户输入语料以及对应的词组。

具体地,所述基于所述用户输入、所述本地词库对应的索引号生成词组标识,以判断本地词库中是否存在与所述用户输入匹配的词组,包括:查询所述本地词库,以确定是否存在与所述词组标识对应的词组;若存在,则所述本地词库中存在与所述用户输入匹配的词组;若不存在,则所述本地词库中不存在与所述用户输入匹配的词组。

其中,索引号用以实现多个不同本地词库的逻辑隔离以提高本地词库的查找效率,且每一个词库都具有唯一与之对应的索引号,该索引号可以由数字、字符、特殊符号中的任意一种或多种组成。具体地,可以对当前可用的本地词库对应的索引号及用户输入进行哈希运算,以生成长度固定的词组标识,即token值,以根据token值确定在本地词库中是否存在与token值对应的词组,若存在,则表示本地词库中存在与用户输入匹配的词组,若不存在,则表示本地词库中不存在与用户输入匹配的词语。

可以理解的是,若能够在本地词库中匹配到与用户输入对应的词组,则表明该用户输入的内容极有可能是经常性被使用的高频语料,因而可以考虑在本地语料库中获取对应的一条或多条语料,而无需远程调用搜索引擎获取语料,从而提升了推荐语料的获取效率;若无法在本地词库中匹配到与用户输入对应的词组,则表明该用户输入的内容极有可能不是经常性被使用的高频语料,则无法从本地语料库中获取推荐的语料,但同时为辅助用户进行输入,将用户输入直接发送至搜索引擎以从搜索引擎中获取推荐语料,以保证总能对用户输入进行辅助,以提高用户体验。

在一种可选的实施方式中,还包括:在判断本地词库中是否存在与所述用户输入匹配的词组之前,从所述用户输入中删除下述一种或多种内容:停用词、标点符号、特殊字符、表情。如此,可以去除用户输入中无意义的字符,以更加精准的从本地词库中匹配到对应的词组。

在一种可选的实施方式中,还包括:在判断本地词库中是否存在与所述用户输入匹配的词组之前,判断所述本地词库对应的版本是否为最新版本,以在所述本地词库对应的版本不是最新版本的情况下,从所述搜索引擎中获取最新版本的词库。

其中,最新版本的词库既可以是根据新生成的热词或者高频词最新更新后的词库,也可以是适用于当前业务时间段的特定词库,如零售业务领域为例,在不同的时间段内用户输入的高频语料不同,如在双十一大促期间,由于订单成交量大,发货速度相对较慢,因而用户常会咨询物流、发货时间等信息,因而可以基于用户在双十一大促期间使用的高频语料生成最新版本的词库,以在双十一大促期间使用对应的词库,以提高语料的本地匹配效率。

在一种可选的实施方式中,还包括:在判断本地词库中是否存在与所述用户输入匹配的词组之前,判断所述本地词库是否可用:若可用,则继续判断本地词库中是否存在与所述用户输入匹配的词组;若不可用,则将所述用户输入发送至所述搜索引擎。也即是说,可以选择性的启用本地词库以进行联想输入辅助,以提高本实施例所提供的的输入预料推荐方法的通用性。

更进一步,在出现下述任意一种情况时将所述本地词库设置为不可用:所述用户为黑名单用户、当前时间段为预设的不可用时间段、所述本地词库对应的响应时间大于阈值响应时间、所接收的用户输入数量大于阈值用户输入数量。

其中,黑名单用户是指只能使用搜索引擎而无法通过本地匹配获取用户输入对应的语料的一个或多个用户,如此,通过设置黑名单用户或者黑名单用户占比,可以合理地限制基于本地词库获取对应语料的用户输入数量,以缓解处理压力。不可用时间段是指根据业务调整需求或者用户输入数量的变化规律设定的时间段,可以以年、月、日、时、分、秒等表示,如在每天凌晨1点-5点的时间段内,进行咨询的用户较少,对应的用户输入数量也较少,为节约资源可以不启用本地词库,即均从搜索引擎获取语料。以阈值响应时间为500ms为例,若从本地获取用户输入对应的语料的响应时间大于500ms,则从本地获取用户输入对应的语料的并不明显优于从搜索引擎获取语料的效率,如此,为提升效率考虑直接从搜索引擎获取预料。而阈值用户输入数量则是为了合理限制本地需要处理的用户输入的数量,以缓解处理压力,从而保证从本地获取语料的效率。

更具体地,基于一个或多个可插拔的组件将所述本地词库设置为不可用,如使用开关组件判断所述用户是否为黑名单用户或当前时间段是否为不可用时间段;基于熔断限流组件判断所述本地词库对应的响应时间是否大于阈值响应时间;基于流量分发组件判断所接收的用户输入数量是否大于阈值用户输入数量。

步骤S103,根据所述词组从本地语料库中获取一条或多条语料以推荐给所述用户。

在一种可选的实施方式中,所述根据所述词组从本地语料库中获取一条或多条语料以推荐给所述用户,包括:从所述本地语料库中获取与所述词组对应的一条或多条语料,以及所述语料对应的一个或多个预设权重参数;获取所述用户输入对应的一个或多个业务参数;在所述业务参数属于所述语料对应的预设权重参数的情况下,根据所述业务参数对应的权重,计算所述语料对应的权重分数;根据所述语料对应的权重分数由高到低的顺序选取一个或多个语料以推荐给所述用户。

其中,业务参数包括但不限于用户进入文字交流的入口、渠道、终端类型、物品信息、商家信息、订单信息、物流信息、业务领域等。其中,文字交流入口是指用户进入文字交流所点击的界面,如物品详情页、物品主页、订单主页等;文字交流渠道是指H5页面、小程序、APP等;用户终端类型则是指如IOS端、安卓端等;物品信息则是指用户咨询的物品对应的物品标识、颜色、尺寸、价格、型号、三级分类等信息;商家信息则是指商家标识、商家等级等;业务领域则是是指按照业务类型所划分的物流、零售、区块链等。预设权重参数则是指根据实际需求设定的物品标识、商家标识、物品类型等信息,也即是说,用户输入对应的业务参数可能是语料对应的预设权重参数,也可能不是语料对应的预设权重参数,且每一个预设权重参数对应有一个权重,不同预设权重参数对应的权重既可以相同也可以不同。

具体地,以业务参数包含的商品标识、商家标识、商品分类分别为SKUA、商家a、手机,且从本地语料库中获取的语料对应的预设权重参数如下表1所示为例进行说明:对于语料1,则可以确定业务参数中的SKUA、手机为语料1对应的预设权重参数,进而可以通过对应的权重加和计算语料1对应权重分数为4;对于语料2,则可以确定业务参数中的SKUA、商家a、手机均为语料2对应的预设权重参数,进而可以通过对应的权重加和计算语料2对应的权重分数为6;对于语料3,则可以确定业务参数中的商家a为语料3对应的预设权重参数,进而可以通过权重加和确定语料3对应的权重分数为2;对于语料4,由于业务参数均不是对应的预设权重参数,故而对应的权重分数默认为0。基于此,可以分别确定语料1、语料2、语料3、语料4对应的权重分数依次为4、6、2、0,进而可以基于权重分数由高到低的顺序将语料排序为语料2、语料1、语料3、语料4,以按照顺序向用户推荐一条或多条语料,如在向用户推荐一条语料的情况下,则推荐语料为语料2,而在向用户推荐两条语料的情况下,则推荐语料为语料2、语料1。如此,通过业务参数对从本地语料库中获取的语料进行了筛选,进一步提高了向用户推荐语料的准确性。

表1语料对应的预设权重参数及权重示例

步骤S104,将所述用户输入发送至搜索引擎,以从所述搜索引擎中获取一条或多条语料以推荐给所述用户。

具体地,随着业务领域的多样化,如零售、物流、金融等,每一个业务领域对应的用户输入语料、高频语料以及本地词库等都具有各自领域的独特性,不尽相同。因此,为提高对不同业务领域下的用户输入的辅助效果,可针对不同的业务领域使用不同的搜索引擎,以在接收到用户输入的情况下,根据用户输入所对应的业务领域对用户输入进行分流。与此相对应,在接收到用户输入的情况下,可以根据用户输入对应的业务领域,使用该业务领域下的本地词库进行词组匹配。

可以理解的是,随着业务领域的发展、物品的更新等,不同阶段用户输入对应的高频语料、热词等均在不断变化,为满足日益变更的文字交流需要,需要不断的更新本地词库、本地语料库,以及搜索引擎中存储的全量语料以及词组。基于此,在一种可选的实施方式中,通过埋点技术收集所述用户输入、推荐给所述用户与所述用户输入对应的一条或多条语料、所述用户点击的语料,以更新所述本地词库、所述本地语料库。

更具体地,基于可插拔的业务埋点组件收集所述用户输入、推荐给所述用户与所述用户输入对应的一条或多条语料、所述用户点击的语料。也即是说,通过用户对所推荐语料的点击情况不断更新用户输入对应的词库以及语料的方式,以提高了输入联想辅助的可靠性。

基于上述实施例,通过在使用搜索引擎进行语料推荐之前,先在本地词库中匹配与用户输入对应的词组,进而根据词组从本地语料库中获取一条或多条语料以推荐给用户的方式,提高了语料获取的效率,降低了响应时间,保证了推荐语料的即时性,提高了用户体验;同时,在本地词库中无法匹配对应的词组的情况下,通过继续使用搜索引擎获取一条或多条语料以推荐给用户的方式保证了语料推荐的可靠性及通用性。

参见图2,在上述实施例的基础上,本发明实施例提供了一种词组匹配方法,用以对上述步骤S102进行详细的说明,该词组匹配方法具体包括的步骤如下:

步骤S1021,根据所述用户输入、所述本地词库对应的索引号生成词组标识。

具体地,可以对当前可用的本地词库对应的索引号及用户输入进行哈希运算,以生成长度固定的词组标识,即token值,以根据token值确定在本地词库中是否存在与token值对应的词组。

步骤S1022,查询所述本地词库,以确定是否存在与所述词组标识对应的词组;若存在,则继续执行下述步骤S1023,若不存在,则继续执行下述步骤S1024。

具体地,参见图3所示的本地词库映射关系图,在对本地词库对应的索引号及用户输入进行哈希运算,以生成长度固定的词组标识(如图所示的994754697等)之后,可以在本地词库中使用该词组标识进行查询,以确定该词组标识在本地词库中是否存在对应的词组(如你好等)。

步骤S1023,所述本地词库中存在与所述用户输入匹配的词组。

仍以词组标识994754697为例,由于在本地词库中存在与该词组标识对应的词组“你好”,因而可继续获取词组“你好”对应的一条或多条语料以进行推荐。

步骤S1024,所述本地词库中不存在与所述用户输入匹配的词组。

具体地,根据用户输入对应的业务领域直接将用户输入发送至对应的搜索引擎以获取一条或多条语料以进行推荐。

参见图4,在上述实施例的基础上,本发明实施例提供了一种从本地语料库获取语料的方法,以对前述步骤S103进行详细说明,具体包括的步骤如下:

步骤S1031,从所述本地语料库中获取与所述词组对应的一条或多条语料,以及所述语料对应的一个或多个预设权重参数。

具体地,参见图5所示的本地语料库的映射关系,仍以从本地词库中确定的词组为“你好”为例进行说明,则可以从本地语料库中获取所有“你好”下的语料,即“你好在么”、“你好怎么”等。可以理解的是,不同业务或者不同场景下,在用户输入所匹配的词组都是“你好”的情况下,用户想要输入的完成语料也极可能不相同,因而为提高向用户推荐的输入语料的准确性,可以基于用户输入对应的业务参数对语料进行排序及筛选。进一步地,每一个语料对应的都有一个或多个预设权重参数,即VenderID(供应商标识)、ThirdCat(商品三级分类)等。

步骤S1032,获取所述用户输入对应的一个或多个业务参数。

步骤S1033,在所述业务参数属于所述语料对应的预设权重参数的情况下,根据所述业务参数对应的权重,计算所述语料对应的权重分数。

具体地,仍参见图5,以“你好在么”、“你好怎么”为例进行说明,则“你好在么”对应的预设权重参数为VenderID、ThirdCat,且对应的权重分别1、5,而“你好怎么”对应的预设权重则为color(物品颜色),且对应的权重为3;若用户输入“你好”对应的业务参数中含有VenderID、ThirdCat以及color,则可计算语料“你好在么”以及“你好在么”对应的权重分值分别为6、3;在此基础上,若仅向用户推进一个语料,则选择权重分值最高的语料“你好在么”推荐给用户。

步骤S1034,根据所述语料对应的权重分数由高到低的顺序选取一个或多个语料以推荐给所述用户。

参见图6,在上述实施例的基础上,本发明实施例提供了另一种输入语料的推荐方法,具体可以包括的步骤如下:

步骤S601,接收用户输入。

步骤S602,判断本地词库是否可用。若可用,则继续执行下述步骤S603;若不可用,则继续执行下述步骤S608。

步骤S603,判断本地词库对应的版本是否为最新版本。若是最新版本,则继续执行下述步骤S605;若不可用则继续执行下述步骤S604。

步骤S604,从所述搜索引擎中获取最新版本的词库。

具体地,通过远程全量同步的方式,从搜索引擎中加载最新版本的词库以存储至本地缓存中。可以理解的是,在从搜索引擎中加载最新版本的词库的同时,加载与最新版本词库对应的本地语料库。

步骤S605,从所述用户输入中删除下述一种或多种内容:停用词、标点符号、特殊字符、表情。

步骤S606,判断本地词库中是否存在与所述用户输入所匹配的词组。若存在,则继续执行下述步骤S607;若不存在,则继续执行下述步骤S608。

步骤S607,根据所述词组从本地语料库中获取一条或多条语料以推荐给所述用户。

具体地,可以对当前可用的本地词库对应的索引号及用户输入进行哈希运算,以生成长度固定的词组标识,即token值,以根据token值确定在本地词库中是否存在与token值对应的词组,若存在,则表示本地词库中存在与用户输入匹配的词组,若不存在,则表示本地词库中不存在与用户输入匹配的词语。

步骤S608,将所述用户输入发送至搜索引擎,以从所述搜索引擎中获取一条或多条语料以推荐给所述用户。

具体地,从所述本地语料库中获取与所述词组对应的一条或多条语料,以及所述语料对应的一个或多个预设权重参数;获取所述用户输入对应的一个或多个业务参数;在所述业务参数属于所述语料对应的预设权重参数的情况下,根据所述业务参数对应的权重,计算所述语料对应的权重分数;根据所述语料对应的权重分数由高到低的顺序选取一个或多个语料以推荐给所述用户。

参见图7a,在上述实施例的基础上,本发明实施例提供了一种输入语料的推荐装置700,包括:用户输入接收模块701、语料获取模块704;其中,

所述用户输入接收模块701,用于接收用户输入;

所述语料获取模块704,用于基于所述用户输入、本地词库对应的索引号生成词组标识,以判断本地词库中是否存在与所述用户输入匹配的词组:

若存在,则根据所述词组从本地语料库中获取一条或多条语料以推荐给所述用户;

若不存在,则将所述用户输入发送至搜索引擎,以从所述搜索引擎中获取一条或多条语料以推荐给所述用户。

在一种可选的实施方式中,所述根据所述词组从本地语料库中获取一条或多条语料以推荐给所述用户,包括:

从所述本地语料库中获取与所述词组对应的一条或多条语料,以及所述语料对应的一个或多个预设权重参数;

获取所述用户输入对应的一个或多个业务参数;

在所述业务参数属于所述语料对应的预设权重参数的情况下,根据所述业务参数对应的权重,计算所述语料对应的权重分数;

根据所述语料对应的权重分数由高到低的顺序选取一个或多个语料以推荐给所述用户。

在一种可选的实施方式中,还包括:用户输入处理模块703;其中,

所述用户输入处理模块703,用于在判断本地词库中是否存在与所述用户输入匹配的词组之前,从所述用户输入中删除下述一种或多种内容:停用词、标点符号、特殊字符、表情。

在一种可选的实施方式中,还包括:词库预处理模块702;其中,

所述词库预处理模块,用于在判断本地词库中是否存在与所述用户输入匹配的词组之前,判断所述本地词库对应的版本是否为最新版本,以在所述本地词库对应的版本不是最新版本的情况下,从所述搜索引擎中获取最新版本的词库。

在一种可选的实施方式中,所述词库预处理模块702,还用于,

在判断本地词库中是否存在与所述用户输入匹配的词组之前,判断所述本地词库是否可用:若可用,则继续判断本地词库中是否存在与所述用户输入匹配的词组;若不可用,则将所述用户输入发送至所述搜索引擎。

在一种可选的实施方式中,所述词库预处理模块702,还用于在出现下述任意一种情况时将所述本地词库设置为不可用:所述用户为黑名单用户、当前时间段为预设的不可用时间段、所述本地词库对应的响应时间大于阈值响应时间、所接收的用户输入数量大于阈值用户输入数量。

具体地,参见图7b,所述词库预处理模块703,还包括下述一种或多个可插拔的组件:开关组件7031、熔断限流组件7032、流量分发组件7033;其中,

所述开关组件7031,用于判断所述用户是否为黑名单用户或当前时间段是否为不可用时间段;

所述熔断限流组件7032,用于判断所述本地词库对应的响应时间是否大于阈值响应时间;

所述流量分发组件7033,用于判断所接收的用户输入数量是否大于阈值用户输入数量。

进一步地,仍参见图7b,所述词库预处理模块703,还包括:可插拔的业务埋点组件7034;其中,

所述业务埋点组件7034,用于通过埋点技术收集所述用户输入、推荐给所述用户与所述用户输入对应的一条或多条语料、所述用户点击的语料,以更新所述本地词库、所述本地语料库。

值得注意的是,对于本实施例中提供的一个或多个可插拔的组件,可以通过组装、拆卸的方式进行组合并集成在输入语料的推荐装置中,以实现输入语料的推荐装置的通用性。

图8示出了可以应用本发明实施例的输入语料的推荐方法或输入预料的推荐装置的示例性系统架构800。

如图8所示,系统架构800可以包括终端设备801、802、803,网络804和服务器805。网络804用以在终端设备801、802、803和服务器805之间提供通信链路的介质。网络804可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备801、802、803通过网络804与服务器805交互,以接收或发送消息等。终端设备801、802、803上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。

终端设备801、802、803可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

服务器805可以是提供各种服务的服务器,例如对用户利用终端设备801、802、803所浏览的购物类网站提供支持的后台管理服务器。后台管理服务器可以对接收到的用户输入进行分析等处理,并将处理结果如与用户输入对应的一条或多条语料反馈给终端设备。

需要说明的是,本发明实施例所提供的输入语料的推荐方法一般由服务器805执行,相应地,输入语料的推荐装置一般设置于服务器805中。

应该理解,图8中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

下面参考图9,其示出了适于用来实现本发明实施例的终端设备的计算机系统900的结构示意图。图9示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图9所示,计算机系统900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有系统900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。

以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。

特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本发明的系统中限定的上述功能。

需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括用户输入接收模块、语料获取模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,用户输入接收模块还可以被描述为“用于接收用户输入的模块”。

作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:接收用户输入;基于所述用户输入、本地词库对应的索引号生成词组标识,以判断本地词库中是否存在与所述用户输入匹配的词组:若存在,则根据所述词组从本地语料库中获取一条或多条语料以推荐给所述用户;若不存在,则将所述用户输入发送至搜索引擎,以从所述搜索引擎中获取一条或多条语料以推荐给所述用户。

根据本发明实施例的技术方案,通过在使用搜索引擎进行语料推荐之前,先在本地词库中匹配与用户输入对应的词组,进而根据词组从本地语料库中获取一条或多条语料以推荐给用户的方式,提高了语料获取的效率,降低了响应时间,保证了推荐语料的即时性,提高了用户体验;同时,在本地词库中无法匹配对应的词组的情况下,通过继续使用搜索引擎获取一条或多条语料以推荐给用户的方式保证了语料推荐的可靠性及通用性。

上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

相关技术
  • 一种输入语料的推荐方法和装置
  • 输入法语料注音方法、生成评测语料的方法及电子装置
技术分类

06120113284431