티스토리 뷰

 

이제 토픽에 한글 키워드를 등록하는 방법을 알아보자. 대화관리자는 토픽의 키워드 목록을기준으로 대화를 관리하기 때문에 이 절이 가장 중요하다 할 수 있다. 과일에 관한 토픽을 아래와 같이 작성한다고 가정해 보자.

 

Topic: ~계절과일 [ 사과 배 포도 딸기 봄 여름 가을 겨울 ]

#! 봄에는 딸기가 제철이지요

u: ( * 딸기* 제철*) . 봄철의 딸기는 향이 참 좋아요

 

만약 예제 입력문 대로 사용자가 입력한다고 하면, 이 룰은 절대 매칭되지 않는다. 왜냐하면 예제 입력문과 토픽의 키워드 목록간에 일치되는 단어가 없기 때문이다. 예제 입력문에는 봄에는’, ‘딸기가등이 있고 ~계절과일 토픽에는 , ‘딸기가 있을 뿐 일치되는 단어가 없다. 따라서 ~계절과일 토픽이 활성화 되지 않고 소속되어 있는 저 룰은 일치 여부조차 검토 되지 않는 것이다. 미시적으로 예제 입력문과 패턴이 아무리 잘 맞더라도, 거시적으로 그 패턴을 보유하고 있는 토픽이 활성화 되지 않으면 아무 소용이 없다.

토픽 키워드 란에 딸기라는 단어가 있고 사용자 입력문에도 딸기라는 단어가 있으니 일치하는 것 아니냐 할 수 있지만 그것은 한국사람의 시각으로 봤을 때 그런 것이고, 한국어를 전혀 모르는 CS 시각에서는 딸기딸기가”, “봄에는는 완전히 다른 단어이기 때문에 봄에는 딸기가 제철이지요라는 입력문에 ~계절과일 토픽을 활성화시킬 단서가 없는 것이다.

문제는 우리 말의 명사 대부분이 조사와 합쳐져 사용되기 때문에 이런 일이 특별한 상황이 아니라는 점이다. 그렇다고 사용자에게 조사를 붙이지 말고 말하라 할 수는 없으니 토픽의 키워드란에 명사 +조사의 형태로 등록을 하는 수 밖에 없다.

 

Topic: ~계절과일 [ 사과 사과가 사과는 사과를 사과와 사과의 사과만 사과도 등등 ..]

 

그러나 이는 현실적인 해결책이 못 된다. 빈번하게 사용되는 조사의 개수만 해도 대략 10~20개 될 텐데 이를 모든 명사와 결합해서 토픽 키워드로 등록한다는 것은 매우 비생산적인 일이다. 해결 방법으로 두 가지를 생각해 볼 수 있는데 첫 번째는 컨셉에 부분 와일드카드를 허용하는 것이다. 그러면 다음과 같이 작성할 수 있다.

 

concept: ~과일 [사과 배 포도 딸기]

concept: ~계절 [봄 여름 가을 겨울)

Topic: ~계절과일 [ ~과일* ~계절* ]

#! 봄에는 딸기가 제철이지요

u: ( ~계절* ~과일* 제철*) . _0 _1 향이 참 좋아요

 

(CS의 개발자에게 이의 필요성을 제안하였으나 CS 내부 로직을 많이 바꿔야 하기 때문에 쉽지 않은 일이라는 답변을 들었다.)

두 번째 방법은 컨셉과 Tablemacro를 이용하여 등록을 간편화 하는 것이다.[1] 이 방법의 장점은 필요한 경우에만 어절로 만들기 때문에 들이는 노력이나 차지하는 공간이 적게 소요된다는 점이다. 실제 사용 예는 6(4)절의 “K-POP 소재로 챗봇 개발하기에서 설명하기로 하고 이곳에서는 토픽에 한글 키워드를 등록할 때는 실제 사용되는 형태, 명사+조사의 형태로 등록해야 한다는 점을 다시 한 번 강조하겠다.

 



[1] 실제 작동되는 코드와 그에 대한 설명은 9장 4절의 명사+조사의 어절을 만드는 매크로" 참조


댓글
댓글쓰기 폼