Извлечение слов с помощью nltk из немецкого текста

Я пытаюсь извлечь слова из немецкого документа, когда я использую следующий метод, описанный в учебнике 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']

В этом примере "ä" рассматривается как разделитель, хотя "ü" им не является.

9
задан Wasi Ahmad 13 February 2017 в 02:33
поделиться