Open Information Extraction From The Web阅读笔记

Open Information Extraction From The Web

一、正文

​ 本篇文章是一片调查,调查了信息提取的一些方法,主要关注的是开放信息抽取,且带抽取关系的身份是未知的。围绕着开放信息抽取所展开的调查,其研究内容主要以纯文本为主,从Web中提取信息。

1、信息抽取(Information Extraction)

​ 关于实体于不相关的词或短语之间的关系,例如一个抽取器可能将"巴黎是法国时尚之都"这句话映射到关系元组(巴黎,法国首都),后者可能用RDF[2]或另一种形式语言表示。

​ 要从广泛的文本中准确地提取这些元组,需要大量的知识,在这篇review中提到了基于知识的编码(人为输入正则表达式或规则)、监督学习(人类提供带标签的训练实例)、自监督学习(系统自动查找并标注自己的实例)

1.1 Knowledge-Based Methods

​ 最初的IE是用模式匹配规则的,这些规则都是专门为某个任务定制的,根据具体任务建立对应的匹配规则。

1.2 Supervised Methods

​ 从Soderland Riloff and Kim and Moldova的工作开始,自动地从已经标记了领域特定示例(有标记的领域数据集)的训练集中学习一个提取器。在这种机器学习方法下,IE系统使用了与领域无关[3]的体系结构和句子分析器[3]。
​ 当实例输入到机器学习方法时,可以自动学习特定领域的抽取模式,并用于从文本中抽取事实。

image-20230309204050271

图一展示了学出了一个三元组的关系。

开发适合IE的训练数据需要大量的力量和专业知识。而DIPRE, Snowball and Meta-Bootstrapping这些方法不需要手工标记的语料库(这里我觉得应该说的是不需要专业的手工标记,看后面的说法应该算是半监督吧[8]),采用用户指定的特定关系的知识。通过指定集合如[玻利维亚,城市,哥伦比亚,地区,尼加拉瓜]通过恐怖主义领域的语料库,这些IE系统学习了识别额外地点名称的模式(例如,总部设在< x > ,占领< x > ,射击< x >)。

1.3 Self-Supervised Methods

文章中提了一个模型KnowItAll,采用了少量与领域无关的抽取模型来标记自己的训练样本,迈出了自动化IE的下一步。

对于给定的关系,使用泛型模式集合自动实例化特定关系抽取规则,然后使用这些规则学习特定领域抽取规则。例如如KnowItAll采用的是’is a’这类抽取模式来查找Y累候选成员X的列表,如Country类,它将匹配一个包含短语‘X is a country’的句子

KnowItAll使用通过查询搜索引擎计算的频率统计来识别哪些实例化最可能是该类的成员。换句话说就是通过词频来判断X是属于Y类。并且KnowItAll是采取自动生成与Y类相关的短语来估计X与Y类的是否存在高度的相关性

KnowItAll即使使用自监督算法,但知识抽取任务仍然需要先定义一些要抽取的关系类型。因此,为了使 KnowItAll 算法能够从文本中抽取出有用的关系,必须人为的先提供一个预定义的关系集合,即需要手动定义一些关系类型,例如“出生地”、“国籍”等。这些关系类型将用于启发式规则和模式的设计,以及自监督学习算法的训练过程。

image-20230309204106788

这里提到了一个Intelligence in Wikipedia project,它是一个自监督学习的提取器,利用每篇文章都对一个主要对象以及许多文章包含这些对象的重要属性的信息框来提取信息。
但是他举的这个例子没看懂是怎么提取出来的意思是说提取出了“Beijing”以及infobox[5]中相关的属性的意思吗?

1.4 Open Information Extraction

IE一般使用于预选域中的少量关系的情况,但是总是存在一些意外,如百科全书、电子邮件等存在着多且偶然的关系,这就难以让IE通过关系来提取信息。

Open IE首先会学习关系,使得在特定的语言中表达出一般的模型(例如全部解释成三元组的形式);然后利用这个模型作为关系独立提取器的基础,用于输入一个语料库,输出一组被提取的元组。

image-20230309203530794

传统的IE方法从表达这些关系的手写句子示例中学习个体关系的词汇模型。这样的IE系统可能会了解到,对于短语“总部位于”的出现表明总部关系的实例。但是词汇特征是特定于关系的。当使用Web作为语料库时,提取之前不知道感兴趣的关系,并且它们的数量是未知的。因此,开放式IE系统不能依赖于每个关系的手工标注示例

1.5 TextRunner System

TextRunner系统是一个基于自然语言文本的信息抽取系统,它可以自动地从文本中提取出实体和实体之间的关系,并将这些信息转换成结构化的形式,以便计算机能够更方便地理解和处理。与其他信息抽取系统不同的是,TextRunner系统采用了一种基于开放信息提取的方法,即不需要任何预定义的词汇、规则或语法(不需要输入指定关系),而是通过统计分析和机器学习技术来自动发现和抽取文本中的信息。因此,它被认为是一种领域无关的信息抽取方法,可以应用于各种类型的文本数据。

原理是:首先基于各种句法和语义模式在文档中识别候选短语。然后,它使用评分机制根据短语与整个文档的相关性和重要性对这些短语进行排名。最后,它通过选择排名最高的短语并将它们组织成连贯的句子来生成摘要。

这里提出在庞大和异构语料库中会有一些特殊的问题:

  1. 例如WEB(我觉得vrd也算是)中,同一个实体可能会有多种指代方式,例如文中举出的爱迪生可以被写成Edison,Thomas Edison等。
  2. 同一个字符串会指向不同实体(约翰·史密斯)。

TextRunner(无监督)主要用于文本摘要和信息提取,而KnowItAll则更注重于自然语言理解和知识(关系)抽取。

正确提取信息,需要对自然语言(如代词消解、隐喻、回指、复杂或不合语法的句子等)中的变化无常的信息进行解读。

二、相关知识

1、开放信息抽取(Open Information Extraction)

开放信息抽取(Open Information Extraction, OIE)是一种自然语言处理技术,用于从文本中自动抽取出开放领域的关系三元组,即主语-谓语-宾语三元组,以表示其中的语义关系。与传统的关系抽取技术不同,开放信息抽取不需要预定义关系类型,而是自动从文本中抽取出任意的语义关系,使得其具有更高的灵活性和适用性。

OIE之所以被称为“开放”,是因为其关系抽取的过程不受先验知识的限制,即它可以从任意领域的文本中抽取出任意数量的关系三元组,而不需要预定义任何领域特定的关系。这与传统的基于模板或规则的信息提取方法不同,传统方法需要预定义固定的关系集合,并且需要专家手工制定模板或规则。

开放信息抽取通常包含以下步骤:

  1. 文本预处理:对输入文本进行预处理,例如分词、词性标注、依存句法分析等。
  2. 候选关系抽取:从文本中提取出所有可能的关系三元组,例如基于句法模式、模板匹配、实体匹配等方法
  3. 关系过滤:对候选关系进行过滤和排除,例如去除无意义的关系、去除重复关系、过滤不可信的关系等。
  4. 关系排名:对剩余的关系进行排名,以确定最终的关系三元组。
  5. 结果输出:将抽取出的关系三元组输出为结构化数据或者自然语言文本,以便后续处理或者展示。

总之,开放信息抽取是一种自然语言处理技术,其主要特点是不需要预定义关系类型,能够从文本中抽取出任意的语义关系。其技术实现主要包含候选关系抽取、关系过滤、关系排名等步骤,以实现对开放领域关系的自动抽取。开放信息抽取已经在多个应用领域得到了广泛的应用,例如知识图谱构建、智能问答、文本分类等。

2、Resource Description Framework

RDF(Resource Description Framework)是一种用于描述资源的标准格式,通常用于表示Web上的元数据。RDF通过三元组(三元组包括主语、谓语和宾语)来描述资源之间的关系。其中,主语表示资源,谓语表示资源间的关系,宾语表示与主语相关的信息。RDF使用URI来唯一标识资源和关系,从而能够将不同来源的信息整合在一起,形成一个全球统一的知识图谱。

RDF的基本结构是由主语、谓语、宾语构成的三元组,通常表示为(subject, predicate, object)。其中,主语和宾语都是资源,可以是一个Web页面、一个图片、一个人或者任何可以用URI标识的实体。谓语表示主语和宾语之间的关系,例如“is-a”、“has-a”、“located-in”等。RDF的关键是使用URI来标识资源和关系,这样可以确保所有的描述信息都是唯一的,避免了不同术语之间的混淆和歧义。

RDF可以使用不同的序列化格式进行表示,例如XML、JSON、Turtle等。其中,RDF/XML是最早的序列化格式,它使用XML语法表示RDF三元组;JSON-LD是一种基于JSON的序列化格式,可以与JSON数据结构无缝集成;而Turtle则是一种简洁的文本格式,易于阅读和编辑。

总之,RDF是一种用于描述资源和关系的标准格式,使用三元组来表示资源间的关系,并通过URI来唯一标识资源和关系。RDF的使用可以帮助我们将不同来源的信息整合在一起,形成一个全球统一的知识图谱,从而为各种应用场景提供更加智能化的支持。

3、与领域无关的体系结构和句子分析器

1.与领域无关的体系结构

与领域无关的体系结构(Domain-independent architecture)是指一种通用的软件架构,它可以被应用于多个领域,而不需要对特定的领域进行调整或修改,能够适用于多种不同的领域和任务。与领域无关的体系结构通常包括一个通用的输入处理器、一个解析器和一个输出处理器。其中,解析器是用于将输入数据转换为计算机可以理解的结构化数据的组件。

领域无关的体系结构可以应用于文本上,通过构建通用的自然语言处理(NLP)架构,提高处理各种领域文本数据的能力。具体而言,领域无关的体系结构包含以下主要组件:

  1. 分词器(Tokenizer):将文本数据分割成单个的语言单位,如单词、短语等。
  2. 词性标注器(Part-of-Speech Tagger):标注每个词语的词性,如名词、动词、形容词等。
  3. 句法分析器(Parser):分析句子的结构、语法成分和关系。
  4. 命名实体识别器(Named Entity Recognizer):识别文本中的命名实体,如人名、地名、组织机构等。
  5. 关系抽取器(Relation Extractor):提取文本中实体之间的关系。
  6. 情感分析器(Sentiment Analyzer):识别文本的情感极性,如积极、消极、中性等。
  7. 信息抽取器(Information Extractor):从文本中提取出所需的信息。

使用领域无关的体系结构,可以将上述组件集成在一起,形成一个通用的NLP处理流程。当处理不同领域的文本数据时,只需要针对具体领域的词汇、语法规则等进行微调和优化,即可快速构建适应不同领域的NLP应用。例如,当处理医学领域的文本时,可以扩充词典,加入医学术语和实体名称;当处理法律文本时,可以调整语法规则,加强对法律条文和案例的识别等。这样就可以充分利用通用的NLP处理流程,快速适应各种领域的文本数据,提高NLP应用的效率和准确性。

2.领域无关的抽取模式

领域无关的抽取模式是一种通用的文本抽取技术,可以从给定的文本中提取出特定的信息,而不需要事先对特定领域进行定制。这种技术的主要应用是信息提取和自然语言处理领域,它可以处理各种类型的文本,如新闻文章、社交媒体内容、科技文献等。

领域无关的抽取模式可以使用基于规则或基于统计的方法来实现。基于规则的方法是通过预定义的规则或模式来匹配和提取文本中的信息。这些规则可以是基于正则表达式的模式,也可以是基于语法规则的模式。例如,可以使用正则表达式来匹配电子邮件地址、电话号码、日期等特定模式的文本。基于规则的方法通常需要手动构建和维护规则,但它可以提供很高的精确度和控制力。

基于统计的方法是基于机器学习技术来学习从数据中提取信息的模型。这种方法通常需要大量标注的训练数据来训练模型,并且需要对模型进行调优和优化以达到最佳性能。例如,可以使用命名实体识别模型来识别文本中的人名、地名和组织名等实体。基于统计的方法通常可以处理更复杂和多样化的文本,但在训练数据不足或标注不准确的情况下可能会产生误差。

除了基于规则和统计的方法外,还有一些其他的领域无关的抽取模式技术。例如,基于模板的方法可以使用类似于填空题的模板来抽取特定类型的信息。这种方法通常需要手动设计模板,但可以很容易地应用于新的数据和领域。另外,基于语言学的方法可以利用自然语言处理技术来理解文本的结构和意义,从而实现更复杂和高级的信息抽取任务。

假设我们有一个任务是从一些餐厅评论中提取出用户对菜品的评价和评分。我们可以使用领域无关的抽取模式来实现:

  1. 定义评价关键词列表:例如,“好吃的”、“难吃的”、“口感不错的”等。
  2. 定义评分规则:例如,提取出文本中的数字,作为评分,或者从关键词中提取出表示评分的词语,如“五星”、“4分”等。
  3. 使用句子分析器对文本进行分析,识别出与菜品评价相关的语句。
  4. 根据评价关键词列表和评分规则,从文本中提取出评价和评分。

​ 举个例子,假设有一句评论:“这家餐厅的牛排非常好吃,我会给它5星评价。” 使用领域无关的抽取模式,我们可以从中提取出“牛排非常好吃”的评价和“5星”评分。

3.句子分析器

句子分析器(Parser)是一种计算机程序,用于将文本分解为语法单元并分析其结构。句子分析器通常将文本解析为树形结构,其中每个叶子节点表示单词,每个非叶子节点表示短语或子句。句子分析器通常使用语法分析算法来确定文本的语法结构,例如上下文无关文法(Context-free grammar)或依存文法(Dependency grammar)。可以对文本中的句子进行分析、解析,识别出句子中的语法成分、句法结构以及语义关系等信息。具体而言,句子分析器可以分为两个主要子任务:词法分析和句法分析。

词法分析是指将文本分解成单个的语言单位(如单词、短语等)的过程。在词法分析过程中,需要进行分词、词性标注等操作,以便后续的句法分析。

句法分析是指对文本中的句子进行解析,识别出句子中的语法成分、句法结构以及语义关系等信息。在句法分析过程中,需要使用一种称为**“句法树”的数据结构来表示句子的结构和语法成分**。句法树可以通过自底向上或自顶向下的方式构建,从而得到一个句子的完整结构。

3.1语法树

语法树是一种用于表示句子结构的树形结构,它反映了句子中单词之间的语法关系。语法树可以用于句子分析、语义分析等自然语言处理任务中。

在语法树中,根节点表示句子本身,它的子节点表示该句子的各个成分,如主语、谓语、宾语等。每个节点可能有一个或多个子节点,子节点与父节点之间的连线表示它们之间的语法关系,如主谓关系、动宾关系等。

以句子“John likes ice cream”为例,它的语法树如下所示:

             Sentence
                |
     +----------+-----------+
     |                      |
   Noun                    Verb
     |                      |
    John                   likes
                            |
                           Noun
                            |
                         ice cream

在这个语法树中,根节点是Sentence,表示整个句子。Sentence节点有两个子节点:Noun和Verb,它们分别代表主语和谓语。Noun节点代表John,它只有一个子节点(即叶子节点);Verb节点代表likes,它有一个子节点Noun,代表宾语ice cream。这个语法树清晰地展示了句子的结构,可以方便地用于后续的自然语言处理任务。

语法树的构建可以通过句法分析技术实现,常见的句法分析方法包括基于规则的分析、基于统计的分析和混合分析等。

句子分析器在文本处理中具有广泛的应用,例如:

  1. 机器翻译:在进行机器翻译时,需要将源语言的句子解析成语法树,然后再将其转化为目标语言的语法树。这样可以保证翻译的准确性和自然度。

  2. 信息抽取:在进行信息抽取时,需要从文本中提取出实体和关系。这一过程中需要使用句子分析器来识别句子的结构和语法成分,从而提取出所需的信息。

    1. 举例说明:

      假设我们有一个关于音乐家的文章,并想从中提取出关于音乐家出生地的信息。例如,我们可能会尝试提取以下类型的句子:

      ​ “Mozart was born in Salzburg.”

      ​ 我们可以使用句子分析器生成每个句子的语法树,并使用这些语法树来识别出与出生地相关的词汇和短语。例如,对于句子"Mozart was born in Salzburg.",我们可以使用句子分析器生成以下语法树:

                  born(VP)
          ________|_________
         |                  in(PP)
         |            ______|_____
         |           |           Salzburg(NP)
         Mozart(NP)  |
                  was(VP)
         
         
      

      ​ 从这个语法树中,我们可以识别出"Mozart"和"Salzburg"都是NP,"born in"是VP,"in Salzburg"是PP。我们可以使用这些标记来确定出生地在句子中的位置,并提取出"Salzburg"作为出生地的信息。

  3. 文本分类:在进行文本分类时,需要对文本进行分析和解析,以便得到文本的语义信息。这一过程中可以使用句子分析器来提取文本中的语法成分和语义关系,从而得到文本的特征表示。

  4. 情感分析:在进行情感分析时,需要对文本进行分析和解析,以便确定文本的情感极性和情感强度。这一过程中可以使用句子分析器来识别情感词汇和情感上下文,从而得到文本的情感表示。

综上所述,句子分析器是自然语言处理中的一项核心技术,它可以对文本进行分析和解析,提取出文本的语法成分、句法结构和语义关系等信息,从而实现各种文本处理任务。

在自然语言处理领域,与领域无关的体系结构和句子分析器通常用于处理各种不同类型的文本数据,例如新闻文章、社交媒体帖子、电子邮件等。通过使用通用的体系结构和解析器。

假设我们要对一句话进行句子分析,该句话为:“我喜欢吃巧克力,但我对牛奶过敏。” 我们可以使用句子分析器来进行语法分析、词性标注等操作,以提取出该句话的结构和含义。

以下是对该句话进行句子分析的示例:

  1. 语法分析

​ 句子分析器可以分析该句话的语法结构,如主语、谓语、宾语等。在这个例子中,语法分析可以提取出以下信息:

​ 主语:我 谓语:喜欢 宾语:吃巧克力

​ 同时,句子分析器还可以识别出该句话的复合结构,如“我对牛奶过敏”的从句结构。

2.词性标注

句子分析器可以对句子中的每个单词进行词性标注,以识别出单词的含义。在这个例子中,词性标注可以提取出以下信息:

​ 我:代词,主语 喜欢:动词,谓语 吃:动词,宾语 巧克力:名词,宾语 但:连词,连接词语 对:介词 牛奶:名词,宾语 过敏:动词,宾语

3.实体识别

句子分析器还可以进行实体识别,以识别出句子中的人名、地名、组织机构名等实体。在这个例子中,实体识别可以识别出“巧克力”和“牛奶”作为食品实体,以及“我”作为人称实体。

通过对句子的语法分析、词性标注和实体识别等操作,句子分析器可以提取出句子的结构和含义,为后续的文本处理提供基础。

4、上下文无关法

上下文无关文法(Context-Free Grammar,CFG)是一种形式语言,用于描述一类语言的语法结构。它由四部分组成:终结符、非终结符、起始符和产生式。终结符是最终出现在语言中的符号,例如单词或标点符号。非终结符是可以通过产生式转化为其他符号的符号,例如句子或短语。起始符是语言的起点,也是非终结符。产生式描述了如何将一个符号替换为其他符号。每个产生式由一个左部和一个右部组成,左部是非终结符,右部是由终结符和非终结符组成的符号序列。

上下文无关文法的“上下文无关”指的是产生式中的左部只依赖于符号本身,而不依赖于符号出现的上下文环境。这意味着在上下文无关文法中,一个非终结符的产生式可以用相同的方式应用于任何上下文中。

上下文无关文法可以被用于自然语言处理领域中的句法分析和语言生成任务。在句法分析任务中,上下文无关文法被用于定义语言的句法结构,通常被转换成一个语法树。在语言生成任务中,上下文无关文法被用于生成符合语法规则的句子。上下文无关文法是一个强大的形式化工具,但也有一些语言现象难以描述,因此在自然语言处理中也使用其他类型的文法,如上下文有关文法和依存文法。

5、信息框

信息框(infobox)是维基百科文章页面的一个部分,它位于文章主体上方,呈现了该主题的关键信息,如名称、地理位置、人物出生日期、作品列表等等。信息框中的属性一般是该主题的各种特征或者背景信息,可以包括但不限于以下内容:

  • 名称:主题的名称或别名;
  • 图片:主题的图片或标志;
  • 类型:主题所属的类型或分类;
  • 地点:主题所在的地理位置或区域;
  • 时间:主题所涉及的时间范围;
  • 创始人/创立者:主题的创始人或创立者;
  • 出生日期:人物主题的出生日期;
  • 逝世日期:人物主题的逝世日期;
  • 作品:艺术家或作家的作品列表;
  • 其他特征:可以根据主题的特征进行设置,如人物的性别、教育背景、政治立场等等。

6、非词汇化特征

非词汇化特征(non-lexical features)是指在文本处理中,除了词汇本身的特征之外,其他与词汇有关的特征。这些特征包括但不限于:

  1. 词性标注(但是有些地方说词性也算是词汇本身的特征):词性是指词语在句子中所处的语法角色。词性标注就是为句子中的每个词语标注它们的词性。词性标注可以提供一些有用的信息,例如名词通常表示实体,动词表示动作等。
  2. 句法结构:句法结构是指句子中各个词语之间的关系。通过句法分析可以得到句子的语法结构树,树中的节点表示词语,边表示词语之间的关系。句法结构可以用于解决一些语义分析问题。
  3. 命名实体识别:命名实体识别是指从文本中识别出人名、地名、组织机构名等实体。命名实体识别可以帮助信息抽取系统更准确地识别和提取相关信息。
  4. 词汇依存关系:词汇依存关系是指在一句话中,各个词汇之间的依存关系。通过词汇依存关系分析,可以了解句子中每个词汇的作用及其与其他词汇之间的关系。
  5. 情感分析:情感分析是指从文本中分析出文本所表达的情感。情感分析可以用于社交媒体分析、品牌监控等领域。

除此之外,非词汇化特征还可以包括文本中的数字、符号、日期等特征。这些特征在文本处理中起到了很重要的作用,可以帮助提高文本分析的准确性和效率。

7、无关系抽取模式

关系无关模式是指在信息抽取中,不考虑实体之间的关系,仅仅根据实体本身的特征进行抽取。这种方法相对于基于关系的抽取方法更为简单,适用于一些简单的信息抽取任务。它主要基于实体的词汇、语法、词性等特征进行抽取,而不考虑实体之间的关系和上下文信息(靠文字信息硬凑)。

举个例子,假设我们想要从一篇新闻报道中抽取人名和年龄信息,我们可以采用关系无关模式。对于人名,我们可以考虑采用词性标注器进行识别,比如识别所有的名词,然后根据常见的人名词性特征(如通常以“姓+名”的形式出现,名字往往是单个单词,首字母大写等)进行过滤,最终得到人名实体。对于年龄信息,我们可以使用正则表达式进行匹配,比如匹配“年龄为X岁”的句子结构,然后根据具体的数字信息进行抽取。

这种方法相对于其他抽取方法更为简单,但是缺点也很明显,即无法获取实体之间的关系和上下文信息,容易导致抽取结果的不准确和不完整。因此,关系无关模式更适用于一些简单的信息抽取任务,对于复杂的抽取任务,需要采用更加复杂的方法

8、其他

“a small set of seed instances known to satisfy the relation of interest” 意思是“已知满足所需关系的一小组种子实例”。在关系抽取任务中,这些种子实例通常是由人工标注的,即在已有的语料库中,人类标注或者手动标注了一些与所需关系相关的实例。这些种子实例可以用来训练监督式学习模型,帮助模型学习所需关系的特征和规律,并从未标注的文本中自动识别和提取相关实例。种子实例通常只是已知实例的一小部分,但它们可以为模型提供有价值的指导信息,有助于提高模型的准确率和召回率。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值