FR2966949A1 - Method for automating creation of structured database, involves removing pages whose probability indicator is less than threshold value, and processing non-isolated pages to determine information that is not directly accessible - Google Patents

Method for automating creation of structured database, involves removing pages whose probability indicator is less than threshold value, and processing non-isolated pages to determine information that is not directly accessible Download PDF

Info

Publication number
FR2966949A1
FR2966949A1 FR1059023A FR1059023A FR2966949A1 FR 2966949 A1 FR2966949 A1 FR 2966949A1 FR 1059023 A FR1059023 A FR 1059023A FR 1059023 A FR1059023 A FR 1059023A FR 2966949 A1 FR2966949 A1 FR 2966949A1
Authority
FR
France
Prior art keywords
information
pages
automating
structured database
constitution
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
FR1059023A
Other languages
French (fr)
Other versions
FR2966949B1 (en
Inventor
Wright Christophe Dacre
De Rosnay Philippe Guillaume Dulond
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEETWEEN
Original Assignee
BEETWEEN
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 BEETWEEN filed Critical BEETWEEN
Priority to FR1059023A priority Critical patent/FR2966949B1/en
Publication of FR2966949A1 publication Critical patent/FR2966949A1/en
Application granted granted Critical
Publication of FR2966949B1 publication Critical patent/FR2966949B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/903Querying
    • G06F16/9038Presentation of query results
    • 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/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/353Clustering; Classification into predefined classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • G06F16/86Mapping to a database

Abstract

The method involves performing data collection by exploring sources of unstructured information including HTML pages by automatic scanning of web pages by a classifier. Filtering is performed for removing the pages whose probability indicator is less than a threshold value, and each non-isolated page is processed for the extraction of unstructured information by semantic analysis and import of the information in corresponding sections of a structured database. The non-isolated pages are processed to determine the information that is not directly accessible.

Description

PROCEDE POUR L'AUTOMATISATION DE LA CONSTITUTION D'UNE BASE DE DONNEES STRUCTUREE DE PROFESSIONNELS METHOD FOR AUTOMATING THE CONSTITUTION OF A STRUCTURED DATABASE OF PROFESSIONALS

Domaine de l'invention [0001] La présente invention concerne la création automatique et l'exploitation de bases de données, plus particulièrement pour la constitution et l'exploitation de bases de données de candidatures et de professionnels en vue de l'identification et la sélection de compétences. FIELD OF THE INVENTION [0001] The present invention relates to the automatic creation and the exploitation of databases, more particularly for the constitution and the exploitation of databases of applications and professionals for the purpose of identifying and selection of skills.

Etat de la technique State of the art

[0002] On connaît dans l'état de la technique des solutions permettant d'interroger de manière automatique (« scanner » en langue anglaise) le réseau internet pour extraire des pages explorées les informations susceptibles de compléter une base de données. [0003] En particulier, le brevet EP2143018 décrit un procédé pour créer une base de donnée de curriculum vitae comprenant une étape d'extraction sémantique des informations dans un document et extraction d'une pluralité de composants du document pour renseigner une matrice de données définissant une pluralité d'entrées normalisées. Lors de cette étape, chaque composant extrait est associé à une entrée normalisée de la matrice de données. [0004] Le brevet européen EP2043011 de la société 123people Internet Service GmbH décrit un système pour l'agrégation et l'enrichissement automatisés des résultats de recherche générés en réponse aux questions/aux requêtes de recherche à de ressources de réseau multiples, telles que des moteurs de recherche. Dans une mode de réalisation, un utilisateur prépare 2966949 - 2 une requête de recherche transmise au serveur. La requête de recherche, qui peut comprendre un ou plusieurs termes de recherche. Le serveur peut modifier la requête de recherche pour augmenter la probabilité de résultats pertinents. 5 [0005] On connaît également le brevet américain US6381592 divulguant une méthode pour localiser automatiquement les pages de sites Internet qui contiennent des mots-clés définis par une combinaison booléenne. Ce brevet de l'art antérieur propose une étape d'extraction de toutes les adresses 10 de courrier électronique de ces pages ainsi que les pages hyperliés à autant de niveaux reliant choisie par l'opérateur. Ces données extraites sont exploitées ensuite pour l'envoi d'une description de la possibilité d'emploi sous la forme d'un courrier électronique à chacune des adresses extraites. 15 [0006] On connaît également la demande de brevet japonais JP2005092889 décrivant un procédé pour l'identification des zones cohérentes dans une page web. Une première étape consiste à analyser le code HTML. On procède ensuite au filtrage des données répétitives de la page web et on réalise un mappage pour 20 identifier une arborescence hiérarchique du document et être adaptés à l'arborescence structurelle de bloc d'information par analyse des similitudes sémantiques. [0007] [0008] Inconvénients des solutions de l'art antérieur 25 [0009] [00010] Les différentes solutions connues présentent l'inconvénient d'être mal adaptées au volume considérable de données à traiter : le WEB contient environ 400 milliards de pages et potentiellement 3 milliards de personnes employables. 30 Le traitement automatique de volumes aussi importants implique, lors de la mise en oeuvre des solutions connues, des capacités de traitement considérables. De plus, les solutions de l'art 2966949 - 3 antérieur conduisent à des bases contenant un nombre significatif de données non pertinentes, ce qui les rend difficilement exploitables. Solution apportée par l'invention It is known in the state of the art solutions for automatically querying ("scanner" in English) the Internet network to extract pages explored information that could complete a database. In particular, patent EP2143018 describes a method for creating a resume database comprising a step of semantically extracting information from a document and extracting a plurality of document components to fill a data matrix defining a plurality of standardized inputs. In this step, each extracted component is associated with a normalized entry of the data matrix. [0004] European Patent EP2043011 of 123people Internet Service GmbH discloses a system for automated aggregation and enrichment of search results generated in response to queries / search queries to multiple network resources, such as search engine. In one embodiment, a user prepares a search query 2966949 - 2 transmitted to the server. The search query, which may include one or more search terms. The server can modify the search query to increase the probability of relevant results. [0005] US Pat. No. 6,338,152 discloses a method for automatically locating pages of Internet sites that contain keywords defined by a Boolean combination. This patent of the prior art proposes a step of extracting all the e-mail addresses of these pages as well as the pages hyperlinked to as many linking levels chosen by the operator. This extracted data is then used to send a description of the employment opportunity in the form of an email to each extracted address. [0006] Japanese Patent Application JP2005092889 is also known describing a method for identifying coherent areas in a web page. A first step is to analyze the HTML code. The repetitive data of the web page is then filtered and mapped to identify a hierarchical tree of the document and adapted to the information block structural tree by analysis of semantic similarities. Disadvantages of the solutions of the prior art [0007] The various known solutions have the disadvantage of being poorly adapted to the considerable volume of data to be processed: the WEB contains approximately 400 billion pages. and potentially 3 billion employable people. The automatic processing of such large volumes implies, in the implementation of known solutions, considerable processing capacities. In addition, the solutions of the prior art 2966949 - 3 lead to bases containing a significant number of irrelevant data, which makes them difficult to exploit. Solution provided by the invention

[00011] Afin de remédier à ces inconvénients, l'invention concerne selon son acception la plus générale un procédé pour 10 l'automatisation de la constitution d'une base de données structurée de professionnels caractérisé en ce qu'il comporte : [00012] des étapes de collecte de données par l'exploration de sources d'informations non structurées, notamment de pages HTML par balayage automatique du web, par qualification des pages 15 d'informations importées de chacune des sources par un classifieur fournissant un indicateur de probabilité de l'appartenance des dites informations importées à la classe d'intérêt, [00013] des étapes de filtrage pour écarter les pages dont 20 l'indicateur de probabilité est inférieur à une valeur seuil [00014] une étape de traitement de chacune des pages non écartées pour l'extraction des informations non structurées, l'analyse sémantique, et l'importation desdites informations dans les rubriques correspondantes de ladite base de données 25 structurée [00015] une étape de traitement desdites pages et informations pour calculer les informations non directement accessibles. [00016] Avantageusement, le procédé selon l'invention comporte une étape préalable de prétraitement des pages d'informations 30 provenant d'une même source, consistant à identifier et supprimer une partie au moins des informations communes à plusieurs pages d'une même source. 5 - 4 Description d'un mode de réalisation détaillé [00011] In order to remedy these drawbacks, the invention relates, according to its most general meaning, to a method for automating the constitution of a structured database of professionals characterized in that it comprises: [00012] steps of data collection by exploring unstructured sources of information, including HTML pages by automatic web scanning, by qualifying pages of information imported from each source by a classifier providing a probability indicator of the membership of said imported information to the class of interest, [00013] filtering steps to discard pages whose 20 probability indicator is less than a threshold value [00014] a processing step of each of the pages not excluded for the extraction of unstructured information, the semantic analysis, and the import of said information in the corresponding items of said database structured data [00015] a step of processing said pages and information to calculate the information not directly accessible. Advantageously, the method according to the invention comprises a preliminary step of preprocessing information pages 30 from the same source, consisting of identifying and removing at least a part of the information common to several pages of the same source. . 5 - 4 Description of a detailed embodiment

[00017] L'invention sera mieux comprise à la lecture de la description qui suit, se référant aux dessins annexés. La figure annexée représente une vue schématique des traitements techniques mis en oeuvre par l'invention. [00018] Un serveur informatique connecté au réseau internet comporte un robot pour l'exploration d'une multitude de sites web sélectionnés par exemple à partir de mots clés. [00019] Les fichiers correspondant aux pages explorées sont importées sur le serveur et font l'objet d'un traitement consistant à : - analyser le code de la page - identifier des données récurrentes, correspondant par exemple à des en-têtes, des blocs d'informations générales. [00020] Les données ayant fait l'objet d'un pré-traitement sont ensuite analysées par un réseau bayésien pour calculer un indicateur de probabilité d'appartenance à la classe de curriculum vitae. Les données dont l'indicateur calculé est inférieur à une valeur seuil sont supprimées, et les autres fichiers font l'objet ensuite d'un traitement additionnel d'analyse sémantique consistant notamment à normaliser les informations par : Traitement grammatical pour l'harmonisation des termes formulés au pluriel ou au singulier, et au masculin ou au féminin - Traitement par table de synonymes et enregistrement sous la racine des synonymes ou d'un identifiant - Construction de matrice par analyse statistique, pour déterminer les mots les plus proches du point de vue The invention will be better understood on reading the description which follows, with reference to the accompanying drawings. The attached figure shows a schematic view of the technical treatments implemented by the invention. [00018] A computer server connected to the Internet network comprises a robot for exploring a multitude of selected websites for example from keywords. The files corresponding to the pages explored are imported onto the server and are subject to processing consisting of: analyzing the code of the page identifying recurrent data, for example corresponding to headers, blocks general information. The data having been pre-processed are then analyzed by a Bayesian network to calculate an indicator of the probability of belonging to the class of curriculum vitae. The data whose calculated indicator is less than a threshold value are deleted, and the other files are then subject to additional semantic analysis processing including the standardization of information by: Grammatical processing for the harmonization of terms formulated in the plural or the singular, and in the masculine or feminine - Processing by table of synonyms and recording under the root of the synonyms or an identifier - Construction of matrix by statistical analysis, to determine the words closest to the point of view

- 5 sémantique - Appariement en fonction de cooccurrence entre des termes (par exemple BNP et banque). [00021] On procède ensuite à un filtrage dynamique et à une indexation automatique et on génère les appariements LSA. [00022] On enrichit l'index de chaque CV avec des termes associés issus de l'analyse de CV voisins historiques (par des synonymes ou par des termes plus généraux. Ex. BNP ou SG associés dans un même groupe, DG ou directeur général ; synonymes par analyse contextuelle, par exemple : anglais courant = anglais bilingue = anglais maternel). [00023] Les différents traitements visent à enrichir la qualité de l'information tout en réduisant le nombre de termes afin de réduire le coût du traitement. [00024] Ces différents traitements aboutissent à la reconstruction dynamique du CV, avec des données extraites et des données recalculées par analyse sémantique ou par des post-traitement pour enregistrer par exemple le nombre d'années d'expériences. - 5 semantics - Matching according to co-occurrence between terms (eg BNP and bank). This is followed by dynamic filtering and automatic indexing and generates LSA matches. [00022] The index of each CV is enriched with associated terms resulting from the analysis of historical neighboring CVs (by synonyms or by more general terms, eg BNP or SG associated in the same group, DG or managing director synonyms by contextual analysis, for example: fluent English = bilingual English = maternal English). The various treatments aim to enrich the quality of information while reducing the number of terms to reduce the cost of treatment. These different processes result in the dynamic reconstruction of the CV, with extracted data and data recalculated by semantic analysis or by post-processing to record for example the number of years of experiments.

Modes de mise en oeuvre particulier Specific modes of implementation

[00025] L'exploration du web peut être réalisée par des robots configurés pour un site donné, par une détection de la page de départ, une navigation à l'intérieur du site pour trouver le CV et une étape d'extraction des informations pour construire un CV formaté. [00026] L'exploration du web peut également être réalisée par un moteur de recherche tel que celui proposé par le projet NUTCH (nom commercial) réalisant le parcours de site à partir d'une url et parcourant toutes les pages. [00027] Selon une variante préférée, la base comporte un module 2966949 - 6 d'inhibition d'une personne et de blocage de la réinscription, et d'envoi de messages automatiques de demande si le refus est maintenu, avec une périodicité paramétrable. The exploration of the web can be performed by robots configured for a given site, by a detection of the starting page, a navigation inside the site to find the CV and a step of extracting information for build a formatted resume. [00026] The exploration of the web can also be carried out by a search engine such as that proposed by the NUTCH project (commercial name) realizing the site journey from a URL and browsing all the pages. According to a preferred embodiment, the base comprises a module 2966949 - 6 of inhibition of a person and blocking the re-registration, and sending automatic request messages if the refusal is maintained, with a configurable periodicity.

5 [00028] Selon une autre variante particulière, le procédé comporte une étape de filtrage dynamique. Le but est de pouvoir indiquer pour un document donné une candidature donnée si elle est pertinente ou non pour une requête donnée un descriptif de poste donné. A cet effet, un classifieur (par exemple un filtre 10 bayésien) calcule le score d'un document (candidature) sur la base de documents précédemment classés. [00029] Ce filtre reçoit les candidatures courriel (« email » en anglais) à destination du recruteur et lui ajoutant un en-tête spécifiant si la candidature semble correspondre à l'offre pour 15 lequel le candidat postule. [00030] L'offre est identifiée grâce à son numéro d'offre extrait du titre ou du corps du courriel (« email » en anglais). [00031] Lorsqu'une nouvelle offre est rencontrée, un courriel (« email » en anglais) demande au recruteur de renseigner par 20 retour de courriel (« email » en anglais) des mots-clés (requête) définissant au mieux cette offre. [00032] [00033] La première approche de classification est basée sur le score d'une recherche dans un document texte de mots-clefs 25 extraits manuellement d'un descriptif de poste (« job description » en anglais) ; elle revient donc à calculer la similarité sémantique entre deux documents textes. De nombreux algorithmes sont disponibles pour répondre à cette problématique, dont en particulier le Vector Space Model utilisé 30 par le moteur de recherche Lucene. Cette approche permet de traiter les cas simples tels que l'absence ou la présence de tous les mots clefs de la requête mais nécessite un bon choix de 2966949 - 7 mots clefs de la part de l'utilisateur. Cette première solution de filtrage du contenu d'un CV fonctionne par rapport à un ensemble de mots clefs (la requête fournie par l'utilisateur). Cette approche nécessite que l'utilisateur ait une bonne 5 connaissance de son domaine de recherche et de l'outil utilisé afin de choisir un petit ensemble de mots clefs représentatif de son besoin. [00034] Une deuxième approche se fonde sur la technologie la plus employée dans les filtres antispams pour le courriel : la 10 classification naïve bayésienne. Elle se base sur le théorème de Bayes et suppose notamment que tous les mots sont indépendant (il n'y a pas de notion de contexte ou d'ordre). De nombreuses variantes pour cette classification ont été décrites et plusieurs implémentations sont disponibles dans la 15 suite logicielle WEKA (Waikato Environment for Knowledge Analysis, par l'université de Waikato). [00035] Le classificateur convertit automatiquement les requêtes en plusieurs catégories, et entraine un filtre par catégorie. I1 est donc important de garder le nombre de mots clefs 20 relativement faible. [00036] Afin de pouvoir traiter les données, WEKA doit les convertir dans sa représentation propre. L'approche consiste à : Trier manuellement les CV au format texte 25 (extraits manuels de fichier eml avec kmhtconvert, puis convertir depuis les PDF avec pditotext et depuis les .doc avec abiword) dans différents dossiers, correspondant chacun à une catégorie (ou requête). Durant la phase de mesure initiale, les documents ont de plus été découpés en jetons 30 grammaticaux (ou « tokenisés » selon un néologisme équivalent) et ramenés à leur racine grammaticale (ou « léxèmisés » selon un néologisme équivalent) avec le SmartAnalyzer de Lucene Beetween. Cette étape est indépendante de WEKA. - Convertir chaque document texte, sur lequel on applique des traitements similaires à ceux utilisés par le moteur de recherche Beetween et décrit précédemment: traitement grammatical, retrait des mots vides de sens. Charger l'ensemble de ces fichiers au format ARFF avec la classe TextDirectoryLoader de WEKA. On obtient alors une chaine de caractères représentant le document associé à sa classe (la catégorie). - Le document est traduit au format ARFF afin d'être utilisable par WEKA. On lui associe une classe (ensemble de mots clés définissant l'offre) fournie par le recruteur. On considérera par la suite que tout document appartenant à une classe est légitime pour cette classe et que tous document appartenant à une autre classe est un "spams". Cette étape peut se faire dans les applications Explorer ou Knowledge Flow proposées par WEKA. - Le document est ensuite vectorisé en des attributs numériques utilisables par WEKA. Vectoriser l'ensemble des chaines en des attributs numériques utilisables par WEKA avec la classe StringToWordVector. La chaine est découpée en mot avec des moyens de découpage en jetons (ou « tokenizer » selon un néologisme équivalent) de WEKA, et seul les n plus intéressants - autrement dit, ceux qui apportent le plus d'informations pour la classification - sont transformés en attributs. Une valeur numérique leur est donnée en fonction de leur présence dans le document. - On peut à ce moment appliquer les transformations TF (term frequency), IDF (inverse document frequency), et normaliser les valeurs par rapport à l'ensemble du jeu de 2966949 - 9 données (« training set » en langue anglaise). Cette étape peut se faire dans les applications Explorer ou Knowledge Flow. Lancer les mesures avec le classifieur sur le jeu 5 de données (validation croisée 10-fois ou « ten-fold cross validation » en anglais ou Echantillonnage à 66% ou « 66% split » en anglais), les résultats sont présentés au sein du logiciel. Cette étape peut se faire dans les applications Explorer ou 10 Experimenter. [00037] Le filtre bayésien peut être soit entrainé (marquage d'un document comme pertinent ou non pour une requête donnée), soit estimer la probabilité d'un document d'appartenir à une certaine classe (le classifier). 15 [00038] L'ensemble des documents est traité de cette sorte, ce qui permet de constituer une base de connaissance à partir du filtre entraîné. [00039] Le filtre implémenté reçoit un document (à marquer ou à 20 classifier) et une requête qu'il découpe en différentes catégories, et pour chaque catégorie il va entrainer ou utiliser un filtre possédant une classe pertinente et une classe non-pertinente. [00040] L'entraînement du classifieur est réalisé manuellement 25 et au fur et à mesure par le recruteur qui indique si un document est pertinent ou non pour la requête donnée, afin de corriger ou d'encourager le filtre. [00041] Afin de permettre de catégoriser des offres qui n'ont pas encore été rencontrées (par exemple, un développeur java 30 j2ee) mais pour laquelle on a déjà rencontré une offre similaire (par exemple, ingénieur java j2ee), un découpage des mots clefs en n-grams est mis en place. 2966949 - 10 - [00042] Les n mots clefs sont ensuite regroupés en catégorie par unigram, bigram, trigram et un n-gram. [00043] Ce principe d'éclatement d'une requête en n-grams se base sur le fait que deux requêtes "acheteur hardware" et 5 "acheteur industriel" peuvent être découpées en plusieurs catégories "acheteur", "hardware", "industriel", "acheteur hardware" et "acheteur industriel". La catégorie "acheteur" étant commune à ces deux requêtes, il peut être utile de combiner les résultats du filtrage pour 10 l'un et l'autre, afin de pouvoir classer un "acheteur industriel" sur la base d'un acheteur, même sans en avoir entrainer le filtre sur la catégorie "acheteur industriel" avant. [00044] On découpe donc chaque requêtes en N mots clefs que 15 l'on va exploser en unigrams, bigrams, trigrams, ... (K-1)-grams, K-grams et un N-gram (avec K<N). En fixant K, on limite l'explosion combinatoires des n-grams, tout en permettant de classer une requête inconnue en cherchant parmis les n-grams qui en ont été extraits. K est un paramètre de configuration, de 20 valeur 3 par défaut. [00045] Lorsque le classifieur rencontre une requête pour laquelle il n'a pas de filtre entraîné, il se base donc sur les résulats des filtres entraînés sur des requêtes partielles les plus longues possibles (les plus grands K-grams existants), et 25 les combine pour déterminer un score résultant. 30 According to another particular variant, the method comprises a dynamic filtering step. The purpose is to be able to indicate for a given document a given application if it is relevant or not for a given request a given job description. For this purpose, a classifier (for example a Bayesian filter) calculates the score of a document (application) on the basis of previously classified documents. [00029] This filter receives the email applications ("email" in English) for the recruiter and adds a header specifying whether the application seems to correspond to the offer for which the candidate is applying. The offer is identified by its offer number extracted from the title or the body of the email ("email" in English). When a new offer is met, an email ("email" in English) asks the recruiter to provide 20 by email ("email") keywords (request) defining the best offer. The first classification approach is based on the score of a search in a text document of keywords 25 extracted manually from a job description ("job description" in English); it therefore amounts to calculating the semantic similarity between two text documents. Numerous algorithms are available to answer this problem, in particular the Vector Space Model used by the Lucene search engine. This approach can handle simple cases such as the absence or presence of all keywords in the query but requires a good choice of 2966949 - 7 key words from the user. This first solution for filtering the content of a CV works with respect to a set of keywords (the request provided by the user). This approach requires the user to have a good knowledge of his field of research and the tool used in order to choose a small set of key words representative of his need. [00034] A second approach is based on the technology most used in spam filters for e-mail: the naïve Bayesian classification. It is based on the theorem of Bayes and assumes that all words are independent (there is no notion of context or order). Numerous variants for this classification have been described and several implementations are available in the WEKA software package (Waikato Environment for Knowledge Analysis, by the University of Waikato). [00035] The classifier automatically converts the requests into several categories, and causes a filter by category. It is therefore important to keep the number of keywords relatively small. In order to be able to process the data, WEKA must convert them into its own representation. The approach is to: Manually sort the CVs in text format 25 (manual extracts of eml file with kmhtconvert, then convert from PDFs with pditotext and from .doc with abiword) into different folders, each corresponding to a category (or query ). During the initial measurement phase, the documents were further divided into grammar tokens (or "tokenized" according to an equivalent neologism) and returned to their grammatical root (or "lexized" according to an equivalent neologism) with the Lucene Beetween SmartAnalyzer. . This step is independent of WEKA. - Convert each text document, on which one applies treatments similar to those used by the search engine Beetween and described previously: grammatical processing, withdrawal of empty words of meaning. Load all of these files in ARFF format with the WEKA TextDirectoryLoader class. We then obtain a string representing the document associated with its class (the category). - The document is translated in ARFF format in order to be usable by WEKA. It is associated with a class (set of keywords defining the offer) provided by the recruiter. It will be considered later that any document belonging to a class is legitimate for this class and that any document belonging to another class is a "spam". This step can be done in the Explorer or Knowledge Flow applications proposed by WEKA. - The document is then vectorized into numerical attributes usable by WEKA. Vectorize all the strings into numerical attributes usable by WEKA with the StringToWordVector class. The string is cut into words with WEKA's tokenizer (or "tokenizer" according to an equivalent neologism), and only the most interesting ones - in other words, those that provide the most information for the classification - are transformed. in attributes. A numerical value is given to them according to their presence in the document. - One can at this moment apply the transformations TF (term frequency), IDF (inverse document frequency), and normalize the values compared to the whole set of 2966949 - 9 data ("training set" in English language). This step can be done in Explorer or Knowledge Flow applications. Start the measurements with the classifier on the data set 5 (10-fold cross validation or ten-fold cross validation in English or 66% split or 66% split in English), the results are presented within the software. This step can be done in Explorer or Experimenter applications. The Bayesian filter can be either trained (marking a document as relevant or not for a given request), or estimate the probability of a document to belong to a certain class (the classify). [00038] All the documents are processed in this way, which makes it possible to constitute a knowledge base from the driven filter. [00039] The implemented filter receives a document (to be marked or classified) and a request that it cuts into different categories, and for each category it will cause or use a filter having a relevant class and a non-relevant class. [00040] The training of the classifier is done manually and as the recruiter indicates whether a document is relevant or not for the given request, in order to correct or encourage the filter. To allow to categorize offers that have not yet been met (for example, a java 30 j2ee developer) but for which we have already met a similar offer (for example, java engineer j2ee), a breakdown of key words in n-grams is set up. The n key words are then grouped into categories by unigram, bigram, trigram and n-gram. This principle of bursting a request in n-grams is based on the fact that two requests "buyer hardware" and 5 "industrial buyer" can be divided into several categories "buyer", "hardware", "industrial" "," hardware buyer "and" industrial buyer ". Since the "buyer" category is common to these two queries, it may be useful to combine the filtering results for one and the other, in order to be able to classify an "industrial buyer" on the basis of a buyer, even if without having the filter on the category "industrial buyer" before. [00044] Thus each request is cut into N key words that are exploded into unigrams, bigrams, trigrams, ... (K-1) -grams, K-grams and an N-gram (with K <N). ). By fixing K, we limit the combinatorial explosion of n-grams, while allowing us to classify an unknown query by searching among the n-grams that have been extracted. K is a configuration parameter, of value 3 by default. When the classifier encounters a request for which he has no trained filter, he therefore bases himself on the results of the filters driven on the longest possible partial queries (the largest existing K-grams), and 25 combines them to determine a resulting score. 30

Claims (8)

REVENDICATIONS1 - Procédé pour l'automatisation de la constitution d'une base de données structurée de professionnels caractérisé en 5 ce qu'il comporte : - des étapes de collecte de données par l'exploration de sources d'informations non structurées, notamment de pages HTML par balayage automatique du web, par qualification des pages d'informations importées de chacune des sources par un classifieur fournissant un indicateur de probabilité de l'appartenance des dites informations importées à la classe d'intérêt, des étapes de filtrage pour écarter les pages dont l'indicateur de probabilité est inférieur à une valeur seuil - une étape de traitement de chacune des pages non écartées pour l'extraction des informations non structurées, l'analyse sémantique, et l'importation desdites informations dans les rubriques correspondantes de ladite base de données structurée - une étape de traitement desdites pages et informations pour calculer les informations non directement accessibles. CLAIMS1 - A method for automating the constitution of a structured database of professionals, characterized in that it comprises: - steps of data collection by the exploration of unstructured information sources, in particular pages HTML by automatic web scanning, by qualification of the information pages imported from each of the sources by a classifier providing a probability indicator of the membership of said imported information to the class of interest, filtering steps to separate the pages whose probability indicator is less than a threshold value - a processing step of each non-discarded page for the extraction of unstructured information, the semantic analysis, and the import of said information into the corresponding items of said database structured data - a step of processing said pages and information to calculate the information not to say accessible. 2 - Procédé pour l'automatisation de la constitution d'une base de données structurée de professionnels selon la revendication précédente caractérisé en ce qu'il comporte une 30 étape préalable de prétraitement des pages d'informations provenant d'une même source, consistant à identifier et supprimer une partie au moins des informations communes à plusieurs pages 10 15 20 25 - 12 - d'une même source. 2 - A method for automating the constitution of a structured database of professionals according to the preceding claim characterized in that it comprises a prior step of preprocessing the pages of information from the same source, consisting of identify and delete at least a portion of the multi-page common information from the same source. 3 - Procédé pour l'automatisation de la constitution d'une base de données structurée de professionnels selon l'une des revendications précédentes caractérisé en ce qu'il comporte une étape préalable de prétraitement pour la normalisation des données extraites de la page explorée. 3 - A method for automating the constitution of a structured database of professionals according to one of the preceding claims characterized in that it comprises a pretreatment prior step for the normalization of data extracted from the page explored. 4 - Procédé pour l'automatisation de la constitution d'une base de données structurée de professionnels selon l'une des revendications précédentes caractérisé en ce qu'il comporte un fonction d'inhibition du nom d'une personne. 4 - Process for automating the constitution of a structured database of professionals according to one of the preceding claims characterized in that it comprises a function of inhibition of the name of a person. 5 - Procédé pour l'automatisation de la constitution d'une base de données structurée de professionnels selon la revendication précédente caractérisé en ce que la fonction d'inhibition est réalisée par un module d'inhibition d'une personne et de blocage de la réinscription, et d'envoi de messages automatiques de demande si le refus est maintenu, avec une périodicité paramétrable 5 - Process for automating the constitution of a structured database of professionals according to the preceding claim characterized in that the inhibition function is performed by a module of inhibition of a person and blocking the re-registration , and sending automatic request messages if the refusal is maintained, with a configurable periodicity 6 - Procédé pour l'automatisation de la constitution d'une base de données structurée de professionnels selon l'une des revendications précédentes caractérisé en ce que les étapes de collectes de données sont réalisées par des robots configurés pour un site donné, par une détection de la page de départ, une navigation à l'intérieur du site pour trouver le CV et une étape d'extraction des informations pour construire un CV formaté. 6 - Process for automating the constitution of a structured database of professionals according to one of the preceding claims, characterized in that the data collection steps are performed by robots configured for a given site, by a detection from the start page, a navigation inside the site to find the resume and a step of extracting the information to build a formatted CV. 7 - Procédé pour l'automatisation de la constitution d'une base de données structurée de professionnels selon l'une des revendications précédentes caractérisé en ce qu'il comporte - 13 - une étape de filtrage dynamique.7 - Process for automating the constitution of a structured database of professionals according to one of the preceding claims characterized in that it comprises a dynamic filtering step. 8 Procédé pour l'automatisation de la constitution d'une base de données structurée de professionnels selon la revendication précédente caractérisé en ce que le filtrage dynamique comporte un mécanisme d'adaptation pour pouvoir filtrer des offres inconnues en se basant sur des offres connues similaires. Method for automating the constitution of a structured database of professionals according to the preceding claim characterized in that the dynamic filtering comprises an adaptation mechanism to be able to filter unknown offers based on similar known offers.
FR1059023A 2010-11-02 2010-11-02 METHOD FOR AUTOMATING THE CONSTITUTION OF A STRUCTURED DATABASE OF PROFESSIONALS Expired - Fee Related FR2966949B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1059023A FR2966949B1 (en) 2010-11-02 2010-11-02 METHOD FOR AUTOMATING THE CONSTITUTION OF A STRUCTURED DATABASE OF PROFESSIONALS

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1059023A FR2966949B1 (en) 2010-11-02 2010-11-02 METHOD FOR AUTOMATING THE CONSTITUTION OF A STRUCTURED DATABASE OF PROFESSIONALS

Publications (2)

Publication Number Publication Date
FR2966949A1 true FR2966949A1 (en) 2012-05-04
FR2966949B1 FR2966949B1 (en) 2013-08-16

Family

ID=43928148

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1059023A Expired - Fee Related FR2966949B1 (en) 2010-11-02 2010-11-02 METHOD FOR AUTOMATING THE CONSTITUTION OF A STRUCTURED DATABASE OF PROFESSIONALS

Country Status (1)

Country Link
FR (1) FR2966949B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020032740A1 (en) * 2000-07-31 2002-03-14 Eliyon Technologies Corporation Data mining system
EP1669896A2 (en) * 2004-12-03 2006-06-14 Panscient Pty Ltd. A machine learning system for extracting structured records from web pages and other text sources

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020032740A1 (en) * 2000-07-31 2002-03-14 Eliyon Technologies Corporation Data mining system
US20020052928A1 (en) * 2000-07-31 2002-05-02 Eliyon Technologies Corporation Computer method and apparatus for collecting people and organization information from Web sites
EP1669896A2 (en) * 2004-12-03 2006-06-14 Panscient Pty Ltd. A machine learning system for extracting structured records from web pages and other text sources

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CHANG CHIA-HUI ET AL: "A Survey of Web Information Extraction Systems", IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, vol. 18, no. 10, 1 October 2006 (2006-10-01), IEEE SERVICE CENTER, LOS ALAMITOS, CA, US, pages 1411 - 1428, XP002498754, ISSN: 1041-4347, [retrieved on 20061001], DOI: 10.1109/TKDE.2006.152 *
CHANG K C ET AL: "Pebl:web page classification without negative examples", IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, vol. 16, no. 1, 1 January 2004 (2004-01-01), IEEE SERVICE CENTER, LOS ALAMITOS, CA, US, pages 70 - 81, XP011106915, ISSN: 1041-4347, DOI: 10.1109/TKDE.2004.1264823 *
SUNITA SARAWAGI: "Information Extraction", FOUNDATIONS AND TRENDS IN DATABASES, vol. 1, no. 3, 2007, pages 261 - 377, XP055000038, ISSN: 1931-7883, DOI: 10.1561/1900000003 *
TING ZHOU ET AL: "An information extraction system for heterogeneous Web source", MACHINE LEARNING AND CYBERNETICS (ICMLC), 2010 INTERNATIONAL CONFERENCE ON, IEEE, PISCATAWAY, NJ, USA, 11 July 2010 (2010-07-11), pages 3287 - 3292, XP031759790, ISBN: 978-1-4244-6526-2 *

Also Published As

Publication number Publication date
FR2966949B1 (en) 2013-08-16

Similar Documents

Publication Publication Date Title
JP7032397B2 (en) Methods and systems for identifying similarities between multiple data representations
US11126647B2 (en) System and method for hierarchically organizing documents based on document portions
US10503828B2 (en) System and method for answering natural language question
US7657546B2 (en) Knowledge management system, program product and method
KR101173556B1 (en) Topic map based indexing apparatus, topic map based searching apparatus, topic map based searching system and its method
US8051088B1 (en) Document analysis
Vijayarajan et al. A generic framework for ontology-based information retrieval and image retrieval in web data
US9720977B2 (en) Weighting search criteria based on similarities to an ingested corpus in a question and answer (QA) system
US9542496B2 (en) Effective ingesting data used for answering questions in a question and answer (QA) system
EP1793318A2 (en) Answer determination for natural language questionning
US10528633B2 (en) Utilizing online content to suggest item attribute importance
WO2002067142A2 (en) Device for retrieving data from a knowledge-based text
FR2977343A1 (en) TRANSLATION SYSTEM SUITABLE FOR TRANSLATION OF REQUESTS VIA A RECLASSIFICATION FRAMEWORK
Hollink et al. Semantic search log analysis: a method and a study on professional image search
Tahir et al. Corpulyzer: A novel framework for building low resource language corpora
Drouin et al. Automatic term extraction from newspaper corpora: Making the most of specificity and common features
KR20200136636A (en) Morphology-Based AI Chatbot and Method How to determine the degree of sentence
Yunus et al. Semantic method for query translation.
US11880396B2 (en) Method and system to perform text-based search among plurality of documents
Osipov et al. Technologies for semantic analysis of scientific publications
Hamada et al. Sentimental text processing tool for Russian language based on machine learning algorithms
FR2966949A1 (en) Method for automating creation of structured database, involves removing pages whose probability indicator is less than threshold value, and processing non-isolated pages to determine information that is not directly accessible
US11726972B2 (en) Directed data indexing based on conceptual relevance
JP2006139484A (en) Information retrieval method, system therefor and computer program
Feyisetan et al. Quick-and-clean extraction of linked data entities from microblogs

Legal Events

Date Code Title Description
RM Correction of a material error

Effective date: 20131106

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12

ST Notification of lapse

Effective date: 20230705