![命名实体识别方法及系统与流程](http://img.xjishu.com/img/zl/2018/10/30/1520442379305.gif)
本申请涉及命名实体识别领域,具体而言,涉及一种基于词向量和条件随机场的命名实体识别方法及系统。
背景技术:
:命名实体识别(namedentityrecognition,简称ner),又称作“专名识别”,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等;相关技术中往往采用将常见的命名实体识别任务被转化为序列标注任务,具体的,在序列标注任务中,最经典的方法为使用线性链条件随机场。发明人发现,相关技术中基于条件随机场的命名实体识别方法的一大缺点是容易过拟合,尤其是在训练集数据较少时,这里的过拟合主要是指模型在训练集上效果很好,但真实预测时效果比较差的情况,通常缓解过拟合的最好方法是增大训练数据,但是数据的获取往往并没有那么容易,所以仅有少量训练数据的情况还是很常见的,因此过拟合带来的问题一直影响着系统的效果。针对相关技术中过拟合带来的识别效果较差的问题,目前尚未提出有效的解决方案。技术实现要素:本申请的主要目的在于提供一种命名实体的识别方法,以解决相关技术中过拟合带来的识别效果较差的问题。为了实现上述目的,根据本申请的一个方面,提供了一种命名实体的识别方法。根据本申请的命名实体的识别方法包括:输入待识别文本,得到第一字符序列,其中,所述第一字符序列为将所述目标文字进行拆分后得到的每个字符所组成的序列;通过训练词向量,得到所述目标文字的第一特征模型,其中,所述第一特征模型用于生成所述每个字符对应的特征数值;将所述第一字符序列中的每个字符按照所述第一特征模型进行标签标注,得到第一标签序列;根据所述第一标签序列,提取可识别的所述命名实体。进一步的,所述通过训练词向量,得到所述目标文字的第一特征模型包括:通过预设训练数据和预设特征模板进行模型训练,得到第二特征模型;根据经过训练后的词向量对所述第二特征模型进行特征函数扩展,得到所述第一特征模型。进一步的,所述通过训练词向量,得到所述目标文字的第一特征模型还包括:对所述预设训练数据进行数据格式预处理;将处理后的训练数据转化为字符序列格式和标签序列格式,并用于模型训练。进一步的,所述将所述第一字符序列中的每个字符按照所述第一特征模型进行标签标注,得到第一标签序列包括:根据所述第一特征模型和每个所述标签,生成对应的第一特征函数和第一特征函数权重,其中,所述第一特征函数权重用于作为所述第一特征函数对应每个所述标签的权重。进一步的,所述将所述第一字符序列中的每个字符按照所述第一特征模型进行标签标注,得到第一标签序列还包括:根据所述第一特征模型,得到第一标签转移概率,其中,所述第一标签转移概率为所述标签在与所述第一字符序列建立对应关系时,当前标签转移到下一个标签的概率;对每个所述第一字符序列对应的所述第一特征函数权重进行累加计算,结合所述第一标签转移概率,得到所述第一标签序列。进一步的,所述通过训练词向量,得到所述目标文字的第一特征模型还包括:将所述第一字符序列中的每个字符转化为低维实数向量;通过添加通用语料对所述低维实数向量进行词向量训练,得到经过语义相似度扩展的词向量。为了实现上述目的,根据本申请的另一方面,提供了一种命名实体的识别装置。根据本申请的命名实体的识别装置包括:字符获取单元,用于输入待识别文本,得到第一字符序列;词向量训练单元,用于通过训练词向量,得到所述目标文字的第一特征模型;序列转换单元,用于将所述第一字符序列中的每个字符按照所述第一特征模型进行标签标注,得到第一标签序列;识别单元,用于根提据所述第一标签序列,提取可识别的所述命名实体。进一步的,词向量训练单元包括:模型离线训练模块,用于通过预设训练数据和预设特征模板进行模型训练,得到第二特征模型;词向量扩展模块,用于根据经过训练后的词向量对所述第二特征模型进行特征函数扩展,得到所述第一特征模型。进一步的,词向量训练单元还包括:预处理模块,用于对所述预设训练数据进行数据格式预处理;数据格式处理模块,用于将处理后的训练数据转化为字符序列格式和标签序列格式,并用于模型训练。进一步的,所述序列转换单元包括:特征获取模块,用于根据所述第一特征模型和每个所述标签,生成对应的第一特征函数和第一特征函数权重;概率获取模块,用于根据所述第一特征模型,得到第一标签转移概率;标签序列获取模块,用于对每个所述第一字符序列对应的所述第一特征函数权重进行累加计算,结合所述第一标签转移概率,得到所述第一标签序列。在本申请实施例中,采用通过训练词向量,得到所述目标文字的第一特征模型的方式,通过词向量对第一特征模型进行特征函数扩展,达到了提升系统泛化能力的目的,从而实现了提高识别效果的技术效果,进而解决了相关技术中过拟合带来的识别效果较差的问题。附图说明构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1是根据本发明第一实施例的识别方法示意图;图2是根据本发明第二实施例的识别方法示意图;图3是根据本发明第三实施例的识别方法示意图;图4是根据本发明第四实施例的识别方法示意图;图5是根据本发明第五实施例的识别方法示意图;图6是根据本发明第一实施例的识别装置示意图;图7是根据本发明第二实施例的识别装置示意图;以及图8是根据本发明第四实施例的识别装置示意图。具体实施方式为了使本
技术领域:
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。在本申请中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本发明及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本发明中的具体含义。此外,术语“安装”、“设置”、“设有”、“连接”、“相连”、“套接”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个装置、元件或组成部分之间内部的连通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。如图1所示,该方法包括如下的步骤s101至步骤s104:步骤s101,输入待识别文本,得到第一字符序列;优选的,所述第一字符序列为将所述目标文字进行拆分后得到的每个字符所组成的序列,具体的,比如待识别文本为“我要去天安门”,经过拆分后的所述第一字符序列为[“我”,“要”,“去”,“天”,“安”,“门”]。步骤s102,通过训练词向量,得到所述目标文字的第一特征模型;优选的,所述第一特征模型用于生成所述每个字符对应的特征数值;具体的,词向量训练方法是hinton在1986年提出的,将单词用一个低维实数向量表示,例如[0.179,-0.157,-0.117,0.909,-0.532,…]这种形式,也就是词向量,而且,在词向量空间中,向量夹角小的两个点,它们所代表的单词在语义上相似或者相关。较好的训练算法得到的词向量,能够较好地反应出词语之间语义上的相似度。词和词的相似性用余弦距离来计算。优选的,我们使用gensim工具训练词向量。使用的语料是通用语料。向量维度为100维。优选的,条件随机场模型的训练过程即模型的参数评估过程,我们可以借助crfpp工具来帮我们训练。首先定义特征模板(系统会根据特征模板针对训练数据生成特征函数),然后声明好一些模型参数、设置模板及训练数据,使用crf_learn命令开始训练。训练好之后,我们获得所有的特征函数[特征函数指什么],以及它们针对某个标签的权重。特征模板[-3]/[-2]/[-1]产生的特征函数及权重如下表1所示:表1特征函数及权重表bmeo甲/方/:1.4634-0.0767-0.7239-0.6626乙/方/是1.2345-0.8802-0.7345-0.4423步骤s103,将所述第一字符序列中的每个字符按照所述第一特征模型进行标签标注,得到第一标签序列;优选的,本步骤我们采用模型在线预测模块,模型预测过程又被称作条件随机场的解码过程,它根据上一过程生成的特征函数及权重,对一个新句子,生成一个等长的标签序列。具体的,本模块遵循下面的流程:1)对于每个时刻(输入句子内的每个字符),每个特征模板都会生成它对于每个状态(b、m、e、o)的特征函数。2)针对每个特征模板生成的特征函数,利用词向量,扩展出新的特征函数[如何拓展]。比如模板[-3]/[-2]/[-1]产生了“总/统/为”的特征函数,我们根据词向量找到“总统”的近义词为“主席”,“为”的近义词为“是”,于是我们扩展出了“总/统/是”、“主/席/为”、“主/席/是”这三个特征。扩展的特征函数权重等于它在模型中的权重乘上它与原始特征的向量相似度。3)在每个时刻,对该时刻所有特征函数(原始特征函数+扩展特征函数)针对每个状态的权重累计求和,同样生成有特征函数与权重的二维表。4)根据上述二维表,以及上一模块生成的状态转移概率,使用维特比算法获得长度为n的联合状态score最高的状态序列(即第一标签序列)。步骤s104,根据所述第一标签序列,提取可识别的所述命名实体。优选的,根据获得的状态序列,切出命名实体。从以上的描述中,可以看出,本发明实现了如下技术效果:在本申请实施例中,采用通过训练词向量,得到所述目标文字的第一特征模型的方式,通过词向量对第一特征模型进行数据扩展,达到了提升系统泛化能力的目的,从而实现了提高识别效果的技术效果,进而解决了相关技术中过拟合带来的识别效果较差的问题。根据本申请实施例,作为本实施例中的优选,如图2所示,所述通过训练词向量,得到所述目标文字的第一特征模型包括如下的步骤s201至步骤s202:步骤s201,通过预设训练数据和预设特征模板进行模型训练,得到第二特征模型;优选的,对于每个时刻(输入句子内的每个字符),每个特征模板都会生成它对于每个状态(b、m、e、o)的特征函数,针对每个特征模板生成的特征函数即第二特征模型。步骤s202,根据经过训练后的词向量对所述第二特征模型进行特征函数扩展,得到所述第一特征模型。优选的,利用词向量,扩展出新的特征函数[如何拓展]。比如模板[-3]/[-2]/[-1]产生了“总/统/为”的特征函数,我们根据词向量找到“总统”的近义词为“主席”,“为”的近义词为“是”,于是我们扩展出了“总/统/是”、“主/席/为”、“主/席/是”这三个特征(即第一特征模型)。具体的,扩展的特征函数权重等于它在模型中的权重乘上它与原始特征的向量相似度。根据本申请实施例,作为本实施例中的优选,如图3所示,所述通过训练词向量,得到所述目标文字的第一特征模型还包括如下的步骤s301至步骤s302:步骤s301,对所述预设训练数据进行数据格式预处理;优选的,本步骤采用数据处理模块,其目标是将原始标注数据转化成模型输入需要的格式;首先需要数据预处理,根据需要去除一些字符,比如空白字符。步骤s302,将处理后的训练数据转化为字符序列格式和标签序列格式,并用于模型训练。优选的,将原始数据格式转化为两个序列:文本序列(句子)和标签序列(bmeo序列),等待输入到下一个模块。根据本申请实施例,作为本实施例中的优选,所述将所述第一字符序列中的每个字符按照所述第一特征模型进行标签标注,得到第一标签序列包括:根据所述第一特征模型和每个所述标签,生成对应的第一特征函数和第一特征函数权重,其中,所述第一特征函数权重用于作为所述第一特征函数对应每个所述标签的权重。根据本申请实施例,作为本实施例中的优选,如图4所示,所述将所述第一字符序列中的每个字符按照所述第一特征模型进行标签标注,得到第一标签序列还包括如下的步骤s401至步骤s402:步骤s401,根据所述第一特征模型,得到第一标签转移概率;优选的,所述第一标签转移概率为所述标签在与所述第一字符序列建立对应关系时,当前标签转移到下一个标签的概率。步骤s402,对每个所述第一字符序列对应的所述第一特征函数权重进行累加计算,结合所述第一标签转移概率,得到所述第一标签序列。优选的,在每个时刻,对该时刻所有特征函数针对每个状态的权重累计求和,根据得到的特征函数和权重,以及上一模块生成的状态转移概率,使用维特比算法获得长度为n的联合状态score最高的状态序列(即第一标签序列)。根据本申请实施例,作为本实施例中的优选,如图5所示,所述通过训练词向量,得到所述目标文字的第一特征模型还包括如下的步骤s501至步骤s502:步骤s501,将所述第一字符序列中的每个字符转化为低维实数向量;优选的,将单词用一个低维实数向量表示,例如[0.179,-0.157,-0.117,0.909,-0.532,…]这种形式,也就是词向量。步骤s502,通过添加通用语料对所述低维实数向量进行词向量训练,得到经过语义相似度扩展的词向量。优选的,比如模板[-3]/[-2]/[-1]产生了“总/统/为”的特征函数,我们根据词向量找到“总统”的近义词为“主席”,“为”的近义词为“是”,于是我们扩展出了“总/统/是”、“主/席/为”、“主/席/是”这三个特征。需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。根据本发明实施例,还提供了一种用于实施上述识别方法的装置,如图6所示,该装置包括:字符获取单元10,用于输入待识别文本,得到第一字符序列;词向量训练单元20,用于通过训练词向量,得到所述目标文字的第一特征模型;序列转换单元30,用于将所述第一字符序列中的每个字符按照所述第一特征模型进行标签标注,得到第一标签序列;识别单元40,用于根提据所述第一标签序列,提取可识别的所述命名实体。根据本发明实施例所述的字符获取单元10用于输入待识别文本,得到第一字符序列,优选的,所述第一字符序列为将所述目标文字进行拆分后得到的每个字符所组成的序列,具体的,比如待识别文本为“我要去天安门”,经过拆分后的所述第一字符序列为[“我”,“要”,“去”,“天”,“安”,“门”]。根据本发明实施例所述的词向量训练单元20用于通过训练词向量,得到所述目标文字的第一特征模型,优选的,所述第一特征模型用于生成所述每个字符对应的特征数值;具体的,词向量训练方法是hinton在1986年提出的,将单词用一个低维实数向量表示,例如[0.179,-0.157,-0.117,0.909,-0.532,…]这种形式,也就是词向量,而且,在词向量空间中,向量夹角小的两个点,它们所代表的单词在语义上相似或者相关。较好的训练算法得到的词向量,能够较好地反应出词语之间语义上的相似度。词和词的相似性用余弦距离来计算。根据本发明实施例所述的序列转换单元30用于将所述第一字符序列中的每个字符按照所述第一特征模型进行标签标注,得到第一标签序列,优选的,本步骤我们采用模型在线预测模块,模型预测过程又被称作条件随机场的解码过程,它根据上一过程生成的特征函数及权重,对一个新句子,生成一个等长的标签序列。根据本发明实施例所述的识别单元40用于根提据所述第一标签序列,提取可识别的所述命名实体,优选的,根据获得的状态序列,切出命名实体。如图7所示,根据本申请实施例,作为本实施例中的优选,所述词向量训练单元20包括:模型离线训练模块21,用于通过预设训练数据和预设特征函数进行模型训练,得到第二特征模型;词向量扩展模块22,用于根据经过训练后的词向量对所述第二特征模型进行数据扩展,得到所述第一特征模型;预处理模块23,用于对所述预设训练数据进行数据格式预处理;数据格式处理模块24,用于将处理后的训练数据转化为字符序列格式和标签序列格式,并用于模型训练。根据本发明实施例所述的模型离线训练模块21用于通过预设训练数据和预设特征函数进行模型训练,得到第二特征模型,优选的,对于每个时刻(输入句子内的每个字符),每个特征模板都会生成它对于每个状态(b、m、e、o)的特征函数,针对每个特征模板生成的特征函数即第二特征模型。根据本发明实施例所述的词向量扩展模块22用于根据经过训练后的词向量对所述第二特征模型进行数据扩展,得到所述第一特征模型,优选的,利用词向量,扩展出新的特征函数[如何拓展]。比如模板[-3]/[-2]/[-1]产生了“总/统/为”的特征函数,我们根据词向量找到“总统”的近义词为“主席”,“为”的近义词为“是”,于是我们扩展出了“总/统/是”、“主/席/为”、“主/席/是”这三个特征(即第一特征模型)。根据本发明实施例所述的预处理模块23用于对所述预设训练数据进行数据格式预处理,优选的,本步骤采用数据处理模块,其目标是将原始标注数据转化成模型输入需要的格式;首先需要数据预处理,根据需要去除一些字符,比如空白字符。根据本发明实施例所述的数据格式处理模块24用于将处理后的训练数据转化为字符序列格式和标签序列格式,并用于模型训练,优选的,将原始数据格式转化为两个序列:文本序列(句子)和标签序列(bmeo序列),等待输入到下一个模块。如图8所示,根据本申请实施例,作为本实施例中的优选,所述序列转换单元30包括:特征获取模块31,用于根据所述第一特征模型和每个所述标签,生成对应的第一特征函数和第一特征函数权重;概率获取模块32,用于根据所述第一特征模型,得到第一标签转移概率;标签序列获取模块33,用于对每个所述标签对应的所述第一特征函数权重进行累加计算,结合所述第一标签转移概率,得到所述第一标签序列。根据本发明实施例所述的特征获取模块31用于根据所述第一特征模型和每个所述标签,生成对应的第一特征函数和第一特征函数权重,优选的,根据所述第一特征模型和每个所述标签,生成对应的第一特征函数和第一特征函数权重,其中,所述第一特征函数权重用于作为所述第一特征函数对应每个所述标签的权重。根据本发明实施例所述的概率获取模块32用于根据所述第一特征模型,得到第一标签转移概率,优选的,所述第一标签转移概率为所述标签在与所述第一字符序列建立对应关系时产生错位的概率。根据本发明实施例所述的标签序列获取模块33用于对每个所述标签对应的所述第一特征函数权重进行累加计算,结合所述第一标签转移概率,得到所述第一标签序列,优选的,在每个时刻,对该时刻所有特征函数针对每个状态的权重累计求和,根据得到的特征函数和权重,以及上一模块生成的状态转移概率,使用维特比算法获得长度为n的联合状态score最高的状态序列(即第一标签序列)。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。当前第1页12