2

如何获取 OpenNLP 生成的句子的解析树深度?

我使用 c# OpenNLP 来解析一个句子,我有一个生成解析树并返回它的函数。

一个例句和对应的解析树如下:

THIS IS ANOTHER SIMPLE SENTENCE

(TOP (S (NP (DT THIS)) (VP (VBZ IS) (NP (DT ANOTHER) (NNP SIMPLE) (NN SENTENCE)))))

我的问题是如何获得上述树的深度?请参考下图。在此处输入图像描述

在这种情况下,深度为 5(从索引 0 开始)

下面是c#代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using OpenNLP;
using OpenNLP.Tools.Parser;

namespace TextProcessing
{
    public class create_sentence_parsetree
    {

        public static string build_parse_tree(String str_sentence)
        {
            String str_parse_tree = "";
            EnglishTreebankParser parser = new EnglishTreebankParser("Modelspath/", true, false);
            OpenNLP.Tools.Parser.Parse sentenceParse = parser.DoParse(str_sentence);
            str_parse_tree = sentenceParse.Show().ToString();
            return str_parse_tree;
;
        }

    }
}

请帮忙。

4

0 回答 0