命名实体识别方法及系统、电子设备及存储介质与流程

    专利2022-07-08  106


    本发明实施例涉及自然语言处理领域,特别涉及命名实体识别方法及系统、电子设备及存储介质。



    背景技术:

    用自然语言与计算机进行通信,这是人们长期以来所追求的,在以此想法为基础发展起来的自然语言处理领域中,命名实体识别是一项非常基础且重要的任务,其中包含的中文命名实体识别是多轮对话系统构建的一个重要步骤,但是其存在分词、歧义、词语嵌套和结构形式复杂等难点亟需解决。

    目前的中文命名实体识别技术采用词向量方式或字向量方式来表征中文文本,并采用了双向长短期记忆网络配合条件随机场来提高准确率。若仅采用词向量方式来表征中文文本,则需要对句子中的词语进行划分,并且划分词语的准确性会直接影响到词向量方式的表征效果,但要提高划分词语的准确性又需要较为复杂的算法;若仅采用字向量方式来表征中文文本,虽然其表征效果不受限于划分词语的准确性,但是以字作为单位进行表征会缺失词语本身的语义信息,并且会影响实体界限划分的效果,即仅采用词向量方式或字向量方式来表征中文文本时,中文命名实体识别的效果难以保障。



    技术实现要素:

    本发明实施方式的目的在于提供一种命名实体识别方法及系统、电子设备及存储介质,提升了中文命名实体识别的效果。

    为解决上述技术问题,本发明的实施方式提供了一种命名实体识别方法,包括以下步骤:获取第一标签序列和第二标签序列;其中,第一标签序列是用词向量识别文本的结果,第二标签序列是用字向量识别文本的结果;选择第一标签序列与第二标签序列中识别文本的准确率更高的标签序列作为输出标签序列。

    本发明的实施方式还提供了一种命名实体识别系统,包括:标注模块和切换模块;标注模块用于获取第一标签序列和第二标签序列;其中,第一标签序列是用词向量识别文本的结果,第二标签序列是用字向量识别文本的结果;切换模块用于选择第一标签序列与第二标签序列中识别文本的准确率更高的标签序列作为输出标签序列。

    本发明的实施方式还提供了一种电子设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如上述命名实体识别方法。

    本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述的命名实体识别方法。

    在本发明的实施方式中,分别用词向量和字向量表征文本,生成第一标签序列和第二标签序列,选择第一标签序列和第二标签序列中识别准确率更高的标签序列作为输出标签序列。由于词向量方式和字向量方式各自针对某些句型有更好的识别效果,故同时结合词向量方式和字向量方式表征文本的优势,会在一定程度上提升中文命名实体识别的效果。

    另外,第一标签序列通过以下方式获取:获取不同分词路径划分文本对应的划分概率,并将最大的划分概率作为第一划分概率;获取第一划分概率对应的分词路径作为第一分词路径;根据第一分词路径对应的词向量识别文本,得到第一标签序列。本实施方式提供了获取第一标签序列的一种具体实施方式。

    另外,选择第一标签序列与第二标签序列中识别文本的准确率更高的标签序列作为输出标签序列,包括:获取各划分概率对应的各分词路径对应的参考标签序列;获取第二标签序列与各参考标签序列的相似概率;其中,相似概率用以表征第二标签序列的识别文本的准确率;根据第一划分概率和相似概率,选择第一标签序列与第二标签序列中识别文本的准确率更高的标签序列作为输出标签序列。本实施方式提高了选择识别效果更好的标签序列作为输出标签序列的准确性。

    另外,根据第一划分概率和相似概率,选择第一标签序列与第二标签序列中识别文本的准确率更高的标签序列作为输出标签序列,包括:将第一划分概率和相似概率拼接成概率向量;将概率向量输入训练好的模型中,得到输出标签;其中,输出标签用于表征第一标签序列与第二标签序列中识别文本的准确率更高的标签序列;将输出标签对应的准确率更高的标签序列作为输出标签序列。本实施方式进一步提高了选择识别效果更好的标签序列作为输出标签序列的准确性。

    附图说明

    一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

    图1是根据本发明第一实施方式的命名实体识别方法的具体流程图;

    图2是根据本发明第一实施方式的命名实体识别方法的示意图;

    图3是根据本发明第一实施方式的命名实体识别方法的示例图;

    图4是根据本发明第一实施方式的top-k分词表的示意图;

    图5是根据本发明第二实施方式的命名实体识别方法的具体流程图;

    图6是根据本发明第二实施方式的选择神经网络的示意图;

    图7是根据本发明第三实施方式的命名实体识别系统的方框示意图;

    图8是根据本发明第四实施方式的电子设备的方框示意图。

    具体实施方式

    为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。

    本发明的第一实施方式涉及一种命名实体识别方法,本实施方式应用在电子设备中,如计算机设备或终端设备等,在此不一一例举,用于识别并标注中文文本中的命名实体,命名实体可以为日期、地名、人名等,在识别和标注中文文本中命名实体的同时,也会对中文文本中的命名实体以外的部分进行标注,在中文文本被标注后,会生成一个标签序列,该标签序列对应于中文文本中的每一个字,命名实体对应的标签与其他部分对应的标签的区别点在于,命名实体对应的每一个字对应于用于指示其类型的一个标签,其他部分对应的每一个字对应于一个普通标签。用词向量方式和字向量方式分别对一段文本进行识别与标注,再根据识别与标注的结果选择效果最好的结果作为输出结果,具体流程请参考图1,总体思路请参考图2。

    步骤101,获取第一标签序列和第二标签序列。

    步骤102,选择第一标签序列与第二标签序列中识别文本的准确率更高的标签序列作为输出标签序列。

    在本实施方式中,分别用词向量和字向量表征文本并生成第一标签序列和第二标签序列,并选择第一标签序列和第二标签序列中识别准确率更高的标签序列作为输出标签序列。由于词向量方式和字向量方式各自针对某些句型有更好的识别效果,故同时结合词向量方式和字向量方式表征文本的优势,会在一定程度上提升中文命名实体识别的效果。

    下面对本实施方式的命名实体识别方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。

    在步骤101中,获取用词向量识别文本的第一标签序列和用字向量识别文本的第二标签序列。

    在一个例子中,要识别并标注一段中文文本,首先需要对这段文本进行正则化处理,以过滤掉无效字符,避免对识别过程产生干扰,再分别用词向量和字向量识别和标注文本,以文本为“播放周杰伦的稻香”为例,分别用词向量和字向量识别和标注这段文本的过程请参考图3。

    用词向量识别文本需要进行如下操作:用统计有中文词频的库循环查询这段中文文本中的词语,统计有中文词频的库可以为中文词频统计词典、jieba库等,在查询后获得这段中文文本的不同分词路径,并获取其对应的有向无环图(directedacyclicgraph,dag),再利用动态规划的思想计算该图的路径概率,并将路径概率作为与不同分词路径对应的划分概率。其中,计算路径概率的迭代公式为:route(wx)=log(wf)-log(total) route(wx-1),其中,wx是dag中的当前词语,wx-1是dag中的当前词语的前一个词语,wf是当前词语的词频,total表示的是这种分词路径对应的所有词语的词频之和,route(w)表示的是路径概率,故route(wx)表示的是dag中当前词语的路径概率,即从前一个词语选择当前词语的概率,route(wx-1)与route(wx)同理,route(w)的初始值为0,即route(w0)=0。若这段中文文本中出现不在统计有中文词频的库的词语时,可以利用隐马尔可夫模型(hiddenmarkovmodel,hmm)对这段文本的概率进行优化。在将这段文本划分成词语后,将划分成的词语分别输入训练网络中,可以通过训练好的word2vec中的skip-gram的网络结构配合负采样的方法训练词向量,并生成中文的词向量表。

    用字向量识别文本需要进行如下操作:将这段文本按字进行分割,将每一个字分别输入训练网络中,可以通过训练好的bertbase模型生成字向量。

    将训练好的词向量和字向量分别输入已经训练好的标注神经网络中,标注神经网络可以通过自行搭建并用大量训练数据对其进行训练得到,也可以利用现有的已经训练好的神经网络。以自行搭建标注神经网络为例,通过双向长短期记忆网络和条件随机场的组合进行搭建,并用中文命名实体识别的训练数据集训练该标注神经网络,在训练过程中逐渐微调标注神经网络的参数。双向长短期记忆网络包括前向长短期记忆网络与后向长短期记忆网络,在标注神经网络训练完成后,按照文本的正向序向前向长短期记忆网络输入词向量和字向量,并按照文本的反向序向后向长短期记忆网络输入词向量和字向量,最后将前向长短期记忆网络的输出向量与后向长短期记忆网络的输出向量进行拼接,得到输出向量。构建条件随机场(conditionalrandomfield,crf)层,由条件随机场层对输出向量进行得分计算,计算公式可以为:其中,x是输入序列,y是对应的输出标签序列,p是双向长短期记忆网络的输出矩阵,ai,j表示标签i转移到标签j的转移概率矩阵。最终计算选择出分数s最大的一个标签序列作为标签序列。将划分概率从大到小排列,并从大到小选取前k个划分概率对应的分词路径,列出一张top-k分词表,请参考图4,将top-1对应的概率作为第一划分概率,将其对应的分词路径作为第一分词路径,将用第一分词路径对应的词向量识别文本生成的标签序列作为第一标签序列,用字向量识别文本生成的标签序列作为第二标签序列。

    在步骤102中,在用词向量识别文本的结果的第一标签序列与用字向量识别文本的第二标签序列中,选择识别文本的准确率更高的标签序列作为输出标签序列,即选择识别文本效果更好的标签序列作为输出标签序列。

    在本实施方式中,分别用词向量和字向量表征文本并生成第一标签序列和第二标签序列,并选择第一标签序列和第二标签序列中识别准确率更高的标签序列作为输出标签序列,其中,第一标签序列是划分概率中最大的第一划分概率对应的分词路径生成的标签序列。由于词向量方式和字向量方式各自针对某些句型有更好的识别效果,故同时结合词向量方式和字向量方式表征文本的优势,会在一定程度上提升中文命名实体识别的效果。

    本发明的第二实施方式涉及一种命名实体识别方法,请参考图5,第二实施方式与第一实施方式大致相同,主要区别之处在于:生成第二标签序列与参考标签序列的相似概率,并根据相似概率与第一划分概率选择识别文本的准确率更高的标签序列作为输出标签序列。

    其中,步骤201与步骤101大致相同,在此不再赘述,区别点在于,步骤202具体包含以下子步骤:

    子步骤2021,获取各划分概率对应的各分词路径对应的参考标签序列。

    具体而言,获取top-k分词表中,各分词路径对应的词向量识别文本生成的标签序列,将这些标签序列作为参考标签序列,用来作为判断字向量识别文本的准确率的标准。

    子步骤2022,获取第二标签序列与各参考标签序列的相似概率。

    子步骤2023,根据第一划分概率和相似概率,选择第一标签序列与第二标签序列中识别文本的准确率更高的标签序列作为输出标签序列。

    具体而言,根据第二标签序列、各参考标签序列及各参考标签序列对应的各划分概率,计算第二标签序列与各参考标签序列的相似概率,其中,相似概率的计算公式具体可以为:其中,normalization是指归一化函数,计算时以训练标注神经网络的训练数据集的均值方差作为归一化参数,pi、xi分别表示top-k分词表中top-i对应的划分概率和分词路径对应的参考标签序列,yi均表示第二标签序列,根据y表示的第二标签序列,并模拟词向量划分文本的方式对文本进行划分,即将第二标签序列中相邻的、带有相同标签类型的字划分在一起,形成一个标签向量,将没有标签类型的普通标签对应的字单独形成一个标签向量,则count(x,y)是指x表示的标签序列中的标签向量与y表示的第二标签序列中的标签向量相同的计数。再根据第一划分概率和计算得到的相似概率,选择第一标签序列与第二标签序列中识别文本的准确率更高的标签序列作为输出标签序列。

    在一个例子中,将第一划分概率p1与计算得到的相似概率p2拼接成向量p,以p作为选择神经网络的输入,其中选择神经网络可以为训练好的浅层神经网络,例如可以构建y=tanh(wtp b)作为选择神经网络,请参考图6,并通过中文命名实体识别训练数据集对该选择神经网络进行训练,得到w和b参数,在对选择神经网络训练完成后,将p输入到选择神经网络中,则可以得到y,以y的大小来判断出第一标签序列与第二标签序列中识别文本的准确率更高的标签序列。再设计选择神经网络的输出标签,可以根据公式lable=sgn(normalization(loss1)-normalization(loss2))得到选择神经网络的输出标签,其中,loss1、loss2分别是以词向量为输入的标注神经网络和以字向量为输入的标注神经网络的交叉熵损失函数的误差值,sgn为符号函数,故输出标签lable的值仅为0或1,需要说明的是,输出标签为0或1与第一标签序列与第二标签序列中识别文本的准确率更高的标签序列没有必然联系,需要预先设定,即可以设定输出标签为0时,表示第一标签序列是识别文本的准确率更高的标签序列,也可以设定输出标签为1时,表示第一标签序列是识别文本的准确率更高的标签序列。最终根据预先设定的输出标签,将输出标签对应的准确率更高的标签序列作为输出标签序列进行输出。

    在本实施方式中,获取用字向量识别文本的第二标签序列与各分词路径对应的各词向量识别文本的各参考标签序列的相似概率,并根据第一划分概率和相似概率选择识别文本的准确率更高的标签序列作为输出标签序列,提高了选择识别效果更好的标签序列作为输出标签序列的准确性。

    本发明的第三实施方式涉及一种命名实体识别系统,请参考图7,包括标注模块1和切换模块2,用于识别并标注中文文本中的命名实体。

    标注模块用于获取第一标签序列和第二标签序列;其中,第一标签序列是用词向量识别文本的结果,第二标签序列是用字向量识别文本的结果;切换模块用于选择第一标签序列与第二标签序列中识别文本的准确率更高的标签序列作为输出标签序列。

    具体而言,标注模块1分别获取用词向量识别文本的第一标签序列和用字向量识别文本的第二标签序列,并将第一标签序列和第二标签序列发送给切换模块2,切换模块2在接收到第一标签序列和第二标签序列后,选择第一标签序列与第二标签序列中识别文本准确率的更高的标签序列作为输出标签序列,即若词向量识别这段文本的效果比字向量识别这段文本的效果好,则输出用词向量识别文本的第一标签序列作为输出标签序列。

    在一个例子中,命名实体识别系统还包括分词模块3,分词模块3用于获取不同分词路径划分文本对应的划分概率,并获取最大的所述划分概率作为第一划分概率,再将第一划分概率对应的分词路径作为第一分词路径,并将第一分词路径发送至标注模块1,以供标注模块1生成以第一分词路径划分的词语对应的词向量,并对这些词向量分别进行识别与标注,再按顺序进行排列,生成第一标签序列。

    在一个例子中,标注模块1用于获取各划分概率对应的各分词路径,根据各分词路径生成与之对应的参考标签序列,并将各参考标签序列发送给切换模块2,切换模块2根据各参考标签序列和第二标签序列计算出二者的相似概率,此相似概率用以表征第二标签序列的识别文本的准确率,切换模块2再根据第一划分概率和相似概率,选择第一标签序列与第二标签序列中识别文本的准确率更高的标签序列作为输出标签序列。

    在一个例子中,切换模块2是将第一划分概率和相似概率拼接成概率向量,再将拼接成的概率向量输入到训练好的模型中,得到用于表征第一标签序列与第二标签序列中识别文本的准确率更高的标签序列的输出标签,切换模块2根据预先设定的输出标签与第一标签序列及第二标签序列的对应关系,输出准确率更高的标签序列作为输出标签序列。

    不难发现,本实施方式为与第一实施方式和第二实施方式相对应的系统实施例,本实施方式可与第一实施方式和第二实施方式互相配合实施。第一实施方式和第二实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式和第二实施方式中。

    值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。

    本发明第四实施方式涉及一种电子设备,如图8所示,包括至少一个处理器301;以及,与至少一个处理器301通信连接的存储器302;其中,存储器302存储有可被至少一个处理器301执行的指令,指令被至少一个处理器301执行,以使至少一个处理器301能够执行第一实施方式所述的命名实体识别方法。

    其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。

    处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。

    本发明第五实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。

    即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

    本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。


    技术特征:

    1.一种命名实体识别方法,其特征在于,包括:

    获取第一标签序列和第二标签序列;

    其中,所述第一标签序列是用词向量识别文本的结果,所述第二标签序列是用字向量识别文本的结果;

    选择所述第一标签序列与所述第二标签序列中识别所述文本的准确率更高的标签序列作为输出标签序列。

    2.根据权利要求1所述的命名实体识别方法,其特征在于,所述第一标签序列通过以下方式获取:

    获取不同分词路径划分所述文本对应的划分概率,并将最大的所述划分概率作为第一划分概率;

    获取所述第一划分概率对应的所述分词路径作为第一分词路径;

    根据所述第一分词路径对应的词向量识别所述文本,得到所述第一标签序列。

    3.根据权利要求2所述的命名实体识别方法,其特征在于,所述选择所述第一标签序列与所述第二标签序列中识别所述文本的准确率更高的标签序列作为输出标签序列,包括:

    获取各所述划分概率对应的各所述分词路径对应的参考标签序列;

    获取所述第二标签序列与各所述参考标签序列的相似概率;

    其中,所述相似概率用以表征所述第二标签序列的识别所述文本的准确率;

    根据所述第一划分概率和所述相似概率,选择所述第一标签序列与所述第二标签序列中识别所述文本的准确率更高的标签序列作为输出标签序列。

    4.根据权利要求3所述的命名实体识别方法,其特征在于,所述根据所述第一划分概率和所述相似概率,选择所述第一标签序列与所述第二标签序列中识别所述文本的准确率更高的标签序列作为输出标签序列,包括:

    将所述第一划分概率和所述相似概率拼接成概率向量;

    将所述概率向量输入训练好的模型中,得到输出标签;

    其中,所述输出标签用于表征所述第一标签序列与所述第二标签序列中识别所述文本的准确率更高的标签序列;

    将所述输出标签对应的所述准确率更高的标签序列作为所述输出标签序列。

    5.一种命名实体识别系统,其特征在于,包括:标注模块和切换模块;

    所述标注模块用于获取第一标签序列和第二标签序列;其中,所述第一标签序列是用词向量识别文本的结果,所述第二标签序列是用字向量识别文本的结果;

    所述切换模块用于选择所述第一标签序列与所述第二标签序列中识别所述文本的准确率更高的标签序列作为输出标签序列。

    6.根据权利要求5所述的命名实体识别系统,其特征在于,还包括分词模块;

    所述分词模块用于获取不同分词路径划分所述文本对应的划分概率,并将最大的所述划分概率作为第一划分概率;

    所述分词模块还用于获取所述第一划分概率对应的所述分词路径作为第一分词路径;

    所述标注模块具体用于根据所述第一分词路径对应的词向量识别所述文本,得到所述第一标签序列。

    7.根据权利要求6所述的命名实体识别系统,其特征在于,

    所述标注模块还用于获取各所述划分概率对应的各所述分词路径对应的参考标签序列,

    所述切换模块具体用于获取所述第二标签序列与各所述参考标签序列的相似概率,并根据所述第一划分概率和所述相似概率,选择所述第一标签序列与所述第二标签序列中识别所述文本的准确率更高的标签序列作为输出标签序列;其中,所述相似概率用以表征所述第二标签序列的识别所述文本的准确率。

    8.根据权利要求7所述的命名实体识别系统,其特征在于,

    所述切换模块具体用于将所述第一划分概率和所述相似概率拼接成概率向量,并将所述概率向量输入到训练好的模型中,得到输出标签,将所述输出标签对应的所述准确率更高的标签序列作为所述输出标签序列;其中,所述输出标签用于表征所述第一标签序列与所述第二标签序列中识别所述文本的准确率更高的标签序列。

    9.一种电子设备,其特征在于,包括:

    至少一个处理器;以及,

    与所述至少一个处理器通信连接的存储器;其中,

    所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至4中任一所述的命名实体识别方法。

    10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的命名实体识别方法。

    技术总结
    本发明实施例涉及自然语言处理领域,公开了一种命名实体识别方法及系统、电子设备及存储介质,方法包括:获取第一标签序列和第二标签序列;其中,第一标签序列是用词向量识别文本的结果,第二标签序列是用字向量识别文本的结果;选择第一标签序列与第二标签序列中识别文本的准确率更高的标签序列作为输出标签序列。在本发明中,分别用词向量和字向量表征文本,生成第一标签序列和第二标签序列,选择第一标签序列和第二标签序列中识别准确率更高的标签序列作为输出标签序列。由于词向量方式和字向量方式各自针对某些句型有更好的识别效果,故同时结合词向量方式和字向量方式表征文本的优势,会在一定程度上提升中文命名实体识别的效果。

    技术研发人员:荣玉军;单彦会;刘辉;陈铭
    受保护的技术使用者:中移(杭州)信息技术有限公司;中国移动通信集团有限公司
    技术研发日:2020.11.24
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-20027.html

    最新回复(0)