{'fraction_non_alphanumeric': 0.028940375352931407, 'fraction_numerical': 0.007017106792891546, 'mean_word_length': 5.427808913797705, 'pattern_counts': {'":': 0, '<': 1, '<?xml version=': 0, '>': 1, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Slot Filling for Extracting Reskilling and Upskilling Options from the Web

Disturbances in the job market such as advances in science and technology, crisis and increased competition have triggered a surge in reskilling and upskilling programs. Information on suitable continuing education options is distributed across many sites, rendering the search, comparison and selection of useful programs a cumbersome task. This paper, therefore, introduces a knowledge extraction system that integrates reskilling and upskilling options into a single knowledge graph. The system collects educational programs from 488 different providers and uses context extraction for identifying and contextualizing relevant content. Afterwards, entity recognition and entity linking methods draw upon a domain ontology to locate relevant entities such as skills, occupations and topics. Finally, slot filling integrates entities based on their context into the corresponding slots of the continuous education knowledge graph. We also introduce a German gold standard that comprises 169 documents and over 3800 annotations for benchmarking the necessary content extraction, entity linking, entity recognition and slot filling tasks, and provide an overview of the system's performance.


Introduction
The automated extraction of structured knowledge from Web content for knowledge base population is a challenging task, since it requires combining content extraction and context aware knowledge extraction. In the continuing education domain, for example, Web pages promoting courses and degree programs often contain information on learning outcomes and course prerequisites which use entities of similar types (e.g., skills, degrees, etc.). Correctly interpreting these entities requires contextual knowledge of the section in which they appear.
The presented research has been motivated by an industry project, which aims at creating a knowledge graph of national and international educational programs relevant to the Swiss reskilling and upskilling market. To improve the performance of knowledge extraction tasks, the industry partner contributed a comprehensive domain ontology which formalizes domain knowledge such as occupations, skills, topics and positions.
Once completed, the system will cover almost 100,000 educational programs spanning a heterogeneous set of sources such as academic programs, continuing education certificates, courses, seminars, and international online courses. The created knowledge graph will power a search platform and recommender system that will support users in locating suitable reskilling and upskilling programs.
The main contributions of this paper are: (i) the application of content extraction and knowledge extraction methods to a complex industry-driven setting that requires building a knowledge graph of educational offerings suitable for reskilling and upskilling; (ii) the introduction of methods capable of performing the required complex slot filling task on Web pages retrieved from numerous different education providers; (iii) the integration of background knowledge available in the industry partner's domain ontology with state-of-the-art content extraction and knowledge extraction methods; (iv) the creation of an infrastructure for assessing the overall task and subtask performance which can be used for benchmarking slot filling on educational content. This infrastructure comprises a German gold standard dataset that contains two partitions of 169 and 75 documents, and six evaluation tasks that consider content extraction, entity extraction, and slot filling.

Related Work
In recent years, industry-scale knowledge graphs such as the Google Knowledge Graph, Microsoft's Bing knowledge graph, and the knowledge graphs deployed by Facebook, eBay and IBM Watson have emerged [8]. Creating and maintaining such comprehensive knowledge graphs requires significant resources, which has further accelerated research in automated knowledge extraction methods.
Knowledge base population, for instance, applies knowledge extraction techniques to discover facts in unstructured textual resources to integrate them into a knowledge base or knowledge graph. DBpedia, for example, is constructed by extracting knowledge from Wikipedia Web pages and storing them in the form of (subject, predicate, object) triples [4]. Other approaches operate on more heterogeneous document collections, as reflected in the composition of evaluation datasets covering News articles [6], question answering [2], and even general Web documents [3].
Slot filling is a knowledge extraction technique that extracts information on predefined slots (e.g., a person's occupation, age, etc.). When applied to openworld scenarios, slot filling is very challenging, as demonstrated by the TAC 2017 Cold Start Slot Filling Task in which even the winning systems only obtained F-measures below 20% [5]. If applied to a single domain, considerably better scores are achieved, as demonstrated by Ritze et al. [10] who use slot filling for augmenting knowledge bases. Most state-of-the-art systems such as Coach [7], RSZ [11] and LEONA [12] deploy deep learning to improve system performance, and transfer learning to allow adaptation to new domains.
The research introduced in this paper, in contrast, customizes slot filling to the target domain by combining deep learning with domain knowledge encoded in a skill and education ontology.

Method
The presented knowledge extraction system populates the continuing education knowledge graph by drawing upon a skill and education ontology to extract knowledge on educational offerings from websites published by educational institutions such as universities, schools, and course providers.  The system's knowledge graph population pipeline expands the continuing education knowledge graph by analyzing the Web pages doc i of educational offerings i. A page segmentation and classification component extracts relevant page segments seg type i ∈ doc i with type ∈ {target group, prerequisite, learning objective, course content, certificates & degree} from these pages. Afterwards, entity linking identifies known entities e known ij such as skills and occupation within the segments and links them to the skill and education domain ontology. We complement entity linking with entity recognition which is capable of identifying entities e new ij that are not yet available in the domain ontology and, therefore, significantly improves the coverage of the entity extraction process.

System Overview and Formalization
Finally, the slot filling component fills for each educational offering i the slots outlined in Table 1 by contextualizing the extracted entities e ij = e known ij ∪ e new ij with the information on the page segment seg type i from which they have been extracted. New entities that have been discovered by the ER component are assigned unique identifiers that can be used for linking them to the domain ontology at a later stage.
In the real-world example shown in Figure 2, the slot value with surface form "Programmierung" (edu:prog) extracted from the page segment "Lehrinhalte" (edu:course content), for example, fills the course content slot, while the same entity extracted from the segment 'Voraussetzungen" (edu:prerequisites) would be considered a prerequisite for visiting the course. After the completion of the slot filling process, the system integrates the information on each educational offering into the knowledge graph by forming the corresponding triples (e.g., <https://sae.edu#c01> edu:content edu:prog.).

Knowledge extraction
Page segmentation. Most websites structure educational offerings in sections, such as course prerequisites and learning objectives. Extracting the content from these sections and correctly labeling it allows contextualization of mined entities, which helps to distinguish slots such as prerequisites, learning outcomes and certificates.
The developed page segmentation system deploys the following three-step process for identifying page segments within the documents: (i) Text segmentation compares the document's HTML structure with the corresponding text representation generated by the Inscriptis content extraction framework [13].
Based on the HTML structure, the text is split into segments whenever separator elements m ={div, p, li, td, th, dt, dd, summary, legend, h1, h2, h3, h4, h5, h6}, which enclose a text and usually do not contain any other element m, occurs. (ii) Titles and text clusters are identified by combining HTML elements with a fallback heuristic which annotates non-standard titles based on their length (max. 3 words) and a task-specific list of commonly used title terms (e.g., 'prerequisite', 'content', and 'degree') obtained from the domain-ontology. After identifying the title element, it is used to determine the text cluster by merging all segments until the next title is reached. (iii) The final cluster classification step compares the title terms with word sequences from the skill & education ontology to determine the cluster type.
Entity linking. The system uses a graph-based entity linking approach [14] that draws upon the project's skill and education database. We customized the component to differentiate between the project-specific entity types (i) education, (ii) function (i.e., occupation and position), (iii) skill and (iv) topic. Fig. 3. Overview of the EL process: data preparation transforms the data into a Linked Data repository, training mines the data repository to create a serializable EL profile, and evaluation uses the profile to annotate new and unknown documents. Figure 3 illustrates the utilization of the industry partner's skill and education ontology within the EL component. The ontology covers most areas relevant to the human resource sector by organizing domain knowledge into 42 tables which combine custom schemas with industry standards such as the Standard Classification of Occupations 3 and multiple industry directories. The given EL task utilizes tables covering classes, relations and instances on skills, educations, occupations, topics, industries and schools. The system's data preparation step deploys Protege Ontop 4 , a framework that allows translating SPARQL into SQL queries, to transforms these relational data into a Linked Data repository.
The training step utilizes SPARQL queries to mine, pre-process, and classify relevant entities and context information from the created Linked Data repository. The EL Profile Builder further applies multiple pre-processors and analyzers to the query results which create artificial name variations such as plural, possessive forms and abbreviations to maximize the EL profile's coverage, and determine whether the mined surface forms are unambiguous (e.g., "hedge fund manager"), ambiguous (e.g., "wolf of wallstreet") or provide additional context (e.g., "occupation"). The EL Profile Builder concludes the training by serializing an EL profile containing all information required for the EL process. The EL Web service deploys the profile in conjunction with a graph-based disambiguation algorithm [14] that identifies mentions of entities and links them to the ontology concepts.
Entity recognition and entity classification serves as a fallback for entities that have not yet been included into the industry partner's skill and education ontology. Entity recognition not only provides an efficient mitigation strategy for identifying these missing entities, but also suggests concepts for inclusion into the skill & education ontology, which helps in improving its coverage over time. We model entity recognition and entity classification as a token classification problem, where a deep learning model takes a sequence of tokens (e.g., a sentence) and then provides labels for each of them. The entity classification component draws upon the distilbert-base-german-cased model provided by the popular transformers library [15], using the Adam solver with a learning rate of 5 · 10 −5 , and a dropout of 0.1. Figure 4 outlines the model structure and the training process.
The domain adaptation step draws upon a domain corpus of 28,000 documents that has been enriched with silver standard annotations obtained from the previously described EL component. Afterwards, fine-tuning draws upon the gold standard documents to further improve the model's capabilities of capturing new entities and to generate the final model. During benchmarking, a five-fold cross evaluation procedure ensures that no training documents are used within the evaluation step.

Gold standard
The CareerCoach 2022 gold standard is available for download in the NIF and JSON format 5 , and draws upon documents from a corpus of over 99,000 education courses which have been retrieved from 488 different education providers. The project's industry partner classified 20 of these education providers "high priority", since they play a key role in the Swiss continuing education market. The list of high priority education providers contains ten academic institutions (universities and universities of applied sciences), five companies focusing on IT education certification, and the five largest education providers not fitting into any of these categories.
Gold standard partitions. The corpus contains two partitions. Partition (P1) supports the content extraction tasks and comprises 169 documents and gold standard annotations for page segments. Since the structure of HTML pages frequently differs even within educational offerings, this corpus contains up to five documents per website and also considers a higher total number of education providers. P1 has been created by sampling (i) five random documents per "high priority" education provider and (ii) one random document taken from a selection of 69 randomly selected standard priority education providers.
The second partition (P2) only contains 75 documents but also a significantly richer set of annotations that considers page segments, entities and slots. It, therefore, supports benchmarking knowledge extraction tasks such as entity extraction and slot filling on top of the content extraction task. Since these tasks draw upon the extracted and normalized content, a higher document variability within an education provider seems to be less beneficial, particularly when considering that creating this much richer set of annotations is also very time intensive.
Annotation guidelines. The gold standard annotation process involved two researchers and two industry experts who also outlined guidelines specifying: (i) relevant classes for the page segment recognition and classification tasks, and information on how to identify them; and (ii) the entities supported by the entity extraction tasks and detailed instructions for identifying and distinguishing these entities. This has been particularly important for the 'topic' and 'skill' entity types, which provide valuable context information but are less intuitive to annotators. Entities are mapped to unique identifiers, and the entities of type 'occupation', 'degree', 'education', 'industry', 'school' and 'position' have also been linked to the corresponding DBpedia, Wikidata and European Skill/Competences, qualifications and Occupations (ESCO) 6 concepts.
During the annotation process, the guidelines have been revisited and further optimized. We drew upon the introduced knowledge extraction pipeline to create candidate annotations that have then been manually corrected and improved by domain experts. In a final step, two additional domain experts from the industry partner manually validated the gold standard annotations based on 28 documents that comprised 1533 annotations, reported potential problems and triggered further improvements to the gold standard and annotation guidelines. At this point, the inter-rater-agreement between domain experts from the research institution and the industry experts for partition P2 has been 0.85 (Cohen's Kappa), and 0.88 (pairwise F1 score) [1] for annotated entities. Within the sample, the experts agreed on all page segment annotations, suggesting that the page partitioning task can be easily performed by humans based on the provided annotation guidelines. The substantial inter-rater-agreement also indicates that pre-annotating the corpus is unlikely to introduce any significant bias.
Gold standard properties. Table 2 provides basic statistics and summarizes information on the number of annotated classes, and annotations per document. The table also gives an impression on the differences to expect between education providers. For instance, there are documents that do not contain any relevant contents (i.e., no relevant page segment) as well as cases where page segments appear multiple times. The entity extraction and slot filling tasks are also confronted with a large variety of entities, ranging from 2 entities per document to a total of 235 entities identified in a single document.

Evaluation tasks
The evaluation draws upon the gold standard and supports benchmarking the following six tasks performed by the introduced knowledge extraction system: Content extraction. Content extraction identifies and classifies text segments relevant for the slot filling tasks. We distinguish between, 1. T1: page segment recognition -identifies page segments within HTML pages doc and extracts the text strings seg j i ∈ doc i from these segments. 2. T2: page segment classification -assigns each extracted text segment seg j i to a class type ∈ {target group, prerequisite, learning objective, course content, certificates & degree}.
We evaluate the page segment recognition task (T1) by comparing the tokens in the extracted page segments t i ∈ seg j i with the tokens in the gold standard segments t g ∈ s j g . The evaluation of the page segment classification also requires that the types of the gold standard page segment t type g and of the extracted segment t type g match.
Entity extraction. The entity extraction tasks aim at identifying mentions of entities of type tp i ∈ T i within the extracted page segments. The corpus contains annotations of the following entity types: 'skill', 'occupation', 'topic', 'position', 'school', 'industry', 'education', 'degree'.
1. T3: entity recognition -locates mentions m i of entities within text segments. 2. T4: entity classification -assigns each mention m i to the corresponding entity type tp i ∈ T i . 3. T5: entity linking -links mentions m i to the appropriate entity e i in the knowledge graph KG. Entities that are not yet available in the knowledge graph are handled as NIL entities (i.e., they are assigned a temporary identifier that is unique for all mentions which refer to the same entity).
We distinguish between two evaluation settings: strict and relaxed. In the strict settings, mentions m i identified by the entity recognition component for task T3 are considered true positives (TP), if they are identical to a gold standard mention m g . The entity classification task (T4) also requires that both entities have been assigned to the same entity type tp i , and the linking task (T5) requires linking the mention to the correct knowledge base entity e i .
The relaxed setting eases these conditions by also considering mentions that overlap a gold standard mention as correct.
Entities that do not appear in the gold standard are considered false positives (FP), and false negatives (FN) refer to gold standard entities which have been missed by the entity extraction task.
Slot filling. The slot filling task (T6) combines all the tasks above. The page segment recognition (T1) identifies page segments. Afterwards, the page segment classification (T2) assigns them to the corresponding segment cluster, and entity recognition (T3), entity classification (T4) and entity linking (T5) are performed. Finally, we assign the extracted entities e i , which have been contextualized based on the classification of the page segment in which they have been identified, to the corresponding slot. Table 3 summarizes the results of a five-fold cross evaluation on the CareerCoach 2022 gold standard. For the entity linking and slot filling task, the evaluation also distinguishes between the strict and the relaxed setting. A comparison of the page segment recognition and page segment classification performance reveals the same scores for both tasks. This confirms that the developed simple segment classification heuristic has been very effective and has classified all page segments correctly.

Experiments and discussion.
The results indicate that both entity recognition and entity classification have been optimized towards a higher precision, to spare domain experts, which need to confirm new entity types in the production process. Entity linking, in contrast, has been optimized towards recall, as outlined in the evaluation results.
The evaluation of the overall slot filling process only considers correctly assigned slots (i.e., course, slot and slot value are correct) as true positives. All other values are considered false positives, and missing values as false negatives. The F1 score of the slot filling process indicates that the system is not yet suitable for fully automated knowledge population, but rather enables a semiautomated process that significantly improves throughput when compared to the prior deployed manual approaches.

Automatic Knowledge Graph Population
Running the presented system on 55 course descriptions (one per unique education provider) from the gold standard, extends the knowledge base by 453 unique statements. Most of these statements (222) describe the course content, followed by target groups (90), learning objectives (61), course prerequisites (51) and certificates (29). In addition, 511 slot values have been marked as "related" since the system hasn't been able to unequivocally resolve their slot, due to shortcomings in the page partitioning process. This result indicates, that further improving the page partitioning process will be key towards enhancing the system's recall.

Outlook and conclusions
Performing slot filling tasks on third-party websites is a challenging task, requiring content extraction and knowledge extraction methods to work in concert. This paper introduces a slot filling system that mines education provider websites for a wide range of educational offerings such as academic programs, continuing education programs, courses, seminars and online courses. Integrating background knowledge from a proprietary ontology allows the application of graph-based entity linking methods for the identification of known entities, which are complemented by entity recognition to mitigate coverage issues within the ontology. The slot filling component contextualizes entities to distinguish between ambiguous slots such as prerequisites versus learning outcomes, and afterwards integrates them into a continuing education knowledge graph.
An evaluation framework comprising six evaluation tasks and a publicly available German gold standard allow benchmarking the content extraction and knowledge extraction methods utilized within the slot filling system. The framework did not only yield information on the components' performance, but also guided the system development by providing rapid feedback on the impact of changes and improvements. In addition, it offers a reliable benchmark to thirdparty researchers interested in the described slot filling task.
Future work will focus on: (i) improving the slot filling performance by enhancing page segmentation, increasing the coverage of the proprietary knowledge graph used for entity linking, and fine-tuning the entity recognition component. Given the importance of the created benchmarking framework for the research and development process, we plan on (ii) further increasing its size and coverage; and (iii) integrating the gold standard with explainable benchmarking frameworks such as Orbis [9] to make it more accessible to third-party researchers.