精华内容
下载资源
问答
  • 在一个实体表示的信息中称为
    千次阅读
    2020-12-20 22:08:32

    实体-联系(Entity-Relationship, E-R)模型(以下简称E-R模型)的提出旨在方便数据库的设计,它是通过允许定义代表数据全局逻辑结构的企业模式实现的。
    E-R模型采用三个基本概念:实体集、联系集和属性。

    实体集

    实体(entity)是现实世界中可区别于所有其他对象的一个“事物”或“对象”。(与面向对象的类含义类似)实体集是相同类型即具有相同性质(或属性)的一个实体集合。在建模汇中,我们通常抽象地使用术语“实体集”,而不是指某个个别实体的特别集合。
    实体集不必互不相交。如可以定义大学里所有人的实体集(person)。一个person实体可以是teacher实体,也可以是student实体,可以既是teacher实体又是student实体,也可以都不是。
    实体通过一组属性(attribute)来表示。属性是实体集中每个成员所拥有的描述性性质。且每个属性都有一个值。

    弱实体集

    没有足够的属性以形成主码的实体集称为弱实体集(weak entity set)。有主码的实体集称作强实体集(strong entity set)。弱实体集必须与另一个称作标识(identitying)或属主实体集的实体集关联才能有意义。也就是说,弱实体集的存在依赖于标识实体集。将弱实体集与其标识实体集相连的联系称为标识性联系
    标识性联系是从弱实体集到标识实体集多对一的,并且弱实体集在联系中的参与是全部的。
    虽然弱实体集没有主码,但仍需要区分依赖于特定强实体集的弱实体集中实体的方法。弱实体集的分辨符是使得我们进行这种区分的属性集合。弱实体集的分辨符也称为该实体集的部分码
    弱实体的主码由标志实体集的主码加上该弱实体集的分辨符构成。

    联系集

    联系(relationship)是指多个实体间的相互关联。联系集是相同类型联系的集合。
    联系集也可以具有描述性属性(descriptive attribute)。如果teacher实体集与student实体集的联系集advisor。可以将属性date与该联系集联系起来,以表示教师成为学生的老师的日期。
    数据库中的大部分联系集都是二元的。然而,有时联系集会涉及多于两个实体集。参与联系集的实体集的数目称为联系集的度(degree)。二元联系集的度为2,三元联系集的度为3,以此类推。

    非二元的联系集

    对于非二元联系集,为了避免混淆,只允许在一个联系集外有一个箭头。(如果有多个箭头,则无法表明对应的哪个实体)。而函数依赖可以以一种不会混淆的方式描述实体间的联系。

    属性

    每个属性都有一个可取值的集合,称为该属性的域(domain),或者值集(value set)。 严格来说,实体集的属性是将实体集映射到域的函数。由于一个实体集可能有多个属性,因此每个实体可以用一组(属性,数据值)对来表示,实体集的每个属性对应一个这样的对。
    E-R模型中的属性可以按照如下的属性类型来划分:

    • 简单(simple)和复合(composite)属性。简单属性不能划分为更小的部分。复合属性可以再划分为更小的部分。 复合属性帮助我们把相关属性聚集起来,使模型更清晰。注意,复合属性可以是有层次的。如address可以包含street、city、state等,而street可以进一步分解为street_number、street_name、apartment_number。
    • 单值(single-valued)和多值(multi-valued)属性。一般情况下,一个属性对应一个值,这样的属性称为单值属性。如stuent_ID属性只对应于一个学生ID。而在某些情况下对某个特定实体而言,一个属性可能对应于一组值。以phone_number为例,每个教师可以有零个、一个或多个电话号码。这样的属性称为多值属性。为了表示一个多值属性,用花括号将属性名包住;如{phone_number}。
    • 派生(derived属性)。派生属性的值可以从别的相关属性或实体派生(计算)出来。如age属性表示年龄,如果还具有属性date_of_birth,就可以从当前的日期和date_of_birth计算出age。派生属性的值不存储,而是在需要时计算出来。
      当实体在某个属性上没有值时,使用空(null)值。空值可以表示“不适用”,即该实体的这个属性不存在值。空还可以用来表示属性值未知。未知的值可能是缺失的(值不存在),或不知道的(不知道该值是否确实存在)。

    删除冗余属性

    一个好的实体-联系设计不包含冗余的属性。但是在实际开发中,实现这一点需要极大的代价。

    约束

    可以定义一些数据库中的数据必须要满足的约束。

    映射基数(Mapping Cardinality)

    映射基数表示一个实体通过一个联系集能关联的实体的个数。对于实体集A和B之间的二元联系集R来说,映射基数必然是以下情况之一:
    一对一(one-to-one):A中的一个实体至多与B中的一个实体相关联,并且B中的一个实体也至多与A中的一个实体相关联。
    一对多(one-to-many):A中的一个实体可以与B中的任意数目(零个或多个)实体相关联,而B中的一个实体至多与A中的一个实体相关联。
    多对一(many-to-one):A中的一个实体至多与B中的一个实体相关联,而B中的一个实体可以与A中的任意数目(零个或多个)的实体相关联。
    多对多(many-to-many):A中的一个实体可以与B中的任意数目(零个或多个)实体相关联,,并且B中的一个实体也可以与A中的任意数目(零个或多个)的实体相关联。
    注意,考虑映射关系时,一定要同时考虑A->B和B->A两个方面,而不能只考虑其中一方面而忽略另一方面,从而导致错误的设计。

    参与约束

    如果实体集E中的每个实体都参与到联系集R的至少一个联系中,那么实体集E在联系集R中的参与称为全部的。如果实体集E中只有部分参与到联系集R中,那么实体集E在联系集R中的参与称为部分的。如我们期望每个student实体通过advisor联系同至少一名教师相联系,因此student在联系集advisor中的参与是全部的。相反地,一个teacher不是必须要指导一个学生。因此,很可能只有一部分teacher实体通过advisor联系同student相关联,于是teacher在advisor中的参与是部分的。

    我们必须有一个区分给定实体集中实体的方法。从概念上来说,各个实体是互异的;但从数据库的观点来看,它们的区别必须通过其属性表明。实体的码是一个足以区分每个实体属性集。关系模式中的超码、候选码、主码的概念同样适用于实体集。
    码同样可以唯一标识联系,并从而将联系相互区分开来。联系集的主码结构依赖于联系集的映射基数。如果联系集是多对多的,那么联系集的主码由两个实体集的主码的并集构成。如果联系是多对一的,那么多的实体的主码就是联系集的主码。如果联系集是一对一的,那么两个实体的任一主码就是联系集的主码。

    E-R数据模式转换为关系模式

    E-R模型和关系数据库模型都是现实世界企业抽象的逻辑表示。由于两种模型采用类似的设计原则,因此可将E-R设计转换为关系设计。

    具有简单属性的强实体集的表示

    设E是只具有简单描述性属性a1,a2,…,an的强实体集。我们用具有n个不同属性的模式E来表示这个实体集。对于从强实体集转换而来的模式,强实体集的主码就是生成的模式的主码。

    具有复杂属性的强实体集的表示

    当一个强实体集具有非简单属性时,可以通过为每个子属性创建一个单独的属性来处理复合属性,而不为复合属性自身创建一个单独的属性。
    多值属性的处理不同于其他属性。对于一个多值属性M,构建关系模式R,该模式包含一个对应于M的属性A,以及对应于M所在的实体集或联系集的主码的属性。另外,在多值属性构建的关系模式上建立外码约束,由实体集的主码所生成的属性去参照实体集所生成的关系。
    派生属性并不在关系数据模型中显式地表达出来。

    弱实体集的表示

    设A是具有属性a1,a2,…,an的弱实体集,设B是A所依赖的强实体集,设B的主码包括b1,b2,…,bn。
    对于从弱实体集转换而来的模式,该模式的主码由其所依赖的强实体集的主码与弱实体集的分辨符组合而成。除了创建主码之外,还要在关系A上建立外码约束,该约束指明属性b1,b2,…,bn参照关系B的主码。外码约束保证表示弱实体的每个元组都有一个表示相应强实体的元组与之对应。

    联系集的表示

    设R是联系集,设a1,a2,…,an表示所有参与R的实体集的主码的并集构成的属性集合,设R的描述性属性(如果有)为b1,b2,…,bn。映射基数不同,主码的选择方式不同:

    • 对于多对多的二元联系集,参与实体集的主码属性的并集成为主码。
    • 对于一对多的二元联系集,任何一个实体集的主码都可以选作主码。这个选择是任意的。
    • 对于多对一或一对多的二元联系集,联系集中多的那一方的实体集的主码构成主码。
    • 对于边上没有箭头的n元联系集,所有参与实体集的主码属性的并集构成主码。
    • 对于边上有一个箭头的n元联系集,不在"箭头"侧的实体集的主码属性为模式的主码。
      此外,还需在关系模式R上建立外键约束。

    模式的冗余

    连接弱实体集和相应强实体集的联系集比较特殊。弱实体集的主码包含强实体集的主码。连接弱实体集与其所依赖强实体集的联系集的模式是冗余的,而且在基于E-R图的关系数据库设计不必给出。

    模式的合并

    在一对一的联系的情况下,联系集的关系模式可以跟参与联系的任何一个实体集的模式进行合并。即使参与是部分的,也可以通过空值来进行模式的合并。
    最后,还需考虑表示联系集的模式上本应有的外码约束。参照每一个参与联系集的实体集的外码约束本应存在。我们舍弃了参照联系集模式所合并入的实体集模式的约束,然后将另一个外码约束加到合并的模式中。

    实体-联系设计问题

    在实体-联系数据库模式中涉及到一些基本问题。

    用实体集还是用属性

    什么构成属性?什么构成实体集?对这两个问题并不能简单地回答。区分它们主要依赖于被建模的现实世界的企业结构,以及被讨论的属性的相关语义。
    一个常见的错误是用一个实体集的主码作为另一个实体集的属性,而不是用联系。例如,即使每名教师指指导一名学生,将student的ID作为teacher的属性也是不正确的。用advisor联系代表学生和教师之间的关联才是正确的方法,因为这样可以明确表示出两者之间的关系而不是将这种关系隐含在属性中。
    另一个常见的错误是将相关实体集主码属性为联系集的属性。这种做法是不对的,因为在联系集中已隐含这些主码属性。(这些属性默认已经在联系集中,不应再明确表示出来)

    用实体集还是联系集

    一个对象最好被表述为实体集还是联系集并不总是显而易见。在决定用实体集还是联系集可采用一个原则是,当描述发生在实体间的行为时采用联系集。这一方法在决定是否将某些属性表示为联系可能更适合时也很有用。

    二元还是n元联系集

    数据库中的联系通常都是二元的。一些看来非二元的联系实际上可以用多个二元联系更好地表示。事实上,一个非二元的(n元,n>2)联系集总可以用一组不同的二元联系集来替代。可以将这一过程直接推广到n元联系集的情况。因此在概念上可以限制E-R模型只包含二元联系集。然而,这种限制并不总是令人满意的。

    • 对于为表示联系集而创建的实体集,可能不得不为其创建一个标识属性。该标识属性和额外所需的那些联系集增加了设计的复杂度以及对总的存储空间的需求。
    • n元联系集可以更清晰地表示几个实体集参与单个联系集。
    • 有可能无法将三元联系上的约束转变为二元联系上的约束。例如,考虑一个约束,表明R是从A、B到C多对一的;也就是,来自A和B的每一对实体最多与一个C实体关联。这种约束就不能用联系集Ra、Rb和Rc上的基数约束表示。

    联系集中属性的布局

    一个联系的映射基数比率会影响联系集中属性的布局。因此,一对一或一对多联系集的属性可以放到一个参与该联系的实体集中,而不是放到联系集中。一对多联系集的属性仅可以重置到参与联系的“多”方的实体集中。而对于一对一的联系集,联系的属性可以放到任意一个参与联系的实体中。
    设计时将描述性属性作为联系集的属性还是实体集的属性这一决定反映出被建模企业的特点。
    属性位置的选择在多对多的联系集中体现得更清楚。同名的属性,放在实体集中还是联系集中其作用不同。

    扩展的E-R特性

    虽然基本的E-R概念足以对大多数数据库特征建模,但数据库的某些方面可以通过基本E-R模型作某些扩展来更恰当地表达。

    特化(Specialization)

    在实体集内部进行分组的过程称为特化。一个实体集可以根据多个可区分的特征进行特化。在E-R图中,特化用从特化实体指向另一个实体的空心箭头来表示。所以,这种关系也称为ISA关系。特化关系还可能形成超类-子类(superclass-subclass)联系。

    概化(Generalization)

    实体的共性可以通过概化来表达,概化是高层实体集与一个或多个低层实体集间的包含关系。对于所有实际应用来说,概化只不过是特化的逆过程。为企业设计E-R模型时,将配合使用这两个过程。

    聚集(Aggregation)

    聚集是一种抽象,通过这种抽象,联系被视为高层实体。
    当把聚集像其他实体集一样看待时,之前用于在联系集上创建主码和外码约束的规则,也同样可以应用于与聚集相关联的联系集。聚集的主码是定义该聚集的联系集的主码。不需要单独的关系来表示聚集;而使用从定义该聚集的联系创建出来的关系即可。

    数据库设计的其他方面

    数据约束和关系数据库设计

    使用SQL可以表达多种数据约束,包括主码约束、外码约束、check约束、断言和触发器。约束有多种目的。最明显的一个目的是自动的一致性保持。通过在SQL数据定义语言中表达约束,设计者能够确保数据库系统自己执行这些约束(显式声明约束)。
    显式声明约束的另一个优点是一些约束在数据库模式的设计中特别有用。
    数据约束在确定数据的物理结构时同样有用,可以将彼此紧密相关的数据存储在磁盘上邻近的区域,以便在磁盘访问时提高效率。如将索引建立在主码上,索引结构工作得更好。
    每次数据库更新时,执行约束会在性能上带来潜在的高代价。对于每次更新,系统都必须检查所有的约束,然后要么拒绝与约束冲突的更新,要么运行相应的触发器。性能损失的严重性,不仅仅取决于更新的频率,而且依赖于数据库的设计方式。

    使用需求:查询、性能

    数据库系统的性能时绝大多数企业信息系统的一个关键因素。性能不仅与计算能力的有效利用以及所使用的存储硬件有关,而且受到与系统交互的人的效率以及依赖数据库数据的处理的效率的影响。以下是效率的两个主要度量方法:

    • 吞吐量(throughput)————每单位时间里能够处理的查询或更新(通常指事务)的平均数量。
    • 响应时间(response time)————单个事务从开始到结束所需的平均时间或最长时间。

    授权需求

    授权约束同样会影响数据库的设计,因为SQL允许在数据库逻辑设计组件的基础上将访问权限授予用户。(现有主流数据库系统均已合理实现授权(基于角色分配))

    数据流、工作流

    术语工作流表示一个流程中的数据和任务的组合。当工作流在用户间移动以及用户执行他们在工作流中的任务时,工作流会与数据库系统交互。

    数据库设计的其他问题

    数据库设计通常不是一个一蹴而就的工作。一个组织的需求不断发展,它所需要存储的数据也会相应地发展。但是,对于一个已明确的需求,还是可以给出稳定的设计的。
    一个好的设计应该不止考虑当前的规定,还应该避免或者最小化由预计或有可能发生的改变而带来的改动。(需要做向上兼容的思考)
    最后,数据库设计在两个意义上是面向人的工作:系统的最终用户是人(使用该程序的用户);数据库设计者需与应用领域的专家进行广泛交互以理解应用的数据需求。所有涉及数据的人都有需要和偏好,为了数据库设计和部署在企业中获得成功,这些都是需要考虑的。

    参考

    数据库系统概念(第六版) A. Silberschatz H. F. Korth S. Sudarshan著 杨冬青 等译 第七章

    更多相关内容
  • 数据库实体联系模型与关系模型

    千次阅读 2020-03-02 19:11:33
    数据库设计是指根据用户的需求,具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。例如,编程微课是在线编程教育项目,该项目涉及到课程、学生、老师、学习资料等数据,这些数据都要被存储下来,...

    数据库设计是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。例如,编程微课是在线编程教育项目,该项目涉及到课程、学生、老师、学习资料等数据,这些数据都要被存储下来,并且能够方便的增加、修改、删除和查询。这就需要规划课程、学生、老师、学习资料等数据构成以及相互之间的关系。因此,规划数据构成及数据间关系,并应用某一具体的数据库管理系统如MySQL构建数据库的过程就是数据库设计。

    由于项目需求的易变性和数据的复杂性,数据库设计不可能一蹴而就,而只能是一种“反复探寻,逐步求精”的过程。数据库设计步骤如下图所示:

     

     

                                           

                                                                    图2-5 数据库设计过程流程图

     

    需求分析阶段主要分析项目涉及的业务活动和数据的使用情况,弄清所用数据的种类、范围、数量以及在业务活动中的存储情况,确定用户对数据库系统的使用要求和各种约束条件等,形成数据库需求说明书

    概念结构设计阶段根据数据库需求说明书,创建数据库概念结构,描述概念结构的有力工具是ER模型

    ER模型表示的概念结构模型独立于任何一种数据模型,并独立于任何一个具体的数据库管理系统。因此,需要把概念结构设计阶段设计的ER模型转换为关系数据模型二维表结构,此阶段为逻辑结构设计阶段

    物理设计阶段是在计算机的物理设备上确定应采取的数据存储结构和存取方法,以及如何分配存储空间等问题。关系数据库物理设计的主要工作是由系统自动完成的,数据库设计者只要关心索引文件的创建即可

    验证设计是在上述设计的基础上,收集数据并建立数据库,运行应用任务来验证数据库的正确性和合理性,当发现设计问题时,可能需要对数据库设计进行修改。

     

    实体联系模型(ER图)

    当前常用的概念数据模型是ER模型。ER模型描述数据库的概念模式,不考虑数据库的逻辑与物理结构,它充分反映现实世界,易于理解,将现实世界的事物以信息结构的形式很方便地表示出来。

    例如,课程是编程微课的主要内容,课程涉及到老师、学生等对象等实体,进一步分析还涉及到课程视频、课程资料、课程价格等各种数据。在用ER模型对课程分析和描述中,对这些实体以及实体之间的联系给出了确切的定义。

    ER模型有四个概念,分别是实体、属性、联系、实体集

     

    实体

    实体是客观存在并且可以互相区分的事物,可以是人或物,也可以是抽象的概念。在现实世界,实体并不是孤立存在的,实体与实体之间也存在联系。例如,课程与学生之间存在学生学习课程的联系,课程与老师之间存在老师创建课程的联系。

     

    属性

    每个实体具有的特征称为属性,一个实体可以由若干属性来描述,属性都有其取值范围,称为值集或值域。例如,课程实体可以由课程编号、课程名称、授课老师、类别、简课程介、价格等属性组成。唯一地标识实体的属性或属性组称为实体的关键字。例如,属性值“20180603,Java编程基础,郎老师,编程语言,课程以浅显易懂的语言,以常见的生活场景为案例,带领大家逐步进入计算机编程世界,86”。其中20180603是课程编号的属性值,该编号在在所有的课程实体中是唯一的,该属性就是课程实体的关键字。

     

    联系

    实体不是孤立存在的,实体之间是有联系的。实体之间的联系可以分为三类:一对一(1:1)、一对多(1:n)和多对多(m:n)。例如,一个老师可以创建多个课程,老师与课程的联系就是一对多的;如果一个老师只能创建一个课程,则老师和课程的联系就是一对一的。在进行问题分析时,要根据客观实际,抓住问题实质进行现实世界的抽象

     

    实体集

    具有相同属性的实体的集合称为实体集。在同一实体集中,每个实体的属性及其值域是相同的,但可能取不同的值。例如,所有的课程实体组成课程实体集,所有的老师实体组成老师实体集。

     

    绘制ER图

    ER图是ER模型的图形化描述。俗话说:一张图胜过千言万语,用ER图可以清晰地描述出ER模型的结构。

    规范的ER图可以帮助人们对ER模型的统一认识,便于沟通和讨论,有助于工作效率的提高。它使用一组预定义的符号来表示ER模型的实体、属性、联系等概念,这些预先定义的符号已经标准化,从而让全世界的开发人员都可以采用这些符号而不会引起混淆。ER图的基本图素有如下的约定:

     

                           

                                                                              图 2-6 ER图的基本图素

    (1)用长方形表示实体,在框内写上实体名。

    (2)用椭圆表示实体的属性,并用连接线把实体与属性连接起来,属性如果是实体的关键字,可以用双线椭圆表示。

    (3)用菱形表示实体间的联系,菱形内写上联系名,用连接线把菱形分别与有关的实体相连接,在连接线旁标上连接的类型,如果联系也有属性,则联系的属性和菱形连接。

     

                                            

                                                                            图 2-7 用ER图表示的课程管理

    图2-7所示为用ER图表示一个课程管理,这是一个简化的课程管理模型,课程由老师创建并属于老师,两者之间是一对多的联系。课程与学生直接存在学习的联系,课程与学生是多对多的联系,因此联系也有属性,分别是学生编号和课程编号。双线椭圆表示的属性编号是实体的关键字。

    通过图2-7可以看出,ER模型是依赖业务运营方式的,它是企业运营方式的信息化描述。企业业务的改变直接影响着ER图的结构和实体间的联系。即使是相同的业务,数据库设计人员侧重分析的数据不同,给出的ER图也可能是不同的。

    对于设计比较复杂的系统来说,有时为了使ER图简洁明了,在ER图中可以省略属性,只画出实体和联系,将属性以表格的形式另外列出。如图2-8所示,给出的是不包含属性的ER图,

     

                                                    

                                                                     图 2-8 不包含属性的课程管理ER图

    ER图直观易懂,是系统开发人员和客户之间很好的沟通工具。对于客户来说,它概况了企业运营的方式和各种联系;对于系统开发人员来说,它从概念上描述了一个应用系统数据库的信息组织。因此,如能准确画出企业运营方式的ER图,就意味着搞清楚了企业的业务运营方式,以后可以根据ER图,结合具体的数据库管理系统,把ER图转换为数据库管理系统所能支持的数据模型。这种逐步推进的数据库设计方法已经普遍应用于数据库设计中,画出应用系统的ER图成为数据库设计的一个重要步骤。

     

    关系模型

    ER图给出了实体联系模型的图形化描述,增强了开发人员与客户的沟通能力。在需求开发阶段ER模型是非常重要的,也是从企业的业务运营方式到概念模型的映射。

    到了设计阶段。就需要在概念模型的基础上建立关系模型,关系模型是用二维表来表示实体集属性间的关系以及实体间联系的形式化模型。它将用户数据的逻辑结构ER模型归纳为满足一定条件的二维表的形式。

    ER模型中的一个实体或联系对应一张二维表,ER模型中的实体属性转换为二维表的列,也可称为属性,每个属性的名称称为属性名,也可称为列名。每个属性取值范围称为该属性的域。二维表每个属性或列取值后的一行数据称为二维表的一个元组,也可以称为一条记录。二维表可以包含有限个不重复的记录。

    图2-9给出了实体“课程”、“老师”转化为关系模型的二维表。每个课程是课程表中的一条记录或一个元组,即一行;同样,每个老师的属性也反映在老师表中的一行;课程表和老师表的联系反映在课程表属性“老师编号”字段上,该字段和老师表的编号字段为同一个字段,因此通过“老师编号”字段可以确定是哪位老师建立的课程。

     

                               

                                                                   图 2-9 由实体课程和老师转化的课程和

    二维表的不可重复性可知,关系中必然存在一个属性或属性组,能够唯一标识一个元组,该属性或属性组称为关键字。当关系中存在多个关键字时,称它们为候选关键字,指定其中一个为主关键字,简称主键。

    设计二维表时,关系应满足如下性质。

    (1)表中每一列的取值范围都是相同的,也就是数据类型相同。

    (2)不同列的取值范围可以相同,但列名称不能相同。

    (3)表中列的次序可以变换,不影响关系的实际意义。

    (4)同一个表中,不允许存在两个完全相同的元组,这是集合的一个基本性质,保证了关系中元组的唯一性。

    (5)行的次序可以任意交换。

    (6)关系中的任何一个属性值都必须是不可分的元素。

    展开全文
  • PART3 简历抽取关键信息 2 命名实体识别不同方法 PART1 实体识别方法 基于规则的方法 基于majarity voting 基于非时序模型分类 基于时序模型分类 总体来讲,前两种方法只是作为基准,一般不会作为生产环境...

    前言

    自然语言处理中一个重要的任务就是命名实体识别,自1991年开始,命名实体识别逐渐开始走进人们的视野。

    随着深度学习的发展,命名实体识别技术也得到了极大地进步。从最初的基于规则和字典的方法,到现在热门的注意力机制、图神经网络等方法,命名实体识别已经在各大数据集上已经取得了很高的准确率,但从自然语言处理实际应用的角度来看,命名实体识别技术依旧面临着很大的挑战。

    一、命名实体识别概论

    1.什么是命名实体识别

    命名实体识别(Named Entity Recognition,简称NER),又称作“专名识别”,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。简单的讲,就是识别自然文本中的实体指称的边界和类别。

     其中产品名、组织、公司、人物就是我们提取出的命名实体。

    2.命名实体识别的应用

    命名实体识别可以落地到多个应用场景,包括聊天机器人新闻关键信息提取等等。

    2.1 聊天机器人

    以上是基于任务式的对话系统的大致流程。这种对话系统也称之为基于填槽式的对话系统。简单来讲,为了能够为用户解决一个问题,AI机器需要获得相关的信息,所以整个对话过程实际上就是从用户那里获得这些信息。一旦获取完毕,就可以对数据库做进一步查询。

    2.2 简历分析

    一份简历中包含大量的信息,如果通过HR一份份过,无疑会耗费大量的时间和精力。所以我们如何通过命名实体识别来进行简历的关键信息提取呢?

     

    首先这是一个垂直领域内的问题,我们需要构建NER来提取信息,并且需要自己定义所需要的实体种类,并进行大量的数据标记

     

    当我们标记好大量数据后,实际上这就是一个分类问题,输入文本词语,输出对应的种类就可以了,那么我们需要构造一个类别数为实体种类的分类器。

    二、命名实体识别方法

    1.实体识别方法

    命名实体识别从早期基于词典和规则的方法,到传统机器学习的方法,后来采用基于深度学习的方法,一直到当下热门的注意力机制、图神经网络等研究方法,命名实体识别技术路线随着时间在不断发展。技术发展趋势如下图所示:

    1.1 基于规则和字典的方法

    基于规则和字典的方法是最初代的命名实体识别使用的方法,这些方法多采用由语言学家通过人工方式,依据数据集特征构建的特定规则模板或者特殊词典。规则包括关键词、位置词、方位词、中心词、指示词、统计信息、标点符号等。词典是由特征词构成的词典和外部词典共同组成,外部词典指已有的常识词典。制定好规则和词典后,通常使用匹配的方式对文本进行处理以实现命名实体识别。

    基于规则的实体识别方法虽然简单,实际上也比较实用,特别是对于一些垂直领域的应用,或者数据量比较少或者没有标签数据的时候。如果我们有一个足够丰富的词典库,那么仅仅根据词库也能做到不错的准确率。另外,基于规则的识别方法是一套非常有效的基准(baseline)。

    1.2 基于传统机器学习的方法

    在基于机器学习的方法中,命名实体识别被当作是序列标注问题。与分类问题相比,序列标注问题中当前的预测标签不仅与当前的输入特征相关,还与之前的预测标签相关,即预测标签序列之间是有强相互依赖关系的。采用的传统机器学习方法主要包括:隐马尔可夫模型、最大熵、最大熵马尔可夫模型、支持向量机、条件随机场 等。

    在这 5 种学习方法中,ME结构紧凑,具有较好的通用性,其主要缺点是训练时间复杂性非常高,甚至导致训练代价难以承受,另外由于需要明确的归一化计算,导致开销比较大。HMM对转移概率和表现概率直接建模,统计共现概率。ME和SVM在正确率上要 HMM高一些,但是HMM在训练和识别时的速度要快一些。MEMM对转移概率和表现概率建立联合概率,统计条件概率,但由于只在局部做归一化容易陷入局部最优。CRF模型统计全局概率,在归一化时考虑数据在全局的分布,而不是仅仅在局部进行归一化,因此解决了MEMM中标记偏置的问题。在传统机器学习中,CRF被看作是命名实体识别的主流模型,优点在于在对一个位置进行标注的过程中CRF可以利用内部及上下文特征信息。

    1.3 基于深度学习的方法

    随着深度学习的不断发展,命名实体识别的研究重点已转向深层神经网络,该技术几乎不需要特征工程和领域知识。Collobert等学者首次提出基于神经网络的命名实体识别方法,该方法中每个单词具有固定大小的窗口,但未能考虑长距离单词之间的有效信息。为了克服这一限制,Chiu和Nichols提出了一种双向LSTM-CNNs架构,该架构可自动检测单词和字符级别的特征。Ma和Hovy进一步将其扩展到BiLSTM-CNNs-CRF体系结构,其中添加了CRF模块以优化输出标签序列。Liu等提出了一种称为LM-LSTM-CRF的任务感知型神经语言模型,将字符感知型神经语言模型合并到一个多任务框架下,以提取字符级向量化表示。这些端到端模型具备从数据中自动学习的功能,可以很好地识别新实体。

    部分学者将辅助信息和深度学习方法混合使用进行命名实体识别。Liu 等在混合半马尔可夫条件随机场的体系结构的基础上加入了Gazetteers 地名词典,利用实体在地名词典的匹配结果作为命名实体识别的特征之一。一些研究尝试在标签级别跨数据集共享信息,Greenberg等提出了一个单一的CRF模型,使用异构标签集进行命名实体识别,此方法对平衡标签分布的领域数据集有实用性。Augenstein 等使用标签向量化表示在任务之间进一步播信息。Beryozkin等建议使用给定的标签层次结构共同学习一个在所有标签集中共享其标签层的神经网络,取得了非常优异的性能。

    近年来,在基于神经网络的结构上加入注意力机制、图神经网络、迁移学习、远监督学习等热门研究技术也是目前的主流研究方向。

    总体来讲,前两种方法只是作为基准,一般不会作为生产环境下的方法,最常用的方法莫过于基于CRF的识别。

    三、实体消歧

    1.实体消歧概念

    实体消歧的本质是在于一个词很有可能有多个意思,也就是在不同的上下文中所表示的含义不太一样。

    2.实体消歧解法

    2.1 基于聚类的实体消歧方法

    该方法主要是计算实体指称项之间的相似度,采用某种聚类算法对实体指称项聚类,使得聚类结果中每一个类别都对应于一个目标实体上。主要包括基于表层特征的实体指称项相似度计算、
    基于扩展特征的实体指称项相似度计算、基于社会化网络的实体指称项相似度计算。

    基于表层特征的实体指称项相似度计算:
    传统方法多利用表层特征计算相似度,这些方法通常是词袋模型(Bag of Words,BoW)模型的延伸,性能不好。 

    这类方法都是基于上下文表层特征的关联来计算它们之间的相似度,而没有考虑到上下文特征的内在关联,因此影响聚类效果。

    基于扩展特征的实体指称项相似度计算:
    利用知识资源提升实体消歧的性能。
    最直接的方法:使用知识资源来扩展实体指称项的特征表示。

    基于社会化网络的实体指称项相似度计算:
    基于社会化网络的实体指称项相似度通常使用基于图的算法,能够充分利用社会化关系的传递性,从而考虑隐藏的关系知识,在某些情况下(特别是结构化数据,eg:论文记录、电影记录等)能够更为准确的实体指称项相似度计算结果。

    缺点:只用到上下文中的实体信息,不能完全利用实体指称项的其他上下文信息,因此不能在文本消歧领域取得有竞争力的性能。

    2.2 基于实体链接的实体消歧方法

    基于实体链接的实体消歧方法:将实体指称项链接到知识库中特定的实体,也称实体链接(Entity Linking)。
    实体链接:将一个命名实体的文本指称项(Textual Mention)链接到知识库中对应实体的过程(若不存在对应实体,则将实体指称项链接到空实体NIL)

    实体链接的输入包括两部分:

    • 目标实体知识库:最常用Wikipedia,或特定领域知识库。
      • 知识库通常包括:实体表、实体的文本描述、实体的结构化信息(eg:属性/属性值对)、实体的辅助性信息(eg:实体类别);也经常提供额外的结构化语义信息,eg:实体之间的关联
    • 待消歧实体指称项及其上下文信息

    步骤:

    • 链接候选过滤(Blocking):根据规则或知识过滤大部分指称项不可能指向的实体,仅仅保留少量链接实体候选。
    • 实体链接(Linking):给定指称项及其链接候选,确定该实体指称项最终指向的目标实体。(重点研究)

    链接候选过滤方法:
    大部分是基于实体指称项词典:通过在字典中记录一个指称项所有可能指向的目标实体来进行链接候选过滤。

    传统实体链接方法:使用Wikipedia等知识资源构建指称项词典,包括Wikipedia Entity Name、Wikipedia Redirection Page等。

    为了匹配模糊或拼错的指称项,一些基于构词法的模糊匹配也在TAC评测中使用,eg:Metaphone算法和Soft TFIDF算法

    实体链接方法:
    实体链接方法选择与指称项具有最高一致性打分的实体作为其目标实体。现有方法可分为:向量空间模型、主题一致模型、协同实体链接模型、基于神经网络的模型。

    2.3 面向结构化文本的实体消歧方法

    列表型数据没有上下文描述信息,需要利用实体的类别信息,实体的流行度和列表中的其他信息进行消歧。

    四、实体统一

    1.实体统一概念

    同一个实体有不同的表达方式,有时候需要把不同的表达方式统一为同一种表达方式。

    例子:”中华人民共和国“,”中国“都表示同一个意思。如果把实体统一,可以减少一些NLP任务的难度。常见的应用场景是在构建知识图谱中,需要对地名,公司名,专业术语等进行统一。

    2.实体统一解法

    第一种方法计算相似度方法

    计算两个实体(字符串)之间的相似度,一般使用编辑距离即可,设定阈值,判断是否属于一个实体。

    第二种基于规则方法

    举个例子:

    1. 腾讯有限公司
    2. 腾讯科技有限公司

    我们通过人工的设计一些库,或者说是一些词典,这些库包含相同实体的特点:

    • 词典1:公司、有限公司、分公司…
    • 词典2:北京,天津,上海…
    • 词典3:科技,技术…

    如果实体中的词出现在库中将其删掉

    1. 腾讯有限公司——作为原型,删掉词库中的词后为:腾讯
    2. 腾讯科技有限公司 —删掉词库中的词后为:腾讯

    这时候判定为相同实体,但是以上两种方法精度不高,人力成本比较高。

    第三种基于有监督的学习方法

    还是上面的例子:

    1. 腾讯有限公司
    2. 腾讯科技有限公司

    我们可以将1和2利用特征工程将其转换为特征向量:比如考虑词性,前后单词,词位置等等。

    然后输入到一个训练好的分类模型去判断两个实体是否相似。

    利用余弦相似度技术衡量相似程度,然后再输入到逻辑回归模型做二分类的计算。

    第四种基于图的实体统一方法

    其实每个实体都不是独立的,他们与其他实体是包含一定的联系,如下图所以我们在做实体统一的时候我们考虑到了这种实体关系,也就是根据这种图来做:

    假如我们判断A和B是否是同一个人我们在做特征向量时不仅加入他的个人信息,还可以加入其他的关系。

    然后我们再计算A和B两者的相似度,设置阈值:判断大于阈值相似以及小于阈值不相似。

    总结

    评判一个命名实体是否被正确识别,包括两个方面:

    • 实体的边界是否正确
    • 实体的类型是否标注正确

    命名实体识别存在三个难点

    • 领域命名实体识别局限性
    • 命名实体表述多样性和歧义性
    • 命名实体的复杂性和开放性

    命名实体识别目前的两个热点: 

    • 匮乏资源命名实体识别
    • 细粒度命名实体识别

    本文是从零开始学NLP系列文章第十五篇,希望小伙伴们多多支持,互相交流。


    今天我们就到这里,明天继续努力!

    如果该文章对您有所帮助,麻烦点赞,关注,收藏三连支持下!

    创作不易,白嫖不好,各位的支持和认可,是我创作的最大动力!

    如果本篇博客有任何错误,请批评指教,不胜感激 !!!


    参考:

    贪心科技学院nlp

    一文了解命名实体识别

    知识图谱(五)——实体消歧

    实体消歧、实体统一和指代消歧

    展开全文
  • NLP之中文命名实体识别

    万次阅读 多人点赞 2018-09-25 18:45:47
    MUC-6首次使用了命名实体(named entity)这术语,由于当时关注的焦点是信息抽取(information extraction)问题,即从报章等非结构化文本抽取关于公司活动和国防相关活动的结构化信息,而人名、地名、组织...

    在MUC-6中首次使用了命名实体(named entity)这一术语,由于当时关注的焦点是信息抽取(information extraction)问题,即从报章等非结构化文本中抽取关于公司活动和国防相关活动的结构化信息,而人名、地名、组织机构名、时间和数字表达(包括时间、日期、货币量和百分数等)是结构化信息的关键内容。

    命名实体识别(Named EntitiesRecognition,NER),就是识别这些实体指称的边界和类别。主要关注人名、地名和组织机构名这三类专有名词的识别方法。

    一、方法概述

    和自然语言处理研究的其他任务一样,早期的命名实体识别方法大都是基于规则的。系统的实现代价较高,而且其可移植性受到一定的限制。

    自20世纪90年代后期以来,尤其是进入21世纪以后,基于大规模语料库的统计方法逐渐成为自然语言处理的主流,一大批机器学习方法被成功地应用于自然语言处理的各个方面。根据使用的机器学习方法的不同,我们可以粗略地将基于机器学习的命名实体识别方法划分为如下四种:有监督的学习方法、半监督的学习方法、无监督的学习方法、混合方法。下表对这些方法进行了简要归纳。

     二、命名实体识别方法

    1.基于CRF的命名实体识别方法 

    McCallum等2003年最先将条件随机场(CRF)模型用于命名实体识别。由于该方法简便易行,而且可以获得较好的性能,因此受到业界青睐,已被广泛地应用于人名、地名和组织机构等各种类型命名实体的识别,并在具体应用中不断得到改进,可以说是命名实体识别中最成功的方法。 

    基于CRF的命名实体识别与前面介绍的基于字的汉语分词方法的原理一样,就是把命名实体识别过程看作一个序列标注问题。其基本思路是(以汉语为例):将给定的文本首先进行分词处理,然后对人名、简单地名和简单的组织机构名进行识别,最后识别复合地名和复合组织机构名。

    所谓的简单地名是指地名中不嵌套包含其他地名,如地名:北京市、大不列颠、北爱尔兰、中关村等,而“北京市海淀区中关村东路95号”、“大不列颠及北爱尔兰联合王国”、“也门民主人民共和国”则为复合地名。同样,简单的组织机构名中也不嵌套包括其他组织机构名,如北京大学、卫生部、联合国等,而“欧洲中央银行”、“中华人民共和国卫生部”、“联合国世界粮食计划署”均为复合组织机构名。

    基于CRF的命名实体识别方法属于有监督的学习方法,因此,需要利用已标注的大规模语料对CRF模型的参数进行训练。北京大学计算语言学研究所标注的现代汉语多级加工语料库被众多研究者用于汉语命名实体识别的模型训练。

    在训练阶段,首先需要将分词语料的标记符号转化成用于命名实体序列标注的标记,如用PNB表示人名的起始用字,PNI表示名字的内部用字。类似地,用LOCB表示地名的起始用字,LOCI表示地名的内部用字;ORGB表示组织机构的起始用字,ORGI表示组织机构的内部用字。用OUT统一表示该字或词不属于某个实体。

    接下来要做的事情是确定特征模板。特征模板一般采用当前位置的前后n(n≥1)个位置上的字(或词、字母、数字、标点等,不妨统称为“字串”)及其标记表示,即以当前位置的前后n个位置范围内的字串及其标记作为观察窗口:(…w-n/tag-n,…,w-1/tag-1w0/tag0,w1/tag1,…,wn/tagn,…)。考虑到,如果窗口开得较大时,算法的执行效率会太低,而且模板的通用性较差,但窗口太小时,所涵盖的信息量又太少,不足以确定当前位置上字串的标记,因此,一般情况下将n值取为2~3,即以当前位置上前后2~3个位置上的字串及其标记作为构成特征模型的符号。

    由于不同的命名实体一般出现在不同的上下文语境中,因此,对于不同的命名实体识别一般采用不同的特征模板。例如,在识别汉语文本中的人名时,考虑到不同国家的人名构成特点有明显的不同,一般将人名划分为不同的类型:中国人名、日本人名、俄罗斯人名、欧美人名等。同时,考虑到出现在人名左右两边的字串对于确定人名的边界有一定的帮助作用,如某些称谓、某些动词和标点等,因此,某些总结出来的“指界词”(左指界词或右指界词)也可以作为特征。

    特征函数确定以后,剩下的工作就是训练CRF模型参数λ。

    大量的实验表明,在人名、地名、组织机构名三类实体中,组织机构名识别的性能最低。一般情况下,英语和汉语人名识别的F1值都可以达到90%左右,而组织机构名识别的F1值一般都在85%左右,这也反映出组织机构名是最难识别的一种命名实体。当然,对于不同领域和不同类型的文本,测试性能会有较大的差异。

    2.基于多特征的命名实体识别方法

    在命名实体识别中,无论采用哪一种方法,都是试图充分发现和利用实体所在的上下文特征和实体的内部特征,只不过特征的颗粒度有大(词性和角色级特征)有小(词形特征)的问题。考虑到大颗粒度特征和小颗粒度特征有互相补充的作用,应该兼顾使用的问题,提出了基于多特征相融合的汉语命名实体识别方法,该方法是在分词和词性标注的基础上进一步进行命名实体的识别,由词形上下文模型、词性上下文模型、词形实体模型和词性实体模型4个子模型组成的。其中,词形上下文模型估计在给定词形上下文语境中产生实体的概率;词性上下文模型估计在给定词性上下文语境中产生实体的概率;词形实体模型估计在给定实体类型的情况下词形串作为实体的概率;词性实体模型估计在给定实体类型的情况下词性串作为实体的概率。

    1.模型描述

    在基于多特征模型的命名实体识别系统中,词形包括以下几种情况:字典中任何一个字或词单独构成一类;人名(Per)、人名简称(Aper)、地名(Loc)、地名简称(Aloc)、机构名(Org)、时间词(Tim)和数量词(Num)各定义为一类。也就是说,词形语言模型中共定义了|V|+7个词形,其中,|V|表示词典的规模。由词形构成的序列称为词形序列WC。

    词性采用北京大学计算语言学研究所开发的汉语文本词性标注标记集,另加上人名简称词性和地名简称词性,共47个词性标记。由词性标记构成的序列称为词性序列TC。

    命名实体识别可以看作一个序列化数据的标注问题。输入是带有词性标记的词序列。

    在分词和词性标注的基础上进行命名实体识别的过程就是对部分词语进行拆分、组合(确定实体边界)和重新分类(确定实体类别)的过程,最后输出一个最优的“词形/词性”序列WC*/TC*。

    计算最优“词形/词性”序列WC*/TC*的方法有三种:词形特征模型、词性特征模型和混合模型。

    (1)词形模型
    词形特征模型根据词形序列W产生候选命名实体,用Viterbi确定最优词形序列WC*。目前的大部分系统都是从这个层面来设计命名实体识别算法的。

    (2)词性模型
    词性特征模型根据词性序列T产生候选命名实体,用Viterbi确定最优词性序列TC*。目前只有较少的系统使用。

    (3)混合模型
    词形和词性混合模型是根据词形序列W和词性序列T产生候选命名实体,一体化确定最优序列WC*/TC*,即本节将要介绍的基于多特征的识别算法。

    词形和词性混合的汉语命名实体识别模型结合了词形特征模型和词性特征模型的优点,可以描述成下面式子的形式:

    式子中的β是平衡因子,平衡词形特征和词性特征的权重,β>0。

    模型(7-25)由四部分组成,分别称之为:词形上下文模型P(WC)、词性上下文模型P(TC)、实体词形模型P(W|WC)和实体词性模型P(T|TC)。实体词形模型和实体词性模型统称为实体模型。以下分别介绍这些模型。

    2.词形和词性上下文模型

    上下文模型估计在给定的上下文语境中产生实体的词形和词性概率。词形上下文模型和词性上下文模型均可采用三元语法模型近似描述:

    3.实体模型

    考虑到每一类命名实体都具有不同的内部特征,因此,不能用一个统一的模型刻画人名、地名和机构名等实体模型。例如,人名识别可采用基于字的三元模型,地名和机构名识别可能更适合于采用基于词的三元模型等。此外,为提高外国人名的识别性能,吴友政又把外国人名进一步划分为日本人名、欧美人名和俄罗斯人名三个子类。因为这三类人名的内部特征(主要是人名用字集)存在较大的差别,日本人名用字相对较广,具有相对明显的姓氏特征,但姓氏集合却很大,而且日本人名姓氏很多和地名重叠。俄罗斯人名常用斯、基、娃等汉字,而欧美人名常用朗、鲁、伦、曼等汉字。为计算需要,按照字或词在命名实体内部的位置,吴友政把这些字或词划分成19个子类。 

    有了上述分类之后,人名、普通地名和机构名、单字地名和简称机构名分别建立相应的实体模型。

    (1)人名实体模型
    基于字的中国人名和外国人名的实体词形模型用下式描述:

    其中,wwcil(1≤l≤k)表示组成人名实体wci的单字。BNe,MNei(1≤i≤k-2)和ENe分别表示实体的首字、中间字和尾字,在具体计算人名时,分别将其替换成Sur、Dgb、Dge、EBfn、EMfn和EEfn等。

    由于人名的词性实体模型的训练语料很难得到,因此,为了简化起见,使用词形实体模型替代词性实体模型,但乘以一个加权因子,如下式所示:


    其中,γ为小于1的加权因子,在吴友政的实验系统中取经验值0.5。

    (2)地名和机构名实体模型
    对于地名和机构名,其实体模型要复杂得多,这是因为地名中除了普通词汇以外,还常嵌套人名和其他地名,如“茅盾故居纪念馆”,“北京市经济技术开发区”等;组织机构名中常嵌套人名、地名和其他机构名,如“富士通(中国)有限公司”,“宋庆龄基金会”等。

    基于词的嵌套地名和机构名词形实体模型可以用下面的式子描述:

    其中,wwci-start和wwci-end分别是实体wci被分词程序切分出的首词和尾词;wwcil- 和wwc 分别是wcwcil的首词和尾词,它们都是按照分词模start il-end块的词形定义切分出来的最基本的词形。wcwcil(1≤l≤k)是由原分词序列组合的可能的词,假设组合后含有k个词或子实体名,即长度为k,子实体可能是人名或地名。如果子实体是人名时,将被符号PER替换,如果子实体是地名时,将用标记Loc替换。BNe为实体wci被正确切分时的首词,根据表7-8记作Boo;MNe1…MNek-2为实体wci被正确切分时中间
    部分的k-2个词,根据表7-8记作Moo;ENe为实体wci被正确切分时的末尾词,根据表7-8记作Eoo。

    (3)单字地名实体模型
    单字地名词形实体模型和词性实体模型均可采用最大似然估计方法计算,分别运用如下算式估计:

    其中,C(wi,Aloc)和C(ti,Aloc)分别是语料中wi作为单字地名和其词性ti出现的次数。C(Aloc)为训练语料中单字地名出现的次数。

    (4)简称机构名实体模型
    简称机构名是对机构名全称的缩略叫法。机构名简称的出现形式大致可分为连续简写、不连续简写和混合简写三种方式。

    包括机构名关键词的机构名简称(如福特公司,绿得公司,新唐公司)的识别同机构名全称的识别过程是一样的,但对于那些省略了机构名关键词的简称机构名的识别则是非常困难的问题。

    经过分析我们发现,简称机构名在文本中的出现基本上有以下三种形式:
    ①    某些简称可以作为常用词收录进词典中,如中共、北约、欧盟等
    ②    有些简称机构名无法被收录进词典,但该简称的全称形式在文本中出现过,如华虹NEC(全称为“上海华虹NEC电子有限公司”,且在文中已经出现过)
    ③    文本中直接出现省略了机构名关键词的简称机构名,如“百度”(省略了关键词“公司”)等。
    对于上述形式③没有标志性关键词的情况,识别非常困难,我们暂不探讨。以下主要介绍形式①和②的处理方法。

    形式①简称机构名的实体模型:简称机构名的词形和词性实体模型用最大似然估计方法计算
    形式②简称机构名的词形实体模型:在真实文本中,简称可能出现在文本的前面,也可能出现在后面,为了完成这类简称机构名的识别,一般需要把命名实体识别分成两个阶段。第一阶段识别1类简称机构名和全称形式的机构名,并将其放入缓存器(cache)中,第二阶段利用第一阶段的识别结果进行简称识别。这样做一方面可以避免简称机构名的遗漏,并限制不必要的简称机构名的产生,另一方面可以方便、合理地计算简称机构名的产生概率,即简称的实体模型。

    4.专家知识

    在基于统计模型的命名实体识别中,最大的问题是数据稀疏严重,搜索空间太大,从而影响系统的性能和效率。因此,吴友政通过引入专家知识来限制候选实体的产生,从而达到了提高系统性能和效率的目的。这些专家知识主要包括如下几类:

    1)人名识别的专家知识
    这类专家知识包括:476个中国人名姓氏列表和9189个日本人名姓氏列表,用于限制中国人名和日本人名的候选词数;俄罗斯人名和欧美人名用字列表,用来限制俄罗斯人名和欧美人名的候选词数;另外,中国人名的长度最大为8个字符,外国人名则不受长度限制。

    2)地名识别的专家知识
    这里专家知识包括一个含607个地名关键词的列表、一个含407个单字地名的列表和一个介词、动词列表。如果当前词属于地名关键词,如“省、开发区、沙滩、瀑布”等,则触发地名识别。单字地名的候选由单字地名列表触发产生。如果前一个词包含在介词、动词列表中,如“去、到、在”等则触发地名识别。另外,地名最多包含12个汉语字符。

    (3)机构名识别的专家知识
    机构名识别专家知识包括一个含有3129个机构名关键词的列表,用于触发产生机构名候选,即如果当前词属于该列表,则机构名识别触发。另外,还包括一组机构名模板,用于识别统计模型遗漏的嵌套命名实体。

    5.模型训练

    根据前面的介绍,基于多特征的汉语命名实体识别模型式(7-25)由4个参数组成,在吴友政(2006)实现的系统中,这些参数使用最大似然估计从不同的训练语料中学习,其中,词性上下文模型P(TC)和词形上下文模型P(WC)是从1998年2月至1998年6月的《人民日报》标注语料中学习的;中国人名、外国人名、地名、机构名的实体词性模型和实体词形模型分别从156万、1.4万、4.4万和32万条的实体列表中训练得到的。 

    尽管使用了这样大规模的训练语料,数据稀疏问题还是非常严重。为此,吴友政采用了Back-off数据平滑方法,并引入逃逸概率计算权值,如下式所示:

    6.测试结果

    系统性能表现主要通过准确率(precision,简记为P)、召回率(recall,简记为R)和F-测度值(F-measure,简记为F)3个指标来衡量,计算公式分别如式(7-40)、式(7-41)和式(7-42)所示:

    根据模型计算式(7-25),平衡因子β是用于平衡词形特征和词性特征所发挥作用的权值,β值越大,词性特征的作用越强;否则,词形特征的作用就越强。根据吴友政(2006)的实验,β值从0到9.6变化时,系统对人名、地名和机构名称识别的准确率、召回率和F-测度值均有不同程度的上升和下降,当β值大于9.6时,人名、地名和机构名称识别的正确率、召回率和F-测度值均呈急剧下降趋势。经综合考察后,β=2.8时系统对人名、地名和机构名称识别的总体性能可达到最佳状态。

    混合模型的人名、地名、机构名识别性能(F-测度值)比单独使用词形特征模型时的性能分别提高了约5.4%,1.4%,2.2%,比单独使用词性特征模型时分别提高了约0.4%,2.7%,11.1%。也就是说,结合词形和词性特征的命名实体识别模型优于使用单一特征的命名实体识别模型。

    另外,实验还表明,结合了专家知识的统计模型对人名、地名和机构名的识别能力(F-测度值)与纯统计模型相比,分别提高了约14.8%,9.8%,13.8%,而且,系统的识别速度也有所提高。

    上述结果表明,基于多特征模型的命名实体识别方法综合运用了词形特征和词性特征的作用,针对不同实体的结构特点,分别建立实体识别模型,并利用专家知识限制明显不合理的实体候选的产生,从而提高了识别性能和系统效率。

    展开全文
  • 6 数据库设计:实体-联系方法

    千次阅读 2022-01-10 16:01:00
    概念模式与具体的DBMS无关,通常使用实体-联系图表示,也叫E-R图 逻辑设计: 将概念模式转换成相应的逻辑模式,获得复合选定DBMS数据模型的逻辑结构,比如关系模式。 属性-联系方法 与实体-联系方法区别:没有概念...
  • 就数据库而言,实体往往指某类事物的集合。...一对一(如一个学生对应一个档案,一个档案对应一个学生); 一对多,多对一; 多对多; 数据库一对一的实现方式: (1)唯一外键方式:A和B任...
  • 数据库的设计通常需要经历四部分: 需求收集与分析(Requirements Collection and Analysis) 概念设计(Conceptual Design) —— 设计实体关系模型 (ER Model) 逻辑设计(Logical Design)—— 实现从 ER ...
  • NLP的关键性基础任务—命名实体识别(Named Entity Recognition,NER)的研究,深度学习也获得了不错的效果。最近,笔者阅读了系列基于深度学习的NER研究的相关论文,并将其应用到达观的NER基础模块此...
  • ER图菱形表示的是()

    千次阅读 2021-03-04 05:26:42
    ER图菱形表示的是()A:属性B:实体C:运算D:联系正确答案:联系解析:ER图菱形表示的是()A:属性B:实体C:运算D:联系相关问题:下列不被人体吸收,但对人体具有重要的生理意义的是( )。A:乳糖B:葡萄糖C:膳食纤维D:麦芽...
  • 【数据库系统原理】实体-联系模型

    千次阅读 多人点赞 2021-03-15 15:21:00
    实体实体集 (1)实体的基本概念 (2)实体集的基本概念 二、联系 (1)联系的基本概念 (2)联系的类型 (3)联系的属性 三、实体联系图 (1)实体联系图要素 (2)实体的处理 (3)联系的处理 (4)属性的处理 四、弱实体集 (1...
  • 数据库——实体联系模型

    千次阅读 2020-02-28 20:04:55
    1.实体 1.实体:客观存在并且可以相互区分的任何... 对于同一个实体,刻画它的属性集可以有不同的选择。 3.实体集:实体集是具有相同属性的实体的集合  实体实体集的型都用其属性名的列表表示  例如,学生...
  • 本系列文章主要结合Python语言实现...第篇文章主要介绍哈工大pytltp工具,包括安装过程、中文分词等;第二篇文章主要讲解词性标注、实体识别、依存句法分析和语义角色标注。希望基础性文章对你有所帮助,一起加油~
  • C# 实体

    千次阅读 2017-04-03 09:37:00
    3.1使用实体类构建三层结构概述 在上一章的三层架构,我们使用DataSet来进行数据的传递,但OOP的开发...例如:我们要查询DataSet中学员信息DataTable的某个值时,必须指定行索引与列名,这只是一个简单的...
  • 【数据库】实体之间的联系

    千次阅读 2020-05-09 18:21:01
    一元联系包括:一个实体型内部各属性之间的联系和同一个实体集内的各实体间的联系。 两个实体型之间的联系称之为二元联系,联系的度为2。三个实体型之间的联系称之为三元联系,联系的度为3。N个实体型之间的联系
  • XML中实体的概念

    千次阅读 2015-07-12 11:50:10
    许多开发人员 XHTML 使用实体代替特殊字符,但是也可以 XML 定义实体来简化创作或者引用外部文档的内容。我们创建文档类型定义(Document Type Definition,DTD)并试图减小它的表面复杂性以便适
  • 【命名实体识别(NER)】(1):命名实体识别综述

    万次阅读 多人点赞 2019-03-23 09:41:44
    命名实体识别(Named Entity Recognition,简称NER),又称作**“专名识别”,是自然语言处理项基础任务,应用范围非常广泛。命名实体一般指的是文本具有特定意义或者指代性强的实体**,通常包括人名、地名...
  • uml之实体关系图

    万次阅读 2019-05-19 00:44:54
    数据库是软件系统不可或缺的一个组成部分,若能数据库工程好好利用 ER 图,便能让您生成高质量的数据库设计,用于数据库创建,管理和维护,也为人员间的交流提供了具意义的基础。 今天,我们将为你深入介绍...
  • 实体对齐——阅读笔记

    千次阅读 2021-04-18 20:55:58
    实体对齐的目的:判断两个或者多个不同信息来源的实体是否为指向真实世界中同一个对象,将具有相同指称的命名实体聚集一起。 一、《A Survey on Entity Alignment of Knowledge Base》2016 Abstract 首先形式化...
  • 数据库的数据表中一行称为什么

    千次阅读 2021-01-19 15:39:58
    展开全部数据库的数据表中一称为记录。根据表字段所规定的数据类型,我们可以e5a48de588b662616964757a686964616f31333431353361向其中填入条条的数据,而表的每条数据类似类的实例对象。表行的信息...
  • 知识融合(实体对齐)笔记

    千次阅读 2020-04-07 15:30:18
    本文共1132字,预计阅读时间需要4分钟。 知识融合 本体匹配(ontology matching) ...侧重发现指称真实世界相同对象的不同实例,也称为实体消解(resolution)、实例匹配(instance matching) 知识融合(kn...
  • 作用:保证用户输入的数据保存到数据库是正确...实体:即表的一行(一条记录)代表一个实体(entity) 实体完整性的作用:标识每一行数据不重复。 约束类型: 主键约束(primary key) 唯一约束(unique) 自动...
  • 实体—联系模型

    千次阅读 2018-06-25 01:36:53
    实体—联系(E-R)数据模型概述 该数据模型基于对现实世界的这样种认识:世界由称为实体的基本对象及这些对象间的联系组成,该模型是种语义模型,模型的语义方面主要体现模型力图去表达数据的意义。...
  • 数据的四种常用的数据模型以及三实体之间的联系三个世界现实世界信息世界两个实体型间的联系数据模型层次模型 三个世界 现实世界 现实世界,客观存在的世界。...实体可以是具体的人、事和物,如:一个学生、...
  • 什么是实体关系图(ERD)?

    千次阅读 2020-07-13 14:53:19
    数据库是软件系统不可或缺的一个组成部分,若能数据库工程好好利用 ER 图,便能让您生成高质量的数据库设计,用于数据库创建,管理和维护,也为人员间的交流提供了具意义的基础。 实体关系图(ERD) 今天,...
  • 根据在线维基百科: 实体关系模型(ERM)是数据的抽象概念表示实体关系建模是种数据库建模方法,用于以自上而下的方式生成系统...使用EA设计软件的ER图,选择ERD和ERD-Relationship两工具 ...
  • 实体-联系模型(Entity-Relationship)

    千次阅读 2021-04-06 19:55:37
    实体-联系模型(Entity-Relationship) 简称为ER,实体联系模型是种概念模型,用于对显示世界建模,概念简单易于理解,且与具体...属性:实体所代表的事物具有的某种特性,每个实体都可以用组属性来刻画。例如,我
  • 命名实体识别(NER)发展简史

    千次阅读 2020-01-10 09:55:48
    NLP的关键性基础任务—命名实体识别(Named Entity Recognition,NER)的研究,深度学习也获得了不错的效果。最近,笔者阅读了系列基于深度学习的NER研究的相关论文,并将其应用到达观的NER基础模块此...
  • 关系型数据库中实体之间的关系

    千次阅读 2018-06-20 20:47:00
     反之实体集B 的每一个实体,在实体A只有一条数据与它对应  这样的实体关系主是一对一关系  实例:  员工表、员工详细信息表之间的关系是员工表的一行与详细信息的一行对应 一对多关...
  • 关于Unity 2018的实体组件系统(ECS)

    万次阅读 多人点赞 2018-05-19 22:29:13
    孙广东 2018.5.19     首先来自ECS的概念。... 其模式遵循组合优于继承原则,游戏内的每一个基本单元都是一个实体,每个实体又由一个或多个组件构成,每个组件仅仅包含代表其特性的数据(即组件没有...
  • 一文了解命名实体识别

    千次阅读 2020-09-04 20:25:53
    导读:从1991年开始,命名实体识别逐渐开始走进人们的视野,各评测会议...1991年Rau等学者首次提出了命名实体识别任务,但命名实体(named entity,NE)作为一个明确的概念和研究对象,是1995年11月的第六届MUC...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 184,240
精华内容 73,696
关键字:

在一个实体表示的信息中称为