У меня есть набор текстов, которые я анализирую с помощью пакета NLTK (и некоторых обученных тэгеров).
По какой-то таинственной причине я получаю
File "C:\Users\gavrk\AppData\Local\Programs\Python\Python37-32\Lib\site-packages\nltk\data.py", line 1424, in tell
assert check1.startswith(check2) or check2.startswith(check1)
builtins.AssertionError
Каждый раз, когда я начинаю итерацию через предложения некоторых (!) моих текстов.
Более того, если удалить первую строку такого текста, все работает отлично (например, эта строка):
![enter image description here](https://i.stack.imgur.com/xcaHU.png)
Кажется, что эти строки не содержат ничего особенного.
Есть ли какое-либо разумное объяснение этому явлению и какому-либо решению, кроме простого удаления строк из текстового материала?
Вот мой код (если это важно):
[[t[0] for t in tagger.tag(s)] for s in corpus.sents() if any([vds in s for vds in vds_nennen])]
vds_nennen
- это список, содержащий все формы немецкого глагола "nennen" в виде строк, а tagger.tag()
- тег POS, созданный с помощью ClassifierBasedGermanTagger (описан здесь )
Таким образом, код в основном возвращает все предложения из нескольких текстов, которые содержат глагол «nennen» в любой из его грамматических форм, в виде списков токенов, упакованных в список списков, и он работает , Но мне любопытно, почему мне нужно удалить первые строки, чтобы избежать ошибок утверждений.
Любое предложение будет оценено!