CN106372086B - 一种获取词向量的方法和装置 - Google Patents
一种获取词向量的方法和装置 Download PDFInfo
- Publication number
- CN106372086B CN106372086B CN201510437087.3A CN201510437087A CN106372086B CN 106372086 B CN106372086 B CN 106372086B CN 201510437087 A CN201510437087 A CN 201510437087A CN 106372086 B CN106372086 B CN 106372086B
- Authority
- CN
- China
- Prior art keywords
- word
- analyzed
- term vector
- sentence
- association
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种获取词向量的方法和装置,属于计算机技术领域。所述方法包括:获取语句库中包含的每个待分析词语在所述语句库中所属的各语句的预设的类型,得到每个待分析词语对应的类型集合;将每个待分析词语的词向量设置为训练变量,根据每个待分析词语对应的类型集合和词向量,建立各待分析词语之间关联度的总和的计算模型,作为训练模型;根据所述训练模型,基于使所述关联度的总和最大的原则,对所述训练变量进行训练,得到所述每个待分析词语的词向量。采用本发明,可以提高词向量的语义的准确度。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种获取词向量的方法和装置。
背景技术
随着计算机技术的发展,计算机的应用越来越广泛,功能也越来越强大。其中,信息检索功能是人们常用的功能之一。人们可以在计算机中输入待检索的问题,计算机则可以将该问题发送给相应的服务器,服务器中可以预先存储多个问题,以及相应的答案,服务器接收到计算机发送的问题后,可以确定该问题所包含的词语的词向量,根据确定出的词向量将该问题和预先存储的问题进行语义匹配,将匹配度最高的问题的答案反馈给计算机。
服务器中可以预先存储大量的语句,以及这些语句所包含的词语,对于语句库中的每个词语,服务器可以获取包含该词语的语句,进而在这些语句中,获取与词语相邻的上下文词语,基于使词语与上下文词语的关联度之和最大的原则,计算每个词语的词向量。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
在确定词语的词向量时,是基于使该词语与上下文词语的关联度之和最大的原则,计算该词语的词向量,然而在实际中,经常会出现同一语句中的两个词语实际不相关的情况,因此,在这两个词语的关联度最大时,训练得到词向量,会使得训练得到的词向量的语义的准确度较差。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种获取词向量的方法和装置。所述技术方案如下:
第一方面,提供了一种获取词向量的方法,所述方法包括:
获取语句库中包含的每个待分析词语在所述语句库中所属的各语句的预设的类型,得到每个待分析词语对应的类型集合;
将每个待分析词语的词向量设置为训练变量,根据每个待分析词语对应的类型集合和词向量,建立各待分析词语之间关联度的总和的计算模型,作为训练模型;
根据所述训练模型,基于使所述关联度的总和最大的原则,对所述训练变量进行训练,得到所述每个待分析词语的词向量。
第二方面,提供了一种获取词向量的装置,所述装置包括:
获取模块,用于获取语句库中包含的每个待分析词语在所述语句库中所属的各语句的预设的类型,得到每个待分析词语对应的类型集合;
建立模块,用于将每个待分析词语的词向量设置为训练变量,根据每个待分析词语对应的类型集合和词向量,建立各待分析词语之间关联度的总和的计算模型,作为训练模型;
训练模块,用于根据所述训练模型,基于使所述关联度的总和最大的原则,对所述训练变量进行训练,得到所述每个待分析词语的词向量。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例中,获取语句库中包含的每个待分析词语在语句库中所属的各语句的预设的类型,得到每个待分析词语对应的类型集合,将每个待分析词语的词向量设置为训练变量,根据每个待分析词语对应的类型集合和词向量,建立各待分析词语之间关联度的总和的计算模型,作为训练模型,根据训练模型,基于使关联度的总和最大的原则,对训练变量进行训练,得到每个待分析词语的词向量,这样,可以根据待分析词语的类型对词向量进行训练,使得同一类型的词语的词向量的关联度较大,从而可以提高词向量的语义的准确度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种获取词向量的方法流程图;
图2是本发明实施例提供的一种获取词向量的方法示意图;
图3是本发明实施例提供的一种获取词向量的方法示意图;
图4是本发明实施例提供的一种获取词向量的装置结构示意图;
图5是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本发明实施例提供了一种获取词向量的方法,如图1所示,该方法的处理流程可以包括如下的步骤:
步骤101,获取语句库中包含的每个待分析词语在语句库中所属的各语句的预设的类型,得到每个待分析词语对应的类型集合。
步骤102,将每个待分析词语的词向量设置为训练变量,根据每个待分析词语对应的类型集合和词向量,建立各待分析词语之间关联度的总和的计算模型,作为训练模型。
步骤103,根据训练模型,基于使关联度的总和最大的原则,对训练变量进行训练,得到每个待分析词语的词向量。
本发明实施例中,获取语句库中包含的每个待分析词语在语句库中所属的各语句的预设的类型,得到每个待分析词语对应的类型集合,将每个待分析词语的词向量设置为训练变量,根据每个待分析词语对应的类型集合和词向量,建立各待分析词语之间关联度的总和的计算模型,作为训练模型,根据训练模型,基于使关联度的总和最大的原则,对训练变量进行训练,得到每个待分析词语的词向量,这样,可以根据待分析词语的类型对词向量进行训练,使得同一类型的词语的词向量的关联度较大,从而可以提高词向量的语义的准确度。
实施例二
本发明实施例提供了一种获取词向量的方法,该方法的执行主体为服务器。其中,该服务器可以是社区问答网站或应用的服务器,该服务器中可以设置有处理器和存储器,处理器可以用于建立训练模型,还可以用于根据训练模型,基于使关联度的总和最大的原则,对训练变量进行训练,存储器可以用于存储下述处理过程中需要的数据以及产生的数据,收发器可以用于接收和发送数据。
下面将结合具体实施方式,对图1所示的处理流程进行详细的说明,内容可以如下:
步骤101,获取语句库中包含的每个待分析词语在语句库中所属的各语句的预设的类型,得到每个待分析词语对应的类型集合。
在实施中,服务中可以预先存储有语句库,该语句库中可以包含多个语句,每个语句中可以包含一个或多个词语,服务器可以获取这些语句中包含的全部词语,作为待分析词语。在语句库中,每个语句都可以对应有其所属的类型,服务器可以将每个语句与其对应的类型进行存储,建立语句与类型的对应关系。对于语句中所包含的各词语(即各待分析词语),该语句所属的类型,即为该语句中所包含的待分析词语的类型。对于某个待分析词语(可称为待分析词语wk),可能会存在多个语句都包含有待分析词语wk,因此,这些句子的类型,都可以是待分析词语wk所属的类型,如果这些语句对应有多个类型,则待分析词语wk所属的类型为多个。待分析词语wk所属的多个类型,可以组成待分析词语wk对应的类型集合。
例如,对于待分析词语“苹果”,其对应的语句有:1、苹果是一种常见的水果;2、苹果手机的维修应该去哪;3、电影苹果在哪里下载。其中,语句1对应的类型为饮食,语句2对应的类型为电器,语句3对应的类型为影视,则待分析词语“苹果”对应的类型为饮食、电器和影视,即“苹果”对应的类型集合中的类型为饮食、电器和影视。
对于任一待分析词语,服务器可以在语句库中确定包含有该待分析词语的语句,进而可以根据语句与类型的对应关系,确定这些语句对应的类型,进而可以确定该待分析词语所属的类型,从而可以得到该待分析词语对应的类型集合。对于每个待分析词语,服务器都可以进行上述处理,从而可以得到每个待分析词语对应的类型集合。
步骤102,将每个待分析词语的词向量设置为训练变量,根据每个待分析词语对应的类型集合和词向量,建立各待分析词语之间关联度的总和的计算模型,作为训练模型。
在实施中,语句库中的每个待分析词语都可以对应有词向量,其中,词向量可以是d维的向量(d可以是50),其中的某一维的数值可以用来表示该词对应某一语义项的取值,例如,宝马一词的词向量可以是[0.5;0.8;……],其中,词向量的第一维对应的语义项可以是“该词用于表示动物的可能性”,0.5表示该可能性的数值,第二维对应的语义项可以是“该词用于表示车辆的可能性”,0.8表示该可能性的数值。服务器可以得到语句库中所包含的待分析词语的矩阵(可称为词矩阵),词矩阵的每一列对应词库中的每个词的词向量。例如,目前语句库中有N词矩阵的维数可以是d×N。服务器可以将每个待分析词语的词向量设置为训练变量,这里每个待分析词语的词向量都是未知的,然后可以每个待分析词语对应的类型集合和词向量,建立各待分析词语之间关联度的总和的计算模型,作为训练模型。
可选的,可以结合每个待分析词语在语句中相邻词语,来确定训练模型,相应的处理过程可以如下:将每个待分析词语的词向量设置为训练变量,根据每个待分析词语对应的类型集合和词向量,以及在语句库中,与每个待分析词语在语句中相邻的预设数目个待分析词语对应的类型集合和词向量,建立各待分析词语之间关联度的总和的计算模型,作为训练模型。
在实施中,服务器可以获取语句库中包含的任一待分析词语(可称作待分析词语wk)的语句,对于包含wk的每个语句,服务器可以确定与wk相邻的上下文,即语句中wk之前的部分和wk之后的部分,对于每个部分,服务器可以设置需要获取的与wk相邻的待分析词语的个数(即预设数目),预设数目可以用l表示。服务器可以在获取到的语句中,确定与待分析词语wk相邻的预设数目个待分析词语,得到待分析词语wk对应的相邻待分析词语集合。例如,预设数目为3,待分析词语为“苹果”,其对应的语句为:1、香蕉、苹果、梨、桃子和西瓜,都是常见的水果;2、目前,大部分大学生都是在使用三星手机、苹果手机、华为手机和小米手机。服务器可以确定,对于语句1,苹果的左边相邻的3个待分析词语为“香蕉”,右边相邻的3个待分析词语为“梨”、“桃子”、“西瓜”;对于语句2,苹果左边相邻的3个待分析词语为“使用”、“三星”、“手机”,右边相邻的3个待分析词语“手机”、“华为”、“手机”;服务器可以确定在语句库中,待分析词语“苹果”对应的相邻待分析词语集合为:“香蕉”、“梨”、“桃子”、“西瓜”、“使用”、“三星”、“手机”、“手机”、“华为”和“手机”。服务器在确定与待分析词语wk相邻的预设数目个待分析词语时,可以不考虑预设的词语,如“和”、“与”等,如图2所示。
对于待分析词语wk,服务器可以计算待分析词语wk和与其相邻的某个待分析词语(可以记为wk+j)的关联度,计算公式可以如下:
其中,wk可以表示语句库中的任一待分析词语,wk+j可以表示wk对应的相邻待分析词语集合中的任意一个待分析词语(即wk的一个上下文词),可以表示wk的词向量,可以表示wk+j的词向量,θ可以表示语句库中所有待分析词语的词向量组成的词矩阵。ew可以表示语句库的所有待分析词语中,除wk以外的待分析词语的词向量,j的范围可以是[-l,l],l可以是上述的预设数目。
对于与待分析词语wk相邻的每个待分析词语,都可以按照公式(1)进行计算,得到wk对应的多个表达式,然后可以对wk对应的多个表达式进行求和运算。服务器可以按照相同的算法,对语句库中的所有待分析词语进行上述运算,再将计算得到的结果进行相加,计算公式可以如下:
其中,J(θ)可以表示各待分析词语之间关联度的总和。
服务器可以结合每个待分析词语对应的类型集合,以及在语句库中,与每个待分析词语在语句中相邻的预设数目个待分析词语对应的类型集合,建立各待分析词语之间关联度的总和的计算模型,作为训练模型,具体的处理方式下面会进行详细介绍。
可选的,先建立各待分析词语之间的相似度模型,再确定各待分析词语的训练模型,相应的处理过程可以如下:将每个待分析词语的词向量设置为训练变量,根据每个待分析词语对应的词向量,以及在语句库中,与每个待分析词语在语句中相邻的预设数目个待分析词语对应的词向量,建立各待分析词语之间的相似度模型;根据相似度模型、每个待分析词语对应的类型集合,以及在语句库中,与每个待分析词语在语句中相邻的预设数目个待分析词语对应的类型集合,建立各待分析词语之间关联度的总和的计算模型,作为训练模型。
在实施中,对于语句库中的任一待分析词语wk,服务器可以按照上述的处理方式,确定与wk相邻的预设数目个待分析词语,进而可以获取这些待分析词语的词向量。服务器可以根据待分析词语wk的词向量,以及确定出的待分析词语的词向量,分别计算待分析词语wk与每个确定出的待分析词语的相似度,得到多个相似度的表达式,然后可以将这些表达式进行相加,得到各待分析词语之间的相似度模型。计算相似度的算法有很多,如欧式距离算法等。在计算中,待分析词语可以记为wk,与wk在语句中相邻的预设数目个待分析词语中的任意一个待分析词语可以记为wk,wk与wi的相似度可以表示为d(wk,wi)。
例如,待分析词语为“苹果”,服务器确定在语句库中,与“苹果”相邻的待分析词语为“香蕉”、“梨”、“桃子”、“三星”和“手机”,则可以根据这些待分析词语的词向量,分别计算“苹果”与“香蕉”的欧式距离、“苹果”与“梨”的欧式距离、“苹果”与“桃子”的欧式距离、“苹果”与“三星”的欧式距离,以及“苹果”与“手机”的欧式距离,得到多个欧式距离的表达式。
服务器还可以获取待分析词语wk对应的类型集合,然后可以获取与待分析词语wk相邻的待分析词语(如待分析词语wi)的类型集合,进而可以判断分析词语wk和待分析词语wi是否存在相同的类型集合,计算公式可以如下:
其中,S可以表示wk与wi的类型相似度,c(wk)可以表示wk所属的类型,c(wi)可以表示wi所属的类型。
服务器计算出各待分析词语之间的相似度模型后,可以将该相似度模型与类型相似度相乘,建立各待分析词语之间关联度的总和的计算模型,作为训练模型,计算公式可以如下:
其中,EC可以表示各待分析词语之间关联度的总和,对i进行求和的含义,是对与wk相邻的全部待分析词语进行计算,对k进行求和的含义,是对语句库中所包含的所有待分析词语进行计算。
在实际中,根据相似度模型、每个待分析词语对应的类型集合,以及在语句库中,与每个待分析词语在语句中相邻的预设数目个待分析词语对应的类型集合,建立各待分析词语之间关联度的总和的计算模型方式是多种多样的,本实施例中给出了几种可行的建立训练模型的方式。
方式一
在语句库中,确定与每个待分析词语在语句中相邻的预设数目个待分析词语;根据每个待分析词语对应的类型集合中包含的类型,对每个待分析词语,分别确定其与对应的相邻的预设数目个待分析词语中每个词语所具有的相同的类型的数目;根据相似度模型,以及每个待分析词语与对应的相邻的预设数目个待分析词语中每个词语所具有的相同的类型的数目,建立各待分析词语之间关联度的总和的计算模型,作为训练模型。
在实施中,对于语句库中的任一待分析词语(如待分析词语wk),服务器可以按照上述处理方式,在语句库中确定与wk在语句中相邻的预设数目个待分析词语,得到wk对应的相邻待分析词语集合,这里以相邻待分析词语集合中的待分析词语wi为例进行说明,其他情况与之类似。服务器分别确定wk对应的类型集合,以及wi对应的类型集合,进而可以确定这两个类型集合中,相同的类型的数目。例如,与待分析词语wk相邻的待分析词语为:待分析词语wi和待分析词语wq,待分析词语wk对应的类型为A、B、C、D,待分析词语wi对应的类型为B、C、D、E,待分析词语wq对应的类型为A,则可以确定待分析词语wk和待分析词语wi所具有的相同类型的数目为3,待分析词语wk和待分析词语wq所具有的相同类型的数目为1,如图3所示。
服务器确定wk和wi所具有的相同类型的数目(可以记为α)后,可以按照上述方式确定出wk与wi的相似度(如欧式距离)d,然后可以用d乘以α,得到待分析词语wk和待分析词语wi的计算相似度d'。基于此方法,服务器可以结合上述公式(1)的处理,建立各待分析词语之间关联度的总和的计算模型,作为训练模型,相应的,上述计算公式(4)可以表示如下:
方式二
对于语句库中的任一待分析词语(如待分析词语wk),服务器可以按照上述处理方式,在语句库中确定与wk在语句中相邻的预设数目个待分析词语,得到wk对应的相邻待分析词语集合,这里以相邻待分析词语集合中的待分析词语wi为例进行说明,其他情况与之类似。服务器可以确定包含待分析词语wi的语句,进而确定这些语句对应的类型,得到待分析词语wi对应的类型的种类,以及待分析词语wi在每个类型对应的数目。例如,包含待分析词语wi语句为10个,其中,5个属于A类,5个属于B类,则可以确定待分析词语wi对应的类型为A和B,且待分析词语wi在A类型对应的数目为5个,在B类型对应的数目为5个。
服务器可以确定待分析词语wk与待分析词语wi所具有的相同的类型,然后可以确定待分析词语wi在该类型对应的数目(可称作γ)。例如,wk对应的类型为A、B、C、D,wi对应的类型为B和E,则可以确定wk和wi所具有的相同类型为B,并可以确定wi在类型B对应的数目为5。
服务器可以按照上述方式确定待分析词语wk和待分析词语wi的相似度(如欧式距离)d,然后可以用γ乘以d,得到待分析词语wk和待分析词语wi的计算相似度d''。基于此方法,服务器可以结合上述公式(1)的处理,建立各待分析词语之间关联度的总和的计算模型,作为训练模型,相应的,上述计算公式(4)可以表示如下:
另外,对于待分析词语wk和待分析词语wi具有的多个相同类型的情况,可以分别对每个相同类型进行计算,然后将多个相同类型的计算结果进行相加,得到待分析词语wk和待分析词语wi的计算相似度。
方式三
对于语句库中的任一待分析词语(如待分析词语wk),服务器可以按照上述处理方式,在语句库中确定与wk在语句中相邻的预设数目个待分析词语,得到wk对应的相邻待分析词语集合,这里以相邻待分析词语集合中的待分析词语wi为例进行说明,其他情况与之类似。服务器可以确定包含待分析词语wk的语句,进而确定这些语句对应的类型,得到待分析词语wk对应的类型的种类,以及待分析词语wk在每个类型对应的数目,同样的,可以确定待分析词语wi对应的类型的种类,以及待分析词语wi在每个类型对应的数目。
服务器可以确定待分析词语wk与待分析词语wi所具有的相同的类型,然后可以确定待分析词语wk在该类型对应的数目(可称作a),并可以确定待分析词语wi在该类型对应的数目(可称作b),进而可以确定a和b的乘积(可以称作δ)。例如,wk对应的类型为A、B、C、D,wk在类型A对应的数目为1,在类型B对应的数目为20,在类型C对应的数目为50,在类型D对应的数目为15,wi对应的类型为B和E,则可以确定wk和wi所具有的相同类型为B,并可以确定wk在类型B对应的数目为20,wi在类型B对应的数目为5,则可以确定二者乘积δ为100。
服务器可以按照上述方式确定待分析词语wk和待分析词语wi的相似度(如欧式距离)d,然后可以用δ乘以d,得到待分析词语wk和待分析词语wi的计算相似度d'''。基于此方法,服务器可以结合上述公式(1)的处理,建立各待分析词语之间关联度的总和的计算模型,作为训练模型,相应的,上述计算公式(4)可以表示如下:
另外,对于待分析词语wk和待分析词语wi具有的多个相同类型的情况,可以分别对每个相同类型进行计算,然后将多个相同类型的计算结果进行相加,得到待分析词语wk和待分析词语wi的计算相似度。
可选的,可以建立多个计算模型,将多个计算模型相加,得到训练模型,相应的处理过程可以如下:将每个待分析词语的词向量设置为训练变量,根据每个待分析词语对应的词向量,以及在语句库中,与每个待分析词语在语句中相邻的预设数目个待分析词语对应的词向量,建立各待分析词语之间第一关联度的总和的第一计算模型;将每个待分析词语的词向量设置为训练变量,根据每个待分析词语对应的类型集合和词向量,以及在语句库中,与每个待分析词语在语句中相邻的预设数目个待分析词语对应的类型集合和词向量,建立各待分析词语之间第二关联度的总和的第二计算模型;将第一计算模型与第二计算模型进行相加,得到训练模型。
在实施中,服务器可以将每个待分析词语的词向量设置为训练变量,对于语句库中的任一待分析词语,如wk,可以按照上述公式(1),计算wk与wk+j的关联度。其中,wk可以表示语句库中的任一待分析词语,wk+j可以表示与wk在语句中相邻的预设数目个待分析词语中的任意一个待分析词语。
对于与待分析词语wk相邻的每个待分析词语,都可以按照公式(1)进行计算,得到wk对应的多个表达式,然后可以对wk对应的多个表达式进行求和运算。服务器可以按照相同的算法,对语句库中的所有待分析词语进行上述运算,再将计算得到的结果进行相加,建立各待分析词语之间第一关联度的总和的第一计算模型,如公式(2)所示:
服务器可以将每个待分析词语的词向量设置为训练变量,对于语句库中的任一待分析词语,如wk,服务器可以按照上述处理过程,计算wk与wi的相似度d(wk,wi),其中,wi可以表示与wk在语句中相邻的预设数目个待分析词语中的任意一个待分析词语。服务器可以获取待分析词语wk对应的类型集合,然后可以获取与待分析词语wk相邻的待分析词语(如待分析词语wi)的类型集合,进而可以判断分析词语wk和待分析词语wi是否存在相同的类型集合,计算公式可以如上述公式(3),服务器计算出各待分析词语之间的相似度模型后,可以将该相似度模型与类型相似度相乘,建立各待分析词语之间第二关联度的总和的第二计算模型,如公式(4)所示:
其中,EC的具体算法可以参见上述三种方法。
服务器建立第一计算模型和第二计算模型后,可以将第一计算模型与第二计算模型进行相加,得到训练模型,即:
Jc=J(θ)+βEC
其中,Jc可以表示各待分析词语之间的关联度的总和,β可以是权重系数,可以有技术人员预先存储在服务器中。
步骤103,根据训练模型,基于使关联度的总和最大的原则,对训练变量进行训练,得到每个待分析词语的词向量。
在实施中,服务器得到Jc的表达式后,可以对基于使Jc最大的原则,对训练变量进行训练,得到每个待分析词语的词向量。具体的,可以对Jc的表达式进行求导,令求导后的表达式等于0,然后可以对该方程进行求解,从而得到每个待分析词语的词向量。服务器可以将每个待分析词语和每个待分析词语的词向量进行对应的存储,建立词语和词向量的对应关系,该对应关系可以以对应关系表的形式存储在服务器中。
在后续检索问题的过程中,可以当服务器接收到一个问题语句时,服务器可以获取该问题语句中所包含的词语,然后可以根据上述对应关系表,查找该问题语句中所包含的词语的词向量,得到该问题语句对应的词矩阵,进而可以根据该词矩阵,在预先存储的问题语句中查找与之匹配的问题语句,从而获取该问题语句对应的答案。由于不同问题语句所包含的词语的数量也不相同,因此,不同问题语句对应的词矩阵的维数也不相同,导致在进行问题语句匹配的准确度较低,因此,在本实施例中,服务器可以通过费舍尔算法,将不同维数的词矩阵转换为预设的维数,然后再进行匹配,从而可以提高进行问题语句匹配的准确度。
本发明实施例中,获取语句库中包含的每个待分析词语在语句库中所属的各语句的预设的类型,得到每个待分析词语对应的类型集合,将每个待分析词语的词向量设置为训练变量,根据每个待分析词语对应的类型集合和词向量,建立各待分析词语之间关联度的总和的计算模型,作为训练模型,根据训练模型,基于使关联度的总和最大的原则,对训练变量进行训练,得到每个待分析词语的词向量,这样,可以根据待分析词语的类型对词向量进行训练,使得同一类型的词语的词向量的关联度较大,从而可以提高词向量的语义的准确度。
实施例三
基于相同的技术构思,本发明实施例还提供了一种获取词向量的装置,如图4所示,该装置包括:
获取模块410,用于获取语句库中包含的每个待分析词语在所述语句库中所属的各语句的预设的类型,得到每个待分析词语对应的类型集合;
建立模块420,用于将每个待分析词语的词向量设置为训练变量,根据每个待分析词语对应的类型集合和词向量,建立各待分析词语之间关联度的总和的计算模型,作为训练模型;
训练模块430,用于根据所述训练模型,基于使所述关联度的总和最大的原则,对所述训练变量进行训练,得到所述每个待分析词语的词向量。
可选的,所述建立模块420,用于:
将每个待分析词语的词向量设置为训练变量,根据所述每个待分析词语对应的类型集合和词向量,以及在所述语句库中,与所述每个待分析词语在语句中相邻的预设数目个待分析词语对应的类型集合和词向量,建立各待分析词语之间关联度的总和的计算模型,作为训练模型。
可选的,所述建立模块420,用于:
将每个待分析词语的词向量设置为训练变量,根据所述每个待分析词语对应的词向量,以及在所述语句库中,与所述每个待分析词语在语句中相邻的预设数目个待分析词语对应的词向量,建立各待分析词语之间的相似度模型;
根据所述相似度模型、所述每个待分析词语对应的类型集合,以及在所述语句库中,与所述每个待分析词语在语句中相邻的预设数目个待分析词语对应的类型集合,建立各待分析词语之间关联度的总和的计算模型,作为训练模型。
可选的,所述建立模块420,用于:
在所述语句库中,确定与所述每个待分析词语在语句中相邻的预设数目个待分析词语;
根据每个待分析词语对应的类型集合中包含的类型,对所述每个待分析词语,分别确定其与对应的相邻的预设数目个待分析词语中每个词语所具有的相同的类型的数目;
根据所述相似度模型,以及所述每个待分析词语与对应的相邻的预设数目个待分析词语中每个词语所具有的相同的类型的数目,建立各待分析词语之间关联度的总和的计算模型,作为训练模型。
可选的,所述建立模块420,用于:
将每个待分析词语的词向量设置为训练变量,根据所述每个待分析词语对应的词向量,以及在所述语句库中,与所述每个待分析词语在语句中相邻的预设数目个待分析词语对应的词向量,建立各待分析词语之间第一关联度的总和的第一计算模型;
将每个待分析词语的词向量设置为训练变量,根据所述每个待分析词语对应的类型集合和词向量,以及在所述语句库中,与所述每个待分析词语在语句中相邻的预设数目个待分析词语对应的类型集合和词向量,建立各待分析词语之间第二关联度的总和的第二计算模型;
将所述第一计算模型与所述第二计算模型进行相加,得到训练模型。
本发明实施例中,获取语句库中包含的每个待分析词语在语句库中所属的各语句的预设的类型,得到每个待分析词语对应的类型集合,将每个待分析词语的词向量设置为训练变量,根据每个待分析词语对应的类型集合和词向量,建立各待分析词语之间关联度的总和的计算模型,作为训练模型,根据训练模型,基于使关联度的总和最大的原则,对训练变量进行训练,得到每个待分析词语的词向量,这样,可以根据待分析词语的类型对词向量进行训练,使得同一类型的词语的词向量的关联度较大,从而可以提高词向量的语义的准确度。
需要说明的是:上述实施例提供的获取词向量的装置在获取词向量时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的获取词向量的装置与获取词向量的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
实施例四
图5是本发明实施例提供的服务器的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。
服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
服务器1900可以包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
获取语句库中包含的每个待分析词语在所述语句库中所属的各语句的预设的类型,得到每个待分析词语对应的类型集合;
将每个待分析词语的词向量设置为训练变量,根据每个待分析词语对应的类型集合和词向量,建立各待分析词语之间关联度的总和的计算模型,作为训练模型;
根据所述训练模型,基于使所述关联度的总和最大的原则,对所述训练变量进行训练,得到所述每个待分析词语的词向量。
可选的,所述将每个待分析词语的词向量设置为训练变量,根据每个待分析词语对应的类型集合和词向量,建立各待分析词语之间关联度的总和的计算模型,作为训练模型,包括:
将每个待分析词语的词向量设置为训练变量,根据所述每个待分析词语对应的类型集合和词向量,以及在所述语句库中,与所述每个待分析词语在语句中相邻的预设数目个待分析词语对应的类型集合和词向量,建立各待分析词语之间关联度的总和的计算模型,作为训练模型。
可选的,所述将每个待分析词语的词向量设置为训练变量,根据所述每个待分析词语对应的类型集合和词向量,以及在所述语句库中,与所述每个待分析词语在语句中相邻的预设数目个待分析词语对应的类型集合和词向量,建立各待分析词语之间关联度的总和的计算模型,作为训练模型,包括:
将每个待分析词语的词向量设置为训练变量,根据所述每个待分析词语对应的词向量,以及在所述语句库中,与所述每个待分析词语在语句中相邻的预设数目个待分析词语对应的词向量,建立各待分析词语之间的相似度模型;
根据所述相似度模型、所述每个待分析词语对应的类型集合,以及在所述语句库中,与所述每个待分析词语在语句中相邻的预设数目个待分析词语对应的类型集合,建立各待分析词语之间关联度的总和的计算模型,作为训练模型。
可选的,所述根据所述相似度模型、所述每个待分析词语对应的类型集合,以及在所述语句库中,与所述每个待分析词语在语句中相邻的预设数目个待分析词语对应的类型集合,建立各待分析词语之间关联度的总和的计算模型,作为训练模型,包括:
在所述语句库中,确定与所述每个待分析词语在语句中相邻的预设数目个待分析词语;
根据每个待分析词语对应的类型集合中包含的类型,对所述每个待分析词语,分别确定其与对应的相邻的预设数目个待分析词语中每个词语所具有的相同的类型的数目;
根据所述相似度模型,以及所述每个待分析词语与对应的相邻的预设数目个待分析词语中每个词语所具有的相同的类型的数目,建立各待分析词语之间关联度的总和的计算模型,作为训练模型。
可选的,所述将每个待分析词语的词向量设置为训练变量,根据所述每个待分析词语对应的类型集合和词向量,以及在所述语句库中,与所述每个待分析词语在语句中相邻的预设数目个待分析词语对应的类型集合和词向量,建立各待分析词语之间关联度的总和的计算模型,作为训练模型,包括:
将每个待分析词语的词向量设置为训练变量,根据所述每个待分析词语对应的词向量,以及在所述语句库中,与所述每个待分析词语在语句中相邻的预设数目个待分析词语对应的词向量,建立各待分析词语之间第一关联度的总和的第一计算模型;
将每个待分析词语的词向量设置为训练变量,根据所述每个待分析词语对应的类型集合和词向量,以及在所述语句库中,与所述每个待分析词语在语句中相邻的预设数目个待分析词语对应的类型集合和词向量,建立各待分析词语之间第二关联度的总和的第二计算模型;
将所述第一计算模型与所述第二计算模型进行相加,得到训练模型。
本发明实施例中,获取语句库中包含的每个待分析词语在语句库中所属的各语句的预设的类型,得到每个待分析词语对应的类型集合,将每个待分析词语的词向量设置为训练变量,根据每个待分析词语对应的类型集合和词向量,建立各待分析词语之间关联度的总和的计算模型,作为训练模型,根据训练模型,基于使关联度的总和最大的原则,对训练变量进行训练,得到每个待分析词语的词向量,这样,可以根据待分析词语的类型对词向量进行训练,使得同一类型的词语的词向量的关联度较大,从而可以提高词向量的语义的准确度。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种获取词向量的方法,其特征在于,所述方法包括:
获取语句库中包含的每个待分析词语在所述语句库中所属的各语句的预设的类型,得到每个待分析词语对应的类型集合;
将每个待分析词语的词向量设置为训练变量,根据所述每个待分析词语对应的类型集合和词向量,以及在所述语句库中,与所述每个待分析词语在语句中相邻的预设数目个待分析词语对应的类型集合和词向量,建立各待分析词语之间关联度的总和的计算模型,作为训练模型;
根据所述训练模型,基于使所述关联度的总和最大的原则,对所述训练变量进行训练,得到所述每个待分析词语的词向量;
所述将每个待分析词语的词向量设置为训练变量,根据所述每个待分析词语对应的类型集合和词向量,以及在所述语句库中,与所述每个待分析词语在语句中相邻的预设数目个待分析词语对应的类型集合和词向量,建立各待分析词语之间关联度的总和的计算模型,作为训练模型,包括:
将每个待分析词语的词向量设置为训练变量,根据所述每个待分析词语对应的词向量,以及在所述语句库中,与所述每个待分析词语在语句中相邻的预设数目个待分析词语对应的词向量,建立各待分析词语之间的相似度模型;
根据所述相似度模型、所述每个待分析词语对应的类型集合,以及在所述语句库中,与所述每个待分析词语在语句中相邻的预设数目个待分析词语对应的类型集合,建立各待分析词语之间关联度的总和的计算模型,作为训练模型。
2.根据权利要求1所述的方法,其特征在于,所述根据所述相似度模型、所述每个待分析词语对应的类型集合,以及在所述语句库中,与所述每个待分析词语在语句中相邻的预设数目个待分析词语对应的类型集合,建立各待分析词语之间关联度的总和的计算模型,作为训练模型,包括:
在所述语句库中,确定与所述每个待分析词语在语句中相邻的预设数目个待分析词语;
根据每个待分析词语对应的类型集合中包含的类型,对所述每个待分析词语,分别确定其与对应的相邻的预设数目个待分析词语中每个词语所具有的相同的类型的数目;
根据所述相似度模型,以及所述每个待分析词语与对应的相邻的预设数目个待分析词语中每个词语所具有的相同的类型的数目,建立各待分析词语之间关联度的总和的计算模型,作为训练模型。
3.根据权利要求1所述的方法,其特征在于,所述将每个待分析词语的词向量设置为训练变量,根据所述每个待分析词语对应的类型集合和词向量,以及在所述语句库中,与所述每个待分析词语在语句中相邻的预设数目个待分析词语对应的类型集合和词向量,建立各待分析词语之间关联度的总和的计算模型,作为训练模型,包括:
将每个待分析词语的词向量设置为训练变量,根据所述每个待分析词语对应的词向量,以及在所述语句库中,与所述每个待分析词语在语句中相邻的预设数目个待分析词语对应的词向量,建立各待分析词语之间第一关联度的总和的第一计算模型;
将每个待分析词语的词向量设置为训练变量,根据所述每个待分析词语对应的类型集合和词向量,以及在所述语句库中,与所述每个待分析词语在语句中相邻的预设数目个待分析词语对应的类型集合和词向量,建立各待分析词语之间第二关联度的总和的第二计算模型;
将所述第一计算模型与所述第二计算模型进行相加,得到训练模型。
4.一种获取词向量的装置,其特征在于,所述装置包括:
获取模块,用于获取语句库中包含的每个待分析词语在所述语句库中所属的各语句的预设的类型,得到每个待分析词语对应的类型集合;
建立模块,用于将每个待分析词语的词向量设置为训练变量,根据所述每个待分析词语对应的类型集合和词向量,以及在所述语句库中,与所述每个待分析词语在语句中相邻的预设数目个待分析词语对应的类型集合和词向量,建立各待分析词语之间关联度的总和的计算模型,作为训练模型;
训练模块,用于根据所述训练模型,基于使所述关联度的总和最大的原则,对所述训练变量进行训练,得到所述每个待分析词语的词向量;
所述建立模块,用于:
将每个待分析词语的词向量设置为训练变量,根据所述每个待分析词语对应的词向量,以及在所述语句库中,与所述每个待分析词语在语句中相邻的预设数目个待分析词语对应的词向量,建立各待分析词语之间的相似度模型;
根据所述相似度模型、所述每个待分析词语对应的类型集合,以及在所述语句库中,与所述每个待分析词语在语句中相邻的预设数目个待分析词语对应的类型集合,建立各待分析词语之间关联度的总和的计算模型,作为训练模型。
5.根据权利要求4所述的装置,其特征在于,所述建立模块,用于:
在所述语句库中,确定与所述每个待分析词语在语句中相邻的预设数目个待分析词语;
根据每个待分析词语对应的类型集合中包含的类型,对所述每个待分析词语,分别确定其与对应的相邻的预设数目个待分析词语中每个词语所具有的相同的类型的数目;
根据所述相似度模型,以及所述每个待分析词语与对应的相邻的预设数目个待分析词语中每个词语所具有的相同的类型的数目,建立各待分析词语之间关联度的总和的计算模型,作为训练模型。
6.根据权利要求4所述的装置,其特征在于,所述建立模块,用于:
将每个待分析词语的词向量设置为训练变量,根据所述每个待分析词语对应的词向量,以及在所述语句库中,与所述每个待分析词语在语句中相邻的预设数目个待分析词语对应的词向量,建立各待分析词语之间第一关联度的总和的第一计算模型;
将每个待分析词语的词向量设置为训练变量,根据所述每个待分析词语对应的类型集合和词向量,以及在所述语句库中,与所述每个待分析词语在语句中相邻的预设数目个待分析词语对应的类型集合和词向量,建立各待分析词语之间第二关联度的总和的第二计算模型;
将所述第一计算模型与所述第二计算模型进行相加,得到训练模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510437087.3A CN106372086B (zh) | 2015-07-23 | 2015-07-23 | 一种获取词向量的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510437087.3A CN106372086B (zh) | 2015-07-23 | 2015-07-23 | 一种获取词向量的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106372086A CN106372086A (zh) | 2017-02-01 |
CN106372086B true CN106372086B (zh) | 2019-12-03 |
Family
ID=57879888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510437087.3A Active CN106372086B (zh) | 2015-07-23 | 2015-07-23 | 一种获取词向量的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106372086B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241535B (zh) * | 2018-09-17 | 2019-08-27 | 北京神州泰岳软件股份有限公司 | 一种多语义监督的词向量训练方法及装置 |
CN112069822A (zh) * | 2020-09-14 | 2020-12-11 | 上海风秩科技有限公司 | 一种词向量表示的获取方法、装置、设备及可读介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104375989A (zh) * | 2014-12-01 | 2015-02-25 | 国家电网公司 | 自然语言文本关键词关联网络构建系统 |
CN104391963A (zh) * | 2014-12-01 | 2015-03-04 | 北京中科创益科技有限公司 | 一种自然语言文本关键词关联网络构建方法 |
CN104462357A (zh) * | 2014-12-08 | 2015-03-25 | 百度在线网络技术(北京)有限公司 | 实现个性化搜索的方法和装置 |
CN104573046A (zh) * | 2015-01-20 | 2015-04-29 | 成都品果科技有限公司 | 一种基于词向量的评论分析方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101095069B1 (ko) * | 2010-02-03 | 2011-12-20 | 고려대학교 산학협력단 | 사용자 관심 주제를 추출하는 휴대용 통신 단말기 및 그 방법 |
-
2015
- 2015-07-23 CN CN201510437087.3A patent/CN106372086B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104375989A (zh) * | 2014-12-01 | 2015-02-25 | 国家电网公司 | 自然语言文本关键词关联网络构建系统 |
CN104391963A (zh) * | 2014-12-01 | 2015-03-04 | 北京中科创益科技有限公司 | 一种自然语言文本关键词关联网络构建方法 |
CN104462357A (zh) * | 2014-12-08 | 2015-03-25 | 百度在线网络技术(北京)有限公司 | 实现个性化搜索的方法和装置 |
CN104573046A (zh) * | 2015-01-20 | 2015-04-29 | 成都品果科技有限公司 | 一种基于词向量的评论分析方法及系统 |
Non-Patent Citations (2)
Title |
---|
Modeling and Learning Distributed Word Representation with Metadata for Question Retrieval;Guangyou Zhou 等;《IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING》;20170601;第29卷(第6期);1226-1239 * |
基于词向量空间模型的中文文本分类方法;胡学钢 等;《合肥工业大学学报(自然科学版)》;20071028;第30卷(第10期);1261-1264 * |
Also Published As
Publication number | Publication date |
---|---|
CN106372086A (zh) | 2017-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10430255B2 (en) | Application program interface mashup generation | |
CN109408526A (zh) | Sql语句生成方法、装置、计算机设备及存储介质 | |
US20180357258A1 (en) | Personalized search device and method based on product image features | |
CN105608179B (zh) | 确定用户标识的关联性的方法和装置 | |
CN111538908A (zh) | 搜索排序方法、装置、计算机设备和存储介质 | |
US20110231399A1 (en) | Clustering Method and System | |
CN107491547A (zh) | 基于人工智能的搜索方法和装置 | |
KR20180078318A (ko) | 선행사의 결정방법 및 장치 | |
CN106294505B (zh) | 一种反馈答案的方法和装置 | |
CN106960001A (zh) | 一种检索词的实体链接方法及系统 | |
CN106599194A (zh) | 标签确定方法及装置 | |
WO2014127673A1 (en) | Method and apparatus for acquiring hot topics | |
CN111694940A (zh) | 一种用户报告的生成方法及终端设备 | |
CN111402973B (zh) | 信息匹配分析方法、装置、计算机系统及可读存储介质 | |
EP3832475A1 (en) | Sentence processing method and system and electronic device | |
CN110134967A (zh) | 文本处理方法、装置、计算设备及计算机可读存储介质 | |
CN113641767B (zh) | 实体关系抽取方法、装置、设备及存储介质 | |
US20220058349A1 (en) | Data processing method, device, and storage medium | |
CN111125328A (zh) | 文本处理方法及相关设备 | |
CN106372086B (zh) | 一种获取词向量的方法和装置 | |
WO2023029354A1 (zh) | 文本信息提取方法、装置、存储介质及计算机设备 | |
CN109325178A (zh) | 用于处理信息的方法和装置 | |
CN110502620B (zh) | 导诊相似问题对生成方法、系统及计算机设备 | |
CN111062209A (zh) | 自然语言处理模型训练方法和自然语言处理模型 | |
CN109033318B (zh) | 智能问答方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |