La quantità prevalente di documentazione NLTK ed esempi è dedicata alla lemmatizzazione e arginare, ma è molto scarsa su tali questioni di normalizzazione come:Esistono classi in NLTK per la normalizzazione e canonizzazione del testo?
- conversione di tutte le lettere per abbassare o maiuscole
- rimuovere la punteggiatura
- la conversione dei numeri in parole
- rimozione accenti e altri segni diacritici
- espansione abbreviazioni
- rimozione di parole non significative o parole "troppo comuni"
- testo canonica (tumore = tumore, è = è)
Si prega di punto in cui in NLTK scavare me. Qualsiasi equivalente NLTK (JAVA o qualsiasi altro) per gli scopi menzionati sopra è benvenuto. Grazie.
UPD. Ho scritto una libreria python di normalizzazione del testo per gli scopi text-to-speech https://github.com/soshial/text-normalization. Potrebbe andar bene anche a te.
Poiché considero un toolkit NLP, dovrebbe essere in grado di eseguire tutte le operazioni di elaborazione che potrebbero comportare alcuni dati linguistici. Significa che ho pensato e penso ancora che nltk abbia già i dizionari di parole equivalenti, dizionario delle abbreviazioni, canonicalizzazione dict, conversione in numeri di testo, ** date **, temperatura, ** valute ** e così via ... Forse semplicemente non lo sappiamo bene? – soshial
Sono sicuro che non è possibile risolvere la casemapping nel caso generale con solo '.lower()' e '.upper()'. Considera Turco 'I' =' ı', 'İ' =' i'; 'ß' =' SS' tedesco; Greco 'Σ' = sia' ς' che 'σ'. – hippietrail
La risoluzione delle abbreviazioni è rischiosa. Come fai a sapere che "USA" sta per "Stati Uniti"? 'Tu e io: noi!' -> 'Io e te: Stati Uniti!' –