2014-04-01 3 views
1

몇 주 동안이 문제에 대한 해결책을 찾고 있었는데 GATE를 사용하여 분류하려고하는 일부 문서 (약 95)가 있습니다. 나는 training_corpus를 하나의 코퍼스에 넣었습니다. 그러나 ANNIE가 코퍼스에 주석을 첨부 한 후에는 각 파일로 돌아가서 문서의 모든 토큰을 선택하고 기능 유형 및 값으로 클래스라는 Mention이라는 주석을 만듭니다. 문서 용. 예를 들어 :JAPE로 문서 주석 달기

유형의 시작 끝 아이디 특징
언급 70000 2588 0 {유형 = 음수}

자동 농담으로 이렇게 어쨌든이 있나요? 기본적으로 모든 토큰을 선택하고 feature (type = class)를 사용하여 새 주석을 만들고 싶습니다. 또한 클래스가 문서에 추가됩니다. JAPE는 문서가 많기 때문에 문서 이름에서 클래스를 추출하여 Mentions 기능의 값으로 설정할 수 있습니다. 예제 문서 이름은 neg_data1.txt이므로 주석은 Mention.type = neg입니까?

도움이 될 것입니다. 감사합니다

답변

2

나는 당신이 질문에 대답했다고 생각합니다. 텍스트에있는 토큰만을 기반으로하는 수업 과제 - 단순히 GATE 밖에서 텍스트를 처리하지 않는 이유는 무엇입니까? 예를 들어 텍스트와 같은 xml 파일을 만든 다음 교육 과정에 사용합니다. 또한 간단한 JAPE 규칙을 만들 수 있습니다. a) 문서 경계 내에서 텍스트를 가져옵니다 (gate.Utils.length 메서드 AFAIR 참조). b) 토큰 존재에 따라 필요한 기능이있는 새로운 Annotation 인스턴스가 만들어집니다 . 초록 예 :

Phase: Instance 
Input: Token 
Options: control = once 

Rule:Instance 
(
    {Token} 
):instance 
--> 
{ 
    AnnotationSet instances = outputAS.get("INSTANCE_ANNOTATION"); 
    FeatureMap featureMap = Factory.newFeatureMap(); 
    if (instances!=null&&!instances.isEmpty()){ 
     featureMap.put("features when annotation presented in doc"); 
    }else{ 
     featureMap.put("features when annotation not in doc"); 
    } 
    outputAS.add(new Long(0), new Long(documentLength), "Mention", featureMap); 

} 
+1

덕분에 XML을 생성하고 마크 업 된 주석을 주석 세트로 사용하여 효과가있었습니다. 고마워. 그러나, 나는 빠른 GUI를 GUI에서 한 번에 많은 파일 (게이트 문서)를로드 할 수있는 짧은 짧은 질문이 있습니다. 덕분에 – tigg

+1

@ user3183103 한 번에 모든 문서를로드 한 다음 R-click을 클릭하고 팝업 메뉴에서 "채우기"를 클릭하면 코퍼스를 만들 수 있습니다. 아마도 메모리 제한을 극복 할 수있는 대량의 문서 모음의 경우 GATE Datastore 사용을 고려할 것입니다. – andrey

+1

@andrey 당신은 최고입니다. 대단히 고마워 soo 내 질문에 대한 답변 ashingel 덕분에. 고마워요 – tigg