Sto usando NLTKword_tokenizer
per dividere una frase in parole.Tokenizzazione di parole arabe utilizzando NLTK
Voglio tokenize questa frase:
في_بيتنا كل شي لما تحتاجه يضيع ...ادور على شاحن فجأة يختفي ..لدرجة اني اسوي نفسي ادور شيء
Il codice che sto scrivendo è:
import re
import nltk
lex = u" في_بيتنا كل شي لما تحتاجه يضيع ...ادور على شاحن فجأة يختفي ..لدرجة اني اسوي نفسي ادور شيء"
wordsArray = nltk.word_tokenize(lex)
print " ".join(wordsArray)
Il problema è che la funzione word_tokenize
non si divide con le parole. Invece, si divide per lettere in modo che l'output sia:
"ف ي _ ب ي ت ن ا ك ل ش ي ل م ا ت ح ت ا ج ه ي ض ي ع ... ا د و ر ع ل ى ش ا ح ن ف ج أ ة ي خ ت ف ي .. ل د ر ج ة ا ن ي ا س و ي ن ف س ي ا د و ر ش ي ء"
Qualche idea?
Quello che ho raggiunto finora:
provando il testo in here, sembrava essere token da lettere. Inoltre, tuttavia, altri tokenizer l'hanno tokenizzato correttamente. Significa che lo word_tokenize
è solo per l'inglese? Funziona per la maggior parte delle funzioni di NLTK?
Does http://stackoverflow.com/questions/7386856/python-arabic-nlp aiutare? (E uno stemmer http://nltk.org/api/nltk.stem.html#module-nltk.stem.isri) –