FrameNet FrameNet Python API (整理总结)

编程入门 行业动态 更新时间:2024-10-08 08:21:58

FrameNet  FrameNet <a href=https://www.elefans.com/category/jswz/34/1770869.html style=Python API (整理总结)"/>

FrameNet FrameNet Python API (整理总结)

FrameNet & FrameNet Python API (整理总结)

文章目录

  • FrameNet & FrameNet Python API (整理总结)
  • FrameNet介绍
    • Frames
    • Lexical Units
  • NLTK 下载 FrameNet
    • 自动下载使用
    • 手动下载器下载
    • 离线下载使用
  • FrameNet Python API
    • Frames
      • frames()
      • frame()
      • frames_by_lemma()
    • Lexical Units
      • lus()
      • lu()
      • LUs 的POS
    • Annotated Documents
      • docs()
    • frame() & lu()
    • frame_ids_and_names() & frames_by_lemma()
    • 数据库对象
      • fn.keys()
    • 正则匹配模式RE
  • References

FrameNet介绍

FrameNet

  FrameNet语料库是一个人读和机读的英语词汇数据库,它基于对实际文本中单词用法的注释示例。FrameNet基于一种叫做框架语义学的意义理论,该理论来源于Charles J. Fillmore及其同事的工作。其基本思想很简单:大多数单词的含义都可以通过语义框架(对事件、关系或实体及其参与者的描述)得到最佳理解。例如,烹饪的概念通常涉及到一个人做饭(Cook),即将被烹饪的食物(food),做饭时用来盛食物的东西(容器)和热源(加热设备)。在FrameNet项目中,这被表示为一个名为Apply heat的框架,而Cook、Food、Heating instrument和Container被称为frame elements (FEs)。链接这种框架的单词,如fry、bake、boil和broil,称为Apply_heat框架的词汇单元(LUs)。FrameNet的工作是定义框架,并对句子进行注释,以显示FEs如何与链接框架的单词在语法上匹配。

  在框架中的框架元素正式列出了他们在框架中功能的英文描述。框架是在一个网络中组织的,包括一个继承层次结构和其他类型的框架关系。在一个框架中列出的词汇条目被称为词汇单元(逻辑单元,lexicalunits ,LUs)。FrameNet的逻辑单元的详细目录包括内容和功能词。在形式上,一个逻辑单元LU连接一个框架的词元(词元的名字包含了一个语音标签。词元可能由一个单词如词组成如surrender.v,或多个单词,例如give up.v组成)。

Frames

  框架是类似脚本的概念结构,描述特定类型的场景、对象或事件,以及该框架所需的参与者和道具。例如,“Apply heat”框架描述了涉及厨师、一些食物和加热设备的常见情况,并由单词bake、blanch、boil、roast、brown、simmer、steam等引起。

  我们将框架的角色称为“框架元素”(FEs),而引发框架的单词称为“词汇单元”(LUs)。

  FrameNet包括了框架之间的关系。FrameNet定义了几种类型的关系,其中最重要的是:

  • Inheritance : 一种IS-A关系。子框架是父框架的子类型,而且父框架中FE与子框架中的FE相对应。例如:“Revenge”框架继承自“Rewards_and_punishments”框架。
  • Using: 子框架以父框架为背景,例如,“Speed”速度框架“uses”“Motion”运动框架;但是,并不是所有的父框架的FEs都绑定到子框架的FEs。
  • Subframe: 子框架是父框架描述的一复杂事件的子事件。例如:“Criminal_process”刑事程序有很多子框架如 "Arrest"逮捕, "Arraignment"传讯, "Trial"审判,和"Sentencing"量刑。
  • Perspective_on:子框架提供了一种方向角度来了解未能了解的父框架(子框架提供了未透视的父框架上的特定透视图)。例如在“Hiring”雇佣和“Get_a_job”工作框架中,分别从雇主和雇员的角度了解父框架“Employment_start”。

Lexical Units

  词汇单位(LU)是一个单词与单词意思的配对。例如,“Apply heat”框架描述了涉及厨师、一些食物和加热设备的常见情况,并由单词bake、blanch、boil、roast、brown、simmer、steam等引起。这些让人联想起框架的词是“Apply heat”框架中的逻辑单元。一个多义词的每一个词义都是不同的LU。

  我们用“word”这个词来谈论LUs。实际上关系很复杂。当我们说“bake”是一个多义词时,意思是词条“bake.v”(bake词有很多词形如:“bake”, “bakes”, “baked”, and “baking”)链接到三种不同的框架:

  • Apply_heat: “Michelle baked the potatoes for 45 minutes.”
  • Cooking_creation: “Michelle baked her mother a cake for her birthday.”
  • Absorb_heat: “The potatoes have to bake for more than 30 minutes.”

  它们构成了三个不同的逻辑单元,具有不同的定义。

  多字短语,如“given name”和像“shut-eye”这样带连字符的词,也可以是LUs。在适当的框架中,像“middel of mowhere”和“give the slip(to)”的熟语也定义为LUs,它们分别在“Isolated_places”和“evading”中,而且他们的内部结构是不可分析的。

  Framenet提供了一个单词的每个意义的多个注释示例.此外,这组示例(大约每个LU20个)说明了词汇单元的所有组合可能性。

  在最简单的情况下,让人联想起框架的单词是动词,例如“fried”在“Matilde fried the catfish In a heavy iron skillet.”句中。

  有时,事件名词可以联想起一个框架。例如,“reduction”联想起“Cause_change_of_scalar_position”,在“…the reduction of debt levels to $665 million from $2.6 billion.”句中。

  形容词也可以联想起一个框架。例如,“asleep”可以唤起“Sleep”框架,例如:“They were asleep for hours.”

  许多常见的名词,如像“帽子”或“塔”这样的人工制品,通常是作为从属关系而不是清晰地联想起它们自己的框架。

NLTK 下载 FrameNet

自动下载使用

该方法需要网速,有时即使有网速也不一定顺利下载完,需要多尝试几次。

import nltk nltk.download('

更多推荐

FrameNet FrameNet Python API (整理总结)

本文发布于:2024-03-13 07:09:48,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1733435.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:FrameNet   Python   API

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!