Forum >> Principianti >> Textual Data Cleaning

Pagina: 1

Ho usato un OCR su migliaia di file pdf per creare dataset CSV di discorsi parlamentari. Nel dataset sono presenti due colonne: una contiene il testo dei discorsi e l'altra contiene i nomi degli oratori che hanno pronunciato il discorso.




Il problema è il seguente. A volte l'OCR ha unito due discorsi insieme. In particolare, il nome dell'oratore B e il suo intervento sono contenuti nel testo del discorso dell'oratore A (nella colonna discorsi).




Ora, dato che il nome dell'oratore è sempre interamente in lettere maiuscole, esiste un metodo per risolvere questo problema in Python? Per esempio, c'è un modo per dire a Python che in tutti i casi in cui c'è una serie di parole interamente in maiuscolo nel testo di un discorso deve prendere quelle parole e metterle nelle colonne degli oratori e allo stesso tempo prendere le parole che seguono e inserirle nella rispettiva colonna dei discorsi, creando una nuova riga nel dataframe? Di seguito un'illustrazione del problema.




Situazione attuale:





| Speaker | Speech |

| ---------------------------| -------------------------------------------------------------|

| SPEAKER ALPHA | Lorem ipsum. SPEAKER BETA dolor sit amet |

| SPEAKER GAMMA | Nunc tincidunt tincidunt erat |







Ciò di cui ho bisogno




| Speaker | Speech |

| ----------------------------| ------------------------------------------|

| SPEAKER ALPHA | Lorem ipsum. |

|SPEAKER BETA | dolor sit amet |

| SPEAKER GAMMA | Nunc tincidunt tincidunt erat |











Grazie per l'aiuto!
Ciao e benvenuto. :birrame:

Mi verrebbe da suggerirti di estrarre dalla stringa del discorso quello che è scritto in maiuscolo e sostituirlo con quello che ti pare, anche nulla come il caso sotto (nel re.sub è il "" dopo la prima virgola, se mettessi " " aggiungerebbe uno spazio ad esempio).

>>> import re
>>> stringa = 'Lorem ipsum. SPEAKER BETA dolor sit amet'
>>> stringa = re.sub(r'\b[A-Z]+(?:\s+[A-Z]+)*\b',"", stringa)
>>> print(stringa)
Lorem ipsum.  dolor sit amet

Da li poi puoi applicare tutti quello che ti interessa, tagliare il testo, manipolarlo o quello che decidi.

Fammi sapere se ti è utile.

Cya


Pagina: 1



Esegui il login per scrivere una risposta.