我想在NLTK的CategorizedPlainCorpusReader中阅读孟加拉语文本。对于gedit文本编辑器中我的孟加拉语文本文件的此快照:
Sublime文本编辑器中的文件快照:
从快照中可以看出问题所在。问题是Unicode组合问题(虚线环是一个死的赠品)。下面是阅读文本的代码段:
>>> path = os.path.expanduser('~/nltk_data/corpora/Bangla')
>>> from nltk.corpus.reader import CategorizedPlaintextCorpusReader
>>> from nltk import RegexpTokenizer
>>> word_tokenize = RegexpTokenizer("[\w']+")
>>> reader = CategorizedPlaintextCorpusReader(path,r'.*\.txt',cat_pattern=r'(.*)_.*',word_tokenizer=word_tokenize)
>>> reader.sents(categories='pos')
输出为:
输出应为“”而不是“”“”。我们能做些什么呢??先谢了。
2条答案
按热度按时间eit6fx6z1#
您需要提供Bengali characters的Unicode范围。
使用
撇号可以按原样保留在字符类中。
t5fffqht2#
下面的代码对我来说很好: