1 2 3 4 5 6 7 8 9 10 11
| >>> txt = "Voici un texte e.n français.[] J'essaye de pré-traiter à l'aide de nltk.T2NMx. mesures: 3,2 g/l, 10mm², 10 m.s. avec des %, 10% 5 %. 20/11/1990 "
>>> reg_motsimple = r'\w+'
>>> reg_nombre = r'\d+(?:[,\.]\d+)?'
>>> liste_abrev = ['g/l', 'mm²', 'm.s.'] # ici l'ordre n'importe pas, mais ça pourrait
>>> reg_abrev = r'|'.join(r'\b' + w.replace('.', '\.') for w in liste_abrev)
>>> regex = r'|'.join([reg_nombre, reg_abrev, reg_motsimple]) # dans l'ordre
>>> re.findall(regex, txt)
['Voici', 'un', 'texte', 'e', 'n', 'français', 'J', 'essaye', 'de', 'pré', 'traiter', 'à', 'l', 'aide', 'de', 'nltk', 'T2NMx', 'mesures', '3,2', 'g/l', '10', 'mm²', '10', 'm.s.', 'avec', 'des', '10', '5', '20', '11', '1990']
>>> import nltk
>>> nltk.regexp_tokenize(txt, regex) == re.findall(regex, txt)
True |
Partager