AI FÖR NATURLIGT SPRÅK
Kursinfo
Kursmaterial
FAQ
Kursmaterial
/
Kapitel
Deluppgift 2: Dependensträd
Taggning av dependenser
I denna deluppgift ska vi tagga ord i meningar med deras dependensrelationer. Tillsammans skappar taggarna i meningen ett dependensträd, som förmedlar den grammatiska strukturen i meningen.
I nästa kodcell skapar vi en Spacy pipeline med en liten engelsk modell och taggar en mening med dependensrelationer. Därefter skriver vi ut information för varje token, där token.tag_
innehåller den taggade relationen, och med hjälp av displacy presenterar vi hela dependensträdet i en figur.
I nästa kodcell läser vi, likt föregående deluppgift, in gulddata från Georgetown University Multilayer korpus.
I nästa kodcell ska du likt föregående deluppgift skapa en sträng av orden i meningen och sedan skicka in strängen i den pipeline vi skapat tidigare i uppgiften.
I nästa kodcell utvärderar vi taggningen av dependensrelationerna med två olika mått, unlabeled attachment score (UAS) och labeled attachment score (LAS).
Dependensträd för extraktion
I denna uppgift ska vi använda oss av meningsstrukturen för att extrahera meningar som innehåller ett specifikt verb och objekt.
Först ska vi läsa in ett dataset som innehåller summeringar av nöjesartiklar publicerade mellan åren 2004–2005 av BBC. I nästa kodcell läser vi in data och skriver ut de första två meningarna.
Nästa kodcell ska hitta och spara alla meningar som har ett objekt (target_obj
), vars lemma är award, med en depedensrelation till ett verb (target_verb
), vars lemma är win. Din uppgift är att:
• Tagga alla orden i meningen med ordklass- och dependensinformation.
• Hitta alla ord som är substantiv eller personnamn och är ett objekt.
• För varje sådant objekt undersöka om det är objektet vi söker och om det har en dependensrelation till ett verb som också är det verb vi söker.
Som hjälp finns en funktion is_obj
som returnerar sant för dependensrelationer bland de objekt-taggar som finns, och falskt för de andra.
Bra jobbat! Vi har nu använt informationen från dependensrelationerna för att extrahera meningar. Den strukturella informationen som finns i dependensträd är användbar, både för denna typen av uppgifter, men också som information för att träna andra modeller. Ett sådant exempel är att dependensinformationen är användbar vid träning av en modell på uppgiften att identifiera namngivna entiteter i text, vilket vi ska arbeta mer med i slutuppgiften.
Denna webbsajt innehåller kursmaterialet för kursen ETE335 AI för naturligt språk.
Materialet är licenserat under en Creative Commons Erkännande 4.0 Internationell licens.
Copyright © 2022, Marco Kuhlmann & Oskar Holmström