Had*_*har 20 python tokenize nltk
我正在使用NLTK word_tokenizer将句子分成单词.
我想将这句话标记为:
??_????? ?? ?? ??? ?????? ???? ...???? ??? ???? ???? ????? ..????? ??? ???? ???? ???? ???
Run Code Online (Sandbox Code Playgroud)
我写的代码是:
import re
import nltk
lex = u" ??_????? ?? ?? ??? ?????? ???? ...???? ??? ???? ???? ????? ..????? ??? ???? ???? ???? ???"
wordsArray = nltk.word_tokenize(lex)
print " ".join(wordsArray)
Run Code Online (Sandbox Code Playgroud)
问题是该word_tokenize功能不会被单词拆分.相反,它按字母分割,以便输出为:
"? ? _ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ... ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? .. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"
Run Code Online (Sandbox Code Playgroud)
有任何想法吗 ?
到目前为止我所达到的目标:
通过尝试这里的文本,它似乎被字母标记.但是,其他标记符也正确地标记了它.这是否意味着word_tokenize仅限英语?这是否适用于大多数NLTK功能?
我总是建议使用nltk.tokenize.wordpunct_tokenize.您可以在http://text-processing.com/demo/tokenize/上试用许多NLTK标记器,并亲自查看.