나는 펜 트리 은행 V2 나무를 처리하고 자주 수동 실제로 더 사용 노드를 수정하는 규칙을 많이 추가 할 수 있습니다ntbt를 사용하여 ptb 구문 분석 트리에서 -NONE- 및 * T * -i를 제거하는 방법은 무엇입니까?
이 (그리고 몇 가지 다른 유형)처럼 -subtrees "서비스를"발생 (태그와 토큰을 구문 분석하고 "오, 거기 보이는"링크가 없거나 "여기에 노드가 있어야합니다"- 스탠포드 파서가 반환 한 것과 같음)하지만 대부분 이러한 서비스 노드 또는 거대한 간격을 남기고 "나뭇 가지를 자른 것"(위의 노드 -NONE-
을 제거하면 SBAR
은 전혀 아이들이없고 이상하게 보입니다).
from nltk.corpus import ptb; ptb.parsed_sents()
사람의 출력에서 실제 구문 분석 (단어, 태그, 구두점)을 제외하고 모든 것을 제거 할 수 있을지 궁금합니다.
무엇에 대해'-NONE-'것? 문제는 모든 종류의 서비스 노드를 모른다는 것입니다. 질문의 구체적인 예를 제시했습니다. –
삭제 기준이 모든 '-NONE-'노드와 결과적으로 비어있는 모든 상위 노드를 삭제하는 것이라면 그에 따라 기준을 수정해야합니다. 이 태그가 항상 높이 1에서 발생하면 꽤 쉽습니다. 나뭇잎이있는만큼 많은'-NONE-'노드를 지배하는 하위 트리를 삭제하십시오. – alexis
@alexis라는 구체적인 답변을 주셔서 대단히 감사합니다! 그것은 매우 유용하지만, 제가 언급 한 문제는 조금 다릅니다; 나는 "그 밖의 모든 것"이 무엇인지를 미리 알지 못하고 그 자체를 파싱하는 것을 제외한 모든 것을 제거 할 수 있는지 궁금해하고있었습니다. 왜냐하면 거기에 이러한 흔적과 공동 인덱스가 있고, 제거하면 남아있을거야. 그것은 처음에는 매우 유용한 스 니펫입니다. –