의미 표현
의미 표현 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)