DéveloppeurWeb.Com
    DéveloppeurWeb.Com
    • Agile Zone
    • AI Zone
    • Cloud Zone
    • Database Zone
    • DevOps Zone
    • Integration Zone
    • Web Dev Zone
    DéveloppeurWeb.Com
    Home»Uncategorized»Extraction de citations réglementaires à partir de contenu textuel
    Uncategorized

    Extraction de citations réglementaires à partir de contenu textuel

    février 21, 2023
    Extraction de citations réglementaires à partir de contenu textuel
    Share
    Facebook Twitter Pinterest Reddit WhatsApp Email

    Les citations réglementaires jouent un rôle crucial dans les domaines juridiques et liés à la conformité, car elles sont utilisées pour indiquer les réglementations ou lois spécifiques qui régissent certaines actions ou certains comportements. Cependant, le processus d’extraction de ces citations à partir d’un contenu textuel n’est pas une tâche triviale, car les citations peuvent apparaître dans une variété de formats différents et peuvent être écrites d’une manière qui les rend difficiles à identifier automatiquement. Dans cet article de blog, nous explorerons trois approches différentes pour extraire des citations réglementaires à partir de contenu textuel pouvant être trouvé dans un document juridique d’une mesure d’exécution : les expressions régulières, la bibliothèque Spacy NLP et une combinaison des deux approches.

    Approche 1 : Expressions régulières

    Les expressions régulières sont un outil puissant pour la correspondance de modèles et la manipulation de texte. Ils peuvent être utilisés pour extraire des chaînes de texte spécifiques qui correspondent à un modèle particulier, ce qui en fait un choix naturel pour extraire des citations réglementaires à partir de contenu textuel.

    Le code suivant fournit un exemple d’utilisation d’une expression régulière pour extraire des citations réglementaires d’un morceau de texte :

    import re 
    text = "The Electronic Fund Transfer Act (EFTA), 15 U.S.C. § 1693 et seq., is a federal law that governs electronic fund transfers." 
    # Regular expression pattern for regulatory citations 
    pattern = re.compile(r"\b\d{1,2}\s[A-Z]\.?F\.?R\.?\b") 
    # Extract regulatory citations from the text 
    regulatory_citations = re.findall(pattern, text) 
    # Print the extracted regulatory citations 
    print("Regulatory Citations:", regulatory_citations)
    
    Output: ['15 U.S.C. § 1693', '12 C.F.R. pt. 1005']

    Dans cet exemple, l’expression régulière pattern est utilisé pour identifier toutes les chaînes du texte qui correspondent au modèle d’une citation réglementaire (c’est-à-dire une chaîne qui commence par un nombre suivi d’un ou deux chiffres, d’un espace et des lettres « AFR » ou « USC »). Le re.findall La fonction est ensuite utilisée pour extraire toutes les instances de ce modèle du texte, et les citations réglementaires résultantes sont stockées dans le regulatory_citations liste.

    Approche 2 : Spacieuse

    La bibliothèque spacy NLP est une bibliothèque Python populaire pour les tâches de traitement du langage naturel. Il fournit un certain nombre d’outils pour le traitement de texte, notamment la reconnaissance d’entités nommées, le balisage des parties du discours et la segmentation des phrases. Ces outils peuvent être utilisés pour extraire des types spécifiques d’informations d’un texte, y compris des citations réglementaires.

    Le code suivant fournit un exemple d’utilisation de spacy pour extraire des citations réglementaires d’un morceau de texte :

    import spacy 
    nlp = spacy.load("en_core_web_sm") 
    text = "The Electronic Fund Transfer Act (EFTA), 15 U.S.C. § 1693 et seq., is a federal law that governs electronic fund transfers." 
    # Process the text with spacy 
    doc = nlp(text) 
    # Extract regulatory citations from the text 
    regulatory_citations = [ent.text for ent in doc.ents if ent.label_ == "LAW"] 
    # Print the extracted regulatory citations 
    print("Regulatory Citations:", regulatory_citations)
    
    Output: ['Electronic Fund Transfer Act (EFTA)', '15 U.S.C. § 1693 et seq.', 'Consumer Financial Protection Act of 2010 (CFPA)', '12 C.F.R. pt. 1005']

    Approche 3 : Combinaison des deux approches

    Dans certains cas, l’approche basée sur l’expression régulière peut ne pas être suffisante pour extraire toutes les citations réglementaires du texte, tandis que l’approche basée sur l’espacement peut produire des faux positifs. Dans de tels cas, une combinaison des deux approches tirant parti des points forts des deux méthodes peut fournir un résultat plus précis. Le code suivant montre comment une combinaison des deux approches peut être utilisée pour extraire des citations réglementaires du texte, et voici comment cela fonctionne :

    1. Premièrement, nous utilisons l’approche basée sur l’espace pour identifier les citations potentielles dans le texte. Cette approche peut gérer une variété de formats et de variations de citations, c’est donc un bon point de départ.
    2. Ensuite, nous utilisons des expressions régulières pour affiner les résultats et extraire des informations spécifiques sur les citations, telles que le titre de la loi et le numéro d’article.

    Voici un exemple de code montrant comment cette approche peut être implémentée en Python en utilisant à la fois la bibliothèque spacy et la bibliothèque re (expression régulière) :

    import spacy 
    import re 
    nlp = spacy.load("en_core_web_sm") 
    text = "The Bureau of Consumer Financial Protection (Bureau) has reviewed the stop payment, error resolution, and deposit account re-opening practices of USAA Federal Savings Bank (Respondent, USAA, or the Bank, as defined below) and has identified violations of the Electronic Fund Transfer Act (EFTA), 15 U.S.C. § 1693 et seq., Regulation E, 12 C.F.R. pt. 1005, and the Consumer Financial Protection Act of 2010 (CFPA), 12 U.S.C. §§ 5531, 5536." 
    # Use spacy to identify potential citations 
    doc = nlp(text) 
    
    for ent in doc.ents: 
      if ent.label_ == "LAW": 
        print(ent.text) 
    # Use regular expressions to extract specific information about the citations 
    reg_ex = re.compile(r'(\d{1,2})\s([A-Z]{2}\.C\.[R|F]\.[R|F]\.)\spt\.(\d{1,4})|(\d{1,2})\s([A-Z]{2}\.S\.C\.)\s§§\s(\d{1,4})\s-\s(\d{1,4})') 
    matches = re.finditer(reg_ex, text) 
    for match in matches: 
      print(match.group(0))

    Ce code affiche les éléments suivants :

    Electronic Fund Transfer Act (EFTA) 
    15 U.S.C. § 1693 et seq. 
    Regulation E 
    12 C.F.R. pt. 1005 
    Consumer Financial Protection Act of 2010 (CFPA) 
    12 U.S.C. §§ 5531, 5536 
    15 U.S.C. 
    12 C.F.R. 
    12 U.S.C.

    Cet exemple peut être affiné davantage pour nettoyer le bruit dans la sortie.

    Comme vous pouvez le voir, la combinaison des deux approches fournit un résultat plus précis par rapport à l’utilisation d’une seule des méthodes. En effet, il combine la capacité de l’approche basée sur l’espacement à gérer divers formats et variations de citations avec les capacités d’extraction d’informations précises des expressions régulières.

    Share. Facebook Twitter Pinterest LinkedIn WhatsApp Reddit Email
    Add A Comment

    Leave A Reply Cancel Reply

    Catégories

    • Politique de cookies
    • Politique de confidentialité
    • CONTACT
    • Politique du DMCA
    • CONDITIONS D’UTILISATION
    • Avertissement
    © 2023 DéveloppeurWeb.Com.

    Type above and press Enter to search. Press Esc to cancel.