a semantic web enabled system for résumé composition and publication - swim 09
DESCRIPTION
The process of writing a résumé is a task where the notion of background knowledge plays an important role. In a résumé there is a lot of interrelated and implicit information. The use of domain ontologies and semantic technologies may provide a valuable help to make evident these interrelations and to make explicit the implicit knowledge. We present a system to automatically produce a semantically annotated résumé exploiting domain knowledge modeled with respect to a domain ontology. Here, semantic technologies and domain ontologies have been used both to help the user during the writing process and to explicitly represent domain knowledge in the final CV. The system is available at http://sisinflab.poliba.it/impakt-reloaded/ SWIM’09 - 1st international Workshop on Semantic Web Information Management presented by Roberto Mirizzi (http://sisinflab.poliba.it/mirizzi - roberto.mirizzi -at- gmail.com) Berkeley, CA, USA - September 14, 2009TRANSCRIPT
SWIM’09 - Semantic Web Information Management Berkeley, CA, USA, September 14, 2009 1
A Semantic Web enabled System for Résumé Composition and Publication
Roberto Mirizzi1, Tommaso Di Noia1, Eugenio Di Sciascio1, Michelantonio Trizio2
1Politecnico di Bari, Bari, Italy2D.O.O.M., Matera, Italy
SWIM’09 - Semantic Web Information Management Berkeley, CA, USA, September 14, 2009 2
Outline of the talk
• Writing a Résumé: elicit hidden information• Motivation: the need for Semantics in
Information Management• Proposed System:– Semantic Tagging• Content-based Recommendation• Collaborative Filtering Recommendation
– RDFa annotation • Conclusion and future work
SWIM’09 - Semantic Web Information Management Berkeley, CA, USA, September 14, 2009 3
Writing a Résumé (I)
Personal Information: name, address, telephone,
fax, email, nationality, date of
birth, gender
Work Experience: dates, position held,
main activities, employer, sector
Education and training: dates, title awarded, subjects and skills covered,
organisation,
Personal skills and competences: social,
organisational, technical, computer,
artistic, other
SWIM’09 - Semantic Web Information Management Berkeley, CA, USA, September 14, 2009 4
Writing a Résumé (II)
A lot of information is hiddenInternet Systems Consultant, Custom Information Systems, Raleigh, NC January 2007 to December 2009 Responsible for full software development life cycle (SDLC) management of custom applications developed for corporate clients Managed project requirements, milestones and created detailed functional specificationsDeveloped applications using HTML, ASP, Javascript, VBscript, Visual Basic.net 2008, JAVA, Perl, MySQL, PL/SQL
HTML, ASP, JavascriptWeb Development
VBscript, Javascript, PerlScripting programming
languages
Java, Visual Basic.net 2008Object-oriented programming
languages
MySQL, PL/SQLDatabase Management
System
PL/SQLOracle
Project Manager
two-years experience
SWIM’09 - Semantic Web Information Management Berkeley, CA, USA, September 14, 2009 5
Motivation
We need Semantics because:
• it helps to elicit hidden knowledge
• it allows an efficient retrieval of a resource
I.M.P.A.K.T. reloaded
SWIM’09 - Semantic Web Information Management Berkeley, CA, USA, September 14, 2009 6
Proposed System
http://sisinflab.poliba.it/impakt-reloaded
SWIM’09 - Semantic Web Information Management Berkeley, CA, USA, September 14, 2009 7
Proposed System: Semantic Tagging
The user starts to type in some characters or a keyword describing his profile
The system returns a drop-down list of items containing the characters keyed in
SWIM’09 - Semantic Web Information Management Berkeley, CA, USA, September 14, 2009 8
Content-based recommendation
The user selects from the drop-down list the keyword that best suits his profile
The system generates a tags cloud with keywords related to the choosen one
Each suggested concept has its own description
SWIM’09 - Semantic Web Information Management Berkeley, CA, USA, September 14, 2009 9
How is the tag cloud generated?
• The more general and more specific tags are retrieved according to the hierarchical view of the taxonomy
PHP
Script Language
Programming Language
Software Development
• Other tags are retrieved by searching for similarities in the comments of other Classes
PHPJavascript
Script Language
Python
PHP
…
Zend Framework
Drupal
SWIM’09 - Semantic Web Information Management Berkeley, CA, USA, September 14, 2009 10
Collaborative Filtering Recommendation
The system generates a new tags cloud with keywords related to the choosen one according to other users’ competences
The user can navigate both clouds simply by clicking on a tag
Not all tags are shown. The user can expand the list to retreive more tags
SWIM’09 - Semantic Web Information Management Berkeley, CA, USA, September 14, 2009 11
Knowledge elicitation
The user drags&drops a tag in his tag bag area (e.g. Zend Framework)
The system populates the area with all the implicit information related to the choosen tag
SWIM’09 - Semantic Web Information Management Berkeley, CA, USA, September 14, 2009 12
Annotating the Work Experience
The user annotates his working experience by dragging&dropping the tags in the related tags area
The occupation and type of business are automatically tagged according to what the user types in
By this way it is possible to link each competence to a specific work experience. This allows to exactly know how many years of experience a candidate has on a given language
SWIM’09 - Semantic Web Information Management Berkeley, CA, USA, September 14, 2009 13
Previewing and SavingThe Résumé is displayed for preview into an iframe
but more can be done …
The europass style is achieved through an appropriate CSS
The user can print his CV or save it for a local copy
SWIM’09 - Semantic Web Information Management Berkeley, CA, USA, September 14, 2009 14
...<span about="#workExperience1" property="doac:start-date"content="2008-04-01">01 April 2008</span> -<span about="#workExperience1" property="doac:end-date"content="2009-04-01">01 April 2009</span></td></tr><tr><td>Occupation or position held</td><td about="#workExperience1" rel="google:role doac:position" resource="impakt:Computer_Systems_Analyst“>Systems analyst</td></tr><tr><td>Main activities and responsibilities</td><tr><td><div about="#workExperience1"> <span property="doac:activity">Analylsis and Development of web applications</span><span rel="impakt:hasKnowledge" resource="impakt:PHP">PHP</span><span rel="impakt:hasKnowledge" resource="impakt:Zend_Framework">Zend Framework</span></div>...
RDFa annotationThe Résumé is saved both on the server and on the PC of the user in HTML+RDFa
Several RDF vocabularies are used:
• FOAF• VCARD• DOAC• IMPAKT• …
The CV can be publicly exposed on the Web, ready to be crawled. Thanks to RDFa annotation any Semantic Agents, after the parsing of the Résumé for extracting RDF triples, could automatically retrieve detailed information about the candidate.
SWIM’09 - Semantic Web Information Management Berkeley, CA, USA, September 14, 2009 15
Future work (I)
exploit the Social
Current ontology Linked Data
SWIM’09 - Semantic Web Information Management Berkeley, CA, USA, September 14, 2009 16
Thank You
Q&A