词汇预测方法、装置、设备和计算机可读存储介质与流程

文档序号:17477118发布日期:2019-04-20 06:11阅读:174来源:国知局
词汇预测方法、装置、设备和计算机可读存储介质与流程

本发明实施例涉及计算机技术,尤其涉及一种词汇预测方法、装置、设备和计算机可读存储介质。



背景技术:

领域内词汇预测研究是在自然语言处理的一个新兴课题,词汇预测准确性的提高对文本聚类、语义消歧、语义web、信息检索等众多应用领域具有重要意义。

传统的词汇预测需要对词汇之间的相互映射关系进行研究,并对大量统计数据进行分析后才能得到预测结果。但这需要依靠人为统计和计算,不适用于当前大数据计算的场景。



技术实现要素:

本发明提供一种词汇预测方法、装置、设备和计算机可读存储介质,以提高词汇预测的效率。

第一方面,本发明实施例提供一种词汇预测方法,包括:

获取多个连续时间节点的预测样本文本;

分别对多个连续时间节点的预测样本文本进行分词处理,得到多个预测样本词汇序列;

对多个预测样本词汇序列进行编码,得到多个预测样本词汇向量序列;

依次以前一个时间节点的预测样本词汇向量序列中的x个连续词汇向量作为预测输入,以后一个时间节点的预测样本词汇向量序列中的词汇作为目标词汇,对词汇预测模型进行训练,得到词汇预测模型,词汇预测模型表示输入x个连续词汇向量后不同目标词汇的出现概率;

将待预测文本输入词汇预测模型,得到词汇预测结果。

在第一方面一种可能的实现方式中,分别对多个连续时间节点的预测样本文本进行分词处理,得到多个预测样本词汇序列,包括:

分别对多个连续时间节点的预测样本文本进行分词处理,并去除分词处理后的停用词,得到多个预测样本词汇序列。

在第一方面一种可能的实现方式中,依次以前一个时间节点的预测样本词汇向量序列中的x个连续词汇向量作为预测输入,以后一个时间节点的预测样本词汇向量序列中的词汇作为目标词汇,对词汇预测模型进行训练,得到词汇预测模型,包括:

依次以前一个时间节点的预测样本词汇向量序列中的x个连续词汇向量作为预测输入,以后一个时间节点的预测样本词汇向量序列中的词汇作为目标词汇,在后一个时间节点的预测样本词汇向量序列中以x个连续词汇向量作为训练窗口,滑动训练窗口,对词汇训练模型进行训练,得到词汇预测模型。

在第一方面一种可能的实现方式中,依次以前一个时间节点的预测样本词汇向量序列中的x个连续词汇向量作为预测输入,以后一个时间节点的预测样本词汇向量序列中的词汇作为目标词汇,对词汇预测模型进行训练,得到词汇预测模型之后,方法还包括:

优化词汇预测模型,以使词汇预测模型的输出平均概率最高。

在第一方面一种可能的实现方式中,对多个预测样本词汇序列进行编码,得到多个预测样本词汇向量序列,包括:

利用one-hot编码方式对多个预测样本词汇序列进行编码,得到多个预测样本词汇编码数据;

将多个预测样本词汇编码数据分别与预设非稀疏矩阵相乘,得到得到多个预测样本词汇向量序列。

第二方面,本发明实施例还提供了一种词汇预测装置,包括:

文本获取模块,用于获取多个连续时间节点的预测样本文本;

词汇获取模块,用于分别对多个连续时间节点的预测样本文本进行分词处理,得到多个预测样本词汇序列;

词汇处理模块,用于对多个预测样本词汇序列进行编码,得到多个预测样本词汇向量序列;

模型训练模块,用于依次以前一个时间节点的预测样本词汇向量序列中的x个连续词汇向量作为预测输入,以后一个时间节点的预测样本词汇向量序列中的词汇作为目标词汇,对词汇预测模型进行训练,得到词汇预测模型,词汇预测模型表示输入x个连续词汇向量后不同目标词汇的出现概率;

词汇预测模块,用于将待预测文本输入词汇预测模型,得到词汇预测结果。

在第二方面一种可能的实现方式中,词汇获取模块,具体用于分别对多个连续时间节点的预测样本文本进行分词处理,并去除分词处理后的停用词,得到多个预测样本词汇序列。

在第二方面一种可能的实现方式中,模型训练模块,具体用于依次以前一个时间节点的预测样本词汇向量序列中的x个连续词汇向量作为预测输入,以后一个时间节点的预测样本词汇向量序列中的词汇作为目标词汇,在后一个时间节点的预测样本词汇向量序列中以x个连续词汇向量作为训练窗口,滑动训练窗口,对词汇训练模型进行训练,得到词汇预测模型。

第三方面,本发明实施例还提供了一种词汇预测设备,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面任一种可能的实现方式所述的词汇预测方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如第一方面任一种可能的实现方式所述的词汇预测方法。

本发明实施例提供的词汇预测方法、装置、设备和计算机可读存储介质,通过获取多个连续时间节点的预测样本文本,分别对多个连续时间节点的预测样本文本进行分词处理,得到多个预测样本词汇序列,对多个预测样本词汇序列进行编码,得到多个预测样本词汇向量序列,依次以前一个时间节点的预测样本词汇向量序列中的x个连续词汇向量作为预测输入,以后一个时间节点的预测样本词汇向量序列中的词汇作为目标词汇,对词汇预测模型进行训练,得到词汇预测模型,词汇预测模型表示输入x个连续词汇向量后不同目标词汇的出现概率,将待预测文本输入词汇预测模型,得到词汇预测结,实现了词汇预测的自动处理,避免采用人力的方式进行词汇预测的处理,适用于大数据平台中数据的处理。

附图说明

图1为本发明实施例提供的词汇预测方法实施例一的流程图;

图2为本发明实施例提供的词汇预测装置实施例一的结构示意图;

图3为本发明实施例提供的词汇预测设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

图1为本发明实施例提供的词汇预测方法实施例一的流程图,如图1所示,本实施例提供的词汇预测方法包括:

步骤s101,获取多个连续时间节点的预测样本文本。

为了解决现有技术中,对词汇预测的处理仅能依靠人力实现所带来的问题,本实施例提供一种词汇预测方法,通过将文本中的词汇进行编码后得到词汇的特征向量,然后根据词汇的特征向量训练词汇预测模型,从而实现对词汇的自动预测,从而避免人工处理,而是可以由计算机实现自动的词汇预测处理。本实施例提供的词汇预测方法可以应用于任一种具有处理能力的计算机、服务器或其他硬件设备。特别的,由于在大数据平台中,具有大量文本处理需求,为了提高大数据平台的处理效率,本实施例提供的词汇预测方法可以应用于大数据平台,由大数据平台中的一台或多台大数据服务器执行。

首先,对词汇进行自动预测的重点在于训练准确的词汇预测模型,本实施例所提供的词汇预测方法的关键在于如何训练出能够准确进行词汇预测的模型。而对词汇预测模型的训练,首先需要具有训练样本。由于对词汇的预测实际上是根据前一个时间节点的文本中所出现的词汇去预测下一个时间点的文本中可能出现的词汇的过程,因此,对词汇预测模型进行训练的训练样本需要是多个连续时间节点的语塞样本文本。这里的多个连续时间节点的间隔可以根据实际需求设定,例如每天、每小时等。另外,由于对词汇的预测并不是能够随意进行的,例如使用一篇生物领域的文本显然无法预测另一篇数学领域文本中词汇出现的概率,因此,词汇的预测需要在同一领域的文本中进行。所以在本实施例中,选取的预测样本文本需要是统一领域的多个连续时间节点的文本。

步骤s102,分别对多个连续时间节点的预测样本文本进行分词处理,得到多个预测样本词汇序列。

由于在相同时间的文本中出现的词汇之间才具有相关性,因此,为了确定词汇之间的相关性,需要考虑各词汇出现的时间。在确定了多个连续时间节点的预测样本文本之后,首先需要对各预测样本文本中的词汇进行分词处理,得到每个预测样本文本所对应的样本词汇序列。每个预测样本文本根据其大小的不同,所得到的样本词汇序列中所包含的词汇数量是不同的,但每个样本词汇序列中的词汇需要根据各词汇在预测样本文本中出现的顺序依次排列。对预测样本文本进行分词处理的具体方法可以采用现有的任一种文本处理方法,在本实施例中不再赘述。

另外,在得到多个连续时间节点的预测样本文本后,对预测样本文本进行分词处理时,还可以先去除预测样本文本中的停用词。停用词是指在信息检索中,为节省存储空间和提高搜索效率,在处理自然语言数据(或文本)之前或之后会自动过滤掉某些字或词。这些停用词都是人工输入、非自动化生成的,生成后的停用词会形成一个停用词表。停用词一般是文本中的功能性词汇,对停用词进行词汇预测没有意义,因此去除停用词后,可以提高对词汇预测样本进行训练的效率。

步骤s103,对多个预测样本词汇序列进行编码,得到多个预测样本词汇向量序列。

在得到多个预测样本词汇序列后,各预测样本词汇序列仍然是文本方式所表示的,为了对其进行定量化的处理,需要对其进行编码,使预测样本词汇序列变为能够被计算机所处理的数据。对预测样本词汇序列进行编码的具体方式可以采用任一种对文本数据进行编码的方式,编码后的每个词汇分别对应一个向量,那么每个预测样本词汇序列就对应一个预测样本词汇向量序列。

在本实施例中,以采用one-hot编码方式对预测样本词汇序列进行编码为例,对上述编码步骤进行详细说明。假设一个预测样本词汇序列中包括m个词汇,分别为word1、word2、word3、…、wordm-1、wordm。利用one-hot编码后,得到每个词汇对应的向量分别为:

word1(1,0,0,…,0,0),word2(0,1,0,…,0,0),word3(0,0,1,…,0,0),…,wordm-1(0,0,0,…,1,0),wordm(0,0,0,…,0,1)。

然后将one-hot向量转换为一个n维的非稀疏矩阵,随机生成一个m×n的矩阵,并将每个词汇的one-hot向量与这个m×n的矩阵相乘,这样每个词汇得到一个n维的向量,作为该词汇的特征向量。

步骤s104,依次以前一个时间节点的预测样本词汇向量序列中的x个连续词汇向量作为预测输入,以后一个时间节点的预测样本词汇向量序列中的词汇作为目标词汇,对词汇预测模型进行训练,得到词汇预测模型,词汇预测模型表示输入x个连续词汇向量后不同目标词汇的出现概率。

在得到每个时间节点对应的预测样本词汇向量序列后,可以根据这些序列进行词汇预测模型的训练。也就是从第一个时间节点对应的预测样本词汇向量序列开始,将其作为预测输入,而将下一个时间节点对应的预测样本词汇向量序列作为目标词汇,训练词汇预测模型。这里的词汇预测模型表示输入前一个时间节点对应的x个连续词汇向量后,不同目标词汇的出现概率。对词汇预测模型进行训练的具体方法可以采用神经网络或其他网络模型的训练方法,这类方法在其他领域已经具有了广泛的使用,此处不再赘述。词汇预测模型例如可以采用word2vec模型。

在对词汇预测模型进行训练时,可以采用滑动窗口的方式进行训练,例如在前一天的预测样本词汇向量序列中选择5个向量作为输入,后一天的每个词汇向量都作为目标词汇。对于第i天,滑动窗口依次为word1,word2,word3,word4word5;word2,word3,word4word5,word6;word3,word4word5,word6,word7等等。窗口不断滑动,使其目标为预测第i+1天出现的词汇。

步骤s105,将待预测文本输入词汇预测模型,得到词汇预测结果。

在得到训练后的词汇预测模型后,当具有用途词汇预测模型相同领域的待预测文本时,即可将其输入词汇预测模型,那么词汇预测模型即可输入下一个时间节点可能出现的词汇预测结果。需要说明的是,将待预测文本输入词汇预测模型时,同样需要对应进行分词、编码等处理,也就是需要将待预测文本对应的词汇向量序列输入词汇预测模型。而得到的词汇预测结果为下一时间节点各词汇可能出现的概率。

为了提高词汇预测模型的准确性,在训练得到词汇预测模型后,还可以对其进行优化处理,模型优化的目标是预测第二天出现的词汇的概率最高,当有多个目标词汇时,使其平均的概率最高。采用预测样本词汇向量序列不断地训练词汇预测模型,可以不断地优化词汇预测模型中的参数,使得模型最优。

本实施例提供的词汇预测方法,通过获取多个连续时间节点的预测样本文本,分别对多个连续时间节点的预测样本文本进行分词处理,得到多个预测样本词汇序列,对多个预测样本词汇序列进行编码,得到多个预测样本词汇向量序列,依次以前一个时间节点的预测样本词汇向量序列中的x个连续词汇向量作为预测输入,以后一个时间节点的预测样本词汇向量序列中的词汇作为目标词汇,对词汇预测模型进行训练,得到词汇预测模型,词汇预测模型表示输入x个连续词汇向量后不同目标词汇的出现概率,将待预测文本输入词汇预测模型,得到词汇预测结,实现了词汇预测的自动处理,避免采用人力的方式进行词汇预测的处理,适用于大数据平台中数据的处理。

图2为本发明实施例提供的词汇预测装置实施例一的结构示意图,如图2所示,本实施例提供的词汇预测装置包括:

文本获取模块21,用于获取多个连续时间节点的预测样本文本。

词汇获取模块22,用于分别对多个连续时间节点的预测样本文本进行分词处理,得到多个预测样本词汇序列。

词汇处理模块23,用于对多个预测样本词汇序列进行编码,得到多个预测样本词汇向量序列。

模型训练模块24,用于依次以前一个时间节点的预测样本词汇向量序列中的x个连续词汇向量作为预测输入,以后一个时间节点的预测样本词汇向量序列中的词汇作为目标词汇,对词汇预测模型进行训练,得到词汇预测模型,词汇预测模型表示输入x个连续词汇向量后不同目标词汇的出现概率。

词汇预测模块25,用于将待预测文本输入词汇预测模型,得到词汇预测结果。

本实施例提供的词汇预测装置用于实现图1所示词汇预测方法的技术方案,其实现原理和技术效果类似,此处不再赘述。

进一步地,在图2所示实施例的基础上,词汇获取模块22,具体用于分别对多个连续时间节点的预测样本文本进行分词处理,并去除分词处理后的停用词,得到多个预测样本词汇序列。

进一步地,在图2所示实施例的基础上,模型训练模块24,具体用于依次以前一个时间节点的预测样本词汇向量序列中的x个连续词汇向量作为预测输入,以后一个时间节点的预测样本词汇向量序列中的词汇作为目标词汇,在后一个时间节点的预测样本词汇向量序列中以x个连续词汇向量作为训练窗口,滑动训练窗口,对词汇训练模型进行训练,得到词汇预测模型。

图3为本发明实施例提供的词汇预测设备的结构示意图,如图3所示,该词汇预测设备包括处理器31和存储器32;词汇预测设备中处理器31的数量可以是一个或多个,图3中以一个处理器31为例;词汇预测设备中的处理器31和存储器32可以通过总线或其他方式连接,图3中以通过总线连接为例。

存储器32作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请图1实施例中的词汇预测方法对应的程序指令/模块(例如,词汇预测装置中的文本获取模块21、词汇获取模块22、词汇处理模块23、模型训练模块24、词汇预测模块25)。处理器31通过运行存储在存储器32中的软件程序、指令以及模块,从而词汇预测设备的各种功能应用以及数据处理,即实现上述的词汇相关性确定方法。

存储器32可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据词汇预测设备的使用所创建的数据等。此外,存储器32可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。

本申请实施例还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种数词汇预测方法,该方法包括:

获取多个连续时间节点的预测样本文本;

分别对多个连续时间节点的预测样本文本进行分词处理,得到多个预测样本词汇序列;

对多个预测样本词汇序列进行编码,得到多个预测样本词汇向量序列;

依次以前一个时间节点的预测样本词汇向量序列中的x个连续词汇向量作为预测输入,以后一个时间节点的预测样本词汇向量序列中的词汇作为目标词汇,对词汇预测模型进行训练,得到词汇预测模型,词汇预测模型表示输入x个连续词汇向量后不同目标词汇的出现概率;

将待预测文本输入词汇预测模型,得到词汇预测结果。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述词汇预测装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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