首页> 中国专利> 一种基于主题模型和向量空间的一词多义分析方法

一种基于主题模型和向量空间的一词多义分析方法

摘要

本发明提供了一种基于主题模型和向量空间的一词多义分析方法,包括:S1、以式(1)作为目标函数,建立一词多义的主题模型;S2、读取整个文档集合D的数据;S3、主题‑词分布初始化;S4、主题采样;S5、主题向量更新;S6、词向量训练;S7、循环执行S4至S6若干次,以进行若干次迭代;S8、将得出的词向量和主题向量输出并存储;S9、判断是否一词多义。本发明提供的一种基于主题模型和向量空间的一词多义分析方法,可以训练出更优质的词向量、主题向量,使其在一词多义的研究分析中表现出更合理的解释,而且主题模型的表现也明显优于原始模型LDA。本发明通过主题模型、词向量、主题向量这三者的交叉学习来相互提高,能够有效应用于相似性评估、文档分类、主题相关性等任务。

著录项

  • 公开/公告号CN106909537A

    专利类型发明专利

  • 公开/公告日2017-06-30

    原文格式PDF

  • 申请/专利权人 中山大学;

    申请/专利号CN201710067919.6

  • 发明设计人 罗嘉文;卓汉逵;

    申请日2017-02-07

  • 分类号G06F17/27(20060101);G06F17/30(20060101);

  • 代理机构44326 广州番禺容大专利代理事务所(普通合伙);

  • 代理人刘新年

  • 地址 510275 广东省广州市海珠区新港西路135号大院

  • 入库时间 2023-06-19 02:44:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-04-07

    授权

    授权

  • 2017-07-25

    实质审查的生效 IPC(主分类):G06F17/27 申请日:20170207

    实质审查的生效

  • 2017-06-30

    公开

    公开

说明书

技术领域

本发明涉及自然语言处理领域,具体涉及一种基于主题模型和向量空间的一词多义分析方法。

背景技术

随着人工智能技术的蓬勃发展,自然语言处理作为一种革新的语言研究模式,结合了计算机科学、语言学、数学于一体的智能科学,广泛应用于机器翻译、问答系统、信息检索和文档处理等方面。由于大部分字词并不仅有一个意思,即存在一词多义的现象,如果仅用单一的词向量表示每个字词,将无法消除歧义现象,为了解决这个问题,上下文信息或主题向量被用于辅助一词多义的研究中,然而这些研究都把主题模型、词向量、主题向量三者孤立开来,简单的利用现成的结果作为先验知识来辅助训练模型。

主题模型用于挖掘一个文档集合的潜藏主题信息,每个主题表示一个相关概念,具体表现为一系列相关的词,实现形式为主题-词分布。词向量模型则利用文本中的上下文信息,将每个词映射到一个低维实值空间中,并包含语法语义等信息,从而可使用欧氏距离或余弦夹角来衡量词向量的相似度。主题向量直接将主题映射到向量空间中,近似表示一个主题的语义中心。

主题模型、词向量、主题向量都可用于文档表示中,主要应用于文档聚类、文档分类等任务中。这三者在文本挖掘中都各具特点,主题模型的全局信息以及词向量的局部信息相结合已被研究证实有助于提高原模型的效果,但是这些研究都是都有较大的局限性,他们大多都将三者独立开,要么先训练单独训练 其中一两项,然后借助训练结果来提高另一项的效果;要么直接使用较大训练集的训练结果作为外部知识,辅助其他小数据集的模型训练。

发明内容

针对现有技术中存在的问题,本发明通过对文本文档集进行建模,借鉴主题模型、词向量以及主题向量的优点,提出了一种基于主题模型和向量空间的一词多义分析方法,以更好地挖掘文档集合潜藏的主题信息。

为实现上述目的,本发明采用以下技术方案:

一种基于主题模型和向量空间的一词多义分析方法,包括以下步骤:

S1、以式(1)作为目标函数,建立一词多义的主题模型:

其中为文本文档集合,M为集合中的文档数,Nm为第m篇文档的词的数量,c为上下文信息窗口大小,wm,n表示第m篇文档第n个词,K表示主题数目,tk表示第k个主题向量,表示主题模型中的主题-词分布,表示wm,n的主题编号;

S2、读取整个文档集合的数据;

S3、主题-词分布初始化:首先,采用GibbsLDA算法对文本文档集合中的每个词进行主题采样;然后,对主题模型的主题-词分布进行初始化估计;

S4、主题采样:针对文档中的每一个词wm,n,计算出该词属于每个主题的概率,然后采用累加分布的方式采样出其对应的主题编号zm,n∈[1,K];

S5、主题向量更新:对于每个主题向量tk,k∈[1,K],根据式(5)重新计算出其向量表示:

其中,为指示函数,当x取值为真,其结果为1,否则为0。表示词wm,n所对应的词向量表示,W表示文档集合的词汇表大小,nk,w表示词w被分配到主题k下的数目;

S6、词向量训练:构造一棵哈夫曼树,叶子节点为词汇表中的每个词w,非叶子结点作为辅助向量u,采用随机梯度下降的方式求解式(1)所示的目标函数;

S7、循环执行S4至S6若干次,以进行若干次迭代;

S8、将得出的词向量和主题向量输出并存储;

S9、判断是否一词多义:将待分析的词的词向量和主题向量相拼接,组成一个新向量,代表整个上下文环境,然后计算该新向量的余弦值,当余弦值小于设定阈值时,认定该词具有一词多义现象;反之认定该词不具有一词多义现象。

进一步地,在S3中,主题采样过程中所使用的更新规则如式(2)所示:

其中,-(m,n)表示在统计时除去当前词,W表示文本文档集合的词汇数,nm,k表示第m篇文档中属于主题k的词的数量,zm,n表示词wm,n所分配的主题编号,>表示词wm,n被分配到主题k下的数目,nk'表示被分配到主题k下所有词的数目,α为狄利克雷对称超参数;

对主题模型的主题-词分布进行初始化估计所使用的公式为式(3):

其中,表示初始化估计的主题-词分布,β表示狄利克雷对称超参数。

进一步地,在S4中,根据式(4)计算出该词属于每个主题的概率:

进一步地,在S6中,具体包括以下步骤:

S601、更新主题-词分布根据式(6)计算中每个分量的梯度;针对每个分量,定义其约束为

其中,L(wm,n+j)表示从哈夫曼树根节点到叶子节点wm,n+j的路径长度(节点数目,包含根节点和叶子节点),表示该路径上节点i→i+1的哈夫曼编码,σ(x)=1/(1+e-x),表示该路径上第i个非叶子结点;

S602、更新词向量w:根据式(7)计算每个词的梯度,并利用辅助向量来更新;

S603、更新哈夫曼树非叶子结点辅助向量u:根据式(8)计算哈夫曼树路径上的非叶子结点向量u,使之能影响词向量w的训练质量;

进一步地,在S9中,所设定的阈值为0.6。

本发明提供的一种基于主题模型和向量空间的一词多义分析方法,可以训练出更优质的词向量、主题向量,使其在一词多义的研究分析中表现出更合理的解释,而且主题模型的表现也明显优于原始模型LDA。本发明通过主题模型、词向量、主题向量这三者的交叉学习来相互提高,能够有效应用于相似性评估、文档分类、主题相关性等任务。

附图说明

图1是本发明实施例提供的一种基于主题模型和向量空间的一词多义分析方法的流程示意图。

具体实施方式

下面将结合附图和具体的实施例对本发明的技术方案进行详细说明。

为了充分借助主题模型、词向量和主题向量的内在特性,考虑到文本数据一词多义现象普遍性,为更好地挖掘文档集合潜藏的主题信息并训练更高质量的词向量以及主题向量,本发明提供了一种基于主题模型和向量空间的一词多义分析方法。

具体地,本发明根据自然语言处理的基本规则,做出如下合理假设:

1、主题模型中的主题-词分布可以利用其较高概率的一系列词表示一个具体的概念,其数值意义为某一个词出现在该主题下的概率大小,可通过主题相关性来评估挖掘的主题质量。

2、文本中的每个词都可以映射到低维实值向量空间中,即词向量,该向量包含了该词的语法语义等信息,并可使用欧氏距离或余弦等数学方式来评估他们之间的差异。

3、主题向量与主题模型中的主题-词分布并不是完全孤立的,主题向量可视为该概率分布在词向量空间的一个语义中心映射,与词向量紧密关联。

基于上述假设,本发明提出了一种基于主题模型和向量空间的一词多义分析方法,如图1所示,所述方法包括如下步骤:

S1、以式(1)作为目标函数,建立一词多义的主题模型:

其中为文本文档集合,M为集合中的文档数,Nm为第m篇文档的词的数量,c为上下文信息窗口大小,wm,n表示第m篇文档第n个词,K表示主题数目,tk表示第k个主题向量,表示主题模型中的主题-词分布,表示wm,n的主题编号;

S2、读取整个文本文档集合的数据;

S3、主题-词分布初始化:首先,采用GibbsLDA算法对文本文档集合中的每个词进行主题采样;然后,对主题模型的主题-词分布进行初始化估计;

其中,主题采样过程中所使用的更新规则如式(2)所示:

其中,-(m,n)表示在统计时除去当前词,W表示文本文档集合的词汇数,nm,k表示第m篇文档中属于主题k的词的数量,zm,n表示词wm,n所分配的主题编号,>表示词wm,n被分配到主题k下的数目,nk'表示被分配到主题k下所有词的数>

对主题模型的主题-词分布进行初始化估计所使用的公式为式(3):

其中,表示初始化估计的主题-词分布,β表示狄利克雷对称超参数;

S4、主题采样:针对文档中的每一个词wm,n,根据式(4)计算出该词属于每个主题的概率,然后采用累加分布的方式采样出其对应的主题编号zm,n∈[1,K];

在主题模型中,z作为模型的隐变量,是吉布斯采样求解过程中不可或缺的中间桥梁,直接影响主题模型最终所需要获取的主题-词分布以及文档-主题分布θ的效果。与原始的吉布斯更新规则不同,本发明采用式(4)作为吉布斯更新规则,其特征在于,直接在更新规则中使用主题-词分布其有益效果是,可以充分利用分布的统计以及现实意义,而且还可加快计算速度,更适应大规模数据集的应用。

S5、主题向量更新:对于每个主题向量tk,k∈[1,K],根据式(5)重新计算出其向量表示:

其中,为指示函数,当x取值为真,其结果为1,否则为0。表示词wm,n所对应的词向量表示,W表示文本文档集合的词汇表大小,nk,w表示词w被分配到主题k下的数目,这正是一词多义的细微体现,一个词可能属于不同的主>

主题向量的主要目的在于使用向量空间来表示文档集合中的潜藏主题信息而不是类似的多项式分布,从而使主题具有更多的空间几何意义,跟词向量的结合也更密切。与使用类似Skip-Gram方式训练主题向量的TWE模型不同,本发明采用式(5)直接更新计算每个主题所对应的向量表示,其特征在于,每个主题的向量表示仅与该主题下的词相关,其有益效果是,主题向量的计算方式简单、易于理解,快速高效,而且采用均值计算,可使其向量更接近于这些词向量的几何中心,根据假设2可知,该向量可近似看作一个主题概念的语义中心。

S6、词向量训练:构造一棵哈夫曼树,叶子节点为词汇表中的每个词w,非叶子结点作为辅助向量u,采用随机梯度下降的方式求解式(1)所示的目标函数;具体地,S6包括以下步骤:

S601、更新主题-词分布根据式(6)计算中每个分量的梯度;其中需要注意该分布具有概率意义,因此针对每个分量,我们需要定义其约束为

其中,L(wm,n+j)表示从哈夫曼树根节点到叶子节点wm,n+j的路径长度(节点数目,包含根节点和叶子节点),表示该路径上节点i→i+1的哈夫曼编码,σ(x)=1/(1+e-x),表示该路径上第i个非叶子结点;

S602、更新词向量w:根据式(7)计算每个词的梯度,并利用辅助向量来 更新;

S603、更新哈夫曼树非叶子结点辅助向量u。此步骤主要根据式(8)计算哈夫曼树路径上的非叶子结点向量u,使之能影响叶子节点(即词向量w)的训练质量;

由于softmax函数的计算复杂度与词汇表大小W程线性相关,不利于大规模数据集的训练。本发明沿用Skip-Gram的近似计算方法,采用分层softmax的思想,构造一棵哈夫曼树,叶子节点为词汇表中的每个词w,非叶子结点u作为辅助向量u。在词向量训练阶段,本发明采用随机梯度下降来求解式(1)所示的目标函数,主题-词分布的梯度计算如式(6)所示,其特征在于,主题-词分布的更新直接使用了主题向量tk以及哈夫曼树的非叶子结点向量u,其有益效果是,主题-词分布在迭代更新中不断吸收主题向量tk的内容信息,并且通过辅助向量u达到与词向量交换信息的目的,使得的更新直接或间接利用了主题向量、词向量的空间特征。

进一步的,哈夫曼树中的节点向量更新梯度计算分别如式(7)和式(8)所示,其特征在于,非叶子向量u的更新直接使用了主题向量以及主题分布 而叶子节点w的更新则直接利用非叶子向量,其有益效果是,主题向量和主题分布通过渗透整棵哈夫曼树的非叶子节点(即枝干),使得哈夫曼树上的叶子节点在更深层次上受到其二者的影响,从而达到其相互促进的效果。

S7、循环执行S4至S6若干次,以进行若干次迭代;进行迭代主要是为了 让主题模型、词向量、主题向量这三者进一步地交叉学习来相互提高。

S8、将得出的词向量和主题向量输出并存储;

S9、判断是否一词多义:将待分析的词的词向量和主题向量相拼接,组成一个新向量,代表整个上下文环境,然后计算该新向量的余弦值,当余弦值小于设定阈值(例如e<0.60)时,该词具有一词多义现象;反之该词在给定的不同上下文中意义一致,不具有一词多义现象。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号