WO2020190176A1 - Рекомендательная система подбора персонала с использованием машинного обучения и с понижением размерности многомерных данных и способ подбора персонала с использованием машинного обучения и с понижением размерности многомерных данных - Google Patents

Рекомендательная система подбора персонала с использованием машинного обучения и с понижением размерности многомерных данных и способ подбора персонала с использованием машинного обучения и с понижением размерности многомерных данных Download PDF

Info

Publication number
WO2020190176A1
WO2020190176A1 PCT/RU2020/050048 RU2020050048W WO2020190176A1 WO 2020190176 A1 WO2020190176 A1 WO 2020190176A1 RU 2020050048 W RU2020050048 W RU 2020050048W WO 2020190176 A1 WO2020190176 A1 WO 2020190176A1
Authority
WO
WIPO (PCT)
Prior art keywords
documents
training
index
database
matrix
Prior art date
Application number
PCT/RU2020/050048
Other languages
English (en)
French (fr)
Inventor
Георгий Андреевич ДАНЬЩИН
Виктор Викторович РЕУШКИН
Александр Алексеевич СИДОРОВ
Original Assignee
Общество С Ограниченной Ответственностью "Хэдхантер"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Общество С Ограниченной Ответственностью "Хэдхантер" filed Critical Общество С Ограниченной Ответственностью "Хэдхантер"
Priority to US17/439,982 priority Critical patent/US11941584B2/en
Priority to EA202100143A priority patent/EA202100143A1/ru
Publication of WO2020190176A1 publication Critical patent/WO2020190176A1/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/105Human resources
    • G06Q10/1053Employment or hiring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063112Skill-based matching of a person or a group to a task
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Definitions

  • the proposed invention relates to search engines and can be used to search for vacancies and resumes in recruiting systems with a large number of records in databases. Also, the system and method can be used to sort vacancies and resumes by professional area and other specified similarity criteria.
  • a method for the automated search of relevant documents for a recommendatory recruitment system using machine learning and with a decrease in the dimension of multidimensional data which consists in the fact that: they form a working database for documents, each of which describes a resume or vacancy, where each document has a unique identification feature of the document, and contains at least one indexed field containing information characterizing the document using natural language terms, while each of the indexed fields has a unique identification feature of the field; updating the working database for documents by removing obsolete documents and adding new documents; form a training database for documents containing documents for which user reviews have been received, characterizing the relevance of documents to user search queries; updating the search database by adding documents for which new user feedback has been received on the compliance of documents with user requests; for each of the documents, the fields are indexed by converting the information of the indexed field into an indexed table row, the individual cells of which correspond to one of the predefined features corresponding to the position of the cell in the index table row, and the values entered in the cell correspond to the presence of
  • the semantic structures of the natural language are normalized according to a predetermined algorithm, and the latent semantic indexing is performed using normalized structures.
  • the normalization of natural language structures is performed by lemmatization.
  • the normalization of natural language structures is performed by stemming.
  • the normalization uses a single predefined general term for several predefined synonyms.
  • a matrix rank lowering procedure using a matrix singular value decomposition is used as a predetermined matrix compression procedure.
  • a data warehouse with increased reliability is used to store the training document database.
  • the value of the hash function which is sensitive to location, is used as a predetermined similarity feature, and the terms of the matrix are used as arguments.
  • the proposed solution solves the problem of creating an automated expert recruitment system.
  • the technical result achieved with the use of the invention is a reduction in labor costs for the preparation of materials required for machine learning, a reduction in the amount of machine computing, an acceleration in obtaining results, and a reduction in the time spent on analyzing search results.
  • FIG. 1 shows an example of a general-purpose computer system that can be used to create and configure individual elements of the system, such as servers for processing and storing data, as well as system modules.
  • the terms “component”, “element”, “system”, “module”, “part”, in particular, “constituent”, “block” and the like are used to refer to computer entities (for example, objects related with a computer, computing entities), which can be hardware, in particular, equipment (for example, a device, tool, apparatus, apparatus, part of a device, in particular, a processor, microprocessor, printed circuit board, etc.), software (for example, executable program code, compiled application, software module, piece of software and / or code, etc.) or firmware (firmware).
  • computer entities for example, objects related with a computer, computing entities
  • equipment for example, a device, tool, apparatus, apparatus, part of a device, in particular, a processor, microprocessor, printed circuit board, etc.
  • software for example, executable program code, compiled application, software module, piece of software and / or code, etc.
  • firmware firmware
  • a component can be a process running / executing on a processor, a processor, an object, an executable, a program, function, method, library, subroutine, and / or computing device (eg, a microcomputer or computer), or a combination of software or hardware.
  • a server can be a component or module.
  • At least one component can be (located) inside the process.
  • a component may reside on one computing device (eg, a computer) and / or may be distributed between two or more computing devices.
  • an application can be represented by a server component (server part) and a client component (client part).
  • the client component is installed on at least one computing device
  • the server component is installed on a second computing device, from which, in a particular case, the first computing device (and / or its components /
  • a module (etc.) can be implemented (be) one or a set of files, including an executable file (files), which in turn can be associated with at least one software library , for example, implemented in the form of a dll file, which is a compiled form of a dynamic link library (from the English Dynamic Link Library), and also with at least one file, for example, containing application service data, application metadata, data required for the functioning of the application, and / or service (local and / or remote, for example, a web service / web service), including applications and services built on the service c-oriented architecture (from the English. service-oriented architecture
  • One of the prerequisites for the creation of the invention is the need for an expert system with machine learning, which minimally uses the intervention of operators during machine learning of the system and its settings.
  • Databases of the recommender system can be logically and physically divided into separate structures, in accordance with the purpose of the data stored in separate structures.
  • DBMS database management systems
  • persistent data storages can be used, and for storing data necessary for processing a single search query, random access memory can be used.
  • hardware and software logical structures are used, which allow performing operations for generating recommendations as efficiently as possible.
  • individual servers with one or more processors or a set of servers used for storing and processing data both separately and in a collaborative mode, for example, in the form of a cluster can be used as software and hardware structures.
  • each of the blocks and modules listed below from one to several dozen servers are used, united by data transmission channels.
  • virtual servers and virtual machines were used, which are similar in functionality to individual hardware servers.
  • the system uses a block of distributed data storage, which ensures data distribution and coordination of work on servers remote from each other.
  • a working database for documents is formed, each of which describes a resume or vacancy, where each document has a unique identification feature of the document, and contains at least one indexed field containing information characterizing the document using natural language terms, while each of the indexed fields has a unique identifier for the field.
  • a unique identifier of a resume or a vacancy can be used as an identification feature of a document, while the identifier of a document feature may contain an indication of the user who compiled the document. In a particular case, the identifier may contain the user's e-mail or mobile phone number or other unique identifier, as well as the serial number of the resume or vacancy.
  • Each document included in the working database in the general case, contains one field, but in special cases it can contain several fields, each of which contains information at least partially suitable for determining the correspondence of the document to a search query.
  • field within the scope of the invention, is meant a collection of search features, at least some of which are taken into account when processing search queries, as described in the framework of the present invention.
  • Each field also has a unique identifier, which can be formed by the document identifier and the field number in the document or the field assignment. For example, it can be specified that the field is a field "education" or "work experience".
  • the search queries described in the present invention can be either search strings generated in real time or the documents themselves.
  • the description of the resume or vacancy can be used in whole or in part as a set of data characterizing the search query. For example, when searching for a resume, the job description can be used as a search query, and vice versa.
  • resume forms which, in general, have at least one field that allows them to assign a unique identifier to a resume or vacancy (ID - from the English data name, identifier - identifier).
  • ID unique identifier
  • Other data can be entered in an arbitrary or formalized form in one or more additional fields.
  • Other fields can be "work experience”, “education”, “personal qualities” and so on. Fields with the specified names can be used both to describe a resume and to describe vacancies. In this regard, unless otherwise indicated, the system processes all data of resumes and vacancies together.
  • those (or only those) descriptions or resumes, or vacancies that correspond to the subject of the query can be used.
  • the topic of the request related to the search for a resume or the search for vacancies can be indicated explicitly in the title or a special field designed to describe the topic, or it can follow from the totality of information specified in the search expression.
  • the working database for documents can be updated by removing obsolete documents and adding new documents. Updating the working database can be carried out on the basis of direct instructions from users, to delete and add vacancies and resumes to the database. Documents that have expired can also be deleted from the database.
  • a training database for documents (training database of documents) is formed, containing documents for which user reviews are received.
  • User reviews characterize the relevance of documents to user search queries.
  • a highly reliable storage unit is used to store the training database, since lost information related to documents deleted from the production database cannot be recovered.
  • the data storage unit with high reliability provides fault-tolerant storage of the most important data in a relational structure, maintaining their integrity and online access to data. It is preferable to use a data storage unit with high reliability for storing documents in their original format, for example, in natural language representation.
  • a system implementing the present invention may include a processed data storage module and a processed data storage module.
  • the processed data is divided into categories and distributed for storage in accordance with the required storage reliability category.
  • the main requirement for the processed data storage module is data storage reliability and availability for local services. For this, distributed storage can be used in accordance with the “location” attribute, corresponding to the location of the vacancy or the desired place of work indicated in the resume.
  • the system can use an interface module that allows end users and personnel serving the functionality of the system (operators) to interact with the system using end access devices, using web browsers, mobile applications and other third-party systems used for data exchange, visualization the results of data exchange and for the maintenance of an information input device.
  • the module for generating hints in the search line can be used, which is used if the search expression for the search line is generated in real time, as well as the module for correcting typos, which can be used both during user input and for preprocessing documents before normalization. test documents and indexing.
  • the search database is updated by adding documents to the database for which new user feedback has been received on the compliance of documents with user requests.
  • Documents from the training database as a rule, are not deleted, but can be deleted, for example, due to the loss of the profession's relevance in the market.
  • the fields of the database documents are indexed by converting the information of the indexed field into an index table row.
  • Each of the cells of the index table row corresponds to the presence or absence in the indexed field of a predetermined attribute used for indexing. That is, all the signs used for indexing are distributed by cell numbers, and the values entered in the cells of the table rows correspond to the presence of signs, for example, natural language terms used for indexing.
  • the information of the indexed field can be converted into an index table row using latent semantic indexing, and the selection of documents relevant to the search expression and the formation of a list with ordering according to the degree of relevance, when conducting a search, can be carried out using latent semantic analysis.
  • Formalization and normalization of features is performed, for example, by methods of latent-semantic indexing, as a result of which an index expression is formed for each field, represented as a string.
  • the semantic structures of the natural language are normalized according to a predetermined algorithm, and the latent semantic indexing is performed using normalized structures.
  • an initial data matrix is formed, each of the rows of which is a vacancy or resume field.
  • separate matrices are formed for resumes and vacancies.
  • fields have predefined properties, and matrices are formed for fields with common properties. For example, fields related to the educational institution in which the education was received, as well as the region in which a job can be provided, are processed separately. Based on the essence of subsequent operations, to reduce the amount of calculations, grouping fields by properties is preferable to processing matrices.
  • matrices of geographic places of work are of low rank and can be used to provide query results without additional processing.
  • a job seeker indicates a geographic location in which he can carry out professional activities, other locations are not taken into account. In this case, an exact match definition is used, which does not require complex data processing. Similarly, a check can be carried out for the requirement to obtain an education in a particular educational institution.
  • the operations of forming and using decision trees can be used, including with the construction of decision tree systems using gradient boosting.
  • Data processing techniques described and used in the XGBoost software library can be applied to generate decision trees using gradient boosting.
  • the sets of field rows are represented in the form of a two-dimensional data array, similar to a matrix, where rows are rows of fields with a unique identifier, and columns are formed by information related to the same characteristics of field rows.
  • two-dimensional data arrays will be referred to as "matrices”.
  • the ranks of the matrices used in the system when implementing the method are reduced.
  • Lowering the rank of matrices implements data compression with partial loss of data, but without significant damage to the search results carried out in the future.
  • the matrices are pre-assigned the rank to which the lowering of the rank is carried out.
  • the rank can be set empirically, for example, by checking the quality of the search before and after decreasing the rank of the matrices.
  • the rank of the de-ranked matrix can be determined from machine learning results, for example, by determining the quality of searches after applying the singular value decomposition for various given rank values of the de-ranked matrix.
  • a standard or custom loss function can be used, the value of which depends on both the number of errors and the severity of the errors.
  • the matrix lowering technology is applied using singular value decomposition or "rank-k SVD".
  • the values of the features specified in the fields change. Moreover, if the initial values were equal to zeros and ones, then after lowering the rank, the values of the features can become arbitrary and expressed rational numbers. In this regard, the task of latent-semantic analysis, for identifying the fields corresponding to the request, becomes significantly more complicated. Despite a significant reduction in the amount of processed data, there is no simplification of the search process, due to the transition from discrete values to continuous ones.
  • results of the singular value decomposition are rounded while maintaining the discreteness of the feature values. until the values "0" and "1" are saved.
  • columns in which the same value is recorded for all fields, or columns that do not significantly affect the search results are removed from the matrix with a lowered rank.
  • the columns that can be removed when the rank is lowered can also be determined using the matrix rank down-singular value decomposition technique.
  • a matrix is formed or matrices with reduced dimension are formed.
  • the consolidation of similar fields can be carried out, the lines of attributes of which are assumed to be identical to each other.
  • each of the sets of identical rows is represented by one row, which is brought into correspondence with the original rows, transformed into the corresponding identical rows.
  • the fields are grouped by the values of the coordinates of the vectors, which are the vector sum of the values of the vectors of individual features.
  • the vector sum of the values of the vectors of individual features will be denoted by the "field vector”.
  • the grouping of fields is carried out by calculating the hash of the multidimensional coordinate of the field vector so that the vectors nearest to each other have an identical hash.
  • fields using the Locality-sensitive hashing (LSH) algorithm can be used - a probabilistic method for reducing the dimension of multidimensional data, the main principle of which is such a selection of hash functions for some dimensions so that similar objects with had the same hash with a high degree of probability.
  • LSH Locality-sensitive hashing
  • the length of the hash function may be predetermined, for example, after calculating the hash function values for the rows of the reduced-dimensionality matrix and verifying that the hashing model used is adequately applied to the reduced-dimensionality matrix.
  • the exhaustive set of values the set of values of the hash function is 1/100 to 1/50 of the rank value of the lowered matrix.
  • the hash function can be specified in a tabular form.
  • Reducing the dimension of the feature matrix reduces the amount of data about terms (or features) in documents so much that it becomes possible to store them in the index of search and grouping systems, quickly recall index data from memory and use them when forming both groups and lists of recommendations.
  • reducing the dimensionality of the matrix improves the quality of filtering and ranking models, such as those used in the XGBoost library, compared to the original, sparse rows or feature fields.
  • training sequences are formed, each of which is characterized by one of the location-sensitive hash values. If necessary, for example, with a small number of fields in one group, initially defined groups can be combined.
  • the user reaction to the search engine results provided to them is used.
  • the user is asked for the real degree of compliance with the request of the list items.
  • the assessment can be given by the user directly, for example, on a scale of gradation of correspondence.
  • the degree of compliance is determined indirectly, for example, for a resume, the degree of compliance increases from the user ignoring the link to the resume presented to him, then the employment of the candidate who posted the resume, with intermediate gradations of "resume reviewed" and the candidate is invited for an interview.
  • the user's actions are tracked, which consists in viewing resumes or vacancies and sending responses or invitations. At the same time, it is advisable to consider responses and invitations as unequal events.
  • each training group or sample can form its own decision tree or several decision trees formed by gradient boosting.
  • the generated trees can be used together when searching for a vacancy, even when analyzing a vacancy group that is not associated with a vacancy group corresponding to the training set.
  • the fields of the working database are also converted into matrix or tabular form, followed by compression of the matrix and grouping of the fields of the compressed matrix according to formal similarity.
  • the user When the user forms a search request, that is, a description of the desired vacancy or resume, the user can fill in the fields intended for the request, or the vacancy description (resume) can be used as a search expression.
  • one or more LSH hash values that are relevant to the search expression are initially determined, and then fields that are relevant to the search expression are determined.
  • the fields are processed using a matrix compression algorithm and a location-sensitive hash function is calculated, which allows identifying groups of fields from the working database that are similar to the search expression.
  • documents can be excluded that obviously do not correspond to the search goals, for example, resumes of applicants who do not have higher education, are not ready to move to their place of work, and others can be excluded from the search.
  • index strings are used, corresponding to fields similar to the search expression.
  • the search expression is also indexed using latent semantic indexing.
  • a latent-semantic analysis of the search expression fields and fields from the working database is used.
  • the method of latent semantic analysis determines the fields that are most relevant to the search expression.
  • the list of relevant documents is sorted according to the degree of relevance and provided to the user for use.
  • the training database used in the system is updated and refined.
  • FIG. 1 shows an example of a general-purpose computer system that includes a multipurpose computing device in the form of a computer 20 or a server, or a mobile (computing) device, or a module of the system described in the present invention, which, in a particular case, can be terminal (computing) devices (for example, a user, an operator, etc.), including a processor 21, system memory 22 and a system bus 23 that links various system components, including system memory to the processor 21.
  • a multipurpose computing device in the form of a computer 20 or a server, or a mobile (computing) device, or a module of the system described in the present invention, which, in a particular case, can be terminal (computing) devices (for example, a user, an operator, etc.), including a processor 21, system memory 22 and a system bus 23 that links various system components, including system memory to the processor 21.
  • the system bus 23 can be any of various types of bus structures, including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
  • System memory 22 includes read only memory (ROM) 24 and random access memory (RAM) 25.
  • ROM 24 stores a basic input / output system (BIOS) 26, consisting of basic routines that help communicate information between elements within a computer 20, for example , at the time of launch.
  • BIOS basic input / output system
  • Computer 20 may also include a hard disk drive 27 for reading from and writing to a hard disk (not shown), a magnetic disk drive 28 for reading from or writing to a removable magnetic disk 29, and an optical disk drive 30 for reading from or recording to a removable optical disc 31 such as a compact disc, digital video disc, and other optical media.
  • the hard disk drive 27, the magnetic disk drive 28, and the optical disk drive 30 are connected to the system bus 23 through a hard disk drive interface 32, a magnetic disk drive interface 33, and an optical drive interface 34, respectively.
  • the storage media and their corresponding computer-readable media provide non-volatile storage of computer-readable instructions, data structures, program modules, and other data for the computer 20.
  • While the typical configuration described herein uses a hard disk, a removable magnetic disk 29, and a removable optical disk 31, one skilled in the art will appreciate that other types of computer readable media may also be used in a typical operating environment that can store data that is accessible by a computer. such as magnetic cassettes, flash memory cards, digital video discs, Bernoulli cartridges, random access memory (RAM), read only memory (ROM), and the like.
  • RAM random access memory
  • ROM read only memory
  • Computer 20 includes a file system 36 associated with or included in the operating system 35, one or more software application (s) 37, other program modules 38, and program data 39.
  • a user may enter commands and information into computer 20 using input devices such as keyboard 40 and pointing device 42.
  • Other input devices may include a microphone, joystick, gamepad, satellite dish, scanner or any other.
  • serial port interface 46 that communicates with the system bus, but may be connected through other interfaces such as a parallel port, a game port, or a universal serial bus (USB).
  • a monitor 47 or other type of display device is also connected to the system bus 23 via an interface such as a video adapter 48.
  • video adapter 48 In addition to monitor 47, personal computers typically include other peripheral output devices (not shown) such as speakers and printers.
  • Computer 20 may operate in a networked environment through logical connections to one or more remote computers 49.
  • the remote computer (or computers) 49 may be another computer, server, router, networked PC, peer-to-peer device, or other node on a single network, and also typically includes includes most or all of the elements described above with respect to computer 20, although only storage device 50 is shown.
  • Logical connections include a local area network (LAN) 51 and a wide area computer network (WAN) 52.
  • LAN local area network
  • WAN wide area computer network
  • Such networking environments typically common in institutions, corporate computer networks, the Internet.
  • a computer 20 used in a LAN environment connects to a local area network 51 via a network interface or adapter 53.
  • a computer 20 used in a GCS network environment typically uses a modem 54 or other means to communicate with a global computer network 52 such as the Internet.
  • Modem 54 which can be internal or external, is connected to the system bus 23 via a serial port interface 46.
  • program modules or portions thereof described with respect to computer 20 may be stored on a remote storage device. It will be appreciated that the network connections shown are typical and other means may be used to establish communication links between computers.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Data Mining & Analysis (AREA)
  • Marketing (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Предложенное изобретение относится к поисковым системам и может быть использовано для поиска вакансий и резюме в базах данных. Также изобретение может быть использовано для сортировки вакансий и резюме по профессиональным областям и другим заданным критериям сходства. Техническим результатом, является сокращение трудозатрат на подготовку материалов, необходимых для машинного обучения, сокращение объемов машинных вычислений, ускорение получения результатов, сокращение времени на анализ результатов поисков. Для достижения технического результата в рекомендательной системе используют обучающую и рабочую базы данных, при этом обучающие последовательности формируются путем сортировки и обработки матриц обучающей базы данных на основании отзывов пользователей о степени результатов представленных им результатов тематике запросов.

Description

Рекомендательная система подбора персонала с использованием машинного обучения и с понижением размерности многомерных данных и способ подбора персонала с использованием машинного обучения и с понижением размерности многомерных данных
Предложенное изобретение относится к поисковым системам и может быть использовано для поиска вакансий и резюме в рекомендательных системах подбора персонала с большим количеством записей в базах данных. Также система и способ могут быть использованы для сортировки вакансий и резюме по профессиональным областям и другим заданным критериям сходства.
Одной из проблем, возникающей при поиске резюме, соответствующих вакансиям, является большое количество документов, выдаваемых по поисковым запросам, что обусловлено размещением объявлений о поиске работы трудоустроенными соискателями, не остро нуждающимися в работе, но рассматривающими возможность смены работы на приемлемых условиях. Большое количество однотипных результатов не позволяет работодателям принять решение о выборе кандидата с минимальными трудозатратами, в связи с чем имеется потребность в экспертных системах, снижающих трудозатраты работодателей при выборе сотрудников. Обратная задача не является источником существенных проблем, поскольку вакансии, как правило, открываются при наличии потребности в сотруднике и их количество в базах данных, как правило на один или два порядка меньше, чем количество резюме.
Одной из экспертных систем, наиболее близкой к предложенному изобретению, является система, описанная в патентной заявке США US2018173803 (A1), опубликованной 21.06.2018. В известном решении используется машинное обучение для сжатия векторов описаний резюме и вакансий на основании семантического сходства векторов. При проведении машинного обучения используется определение коэффициентов сходства векторов между различными областями, что подразумевает смысловой анализ данных, представленных для обработки. Недостатком известного решения является необходимость учета семантики поисковых запросов и индексируемых данных, что предполагает необходимость предварительной сортировки данных по отраслям. В связи с тем, что часть вакансий не может быть объективно отнесена к определенным отраслям, для проведения машинного обучения требуется обработка данных оператором. Таким образом, эффективность использования известного технического решения зависит от субъективных качеств оператора или операторов, подготавливающих исходные данные для настройки системы, процесс поиска не является полностью формализованным.
Для достижения технического результата предлагается способ автоматизированного поиска релевантных документов для рекомендательной системы подбора персонала с использованием машинного обучения и с понижением размерности многомерных данных, заключающийся в том, что: формируют рабочую базу данных для документов, каждый из которых описывает резюме или вакансию, где каждый документ имеет уникальный идентификационный признак документа, и содержит по крайней мере одно индексируемое поле, содержащее сведения, характеризующее документ с использованием терминов естественного языка, при этом каждое из индексируемых полей имеет уникальный идентификационный признак поля; обновляют рабочую базу данных для документов путем удаления устаревших документов и добавления новых документов; формируют обучающую базу данных для документов, содержащую документы, для которых получены отзывы пользователей, характеризующие релевантность документов поисковым пользовательским запросам; обновляют поисковую базу данных путем добавления документов, для которых получены новые отзывы пользователей о соответствии документов пользовательским запросам; для каждого из документов индексируют поля путем преобразования сведений индексируемого поля в индексную табличную строку, отдельные ячейки которой соответствуют одному из заранее заданных признаков, соответствующему положению ячейки в индексной табличной строке, а значения, занесенные в ячейку, соответствуют наличию в сведениях индексируемого поля термина естественного языка, соответствующего ячейке; формируют обучающую индексную матрицу, в качестве строк которой используют индексные строки, соответствующие документам обучающей базы данных для документов; с использованием заранее заданной процедуры сжатия матриц сжимают обучающую индексную матрицу с частичной потерей данных с понижением размерности с формированием сжатой индексной матрицы; группируют строки сжатой индексной матрицы по заранее заданным формальным признакам сходства, где документы, соответствующие сгруппированным строкам в одной группе, составляют обучающую группу документов; и формируют решающую систему, для обучения которой в качестве исходных данных используют индексные строки документов соответствующей обучающей группы документов, а в качестве ожидаемых результатов - отзывы пользователей для документов из обучающей группы; и для поискового выражения пользователя формируют индексную табличную строку, в которой отдельные ячейки соответствуют заранее заданному признаку, а значения, занесенные в ячейку, соответствуют наличию соответствующего признака в поисковом выражении; для индексной строки поискового выражения, определяют по крайней мере один из заранее заданных формальных признаков сходства, соответствующий поисковому выражению; предварительно отбирают документы из рабочей базы данных, индексным строкам которых соответствуют признаки сходства, соответствующие поисковому выражению, и представляют пользователю документы, отобранные решающей системой из документов, предварительно отобранных из базы данных.
В одном из частных вариантов реализации производят нормализацию семантических структур естественного языка по заранее заданному алгоритму, а латентно-семантическое индексирование производят с использованием с использованием нормализованных структур.
В одном из частных вариантов реализации нормализацию структур естественного языка производят путем лемматизации.
В одном из частных вариантов реализации нормализацию структур естественного языка производят путем стемминга.
В одном из частных вариантов реализации при нормализации для нескольких заранее заданных синонимов используют один заранее заданный общий термин.
В одном из частных вариантов реализации в качестве заранее заданной процедуры сжатия матриц используют процедуру понижения ранга матрицы с использованием сингулярного разложения матрицы.
В одном из частных вариантов реализации для хранения обучающей базы данных документов используют хранилище данных с повышенной надежностью.
В одном из частных вариантов реализации в качестве заранее заданного признака сходства используется значение хеш функции, чувствительной к местоположению, в качестве аргументов которой используют сроки матрицы.
Предложенное решение решает задачу создания автоматизированной экспертной системы подбора персонала. Техническим результатом, достигаемым при использовании изобретения, является сокращение трудозатрат на подготовку материалов, необходимых для машинного обучения, сокращение объемов машинных вычислений, ускорение получения результатов, сокращение времени на анализ результатов поисков.
Фиг.1
[фиг. 1] показывает пример компьютерной системы общего назначения, которая может быть использована при создании и конфигурировании отдельных элементов системы, таких как сервера обработки и хранения данных, а также модулей системы.
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах, соответствующих сущности изобретения, раскрытого в формуле.
Используемые в настоящем описании изобретения термины «компонент», «элемент», «система», «модуль», «часть», в частности, «составная часть», «блок» и подобные используются для обозначения компьютерных сущностей (например, объектов, связанных с компьютером, вычислительных сущностей), которые могут являться аппаратным обеспечением, в частности, оборудованием (например, устройством, инструментом, аппаратом, аппаратурой, составной частью устройства, в частности, процессором, микропроцессором, печатной платой и т.д.), программным обеспечением (например, исполняемым программным кодом, скомпилированным приложением, программным модулем, частью программного обеспечения и/или кода и т.д.) или микропрограммой (прошивкой/firmware). Так, например, компонент может быть процессом, выполняющемся/исполняющимся на процессоре, процессором, объектом, исполняемым файлом, программой, функцией, методом, библиотекой, подпрограммой и/или вычислительным устройством (например, микрокомпьютером или компьютером) или комбинацией программного или аппаратного обеспечения. В качестве иллюстрации: как приложение, запущенное на сервере, в частности, на центральном сервере, может быть компонентом или модулем, так и сервер может быть компонентом или модулем. По крайней мере, один компонент может находиться (располагаться) внутри процесса. Компонент может располагаться на одном вычислительном устройстве (например, компьютере) и/или может быть распределен между двумя и более вычислительными устройствами. Так, например, в частном случае приложение (компонент), может быть представлено серверным компонентом (серверной частью) и клиентским компонентом (клиентской частью). В частном случае, клиентский компонент устанавливается, по крайней мере, на одно вычислительное устройство, а серверный компонент устанавливается на второе вычислительное устройство, с которого, в частном случае, производится управление и/или настройка первого вычислительного устройства (и/или его составных компонентов/частей. В частном случае, модуль (и т.д.) может быть реализован (являться) одним или набором файлов, в том числе исполняемым файлом (файлами), который в свою очередь может быть связан, по крайней мере, с одной программной библиотекой, например, реализованной в виде dll-файла, являющегося скомпилированной формой библиотеки динамической компоновки (от англ. Dynamic Link Library), а также, по крайней мере, с одним файлом, например, содержащим служебные данные приложения, метаданные приложения, данные, необходимые для функционирования приложения, и/или сервисом (локальным и/или удаленным, например, веб-сервисом/веб-службой), включая приложения и сервисы, построенные на сервис-ориентированной архитектуре (от англ. service-oriented architecture/SOA), включая, но не ограничиваясь, технологии REST (от англ. Representational State Transfer — «передача состояния представления»), удалённый вызов процедур (от англ. Remote Procedure Call, RPC) и другие.
Одной из предпосылок создания изобретения является необходимость экспертной системы с машинным обучением, минимально использующей вмешательство операторов при машинном обучении системы и ее настройках.
Базы данных рекомендательной системы могут разделяться логически и физически на отдельные структуры, в соответствии с назначением данных, хранящихся в отдельных структурах.
Для управления, создания и использования баз данных могут использоваться различные системы управления базами данных (СУБД). В частных случаях, для хранения документов и перечисленных ниже результатов их обработки, могут использоваться постоянные хранилища данных, а для хранения данных, необходимых для обработки одного поискового запроса, могут использоваться оперативные запоминающие устройства.
В описываемом изобретении использованы программно-аппаратные логические структуры, которые позволяют выполнять операции по формированию рекомендаций максимально эффективно. В качестве программно-аппаратных структур, при реализации изобретения, могут использоваться отдельные сервера с одним и более процессорами или совокупности серверов, используемые для хранения и обработки данных как по отдельности, так и в режим совместной работы, например, в виде кластера. В системе, на которой осуществлено изобретение, для реализации каждого из перечисленных ниже блоков и модулей используется от одного до нескольких десятков серверов, объединенных каналами передачи данных. Для реализации части блоков использовались виртуальные сервера и виртуальные машины, по функциональности аналогичные отдельным аппаратным серверам. В частности, в системе используется блок распределенного хранения данных, обеспечивающий распределение данных и согласование работы на удаленных друг от друга серверах.
В описываемом изобретении осуществляется формирование рабочей базы данных для документов, каждый из которых описывает резюме или вакансию, где каждый документ имеет уникальный идентификационный признак документа, и содержит по крайней мере одно индексируемое поле, содержащее сведения, характеризующее документ с использованием терминов естественного языка, при этом каждое из индексируемых полей имеет уникальный идентификационный признак поля.
В качестве идентификационного признака документа может использоваться уникальный идентификатор резюме или вакансии, при этом, идентификатор признака документа может содержать указание на пользователя, составившего документ. В частном случае, идентификатор может содержать адрес электронной почты или номер мобильного телефона пользователя или другой уникальный идентификатор, а также порядковый номер резюме или вакансии.
Каждый документ, включенный в рабочую базу данных, в общем случае, содержит одно поле, но в частных случаях может содержать несколько полей, каждое из которых содержит информацию, по крайней мере частично пригодную для определения соответствия документа поисковому запросу. Под полем, в объеме изобретения, подразумевается совокупность поисковых признаков, по крайней мере часть из которых, учитывается при обработке поисковых запросов, как описано в рамках настоящего изобретения. Каждое поле также имеет уникальный идентификатор, который может быть образован идентификатором документа и номером поля в документе или назначением поля. Например, может быть указано, что поле является полем «образование» или «опыт работы».
Описываемыми в настоящем изобретении поисковыми запросами могут являться как поисковые строки, сформированные в режиме реального времени, так и сами документы. В частных случаях реализации изобретения, описание резюме или вакансии полностью или частично может использоваться в качестве совокупности данных, характеризующей поисковый запрос. Например, при поиске резюме, описание вакансии может быть использовано как поисковый запрос, и наоборот.
Изначально, пользователи заполняют электронные формы бланков резюме, которые, в общем случае, имеют по крайней мере одно поле, позволяющее присвоить резюме или вакансии уникальный идентификатор (ID – от англ. data name, identifier — опознаватель). Другие данные могут вводиться в произвольном или формализованном виде в одно или несколько дополнительных полей. Другими полями могут быть «опыт работы», «образование», «личные качества» и прочее. Поля с указанными названиями могут использоваться как для описания резюме, так и для описания вакансий. В связи с этим, если не указано иное, в системе производится обработка всех данных резюме и вакансий совместно.
При обработке поисковых запросов могут быть использованы те (или только те) описания или резюме, или вакансий, которые соответствуют тематике запроса. Тематика запроса, относящаяся к поиску резюме или к поиску вакансий может быть указана явно в названии или специальном поле, предназначенного для описания тематики, либо может следовать из совокупности сведений, указанных в поисковом выражении.
В рамках реализации настоящего изобретения может осуществляется обновление рабочей базы данных для документов (рабочей базы данных документов) путем удаления устаревших документов и добавления новых документов. Обновление рабочей базы данных может осуществляться на основании прямых указаний пользователей, на удаление и добавление вакансий и резюме в базу данных. Также могут быть удалены из базы данных документы, для которых истек срок действия.
В рамках реализации настоящего изобретения осуществляется формирование обучающей базы данных для документов (обучающей базы данных документов), содержащей документы, для которых получены отзывы пользователей. Отзывы пользователей характеризуют релевантность документов поисковым пользовательским запросам. Для хранения обучающей базы данных используется блок хранения данных с высокой надежностью, поскольку утраченные сведения, относящиеся к документам, удаленным из рабочей базы данных, не могут быть восстановлены. Блок хранения данных с высокой надежностью обеспечивает отказоустойчивое хранение наиболее важных данных в реляционной структуре, поддержку их целостности и оперативный доступ к данным. Предпочтительно использовать блок хранения данных с высокой надежностью для хранения документов в исходном формате, например, в представлении на естественном языке.
Система, реализующая настоящее изобретение, может содержать модуль хранения обработанных данных и модуль хранения обрабатываемых данных. Обработанные данные делятся по категориям и распределяются для хранения в соответствии с требуемой категорией надежности хранения. Основное требование к модулю хранения обработанных данных – надежность хранения и доступность данных для локальных служб. Для этого может использоваться распределённое хранения в соответствии с признаком «расположение», соответствующему расположению вакансии или желаемому месту работы, указанному в резюме.
Также в системе может использоваться модуль интерфейса, который позволяет конечным пользователям и персоналу, обслуживающему функциональность системы (операторам), взаимодействовать с системой с помощью конечных устройств доступа, с использованием веб-браузеров, мобильных приложений и других сторонних систем, используемых для обмена данными, визуализации результатов обмена данными и для обслуживания устройство ввода информации.
Дополнительно может использоваться модуль формирования подсказок в поисковой строке, используемый в случае, если поисковое выражение для поисковой строки формируется в режиме реального времени, а также модуль исправления опечаток, который может использоваться как в процессе ввода данных пользователем, так и для предварительной обработки документов перед нормализацией теста документов и индексацией.
Обновление поисковой базы данных осуществляется путем добавления в базу данных документов, для которых получены новые отзывы пользователей о соответствии документов пользовательским запросам. Документы из обучающей базы данных, как правило, не удаляются, но могут быть удалены, например, в связи с потерей профессией актуальности на рынке.
Для обучения предложенной системы. а также для последующего проведения поиска, поля документов баз данных индексируют путем преобразования сведений индексируемого поля в индексную табличную строку. Каждая из ячеек индексной табличной строки соответствует наличию или отсутствию в индексируемом поле заранее заданного признака, используемого при индексации. То есть, все признаки, используемые для индексации распределены по номерам ячеек, а значения, занесенные в ячейки табличных строк, соответствуют наличию признаков, например, терминов естественного языка, используемых при индексации. В частном случае, сведения индексируемого поля могут быть преобразованы в индексную табличную строку с использованием латентно-семантического индексирования, а отбор документов, релевантных к поисковому выражению, и формирование списка с упорядочиванием по степени релевантности, при проведении поиска, может осуществляться с использованием латентно-семантического анализа.
Формализация и нормализация признаков производится, например, методами латентно-семантической индексации, в результате чего, для каждого поля формируется индексное выражение, представленное в виде строки.
В частном случае, производят нормализацию семантических структур естественного языка по заранее заданному алгоритму, а латентно-семантическое индексирование производят с использованием нормализованных структур.
Для совокупностей вакансий и резюме или для всей совокупности данных, формируется исходная матрица данных, каждая из строк которых является полем вакансии или резюме. В частном случае, формируются матрицы отдельные для резюме и вакансий. В другом частном случае, поля имеют заранее заданные свойства, и матрицы формируются для полей с общими свойствами. Например, поля, относящиеся к учебным заведениям, в которых было получено образование, а также регион, в котором может быть предоставлено место работы, обрабатываются отдельно. Исходя из сущности последующих операций, для сокращения объема вычислений, группировка полей по свойствам предпочтительна перед обработкой матриц. В частном случае, матрицы географических мест работы имеют низкий ранг и могут использоваться при предоставлении результатов запроса без дополнительной обработки. Например, если соискатель указывает географическую локацию, в которой он может осуществлять профессиональную деятельность, другие локации не принимаются во внимание. В данном случае используется определение точного соответствия, не требующее сложной обработки данных. Аналогичным образом может быть осуществлена проверка на требование получения образования в определенном учебном заведении.
При проведении латентно-семантического анализа и латентно-сематической индексации могут использоваться операции формирования и использования решающих деревьев, в том числе, с построением систем решающих деревьев с использованием градиентного бустинга. Для формирования решающих деревьев с использованием градиентного бустинга могут быть применены способы обработки данных, описанные и использованные в библиотеке программного обеспечения XGBoost.
Перед проведением латентно-семантического индексирования может быть произведено исправление опечаток и очевидных ошибок, связанных, например, с ошибками при автозамене слов на компьютере пользователя.
Хорошие модели ранжирования результатов, в том числе латентно-семантический анализ, позволяют достичь высокого качества поиска релевантных документов, но имеют существенные ограничения на объем обрабатываемых данных. В частности, затраты на ранжирование увеличиваются пропорционально квадрату количества записей. В связи с этим, при реализации изобретения используются процедуры формальной обработки данных, обеспечивающие сокращение количества одновременно обрабатываемых записей при проведении латентно-семантического анализа.
Для целей последующей обработки, совокупности строк полей представляются в виде двумерного массива данных, аналогичного матрице, где строки являются строками полей, имеющих уникальный идентификатор, а столбцы формируются сведениями, относящимися к одинаковым признакам строк полей. В дальнейшем, для упрощения понимания текста описания двумерные массивы данных будут именоваться «матрицами».
В частности, для сокращения количества данных, подлежащих обработке, на первом этапе, понижаются ранги матриц, используемые в системе при реализации способа. Понижение ранга матриц реализует сжатие данных с частичной потерей данных, но без существенного ущерба для результатов поиска, осуществляемого в дальнейшем.
В частном случае реализации изобретения, для матриц предварительно задают ранг, до которого осуществляют понижение ранга. Ранг может быть задан эмпирически, например, путем проверки качества поиска до и после понижения ранга матриц. Ранг матрицы с пониженным рангом может быть определен по результатам машинного обучения, например, путем определения качества поисков после применения сингулярного разложения для различных заданных значений ранга матрицы с пониженным рангом.
При использовании машинного обучения может использоваться стандартная или специальная функция потерь, значение которой зависит и от количества ошибок, и от серьезности ошибок.
В частном случае реализации изобретения. для понижения ранга применяется технология понижения ранга матрицы с использованием сингулярного разложения или «rank-k SVD».
По результатам понижения ранга с использованием сингулярного разложения, значения признаков, указанные в полях, изменяются. При этом, если начальные значения равнялись нулям и единицами, то после понижения ранга значения признаков могут становиться произвольным и выраженными рациональными числами. В связи с этим, задача латентно-семантического анализа, для выявления полей, соответствующих запросу, существенно усложняется. Несмотря на существенное сокращение объема обрабатываемых данных, упрощение процесса поиска не происходит, в связи с перехода от дискретных значений к непрерывным.
Исходно признаки или термы имеют два дискретных значения. Для функции понижения ранга может задаваться степень дискретности, вплоть до непрерывной функции, что также существенно улучшает результаты последующего вычисления LSH.
В другом частном случае, происходит округление результатов сингулярного разложения с сохранением дискретности значений признаков. вплоть до сохранения значений «0» и «1».
Дополнительно, из матрицы с пониженным рангом удаляют столбцы, в которых для всех полей записано одно и то же значение, либо столбцы, не влияющие существенно на результаты поиска. Столбцы, которые могут быть удалены при понижении ранга также могут быть определены с использованием технологии понижения ранга матрицы с использованием сингулярного разложения. В результате формируется матрица или формируются матрицы с пониженной размерностью. Кроме этого может осуществляться консолидация сходных полей, строки признаков которых принимаются тождественными друг другу. В таких матрицах каждая из совокупностей тождественных строк представлена одной строкой, которой приведены в соответствие исходные строки, преобразованные в соответствующие тождественные строки.
На следующем этапе, для полей, характеризующих матрицу с пониженным рангом, осуществляется группировка полей по значениям координат векторов, являющихся векторной суммой значений векторов отдельных признаков. Для целей упрощения последующего изложения, векторная сумма значений векторов отдельных признаков будет обозначаться «вектором поля».
Группировка полей осуществляется путем вычисления хеша многомерной координаты вектора поля таким образом, чтобы вектора ближайшие, друг к другу имели тождественный хэш. В частном случае, может использоваться полей с применением алгоритма Locality-sensitive hashing (LSH) (хэширования, чувствительного к местоположению) – вероятностный метод понижения размерности многомерных данных, основной принцип которого состоит в таком подборе хеш-функций для некоторых измерений, чтобы похожие объекты с высокой степенью вероятности имели одинаковый хэш.
Длина хэш функции может быть задана заранее, например, после вычисления значений хэш функций для строк матрицы с пониженной размерностью и проверки адекватности применения используемой модели хэширования к матрице с пониженной размерностью. Предпочтительно, чтобы исчерпывающий набор значений набор значений хэш функции составлял 1/100 – 1/50 от значения ранга матрицы с пониженным рангом.
В частном случае реализации, хэш функция может быть задана в табличном виде.
Для вычисления LSH также могут использоваться алгоритмы MinHash, SimHash, Метод случайных проекций.
Снижение размерности матрицы признаков уменьшает объём данных о термах (или признаках) в документах настолько, что их становится возможно хранить в индексе поисковой и группирующих систем, быстро вызывать из памяти индексные данные и применять их при формировании и групп и списков рекомендаций. Кроме того, снижение размерности матрицы улучшает качество фильтрующих и ранжирующих моделей, например, используемых в библиотеке XGBoost, по сравнению с тем, как если бы использовались исходные, разреженные строки или поля признаков.
При определении LSH для строк матрицы, свёрнутых с помощью SVD, тождественные значения хэшей LSH точнее характеризуют похожесть исходных текстов для полей, чем если бы хэши LSH считались по не свёрнутым векторам термов. Таким бразом, последовательная группировка признаков сначала с использованием SVD, а затем с использованием LSH дает более высокую релевантность результатов группировки сходных полей. Преобразование данных в обратной последовательности, то есть, при первоначальном применении LSH, а затем SVD повышает ресурсоемкость вычислений и снижает релевантность результатов. В частности, хеширование разреженных данных не обеспечивает точное определение строк, релевантных друг к другу, а понижение ранга и размерности матрицы для вычисленных хэшей еще более снижает релевантность преобразований.
Таким образом, после вычисления значений хэшей LSH и группировки полей документов по значениям хэшей, формируются обучающие последовательности, каждая из которых характеризуется одним из значений хэш функции, чувствительной к местоположению. При необходимости, например, при малом количестве полей в одной группе, первоначально определенные группы могут быть объединены.
В качестве обучающих данных для каждого из полей используется реакция пользователей на предоставленные им результаты работы поисковой системы. Для проведения машинного обучения, запрашивают у пользователя реальную степень соответствия запросу элементов списка. В различных частных случаях реализации изобретения оценка может быть дана пользователем непосредственно, например, по шкале градаций соответствия. В другом частном случае, степень соответствия определяется опосредованно, например, для резюме, степень соответствия повышается от игнорирования пользователем представленной ему ссылки на резюме, то трудоустройства кандидата, разместившего резюме, с промежуточными градациями «резюме просмотрено» и кандидат приглашен на собеседование. Таким образом, для формирования обучающих данных, отслеживаются действия пользователя, заключающиеся в просмотре резюме или вакансий и направлении откликов или приглашений. При этом целесообразно рассматривать отклики и приглашения, как неравноценные события.
При проведении обучения поисковой системы, каждая обучающая группа или выборка может формировать свое решающее дерево или несколько решающих деревьев, сформированных путем градиентного бустинга. Сформированные деревья могут использоваться совместно при поиске вакансии, даже при анализе группы вакансий, не связанной с группой вакансий, соответствующей обучающей выборке.
Поля рабочей базы данных также преобразуются в матричный или табличный вид с последующим сжатием матрицы и группировкой полей сжатой матрицы по признаку формального сходства.
При формировании пользователем запроса на поиск, то есть описания желаемой вакансии или резюме, пользователь может заполнить поля, предназначенные для запроса или может использоваться описание вакансии (резюме) в качестве поискового выражения.
Для поискового выражения, первоначально определяется одно или несколько значений хэш функции LSH, релевантных к поисковому выражению, а затем определяются релевантные к поисковому выражению поля.
Например, для поискового выражения, производится обработка полей по алгоритму сжатия матрицы и вычисление хэш функции, чувствительной к местоположению, что позволяет выявить группы полей из рабочей базы данных, сходных с поисковым выражением.
Дополнительно, из сведений, предназначенных для поиска могут исключаться документы, заведомо не соответствующие целям поиска, например, из поиска могут исключаться резюме соискателей не имеющих высшего образования, не готовых к переезду к месту работы и другие.
После этого. для проведения точного поиска и сортировки выявленных данных используются индексные строки, соответствующие полям, сходных с поисковым выражением. Поисковое выражение также индексируется с использованием латентно-семантической индексации. Для проведения поиска используется латентно-семантический анализ полей поискового выражения и полей из рабочей базы данных.
Методом латентно-семантического анализа определяются поля наиболее релевантные поисковому выражению. В частном случае реализации изобретения, список релевантных документов сортируется по степени релевантности и предоставляется пользователю для использования.
По результатам обработки представленных пользователю рекомендаций, производится обновление и уточнение обучающей базы данных, используемой в системе.
[фиг. 1] показывает пример компьютерной системы общего назначения, которая включает в себя многоцелевое вычислительное устройство в виде компьютера 20 или сервера, или мобильного (вычислительного) устройства, или модуля описываемой в настоящем изобретении системы, которые, в частном случае, могут являться оконечными (вычислительными) устройствами (например, пользователя, оператора и т.д.), включающего в себя процессор 21, системную память 22 и системную шину 23, которая связывает различные системные компоненты, включая системную память с процессором 21.
Системная шина 23 может быть любого из различных типов структур шин, включающих шину памяти или контроллер памяти, периферийную шину и локальную шину, использующую любую из множества архитектур шин. Системная память 22 включает постоянное запоминающее устройство (ПЗУ) 24 и оперативное запоминающее устройство (ОЗУ) 25. В ПЗУ 24 хранится базовая система ввода/вывода 26 (БИОС), состоящая из основных подпрограмм, которые помогают обмениваться информацией между элементами внутри компьютера 20, например, в момент запуска.
Компьютер 20 также может включать в себя накопитель 27 на жестком диске для чтения с и записи на жесткий диск (не показан), накопитель 28 на магнитных дисках для чтения с или записи на съёмный магнитный диск 29, и накопитель 30 на оптическом диске для чтения с или записи на съёмный оптический диск 31 такой, как компакт-диск, цифровой видео-диск и другие оптические средства. Накопитель 27 на жестком диске, накопитель 28 на магнитных дисках и накопитель 30 на оптических дисках соединены с системной шиной 23 посредством, соответственно, интерфейса 32 накопителя на жестком диске, интерфейса 33 накопителя на магнитных дисках и интерфейса 34 оптического накопителя. Накопители и их соответствующие читаемые компьютером средства обеспечивают энергонезависимое хранение читаемых компьютером инструкций, структур данных, программных модулей и других данных для компьютера 20.
Хотя описанная здесь типичная конфигурация использует жесткий диск, съёмный магнитный диск 29 и съёмный оптический диск 31, специалист примет во внимание, что в типичной операционной среде могут также быть использованы другие типы читаемых компьютером средств, которые могут хранить данные, которые доступны с помощью компьютера, такие как магнитные кассеты, карты флеш-памяти, цифровые видеодиски, картриджи Бернулли, оперативные запоминающие устройства (ОЗУ), постоянные запоминающие устройства (ПЗУ) и т.п.
Различные программные модули, включая операционную систему 35, могут быть сохранены на жёстком диске, магнитном диске 29, оптическом диске 31, ПЗУ 24 или ОЗУ 25. Компьютер 20 включает в себя файловую систему 36, связанную с операционной системой 35 или включенную в нее, одно или более программное приложение (приложения) 37, другие программные модули 38 и программные данные 39. Пользователь может вводить команды и информацию в компьютер 20 при помощи устройств ввода, таких как клавиатура 40 и указательное устройство 42. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, геймпад, спутниковую антенну, сканер или любое другое.
Эти и другие устройства ввода соединены с процессором 21 часто посредством интерфейса 46 последовательного порта, который связан с системной шиной, но могут быть соединены посредством других интерфейсов, таких как параллельный порт, игровой порт или универсальная последовательная шина (УПШ). Монитор 47 или другой тип устройства визуального отображения также соединен с системной шиной 23 посредством интерфейса, например, видеоадаптера 48. В дополнение к монитору 47, персональные компьютеры обычно включают в себя другие периферийные устройства вывода (не показано), такие как динамики и принтеры.
Компьютер 20 может работать в сетевом окружении посредством логических соединений к одному или нескольким удаленным компьютерам 49. Удаленный компьютер (или компьютеры) 49 может представлять собой другой компьютер, сервер, роутер, сетевой ПК, пиринговое устройство или другой узел единой сети, а также обычно включает в себя большинство или все элементы, описанные выше, в отношении компьютера 20, хотя показано только устройство хранения информации 50. Логические соединения включают в себя локальную (вычислительную) сеть (ЛВС) 51 и глобальную компьютерную сеть (ГКC) 52. Такие сетевые окружения обычно распространены в учреждениях, корпоративных компьютерных сетях, Интернете.
Компьютер 20, используемый в сетевом окружении ЛВС, соединяется с локальной сетью 51 посредством сетевого интерфейса или адаптера 53. Компьютер 20, используемый в сетевом окружении ГКС, обычно использует модем 54 или другие средства для установления связи с глобальной компьютерной сетью 52, такой как Интернет.
Модем 54, который может быть внутренним или внешним, соединен с системной шиной 23 посредством интерфейса 46 последовательного порта. В сетевом окружении программные модули или их части, описанные применительно к компьютеру 20, могут храниться на удаленном устройстве хранения информации. Надо принять во внимание, что показанные сетевые соединения являются типичными, и для установления коммуникационной связи между компьютерами могут быть использованы другие средства.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения
.

Claims (11)

  1. Способ автоматизированного поиска релевантных документов для рекомендательной системы подбора персонала с использованием машинного обучения и с понижением размерности многомерных данных, заключающийся в том, что:
    формируют рабочую базу данных для документов, каждый из которых описывает резюме или вакансию, где каждый документ имеет уникальный идентификационный признак документа, и содержит по крайней мере одно индексируемое поле, содержащее сведения, характеризующее документ с использованием терминов естественного языка, при этом каждое из индексируемых полей имеет уникальный идентификационный признак поля;
    обновляют рабочую базу данных для документов путем удаления устаревших документов и добавления новых документов;
    формируют обучающую базу данных для документов, содержащую документы, для которых получены отзывы пользователей, характеризующие релевантность документов поисковым пользовательским запросам;
    обновляют обучающую базу данных путем добавления документов, для которых получены новые отзывы пользователей о соответствии документов пользовательским запросам;
    для каждого из документов индексируют поля путем преобразования сведений индексируемого поля в индексную табличную строку, отдельные ячейки которой соответствуют одному из заранее заданных признаков, соответствующему положению ячейки в индексной табличной строке, а значения, занесенные в ячейку, соответствуют наличию в сведениях индексируемого поля термина естественного языка, соответствующего ячейке;
    формируют обучающую индексную матрицу, в качестве строк которой используют индексные строки, соответствующие документам обучающей базы данных для документов;
    с использованием заранее заданной процедуры сжатия матриц сжимают обучающую индексную матрицу с частичной потерей данных с понижением размерности с формированием сжатой индексной матрицы;
    группируют строки сжатой индексной матрицы по заранее заданным формальным признакам сходства, где документы, соответствующие сгруппированным строкам в одной группе, составляют обучающую группу документов; и
    формируют решающую систему, для обучения которой в качестве исходных данных используют индексные строки документов соответствующей обучающей группы документов, а в качестве ожидаемых результатов - отзывы пользователей для документов из обучающей группы; и
    для поискового выражения пользователя формируют индексную табличную строку, в которой отдельные ячейки соответствуют заранее заданному признаку, а значения, занесенные в ячейку, соответствуют наличию соответствующего признака в поисковом выражении;
    для индексной строки поискового выражения, определяют по крайней мере один из заранее заданных формальных признаков сходства, соответствующий поисковому выражению;
    предварительно отбирают документы из рабочей базы данных, индексным строкам которых соответствуют признаки сходства, соответствующие поисковому выражению, и
    представляют пользователю документы, отобранные решающей системой из документов, предварительно отобранных из базы данных.
  2. Способ по пункту 1, отличающийся тем, что производят нормализацию семантических структур естественного языка по заранее заданному алгоритму, а латентно-семантическое индексирование производят с использованием с использованием нормализованных структур.
  3. Способ по пункту 2, отличающийся тем, что нормализацию структур естественного языка производят путем лемматизации.
  4. Способ по пункту 2, отличающийся тем, что нормализацию структур естественного языка производят путем стемминга.
  5. Способ по пункту 2, отличающийся тем, что при нормализации для нескольких заранее заданных синонимов используют один заранее заданный общий термин.
  6. Способ по пункту 1, отличающийся тем, что в качестве заранее заданной процедуры сжатия матриц используют процедуру понижения ранга матрицы с использованием сингулярного разложения матрицы.
  7. Способ по пункту 1, отличающийся тем, что для хранения обучающей базы данных для документов используют хранилище данных с повышенной надежностью.
  8. Способ по пункту 1, отличающийся что в качестве заранее заданного признака сходства используется значение хеш функции, чувствительной к местоположению, в качестве аргументов которой используют сроки матрицы.
  9. Рекомендательная система подбора персонала с использованием машинного обучения и с понижением размерности многомерных данных, содержащая:
    блок предоставления пользователям документов, соответствующих пользовательским запросам;
    блок сбора отзывов пользователей к документам, предоставленных блоком предоставления пользователям документов;
    рабочую базу данных для документов, каждый из которых описывает резюме или вакансию, где каждый документ имеет уникальный идентификационный признак документа, и содержит по крайней мере одно индексируемое поле, содержащее сведения, характеризующее документ с использованием терминов естественного языка, при этом каждое из индексируемых полей имеет уникальный идентификационный признак поля, где рабочая база данных для документов выполнена с возможностью обновления путем удаления устаревших документов и добавления новых документов;
    обучающую базу данных для документов, содержащую документы, для которых получены отзывы пользователей, характеризующие релевантность документов поисковым пользовательским запросам, где обучающая база данных выполнена с возможностью добавления документов, для которых получены новые отзывы пользователей о соответствии документов пользовательским запросам;
    систему индексации, выполненную индексирующей поля формирующей для каждого из документов путем преобразования сведений индексируемого поля в индексную табличную строку, отдельные ячейки которой соответствуют одному из заранее заданных признаков, соответствующему положению ячейки в индексной табличной строке, а значения, занесенные в ячейку, соответствуют наличию в сведениях индексируемого поля термина естественного языка, соответствующего ячейке;
    подсистему формирования решающей системы, выполненную:
    формирующей обучающую индексную матрицу, в качестве строк которой используют индексные строки, соответствующие документам обучающей базы данных для документов;
    с использованием заранее заданной процедуры сжатия матриц, сжимающей обучающую индексную матрицу с частичной потерей данных с понижением размерности с формированием сжатой индексной матрицы;
    группирующей строки сжатой индексной матрицы по заранее заданным формальным признакам сходства, с формированием обучающей группы документов, содержащей документы, соответствующие сгруппированным строкам в одной группе; и
    формирующей решающую систему, для обучения которой в качестве исходных данных используют индексные строки документов соответствующей обучающей группы документов, а в качестве ожидаемых результатов - отзывы пользователей для документов из обучающей группы; и
    блок обработки поискового выражения, формирующего, для поискового выражения пользователя, индексную табличную строку, в которой отдельные ячейки соответствуют заранее заданному признаку, а значения, занесенные в ячейку, соответствуют наличию соответствующего признака в поисковом выражении;
    блок определения признака сходства, выполненный определяющим, для индексной строки поискового выражения, по крайней мере один из заранее заданных формальных признаков сходства, соответствующий поисковому выражению;
    блок предварительного отбора документов из рабочей базы данных, индексным строкам которых соответствуют признаки сходства, соответствующие поисковому выражению, а
    блок предоставления пользователям документов выполнен представляющим пользователю документы, отобранные решающей системой из документов, предварительно отобранных из базы данных.
  10. Рекомендательная система пункту 9, отличающаяся тем, что производят нормализацию семантических структур естественного языка по заранее заданному алгоритму, а латентно-семантическое индексирование производят с использованием с использованием нормализованных структур.
  11. Рекомендательная система пункту 9, содержащая хранилище данных с повышенной надежностью, предназначенное для хранения обучающей базы данных для документов.
PCT/RU2020/050048 2019-03-18 2020-03-17 Рекомендательная система подбора персонала с использованием машинного обучения и с понижением размерности многомерных данных и способ подбора персонала с использованием машинного обучения и с понижением размерности многомерных данных WO2020190176A1 (ru)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/439,982 US11941584B2 (en) 2019-03-18 2020-03-17 Recommender system for staff recruitment using machine learning with multivariate data dimension reduction and staff recruitment method using machine learning with multivariate data dimension reduction
EA202100143A EA202100143A1 (ru) 2019-03-18 2020-03-17 Рекомендательная система подбора персонала с использованием машинного обучения и с понижением размерности многомерных данных и способ подбора персонала с использованием машинного обучения и с понижением размерности многомерных данных

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
RU2019107661A RU2711717C1 (ru) 2019-03-18 2019-03-18 Рекомендательная система подбора персонала с использованием машинного обучения и с понижением размерности многомерных данных и способ подбора персонала с использованием машинного обучения и с понижением размерности многомерных данных
RU2019107661 2019-03-18

Publications (1)

Publication Number Publication Date
WO2020190176A1 true WO2020190176A1 (ru) 2020-09-24

Family

ID=69184023

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2020/050048 WO2020190176A1 (ru) 2019-03-18 2020-03-17 Рекомендательная система подбора персонала с использованием машинного обучения и с понижением размерности многомерных данных и способ подбора персонала с использованием машинного обучения и с понижением размерности многомерных данных

Country Status (4)

Country Link
US (1) US11941584B2 (ru)
EA (1) EA202100143A1 (ru)
RU (1) RU2711717C1 (ru)
WO (1) WO2020190176A1 (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11816127B2 (en) 2021-02-26 2023-11-14 International Business Machines Corporation Quality assessment of extracted features from high-dimensional machine learning datasets

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11803599B2 (en) * 2022-03-15 2023-10-31 My Job Matcher, Inc. Apparatus and method for attribute data table matching
WO2024039263A1 (ru) * 2022-08-15 2024-02-22 Общество с ограниченной ответственностью "СОФТВЭЙ++" Система и способ обработки данных о вакансиях

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170032035A1 (en) * 2015-07-28 2017-02-02 Microsoft Technology Licensing, Llc Representation Learning Using Multi-Task Deep Neural Networks
US20180173803A1 (en) * 2016-12-15 2018-06-21 Linkedln Corporation Determining similarities among industries to enhance job searching
US20190034793A1 (en) * 2017-07-25 2019-01-31 Linkedin Corporation Semantic clustering based retrieval for candidate set expansion

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6578022B1 (en) * 2000-04-18 2003-06-10 Icplanet Corporation Interactive intelligent searching with executable suggestions
CA2659698C (en) * 2008-03-21 2020-06-16 Dressbot Inc. System and method for collaborative shopping, business and entertainment
US8385971B2 (en) * 2008-08-19 2013-02-26 Digimarc Corporation Methods and systems for content processing
US20140122355A1 (en) * 2012-10-26 2014-05-01 Bright Media Corporation Identifying candidates for job openings using a scoring function based on features in resumes and job descriptions
RU2632132C1 (ru) * 2016-07-07 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" Способ и устройство для создания рекомендаций содержимого в системе рекомендаций

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170032035A1 (en) * 2015-07-28 2017-02-02 Microsoft Technology Licensing, Llc Representation Learning Using Multi-Task Deep Neural Networks
US20180173803A1 (en) * 2016-12-15 2018-06-21 Linkedln Corporation Determining similarities among industries to enhance job searching
US20190034793A1 (en) * 2017-07-25 2019-01-31 Linkedin Corporation Semantic clustering based retrieval for candidate set expansion

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11816127B2 (en) 2021-02-26 2023-11-14 International Business Machines Corporation Quality assessment of extracted features from high-dimensional machine learning datasets

Also Published As

Publication number Publication date
RU2711717C1 (ru) 2020-01-21
US11941584B2 (en) 2024-03-26
US20220172173A1 (en) 2022-06-02
EA202100143A1 (ru) 2021-08-16

Similar Documents

Publication Publication Date Title
US20220019576A1 (en) Using stored execution plans for efficient execution of natural language questions
WO2020190176A1 (ru) Рекомендательная система подбора персонала с использованием машинного обучения и с понижением размерности многомерных данных и способ подбора персонала с использованием машинного обучения и с понижением размерности многомерных данных
US8285702B2 (en) Content analysis simulator for improving site findability in information retrieval systems
US8131684B2 (en) Adaptive archive data management
US7765216B2 (en) Multidimensional analysis tool for high dimensional data
US20150379429A1 (en) Interactive interfaces for machine learning model evaluations
US9378271B2 (en) Database system for analysis of longitudinal data sets
US20030033300A1 (en) Methods and apparatus for indexing data in a database and for retrieving data from a database in accordance with queries using example sets
US20150242409A1 (en) Automated Data Shaping
US20060265362A1 (en) Federated queries and combined text and relational data
KR20060009354A (ko) 조사 처리용 방법 및 장치
KR101679050B1 (ko) 규칙 기반 로그 데이터 그룹화를 이용한 개인 맞춤형 로그 분석 시스템 및 그 방법
CN116757297A (zh) 用于选择机器学习样本的特征的方法及系统
CN111782826A (zh) 知识图谱的信息处理方法、装置、设备及存储介质
CN116882520A (zh) 针对预定预测问题的预测方法及系统
US7921105B2 (en) Bioitem searcher, bioitem search terminal, bioitem search method, and program
CN111913954A (zh) 智能数据标准目录生成方法和装置
US10394826B1 (en) System and methods for searching query data
US20220374329A1 (en) Search and recommendation engine allowing recommendation-aware placement of data assets to minimize latency
US11947535B2 (en) Multicomputer system with machine learning engine for query optimization and dynamic data reorganization
EA042532B1 (ru) Рекомендательная система подбора персонала с использованием машинного обучения и с понижением размерности многомерных данных и способ подбора персонала с использованием машинного обучения и с понижением размерности многомерных данных
CN113568888A (zh) 索引推荐方法及装置
CN115114415A (zh) 问答知识库更新方法、装置、计算机设备和存储介质
Aydin et al. Data modelling for large-scale social media analytics: design challenges and lessons learned
US20230409996A1 (en) Method and apparatus for retrieving relevant records from a database using prediction models

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20739788

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20739788

Country of ref document: EP

Kind code of ref document: A1