Разбор предложения с 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);