Разбор предложения с SharpNL & en-parser-chunking.bin

Использование SharpNL и OpenNLPen-parser-chunking.binЯ пытаюсь разобрать предложение в дереве. Один из тестов SharpNL показывает, что с учетом модели вы можете разобрать предложение следующим образом:

var model = SharpNL.Parser.TreeInsert.Parser.Train("en", parseSamples, headRules, 100, 0);

var parser = ParserFactory.Create(model);

// Tests parsing to make sure the code does not has
// a bug which fails always with a runtime exception
var p = parser.Parse(Parse.ParseParse("She was just another freighter from the " +
        "States and she seemed as commonplace as her name ."));

Поэтому я скачал файл en-parser-chunking.bin, создал из него модель, а также парсер и попытался проанализировать тот же вход:

var parserModelStream = new FileStream(@"en-parser-chunking.bin", FileMode.Open, FileAccess.Read);
var parserModel = new ParserModel(parserModelStream);
var parser = ParserFactory.Create(parserModel);

var p = parser.Parse(Parse.ParseParse("She was just another freighter from the " +
        "States and she seemed as commonplace as her name ."));

Этот код работает, но когда я анализирую p в отладчике у него есть глава TOP и нет детей. Это проблема с какой моделью я использую? Или как я этим пользуюсь?

1 ответ

Решение

Вместо этого:

var p = parser.Parse(Parse.ParseParse("..."));

Мне просто нужно было использовать это:

var p = ParserTool.ParseLine("...", parser, 1);
Другие вопросы по тегам