命名实体识别方法及装置的制造方法

xiaoxiao2020-10-23  18

命名实体识别方法及装置的制造方法
【技术领域】
[0001] 本发明涉及自然语言处理技术领域,尤其涉及一种命名实体识别方法及装置。
【背景技术】
[0002] 随着互联网技术的快速发展,信息服务变得越来越普及。其中,命名实体的识别是 信息提取、问答系统、句法分析、机器翻译、面向互联网的元数据标注等信息服务应用领域 的重要基础工作。命名实体(简称实体),指的是人名、机构名、地名以及其他所有以名称为 标识的实体,更广泛的命名实体还包括数字、日期、货币、地址等。
[0003] 现有技术中已经有了采用神经网络技术训练命名实体识别的技术。现有的方法至 少具有如下几个缺点:(1)主要依靠词本身作为输入特征,模型特征单一,并未直接引入实 体标记之间的前后依赖关系,导致识别的准确率不高,特别是在识别电商领域的命名实体 时经常识别不准;(2)由于网络的初始值是随机生成的,最终的参数优化结果很可能不够 好,训练时间较长导致开发效率低下;(3)未充分考虑训练数据的分布情况导致模型对实 体的拟合程度不均匀。
[0004] 电商领域的命名实体,比如商品名(诺基亚1020、ThinkPadE431 14英寸笔记本 电脑)、价格、商品属性等,这些命名实体通常由句子中一个或多个连续的词组成,词性通常 为"名词+数词"等形式。总之,电商领域的命名实体具有鲜明的特点,目前亟需针对电商 领域的命名实体开发出识别方法或识别装置。

【发明内容】

[0005] 有鉴于此,本发明提供一种命名实体识别方法及装置,能够准确地识别出命名实 体,特别是电商领域的命名实体。
[0006] 为实现上述目的,根据本发明的一个方面,提供了一种命名实体识别方法,包括: 获取向量库,所述向量库包括多个词分别对应的词向量,多类词性分别对应的词性向量,以 及多类实体标记分别对应的实体标记向量;将训练语料文本串分词得到顺序化的多个样本 词;按顺序地对于每个样本词查询所述向量库以构建第一特征向量,所述第一特征向量包 含样本词对应的词向量、样本词对应的词性向量以及样本词前一词对应的实体标记向量; 将所有样本词对应的所述第一特征向量整体作为神经网络的训练输入量,利用神经网络BP 算法进行网络参数求解,得到神经网络命名实体识别模型;将待预测文本串分词得到顺序 化的多个待测词;按顺序地对于每个待测词查询所述向量库以构建第二特征向量,所述第 二特征向量包含待测词对应的词向量、待测词对应的词性向量以及待测词前一词对应的实 体标记向量;将所述各个待测词对应的所述第二特征向量分别输入所述神经网络命名实体 识别模型,输出所述待测词的实体标记。
[0007] 可选地,所述第一特征向量中还包含:所述样本词邻近词对应的词向量以及所述 样本词邻近词对应的词性向量,以及,所述第二特征向量中还包含:所述待测词邻近词对应 的词向量以及所述待测词邻近词对应的词性向量。
[0008] 可选地,对于顺序化的多个样本词中的首个样本词构建所述第一特征向量时,所 述首个样本词的前一词为预定字符串,以及,对于顺序化的多个待测词中的首个待测词构 建所述第二特征向量时,所述首个待测词的前一词为预定字符串。
[0009] 可选地,所述神经网络的训练输入量中还包括负例样本。
[0010] 为实现上述目的,根据本发明的另一方面,提供了一种命名实体识别装置,包括: 向量库获取模块,用于获取向量库,所述向量库包括多个词分别对应的词向量,多类词性分 别对应的词性向量,以及多类实体标记分别对应的实体标记向量;第一分词模块,用于将训 练语料文本串分词得到顺序化的多个样本词;第一构建模块,用于按顺序地对于每个样本 词查询所述向量库以构建第一特征向量,所述第一特征向量包含样本词对应的词向量、样 本词对应的词性向量以及样本词前一词对应的实体标记向量;训练模块,用于将所有样本 词对应的所述第一特征向量整体作为神经网络的训练输入量,利用神经网络BP算法进行 网络参数求解,得到神经网络命名实体识别模型;第二分词模块,用于将待预测文本串分词 得到顺序化的多个待测词;第二构建模块,用于按顺序地对于每个待测词查询所述向量库 以构建第二特征向量,所述第二特征向量包含待测词对应的词向量、待测词对应的词性向 量以及待测词前一词对应的实体标记向量;预测模块,用于将所述各个待测词对应的所述 第二特征向量分别输入所述神经网络命名实体识别模型,输出所述待测词的实体标记。
[0011] 可选地,所述第一特征向量中还包含:所述样本词邻近词对应的词向量以及所述 样本词邻近词对应的词性向量,以及,所述第二特征向量中还包含:所述待测词邻近词对应 的词向量以及所述待测词邻近词对应的词性向量。
[0012] 可选地,所述第一构建模块还用于:对于顺序化的多个样本词中的首个样本词构 建所述第一特征向量时,使用预定字符串作为所述首个样本词的前一词,以及,所述第二构 建模块还用于:对于顺序化的多个待测词中的首个待测词构建所述第二特征向量时,使用 预定字符串作为所述首个待测词的前一词。
[0013] 可选地,所述训练模块中,所述神经网络的训练输入量中还包括负例样本。
[0014] 根据本发明的技术方案,采用了更加合理的特征向量来训练模型以及利用模型进 行预测,该特征向量不仅包含当前词词本身的特征,还包含当前词词性特征、当前词前一词 的实体标记特征,与现有的仅仅考虑词本身的识别技术相比,考虑的信息更加全面,导致最 终得到的识别结果更为准确,特别是对电商领域实体识别时准确率较高。
【附图说明】
[0015] 附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
[0016] 图1是根据本发明实施例的命名实体识别方法的主要步骤的流程图;
[0017] 图2是根据本发明实施例的命名实体识别装置的主要部件的示意图。
【具体实施方式】
[0018] 以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种 细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识 到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同 样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0019] 为使本领域技术人员更好地理解,先对相关术语做简要介绍。
[0020] 词:词的文字本身。
[0021] 词向量:词的向量化表示,每个词用一个多维的向量来表示。
[0022] 词性:词的性质。通常将词分为两类12种词性。一类是实词:名词、动词、形容词、 数词、副词、拟声词、量词和代词。一类是虚词:介词、连词、助词和叹词。
[0023] 词性向量:词性的向量化表示,每种词性用一个多维向量来表示,优选采用离散形 式的多维向量来表示。
[0024] 实体标记:每个实体标记代表一种实体类型,比如WID表示商品ID、WB表示商品名 的第一个词,WI表示商品名的中间词,WE表示商品名的结束词,0表示其他词等。比如:小 米(WB)2s(WI)红色(WI)手机(WE)怎么样(0)。
[0025] 实体标记向量:实体标记的向量化表示,每种实体标记用一个多维向量来表示,优 选采用离散形式的多维向量来表示。
[0026] 需要说明的是,词向量、词性向量以及实体标记向量这三个向量的维数并不需要 保持一致,可以根据需要灵活设置。
[0027] 图1是根据本发明实施例的命名实体识别方法的主要步骤的流程图。如图1所示, 该命名实体识别方法可以包括步骤A至步骤G。
[0028] 步骤A:获取向量库。该向量库包括多个词分别对应的词向量,多类词性分别对应 的词性向量,以及多类实体标记分别对应的实体标记向量。
[0029] 在本发明一个实施例中,对于给定的语料,可以利用word2dec确定语料中的每一 个词对应的词向量。word2vec是Google在2013年开源的一款将词表征为实数值向量的工 具,能够把词映射到K维向量空间,甚至词与词之间的向量操作还能和语义相对应。因此利 用word2vec预先计算词向量,可以节省时间、提高效率,并且能够提高准确率。词性向量和 实体标记向量可以采用随机初始化的方法,得到随机向量。将上述过程得到的词 向量、词性 向量和实体标记向量存储到向量库中备用。
[0030] 步骤B:将训练语料文本串分词得到顺序化的多个样本词。
[0031] 在本发明的实施方式中,可以从电商网站的数据中抽取训练语料文本串然后进行 分词,得到多个顺序化的样本词,如表1所示:
[0032] 表1训练语料文本串与样本词
[0034]步骤C:按顺序地对于每个样本词查询向量库以构建第一特征向量。第一特征向 量包含样本词对应的词向量、样本词对应的词性向量以及样本词前一词对应的实体标记向 量。第一特征向量包含了样本词的词本身的信息和词性信息之外,还包括样本词前一词的 实体标记信息。本发明的方法以第一特征向量为基础来训练模型,与仅仅依靠词本身的信 息来训练模型的现有技术相比,考虑的信息更加全面,导致最终得到的识别结果更为准确。
[0035] 需要说明的是"第一特征向量包含样本词对应的词向量、样本词对应的词性向量 以及样本词前一词对应的实体标记向量"的含义是指第一特征向量由后面三个向量拼接而 成,例如:第一特征向量=[样本词对应的词向量,样本词对应的词性向量,样本词前一词 对应的实体标记向量]。本发明不对向量拼接时拼接顺序进行限定,不同的拼接顺序并不影 响本发明的原理。但是整个方法中的拼接顺序一旦确定,不再更改,以保证所有的第一特征 向量格式一致。
[0036] 步骤C的具体过程举例如下:假设之前得到了顺序化的多个样本词"样本词1+样 本词2+样本词3+样本词4......",则需要按顺序地对样本词1,样本词2,样本词3,样本 词4等等分别构建第一特征向量。设定取词窗口宽度为0。其中,对样本词1(即首个样本 词)构建第一特征向量时,由于样本词1前面原本不存在词,所以需要人为地增添预定字符 串"$BEGIN"作为样本词1的前一词。该预定字符串"$BEGIN"的实体标记向量已经预先 存在了向量库中,通常为随机初始化向量。这时,对于样本词1来说,假设从向量库中查询 到样本词1的词向量记为XI,样本词1的词性向量记为Z1,"$BEGIN"的实体标记向量记为 T0,则样本词1的第一综合向量=[XI,Zl,T0]。然后,对于样本词2来说,假设从向量库中 查询到样本词2的词向量记为X2,样本词2的词性向量即为Z2,样本词2的前一词(即样 本词1)的实体标记向量记为T1,贝1」样本词2的第一综合向量=[X2,Z2,T1]。以此类推,可 以得到所有样本词对应的第一特征向量。
[0037] 在本发明的实施方式中,第一特征向量中还可以包含:样本词邻近词对应的词向 量以及样本词邻近词对应的词性向量。此处"还包含"的意思是指"还由后面的向量拼接而 成"。"样本词邻近词"是指位于当前样本词之前或者位于当前样本词之后的、距离不大于取 词窗口宽度的样本词。举例如下:假设取词窗口宽度为1,则样本词邻近词是指当前样本词 前1个词和当前样本词后1个词。当前样本词的第一特征向量可以记为[当前样本词前一 词对应的词向量,当前样本词对应的词向量,当前样本词后一词对应的词向量,当前样本词 前一词对应的词性向量,当前样本词对应的词性向量,当前样本词后一词对应的词性向量, 当前样本词前一词对应的实体标记向量]。其他数值取词窗口宽度的情形可以类推,本文 不再赘述。需要说明的是,本发明不对取词窗口宽度的数值进行限定,可以根据需要灵活 设置,但是一旦确定,不再更改,以保证所有的第一特征向量格式一致。还需要说明的是,当 取词窗口宽度增加时,可以对首个样本词之前增添的预设字符串来充当位于首个样本词之 前的邻近词,还可以对末尾样本词之后增添预设字符串来充当位于末尾样本词之后的邻近 词,本领域技术人员可以通过上文内容推导出具体做法,本文不再赘述。该实施方式中,第 一特征向量进一步考虑到了样本词邻近词的词信息和词性信息,考虑的信息更加全面,导 致最终得到的识别结果更为准确。
[0038] 步骤D:将所有样本词对应的第一特征向量整体作为神经网络的训练输入量,利 用神经网络BP算法进行网络参数求解,得到神经网络命名实体识别模型。具体地,可以采 用平方误差构建模型整体的目标函数,利用随机梯度方法求解神经网络的参数,得到最终 的神经网络命名实体识别模型。
[0039] 在本发明的实施方式中,神经网络的训练输入量中还可以包括负例样本。由于实 际的训练语料文本串中的实体标记通常是分布不均的,这会导致模型对一部分命名实体拟 合较差。针对于此,可以在训练模型的过程中,根据这些实体标记的分布情况,按比例随机 进行数据负例采样,保证其分布尽可能地均匀,从而保证模型对所有命名实体标记的拟合 比较准确。
[0040] 步骤E:将待预测文本串分词得到顺序化的多个待测词。
[0041] 在本发明的实施方式中,可以从用户输入语句中获取待预测文本串然后进行分 词,得到多个顺序化的待测词。
[0042] 步骤F:按顺序地对于每个待测词查询向量库以构建第二特征向量,第二特征向 量包含待测词对应的词向量、待测词对应的词性向量以及待测词前一词对应的实体标记向 量。
[0043] 需要说明的是,对于顺序化的多个待测词中的首个待测词构建第二特征向量时, 可以在首个待测词之前增添预定字符串" $BEGIN"作为首个待测词的前一词。此处的操作 与上文中在首个样本词前增添预定字符串的操作类似。
[0044] 还需要说明的是,待测词对应的第二特征向量应当与样本词对应的第一特征向量 的格式一致。这意味着第二特征向量中包含分向量种类以及分向量拼接顺序需要与第一特 征向量一致。例如:当第一特征向量中还包含样本词邻近词对应的词向量以及样本词邻近 词对应的词性向量时,相应地,第二特征向量中还包含待测词邻近词对应的词向量以及待 测词邻近词对应的词性向量。
[0045] 步骤G:分别将待测词对应的第二特征向量输入神经网络命名实体识别模型,输 出待测词的实体标记。
[0046] 为使本领域技术人员更好地理解,列举一个命名实体识别方法的具体实施例如 下。
[0047] (1)利用word2vec工具得到向量库。
[0048] (2)假设某一个训练语料文本串为"iphone价格",可以经过分词得到两个样本词 "iphone"和"价格"。"iphone"的词性为名词n,实体标记为商品实体标记W。"价格"的词 性为名词n,实体标记为其他实体标记0。
[0049] (3)首先构建"iphone"对应的第一特征向量。由于"iphone"是首个样本词,故需 要在前面添加"$BEGIN"(其词向量、词性向量、实体标记向量都是随机初始化的)。假设本 实施例中的取词窗口宽度为1。查询词向量库,取出当前样本词前一词"$BEGIN"、当前样本 词"iphone"、当前样本词后一词"价格"这三个词对应的词向量表示为Xi-1,Xi,Xi+1,以及 这三个词对应的词性向量表示为Zi-1,Zi,Zi+1,再加上"$BEGIN"的实体标签表示为Ti-1。 将这七个向量按顺序拼接起来,形成"iphone"对应的第一特征向量=[乂卜1,乂1,乂1+1,21-1,Zi,Zi+1,Ti-1] 〇
[0050] (4)将第一特征向量作为输入量输入神经网络的输入层,得到输出h(X)。本实施 例中将实体标记W/0转换成1/0的离散表示。由于已知"iphone"的实体标记为"W"这里 的期望输出为1。利用梯度下降算法进行参数优化,使得误差最小。将所有的训练语料文本 串经过以上训练过程,即可得到最终的神经网络命名实体识别模型。(5)假设某一个待预测 文本串"Nokia白色",分词结果为两个待测词"Nokia"和"白色",并且已知"Nokia"和"白 色"的词性均为名词n。
[0051] (6)构建"Nokia"对应的第二特征向量的过程如下:在"Nokia"之前添加 "$BEGIN"。查询词向量库,获取"$BEGIN" "Nokia" "白色"对应的词向量,然后获取 "$BEGIN" "Nokia" "白色"对应的词性向量,以及获取"$BEGIN"的实体标记向量。将这七 个向量按顺序拼接起来,即得到"Nokia"对应的第二特征向量。
[0052] (7)将"Nokia"对应的第二特征向量输入步骤⑷得到的神经网络命名实体识 别模型,以预测"Nokia"的实体标记。如果模型输出h(X) =0. 8,数值大于中值0.5,则将 "Nokia"标记为W(商品实体)。如过模型输出h(X) = 0. 2,数值小于中值0. 5,则将"Nokia" 标记为0 (其他实体)。
[0053] 图2是根据本发明实施例的命名实体识别方法的主要部件的示意图。如图2所 示,该命名实体识别装置20可以包括:向量库获取模块21、第一分词模块22、第一构建模块 23、训练模块24、第二分词模块25、第二构建模块26以及预测模块27。
[0054] 向量库获取模块21用于获取向量库,向量库包括多个词分别对应的词向量,多 类词性分别对应的词性向量,以及多类实体标记分别对应的实体标记向量。可选地,利用 word2dec确定多个词对应的词向量。利用word2dec进行预先计算,节省了训练时间。
[0055] 第一分词模块22用于将训练语料文本串分词得到顺序化的多个样本词。
[0056] 第一构建模块23用于按顺序地对于每个样本词查询向量库以构建第一特征向 量,第一特征向量包含样本词对应的词向量、样本词对应的词性向量以及样本词前一词对 应的实体标记向量。
[0057]训练模块24用于将所有样本词对应的第一特征向量整体作为神经网络的训练输 入量,利用神经网络BP算法进行网络参数求解,得到神经网络命名实体识别模型。
[0058] 第二分词模块25用于将待预测文本串分词得到顺序化的多个待测词。
[0059] 第二构建模块26用于按顺序地对于每个待测词查询向量库以构建第二特征向 量,第二特征向量包含待测词对应的词向量、待测词对应的词性向量以及待测词前一词对 应的实体标记向量。
[0060] 预测模块27用于将各个待测词对应的第二特征向量分别输入神经网络命名实体 识别模型,输出待测词的实体标记。
[0061] 在本发明的实施方式中,第一特征向量中还可以包含:样本词邻近词对应的词向 量以及样本词邻近词对应的词性向量,以及,第二特征向量中还可以包含:待测词邻近词对 应的词向量以及待测词邻近词对应的词性向量。该实施方式中,第一特征向量和第二特征 向量进一步考虑到了邻近词的词信息和词性信息,考虑的信息更加全面,导致最终得到的 识别结果更为准确。
[0062] 在本发明的实施方式中,第一构建模块23还可以用于:对于顺序化的多个样本词 中的首个样本词构建第一特征向量时,首个样本词的前一词为预定字符串,以及,第二构建 模块26还可以用于:对于顺序化的多个待测词中的首个待测词构建第二特征向量时,首个 待测词的前一词为预定字符串。这样就解决了首个样本词或首个待测词前面原本缺乏词的 问题。
[0063] 在本发明的实施方式中,训练模块27中,神经网络的训练输入量中还包括负例样 本。引入负例样本可以保证样本分布尽可能地均匀,从而保证模型对所有命名实体标记的 拟合比较准确。
[0064] 综上所述,本发明的命名实体识别方法及装置采用了更加合理的特征向量来训练 模型以及利用模型进行预测,该特征向量不仅包含当前词词本身的特征,还包含当前词词 性特征、当前词前一词的实体标记特征,与现有的仅仅考虑词本身的识别技术相比,考虑的 信息更加全面,导致最终得到的识别结果更为准确,特别是对电商领域实体识别时准确率 较高。
[0065] 上述【具体实施方式】,并不构成对本发明保护范围的限制。本领域技术人员应该明 白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何 在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围 之内。
【主权项】
1. 一种命名实体识别方法,其特征在于,包括: 获取向量库,所述向量库包括多个词分别对应的词向量,多类词性分别对应的词性向 量,以及多类实体标记分别对应的实体标记向量; 将训练语料文本串分词得到顺序化的多个样本词; 按顺序地对于每个样本词查询所述向量库以构建第一特征向量,所述第一特征向量包 含样本词对应的词向量、样本词对应的词性向量以及样本词前一词对应的实体标记向量; 将所有样本词对应的所述第一特征向量整体作为神经网络的训练输入量,利用神经网 络BP算法进行网络参数求解,得到神经网络命名实体识别模型; 将待预测文本串分词得到顺序化的多个待测词; 按顺序地对于每个待测词查询所述向量库以构建第二特征向量,所述第二特征向量包 含待测词对应的词向量、待测词对应的词性向量以及待测词前一词对应的实体标记向量; 将所述各个待测词对应的所述第二特征向量分别输入所述神经网络命名实体识别模 型,输出所述待测词的实体标记。2. 根据权利要求1所述的方法,其特征在于, 所述第一特征向量中还包含:所述样本词邻近词对应的词向量以及所述样本词邻近词 对应的词性向量,以及, 所述第二特征向量中还包含:所述待测词邻近词对应的词向量以及所述待测词邻近词 对应的词性向量。3. 根据权利要求1所述的方法,其特征在于, 对于顺序化的多个样本词中的首个样本词构建所述第一特征向量时,所述首个样本词 的前一词为预定字符串,以及, 对于顺序化的多个待测词中的首个待测词构建所述第二特征向量时,所述首个待测词 的前一词为预定字符串。4. 根据权利要求1所述的方法,其特征在于,所述神经网络的训练输入量中还包括负 例样本。5. -种命名实体识别装置,其特征在于,包括: 向量库获取模块,用于获取向量库,所述向量库包括多个词分别对应的词向量,多类词 性分别对应的词性向量,以及多类实体标记分别对应的实体标记向量; 第一分词模块,用于将训练语料文本串分词得到顺序化的多个样本词; 第一构建模块,用于按顺序地对于每个样本词查询所述向量库以构建第一特征向量, 所述第一特征向量包含样本词对应的词向量、样本词对应的词性向量以及样本词前一词对 应的实体标记向量; 训练模块,用于将所有样本词对应的所述第一特征向量整体作为神经网络的训练输入 量,利用神经网络BP算法进行网络参数求解,得到神经网络命名实体识别模型; 第二分词模块,用于将待预测文本串分词得到顺序化的多个待测词; 第二构建模块,用于按顺序地对于每个待测词查询所述向量库以构建第二特征向量, 所述第二特征向量包含待测词对应的词向量、待测词对应的词性向量以及待测词前一词对 应的实体标记向量; 预测模块,用于将所述各个待测词对应的所述第二特征向量分别输入所述神经网络命 名实体识别模型,输出所述待测词的实体标记。6. 根据权利要求5所述的装置,其特征在于, 所述第一特征向量中还包含:所述样本词邻近词对应的词向量以及所述样本词邻近词 对应的词性向量,以及, 所述第二特征向量中还包含:所述待测词邻近词对应的词向量以及所述待测词邻近词 对应的词性向量。7. 根据权利要求5所述的装置,其特征在于, 所述第一构建模块还用于:对于顺序化的多个样本词中的首个样本词构建所述第一特 征向量时,使用预定字符串作为所述首个样本词的前一词,以及, 所述第二构建模块还用于:对于顺序化的多个待测词中的首个待测词构建所述第二特 征向量时,使用预定字符串作为所述首个待测词的前一词。8. 根据权利要求5所述的装置,其特征在于,所述训练模块中,所述神经网络的训练输 入量中还包括负例样本。
【专利摘要】本发明提供一种命名实体的识别方法以及装置,能够准确地识别出命名实体,特别是电商领域的命名实体。其中,该方法包括:获取向量库;将训练语料文本串分词得到多个样本词;按顺序地对于每个样本词查询向量库以构建第一特征向量,第一特征向量包含样本词对应的词向量和词性向量以及样本词前一词对应的实体标记向量;将所有第一特征向量整体作为输入量,训练神经网络命名实体识别模型;将待预测文本串分词得到多个待测词;按顺序地对于每个待测词查询向量库以构建第二特征向量,第二特征向量包含待测词对应的词向量和词性向量以及待测词前一词对应的实体标记向量;将各个待测词对应的第二特征向量分别输入模型,输出待测词的实体标记。
【IPC分类】G06F17/30, G06N3/08, G06F17/27
【公开号】CN104899304
【申请号】CN201510321448
【发明人】姜文
【申请人】北京京东尚科信息技术有限公司, 北京京东世纪贸易有限公司
【公开日】2015年9月9日
【申请日】2015年6月12日

最新回复(0)