词向量生成方法和设备、计算设备及计算机可读存储介质与流程

文档序号:30525821发布日期:2022-06-25 06:53阅读:147来源:国知局
词向量生成方法和设备、计算设备及计算机可读存储介质与流程

1.本公开涉及自然语言处理领域,更具体地涉及一种词向量生成方法和设备。


背景技术:

2.自然语言处理是计算机科学与人工智能领域中的一个重要方向。在自然语言处理任务中,由于计算机是无法直接读取自然语言,因此,需要设计一种映射将自然语言数学化以供计算机进行处理,于是词向量应运而生。词向量又名词嵌入,指将人类自然语言中的词汇映射成低维实数向量,从而表征词汇本身及词汇之间关系的技术。词向量在深度学习中被广泛应用于表征词语,常作为深度学习模型的第一层。一般而言,词向量的质量越高,其包含的语义信息就越丰富和精确,也更容易让计算机理解自然语言中的语义,也可以从根本上提高自然语言处理任务的处理结果。相关技术中,一般是直接利用原始自然语言语料数据作为训练样本对词向量模型进行训练,从而获得语料数据中的词语对应的词向量。


技术实现要素:

3.发明人发现,从人类社会中收集的原始语料数据可能常常包含人类世界中的认知偏差问题,例如针对某群体的认知偏差或针对特定事物的认知偏差。因为人类在认识世界的过程中可能由于受到各种因素的影响(例如文化、环境、地域、生活习惯等)对事物的认知难免存在认知偏差,这样的认知偏差可能造成相应语料数据中存在认知偏差因素。因此,由于直接利用这些带有认知偏差的语料数据训练模型,使得其训练结果不可避免地捕捉到这些认知偏差,造成所得的词向量含有认知偏差因素。这种有偏的词向量,在被应用于自然语言处理的下游任务时,会使得下游任务模型同样表现出类似的认知偏差问题。假设在一个用于筛选简历的机器学习模型中,由于使用了带有性别认知偏差因素的有偏词向量,可能会得出男性比女性更能胜任管理岗位的不公平结论;更极端的情况下,模型甚至可能仅因为语料数据中某句话中包含“女性”及其相关词汇,就把整句话预测为“消极句子”,进而自动过滤掉女性求职者的简历。这些由于词向量中认知偏差因素所带来的不准确、不公平的预测结果显然是不能接受的。
4.进一步地,由于词向量中带有认知偏差,因此这样的词向量无法真实准确地表征相应词语本身的含义以及词语之间的关系,即词向量不可避免地存在偏差,从而使得词向量的准确性难以得到保证。
5.本发明的目的是克服相关技术的缺陷中至少一种。具体地,本发明可以通过对原始语料数据中文本单元的加权纠偏处理提高词向量的准确性。
6.根据本公开的一个方面,提供了一种词向量生成方法,包括:获取包括至少两个文本单元的语料数据,每一个文本单元至少包含一个词语;根据群体词集合中各群体词和目标词集合中的各目标词在语料数据的文本单元中的分布,确定语料数据中每一个文本单元的权重;根据语料数据和语料数据中每一个文本单元的权重,确定用于训练词向量模型的样本数据;利用所述样本数据训练词向量模型,并从训练后的词向量模型中获得语料数据
中至少一个文本单元的至少一个词语的词向量。
7.在根据本公开一些实施例的词向量生成方法中,根据群体词集合中各群体词和目标词集合中的各目标词在语料数据的文本单元中的分布,确定语料数据中每一个文本单元的权重包括:确定语料数据中每一个文本单元的群体词分布向量和目标词分布向量,所述群体词分布向量用于表征群体词集合中的各群体词在该文本单元中的第一分布状况,所述群体词分布向量中各元素分别表征群体词集合中的相应群体词是否存在于该文本单元中,所述目标词分布向量用于表征目标词集合中的各目标词在该文本单元中的第二分布状况,所述目标词分布向量中各元素分别表征目标词集合中的相应目标词是否出现在该文本单元中;根据语料数据中各文本单元的群体词分布向量和目标词分布向量,针对语料数据中每一个文本单元,确定该文本单元的群体词分布向量所表征的第一分布状况出现的情况下该文本单元的目标词分布向量所表征的第二分布状况出现的第一概率;根据语料数据中各文本单元目标词分布向量,针对语料数据中每一个文本单元,确定该文本单元的目标词分布向量所表征的第二分布状况出现的第二概率;根据第一概率和第二概率,确定语料数据中每一个文本单元的权重。
8.在根据本公开一些实施例的词向量生成方法中,根据语料数据中各文本单元的群体词分布向量和目标词分布向量,针对语料数据中每一个文本单元,确定该文本单元的群体词分布向量所表征的第一分布状况出现的情况下该文本单元的目标词分布向量所表征的第二分布状况出现的第一概率,包括:将语料数据分成k个组,每个组包括至少一个文本单元,k为大于等于2的整数;以及对于所述k组语料数据中的每一组语料数据,执行如下步骤:训练集和测试集确定步骤:将该组语料数据中的各文本单元的群体词分布向量和目标词分布向量作为测试集,并将所述k组语料数据中除该组语料数据之外的其他各组语料数据中各文本单元的群体词分布向量和目标词分布向量作为训练集,训练步骤:以训练集中文各本单元的群体词分布向量为输入、目标词分布向量为输出,训练分类器模型,以及预测步骤:针对测试集中每一个文本单元,根据该文本单元的群体词分布向量和目标词分布向量,利用训练后的分类器模型预测在所述群体词分布向量所表征的第一分布状况出现的情况下所述目标词分布向量所表征的第二分布状况出现的第一概率。
9.在根据本公开一些实施例的词向量生成方法中,根据语料数据中各文本单元的群体词分布向量和目标词分布向量,针对语料数据中每一个文本单元,确定该文本单元的群体词分布向量所表征的第一分布状况出现的情况下该文本单元的目标词分布向量所表征的第二分布状况出现的第一概率,包括:根据语料数据中各文本单元的群体词分布向量,确定群体词集合中各群体词在语料数据的文本单元中出现的概率;根据群体词集合中各群体词在语料数据的文本单元中出现的概率,确定语料数据中每一个文本单元的群体词分布向量所表征的第一分布状况出现的第三概率;根据语料数据中各文本单元的群体词分布向量和目标词分布向量,确定语料数据中每一个文本单元的群体词分布向量所表征的第一分布状况和目标词分布向量所表征的第二分布状况同时出现的第四概率;根据第三概率和第四概率,确定语料数据中每一个文本单元的群体词分布向量所表征的第一分布状况出现的情
况下该文本单元的目标词分布向量所表征的第二分布状况出现的第一概率。
10.在根据本公开一些实施例的词向量生成方法中,根据语料数据中各文本单元目标词分布向量,针对语料数据中每一个文本单元,确定该文本单元的目标词分布向量所表征的第二分布状况出现的第二概率,包括:根据语料数据中各文本单元的目标词分布向量,确定目标词集合中各目标词在语料数据的文本单元中出现的概率;根据目标词集合中各目标词在语料数据的文本单元中出现的概率,确定语料数据中每一个文本单元的目标词分布向量所表征的第二分布状况出现的第二概率。
11.在根据本公开一些实施例的词向量生成方法中,分类器模型包括下列各项中至少一个:随机森林分类器模型、xgboost分类器模型、lightgbm分类器模型。
12.在根据本公开一些实施例的词向量生成方法中,根据语料数据和语料数据中每一个文本单元的权重,确定用于训练词向量模型的样本数据,包括:确定语料数据中每两个词语在每一个文本单元中的共现值,该共现值指示这两个词语是否同时出现在该文本单元中;根据语料数据中每两个词语在每一个文本单元中的共现值和该文本单元的权重,确定这两个词语在该文本单元中的加权共现值;根据语料数据中每两个词语在每一个文本单元中的加权共现值,构建共现矩阵,作为用于训练词向量模型的样本数据。
13.在根据本公开一些实施例的词向量生成方法中,根据语料数据和语料数据中每一个文本单元的权重,确定用于训练词向量模型的样本数据,包括:根据语料数据中每一个文本单元的权重,从语料数据中选取文本单元;根据被选取的文本单元,确定用于训练词向量模型的样本数据。
14.在根据本公开一些实施例的词向量生成方法中,在所述根据群体词集合中各群体词和目标词集合中的各目标词在语料数据的文本单元中的分布,确定语料数据中每一个文本单元的权重之前,该方法进一步包括:对语料数据中每一个文本单元进行分词处理,以获得该文本单元中所包含的各个词语。
15.在根据本公开一些实施例的词向量生成方法中,该方法进一步包括:获取待处理文本;从由所获得的词向量所构成的词向量库中查找待处理文本中的词语对应的词向量。
16.在根据本公开一些实施例的词向量生成方法中,词向量模型包括下列各项中至少一个:glove、word2vec、fasttext。
17.在根据本公开一些实施例的词向量生成方法中,文本单元为自然语言的句子。
18.根据本公开的另一方面,提供一种词向量生成设备,包括:语料获取模块,用于获取包括至少两个文本单元的语料数据,每一个文本单元至少包含一个词语;权重确定模块,用于根据群体词集合中各群体词和目标词集合中的各目标词在语料数据的文本单元中的分布,确定语料数据中每一个文本单元的权重;样本确定模块,用于根据语料数据和语料数据中每一个文本单元的权重,确定用于训练词向量模型的样本数据;词向量获得模块,用于利用所述样本数据训练词向量模型,并从训练后的词向量模型中获得语料数据中至少一个文本单元的至少一个词语的词向量。
19.根据本公开的另一方面,提供一种计算设备,包括:处理器;以及存储器,其上存储有指令,所述指令当在所述处理器上执行时促使所述处理器执行根据本公开一些实施例的词向量生成方法。
20.根据本公开的另一方面,提供一种或多种计算机可读存储介质,其上存储有计算
机可读指令,所述计算机可读指令在被执行时实现根据本公开一些实施例的词向量生成方法。
21.在根据本公开一些实施例的词向量生成方法中,通过基于群体词和目标词在语料数据的文本单元中的分布情况赋予各文本单元相应的权重,可以适应性调整文本单元中目标词与群体词之间由于群体认知偏差造成的过高或过低的关联程度,从而减弱或去除语料数据中存在的群体认知偏差。进一步地,通过这样的文本单元赋权操作,可以纠正语料数据中由于比如地域差异、文化差异等造成的针对特定事物的认知偏差,从而显著提高了词向量的准确性。在与自然语言处理有关的服务或任务中,这种无偏(即去认知偏差的)词向量能够更加客观、真实地反映人类社会和物质世界中自然语言的词语的本义及词语间的关系,从而在面对不同群体时可以更加公平地对待。进一步地,根据本公开实施例的词向量生成方法中的文本单元加权处理以及样本数据改进等操作都可以由计算设备自动完成,并不需要任何额外的人工操作(比如语料标注),因而,与相关技术中人工或手动标注方式去除认知偏差相比,根据本公开实施例的词向量生成方法简化了工作流程,显著提升了工作效率,降低了认知偏差消除的人工成本;另一方面,根据本公开实施例的词向量生成方法中的文本单元加权处理以及样本数据改进等操作都是在词向量模型训练过程开始之前完成的,并不会对整个词向量模型的训练过程带来额外的性能损耗,而且本公开实施例的词向量生成方法中这些操作所涉及的计算(例如简单的初等代数运算)并不复杂,因而计算开销较小,整体计算性能和数据处理效率较高。
附图说明
22.根据以下详细描述和附图,将容易理解本公开的各个不同的方面、特征和优点,在附图中:图1示意性示出根据本公开一些实施例的词向量生成方法的示例实施环境;图2示意性示出根据本公开一些实施例的词向量生成方法在图1的示例实施环境中实现的示例交互流程图;图3a和3b分别示意性示出根据本公开一些实施例的词向量生成方法的流程图;图4示意性示出根据本公开一些实施例的词向量生成方法的示例应用场景的示例界面;图5示意性示出根据本公开一些实施例的词向量生成方法的流程图;图6a-6b分别示意性示出根据本公开一些实施例的词向量生成方法的流程图;图7a-7b分别示意性示出根据本公开一些实施例的词向量生成方法的流程图;图8示意性示出根据本公开一些实施例的词向量生成方法的流程图;图9示意性示出根据本公开一些实施例的词向量生成设备的结构框图;图10示意性示出根据本公开一些实施例的计算设备。
23.应当指出,上述附图仅仅是示意性的和说明性的,且并不一定按照比例绘制。
具体实施方式
24.下面将参照附图更详细地描述本公开的若干个实施例以便使得本领域技术人员能够实现本公开。本公开可以体现为许多不同的形式和目的并且不应局限于本文所阐述的
实施例。提供这些实施例以使得本公开全面且完整,并充分地向本领域技术人员传达本公开的范围。所述实施例并不限定本公开。
25.将理解的是,尽管术语第一、第二、第三等在本文中可以用来描述各种元件、部件和/或部分,但是这些元件、部件和/或部分不应当由这些术语限制。这些术语仅用来将一个元件、部件或部分与另一个元件、部件或部分相区分。因此,下面讨论的第一元件、部件或部分可以被称为第二元件、部件或部分而不偏离本公开的教导。
26.本文中使用的术语仅出于描述特定实施例的目的并且不意图限制本发明。如本文中使用的,单数形式“一个”、“一”和“该”意图也包括复数形式,除非上下文清楚地另有指示。将进一步理解的是,术语“包括”和/或“包含”当在本说明书中使用时指定所述及特征、整体、步骤、操作、元件和/或部件的存在,但不排除一个或多个其他特征、整体、步骤、操作、元件、部件和/或其群组的存在或添加一个或多个其他特征、整体、步骤、操作、元件、部件和/或其群组。如本文中使用的,术语“和/或”包括相关联的列出项目中的一个或多个的任意和全部组合。
27.除非另有定义,本文中使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域的普通技术人员所通常理解的相同含义。将进一步理解的是,诸如那些在通常使用的字典中定义的之类的术语应当被解释为具有与其在相关领域和/或本说明书上下文中的含义相一致的含义,并且将不在理想化或过于正式的意义上进行解释,除非本文中明确地如此定义。
28.在详细介绍本发明的实施例之前,为了清楚起见,首先对一些相关的概念进行解释:1、词向量:又名词嵌入(word embedding),指将人类自然语言中的词汇映射成低维实数向量,从而表征词汇本身及词汇之间关系的技术。词向量在深度学习中被广泛应用于表征词语,常作为深度学习模型的第一层。词向量一般可以包括两种类型:独热(one-hot)式词向量和分布式词向量。
29.2、文本单元:是指构成语料的语言单元,一般具有相对完整的意思,例如自然语言中的句子、段落等。文本单元可以包括但不限于一个或多个句子、句子的一部分或者一个或多个段落。
30.3、认知偏差:是指人类在认识世界的过程中由于受到各种因素的影响(例如文化、环境、地域、生活习惯等)造成的对某些认知对象的认知偏离真实情况的现象。认知偏差例如可以包括针对特定群体的群体认知偏差(例如性别认知偏差、地域认知偏差)和针对特定事物的认知偏差。
31.4、群体词和目标词:分别表示与认知偏差所针对的群体本身相关的词汇以及与认知偏差所涉及的内容相关的词汇,例如在性别认知偏差中,“女性”、“男性”“先生”、“女士”等代表认知偏差所针对的群体(例如女性)和相对群体(如男性)的词语都可以是群体词,而“称职”、“优秀”、“弱”、“差”等用于评价人在某个方面(例如能力水平)优劣程度的词语可以为目标词。
32.5、文本单元的群体词分布向量:用于表征群体词集合中各群体词在文本单元中的分布或存在情况的向量,该向量的维度等于群体词集合中群体词的个数,且群体词分布向量中的各元素分别表征相应群体词是否存在于该文本单元中。
33.6、文本单元的目标词分布向量:用于表征目标词集合中各目标词在文本单元中的分布或存在情况的向量,该向量的维度等于目标词集合中目标词的个数,且目标词分布向量中的各元素分别表征相应目标词是否存在于该文本单元中。
34.7、词向量模型:是指用于通过利用语料数据进行训练而将语料数据中的词语映射到词向量的自然语言处理模型或工具,其可以包括但不限于glove、word2vec、fasttext、lsa等模型。
35.8、分类器模型:用于将数据映射到给定类别中的某一个从而可以应用于数据预测的函数或模型。分类器模型是数据挖掘中对样本进行分类的方法的统称,包含决策树、逻辑回归、朴素贝叶斯、神经网络等算法。常用的分类器模型可以包括但不限于随机森林分类器模型、xgboost(extreme gradient boosting)模型、lightgbm(light gradient boosting machine)模型等。
36.9、深度学习:深度学习是机器学习的一个分支,特指使用深度人工神经网络的机器学习的方法及相关技术。
37.10、逆概率加权:逆概率加权(ipw,inverse probability weighting)是一项用于纠正选择偏差的技术,被广泛地应用在机器学习、因果推断等领域。
38.11、超参数:对比机器学习模型的可学习的参数,超参数指代机器学习模型中需要人为设置的参数;超参数常常需要在根据经验或者在验证集(validation set)上的效果来选择。
39.12、共现矩阵和共现值:共现值是表示两个词语是否同时出现在语料数据的一个文本单元中的值,例如两个词语的在某文本单元中的共现值可以用1和0表示,即1表示这两个词语同时出现在该文本单元中,否则共现值为0;共现矩阵的元素为语料数据中每两个词语在各文本单元中共现的总次数,其等于这两个词语在各文本单元中的共现值之和。
40.13、加权共现矩阵和加权共现值:加权共现值是指两个词语在一个文本单元中的共现值与该文本单元的权重的乘积;加权共现矩阵是指以语料数据中每两个词语在各文本单元中的加权共现值之和为元素的矩阵。
41.自然语言指代人们日常使用的语言,例如英语、汉语、俄语、法语、西班牙语等等都属于自然语言的一种。自然语言处理(nature language processing,nlp)是计算机科学领域与人工智能领域中的一个重要方向。自然语言处理是一门与语言学的研究有着密切的联系,融语言学、计算机科学、数学于一体的科学,其主要研究通过自然语言进行有效的人机交互的方法和相关理论。也就是说,通过自然语言处理方面的相关技术,计算机可以直接识别用户通过语音或文本的形式提供的自然语言,并作出对应的响应,例如执行特定操作,根据用户的意图给出自然语言形式的应答等。具体的,自然语言处理所涉及的技术包括但不限于语义理解、机器翻译、机器问答、知识图谱、情感分析等技术,其中语义理解还可以用于构建搜索引擎的词条。词向量是一种将人类自然语言中的词汇映射到低维度实数向量的技术,词向量可以反映词的表征以及词和词之间的关系。比如,在词向量空间中,离“男人”一词最近的都是男性相关的词汇,离“女人”最近的都是女性相关的词汇。预先训练好的词向量常常作为深度神经网络的第一层,相比随机初始化的网络第一层参数,已经被验证可以有效提升模型的性能,所以被广泛地应用于自然语言处理(nlp,natural language processing)的所有任务中。
42.相关技术中,词向量往往是通过在大规模无词文本上基于语言模型(language model)任务训练得到。语言模型任务旨在基于词汇序列预测下一个要出现的词汇。比如,对于句子或词语序列“我在饭店里吃__”,语言模型的任务就是预测横线处出现概率最高的词汇,即“饭”。
43.然而,如前文所提到的,相关技术的词向量训练或生成方法中,由于基于人类自然语言的原始语料数据进行,所得到的词向量难以避免地带有原始语料中可能存在的对某些群体的认知偏差以及由于文化差异、地域差异等造成对某些事物的认知偏差,这样就造成后续利用基于这样的语料生成的词向量完成下游任务时同样表现出相应的群体认知偏差或者针对相应事物的认知偏差,从而影响词向量的准确性。比如,在相关技术的预训练词向量空间或词向量字典中,由于原始语料中性别认知偏差的存在,诸如“称职”、“优秀”之类的词汇所对应的词向量距离“男性”所对应的词向量可能会近于“女性”所对应的词向量。这些由于词向量中群体认知偏差所带来的预测结果显然是不能接受的。
44.目前,相关技术中去除群体认知偏差的方法可能主要通过人工检查方式实现,例如在进行训练之前,人工地对原始语料数据中存在认知偏差的语句或段落进行检查和标注,进而将标注为具有群体认知偏差的句子或段落删除以去除所生成的词向量的认知偏差因素。这样做的后果是,针对大规模语料数据,人工标注或筛查造成工作效率较低且难免造成人为误差,而且简单对含有认知偏差的句子进行删除可能造成信息的丢失,使得基于此生成的词向量无法真实、准确地反映语料数据中相应词语的本义和词语间的关系。
45.本公开针对相关技术的词向量训练或生成方法中的存在的认知偏差以及由此造成的所生成的词向量不准确的问题,提出一种基于文本单元的权重生成词向量的方法,其能够在几乎不损失性能的前提下,有效地消除词向量中的群体认知偏差,提高词向量的准确性。通过本技术得到的去认知偏差的词向量可以被有效地应用于下游任务中。根据一些实施例的词向量生成方法的基本思想为:首先,在语料数据的文本单元中找出认知偏差的对象(某群体或某事物)以及认知偏差对象相关信息(例如认知偏差所涉及的内容);随后,根据二者(即对象和相关信息)在文本单元中的整体分布情况将各个文本单元赋予相应的权重;利用带权重的文本单元来构建训练样本以用于训练词向量模型;最后从训练后的词向量模型中获得无偏词向量,即无认知偏差的词向量。以消除群体认知偏差为例,在根据一些实施例的词向量生成方法中,首先,在语料数据的各文本单元(例如句子)中找出群体词和目标词;根据群体词和目标词在文本单元中的整体分布情况(例如各个文本单元中是否存在群体词和/或目标词)将各个文本单元赋予相应的权重;利用带权重的文本单元来构建训练样本以用于训练词向量模型;最后从训练后的词向量模型中获得消除认知偏差的无偏词向量。
46.认知偏差的对象以及认知偏差相关信息在文本单元中的分布(即存在情况,尤其是二者共同分布或存在于一个文本单元中)实际上反映了二者之间的关联程度。造成上述这种关联程度差异的根源在于:人类社会中存在对某个群体的认知偏差和/或对另一个相对群体相对过高的评价,以及/或者由于地域或文化等方面的差异存在对某些事物的认知偏差。例如在性别认知偏差中,往往存在对女性某方面能力的认知偏差,并且/或者对男性在该方面能力的相对过高的评价。因而为了纠正这种认知偏差以提高词向量的准确性,可以通过赋予文本单元权重的方式来调整群体词和目标词的这种非正常关联程度,从而调整
这种认知偏差。具体地,以消除群体认知偏差为例,可以根据关联程度,将反映群体词和目标词关联(即共现)的句子赋予不同权重。
47.例如,假设“女性”与“较差”关联程度较高,则可以将二者共现的句子赋予较低权重,以调低关联程度,弱化对女性的认知偏差;而“男性”与“较差”关联程度较低,则可以将二者共现的句子赋予较高权重,以调高关联程度,这些可以减弱对与认知偏差群体“女性”的相对立的群体“男性”的过高评价,相应地同样可以弱化对女性的认知偏差,以实现针对不同性别群体的公平对待。又如,在中国北方的语料数据中,作为认知偏差对象的“豆腐脑”可能与“咸”共同出现的频次较高,即二者关联程度较高,存在认知偏差,这时可以将二者共现的句子赋予较低权重,以调低它们的关联程度,从而调整认知偏差;同样,在中国南方的语料数据中,为了调整认知偏差,可以将“豆腐脑”与“咸”共现的句子赋予较高权重。
48.图1示意性示出了根据本公开一些实施例的词向量生成方法的示例实施环境100。如图1所示,实施环境100可以包括语料管理服务器110、权重管理服务器120、样本管理服务器130以及词向量管理服务器140。如图1所示,实时环境100还可以包括网络150以及一个或多个终端设备160。
49.语料管理服务器110、权重管理服务器120、样本管理服务器130以及词向量管理服务器140可以存储和运行可以执行本文所描述的各种方法的指令,其分别可以是单个服务器或服务器集群或云服务器,或者其中任两个或更多个服务器可以是同一服务器或同一服务器集群,或可以是能够提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。应理解,本文所提及的服务器典型地为具有大量存储器和处理器资源的服务器计算机,但是其他实施例也是可能的。
50.网络150的示例包括局域网(lan)、广域网(wan)、个域网(pan)、和/或诸如因特网之类的通信网络的组合。语料管理服务器110、权重管理服务器120、样本管理服务器130以及词向量管理服务器140以及一个或多个终端设备160中的每一个可以包括能够通过网络150进行通信的至少一个通信接口(未示出)。这样的通信接口可以是下列各项中的一个或多个:任何类型的网络接口(例如,网络接口卡(nic))、有线或无线(诸如ieee 802.11无线lan(wlan))无线接口、全球微波接入互操作(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、bluetooth
tm
接口、近场通信(nfc)接口等。通信接口的另外的示例在本文其他地方描述。
51.如图1所示,终端设备160可以是任何类型的移动计算设备,包括例如移动计算机(例如,microsoft
®ꢀ
surface
®
设备、个人数字助理(pda)、膝上型计算机、笔记本计算机、诸如apple ipad
tm
的平板计算机、上网本等)、移动电话(例如,蜂窝电话、诸如microsoft windows
®
电话的智能手机、apple iphone、实现了google
®ꢀ
android
tm
操作系统的电话、palm
®
设备,blackberry
®
设备等)、可穿戴式计算设备(例如智能手表、头戴式设备,包括智能眼镜,如google
®ꢀ
glass
tm
,等)或其他类型的移动设备。在一些实施例中,终端设备160也可以是固定式计算设备,例如台式计算机、游戏机、智能电视等。
52.如图1所示,终端设备160可以包括显示屏以及可以经由显示屏与终端用户交互的终端应用。终端设备160可以例如经由网络150与语料管理服务器110、权重管理服务器120、样本管理服务器130以及词向量管理服务器140中的一个或多个进行交互,例如向其发送数
据或从其接收数据。终端应用可以为本地应用程序、网页(web)应用程序或者作为轻量化应用的小程序(liteapp,例如手机小程序、微信小程序)。在终端应用为需要安装的本地应用程序的情况下,可以将终端应用安装在用户终端160中。在终端应用为web应用程序的情况下,可以通过浏览器访问终端应用。在终端应用为小程序的情况下,可以通过搜索终端应用的相关信息(如终端应用的名称等)、扫描终端应用的图形码(如条形码、二维码等)等方式来在用户终端160上直接打开终端应用,而无需安装终端应用。
53.图2示出了根据本公开一些实施例的词向量生成方法在图1所示的示例实施环境100中实现的示例交互流程图。下面参考图2所示的示例交互流程图简要描述根据本公开一些实施例的词向量生成方法在实施环境100中的工作原理。
54.如图2所示,语料管理服务器110可以配置成获取包括至少两个文本单元的语料数据,每一个文本单元至少包含一个词语。
55.如图2所示,权重管理服务器120可以配置成根据群体词集合中各群体词和目标词集合中的各目标词在语料数据的文本单元中的分布,确定语料数据中每一个文本单元的权重。
56.如图2所示,样本管理服务器130可以配置成根据语料数据和语料数据中每一个文本单元的权重,确定用于训练词向量模型的样本数据。
57.如图2所示,词向量管理服务器140可以配置成利用所述样本数据训练词向量模型,并从训练后的词向量模型中获得语料数据中至少一个文本单元的至少一个词语的词向量。
58.如图2所示,可选地,词向量管理服务器140可以进一步配置成从终端设备160获取或接收待处理文本,随后在由所获得的词向量构成的词向量库中查找待处理文本中词语对应的词向量。一般地,在根据本公开一些实施例的词向量生成方法中,语料数据通常是大规模的无标签自然语言的文本,这样通过上述文本单元加权而训练得到的与语料数据中各个词对应的词向量将构成一个现成的词向量库或词向量字典。因此,在下游关于自然语言处理的具体应用中,可以直接基于所生成词向量库,通过查找和匹配获得待处理文本中各个词的词向量,进而利用所得的词向量实现对待处理文本的语义识别、数据分类、数据筛选或情感分析等处理,最终为用户提供决策依据或相应服务,例如基于处理结果为终端设备160提供数据搜索、数据推送以及智能问答等服务。由于本公开中根据文本单元中群体词信息和目标词信息的具体分布情况为每个文本单元提供了相应权重,使得能够适应性地调节由于人类的主观认知偏差造成的在语料数据中某个或某些群体与某些目标词(例如差、弱等)之间的非正常关系,如过强(例如群体词“女性”与目标词“差”)或过弱(例如群体词“女性”与目标词“强”)的关系。这样,基于经过加权(即通过权重纠正偏差)的文本单元生成的词向量能够减弱或去除由于群体认知偏差造成词向量带有的认知偏差因素,从而使得在这样的无偏词向量应用于下游自然语言处理任务或应用时能够客观、公平、准确地表征语料数据中相应词语及词语之间的关系。
59.图1和图2的示例实施环境和工作交互流程仅仅是示意性的,根据本公开的词向量生成方法并不限于所示出的示例实施环境。应理解,虽然在本文中,服务器110-140与终端设备160被示出和描述为分离的结构,但它们也可以是同一计算设备的不同组成部分。例如,可选地,根据本公开一些实施例的词向量生成方法的实施环境也可以仅包括终端设备
而不涉及服务器,即在满足一定条件时,终端设备160也可以完成上述服务器110-140完成各个步骤。可选地,根据本公开一些实施例的词向量生成方法的应用场景或实施环境也可以仅包括服务器而不涉及终端设备,即服务器110-140中至少一个也可以完成上述终端设备160的完成的步骤。例如可以假定待处理文本就在服务器110-140之一中,因而可以直接在服务器端进行相应的待处理文件获取步骤,随后自动完成待处理文本的词向量查找步骤。
60.图3a示意性示出了根据本公开一些实施例的词向量生成方法的流程图。
61.在一些实施例中,词向量生成方法可以在服务器(例如,图1和图2所示的服务器110-140)上执行。在另一些实施例中,该词向量生成方法也可以由图1和图2所示的服务器110-140和终端设备160相组合地执行。如图3a所示,根据本公开一些实施例的词向量生成方法可以包括步骤s310-s340。
62.在步骤s310处,获取包括至少两个文本单元的语料数据。其中,每一个文本单元可以至少包含一个词语。
63.词向量的生成需要大规模语料数据或语料库的支持,因为这样的大规模语料数据可以涵盖更多的词汇并且基于这种大规模语料数据训练或生成的词向量可以更准确地反映客观世界中词语的本义以及词语之间的关系。因此,为了使得所生成的词向量更多且更精确以构成用于下游任务所需的词向量库或词向量字典,需要采集或收集较大规模的语料数据(例如包含数以千万计的句子或数以亿计的词语)。
64.关于语料数据的获取或采集,可以从互联网或其他文字载体(例如报刊、书籍、广播)中收集可用的语料数据,例如百度百科、维基百科、或一些访问量较大的网站或论坛上的用户发言、或各种百科全书中的语料。可选地,也可以通过购买现成的语料库获得用于生成词向量的语料数据。总之,在采集语料数据时,尽可能涵盖人类社会以及物质世界相关的各个领域,包罗万象,从而使得所得到的词向量库或词向量字典应用范围更广且其中的词向量更精确。当然,可选地,也可以根据下游具体任务或应用来采集语料数据,以使得能够更有针对性地获得具体任务所涉及的相应领域中词语的词向量且这些词向量更精确地反映相应词语在该领域中的本义及词语间的关系。例如针对情感分析的应用场景,可以采集与人类精神世界和感情相关领域的语料数据。
65.文本单元是指构成语料的语言单元,例如句子、段落等。在一些实施例中,文本单元可以包括但不限于一个或多个句子、句子的一部分或者一个或多个段落。在下文中,为说明的目的,通常以句子为例来描述文本单元,即一个文本单元为一句话。
66.下面以句子为例,说明文本单元的结构。句子是语言运用的基本单位,它由一个或多个词语(包括词和词组或短语)构成,能表达一个完整的意思,如告诉别人一件事情,提出一个问题,表示要求或者制止,表示某种感慨,表示对一段话的延续或省略。句子的结尾应该用上句号、问号、省略号、或感叹号。因此,可以根据待语料数据中的标点符号,将整个语料数据分割成多个文本单元,即句子,即可将句号、问号、感叹号或省略号等表示一个句子结束的标点符号作为文本单元分割符。
67.可选地,文本单元可以仅由句子的一部分构成,因而这时可以将逗号、分号等也作为文本单元的分割符。进一步可选地,文本单元也可以由自然段落构成,这时其分隔符可以是换行符。
68.需要说明,根据本公开一些实施例的词向量生成方法可用于生成任何一种语言的词向量,这些语言包括但不限于中文、英文、德文、日文、韩文、法文、俄文、西班牙文等。因此,语料数据可以包括任何一种或多种语言的材料。在本公开一些实施例中,主要以中文为例进行说明,其它语言的词向量生成方法与中文类似,不再赘述。
69.在步骤s320处,根据群体词集合中各群体词和目标词集合中的各目标词在语料数据的文本单元中的分布,确定语料数据中每一个文本单元的权重。
70.在一些实施例中,群体词集合和目标词集合可以是根据具体任务或目的以及相关常识等预先确定的。例如,当目的是去除性别认知偏差时,可以将群体词集合设定为包括“女性”、“女士”、“男性”、“先生”等,而目标词集合可以设定为包括“称职”、“优秀”、“良好”、“较差”等;当目的是去除地域认知偏差时,群体词集合可以包含“城市”、“乡村”、“山区”等,目标词集合可以包含“好”、“坏”、“文明”、“野蛮”等。
71.如上所述,在一些实施例中,本公开实施例所针对的群体认知偏差可以仅包括单个群体。可选地,根据本公开的实施例的词向量生成方法也可以用于同时去除多种群体认知偏差。这时,群体词和目标词集合就需要包括针对不同认知偏差的不同群体词和目标词,例如针对性别认知偏差和地域认知偏差,群体词集合可以包含“女性”、“女士”、“男性”、“先生”以及“城市”、“乡村”、“山区”等,而目标词集合“称职”、“优秀”、“良好”、“较差”以及“好”、“坏”、“文明”、“野蛮”等。
72.基于上述本公开的构思,要想去除或减弱语料数据中的群体认知偏差因素,首先需要知道语料中哪些文本单元含有这样的认知偏差,这样才能针对含有认知偏差的文本单元进行适当处理以消除或弱化认知偏差。经过深入研究,发明人发现群体相关信息(如群体词)和认知偏差内容相关信息(如目标词)在文本单元中的具体分布或存在情况可以表征二者的关联程度,进而在一定程度上反映了是否存在群体认知偏差。
73.在一些实施例中,步骤s320中所谓的“分布”可以理解为群体词或目标词在语料数据的各文本单元中的存在情况,例如文本单元以句子为例,群体词“女性”的分布是指哪些句子中存在或出现“女性”,哪些句子中不存在或未出现“女性”。
74.一方面,特定目标词与某个群体词的关联程度可以通过下述方式刻画:首先,获得该目标词和群体词在各文本单元中共同存在或共同出现(即共现)的次数a;其次,获得与该群体词相对群体词与目标词共现的次数b;最后通过比较a和b来得到目标词与群体词的关联程度。例如,特定目标词为“较差”,而群体词为“女性”,而与群体词“女性”相对的群体词为“男性”;假设“较差”与“女性”在5个文本单元中共现,即共现5次,而“较差”与“男性”仅在1个文本单元中共现,即共现1次,则可以由此得出“女性”与“较差”关联程度较高,而“男性”与“较差”关联程度较低。
75.另一方面,也可以通过目标词和群体词的共现次数、它们各自出现的次数三者来刻画二者的关联程度,即利用条件概率与非条件概率的比较来刻画关联程度的高低。假设共100句话,“较差”和“女性”共现5次,“较差”在10句话中出现,“女性”在20句话中出现,则可以推断“较差”出现的概率为10/100=0.1,而在“女性”出现的情况下“较差”出现的概率为5/20=0.25》0.1,即“较差”在“女性”存在的情况下出现的条件概率相对于“较差”出现的非条件概率偏高,因而可以断定目标词“较差”与“女性”关联程度过高,从而反映出对女性的认知偏差。又如假设共100句话,“男性”与“较差”共现次数为1,较差仍然在10句话中出现,“男性”在20句话中出现,则较差出现的概率仍然为0.1,而在“男性”出现的情况下“较差”出现的概率为1/20=0.05《0.1,即“较差”在“男性”存在的情况下出现的条件概率相对于“较差”出现的非条件概率偏低,因而可以判定目标词“较差”与“男性”关联程度可能过低,反映了对男性群体的过高评价,换言之从另一个角度也反映了对女性群体的认知偏差。
76.造成上述这种关联程度差异的根源在于人类社会中存在对女性的认知偏差和/或对男性相对过高的评价。因而为了纠正这种认知偏差,可以通过赋予文本定义权重的方式来调整群体词和目标词的这种非正常关联程度,从而调整这种认知偏差。文本单元的权重可以指针对文本单元设定的用于表征该文本单元在语料数据中的重要程度的量,例如可以用正实数表示,其可以用于调整语料数据中存在的认知偏差。具体地,可以根据关联程度,将反映群体词和目标词关联(即共现)的句子赋予不同权重,例如“女性”与“较差”关联程度较高,则可以将二者共现的句子赋予较低权重,以调低关联程度,弱化对女性的认知偏差;而“男性”与“较差”关联程度较低,则可以将二者共现的句子赋予较高权重,以调高关联程度,这些可以减弱对与认知偏差群体“女性”的相对立的群体“男性”的过高评价,相应地同样可以弱化对女性的认知偏差,以实现针对不同性别群体的公平对待。在本文中,文本单元的“权重”是指相应文本单元在整个语料数据中的重要程度,例如权重高的文本单元在根据语料数据形成训练样本时相对于权重低文本单元更重要。文本单元的权重在基于语料数据构建训练样本数据时将起到关键作用,通过考虑各文本单元的权重来去除语料数据中的群体认知偏差。
77.在一些实施例中,可以根据逆概率加权法来形成权重以调整文本单元中群体词与目标词之间的过大或过小的关联程度,详细分析请参见下文图5所示的实施例的描述。
78.在步骤s330处,根据语料数据和语料数据中每一个文本单元的权重,确定用于训练词向量模型的样本数据。
79.在一些实施例中,词向量模型是指用于通过利用语料数据通过进行训练而将语料数据中的每一个词语映射到词向量的自然语言处理模型。上述词向量模型可以包括但不限于glove (global vectors for word representation)、word2vec (word to vector)、fasttext模型。而词向量模型训练时所用的数据被称为样本数据,样本数据取决于具体的词向量模型,例如word2vec或fasttext模型的样本数据可以为语料数据中的各个文本单元或句子(或有词语的one-hot向量表示的词向量序列);glove模型的样本数据可以是语料数据的共现矩阵,即以每两个词在各个文本单元中的共现的总次数为元素的矩阵。可选地,glove模型也可以将语料数据的各文本单元视为样本数据进行训练,只不过需要对样本数据进行一下处理以形成共现矩阵才能正式开始训练过程。
80.用于词向量模型的输入和输出通常与具体的词向量模型相关,例如glove模型的输入为共现矩阵,而word2vec和fasttext的输入为语料中的文本单元(或句子)或其中所包含的词语的随机词向量表示序列。
81.在一些实施例中,针对一般的以文本单元为训练样本数据的词向量模型(如word2vec或fasttext),例如用于训练词向量模型的样本数据可以是从语料数据中通过随机采样抽取的一部分语料,这时可以按照权重赋予各文本单元赋予相应的采样概率,使得高权重文本能够更多地被采样以加强样本中该文本单元的相应群体词与目标词的相对较弱的关联程度,同时较低权重的文本单元被较少采样以弱化相应群体词与目标词的相对较
强的关联程度,从而实现认知偏差的弱化甚至消除。
82.在一些实施例中,针对以特定形式的数据为处理对象的词向量模型(例如glove或lsa(latent semantic analysis)),可以利用文本单元的权重构建具体的样本数据。glove模型和lsa模型的处理对象通常为共现矩阵(即其中元素为语料数据中每两个词语在文本单元中共现的总数),因此在利用权重构建样本数据时,为了体现文本单元的权重(即去除认知偏差),可以在共现矩阵(其元素为语料数据中每两个词语的共现次数)中融入文本单元的权重因素以得到加权共现矩阵,并以加权共现矩阵为样本数据。具体说明,请参见下文中图5所示的实施例的详细描述。
83.在步骤s340处,利用所述样本数据训练词向量模型,并从训练后的词向量模型中获得语料数据中至少一个文本单元的至少一个词语的词向量。
84.在一些实施例中,在得到样本数据之后,可以直接将通过这些样本数据训练用于将词语映射成词向量的词向量模型以得到训练好的词向量模型,并从中获得语料数据中至少一部分词语或所有词语对应的词向量,即可以从训练好的词向量模型中获得语料数据中任意一个或多个词语的词向量。上述词向量模型可以采用glove模型、word2vec模型、fasttext模型等等。
85.下面分别简要介绍本公开一些实施例中如何利用样本数据训练常用词向量模型以得到无偏词向量。
86.glove模型是一个基于全局词频统计的词表征工具,它可以把一个单词表达成一个由实数组成的向量,这些向量捕捉到了单词之间一些语义特性,比如相似性、类比性等。我们通过对向量的运算,比如欧几里得距离或者余弦相似度,可以计算出两个单词之间的语义相似性。相关技术中,关于glove模型训练过程,循环执行下述步骤从而得到训练好的模型和词向量:首先,从共现矩阵中随机采集一批非零词对作为一个批量训练数据;其次,随机初始化这些训练数据的词向量以及随机初始化两个偏置;然后,通过梯度下降法优化下述公式所示的目标函数(或损失函数)j,然后反向传播更新词向量和两个偏置:其中,x
ij
表示共现矩阵x中的元素,即第个词与第j个词在整个语料数据中共同出现在一个文本单元中的次数,v为语料数据中词语的总数,wi、分别表示这两个词的待优化的词向量,bi和为待优化的两个偏置,
max
为超参数。
87.在本公开的一些实施例中,针对glove模型,可以在训练glove模型之前,将步骤s330中得到的融入了文本单元权重的加权共现矩阵作为样本数据,随后利用加权共现矩阵进行glove模型训练,即可得到所需的无偏词向量。
88.具体地,在本公开一些实施例中,对于glove词向量模型,利用样本数据(如加权共
现矩阵)训练词向量模型的过程为,循环执行下述步骤:首先,从加权共现矩阵中随机采集一批非零词对作为一个批量训练数据;随后,随机初始化这些训练数据的词向量以及随机初始化两个偏置;最后,通过诸如梯度下降法之类的优化算法优化目标函数(如上文所述的损失函数j),然后反向传播更新词向量和两个偏置。这样,通过上述训练过程,可以得到训练好的词向量模型,同时得到语料数据中每一个词语对应的无偏词向量。
89.lsa(latent semantic analysis)是一种比较早的基于计数的词向量表征工具,它也是基于共现矩阵的,只不过采用了基于奇异值分解(svd)的矩阵分解技术对大矩阵进行降维。因此,在本公开的一些实施例中,若采用lsa模型,则可以将共现矩阵替换为加权共现矩阵,随后进行同样的奇异值分解等操作来实现词向量模型的训练,从而得到无偏词向量。
90.word2vec是用一个一层的神经网络把one-hot形式的词向量映射为分布式词向量的词向量映射工具。因此word2vec的训练过程中使用的样本数据可以是语料数据的文本单元(其中词语用one-hot形式的词向量代替)。因此可以根据步骤s330所述的针对一般的(以文本单元为样本)词向量模型构建样本数据,即以按照权重赋予各文本单元的采样概率采样得到的文本单元,随后将各文本单元中的词语变换为one-hot型词向量,随后利用这些经处理的(词语向量化)文本单元训练词向量模型以得到语料数据中各词语对应的分布式词向量。由于样本数据基于经过加权处理的文本单元产生,因此最后训练得到的词向量消除了原始语料数据中群体认知偏差因素,从而公平、客观、真实、准确地反映了语料数据中的相应词语的本义以及词语间的关系。
91.fasttext模型与word2vec类似,其训练过程不再赘述。
92.在根据本公开一些实施例的词向量生成方法中,根据语料数据中与群体认知偏差相关的群体词和目标词在各文本单元的分布情况,赋予各文本单元相应的权重,从而可以适应性调整文本单元中群体词和目标词的(过高或过低的)关联程度,使得整个语料数据中目标词与群体词的关联程度没有明显的特异性。由于群体词和目标词之间的关联程度的特异性反映了群体认知偏差的存在,因而根据本公开一些实施例的词向量生成方法可以通过降低这种关联程度的特异性,来减弱或去除语料数据中存在群体认知偏差。进一步地,通过文本单元赋权操作,还可以纠正语料数据中由于比如地域差异、文化差异等造成的认知偏差,从而显著提高词向量的准确性。因此,利用基于带有权重的文本单元构建的样本数据对词向量模型进行训练之后,所得到的词向量显著弱化甚至完全消除了原始语料数据中存在的群体认知偏差因素,从而消除了下游任务中可能出现的群体认知偏差问题;同时避免了由于下游任务中由于使用带有性别认知偏差的词向量所造成的不准确、不公平的预测结果。在与自然语言处理有关的服务或任务中,这种无偏词向量能够更加客观、真实地反映人类社会和物质世界中自然语言的词语的本义及词语间的关系,从而在面对不同群体时可以更加公平地对待。
93.进一步地,根据本公开实施例的词向量生成方法仅仅对语料数据中各文本单元进行了简单的加权处理并基于加权后的语料数据改进了样本数据,这些操作都可以由计算设备自动完成,并不需要任何额外的人工操作或语料标注,因而,与相关技术中人工或手动标注方式去除群体认知偏差相比,根据本公开实施例的词向量生成方法简化了工作流程,显著提升了工作效率,降低了群体认知偏差消除的人工成本;另一方面,根据本公开实施例的
词向量生成方法中的上述加权处理和样本数据的构建的改进都是在词向量模型训练过程开始之前完成的,并不会对整个词向量模型的训练过程带来额外性能损耗;而且本公开实施例的词向量生成方法中的加权处理和样本数据的改进所涉及的计算(例如简单的初等代数运算)并不复杂,因而计算开销较小,整体计算性能和数据处理效率较高。
94.图3b示意性示出根据本公开一些实施例词向量生成方法的流程图。如图3b所示,步骤s310-s340与图3a完全一致,图3b中另外增加了可选步骤s350-s370。
95.如图3b所示,在步骤s320之前,根据本公开一些实施例的词向量生成方法,可以进一步包括以下步骤:s350,对语料数据中的各文本单元进行分词处理,以获得语料数据中的各个词语。
96.在一些实施例中,在获取语料数据之后,可选地,需要对语料数据进行分词处理,即将语料数据中的文本单元划分成词语序列,以利于后续针对词语的进一步处理。
97.分词是自然语言处理的基础,分词准确度直接决定了后面的词性标注、句法分析、词向量以及文本分析的质量。英文的语句使用空格将单词进行分隔,因此,除了某些特定词外,大部分情况下不需要考虑分词问题。但中文却完全不同,天然缺少分隔符,在进行自然语言处理时需要附加的分词处理步骤以获得各个词语。故在做中文自然语言处理时,我们需要先进行分词,这样才可以针对各个词语实现向量化。
98.关于中文分词的具体算法,可以采用基于词典的规则匹配方法或基于统计的机器学习方法。更具体地,可以例如采用jiaba分词工具实现步骤s350所述的分词处理步骤。jiaba是一款开源分词引擎,它结合了基于字符串匹配的算法和基于统计的算法。
99.通过步骤s350所示的分词处理,可以实现例如中文语料句子中各个词语的有效划分,从而为后续针对词语的处理奠定了基础。
100.如图3b所示,根据本公开一些实施例的词向量生成方法可以进一步包括如下步骤:s360,获取待处理文本,以及s370,从由所获得的词向量所构成的词向量库中查找待处理文本中的词语对应的词向量。
101.如上文发明构思所示,根据本公开一些实施例的词向量生成方法通过利用大规模语料数据以及文本单元加权而训练得到的与语料数据中各个词对应的词向量将构成一个现成的词向量库或词向量字典,可以称为一个预训练词向量库以用于具体下游任务,例如作为深度神经网络模型训练的初始词向量,这样不仅可以能够有效简化训练过程、提升模型性能,而且可以直接弱化甚至消除群体认知偏差,提高词向量的准确性。
102.具体地,在下游关于自然语言处理的具体应用之前,可以直接在所生成预训练的词向量库中,通过查找和匹配获得待处理文本中各个词的词向量,进而利用所得的词向量实现对待处理文本的语义识别、数据分类、数据筛选或情感分析等处理,最终为用户提供决策依据或相应服务,例如数据搜索、数据推送以及智能问答等服务。在一些实施例中,如步骤s350-370和图2所示,在预训练的词向量库生成之后,词向量管理服务器140可以从终端设备160获取待处理文本,随后从预训练的词向量库中通过字典匹配查找待处理文本中各个词语的词向量。
103.图4示出根据本公开一些实施例的词向量生成方法的示例应用场景的示例界面
图。
104.根据本公开实施例的词向量生成方法并不局限于具体的产品或应用场景,例如根据本公开实施例的词向量生成方法所生成的词向量可以进一步用于语义识别、数据分类、数据筛选或情感分析等处理。为了说明的目的,如图4所示,这里以“意见反馈”为例详细描述本公开实施例的应用场景。考虑手机管家的反馈分类或筛选任务,即将用户的反馈信息分类为“有用反馈”与“无用反馈”。对于这个任务,一般会使用基于深度神经网络的机器学习模型实现反馈信息的筛选或分类,而预训练的词向量往往会作为模型第一层的初始化参数。如果使用了相关技术的词向量生成方法,则可能由于原始语料数据中的存在的性别认知偏差造成所得到的预训练词向量含有相应的性别认知偏差因素。因此,由于作为初始化参数的预训练词向量存在认知偏差因素,深度神经网络模型可能更容易将包含女性特征或与女性相关的反馈文本分类为“无用反馈”。长远来看,这可能会使得女性的反馈,相比男性,更不容易被看到和解决,从而导致女性用户群体产品使用体验的下降。
105.在根据本公开实施例的词向量生成方法中,由于利用文本单元加权处理得到的词向量一定程度上消除了认知偏差因素,因此非常适合用于“意见反馈”任务之前构建作为初始化参数的预训练词向量。
106.在“意见反馈”应用场景中,软件(例如手机管家软件)运营商通过例如词向量管理服务器140首先向终端设备(如手机)150发送收集意见或建议的请求,于是终端设备上可以显示如图4所示的“反馈意见”输入界面。如图4所示,该输入界面包括六部分:标题部分401,即“提交反馈”;用于解释的提示部分402;用于输入意见或建议的反馈信息输入部分403;联系方式输入部分404;用于提交图片的图片输入部分405;以及用于确认提交反馈的“提交”按钮406。随后,类似于图3b所示的步骤s360-370,词向量管理服务器140可以从终端设备160接收用户通过如图4所示的输入界面的反馈信息输入部分403输入的反馈信息,作为待处理文本;词向量管理服务器140在通过如图3a所示的步骤s310-s340所生成的无偏词向量构成的词向量库中通过匹配查找,得到待处理文本(即反馈信息)中所有的词语对应的词向量。这样得到的词向量可以作为对“反馈信息”进一步进行筛选分类处理的初始化词向量,例如,在基于深度神经网络的机器学习模型实现反馈信息的筛选或分类的过程中,这样的预训练的词向量可以作为模型第一层的初始化参数进行训练,从而使得所筛选的“有用反馈”真实有效、客观公正,无主观认知偏差,有利于解决针对性地解决反馈的问题,提升用户(尤其是女性用户)体验。
107.图5示意性示出图3a所示的根据本公开一些实施例的词向量生成方法中的步骤s320的示例过程。
108.首先,介绍基于利用逆概率加权法消除认知偏差的原理。一般地,语言模型的任务是拟合如下概率:p(x)=p(z
x
)*p(t
x
|z
x
)*p(x'|z
x
,t
x
)ꢀꢀꢀꢀꢀꢀ(1)其中x表示句子,z
x
表示句子中包含的群体相关信息(例如群体词),t
x
表示文本单元中包含的认知偏差内容相关信息(例如目标词),x'表示句子除了z
x
和t
x
以外的其他信息。如上文所述,群体认知偏差表现为t与z之间的关联程度的特异性(偏高或偏低),即p(t
x
|z
x
)≠p(t
x
)。
109.另一方面,假设语料数据中不存在群体认知偏差,t
x
与z
x
之间的关联程度的不存在
特异性,即p(t
x
|z
x
)=p(t
x
),因此所要拟合的概率为:p(x)=p(z
x
)*p(t
x
)*p(x'|z
x
,t
x
)ꢀꢀꢀꢀꢀꢀ(2)。
110.比较公式(1)和(2),可以发现如果想要在存在群体认知偏差的语料数据中去除认知偏差,需要将群体词与目标词之间的特异性关联程度进行调整,即将p(t
x
|z
x
)改变为p(t
x
)。于是可以为存在认知偏差的语料数据中每个句子x设置权重w=p(t
x
)/p(t
x
|z
x
),则句子x变为加权句子y,这样公式(1)变为:p(y)=w*p(z
x
)*p(t
x
|z
x
)*p(x'|z
x
,t
x
)=(p(t
x
)/p(t
x
|z
x
))*p(z
x
)*p(t
x
|z)*p(x'|z
x
,t
x
)=p(z
x
)*p(t
x
)*p(x'|z
x
,t
x
) 。
111.上述加权方法称为逆概率加权,其利用条件概率的倒数与非条件概率的乘积为权重来调整条件概率所代表的群体词和目标词之间的特异性关联。因此,利用上述逆概率加权算法,可以从根本上调适群体信息与认知偏差内容信息之间的特异性关联程度(过大或过小),从而完美地消除群体认知偏差现象。
112.如图5所示,图3a所示的步骤s320-根据群体词集合中各群体词和目标词集合中的各目标词在语料数据的文本单元中的分布,确定语料数据中每一个文本单元的权重可以包括下述步骤s510-s540。
113.在步骤s510处,确定语料数据中每一个文本单元的群体词分布向量和目标词分布向量。其中,所述群体词分布向量用于表征群体词集合中的各群体词在该文本单元中的第一分布状况,所述群体词分布向量中各元素分别表征群体词集合中的相应群体词是否存在于该文本单元中,所述目标词分布向量用于表征目标词集合中的各目标词在该文本单元中的第二分布状况,所述目标词分布向量中各元素分别表征目标词集合中的相应目标词是否出现在该文本单元中。
114.在一些实施例中,可以利用概率论的观点描述群体词和目标词在语料数据的文本单元中的分布。为了整体考虑群体词集合中所有群体词在文本单元中的分布情况(即存在情况),可以构造一个离散型随机向量z=(z1, z2,
ꢀ…
,zn),其中zi(i=1,2,

,n)为用于表示群体词集合中第i个群体词在文本单元中的分布的随机变量,n为群体词集合中群体词的个数。每个随机变量zi与群体词集合中各个群体词一一对应,且取值范围可以为1和0,其分别相应群体词在某个文本单元中存在与否,即相应群体词存在,则zi=1,若相应群体词不存在,则zi=0。随机向量z的取值范围就是各个分量(即z1,

,zn)的取值的组合,例如假设群体词集合包含两个群体词,则z=(z1,z2),则z的取值范围为(0,1)、(1,0)、(1,1)、(0,0);这时,语料数据中各单元中群体词分布情况都可以上述四个相邻来表征。
115.同理,目标词集合中所有目标词在文本单元中的分布情况也可以通过构造随机向量t来刻画,即t=(t1, t2,
ꢀ…
,tm),其中ti(i=1,2,

,m)表示目标词集合中第i个目标词在文本单元中的分布的随机变量,m为的目标词集合中目标词的个数。每个随机变量ti与目标词集合中目标词一一对应,且取值范围可以为1和0,其分别相应目标词在某个文本单元中存在与否,即存在则ti=1,不存在则ti=0。这样,语料数据中每个文本单元中群体词和目标词的分布情况都可以分别用上述随机向量z和t在该文本单元中的具体取值来表示,即对某个文本单元而言,群体词和目标词的具体分布情况可以分别表示为n维向量和m维向量。
116.为了计算方便,针对每一个文本单元,对于群体词集合中所有群体词在该文本单
元中的具体分布状况(即第一分布状况),可以利用随机向量z在该文本单元中的具体取值形成的向量来表示,该代表每个文本单元中群体词集合具体分布状况的向量(即随机向量z在相应文本单元中的具体取值)可以定义为群体词分布向量(可以用z0表示)。例如,随机向量z在一个文本单元中具体取值为z0=(1,0,

,0,1),该向量z0=(1,0,

,0,1)即为该文本单元的群体词分布向量,其具体表示的第一分布状况为:该文本单元中存在第一个群体词和第n个群体词,其他群体词都不存在。同理,针对每一个文本单元,可以定义反映目标词集合中所有目标词在该文本单元中的具体分布状况(即第二分布状况)的目标词分布向量(可以用t0表示),其为随机向量t在该文本单元中的具体取值形成的向量。
117.关于如何确定每一个文本单元的群体词分布向量和目标词分布向量,下面以去除性别认知偏差为例进行说明。首先,假设预定的群体词集合和目标词集合分别如表1所示,群体词集合包括“男”和“女”,目标词集合中包括“优”、“差”、“强”、“弱”。其次,可以通过字典匹配法查找每一个文本单元中是否存在表1中的群体词和目标词,以根据存在情况确定群体词分布向量和目标词分布向量。例如,假设某一个文本单元中含有“女”,“差”但不包括其他群体词和目标词,则该文本单元的群体分布向量z0=(0,1),而目标词分布向量t0=(0,1,0,0)。因此,针对语料数据中每一个文本单元,都可以利用上述方式得到其群体词分布向量和目标词分布向量,这样就得到了群体词集合和目标词集合在每一个文本单元中的分布情况(存在情况)。
118.表1-群体词集合和目标词集合示例表
119.在步骤s520处,根据语料数据中各文本单元的群体词分布向量和目标词分布向量,针对每一个文本单元,确定第一概率。其中,对于语料数据中每一个文本单元,第一概率表示在该文本单元的群体词分布向量所表征的第一分布状况出现的情况下该文本单元的目标词分布向量所表征的第二分布状况出现的概率。
120.在一些实施例中,可以根据上文所述的逆概率加权法计算文本单元的权重。具体地,针对每一个文本单元,需要根据下述两个概率计算权重:p(t=t0)以及p(t=t0|z=z0),其中t和z分别表示目标词集合和群体词集合在文本单元中分布(即是否出现在文本单元中)的随机向量,t0和z0表示相应的文本单元中目标词分布向量和群体词分布向量。因而p(t=t0|z=z0)表示z=z0的情况下t=t0的条件概率,即群体词分布向量z0所表征的第一分布状况出现的情况下目标词分布向量t0所表征的第二分布状况出现的条件概率。为说明的目的,该条件概率可以被表示为第一概率。同理,p(t=t0)表示t=t0的(非条件)概率,即目标词分布向量t0所表征的第二分布状况出现的概率,为说明的目的,可以表示为第二概率。
121.如步骤s520所述,可以根据步骤s510中确定的各文本单元的群体词分布向量和目标词分布向量二者来确定第一概率。在一些实施例中,对于每一个文本单元而言,可以根据该文本单元的群体词分布向量z0和目标词分布向量t0直接通过计数获取群体词分布向量z0和目标词分布向量t0同时出现的文本单元的个数以及群体词分布向量z0出现的文本单元的个数,随后根据概率论知识中概率的定义或条件概率的定义直接通过前者除以后者(即群体词和目标词同时出现的频率与群体词分布向量出现的频率)得到第一概率,即p(t=t0|z=z0)=p(t=t0, z=z0)/p(z=z0)ꢀꢀꢀꢀꢀꢀ(3)
应当注意,当群体词集合和目标词集合中元素较多时,相应的群体词分布向量和目标词分布向量的维度较高,造成文本单元中群体词和目标词的具体的分布情况呈几何级数增加。例如,群体词集合包含100个群体词,即群体词分布向量的维度为100,则随机向量z的取值,即具体的群体词分布向量的个数为2
100
。因此,针对群体词集合和目标词集合中元素较多的情况,利用上述频率计数方法可能带来计算量的显著增加。
122.在一些实施例中,为了克服上述问题,可以根据语料数据中各文本单元的群体词分布向量和目标词分布向量,训练分类器模型(例如随机森林分类器模型)以拟合出在z=z0时随机向量t的条件概率分布或条件分布律,从而根据条件分布律得出p(t=t0|z=z0)。上述具体分类器模型拟合方式请参见图7a所示的实施例。
123.在步骤s530处,根据语料数据中各文本单元目标词分布向量,针对每一个文本单元,确定第二概率。其中对于语料数据中每一个文本单元,第二概率表示该文本单元的目标词分布向量所表征的第二分布状况出现的概率。
124.在一些实施例中,可以利用随机向量t中各个元素,即作为其分量的随机变量之间的独立性来计算随机向量t的分布律。详细过程请参见图8所示的流程图。
125.可选地,在一些实施例中,关于第二概率,也可以与根据步骤s510中确定第一概率类似的方式,利用各文本单元的目标词分布向量,直接计算随机向量t(不考虑分量)取目标词分布向量t0的概率(即t0所表征的第二分布状况出现的概率)。例如,对于每一个文本单元而言,可以通过直接计数方式获取该文本单元的目标词分布向量t0所表征的第二分布状况出现的文本单元的个数n
t
,并计算出整个语料数据文本单元的总数na,从而利用概率论原理得到第一概率,即:p(t=t0)=n
t
/naꢀꢀꢀꢀꢀꢀ(4)在步骤s540处,根据第一概率和第二概率,确定语料数据中每一个文本单元的权重。
126.在一些实施例中,针对每一个文本单元通过上述步骤获得了第一概率p(t=t0|z=z0)以及第二概率p(t=t0)之后,可以利用上文所述的逆概率加权法,得到该文本单元的权重w为第二概率与第一概率之比,即w=p(t=t0)/p(t=t0|z=z0)ꢀꢀꢀꢀꢀꢀ(5)通过公式(6)的逆概率加权方式得到的文本单元的权重,将每个文本单元中由于群体认知偏差造成的目标词和群体词的特异性关联程度矫正为正常关联程度,从而从根本上去除了语料数据中的群体认知偏差,从而完美地消除基于该权重和语料数据生成的词向量中群体认知偏差因素,显著增强了词向量的准确性。
127.图6a示意性示出图3a所示的步骤s330的示例过程。
128.如上文所述,相关技术中,对于某些词向量模型(如glove、lsa),用于训练的样本数据为共现矩阵,其元素为语料数据中每两个词语在文本单元中的共现次数。在一些实施例中,针对这样的词向量模型,在利用权重构建样本数据时,为了去除认知偏差,体现文本单元的权重,可以将权重在共现矩阵的元素(即语料数据中每两个词语的共现次数)中融入各文本单元的权重以得到加权共现矩阵,并以加权共现矩阵为样本数据。
129.首如图6a所示,图3a所示的步骤s330-根据语料数据和语料数据中每一个文本单元的权重,确定用于训练词向量模型的样本数据,可以包括下述步骤s610-630。
130.首先,在步骤s610处,确定语料数据中每两个词语在每一个文本单元中的共现值,该共现值指示这两个词语是否同时出现在该文本单元中。两个词语的在文本单元中的共现值可以用1和0表示,即1表示这两个词语同时出现在该文本单元中,否则共现值为0。具体地,可以用如下公式表示语料数据中第i个词和第j个词在第k个文本单元中的共现值ck:其次,在步骤s620处,根据语料数据中每两个词语在每一个文本单元中的共现值和该文本单元的权重,确定这两个词语在该文本单元中的加权共现值。为了体现文本单元的权重,可以将上述公式(6)所示的两个词语的共现值进行加权以得到加权共现值。例如,假设两个词语在语料数据的第k个文本单元中的共现值为ck,第k个文本单元的权重为wk,则其加权共现值为w
kck

131.再次,在步骤s630处,根据语料数据中每两个词语在每一个文本单元中的加权共现值,构建加权共现矩阵,作为用于训练词向量模型的样本数据。与共现矩阵的构造类似,根据加权的文本单元构造的加权共现矩阵a={a
ij
}中的元素a
ij
,可以表示为下述加权和:其中ck表示公式(7)所示的第i个词和第j个词在第k个文本单元中的共现值,wk为第k个文本单元的权重,n为语料数据中文本单元个数。
132.通过上述公式(7)构造的加权共现矩阵即体现了词语之间的(共现)关系,又考虑了不同文本单元的权重(用于消除群体词与目标词的异常关联程度),因此,可以将加权共现矩阵用作词向量模型训练的样本数据,因为这样既能满足特定词向量模型的要求而且去除了群体认知偏差因素,使得从训练之后的词向量模型中得到词向量客观、真实、准确地反映相应词语的本义及词语间的关系。
133.图6b示意性示出图3a所示的步骤s330的另外的示例过程如图6b所示,图3a所示的步骤s330-根据语料数据和语料数据中每一个文本单元的权重,确定用于训练词向量模型的样本数据,可以包括:s601,根据语料数据中每一个文本单元的权重,从语料数据中选取文本单元;s602,根据被选取的文本单元,确定用于训练词向量模型的样本数据。
134.如上文所述,针对以文本单元为样本数据的词向量模型(如word2vec或fasttext),在构建样本数据时,可以通过从整个语料数据中随机采样的方式确定样本数据。其中,为了体现文本单元的权重,可以按照权重赋予各文本单元相应的采样概率,使得高权重文本能够以更大概率被较多地采样以加强样本数据中该文本单元的群体词与目标词的相对较弱的关联程度,同时较低权重的文本单元被以较小概率较少采样以弱化相应群体词与目标词的相对较强的关联程度,从而实现认知偏差的弱化甚至消除。
135.可选地,图6b也可以适用于其他词向量模型,因为它们都是以语料数据为基础的。以glove模型为例,可以在样本数据构建之前,通过利用文本单元的权重确定其采用概率的方式实现从语料数据中采集若干文本单元作为构成共现矩阵的基础数据,随后根据各文本单元中群体词和目标词的共现情况构造共现矩阵,从而形成样本数据。这样的得到的样本
数据由于在对语料数据采样过程中根据文本单元权重赋予各文本单元的采用概率,因此在样本数据中充分体现了权重因素,从而可以达到去除或弱化群体认知偏差且提供词向量准确性的目的。
136.图7a示意性示出图5所示的步骤s520的示例过程。
137.在一些实施例中,可以利用分类器模型来计算第一概率,过程如下:首先,将语料数据分成k个组,每个组包括至少一个文本单元,k为大于等于2的整数。
138.随后,对于所述k组语料数据中的每一组语料数据,执行如下步骤:训练集和测试集确定步骤:将该组语料数据中的各文本单元的群体词分布向量和目标词分布向量作为测试集,并将所述k组语料数据中除该组语料数据之外的其他各组语料数据中各文本单元的群体词分布向量和目标词分布向量作为训练集;训练步骤:以训练集中文各本单元的群体词分布向量为输入、目标词分布向量为输出,训练分类器模型;以及预测步骤:针对测试集中每一个文本单元,根据该文本单元的群体词分布向量和目标词分布向量,利用训练后的分类器模型预测在所述群体词分布向量所表征的第一分布状况出现的情况下所述目标词分布向量所表征的第二分布状况出现的第一概率。
139.更具体地,如图7a所示,图5所示的步骤-根据语料数据中各文本单元的群体词分布向量和目标词分布向量,确定语料数据中每一个文本单元的群体词分布向量所表征的第一分布状况出现的情况下该文本单元的目标词分布向量所表征的第二分布状况出现的第一概率,可以包括下述步骤:s710-分组步骤:将语料数据分成k个组,令计数器k=1,其中,语料数据被分成第1组至第k组,每个组包括至少一个文本单元,k为大于等于2的整数;s720-循环结束条件判断步骤:比较k和k,若k大于k,该方法结束,否则转到s730;s730-循环初始化步骤,将第k组语料数据作为当前组语料数据;s740-训练集和测试集确定步骤:根据分组后的语料数据,确定训练集和测试集,即将当前组语料数据中的各文本单元的群体词分布向量和目标词分布向量作为测试集,并将所述k组语料数据中除当前组语料数据之外的其他各组语料数据中各个文本单元的群体词分布向量和目标词分布向量作为训练集;s750-训练步骤:以训练集中文各本单元的群体词分布向量为输入、目标词分布向量为输出,训练分类器模型;以及s760-预测步骤:针对测试集所涉及的每一个文本单元,利用训练后的分类器模型预测第一概率,并且计数器k设置为k=k+1,转到步骤s720,其中第一概率表示在所述群体词分布向量所表征的第一分布状况出现的情况下所述目标词分布向量所表征的第二分布状况出现的概率,并且第一概率的预测是基于相应文本单元的群体词分布向量和目标词分布向量进行的。
140.如前文所述,在一些实施例中,为了应对群体词集合和/或目标词集合中群体词或目标词数量较多的情况,可以利用通过训练分类器模型来预测在z=z0时随机向量t的条件分布律,从而根据条件分布律得出第一概率,即p(t=t0|z=z0)。
141.首先,如步骤s710所示,将语料数据分割成k组以后续训练集和测试集的划分,从
而实现交叉预测以提高精确度且防止过拟合,其中k为超参数,可以预先根据具体情况而定,理论上越大越好(但随k增大,时间成本也会增加)。而且,在s710中,还需设定循环计数器k=1。
142.其次,在数据分组之后,针对每一个语料数据组循环执行后续步骤以分布预测该组语料数据中各文本单元所涉及的第一概率。如步骤s720所示,判断循环结束条件,即当k大于k,该循环结束;随后如步骤s730所示,将第k组语料数据初始化为当前组语料数据;步骤s740用于确定训练集和测试集,即将当前组语料数据中的各文本单元的群体词分布向量和目标词分布向量作为测试集,并将所述k组语料数据中除当前组语料数据之外的其他k-1组语料数据中各个文本单元的群体词分布向量和目标词分布向量作为训练集,以实现交叉预测。
143.下面,将以随机森林分类器模型为例,说明步骤s750和s760的详细过程。
144.在介绍步骤s750之前,需要了解随机分类器的原理。随机森林分类器模型是通过集成学习的思想将多棵树集成的一种算法,它的基本单元是决策树,而它的本质属于机器学习的一大分支—集成学习方法。随机森林的名称中有两个关键词,一个是“随机”用于避免过拟合,一个就是“森林”用于提高精度。
145.随机森林分类原理如下:算法流程:(1)训练总样本的个数为n,则单棵决策树从n个训练集中有放回的随机抽取n个作为此单颗树的训练样本;(2)令训练样例的输入特征的个数为m,m远远小于m,则我们在每颗决策树的每个节点上进行分裂时,从m个输入特征里随机选择m个输入特征,然后从这m个输入特征里根据一定规则选择一个最优的特征进行分裂。m在构建决策树的过程中不会改变(注意:决策树中分裂属性的两个选择度量:信息增益和基尼指数);(3)每棵树都一直这样分裂下去,直到该节点的所有训练样例都属于同一类,不需要剪枝。
146.结果判定:(1)目标特征为数字类型:取各个决策树的平均值作为分类结果;(2)目标特征为类别类型:少数服从多数,取单棵树分类结果最多的那个类别作为整个随机森林的分类结果。
147.根据随机森林分类器模型的算法原理,上述步骤s750的具体模型训练过程如下:首先,假设训练集中共涉及a个文本单元,从而包括a组群体词分布向量到目标词分布向量的映射,获得每个文本单元的z0和对应的目标词分布向量,其中,如上文所述,上述向量的每一维度均由0或1表示,且群体词分布向量的维度为群体词集合中群体词个数m,因此z0向量的特征个数为m。由此,对于总共a个样本获得a组群体词分布向量到目标词分布向量的映射。
148.然后,从所述a组映射中随机可放回地取出n组映射,组成映射子集用于训练一棵决策树。指定一个常数m《m,随机地从m个特征维度中选取m个特征。在训练过程中,每当该棵决策树进行分裂时,从这m个特征中按照一定规则学习最优的特征;该棵决策树尽最大程度生长,并且没有剪枝过程。
149.重复上一步骤,直到获得预定数量h棵决策树。调整参数n和m,直到超过预定比例的决策树能实现正确的分类,即获得了训练好的随机森林分类器。
150.在训练结束之后,如步骤s760所示,需要利用该文本单元的群体词分布向量和目标词分布向量,利用训练后的分类器模型预测在所述群体词分布向量所表征的第一分布状况出现的情况下所述目标词分布向量所表征的第二分布状况出现的第一概率,同时设置循环计时器k=k+1,转到s730以对各组数据循环执行步骤 s730-s760,直到满足循环结束条件,即k》k。预测步骤具体过程如下。
151.基于上述模型训练过程,训练后的随机森林分类器模型包括h棵决策树,每个决策树包含一个子分类器模型,其输入为文本单元中的群体词分布向量,而输出则为该群体词分布向量所属类别,即其映射到与哪一个目标词分布向量,这样得到h个分类结果。因此,假设一个文本单元的群体词分布向量和目标词分布向量分布为z0和t0(分别为随机向量z和t的一个具体取值),则可以z0作为输入,通过上述分类结果预测z=z0情况下随机向量t的条件分布律,从而根据条件分布律得到第一概率。
152.例如,假设h=1000,且决策树分类结果中共包括目标词分布向量(即随机向量t的具体取值)共100个(分别为t0、t0'、t0''、t0'''

);若输入z0之后,分类结果为:t0共10个,t0'共5个、t0''共2个、t0'''共30个

,则可以根据频次计数得到各个分类结果或目标分布向量在整个分类结果中的占比(即概率),这些占比可以被认为是在z=z0条件下随机向量t的条件分布律。表2示出了在z=z0的情况下随机向量t的条件分布律。根据表2所示的分布律,查表可知t0对应的条件概率为0.01,即p(t=t0|z=z0)=0.01。
153.表2-随机向量t在z=z0的情况下的条件分布律示例t的取值xt0t0't0''t0'''

p(t=x|z=z0)0.010.0050.0020.03

154.在一些实施例中,除了随机森林分类器模型,图7所示的步骤s750和s760所使用的分类器模型也可以是其他分类器模型,例如包括但不限于xgboost(extreme gradient boosting,极端梯度提升)模型、lightgbm(light gradient boosting machine)模型。xgboost是一个优化的分布式梯度增强库,旨在实现高效,灵活和便携。xgboost提供并行树提升(也称为gbdt,gbm),可以快速准确地解决许多数据科学问题。xgboost 可以处理回归、分类和排序等多种任务。lightgbm是基于决策树算法的快速、分布式、高性能梯度增强(gbdt,gbrt,gbm或mart)框架,用于排名、分类和许多其他机器学习任务。
155.在图7a所示的实施例中,通过使用诸如随机森林分类器之类的分类器模型分组交叉预测第一概率(即在所述群体词分布向量所表征的第一分布状况出现的情况下所述目标词分布向量所表征的第二分布状况出现的概率),可以提高第一概率预测的精确度且防止过拟合,从而提高文本单元权重计算的准确性,进而达到增强词向量准确性的目的。
156.图7b示意性示出图5所示的步骤s520的另外的示例过程。
157.如图7b所示,图5所示的步骤-根据语料数据中各文本单元的群体词分布向量和目标词分布向量,针对语料数据中每一个文本单元,确定该文本单元的群体词分布向量所表征的第一分布状况出现的情况下该文本单元的目标词分布向量所表征的第二分布状况出现的第一概率,可以包括:s701,根据语料数据中各文本单元的群体词分布向量,确定群体词集合中各群体
词在语料数据的文本单元中出现的概率;s702,根据群体词集合中各群体词在语料数据的文本单元中出现的概率,针对每一个文本单元,确定第三概率,其中对于语料数据中每一个文本单元,第三概率表示该文本单元的群体词分布向量所表征的第一分布状况出现的概率;s703,根据语料数据中各文本单元的群体词分布向量和目标词分布向量,针对每一个文本单元,确定第四概率,其中对于语料数据中每一个文本单元,第四概率表示该文本单元的群体词分布向量所表征的第一分布状况和目标词分布向量所表征的第二分布状况同时出现的概率;s704,根据第三概率和第四概率,针对每一个文本单元,确定第一概率,其中对于语料数据中每一个文本单元,第一概率表示该文本单元的群体词分布向量所表征的第一分布状况出现的情况下该文本单元的目标词分布向量所表征的第二分布状况出现的概率。
158.在一些实施例中,如上文所述,可以根据公式(3)p(t=t0|z=z0)=p(t=t0, z=z0)/p(z=z0)直接计算第一概率。因此,首先需要计算语料数据中每一个文本单元的群体词分布向量所表征的第一分布状况出现的第三概率p(z=z0),以及语料数据中每一个文本单元的群体词分布向量所表征的第一分布状况和目标词分布向量所表征的第二分布状况同时出现的第四概率p(t=t0, z=z0)。如步骤s703-s704所示,可以根据图5中步骤530所示的第二概率p(t=t0)的计算方法来计算第三概率p(z=z0)。换言之,可以利用随机向量z中各个元素(即作为其分量的随机变量z1,

,zn)之间的独立性来计算随机向量z的分布律。于是如步骤s730所示,首先根据语料数据中各文本单元的群体词分布向量,确定群体词集合中各群体词在语料数据的文本单元中出现的概率,即p(zi=1),(i=1,

,n),这样可以得知p(zi=0)=1-p(zi=1),(i=1,

,n),从而得到各随机变量z1,

,zn的分布律。这样,如步骤s740所示,根据群体词集合中各群体词在语料数据的文本单元中出现的概率,可得到第三概率:p(z=z0)=p(z1=z
01
)*p(z2=z
02
)*

*p(zn=z
0n
)ꢀꢀꢀꢀꢀꢀ(8)其中,z0=(z
01
,z
02
,

,z
0n
),z
0n
=1(相应群体词存在)或0(相应群体词不存在)。
159.随后,如步骤s703所述,根据语料数据中各文本单元的群体词分布向量和目标词分布向量,确定语料数据中每一个文本单元的群体词分布向量所表征的第一分布状况和目标词分布向量所表征的第二分布状况同时出现的第四概率。例如对于每一个文本单元而言,可以根据该文本单元的群体词分布向量z0和目标词分布向量t0直接通过计数统计群体词分布向量z0和目标词分布向量t0同时出现的文本单元的个数,然后将其除以文本单元总数得到第一分布状和第二分布状况同时出现的第四概率。
160.最后,如步骤s704所示,可以根据第三概率和第四概率,例如通过公式(3)计算第一概率。
161.在图7b所示的实施例中,通过简单地利用统计学方法和概率论基本知识和计算公式得到第一概率(即在所述群体词分布向量所表征的第一分布状况出现的情况下所述目标词分布向量所表征的第二分布状况出现的概率),可以在考虑整个语料数据目标词和群体词整体分布状况的情况下简化第一概率的预测,从而在保证文本单元权重计算的准确性同时增强了计算性能。
162.图8示意性示出图5所示的步骤s530的示例过程。
163.如图8所示,图5所示的步骤s530-根据语料数据中各文本单元目标词分布向量,针
对语料数据中每一个文本单元,确定该文本单元的目标词分布向量所表征的第二分布状况出现的第二概率包括:s810,根据语料数据中各文本单元的目标词分布向量,确定目标词集合中各目标词在语料数据的文本单元中出现的概率;s820,根据目标词集合中各目标词在语料数据的文本单元中出现的概率,针对每一个文本单元,确定第二概率,其中对于语料数据中每一个文本单元,第二概率表示该文本单元的目标词分布向量所表征的第二分布状况出现的概率。
164.如上文所述,可以利用随机向量t中各个元素,即作为其分量的随机变量之间的独立性来计算随机向量t的分布律。假设表征目标词集合在文本单元中的分布情况的随机向量t=(t1,t2,

,tm),若假定各个分量,即随机变量t1,

,tm之间相互独立,则对于某个文本单元中的具体目标词分布向量t0=(t
01
,t
02
,

,t
0m
),根据概率论知识可得其所代表的第二分布状况出现的第二概率:p(t=t0)=p(t1=t
01
)*p(t2=t
02
)*

*p(tm=t
0m
)ꢀꢀꢀꢀꢀꢀ(9)其中t
0i (i=1,

,m)表示相应的各个随机变量ti在该文本单元中的具体取值(0或1)。
165.在一些实施例中,与步骤s520类似,对于随机向量t中每个随机变量ti,可以采用频次计数的方法得出其所对应的目标词出现的文本单元的个数n
ti
,并计算出文本单元总数na,则利用概率论原理得到:p(ti=1)=n
ti
/naꢀꢀꢀꢀꢀꢀ(10)p(ti=0)=(n
a-n
ti
)/naꢀꢀꢀꢀꢀꢀ(11)例如,如表1所示那样,目标词集合中包括“优”、“差”、“强”、“弱”,假设某个文本单元中包含“差”,则其目标词分布向量t0=(0,1,0,0);另外假设t0中的各分量所对应的目标词的分布情况如表3所示,而文本单元总数为100,则t1的分布律为:p(t1=1)=3/100=0.03, p(t1=0)=(100-3)/100=0.97基于类似方式,如表3所示,可以得到t2、t3、t4的分布律。于是根据公式(4)和表3所示的各个分量(随机变量)的分布律可得:p(t=t0)=p(t1=0)*p(t2=1)*p(t3=0)*p(t4=1)=0.97*0.02*0.96*0.94=0.01750656。
166.表3-目标词在文本单元中的示例分布情况目标词(对应随机变量)优(t1)差(t2)强(t3)弱(t4)出现的文本单元个数3246p(ti=1)(i=1,

,4)0.030.020.040.06p(ti=0)(i=1,

,4)0.970.980.960.94
167.图9示意性示出了根据本公开一些实施例的词向量生成设备900的示例框图。词向量生成设备900可以包括语料获取模块910、权重确定模块920、样本确定模块930和词向量获得模块940。
168.语料获取模块910可以配置成获取包括至少两个文本单元的语料数据,每一个文本单元至少包含一个词语。权重确定模块920可以配置成根据群体词集合中各群体词和目标词集合中的各目标词在语料数据的文本单元中的分布,确定语料数据中每一个文本单元
的权重。样本确定模块930可以配置成根据语料数据和语料数据中每一个文本单元的权重,确定用于训练词向量模型的样本数据。词向量获得模块940可以配置成利用所述样本数据训练词向量模型,并从训练后的词向量模型中获得语料数据中至少一个文本单元的至少一个词语的词向量。
169.本公开提供的词向量生成设备聚焦于:通过基于群体词和目标词在语料数据的文本单元中的分布情况赋予各文本单元相应的权重,适应性调整文本单元中目标词与群体词之间由于群体认知偏差造成的过高或过低的关联程度,从而减弱或去除语料数据中存在群体认知偏差。进一步地,通过文本单元赋权操作,还可以纠正语料数据中由于比如地域差异、文化差异等造成的认知偏差,从而显著提高了词向量的准确性。在与自然语言处理有关的服务或任务中,这种无偏(即去认知偏差的)词向量能够更加客观、真实地反映人类社会和物质世界中自然语言的词语的本义及词语间的关系,从而在面对不同群体时可以更加公平地对待。进一步地,根据本公开实施例的词向量生成方法中的文本单元加权处理以及样本数据改进等操作都可以由计算设备自动完成,并不需要任何额外的人工操作(比如语料标注),因而,与相关技术中人工或手动标注方式去除群体认知偏差相比,根据本公开实施例的词向量生成设备简化了工作流程,显著提升了工作效率,降低了群体认知偏差消除的人工成本;另一方面,根据本公开实施例的词向量生成设备对文本单元加权处理以及样本数据改进等操作都是在词向量模型训练过程开始之前完成的,并不会对整个词向量模型的训练过程带来额外的性能损耗,而且这些操作所涉及的计算(例如简单的初等代数运算)并不复杂,因而计算开销较小,整体计算性能和数据处理效率较高。
170.应注意,上述各种模块可以以软件或硬件或两者的组合来实现。多个不同模块可以在同一软件或硬件结构中实现,或者一个模块可以由多个不同的软件或硬件结构实现。
171.图10示意性示出了根据本公开一些实施例的计算设备1000的示例框图。计算设备1000可以代表用以实现本文描述的各种装置或模块和/或执行本文描述的各种方法的设备。计算设备1000可以是例如服务器、台式计算机、膝上型计算机、平板、智能电话、智能手表、可穿戴设备或任何其它合适的计算设备或计算系统,其可以包括从具有大量存储和处理资源的全资源设备到具有有限存储和/或处理资源的低资源设备的各种级别的设备。在一些实施例中,上面关于图9描述的词向量生成设备900可以分别在一个或多个计算设备1000中实现。
172.如图10所示,示例计算设备1000包括彼此通信耦合的处理系统1001、一个或多个计算机可读介质1002以及一个或多个i/o接口1003。尽管未示出,但是计算设备1000还可以包括将各种组件彼此耦合的系统总线或其他数据和命令传送系统。系统总线可以包括不同总线结构的任何一个或组合,所述总线结构可以是诸如存储器总线或存储器控制器、外围总线、通用串行总线和/或利用各种总线架构中的任何一种的处理器或局部总线。或者,还可以包括诸如控制和数据线。
173.处理系统1001代表使用硬件执行一个或多个操作的功能。因此,处理系统1001被图示为包括可被配置为处理器、功能块等的硬件元件1004。这可以包括在硬件中实现作为专用集成电路或使用一个或多个半导体形成的其它逻辑器件。硬件元件1004不受其形成的材料或其中采用的处理机构的限制。例如,处理器可以由(多个)半导体和/或晶体管(例如,电子集成电路(ic))组成。在这样的上下文中,处理器可执行指令可以是电子可执行指令。
174.计算机可读介质1002被图示为包括存储器/存储装置1005。存储器/存储装置1005表示与一个或多个计算机可读介质相关联的存储器/存储装置。存储器/存储装置1005可以包括易失性介质(诸如随机存取存储器(ram))和/或非易失性介质(诸如只读存储器(rom)、闪存、光盘、磁盘等)。存储器/存储装置1005可以包括固定介质(例如,ram、rom、固定硬盘驱动器等)以及可移动介质(例如,闪存、可移动硬盘驱动器、光盘等)。示例性地,存储器/存储装置1005可以用于存储上文实施例中提及的第一类别用户的第一音频、请求的排队列表等。计算机可读介质1002可以以下面进一步描述的各种其他方式进行配置。
175.一个或多个i/o(输入/输出)接口1003代表允许用户向计算设备1000键入命令和信息并且还允许使用各种输入/输出设备将信息显示给用户和/或发送给其他组件或设备的功能。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风(例如,用于语音输入)、扫描仪、触摸功能(例如,被配置为检测物理触摸的容性或其他传感器)、相机(例如,可以采用可见或不可见的波长(诸如红外频率)将不涉及触摸的运动检测为手势)、网卡、接收机等等。输出设备的示例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、触觉响应设备、网卡、发射机等。示例性地,在上文描述的实施例中,第一类别用户以及第二类别用户可以通过其各自的终端设备上的输入接口来进行输入以发起请求以及录入音频和/或视频等,并且可以通过输出接口来查看各种通知以及观看视频或聆听音频等。
176.计算设备1000还包括词向量生成策略1006。词向量生成策略1006可以作为计算程序指令存储在存储器/存储装置1005中,也可以是硬件或固件。词向量生成策略1006可以连同处理系统1001等一起实现关于图9描述的词向量生成设备900的各个模块的全部功能。
177.本文可以在软件、硬件、元件或程序模块的一般上下文中描述各种技术。一般地,这些模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元素、组件、数据结构等。本文所使用的术语“模块”、“功能”等一般表示软件、固件、硬件或其组合。本文描述的技术的特征是与平台无关的,意味着这些技术可以在具有各种处理器的各种计算平台上实现。
178.所描述的模块和技术的实现可以存储在某种形式的计算机可读介质上或者跨某种形式的计算机可读介质传输。计算机可读介质可以包括可由计算设备1000访问的各种介质。作为示例而非限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。
179.与单纯的信号传输、载波或信号本身相反,“计算机可读存储介质”是指能够持久存储信息的介质和/或设备,和/或有形的存储装置。因此,计算机可读存储介质是指非信号承载介质。计算机可读存储介质包括诸如易失性和非易失性、可移动和不可移动介质和/或以适用于存储信息(诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其他数据)的方法或技术实现的存储设备之类的硬件。计算机可读存储介质的示例可以包括但不限于ram、rom、eeprom、闪存或其它存储器技术、cd-rom、数字通用盘(dvd)或其他光学存储装置、硬盘、盒式磁带、磁带,磁盘存储装置或其他磁存储设备,或其他存储设备、有形介质或适于存储期望信息并可以由计算机访问的制品。
[0180]“计算机可读信号介质”是指被配置为诸如经由网络将指令发送到计算设备1000的硬件的信号承载介质。信号介质典型地可以将计算机可读指令、数据结构、程序模块或其他数据体现在诸如载波、数据信号或其它传输机制的调制数据信号中。信号介质还包括任
何信息传递介质。作为示例而非限制,信号介质包括诸如有线网络或直接连线的有线介质以及诸如声、rf、红外和其它无线介质的无线介质。
[0181]
如前所述,硬件元件1004和计算机可读介质1002代表以硬件形式实现的指令、模块、可编程器件逻辑和/或固定器件逻辑,其在一些实施例中可以用于实现本文描述的技术的至少一些方面。硬件元件可以包括集成电路或片上系统、专用集成电路(asic)、现场可编程门阵列(fpga)、复杂可编程逻辑器件(cpld)以及硅中的其它实现或其他硬件设备的组件。在这种上下文中,硬件元件可以作为执行由硬件元件所体现的指令、模块和/或逻辑所定义的程序任务的处理设备,以及用于存储用于执行的指令的硬件设备,例如,先前描述的计算机可读存储介质。
[0182]
前述的组合也可以用于实现本文所述的各种技术和模块。因此,可以将软件、硬件或程序模块和其它程序模块实现为在某种形式的计算机可读存储介质上和/或由一个或多个硬件元件1004体现的一个或多个指令和/或逻辑。计算设备1000可以被配置为实现与软件和/或硬件模块相对应的特定指令和/或功能。因此,例如通过使用处理系统的计算机可读存储介质和/或硬件元件1004,可以至少部分地以硬件来实现将模块实现为可由计算设备1000作为软件执行的模块。指令和/或功能可以由例如一个或多个计算设备1000和/或处理系统1001执行/可操作以实现本文所述的技术、模块和示例。
[0183]
本文描述的技术可以由计算设备1000的这些各种配置来支持,并且不限于本文所描述的技术的具体示例。
[0184]
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机程序。例如,本公开的实施例提供一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行本公开的方法实施例中的至少一个步骤的程序代码。
[0185]
在本公开的一些实施例中,提供了一种或多种计算机可读存储介质,其上存储有计算机可读指令,该计算机可读指令在被执行时实现根据本公开一些实施例的词向量生成方法。根据本公开一些实施例所述的词向量生成方法的各个步骤可以通过程序设计被转化为计算机可读指令,从而存储在计算机可读存储介质中。当这样的计算机可读存储介质被计算设备或计算机读取或访问时,其中的计算机可读指令被计算设备或计算机上的处理器执行以实现根据本公开一些实施例所述的词向量生成方法。
[0186]
在本说明书的描述中,术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点被包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0187]
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序(包括根据所涉及的功能按基本同时的方式或按相反的顺序)来执行功能,这应被本公开
的实施例所属技术领域的技术人员所理解。
[0188]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设 备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
[0189]
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,则可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路、具有合适的组合逻辑门电路的专用集成电路、可编程门阵列(programmable gate array)、现场可编程门阵列(field programmable gate array)等。
[0190]
本技术领域的普通技术人员可以理解上述实施例方法的全部或部分步骤可以通过程序指令相关的硬件完成,所述程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括执行方法实施例的步骤之一或其组合。
[0191]
此外,在本公开各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1