Main code of the BIBB project
Geduldig, Alena (2017). Muster und Musterbildungsverfahren für domänenspezifische
Informationsextraktion Ein Bootstrapping-Ansatz zur Extraktion von Kompetenzen aus Stellenanzeigen. Masterarbeit. URL: http://www.spinfo.phil-fak.uni-koeln.de/sites/spinfo/arbeiten/Masterthesis_Alena.pdf
Geduldig, Alena & Betül Günturk-Kuhl (erscheint 2018). Kompetenzanforderungen in Stellenanzeigen. Die Nutzung maschineller Lernverfahren zur Extraktion und Kategorisierung von Kompetenzen.
Hermes, Jürgen & Manuel Schandock (2016). "Stellenanzeigenanalyse in der Qualifikationsentwicklungsforschung. Die Nutzung maschineller Lernverfahren in der Klassifikation von Textabschnitten". In: Fachbeiträge im Internet. Bundesinstitut für Berufsbildung. URL: https://www.bibb.de/veroeffentlichungen/de/publication/show/8146
Segmentierung von Stellenanzeigen in Abschnitte und Klassifikation der Abschnitte in die vier Kategorien:
- Unternehmensbeschreibung
- Jobbeschreibung
- Bewerberprofil
- Sonstiges/Formalia
--> eigene trainingsdaten als tsv-File im Format CLASS: [tab] classID [new line] paragraph [empty line]
--> oder die vorhandenen (jedoch anonymisierten) Trainingsdaten (trainingdata_anonymized.tsv) verwenden.
--> Input-Datenbank mit Stellenanzeigen. Es liegt eine leere DB mit den geforderten DB-Schema vor (JobAds_empty.db)
.../classification/applications/ClassifyDatabase.java
Konfigurations-Variablen ggf. anpassen
Extrahiert Kompetenzen aus den Abschnitten, die zuvor der Klasse 'Bewerberprofil' zugeordnet wurden
Extrahiert Tools aus den Abschnitten, die zuvor der Klasse 'Jobbeschreibung' und/oder 'Bewerberprofil' zugeordnet wurden.
--> de-sent.bin & de-token.bin (downloadlink: http://opennlp.sourceforge.net/models-1.5/)
--> ger-tagger+lemmatizer+morphology+graph-based-3.6+.tgz (downloadlink: https://code.google.com/archive/p/mate-tools/downloads)
--> competences.txt (leer, oder mit bereits bekannten/extrahierten Kompetenzausdrücken)
--> noCompetences.txt (leer, oder mit Falschextraktionen, die nicht wiederholt werden sollen)
--> tools.txt (leer, oder mit bereits bekannten/extrahierten Tools)
--> noTools.txt (leer, oder mit Falschextraktionen, die nicht wiederholt werden sollen)
Extraktion von Kompetenzen: .../information_extraction/applications/ExtractNewCompetences.java
Extraktion von Tools: .../information_extraction/applications/ExtractNewTools.java < br/>
Matching (= Extraktion aller Fundstellen/Sätze von Kompetenzen/Tools)
der extrahierten Kompetenzen: .../information_extraction/applications/MatchNotValidatedCompetences.java
nur der validierten Kompetenzen (competences.txt): .../information_extraction/applications/MatchCompetences.java
der extrahierten Tools: .../information_extraction/applications/MatchNotValidatedTools.java
nur der validierten Tools (tools.txt): .../information_extraction/applications/MatchTools.java
Bildet Gruppen von Kompetenzen/Tools auf Grundlage ihrer Stringähnlichkeit (Needleman-Wunsch) und/oder Kookkurrenzen (chi-Quadrat)
--> CategorizedCompetences.db (DB mit bereits kategorisierten Kompetenzen - Pfadangabe zur DB in den jeweiligen Apps anpassen)
--> CategorizedTools.db (DB mit bereits kategorisierten Tools - Pfadangabe zur DB in den jeweiligen Apps anpassen)
Kategorisierung auf Grundlage von Kookkurrenzen mit bereits kategorisierten Tools/Competences:
.../categorization/applications/GroupCompetencesByCooccurrence.java
.../categorization/applications/GroupToolsByCooccurrence.java
Kategorisierung auf Grundlage von Stringähnlichkeit:
.../categorization/applications/GroupCompetencesByStringSimilarity.java
.../categorization/applications/GroupToolsByStringSimilarity.java
Kategorisierung auf Grundlage von Kookkurrenzen und Stringähnlichkeit:
.../categorization/applications/GroupCompetences.java
.../categorization/applications/GroupTools.java