180 likes | 323 Views
Semantic Matching of Candidates’ profile with Job data from Linked-in. Demo 12/3/2013. Ting Xiao, S arabpreet D hillon. Quick Review - Interim Info. Data Collection Build Keyword Set Build The Relationship Between the Job and Personal profile on the Ontology
E N D
Semantic Matching of Candidates’ profile with Job data from Linked-in Demo 12/3/2013 Ting Xiao, SarabpreetDhillon
Quick Review- Interim Info • Data Collection • Build Keyword Set • Build The Relationship Between the Job and Personal profile on the Ontology • Compute the matching score based on the linkage • Result
Architecture ttl Linked-In Python API Jena Framework Json Web Page Linked-In Python API Json ttl Alchemy Python API
Data Collection • Python LinkedIn Library • https://github.com/ozgur/python-linkedin • Profile.py • Developer’s own profile is easy to extract • Or use search API to find other person’s profile • Job_extraction.py • According to the level of the Linked-In account, the query gives different numbers of jobs’ information • The result is sorted by the timestamp of posting
Data Collection • Example of Profile(profile.json)
Data Collection • Example of Job Description(job_description.json)
Build Keyword Set • The skills Keyword Set (profile.json) • Good to use • The Job Description has no Keyword Set (job_description.json) • Need to analyse • AlchemyAPI • https://github.com/AlchemyAPI
Build Keyword Set • Generate The Keywords Set from job description (Job_skills.json) • Example:
Build The Relationship • Web-Karma • https://github.com/InformationIntegrationGroup/Web-Karma • Prepare the ontology • http://mayor2.dia.fi.upm.es/oeg-upm/index.php/en/ontologies/99-hrmontology • Convert the .ttl format to .owl by using the “OWL Syntax Converter” developed by the University of Machester • http://mowl-power.cs.man.ac.uk:8080/converter/ • Preload into the Web-Karma
Build The Relationship • The HR ontology
Build The Relationship • Build ProfileLinkage
Build The Relationship • Build Linkage for Job skills
Build The Relationship • Build Linkage for Job Information
Compute the Matching Score • Load the profile.rdf and job_skills.rdf to Jena • Do the SPARQL query, count the number of the items which are same. • Example Query
Query Example select ?name where { ?y ?id . filter (?id = '5831587').?y ?x .?x .?x ?z .{ ?x ?name filter (?name = 'C++')} union { ?x ?name filter (?name = 'OpenGL')} union { ?x ?name filter (?name = 'Photoshop')} union { ?x ?name filter (?name = 'Windows')} union { ?x ?name filter (?name = 'Visual Studio')} union { ?x ?name filter (?name = 'Linux')} union { ?x ?name filter (?name = 'UML')} union { ?x ?name filter (?name = 'JavaScript')} union { ?x ?name filter (?name = 'Cocos2d')} union { ?x ?name filter (?name = 'Objective-C')} union { ?x ?name filter (?name = 'C')} union { ?x ?name filter (?name = 'OS X')} union { ?x ?name filter (?name = 'Computer Vision')} union { ?x ?name filter (?name = 'iOS')} union { ?x ?name filter (?name = 'Machine Vision')} union { ?x ?name filter (?name = 'Cocoa Touch')} union { ?x ?name filter (?name = 'Hibernate')} union { ?x ?name filter (?name = 'Xcode')} union { ?x ?name filter (?name = 'Mac OS X')} union { ?x ?name filter (?name = 'LaTeX')} union { ?x ?name filter (?name = 'MySQL')} union { ?x ?name filter (?name = 'Java')}}
What’s New • No open-source job applicationprovides job semantic matching • All the job hunting web services just provide the searching result according to the latest creation time of the job position. • How to convert Json to RDF format • We checked lots of converters however few of them provide this feature, but most of them can only convert semantic file format. 1.RDF Translator: http://ebusiness-unibw.org (NG) 2.Karma:http://github.com/InformationIntegrationGroup/Web-Karma (Good)
Result • Demo • Welcome to use our job matching engine!