Другой результат в парсере Stanford Arabi c - PullRequest
0 голосов
/ 13 апреля 2020

Я использую Stanford Parser для проекта NLP, Arabi c. В пакете я нашел GUI, в котором я могу попробовать демо-версию парсера, и он может сгенерировать дерево.

Я попробовал одно предложение, как вы можете посмотреть по следующей ссылке, и это выглядит совершенный https://i.postimg.cc/HL54mMwZ/screenshot-350.png

Но, когда я использовал его для кода и для того же предложения. Он породил немного другое дерево, как вы можете видеть по следующей ссылке: https://i.postimg.cc/d3XLDHv8/screenshot-351.png

Он объединил двух последних детей VP.

Это мой код и я использовала модель парсера Arabi c (arabicFactored.ser.gz)

public static void syntacticAnalysis(String[] args) {

    String parserModel = "edu/stanford/nlp/models/lexparser/arabicFactored.ser.gz";
    if (args.length > 0) {
      parserModel = args[0];
    }
    LexicalizedParser lp = LexicalizedParser.loadModel(parserModel);

      demoAPI(lp);

  }

public static void demoAPI(LexicalizedParser lp) {
    // This option shows parsing a list of correctly tokenized words

    // This option shows loading and using an explicit tokenizer


    TokenizerFactory<CoreLabel> tokenizerFactory =
        PTBTokenizer.factory(new CoreLabelTokenFactory(), "");
    Tokenizer<CoreLabel> tok =
        tokenizerFactory.getTokenizer(new StringReader("راى الرجل مشهداً مرعباً في صالة السينما"));
    List<CoreLabel> rawWords2 = tok.tokenize();
    Tree parse = lp.apply(rawWords2);

    TreebankLanguagePack tlp = lp.treebankLanguagePack(); // PennTreebankLanguagePack for English

    TreePrint tp = new TreePrint("penn,typedDependenciesCollapsed");
    tp.printTree(parse);
...