热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

知识提取属性抽取学习笔记

目录Part1:属性抽取基本描述Part2:属性抽取基本研究内容2.1基于无监督的属性抽取方法(1.1)基于规则的槽

目录

Part 1:属性抽取基本描述

Part 2:属性抽取基本研究内容

2.1基于无监督的属性抽取方法

(1.1)基于规则的槽填充算法

(1.2)基于聚类的属性抽取方法

2.2. 基于依存关系的半监督的槽填充算法

2.3. 基于深度学习的序列标注方法

2.4. 基于元模式的属性抽取方法

Paper List



Part 1:属性抽取基本描述

        实际上,属性抽取较之关系抽取的难点在于,除了要识别实体的属性名还要识别实体的属性值,而属性值结构也是不确定的,因此大多研究都是基于规则进行抽取,面向的也是网页,query,表格数据[1,2,3]。但是这种方法在医疗领域数据上有一定的弊端,因为医疗知识图谱不同于常识性知识图谱,它对于信息的质量有着很高的要求,对信息噪音的容错性也较低。

当然也有研究使用了一些机器学习模型对文本中的属性名进行序列标注,但这种方法的局限在于,实体属性实际上是非常丰富的,但模型除了需要标注数据,也无法cover多种多样的属性。


  1. 《ReNoun-Fact Extraction for Nominal Attributes》

        通常假定事实是用动词短语表示的,因此很难为基于名词的关系提取事实[4]。ReNoun主要用于提取长尾型名词属性,首先从文本和查询流中提取一个大型但不完善的本体。然后使用一组小的高精度抽取器,利用属性的文本表达特性来获得一个训练集,然后通过远程监督从训练集中归纳出一组更大的抽取模式。最后,用基于三元组模式频率属性之间的语义相似度来计算事实的分数。

在这里插入图片描述


  1. 《MetaPAD-Meta Pattern Discovery from Massive Text Corpora》

在这里插入图片描述


        以往研究采用了一种基于依赖分析的模式发现方法,如ReNoun。但是,解析结果会丢失模式中实体周围丰富的上下文,而且对于大规模的语料库来说,这个过程代价很高[5,6,7]。本文提出一种新颖的类型化文本模式结构,称为元模式,在一定的语境下扩展到一个频繁、信息丰富、精确的子序列模式:MetaPAD,它使用三种技术从海量语料库中发现元模式:(1)开发了一种上下文感知的分割方法,通过学习模式质量评估函数来仔细确定模式的边界,避免了代价高昂的依赖性分析,并生成了高质量的模式。(2)从多个方面识别和分组同义元模式,包括它们的类型、上下文和提取;(3)检查每个模式组提取的实例中实体的类型分布,并寻找适当的类型级别,以使发现的模式精确。实验证明,该框架能够有效地从海量语料库的不同类型中发现高质量的类型文本模式,并有助于信息提取。

        MetaPAD不是处理每个单独的句子,而是利用大量句子,其中冗余模式用于表示大规模实例的属性或关系。首先,MetaPAD使用有效的序列模式挖掘生成元模式候选,学习候选模式的质量评估函数,特征选择具有丰富的域独立上下文特征:频率,信息性。然后挖掘质量元模式通过评估引导的上下文感知分割。其次,MetaPAD将同义元模式的分组过程制定为学习任务,并整合多个方面的特征(包括实体类型,数据类型,模式上下文和提取的实例)。第三,MetaPAD检查每个元模式组中的实体类型分布,并寻找模式最合适的类型级别。包括自上而下和自下而上两种方案,这些方案遍历类型本体,以确保模式的准确性。

        因此我们利用MetaPAD,采用了一种集成方法

        首先利用NER,名词短语抽取,词典,jiba对文本进行精准的分词,统计动词列表和停用词列表,并标注每个词的类型,如"Disease","NP"等,利用MetaPAD对海量数据进行pattern抽取,并统计pattern频次,通过TrueIE[8],筛选出描述实体属性的高质量语句pattern,并将其中的"NP"抽出,作为候选属性词。

        然后,将所有候选属性词生成词典,重新对刚才的语料进行分词,并将所有属性词标记类型为"Attribute",进行第二次pattern抽取,只取与"Attribute"类型词有关的pattern,筛除其中的文本,作为属性值。对于属性值为句子的属性,直接截取相关语句作为答案。

        实际上,MetaPAD不只可以用在属性抽取任务上,也可发现更多的术语表达,模版,统计信息等,工业价值比较高。

在这里插入图片描述

[1] Weakly-Supervised Acquisition of Open-Domain Classes and Class Attributes from Web Documents and Query Logs.

[2] Attribute extraction and scoring-a probabilistic approach.

[3] Automatic Discovery of Attribute Synonyms Using Query Logs and Table Corpora.

[4] Global Inference for Entity and Relation Identification via a Linear Programming…

[5] ReVerb:Identifying Relations for Open Information Extraction.

[6] Open information extraction from the web.

[7] Toward an architecture for never-ending language learning.

[8] TruePIE: Discovering Reliable Patterns in Pattern-Based Information Extraction.


Part 2:属性抽取基本研究内容

        属性抽取背景:信息抽取是从非结构化、半结构化文本中将有价值的信息转化为结构化数据的过程,在抽取的过程中,根据抽取的内容不同又分为关系抽取、事件抽取、属性抽取。

        属性抽取任务描述:目标是从不同信息源中采集特定实体的属性信息。比如人物实体的生日、性别、国籍等,都是它的属性信息,通过属性抽取,通过多个数据源的获取,我们就可以通过丰富的属性信息来较为完整地刻画一个实体。

        属性抽取的方法总结:


2.1基于无监督的属性抽取方法


(1.1)基于规则的槽填充算法

        场景:在纯文中的抽取人物属性。

        论文:《中文人物属性槽填充技术的研究与实现》

        方法:通过人工编写规则针对任务场景进行属性抽取,由于人工构造规则模板比较麻烦,可以使用Booststrapping方法生成规则。

        生成规则的步骤:

        ①、人工置顶规则种子作为初始化规则种子集Spatter,属性值集合Sattr。

        ②、使用规则种子集Spattr,遍历并匹配文本中的属性值,获取候选属性集合h。

        ③、计算候选属性值集合h中每个属性值的可行度,将可信度较高的三个属性值加入到种子属性值集合Sattr中,若收敛,则算法结束,否则,执行④。

        ④、使用属性值集合Sattr,遍历文本,由匹配到的属性值的上下文两个词,生成候选模板集合h’。

        ⑤、计算候选模板集合h’中每个候选模板的可信度,将可信度较高的3个候选模板加入到规则种子集合Spatter中,若Spatter收敛,则算法结束,否则执行步骤②。

        重复②-⑤到满足一定的次数。

        效果:通过自动生成规则进行抽取的效果不好,准确率较低。
 


(1.2)基于聚类的属性抽取方法

        场景:产品的属性抽取

        论文:《An Unsupervised Approach to Product Attribute Extraction》

        方法步骤:

        ①、数据预处理:

        找出限定性的短语和名词短语,论文认为一般属性出现在这种词语中

        ②、对上一步筛选出的名词进行聚类,删除词语稍少的类

        ③、从类中抽取属性:计算unigrams, bigrams and trigrams,使用作者定义的属性分数函数进行计算,得分高的则为属性。


2.2. 基于依存关系的半监督的槽填充算法

        场景:在纯文本中抽取人物属性

        论文:《中文人物属性槽填充技术的研究与实现》

        方法:

        依存关系:在自然语言处理中,用词与词之间的依存关系来描述语言结构的框架称为依存语法(dependence grammar),又称从属关系语法。利用依存句法进行句法分析也是自然语言理解的重要技术之一。(来自维基百科)。

使用这种方法对人物进行属性抽取的步骤如下:

        ①、为每个属性生成对应的触发词表(词典);

        ②、根据属性槽特点,识别出句子中所有可能候选属性,比如出生地的NER标注为LOC,感觉是自己设置一些规则匹配一些属性出来;

        ③、通过句子的依存结构,确认侯选属性与主体实体(这里是人物)的关系。将依存关系树看作一个无向图,顶点对应pagerank算法中的网页,利用pagerank算法,计算两个词在句法上的相关性

        ④、计算<动词,人名,属性词>三元组的得分,取前top4,看动词是否出现在触发词中。

        效果:在有触发词的句子中效果较好,在描述句式灵活且对触发词依赖小的句子中,提取性能不好。


2.3. 基于深度学习的序列标注方法

        序列标注属于一种较为常用的属性抽取方法,就是将属性值看作较长的实体值,对数据进行标注,使用序列标注模型进行训练和抽取。

        场景:这种方法被应用于多个场景中,比如人物属性的抽取,抽取在线评论文本的属性、从无上下文信息的标题中抽取产品属性等,只要有相应的标注数据,就可以使用这种方法进行抽取。

        论文:《基于弱监督的属性关系抽取方法》

        《面向非结构化文本的开放式实体属性抽取》

        《实体 —属性抽取的GRU+CRF方法》

        《Personal Attributes Extraction in Chinese Text Based on Distant-Supervision and LSTM》

        《Bootstrapped Named Entity Recognition for Product Attribute Extraction》等论文中都使用了这种方法进行抽取。

        方法:将属性抽取看作序列标注问题,标注需要花费一定的人工成本,在有些场景下,比如人物属性的抽取,可以使用百度百科等百科词条的结构化信息框进行标注,可以降低一定的人工标注成本;同时,标注时也可以使用Bootstrap方法由种子发现更多潜在属性值,这种方法在《Bootstrapped Named Entity Recognition for Product Attribute Extraction》论文中提到,是一种类似于Pakhomov 2002提出的首字母扩写算法的算法。该算法学习如何将首字母缩写与其正确扩展相关联的上下文,作者认为,分类器在经过标记的已知品牌训练集上进行训练,可以学习可以区分当前含义的上下文模式。序列标注常使用的模型:CRF模型、神经网络模型如BI-GRU+CRF模型等。
        效果:使用这种方法进行属性抽取的效果较为理想,但也具有一定的局限性由于属性值的内容和形式多种多样,对于字数较长的描述性属性,这种方法不能取得理想的效果;同时,对于某些不能使用百科词条数据进行回标的情况,将花费大量的人工成本进行标注降低了可操作性


2.4. 基于元模式的属性抽取方法

        场景:这种方法可以被应用于多个场景中,不具有局限性
        论文:《MetaPAD-Meta Pattern Discovery from Massive Text Corpora》
        方法:这种方法可以在海量语料库中发现元模式,在属性抽取的场景中,可以使用这种方法发现高质量的属性描述语句,作为属性值。


Paper List

会议:ACM SIGKDD International Conference 2017

论文:MetaPAD-Meta Pattern Discovery from Massive Text Corpora 

论文链接:https://arxiv.org/pdf/1703.04213.pdf

相关学习资料:
Bootstrapped Named Entity Recognition for Product Attribute Extraction

面向非结构化文本的开放式实体属性抽取

属性和实体抽取(传统方法)


推荐阅读
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了机器学习手册中关于日期和时区操作的重要性以及其在实际应用中的作用。文章以一个故事为背景,描述了学童们面对老先生的教导时的反应,以及上官如在这个过程中的表现。同时,文章也提到了顾慎为对上官如的恨意以及他们之间的矛盾源于早年的结局。最后,文章强调了日期和时区操作在机器学习中的重要性,并指出了其在实际应用中的作用和意义。 ... [详细]
  • 本博文基于《Amalgamationofproteinsequence,structureandtextualinformationforimprovingprote ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • 本文介绍了Python语言程序设计中文件和数据格式化的操作,包括使用np.savetext保存文本文件,对文本文件和二进制文件进行统一的操作步骤,以及使用Numpy模块进行数据可视化编程的指南。同时还提供了一些关于Python的测试题。 ... [详细]
  • 在本教程中,我们将看到如何使用FLASK制作第一个用于机器学习模型的RESTAPI。我们将从创建机器学习模型开始。然后,我们将看到使用Flask创建AP ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • Netty源代码分析服务器端启动ServerBootstrap初始化
    本文主要分析了Netty源代码中服务器端启动的过程,包括ServerBootstrap的初始化和相关参数的设置。通过分析NioEventLoopGroup、NioServerSocketChannel、ChannelOption.SO_BACKLOG等关键组件和选项的作用,深入理解Netty服务器端的启动过程。同时,还介绍了LoggingHandler的作用和使用方法,帮助读者更好地理解Netty源代码。 ... [详细]
author-avatar
康师傅摸-你丶擦_489
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有