Sto usando Python con nltk. Ho bisogno di elaborare del testo in inglese senza spazi bianchi, ma la funzione word_tokenize in nltk non può gestire problemi come questo. Quindi, come tokenize testo senza spazi bianchi. C'è qualche strumento in Python?Come tokenizzare parole continue senza delimitatori di spazi bianchi?
risposta
Non sono a conoscenza di tali strumenti, ma la soluzione del problema dipende dalla lingua.
Per la lingua turca è possibile eseguire la scansione del testo di input lettera per lettera e accumulare lettere in una parola. Quando sei sicuro che la parola accumulata forma una parola valida da un dizionario, la salvi come un token separato, cancella il buffer per accumulare nuova parola e continua il processo.
Si può provare questo per l'inglese, ma presumo che si possono trovare situazioni in cui la fine di una parola può essere un inizio di qualche parola del dizionario, e questo può causare alcuni problemi.
forse Viterbi algorithm potrebbe aiutare? Nessuna certezza ... ma probabilmente meglio di farlo manualmente.
Questa risposta a un'altra domanda SO (e l'altra risposta ad alta votazione) potrebbe aiutare: https://stackoverflow.com/a/481773/583834
perciò non ci sono spazi? Qual è il dominio? – Jared
Come si identifica una parola? –
A meno che non stiate scandendo il testo lettera per lettera e testate tutte le possibili combinazioni di caratteri continui, ci deve essere un delimitatore – Yotam