메타 데이터로 텍스트 문서에 주석을 달는 방법은 무엇입니까?


18

많은 텍스트 문서 (자연어, 구조화되지 않은)가있는 경우, 의미 론적 메타 데이터로 주석을 달 수있는 가능한 방법은 무엇입니까? 예를 들어 짧은 문서를 생각해보십시오.

I saw the company's manager last day.

정보를 추출 할 수 있으려면 모호하지 않도록 추가 데이터로 주석을 달아야합니다. 이러한 메타 데이터를 찾는 프로세스는 문제가되지 않으므로 수동으로 수행한다고 가정하십시오. 문제는 이러한 데이터를보다 편리하고 효율적으로 수행 할 수있는 방식으로 이러한 데이터를 저장하는 방법입니다.

가능한 접근 방식은 XML 태그를 사용하는 것이지만 (아래 참조) 너무 장황한 것 같으며 텍스트 문서에 이러한 메타 데이터를 저장하기위한 더 나은 접근 방법 / 지침이있을 수 있습니다.

<Person name="John">I</Person> saw the <Organization name="ACME">company</Organization>'s
manager <Time value="2014-5-29">last day</Time>.

SGML의 주요 목적 중 하나 (자손과 동일하게 유지되는 XML)는 텍스트 문서 (POS 의미 태그)에 태그 를 지정하는 수단을 제공하는 것이 었습니다 .
사슴 사냥꾼

어떤 종류의 메타 데이터를 추가하고 싶은지 더 구체적 / 제한적일 수 있습니까? 두 가지 예를 들어 XML 태그와 동일한 표현력을 갖는 덜 장황한 방법이 있는지 의심합니다.
ojdo 2016 년

@ojdo 대부분의 메타 데이터는 명확성 (상대 시간과 같은) 또는 특수 엔티티 (예 : FK)를 지정하기위한 것입니다.
Amir Ali Akbari

2
나는 과거에 brat.nlplab.org 를 사용 했습니다 . 다양한 유형의 주석을위한 멋진 인터페이스가 있습니다. 주석은 별도의 .annot 파일에 저장되는데,이 파일은 주석이 달린 단어와 문서에서의 위치입니다.
user1893354

@ user1893354 매우 도움이되었습니다! 특히 사용되는 " 브릿 스탠드 오프 형식 "은 필자의 요구에 매우 적합 해 보입니다. 원하는 경우 답변을 게시하는 것이 좋습니다.
Amir Ali Akbari

답변:


15

개인적으로 나는 NLP 분야에 특화되지 않은 것, 그리고 당신이이 수준의 메타 데이터를 넘어 서기 시작했을 때에도 여전히 도구로 사용될 수있을 정도로 충분히 일반적인 것을 사용하도록 권합니다. 특히 개발 환경에 관계없이 사용할 수있는 형식과 토큰 화와 같은 기본 구조를 유지할 수있는 형식을 선택합니다.

이상하게 보일 수도 있지만 솔직히 제안 JSON합니다. 그것은 매우 잘 지원되고, 많은 구조를 지원하며, 충분히 강력하지 않기 때문에 이동할 필요가 없을 정도로 유연합니다. 예를 들면 다음과 같습니다.

{'text': 'I saw the company's manager last day.", {'Person': [{'name': 'John'}, {'indices': [0:1]}, etc...]}

여기에서 NLP 특정 형식을 통해 얻을 수있는 가장 큰 장점 JSON은 모든 환경에서 구문 분석 할 수 있다는 것입니다. 어쨌든 형식을 편집해야하기 때문에 JSON은 매우 간단한 편집에 적합합니다. 다른 형식으로.

원하는 경우 토큰 화 정보를 내재적으로 저장할 수도 있습니다.

{"text": ["I", "saw", "the", "company's", "manager", "last", "day."]}

편집 : 메타 데이터의 매핑을 명확히하기 위해 열려 있지만 여기에 예가 있습니다.

{'body': '<some_text>',
 'metadata': 
  {'<entity>':
    {'<attribute>': '<value>',
     'location': [<start_index>, <end_index>]
    }
  }
}

도움이 되었으면 더 궁금한 점이 있으면 알려주세요.


JSON은 웹 개발자이기 때문에 완전히 합리적이지만, 단어를 엔터티에 매핑하는 정확한 형식을 정교하게 다룰 수 있습니까?
Amir Ali Akbari

@AmirAliAkbari 자세한 내용을 포함하도록 업데이트 된 답변입니다.
indico

7

일반적으로 태그가 겹칠 수 있으므로 XML 태그를 사용하여 이러한 방식으로 문서에 태그를 지정하지 않습니다.

UIMA , GATE 및 유사한 NLP 프레임 워크는 텍스트와 분리 된 태그를 나타냅니다. 과 같은 각각의 태그는, Person, ACME, John등의 태그가 시작되는 위치가 끝나는 위치로서 저장된다. 따라서 태그의 ACME경우 위치 11에서 시작하여 위치 17에서 끝나는 것으로 저장됩니다.


7

녀석 주석 도구는 내 의견에 따라 당신을 위해 유용 할 수 있습니다. 나는 그들 중 많은 것을 시도했으며 이것이 내가 찾은 최고입니다. 훌륭한 사용자 인터페이스를 가지고 있으며 다양한 유형의 주석을 지원할 수 있습니다. 주석은 각 주석과 원본 문서 내의 위치를 ​​포함하는 별도의 .annot 파일에 저장됩니다. 경고 : 일단 주석을 Stanford NER 도구와 같은 분류 자로 피드하려면 데이터를 허용되는 형식으로 가져 오려면 약간의 조작을 수행해야합니다.


1

존재하는 모든 데이터를 설명하는 것은 매우 어려운 작업이지만 정보 모델의 구조 유형 인 http://schema.org/를 사용할 수 있습니다 . 이전 실행은 MarkUp 기술을 구현하기위한 것이기 때문에 작업에 유용 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.