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;
;
}
}
}
助けてください。