AnasAito / SkillNER

A (smart) rule based NLP module to extract job skills from text
https://skillner.vercel.app/
MIT License
154 stars 52 forks source link

Issue in extracting skills in long text #53

Closed gdibernardo8 closed 1 year ago

gdibernardo8 commented 1 year ago

Hi All, I'm trying to extract the skills from (quite a long) job description. The issue is that it takes a couple of minutes to do the extract. Is there a way to speed it up maybe setting up some parameters? Or SkillNER meant to be used only with short texts?

Here my sample:

import spacy from spacy.matcher import PhraseMatcher from skillNer.general_params import SKILL_DB from skillNer.skill_extractor_class import SkillExtractor nlp = spacy.load("en_core_web_sm") skill_extractor = SkillExtractor(nlp, SKILL_DB, PhraseMatcher) job_description = """ Supply Chain Lead Manager - Logistic Warehouse Skip to main content Skip to footer Insights 5G Artificial Intelligence Blockchain Cloud Customer Experience Cybersecurity Digital Engineering & Manufacturing Digital Transformation Edge Computing Future of Work Supply Chain Sustainability Podcasts Blogs Services Application Services Artificial Intelligence Automation Business Process Outsourcing Business Strategy Change Management Cloud Customer Experience Data & Analytics Digital Commerce Digital Engineering & Manufacturing Ecosystem Services Finance Consulting Infrastructure Marketing Mergers & Acquisitions (M&A) Metaverse Operating Models Security Supply Chain Management Sustainability Technology Consulting Technology Innovation Zero-Based Transformation Industries Aerospace and Defense Automotive Banking Capital Markets Chemicals Communications and Media Consumer Goods and Services Energy Health High Tech Industrial Insurance Life Sciences Natural Resources Public Service Retail Software and Platforms Travel Utilities Careers Careers Home Careers Home Search Jobs Search Jobs Join Us Search and Apply Experienced Professionals Entry Level Jobs Students Training & Development Work Environment Executive Leaders Explore Jobs Search Jobs by Areas of Expertise Consulting Jobs Corporate Jobs Digital Jobs Operations Jobs Strategy Jobs Technology Jobs About Accenture Who We Are About Accenture Leadership How We Work with Clients Case Studies Newsroom Investor Relations Inclusion & Diversity Sustainability How We're Organized Strategy & Consulting Song Technology Operations Industry X In Netherlands Accenture Training Centre in the Netherlands Contact Us linkedin twitter facebook instagram-outline return to previous button NAN Current Country: Netherlands Job Search Supply Chain Lead Manager - Logistic Warehouse Multiple Locations +View All JOB NO. R00131305 APPLY NOW Register for Job Alerts SHARE SHARE Job link: Copy Error Thank you for your interest. If you wish to apply for a position outside of India, please reach out to your referrer to start a new referral process by referring you for the position in the desired country. You will now be redirected to India Jobs Portal to explore other opportunities within India. Close Job Description Excited to join us at Accenture Belgium and work with around 150 brightest minds, most capable individuals and technologists? Are you keen to work closely and learn from global experts, drive innovation hands-on and shape the future together with a diverse team and our clients to improve the way how Luxembourg works and lives?Accenture is a leading global professional services company, providing a broad range of services in strategy and consulting, interactive, technology and operations, with digital capabilities across all of these services.From transformation planning through blueprinting to implementation, there’s never been a better time to join our SAP team. Accenture global SAP practice grows rapidly by delivering digital roadmap and business case through functional and industry transformation, design thinking, agile development and the latest tech and platforms, including cloud, S/4HANA, SAP Leonardo, IoT, artificial intelligence, big data and mobile to build next-generation solutions.YOUR RESPONSABILITIESDecompose key business problems to identify value areas and structure and implement complex technology solutions for the clientxa0Create innovative and differentiated offerings, staying relevant and in sync with market demandDeliver advisory services in support of technology enabled business change, e.g.: package & third party integrator selection, vendor selection, application studies, solution architecture studies and/or program diagnostics and recovery.Deliver advisory services to the IT function: CIO/CTO/CDOGrow market share by leveraging relationships, winning work, and being integral to delivery of on-shore consulting engagementsSell on an individual basis or as a part of a team Show more Show less Qualifications Master’s degree from a leading university or business school or equal by experienceAt least 2 years of hands-on SAP experience in any SAP Supply Chain module (TM/LE, PP/QM, (E)WM, Ariba, MM, PM, …)At least 1 full life-cycle implementation experience: including estimating, planning and delivering a solution end-to-endExperience in delivering an end-to-end S/4HANA or SAP ECC project (S/4HANA implementation is considered as a key plus)Stakeholder management within complex SAP programsPassionate about SAP, innovation and delivery the latest technologies to your clients.An SAP certification in your areaYou shine with your deep business & industry experience in one or more of the industries, such as: mining & metal, energy & utilities, public services, health, retail & consumer goods, aviation, media, manufacturingEagerness to shape and work in a team-oriented environmentMotivated, persistent, eager to optimize, drive for excellence Locations Amsterdam,Brussels,London,Madrid Equal Employment Opportunity Statement All employment decisions shall be made without regard to age, race, creed, color, religion, sex, national origin, ancestry, disability status, veteran status, sexual orientation, gender identity or expression, genetic information, marital status, citizenship status or any other basis as protected by federal, state, or local law. Job candidates will not be obligated to disclose sealed or expunged records of conviction or arrest as part of the hiring process. Accenture is committed to providing veteran employment opportunities to our service men and women. Please read Accenture’s Recruiting and Hiring Statement for more information on how we process your data during the Recruiting and Hiring process. APPLY NOW Register for Job Alerts COVID-19 update:xa0 The safety and well-being of our candidates, our people and their families continues to be a top priority. Until travel restrictions change, interviews will continue to be conducted virtually.xa0 Share Related Jobs Multiple Locations SAP Data Migration Senior Consultant Business & Technology Integration Posted 1 day ago Netherlands Amsterdam Industry X - Experienced Consultant Business & Technology Integration Posted 2 days ago Netherlands Amsterdam Cloud Solution Architect Business & Technology Integration Posted 2 days ago View More Jobs Life at Accenture Work where you're inspired to explore your passions and where your talents are nurtured and cultivated. Innovate with leading-edge technologies on some of the coolest projects you can imagine. Training and Development Take time away to learn and learn all the time in our regional learning hubs, connected classrooms, online courses and learning boards. LEARN MORE Work Environment Be your best every day in a work environment that helps drive innovation in everything you do. LEARN MORE View All View Less Learn more about Accenture Our more than 700,000 people in more than 120 countries, combine unmatched experience and specialized skills across more than 40 industries. We embrace the power of change to create value and shared success for our clients, people, shareholders, partners and communities. Our Expertise See how we embrace the power of change to create value and shared success for our clients, people, shareholders, partners and communities. FIND OUT MORE Meet Our People From entry-level to leadership, across all business and industry segments, get to know our people harnessing technology to make a difference, every day. FIND OUT MORE View All View Less Stay connected Join Our Team Search open positions that match your skills and interest. We look for passionate, curious, creative and solution-driven team players. SEARCH ACCENTURE JOBS Keep Up to Date Stay ahead with careers tips, insider perspectives, and industry-leading insights you can put to use today–all from the people who work here. READ CAREERS BLOG Job Alert Emails Personalize your subscription to receive job alerts, latest news and insider tips tailored to your preferences. See what exciting and rewarding opportunities await. REGISTER FOR JOB ALERTS View All View Less About Us Contact Us Alumni PRIVACY STATEMENT instagram linkedin twitter facebook youtube Recruiting and Hiring Privacy Statement Terms & Conditions Cookie Policy Accessibility Statement Sitemap Global Meritocracy 2022 Accenture. All Rights Reserved. Okay Cancel Close View Transcript Close First Name field empty Valid Entry The first name is required and cannot be empty Last Name field empty validation error Valid Entry The last name is required and cannot be empty E-mail Address field empty validation error This email address is already in use Valid Entry This value is not valid This value is not valid This email address is already in use. Comments 2000 characters Field Empty Input text here Valid Entry Invalid Entry 2000 characters This value is not valid This value is not valid Send E-mail Cancel Close There is already a separate, active Accenture Careers account with the same email address as your LinkedIn account email address. Please try logging in with your registered email address and password. You can then update your LinkedIn sign-in connection through the Edit Profile section. Continue Cancel
"""

annotations = skill_extractor.annotate(job_description) print(annotations)

AnasAito commented 1 year ago

Hello thanks for the feedback,we are aware of the issue . We are working on a fix to segment long texts. For now you can try text.striplines() this will segment your text into a list of lines and then you can loop over it using the extract method

gdibernardo8 commented 1 year ago

Oh yes, that's much faster! Thanks for the tip!