CN108205523A - 利用语料库训练稠密词向量的方法及装置 - Google Patents

利用语料库训练稠密词向量的方法及装置 Download PDF

Info

Publication number
CN108205523A
CN108205523A CN201611176862.5A CN201611176862A CN108205523A CN 108205523 A CN108205523 A CN 108205523A CN 201611176862 A CN201611176862 A CN 201611176862A CN 108205523 A CN108205523 A CN 108205523A
Authority
CN
China
Prior art keywords
term vector
word
sentence
corpus
sampling window
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201611176862.5A
Other languages
English (en)
Other versions
CN108205523B (zh
Inventor
许中兴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Tianguang Huitong Science & Technology Co Ltd
Original Assignee
Beijing Tianguang Huitong Science & Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Tianguang Huitong Science & Technology Co Ltd filed Critical Beijing Tianguang Huitong Science & Technology Co Ltd
Priority to CN201611176862.5A priority Critical patent/CN108205523B/zh
Publication of CN108205523A publication Critical patent/CN108205523A/zh
Application granted granted Critical
Publication of CN108205523B publication Critical patent/CN108205523B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

本申请公开一种利用语料库训练稠密词向量的方法及装置。该方法包括:遍历语料库获取语句,进行以下词向量训练:通过移动采样窗口,获取所述语句中的词;通过目标函数算法,获取所述词的词向量;在所述语料库遍历结束之后,判断是否满足预定条件;以及如果满足预定条件,则结束所述词向量训练。通过本申请公开的方法,能够得到更多的语义信息,减少“词汇鸿沟”现象。

Description

利用语料库训练稠密词向量的方法及装置
技术领域
本发明涉及语言处理领域,具体而言,涉及一种利用语料库训练稠密词向量的方法及装置。
背景技术
要将自然语言交给机器学习中的算法来处理,通常需要首先将语言数学化,词向量就是用来将语言中的词进行数学化的一种方式。
一种最简单的词向量方式是one-hot representation,就是用一个很长的向量来表示一个词。在这种语言处理方法中,对一个词的表示经常采用稀疏0-1向量的方式,将一个词表示成一个仅包含0-1数字的向量,一个词的词向量中,有且仅有1个维度上的值是1,其余的维度都是0。在这种方法中,词向量的维度由词汇表的大小决定,带来的缺点是向量维度非常大,等于词汇表的大小,一般为10万量级;并且,词和词之间的距离都相等,丢失了很多语义信息。例如表示颜色的词之间的词向量距离应该离得很近,表示城市的词应该与表示颜色的词的词向量应该离得很远。但是one-hot representation表示方法中,由于向量间距离相同,无法表达出这些信息。这种词语词之间距离相等的现象也被称为“词汇鸿沟”现象:即为,任意两个词之间都是孤立的。仅仅从这两个词的词向量中看不出两个词是否有关系,哪怕是话筒和麦克这样的同义词也不能幸免于难。此外,one-hotrepresentation表示方法还容易发生维数灾难,尤其是深度学习(Deep Learning)相关的一些应用中。
本发明提出了一种利用语料库训练稠密词向量的方法及装置。
在所述背景技术部分公开的上述信息仅用于加强对本发明的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本发明提供一种利用语料库训练稠密词向量的方法及装置,能够表达更多的语义信息,节约词向量计算时耗费的系统资源。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明的一方面,提出一种利用语料库训练稠密词向量的方法,其特征在于,包括:遍历语料库获取语句,进行以下词向量训练:通过移动采样窗口,获取所述语句中的词;通过目标函数算法,获取所述词的词向量。
在本公开的一种示例性实施例中,上述方法还包括:在语料库遍历结束之后,判断是否满足预定条件;以及如果满足预定条件,则结束词向量训练。
在本公开的一种示例性实施例中,通过移动采样窗口,获取语句中的词,包括:通过采样窗口,选取语句中连续的n个词;其中,n为采样窗口的宽度。
在本公开的一种示例性实施例中,通过目标函数算法,获取词的词向量,包括:通过目标函数算法,获取语句中两个词的词向量;判断采样窗口中是否包含语句中最后一个词;以及根据判断结果,进行处理。
在本公开的一种示例性实施例中,根据判断结果,进行处理,包括:如果采样窗口中未包含语句中最后一个词,将采样窗口在语句中向后移动一个词,再次获取语句中的词。
在本公开的一种示例性实施例中,通过目标函数算法,获取语句中两个词的词向量,包括:获取n个词的中心词;以及获取n个词中任一词;其中,n为采样窗口的宽度,n为正整数。
在本公开的一种示例性实施例中,通过目标函数算法,获取语句中两个词的词向量,包括:获取语料库中任意m个词;以及建立目标函数公式;其中,m为正整数。
在本公开的一种示例性实施例中,建立目标函数公式,包括:
P(w_c)=log(sig(w_l*w_c))
-1/m*(log(sig(w_1*w_c))+...+(log(sig(w_m*w_c)))
其中,sig是sigmoid函数,w_c为中心词的词向量,w_l为任一词的词向量,w_1,...,w_m为语料库中任意m个词的词向量。
在本公开的一种示例性实施例中,通过目标函数算法,获取语句中两个词的词向量,包括:通过梯度下降算法计算中心词的词向量以及任一词的词向量;以及由通过梯度下降算法计算得到的中心词的词向量与任一词的词向量,替换原有的中心词的词向量与任一词的词向量。
在本公开的一种示例性实施例中,通过梯度下降算法计算中心词的词向量以及任一词的词向量,包括:分别获取w_l和w_c的梯度g_l、g_c;在梯度方向上增加w_l的值,w_l=w_l+x*g_l;以及在梯度方向上增加w_c的值,w_c=w_c+x*g_c;其中,w_c为所述中心词的词向量,w_l为所述任一词的词向量,g_l为w_l的梯度,g_c为w_c的梯度,x为一预定数值。
在本公开的一种示例性实施例中,还包括:如果不满足预定条件,则再次利用语料库进行词向量的计算。
在本公开的一种示例性实施例中,在语料库遍历结束之后,判断是否满足预定条件,包括:计算预定的词的词向量之间的矩阵差;以及如果矩阵差小于一预定数值,则结束本次所述词向量训练。
在本公开的一种示例性实施例中,采样窗口的宽度小于或等于语句。
在本公开的一种示例性实施例中,还包括:预先确定词向量维度。
在本公开的一种示例性实施例中,词向量在所有维度中初始值为随机值。
根据本发明的一方面,提出一种利用语料库训练稠密词向量的装置,包括:遍历语料库模块:用于遍历语料库获取语句;采样窗口移动模块,用于通过移动采样窗口,获取语句中的词;以及目标函数模块,用于通过目标函数算法,获取词的词向量。
在本公开的一种示例性实施例中,还包括:词向量效果判断模块,用于在语料库遍历结束之后,判断是否满足预定条件;如果不满足预定条件,则再次利用语料库进行词向量的计算。
根据本发明的利用语料库训练稠密词向量的方法及装置,能够表达更多的语义信息,并且在计算中节约词向量计算时耗费的系统资源。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
通过参照附图详细描述其示例实施例,本发明的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性来动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种利用语料库训练稠密词向量的方法的流程图。
图2是根据另一示例性实施例示出的一种利用语料库训练稠密词向量的方法的流程图。
图3是根据另一示例性实施例示出的一种利用语料库训练稠密词向量的方法的流程图。
图4是根据一示例性实施例示出的一种利用语料库训练稠密词向量的装置的框图。
具体实施例
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本发明将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本公开概念的教示。如本文中所使用,术语「及/或」包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的,因此不能用于限制本发明的保护范围。
图1是根据一示例性实施例示出的一种利用语料库训练稠密词向量的方法的流程图。
如图1所示,在S102中,遍历语料库获取语句,进行以下词向量训练。
在本发明实施例中,用固定维数的,低维稠密实数向量表示一个词。词的维数可例如,根据词汇量情况选择或者由使用者根据需要自己定义,本发明不限于此。在本发明实施例中,词向量的维度可例如,在50-1000维之间选择。在本发明实施例中,词的稠密的意思是词向量的每个维度的每个元素都是一个非零的实数,而不是像上文中提到的one-hotrepresentation方法一样,仅有少量维度非零。例如可以用向量[0.239909,-0.00123,3.998002,…]表示英文单词“apple”,也可例如用[0.579305,0.60183,2.659032,…]标识汉语中的词汇“白”。本发明实施例中的词向量训练算法可适用于多种语言。
在本发明实施例中,用稠密词向量表示词,在下文中,将稠密词向量简称为词向量。词向量并不能随意给出,词向量应该能表示一定的语义信息。例如:表示颜色的词之间的距离很近,表示城市的词与表示颜色的词之间的距离较远。或者,经常出现在一起的词之间的距离很近,无关的词距离较远。具备这样语义信息的词向量在其他自然语言处理任务中的表现比稀疏向量好得多。在词向量的生成中,需要通过语料库对词向量进行训练,以便得到词向量间的关系。语料库就是把平常人们说话的时候的句子、一些文学作品的语句段落、报刊杂志上出现过的语句段落等等在现实生活中真实出现过的语言材料整理在一起,形成一个语料库,以便做科学研究的时候能够从中取材或者得到数据佐证。本公开的实施例中基于语料库对词向量进行训练,所选用的语料库可例如维基百科中的语料、现有技术中公开的语料库,但本发明不限于此。由语料库中,选取语句。
在S104中,通过移动采样窗口,获取语句中的词。
在本发明实施例中,采样窗口采集到的为上文中获取的一句话中包含的若干个词,如果语料库中包含的语料为中文的话,采样窗口采集到的可例如,为一句话中若干个连续的中文的字,如果语料库中包含的语料为英文的话,采样窗口采集到的可例如,为一句话中若干个连续的英文单词。
在S106中,通过目标函数算法,获取词的词向量。
在本发明实施例中,通过目标函数法,对上文中,采样窗口采集到的词进行词向量计算。目标函数计算词向量的示例性描述将在下文中示出。通过本发明实施例中的目标函数算法,经过对一个语句的一次目标函数计算,可以得到多个词的词向量。
本实施例的,利用语料库训练稠密词向量的方法,通过减小词向量的维度数,以及用非零的实数表示每一个词向量的方法,能够节约词向量计算时耗费的系统资源、增加词向量之间的关系信息,减小“词汇鸿沟”现象。
在本公开的一种示例性实施例中,在语料库遍历结束之后,判断是否满足预定条件;以及如果满足预定条件,则结束词向量训练。
通过采样窗口,对语料库中所有的语句进行采样,并进行词向量目标函数的计算,在计算结束之后,对词向量计算的效果进行验证。可例如,由预定的已知的词之间的关系,判断所进行的词向量计算得到的结果是否满足要求。可例如,选取如上文所述的“话筒”和“麦克”这样的同义词,检验词向量算法的结果是否满足预定的条件。如果,遍历语料库之后,词向量计算的结果满足预定条件,则结束词向量的目标函数的计算。
应清楚地理解,本发明描述了如何形成和使用特定示例,但本发明的原理不限于这些示例的任何细节。相反,基于本发明公开的内容的教导,这些原理能够应用于许多其它实施例。
在本公开的一种示例性实施例中,通过移动采样窗口,获取语句中的词,包括:通过采样窗口,选取语句中连续的n个词;其中,n为采样窗口的宽度。采样窗口每次采集一句话中的连续的n个词,可例如,以英文语料库中的一句话是:“I go to school everyMonday.”采样窗口为5,则采样窗口采集到的词为:“I go to school every”。
图2是根据另一示例性实施例示出的一种利用语料库训练稠密词向量的方法的流程图。图2是对图1中S104的示例性描述。
在S202中,通过目标函数算法,获取语句中两个词的词向量。
通过目标函数算法,以及如上文所述的采样函数,获取语料库中的词,由语料库中的词以及目标函数算法,计算出所述语句中,两个词的词向量。通过目标函数计算语句中词向量的方法,将在下文中进行示例性描述。
在S204中,判断采样窗口中是否包含语句中最后一个词。
判断采样窗口中,是否包含所述语句中最后一个词,可例如,以英文语料库为例,语料库中的一句话是:“I go to school every Monday.”采样窗口为5,则采样窗口采集到的词为:“I go to school every”。判断采样窗口中最后一个词“every”是否为该句话的最后一个词。如果采样窗口中未包含最后一词,则进行步骤S206,如果采样窗口中包含最后一词,则跳出本次循环。
在S206中,将采样窗口在语句中向后移动一个词,再次获取语句中的词。
将采样窗口在所述语句集合中,向后移动一词,再次获取语句中的词,并进行词向量的目标函数计算。以上文为例,语料库中的一句话是:“I go to school every Monday.”采样窗口为5,采样窗口第一次采集到的词为:“I go to school every”。进行第一次词向量的目标函数计算。计算之后判断采样窗口中最后一个词“every”不是该句话的最后一个词,采样窗口需要进行再一次采样。第二次采样窗口采集到的词为“go to school everyMonday”,进行第二次词向量的目标函数计算。计算之后,判断采样窗口中最后一个词“Monday”是该句话的最后一个词,即结束本轮目标函数的计算。
图3是根据另一示例性实施例示出的一种利用语料库训练稠密词向量的方法的流程图。图3是对图1中S106的示例性描述。
在S302中,获取n个词的中心词、获取n个词中任一词、获取语料库中任意m个词。
n为采样窗口的宽度,n、m为正整数。如上文中的示例,语料库中的一句话是:“I goto school every Monday.”采样窗口为5,采样窗口第一次采集到的词为:“I go toschool every”。可例如,获取这5个词的中心词“to”,获取这5个词中的任一词“school”或“every”,可随机获取采样窗口中的任一词。获取语料库中的任意m个词,可例如,m为5,选取语料库中,任意5个词:“take”,“try”,“integer”,“book”,“egg”。
在S304中,建立目标函数公式。
在本发明实施例中,用向量的内积来近似向量之间的距离,内积越大表示距离越小。本发明实施例基于以下的直观概念:在语料中,一句话内的相邻的词是相关的词,它们之间的距离应该很小;而随机采样出来的2个词是无关的词,它们之间的距离应该较大。
从而上面的直观概念可表示成下面的目标函数公式:
P(w_c)=log(sig(w_l*w_c))
-1/m*(log(sig(w_1*w_c))+...+(log(sig(w_m*w_c)))
其中,sig是sigmoid函数,w_c为上文所述的中心词的词向量,w_l为上文所述的任一词的词向量,w_1,...,w_m为语料库中任意m个词的词向量。
在S306中,通过梯度下降算法计算中心词的词向量以及任一词的词向量。
分别获取w_l和w_c的梯度g_l、g_c;在梯度方向上增加w_l的值,w_l=w_l+x*g_l;以及在梯度方向上增加w_c的值,w_c=w_c+x*g_c;其中,w_c为所述中心词的词向量,w_l为所述任一词的词向量,g_l为w_l的梯度,g_c为w_c的梯度,x为一预定数值。x可以根据经验调整,x可例如为0.005。
可例如,假设语料库中的一句话是:“I go to school every Monday.”采样窗口为5,由这句话,能得到2个采样窗口,分别为“I go to school every”以及“go to schoolevery Monday.”分别对这2个采样窗口进行梯度下降的计算。第一个采样窗口中选取中心词以及其他4个词之中的任意一个,计算为:w_c=w(to)与w_l=w(I),w(go),w(school),w(every)中的任意一个。还可例如,m=5,即为在语料库中随机选出5个词,可例如,w_1,...,w_5为随机单词的词向量,如w(take),w(try),w(integer),w(book),w(egg),通过以上的词向量与目标函数公式进行计算。第二个采样窗口的计算类似,在此不再赘述。
在S308中,由通过梯度下降算法计算得到的中心词的词向量与任一词的词向量,替换原有的中心词的词向量与任一词的词向量。
将计算得到的w_c中心词的词向量,w_l任一词的词向量,替换原有的中心词的词向量以及任一词的词向量。在本公开的一种示例性实施例中,词向量在所有维度中初始值为随机值。每次计算,均用计算之后的词向量替换现有的词向量,在语料库遍历完成之后,大部分的词向量均可以被更新至少一次。
在本公开的一种示例性实施例中,采样窗口的宽度小于等于语句。在本公开的一种示例性实施例中,还包括:确定词向量维度。在开始计算之前,需要确定词向量的维度,可例如,由使用者指定维度,或者根据语料库的语料数量通过经验指定维度,可例如在50-1000维之间选择词向量维度。本发明不限于此。
在本公开的一种示例性实施例中,语料库可为同一语言的语句集合,包括:汉语语句集合、英文语句集合。在本公开的一种示例性实施例中,在语料库遍历结束之后,判断是否满足预定条件,包括:计算预定的所述词的词向量之间的矩阵差;以及如果矩阵差大于一预定数值,则再次遍历语料库。
如上文所述,在目标函数算法开始前对所有词的向量初始化为随机值。训练的过程为对语料库中的每句话,进行移动采样窗口的进行梯度下降计算。在计算结束时,可计算预定的词之间的词向量关系,来对本次语料库的词向量计算结果进行检验。可例如,表示颜色的词之间的距离很近,表示城市的词与表示颜色的词之间的距离较远。或者,经常出现在一起的词之间的距离很近,无关的词距离较远。可例如,选取如上文所述的“话筒”和“麦克”这样的同义词,由这两个词之间词向量的矩阵差,对词向量训练结果进行检验,如果所述两个词之间的词向量差值小于一预定数值,则认为计算得到的词向量满足要求,不再需要计算。如果语料库不够大,上述检验的得到的结果(两个已知词之间的词向量矩阵差)就会大于一预定数值。此时,可重复利用语料库,由第一轮计算得到的词向量关系,带入到语料库中,再次进行词向量目标函数的计算,直到获得满意的训练结果为止。
在本发明的实施例中,通过将词向量计算得到的结果带入同一语料库中进行再次计算的,使得即使语料库中词汇量较小的情况下,也能通过多次计算,得到满意的词向量结果。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本发明提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
图4是根据一示例性实施例示出的一种利用语料库训练稠密词向量的装置的框图。如图4所示的利用语料库训练稠密词向量的装置40的包括:遍历语料库模块402、采样窗口移动模块404、目标函数模块406、词向量效果判断模块408。
遍历语料库模块402用于遍历语料库获取语句。
采样窗口移动模块404用于通过移动采样窗口,获取语句中的词。
目标函数模块406用于通过目标函数算法,获取词的词向量。
词向量效果判断模块408用于在语料库遍历结束之后,判断是否满足预定条件;如果不满足预定条件,则再次利用语料库进行词向量的计算。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本发明实施例的方法。
通过以上的详细描述,本领域的技术人员易于理解,根据本发明实施例的利用语料库训练稠密词向量的方法及装置具有以下优点中的一个或多个。
通过一些实施例的利用语料库训练稠密词向量的方法,通过减小词向量的维度数,以及用非零的实数表示每一个词向量的方法,能够节约词向量计算时耗费的系统资源、表达更多语义信息、增加词向量之间的关系信息,减小“词汇鸿沟”现象。
通过另一些实施例的利用语料库训练稠密词向量的方法,通过将词向量计算得到的结果带入同一语料库中进行再次计算的,使得即使语料库中词汇量很小的情况下,也能通过多次计算,得到满意的词向量结果。
通过一些实施例的利用语料库训练稠密词向量的装置,能够不需要人工干预,自动化的完成词向量的训练。
以上具体地示出和描述了本发明的示例性实施例。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
此外,本说明书说明书附图所示出的结构、比例、大小等,均仅用以配合说明书所公开的内容,以供本领域技术人员了解与阅读,并非用以限定本公开可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本公开所能产生的技术效果及所能实现的目的下,均应仍落在本公开所公开的技术内容得能涵盖的范围内。同时,本说明书中所引用的如「上」、「第一」、「第二」及「一」等的用语,也仅为便于叙述的明了,而非用以限定本公开可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当也视为本发明可实施的范畴。

Claims (17)

1.一种利用语料库训练稠密词向量的方法,其特征在于,包括:
遍历语料库获取语句,进行以下词向量训练:
通过移动采样窗口,获取所述语句中的词;
通过目标函数算法,获取所述词的词向量。
2.如权利要求1所述的方法,其特征在于,还包括:
在所述语料库遍历结束之后,判断是否满足预定条件;以及
如果满足预定条件,则结束所述词向量训练。
3.如权利要求1所述的方法,其特征在于,通过移动采样窗口,获取所述语句中的词,包括:
通过采样窗口,选取所述语句中连续的n个词;
其中,n为所述采样窗口的宽度。
4.如权利要求1所述的方法,其特征在于,通过目标函数算法,获取所述词的词向量,包括:
通过目标函数算法,获取所述语句中两个所述词的词向量;
判断所述采样窗口中是否包含所述语句中最后一个词;以及
根据判断结果,进行处理。
5.如权利要求4所述的方法,其特征在于,根据判断结果,进行处理,包括:
如果所述采样窗口中未包含所述语句中最后一个词,将采样窗口在所述语句中向后移动一个词,再次获取所述语句中的词。
6.如权利要求4所述的方法,其特征在于,通过目标函数算法,获取所述语句中两个所述词的词向量,包括:
获取所述n个词的中心词;以及
获取所述n个词中任一词;
其中,n为所述采样窗口的宽度,n为正整数。
7.如权利要求4所述的方法,其特征在于,通过目标函数算法,获取所述语句中两个所述词的词向量,包括:
获取所述语料库中任意m个所述词;以及
建立目标函数公式;
其中,m为正整数。
8.如权利要求6或7所述的方法,其特征在于,建立目标函数公式,包括:
P(w_c)=log(sig(w_l*w_c))
-1/m*(log(sig(w_1*w_c))+...+(log(sig(w_m*w_c)))
其中,sig是sigmoid函数,w_c为所述中心词的词向量,w_l为所述任一词的词向量,w_1,...,w_m为所述语料库中任意m个所述词的词向量。
9.如权利要求4或6所述的方法,其特征在于,通过目标函数算法,获取所述语句中两个所述词的词向量,包括:
通过梯度下降算法计算所述中心词的词向量以及所述任一词的词向量;以及
由通过梯度下降算法计算得到的所述中心词的词向量与所述任一词的词向量,替换原有的所述中心词的词向量与所述任一词的词向量。
10.如权利要求9所述的方法,其特征在于,通过梯度下降算法计算所述中心词的词向量以及所述任一词的词向量,包括:
分别获取w_l和w_c的梯度g_l、g_c;
在梯度方向上增加w_l的值,w_l=w_l+x*g_l;以及
在梯度方向上增加w_c的值,w_c=w_c+x*g_c;
其中,w_c为所述中心词的词向量,w_l为所述任一词的词向量,g_l为w_l的梯度,g_c为w_c的梯度,x为一预定数值。
11.如权利要求2所述的方法,其特征在于,还包括:
如果不满足所述预定条件,则再次利用所述语料库进行所述词向量的计算。
12.如权利要求2所述的方法,其特征在于,在所述语料库遍历结束之后,判断是否满足预定条件,包括:
计算预定的所述词的所述词向量之间的矩阵差;以及
如果所述矩阵差小于一预定数值,则结束本次所述词向量训练。
13.如权利要求1所述的方法,其特征在于,所述采样窗口的宽度小于或等于所述语句的长度。
14.如权利要求1所述的方法,其特征在于,还包括:
预先确定所述词向量的维度。
15.如权利要求1所述的方法,其特征在于,所述词向量在所有维度中初始值为随机值。
16.一种利用语料库训练稠密词向量的装置,其特征在于,包括:
遍历语料库模块:用于遍历语料库获取语句;
采样窗口移动模块,用于通过移动采样窗口,获取所述语句中的词;以及
目标函数模块,用于通过目标函数算法,获取所述词的词向量。
17.如权利要求16所述的装置,其特征在于,还包括:
词向量效果判断模块,用于在所述语料库遍历结束之后,判断是否满足预定条件;如果不满足所述预定条件,则再次利用所述语料库进行所述词向量的计算。
CN201611176862.5A 2016-12-19 2016-12-19 利用语料库训练稠密词向量的方法及装置 Active CN108205523B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611176862.5A CN108205523B (zh) 2016-12-19 2016-12-19 利用语料库训练稠密词向量的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611176862.5A CN108205523B (zh) 2016-12-19 2016-12-19 利用语料库训练稠密词向量的方法及装置

Publications (2)

Publication Number Publication Date
CN108205523A true CN108205523A (zh) 2018-06-26
CN108205523B CN108205523B (zh) 2023-05-23

Family

ID=62602890

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611176862.5A Active CN108205523B (zh) 2016-12-19 2016-12-19 利用语料库训练稠密词向量的方法及装置

Country Status (1)

Country Link
CN (1) CN108205523B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109325224A (zh) * 2018-08-06 2019-02-12 中国地质大学(武汉) 一种基于语义元语的词向量表征学习方法及系统
CN109635116A (zh) * 2018-12-17 2019-04-16 腾讯科技(深圳)有限公司 文本词向量模型的训练方法、电子设备及计算机存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915386A (zh) * 2015-05-25 2015-09-16 中国科学院自动化研究所 一种基于深度语义特征学习的短文本聚类方法
CN105512687A (zh) * 2015-12-15 2016-04-20 北京锐安科技有限公司 训练情感分类模型和文本情感极性分析的方法及系统
US20160196258A1 (en) * 2015-01-04 2016-07-07 Huawei Technologies Co., Ltd. Semantic Similarity Evaluation Method, Apparatus, and System

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160196258A1 (en) * 2015-01-04 2016-07-07 Huawei Technologies Co., Ltd. Semantic Similarity Evaluation Method, Apparatus, and System
CN104915386A (zh) * 2015-05-25 2015-09-16 中国科学院自动化研究所 一种基于深度语义特征学习的短文本聚类方法
CN105512687A (zh) * 2015-12-15 2016-04-20 北京锐安科技有限公司 训练情感分类模型和文本情感极性分析的方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李抵非等: "基于深度学习的中文标准文献语言模型", 《吉林大学学报(工学版)》 *
郁可人等: "基于神经网络语言模型的分布式词向量研究进展", 《华东师范大学学报(自然科学版)》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109325224A (zh) * 2018-08-06 2019-02-12 中国地质大学(武汉) 一种基于语义元语的词向量表征学习方法及系统
CN109635116A (zh) * 2018-12-17 2019-04-16 腾讯科技(深圳)有限公司 文本词向量模型的训练方法、电子设备及计算机存储介质
CN109635116B (zh) * 2018-12-17 2023-03-24 腾讯科技(深圳)有限公司 文本词向量模型的训练方法、电子设备及计算机存储介质

Also Published As

Publication number Publication date
CN108205523B (zh) 2023-05-23

Similar Documents

Publication Publication Date Title
US11106714B2 (en) Summary generating apparatus, summary generating method and computer program
Chen et al. Recurrent neural network-based sentence encoder with gated attention for natural language inference
Janda et al. Syntactic, semantic and sentiment analysis: The joint effect on automated essay evaluation
Ganegedara Natural Language Processing with TensorFlow: Teach language to machines using Python's deep learning library
Vougiouklis et al. A neural network approach for knowledge-driven response generation
KR20190117713A (ko) 신경망 아키텍처 최적화
US20140188459A1 (en) Interactive dashboard based on real-time sentiment analysis for synchronous communication
US11636341B2 (en) Processing sequential interaction data
CN108733644A (zh) 一种文本情感分析方法、计算机可读存储介质及终端设备
US20150212976A1 (en) System and method for rule based classification of a text fragment
CN108491389A (zh) 点击诱饵标题语料识别模型训练方法和装置
CN113255328B (zh) 语言模型的训练方法及应用方法
CN111143551A (zh) 文本预处理方法、分类方法、装置及设备
Kathuria et al. Real time sentiment analysis on twitter data using deep learning (Keras)
CN115168592A (zh) 基于方面类别的语句情感分析方法、装置以及设备
Cao et al. Referring expression generation using entity profiles
CN108205523A (zh) 利用语料库训练稠密词向量的方法及装置
CN114547303A (zh) 基于Bert-LSTM的文本多特征分类方法及装置
Longo et al. The mathematics of computing between logic and physics
CN113255365A (zh) 文本数据增强方法、装置、设备及计算机可读存储介质
CN110324278A (zh) 账号主体一致性检测方法、装置及设备
CN108268443A (zh) 确定话题点转移以及获取回复文本的方法、装置
CN111126053B (zh) 一种信息处理方法及相关设备
CN115906818A (zh) 语法知识预测方法、装置、电子设备和存储介质
CN110069632A (zh) 一种集成浅层语义表示向量的深度学习文本分类方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant