Tôi đang sử dụng NLTKword_tokenizer
để chia một câu thành các từ.Mã hóa các từ tiếng Ả Rập bằng NLTK
Tôi muốn tokenize câu này:
في_بيتنا كل شي لما تحتاجه يضيع ...ادور على شاحن فجأة يختفي ..لدرجة اني اسوي نفسي ادور شيء
Mã Tôi đang viết là:
import re
import nltk
lex = u" في_بيتنا كل شي لما تحتاجه يضيع ...ادور على شاحن فجأة يختفي ..لدرجة اني اسوي نفسي ادور شيء"
wordsArray = nltk.word_tokenize(lex)
print " ".join(wordsArray)
Vấn đề là các chức năng word_tokenize
không chia bằng lời nói. Thay vào đó, nó chia tách bằng chữ cái để đầu ra là:
"ف ي _ ب ي ت ن ا ك ل ش ي ل م ا ت ح ت ا ج ه ي ض ي ع ... ا د و ر ع ل ى ش ا ح ن ف ج أ ة ي خ ت ف ي .. ل د ر ج ة ا ن ي ا س و ي ن ف س ي ا د و ر ش ي ء"
Bất kỳ ý tưởng nào?
Những gì tôi đã đạt đến cho đến nay:
Bằng cách cố gắng văn bản trong here, nó dường như được tokenized bằng chữ cái. Ngoài ra, tuy nhiên, tokenizers khác tokenised nó một cách chính xác. Điều đó có nghĩa là word_tokenize
chỉ dành cho tiếng Anh? Điều đó có phù hợp với hầu hết các chức năng NLTK không?
Liệu http://stackoverflow.com/questions/7386856/python-arabic-nlp giúp? (Và một phần mở rộng http://nltk.org/api/nltk.stem.html#module-nltk.stem.isri) –