Discourse  Analysis

 

AI Topics : Discourse Analysis

사람을 위한 일을 하기 위하여, 컴퓨터 프로그램은 사람이 원하는 것이 무엇인지를 우선 알아야 한다. 언어 대화는 사람이 이러한 정보를 전달하기 위한 아주 편한 방법이다. 따라서 컴퓨터에 의한 자연언어 이해의 응용 중에 중요한 것은 컴퓨터와 이의 사용자 간의 대화를 이루는 것이라 하겠다. 그러나 여러 이유에 의해 대화를 이해하는 것은 지극히 힘든 일이다.

Xerox에서 만든여행계획의 질의응답 시스템인 GUS와 고객간의 응답 예를 보여주는 화면이다. 가는 글씨는 GUS, 굵은 글씨는 고객의 말을 나타낸다.

 

위 화면은 다음과 같은 문제점들을 설명하여 주는데, 효율적인 대화 이해를 위해서는 이러한 문제점들이 해결되어야 한다. 

이러한 어려움에도 불구하고, 대화를 이해하기 위해서는 다음을 포함한 제공되는 모든 정보를 이용하는 것이 중요하다. (참조 : A.K.Joshi, Elements of Discourse Understanding 1981)

이미 우리는 이러한 네 가지 중, 앞에서 두 가지의 내용을 다루었다. 이는 문장의 경우에서와 공통으로 유용하기 때문이다. 나머지 두 가지 내용은 대화의 이해를 위하여 중요하기에 여기서 논의하기로 한다.

  (1) 각자의 생각에 대한 모델링

  프로그램이 지능적으로 대화에 참여하기 위해서는, 프로그램이 세상에 관한 자기의 의견을 표현할 수 있는 것은 물론, 세상에 관한 지식을 표현할 수 있어야 되며, 더 나아가 프로그램의 생각에 대한 다른 사람의 생각 등도 표현할 수 있어야 한다. 조금 과장한다면 '네가 알고 있는 것을 내가 안다는 것을 또한 네가 알고, 그러한 사실을 내가 안다는 것을 다시 네가 아는 것'인데, 이러한 사고력이 항상 필요한 것이다.
  각 대화 참여자(혹은 이야기에서 각 등장인물)에 대한 개개의 생각을 표현하기 위해서는, 다음의 내용이 필요하다.

  (1)의 경우는 하나의 데이터베이스로써 모든 참여자의 생각을 나타내게 되지만, (2)의 경우는, 한 사람이 생각하는 것을 다른 사람이 것들과 구분하여야 한다. 이를 위한 방법중의 하나는 분할된 의미회로(semantic nets)를 사용하는 것이다. 그림 1은 분할된 공간(space)을 이용한 것이다.
  여기서는 세 가지 다른 공간이 존재한다.

 

그림 1 세 개의 믿음 공간(belief spaces)을 보여주는 분할된 의미회로(semantic net)

  (2) 대화의 가정(postulate)

  대화의 경우에는 기본적으로 존재하는 규칙들이 있다. 이들은 보통 많은 경우에 잘 적용되나, 적용되지 않는 경우에는 위반되는 것 자체가 무엇인가를 의미하게 된다. 이러한 대화의 가정에 대한 규칙들 중 몇 가지는 다음과 같다.