/quenfo

Main code of the BIBB project

Primary LanguageJava

quenfo

Main code of the BIBB project

Dokumentation

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

Classification (Zoning)

Segmentierung von Stellenanzeigen in Abschnitte und Klassifikation der Abschnitte in die vier Kategorien:

  1. Unternehmensbeschreibung
  2. Jobbeschreibung
  3. Bewerberprofil
  4. Sonstiges/Formalia

zu ergänzende Dateien/Daten

in den Ordner classification/data/trainingSets/

--> 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.

in den Ordner classification/db/

--> Input-Datenbank mit Stellenanzeigen. Es liegt eine leere DB mit den geforderten DB-Schema vor (JobAds_empty.db)

Application

.../classification/applications/ClassifyDatabase.java

Konfigurations-Variablen ggf. anpassen

Information Extration

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.

zu ergänzende Dateien/Daten

in den Ordner information_extraction/data/openNLPmodels/

--> 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)

in den Ordner information_extraction/data/competences/

--> competences.txt (leer, oder mit bereits bekannten/extrahierten Kompetenzausdrücken)
--> noCompetences.txt (leer, oder mit Falschextraktionen, die nicht wiederholt werden sollen)

in den Ordner information_extraction/data/tools/

--> tools.txt (leer, oder mit bereits bekannten/extrahierten Tools)
--> noTools.txt (leer, oder mit Falschextraktionen, die nicht wiederholt werden sollen)

Applications

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

Categorization

Bildet Gruppen von Kompetenzen/Tools auf Grundlage ihrer Stringähnlichkeit (Needleman-Wunsch) und/oder Kookkurrenzen (chi-Quadrat)

zu ergänzende Daten

--> 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)

Applications

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