Synthesis of CVs Using a Context-free Grammar

Article history: Received: 31 August, 2020 Accepted: 09 December, 2020 Online: 28 April, 2021


Introduction
Curriculum Vitaé, often abbreviated as "CV", roughly translates in Latin as "life's course" [1]. It is important to note that in some countries CV and résumé are not synonymous. In commonwealth countries, a CV is merely a short document -detailing professional and academic careers -serving as a summary of the job seekers personal information, employment, education, qualification, and other information relating to a job applicant [2]. While in other countries such as USA, Canada, Australia, India, etc; a CV is a comprehensive document mainly used in academic [3]- [5] and medical fields [6,7]; such that, a résumé -meaning short summaryis used for industry, non-profit, and public sector job applications [8]. This paper refers to CV and résumé synonymously as a means towards job application.
A CV is usually provided to a potential employer when seeking employment; this serves as a means to screen applicants before the interview process is conducted [9]. In search for employment, CV presentation may greatly influence the likelihood of a job seeker being a potential job candidate [10]. Previous studies give an insight into how relevant information and personal characteristics from a CV are often omitted or incorrectly stated in such a way employers are not able to extract positive attributes [11].
With successful job search comes employment such that we can easily account for our most needed basic needs -including living expenses such basic housing, food, and water among other needs.
Apart from also providing much needed economic growth [12]. Employment also contributes to our mental health and physical health [13]- [15] -affecting confidence and self-efficacy [16]. As a result, endeavours undertaken to improve CV writing significantly increase the chances of obtaining employment [9].
In computing, string generation and manipulation has become important in many different fields [17]- [19]. In this paper, we focus on providing a theoretical and practical solution to the problem of CV presentation. This is achieved by designing a new context-free grammar (CFG) for the synthesis of a user's CV, which we implemented in a tool that aids with the job search process. The use of grammars is critical as we can specify input by the user, and get a pseudorandomly generated number of CVs, each having shuffled sections and subsections, with minor errors pre-checked. A CFG consists of several rules which are simply a model of a language. One rule which does not depend on context can be applied in order to generate a sentence [20].
Many tools exist as solutions to CV problems but many are lacking in features and fail to deliver on what makes a good CV, i.e. readable, well structured, concise with no grammatical errors, and containing all relevant information. However, there exist many job search intervention programs and they seek to further develop skills such as communication. It is known that a tool that helps with CV presentation can improve an applicant's CV for a better job search process. In order to address issues related to CVs a means for job applications, Figure 1 illustrates the process this research undertakes for the synthesis of a CV. This process requires that a user completes a form with the details that should go into their CV, then the CV synthesiser normalises, standardises and synthesises a CV based on existing templates underlined by CFG rules. The result is an instance of a CV (and in some cases, many instances of a CV for the candidate to choose from). Recently there has been many works on the synthesis of things using CFGs [21]- [24]. This paper makes the following contributions to these trend of works: 1. designed a new CFG for the dynamic synthesis of a CV, and 2. presented an online tool that implements the newly designed CFG rules.
This paper is structured as follows. Section 2 present a background to this paper, Section 3 discussed related works. In Section 4, we presented the design of a new CFG for the synthesis of a CV. Section 5 showcases the implementation of a tool (named Flex-CV) that implements the CFG rules and sample results of synthesised CVs. In Section 7 the conclusion and future work is presented.

Background
In this section, we first give an in-depth analysis on the use of a CV as a means towards employment and as a self presentation tool. We consider factors during initial job fit valuations and common sections found in CVs.

A Means to Employment: Major Theories
In a study aimed at understanding how CVs are handled by recruiters, in [2], the author noted there exist defining factors influencing hiring managers decisions during the hiring process; such that, these factors need to be well understood. Although dependent on the communication channel, these factors help filter out candidates in the recruitment process. Some of these factors include and are not limited to: conducted interviews [25], CV presentation [26], related work experience and skills [27], personal or behavioural traits [28], any form of formal assessments [29], gender [12], social economic status [30], and the recruitment channel used [31]. For an individual, employment and its perceived benefits are important.
In [32], the author stated that employment offers benefits associated with our psychological well-being (latent benefits) and benefits associated with remuneration (manifest benefits). Individuals only realise manifest benefits when engaged in paid work, while employment then provides latent benefits such as time structure, social interaction, shared goals, status, and activity [33,34]. However, unemployed individuals lack these benefits. When compared to their employed counterparts, they then experience lower psychological health [34]. In [35], the author note that psychological healthour emotional and mental well-being -was significantly lower in studies with unemployed long-term workers. Further supported in [15] and [13], the study notes that for unemployed individuals, physical health greatly suffers as the transition to unemployment starts; as for mental health, the decline starts even before the result of unemployment. However, job search interventions can be set as a means to help with employment.
In an aim to better understand the effectiveness of job search interventions, in [9], the author identified four theoretical mechanisms which may be used as a guide for planning job search interventions. These four mechanisms are as follows [9]: Behavioural learning theory: result of behaviour modification [36]. As opposed to learning from direct instruction, this learning theory suggests it may be more effective to change behaviours when the desired behaviour is constantly reinforced. As such, job searching consists of many sets of behaviours, some of which include networking and CV writing.
Theory of planned behaviour: result of predicting one's behaviours [37]. In job search, this theory aims to predict behavioural performance, as such, predicting the effort put in by the job seekers and the likelihood of success.
Social cognitive theory: result from the analysis of social behaviours associated with physical functioning [16]. This theory notes the importance of goal setting, specifically, the relationship that exists between a job seeker's present reality and their expected outcome.
Coping theory: results from managing stress over time [38]. In the context of job search, unemployment harms the psychological and physical well-being. This has serious outcomes when reconsidering employment.
Encompassing some of the major theories discussed, in [9], the author identified a self-regulated framework of critical components most seen in job search programs. The focus being on skills development and motivation enhancement. Skills development was identified as being made up of: (1) a self-presentation component, where training and helping an individual's skills (e.g. CV/resume writing, interview preparations, application forms) is important; and (2) a teaching job skills component; whereby job seekers are taught to find relevant jobs based on skills such as how to network in order www.astesj.com to obtain possible job leads over others. In the next subsection we discuss the use of a CV as a self-presentation component.

Curriculum Vitae: A Self Presentation Component
Self-presentation makes use of the following major theories: Behavioural learning and Social cognitive theory [9]. As previously stated, improving self-presentation provides assistance related to CV writing. In line with interview question conducted by recruiters, CV presentation is one of the main factors affecting the application success even before the screening process is conducted by recruiters [12]. In order to screen applicants, [2] acknowledge how recruiters use different tools, including CVs, as one of the more formal recruitment techniques towards employment. In [10], the author argue that the way job seekers present themselves on CVs, as well as during interviews, greatly influences their chance of employment. However, most job seekers are not aware of what makes an overall good CV.
Initial valuations of job fit are made by examining an applicant's CV, thereafter, comparing knowledge, skills, and abilities of the individuals with stated job requirements [10]. In [11], the author indicated how during the job search process, individuals ignore and dismiss information that enables an employer to discern important attributes and traits. As with job search interventions perceived success [9,39], aiding job seekers by highlighting their skills through self-presentation strategies, such as CVs, greatly increases the chances of employment.
In [2], the author note of various changes in the Human Resources domain, one being of how there is a shift towards more autonomy resulting in less human oversight during the recruitment process. As it is common with the use of CV screening applications, missing key information (e.g. a key word) results in several applicants being left out. It is up to these applicants to have to be willing to adjust to these screening processes in hopes of employment. In an attempt to increase the likelihood of employment, [12] indicate that correctly highlighting knowledge, skills, and attributes in CVs is a step towards closer step to obtaining employment.
There are key problems in current literature. In [40], the author note of how in literature, more endeavours are undertaken to understand and further describe the realities of unemployment; as a result, work aimed at assisting individuals has attracted less interest. In an effort to better understand the success associated with job search interventions, the likelihood of obtaining employment is three times higher when job seekers are participants in job search intervention programs [40]. Contrary, there are many other claims of that show no inherent benefits associated with job search programs [9].
In [41], the author argue on the convergence of artificial intelligence (AI) and its perceived economic reasoning. One of the primary goals of AI is on the development of computational methods for natural language understanding [42]. Recently there has been rise on works in natural language processing (NLP). In NLP, it is important to look at a target's language grammatical structure; thereafter, through syntax we are then able to apply the rules of a certain language's grammar [43]. In [17], the author notes of how artefact generation has advanced in many notable different fields of work, some of which include the synthesis of things and procedural content generation.

Related Work and Gap
In this section, we discuss related works with regards to synthesis of things, procedural generation and similar tools which exists for CV synthesis. We compare these tool by discussing what they offer and what they lack. We also note the gap and motivation of this study.

Synthesis of Things
Several papers have been published on the synthesis of things in different environments. Some related work in this domain are as follows: Program Synthesis using Natural Language In [44], the author presented a framework for taking natural language inputs and producing a domain specific language as a result.

Synthesis of Integration Problems and Solutions:
In [17], the author presented grammar rules, along with a tool, for the synthesis of integration problems along with the solutions.
Generation of Practice Programs in Python Using CFGs, in [22] the author presented automatic generation of procedural python programs.
SQLizer: Query Synthesis from Natural Language In [23], the author presented an end-to-end system whereby from natural language, SQL queries can be synthesised.
Interactive Synthesis using Free-Form Queries In [24], the author present a tool for code assistance where the system uses free from queries as input and outputs Java code adhering to the syntactic rules of the language.

Synthesis of Social Media Profiles
In [45], the author presented a Probabilistic CFG which was then implemented in a synthesiser tool for social media profiles.

Procedural Content Generation (PCG)
Widely used in game development, procedural generation makes use of human generated assets which are used to algorithmically produce computer content. In [46], the author noted that PCG is not random but based on a systematic approach to content generation, and that simple PCG may not be adaptive unless an adaptive approach is taken. Game content usually generated includes game structures, maps, levels, characters designs, and rules [47]. Some of the work related to PCG includes the following: The Level Generation Competitions: competitors submit level generators based on the Mario Bros game series [46,48].
No Man's Sky: a game where players are able to explore 18 quintillion unique planets and moons [49].
SpeedTree: a middleware used for vegetation generation in game development [50].
Borderlands: a game where the weapon system generation was done algorithmically [51]. www.astesj.com Based on the input obtained through web forms, we can then use PCG, with CV templates as assets, to layout and present in L A T E X the results of a synthesised CV.

Existing Tools for CV Synthesis
There exist many tools for the synthesis of a CV. However, these tools are limited in use leaving much to be desired for a better CV. Table 1 lists some examples of these tools, gives a description on the uses these tools, and compares with the tool (Flex-CV) we have developed.

Gap
Prior to this work, there has not previously been a CFG for the synthesis of a CV. This work, in doing so, is a first to help with CV presentation problems with the use of CFGs. Current tools which exist make use of template based CV generation, whereas Flex-CV is dynamic in design, based on its use of grammar rules. As a result, Flex-CV can dynamically generate many CV instances compared to the static templates used by existing tools.

Motivation
Many tools exist which can help with constructing a CV, however, there are limitations which affect the rules of what makes a good CV. Given our aim is to produce a tool that will help with the job search process. We consider CV normalisation and standardisation towards a comprehensive tool for CV generation. This allows us to address common errors, focusing on capitalisation mistakes. We can then address one of the main factors affecting job application success.

Why Use Context-free Grammars?
CFGs are used to specify context-free languages. We have used CFGs for the synthesis of a CV based on the following reasons: Production of Pseudorandom CV Sections One reason why we have chosen to use a CFG for the synthesis of CVs is the ability to write rules that can be compiled into modules that generate pseudorandom (or shuffled) permutations of CV sections. This is shown in Section 4, where rules allow the generation of CV sections that have different orderings, i.e. Education may come before Work Experience in one derivation, or it may be ordered differently in another derivation sequence.
Not a "Machine Learning" Task Another reason why CFG is appropriate for this task is that statistical approaches have not performed "spectacularly enough" to fool humans, in the synthesis of natural language texts [59,60]. This is because Machine Learning models perform well with estimated guesses and not exactness -whereas, in the composition of a text like CV, results have to be 100% exact. Hence, CFG becomes appropriate for this task, as it can be proven that correct rules, will always generate correct strings (or texts).
Sharing Grammar Rules Using CFGs allows others to easily expand on the grammar rules and to synthesis other patterns of CVs (or other forms of text) based on the re-use of substructures within the CFG rules. This lays a scientific foundation to assist those who undertake such research in the future.
Applications of FLAT Formal Languages and Automata Theory (FLAT) is a theoretical aspect of Computer Science; mostly not attributed to many real-life applications (few exceptions are in the design of compilers, and language recognisers). Using a CFG, an aspect of FLAT, demonstrates that FLAT can find applications in topics such as PCG and social sciences application.

Design: CFG For CV Sythensis
In this section, we present a newly designed CFG for the synthesis of a CV. A CFG consists of grammar rules, whereby, the rules are a finite set. We define a four tuple CFG, G = (N, Σ, P, S start ) where N consists of non-terminal symbols as a placeholders, set Σ of terminal symbols, set P of production rules, and S start as our start symbol. In this section, we describe a CFG for the synthesis of a CVs.

Grammar Rules
Here we define a rule for the start symbol of this grammar, denoted as S start . In Rule 1, we define S start as consisting of compulsory and optional sections that appear in a CV.
S start <Comp Sec> + <Opt Sec> * In Rule 2, we proceed to define the compulsory sections as consisting of biographical information, work experience, and education/qualifications obtained. We ensure that the compulsory part of the synthesised CV always starts with the biographical information and contains either an educational section, experience section, or both sections ordered differently.
In Rule 3, we proceed to define the optional sections as consisting of either relevant skills, activities, awards, publications, or projects. We ensure that any optional section in the CV appears only once and any in order possible .
Microsoft Word's CV Assistant helps by showing attributes based on related roles, and/or industry. However, no emphasis is put on an individuals own content.
Emphasises on an individuals content, giving a more comprehensive CV as a results.

LinkedIn Resume Builder
Leverages the details (experience, education, skills, etc.) a user has on the LinkedIn social platform and builds a CV based on that available information [53].
The rules of a good CV and a good LinkedIn profile are distinct and there exist a problem if a profile is incorrectly setup up as a CV based on a user profile.
Focuses on the rules of what makes a good CV rather than what makes a good LinkedIn profile.

Vmock
A resume reviewing platform that allows students to upload resume and then receive feed. This platform works by bench-marking and scoring the uploaded towards a specific targeted audience [54].
This tool is great at formatting content, however, limited at analysing content.
Focuses not only on analysing content through data normalisation and standardisation.

Ceev
A google chrome extension that transforms a LinkedIn profile page into a CV ready for print. In addition, this tool allows for the customisation of a template [55].
This tool relies on the use of LinkedIn and the same problems with LinkedIn résumé builder apply to this tool. A good LinkedIn profile does not necessary result in a good CV.
Focuses on the rules of what makes a good CV rather than what makes a good LinkedIn profile.
Resume.io An online résumé builder that enable users to easily create a résumé. This online tool includes automatic spellchecker, summary generator, and a cover letter builder [56].
This tool is not freely available as pricing options are in place. This is not ideal for individuals looking for employment with no financial means to support themselves.
Does not limit usability in hopes for monetary gain but seeks to helps individuals better their livelihoods.

Resumonk
An online tool that by default, you can add contact information, summary, experience, education and skills. This tool also allows for the importing of a LinkedIn generated CV [57].
This tool is not freely available as pricing options are in place. This is not ideal for individuals looking for employment with no financial means to support themselves.
Does not limit usability in hopes for monetary gain but seeks to helps individuals better their livelihood.
Zety CV Builder Allows individuals to re-create their CV in a better looking way. It allows a user to pick a template, fill in relevant details and customise the document for a unique look [58].
This tool is not freely available as pricing options are in place. This is not ideal for individuals looking for employment with no financial means to support themselves.
Does not limit usability in hopes for monetary gain but seeks to helps individuals better their livelihood.
In Rule 4, we define personal information as having an a name, and the other details (i.e. arrangements of id, email, contact number, and gender) related to the individual. In Rule 5, 4 P 4 is a kpermutation of x without repetitions. We ensure those arrangements are dynamic as the order may differ based on a chosen template or formatting.
<Other Dtls> −→ x ∈ {<Id>, <Email>, <Phone>, In Rule 6, we define the education section as having one or more instances of qualifications obtained. Each entry consisting of the following: qualification, date obtained, institution, location, and the description. Here 4 P 4 is a k-permutation of x (i.e. arrangements of qual, date, inst, and place without repetitions). We ensure those arrangements, with the excepting of the description, are dynamic as www.astesj.com the order may differ based on a chosen template or formatting.
In Rule 7, we define the experience section as having one or more instances of relevant experience. Each entry consisting of the following: the date, organisation, location, position, and description. Here 4 P 4 is a k-permutation of x (i.e. arrangements of date, org, place, and pos without repetitions). We ensure those arrangements, with the excepting of the description, are dynamic as the order may differ based on a chosen template or formatting.
In Rule 8, we define the skills sections as having transferable skills (i.e. soft skills) and technical skills (i.e. hard skills). We ensure that either hard skills, soft skills, or both or none can appear in this section.
In Rule 9, we define the projects section as having one or more instances of relevant projects. Each entry consisting of the following: the date, title, organisation, and description of the project. Here 3 P 3 is a k-permutation of x (i.e. arrangements of date, title, and org without repetitions). We ensure those arrangements, with the excepting of the description, are dynamic as the order may differ based on a chosen template or formatting.
<Projs Sec> −→ <Projs Ent> + <Projs Ent> −→ <Projs Field><Desc> In Rule 10, we define the publications section as having one or more instances of published works. Each entry consisting of the following: the year, title, publisher, and journal or conference name. Here 3 P 3 is a k-permutation of x (i.e. arrangements of year, title, publisher, and journal/conference without repetitions). We ensure those arrangements are dynamic as the order may differ based on a chosen template or formatting.
<Awrds Sec> −→ (<Year><Desc>) + (11) In Rule 12, we define the activities section as one or more instances of involved activities. Each entry consisting of the following: the year, and a description of the activity.

CV Normalisation and Standardisation
In this section we present algorithms for CV normalisation and standardisation. Firstly, we present new definitions of standardisation and normalisation of CVs in our context. This is given in Definitions 1 and 2.

Definition 1 (CV Normalisation)
We define the normalisation of a CV as a way to ensure no capitalisation errors and mistakes are present within the CV.

Definition 2 (CV Standardisation)
We define the standardisation of a CV as the use of CFG rules to enforce the automatic organisation of CV sections and flow of CV contents.  The synthesiser proceeds to standardise the data to a common format. Indicated in Algorithm 2, the synthesiser applies CFG rules on a section by section basis and prepares it be rendered as a PDF in L A T E X based on the selected template.

Implementation and Results
The rules defined in Section 4.1 can be used to dynamically synthesis an instance of a CV, whereby an individual's information is provided. In this section, we present implementation details of the designed grammar rules and the results obtained.

Implementation Details
The CFG presented in Section 4.1 was implemented in a web application (Flex-CV) using the ASP.NET Framework. Web forms were used to collect user data regarding content of the CV. In order to carry out this study, the CV sections used were those outlined in our grammar rules. Figure 2 illustrates the implementation of Flex-CV as a flow diagram.
As opposed to mobile applications, web applications provide certain benefits to our research. Essentially, mobile applications live and run on a device itself while web applications can seamlessly be assessed through any web browser. Web applications need not be downloaded and can be used on any modern smart phone. Hence, web forms were used to collect user data regarding content of the CV, i.e. biographical information, education, experience, skills, projects, publications, activities, and awards. The front-end (user interaction side) of the application can be viewed at: https://cv-synthesis.web.app. This then communicates with a back-end (server side) which is responsible for receiving data, implementation of our algorithms on the data, and sending results back to the front-end.

Results
Upon submission, the user may generate a single CV or permutation of possible instances (see Figure 3). As for the option to generate a single CV instance, a PDF is rendered in L A T E X and returned along with an editable TEX file for future reference. As for the option to generate multiple instances, all possible instances with regards to the section ordering are returned to the user. Rendering these CV documents in LaTeX then provides high quality and consistent output using the TEX typesetting. As for using and providing an editable TEX file a user can then seamlessly use that to make changes, or use Flex-CV again for the benefits it offers.

More Results
Using the designed grammar rules, more results of synthesised CVs and the TEX files can be found at: tinyurl.com/cv-instances. online and respondents were individuals looking to improve their CVs. The survey was distributed online in a manner that allowed random respondents to complete the survey. Figure 4 indicate that 55.6% of respondents often struggle with writing a good CV, while none indicated as having not struggled. As seen in Figure 5, only 5.6% indicated as never having discovered grammatical errors in their CV. These results are quite problematic, however with Flex-CV we are able to help with CV presentation as means towards potential employment for individual. With 83.3% having tried Flex-CV, majority agree ( Figure  6) with Flex-CV potentially providing candidates with lesser or no errors. Job search intervention can be setup to assist in job search programs, this can be seen in Figure 7 as 61.1% had never used a CV/résumé assistant tool before, however as indicated in Figure 8, an overwhelming majority later then stated as likely to use a tool such a tool in the future.

Results in
Correctly highlighting knowledge, skills, and attributes is a step closer to obtaining employment. Considering whether individuals struggle with writing a rather good CV, we indicate this as a problematic issue given how a good CV/resume is a gateway to employment and benefits that come with it [33]. Considering whether respondents had ever discovered grammatical errors in their CVs, we note that a way to lessen error occurrences is needed as they are found. Considering all the results, we therefore state that job search intervention can assist in the job search process. As such, Rayman and Atanasoff [40] note that the likelihood of obtaining employment is three times higher when job seekers are participants in job search intervention programs. This further indicates how tools, such as Flex-CV, are essential as job search intervention assistants.

Conclusion
In this paper, we presented a CFG for the dynamic synthesis of a CV. The use of formal grammars in synthesising things has recently had many works done and in this paper, grammar rules were implemented in a software tool that produces CV instances to help with CV presentation problems. We presented a survey to many individuals who found the tool to be useful as a means towards better employment prospects through better CV presentation. The impact of job search interventions, Flex-CV included, are beneficial as a way to help with employment in many communities.

Future Work
From here, we will expand the grammar rules to be more complex and include the following: more sections, usually those not common in many CVs; and more templates.