logo

의미 표현

의미 표현 meaning representations

  • 자연어로 표현된 의미를 정형화된 구조로 표현하는 것
  • 지금까지는 자연어로 된 데이터를 직접 처리
  • 검색 등에서 전반적인 의미를 비교하는 것은 가능하나 정확한 의미를 비교하는 것은 어려움
  • 대형 언어 모델(LLM)도 자연어로만 표현된 데이터로 복잡한 추리(reasoning)을 하는 데는 한계
  • 정형화된 구조는 기계적 처리가 가능하므로 정확하고 효율적으로 처리가 가능
  • 의미론적 해석(semantic parsing): 자연어 표현을 의미 표현으로 변환하는 것

의미 표현 구조의 요구 조건

  • Verifiability: 참/거짓 판정이 가능해야
  • Unambiguous Representations: 하나의 표현은 하나의 의미
    • 참고:
      • 애매성(ambiguity): 의미가 여러 개(예: 학원 "끊다")
      • 모호성(vagueness): 의미가 완전히 확정되지 않음(예: "잠깐")
    • 더 나아가 Canonical Form(하나의 의미를 표현하는 단 한 가지의 표현)이 존재
  • Expressiveness: 넓은 범위의 의미를 표현할 수 있음

명제 논리

  • 리터럴(literal): 하나의 단순 명제. 하나의 기호로 표시(P, Q, ...)
  • 각각의 명제는 참/거짓
  • 여러 개의 명제를 다음 논리 기호로 연결
    • ¬P: P가 거짓이면, 참(not P)
    • P∧Q: P와 Q가 모두 참이면 참(P and Q)
    • P∨Q: P 또는 Q가 참이면 참(P or Q)
    • P⇒Q: P가 참이면 Q도 참이거나 또는 P가 거짓(if P, then Q)
    • P⇔Q: P와 Q의 참/거짓이 같음(P if and only if Q)

1차 술어 논리 First-order Predicate Logic

  • 간단히 "1차 논리" 또는 "술어 논리"
  • 대상을 나타내는 항(term)과 그 항의 특성이나 또는 항들 사이의 관계를 나타내는 술어(predicate)으로 구성
    • 예: 미나는 진수의 엄마 = MotherOf(Mina, Jinsu)
  • 양화사
    • 보편양화사(모든)
      • 예: 모든 왕은 사람이다 ∀x King(x) ⇒ Person(x)
    • 존재양화사(어떤)
      • 예: 진수는 엄마가 있다 ∃x MotherOf(x, Jinsu)
  • 1차 술어논리는 항에만 양화사를 적용 가능
  • 2차 이상의 고차 술어 논리는 술어에도 양화사를 적용할 수 있으나 추론이 매우 복잡

neo-Davidsonian event representations

  • 1차 술어 논리에서 술어의 항은 고정되어 있음
  • "나는 밥을 먹었다", "나는 학교에서 먹었다" 등의 문장이 있을 때 이들을 유연하게 표현할 방법이 없음
  • 철학자 도날드 데이빗슨이 제안한 표현 방법으로 사건 변수(event variable)를 도입하여 이 문제를 해결
∃e Eating(e) ∧ Eater(e, Speaker) ∧ Eaten(e, Rice)
  • 자연어 처리에서 의미역 레이블링(Semantic Role Labeling) 기법으로 이어짐

Abstract Meaning Representation

  • 의미 표현의 한 가지 방법
  • neo-Davidsonian 표현법을 사용
  • "The dog wants eat a bone"의 AMR 표현

LLM과 추리

  • 현행 대형언어모델(LLM)은 추리에 약하다는 한계 → 확률적 생성의 문제
  • 1차 술어 논리와 같은 의미 표현의 장점은 추론이 가능하다는 것
  • LLM과 의미 표현을 통한 추리를 결합하면 성능을 높일 수 있음
  • 예) 구글 딥마인드의 "알파 지오메트리(AlphaGeometry)"
  • 수학 문제를 LLM을 통해 의미 표현으로 변경 → 규칙을 통해 추리하여 답변을 도출
  • 국제 수학 올림피아드 금메달 수준의 수학 실력 달성

논리적 귀결과 추론

  • 가능 세계(possible world): 어떤 문장을 참으로 만드는 세계들의 집합
    • 모델(model)이라고도 함
    • 문장 S가 모델 M에서 참일 때, "M이 S를 만족한다" 또는 "M은 S의 모델"이라 표현
  • 논리적 귀결(entailment): 문장 A를 만족하는 모든 모델이 문장 B도 충족
A ⊨ B
  • 논리적 추론(inference): 문장 A에 어떤 규칙을 적용하여 문장 B를 유도하는 경우
A ⊢ B
  • 추론 규칙의 성질:
    • 건전(sound): 규칙에 따라 유도된 모든 문장이 논리적으로 귀결됨
    • 완전(complete): 논리적으로 귀결된 모든 문장을 규칙에 따라 유도할 수 있음

1차 술어논리 추론의 예시

  • 동물을 사랑하는 모든 사람은 누군가에게 사랑받는다
    • ∀x [∀y Animal(y) ⇒ Loves(x, y)] ⇒ [∃y Loves(y, x)]
  • 동물을 죽이는 모든 사람은 누구에게도 사랑받지 못한다
    • ∀x [∃z Animal(z) ∧ Kills(x, z)] ⇒ [∀y ¬Loves(y, x)]
  • 잭은 모든 동물을 사랑한다
    • ∀x Animal(x) ⇒ Loves(Jack, x)
  • 잭 또는 호기심이 튜나라는 고양이를 죽였다
    • Kills(Jack, Tuna) ∨ Kills(Curiosity, Tuna)
    • Cat(Tuna)
    • ∀x Cat(x) ⇒ Animal(x)
  • 호기심이 고양이를 죽였을까?
    • ¬Kills(Curiosity, Tuna)
Previous
검색의 평가
Next
추론