一种基于循环神经网络的输入方法及装置制造方法及图纸

技术编号:17912340 阅读:53 留言:0更新日期:2018-05-10 18:14
本发明专利技术公开了一种基于循环神经网络的输入方法及装置,该方法中,在获取词向量矩阵后,根据词向量矩阵构建过完备基底矩阵,根据过完备基底矩阵构建稀疏表示下标矩阵和稀疏表示系数矩阵。需要推荐候选词时,根据过完备基底矩阵、稀疏表示下标矩阵和稀疏表示系数矩阵,获取所需词语的词向量,根据该词向量和循环神经网络模型获取候选词。本发明专利技术通过过完备基底矩阵、稀疏表示下标矩阵和稀疏表示系数矩阵获取各个词语的词向量。而过完备基底矩阵、稀疏表示下标矩阵和稀疏表示系数矩阵的容量之和小于词向量矩阵,本发明专利技术的方案占用终端设备的空间较小,且计算量较小,从而减少对终端设备的存储能力和运量能力的需求,能够在多种终端设备中应用。

【技术实现步骤摘要】
一种基于循环神经网络的输入方法及装置
本申请涉及信息输入领域,尤其涉及一种基于循环神经网络的输入方法及装置。
技术介绍
随着科技发展,多种终端设备应运而生,例如手机、智能电视和计算机等,以满足用户的工作和娱乐需求。在终端设备的使用过程中,用户有时需要输入信息,以便终端设备根据接收到的信息执行相应的操作。为了提高输入效率,优化用户的体验,现有输入方法通常会提供候选词推荐功能。该功能用于根据用户输入的前几个词语,推测出用户希望输入的下一个词语,将其作为候选词,并向用户推荐。目前,为了实现候选词推荐功能,大部分输入方法采用n元语言模型,这种输入方法中,预先通过大规模的语料统计长度为n的词组出现的频率,据此构建n元语言模型,然后根据用户已经输入的前n-1个词语以及该n元语言模型,确定需要向用户推荐的下一个词语(即候选词)。但是,受到n元语言模型的模型大小和数据稀疏问题的制约,应用该方案时,往往只能根据输入的前n-1个或n-2个词语去推测候选词,而无法考虑更长的上下文信息,导致推荐的候选词不准确。例如,若用户输入“intwodays”,且采用的n元语言模型为三元语言模型,则通过用户输入的“twodays”确定候选词,由于通过大规模语料统计,可以确定“twodaysago”为常用词组,则三元语言模型会推测候选词为“ago”。但是,“intwodaysago”是不符合英语语法的,“ago”并不是一个合适的候选词,导致本次推荐的候选词不准确。为了解决上述输入方法所具有的推荐候选词不准确的问题,目前还可采用一种应用循环神经网络的输入方法。该方法中,需要构建循环神经网络模型,并将每一个词语分解成一个多维(通常为几百维)的向量,各个词语的向量构成词向量矩阵。其中,若假设用于构建词向量矩阵的词语数量为n,每个词语的词向量维度为e,则词向量矩阵通常为n*e矩阵。当需要向用户推荐候选词时,通过词向量矩阵,能够获取用户输入的各个历史词语的词向量,以及获取当前词的词向量,将各个历史词语的词向量和当前词的词向量输入循环神经网络,循环神经网络即可输出候选词。该方法能够基于用户输入的历史词语的词向量以及当前输入词的词向量,推测得到候选词,从而提高了推荐候选词的准确性。但是,专利技术人在本申请的研究过程中发现,应用循环神经网络的输入方法时,每个词语通常被表示成几百维的向量,且词表中往往有几万个单词(即n的数值为几万),这就导致词向量矩阵中包含上万个几百维的向量(即e的数值为几百),容量极大,并且根据词向量确定候选词时的计算量较大,对终端设备的存储能力和运量能力具有较高的要求,甚至难以在某些终端设备(例如手机)上应用。
技术实现思路
本专利技术实施例公开一种基于循环神经网络的输入方法及装置,以解决现有技术中,词向量矩阵容量极大,并且根据词向量确定候选词时的计算量较大,对终端设备的存储能力和运量能力具有较高的要求的问题。本专利技术的第一方面,公开一种基于循环神经网络的输入方法,包括:获取词向量矩阵,其中,所述词向量矩阵为n*e矩阵,n为词语数量,e为每个词语的词向量维度;获取所述词向量矩阵中b个词语的词向量,根据所述b个词语的词向量构建过完备基底矩阵,其中,所述过完备基底矩阵为b*e矩阵,所述过完备基底矩阵中的每个基底向量表示所述b个词语对应的一个词向量,b为小于n的正整数;根据每个词语的词向量以及所述过完备基底矩阵,构建稀疏表示下标矩阵和稀疏表示系数矩阵,其中,所述稀疏表示下标矩阵和所述稀疏表示系数矩阵均为n*s矩阵,s为预设的稀疏效果参数;当需要推荐候选词时,根据所述过完备基底矩阵、稀疏表示下标矩阵和稀疏表示系数矩阵,获取所需词语的目标基底向量,并通过所述目标基底向量确定所述所需词语的词向量,根据所需词语的词向量和循环神经网络模型获取候选词;其中,每个词语的目标基底向量用于组合成所述词语的词向量;所述稀疏表示下标矩阵包含的下标向量表示若组成所述词语的词向量,所需的目标基底向量在所述过完备基底矩阵中的位置;所述稀疏表示系数矩阵包含的系数向量表示若组成所述词语的词向量,所需的目标基底向量对应的系数。可选的,所述获取所述词向量矩阵中b个词语的词向量,包括:按照词频为所述词语进行排序;根据排序结果,选择词频最高的b个词语;通过查询所述词向量矩阵,获取所述b个词语的词向量。可选的,所述根据每个词语的词向量以及所述过完备基底矩阵,构建稀疏表示下标矩阵和稀疏表示系数矩阵,包括:设定其中一个词语的词向量为xi,所述过完备基底矩阵为B,创建以下LASSO回归问题:其中,为实数形式的超参数,wi为向量参数,wi的维度等于所述过完备基底矩阵的行数;求解所述LASSO回归问题,获取当wi中非零分量的个数为s时,所述非零分量在wi中的维度,以及所述非零分量的值;根据所述非零分量在wi中的维度,确定所述词语对应的稀疏表示下标向量,以及根据所述非零分量的值,确定所述词语对应的稀疏表示系数向量;根据每个词语对应的稀疏表示下标向量,构建相应的稀疏表示下标矩阵,并根据每个词语对应的稀疏表示系数向量,构建相应的稀疏表示系数矩阵。可选的,所述求解所述LASSO回归问题,获取当wi中非零分量的个数为s时,所述非零分量在wi中的维度,以及所述非零分量的值,包括:41)确定的数值为预设的初始数值;42)将的数值代入所述LASSO回归问题并计算,获取wi;43)获取wi中非零分量的个数,判断wi中非零分量的个数是否等于s,若等于,获取所述非零分量在wi中的维度,以及所述非零分量的值,若不等于,执行步骤44)的操作;44)若wi中非零分量的个数大于s,根据预设的第一调整幅度扩大的数值,若wi中非零分量的个数小于s,根据预设的第二调整幅度减小的数值,然后返回执行步骤42)的操作。可选的,所述当需要推荐候选词时,根据所述过完备基底矩阵、稀疏表示下标矩阵和稀疏表示系数矩阵,获取所需词语的目标基底向量,并通过所述目标基底向量确定所述所需词语的词向量,包括:查找所述稀疏表示下标矩阵,获取所述稀疏表示下标矩阵中,所述所需词语对应的稀疏表示下标向量,其中,所述稀疏表示下标向量用于指示所述所需词语的目标基底向量在所述过完备基底矩阵中的位置;查找所述稀疏表示系数矩阵,获取所述稀疏表示系数矩阵中,所述所需词语对应的稀疏表示系数向量,其中,所述稀疏表示系数向量用于指示所述所需词语的目标基底向量对应的系数;根据所述稀疏表示下标向量查找所述过完备基底矩阵,获取所述所需词语的目标基底向量;根据所述目标基底向量,以及所述目标基底向量对应的系数,进行加权组合,计算所述所需词语的词向量。本专利技术的第二方面,公开一种基于循环神经网络的输入装置,包括:第一矩阵获取模块,用于获取词向量矩阵,其中,所述词向量矩阵为n*e矩阵,n为词语数量,e为每个词语的词向量维度;第二矩阵获取模块,用于获取所述词向量矩阵中b个词语的词向量,根据所述b个词语的词向量构建过完备基底矩阵,其中,所述过完备基底矩阵为b*e矩阵,所述过完备基底矩阵中的每个基底向量表示所述b个词语对应的一个词向量,b为小于n的正整数;第三矩阵获取模块,用于根据每个词语的词向量以及所述过完备基底矩阵,构建稀疏表示下标矩阵和稀疏表示系数矩阵,其中,所述稀疏表示下标矩阵和所述稀疏表示本文档来自技高网
...
一种基于循环神经网络的输入方法及装置

【技术保护点】
一种基于循环神经网络的输入方法,其特征在于,包括:获取词向量矩阵,其中,所述词向量矩阵为n*e矩阵,n为词语数量,e为每个词语的词向量维度;获取所述词向量矩阵中b个词语的词向量,根据所述b个词语的词向量构建过完备基底矩阵,其中,所述过完备基底矩阵为b*e矩阵,所述过完备基底矩阵中的每个基底向量表示所述b个词语对应的一个词向量,b为小于n的正整数;根据每个词语的词向量以及所述过完备基底矩阵,构建稀疏表示下标矩阵和稀疏表示系数矩阵,其中,所述稀疏表示下标矩阵和所述稀疏表示系数矩阵均为n*s矩阵,s为预设的稀疏效果参数;当需要推荐候选词时,根据所述过完备基底矩阵、稀疏表示下标矩阵和稀疏表示系数矩阵,获取所需词语的目标基底向量,并通过所述目标基底向量确定所述所需词语的词向量,根据所需词语的词向量和循环神经网络模型获取候选词;其中,每个词语的目标基底向量用于组合成所述词语的词向量;所述稀疏表示下标矩阵包含的下标向量表示若组成所述词语的词向量,所需的目标基底向量在所述过完备基底矩阵中的位置;所述稀疏表示系数矩阵包含的系数向量表示若组成所述词语的词向量,所需的目标基底向量对应的系数。

【技术特征摘要】
1.一种基于循环神经网络的输入方法,其特征在于,包括:获取词向量矩阵,其中,所述词向量矩阵为n*e矩阵,n为词语数量,e为每个词语的词向量维度;获取所述词向量矩阵中b个词语的词向量,根据所述b个词语的词向量构建过完备基底矩阵,其中,所述过完备基底矩阵为b*e矩阵,所述过完备基底矩阵中的每个基底向量表示所述b个词语对应的一个词向量,b为小于n的正整数;根据每个词语的词向量以及所述过完备基底矩阵,构建稀疏表示下标矩阵和稀疏表示系数矩阵,其中,所述稀疏表示下标矩阵和所述稀疏表示系数矩阵均为n*s矩阵,s为预设的稀疏效果参数;当需要推荐候选词时,根据所述过完备基底矩阵、稀疏表示下标矩阵和稀疏表示系数矩阵,获取所需词语的目标基底向量,并通过所述目标基底向量确定所述所需词语的词向量,根据所需词语的词向量和循环神经网络模型获取候选词;其中,每个词语的目标基底向量用于组合成所述词语的词向量;所述稀疏表示下标矩阵包含的下标向量表示若组成所述词语的词向量,所需的目标基底向量在所述过完备基底矩阵中的位置;所述稀疏表示系数矩阵包含的系数向量表示若组成所述词语的词向量,所需的目标基底向量对应的系数。2.根据权利要求1所述的基于循环神经网络的输入方法,其特征在于,所述获取所述词向量矩阵中b个词语的词向量,包括:按照词频为所述词语进行排序;根据排序结果,选择词频最高的b个词语;通过查询所述词向量矩阵,获取所述b个词语的词向量。3.根据权利要求1所述的基于循环神经网络的输入方法,其特征在于,所述根据每个词语的词向量以及所述过完备基底矩阵,构建稀疏表示下标矩阵和稀疏表示系数矩阵,包括:设定其中一个词语的词向量为xi,所述过完备基底矩阵为B,创建以下LASSO回归问题:其中,为实数形式的超参数,wi为向量参数,wi的维度等于所述过完备基底矩阵的行数;求解所述LASSO回归问题,获取当wi中非零分量的个数为s时,所述非零分量在wi中的维度,以及所述非零分量的值;根据所述非零分量在wi中的维度,确定所述词语对应的稀疏表示下标向量,以及根据所述非零分量的值,确定所述词语对应的稀疏表示系数向量;根据每个词语对应的稀疏表示下标向量,构建相应的稀疏表示下标矩阵,并根据每个词语对应的稀疏表示系数向量,构建相应的稀疏表示系数矩阵。4.根据权利要求3所述的基于循环神经网络的输入方法,其特征在于,所述求解所述LASSO回归问题,获取当wi中非零分量的个数为s时,所述非零分量在wi中的维度,以及所述非零分量的值,包括:41)确定的数值为预设的初始数值;42)将的数值代入所述LASSO回归问题并计算,获取wi;43)获取wi中非零分量的个数,判断wi中非零分量的个数是否等于s,若等于,获取所述非零分量在wi中的维度,以及所述非零分量的值,若不等于,执行步骤44)的操作;44)若wi中非零分量的个数大于s,根据预设的第一调整幅度扩大的数值,若wi中非零分量的个数小于s,根据预设的第二调整幅度减小的数值,然后返回执行步骤42)的操作。5.根据权利要求1所述的基于循环神经网络的输入方法,其特征在于,所述当需要推荐候选词时,根据所述过完备基底矩阵、稀疏表示下标矩阵和稀疏表示系数矩阵,获取所需词语的目标基底向量,并通过所述目标基底向量确定所述所需词语的词向量,包括:查找所述稀疏表示下标矩阵,获取所述稀疏表示下标矩阵中,所述所需词语对应的稀疏表示下标向量,其中,所述稀疏表示下标向量用于指示所述所需词语的目标基底向量在所述过完备基底矩阵中的位置;查找所述稀疏表示系数矩阵,获取所述稀疏表示系数矩阵中,所述所需词语对应的稀疏表示系数向量,其中,所述稀疏表示系数向量用于指示所述所需词语的目标基底向量对应的系数;根据所述稀疏表示下标向量查找所述过完备基底矩阵,获取所述所需词语的目标基底向量;根据所述目标基底向量,以及所述目标基底向量对应的系数,进行加权组合,计算所述所需词语的词向量。6.一种基于循环神经网络的输入装置,其特征在于,包括:第一矩阵获取模块,用于获取...

【专利技术属性】
技术研发人员:阮翀
申请(专利权)人:北京新美互通科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1