CN111695358B - 生成词向量的方法、装置、计算机存储介质和电子设备 - Google Patents
生成词向量的方法、装置、计算机存储介质和电子设备 Download PDFInfo
- Publication number
- CN111695358B CN111695358B CN202010535868.7A CN202010535868A CN111695358B CN 111695358 B CN111695358 B CN 111695358B CN 202010535868 A CN202010535868 A CN 202010535868A CN 111695358 B CN111695358 B CN 111695358B
- Authority
- CN
- China
- Prior art keywords
- text
- text unit
- unit
- units
- target text
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种生成词向量的方法、装置、计算机存储介质和电子设备,获得每一语句中的目标文本单元的上下文窗口的关联文本单元组成的关联文本,利用文档主题生成模型挖掘所有关联文本组成的文本集合得到每一个语句的目标文本单元对应的主题分布向量,为主题分布向量相似度较高的目标文本单元配置相同语义标签,为主题分布向量相似度较低的目标文本单元配置不同语义标签,用添加语义标签后的训练语料集训练词向量模型,得到每一种语义标签的词向量。目标文本单元对应的主题分布向量可以反映目标文本单元的语境,通过主题分布向量的相似度的高低可以区分不同语句中目标文本单元的语义,并基于区分的结果训练词向量模型,以获得不同语义的词向量。
Description
技术领域
本发明涉及自然语言处理技术领域,特别涉及一种生成词向量的方法、装置、计算机存储介质和电子设备。
背景技术
自然语言处理是人工智能领域中的一个重要方向,该方向通常涉及情感分析,智能问答系统和机器翻译等任务。而计算机程序无法直接处理自然语言中的字或词,为了使计算机理解自然语言,一个必要的环节就是用对应的词向量表示自然语言包含的每个字或词,以便后续通过处理词向量实现以上任务。
现有技术一般是直接利用一个语料集合(其中包含多个句子)对现有的词向量(Word2Vec)模型进行训练,从而获得语料集合中的字或词对应的词向量。但是,自然语言中存在多义词,即一个词在不同语境下可以表示不同语义,而现有的方法对一个词只能生成唯一的词向量,无法反映多义词的不同语义,导致后续基于词向量实现的自然语言处理任务准确性较差。
发明内容
基于上述现有技术的缺点,本申请提供一种生成词向量的方法、装置、计算机存储介质和电子设备,以针对多义词的不同语义提供对应的词向量。
本申请第一方面提供一种生成词向量的方法,包括:
获得包括多个语句的训练语料集;其中,每一个所述语句均包括预先指定的目标文本单元,所述目标文本单元包含至少一个连续的文字;
针对训练语料集中的每一个语句,抽取所述语句的目标文本单元的上下文窗口中的每一个实体文本单元,并从文本数据库中获取除所述目标文本单元以外的每一个所述实体文本单元的关联文本单元;
利用文档主题生成模型挖掘包括每一个所述目标文本单元的上下文窗口的关联文本的文本集合,得到每一个所述目标文本单元的上下文窗口对应的主题分布向量;其中,一个所述目标文本单元的上下文窗口的关联文本包括:所述上下文窗口中的每一个实体文本单元的关联文本单元;
为所述训练预料集的每一个所述语句中的所述目标文本单元配置对应的语义标签,得到携带语义标签的目标文本单元;其中,对应的主题分布向量的相似度大于或等于相似度阈值的两个目标文本单元携带的语义标签相同,对应的主题分布向量的相似度小于所述相似度阈值的两个目标文本单元携带的语义标签不同;
用添加语义标签后的训练语料集训练词向量模型,并从训练后的词向量模型中获得所述训练语料集的每一个所述文本单元的词向量;其中,所述目标文本单元对应有多个词向量,且每一个所述词向量唯一对应于一种所述语义标签。
可选的,所述用添加语义标签后的训练语料集训练词向量模型,包括:
生成待训练的词向量模型和每一个所述文本单元的编码;其中,所述词向量模型包括每一个所述文本单元对应的初始词向量和多个参数向量;携带的所述语义标签相同的两个所述目标文本单元的编码相同,携带的所述语义标签不相同的两个所述目标文本单元的编码不同;
对所述添加语义标签后的训练语料集中的每一个所述文本单元执行下述训练过程:
获得所述文本单元的上下文窗口内其他文本单元的词向量;
若所述文本单元不是携带语义标签的目标文本单元,对所述上下文窗口包含的其他文本单元的词向量累加得到计算结果;
若所述文本单元是携带语义标签的目标文本单元,对所述上下文窗口包含的其他文本单元的词向量和所述上下文窗口对应的主题分布向量累加得到计算结果;
根据所述计算结果,所述词向量模型的参数向量和所述文本单元的编码,计算所述词向量模型的损失;
若所述词向量模型的损失不满足收敛条件,基于所述词向量模型的损失更新所述上下文窗口内其他文本单元的词向量和所述词向量模型的参数向量,并返回执行所述获得所述文本单元的上下文窗口内的其他文本单元的词向量,直至所述词向量模型的损失满足收敛条件为止;其中,满足收敛条件的词向量模型中所述文本单元的词向量,作为所述文本单元的词向量。
可选的,所述用添加语义标签后的训练语料集训练词向量模型,并从训练后的词向量模型中获得所述训练语料集的每一个所述文本单元的词向量之后,还包括:
获得包含所述目标文本单元的待处理文本;
针对所述待处理文本的所述目标文本单元,获得所述目标文本单元的上下文窗口的关联文本,并将所述关联文本添加至所述文本集合;
利用文档主题生成模型挖掘所述文本集合,得到所述待处理文本的所述目标文本单元的对应的主题分布向量;
针对所述待处理文本的所述目标文本单元,计算所述目标文本单元的主题分布向量和所述训练语料集中携带语义标签的目标文本单元的主题分布向量的相似度,并将所述训练语料集中对应的相似度大于或等于所述相似度阈值的目标文本单元所携带的语义标签作为所述待处理文本中所述目标文本单元的语义标签;
组合所述待处理文本的每一个文本单元的词向量,得到所述待处理文本的词向量表示,并利用预先构建的情感分析模型处理所述待处理文本的词向量表示,从而确定所述待处理文本对应的情感标签;其中,所述待处理文本的目标文本单元的词向量是对应的所述语义标签的词向量。
可选的,所述利用文档主题生成模型挖掘包括每一个所述目标文本单元的上下文窗口的关联文本的文本集合,得到每一个所述目标文本单元的上下文窗口对应的主题分布向量,包括:
利用预设的算法根据所述文本集合中每一个文本单元在每一个所述关联文本中的出现频率进行计算,从而获得包括预设的每一个主题标签在每一个所述关联文本中出现的概率,以及所述文本集合中每一个文本单元在每一个所述主题标签下出现的概率、且满足下述公式的计算结果;
其中,Dk表示文本集合中的任意一个文本单元,Wi表示文本集合中的任意一个关联文本,Tj表示预设的任意一个主题标签,M表示预设的主题标签的数量,P(Dk|Wi)表示文本单元Dk在文本Wi中的出现频率,P(Tj|Wi)表示主题标签Tj在文本Wi中出现的概率,P(Dk|Tj)表示文本单元Dk在主题标签Tj下出现的概率;
针对每一个所述目标文本单元的上下文窗口,选取所述上下文窗口的关联文本中每一个所述主题标签的出现概率,作为所述上下文窗口的主题分布向量。
可选的,所述从文本数据库中获取除所述目标文本单元以外的每一个所述实体文本单元的关联文本单元,包括:
针对所述文本数据库中的每一个其他文本单元,统计所述其他文本单元的出现频率,所述实体文本单元的出现频率,以及所述其他文本单元和所述实体文本单元的共现频率,得到对应的统计结果;其中,所述其他文本单元指代所述文本数据库中除所述实体文本单元以外的文本单元;
针对每一个所述其他文本单元,根据对应的统计结果计算所述其他文本单元和所述实体文本单元的互信息;
依据和所述实体文本单元的互信息的大小,由大至小地选取N个所述其他文本单元作为所述实体文本单元的关联文本单元;其中,N为预设的正整数。
可选的,所述为所述训练预料集的每一个所述语句中的所述目标文本单元配置对应的语义标签,得到携带语义标签的目标文本单元,包括:
选择任意一个所述语句,并为所述语句的目标文本单元随机配置一个语义标签,得到一个携带语义标签的目标文本单元;
针对每一个所述语句中未携带语义标签的目标文本单元,检测是否存在对应的主题分布向量和所述未携带语义标签的目标文本单元的主题分布向量的相似度大于或等于所述相似度阈值的所述携带语义标签的目标文本单元;
针对每一个所述语句中未携带语义标签的目标文本单元,若不存在对应的主题分布向量和所述未携带语义标签的目标文本单元的主题分布向量的相似度大于或等于所述相似度阈值的所述携带语义标签的目标文本单元,为所述未携带语义标签的目标文本单元配置一个与每一个已配置的语义标签均不相同的语义标签,得到一个携带语义标签的目标文本单元;
针对每一个所述语句中未携带语义标签的目标文本单元,若存在至少一个对应的主题分布向量和所述未携带语义标签的目标文本单元的主题分布向量的相似度大于或等于所述相似度阈值的所述携带语义标签的目标文本单元,为所述未携带语义标签的目标文本单元配置对应的相似度最大的携带语义标签的目标文本单元的语义标签,得到一个携带语义标签的目标文本单元。
可选的,所述针对每一个所述其他文本单元,根据对应的统计结果计算所述其他文本单元和所述实体文本单元的互信息,包括:
针对每一个所述其他文本单元,若所述其他文本单元和所述实体文本单元的共现频率大于0,将所述其他文本单元的出现频率P(Y),所述实体文本单元的出现频率P(X),以及所述实体文本单元和所述其他文本单元的共现频率P(X,Y)代入下述公式,计算得到所述其他文本单元和所述实体文本单元的互信息I(X,Y);
其中,X表示所述实体文本单元,Y表示所述其他文本单元;
若所述其他文本单元和所述实体文本单元的共现频率等于0,设定所述其他文本单元和所述实体文本单元的互信息I(X,Y)等于0。
本申请第二方面提供一种生成词向量的装置,包括:
获得单元,用于获得包括多个语句的训练语料集;其中,每一个所述语句均包括预先指定的目标文本单元,所述目标文本单元包含至少一个连续的文字;
抽取单元,用于针对训练语料集中的每一个语句,抽取所述语句的目标文本单元的上下文窗口中的每一个实体文本单元,并从文本数据库中获取除所述目标文本单元以外的每一个所述实体文本单元的关联文本单元;
挖掘单元,用于利用文档主题生成模型挖掘包括每一个所述目标文本单元的上下文窗口的关联文本的文本集合,得到每一个所述目标文本单元的上下文窗口对应的主题分布向量;其中,一个所述目标文本单元的上下文窗口的关联文本包括:所述上下文窗口中的每一个实体文本单元的关联文本单元;
配置单元,用于为所述训练预料集的每一个所述语句中的所述目标文本单元配置对应的语义标签,得到携带语义标签的目标文本单元;其中,对应的主题分布向量的相似度大于或等于相似度阈值的两个目标文本单元携带的语义标签相同,对应的主题分布向量的相似度小于所述相似度阈值的两个目标文本单元携带的语义标签不同;
训练单元,用添加语义标签后的训练语料集训练词向量模型,并从训练后的词向量模型中获得所述训练语料集的每一个所述文本单元的词向量;其中,所述目标文本单元对应有多个词向量,且每一个所述词向量唯一对应于一种所述语义标签。
本申请第三方面提供一种计算机存储介质,用于存储程序,所述程序被执行时,用于实现本申请第一方面任意一项所提供的生成词向量的方法。
本申请第四方面提供一种电子设备,包括存储器和处理器;
其中,所述存储器用于存储程序;
所述处理器用于执行所述程序,所述程序被执行时,具体用于实现本申请第一方面任意一项所提供的生成词向量的方法。
本申请提供一种生成词向量的方法、装置、计算机存储介质和电子设备,针对训练语料集的每一语句中的目标文本单元,将该目标文本单元的上下文窗口的关联文本单元组成关联文本,利用文档主题生成模型挖掘所有关联文本组成的文本集合得到每一个语句的目标文本单元对应的主题分布向量,为对应的主题分布向量相似度较高的目标文本单元配置相同语义标签,为对应主题分布向量相似度较低的目标文本单元配置不同语义标签,然后用添加语义标签后的训练语料集训练词向量模型,得到每一种语义标签的词向量。语句中目标文本单元对应的主题分布向量可以反映目标文本单元的语境,因此,可以通过主题分布向量的相似度的高低区分不同语句中目标文本单元的语义,并基于区分的结果训练词向量模型,以获得不同语义的词向量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种生成词向量的方法的流程图;
图2为本申请实施例提供的两种词向量模型的架构示意图;
图3为本申请实施例提供的一种哈夫曼树的结构示意图;
图4为本申请又一实施例提供的一种利用添加标签后的训练语料集训练词向量模型的方法的流程图;
图5为本申请实施例提供的一种生成词向量的装置的结构示意图;
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
自然语言指代人们日常使用的语言,例如,英语,汉语,俄语等等都属于自然语言的一种。自然语言处理(NatureLanguageprocessing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。自然语言处理是一门与语言学的研究有着密切的联系,融语言学、计算机科学、数学于一体的科学,其主要研究通过自然语言进行有效的人机交互的方法和相关理论。也就是说,通过自然语言处理方面的相关技术,计算机可以直接识别用户通过语音或文本的形式提供的自然语言,并作出对应的响应,例如执行特定操作,根据用户的意图给出自然语言形式的应答等。具体的,自然语言处理所涉及的技术包括但不限于语义理解、机器翻译、机器问答、知识图谱、情感分析等技术,其中语义理解还可以用于构建搜索引擎的词条。
本申请主要以针对汉语的自然语言处理为例进行说明,但是本申请任一实施例所提供的方法既适用于对汉语的自然语言处理,也可以适用于对其他语种的自然语言处理。
为了实现上述这些自然语言处理相关的技术,一个必不可少的环节就是将用户提供的自然语言形式的语句分解成多个文本单元,然后将每一个文本单元均转换为对应的词向量,从而将用户输入的语句转换成一个由若干个词向量组成的词向量序列,然后计算机才能通过分析这个词向量序列对用户输入的语句进行自然语言处理。
本申请中,用文本单元指代语句中单个的字或者词,例如,语句“张三乘高铁前往A市”,其中包含的文本单元依次为“张三”,“乘”,“高铁”,“前往”,“A市”。在实际应用中,可以预先建立一个词汇表,其中记录有多个常见的文本单元,每个文本单元可以是单个文字,例如“大”,“小”,可以是由两个及以上的字组成的词,例如“空间”,“存储”,“有备无患”,还可以是由两个及以上的词组成的词组,例如“电脑游戏”。
在此基础上,用户输入了一个语句之后,计算机可以逐一将用户输入的语句的每个文字和词汇表中的文本单元进行比对,从而识别出语句中每一个已记录的文本单元,若通过上述比对后,语句中还剩余若干个与词汇表中任意一个文本单元均不一致的文字,则可以将每一个剩余的字单独作为一个文本单元。
在自然语言中,常常会出现同一个文本单元在不同的语境下表示不同的语义的情况。例如,“大海”一词在某些语境可以指代通常所说的海洋,而在另一些语境下可以指代某些以“大海”作为标题的文艺作品,如流行乐曲,诗歌等。
而目前获得文本单元对应的词向量的方法一般是,直接利用一个包含多个语句的训练语料集训练得到一个词向量模型,训练完成的词向量模型中包含这个训练语料集的每一个文本单元唯一对应的词向量,这种方法无法针对同一个文本单元的不同语义生成不同的词向量。这就导致后续基于词向量进行的情感分析,机器问答等自然语言处理技术的准确度较低。
结合上述例子,若某个训练语料集中多次出现了上述文本单元“大海”,但是在这个训练语料集中,在某些语句中“大海”的语义为前一种,即表示海洋,而在另一些语句中“大海”的语义为后一种,即表示特定文艺作品,现有的这种获得词向量的方法会生成唯一的一个用于表示“大海”这一文本单元的词向量,而无法区分不同语义的“大海”。
在后续基于词向量进行自然语言处理时,若不同的用户分别提供了两个不同的语句,两个语句均包含文本单元“大海”,但是第一个语句的“大海”表示海洋,而第二个语句的“大海”指代文艺作品。这种情况下,两个语句中的“大海”被转换为同一个词向量,会导致后续对词向量的分析结果趋于一致。对应的,计算机根据分析结果做出的响应也会趋于一致。
例如,根据用户提供的语句进行搜索时,针对这两个语句的搜索结果可能会趋于一致。显然,上述例子中的两个语句的搜索结果应该涉及完全不同的两个方向,因此,若两个语句的搜索结果趋于一致,则其中必然存在至少一个语句,其对应的搜索结果与该语句所表达的用户的意图不匹配,这就说明,计算机针对该语句的自然语言处理的准确度较低,未能准确理解该语句的所表达的语义。
类似的例子还有文本单元“苹果”,在特定的语境中,“苹果”一词可以表示一种水果,在另外的一些语境中,“苹果”也可以指代以这个词作为企业名称的企业以及该企业所生产的电子设备。
为了解决现有方法生成的词向量无法对文本单元的不同语义进行区分的问题,本申请第一个实施例提供一种生成词向量的方法,请参考图1,该方法可以包括以下步骤:
S101、获得包括多个语句的训练语料集。
训练语料集中的每一个语句均包括至少一个目标文本单元。目标文本单元包含至少一个连续的文字。目标文本单元可以是预先指定的单个字,例如“山”,“海”等,也可以是预先指定的一个词,例如“苹果”,“电子设备”等。
上述训练语料集可以通过以下方式获得:
首先获得包括至少一个文本的初始文本集合,初始文本集合中的文本,可以是一些访问量较大的网站或论坛上的用户发言,也可以是报刊杂志中的文章,还可以是一些书籍中节选的部分段落。
获得初始文本集合之后,针对每一个文本,检测得到文本中的每一个语句分隔符,然后基于语句分隔符将每一个文本均拆分为多个待过滤语句。
具体的,在汉语的应用环境中,语句分隔符可以包括句号,感叹号,问号等用于表示一句话结束的标点符号。在检测得到文本中的每一个语句分隔符之后,针对每一个文本,可以将文本的开头到文本的第一个语句分隔符之间的文字作为第一个待过滤语句,然后将第一个语句分隔符和第二个语句分隔符之间的文字作为第二个待过滤语句,以此类推,划分完整个文本。
划分得到多个待过滤语句之后,可以进一步从每一个待过滤语句中过滤掉数字、字母和特殊符号,也就是从待过滤语句中删除数字、字母和特殊符号(包括但不限于一个语句中的标点符号,如逗号,冒号,书名号等),得到对应的过滤后的语句。对每一个待过滤语句均进行过滤后,在从获得的所有过滤后的语句中筛选出包含至少一个目标文本单元的语句,然后就可以将这些语句组成步骤S101所述的训练语料集。
需要说明的是,上述过滤字母,是指,在汉语的应用环境中,删除待过滤语句中不属于汉字的其他文字,例如英语的字母,日语的假名等。在将本申请提供的方法应用于其他语种时,上述过滤字母可以替换为,过滤掉不属于当前语种的文字,例如,应用英语时,对待过滤语句的过滤就可以变更为过滤掉数字、特殊符号和其他语言的文字(例如汉字)。
目标文本单元指代由管理员指定的需要利用本申请提供的方法检测是否存在多种语义并对每一种语义均生成对应的词向量的文本单元。例如,假设一个训练语料集的多个语句中均出现了“苹果”,管理员认为在这个训练语料集中“苹果”可能有不同的语义,则可以指定“苹果”作为目标文本单元。
S102、针对训练语料集中的每一个语句,抽取语句的目标文本单元的上下文窗口中的每一个实体文本单元。
上下文窗口是自然语言处理领域一个常用的概念。预先设定窗口宽度N,N为正整数,对于一个语句中的任意一个文本单元,这个文本单元自身,位于这个文本单元之前的N个其他文本单元,以及位于这个文本单元之后的N个其他文本单元,共同组成这个文本单元的上下文窗口。其中,若这个文本单元之前或之后的其他文本单元的数量不足N个,则以文本单元所在语句的边界作为该文本单元的上下文窗口的边界。
实体文本单元,指代特定事物或者动作的单个文字或者词汇,例如,“公司”,“版本”等名词,以及“发布”,“公开”等指代特定动作的动词,如“最近”,“最新”等形容词则一般不属于实体文本单元。
目前有多种现有的实体识别方法可以从某个语句的一个上下文窗口中抽取实体文本单元(或者,如果将单个文字也视为一个词,那么实体文本单元也可以简称为实体词)中识别出哪些文本单元是实体文本单元,其中的任意一种实体识别方法均适用于本申请所提供的词向量生成方法,本申请对此不做限定。
下面举一个抽取实体文本单元的例子以供参考:
目标文本单元为“苹果”,设定上下文窗口的窗口宽度N等于5,假设训练语料集中包含如下述表1所示的四个语句:
表1
语句1 | 苹果公司发布了最新版本的手机 |
语句2 | 苹果公司刚发布的这款最新版本的手机还不错哦 |
语句3 | 最近苹果产量多水分充足 |
语句4 | 山东苹果的产量多水分也充足 |
针对表1的语句1,其中目标文本单元“苹果”的上下文窗口为“苹果公司发布了最新版本”,从这个上下文窗口可以抽取得到“苹果”,“公司”,“发布”,“版本”四个实体文本单元。
逐一对表1中的四个语句执行步骤S102,获得的每一个语句对应的实体文本单元如表2所示:
表2
语句 | 对应实体文本单元 |
语句1 | “苹果”“公司”“发布”“版本” |
语句2 | “苹果”“公司”“发布”“版本”“手机” |
语句3 | “苹果”“产量”“水分” |
语句4 | “山东”“苹果”“产量”“水分” |
S103、针对每一个语句的目标文本单元的上下文窗口,获取该上下文窗口的除目标文本单元以外的每一个实体文本单元对应的关联文本单元。
上述关联文本单元可以从预先构建的文本数据库中获得。
文本数据库,可以包括各种网页上的用户发言,各领域的书籍,以及期刊杂志上的文章,具体的,获取这些内容之后,可以通过识别这些发言,书籍或文章中的语句的分隔符,将这些内容均拆分为若干个语句,拆分得到的所有语句的集合,就是前述文本数据库。
可选的,步骤S101所述的训练语料集,就可以是以包含至少一个目标文本单元为条件,从上述文本数据库中筛选得到的多个语句的集合。
每一个实体文本单元,均可以对应有N个关联文本单元,N是预设的正整数,可以设定N等于10,也可以根据具体情况设定为其他值。
针对任意一个实体文本单元,从上述文本数据库获得这个实体文本单元的方法可以是:
对于任意一个实体文本单元(记为文本单元X),遍历文本数据库中除文本单元X以外的每一个其他的文本单元(下文以文本单元Y为例进行说明),统计文本单元X的出现频率P(X),文本单元Y的出现频率P(Y),以及文本单元X和文本单元Y的共现频率P(X,Y)。
一个文本单元的出现频率,是指,在文本数据库中,包含这个文本单元的语句的数量除以这个文本数据库包含的所有语句的总数得到的比值。
文本单元X和文本单元Y的共现频率,是指,在文本数据库中,同时包含文本单元X和文本单元Y的语句的数量除以这个文本数据库包含的所有语句的总数得到的比值。
可选的,前述统计出现频率的步骤也可以改为:
首先获得文本数据库中每一个包含有文本单元X的语句,将所有这些语句中的文本单元组成一个文本单元集合,然后后续的统计只针对这个文本单元集合中出现的文本单元进行,而不需要遍历文本数据库中除文本单元X以外的每一个文本单元,从而减少执行本实施例提供的方法所需的时间。
获得文本单元X的出现频率P(X),文本单元Y的出现频率P(Y),以及文本单元X和文本单元Y的共现频率P(X,Y)之后,通过下述公式(1)计算得到文本单元X和文本单元Y的互信息I(X,Y):
其中,若文本单元X和文本单元Y的共现频率等于0,也就是说文本数据库中不存在同时包括文本单元X和文本单元Y的语句,则可以直接将文本单元X和文本单元Y的互信息I(X,Y)设置为0。
通过上述步骤可以计算得到在文本数据库中每一个和文本单元X同时出现的文本单元,与文本单元Y之间的互信息。
例如,假设在上述文本数据库中,总计有60个文本单元和前文抽取得到的一个实体文本单元“公司”同时出现(若文本数据库中存在至少一个语句同时包含两个文本单元,就可以认为这两个文本单元同时出现),将这些文本单元依次记为Y1至Y60,那么通过上述两个步骤,就可以获得Y1至Y60每一个文本单元和实体文本单元“公司”(仍然记为文本单元X)的互信息I(X,Yi),其中,i是大于或等于1,小于或等于60的正整数。
最后,针对文本单元X,将所有和文本单元X同时出现的其他文本单元(指代除文本单元X以外的每一个文本单元)依据和文本单元X之间的互信息的大小从大到小进行排序,互信息越大则排位越靠前,然后由大至小选取其中前N个文本单元作为文本单元X的关联文本单元。
针对步骤S102中抽取的每一个实体文本单元,通过步骤S103获得的这个实体文本单元的多个关联文本单元,可以认为是和这个实体文本单元经常同步更新的文本单元。也就是说,在任意一个语句中,若出现了某个实体文本单元的关联文本单元,那么这个语句大概率也会包含这个实体文本单元,反过来,出现实体文本单元后,大概率也会出现对应的关联文本单元。
可选的,针对前述表2中所列举的多个实体文本单元,步骤S103获取得到的每个实体文本单元的关联文本单元可以如下述表3所示
表3
例如,对于前述实体文本单元“公司”,获得的关联文本单元可能包括“单位”,“行业”,“企业”,“业务”,“股东”,“供应商”,“员工”,“外企”,“总部”,“业务员”。
S104、利用文档主题生成模型挖掘文本集合,得到每一个目标文本单元的上下文窗口对应的主题分布向量。
上述文本集合,由训练语料集中每一个语句的目标文本单元的上下文窗口所对应的关联文本组成。
如前文所述,对于每一个语句中的目标文本单元,都可以通过步骤S102和步骤S103,获得这个目标文本单元的上下文窗口的每一个实体文本单元,以及每一个实体文本单元的关联文本单元。针对每一个上下文窗口,组合这个上下文窗口对应的所有关联文本单元,就可以得到这个上下文窗口的关联文本,再将所有关联文本组合就可以得到前述文本集合。
例如,对于前述表1的语句1,其上下文窗口包含的除目标文本单元“苹果”以外的其他实体文本单元为“公司”“发布”“版本”。参考上述表3,语句1中“苹果”的上下文窗口对应的关联文本,就由表3中的第二列,第三列,第四列(依次对应于“公司”“发布”“版本”)所包含的所有文本单元组成。
文档主题生成模型一种非监督机器学习技术,可以用来识别文本集合中潜在的主题信息。文档主题生成模型基于如下的理论假设构建:
对于一个给定的包含多个文本(每个文本可以认为是一篇文章)以及预先设定的多个主题标签,可以认为生成其中任意一个文本Wi的过程为,以一定概率从多个主题标签中选择任意一个主题标签Tj,在以一定概率从这个主题标签对应的多个文本单元中选择一个文本单元Dk,将被选中的文本单元作为这个文本Wi中出现的第一个文本单元,之后,重复前述选择主题标签然后基于主题标签选择文本单元的方式逐一确定文本Wi中的第二个文本单元,第三个文本单元,以此类推,直至生成这个文本Wi。
利用文档主题生成模型挖掘一个文本集合,其实就是根据这个文本集合中的每一个文本单元Dk在各个文本Wi中的出现频率P(Dk|Wi)(可以用文本Wi中包含的文本单元Dk的数量除以文本Wi包含的文本单元的总数得到的比值作为出现频率P(Dk|Wi)),确定出每一个主题标签Tj在各个文本Wi中的出现概率P(Tj|Wi),并确定出每一个主题标签Tj对应于哪些文本单元Dk,以及在文本中给定任意一个主题标签Tj之后,对应的文本单元被选中的概率P(Dk|Tj)。
确定了以上这些信息之后,就得到了文本集合对应的一个文档主题生成模型,从文档主题生成模型中可以直接获得文本集合中每一个文本对应的主题分布向量。
具体到本申请中,作为挖掘对象的文本集合由每个语句中目标上下文窗口对应的关联文本组成,因此,通过执行步骤S104可以获得文本集合中每一个关联文本的主题分布向量,每一个关联文本集合又对应于一个上下文窗口,因此相当于获得每一个上下文窗口的主题分布向量。
本申请实施例所提供的方法可以使用任意一种现有的文档主题生成模型实现步骤S104。作为一个例子,步骤S104所述的文档主题生成模型,可以是基于隐式狄利克雷分配(LatentDirichletAllocation,LDA)理论构建的文档主题生成模型,又称为LDA模型。
LDA理论认为,对于给定的文本集合(包括多个文本Wi)和M个主题标签Tj(j是大于或等于1,小于或等于M的正整数),前述文档主题生成模型中的各个概率值理论上应当满足下述公式:
也就是说,给定一个文本Wi和文本单元Dk,对于每一个主题标签Tj,可以计算这个主题标签Tj在文本Wi中出现的概率P(Tj|Wi)和这个文本Wi中出现主题标签Tj的情况下出现文本单元Dk概率P(Dk|Tj)的乘积,所有主题标签的上述乘积的和,理论上应该等于文本单元Dk在文本Wi中出现的频率P(Dk|Wi)。
在上述公式的基础上,针对给定的文本集合,可以采用多种现有的算法,以每个文本中每个文本单元的出现频率作为输入,通过反复的训练(即反复的迭代优化),最终确定出能够满足上述公式的每一个主题标签Tj在每一个文本Wi中的出现概率P(Tj|Wi),以及确定每一个文本单元Dk在每一个主题标签下出现的概率P(Dk|Tj),此时,上述两种概率,就构成这个文本集合的文档主题生成模型。
可选的,上述概率可以使用期望最大化算法或者吉布斯采样算法确定。
若需要确定一个文本集合的LDA模型,可以采用现有的吉布斯采样(GibbsSampling)算法实现,对应的,步骤S104的具体实现过程可以包括:
利用吉布斯采样算法计算得到文本集合的每一个关联文本中各个主题标签的出现概率,得到文本集合的文本-主题矩阵。
其中,文本-主题矩阵的每一个元素表示对应的主题标签在对应的关联文本中出现的概率。对应的主题标签的数量可以预先设定,例如,假设由多个关联文本组成的文本集合中可能有20种主题,则可以设定20个主题标签,依次记为T1至T20。
针对每一个目标文本单元的上下文窗口,选取文本-主题矩阵中上下文窗口的关联文本所对应的各个元素作为目标文本单元的上下文窗口的主题分布向量。
假设文本集合包括四个关联文本,依次记为W1至W4,分别对应于训练语料集中的四个语句中目标文本单元的上下文窗口,预先设定的主题标签数量为5,依次记为T1至T5,则获得的文本-主题矩阵可以表示为下述表4:
表4
T1 | T2 | T3 | T4 | T5 | |
W1 | P(T1|W1) | P(T2|W1) | P(T3|W1) | P(T4|W1) | P(T5|W1) |
W2 | P(T1|W2) | P(T2|W2) | P(T3|W2) | P(T4|W2) | P(T5|W2) |
W3 | P(T1|W3) | P(T2|W3) | P(T3|W3) | P(T4|W3) | P(T5|W3) |
W4 | P(T1|W4) | P(T2|W4) | P(T3|W4) | P(T4|W4) | P(T5|W4) |
表4中第一列表示各个关联文本,第一行表示各个主题标签,中间的每个元素就表示对应的主题标签在关联文本中出现的概率。针对关联文本W1,从表4中读出5个主题标签分别在关联文本W1中出现的概率,即可组合为下述关联文本W1对应的主题分布向量P1:
P1=(P(T1|W1),P(T2|W1),P(T3|W1),P(T4|W1),P(T5|W1))
吉布斯采样算法及其对应的吉布斯采样公式均为现有的算法,可以参考相关现有技术进行理解,此处不进行详述。
利用吉布斯采样算法计算得到文本集合的每一个关联文本中各个主题标签的出现概率,得到文本集合的文本-主题矩阵的过程为:
首先随机的为文本集合中的每一个文本单元分配一个对应的主题标签,分配完成后,判断在当前的分配结果下吉布斯采样公式是否收敛,其中,吉布斯采样公式中包括文本集合中每一个文本单元Dk在关联文本Wi中的出现频率P(Dk|Wi)作为参数。
若当前的分配结果下吉布斯采样公式不收敛,则依据吉布斯采样公式逐一更新文本集合中每一文本单元对应的主题标签,然后再次判断在当前分配结果下吉布斯采样公式是否收敛,若仍不收敛则重复上述更新主题标签的过程,直至某一次分配结果下吉布斯采样公式收敛为止。
此时,针对任意一个关联文本Wi,由于其中每一个文本单元均配置了主题标签,因此,可以很容易的统计出每一个主题标签Tj在关联文本Wi中出现的频率,得到的统计结果就是如前述表4所述的文本-主题矩阵中的P(Tj|Wi)。
S105、为训练预料集的每一个语句中的目标文本单元配置对应的语义标签,得到携带语义标签的目标文本单元。
在配置语义标签时,对于任意两个语句中的目标文本单元,若这两个目标文本单元对应的主题分布向量的相似度大于或等于预先设定的相似度阈值,则为这两个目标文本单元配置相同的语义标签,若这两个目标文本单元对应的主题分布向量的相似度小于预先设定的相似度阈值,则为这两个目标文本单元配置不同的语义标签。
如前文所述,每一个语句中的每一个目标文本单元均对应有一个上下文窗口,并且,通过步骤S104,可以获得每一个上下文窗口对应的主题分布向量,因此,对于每一个语句中的每一个目标文本单元,这个目标文本单元对应的上下文窗口对应的主题分布向量,就相当于该语句中这个目标文本单元对应的主题分布向量。
上述两个主题分布向量之间的相似度,可以是这两个主题分布向量之间的余弦相似度,或者也可以是其他相似度,本申请对此不作限定。
步骤S105的具体执行过程可以是:
选择任意一个语句,并为语句的目标文本单元随机配置一个语义标签,得到一个携带语义标签的目标文本单元。
针对每一个语句中未携带语义标签的目标文本单元,依据下述过程确定这个语句(记为语句A)中的目标文本单元的语义标签:
检测是否存在对应的主题分布向量和未携带语义标签的目标文本单元的主题分布向量的相似度大于或等于相似度阈值的携带语义标签的目标文本单元。
例如,假设有10个语句的目标文本单元已配置语义标签,语句A的目标文本单元尚未携带语义标签,则逐一计算已配置语义标签的每一个语句中的目标文本单元对应的主题分布向量,和语句A的目标文本单元对应的主题分布向量之间的相似度,然后判断计算得到的这10个语句的目标文本单元中是否有对应的相似度大于或等于相似度阈值的目标文本单元。
若已携带语义标签的这些目标文本单元中不存在对应的相似度大于或等于相似度阈值的目标文本单元,则为语句A中的目标文本单元配置一个与每一个已配置的语义标签均不相同的语义标签,得到一个携带语义标签的目标文本单元。
例如,若以数字作为语义标签,前述例子中已配置的数字有1和2,那么在上述情况下就为语句A的目标文本单元配置除1和2以外的数字作为语句A的目标文本单元的语义标签。
若已携带语义标签的这些目标文本单元中存在至少一个对应的相似度大于或等于相似度阈值的目标文本单元,从其中选取对应的相似度最大的目标文本单元,为语句A的目标文本单元配置对应的相似度最大的目标文本单元的语义标签。
具体的,可以用数字作为语义标签,通过不同的数字区分不同语义标签,由此,对上述表1的四个语句配置语义标签之后得到的添加语义标签后的训练语料集可以如下述表5所示:
表5
语句1 | 苹果1公司发布了最新版本的手机 |
语句2 | 苹果1公司刚发布的这款最新版本的手机还不错哦 |
语句3 | 最近苹果2产量多水分充足 |
语句4 | 山东苹果2的产量多水分也充足 |
S106、用添加语义标签后的训练语料集训练词向量模型,并从训练后的词向量模型中获得训练语料集的每一个文本单元的词向量。
可选的,可以直接用训练语料集训练得到词向量模型,也可以对训练语料集进行扩充,额外增加一些不包含目标文本单元的语句,得到扩充后的语料集,然后用扩充后的语料集训练得到词向量模型。
训练后的词向量模型包括训练语料集的每一个文本单元的词向量,并且,目标文本单元对应有多个词向量,且每一个词向量唯一对应于一种语义标签。
结合步骤S105的例子,目标文本单元“苹果”会对应有两个不同的词向量,其中一个词向量和“苹果”的语义标签1对应,另一个词向量和“苹果”的语义标签2对应。
需要说明的是,为了获得目标文本单元的每一个语义标签唯一对应的词向量,在训练词向量模型时,应当将目标文本单元和目标文本单元所携带的语义标签作为一个整体进行训练。
具体的,在利用语料集训练一个词向量模型之前,需要对这个语料集的每一个文本单元配置一个唯一的编码,也就是说每两个相同的文本单元具有相同编码,每两个不同的文本单元,其对应的编码也不相同,在词向量模型训练过程中需要用文本单元的编码计算词向量模型的损失,以便根据词向量模型的损失调节词向量模型包含的参数。训练完成后就可以从词向量模型中获得每一个编码对应的唯一的词向量,而每一个编码又唯一对应于一个文本单元,因此,通过这种方式就可以获得每一个单元唯一对应的词向量。
而在本申请中,为了获得每一种语义标签唯一对应的词向量,在为目标文本单元配置编码时,需要根据携带的语义标签配置不同的编码,即,携带不同的语义标签的目标文本单元用不同的编码表示,携带相同语义标签的目标文本单元用相同的编码表示,若训练语料集中存在由于不满足语义识别条件而未配置语义标签的目标文本单元,则这种目标文本单元也需要配置与其他携带语义标签的目标文本单元均不相同的编码。
结合步骤S105所述的例子,设定编码时,对第一个和第二个语句的“苹果1”设定第一编码,对第三个和第四个语句的“苹果2”设定第二编码,第一编码和第二编码不同。
通过这种方式,就可以确保训练完成的词向量模型包括每一种语义标签唯一对应的词向量。
一般的,对于具有多种不同的语义的词(或者字),在日常的语言交流中人们会通过这个词所应用的语境识别这个词的语义。例如,对于语句“某市的苹果产量很高且水分充足”,可以识别出其中的“苹果”指代一种水果,对于语句“苹果公司发布的最新版本的手机很好用”,可以识别出其中的“苹果”是某企业的名称。
进一步的,一个词(或者字)的所应用的语境,又可以用包含这个词的上下文窗口所对应的主题分布向量表示。若两个语句中的目标文本单元对应的主题分布向量之间相似度较高,就可以认为这两个语句中目标文本单元的语境相近,进而可以认为这两个语句中目标文本单元语义相同,反之,若两个语句中目标文本单元的主题分布向量的相似度较低,则可以认为这两个语句中目标文本单元的语义不同。
综上所述,本方案通过挖掘训练语料集中每一个语句的目标文本单元所对应的主题分布向量,通过主题分布向量之间的相似度区分不同语境,在此基础上为应用于不同语境的目标文本单元配置不同的语义标签,使得训练词向量模型时,词向量模型能够通过不同的语义标签发现应用于不同语境下的目标文本单元具有不同的语义,从而获得多个用于表示目标文本单元的不同语义的词向量,进而提高后续对包含目标文本单元的自然语言进行处理时的准确程度。
词向量模型是一类现有的神经网络模型,其主要包括输入层(inputlayer),投影层(projectionlayer)和输出层(outputlayer)三层结构,根据输入层允许输入的文本单元的数量和输出层输出的词向量的数量,词向量模型又可以具体分为连续性词袋模型(ContinuousBag-of-WordsModel,简称为CBOW模型),和连续性跳字模型(ContinuousSkip-gramModel,简称为Skip-gram)两种类型。
本申请对现有的两种类型的词向量模型进行了改进,改进后的两种类型的词向量模型的结构如图2所示。其中,两种模型的输入层均包括训练语料集中每一个文本单元的词向量,也就是说,对于一个词向量模型,文本单元的词向量是这个词向量模型的参数的一部分,在初始化词向量模型时,需要为每一个文本单元设定一个初始词向量,然后在后续训练过程中不断的更新输入层的词向量。
训练CBOW模型时,逐一读取训练语料集的每一个语句中的每一文本单元作为中心文本单元,从输入层输入中心文本单元的上下文窗口内其他文本单元的编码,然后输入层根据输入的每一个编码确定对应的文本单元的词向量,并将确定的多个词向量传输至投影层,投影层对这些词向量进行运算得到一个运算结果X,将运算结果X传输至输出层,然后输出层会根据X,中心文本单元的编码,以及输出层包含的多个预设的参数向量计算得到这个中心文本单元对应的词向量模型损失,此时,若当前这个中心文本单元对应的词向量模型损失满足收敛条件,则继续从训练语料集中读取下一个文本单元作为中心文本单元,然后对这个新的中心文本单元重复上述过程,若当前这个中心文本单元对应的词向量模型损失不满足收敛条件,则依据当前这个中心文本单元对应的词向量模型损失更新输出层的参数向量,以及中心文本单元的上下文窗口内其他文本单元的词向量,直至当前这个中心文本单元对应的词向量模型损失满足收敛条件。
以此类推,直至针对训练语料集中的每一个文本单元,输出层输出的词向量模型损失均满足收敛条件,对CBOW模型的训练就算完成,训练完成后,可以直接从输入层获得每一个文本单元的词向量。
对Skip-gram模型的训练过程类似,区别在于,Skip-gram模型的输入层输入的是中心文本单元的词向量,输出层输出的是中心文本单元在语句中的上下文窗口内的其他文本单元所对应的词向量模型损失,对应的,在检测模型是否收敛时,需要检测上下文窗口内每一个其他文本单元对应的词向量模型是否收敛。另外,在更新Skip-gram模型时,需要更新输出层的参数向量,中心文本单元的词向量,以及投影层的计算参数。
请参考图2,本申请提供的词向量模型的架构中,除了输入层的词向量,在中心文本单元是携带语义标签的目标文本单元时,投影层还会接收目标文本所在的上下文窗口对应的主题分布向量作为输入,并在计算时结合主题分布向量进行计算,具体可以参考下述方法。
下面介绍一种在训练词向量模型时用于对训练语料集中的文本单元编码的方法:
可以根据训练语料集中每个文本单元的出现频率,构建这个训练语料集的哈夫曼树(HuffmanTree)。基于训练语料集构建的哈夫曼树的结构可以参考图3,每一个矩形框表示一个节点,对于相互连接的两个节点,上方的节点为下方的节点的父节点,对应的,下方的节点为上方的节点的子节点。对于每一个节点,若该节点没有子节点,则该节点称为叶子节点,若该节点有一个或两个子节点,则该节点称为分支节点。图3中叶子节点的文本单元1至5用于表示每一个叶子节点对应的文本单元。若对训练语料集构造了哈夫曼树,则可以将输出层的每一个参数向量配置个哈夫曼树中对应的分支节点,如图3所示。
哈夫曼树是一种给定N个叶子节点以及每一个叶子节点对应的权值之后,根据这N个权值按一定的规则构造得到的二叉树,其中每个叶子节点的权值用于决定叶子节点在哈夫曼树中的位置,具体的构造方法可以参考相关的现有技术,此处不再赘述。
在本申请中每一个叶子节点就对应于训练语料集中的一个文本单元,或对应于携带一种语义标签的目标文本单元,叶子节点的权值就是对应的文本单元或者携带语义标签的目标文本单元在训练语料集中的出现频率。
例如,针对前述表5所示的添加语义标签后的训练语料集,其中,文本单元“公司”的出现频率为0.5,在构造的哈夫曼树中有唯一的一个对应于“公司”的叶子节点,其权值为0.5,对于携带语义标签的目标文本单元,携带的语义标签不同时应当视为不同的文本单元进行处理,在构造的哈夫曼树中,分别有两个叶子节点,一个对应于“苹果1”,另一个对应于“苹果2”,其他的文本单元则与前述“公司”一样,每种文本单元对应唯一一个叶子节点。
在构造了上述哈夫曼树的基础上,可以针对每一个分支节点,将其左侧的边标记为0,右侧的边标记为1,通过这种方式,每个叶子节点的位置就可以用从根节点(即哈夫曼树中位于顶层的节点)到这个叶子节点的路径上的各个边对应的标记进行编码,又由于叶子节点和训练语料集中的文本单元(以及携带语义标签的目标文本单元)一一对应,因此可以将叶子节点的编码作为对应文本单元和携带语义标签的目标文本单元的编码。
例如,图3最左侧的叶子节点,从根节点移动至这个叶子节点时,首先经过根节点的标记为0的边,然后经过一个分支节点的标记为0的边,才能到达该叶子节点,因此这个叶子节点的编码为00,该叶子节点对应的文本单元的编码也是00。
类似的,对于图3中文本单元2对应的叶子节点,从根节点移动至这个叶子节点,首先经过根节点的标记为0的边,然后经过一个分支节点的标记为1的边,因此文本单元2的编码为01。
进一步的,在构造训练语料集对应的哈夫曼树之后,可以进一步将输出层的各个参数向量填充至哈夫曼树的每一个分支节点中,每一个分支节点对应一个参数向量,通过这种方式,在训练词向量模型时就可以利用哈夫曼树计算词向量模型的损失。
请参考图4,下面结合前述图1对应的实施例的方法,以及前文对哈夫曼树的介绍,说明本申请提供的生成词向量的方法中,利用添加语义标签后的训练语料集训练CBOW模型的过程:
S401、生成待训练的词向量模型和每一个文本单元的编码。
其中,词向量模型包括每一个文本单元对应的初始词向量和多个参数向量;携带的语义标签相同的两个目标文本单元的编码相同,携带的语义标签不相同的两个目标文本单元的编码不同。
文本单元以及携带语义标签的目标文本单元的编码可以通过前述构造哈夫曼树的方式确定,如前文所述,在构造好的哈夫曼树中,携带不同语义标签的目标文本单元对应于不同叶子节点,具体到前述表5所示的例子中,就是“苹果1”对应一个叶子节点,“苹果2”对应另一个叶子节点。
生成待训练的词向量模型,可以理解为对词向量模型进行初始化。根据前文对词向量模型的介绍,训练一个词向量模型首先需要为这个词向量模型的每个词向量和参数向量配置初始的数值,然后在后续训练过程中不断调节这些向量的数值。
可选的,在本实施例中,可以首先设定参数向量和词向量的维度,然后使用服从均匀分布的数据填充每一个参数向量和词向量的每一个维度,从而完成初始化。
S402、读取添加语义标签后的训练语料集中出现的第一个文本单元作为当前文本单元。
以前述表5中的添加语义标签的训练语料集为例,第一个文本单元为第一个语句中携带语义标签的目标文本单元“苹果1”。
S403、获得当前文本单元的上下文窗口内其他文本单元的词向量。
其他文本单元指代上下文窗口内除当前文本单元以外的每一个文本单元。
需要说明的是,执行步骤S403时,若上下文窗口中有重复的文本单元,则对应的词向量也需要重复获取。
步骤S403可以认为是由词向量模型的输入层执行的步骤。
步骤S403中其他文本单元的词向量,是指,其他文本单元当前的词向量,具体的,若其他文本单元的词向量经过更新,则步骤S403获得的是其他文本单元的最近一次更新后的词向量,若其他文本单元的词向量未经过更新,则步骤S403获得的初始化时生成的其他文本单元的初始词向量。
S404、判断当前文本单元是否为携带语义标签的目标文本单元。
若当前文本单元不是携带语义标签的目标文本单元,执行步骤S405。
若当前文本单元是携带语义标签的目标文本单元,执行步骤S406。
S405、对上下文窗口内的其他文本单元的词向量进行累加计算,得到计算结果。
用wi表示上下文窗口中的第i个其他文本单元,i的取值为1至m,m为上下文窗口中其他文本单元的数量,用V(wi)表示文本单元wi的词向量,则步骤S405可以表示为如下公式(2),其中X表示计算结果:
S406、对上下文窗口包含的其他文本单元的词向量和上下文窗口对应的主题分布向量累加得到计算结果。
可选的,考虑到上下文窗口对应的主题分布向量和词向量模型中设定的词向量的维度可能不一致,可以在词向量模型的投影层设置一个转换矩阵,利用转换矩阵将上下文窗口对应的主题分布向量转换为和词向量具有相同维度的向量,然后对上下文窗口包含的其他文本单元的词向量和上下文窗口对应的主题分布向量转换后得到的向量进行累加,得到计算结果X。
步骤S406可以表示为如下公式(3):
其中,Tr表示上下文窗口对应的主题分布向量(若主题分布向量和词向量的维度相同),或者表示上下文窗口对应的主题分布向量经过转换矩阵转换后得到的向量。
S407、根据计算结果,词向量模型的参数向量和当前文本单元的编码,计算得到词向量模型的损失。
结合前文对哈夫曼树的介绍,对于一个文本单元,根据这个文本单元的编码可以确定在哈夫曼树中从根节点到这个文本单元对应的叶子节点的路径,进而确定出该路径所经过的每一个分支节点,其中根节点作为路径上的第一个分支节点,后续的分支节点依据和根节点的距离的长短排序,距离最近的为第二个分支节点,距离第二近的为第三个分支节点,以此类推。。
进一步的,可以将输出层的每一个参数向量对应于哈夫曼树的一个分支节点。
基于此,对于当前文本单元所对应的叶子节点的路径上的第j个分支节点,可以用下述公式(4)计算得到这个分支节点j对当前文本单元所对应的叶子节点的分类概率P(X,Yj):
其中,X表示前述计算结果,Yj表示分支节点j对应的参数向量,dj表示当前文本单元对应的编码中的第j位,同时也是从分支节点j移动至当前文本单元对应的叶子节点时所经过的第一条边的标记,结合前述对哈夫曼树的说明,若当前文本单元对应的叶子节点在分支节点j的左侧,则dj等于0,若当前文本单元对应的叶子节点在分支节点j的右侧,则dj等于1。
函数Sigma(a)的表达式为:
计算分类概率时,只要将分支节点j的参数向量,和前述计算结果X的对应元素相乘,然后将得到的乘积相加,就可以得到向量X和Yj的数量积,根据dj的取值,若dj等于1,则将数量积代入公式(4)的上半部分,若dj等于0,则将数量积代入公式(4)的下半部分,就可以计算得到分支节点j对当前文本单元所对应的叶子节点的分类概率P(X,Yj)。
在此基础上,将当前文本单元对应的叶子节点的路径上的每一个分支节点的分类概率累乘,得到的乘积就是当前文本单元在对应的上下文窗口中的的分类输出概率P(W,con(W)),其中W表示当前文本单元,con(W)表示当前文本单元的上下文窗口。具体可以参考下述公式(5);
其中,k表示根节点到当前文本单元对应的叶子节点的路径上包括k个分支节点。
根据计算结果X计算得到当前文本单元在对应上下文窗口的分类输出概率P(W,con(W))后,以10为底数计算P(W,con(W))的对数,就可以得到当前的词向量模型的损失loss,请参考下述公式(6):
loss=log10P(W,con(W))
S408、判断词向量模型的损失是否满足收敛条件。
收敛条件可以是,词向量模型的损失小于预设的损失阈值。也可以是,本次词向量模型的损失和前一次词向量模型的损失之间的差值的绝对值小于预设的阈值。
若词向量模型的损失不满足收敛条件,执行步骤S409,若词向量模型的损失满足收敛条件,执行步骤S410。
S409、基于词向量模型的损失更新上下文窗口内其他文本单元的词向量和词向量模型的参数向量。
步骤S409执行完毕后,返回执行步骤S403。
S410、判断当前文本单元是否为训练语料集的最后一个文本单元。
若当前文本单元是训练语料集的最后一个文本单元,则训练过程结束,输出训练完成的词向量模型。
若当前文本单元不是训练语料集的最后一个文本单元,执行步骤S411。
S411、读取训练语料集中的后一个文本单元作为当前文本单元。
步骤S411执行完毕后,返回执行步骤S403。
上述后一个文本单元,是指,在训练语料集的对应的语句中,位于执行步骤S411之前的当前文本单元之后的第一个文本单元。
结合前述表5的例子,若执行步骤S411之前,当前文本单元是语句“苹果1公司发布了最新版本的手机”中的携带语义标签的文本单元“苹果1”,那么执行步骤S411之后,当前文本单元就变更为语句“苹果1公司发布了最新版本的手机”中的第二个文本单元“公司”。
上述实施例是针对CBOW模型的训练过程。利用添加语义标签后的训练语料集训练Skip-gram模型的过程与针对CBOW模型的训练过程基本一致,此处不再详述。
特殊的地方在于,若当前文本单元是携带语义标签的目标文本单元,则Skip-gram模型的投影层根据当前文本单元计算得到当前文本单元的上下文窗口内的其他文本单元(指上下文窗口中除当前文本单元以外的每一个文本单元)对应的计算结果时,针对上下文窗口内除当前文本单元以外的每一个文本单元,均可以将原本该文本单元对应的计算结果按前述步骤S406的方式和上下文窗口对应的主题分布向量相加,然后用相加后的结果代替原本的计算结果。
后续根据其他文本单元的计算结果计算词向量模型的损失的方法与本实施例的对应步骤一致,均可以通过计算分类输出概率得到,不再详述。
如前文所述,输出训练完成的词向量模型之后,可以直接从训练完成的词向量模型中读取得到每一个文本单元所对应的唯一的词向量。由于在确定编码以及初始化时,训练语料集中携带不同语义标签的目标文本被视为不同的文本单元赋予了不同的编码,因此最后输出的训练完成的词向量模型中,会包含每一种语义标签对应的唯一的词向量。基于此,在执行后续的自然语言处理任务时,就可以通过针对具有不同语义的目标文本单元使用不同的词向量,从而提高自然语言处理的准确性。
进一步的,本实施例利用目标文本单元的上下文窗口内的实体词获取上下文窗口的主题分布向量,并融合主题分布向量改进了词向量模型的学习过程,从而在词向量学习的过程中融入更多的和目标文本单元所在的语境所对应的主题标签的信息,因此能准确地目标文本单元的多种不同语义对应的词向量的学习。。
本申请提供的生成词向量的方法所生成的词向量可以应用于包括但不限于情感分析,机器问答在内的多种自然处理的任务中,通过标记出在不同语句中具有不同语义的目标文本单元并生成目标文本单元的不同语义对应的词向量,本申请提供的生成词向量的方法可以有效的提高后续基于词向量实现的上述自然语言任务的准确性。
下面以本申请提供的方法在情感分析任务中的应用为例进行说明,本申请提供的方法在其他自然语言处理任务中的应用方式可以参考下述在情感分析任务中的应用方式得知,不再一一列举:
目前对用户的自然语言进行情感分析的方法主要是,首先通过人工标注的方式获得大量标注有不同情感标签的语句,然后利用这些标注有情感标签的语句对神经网络模型进行训练,训练完成后就可以得到一个情感分析模型。训练过程中需要将每个语句包含的各个文本单元转换为词向量输入待训练的神经网络模型。
也就是说,在训练情感分析模型之前,就可以先对用于训练情感分析模型的所有语句(下文用分析模型语料集指代所有这些语句的集合)执行本申请提供的生成词向量的方法,从而获得分析模型语料集的每一个文本单元的词向量,并且,若分析模型语料集存在一个或多个在不同语句中具有不同语义的文本单元,则本申请提供的方法可以对这些具有多种语义的文本单元配置不同的语义标签,并对应的生成不同语义标签。
前述图1对应的实施例所介绍的方法是针对特定的某个目标文本单元实现的方法。可以理解的,只需要将上述分析模型语料集中出现的每一个文本单元均作为目标文本单元,然后每指定一个目标文本单元,就对这个目标文本单元执行图1对应的实施例中步骤S101至步骤S105所述的过程,就可以判断出这个目标文本单元是否有多种语义(也可以认为是检测该目标文本单元是否为多义词),若有多种语义的情况下可以通过步骤S105进一步对不同语义的目标文本单元通过配置语义标签的方式进行区分。
其中,在指定分析模型语料集的某一个文本单元作为目标文本单元而执行前述步骤S101至步骤S105所述的过程时,可以从分析模型语料集中检测出每一个包含这个目标文本单元的语句,讲这些语句组合成这个目标文本单元的训练语料集,后续针对这个目标文本单元的序列模式挖掘和配置语义标签均只在这个目标文本单元所对应的这个训练语料集中进行。
通过上述方式,就可以检测出分析模型语料集中每一个具有在不同语句中具有两种及以上语义的文本单元,并以对应的语义标签进行区分。
以上过程完成之后,就可以直接利用这个已经进行多义词检测和区分的分析模型语料集通过前述步骤S106以及图4对应的实施例中的方法训练词向量模型,从而获得分析模型语料集中的每一个文本单元的词向量。其中,对于携带语义标签的文本单元,每一种语义标签均对应于唯一的词向量。
在实际应用时,只需要获得用户的语句作为待处理语句,然后将待处理语句的每一个文本单元也均转换为预先生成的对应的词向量,将这些词向量组合为待处理语句的词向量表示,然后将待处理语句的词向量表示输入训练好的情感分析模型中,就可以分析出当前输入的语句所体现的情感属于哪一种情感标签。
其中,在将文本单元转换为词向量时,可以逐一判断每一个文本单元是否为有多种可选的语义的文本单元(这类文本单元也可以简称为多义词)。
若发现待处理文本中某个文本单元是多义词,那么可以将这个文本单元确定为目标文本单元,然后确定出待处理文本中出现的每一个目标文本单元,以及每一个目标文本单元的上下文窗口。例如,若待处理文本中包含目标文本单元“苹果”,则需要确定出待处理文本中分别在哪些地方出现了“苹果”,以及出现的每一个“苹果”的上下文窗口。
针对待处理文本出现的每一个目标文本单元的上下文窗口,通过执行本申请图1对应的实施例中的步骤S102至步骤S103,可以获得待处理文本中每一个目标文本单元的上下文窗口对应的多个关联文本单元,然后将这些关联文本单元组合为待处理文本中每一个上下文窗口对应的关联文本。
获得待处理文本中每一个目标文本单元的上下文窗口对应的关联文本之后,可以将这些关联文本均添加至为目标文本单元对应的训练语料集中的目标文本单元配置语义标签时构建的文本集合中,得到更新后的文本集合。
例如,对目标文本单元“苹果”执行图1所述的实施例对应的方法时,假设训练语料集中包括30个语句,每一个语句中目标文本单元“苹果”均只出现一次,对应的训练语料集中目标文本单元“苹果”的上下文窗口有30个,每一个上下文窗口对应一个关联文本,因此在图1所述的实施例对应的方法被执行时,文本集合中包含30个关联文本。
若当前的待处理文本中出现了两次“苹果”,对应的有两个上下文窗口以及对应的两个关联文本,那么,就可以将待处理文本中的两个上下文窗口所对应的两个关联文本添加至前述由30个关联文本组成的文本集合中,得到包含32个关联文本的更新后的文本集合。
获得更新后的文本集合后,就可以对更新后的文本集合执行前述步骤S104,从而得到待处理文本中出现的每一处目标文本单元所对应的主题分布向量。
最后,针对待处理文本中出现的每一处目标文本单元,计算待处理文本中的目标文本单元所对应的主题分布向量和训练语料集中携带语义标签的目标文本单元的主题分布向量之间的相似度。将训练语料集中对应的主题分布向量的相似度最高的携带语义标签的目标文本单元所携带的语义标签,确定为待处理文本中的目标文本单元的语义标签。
结合前述例子,训练语料集中的30个目标文本单元均会携带对应的语义标签,在获得待处理文本中出现的两处“苹果”对应的主题分布向量之后,以待处理文本中出现的第一个“苹果”为例,将待处理文本的第一个“苹果”的主题分布向量,逐一和训练语料集中30个目标文本单元对应的30个主题分布向量进行相似度计算,得到30个相似度,每一个相似度对应于训练语料集中的一个携带语义标签的目标文本单元,最后,选取其中对应的相似度最高的携带语义标签的目标文本单元,将这个目标文本单元所携带的语义标签,确定为待处理文本中出现的第一个“苹果”的语义标签。
最后,将待处理文本中的每一个文本单元均转换为对应的词向量,若某个文本单元是多义词,则通过前述方法确定这个文本单元对应的语义标签之后,将这个语义标签对应的词向量确定为这个文本单元的词向量,并组合待处理文本中所有文本单元的词向量,得到待处理文本的词向量表示。
然后利用预先构建的情感分析模型处理待处理文本的词向量表示,从而确定待处理文本对应的情感标签。
假设用户分别提供了两个语句,其中均包含上述文本单元A,且文本单元A在第一个语句中的语义和在第二个语句中的语义不同。那么,如果采用现有的方法直接生成文本单元A对应的唯一一个词向量,就会导致情感分析模型分析第一个语句的词向量表示时和分析第二个语句的词向量表示时会认为这两个语句中的文本单元A具有相同的含义,对应的,在两个语句中文本单元A对该语句所体现的情感的影响也是相同的,这就可能导致情感分析模型将两个实际上对应于不同情感标签的语句归类到同一情感标签中,也就是降低了情感分析任务的准确性。
而通过本申请提供的方法,在将文本单元转为词向量是,第一个语句中的文本单元A和第二个语句中的文本单元A会携带不同的语义标签,转换得到的词向量也是不同语义标签对应的不同词向量。基于此,情感分析模型分析第一个语句时和分析第二个语句时,就能够发现文本单元A在第一个语句中的语义和第二个语句中的语义不相同,并由此进一步发现在两个语句中文本单元A对所在语句的情感的影响是不相同的,由此可以确保情感分析模型对第一个语句和第二个语句输出不同的情感标签,提高了情感分析任务的准确性。
结合本申请任一实施例提供的生成词向量的方法,本申请实施例还提供一种生成词向量的装置,请参考图5,该装置可以包括以下单元:
获得单元501,用于获得包括多个语句的训练语料集。
其中,每一个语句均包括预先指定的目标文本单元,目标文本单元包含至少一个连续的文字。
抽取单元502,用于针对训练语料集中的每一个语句,抽取语句的目标文本单元的上下文窗口中的每一个实体文本单元,并从文本数据库中获取除目标文本单元以外的每一个实体文本单元的关联文本单元。
挖掘单元503,用于利用文档主题生成模型挖掘包括每一个目标文本单元的上下文窗口的关联文本的文本集合,得到每一个目标文本单元的上下文窗口对应的主题分布向量。
其中,一个目标文本单元的上下文窗口的关联文本包括:上下文窗口中的每一个实体文本单元的关联文本单元。
配置单元504,用于为训练预料集的每一个语句中的目标文本单元配置对应的语义标签,得到携带语义标签的目标文本单元。
其中,对应的主题分布向量的相似度大于或等于相似度阈值的两个目标文本单元携带的语义标签相同,对应的主题分布向量的相似度小于相似度阈值的两个目标文本单元携带的语义标签不同。
训练单元505,用添加语义标签后的训练语料集训练词向量模型,并从训练后的词向量模型中获得训练语料集的每一个文本单元的词向量。
其中,目标文本单元对应有多个词向量,且每一个词向量唯一对应于一种语义标签。
可选的,训练单元505用添加语义标签后的训练语料集训练词向量模型,并从训练后的词向量模型中获得训练语料集的每一个文本单元的词向量时,具体用于:
生成待训练的词向量模型和每一个文本单元的编码;其中,词向量模型包括每一个文本单元对应的初始词向量和多个参数向量;携带的语义标签相同的两个目标文本单元的编码相同,携带的语义标签不相同的两个目标文本单元的编码不同;
对添加语义标签后的训练语料集中的每一个文本单元执行下述训练过程:
获得文本单元的上下文窗口内其他文本单元的词向量;
若文本单元不是携带语义标签的目标文本单元,对上下文窗口包含的其他文本单元的词向量累加得到计算结果;
若文本单元是携带语义标签的目标文本单元,对上下文窗口包含的其他文本单元的词向量和上下文窗口对应的主题分布向量累加得到计算结果;
根据计算结果,词向量模型的参数向量和文本单元的编码,计算词向量模型的损失;
若词向量模型的损失不满足收敛条件,基于词向量模型的损失更新上下文窗口内其他文本单元的词向量和词向量模型的参数向量,并返回执行获得文本单元的上下文窗口内的其他文本单元的词向量,直至词向量模型的损失满足收敛条件为止;其中,满足收敛条件的词向量模型中文本单元的词向量,作为文本单元的词向量。
挖掘单元503利用文档主题生成模型挖掘包括每一个目标文本单元的上下文窗口的关联文本的文本集合,得到每一个目标文本单元的上下文窗口对应的主题分布向量时,具体用于:
利用吉布斯采样算法计算得到文本集合的每一个关联文本中各个主题标签的出现概率,得到文本集合的文本-主题矩阵;其中,文本-主题矩阵的每一个元素表示对应的主题标签在对应的关联文本中出现的概率;
针对每一个目标文本单元的上下文窗口,选取文本-主题矩阵中上下文窗口的关联文本所对应的各个元素作为目标文本单元的上下文窗口的主题分布向量。
可选的,本实施例提供的生成词向量的装置还包括处理单元506,用于:
获得包含目标文本单元的待处理文本;
针对待处理文本的目标文本单元,获得目标文本单元的上下文窗口的关联文本,并将关联文本添加至文本集合;
利用文档主题生成模型挖掘文本集合,得到待处理文本的目标文本单元的对应的主题分布向量;
针对待处理文本的目标文本单元,计算目标文本单元的主题分布向量和训练语料集中携带语义标签的目标文本单元的主题分布向量的相似度,并将训练语料集中对应的相似度大于或等于相似度阈值的目标文本单元所携带的语义标签作为待处理文本中目标文本单元的语义标签;
组合待处理文本的每一个文本单元的词向量,得到待处理文本的词向量表示,并利用预先构建的情感分析模型处理待处理文本的词向量表示,从而确定待处理文本对应的情感标签;其中,待处理文本的目标文本单元的词向量是对应的语义标签的词向量。
可选的,抽取单元502从文本数据库中获取除目标文本单元以外的每一个实体文本单元的关联文本单元时,具体用于:
针对文本数据库中除实体文本单元以外的每一个文本单元,统计文本单元的出现频率,实体文本单元的出现频率,以及文本单元和实体文本单元的共现频率,得到对应的统计结果;
针对文本数据库中除实体文本单元以外的每一个文本单元,根据对应的统计结果计算文本单元和实体文本单元的互信息;
依据和实体文本单元的互信息的大小,由大至小地选取N个除实体文本单元以外的文本单元作为实体文本单元的关联文本单元;其中,N为预设的正整数。
可选的,配置单元504配置语义标签时,具体用于:
选择训练语料集中的任意一个语句,并为语句的目标文本单元随机配置一个语义标签,得到一个携带语义标签的目标文本单元;
针对每一个语句中未携带语义标签的目标文本单元,检测是否存在对应的主题分布向量和未携带语义标签的目标文本单元的主题分布向量的相似度大于或等于相似度阈值的携带语义标签的目标文本单元;
针对每一个语句中未携带语义标签的目标文本单元,若不存在对应的主题分布向量和未携带语义标签的目标文本单元的主题分布向量的相似度大于或等于相似度阈值的携带语义标签的目标文本单元,为未携带语义标签的目标文本单元配置一个与每一个已配置的语义标签均不相同的语义标签,得到一个携带语义标签的目标文本单元;
针对每一个语句中未携带语义标签的目标文本单元,若存在至少一个对应的主题分布向量和未携带语义标签的目标文本单元的主题分布向量的相似度大于或等于相似度阈值的携带语义标签的目标文本单元,为未携带语义标签的目标文本单元配置对应的相似度最大的携带语义标签的目标文本单元的语义标签,得到一个携带语义标签的目标文本单元。
本申请实施例提供的生成词向量的装置,其具体工作原理可以参考本申请任一实施例所提供的生成词向量的方法中的相关步骤,此处不再赘述。
本申请提供一种生成词向量的装置,获得单元501获取训练语料集,抽取单元502获取训练语料集的每一个语句中目标文本单元的上下文窗口对应的关联文本单元,挖掘单元503利用文档主题生成模型挖掘所有关联文本组成的文本集合得到每一个语句的目标文本单元对应的主题分布向量,其中,每一个上下文窗口对应的所有关联文本单元组成这个上下文窗口对应的一个关联文本,然后配置单元504为对应的主题分布向量相似度较高的目标文本单元配置相同语义标签,为对应主题分布向量相似度较低的目标文本单元配置不同语义标签,训练单元505用添加语义标签后的训练语料集训练词向量模型,得到每一种语义标签的词向量。语句中目标文本单元对应的主题分布向量可以反映目标文本单元的语境,因此,可以通过主题分布向量的相似度的高低区分不同语句中目标文本单元的语义,并基于区分的结果训练词向量模型,以获得不同语义的词向量。
本申请实施例还提供一种计算机存储介质,用于存储程序,程序被执行时,具体用于实现本申请任一实施例所述的生成词向量的方法。
本申请实施例还提供一种电子设备,如图6所示,该电子设备包括存储器601和处理器602.
其中,存储器601用于存储计算机程序;
处理器602用于执行上述计算机程序,具体用于实现本申请任一实施例所提供的生成词向量的方法。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
需要注意,本发明中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种生成词向量的方法,其特征在于,包括:
获得包括多个语句的训练语料集;其中,每一个所述语句均包括预先指定的目标文本单元,所述目标文本单元包含至少一个连续的文字;
针对训练语料集中的每一个语句,抽取所述语句的目标文本单元的上下文窗口中的每一个实体文本单元,并从文本数据库中获取除所述目标文本单元以外的每一个所述实体文本单元的关联文本单元;
利用文档主题生成模型挖掘包括每一个所述目标文本单元的上下文窗口的关联文本的文本集合,得到每一个所述目标文本单元的上下文窗口对应的主题分布向量;其中,一个所述目标文本单元的上下文窗口的关联文本包括:所述上下文窗口中的每一个实体文本单元的关联文本单元;
为所述训练语料集的每一个所述语句中的所述目标文本单元配置对应的语义标签,得到携带语义标签的目标文本单元;其中,对应的主题分布向量的相似度大于或等于相似度阈值的两个目标文本单元携带的语义标签相同,对应的主题分布向量的相似度小于所述相似度阈值的两个目标文本单元携带的语义标签不同;
用添加语义标签后的训练语料集训练词向量模型,并从训练后的词向量模型中获得所述训练语料集的每一个所述实体文本单元的词向量;其中,所述实体文本单元包括所述目标文本单元,所述目标文本单元对应有多个词向量,且每一个所述词向量唯一对应于一种所述语义标签。
2.根据权利要求1所述的方法,其特征在于,所述用添加语义标签后的训练语料集训练词向量模型,包括:
生成待训练的词向量模型和每一个所述实体文本单元的编码;其中,所述词向量模型包括每一个所述实体文本单元对应的初始词向量和多个参数向量;携带的所述语义标签相同的两个所述目标文本单元的编码相同,携带的所述语义标签不相同的两个所述目标文本单元的编码不同;
对所述添加语义标签后的训练语料集中的每一个所述实体文本单元执行下述训练过程:
获得所述实体文本单元的上下文窗口内其他文本单元的词向量;
若所述实体文本单元不是携带语义标签的目标文本单元,对所述上下文窗口包含的其他文本单元的词向量累加得到计算结果;
若所述实体文本单元是携带语义标签的目标文本单元,对所述上下文窗口包含的其他文本单元的词向量和所述上下文窗口对应的主题分布向量累加得到计算结果;
根据所述计算结果,所述词向量模型的参数向量和所述实体文本单元的编码,计算所述词向量模型的损失;
若所述词向量模型的损失不满足收敛条件,基于所述词向量模型的损失更新所述上下文窗口内其他文本单元的词向量和所述词向量模型的参数向量,并返回执行所述获得所述实体文本单元的上下文窗口内的其他文本单元的词向量,直至所述词向量模型的损失满足收敛条件为止;其中,满足收敛条件的词向量模型中所述实体文本单元的词向量,作为所述实体文本单元的词向量。
3.根据权利要求1所述的方法,其特征在于,所述用添加语义标签后的训练语料集训练词向量模型,并从训练后的词向量模型中获得所述训练语料集的每一个所述实体文本单元的词向量之后,还包括:
获得包含所述目标文本单元的待处理文本;
针对所述待处理文本的所述目标文本单元,获得所述目标文本单元的上下文窗口的关联文本,并将所述关联文本添加至所述文本集合;
利用文档主题生成模型挖掘所述文本集合,得到所述待处理文本的所述目标文本单元的对应的主题分布向量;
针对所述待处理文本的所述目标文本单元,计算所述目标文本单元的主题分布向量和所述训练语料集中携带语义标签的目标文本单元的主题分布向量的相似度,并将所述训练语料集中对应的相似度大于或等于所述相似度阈值的目标文本单元所携带的语义标签作为所述待处理文本中所述目标文本单元的语义标签;
组合所述待处理文本的每一个实体文本单元的词向量,得到所述待处理文本的词向量表示,并利用预先构建的情感分析模型处理所述待处理文本的词向量表示,从而确定所述待处理文本对应的情感标签;其中,所述待处理文本的目标文本单元的词向量是对应的所述语义标签的词向量。
4.根据权利要求1所述的方法,其特征在于,所述利用文档主题生成模型挖掘包括每一个所述目标文本单元的上下文窗口的关联文本的文本集合,得到每一个所述目标文本单元的上下文窗口对应的主题分布向量,包括:
利用预设的算法根据所述文本集合中每一个实体文本单元在每一个所述关联文本中的出现频率进行计算,从而获得包括预设的每一个主题标签在每一个所述关联文本中出现的概率,以及所述文本集合中每一个实体文本单元在每一个所述主题标签下出现的概率、且满足下述公式的计算结果;
其中,Dk表示文本集合中的任意一个实体文本单元,Wi表示文本集合中的任意一个关联文本,Tj表示预设的任意一个主题标签,M表示预设的主题标签的数量,P(Dk|Wi)表示实体文本单元Dk在文本Wi中的出现频率,P(Tj|Wi)表示主题标签Tj在文本Wi中出现的概率,P(Dk|Tj)表示实体文本单元Dk在主题标签Tj下出现的概率;
针对每一个所述目标文本单元的上下文窗口,选取所述上下文窗口的关联文本中每一个所述主题标签的出现概率,作为所述上下文窗口的主题分布向量。
5.根据权利要求1所述的方法,其特征在于,所述从文本数据库中获取除所述目标文本单元以外的每一个所述实体文本单元的关联文本单元,包括:
针对所述文本数据库中的每一个其他文本单元,统计所述其他文本单元的出现频率,所述实体文本单元的出现频率,以及所述其他文本单元和所述实体文本单元的共现频率,得到对应的统计结果;其中,所述其他文本单元指代所述文本数据库中除所述实体文本单元以外的实体文本单元;
针对每一个所述其他文本单元,根据对应的统计结果计算所述其他文本单元和所述实体文本单元的互信息;
依据和所述实体文本单元的互信息的大小,由大至小地选取N个所述其他文本单元作为所述实体文本单元的关联文本单元;其中,N为预设的正整数。
6.根据权利要求1所述的方法,其特征在于,所述为所述训练语料集的每一个所述语句中的所述目标文本单元配置对应的语义标签,得到携带语义标签的目标文本单元,包括:
选择任意一个所述语句,并为所述语句的目标文本单元随机配置一个语义标签,得到一个携带语义标签的目标文本单元;
针对每一个所述语句中未携带语义标签的目标文本单元,检测是否存在对应的主题分布向量和所述未携带语义标签的目标文本单元的主题分布向量的相似度大于或等于所述相似度阈值的所述携带语义标签的目标文本单元;
针对每一个所述语句中未携带语义标签的目标文本单元,若不存在对应的主题分布向量和所述未携带语义标签的目标文本单元的主题分布向量的相似度大于或等于所述相似度阈值的所述携带语义标签的目标文本单元,为所述未携带语义标签的目标文本单元配置一个与每一个已配置的语义标签均不相同的语义标签,得到一个携带语义标签的目标文本单元;
针对每一个所述语句中未携带语义标签的目标文本单元,若存在至少一个对应的主题分布向量和所述未携带语义标签的目标文本单元的主题分布向量的相似度大于或等于所述相似度阈值的所述携带语义标签的目标文本单元,为所述未携带语义标签的目标文本单元配置对应的相似度最大的携带语义标签的目标文本单元的语义标签,得到一个携带语义标签的目标文本单元。
7.根据权利要求5所述的方法,其特征在于,所述针对每一个所述其他文本单元,根据对应的统计结果计算所述其他文本单元和所述实体文本单元的互信息,包括:
针对每一个所述其他文本单元,若所述其他文本单元和所述实体文本单元的共现频率大于0,将所述其他文本单元的出现频率P(Y),所述实体文本单元的出现频率P(X),以及所述实体文本单元和所述其他文本单元的共现频率P(X,Y)代入下述公式,计算得到所述其他文本单元和所述实体文本单元的互信息I(X,Y);
其中,X表示所述实体文本单元,Y表示所述其他文本单元;
若所述其他文本单元和所述实体文本单元的共现频率等于0,设定所述其他文本单元和所述实体文本单元的互信息I(X,Y)等于0。
8.一种生成词向量的装置,其特征在于,包括:
获得单元,用于获得包括多个语句的训练语料集;其中,每一个所述语句均包括预先指定的目标文本单元,所述目标文本单元包含至少一个连续的文字;
抽取单元,用于针对训练语料集中的每一个语句,抽取所述语句的目标文本单元的上下文窗口中的每一个实体文本单元,并从文本数据库中获取除所述目标文本单元以外的每一个所述实体文本单元的关联文本单元;
挖掘单元,用于利用文档主题生成模型挖掘包括每一个所述目标文本单元的上下文窗口的关联文本的文本集合,得到每一个所述目标文本单元的上下文窗口对应的主题分布向量;其中,一个所述目标文本单元的上下文窗口的关联文本包括:所述上下文窗口中的每一个实体文本单元的关联文本单元;
配置单元,用于为所述训练语料集的每一个所述语句中的所述目标文本单元配置对应的语义标签,得到携带语义标签的目标文本单元;其中,对应的主题分布向量的相似度大于或等于相似度阈值的两个目标文本单元携带的语义标签相同,对应的主题分布向量的相似度小于所述相似度阈值的两个目标文本单元携带的语义标签不同;
训练单元,用添加语义标签后的训练语料集训练词向量模型,并从训练后的词向量模型中获得所述训练语料集的每一个所述实体文本单元的词向量;其中,所述实体文本单元包括所述目标文本单元,所述目标文本单元对应有多个词向量,且每一个所述词向量唯一对应于一种所述语义标签。
9.一种计算机存储介质,其特征在于,用于存储程序,所述程序被执行时,用于实现如权利要求1至7任意一项所述的生成词向量的方法。
10.一种电子设备,其特征在于,包括存储器和处理器;
其中,所述存储器用于存储程序;
所述处理器用于执行所述程序,所述程序被执行时,具体用于实现如权利要求1至7任意一项所述的生成词向量的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010535868.7A CN111695358B (zh) | 2020-06-12 | 2020-06-12 | 生成词向量的方法、装置、计算机存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010535868.7A CN111695358B (zh) | 2020-06-12 | 2020-06-12 | 生成词向量的方法、装置、计算机存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111695358A CN111695358A (zh) | 2020-09-22 |
CN111695358B true CN111695358B (zh) | 2023-08-08 |
Family
ID=72480655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010535868.7A Active CN111695358B (zh) | 2020-06-12 | 2020-06-12 | 生成词向量的方法、装置、计算机存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111695358B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112732875A (zh) * | 2021-01-20 | 2021-04-30 | 珠海格力电器股份有限公司 | 一种语料数据标签的确定方法和装置 |
CN113158684B (zh) * | 2021-04-21 | 2022-09-27 | 清华大学深圳国际研究生院 | 一种情绪分析方法、情绪提醒方法及情绪提醒控制装置 |
CN113869069B (zh) * | 2021-09-10 | 2024-08-06 | 厦门大学 | 基于译文树结构解码路径动态选择的机器翻译方法 |
CN114141384A (zh) * | 2022-01-30 | 2022-03-04 | 北京欧应信息技术有限公司 | 用于检索医学数据的方法、设备和介质 |
CN114913951A (zh) * | 2022-05-14 | 2022-08-16 | 云知声智能科技股份有限公司 | 一种病历不一致检测方法、系统、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015037815A1 (ko) * | 2013-09-16 | 2015-03-19 | 고려대학교 산학협력단 | 스마트 기기 내 시맨틱 검색 시스템 및 검색방법 |
CN106055538A (zh) * | 2016-05-26 | 2016-10-26 | 达而观信息科技(上海)有限公司 | 主题模型和语义分析相结合的文本标签自动抽取方法 |
CN108874772A (zh) * | 2018-05-25 | 2018-11-23 | 太原理工大学 | 一种多义词词向量消歧方法 |
CN109933804A (zh) * | 2019-03-27 | 2019-06-25 | 北京信息科技大学 | 融合主题信息与双向lstm的关键词抽取方法 |
CN110032639A (zh) * | 2018-12-27 | 2019-07-19 | 中国银联股份有限公司 | 将语义文本数据与标签匹配的方法、装置及存储介质 |
CN110046228A (zh) * | 2019-04-18 | 2019-07-23 | 合肥工业大学 | 短文本主题识别方法和系统 |
CN110347799A (zh) * | 2019-07-12 | 2019-10-18 | 腾讯科技(深圳)有限公司 | 语言模型训练方法、装置和计算机设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9317589B2 (en) * | 2008-08-07 | 2016-04-19 | International Business Machines Corporation | Semantic search by means of word sense disambiguation using a lexicon |
US20150052098A1 (en) * | 2012-04-05 | 2015-02-19 | Thomson Licensing | Contextually propagating semantic knowledge over large datasets |
WO2014054052A2 (en) * | 2012-10-01 | 2014-04-10 | Parag Kulkarni | Context based co-operative learning system and method for representing thematic relationships |
-
2020
- 2020-06-12 CN CN202010535868.7A patent/CN111695358B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015037815A1 (ko) * | 2013-09-16 | 2015-03-19 | 고려대학교 산학협력단 | 스마트 기기 내 시맨틱 검색 시스템 및 검색방법 |
CN106055538A (zh) * | 2016-05-26 | 2016-10-26 | 达而观信息科技(上海)有限公司 | 主题模型和语义分析相结合的文本标签自动抽取方法 |
CN108874772A (zh) * | 2018-05-25 | 2018-11-23 | 太原理工大学 | 一种多义词词向量消歧方法 |
CN110032639A (zh) * | 2018-12-27 | 2019-07-19 | 中国银联股份有限公司 | 将语义文本数据与标签匹配的方法、装置及存储介质 |
CN109933804A (zh) * | 2019-03-27 | 2019-06-25 | 北京信息科技大学 | 融合主题信息与双向lstm的关键词抽取方法 |
CN110046228A (zh) * | 2019-04-18 | 2019-07-23 | 合肥工业大学 | 短文本主题识别方法和系统 |
CN110347799A (zh) * | 2019-07-12 | 2019-10-18 | 腾讯科技(深圳)有限公司 | 语言模型训练方法、装置和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111695358A (zh) | 2020-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111695358B (zh) | 生成词向量的方法、装置、计算机存储介质和电子设备 | |
Gupta et al. | Study of Twitter sentiment analysis using machine learning algorithms on Python | |
CN108304468B (zh) | 一种文本分类方法以及文本分类装置 | |
CN106776562B (zh) | 一种关键词提取方法和提取系统 | |
Jain et al. | Application of machine learning techniques to sentiment analysis | |
CN110059181B (zh) | 面向大规模分类体系的短文本标签方法、系统、装置 | |
CN110851596A (zh) | 文本分类方法、装置及计算机可读存储介质 | |
Chy et al. | Bangla news classification using naive Bayes classifier | |
CN101079024B (zh) | 一种专业词表动态生成系统和方法 | |
CN110750640A (zh) | 基于神经网络模型的文本数据分类方法、装置及存储介质 | |
CN111767725A (zh) | 一种基于情感极性分析模型的数据处理方法及装置 | |
Rabbimov et al. | Multi-class text classification of uzbek news articles using machine learning | |
Vel | Pre-processing techniques of text mining using computational linguistics and python libraries | |
Zu et al. | Resume information extraction with a novel text block segmentation algorithm | |
CN115796181A (zh) | 一种针对化工领域的文本关系抽取方法 | |
CN112860896A (zh) | 语料泛化方法及用于工业领域的人机对话情感分析方法 | |
CN113704416A (zh) | 词义消歧方法、装置、电子设备及计算机可读存储介质 | |
CN112818121A (zh) | 一种文本分类方法、装置、计算机设备及存储介质 | |
CN109299286A (zh) | 非结构化数据的知识挖掘方法及系统 | |
CN113282729A (zh) | 基于知识图谱的问答方法及装置 | |
CN109815497B (zh) | 基于句法依存的人物属性抽取方法 | |
Yeasmin et al. | Multi-category bangla news classification using machine learning classifiers and multi-layer dense neural network | |
Rahman et al. | Assessment of Information Extraction Techniques, Models and Systems. | |
Alqaraleh | Turkish Sentiment Analysis System via Ensemble Learning | |
CN111695359B (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 |