Немного расширил алгоритм структурного парсера, чтобы он мог продолжать разбор даже в том случае, когда в предложении встречаются неразбираемые фрагменты. Раньше парсер имел специальный режим "кусочно-непрерывный анализ", то есть при встрече с непонятным фрагментом он пропускал его и начинал разбор справа от пропущенного участка снова, как было было начало предложения. Теперь парсер старается включить часть предложения справа от пропускаемого фрагмента в общую структуру.
Кусочно-непрерывный анализ - на входе предложение "кошки ловят xxxxx птички поют", на выходе на самом деле не одно синтаксическое дерево, а целый лес из двух деревьев, так как парсер принял решение не соединять две части, а считать их самостоятельными предложениями:
Анализ "кошки xxx ловят" с включением непонятного фрагмента в общую структуру:
При некотором количестве непонятных фрагментов анализ текста вроде бы даже превращается в восстановление зашумленного сообщения "кошки xxx ловят zzz мышей yyy птички ttt поют":
Расширение пока очень экспериментальное, основная проблема - быстродействие.