SocialGouv / code-du-travail-numerique

Code du Travail Numérique
https://code.travail.gouv.fr
Apache License 2.0
107 stars 22 forks source link

extraction tags utilisés #169

Closed revolunet closed 5 years ago

revolunet commented 6 years ago

@jrduscher voici ce qu'on a actuellement

tags from faq.json

tags valeurs
theme CONTRAT DE TRAVAIL ET EMBAUCHE,DURÉE DU TRAVAIL,Durée du travail,MALADIE,PERIODE D'ESSAI,Rupture Conventionnelle,rupture-du-contrat,salaire
branche ASSISTANT.E.S MATERNEL.LE.S,BÂTIMENT,COMMERCES À PRÉDOMINANCE ALIMENTAIRE,GARAGES,HOTELS-CAFÉS-RESTAURANTS,INDUSTRIE CHIMIQUE,PARTICULIERS EMPLOYEURS,TEST,TRANSPORTS ROUTIERS,boulangerie,metallurgie,proprete,test
type_entreprise artisanal
profil apprenti,employeur,employé
type_contrat CDD,CDI
sousTheme formalites,inaptitude,préavis,temps-de-travail-minimum,travail-de-nuit

tags from faq-conventions-collectives.json

tags valeurs
theme contrat de travail,principes,un contrat écrit en français,contrat de travail,principes,un contrat écrit en français,contrat de travail,principes,un contrat écrit en français,contrat de travail,principes,un contrat écrit en français,contrat de travail,principes,un contrat écrit en français,contrat de travail,principes,un contrat écrit en français,contrat de travail,principes,un contrat écrit en français,contrat de travail,principes,un contrat écrit en français,contrat de travail,principes,un contrat écrit en français
type_contrat CDD,CDD,CTT,autres,CDI,CDI,CDD,CDI,CDD,CTT,stagiaire
travailleur_particulier jeune travailleur,temps partiel,temps plein
branche BTP,boulangerie,bureau d'étude technique,hôtels, cafés restaurants,industries chimiques,métallurgie
type_entreprise artisanale
themes 2000,410,420,2000,410,420,110,3760,3760
date_redaction 26/09/2018
categorie ETAM,ETAM,cadres,cadres,employés,ouvriers,ouvriers, employés
critere_niveau cadre supérieur,niveau 1, échelon 1
particularismes Alsace Moselle
revolunet commented 6 years ago
const allTags = {};

const extractTags = entries =>
  entries.reduce((tags, entry) => {
    if (entry.tags) {
      Object.keys(entry.tags).forEach(tag => {
        if (!tags[tag]) {
          tags[tag] = [];
        }
        if (Array.isArray(entry.tags[tag])) {
          entry.tags[tag].forEach(t => {
            if (tags[tag].indexOf(t) === -1) {
              tags[tag].push(t);
              tags[tag].sort();
            }
          });
        } else if (tags[tag].indexOf(entry.tags[tag]) === -1) {
          tags[tag].push(entry.tags[tag]);
          tags[tag].sort();
        }
      });
    }
    return tags;
  }, {});

const dumpTags = path => {
  const entries = require(path);
  const tags = extractTags(entries);

  console.log(`

### ${path}

Tag | values
----|-------
${Object.keys(tags)
    .map(key => `${key} | ${tags[key].join(", ")}`)
    .join("\n")}

`);
};

dumpTags("./dataset/faq.json");
dumpTags("./dataset/faq-conventions-collectives.json");
revolunet commented 6 years ago
jrduscher commented 5 years ago

Je m'aperçois qu'il y a des tags "themes": n°ePOS dans faq.json qui ne ressortent pas dans le tableau

jrduscher commented 5 years ago

On peut refaire un tableau pour voir ce qui a changé?

revolunet commented 5 years ago

./dataset/faq.json

Tag values
theme CONTRAT DE TRAVAIL ET EMBAUCHE, DURÉE DU TRAVAIL, Durée du travail, MALADIE, PERIODE D'ESSAI, Rupture Conventionnelle, rupture-du-contrat, salaire
branche ASSISTANT.E.S MATERNEL.LE.S, BÂTIMENT, COMMERCES À PRÉDOMINANCE ALIMENTAIRE, GARAGES, HOTELS-CAFÉS-RESTAURANTS, INDUSTRIE CHIMIQUE, PARTICULIERS EMPLOYEURS, TEST, TRANSPORTS ROUTIERS, boulangerie, metallurgie, proprete, test
type_entreprise artisanal
profil apprenti, employeur, employé
type_contrat CDD, CDI
sousTheme formalites, inaptitude, préavis, temps-de-travail-minimum, travail-de-nuit

./dataset/faq-conventions-collectives.json

Tag values
theme contrat de travail, principes, période d'essai, renouvellement, un contrat écrit en français
type_contrat CDD, CDI, CTT, autres, stagiaire
themes 110, 119000, 12800, 2000, 3600, 3601, 3720, 3730, 3760, 410, 420, 49900, 52100
travailleur_particulier jeune travailleur, temps partiel, temps plein
branche BTP, boulangerie, bureau d'étude technique, hôtels, cafés restaurants, industries chimiques, métallurgie
type_entreprise artisanale
categorie ETAM, cadres, employés, ouvriers, ouvriers, employés
critere_niveau cadre supérieur, niveau 1, échelon 1
particularismes Alsace Moselle
revolunet commented 5 years ago

a quoi correspond "un contrat écrit en français" ?

jrduscher commented 5 years ago

article L1121-1 CDT: contrat de travail. marche aussi avec CDI et embauche . je modifie. type d'entreprise renvoie à une spécificité de convention collective, on peut le supprimer pour le moment.

jrduscher commented 5 years ago

on a commencé à demander à nos rédacteurs d'intégrer des références juridiques aux articles, mais ces données ne figurent pas encore. Pour renseigner la référence: on a une typologie de références, et des indications qui lui sont propres:

jurisprudence: ( n° de pourvoi, nom, instance judiciaire émettrice, ex ) article de CCN ( article+ texte dans la CCN) circulaire ( art, référence du texte) texte non codifié (type, art, réf du texte) texte européen (art+ réf du texte (type ( règlement, directive...), nom+ n°)).

du coup comment peut on renseigner cela de façon simple sans qu'il y ait trop de conséquences pour le rédacteur?

jrduscher commented 5 years ago

du coup est ce qu'on peut arrêter les tags à cette structure:

[

{
    "question": "",
    "reponse": "",
    "tags": {
        "themes": [3600, 3601],
        "theme": [
            "contrat de travail",
            "principes",
            "un contrat écrit en français"
        ],

        " CCN": {
            "branche": "hôtels, cafés restaurants",
            "categorie": "ETAM",
            "branche_coefficient": "125"
        },

        "type_contrat": "CDI",

        "travailleur_particulier": "apprenti",
        "duree_travail": "temps plein",
        "effectif": "> 11 salariés",
        "particularisme": "Navarre"
    },

    "profil": "",
    "date_redaction": "26/09/2018",
    "date_expiration": "26/09/2019",
    "redacteur": "cdtn",
    "source": "test",
    "commentaire": " autre info.. "
}

]

j'en reviens aux références juridiques: on retrouvera "article"+ "titre"+ "norme juridique". Il peut y a avoir plusieurs référence par réponses ( plusieurz articles de CCN, des articles de CCN ds article du cdt, une circulaire....) Comment le rédiger?

Pour la normalisation des contenus des tags, je vous propose de le faire au fil des retours des contributions quotidiennes ( à l'issue les tags devraient être assez complets)

La date d'expiration: si null = 1 an ( je ne sais pas comme on peut le faire).

revolunet commented 5 years ago

Ça me paraît tes bien merci

Je mettrai les données CCN a plat

lionelB commented 5 years ago

Suite à la discussion avec @jrduscher On peut intégrer des références au meme niveau que les tags

{
  "tags": {
  },
  "references": [{
  "url": "https://",
  "title": "Article du 26/09/2017"
  }],
}
jrduscher commented 5 years ago

Cool, merci!! je vous remontrerais ce que ça donne avec les 5 premières contributions

jrduscher commented 5 years ago

// Je rebascule ici la structure corrigée par Julien dans la #337.

[
  {
    "question":
      "Je suis ouvrier dans la Métallurgie, et je voudrais savoir comment procéder afin de vérifier, concernant mon salaire, si le minimum légal est respecté.",
    "reponse":
      "<p>Ce n’est pas la loi qui fixe les salaires minima. Seul le Smic (Salaire Minimum Interprofessionnel de Croissance) est fixé par décret  le 1er Janvier de chaque année.</p><p>Il convient de vous reporter à la convention collective de la Métallurgie.</p><p>Dans cette branche professionnelle, il existe tout d’abord des accords nationaux étendus, applicables à l’ensemble de celle-ci. Entre autres domaines figure la classification des emplois.</p><p>Si, dans votre département, il existe par ailleurs une convention collective départementale étendue, autrement dit applicable à l’ensemble du secteur de la Métallurgie du département, il convient également de s’y reporter au cas où elle pourrait éventuellement contenir des dispositions plus favorables.</p><p>Ceci afin de vérifier,  compte tenu de votre emploi réellement occupé, si la classification portée sur votre bulletin de salaire est bien conforme.</p><p>Dans un second temps, il convient de vous reporter à la grille des salaires correspondante. Dans la Métallurgie, les accords de salaires, pour les ouvriers, employés, techniciens et agents de maîtrise (OETAM) sont conclus au niveau départemental.  Ils fixent, en fonction de chaque classification, le salaire minimum correspondant.</p><p>Pour autant, si certains minima étaient devenus inférieurs au Smic, c’est ce dernier qui devra s’appliquer.</p><p>A noter qu’un tel accord est rendu obligatoire pour l’ensemble des entreprises entrant dans son champ d’application que lorsqu’il a été étendu, autrement dit lorsqu’il a fait l’objet d’un arrêté d’extension pris par le Ministère du Travail.</p>",
    "date_redaction": "27/11/2018",
    "date_expiration": "27/11/2019",
    "redacteur": [" "],
    "source": "test",
    "commentaire": " autre info.. ",
    "tags": {
      "themes": [45100],
      "theme": ["SMIC", "salaire minimum", "rémunération", "salaire"],
      "branche": "Métallurgie",
      "categorie": ["ETAM", "ouvriers"],
      "type_contrat": "CDI",
      "travailleur_particulier": "apprenti",
      "duree_travail": "temps plein",
      "effectif": "> 11 salariés",
      "particularisme": "Isère",
      "profil": ""
    },
    "references": [
      {
        "url": "",
        "titre": "Accords nationaux Métallurgie"
      },
      {
        "url": "",
        "titre":
          "conventions collectives départementales de la métallurgie"
      },
      {
        "url": "https://",
        "titre": "Article du 26/09/2017"
      },
      {
        "url": "https://",
        "titre": "Article du 26/09/2017"
      }
    ]
  }
]
revolunet commented 5 years ago

title est le seul champ en anglais... on met titre ici pour être cohérent avec le reste ?

jrduscher commented 5 years ago
jrduscher commented 5 years ago
[
  {
    "question":      "",
    "reponse": "",
    "date_redaction": "",
    "date_expiration": "",
    "redacteur": [" "],
    "source": "",
    "commentaire": "  ",
    "tags": {
      "themes": [],
      "theme": [],
      "branche": "",
      "categorie": [""],
      "type_contrat": "",
      "travailleur_particulier": "",
      "duree_travail": "",
      "effectif": "",
      "particularisme": "",
      "profil": ""
    },
    "references": [
      {
        "url": "",
        "titre": ""
      },
      {
        "url": "",
        "titre":
          ""
      },
      {
        "url": "https://",
        "titre": ""
      },
      {
        "url": "https://",
        "titre": ""
      }
    ]
  }
]
jrduscher commented 5 years ago
[
  {
    "question":      "", // reporter la question de l’utilisateur de manière succincte
    "reponse": "", // se référer à la charte rédactionnelle. exemple: ne pas mettre de référence juridique dans le texte.
    "date_redaction": "", //format JJ/MM/AAAA
    "date_expiration": "", // format JJ/MM/AAAA
    "redacteur": [" "],// nom prénom du rédacteur, uc et/ou ud
    "source": "", // permet de distinguer les faq des services des autres sources, variables possibles : DGT, DIRECCTE 
    "commentaire": "  ",// champ libre non destiné à une mise en ligne
    "tags": {
      "themes": [], // eposeidon modifié
      "theme": [], // mots clés en rapport avec le thème
      "branche": "", // IDCC
      "categorie": [""], //Ouvriers, employés, ouvriers/employés, ETAM, Ingénieurs cadres et autres
      "type_contrat": "", // acronyme possible
      "travailleur_particulier": "", // jeunes travailleurs, 
      "duree_travail": "",
      "effectif": "",
      "particularisme": "",
      "profil": ""
    },
    "references": [
      {
        "url": "",
        "titre": ""
      },
      {
        "url": "",
        "titre":
          ""
      },
      {
        "url": "https://",
        "titre": ""
      },
      {
        "url": "https://",
        "titre": ""
      }
    ]
  }
]
jrduscher commented 5 years ago

nouvelle passe: nécessite nouvelle extraction. mise au point sur les possibilités d’harmonisation, ce qui doit être fait niveau métier, ce qui peut être proposé niveau technique: prévoir un petit temps.