Lexicon-Driven Automatic Sentence Generation for the Skills Section in a Job Posting (2023)

Abstract: This paper presents a sentence generation pipeline as implemented on the online job board Stepstone. The goal is to automatically create a set of sentences for the candidate profile and the task description sections in a job ad, related to a given input skill. They must cover two different “tone of voice” variants in German (Du, Sie), three experience levels (junior, mid, senior), and two optionality values (skill is mandatory or optional/nice to have). The generation process considers the difference between soft skills, natural language competencies and hard skills, as well as more specific sub-categories such as IT skills, programming languages and similar. To create grammatically consistent text, morphosyntactic features from the proprietary skill ontology and lexicon are consulted. The approach is a lexicon-driven generation process that compares all lexical features of the new input skills with the ones already added to the sentence database and creates new sentences according to the corresponding templates.

## introduction writing and posting a job ad can be timeconsuming and expensive, especially for small businesses without a human resources department and with a limited budget. the aim of the stepstone recruit project is to accompany the entire recruitment process from the creation and publishing of a new job ad to the matching between the job and the cv database and proposing the best candidates for the vacancy. the process is entirely automated and enables the job publisher / recruiter (hereafter referred to as the user) to create a new job ad within a few minutes, without the need to write any text. as a smaller but crucial part of this large project, the linguistic services team has created a pipeline for the automatic generation of sentences for given input skills to be embedded into the job ad text. the creation of a job ad starts with the selection of a job title (job descriptor, also referred to as jd). from an auto-suggested list the user can select one of ca. 0.5 million german or english jds (lemmas) organized in ca. 137.000 concepts (synonym groups) from the proprietary ontology. in the next step, a list of the best matching skills is automatically proposed, to be selected by the user for the given job. the jd-skill matching is powered by an ai model trained and developed in the data science department of the company. for each chosen skill, a set of pre-generated sentences is provided. the user can either accept the first suggestion or select an alternative, while also being able to edit the wording, as well as to add their own text. the generation of the sentences for alc (automatic listing creation) is the subject of the current paper. ## related work researchers are actively exploring methods and techniques to automate and enhance text generation tasks. recent methods, especially machine learning and ai techniques, have advanced significantly, enabling the development of sophisticated approaches for automatic text generation. notably, the emergence of models like generative pre-trained transformer, @xcite has had a transformative impact on the field of text generation, including ## corpus analysis and extraction of text building blocks to achieve the goal of developing an accurate and domain-relevant system, a corpus of 3.8 million text lines specifying the requirements for the candidate profile (hereafter referred to as the profile section) and 4.8 million text lines containing the job description (hereafter referred to as the task section) was analysed. the corpus was extracted from the job ads in german language published on stepstone's german board in the past two years. the profile section usually describes skills, competencies, education, and experience that the candidate needs to have (you have knowledge @xmath0; you have experience @xmath1. the task section describes the tasks and the responsibilities of the role (your tasks will @xmath2, your responsibilities will @xmath3. both sections were processed separately to analyse the behaviour of different skills in different contexts, as well as to extract relevant patterns per section. the objective was to generate a collection of phrases and text fragments around a placeholder skill, that could be assembled into complete sentences based on various criteria and parameters outlined below. the second main objective was to generate a set of rules and constraints for the replacement of the skill placeholder with the real input skill. refer to section 4 for more information. the first version of the system is developed for the german language. ## selection of syntactic components, compilation of lexical resources, and development of government rules the frequent pre-context and post-context blocks around @xmath4. this was the basis not only for the extraction of the syntactic patterns, but also for the collection of the most frequent lexical resources to fill the subject/predicate/object positions, including the corresponding adjectives, adverbs, prepositions, and conjunctions. ## automatic process in production subsequently, the final collection of rules and resources was automatically applied to all the skills featured in the ontology, resulting in the creation of almost 30 million unique sentences for approximately 62.000 skills. to streamline the regular production process, a pipeline was established to generate sentences for newly added skills in the ontology. the infrastructure incorporates the databases for the ontology maintenance and storage of the sentence data, a python pipeline for the generation of new sentences, and a serverless process for automatic export of new data to the production system. ## first results in the pilot phase of the project, 20 stakeholders were asked to test the system, to use it to publish their job ads, and to give their explicit feedback. in total, 465 listings (job ads) were published. quantitatively, the published listings contained a total of 2031 sentences in the profile sections. 1289 of them were taken from the auto-suggest without any modification. the task section contained 1580 sentences in total. 1229 of them were taken from the auto-suggest without any changes. all other sentences were added by the job publisher during the job ad creation. in both sections, it was observed that most of the lines that did not come from the auto-suggestion option were rather simple enumeration, either single skills (mostly free-text, so out-of-vocabulary skills) or skill lists, where similar skills were grouped together in one bullet point. qualitatively, the stakeholders' descriptive feedback was positive. they appreciated that the job ad could be created in very short time. in the first test round, the sentences were sometimes perceived as schematic and uniform, with similar structure and same sentence beginnings. to overcome that, an external module was developed to select sentences with the longest lexical distance. the following qualitative feedback provided by stakeholders and internal testers significantly influenced the further development of the generation module: svo sentences with personal pronouns "du" or "sie" as the subject, were perceived as dominant and monotonous. instead, neutral sentences where the skill itself served as the subject (several years of experience in the field of "virtual design" are a must) or sentences with as subordinate clause as the subject (what you have already acquired is basic experience in output management) were considered more natural and appealing. as a result, the number of such sentences was increased. sentences expressing that the skill is optional were found to be richer and more varied compared to sentences with mandatory skills. this is because many of the "nice to have" patterns follow the vso order, with the optionality adverb typically taking the first position in the sentence, and as such they offer an opportunity to enhance the diversity of the sentence beginnings by expanding the vocabulary for the given slot (e.g. ideally, desirable, optional, advantageous). since the selection of the formal, informal, or neutral tone as well as the specification of optionality are essential input parameters, the freedom in selecting slot fillers is limited. to introduce more variety, strategies such as sentence order inversion and the use of idiomatic fillers (e.g. <@xmath5; a must @xmath6. ## summary and outlook the paper describes a method for automatic creation of content using pre-established rules and templates, without any reliance an artificial intelligence or machine learning algorithms. the process enables to quickly create high-quality and contextually appropriate content. it offers numerous advantages including efficiency, consistency, customisability, and accuracy. it can serve as both the primary approach for sentence creation and as fallback option for ai methods. the qualitative improvements will concentrate on allowing multiple skills as the input to the generation. lastly, user feedback will be integrated into the development loops (free-text skills that are not in the ontology yet, modified sentences, patterns that never were selected or were discarded by the user).