Semantic Role Labelling Flashcards
What is a semantic role?
It is a role that arguments of a predicate take in an event
What are some semantic role datasets?
PropBank and FrameNet
What is semantic role labelling?
It is the task of assigning roles to spans of text in sentences
What is a thematic role?
It captures the semantic commonality around participants of event. There are many roles, typically 12
What are some problems with thematic roles?
There are lots of different themes/events that lead to a lot of thematic roles
What has been developed instead of thematic roles?
Generalised semantic roles
What are the options for generalised semantic roles?
Defining them heuristically (PropBank)
Defining roles specific to groups of verbs or nouns (FrameNet)
In PropBank, what are semantic roles tied to?
They are tied to specific verb sense predicates
In PropBank, what does each verb have?
Each verb has N arguments:
arg0 is usually the PROTO-AGENT, arg1 is usually the PROTO-PATIENT
Explain what is shown in the image
In the image, it shows the first word sense for the words agree and fall and their arguments. For agree, argument 0, the PROTO-AGENT, is the agreer, while argument 1, the PROTO-PATIENT, is the proposition, and argument 2 is the other entity agreeing
What else can argument have in PropBank?
They can have argument modifiers, known as ArgM
What is shown in the image?
These are different types of argument modifiers in PropBank
How is FrameNet different to PropBank?
It associates semantic roles with frames rather than verb predicates
What is a frame?
A frame is a background knowledge structure that unites a set of words
What are frame elements?
They are a set of semantic roles and the predicates that use these roles
Explain what is shown in the image
This is a frame and its frame element. The frame is change_position_on_a_scale. The description contains some frame elements that are within the brackets. It gives a description of some components that relate to the concept and each of these components are a frame element
What are core and non core roles in FrameNet?
Core roles are frame specific, while non-core roles are some more general properties that can occur across a number of different frames, such as time, location etc
What is feature based SRL?
It is one approach to SRL. The training set is PropBank or FrameNet, the input is a set of sentences from these training sets. A node is a node of the parse tree. We use a supervised classifier such as CRF to predict SRL for a node. The input for the classifier, X is a feature template for a specific (node, predicate) in the parse tree. Y is a SRL tag.
What is feature-based SRL typically used with?
They are used with a pipeline where you prune the parse tree, identify nodes that are/are not arguments, then classify using a multi-class classifier for nodes
What is global consistency?
Semantic roles of constituents are not independent, so per node local role classification is not optimal. Global consistency step is added as a second pass
What are some feature templates for SRL?
Governing Predicate, phrase type of constituent, Headword of constituent + POS, Path in parse tree from constituent to predicate, Voice of clause, Position of constituent, subcategorisation of the predicate, NE type, first and last word
What is Neural SRL?
It is a neural method to perform semantic role labelling
What is a benefit of the Neural SRL model?
It does not require the parse tree as input, only a sentence and instead the parse tree can be embedded within the layers of the NN
What is the input for SRL?
A sentence with some separators and an identifier for the predicate
What is the output for Neural SRL?
The BIO tags for SRL
How does the Neural SRL model work?
Inputs go through embedding layer. We include a flag for the word that is a predicate. This enters the biLSTM layer, as output we pass to a MLP with softmax to classify each of the labels.
In Neural SRL, how does the BiLSTM encoder work?
Concatenate the BERT embedding and the predicate flag embedding
Can use transformer instead of BiLSTM
In Neural SRL, how does the MLP + softmax decoder work?
Concatenate the hidden layer output for each word and hidden layer output for the predicate.
Can use CRF instead of MLP