首页 / 专利库 / 人工智能 / 人工智能 / 机器学习 / 强化学习 / 一种基于相似上下文和强化学习的中文词向量生成方法

一种基于相似上下文和强化学习的中文词向量生成方法

阅读:585发布:2020-05-13

专利汇可以提供一种基于相似上下文和强化学习的中文词向量生成方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于相似上下文和 强化学习 的中文词向量生成方法,解决了现有的中文词向量生成方法都是考虑基于目标词的相邻上下文和目标词的关系来进行预测的,没有考虑到在中文中有些单词虽然相邻,但是语义不相关的情况,且词向量的表示 质量 不高问题。本发明方法包括:选取语料库,进行语料库预处理,从而构建中文语料库;对中文目标词进行相似上下文发现,获得与中文目标词的语义相关的相似上下文;构建中文词向量强化学习 框架 ,并进行强化学习,得到中文目标词的词向量表示。本发明能够解决中文相邻词不相关的问题,生成高质量的中文词向量。,下面是一种基于相似上下文和强化学习的中文词向量生成方法专利的具体信息内容。

1.一种基于相似上下文和强化学习的中文词向量生成方法,其特征在于,该方法包括:
选取语料库,进行语料库预处理,从而构建中文语料库;
对中文目标词进行相似上下文发现,获得与中文目标词的语义相关的相似上下文;
构建中文词向量强化学习框架,并进行强化学习,得到中文目标词的词向量表示。
2.根据权利要求1所述的一种基于相似上下文和强化学习的中文词向量生成方法,其特征在于,所述语料库预处理包括:对下载的互联网文本进行简繁体转化,去除乱码、英文和标点,中文分词。
3.根据权利要求1所述的一种基于相似上下文和强化学习的中文词向量生成方法,其特征在于,对中文目标词进行相似上下文发现,包括对中文目标词进行相似上文发现,在中文目标词wt的历史词汇中寻找和wt相似的词语,其中,wt的历史词汇代表在wt附近,同时也在wt左边的词,t表示中文目标词的下标,具体步骤如下:
①确定上文窗口大小c;
②计算自适应相似阈值T,其等于中文目标词wt和范围[wt-c,wt+c]内所有词相似性的平均值;
③针对范围[wt-c,0)内的词wi,如果和中文目标词wt的相似度大于自适应相似阈值T,则将该词确定为相似上文,相似上文词语数量n1加1;
④如果n1<c,则向左扩展寻找范围,增加c个词语,即在范围[wt-2c,wt-c]内寻找相似上文,此时需要更新自适应相似阈值T,其等于中文目标词wt和范围[wt-2c,wt+2c]内所有词相似性的平均值,如果范围内的词和中文目标词wt的相似度大于自适应相似阈值T,则将该词确定为相似上文,相似上文词语数量n1加1;
⑤一直向左寻找,每次增加c个词并更新自适应阈值T,迭代寻找,直到相似上文词语数量等于c为止。
4.根据权利要求1所述的一种基于相似上下文和强化学习的中文词向量生成方法,其特征在于,对中文目标词进行相似上下文发现,还包括对中文目标词进行相似下文发现,在中文目标词wt的未来词汇中寻找和wt相似的词语,其中,wt的未来词汇代表在wt附近,同时也在wt右边的词,t表示中文目标词的下标,具体步骤如下:
①首先确定下文窗口大小c,其中,下文窗口和上文窗口大小一样大;
②计算自适应相似阈值T,其等于中文目标词wt和范围[wt-c,wt+c]内所有词相似性的平均值;
③针对范围(0,wt+c]内的词wj,如果和中文目标词wt的相似度大于自适应相似阈值T,则将该词确定为相似下文,相似下文词语数量n2加1;
④如果n2<c,则向右扩展寻找范围,增加c个词语,即在范围[wt+c,wt+2c]内寻找相似下文,此时需要更新自适应相似阈值T,其等于中文目标词wt和范围[wt-2c,wt+2c]内所有词相似性的平均值,如果范围内的词和中文目标词wt的相似度大于自适应相似阈值T,则将该词确定为相似下文,相似下文词语数量n2加1;
⑤一直向右寻找,每次增加c个词语并更新自适应阈值T,迭代寻找相似下文,直到相似下文词语数量等于c为止。
5.根据权利要求3或4所述的一种基于相似上下文和强化学习的中文词向量生成方法,其特征在于,所述词相似性通过相似度来表示词语语义的相似程度,其中,相似度s(wi,wj)的计算公式如下:
式中,wi和wj表示中文语料库中的两个词语; 和 表示wi和wj的初始词向量;s(wi,wj)表示词语间的相似度;i和j表示词的下标;||表示词向量的模长。
6.根据权利要求1所述的一种基于相似上下文和强化学习的中文词向量生成方法,其特征在于,所述构建中文词向量强化学习框架并进行强化学习过程中:将语料库定义为环境Environment,中文目标词wt和其相似上下文SCt定义为状态State,拥有CBOW和SG两种行为的分类器定义为代理Agent;当代理处于环境的一个状态时,其采取一个行为Action,然后环境根据这个行为给出一个回报Reward,代理通过回报判断目前行为的好坏,进行学习,然后在下一个状态采取更好的行为;当代理处理不同状态时,上述过程不断迭代,直到达到设置的最大迭代次数为止,强化学习完成,最后生成中文词向量。
7.根据权利要求6所述的一种基于相似上下文和强化学习的中文词向量生成方法,其特征在于,所述构建中文词向量强化学习框架并进行强化学习,具体包括如下步骤:
①初始化一个代理πθ,其参数为θ;
②设置学习率η和最大迭代次数Tmax,输入中文语料库E;
③让代理πθ和环境E进行交互,采样获得N个轨迹片段τs={τ1,…,τn,…,τN};
④计算每段轨迹总的回报,计算公式如下:
式中,R(τn)表示第n段轨迹总的回报,τn表示第n段轨迹, 表示第n段轨迹中第t个状态采取某种行为后的回报,t表示第t个状态,|E|表示中文语料库中单词的总数;
⑤计算N段轨迹总回报的期望
式中, 表示N段轨迹总的回报的期望,N表示轨迹的总数,R(τn)表示第n段轨迹总的回报,τn表示第n段轨迹, 表示第n段轨迹中第t个状态采取行为后的回报,t表示第t个状态,|E|表示中文语料库中单词的总数;
⑥计算N段轨迹总回报的期望的梯度
式中, 表示N段轨迹总回报的期望的梯度,N表示轨迹的总数,R(τn)表示N段轨迹总n
的回报,τ表示第n段轨迹,t表示第t个状态,|E|表示中文语料库中单词的总数,表示代理πθ在参数θ的前提下,获得第n段轨迹的概率的梯度, 表示代理πθ在第n段轨迹的第t个状态下采取的行为,可以为acbow(CBOW行为)或者asg(SG行为), 表示第n段轨迹的第t个状态,wt表示中文目标词,SCt表示中文目标词的相似上下文,wi表示相似上下文中的单词,c表示相似上文窗口大小;
⑦更新参数θ
式中,θ表示代理πθ的参数, 表示N段轨迹总回报的期望的梯度,η表示学习率;
⑧迭代次数加1,如果达到最大迭代次数则停止,输出中文词向量,否则返回②继续迭代训练。
8.根据权利要求6所述的一种基于相似上下文和强化学习的中文词向量生成方法,其特征在于,CBOW行为基于中文目标词的相似上下文预测目标词,SG行为基于中文目标词预测其相似上下文,其中,CBOW行为、SG行为均为三层神经网络。

说明书全文

一种基于相似上下文和强化学习的中文词向量生成方法

技术领域

[0001] 本发明涉及自然语言处理技术领域,尤其涉及一种基于相似上下文和强化学习的中文词向量生成方法。

背景技术

[0002] 自然语言处理是计算机科学与人工智能领域中的一个重要方向。目前自然语言处理任务有机器翻译情感分析、文本摘要文本分类和信息抽取等。在自然语言处理任务中,首先第一步,需要考虑如何让计算机能够表示自然语言。计算机是无法直接表示自然语言的,因此,我们需要设计一种方法把自然语言数学化,让计算机能够进行处理,这就是词向量。词向量就是将自然语言表示为包含语义的实数向量。具体来说,就是将单词映射到向量空间里,并用向量来表示。一般而言,词向量的质量越高,其包含的语义信息就越丰富和精确,也更容易让计算机理解自然语言中的语义,也可以从根本上提高自然语言处理任务的处理结果。所以如何生成高质量的词向量是自然语言处理的基础和重要的研究。
[0003] 目前关于词向量的研究主要有两个方向:第一,通用词向量方法:适用于各种语言的方法,如中文、英文、日文等,在多种语言上都可以将单词表示为词向量。该类方法又有两种分类,一种是将单词表示为向量空间的一个点向量,一种是将单词表示为高斯分布。第二,特定语言词向量方法:只适用于特定语言的方法,只能将某种语言的单词表示为词向量,其考虑了特定语言的各种细粒度特征,如中文的部首、笔画和拼音等特征,英文的字母、前后缀等。中国专利“CN107273355A一种基于字词联合训练的中文词向量生成方法”提供了一种中文词向量方法。此专利将词语中的字信息作为重要特征,结合上下文词和字,联合训练中文的词向量表示。在基于词本身的词向量模型的基础上,通过引入词的组成汉字信息,在基于上下文词预测目标词的同时,基于上下文字预测目标词。中国专利“CN109815476A一种基于中文语素和拼音联合统计的词向量表示方法”提供了一种中文词向量生成方法。此专利利用汉字的语素和拼音特征,基于上下文词语的语素和拼音联合特征,训练一个三层神经网络预测中心目标词,然后生成词向量。
[0004] 上述现有方法为词向量的研究,特别是中文词向量的研究奠定了基础,但存在如下缺点:第一,通用词向量方法由于适用于大多数语言,没有考虑特定语言特征,其泛化性强,但准确度较低,不能很好地提高后续自然语言处理任务的精度。第二,中文词向量方法单纯地增加中文特征,而没有改进神经网络基础架构,其准确率不能进一步提高。同时,上述研究方法都是考虑基于目标词的相邻上下文和目标词的关系来进行预测的,没有考虑到在中文中有些单词虽然相邻,但是语义不相关的情况。现有词向量生成方法都是基于词语的相邻上下文的特征预测单词,同时只使用了简单的神经网络架构,没有改进神经网络,不能更好地获得高质量的中文词向量。

发明内容

[0005] 本发明所要解决的技术问题是现有的中文词向量生成方法都是考虑基于目标词的相邻上下文和目标词的关系来进行预测的,没有考虑到在中文中有些单词虽然相邻,但是语义不相关的情况,且词向量的表示质量不高的问题。本发明提供了解决上述问题的一种基于相似上下文和强化学习的中文词向量生成方法,通过自适应地选择目标词的相似上下文,同时提出中文词向量强化学习框架,与语料库交互并获得反馈,自动学习语料库词语之间的关系,并寻找相似上下文,减小语料库规模,基于相似上下文预测目标词,进而生成中文词向量,避免中文相邻上下文的语义不相关性,增强学习架构性能,减少训练时间,提高中文词向量质量。
[0006] 本发明通过下述技术方案实现:
[0007] 一种基于相似上下文和强化学习的中文词向量生成方法,该方法包括:
[0008] 选取语料库,进行语料库预处理,从而构建中文语料库;
[0009] 对中文目标词进行相似上下文发现,获得与中文目标词的语义相关的相似上下文;
[0010] 构建中文词向量强化学习框架,并进行强化学习,得到中文目标词的词向量表示。
[0011] 本发明通过自适应地选择中文目标词的相似上下文,同时提出中文词向量强化学习框架,与语料库交互并获得反馈,自动学习语料库词语之间的关系,并寻找相似上下文,减小语料库规模,基于相似上下文预测目标词,进而生成中文词向量,避免中文相邻上下文的语义不相关性,增强学习架构性能,减少训练时间,提高中文词向量质量。本发明能够解决中文相邻词不相关的问题,生成高质量的中文词向量。
[0012] 进一步地,所述语料库预处理包括:对下载的互联网文本进行简繁体转化,去除乱码、英文和标点,中文分词。
[0013] 进一步地,对中文目标词进行相似上下文发现,包括对中文目标词进行相似上文发现,在中文目标词wt的历史词汇中寻找和wt相似的词语,其中,wt的历史词汇代表在wt附近,同时也在wt左边的词,t表示中文目标词的下标,具体步骤如下:
[0014] ①确定上文窗口大小c;
[0015] ②计算自适应相似阈值T,其等于中文目标词wt和范围[wt-c,wt+c]内所有词相似性的平均值;
[0016] ③针对范围[wt-c,0)内的词wi,如果和中文目标词wt的相似度大于自适应相似阈值T,则将该词确定为相似上文,相似上文词语数量n1加1;
[0017] ④如果n1<c,则向左扩展寻找范围,增加c个词语,即在范围[wt-2c,wt-c]内寻找相似上文,此时需要更新自适应相似阈值T,其等于中文目标词wt和范围[wt-2c,wt+2c]内所有词相似性的平均值,如果范围内的词和中文目标词wt的相似度大于自适应相似阈值T,则将该词确定为相似上文,相似上文词语数量n1加1;
[0018] ⑤一直向左寻找,每次增加c个词并更新自适应阈值T,迭代寻找,直到相似上文词语数量等于c为止。
[0019] 进一步地,对中文目标词进行相似上下文发现,还包括对中文目标词进行相似下文发现,在中文目标词wt的未来词汇中寻找和wt相似的词语,其中,wt的未来词汇代表在wt附近,同时也在wt右边的词,t表示中文目标词的下标,具体步骤如下:
[0020] ①首先确定下文窗口大小c,其中,下文窗口和上文窗口大小一样大;
[0021] ②计算自适应相似阈值T,其等于中文目标词wt和范围[wt-c,wt+c]内所有词相似性的平均值;
[0022] ③针对范围(0,wt+c]内的词wj,如果和中文目标词wt的相似度大于自适应相似阈值T,则将该词确定为相似下文,相似下文词语数量n2加1;
[0023] ④如果n2<c,则向右扩展寻找范围,增加c个词语,即在范围[wt+c,wt+2c]内寻找相似下文,此时需要更新自适应相似阈值T,其等于中文目标词wt和范围[wt-2c,wt+2c]内所有词相似性的平均值,如果范围内的词和中文目标词wt的相似度大于自适应相似阈值T,则将该词确定为相似下文,相似下文词语数量n2加1;
[0024] ⑤一直向右寻找,每次增加c个词语并更新自适应阈值T,迭代寻找相似下文,直到相似下文词语数量等于c为止。
[0025] 进一步地,所述词相似性通过相似度来表示词语语义的相似程度,其中,相似度s(wi,wj)的计算公式如下:
[0026]
[0027] 式中,wi和wj表示中文语料库中的两个词语; 和 表示wi和wj的初始词向量;s(wi,wj)表示词语间的相似度;i和j表示词的下标;||表示词向量的模长。
[0028] 进一步地,所述构建中文词向量强化学习框架并进行强化学习过程中:将语料库定义为环境Environment,中文目标词wt和其相似上下文SCt定义为状态State,拥有CBOW和SG两种行为的分类器定义为代理Agent;当代理处于环境的一个状态时,其采取一个行为Action,然后环境根据这个行为给出一个回报Reward,代理通过回报判断目前行为的好坏,进行学习,然后在下一个状态采取更好的行为;当代理处理不同状态时,上述过程不断迭代,直到达到设置的最大迭代次数为止,强化学习完成,最后生成中文词向量。
[0029] 进一步地,所述构建中文词向量强化学习框架并进行强化学习,具体包括如下步骤:
[0030] ①初始化一个代理πθ,其参数为θ;
[0031] ②设置学习率η和最大迭代次数Tmax,输入中文语料库E;
[0032] ③让代理πθ和环境E进行交互,采样获得N个轨迹片段τs={τ1,…,τn,…,τN};
[0033] ④计算每段轨迹总的回报,计算公式如下:
[0034]
[0035] 式中,R(τn)表示第n段轨迹总的回报,τn表示第n段轨迹, 表示第n段轨迹中第t个状态采取某种行为后的回报,t表示第t个状态,|E|表示中文语料库中单词的总数;
[0036] ⑤计算N段轨迹总回报的期望
[0037]
[0038] 式中, 表示N段轨迹总的回报的期望,N表示轨迹的总数,R(τn)表示第n段轨迹总的回报,τn表示第n段轨迹, 表示第n段轨迹中第t个状态采取行为后的回报,t表示第t个状态,|E|表示中文语料库中单词的总数;
[0039] ⑥计算N段轨迹总回报的期望的梯度
[0040]
[0041]
[0042] 式中, 表示N段轨迹总回报的期望的梯度,N表示轨迹的总数,R(τn)表示N段轨迹总的回报,τn表示第n段轨迹,t表示第t个状态,|E|表示中文语料库中单词的总数,表示代理πθ在参数θ的前提下,获得第n段轨迹的概率的梯度, 表示代理πθ在第n段轨迹的第t个状态下采取的行为,可以为acbow(CBOW行为)或者asg(SG行为), 表示第n段轨迹的第t个状态,wt表示中文目标词,SCt表示中文目标词的相似上下文,wi表示相似上下文中的单词,c表示相似上文窗口大小;
[0043] ⑦更新参数θ
[0044]
[0045] 式中,θ表示代理πθ的参数, 表示N段轨迹总回报的期望的梯度,η表示学习率;
[0046] ⑧迭代次数加1,如果达到最大迭代次数则停止,输出中文词向量,否则返回②继续迭代训练。
[0047] 进一步地,CBOW行为基于中文目标词的相似上下文预测目标词,SG行为基于中文目标词预测其相似上下文,其中,CBOW行为、SG行为均为三层神经网络。
[0048] 本发明与现有技术相比,具有如下的优点和有益效果:
[0049] 1、本发明一种基于相似上下文和强化学习的中文词向量生成方法,利用词语之间的相似度,计算相似上下文,代替传统的相邻上下文,避免中文相邻不相关的词语,增加了上下文的语义相关性;
[0050] 2、本发明一种基于相似上下文和强化学习的中文词向量生成方法,利用强化学习生成中文词向量,可以在各个大小的语料库上生成质量优秀的中文词向量;
[0051] 3、本发明一种基于相似上下文和强化学习的中文词向量生成方法,本发明训练好的强化学习代理,可以直接应用在新的语料库生成中文词向量,减少了训练时间;
[0052] 4、本发明一种基于相似上下文和强化学习的中文词向量生成方法,该方法适用范围广,只要给出语料库,就可以进行后续的中文词向量生成;本发明适用于自然语言处理技术领域。附图说明
[0053] 此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
[0054] 图1是本发明一种基于相似上下文和强化学习的中文词向量生成方法的总体流程图
[0055] 图2是本发明相似上下文发现示意图。
[0056] 图3是本发明相似上文发现的流程图。
[0057] 图4是本发明相似下文发现的流程图。
[0058] 图5是本发明强化学习的模型图。
[0059] 图6是本发明强化学习的具体流程图。
[0060] 图7是本发明的类比任务在不同语料大小的扩展性实验结果图。
[0061] 图8是本发明的相似任务在不同语料大小的扩展性实验结果图。

具体实施方式

[0062] 为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
[0063] 实施例
[0064] 如图1至8所示,本发明一种基于相似上下文和强化学习的中文词向量生成方法,该方法包括:
[0065] 选取语料库,进行语料库预处理,从而构建中文语料库;
[0066] 对中文目标词进行相似上下文发现,获得与中文目标词的语义相关的相似上下文;
[0067] 构建中文词向量强化学习框架,并进行强化学习,得到中文目标词的词向量表示。
[0068] 本发明总体流程如图1所示,具体实施步骤如下:
[0069] 步骤1、语料库构建:选取语料库,进行语料库预处理,从而构建中文语料库;
[0070] 1.1、语料库预处理:将下载的互联网文本利用opencc工具包进行简繁体转换,利用正则表达式去除乱码,英文和标点,利用jieba分词进行中文分词,对文本进行预处理;
[0071] 1.2、将最后的结果进行存储,构建中文语料库。
[0072] 步骤2、相似上下文发现:对中文目标词进行相似上下文发现,获得与中文目标词的语义相关的相似上下文;
[0073] 2.1、词语相似性计算
[0074] 通过分配所有词一个初始词向量,计算词语之间的相似度s(wi,wj),以表示词语语义的相似程度:
[0075]
[0076] 式中,wi和wj表示中文语料库中的两个词语; 和 表示wi和wj的初始词向量;s(wi,wj)表示词语间的相似度;i和j表示词的下标;||表示词向量的模长。
[0077] 2.2、词语相似上文发现
[0078] 在中文目标词wt的历史词汇中寻找和wt相似的词语,其中,wt的历史词汇代表在wt附近,同时也在wt左边的词,t表示中文目标词的下标,示意图如图2,流程图如图3,具体步骤如下:
[0079] ①确定上文窗口大小c,也就是针对每个词,需要在上文中寻找多少个语义相似的词(下文窗口和上文窗口大小一样大,即都为c);
[0080] ②计算自适应相似阈值T,其等于中文目标词wt和范围[wt-c,wt+c]内所有词相似性的平均值;
[0081] ③针对范围[wt-c,0)内的词wi,如果和中文目标词wt的相似度大于自适应相似阈值T,则将该词确定为相似上文,相似上文词语数量n1加1;
[0082] ④如果n1<c,则向左扩展寻找范围,增加c个词语,即在范围[wt-2c,wt-c]内寻找相似上文,此时需要更新自适应相似阈值T,其等于中文目标词wt和范围[wt-2c,wt+2c]内所有词相似性的平均值,如果范围内的词和中文目标词wt的相似度大于自适应相似阈值T,则将该词确定为相似上文,相似上文词语数量n1加1;
[0083] ⑤一直向左寻找,每次增加c个词并更新自适应阈值T,迭代寻找,直到相似上文词语数量等于c为止(如果找到语料库边界仍然不够c个词,则停止迭代,以目前的相似上文词语数量为准)。
[0084] 2.3、词语相似下文发现
[0085] 在中文目标词wt的未来词汇中寻找和wt相似的词语,其中,wt的未来词汇代表在wt附近,同时也在wt右边的词,t表示中文目标词的下标,示意图如图2,流程图如图4,具体步骤如下:
[0086] ①首先确定下文窗口大小c,也就是针对每个词,需要在下文中寻找多少个语义相似的词语;其中,下文窗口和上文窗口大小一样大;
[0087] ②计算自适应相似阈值T,其等于中文目标词wt和范围[wt-c,wt+c]内所有词相似性的平均值;
[0088] ③针对范围(0,wt+c]内的词wj,如果和中文目标词wt的相似度大于自适应相似阈值T,则将该词确定为相似下文,相似下文词语数量n2加1;
[0089] ④如果n2<c,则向右扩展寻找范围,增加c个词语,即在范围[wt+c,wt+2c]内寻找相似下文,此时需要更新自适应相似阈值T,其等于中文目标词wt和范围[wt-2c,wt+2c]内所有词相似性的平均值,如果范围内的词和中文目标词wt的相似度大于自适应相似阈值T,则将该词确定为相似下文,相似下文词语数量n2加1;
[0090] ⑤一直向右寻找,每次增加c个词语并更新自适应阈值T,迭代寻找相似下文,直到相似下文词语数量等于c为止(如果找到语料库边界仍然不够c个词,则停止迭代,以目前的相似下文词语数量为准)。
[0091] 步骤3、强化学习:构建中文词向量强化学习框架,并进行强化学习,得到中文目标词的词向量表示。
[0092] 3.1、基础定义
[0093] 针对中文词向量生成,本发明提出了一个强化学习框架,如图5所示,将语料库定义为环境(Environment),中文目标词wt和其相似上下文SCt定义为状态(State),拥有CBOW和SG两种行为的分类器定义为代理(Agent)。强化学习过程如下:当代理处于环境的一个状态时,其采取一个行为(Action),然后环境根据这个行为给出一个回报(Reward),代理通过回报判断目前行为的好坏,进行学习,然后在下一个状态采取更好的行为,如图5所示。当代理处理不同状态时,上述过程不断迭代,直到达到设置的最大迭代次数,强化学习完成,最后生成中文词向量。具体的定义如下:
[0094] ①环境(Environment E):中文词向量生成方法的环境就是给定的处理好的中文语料库。
[0095] ②状态(State S):每个状态st定义为中文目标词wt和它的相似上下文SCt的组合。环境中有很多状态,每个词和它的相似上下文都构成一个状态。
[0096] ③行为(Action A):定义代理在不同的状态下可能采取的行为有两个,分别为CBOW行为和SG行为,即A={aCBOW,aSG},CBOW行为基于中文目标词的相似上下文预测目标词,SG行为基于中文目标词预测其相似上下文,具体如下:
[0097] a)CBOW行为
[0098] 已知中文目标词wt的相似上下文SCt的前提下预测中文目标词wt,如图5中的Action1部分;CBOW是一个三层的神经网络,对应各层具体为:
[0099] 输入层:用来输入中文目标词wt的相似上下文的初始词向量,包含相似上下文SCt中2c个词的词向量;
[0100] 投影层:将输入层的2c个向量做累加求和,其输出为
[0101]
[0102] 式中, 表示CBOW投影层以中文目标词wt为输入的前提下的输出; 和 表示中文目标词wt和词wt+i的词向量;
[0103] 输出层:根据相似上下文准确预测中文目标词的可能性p(wt|SCt),其等于中文目标词wt在语料库中所有词语中的预测权重,通过softmax函数进行计算;
[0104]
[0105] 式中,p(wt|SCt)表示CBOW根据上下文SCt准确预测中文目标词wt的概率;wj表示语料库中的第j个词语;E表示语料库; 和 表示对应词的输出词向量,t和j表示单词的下标;
[0106] CBOW的目标函数为如下的最大似然:
[0107]
[0108] 式中,ζCBOW是目标函数;p(wt|SCt)表示CBOW根据上下文SCt准确预测中文目标词wt的概率;E表示语料库;|E|表示语料库词语的总数;t表示单词的下标;
[0109] b)SG行为
[0110] 已知中文目标词wt的前提下,预测其相似上下文SCt,使用每个中文目标词作为输入,并预测中文目标词的相似上下文,如图5的Action2部分,SG也是一个三层神经网络,对应各层具体为:
[0111] 输入层:用来输入wt的初始词向量
[0112] 投影层:用于保持当前单词的词向量;实际上,SG中的投影层没有实际的效果,只是为了与CBOW保持一致的结构,其输出为
[0113] 输出层:根据中文目标词wt准确预测上下文SCt的可能性p(wt+i|wt),其等于每个上下文单词在语料库中所有词语中的预测权重,通过softmax函数进行计算;
[0114]
[0115] 式中,p(wt+i|wt)表示SG根据中文目标词wt准确预测上下文中每个单词的概率;
[0116] SG目标函数为如下的最大似然函数:
[0117]
[0118] 式中,ζSG是目标函数;|E|表示语料库词语的总数;t和i表示单词的下标;c是上下文数量的一半。
[0119] ④回报(Reward R):回报rt是环境对行为的反馈,用来评价代理采取行为的成功或者失败。定义在不同行为下的回报为:
[0120]
[0121] 式中,logpθ()表示代理πθ在参数θ的前提下,获得第n段轨迹的概率,wt表示中文目标词,SCt表示中文目标词的相似上下文, 表示代理πθ在第n段轨迹的第t个状态下采取的行为,可以为acbow(CBOW行为)或者asg(SG行为),wi表示相似上下文中的单词,c表示相似上文窗口大小。
[0122] ⑤代理(Agentπθ):代理就是一个映射函数π:S→A,可以看作参数为θ的分类器,其输入为状态,输出是采取的行为。
[0123] ⑥片段(Episode):一个片段就是强化学习的一段从最初状态到最终状态的轨迹,包括每个状态采取的行为和获得的回报,第n段片段定义为
[0124] 3.2、强化学习过程
[0125] 中文词向量强化学习过程就是代理持续地和环境进行交互,处于环境不同的状态,然后代理采取不同的行为,环境根据代理的行为给出回报,代理根据回报判断采取行为的好坏,学习在下一个状态应该采取什么行为更好。不停地迭代,直到设置的最大迭代次数为止,如图5所示,其具体步骤如下,流程图如图6所示。
[0126] 本发明实施例中,选用2008年的搜狗新闻作为语料库,通过语料库预处理,利用opencc工具包进行简繁体转换,利用正则表达式去除乱码,英文和标点,利用jieba分词进行中文分词,最后得到中文语料库,包括3亿个中文单词,词典大小约为420000。
[0127] 本发明实施例中,对上述标准语料库进行相似上下文发现,相似上下文发现模型如图2所示,流程如图3和图4所示。本发明实施例中,我们设置学习率为0.01,最大迭代次数为4次进行强化学习。强化学习的模型图如图5所示,流程图如图6所示。我们在类比任务,相似任务(WS-240,WS-296),文本分类和命名实体识别任务上与7个对比方法进行对比,在100%的语料库上进行实验,实验结果如表1所示。然后在25%,50%,75%的语料库上进行扩展性实验,实验结果如图7和图8所示。(本发明方法命名为sc2vec)。
[0128] 表1实验结果
[0129]
[0130] 从实验结果可以看出,本发明方法sc2vec在类比任务,相似任务,文本分类和命名实体识别任务上都取得了最好的结果。在扩展性性实验中,在不同大小的语料中都取得了最好的结果。可以观察出,本发明方法在不同情况都有更好地表现,说明相似上下文克服了相邻上下文的语义不相关性,强化学习增强了学习架构性能,说明本发明的确是一个性能更好,语义信息捕捉更准确的中文词向量生成模型。从各个实验结果可以看出,本发明一种基于相似上下文和强化学习的中文词向量生成方法的可行性。
[0131] 本发明通过自适应地选择中文目标词的相似上下文,同时提出中文词向量强化学习生成框架,与语料库交互并获得反馈,自动学习语料库词语之间的关系,并寻找相似上下文,减小语料库规模,基于相似上下文预测目标词,进而生成中文词向量,避免中文相邻上下文的语义不相关性,增强学习架构性能,减少训练时间,提高中文词向量质量。本发明能够解决中文相邻词不相关的问题,生成高质量的中文词向量。
[0132] 以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈