一种利用主元分析计算汉语词向量的方法技术

技术编号:30767596 阅读:17 留言:0更新日期:2021-11-10 12:30
本发明专利技术涉及一种利用主元分析计算汉语词向量的方法,属于语言处理领域。本发明专利技术选择汉语中有代表性的词语,作为主元分析的基准;将汉字用数值组成的向量表示;用汉语词中的汉字点阵向量组合成词本身的合成向量,词也变换成数值向量形式;计算基准词汇的全部词的平均合成向量;基准词汇中各个词的合成向量减去平均合成向量后,互乘,得到词之间差异的协方差矩阵;得到协方差矩阵的特性;根据协方差矩阵特性,计算一个对词的合成向量进行变换的矩阵;对于任意汉语词的合成向量,减去平均合成向量后,乘以投影矩阵,得到词的词向量。本发明专利技术计算简单,可以避免汉语词向量化时常见的“未登录词”问题,在汉语的自然语言处理中具有重要的应用价值。应用价值。应用价值。

【技术实现步骤摘要】
一种利用主元分析计算汉语词向量的方法


[0001]本专利技术属于语言处理领域,具体涉及一种利用主元分析计算汉语词向量的方法,确切说,涉及一种利用汉字点阵和主元分析计算汉语词的词向量的方法。

技术介绍

[0002]自然语言处理是用计算机处理人类语言的技术。由于计算机擅长数值计算,为处理自然语言,首先需要将自然语言转换为数值形式。将自然语言转换为数值形式的过程称为字、词、句的向量化,即将一个字、一个词、一个句子分别用若干个数来表示。
[0003]常见的词向量化技术有独热(one hot)技术和连续词袋(continuous bag od word,CBOW)技术。在独热技术中,事先确定一个词汇表,例如,10000个词汇,则其中每个词都用10000个有序的数(10000维的向量)表示,如果一个词在词汇表中排列在第i位,则其对应的向量中,第i个分量为1,其余分量为0。
[0004]独热表示冗余较大,人们发展了连续词袋表示,将一个句子中某个词作为中心词,将这个词前后的n个词作为关联词,将n歌关联词的独热表示的平均独热向量输入一个神经网络进行训练,这个神经网络的输出为中心词的独热表示。当神经网络稳定后,神经网络第i个输出节点与隐含层节点连接的权重,就是第i个词的词向量。
[0005]独热表示和连续词袋表示都需要事先确定词汇表的大小,如果词汇表有变动,则需要重新计算每个词的词向量。此外,当词汇表中词较多时,神经网络的训练需要消耗大量的计算能力和时间。这在汉语的自然语言处理中,
[0006]将汉宇次表示为词中汉字的点阵合成的矩阵,然后进行正交变换,去正交变换后的部分系数作为词向量,允许增加新词,但确定系数的数目(词向量的维数)比较困难。
[0007]如果能够有一种计算简单的词向量计算方法,充分利用自然语言的特性,克服以上方法的缺陷,不受增加新词的影响,就能扩大自然语言处理的应用范围。本专利技术正是基于这种现实需求而产生的。

技术实现思路

[0008](一)要解决的技术问题
[0009]本专利技术要解决的技术问题是如何提供一种利用主元分析计算汉语词向量的方法,以解决常见的词向量化技术需要消耗大量的计算能力和时间的问题。
[0010](二)技术方案
[0011]为了解决上述技术问题,本专利技术提出一种利用主元分析计算汉语词向量的方法,其特征在于,该方法包括如下步骤:
[0012]S1、选择基准汉语词汇,选择汉语中有代表性的词语,作为主元分析的基准;
[0013]S2、获取汉语词中每个汉字点阵向量,将汉字用数值组成的向量表示,便于计算机进一步处理;
[0014]S3、计算各个汉语词的合成向量,用汉语词中的汉字点阵向量组合成词本身的合
成向量,词也变换成数值向量形式;
[0015]S4、计算基准词汇的平均合成向量,计算基准词汇的全部词的平均合成向量;
[0016]S5、计算基准词汇的协方差矩阵,基准词汇中各个词的合成向量减去平均合成向量后,互乘,得到词之间差异的协方差矩阵;
[0017]S6、计算协方差矩阵的本征值和本征向量,得到协方差矩阵的特性;
[0018]S7、计算汉语词合成向量的投影矩阵,根据协方差矩阵特性,计算一个对词的合成向量进行变换的矩阵;
[0019]S8、计算汉语词的词向量,对于任意汉语词的合成向量,减去平均合成向量后,乘以投影矩阵,得到词的词向量。
[0020]进一步地,所述步骤S1具体包括:选择M个汉语词W
k
,k=1,2,

,M,包括只有1个汉字的词,以及由多个汉字组成的词。
[0021]进一步地,所述步骤S2具体包括:获取词W
k
中每个汉字C
ki
的点阵向量MC
ki
,点阵大小为d
×
d,点阵中的元素取值为1和0;将每个汉字点阵的元素按行或列顺序排列成一个1行、D列的向量(a1,a2,

,a
D
),D=d
×
d,其中,a
i
=1或a
i
=0,i=1,2,

,D。
[0022]进一步地,d=16或d=24。
[0023]进一步地,所述步骤S3具体包括:对于一个由n个字组成的汉语词W
k
,词的合成向量MW
k
是词中各个汉字点阵向量MC
ki
的加权和,MW
k
=w1×
MC
k1
+w2×
MC
k2
+

+w
n
×
MC
kn
,每个汉字C
ki
的权重w
i
的计算方法为:
[0024][0025]进一步地,所述步骤S4具体包括:M个基准词的平均合成向量MW的计算方法为:MW=(MW1+MW2+

+MW
M
)/M。
[0026]进一步地,所述步骤S5具体包括:将m个基准词的合成向量MW
k
(a
k1
,a
k2
,

,a
kD
)减去平均合成向量MW(a1,a2,

,a
D
)后,形成一个M行、D列的矩阵A;
[0027][0028]按照矩阵运算规则,计算X=A
T
×
A;A
T
表示A的转置,A
T
是一个D行、M列的矩阵,最后得到的协方差矩阵X是一个D行、D列的矩阵。
[0029]进一步地,所述步骤S6具体包括:计算协方差矩阵的本征值和本征向量,并将本征值λ
j
按从大到小的顺序排列,λ1≥λ2≥

≥λ
D

[0030]进一步地,所述步骤S7具体包括:选择一个最小的数L,满足:(λ1+λ2+


L
)/(λ1+λ2+


D
)≥0.99,将这L个较大本征值λ
j
对应的本征向量V
j
,组成一个D行、L列的投影矩阵P。
[0031]进一步地,所述步骤S8具体包括:对于任意汉语词W
j
,按照步骤(2)和步骤(3)计算W
j
的合成向量MW
j
(a
j1
,a
j2
,

,a
jD
),减去平均合成向量MW(a1,a2,

,a
D
),得到向量Y=(a
j1

a1,a
j2

a2,

,a
jD<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种利用主元分析计算汉语词向量的方法,其特征在于,该方法包括如下步骤:S1、选择基准汉语词汇,选择汉语中有代表性的词语,作为主元分析的基准;S2、获取汉语词中每个汉字点阵向量,将汉字用数值组成的向量表示,便于计算机进一步处理;S3、计算各个汉语词的合成向量,用汉语词中的汉字点阵向量组合成词本身的合成向量,词也变换成数值向量形式;S4、计算基准词汇的平均合成向量,计算基准词汇的全部词的平均合成向量;S5、计算基准词汇的协方差矩阵,基准词汇中各个词的合成向量减去平均合成向量后,互乘,得到词之间差异的协方差矩阵;S6、计算协方差矩阵的本征值和本征向量,得到协方差矩阵的特性;S7、计算汉语词合成向量的投影矩阵,根据协方差矩阵特性,计算一个对词的合成向量进行变换的矩阵;S8、计算汉语词的词向量,对于任意汉语词的合成向量,减去平均合成向量后,乘以投影矩阵,得到词的词向量。2.如权利要求1所述的利用主元分析计算汉语词向量的方法,其特征在于,所述步骤S1具体包括:选择M个汉语词W
k
,k=1,2,

,M,包括只有1个汉字的词,以及由多个汉字组成的词。3.如权利要求1或2所述的利用主元分析计算汉语词向量的方法,其特征在于,所述步骤S2具体包括:获取词W
k
中每个汉字C
ki
的点阵向量MC
ki
,点阵大小为d
×
d,点阵中的元素取值为1和0;将每个汉字点阵的元素按行或列顺序排列成一个1行、D列的向量(a1,a2,

,a
D
),D=d
×
d,其中,a
i
=1或a
i
=0,i=1,2,

,D。4.如权利要求3所述的利用主元分析计算汉语词向量的方法,其特征在于,d=16或d=24。5.如权利要求3所述的利用主元分析计算汉语词向量的方法,其特征在于,所述步骤S3具体包括:对于一个由n个字组成的汉语词W
k
,词的合成向量MW
k
是词中各个汉字点阵向量MC
ki
的加权和,MW
k
=w1×
MC
k1
+w2×
MC
k2
+

+w
n
×
MC
kn
,每个汉字C
ki
的权重w
i
的计算方法为:6.如权利要求4所述的利用主元分析计算汉语词向量的方法,其特征在于,所述步骤S4...

【专利技术属性】
技术研发人员:蒋遂平袁晓光刘轩王璐静臧小滨
申请(专利权)人:北京航天爱威电子技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1