首页> 中国专利> 构建中文命名实体标注的语料库的方法、装置

构建中文命名实体标注的语料库的方法、装置

摘要

本发明提供一种构建中文命名实体标注的语料库的方法、装置,该方法包括;S101:获取中文维基百科的文章,将文章归类为不同的实体类型,归类的方法包括基于启发式规则的分类、基于机器学习的分类以及基于DBpedia知识库本体的分类的组合;S102:对文章进行分句形成句子集,根据文章的链接目标对每个句子进行命名实体标注;S103:筛选句子形成语料库。本发明能够通过中文维基百科和DBpedia知识库这些外部知识源构建中文命名实体标注的语料库,无需人工构建和标注文本数据,耗时短、费用低,而且中文维基百科涉及范围和包含领域广泛的特征降低了语料库训练的命名体识别模型对领域数据的依赖性,减轻了其改变和移植的难度。

著录项

  • 公开/公告号CN112182204A

    专利类型发明专利

  • 公开/公告日2021-01-05

    原文格式PDF

  • 申请/专利权人 广东汇银贸易有限公司;

    申请/专利号CN202010838001.9

  • 发明设计人 马汶棋;姜春涛;张桐阁;

    申请日2020-08-19

  • 分类号G06F16/35(20190101);G06F40/242(20200101);G06F40/295(20200101);G06K9/62(20060101);

  • 代理机构44288 广州市越秀区哲力专利商标事务所(普通合伙);

  • 代理人曾令军

  • 地址 510000 广东省广州市海珠区敦和路207号112自编2室

  • 入库时间 2023-06-19 09:26:02

说明书

技术领域

本发明涉及自然语言处理领域,尤其涉及一种构建中文命名实体标注的语料库的方法、装置。

背景技术

命名实体识别,即:Named Entity Recognition(NER),作为信息提取最重要的一项子任务,是从文本中识别出最显著的、信息含量最丰富的单元,诸如人名、公司名、地点、货币、时间等。所识别的命名实体,对于自然语言处理任务,诸如:文本分类、问答系统、事件提取,具有十分重要的作用。命名实体识别的目的是从非结构化的文本中确定命名实体的边界及其类型。命名实体类型在不同应用场景中有不同的定义,如工业生产领域中的产品名、属性名,生物化学领域的化合物名称。一般情况下,最通用的命名实体类型包括:人物、组织、地点。

早期命名实体识别系统[1],主要是基于语言学工具(或人工规则)和词典列表,这类非监督式的方法,只局限于词典中所出现的常用实体及可由人工规则识别的实体。然而,前述系统是面向领域的,并且难于开发。为了克服上述缺陷,应用机器学习的方法进行命名实体识别成为主流,如最大熵理论,AdaBoost。这种监督式的机器学习方法,基于词形、词法、句法、上下文语境等特征,从标注过的训练语料中,推断出与命名实体相关的模式。监督式的机器学习方法成为目前主流的命名实体识别方法,然而应用前述方法的先决条件是需要人工构建和标注大量的文本数据,这是一项费时、费力又需要技能的任务。目前用于机器学习方法的人工标注数据只局限于几个公共的基于通用命名实体类型的新闻语料库。如果要为不同的语言和预定义的命名实体类型训练新的命名实体识别模型,相应的经过命名实体标注的语料库成为必需品。此外,当由特定领域训练而得到的命名实体识别模型,应用于其他未经训练的领域上,其性能要低于前者。因为基于机器学习的命名实体识别方法,对领域数据的依赖性,使得改编和移植现有的命名实体识别系统于新领域变得相当困难。

发明内容

为了克服现有技术的不足,本发明提出一种构建中文命名实体标注的语料库的方法、装置,能够通过中文维基百科和DBpedia知识库这些外部知识源构建中文命名实体标注的语料库,无需人工构建和标注文本数据,耗时短、费用低,而且中文维基百科涉及范围和包含领域广泛的特征降低了语料库训练的命名体识别模型对领域数据的依赖性,减轻了其改变和移植的难度。

为解决上述问题,本发明采用的一个技术方案为:一种构建中文命名实体标注的语料库的方法,所述方法包括;S101:获取中文维基百科的文章,将所述文章归类为不同的实体类型,归类的方法包括基于启发式规则的分类、基于机器学习的分类以及基于DBpedia知识库本体的分类的组合;S102:对所述文章进行分句形成句子集,根据所述文章的链接目标对每个句子进行命名实体标注;S103:筛选所述句子形成语料库。

进一步地,所述基于启发式规则的分类通过维基百科类别、属性框模板、跨语言链接、文章题目确定所述文章的类别。

进一步地,所述基于机器学习的分类以文章第一句话、结构化信息、类别标签、标题作为基本特征集,根据所述基本特征集对所述文章进行分类。

进一步地,所述基于DBpedia知识库本体的分类的通过DBpedia知识库数据对所述文章中所描述的实体行实体消岐。

进一步地,所述根据所述文章的链接目标对每个句子进行命名实体标注步骤具体包括:获取所述文章的所有对外链接,根据所述对外链接构建候选别名集;通过所述候选别名集构建trie树,根据所述trie树寻找所述句子集中的句子对应的标记,根据所述标记对所述句子进行命名实体标注。

进一步地,所述筛选所述句子形成语料库的步骤具体包括:根据输入的指令和/或命名体识别工具筛选所述句子形成语料库。

进一步地,所述根据命名体识别工具筛选所述句子形成语料库的步骤具体包括:通过两个不同的命名体识别工具对所述句子的标注进行识别,并根据识别结果判断是否修改所述句子的标注和是否将所述句子放入语料库中。

进一步地,所述根据所述文章的链接目标对每个句子进行命名实体标注的步骤之后还包括:基于所述文章扩展实体词典。

进一步地,所述基于所述文章扩展所述实体词典的步骤具体包括:基于所述实体词典的预定义类别检索每个种子实体对应的文章;根据所述文章的细粒度类别对所述种子实体进行标记;根据所述种子实体对应的文章含有的链接识别潜在命名实体,并通过匹配函数判断所述潜在命名实体的类别,根据判断结果确定所述潜在命名实体是否可以作为所述实体词典的条目。

基于相同的发明构思,本申请还提出一种构建中文命名实体标注的语料库的装置,所述装置包括处理器、存储器,所述处理器与所述存储器耦合连接;所述存储器存储有程序数据,所述处理器执行所述程序数据以实现如上所述的构建中文命名实体标注的语料库的方法。

相比现有技术,本发明的有益效果在于:能够通过中文维基百科和DBpedia知识库这些外部知识源构建中文命名实体标注的语料库,无需人工构建和标注文本数据,耗时短、费用低,而且中文维基百科涉及范围和包含领域广泛的特征降低了语料库训练的命名体识别模型对领域数据的依赖性,减轻了其改变和移植的难度。

附图说明

图1为本发明构建中文命名实体标注的语料库的方法一实施例的流程图;

图2本发明构建中文命名实体标注的语料库的方法一实施例的工作流程图;

图3为本发明构建中文命名实体标注的语料库的装置一实施例的结构图。

具体实施方式

下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。

请参阅图1-2,其中,图1为本发明构建中文命名实体标注的语料库的方法一实施例的流程图;图2本发明构建中文命名实体标注的语料库的方法一实施例的工作流程图。结合附图1-2对本发明构建中文命名实体标注的语料库的方法作详细说明。

由于大约74%的维基百科文章是有关描述各种实体类型的主题,许多维基百科的链接对应于相应实体的标注。对于中文维基百科文章中的每个句子,如果该句含有提及实体的显式标记(即explicit mention),通过对显式标记进行实体分类来决定所提及实体的类型,并以它来标记实体;如果该句含有提及实体的隐式标记(即implicit mention),通过隐式标记的边界和所属实体类型的识别,对所提及的实体进行标记。

在本实施例中,构建中文命名实体标注的语料库的方法包括:

S101:获取中文维基百科的文章,将文章归类为不同的实体类型,归类的方法包括基于启发式规则的分类、基于机器学习的分类以及基于DBpedia知识库本体的分类的组合。

在本实施例中,执行该构建中文命名实体标注的语料库的方法的设备可以为电脑、服务器、云端服务器、平板电脑、手机以及其他实体智能设备或虚拟终端。

在本实施例中,启发式规则的分类、基于机器学习的分类以及基于DBpedia知识库本体的分类可以根据用户实际需要进行自由组合后用于文章归类。其中,组合的方式包括:

1)基于启发式规则的分类与基于机器学习方法的分类组合,2)基于DBpedia本体的分类,3)基于启发式规则的分类、基于机器学习方法的分类以及基于DBpedia知识库本体的分类的多种组合。

在本实施例中,将文章分为四个实体类型,请参阅表1,表1为基于四种命名实体类型的规则示例表。

表1、基于四种命名实体类型的规则示例表

在本实施例中,基于启发式规则的分类通过维基百科类别、属性框模板、跨语言链接、文章题目确定文章的类别。

其中,维基百科类别:使用预定义的表达式来建立类别模式列表,4种定制的表达式被用于类别模式当中,包括:‘[X]’表达可选字符‘X’,‘[*]’表达任意字符(发生零次或多次),‘[+]’表达发生至少一次的字符,‘

Infobox(属性框)模板是一种特殊的模板,通常含有一个与文章所表述实体相关的重要事实的一个精简的集合。维基百科编辑者,通常情况下,对于相类似的文章,使用相同的属性框模板。例如,属性框模板‘Infoboxfootballbiography’最有可能出现于描述人物‘Lionel Messi(里奥·梅西)’的维基百科文章中。这样,判定使用相同属性框模板的维基百科文章,其所表达的实体类型也是相同的。

跨语言链接:维基百科是一个多语言的公共知识库,覆盖了多达200种语言,使用不同语言描述的同一篇维基百科文章由特别的Wiki标记来链接。这样,一条通用的规则可定义如下:对于一篇中文维基百科文章,查找该文章对应的英文维基百科文章,由相应的英文文章所表达的命名实体类型来决定中文文章的命名实体类型。

在一个具体的实施例中,通过相关联的英文文章的大写惯例,来识别非实体类型(即实体类型为OTH)的中文文章,其应遵循的准则如下:1)如果相关联的英文文章的标题含有时间表达式,那么其相应的中文文章被标记为OTH类型;2)如果相关联的英文文章的题目中其首字符为小写的数目要大于等于大写的数目,那么其相应的中文文章被标记为OTH类型。

文章题目:维基百科文章的题目是一条对应于特定网页的,简洁而又独有的短语。在中文维基百科中,一部分文章题目的末尾所共有的名词,可作为一个很好的命名实体类型的指示器,如‘[+]火车站’、‘[+]银行’。另外,大约10%的中文维基百科文章是以括号表达式标记的,用以解决具有相同名字的文章之间的歧义,如“倩女幽魂(1987年电影)”,通过文章的题目对文章进行分类。

在本实施例中,通过C

由启发式规则对中文维基百科文章进行分类,还存在大量误判,如代表‘史学家’的文章因具有‘历史学家’这个类别而被识别成人名,因此,利用机器学习的方法,对采用启发式规则所进行的分类结果进行重新分类以降低误判。

在本实施例中,基于机器学习的分类以文章第一句话、结构化信息、类别标签、标题作为基本特征集,根据基本特征集对所述文章进行分类。

其中,文章第一句话:可从文章的第一句话中推断出该文章的类别,如第一句话为“霍去病(前140年-前117年),河东郡平阳县人,卫子夫的姨甥,卫青的外甥,霍光之兄,西汉汉武帝时代对抗匈奴的名将。”根据该信息,计算出每个词在该文章中的TF(TermFrequency,词频)-IDF(Inverse Document Frequency,逆文本频率指数)值,然后保留信息增益值由高到低排在前2000的词作为特征。

结构化信息:主要包括文章的节标题、属性框(Infobox)的类别、及属性框内三元组的关系和属性的种类。如文章的节标题中含有支持分类的信息:“生平”、“人生事迹”;属性框的类别:“Infobox China County”,三元组中的关系和属性的种类:“创始人”。

类别标签:满足下述三个条件的类别信息被选为特征:(1)出现两次以上;(2)包含该类别的文章的种类数小于等于1;(3)在所有类别中,该类别基于训练语料的方差值由高到低排在前200。

标题:中文维基百科中每一篇文章的标题,可为分类提供最直接的信息,主要利用以下6类特征识别分类:

是否以中国姓氏开头,用于为识别中国人名提供线索;

长度是否介于2到4,用于为识别中国人名提供线索;

是否含有‘·’,用于为识别外国人名提供线索;

是否含有GPE(地理/社会/政治实体),用于为识别组织名称提供线索;

最后一个词是否包含直接信息,如“[+]山”;

括号里的词,如“(电影)”,“(运动员)”,其中,对于含有时间、数字和GPE的字符转为对应的标记符号,如“(中国首都)”转为“(首都)”。

在本实施例中,基于DBpedia知识库本体的分类的通过DBpedia知识库数据对文章中所描述的实体行实体消岐。

在本实施例中,基于DBpedia知识库本体的分类(即,DBpedia实体消岐)-命名实体识别的工作被局限于某些资源丰富的语言,如英文,利用DBpedia知识库数据对中文维基百科中所描述的实体,进行实体消岐。

DBpedia是一个通用知识库,其包含所有从维基百科文章中所提取的实体集。DBpedia知识库允许用户以基于语义的方式对维基百科资源的属性和关系进行查询。

其中,通过在维基百科文章的属性框和DBpedia知识库本体类之间,进行映射,每个实体可被归类于DBpedia本体中的实体类别;在维基百科知识库中,句子中所链接的实体术语,直接指向维基百科知识库中相应的目标文章,而每篇目标文章对应于DBpedia知识库中的一个实体。

DBpedia使用RDF来表达所提取的信息,其中每条事实信息以三元组的形式表示:‘S(主语)、P(谓语)、O(宾语)’,并以类似SQL的查询语言SPARQL对三元组数据进行访问。

在一个具体的实施例中,如果想获取实体‘李白’的类型是什么,相应的SPARQL查询结果为:

P:

O:

此例中,实体‘李白’被归类于诸如‘作家’,‘人物’,‘行为主体’。由此,可利用以下的SPARQL查询对链接的实体进行分类:

selectdistinct?twhere

{

<?t}

由于DBpedia知识库中,没有相应的以中文表示的DBpedia本体类数据,通过将DBpedia知识库中的中文实体在其它语种的DBpedia知识库中找到相应的实体类型进行标注。例如,实体‘西班牙’,其指向德语DBpedia知识库中对应的实体,可由以下RDF语句表示:

而在德语DBpedia知识库中,的实体类型为,因此实体‘西班牙’的类型即为‘Country’。

S102:对文章进行分句形成句子集,根据文章的链接目标对每个句子进行命名实体标注。

在本实施例中,通过文章的标点符号对文章的内容进行分句形成句子集。

在本实施例中,根据文章的链接目标,对每个句子进行命名实体标注的具体步骤包括:获取文章的所有对外链接,根据对外链接构建候选别名集;通过候选别名集构建trie(前缀树),根据trie树为每个句子所含的实体寻找所有可能的标记,并选择最佳标记,对其进行命名实体标注。

其中,对于一个维基百科中的句子,如果其所含链接的字符串指向的文章具有确定的实体类型标注,那么该链接字符串可被标记为对应的实体类型(这类情形,简称为:显式标记)。如例句:“王勃(650年-676年),字子安,

对于给定的文章A,所有重定向于A的文章的题目都为A的别名-维基百科知识库中的某些实体,并没有相应的文章来描述,而只会重新定向于一篇具有另一个实体名的文章,这种机制被称为“重定向”。维基百科文章的重定向题目,通常是表达同一个实体或概念的别名。

在一个具体的实施例中,所有链接A超过5次的字符串都为A的别名。

维基百科知识库所具有的结构化及其它标签信息,除了可以自动构建用于命名实体识别的语料库,还可用来自动生成不同类别的实体词典或基于现有词典,进行扩展。维基百科文章中的超链接将输入实体的文章与其他相关实体的文章相连,因而,通过追踪这些链接,就可以获取大量与输入实体(即种子实体)相关的实体。

因此,可以根据中文维基百科的文章扩展实体词典。

在本实施例中,根据文章的链接目标对每个句子进行命名实体标注的步骤之后还包括:基于文章扩展实体词典。

其中,基于文章扩展实体词典的步骤具体包括:基于实体词典的预定义类别检索每个种子实体对应的文章;根据文章的细粒度类别对种子实体进行标记;根据种子实体对应的文章含有的链接识别潜在命名实体,并通过匹配函数判断所述潜在命名实体的类别,根据判断结果确定所述潜在命名实体是否可以作为所述实体词典的条目。

在一个具体的实施例中,具体步骤如下:

检索种子实体对应的文章:基于现有的预定义类别(简称为‘pdc’)的命名实体词典,对其中每个种子实体在中文维基百科知识库中进行检索,返回描述该实体的文章。前述检索操作会产生以下三种情况:(1)返回一个没有任何歧义的描述某个实体的文章-此种情况下,匹配该篇文章于相应种子实体。(2)没有返回结果-这种情况下,采用‘leftmostlongest match’规则进行模糊匹配,选择含有与上位概念最接近的维基百科文章。(3)对于一词多义的种子实体概念,返回‘歧义页面’,用以列出不同含义的实体及指向相应文章页面的链接,对于这种情况,该种子实体被直接舍弃,不进入随后的对种子实体进行标记的步骤。

对种子实体进行标记:一旦描述种子实体的维基百科文章被检索到,基于这些文章内容而提取的细粒度类别,即上位概念(简称为:‘hpc’),则被用以标记种子实体。如何获取可靠的hpc?根据维基百科知识库文本的特性,可采用以下两种方法:首句标签法:对于中文维基百科知识库,可从维基百科文章的首句中提取相应的类别标签,作为实体的细粒度类别(即,hpc);此外,由关系连词相连的名词短语,也被作为该实体的hpc。类别标签法:基于维基百科知识库的类别结构(即:维基百科文章是由一个或多个类别标签进行标注的),这些类别标签是概括化的概念集,以层次化的结构组成,通常以类别树的形式,概括地表达类别之间的宽泛与狭窄关系。相似的维基百科文章是由相同的类别进行标注。由前述标记策略,可对中文维基百科文章的标签进行提取、过滤、选择最适合的标签作为对应实体的hpc。类别标签法的应用可分为以下三种情形:某些维基百科文章的类别标签和其标题是一样的,这种情形,通过遍历类别树,将该类别上一层的类别标签,作为标注;维基百科具有一些出于管理目的,随意标注的标签,如‘维基百科模板’,这类标签引入噪音,因而,通过人工构建一个停用词表,来过滤掉这些噪音;为了进一步减少噪音,只保留至少能够给两个种子实体标注的hpc。

前述分类步骤可生成一个含有hpc的池,其中,每个hpc是输入实体的上位概念或者是pdc的潜在上位概念,该hpc池,可作为控制词汇表来指导相似命名实体的扩展。

对潜在命名实体进行判断:由检索种子实体所得到的中文维基百科文章所含有的链接,识别出潜在的命名实体,即判断每个候选命名实体的类别是否属于pdc。这样,采用分类步骤的方法,获取候选命名实体的hpc,每个所提取的hpc,通过匹配函数与由分类步骤生成的hpc池,进行匹配。如果匹配成功,候选实体的类别,即对应于中文维基百科文章的标题,作为实体扩展词典的条目。匹配函数可以简单定义为:确认候选实体的hpc,是否存在于由种子词词典所提取的hpc池中。

前述扩展步骤的设想在于:如果一个候选实体和源实体共享同一个上位概念,那么,该上位概念之上的任何上位概念,及源实体的最终类别,应该也适用于候选实体。另外,在维基百科知识库中,所有重定向的标题,都指向相同的维基百科文章;维基百科知识库的重定向标题,通常是作为所表达的实体或概念的别名,这些别名也被选为实体,加入到实体扩展词典中。

S103:筛选句子形成语料库。

经过前面步骤,得到经过命名实体标注的句子,然而,其中经过标注的句子的质量参差不齐,主要原因如下:

文章分类存在误分类:例如实体概念为“革命家”的文章,如果被分类成人名,那么如果某文章含有“革命家”的对外链接,则该文章中所有“革命家”字符都会被标注成人名。

文章中的链接不全:假设实体概念为“白云山”的文章已被正确分类为“Location”类,但是某文章在编辑时并没有为“白云山”字符创建一个跳转链接,指向白云山,那么该文章中的白云山就无法被标注成地点了。

训练语料所含文章不全:对于中文维基百科知识库来说,还缺失很多实体概念的描述,例如“黑云山”如果是一个实体概念,且并没有被包括在维基百科知识库中,那么语料库中含有的黑云山字符串是不可能被标注成地点的。

因此,需要对实体标注的句子进行筛选以提高语料库中的句子含量。

在本实施例中,筛选所述句子形成语料库的步骤具体包括:根据输入的指令和/或命名体识别工具筛选句子形成语料库。

在本实施例中,根据命名体识别工具筛选句子形成语料库的步骤具体包括:通过两个不同的命名体识别工具对句子的标注进行识别,并根据识别结果判断是否修改句子的标注和是否将句子放入语料库中。

下面通过具体实施例对本发明作进一步说明。

实施例1、对中文维基百科文章分类,由于单独应用启发式规则进行分类,其数据覆盖度不高,并且很多结果是存在错误,本实施例利用机器学习方法,结合启发式规则分类的结果,重新构建训练集(简称:‘HybridC’),目的是从一定程度上降低训练集的噪音,其策略如下:应用基于启发式规则的分类器和基于机器学习的分类器分别对中文维基百科的文章进行分类,当且仅当两者的分类结果一致,并且机器学习的分类器的预测概率值大于99%的样本,才被选为新的样本集合。更进一步地,还通过中文维基百科知识库的重定向信息,为相应的文章标注对应的标签。

更具体地讲,本实施例中,采用SVM(支持向量机)算法作为机器学习的分类器,并从应用启发式规则的分类方法所标记的文章中,随机选取以下的数量的样本作为训练集(见表2)。为了评估SVM分类器的性能,从中文维基百科文章中,随机选取444篇,并进行人工标注,作为测试集。

表2、SVM分类器所用训练数据的分布列表

采用scikit-learn库中的SVM算法工具,使用默认参数,在测试集上得到的结果如表3所示,其中:‘Precision’为准确率,‘Recall’为查全率,‘F1’则为前两者的调和平均值,作为评测分类模型性能的评测指标。

表3、SVM分类器的分类结果列表

采用同样的训练和测试数据,经由HybridC分类策略所得到的结果如表四所示:比较表3和表4的结果可知,采用HybridC的策略,所获训练样本的质量要高于单独应用启发式规则分类器的策略。经由HybridC策略,对所有中文维基百科文章进行分类,所得到的最终样本集大小为43万篇文章。

表4、基于HybridC的中文维基百科文章分类结果

实施例2、对命名实体标注后的句子自动审核。

在构建命名实体标注的语料库的实施过程中,经由命名实体标注后获得的句子集合,其质量参差不齐,通常需要进行人工审核。然而,人工审核的过程是昂贵的,本实施例提出一种由机器自动审核的方法。

用命名实体识别工具来代替人进行审核,在实施过程中,选用两个常用的命名实体识别工具:哈工大语言云(https://www.ltp-cloud.com)和StanfordNLP(https://stanfordnlp.github.io/CoreNLP/)。以“迈克尔·乔丹,1963年2月17日生于美国纽约布鲁克林,前美国职业篮球运动员,司职得分后卫,绰号‘飞人’。”作为例句,为了便于描述,以下称所用的工具为‘审核员’。对前述例句的审核流程如下,其中,第一列为生成的标注(即待审核的标注),第二列为应用哈工大语言云的结果(简称1号审核员),第三列为应用StanfordNLP的结果(简称2号审核员):

对所要审核的目标实体的标注为‘PER(人物)/LOC(地点)/ORG(组织)’,如果任何一个审核员支持标注(即审核员给出的标注与句子的标注相同),则认为第一列的标注正确,否则认为第一列的标注错误,舍弃该句子。例如:字符串“迈克尔”的标注及审核结果为:“迈克尔B_PERPERORG”,其中,1号审核员支持标注,尽管2号审核员不支持,也认为第一列的标注是正确的。

对所要审核的目标实体的标注为‘OTH’,可分为以下三种情形:两个审核员的标注结果是一样的,则修改原标注;两个审核员的标注结果不一样,则认为该句子很模糊,不适合做语料,舍弃该句子;对于新增实体类型(时间、数字、度量单位),只要审核员的标注是新实体,则标注为新实体;如两个审核员的标注相冲突,则以2号审核员的标注为准。

经过如上的流程,从实施例1的样本集获取的400多万经过命名实体标注的句子中,筛选出85万高质量的语料。由前述经审核而过滤出的85万句子中,选择前30万句子,作为训练语料,进行10折交叉检验,训练命名实体识别模型,其结果如表5所示:

表5、基于10折交叉检验的命名实体识别模型的结果列表

实施例3、应用DBpedia知识库本体对中文维基百科文章分类。

DBpedia知识库中,含有实体类型数据最多的语言如表6所示:

表6、DBpedia中实体数量排名前8位的语种

通过如下操作对中文维基百科的文章进行分类:收集实体类型数据-所收集的实体类型数据包括:如表6所示的8个语种的实体类型、Wikidata(https://www.wikidata.org/wiki/Wikidata:Main_Page)所包含的实体类型数据、及Wikidata中指向GeoNames(http://www.geonames.org/)数据库的实体类型数据。

收集中文DBpedia知识库中指向其他语种DBpedia及Wikidata的RDF数据,样例如下:

对每个实体类型,根据实体类型之间的关系找到其所有的子类型,并进行相应的标注。中文DBpedia知识库具有外部链接的中文实体为1215474个,其中有667345个具有实体类型标注,所覆盖的中文维基百科文章为653539篇。

对于具有外部链接的中文实体,为其添加所有的标记,并转为相应的实体类型标记。由于一篇中文维基百科文章,可能对应于多个语种的DBpedia知识库,这样多个实体类型标记会产生。以实体‘朱棣文’为例,其对应的实体类型标记如下:

“朱棣文”:Counter(“{”:2,

”:2,

”:2,

”:1,

”:2})

那么,该实体的类型,通过映射到待标的实体类型(PER,LOC,ORG)为:“朱棣文”:Counter(PER:9)。对于含有多个不同实体类型的中文维基百科文章,本实施例,取频率最高的作为实体类型标记。另外,对于类型为https://www.w3.org/2003/01/geo/wgs84_pos/#SpatialThing的实体,其标记直接标为‘LOC’。通过上述操作,对除了目标实体类型之外的其他类型,都标记为‘OTH’,那么,总共653539篇中文维基百科文章中,四种类型实体的数量分布如下:[(OTH:210412),(PER:162267),(LOC:254498),(ORG:26362)]。

经由本实施例,最终获取137万条语句的训练语料,从中选取前30万语句,作10折交叉验证,训练命名实体识别模型,其结果如表6所示:

表7:应用DBpedia本体的命名实体识别模型的结果列表

与实施例2中所用的训练语料构建方法(即,基于启发式规则的分类方法+基于机器学习的分类方法+自动审核)相比,本实施例,仅单独使用DBpedia知识库本体,其最终训练而成的命名实体识别模型的性能相差不大(比较表5和表7)。然而,本实施例所生成的语料规模要远大于实施例2中所生成的语料规模,也从一定程度上说明了本实施例所用的方法,其生成的语料库的覆盖范围更广,可以召回更多的句子。

实施例4、对句子集中的句子进行命名实体标注。

在构建命名实体标注的语料库的实施过程中,待标注的维基百科句子本身并没有对外链接的情形时,以描述实体‘周杰伦’的维基百科‘周杰伦’页面文章举例说明处理过程:

找到周杰伦页面文章的所有的对外链接,构建一个潜在标记字符的别名集合(包括本名),

如{“中国”:[“中华人民共和国”,“中国”,“China”,...],“台湾”:[“台湾”,“台湾省”,...],...}

在此例中,如果某维基百科语句含有‘中华人民共和国’字符串,那么该字符串将和维基百科中‘中国’的页面文章进行映射。

由以上别名集,构成一颗‘trie’结构的树,本实施例使用pyahocorasick(https://pyahocorasick.readthedocs.io/en/latest/)实现。

将文档切分为句子,并将繁体中文字符转为简体中文字符,保留长度大于6的句子。

利用trie树查询所有可能的标记,例如:

“周杰伦出生于中国台湾省。”

上述例句没有对外链接,通过trie树,可以查询到‘周杰伦’,‘中国’,‘台湾’,‘台湾省’,其中‘台湾’和‘台湾省’两个别名是同义的,本实施例中,选择最长的字符串作为最终标记。最后,对该例句,采用‘BIESO’(其中,‘B’表示实体字符串的开始位置,‘I’表示实体字符串的中间位置,‘E’表示实体字符串的结束位置,‘S’表示单字符实体,‘O’表示非实体字符)编码体系,所得到的标注结果如下所示:

周B_PER

杰I_PER

伦E_PER

出O

生O

于O

中B_LOC

国E_LOC

台B_LOC

湾I_LOC

省E_LOC

实施例5、应用首句标签法扩展实体词典。

本实施例应用首句标签法对实体词典进行扩展,扩展实体词典的规则如下定义:

维基百科文章第一句中,将动词‘为’或者‘是’的直接宾语作为实体概念,如例句“广州市,简称穗或广,别称省城、羊城等,为广东省省会。”,其中‘省会’是‘为’的直接宾语,因此选择‘省会’作为实体概念;

维基百科文章第一句中,当动词‘为’或者‘是’的直接宾语为‘之一’、‘一种’等特殊词时,取特殊词前的第一个名词作为实体概念,如“牡丹花是花的一种。”,‘花’被选为实体概念;

类型标记的思路,更切合实际,扩展性更强。

维基百科文章,第一句中的并列关系名词可选为实体概念,如“北京市,中国的首都”,‘首都’作为‘北京市’的并列关系词,被选为实体概念。

在实体概念词的提取过程中,假如提取到多个概念,那么允许一篇文章可以对应多个概念词。对于具有重定向页面的文章,以其重定向的文章所表达的实体概念作为自身的概念。经过上述规则的应用,由首句标签法所构建的词典,总共包含1655402个条目,样例如下:

宝安体育中心站,车站

宝体公园站,车站

孙观,舒城人

孙观,官员

DMG,公司

...

实施例6、应用类别标签法扩展实体词典

因为维基百科文章的类别信息很大程度可对应于该文章所表达的实体的类别,本实施例中,从中文维基百科文章的类别描述文本中,选取最后一个名词短语,作为该篇文章的类别。例如,对于类别文本‘中国省份’中的最后一个名词短语为‘省份’,那么所有含有类别‘中国省份’的维基百科文章可由‘文章标题,省份’的形式添加到词典中。举例说明如下:对于中文维基百科文章‘广东省’,因为含有‘中国省份’这个类别标记,即可将‘广东省,省份’添加到实体词典中。以类别标签法构建词典,共得到300176个条目,样例如下:

毫州市,名城

豪州市,地级市

谯县,名城

谯县,地级市

...

实施例7、应用DBpedia知识库本体构建词典。

本实施例中基于实施例3得到的标注结果,利用已经标注的实体信息,构建实体词典,获取共计1204401个实体概念,样例如下:

蔡国斌,PER

沈机集团昆明机床股份,ORG

维莱马尼,LOC

欧巴布也那艺术中心,LOC

...

实施例8、验证引入词典特征的命名实体识别模型优化效果。

本实施例验证本发明获取用于命名实体识别的语料库后,通过引入由实体词典扩展方法而获取的实体词典(实施例5、6),作为组成特征向量的特征,在此基础上所训练的中文命名实体识别模型,其效果是否优于中文命名实体识别基准线模型(即,只在由命名实体标注的训练语料上训练模型,忽略实体词典)。

将外部实体词典引入命名实体识别模型的构建过程当中,其实质是为训练样本附加实体词典的信息,具体引入方式如下:找到句子中含有词典第一列中所含有的字符串,及该字符串在词典中对应的信息;为每个训练语句字符串中的单位字符串(以字为特征,其单位字符串为单个字符;以词为特征,其单位字符串为词语)分配实体词典特征。

本实施例采用基于字特征的SVM命名实体识别模型,对引入外部实体词典于命名实体识别模型构建过程的效果进行评测。其中,基于字特征的SVM命名实体识别模型所采用的特征集包括:字本身、字的前后各一个字、字的前后各两个字、和字前面两个字的输出标注。采用前述特征集的SVM命名实体识别模型,简称为“baseline”模型。baseline模型结合不同的词典,组合特征集,构建不同的‘baseline+词典’的模型,用于和baseline模型对比,以此说明,通过引入外部实体词典,命名实体识别模型的性能是可以得到提升的。

训练上述模型所需的语料是由应用本发明所提出的构建语料库的方法,获取的中文维基百科50000个句子。其中,90%作为训练集、剩余10%作为测试集,并在训练集上做10折交叉验证。在上述所要构建的命名实体识别模型中,由baseline加上实施例5所建词典的模型,简称为‘baseline+FSC’,由baseline加上实施例6所建词典的模型,简称为‘baseline+CC’,由baseline加上实施例7所建词典的模型,简称为‘baseline+DBO’。前述4种命名实体识别模型在测试集上的结果,可由表8所示,其中,‘NUM’表示数字,‘UNT’表示度量单位,‘TIME’表示时间,‘Total(all)’为全部实体类型的平均值,‘Total(lop)’为‘LOC’、‘ORG’、‘PER’的平均值。

表8:不同命名实体识别模型性能的比较列表

由表8的结果可明显看出:引入外部实体词典的命名实体识别模型,其性能要优于命名实体识别基准线模型。该结果不可辩驳地说明了引入外部实体词典,的确可以提升命名实体识别模型的性能。特别需要指出的是本实施例所引入的实体词典是在命名实体标注的语料库的构建过程中,自动生成的,是本发明所提出的语料库构建方法的‘副产品’,而不需要耗费大量人力成本,从零开始构建。

实施例9、命名实体识别模型评测。

本实施例通过合并以下三个命名实体标注的语料库,在合并后的语料库中,结合外部实体词典信息,训练中文命名实体识别模型,与现有的命名实体识别工具StanfordNER(https://nlp.stanford.edu/ner/)、哈工大LTP(http://www.ltp-cloud.com/)在共同的测试集中,根据其识别的效果进行比较。本实施例所使用的语料库包括:

1.人民日报词性标注语料库-该语料库,由1998年人民日报的新闻文本构成,总共对22722个句子进行了词性标注。其中,针对人物、地点、组织和时间的词性标签分别为‘nr’、‘ns’、‘nt’、‘t’,并且对于人物标注,姓和名是分开的,时间标注是按年、月、日分别标记的,有些复合名词短语所表达的实体是切分标记的。

SIGHANBakeoff2006NERTask语料库-该语料来自第3届国际中文语言处理NER竞赛所使用的部分数据,总计46364个句子。其中,人物、地点、组织分别以‘nr’、‘ns’、‘nt’标签标记。

由本发明所提出的命名实体标注的语料库构建方法所标注的中文维基百科语料-从该语料库中,选取50000个句子。对于前两个公共语料库,需要进行一定的文本预处理,并将它们转换为以‘BIESO’编码体系,标注命名实体的NER语料库。将前述三个语料库合并,构成训练语料,其中,训练集由三个语料库的前90%组成,测试集由三个语料库的后10%组成。在所构成的训练集上训练中文命名实体识别模型(该模型简称为:‘aawantNER’),其在测试集上的表现,可由表9所示,所支持的实体类别包括人物(PER)、地点(LOC)、组织(ORG)、时间(TIME)、数字(NUM)、度量单位(UNT)六种基本实体,‘Total(all)’表示六种实体的平均值,‘Total(lop)’表示‘LOC+ORG+PER’的平均值。

表9、在合并后的三个语料库上训练NER模型的识别效果

为了进一步评测本实施例中的‘aawantNER’模型,从新闻领域中,任意选取足球、时事、其他三个类别的新闻数据,共计204篇,每个类别68篇。从每个类别的新闻数据中选取标题和第一句话组成测试集,并人工标注其中所含的实体,作为‘groundtruth’标签,来比较‘aawantNER’、和其他两种国内外主流NER工具,分别表示为‘哈工大LTP’、

‘StanfordNER’,的识别效果。以‘F1’测试指标(数值越大,表示效果越好)所衡量的测试结果,可由表10、11、12分别显示,其中,‘Total(all)’表示六种实体类别的平均值,‘Total(lopt)’表示‘LOC+ORG+PER+TIME’的平均值,‘Total(lop)’表示

‘LOC+ORG+PER’的平均值。在所比较的三种NER模型中,得分最高的以‘粗黑体’表示。

表10、NER模型性能比较列表A

表11、NER模型性能比较列表B

表12、NER模型性能比较列表C

由表10至表12的结果可知:aawantNER模型的性能要明显优于其他两个主流NER工具,这也同时从反面验证了,实施本发明所提出的命名实体标注的语料库的构建方法,其所获取的标注语料的质量是可靠的,是足以支撑中文命名实体识别任务的;更为重要的是,本发明所提出的用于中文命名实体识别的语料库是自动构建的,有效地利用了公共的外部知识源,完全摒弃了费时而又费力的人工标注。

本发明所选用的语料源代表着目前最大、最专业的在线百科知识库,也就意味着其所能覆盖的实体类型更加丰富、更加多样化;整个构建和标注过程是自动化实现的,不需要耗费昂贵的人工标注成本;所获取的经过命名实体标注的语料库,其质量是可靠的、强健的;

经由标注过程中所产生的‘副产品’-实体词典,可作为特征引入到基于机器学习的命名实体识别模型构建当中,用以提升中文命名实体识别模型的性能。

有益效果:本发明构建中文命名实体标注的语料库的方法能够通过中文维基百科和DBpedia知识库这些外部知识源构建中文命名实体标注的语料库,无需人工构建和标注文本数据,耗时短、费用低,而且中文维基百科涉及范围和包含领域广泛的特征降低了语料库训练的命名体识别模型对领域数据的依赖性,减轻了其改变和移植的难度。

基于相同的发明构思,本发明还提出一种构建中文命名实体标注的语料库的装置,请参阅图3,图3本发明构建中文命名实体标注的语料库的装置一实施例的结构图,结合图3对本发明构建中文命名实体标注的语料库的装置作具体说明。

构建中文命名实体标注的语料库的装置包括处理器、存储器,处理器与存储器耦合连接;

存储器存储有程序数据,处理器执行程序数据以实现如上述实施例所述的构建中文命名实体标注的语料库的方法。

在本实施例中,构建中文命名实体标注的语料库的装置可以为电脑、服务器、云端服务器、平板电脑、手机以及其他实体智能设备或虚拟终端。

有益效果:本发明构建中文命名实体标注的语料库的装置能够通过中文维基百科和DBpedia知识库这些外部知识源构建中文命名实体标注的语料库,无需人工构建和标注文本数据,耗时短、费用低,而且中文维基百科涉及范围和包含领域广泛的特征降低了语料库训练的命名体识别模型对领域数据的依赖性,减轻了其改变和移植的难度。

上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号