Study/Artificial Intelligence

인공지능 대화시스템 연구 (게임 관련)

빨간당무 2020. 12. 3. 17:44

본문은 "인공지능 대화시스템 연구" (고창수 외, 지식과 교양) 책 내용 중 연구에 필요한 내용을 발췌 및 정리하였음. 


대화 참여자들이 참조하는 지식 체계는 (p.40)

1. 언어지식 : 문법지식과 어휘지식, 텍스트지식 등을 포함한 지식
2.  백과사전적 지식 : 전문 분야 지식이나 특정 정보와 관련된 지식
3. 상호작용에 대한 지식 : 사회적으로 개인의의도를 실현하기 위해 사용하는 도구와 수단 등을 포함한 지식
한 낱말의 사용이 그 사용이라는 관점으로 발화한 것은 곧 행하는 것, 활동, 행위라고 보는 견해와 관련된 체계임
예를 들어 "여기는 더운 것 같네."라는 발화는
화자와 청자의 관계가 수평적인 관계 시 : 단순히 화자의 발화를 진술로 해석
화자가 청자보다 나이가 많거나 지휘가 높은 사람으로 수직적 관계가 형성된 관계 시 : 청자는 '창문을 열어라', '선풍기나 에어콘을 작동시켜라' 등 명령의 의도로 해석할 가능성이 높다. 


정보가 처리되는 매커니즘을 의미하는 인지과정을 H&P(1987)는 상호 연결된 일곱 가지의 절차로 이해 (p.41)

1. 정보 특정 부분에 주목(foucusing)하는 과정
2. 정보의 조각들을 관련된 것들끼리 서로 연결시키는 통합(integration) 과정
3. 사람들이 관찰한 것에 기초하여 관찰하지 않은 것을 가정하는 추정(inference) 과정
4. 기억의 저장(storage)
5. 기억의 회상(retrieval)
6. 선택(selection)은 한 개인의 목록에서 행위를 선택하는 것
7. 이행(implementation)은 선택된 행위에 따라서 행동하며 이를 실행하는 것


언어를 기술하기 위해서는 세 층위를 고려 (p.42)

1. 발화행위(locutionary act) - 화자가 말한 문장 자체
2. 발화수반행위(illocutionary act) - 발화를 통해 화자가 무엇을 의도하는지, 무엇을 야기해야 하는지
3. 발화효과행위(perlocutionary act) - 청자에게 미치는 영향 및 반응


화행분류방식 (p.44) 표1

발화 : 어떤 시점에 구체적인 음운적, 통사적, 의미적 구조를 갖춰 발화한 언어표현
의도 : 발화를 통해 일정한 목적을 달성하려는 화자의 의도이다. 화자는 선택한 목적을 실제로 달성하고자 노력하며, 다른 목적에 비해 선호하고, 달성할 가능성이 있다고 확신해야 함
조건 : 발화수반행위가 성공적으로 수행되기 위해 발화가 산출되는 상황에서 충족되어야 하는 유한한 수의 조건
결과 : 특정한 발화수반행위가 수행되어 일어날 수 있는 결과의 집합


인접화행의 특징 (인접쌍) (p.50)

1. 인접해 있다
2. 서로 다른 화자에 의해 발화된다.
3. 주는 말과 받는 말로 순서가 이루어진다. 
4. 유형화되어 있고, 특정한 주는 말에 대해서 특정한 받는 말로 대답해야 한다. 
예를 들어 주는 말이 '인사'이면 받는 말은 '인사'이어야 하고, 
주는 말이 '질문'이면 받는 말은 '대답'이어야 한다. 

주화행 : 대화의 목적을 대표적으로 나타내는 화행
예를 들어 "여쭤볼 것이 있는데요."
보조화행 : 주화행이 효과적으로 수행되기 위해 보조적인 기능을 갖는 화행
예를 들어 "장비를 사려면 어디로 가야 하나요?" 앞 문장에 이어서

대화의 구조는 전체 대화의 흐름 안에서 시작↔핵심↔종결 단계의 거시구조가 존재 (p.53)


대화의 시작단계의 구분 (p.54)

- 교류를 조정할 목적으로 인사하거나 이름 부르기
- 대화참여자 규정하기 및 이들 사이의 관계 규정하기
- 본질적인 화자의 의도에 관해 서로 이야기하기
- 의사소통의 인지도식에 관해 서로 이해하기
- 의사소통 의향 확인하기
- 상호작용의 양상 정하기


게임에서의 대화의 역할 (p.67)

1. 스토리텔링
2. 정보 전달
3. 친밀도 상승


게임의 대화 방식 (p.70)

1. 시나리오 종속 대화 방식 : NPC가 미리 내장된 시나리오에 따라 대화 내용을 결정하는 방식
대화의 전개 방법에 따라 세 가지 방식으로 구분
1.1. 대사 선택 방식 : 게임 시나리오에 의해 준비된 일정 대사를 선택하는 방식
1.2. 정보 전달 방식 : 사용자의 선택이 배제된 단순한 대화의 형태를 통해 게임의 진행에 필요한 정보를 전달하는 방식
1.3. 키워드 방식 : 사용자가 선택할 수 있는 키워드를 몇 가지로 제시하여 선택된 키워드에 따라 NPC가 답변하는 내용이 달라지는 대화 방식
2. 시나리오 독립 대화 방식 : 게임 시나리오와는 별도로 진행되는 일종의 실시간 대화 시스템
2.1. 패턴 매팅 방식 : 특정 문장에서 패턴을 발췌하고, 기존에 구축된 DB에서 같은 문장을 확인하는 방식
2.2. 지능형 방식 : 형태소 분석만이 아니라 구문 분석과 문장 생성까지도 가능한 지능형 시스템


화행 분석에 기반한 인공지능 대화시스템 구축 방법 중 대화 시스템의 흐름도 (p.92)

Input
사용자의 발화문
[전처리부] 
1) 사용자와 NPC 분석
2) 단문 분할
3) 불용어 처리
4) 형태소 분석
5) 구문 분석
6) 문장백터 변환 후 LF(Logical Form)(p.93) 값 산출
Output
1) 사용자, NPC 정보
2) LF값
[사용자 의도 분석 기반 대화 시스템]
이해부
1) 화제어 결정
2) 화행 결정
3) 중심문 선택
생성부
4) 대응 화행 결정
5) 지식베이스 탐색
6) 대응문 생성
대화 관리부
7) 대화 정보 저장


구어 말뭉치에 나타난 대응쌍의 유형과 빈도 (p.98) 표.4

책 참고...


국어 문장종결법과 전형적 문장종결형 (p.112) 표9

책 참고...


설명법, 감탄법, 의문법, 약속법, 허락법, 경계법, 명령법, 공동법

유의어를 정리한 사전(시소러스)

대화시스템에 적용할 지식베이스 (p.141)


용어 개념

set : subset을 가진 상위 집합 (예: 아르바이트)
subset : set의 하위 집합 (예: 감자 채집)
class : 일반적으로 사물이나 개념 등에 붙이는 이름
instance : class의 구체적인 형태
value : class나 instance가 갖는 수치
1. 프레임 지식베이스 : NPC에 대한 캐릭터 정보를 구축한 것
2. 의미망 지식베이스 : NPC 및 관련 항목들을 관계망 형식으로 구축한 것
3. 사실 지식베이스 : 게임의 메인 스토리가 기록됨. 그리고 인공지능 대화를 통해 누적된 사실 지식을 저장 할 수 있도록 구성됨
4. 게임 세계 어휘 지식베이스 : 사전적인 정의가 필요한 용어를 정리하여 사용자에게 정보를 제공할 수 있도록 구축한 보조적인 지식베이스


[부록 2] 화행 결정 로직에 적용된 자질 목록 (p.226)

책 참고...