observe_db

[NLP] 9. 정보 추출 본문

학교 공부/자연언어처리(4-2)

[NLP] 9. 정보 추출

쩡윤 2024. 11. 1. 16:39

10/31

 

정보 추출(Information Extraction, IE)

: 비정형 텍스트로부터 구조화된 정보를 자동추출

구조화된 정보는 관계형 튜플 형태로 표현

ex. Entity1, Relation, Entity2

 

 

관계 추출(Relation Extraction)

: 개체간 관계를 식별하고 추출하는 작업

각 개체에 연결되는 개체 유형과 둘 사이의 관계 유형을 추출

 

이벤트 추출(Event Extraction)
: 하나의 이벤트를 중심으로 주체, 대상, 장소, 시간 등을 추출하는 작업

여러 개의 관계로 구성

슬롯 채우기: ->

 

정보 추출의 목적

  • 비정형 데이터에서 정형 데이터 추출(관계, 추출)
  • 관계를 논리적 표현으로 변형하여 논리 연산
  • 논리적 연산을 통해 새로운 추론 가능
  • 의미적 관계를 이용한 질의 응답

지정 관계 정보 추출: 주어진 관계에 대해서만 정보 추출

개방 관계 정보 추출: 텍스트에 나타난 임의 관계를 모두 추출

 

규칙 기반 접근법

  • 도메인 전문가가 규칙을 생성
  • 비정형 텍스트에서 언어적 분석을 통해 표현되는 형식을 찾아 튜플 정의
  • 정의된 규칙과 형식으로 관계 튜플 추출(모든 규칙 추출은 비현실)
  • 일반적으로 지식획득과 구조화 데이터 획득 단계로 구분
  • ex1. 상위-하위어 관계 추출 패턴
  • ex2. 의존 구문 트리에서 부분 트리 패턴을 이용하여 관계 추출

 

말뭉치 기반 관계 추출

장점: 사람이 만든 규칙과는 비교할 수 없을 정도로 다양한 패턴 수집 가능

 

학습 방법에 따른 분류

  • 지도 학습
  • 준지도 학습
  • 간접 지도 학습
  • 비지도 학습

 

지도 학습(supervised)

  • 문장 내의 객체1, 객체2가 서로 관계가 있는지 판단(개체가 미리 주어지는 경우가 많음)
  • 개체간의 관계를 포함하는 학습데이터를 구축하고 이를 예측 모델로 학습
  • 모델 학습에 관계 레이블된 많은 데이터 필요

준지도 학습(semi-supervied)

  • 레이블된 데이터가 있으나, 충분하지 않은 경우 사용
  • seed 관계(triple)을 사용하여 관계 추출을 위한 패턴 구성
  • 새로 학습한 패턴을 이용한 관계 추출
  • 낮은 정확률과 의미적 표류(semantic drift)의 문제점

간접 지도 학습(distantly supervied)

  • 레이블된 데이터 없이 학습하되 이미 알려진 관계(튜플) 정보를 활용
  • 이미 알려진 관계 R에 있는 두 개체가 포함된 문장 추출
  • 그 문장에서 관계 R를 나타내는 속성 추출
  • 학습된 속성을 이용하여 새로운 관계 추출
  • Freebase를 학습에 사용(9M 개체, 7,300 관계(116M Instance))

비지도 학습(unsupervised)-개방 관계 정보 추출

  • 레이블된 학습 데이터 없이 사용
  • 개체간의 단어 열을 추출하고, 이를 클러스터링하고 단순화하여 관계 이름을 사용
  • 많은 데이터 사용 가능하며 많은 관계 추출
  • 관계명이 지식베이스와 일치하지 않는 문제점

 

딥러닝 기반 정보 추출

-기본 모델 혹은 pre-trained model을 말뭉치를 통해 학습

-딥러닝의 강력한 학습 능력 이용

- Sequence labeling과 Sequence generation

 

BIO 태깅 방법

  • BIO 태그와 Predicate, Argument 1, Argument 2 조합한 태그 사용: A1, P, A2
  • POS 태깅 등으로 predicate 내의 핵심 토큰을 추출하여 이를 조건으로 사용
  • BiLSTM 모델 등을 이용하여 sequence labeling 문제로 처리

Span 선택 방법

  • 한 단위 항목(predicate, argument)을 개별 토큰이 아닌 span 단위 분류
  • 2단계 학습: predicate 학습 후 이를 조건으로 argument 학습

Sequence 생성 방법

  • 생성 모델을 이용하여 predicate, arguement sequence를 차례로 생성
  • 단점1: 특정 관계 출력 조건이 없음. beam search시 매 입력마다 고정 개수의 관계 추출
  • 단점2: Gold 관계가 많을 경우, 결과적으로 유사 관계가 여러번 출력(=중복)되어 전반적 recall 하락

Sequence 디코딩 방법

  • 출력된 관계 튜플을 다시 인코더에 추가 입력하여 중복이 적은 새로운 관계 추출
  • 이를 반복하여 모든 관계 추출

'학교 공부 > 자연언어처리(4-2)' 카테고리의 다른 글

[NLP] 11. 단어 벡터  (1) 2024.11.08
[NLP] 10. 기계번역  (0) 2024.11.08
[NLP] 8. 의미역 분석  (0) 2024.11.01
[NLP] 7. 단어 의미 모호성 해소  (0) 2024.11.01
[NLP] 6. 구문 분석  (5) 2024.10.17
Comments