네이버 부스트캠프/LEVEL-3

[부스트캠프][P-stage][WK15 / Day4,5] 관계 추출

1. 강의 내용

관계 추출 과제의 이해 (한지윤님)

1) 관계 추출 관련 과제의 개요

개체명 인식 & 관계 추출의 이해

관계 추출 관련 과제의 이해 - NER

  • 개체명(Entity) 인식 (NER,Named Entity Recognition)
    • 개체명이란 인명,(지명,(기관명 등과 같은 고유명사나 명사구를 의미.(개체명 인식 태스크는 문장을 분석 대상으로 삼아서 문장에 출현한 개체명의 경계를 인식하고,(각 개체명에 해당하는 태그를 주석함.
    • KLUE에서는 국제적인 기준에서 가장 널리 알려진 CoNLL 2003의 태그 체계 및 Stanford NER을 바탕으로 국내 TTA(표준 지침의 주석 가이드라인에 따라 데이터를 구축함.
    • PS(사람),(LC(지역),(OG(기관),(DT(날짜),(TI(시간),(QT(수량)
  • Stanford NER model
  • MUC (Message Understanding Challenge)
    • NER tagging의 모태가 됨, PLO 클래스
  • CoNLL 2003
    • 블록 칼럼별로 어휘, 품사정보, 구문분석 정보, NER 클래스
      • NP : 명사구
      • VP : 동사구
      • PP : 전치사구

  • TTA 표준
    • 지식을 체계화 하는 것이 중요했으므로 NER 태그가 매우 복잡하게 되어 있음

-> 데이터를 만들 때는 기존 데이터가 나온 목적과 그렇게 구성된 이유를 잘 살펴보고 한국어의 실정과 과제의 목적에 맞는 것을 취사 선택하여 사용

관계 추출 관련 과제의 이해 - RE

  • 관계(Relation) 추출 (RE, Relation Extract)
    • 관계 추출은 문장에서 나타난 개체명 쌍(Entity Pair)의 관계(Relation)을 판별하는 태스크.
    • 개체명 쌍은 관계의 주체(Subject)와 대상(Object)로 구성됨.
    • KLUE에서는 TACLED에 기반하여 30개 관계 Class를 설정하여 데이터를 구축함.
  • TACRED
    • TAC KBP: 단순 location이 아닌 정치적 구분을 포함한 GPE가 들어가 있음
    • TAC RED는 TAC KBP 챌린지에 나왔던 데이터들을 모아서 정제한 것
    • SUBJ, OBJ 뽑고 그 관계도 뽑아 줌
    • Slot(relation) filling 과제라고 불리기도 함
    • 역관계도 존재

관계 추출 관련 과제의 이해 - EL

  • 개체명 연결 EL, Entity Liking
    • 개체명을 인식(Named Entity Recognition)하고 모호성을 해소(Named Entity Disambiguation)하는 과제를 결합한 것. 텍스트에서 추출된 개체명을 지식 베이스(knowledge base)와 연결하여 모호성을 해소함.
    • AIDA CoNLL-YAGO Dataset 또는 TAC KBP English Entity Linking Comprehensive( and Evaluation Data 2010 등이 있음.
  • 인식된 각 개체명의 중의성을 해소하기 위해 해당 의미의 KB Link와 연결함
  • http://nlpprogress.com/english/entity_linking.html

Data output : NER

  • 주석 양식은 다양, 아래 예시는 TTA 표준
    • PS : Person
    • OG : Organization
    • LC : Location
  • 일반 텍스트에 태그
  • 음절 단위로 잘라 BIO 태그
  • 데이터 검수 화면

DATA output : RE

 

  • 중간 단계 output

2) 과제별 차이점

  1. 개체를 보는 관점
    • NER: 개체의 범주
    • RE: 개체의 범주+ 개체명이 subj냐 obj냐
  2. 대상 개체의 분류 레이블(태그 체계) 차이
  3. 관계에 대한 주석 여부, 참조 자원
  • NER은 RE, EL 전에 선행되어야함
  • RE는 각 개체명이 주체냐 대상이냐 판별 후에 그 사이의 관계까지 relation labeling
  • EL은 개체명에 대해 KB와 연결

3) 데이터 제작시 문제점

KLUE 데이터 구축시 문제점 : NER

  • 2개 이상의 태그로 주석될 수 있는 개체명
    • ex) 서울시는 정책을 발표했다.
      그 카페는 서울시 서대문구 연희동에 있다.
    • 맥락에 기반한 주석으로 해결 (작업자마다 일치도가 떨어질 수 있음)
  • 주석 대상의 범주
    • ex) A급, B급, C급, 삼류(3류)
    • 구체적 범주 및 기준 명시로 해결

KLUE 데이터 구축시 문제점 : RE

  • 한국어 데이터 현실에 맞지 않는 주석
    • ex) 지역 관련 태그 통합, 사람, 기관의 작품 및 생산물 관련 태그 추가
    • 태그 통폐합 및 추가
  • KB(Knowledge base)의 활용
    -> 일부만 활용

데이터 구축시 문제점 : EL

  • 적합한 KB(Knowledgefbase) 선정의 문제
    • 현재 AI HUB에 공개된 KB의 경우 제한적인 저작권 아래서 활용이 가능함. 위키 데이터를 활용하여 자체적인 지식베이스를 구축하여 활용하거나, 서비스 도메인에 맞는 지식베이스를 구축하여 활용할 수 있음. 지식베이스를 구축하는 것 자체가 많은 비용과 자원이 드는 일이므로 이에 대한 대비가 필요함

이러한 데이터를 만드는 이유?

  • NER, RE, EL은 기본적으로 비구조화된 텍스트에서 정보를 추출하여 구조화하려는 것이 목적
  • 따라서 이 과정에서 지식 베이스가 활용되기도 하고, 이 결과물이 지식 베이스가 되기도 함
  • 정보처리의 관점에서 구조화된 정보의 활용도가 높기 때문에 이러한 시도는 앞으로도 계속 될 것

Knowledge Graph

  • subject-predicate-object로 구성된 세트가 Knowledge Graph의 기초
  • Node(개체명)와 Edge(관계)
  • 주체와 대상으로 생각
  • 관계는 확장 가능


* https://edezhic.medium.com/understanding-knowledge-graphs-5cb05593eb84

NER, RE, EL의 활용


관계 추출 관련 논문 읽기 (한지윤님)

1) Position-aware Attention and Supervised Data Improve Slot Filling

Overview

The TAC Relation Extraction Dataset

Appendix

KBP란? Knowledge Base Population (KBP)

2) KLUE: Korean Language Understanding Evaluation

Overview

Data Construction

 

 

 

 

Evaluation Metrics


관계 추출 데이터 구축 실습 (한지윤님)

1) 과제 정의

과제 정의 시 고려할 요소

  • 과제의 목적
  • 데이터 구축 규모
  • 원시 데이터
  • 데이터의 주석 체계
  • 데이터 주석 도구
  • 데이터의 형식
  • 데이터 검수
  • 데이터 평가

과제의 목적

  • 관계 추출(Relataion Extraction)이란 문장에 등장하는 두 개체 간의 관계를 주석하는 것이다. 관계 추출의 대상이 되는 개체명을 인식하고, 각 개체가 주체(subject)인지 대상(object)를 파악한 뒤 그 둘 간의 관계를 주석한다. 주체와 대상, 관계로 이루어진 트리플(triplet)을 완성한다.
  • 특정한 도메인에 맞추어 관계 분류(Class) 목록을 확장하고, 확장된 관계를 주석한 데이터를 만든다.

데이터 구축 규모

  • 기존 데이터의 규모

원시 데이터

  • 기존 데이터의 출처
  • TACRED
    • TAC KBP challenge 2009~2014
    • Train 2009~2012, Dev 2013, Test 2014
  • KLUE
    • WIKIPEDIA, WIKITREE, 정책브리핑
  • 둘 이상의 개체와 개체 간의 관계를 추출할 만한 문장이 포함된 텍스트 선정
    • 손쉽게 구할 수 있고 문어성을 띄는 데이터셋이 RE에 적합
    • 구어는 주어, 목적어를 빈번히 생략하므로 부적절

데이터의 주석 체계

데이터 주석 도구

  • 주석 단계 세분화 후, 주석 도구 결정
  • 트리플(Triplet) 형태의 주석이 가능한 도구 선정 필요
  • 필요 기능
    1. 문자열에서 개체명 선택
    2. 개체명에 대한 레이블(label) 선택
    3. 개체명에 대한 관계선(edge) 그리기
    4. 관계선에 대한 레이블(label) 선택
  • 1, 2는 개체명 인식이 되어 있는 자원을 사용하는 경우는 고려 대상 아님
  • BRAT - TACRED의 주석도구, tagtog도 동일기능 제공
  • DeepNatural - KLUE : 과제에 특화된 도구, 필요기능 1,2 제외

데이터의 형식 TACRED, CoNLL

데이터의 형식 TACRED, JSON

데이터의 형식 KLUE

데이터 검수

  • 데이터 형식의 정확도
  • 관계 레이블의 정확도
  • 관계 추출 정확도
  • 검수 규모 정하기 : 전수 또는 특정 비율

데이터 평가

  • 작업자간 일치도(IAA, Inter-Annotator Agreement)
    • Fleiss’ Kappa (TACRED)
    • Krippendorff’s α(KLUE)
  • 모델 성능 평가 :
    • 정밀도(Precision), 재현율(Recall), F1 (TACRED), Micro F1, AUPRC(area under the precisionrecall curve) (KLUE)

2) 구축 프로세스 설계

 

3) 가이드라인 작성

  • 핵심 내용 : 주석 작업을 위한 가이드라인
    • 작업 목적
    • 작업 도구 사용법
    • 작업 대상 문장과 아닌 문장 구분 기준
    • 레이블별 주석 기준

2. 피어세션 정리

  • 스몰톡
  • 강의 일정 및 내용 질의응답
  • 데이터 제작 스페셜 미션 계획
    • 본격적인 entity, relation에 대한 정의
    • 역할 분배 (책임자)
  • 최종 프로젝트
    • <멘토님 총평>

3. 학습 회고

이번주는 최종 프로젝트에 대한 전체적인 설계와 데이터 제작을 시작했습니다.
데이터 제작을 만만하게 봤지만 생각보다 entity, relation에 대한 정의가 어려웠고 많은 시간을 쏟아야 했습니다.
또한 최종 프로젝트를 설계하는 과정에서 시간이 길게 남은 것 같지만 계획을 짜보니 생각보다 시간이 부족했습니다.