0

edu.stanford.nlp.*パッケージを使用してすべての名詞句を取得しようとしています。ラベル値「NP」のすべてのサブツリーを取得しましたが、通常の元のString形式 (ペン ツリー形式ではない) を取得できません。

たとえば、ギブスですが、subtree.toString()(NP (ND all)(NSS times)))常に」という文字列が必要です。誰でも私を助けてください。前もって感謝します。

4

2 に答える 2

2

あなたが望むのは次のようなものだと思います:

final StringBuilder sb = new StringBuilder();

for ( final Tree t : tree.getLeaves() ) {
     sb.append(t.toString()).append(" ");
}

100% 確実ではありませんが、これは私が数年前に取り組んだいくつかのソフトウェアに使用されたソリューションであることを思い出しているようです。

于 2012-06-22T02:33:18.547 に答える
0

これは、別の StringBuilder オブジェクトを作成する代わりに、サブツリーの yield() メソッドを使用して実現できます。

if (subtree.label().value().equals("NP")) {
    out.println(subtree);       //print subtree
    out.println(Sentence.listToString(subtree.yield()));    //print phrase  
    break;
}
于 2014-11-14T19:32:37.253 に答える