2014-07-10 3 views
1

Stanford Parser API에서 Tsurgeon을 사용할 때 구문 트리에 노드를 삽입 할 때 노드 이름을 지정하는 방법이 궁금합니다.Tsurgeon의 트리에 노드를 삽입 할 때 노드를 명명하는 방법

, I는 두 동작이 이러한 조작 후

Tsurgeon.parseOperation("replace predphrase (MAINVP=newpred > PLACEHOLDER)");//Step 1 
Tsurgeon.parseOperation("insert predphrase >-1 > newpred")//Step 2 

(A (B = predphrase ...))이된다 트리 (A (MAINVP (B = predphrase ...))).

그러나 1 단계에서 MAINVP 노드의 이름을 지정하지 못했고 2 단계의 작업에서 newpred라는 노드를 찾을 수없고 예외가 throw됩니다.

답변

0

두 번째 패턴이 첫 번째 패턴에서 생성 된 명명 된 노드에 액세스 할 수 있도록 단일 명령에 여러 개의 Tsurgeon 패턴을 제공해야합니다. 그렇게 대괄호를 사용

TsurgeonPattern t = Tsurgeon.parseOperation(
    "[replace predphrase (MAINVP=newpred > PLACEHOLDER)]" + 
    "[insert predphrase >-1 > newpred]"); 

간단한 방법을 당신과 같이 될 싶어 내가 생각 수정하기 위해 :

[adjoinF (MAINVP > [email protected]) predphrase] 

새로운 MAINVP 나무 내부에 일치하는 노드 predphrase을 배치합니다.

관련 문제