Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

In the wake of NTNU's merger with HiG, HiÅ and HiST, the university's course catalogue has expanded drastically. The various institutions will naturally have courses with overlapping curriculum, and in order to organize and improve the course catalogue of the new NTNU, identifying these overlapping courses is of interest. This specialization project aims to automate the process of identifying such courses through the use of Natural Language Processing (NLP). By using the courses' description from the catalogue, it should be possible to gain an understanding of their content and compare them to each other. The problem will be approached using an ensemble of comparators, and will research how combining classical information retrieval techniques with advanced NLP methods can improve the comparison.

Keywords: Natural Language Processing, Information Retrieval, Keyword Extraction

Implementation

You can follow the implementation on GitHub. The programming is done in Python, and utilizes the Natural Language Toolkit. Course descriptions are automatically downloaded through IME's Data API.

Under følger et sammendrag av mine tanker rundt Study-Merger Exchange-oppgaven 

 Oppgavebeskrivelse

Oppgaven går ut på å lage et verktøy for å letne arbeidet med å sammenligne emnetilbudene hos de ulike partene i NTNU-fusjonen. Verktøyet skal ha to hovedfunksjoner:

  • Det skal være mulig å visualisere emner og deres avhengigheter i en graf. Fokuset bør være på oversiktlighet. En mulig virkemåte er at systemet foreslår en grunnleggende struktur, som brukeren etterpå kan finjustere via et grensesnitt. Det er foretrukket om grafene bygges i PlantUML. Et nyttig verktøy vil være IMEs data-API for emner.
  • Systemet skal automatisk kunne kalkulere overlapp mellom to emner. Dette vil for eksempel gjøre det mulig å oppgi emnekoden for objektorientert programmering ved NTNU, og få emnekoden for tilsvarende emner ved HiST, Gjøvik og Ålesund i retur. Et konkret forslag til implementasjon er å bruke en evolusjonær algoritme. Et emne er beskrevet av flere attributter (bl.a. navn, fagområde, studienivå og faglig innhold). En evolusjonær algoritme vil forhåpentligvis kunne finne den optimale vektleggingen av hvert attributt under en sammenligning. For å trene algoritmen kan man se på studiepoengreduksjon internt ved NTNU. For eksempel vet vi at TMA4100 Matematikk 1 har 6 poeng studiepoengreduksjon om du alt har tatt MA0001 Brukerkurs i matematikk A. Følgelig bør algoritmen returnere svært høyt overlapp mellom de to emnene. Likeledes finnes det emner uten studiepoengreduksjon, som dermed ikke bør ha noe overlapp. Ved å bruke det overnevnte API-et kan man hurtig bygge store datasett med test- og treningseksempler.

Selv om fokus er på fusjonspartene, er det ingenting i veien for at verktøyet skal kunne brukes av universiteter over hele verden. Videre følger noen relevante forskningsspørsmål. Disse knytter seg først og fremst til det siste punktet (intelligent sammenligning av emner).

  • Hvor gode resultater gir tilnærmingen med en evolusjonær algoritme som beskrevet over?
  • Gitt at algoritmen trenes med studiepoengreduksjonsdata fra NTNU; er det merkbare forskjeller mellom sammenligning av emner innad i NTNU og sammenligning av emner fra de andre høyskolene?
  • Hvordan er resultatene i forhold til resultater fra andre tilnærmingsmåter? Her kan det være relevant å sammenligne resultater med de andre gruppene som har oppgaven.

Merk at ingenting av dette er «satt i stein», men det gir en viss grobunn for oppgaven videre. Har du spørsmål eller kommentarer, er det bare å fyre løs.

 

Med vennlig hilsen,

Audun Liberg