Climate change frame extractor

This web demo accompanies the following manuscript

K. Beuls (in prep.). A hybrid parser for semantic frame extraction in the climate change debate.

Comments and feedback can be send by e-mail to katrien@ai.vub.ac.be.

Explanations on how to use this demo can be found here.


Menu:

WD-1. A hybrid approach.

WD-2. Two types of constructions.

WD-3. A full FCG analysis in detail.

WD-4. Evaluation: Coverage and accuracy.


WD-1. A hybrid approach

The main idea behind this semantic parser is to develop a tool that allows you to extract certain semantic frames from English news paper article texts, more specifically from articles about climate change. The tool itself makes use of a number of NLP preprocessing techniques such as a tokenizer and a state-of-the-art syntactic dependency parser provided by spaCy, as well as a hand-written construction grammar that covers a number of semantic frames from FrameNet, such as Causation, Expectation and Predicting. Our approach falls within the domain of hybrid AI research, as it combines the output of a statistical model with a powerful frame processing engine based on symbol manipulation and heuristic search.

Normally, FCG analyses start with a single unit that contains features representing the input in either parsing or production. Typically, these include the words themselves as well as the order in which they occurred in the utterance, or (in production) the meaning that needs to be expressed in terms of a predicate calculus representation. The frame extractor starts instead with a fully fledged syntactic structure, with units for every word in the utterance and features that indicate the part-of-speech tags and the dependency labels. Word order features are also present in the special root-unit.

An example initial transient feature structure for the sentence 'Oxygen levels in oceans have fallen 2 % in 50 years due to climate change, affecting marine habitat and large fish such as tuna and sharks.' is included here below. You can click on the units to see the features that were added in the preprocessing step. To expand the complete feature structure, please click on the encircled '+' sign on the left.

Now, our FCG grammar fragment can work on this initial structure to build a semantic frame analysis that contains the target frames we are interested in, with their slot fillers assigned. For the above sentence, the result that we obtain is the following:

frame-evoking-element
due to
effect
frame-evoking-element
fall
item
oxygen levels in oceans
difference
2 %
duration
in 50 years
cause
climate change
affected
affecting marine habitat and large fish such as tuna and sharks

The result is a frame set, consisting of one frame, namely an instance of a Causation frame, with four slots that were filled in by the frame processing engine:

  1. Frame evoking element: The word(s) that activated the frame, in this case 'due to'.
  2. Effect: This slot is here filled with another frame, namely a Change Position on a Scale frame. The effect is thus the fact that oxygen levels in oceans (item) have fallen by 2% (difference) in 50 years (duration).
  3. Cause: This slot is filled by the words in the sentence corresponding to the cause units: 'Climate change'.
  4. Affected: Finally, the subclause containing the item that is affected by the causation: 'marine habitat and large fish such as tuna and sharks'.

The next part of this web demo explains how this frame set is found.

Back to menu


WD-2. Two types of constructions.

To build a semantic frame analysis as the one we saw above, two types of constructions are ativated: morpho-lexical constructions and frame slot fillers.

1) Morpho-lexical constructions

Morpho-lexical constructions trigger when a certain word form that corresponds to what in FrameNet is called a 'Lexical Unit' is detected in the input sentence. For example, in the example sentence that was introduced above, the presence of the conjugated verb form 'fallen' triggers the application of the fallen-morph construction, which in turn activates the fall-verb lexical construction. The lexical construction introduces the frame, which in this case is the 'Change_position_on_a_scale' frame. When a lexical unit is related to multiple frames, all hypotheses will be added to the search space as competitors.

The two morpho-lexical constructions that activate the Change_position_on_a_scale frame are included here below. You can click on the encircled '+' sign in the middle to expand the construction and see its internal structure.

The morphological construction will look for a unit with the string 'fallen' inside and add a number of features to that unit, namely a 'syn-cat' feature with information on the 'lex-class', 'verb-form', 'finiteness' and 'tense-aspect-modality'. It also adds a 'lex-id' feature that signals the lemma of this conjugated verb form.

The lexical construction can now do its work as it will match on a unit with a 'lex-class: verb' feature in its 'syn-cat' feature and a 'lex-id' set to 'fall'. Remember that in parsing/comprehension the lower part of the right-hand side of the construction matches first with the transient structure and all the remaining features will be contributed, including the semantic frame and its core frame elements.

The 'due to' preposition is a special case here, since we opted to do a single morpho-lexical construction that both matches on the actual form 'due to', as well as adding the semantic frame of Causation to the feature structure. In fact, the X-due-to-Y construction also does the argument linking, and therefore introduces the second type of constructions that the Semantic Frame Extractor uses: frame slot filling constructions.

The X-due-to-Y construction matches on four units. Apart from a lexical unit containing the string 'due' with a dependency label 'prep', it looks for a subunit that has a 'pos-tag: in' feature and a 'pcomp' dependency label feature. Further, both the frame slots for Cause as well as Effect are already linked in by this construction: the Effect is linked to the '?event-unit' in the construction, which has to be the parent unit of the '?due-unit' in the syntactic dependency structure, and it needs a 'phrase-type: VP' feature as well as a 'syn-valence' feature. The Cause is syntactically dependent on the '?to-unit' in the dependency structure and is in this case a unit with 'pos-tag: NN' and dependency lagbel 'pobj'. The main role of this construction is thus to detect certain syntactic valency structures and bind the values of the very important 'referent' features of the participating units to the correct slots in the activated frame.

2) Grammatical constructions

Grammatical constructions can in this grammar be seen as 'slot filler constructions' and their main role is to link slots of a certain frame that is active to particular units in the transient structure, by making the value of their referent features the same as the value of the frame slot feature. The X-due-to-Y construction above was already one example of this. I will here include a few additional examples to illustrate the crucial role of these constructions, all of which were needed to analyse the example sentence.

Introducing non-core Frame Elements

Lexical constructions typically only contain the core frame elements of a frame. To add non-core frame elements to the analysis, grammatical constructions come into play. An example of such a construction that introduces a non-core frame element for the Causation frame is the X-affecting-Y construction depicted below (click to expand). The construction adds a 'affected' frame element to the causation frame. It does so by matchin on a unit with a 'sem-cat' set to 'frame: causation' and which has a pointer to the frame through its 'referent' feature. By making sure the value of the referent feature of the frame unit, in this case the variable '?frame' is repeated in the new 'meaning' feature, the additional slot '(affected, ?frame, ?affected) is linked to the existing causation frame. Note that this construction is specifically for the lexical unit 'affecting', matching on the string and the 'pos-tag: vbg' feature.

Generic argument structure constructions

The grammar contains a number of more general argument structure constructions that can be used more broadly to link a verb's arguments to the frame slot fillers it hosts. An example is the intransitive construction. The intransitive construction in this grammar fragment matches on two units: a subject unit, characterized by the 'nsubj' dependency label and its parent unit the VP unit which links the actor in its sem-valence feature to the referent of the subject unit. Through this simple repetition of the variable that gets bound to the actor of the event represented by the verb, the same subject unit and all its lexical material will also be bound to the item slot in the Change_position_on_a_scale frame for example.

How is that possible? Remember the lexical construction for the verb 'fall'? On its contributing part (the construction's left-hand side) it introduced a 'sem-valence' feature to the unit with 'actor: ?x' as its value. The exact same variable '?x' also reappears in the item slot that is part of the meaning feature on the right-hand side. In its definition, the fall-verb-lex is thus seen as an inherently intransitive verb.

Single slot fillers

An example of a construction that links a single frame element that is not part of the 'sem-valence' feature is the following (click the encircled '+' to expand before reading further):

If you click once on the '?x' you will see that it lights up twice in the construction: both as the value of the 'referent' feature of the duration unit (which is the preposition unit with a noun that has a numerical modifier as its dependent) and as the last element in the duration meaning predicate of the verb unit. Syntactically speaking, the verb unit is the parent unit of the preposition that expresses the duration of a frame (that has such a core frame element).

Back to menu


WD-3. A full FCG analysis in detail.


Comprehending "Oxygen levels in oceans have fallen 2 % in 50 years due to climate change, affecting marine habitat and large fish such as tuna and sharks."


Applying
in comprehension


initial structure
application process
applied constructions
resulting structure

Meaning:

gstruct0(framecausationdue-to?frame-95)struct1(slotcause?frame-95?cause-46)struct0:varFRAMEdash951->struct1:varFRAMEdash952struct2(sloteffect?frame-95?frame-19)struct1:varFRAMEdash952->struct2:varFRAMEdash953struct3(slotaffected?frame-95?affected-1)struct2:varFRAMEdash953->struct3:varFRAMEdash954struct4(framechange-position-on-a-scalefall?frame-19)struct2:varFRAMEdash193->struct4:varFRAMEdash195struct5(slotitem?frame-19?x-28)struct4:varFRAMEdash195->struct5:varFRAMEdash196struct6(slotdifference?frame-19?diff-1)struct5:varFRAMEdash196->struct6:varFRAMEdash197struct7(slotduration?frame-19?duration-2)struct6:varFRAMEdash197->struct7:varFRAMEdash198

frame-evoking-element
due to
effect
frame-evoking-element
fall
item
oxygen levels in oceans
difference
2 %
duration
in 50 years
cause
climate change
affected
affecting marine habitat and large fish such as tuna and sharks

Back to menu