【发布时间】:2017-07-31 19:44:07
【问题描述】:
我想在 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')
输出是:
输出应该是 'একবার' 而不是 'একব' 'র'。可以做什么??提前致谢。
【问题讨论】:
-
试试
RegexpTokenizer("[\u0980-\u09FF']+")(不确定你是否还需要u前缀)。 -
@WiktorStribiżew 非常感谢。它奏效了。
-
作为答案添加了指向具有孟加拉语 Unicode 字符范围的参考网站的链接。
标签: python nlp text-processing