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