使用NLTK阿拉伯语词汇符号化(Tokenization of Arabic words using

2019-08-01 19:11发布

我使用NLTK word_tokenizer一个句子分成词。

我要来标记这句话:

في_بيتنا كل شي لما تحتاجه يضيع ...ادور على شاحن فجأة يختفي ..لدرجة اني اسوي نفسي ادور شيء 

我写的代码是:

import re
import nltk

lex = u" في_بيتنا كل شي لما تحتاجه يضيع ...ادور على شاحن فجأة يختفي ..لدرجة اني اسوي نفسي ادور شيء"

wordsArray = nltk.word_tokenize(lex)
print " ".join(wordsArray)

问题是, word_tokenize功能不通过的话分裂。 相反,它拆分用字母,这样的输出是:

"ف ي _ ب ي ت ن ا ك ل ش ي ل م ا ت ح ت ا ج ه ي ض ي ع ... ا د و ر ع ل ى ش ا ح ن ف ج أ ة ي خ ت ف ي .. ل د ر ج ة ا ن ي ا س و ي ن ف س ي ا د و ر ش ي ء"

有任何想法吗 ?

我到目前为止已经达到:

试图在文本这里 ,它似乎是由字母标记化。 此外,然而,其他断词正确标记化它。 这是否意味着word_tokenize仅用于英语吗? 这是否去了大部分NLTK的功能呢?

Answer 1:

我总是建议使用nltk.tokenize.wordpunct_tokenize 。 您可以尝试许多人在NLTK断词的http://text-processing.com/demo/tokenize/ ,看看自己。



Answer 2:

这是我输出我的代码得到的,但我记得的Unicode并不在Python 2顺利,我用3.5

nltk.word_tokenize('في_بيتنا كل شي لما تحتاجه يضيع ...ادور على شاحن فجأة يختفي ..لدرجة اني اسوي نفسي ادور شيء ')

[ 'Vi_batna', '所有', '石', '什么', '需要', '已失去', '...', 'Edwar', '上', '充电', '突然', '消失' '..ldrjh', '我', '易程科技', '我', 'Edwar', '东西']



文章来源: Tokenization of Arabic words using NLTK