本申请涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及一种基于人工智能的推送信息的方法和装置。
背景技术:
人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。
目前,用户在通过搜索引擎进行检索时,通常需要向搜索引擎的输入窗口输入检索关键词以获取搜索结果。搜索引擎在接收到当前关键词后,可以基于当前关键词在所有用户的历史查询关键词中出现的频次以及该用户在历史查询记录中对查询关键词的点击反馈数据,确定当前关键词对应的搜索结果。
然而,目前搜索引擎采用的确定关键词搜索结果的方法,由于确定搜索结果时所参考的与用户输入的数据量较少,因此推送的搜索结果的针对性较弱,推送信息的精准度较低。
技术实现要素:
本申请的目的在于提出一种改进的一种基于人工智能的推送信息的方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种基于人工智能的推送信息的方法,所述方法包括:获取用户的当前查询文本及预定时间内的历史查询文本,得到查询文本组;将所述查询文本组中的各查询文本分词,得到单词序列组;获取所述单词序列组中各单词的向量表示,得到单词向量表示序列组;获取所述单词向量表示序列组的向量表示,得到编码的向量表示;解码所述编码的向量表示,得到推荐查询文本;基于所述推荐查询文本,向用户推送信息。
在一些实施例中,所述获取所述单词向量表示序列组的向量表示,得到编码的向量表示包括:对于所述单词向量表示序列组中的各单词向量表示序列,分别获取序列的向量表示,得到编码向量表示序列;以及对于所述编码向量表示序列,获取序列的向量表示,得到所述编码的向量表示。
在一些实施例中,所述获取序列的向量表示包括:设置神经网络模型的初始输出值为0,依次从序列中读取向量表示并执行以下输出步骤直至遍历所述序列以得到序列的向量表示:将当前向量表示和上一次神经网络模型输出的向量表示作为神经网络模型的输入,得到当前神经网络模型输出的向量表示。
在一些实施例中,所述解码所述编码的向量表示,得到推荐查询文本包括:将所述编码的向量表示的当前状态添加至当前状态序列,对所述当前状态序列执行以下获取演化步骤以得到单词的向量表示序列组:获取单词的向量表示与所述当前状态序列中各当前状态的相似概率,得到当前相似概率序列,采用最大似然估计获取所述当前相似概率序列中各相似概率与演化至当前状态过程中的所有相似概率的乘积序列,从大到小获取所述乘积序列中预定数量的单词的向量表示,根据各当前状态获取的单词的向量表示将各当前状态演化至下一状态,得到下一状态序列,将所述下一状态序列作为新的当前状态序列,并对所述新的当前状态执行所述获取演化步骤;基于所述单词的向量表示序列组,得到推荐查询文本序列。
在一些实施例中,所述基于所述推荐查询文本,向用户推送信息包括:从查询数据库中搜索符合各推荐查询文本的推送信息;向用户推送搜索到的推送信息。
第二方面,本申请提供了一种基于人工智能的推送信息的装置,所述装置包括:文本获取单元,用于获取用户的当前查询文本及预定时间内的历史查询文本,得到查询文本组;文本分词单元,用于将所述查询文本组中的各查询文本分词,得到单词序列组;向量获取单元,用于获取所述单词序列组中各单词的向量表示,得到单词向量表示序列组;向量编码单元,用于获取所述单词向量表示序列组的向量表示,得到编码的向量表示;向量解码单元,用于解码所述编码的向量表示,得到推荐查询文本;信息推送单元,用于基于所述推荐查询文本,向用户推送信息。
在一些实施例中,所述向量编码单元包括:单词向量编码子单元,用于对于所述单词向量表示序列组中的各单词向量表示序列,分别获取序列的向量表示,得到编码向量表示序列;以及编码向量编码子单元,用于对于所述编码向量表示序列,获取序列的向量表示,得到所述编码的向量表示。
在一些实施例中,所述单词向量编码子单元和所述编码向量编码子单元中获取序列的向量表示包括:设置神经网络模型的初始输出值为0,依次从序列中读取向量表示并执行以下输出步骤直至遍历所述序列以得到序列的向量表示:将当前向量表示和上一次神经网络模型输出的向量表示作为神经网络模型的输入,得到当前神经网络模型输出的向量表示。
在一些实施例中,所述向量解码单元包括:获取演化子单元,用于将所述编码的向量表示的当前状态添加至当前状态序列,对所述当前状态序列执行以下获取演化步骤以得到单词的向量表示序列组:获取单词的向量表示与所述当前状态序列中各当前状态的相似概率,得到当前相似概率序列,采用最大似然估计获取所述当前相似概率序列中各相似概率与演化至当前状态过程中的所有相似概率的乘积序列,从大到小获取所述乘积序列中预定数量的单词的向量表示,根据各当前状态获取的单词的向量表示将各当前状态演化至下一状态,得到下一状态序列,将所述下一状态序列作为新的当前状态序列,并对所述新的当前状态执行所述获取演化步骤;推荐文本子单元,用于基于所述单词的向量表示序列组,得到推荐查询文本序列。
在一些实施例中,所述信息推送单元包括:信息搜索子单元,用于从查询数据库中搜索符合各推荐查询文本的推送信息;信息推送子单元,用于向用户推送搜索到的推送信息。
本申请提供的一种基于人工智能的推送信息的方法和装置,首先获取用户的当前查询文本及预定时间内的历史查询文本,得到查询文本组;接着将查询文本组中的各查询文本分词,得到单词序列组;之后获取单词序列组中各单词的向量表示,得到单词向量表示序列组;然后获取单词向量表示序列组的向量表示,得到编码的向量表示;然后解码编码的向量表示,得到推荐查询文本;最后基于推荐查询文本,向用户推送信息。由于在编码和解码的过程中均考虑了上文对下文的影响,因此实现了高效、准确且富于针对性的信息推送。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的基于人工智能的推送信息的方法的一个实施例的示意性流程图;
图3是根据本实施例的基于人工智能的推送信息的方法中获取编码的向量表示并解码编码的向量表示的一个示例性应用场景;
图4是根据本申请的基于人工智能的推送信息的装置的一个实施例的示例性结构图;
图5是适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的基于人工智能的推送信息的方法或基于人工智能的推送信息的装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105、106。网络104用以在终端设备101、102、103和服务器105、106之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户110可以使用终端设备101、102、103通过网络104与服务器105、106交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、搜索引擎类应用、购物类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持搜索功能的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105、106可以是提供各种服务的服务器,例如对终端设备101、102、103提供支持的后台服务器。后台服务器可以对接收到的请求等数据进行分析等处理,并将处理结果(例如推送的用户感兴趣目标)反馈给终端设备。
需要说明的是,本申请中实施例所提供的基于人工智能的推送信息的方法一般由服务器105、106执行,相应地,基于人工智能的推送信息的装置一般设置于服务器105、106中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的基于人工智能的推送信息的方法的一个实施例的流程200。所述的基于人工智能的推送信息的方法,包括以下步骤:
步骤201,获取用户的当前查询文本及预定时间内的历史查询文本,得到查询文本组。
在本实施例中,基于人工智能的推送信息的方法运行于其上的电子设备(例如图1所示的服务器),可以在接收用户端发送的当前查询文本之前或在接收用户端发送的当前查询文本之时,获取该用户在预定时间内的历史查询文本。
这里的用户在预定时间内的历史查询文本,来源于搜索引擎中的用户检索历史。基于人工智能的推送信息的方法运行于其上的电子设备可以根据用户身份标识号切分多组数据,每组数据表示一个用户的查询检索历史。考虑到当两个查询之间的间隔时间过长时,这两个查询之间的上下文关系并不是很紧密。因此可以选取距当前查询文本的时长小于预定时长的查询文本(例如30分钟内的查询文本),将其作为预定时间内的历史查询文本。
在获取用户的当前查询文本及预定时间内的历史查询文本之后,可以将用户的当前查询文本和预定时间内的每一个历史查询文本分别添加至查询文本组,以得到查询文本组。
步骤202,将查询文本组中的各查询文本分词,得到单词序列组。
在本实施例中,当查询文本组之后,需要对查询文本组中的每个查询文本进行切词,对应一个查询文本会得到一个单词序列,从而得到查询文本组对应的单词序列组。
步骤203,获取单词序列组中各单词的向量表示,得到单词向量表示序列组。
在本实施例中,为了方便后续的处理,可以从单词与标识码的映射关系数据库中,查询单词序列组中各单词序列所对应的标志码序列,得到标识码序列组;再从标志码与向量的映射关系数据库中,查询标识码序列组中各标识码序列所对应的向量序列,得到向量序列组。在映射的过程中,为了让模型对低频词(频次低于预设数量的词)有更好的平滑效果,可以将出现频次低的词映射到同一个标志码。
步骤204,获取单词向量表示序列组的向量表示,得到编码的向量表示。
在本实施例中,获取单词向量表示序列组的向量表示时,可以基于当前输入的单词向量表示和上一次输入的单词向量表示的输出状态得到单词向量表示序列组的向量表示,其实现方法可以为现有技术或未来发展的技术中能够基于当前输入的单词向量表示和上一次输入的单词向量表示的输出状态得到单词向量表示序列组的向量表示的方法,例如神经网络模型(RNN),本申请对此不做限定。
在本实施例的一些可选的实现方式中,为了避免传统的神经网络模型训练过程中长梯度难回传的问题,可以通过神经网络模型中的门控递归单元(GRU)来单词向量表示序列组的向量表示。
可选地,在获取单词向量表示序列组的向量表示时,可以依次读取单词向量表示序列组中的单词向量表示输入GRU,并基于GRU上一个输出状态和当前输入的单词向量表示得到GRU当前输出状态,最终得到单词向量表示序列组的向量表示。
备选地,在获取单词向量表示序列组的向量表示时,还可以先获取各个单词向量表示序列的向量表示,得到编码向量表示序列,之后再获取编码向量表示序列的向量表示,得到编码的向量表示。
示例性的,在获取各个单词向量表示序列的向量表示时,可以设置神经网络模型的初始输出值为0,依次从单词向量表示序列中读取单词向量表示并执行以下输出步骤直至遍历单词向量表示序列以得到单词向量表示序列的向量表示:将当前向量表示和上一次神经网络模型输出的向量表示作为神经网络模型的输入,得到当前神经网络模型输出的向量表示。也即,可以通过神经网络模型对单词向量表示序列中的单词向量表示进行编码以得到单词向量表示序列的向量表示。
应当理解,这里的单词向量表示序列的向量表示的当前输出状态,可以基于对上一个输出状态和当前输入的单词向量表示的非线性变换得到,计算公式如下:
hn=f(hn-1,Wn);
其中hn表示第n个输出状态,R表示实数域,dh表示输出状态的维度长度,hn-1表示第n-1个输出状态,f表示非线性变换,Wn表示第n个单词向量表示。
上述获取的各单词向量表示序列的向量表示,可以添加至编码向量表示序列,之后再获取编码向量表示序列的向量表示,再将编码向量表示序列的向量表示作为编码的向量表示。
示例性的,还可以通过上述的神经网络模型来获取编码向量表示序列的向量表示:设置神经网络模型的初始输出值为0,依次从编码向量表示序列中读取编码向量表示并执行以下输出步骤直至遍历编码向量表示序列以得到编码向量表示序列的向量表示:将当前向量表示和上一次神经网络模型输出的向量表示作为神经网络模型的输入,得到当前神经网络模型输出的向量表示。也即可以通过神经网络模型对编码向量表示序列中的编码向量表示进行编码以得到编码向量表示序列的向量表示。
应当理解,这里的编码向量表示序列的向量表示的当前输出状态同样可以基于对上一个输出状态和当前输入的编码向量表示的非线性变换得到,计算公式为:
hn=f(hn-1,Wn);
其中hn表示第n个输出状态,R表示实数域,dh表示输出状态的维度长度,hn-1表示第n-1个输出状态,f表示非线性变换,Wn表示第n个编码向量表示。
步骤205,解码编码的向量表示,得到推荐查询文本。
在本实施例中,基于步骤204中得到的编码的向量表示,可以对编码的向量表示进行解码,从而得到单词的向量表示序列组,再基于单词的向量表示序列组,得到推荐查询文本序列。
在对编码的向量表示进行解码时,可以采用现有技术或未来发展的技术中的解码方法来实现,本申请对此不做限定。例如,可以从编码的向量表示中每次解码出与编码的向量表示的当前状态相似概率最大的单词的向量表示,之后演化编码的向量表示至下一状态,并将下一状态作为当前状态再次获取相似概率最大的单词的向量表示并再次演化。
在本实施例的一些可选实现方式中,在对上述编码的向量表示进行解码时,可以将编码的向量表示的当前状态添加至当前状态序列,对当前状态序列执行以下获取演化步骤以得到单词的向量表示序列组:获取单词的向量表示与当前状态序列中各当前状态的相似概率,得到当前相似概率序列,采用最大似然估计获取当前相似概率序列中各相似概率与演化至当前状态过程中的所有相似概率的乘积序列,从大到小获取乘积序列中预定数量的单词的向量表示,根据各当前状态获取的单词的向量表示将各当前状态演化至下一状态,得到下一状态序列,将下一状态序列作为新的当前状态序列,并对新的当前状态执行获取演化步骤。
应当理解,对于上述编码的向量的当前状态,计算单词的向量表示与当前状态的cosine相似度,得到一个相似概率:
SCORE(wi)=COS(Hn,wi);
其中,SCORE(wi)表示单词wi与编码的向量的当前状态Hn的cosine相似概率;
采用最大似然估计获取当前相似概率序列中各相似概率与演化至当前状态过程中的所有相似概率的乘积序列:
其中,Qm表示要向用户推荐的查询文本,Q1:m-1表示用户输入的m-1个查询历史记录,P(Qm|Q1:m-1)表示从用户输入的m-1个查询历史记录中得到要向用户推荐的查询文本的概率,Wn表示解码过程中当前产出的单词的向量表示,W1:n-1表示解码过程中已经产出的n-1个单词的向量表示,表示基于从解码过程中已经产出的n-1个单词的向量表示以及用户输入的m-1个查询历史记录的向量表示中得到当前产出的单词的相似概率与演化至当前状态过程中的所有相似概率的乘积概率,Nm表示要向用户推荐的查询文本产出的单词的数量。
同时,可以从上一个状态和状态演化矩阵得到当前状态:
Hn=Hn-1×M
其中Hn表示当前状态为第n个状态,Hn-1表示第n-1个状态,M表示在获取乘积序列中单词的向量表示后得到的状态演化矩阵。
应当注意的是,这里由于每一个当前状态均会获取大量的相似概率较高的单词,为了减少搜索所占用的空间和时间,在每一步深度扩展的时候,保留预定数量的乘积概率较高的单词的向量表示,并剪掉其它的单词的向量表示以减少了空间消耗和提高时间效率,这样最终得到预定数量的单词的向量表示序列组。
对于预定数量的单词的向量表示序列组中的各单词的向量表示序列,可以得到一个推荐查询文本,从而可以得到预定数量的推荐查询文本。在将单词的向量表示序列转换为推荐查询文本时,可以从标志码与向量的映射关系数据库中,查询单词的向量表示序列所对应的标识码序列,再从单词与标识码的映射关系数据库中,查询标志码序列所对应的单词序列,也即推荐查询文本。
步骤206,基于推荐查询文本,向用户推送信息。
在本实施例中,在步骤205中得到推荐查询文本之后,可以基于推荐查询文本向用户推送信息。
在本实施例的一些可选实现方式中,可以从查询数据库中搜索符合各推荐查询文本的推送信息,之后向用户推送搜索到的推送信息。
本申请上述实施例提供的基于人工智能的推送信息的方法,对用户当前查询文本和历史查询文本进行编码,得到编码的向量表示,在解码编码的向量表示,从而得到推荐的查询文本,最后并基于推荐的查询文本向用户推送信息,由于编码和解码的过程中考虑了上文对下文的影响,因此实现了富于针对性的信息推送,且推送的信息的精准度较高。
请参考图3,图3是根据本实施例的基于人工智能的推送信息的方法中获取编码的向量表示并解码编码的向量表示的一个示例性应用场景。
如图3所示,在获取编码的向量表示并解码编码的向量表示的一个应用场景中,用户在30分钟之内先后查询了“深圳最新房价”和“商业贷款”,则运行基于人工智能的推送信息的方法的设备将这两个查询文本“深圳最新房价”和“商业贷款”分别分词,得到包括“深圳”、“最新”、“房价”三个单词的第一个单词序列301,以及包括“商业”和“贷款”两个单词的第二个单词序列302;之后将第一个单词序列301转换为第一个单词向量表示序列303,将第二个单词序列302转换为第二个单词向量表示序列304;然后采用神经网络模型编码第一个单词向量表示序列303,得到第一个编码向量表示305,采用神经网络模型编码第二个单词向量表示序列304,得到第二个编码向量表示306;之后采用神经网络模型将两个编码向量表示305、306合并为编码的向量表示307;之后解码编码的向量表示307,得到与编码的向量表示相似概率最高的“公积金”的向量表示308,并将编码的向量表示演化至下一状态,将下一状态作为当前状态进行解码,获取文本的向量表示中与当前状态的相似概率,并获取该相似概率与演化过程中的相似概率的乘积,得到乘积最大的“贷款”的向量表示309,从而得到单词310“公积金”和单词311“贷款”,也即得到推荐查询文本“公积金贷款”,之后可以基于“公积金贷款”向用户推送查询数据库中符合“公积金贷款”的推送信息。
应当理解,图3中示出的应用场景仅为示例性说明,并不代表对本申请的限定。例如,其中的查询文本可以为多个,从而得到与查询文本的数量相同的单词的表示向量以及编码向量的数量,最终得到的推荐查询文本也可以为多个。
在本申请的上述实施例中,第一个单词序列和第二个单词序列仅代表两个不同的单词序列。本领域技术人员应当理解,其中的第一个或第二个并不构成对单词序列的特殊限定。
在本申请的上述实施例中,第一个单词向量表示和第二个单词向量表示仅代表两个不同的单词向量表示。本领域技术人员应当理解,其中的第一个或第二个并不构成对单词向量表示的特殊限定。
在本申请的上述实施例中,第一个编码向量表示和第二个编码向量表示仅代表两个不同的编码向量表示。本领域技术人员应当理解,其中的第一个或第二个并不构成对编码向量表示的特殊限定。
进一步参考图4,作为对上述方法的实现,本申请提供了一种基于人工智能的推送信息的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图4所示,本实施例的基于人工智能的推送信息的装置400包括:文本获取单元410、文本分词单元420、向量获取单元430、向量编码单元440、向量解码单元450和信息推送单元460。
其中,文本获取单元410,配置用于获取用户的当前查询文本及预定时间内的历史查询文本,得到查询文本组。文本分词单元420,配置用于将查询文本组中的各查询文本分词,得到单词序列组。向量获取单元430,配置用于获取单词序列组中各单词的向量表示,得到单词向量表示序列组。向量编码单元440,配置用于获取单词向量表示序列组的向量表示,得到编码的向量表示。向量解码单元450,配置用于解码编码的向量表示,得到推荐查询文本。信息推送单元460,配置用于基于推荐查询文本,向用户推送信息。
在本实施例的一些可选实现方式中,向量编码单元440包括:单词向量编码子单元441,用于对于单词向量表示序列组中的各单词向量表示序列,分别获取序列的向量表示,得到编码向量表示序列;以及编码向量编码子单元442,用于对于编码向量表示序列,获取序列的向量表示,得到编码的向量表示。
在本实施例的一些可选实现方式中,单词向量编码子单元441和编码向量编码子单元442中获取序列的向量表示包括:设置神经网络模型的初始输出值为0,依次从序列中读取向量表示并执行以下输出步骤直至遍历序列以得到序列的向量表示:将当前向量表示和上一次神经网络模型输出的向量表示作为神经网络模型的输入,得到当前神经网络模型输出的向量表示。
在本实施例的一些可选实现方式中,向量解码单元450包括:获取演化子单元451,用于将编码的向量表示的当前状态添加至当前状态序列,对当前状态序列执行以下获取演化步骤以得到单词的向量表示序列组:获取单词的向量表示与当前状态序列中各当前状态的相似概率,得到当前相似概率序列,采用最大似然估计获取当前相似概率序列中各相似概率与演化至当前状态过程中的所有相似概率的乘积序列,从大到小获取乘积序列中预定数量的单词的向量表示,根据各当前状态获取的单词的向量表示将各当前状态演化至下一状态,得到下一状态序列,将下一状态序列作为新的当前状态序列,并对新的当前状态执行获取演化步骤;推荐文本子单元452,用于基于单词的向量表示序列组,得到推荐查询文本序列。
在本实施例的一些可选实现方式中,信息推送单元460包括:信息搜索子单元461,用于从查询数据库中搜索符合各推荐查询文本的推送信息;信息推送子单元462,用于向用户推送搜索到的推送信息。
应当理解,参考图4描述的装置中的单元410至460与图2中描述的方法的步骤201至步骤206相对应。由此,上文针对步骤201至步骤206描述的操作和特征同样适用于单元410至单元460,在此不再赘述。
从图4中可以看出,本实施例中的基于人工智能的推送信息的方法的装置400,首先对当前查询文本和历史查询文本分别进行编码,分别得到编码向量表示,之后对编码向量表示序列进行编码,得到编码的向量表示,之后解码编码的向量表示,从而得到推荐查询文本,由于在编码和解码的过程中均考虑了上文对下文的影响,因此实现了高效、准确且富于针对性的信息推送。
下面参考图5,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统500的结构示意图。
如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的
程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本申请的方法中限定的上述功能。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个单元、程序段、或代码的一部分,所述单元、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括文本获取单元、文本分词单元、向量获取单元、向量编码单元、向量解码单元和信息推送单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,文本获取单元还可以被描述为“获取用户的当前查询文本及预定时间内的历史查询文本,得到查询文本组的单元”。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:获取用户的当前查询文本及预定时间内的历史查询文本,得到查询文本组;将查询文本组中的各查询文本分词,得到单词序列组;获取单词序列组中各单词的向量表示,得到单词向量表示序列组;获取单词向量表示序列组的向量表示,得到编码的向量表示;解码编码的向量表示,得到推荐查询文本;基于推荐查询文本,向用户推送信息。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。