Vorrei qualche consiglio su come affrontare questo problema. Ho un database di ~ 3000 immagini di persone. I loro nomi sono incorporati nel nome del file ma non esiste un formato standard. Ecco alcuni formati di nome comuni: MarySue-042; henry higgins03; J. H. Doe; Jones, Peter; and M N Shyamalan, MD.
Alcuni hanno un secondo nome e altri no; a volte il cognome viene prima, a volte no.
Ci sono anche alcuni nomi di non-persone, come " 1122 Lundee Street"
, "MemorialHospital"
ecc.
Li sto rinominando in un formato standard. Mi piacerebbe costruire un modello che può
- Riconosci un probabile formato del nome e / o
- Determina il formato seguito dal nome.
Vorrei qualche consiglio sul modo migliore per farlo. Il mio piano al momento è quello di creare un gruppo di espressioni regex per i formati più comuni e verificare se il nome del file si adatta a uno. Se un nome one-off viene trascurato, posso cambiarlo manualmente.
Ciò che ho provato finora:
Ho creato un'espressione regolare per il formato nome più comune, FirstLast- [0-9]. È [A-Z][a-z]+[A-Z][a-z]+-[0-9]+
. Il problema è che questo raccoglie anche nomi di località come "MemorialHospital-02"
. Ho pensato di scartare quelli in cui le lettere in entrambe le posizioni superano una certa lunghezza, ma ho alcune persone con nomi molto lunghi che questo approccio ignorerebbe.
Inoltre, sebbene questo sia il formato di nome più comune, c'è una quantità significativa di nomi in diversi formati, quindi mi manca ancora molto.