Méthode : À partir de l'outil "Les tricoteuses" d'Emmanuel Raviart, on obtient l'ensemble des textes (i.e. dispositif et exposé sommaire) des amendements se référant au PLFSS 2020-2021.

Code : On importe le fichier précédent et on le range dans un tableau dont on peut voir les 5 premières lignes ci-dessous:

import pandas as pd
amdts = pd.read_csv('https://raw.githubusercontent.com/leximpact/donnees-extraites-assemblee/main/textes_amendements_nouveaux_articles_plfss_2020-2021.csv')
amdts.head(5)

#On regroupe dans un même texte chaque dispositif et son exposé sommaire
amdts['texte'] = amdts['dispositif'] + amdts['exposeSommaire'] 

print("Nous avons alors un nombre total de : ", len(amdts), "amendements")
texteLegislatifUid uid avantAApres dispositif exposeSommaire
0 PRJLANR5L15B2296 AMANR5L15PO420120B2296P0D1N000001 A I. – Après l’alinéa 13, insérer l’alinéa suiv... La mise en place d’un accord d’intéressement d...
1 PRJLANR5L15B2296 AMANR5L15PO420120B2296P0D1N000002 Apres À la première phrase du premier alinéa de l’ar... L’article L 531‑2 du Code de la Sécurité Socia...
2 PRJLANR5L15B2296 AMANR5L15PO420120B2296P0D1N000005 A Compléter l’alinéa 17 par la phrase suivante :... S’il est louable d’expérimenter des dispositif...
3 PRJLANR5L15B2296 AMANR5L15PO420120B2296P0D1N000008 A Après l’alinéa 8, insérer les cinq alinéas sui... Cet amendement permet d’amplifier la portée de...
4 PRJLANR5L15B2296 AMANR5L15PO420120B2296P0D1N000010 Apres Le premier alinéa de l’article L. 521‑1 du cod... Pendant plus de cinquante ans, notre politique...
Nous avons alors un nombre total de :  4797 amendements

Méthode : Nous allons ensuite appliquer des méthodes de Natural Language Processing pour pouvoir étudier ces textes. Le NLP est la science de l'analyse de texte. Pour pouvoir faire des opérations mathématiques sur le texte, il faut d'abord le "pré-processer" de la façon suivante:

  • tokenization : séparer en mots distincts dits TOKENS
  • part-of-speech tagging : attribuer à chaque mot son type (nom, verbe, etc...)
  • lemmatization : réduire chaque mot à sa racine. Cela permet de traiter comme un seul mot toutes les formes conjuguées d'un verbe, ou un mot et son pluriel.
  • casing and punctuation : passer tous les mots en minuscule et retirer toute ponctuation
  • stop-word removal : supprimer les mots inutiles ('le', 'la', 'les', 'un', 'des',...)
!python3 -m spacy download fr_core_news_sm > /dev/null

Code :

#( Casing: Est-ce vraiment utile ? Est-ce qu'on ne va pas perdre les Acronymes de vue ?)
amdts_clean = []
for amdt in lemmatized_amdts:
    amdts_clean.append([ word.lower() for word in amdt if word.isalpha()])
print(amdts_clean[4])
print(len(amdts_clean))
['le', 'premier', 'alinéa', 'de', 'article', 'de', 'code', 'de', 'le', 'sécurité', 'social', 'être', 'compléter', 'par', 'un', 'phrase', 'ainsi', 'rédiger', 'lui', 'être', 'universel', 'pendant', 'plus', 'de', 'cinquante', 'an', 'notre', 'politique', 'familial', 'avoir', 'reposer', 'sur', 'le', 'principe', 'de', 'universalité', 'cela', 'signifier', 'lui', 'adresser', 'à', 'tout', 'le', 'français', 'sans', 'distinction', 'social', 'lui', 'reposer', 'sur', 'idée', 'que', 'chaque', 'enfant', 'à', 'naître', 'être', 'un', 'chance', 'et', 'un', 'richesse', 'pour', 'le', 'france', 'pour', 'son', 'avenir', 'quel', 'que', 'être', 'le', 'ressource', 'dont', 'disposer', 'le', 'parent', 'pour', 'mettre', 'en', 'place', 'ce', 'principe', 'universalité', 'le', 'politique', 'familial', 'appeler', 'de', 'outil', 'dire', 'de', 'redistribution', 'horizontal', 'être', 'à', 'dire', 'un', 'mécanisme', 'de', 'solidarité', 'de', 'famille', 'sans', 'enfant', 'envers', 'le', 'famille', 'avec', 'enfant', 'pour', 'que', 'quel', 'que', 'être', 'le', 'revenu', 'de', 'parent', 'le', 'naissance', 'un', 'enfant', 'avoir', 'pas', 'pour', 'effet', 'de', 'porter', 'atteinte', 'à', 'leur', 'niveau', 'de', 'vie', 'or', 'ce', 'principe', 'universalité', 'avoir', 'être', 'mettre', 'à', 'mal', 'sous', 'le', 'précédent', 'quinquennat', 'notamment', 'à', 'travers', 'le', 'modulation', 'de', 'allocation', 'familial', 'et', 'le', 'baisse', 'successif', 'de', 'quotient', 'familial', 'faire', 'ainsi', 'de', 'le', 'politique', 'familial', 'un', 'politique', 'social', 'comme', 'le', 'autre', 'le', 'loi', 'de', 'financement', 'de', 'le', 'sécurité', 'social', 'pour', 'avoir', 'choisir', 'de', 'ne', 'pas', 'revenir', 'sur', 'ce', 'modulation', 'de', 'allocation', 'familial', 'qui', 'avoir', 'pour', 'conséquence', 'principal', 'le', 'baisse', 'de', 'le', 'natalité', 'dans', 'notre', 'pays', 'aussi', 'le', 'présent', 'amendement', 'vise', 'à', 'réintroduir', 'ce', 'principe', 'universalité', 'base', 'même', 'de', 'le', 'politique', 'familial', 'français', 'envier', 'par', 'tant', 'de', 'notre', 'voisin']
4797

Pour choisir nos mots inutiles, on décide de faire une liste à partir de trois sources:

  • le package python nltk
  • le package python spacy
  • et notre propore fichier Excel que nous complétons avec les mots qui nous semblent inintéressants.

Ce fichier Excel se situe ici: https://github.com/leximpact/etudes-amendements/blob/main/notebook/Added_stop_words.csv

Output : On va ensuite sauvegarder ces amendements "pré-processés" dans trois fichiers, dont deux en '.csv', avec deux formats différents. Pour ces deux-là, chaque ligne représentera un amendement, mais:

Ces données sont consultables directement, mais sont quelque peu indigestes. Le troisième format d'enregistrement (avec pickle) n'est pas consultable hors code. Ces fichiers nous serviront surtout de base d'import pour la suite des analyses.

Limites : Une question se pose ici: est-ce que l'on veut supprimer les lignes en double (i.e. les amendements qui ont exactement les mêmes tokens) ? Cela permettrait de ne pas donner trop d'importance à un même amendement déposé plusieurs fois, mais on risque aussi de ne pas voir des amendements réellement différents mais qui traitent d'un même sujet. Pour l'instant le choix a été fait de ne pas supprimer les doublons. Cela peut se changer en un clic sur le code ci-dessous.

!mkdir -p data_csv

Input : Pour la suite des analyses, on charge directement le fichier amdts_list.pickle, qui contient nos amendements "mis en forme"

Méthode : On commence par regarder les mots les plus fréquents dans l'ensemble du corpus (i.e. l'ensemble des mots des amendements). Le script ci-dessous va nous permettre d'extraire les mots les plus importants et le nombre de fois où ils sont cités. On décide d'extraire les N mots les plus fréquents. Vous pouvez changer ce nombre directement dans le code ci-dessous, et exécuter la cellule (run) pour générer automatiquement un fichier .csv avec ces mots et leur nombre total d'occurrences par amendement.

Les fichiers ainsi générés seront disponibles ici: https://github.com/leximpact/etudes-amendements/tree/main/notebook/data_csv/ et s'appelleront : most_common N words_per_amdt.csv

Code :

Méthode : Pour plus de lisibilité, on met ces données sous forme de graphique. On va d'abord chercher LE mot le plus fréquent dans chaque amendement: ce sera le MOT-CLEF de cet amendement. Ensuite on regarde quels sont les Mots-clefs les plus fréquents. Ici on décide de regarder les N mots-clefs qui reviennent le plus souvent. Comme précédemment, vous pouvez changer la valeur de N dans le code ci-dessous, et exécuter la cellule: cela génèrera automatiquement un fichier .png (dans le dossier https://github.com/leximpact/etudes-amendements/tree/main/notebook/graphs).

Code :

N = 30 # À modifier ici

# Calculs
from collections import Counter
mots_clefs = [ words[i][0] for i in range(len(words))]
bow = Counter(mots_clefs)
df = pd.DataFrame( bow.most_common(N) )
df.columns = ["Word", 'Count']

# Mise en forme graphique
from matplotlib import pyplot as plt
import seaborn as sns
plt.figure(figsize = (7,5), dpi = 300, facecolor = 'white')
sns.barplot(data = df, x = 'Count', y = 'Word')
#Styling
sns.set_context('paper', font_scale = 1, rc = {'font.size': 10})
sns.despine(top = True, right = True)
plt.rc('axes', labelsize = 12) 
plt.rc('axes', titlesize = 16) 
plt.xlabel("Nombre d'amendements dont c'est le mot-clef")
plt.ylabel("Mot-clefs les plus fréquents")
plt.title("Visualisation des {N} mots-clefs les plus fréquents dans les amendements".format(N=N))
#Save and show
plt.savefig('graphs/{N}_Mots_clefs_les_plus_fréquents.png'.format(N=N), bbox_inches = 'tight')
plt.show()
<Figure size 2100x1500 with 0 Axes>
<AxesSubplot:xlabel='Count', ylabel='Word'>
Text(0.5, 0, "Nombre d'amendements dont c'est le mot-clef")
Text(0, 0.5, 'Mot-clefs les plus fréquents')
Text(0.5, 1.0, 'Visualisation des 30 mots-clefs les plus fréquents dans les amendements')

Méthode : On fait un nuage de mots, qui représente les expressions (de 1 à 2 mots) les plus fréquentes avec une taille proportionnelle à leur occurrence dans le corpus d'amendements. On a ici une représentation des TOKENS, donc certains mots sont réduits à leur racine, d'où leur orthographe parfois... étonnante.

Ce nuage de mots est disponible ici : https://github.com/leximpact/etudes-amendements/tree/main/notebook/graphs/Nuage_de_mots_PLFSS.png

from IPython.display import Image
Image("graphs/Nuage_de_mots_PLFSS.png")

Méthode : Puisque tous les amendements traitent de sujets similaires, on va s'intéresser à leur spécificité par rapport aux autres amendements. Cela permettra de voir ceux qui ont un but ou un domaine d'application spécifique .

Pour cela on utilise la méthode "Term Frequency - Inverse Document Frequency", qui consiste à regarder la fréquence d'un mot dans un amendement par rapport à la fréquence de ce mot dans l'ensemble du corpus (i.e. tous les amendements). Ces mots ne seront pas les plus fréquents, mais les plus importants (relativement) .

PS: Nous sauvegardons ces mots importants dans un fichier .csv, qui n'a vocation à être consulté uniquement si l'on veut se plonger dans les détails. Ce fichier est ici : https://github.com/leximpact/etudes-amendements/tree/main/notebook/data_csv/mots_importants_pour_chaque_amdt.csv

Code :

Méthode : Afin d'avoir un résultat lisible, nous génénerons un fichier .csv qui contient, pour chaque amendement, les 3 mots les plus fréquents et les 3 mots les importants. Cette 'combinaison' de 6 mots sera notre 'description minimale essentielle' d'un amendement.

Pour l'analyse, nous regroupons les amendements qui ont la même description essentielle (i.e. sont décrits par la même combinaison de 6 mots), et nous classons les combinaisons par ordre décroissant : https://github.com/leximpact/etudes-amendements/tree/main/notebook/data_csv/comparatif_3_mots_specifiques_et_relatifs_pour_chaque_amdts.csv

Un résumé des 20 premières lignes de ce fichier est disponible ici :

N = 3

#Load and transform data
import pandas as pd
import pickle
del(freq)
freq = pickle.load(open("data_csv/freq.pickle", "rb"))
#print(freq.head())
del(df)
df = pd.read_csv('data_csv/mots_importants_pour_chaque_amdt.csv', low_memory=False)
#print(df.head())
df2 = []
for i in range(len(df)):
    mots_spec = []
    mots_rel = []
    for j in range(N):
        if freq.iloc[i][j] != None :
            mots_spec.append( freq.iloc[i][j][0] )
            mots_rel.append( df.iloc[i][j+1] )
    df2.append( mots_spec + mots_rel ) # N mots relatifs

#Mise en forme 
df2 = pd.DataFrame(df2)
spec_index = ['Mot Fréquent{i}'.format(i = j+1) for j in range(N)]
rel_index = ['Mot Important{i}'.format(i = j+1) for j in range(N)]
df2.columns = [ spec_index + rel_index]
df2.index = corpus_index  
#print(df2.head())

#Pour plus de lisibilité, on regroupe les cas similaires
final = df2.value_counts()
print("Descriptions minimales essentielles les plus fréquentes, et le nombre d'amendements concernés: \n \n", final.head(20))

#Sauvegarde dans un fichier csv
final.to_csv('data_csv/comparatif_{nb}_mots_specifiques_et_relatifs_pour_chaque_amdts.csv'.format(nb = N))
Descriptions minimales essentielles les plus fréquentes, et le nombre d'amendements concernés: 
 
 (Mot Fréquent1,)  (Mot Fréquent2,)  (Mot Fréquent3,)  (Mot Important1,)  (Mot Important2,)  (Mot Important3,)
médicament        pourcent          taux              santé              devoir             permettre            25
professionnel     article           santé             devoir             vise               mentionner           23
convention        article           actuel            permettre          supprimer          an                   19
degré             charge            article           pouvoir            santé              vise                 13
offre             spécialité        soin              pouvoir            insérer            mettre               13
travail           article           employeur         sécurité           vise               insérer              13
dépense           soin              ville             code               pouvoir            permettre            12
santé             article           établissement     pouvoir            vise               faire                12
famille           familial          prestation        code               devoir             insérer              11
article           employeur         code              sécurité           vise               supprimer            11
date              degré             décembre          vise               permettre          financement          10
supprimer         rédaction         assemblée         supprimer          national           rédaction            10
projet            milliard          aide              article            pouvoir            permettre            10
familial          allocation        naissance         devoir             année              conséquence          10
répartition       médicament        million           droit              maladie            général               9
taux              article           cotisation        droit              général            année                 9
bénéficiaire      droit             couvertur         sécurité           rédiger            prévoir               9
prix              médicament        degré             article            code               pouvoir               9
médicament        santé             mois              social             vise               permettre             9
financement       million           article           santé              devoir             vise                  8
dtype: int64

CONCLUSION :

Après analyse, il semble que les catégories les plus importantes d'amendements parlent de :

  • 1 : financement de la santé et de la sécurité sociale
  • 2 : des médicaments et de leur accessibilité
  • 3 : de l'investissement public dans la santé
  • 4 : ??
  • 5 : de la répartition des médicaments
  • ...

Input :

Méthode : Afin d'étudier les TOPICS (domaines ou sujets) d'intérêt du corpus, nous allons effectuer une LDA (Latent Dirichlet Allocation). Ce modèle génératif probabiliste permet de regrouper des observations en ensembles définis par des similarités de données. Plus d'infos: https://en.wikipedia.org/wiki/Latent_Dirichlet_allocation

L'idée est de dire que chaque amendement est un mélange d'un petit nombre de sujets (topics) et que chaque mot de l'amendement a une probabilité plus ou moins forte d'appartenir à chacun des sujets. En fonction de ses mots, chaque amendement sera ensuite classé parmis les sujets que nous aurons définis.

Par exemple, l'amendement 18 traitera à 5% du Topic 1, 80% du Topic 3 et 15% du Topic 8.

Code : Nous commençons par rechercher le nombre de Topics optimal, c'est-à-dire le nombre de sujets différents qui permettre de classifier au mieux les amendements.

 
model.best_params_
{'learning_decay': 0.7,
 'learning_method': 'online',
 'max_iter': 20,
 'n_components': 5,
 'n_jobs': -1}

Méthode : Une fois le nombre optimal de topics trouvé, nous allons étudier la répartition des différents amendements de notre corpus parmi ces topics.

Méthode : Nous allons ensuite afficher les mots caractéristiques de chacun de ces topics. Nous décidons d'en afficher 20, mais vous pouvez changer cette valeur dans le code ci-dessous.

Le graphe issu de cette analyse est enregistré automatiquement ici: https://github.com/leximpact/etudes-amendements/tree/main/notebook/graphs/analyse_topics.png

from IPython.core.display import display, HTML
n_top_words = 20
for n_topics in [3, 4, 5, 7, 10, 15]:
#for n_topics in [3, 20]:
    # Init the Model
    lda_model = LatentDirichletAllocation(
        n_components=n_topics, # Number of topics
        max_iter=10, # Max learning iterations
        learning_decay=0.7, # We find it by gridsearch
        learning_method='online',   
        batch_size=128, # n docs in each learning iter
        n_jobs = -1,# Use all available CPUs
    )
    # On entraîne le modèle sur nos datas
    display(HTML(f'<h3>Entraînement avec {n_topics} thématiques</h3>'))
    lda_model.fit(data_vectorized) 
    use_model(lda_model, n_topics, n_top_words)

Entraînement avec 3 thématiques

LatentDirichletAllocation(learning_method='online', n_components=3, n_jobs=-1)
Répartition des sujets parmis les X premiers amendements :
Topic0 Topic1 Topic2 dominant_topic
Doc0 0.000000 0.000000 0.990000 2
Doc1 0.000000 0.940000 0.060000 1
On observe une répartition décroissante des amendements parmi les topics :
Topic Num Num Documents Mots qui ressortent
0 0 1875 santé, article, médicament, pouvoir, public, charge, médical, patient, degré, maladie, prise, soin, prix, permettre, sécurité, social, code, produit, assurance, vise
1 1 1488 article, santé, social, établissement, soin, financement, sécurité, pouvoir, prestation, code, famille, allocation, degré, objectif, dépense, autonomie, faire, territoire, national, public
2 2 1434 social, article, sécurité, code, pourcent, cotisation, entreprise, devoir, taux, euro, exonération, contribution, organisme, perte, général, recette, degré, mentionner, droit, année
3 topic, soit 3 x 1

Entraînement avec 4 thématiques

LatentDirichletAllocation(learning_method='online', n_components=4, n_jobs=-1)
Répartition des sujets parmis les X premiers amendements :
Topic0 Topic1 Topic2 Topic3 dominant_topic
Doc0 0.000000 0.000000 0.990000 0.000000 2
Doc1 0.000000 0.080000 0.920000 0.000000 2
On observe une répartition décroissante des amendements parmi les topics :
Topic Num Num Documents Mots qui ressortent
0 1 1741 santé, article, établissement, soin, charge, pouvoir, financement, social, public, prise, maladie, code, service, permettre, assurance, professionnel, objectif, sécurité, médecin, activité
1 2 1635 article, social, sécurité, code, degré, droit, cotisation, devoir, exonération, supprimer, mentionner, prestation, pouvoir, prévoir, entreprise, organisme, travail, dispositif, salarié, famille
2 3 1011 médicament, article, santé, prix, produit, médical, public, pouvoir, degré, sécurité, patient, devoir, vise, rédiger, cas, dispositif, code, supprimer, an, permettre
3 0 410 pourcent, euro, social, taux, sécurité, contribution, article, million, perte, année, taxe, milliard, entreprise, régime, recette, activité, code, professionnel, cotisation, impôt
4 topic, soit 3 x 2

Entraînement avec 5 thématiques

LatentDirichletAllocation(learning_method='online', n_components=5, n_jobs=-1)
Répartition des sujets parmis les X premiers amendements :
Topic0 Topic1 Topic2 Topic3 Topic4 dominant_topic
Doc0 0.000000 0.000000 0.090000 0.910000 0.000000 3
Doc1 0.000000 0.010000 0.980000 0.000000 0.000000 2
On observe une répartition décroissante des amendements parmi les topics :
Topic Num Num Documents Mots qui ressortent
0 2 1409 social, article, sécurité, supprimer, prestation, degré, droit, famille, pouvoir, prévoir, enfant, familial, faire, allocation, branche, code, numéro, disposition, vise, état
1 1 1327 santé, établissement, soin, article, financement, public, social, service, pouvoir, objectif, patient, dépense, permettre, charge, territoire, prise, activité, expérimentation, code, national
2 0 707 médicament, santé, prix, produit, article, public, médical, pouvoir, sécurité, patient, degré, dispositif, code, rédiger, an, recherche, permettre, vise, insérer, développement
3 4 686 article, code, charge, professionnel, degré, social, travail, sécurité, santé, dispositif, maladie, pouvoir, cotisation, médecin, assurance, activité, devoir, régime, femme, exonération
4 3 668 social, pourcent, entreprise, article, euro, contribution, code, sécurité, taux, perte, devoir, général, impôt, année, recette, cotisation, concurrence, compenser, organisme, salarié
5 topic, soit 3 x 2

Entraînement avec 7 thématiques

LatentDirichletAllocation(learning_method='online', n_components=7, n_jobs=-1)
Répartition des sujets parmis les X premiers amendements :
Topic0 Topic1 Topic2 Topic3 Topic4 Topic5 Topic6 dominant_topic
Doc0 0.000000 0.000000 0.000000 0.000000 0.000000 0.990000 0.000000 5
Doc1 0.000000 0.700000 0.200000 0.000000 0.000000 0.100000 0.000000 1
On observe une répartition décroissante des amendements parmi les topics :
Topic Num Num Documents Mots qui ressortent
0 5 1194 social, article, sécurité, code, pourcent, cotisation, euro, entreprise, exonération, devoir, taux, contribution, recette, perte, général, année, mentionner, organisme, impôt, droit
1 1 1089 santé, établissement, financement, article, social, soin, public, objectif, dépense, autonomie, service, sécurité, aide, projet, hospitalier, national, activité, naissance, allocation, code
2 2 915 article, social, pouvoir, sécurité, droit, prestation, prévoir, code, délai, numéro, professionnel, disposition, vise, organisme, national, rédiger, supprimer, travail, maladie, fonds
3 4 495 article, pouvoir, expérimentation, médecin, dispositif, accès, santé, médical, zone, supprimer, permettre, durée, charge, maladie, famille, soin, état, déjà, devoir, code
4 0 422 charge, santé, article, prise, femme, patient, soin, médical, pouvoir, urgence, maladie, maison, assurance, consultation, sage, réaliser, permettre, faire, téléconsultation, pratique
5 6 421 santé, prix, article, médicament, degré, public, sécurité, produit, code, social, professionnel, recherche, payer, assurance, convention, tiers, développement, maladie, médical, cas
6 3 261 médicament, pourcent, france, public, produit, santé, français, pouvoir, mois, pharmaceutique, territoire, faire, stock, sécurité, marché, besoin, taxe, patient, dernier, important
7 topic, soit 3 x 3

Entraînement avec 10 thématiques

LatentDirichletAllocation(learning_method='online', n_jobs=-1)
Répartition des sujets parmis les X premiers amendements :
Topic0 Topic1 Topic2 Topic3 Topic4 Topic5 Topic6 Topic7 Topic8 Topic9 dominant_topic
Doc0 0.000000 0.000000 0.000000 0.840000 0.000000 0.000000 0.000000 0.160000 0.000000 0.000000 3
Doc1 0.040000 0.000000 0.000000 0.000000 0.100000 0.310000 0.000000 0.500000 0.000000 0.040000 7
On observe une répartition décroissante des amendements parmi les topics :
Topic Num Num Documents Mots qui ressortent
0 4 838 article, santé, charge, maladie, pouvoir, assurance, prise, produit, dispositif, accès, permettre, médical, cas, complémentaire, information, délai, professionnel, état, prestation, sécurité
1 7 821 article, degré, social, pourcent, code, euro, taux, montant, prévoir, substituer, année, sécurité, revenu, supprimer, conséquence, date, pouvoir, mentionner, remplacer, mois
2 8 579 santé, article, soin, social, code, médecin, professionnel, sécurité, femme, établissement, public, libéral, expérimentation, médical, régional, degré, service, prix, territoire, pouvoir
3 6 529 social, sécurité, article, cotisation, régime, recette, pourcent, branche, perte, euro, organisme, contribution, devoir, faire, crise, milliard, supprimer, exonération, taux, état
4 1 467 établissement, patient, santé, soin, public, devoir, projet, hospitalier, financement, service, pouvoir, urgence, traitement, dotation, qualité, acteur, prise, faire, article, charge
5 3 442 article, entreprise, code, social, exonération, mentionner, cotisation, travail, dispositif, employeur, salarié, devoir, sécurité, général, droit, investissement, impôt, charge, concurrence, emploi
6 9 418 article, autonomie, pouvoir, supprimer, enfant, famille, charge, médical, handicap, parent, besoin, jour, durée, âge, structure, permettre, activité, maladie, proposer, domicile
7 0 356 santé, financement, activité, établissement, ressource, hôpital, objectif, public, année, territoire, produit, article, national, france, psychiatrie, réforme, an, titre, dépense, pourcent
8 2 196 médicament, entreprise, pourcent, sécurité, pharmaceutique, million, public, pouvoir, taux, vente, thérapeutique, contribution, année, france, euro, perte, chiffre, stock, article, affaire
9 5 151 allocation, naissance, familial, prestation, enfant, social, fraude, famille, droit, contre, bénéficiaire, lutte, politique, aeeh, article, place, mode, aah, faire, dépense
10 topic, soit 3 x 4

Entraînement avec 15 thématiques

LatentDirichletAllocation(learning_method='online', n_components=15, n_jobs=-1)
Répartition des sujets parmis les X premiers amendements :
Topic0 Topic1 Topic2 Topic3 Topic4 Topic5 Topic6 Topic7 Topic8 Topic9 Topic10 Topic11 Topic12 Topic13 Topic14 dominant_topic
Doc0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.990000 0.000000 0.000000 0.000000 11
Doc1 0.000000 0.040000 0.450000 0.030000 0.000000 0.000000 0.040000 0.040000 0.000000 0.020000 0.000000 0.080000 0.000000 0.290000 0.000000 2
On observe une répartition décroissante des amendements parmi les topics :
Topic Num Num Documents Mots qui ressortent
0 13 705 article, social, degré, code, sécurité, mentionner, prévoir, prestation, rédiger, décret, numéro, application, organisme, pouvoir, disposition, date, service, titre, relatif, janvier
1 1 576 social, sécurité, article, euro, pourcent, exonération, cotisation, supprimer, milliard, recette, crise, branche, faire, entreprise, emploi, état, perte, année, compensation, charge
2 4 499 santé, charge, prise, médical, maladie, expérimentation, soin, patient, article, assurance, professionnel, pouvoir, permettre, état, complémentaire, dispositif, faire, réaliser, pratique, an
3 10 444 santé, établissement, dépense, public, soin, article, hôpital, hospitalier, financement, objectif, ville, ressource, régional, ondam, national, projet, montant, service, sécurité, assurance
4 11 434 article, code, cotisation, social, devoir, entreprise, sécurité, droit, organisme, général, activité, concurrence, salarié, employeur, compenser, mentionner, impôt, perte, exonération, professionnel
5 7 416 médecin, territoire, santé, article, pouvoir, soin, zone, devoir, professionnel, accès, mois, libéral, public, offre, liberté, besoin, territorial, faire, dispositif, nouveau
6 3 379 médicament, santé, produit, prix, article, pouvoir, public, sécurité, patient, entreprise, information, dispositif, thérapeutique, devoir, accès, traitement, mois, marché, conséquence, pharmaceutique
7 9 372 financement, autonomie, établissement, degré, acteur, activité, santé, pouvoir, vise, réforme, mission, article, aide, national, besoin, proposer, objectif, insérer, domicile, prendre
8 2 273 familial, famille, allocation, enfant, prestation, naissance, pourcent, article, euro, pension, droit, bénéficiaire, retraite, prime, parent, handicap, dépense, faire, supprimer, revalorisation
9 6 236 femme, pouvoir, sage, cas, travail, patient, grossesse, substituer, arrêt, maternité, jour, rédactionnel, possibilité, durée, prescription, accouchement, permettre, insérer, devoir, traitement
10 5 171 contribution, pourcent, produit, fonds, degré, maladie, indemnisation, français, titre, compter, article, victime, travailleur, européen, professionnel, transport, travail, france, code, demandeur
11 8 112 prix, an, médicament, révision, social, sécurité, service, cas, dotation, code, degré, bout, inférieur, indication, ssiad, géographique, niveau, coefficient, extension, article
12 0 77 pourcent, taux, million, médicament, contribution, euro, chiffre, année, affaire, entreprise, perte, sécurité, taxe, répartition, crise, ensemble, marge, pharmaceutique, social, rémunération
13 14 65 public, investissement, recherche, développement, euro, part, prix, prendre, montant, dette, financement, revenu, médicament, ehpad, impôt, définition, social, lucratif, priver, aide
14 12 38 juge, vin, isolement, contention, détention, alcool, taxe, boisson, vise, faire, article, aromatiser, base, carte, jeune, presse, règlement, judiciaire, conséquence, mainlevée
15 topic, soit 3 x 5

Analyse des thématiques

  • Pour le chiffre en début de ligne est le nombre d'amendements de cette thématique. C'est trié sur ce nombre.

  • à supprimer avant analyse car lié au contexte des amendements : supprimer, article, social, sécurité, numéro, code ?

  • L'expérimentation ressort souvent mais c'est peut-être lié au fait que c'est un des contournements de l'article 40 ?

  • Il serait intéressant d'avoir le regard de personnes connaissant le texte.

  • Pour info, voici les principaux thèmes que l'on pourrait vouloir retrouver : https://www.vivamagazine.fr/plfss-pour-2021-ce-quil-faut-en-retenir/ En supposant que les amendements soient répartis sur toutes les thématiques.

Pour 3 thèmes

Après analyse, on distingue 3 topics. Il semblerait que ces topics soient:

Topic 1 : Les exonérations de cotisations sociales

Topic 2 : Le développement de médicaments et la recherche thérapeutique

Topic 3 : Le financement de la santé

Pour 4 thèmes

  • Financement des établissements : santé, article, établissement, soin, charge, pouvoir, financement, social, public, prise, maladie, code, service, permettre, assurance, professionnel, objectif, sécurité, médecin, activité
  • Cotisation, prestation, exonération droit et devoir : article, social, sécurité, code, degré, droit, cotisation, devoir, exonération, supprimer, mentionner, prestation, pouvoir, prévoir, entreprise, organisme, travail, dispositif, salarié, famille
  • Prix médicament : médicament, article, santé, prix , produit, médical, public, pouvoir, degré, sécurité, patient, devoir, vise, rédiger, cas, dispositif, code, supprimer, an, permettre
  • Financement ? pourcent, euro, social, taux, sécurité, contribution, article, million, perte, année, taxe, milliard, entreprise, régime, recette, activité, code, professionnel, cotisation, impôt

Pour 5 thèmes

  • 1 409 ???  social, article, sécurité, supprimer, prestation, degré, droit, famille, pouvoir, prévoir, enfant, familial, faire, allocation, branche, code, numéro, disposition, vise, état - 1 327 Financement ?  : santé, établissement, soin, article, financement, public, social, service, pouvoir, objectif, patient, dépense, permettre, charge, territoire, prise, activité, expérimentation, code, national
  • 707 Prix médicaments : médicament, santé, prix, produit, article, public, médical, pouvoir, sécurité, patient, degré, dispositif, code, rédiger, an, recherche, permettre, vise, insérer, développement -  686 ??? article, code, charge, professionnel, degré, social, travail, sécurité, santé, dispositif, maladie, pouvoir, cotisation, médecin, assurance, activité, devoir, régime, femme, exonération - 668 Contribution des entreprises : social, pourcent, entreprise, article, euro, contribution, code, sécurité, taux, perte, devoir, général, impôt, année, recette, cotisation, concurrence, compenser, organisme, salarié

Pour 7 thèmes

  • 1 194 entreprise, exonération  social, article, sécurité, code, pourcent, cotisation, euro, entreprise, exonération, devoir, taux, contribution, recette, perte, général, année, mentionner, organisme, impôt, droit
  • 1 089 Financement ?  :  santé, établissement, financement, article, social, soin, public, objectif, dépense, autonomie, service, sécurité, aide, projet, hospitalier, national, activité, naissance, allocation, code
  • 915 droit, prestation : article, social, pouvoir, sécurité, droit, prestation, prévoir, code, délai, numéro, professionnel, disposition, vise, organisme, national, rédiger, supprimer, travail, maladie, fonds - 495 expérimentation :  article, pouvoir, expérimentation, médecin, dispositif, accès, santé, médical, zone, supprimer, permettre, durée, charge, maladie, famille, soin, état, déjà, devoir, code - 422 Accouchement à domicile ?  charge, santé, article, prise, femme, patient, soin, médical, pouvoir, urgence, maladie, maison, assurance, consultation, sage, réaliser, permettre, faire, téléconsultation, pratique - 421 Tiers payant :  santé, prix, article, médicament, degré, public, sécurité, produit, code, social, professionnel, recherche, payer, assurance, convention, tiers, développement, maladie, médical, cas - 261 Lien covid ? : médicament, pourcent, france, public, produit, santé, français, pouvoir, mois, pharmaceutique, territoire, faire, stock, sécurité, marché, besoin, taxe, patient, dernier, important

Pour 10 thèmes

  • 838 complémentaire : article, santé, charge, maladie, pouvoir, assurance, prise, produit, dispositif, accès, permettre, médical, cas, complémentaire, information, délai, professionnel, état, prestation, sécurité - 821 Financement : article, degré, social, pourcent, code, euro, taux, montant, prévoir, substituer, année, sécurité, revenu, supprimer, conséquence, date, pouvoir, mentionner, remplacer, mois - 579 Médecine de ville :  santé, article, soin, social, code, médecin, professionnel, sécurité, femme, établissement, public, libéral, expérimentation, médical, régional, degré, service, prix, territoire, pouvoir - 529 Financement covid : social, sécurité, article, cotisation, régime, recette, pourcent, branche, perte, euro, organisme, contribution, devoir, faire, crise, milliard, supprimer, exonération, taux, état - 467 Financement hôpitaux :  établissement, patient, santé, soin, public, devoir, projet, hospitalier, financement, service, pouvoir, urgence, traitement, dotation, qualité, acteur, prise, faire, article, charge - 442 Exonérations : article, entreprise, code, social, exonération, mentionner, cotisation, travail, dispositif, employeur, salarié, devoir, sécurité, général, droit, investissement, impôt, charge, concurrence, emploi - 418 Dépendance : 5° branche :  article, autonomie, pouvoir, supprimer, enfant, famille, charge, médical, handicap, parent, besoin, jour, durée, âge, structure, permettre, activité, maladie, proposer, domicile
  • 356 financement psychiatrie : santé, financement, activité, établissement, ressource, hôpital, objectif, public, année, territoire, produit, article, national, france, psychiatrie, réforme, an, titre, dépense, pourcent - 196 Industrie : médicament, entreprise, pourcent, sécurité, pharmaceutique, million, public, pouvoir, taux, vente, thérapeutique, contribution, année, france, euro, perte, chiffre, stock, article, affaire - 151 Les allocations : allocation, naissance, familial, prestation, enfant, social, fraude, famille, droit, contre, bénéficiaire, lutte, politique, aeeh, article, place, mode, aah, faire, dépense

Pour 15 thémes

  • 705 Legislatif : article, social, degré, code, sécurité, mentionner, prévoir, prestation, rédiger, décret, numéro, application, organisme, pouvoir, disposition, date, service, titre, relatif, janvier - 576 financement : social, sécurité, article, euro, pourcent, exonération, cotisation, supprimer, milliard, recette, crise, branche, faire, entreprise, emploi, état, perte, année, compensation, charge
  • 499 expérimentation :santé, charge, prise, médical, maladie, expérimentation, soin, patient, article, assurance, professionnel, pouvoir, permettre, état, complémentaire, dispositif, faire, réaliser, pratique, an
  • 444 Hopital : santé, établissement, dépense, public, soin, article, hôpital, hospitalier, financement, objectif, ville, ressource, régional, ondam, national, projet, montant, service, sécurité, assurance - 434 cotisation, social : article, code, cotisation, social, devoir, entreprise, sécurité, droit, organisme, général, activité, concurrence, salarié, employeur, compenser, mentionner, impôt, perte, exonération, professionnel - 416 médecin : médecin, territoire, santé, article, pouvoir, soin, zone, devoir, professionnel, accès, mois, libéral, public, offre, liberté, besoin, territorial, faire, dispositif, nouveau - 379 Médicament : médicament, santé, produit, prix, article, pouvoir, public, sécurité, patient, entreprise, information, dispositif, thérapeutique, devoir, accès, traitement, mois, marché, conséquence, pharmaceutique - 372 5° branche : financement, autonomie, établissement, degré, acteur, activité, santé, pouvoir, vise, réforme, mission, article, aide, national, besoin, proposer, objectif, insérer, domicile, prendre - 273 Allocations familliales : familial, famille, allocation, enfant, prestation, naissance, pourcent, article, euro, pension, droit, bénéficiaire, retraite, prime, parent, handicap, dépense, faire, supprimer, revalorisation - 236 les maisons de naissance : femme, pouvoir, sage, cas, travail, patient, grossesse, substituer, arrêt, maternité, jour, rédactionnel, possibilité, durée, prescription, accouchement, permettre, insérer, devoir, traitement - 171 indemnisation victimes : contribution, pourcent, produit, fonds, degré, maladie, indemnisation, français, titre, compter, article, victime, travailleur, européen, professionnel, transport, travail, france, code, demandeur
  • 112 Prix médicament : prix, an, médicament, révision, social, sécurité, service, cas, dotation, code, degré, bout, inférieur, indication, ssiad (services de soins infirmiers à domicile) , géographique, niveau, coefficient, extension, article - 77 COVID ? pourcent, taux, million, médicament, contribution, euro, chiffre, année, affaire, entreprise, perte, sécurité, taxe, répartition, crise, ensemble, marge, pharmaceutique, social, rémunération - 65 investissement, recherche, développement : public, investissement, recherche, développement, euro, part, prix, prendre, montant, dette, financement, revenu, médicament, ehpad, impôt, définition, social, lucratif, priver, aide - 38 Alcool : juge, vin, isolement, contention, détention, alcool, taxe, boisson, vise, faire, article, aromatiser, base, carte, jeune, presse, règlement, judiciaire, conséquence, mainlevée

La conclusion de cette analyse est à réaliser ensemble.