티스토리 뷰

이제 대본이 준비되었으면 CS의 문법에 맞춰 스크립트 파일로 만들 차례이다. 그런데 이 단계도 크게 걱정할 것이 없다. CS의 개발자인 Bruce Wilcox에 의하면 스크립트의 대부분(99%)은 아래의 다섯 가지 유형이 전부라고 한다. (한국어 대화에 맞게 일부 내용과 예제는 수정하였다.)

이 다섯 가지 기본틀을 바탕으로 3장과 4장을 참조하며 작성해 나간다면 손쉽게 스크립트 파일을 만들 수 있을 것이다.

 

    말걸기의 형태

말걸기는 화제를 제시하는 질문의 형태이거나 아니면 조건 테스트를 포함하여 질문하는 형태이다.

A.     t: 혹시 K-POP 좋아하세요?

B.     t: MyFavorite () 저는 I love you라는 곡을 좋아해요. $MyFavorite = 1

C.     t: ($Concert) 그런데 투애니원 콘서트에는 누구와 가셨었어요?

D.     t: ($Favorite==투애니원) 저는 악동뮤지션을 좋아해요

 

BMyFavorite라는 라벨을 가진 말걸기 규칙으로 나중에 이 라벨을 호출하여 재사용할 수 있다. MyFavorite이라는 단어가 라벨이라는 것을 CS에게 알려주기 위해 내용이 비어있는 패턴을 표시했다.(내용이 비어있는 괄호) 맨 끝에는 향후에 쓸 목적으로 변수를 선언하고 그 값을 할당하고 있다.

C는 조건에 따라 룰이 실행되도록 작성되었다. 변수 $Concert가 앞의 대화에서 값을 할당 받았다면 이 조건절이 참이 되고 따라서 그런데 투애니원 콘서트에는 누구와 가셨어요?”라는 출력문이 출력될 것이다. 만약 그렇지 않다면 룰C는 작동되지 않는다. 마찬가지로 룰D도 좋아하는 가수가 투애니원일 경우에만 작동되는 규칙이다. $Favorite변수는 대화의 앞쪽 어디에선가 만들어지고 값이 할당되었을 것이다. 만약 그렇지 않았거나 또는 그랬을지라도 투애니원이외의 값이 할당되었다면 이 조건은 거짓이 되어 룰D는 실행되지 않는다.

 

    순서 없는 매칭

패턴의 전형적 구조는 핵심단어들의 순서 없는 매칭이다.

 

E.     u: (<< 빵 우유 ~먹다 >>)

 

일반적으로 구어는 문어와 달리 말하는 순서를 뒤바꾸는 경우가 많으며, 특히 한국어와 같이 단어의 위치가 중요하지 않은 언어의 경우에는 더욱 그러하기 때문에 순서없이 찾는 패턴이 매우 유용하다. 또한 컨셉 “~먹다는 먹고, 먹으니, 먹어서, 먹으니까 등 동사의 활용형을 하나의 집합으로 묶어서 등록해 놓은 것으로 패턴을 간략하게 표기하고 사용자의 다양한 표현에 대응할 수 있게 해 준다.[1]

 

    키워드의 나열

사용자 답변을 예상하여 작성하는 예상응답(rejoinder)은 보통 키워드의 나열이다. 이렇게 하는 것이 가능한 이유는 사용자의 반응 범위를 질문으로 좁혀 놓았기 때문이다. 물론 사용자가 이를 무시하고 엉뚱한 얘기를 할 수 있다. 그런 경우에는 왜 제 질문에 답하지 않으세요?”라고 되묻거나 아니면 그런 경우를 위해 준비해 놓은 얼버무리기 규칙이 대응하게 하거나 할 수 있다.

 

F.      t: 좋아하는 과일이 뭐에요?

a: (~)

a: (사과)

a: ()

a: (~과일들)

a: (?) 왜 제 질문에 답변해 주지 않으세요?

 

    매칭 제외 단어

문장의 의미를 정반대로 해석하는 일이 없도록 특정 단어가 나타나면 매칭을 중단시킬 수 있다. 특히 부정문을 만드는 단어들은 매칭에서 제외시켜야 하는 경우가 많다.

 

G.     u: (!못 우유 *~2 ~마시다)

 

패턴이 위와 같다면 아래의 두 번째 사용자 입력문은 매칭되지 않는다.

 

나는 우유를 잘 마셔

나는 우유를 잘 못 마셔

 

    조사를 명시하여 매칭

의미상 순서가 중요할 때, 특히 너와 나를 동시에 언급할 때는 주어와 목적어가 뒤바뀌지 않도록 조사를 확정 지어서 작성하는 것이 좋다.

 

H.     u: ( << 나는 너를 ~사랑>> )

 

만약, 조사를 확정 짓지 않고 부분 와일드카드로 사용하면 전혀 다른 뜻의 사용자 입력문과 매칭될 수 있다. 예를 들어

 

I.      u: (<< * * ~사랑>>)

 

나는 너를 사랑해와 매칭되지만 너는 나를 사랑해”, “너는 사랑해 나를과도 매칭이 되는데 이 둘은 의미가 전혀 다르므로 동일한 룰에 매칭되도록 놔둬서는 안될 것이다. “가 패턴에 동시 나타나는 때는 부분 와일드카드를 쓰지 않고 조사를 확정 지어야 하는지 검토해야 한다.

 



[1] 동사와 형용사의 활용형을 컨셉으로 등록할 것인지 기본형(canonical form)으로 등록할 것인지는 작성자의 선호에 달려있다. 기억을 상기하는 차원에서 3(7)절의 비교 설명을 참조.


댓글
댓글쓰기 폼