Я пытаюсь извлечь слова из немецкого документа, когда я использую следующий метод, описанный в учебнике nltk, мне не удается получить слова со специальными символами, специфичными для данного языка.
ptcr = nltk.corpus.PlaintextCorpusReader(Corpus, '.*');
words = nltk.Text(ptcr.words(DocumentName))
Что я должен сделать, чтобы получить список слов в документе?
Пример с nltk.tokenize.WordPunctTokenizer()
для немецкой фразы Veränderungen über einen Walzer
выглядит так:
In [231]: nltk.tokenize.WordPunctTokenizer().tokenize(u"Veränderungen über einen Walzer")
Out[231]: [u'Ver\xc3', u'\xa4', u'nderungen', u'\xc3\xbcber', u'einen', u'Walzer']
В этом примере "ä" рассматривается как разделитель, хотя "ü" им не является.