무료 챗봇 제작툴 단비AI로 챗봇 만들기!

목차

    2019. 2. 14. 07:22

    뜨겁던 챗봇 열풍이 요즘은 조금 잠잠해진 듯 하다. 인공지능이 화두에 오르면서, 자연어 처리를 기반으로 한 챗봇에 많은 관심이 몰렸다. 챗봇을 사용해보면 느끼겠지만 사람의 언어를 이해하고 답변하는 것은 현재 기술로도 어려운 일이다. 하지만, 챗봇은 채팅 인터페이스가 주는 간결함과 편리함이 분명히 있다.

    오늘은 무료 채봇 제작툴 단비AI를 이용한 챗봇 만들기에 대해서 알아보도록 하겠다.


    무료챗봇제작툴


    챗봇의 꽃은 자연어로 물어보고 답하는 것이지만, 자연어를 만족할 수 있는 수준으로 처리할 수 있도록 개발하는 것은 어렵다. 시간과 노력이 많이 필요하고, 한다고 해도 된다는 보장이 없다. 하지만 챗봇은 채팅 인터페이스가 주는 장점이 있고, 아이디어를 잘 엮으면 괜찮은 형태의 챗봇도 나올 수도 있다고 생각한다.

    전부터 사람의 성격유형을 테스트하는 챗봇을 장난감처럼 만들어봤으면 하는 생각이 있었다. 나보다는 다른 사람의 성격을 알기 위해서다. 다른 사람의 성격을 정확히 알기는 어렵지만, 이것저것 고민하면서 그 사람에 대해서 조금 더 알게 되는 계기가 되지 않을까 해서이다.

    많은 기업에서 챗봇을 무료로 제작할 수 있는 툴을 개발하고 있다. 이 중에는 오픈했다가 사라져가는 서비스도 있다. 그래도 LG CNS에서 만든 툴은 앞으로도 계속적으로 운영되지 않을까 싶어, LG CNS의 챗봇 제작툴인 '단비 AI'를 이용해보기로 했다. 단비도 유료회원 정책이 있지만, 무료로도 충분히 쓸만하다.


    ( 단비AI 바로가기 )


    의도 기반 VS 시나리오 기반

    단비는 사용자의 질문에 답변하기 위해 2가지 모델을 제공한다. 의도기반은 필자가 이런 질문에 이렇게 답했으면 좋겠다고 여러 건을 저장해 놓는다. 이후에 사용자가 질문하면 이미 저장한 질문들과  비교하여 유사도가 가장 높은 질문에 해당하는 답변을 제공해준다. 자연어로 질문에 답변하는 챗봇에서 요즘 많이 쓰는 방식 중 하나이다.

    시나리오 기반은 미리 대화의 흐름을 지정하는 것이다. 예를 들어, 특정 질문에 선택지를 4개 주고 각각의 선택지 별로 우리가 원하는 답변을 입력하고 또 다른 선택지를 제공하는 방식이다.

    단비에서는 의도기반은 '자연어 이해', 시나리오 기반은 '대화흐름'이라는 메뉴를 이용해 만들 수 있다.


    재미삼아 성격테스트 봇을 제작해 봤다.

    의도기반은 질문과 답변을 많이 입력하고, 한 질문에 유사질문도 많이 입력해야 하는 등 해야 할 게 많다. 그래서 시나리오 기반의 챗봇을 제작해봤다. 예전에 애니어그램이라는 성격테스트 도구를 재미있게 본 적이 있다. 보통은 자신의 성격을 알기 위해서 사용한다. 하지만 세상은 혼자 사는 게 아니므로, 이를 이용해 다른 사람의 성격을 고민해 보는 것도 의미가 있다고 생각한다. 그래서, 몇 가지 질문을 통해 다른 사람의 성격을 진단할 수 있는 챗봇을 만들어봤다.


    ( 완성환 대화흐름 일부 )


    단비의 사용법은 간단하지만, 일부 명확하지 않은 부분이 있었다.

    대화흐름은 아이콘을 끌어다가 순서도를 만드는 방식이다. 직관적이고 편리한 방식으로 사용하기 어렵지는 않다. 'Listen Node'는 시나리오를 태우기 위해 챗봇에서 들어야 나는 말을 지정하는 것이다. 그리고 이후에는 'Speak Node'로 하고 싶은 말을 지정하면 된다. 'Slot Node'는 대화중에 필히 입력받아야 하는 값을 지정하고, 'Split Node'는 입력값을 통한 분기를 이용할 때 사용한다. 필자가 사용한 것은 위의 3가지 노드이다. 이 외에도 다양한 노드가 있고 샘플을 보니 재미있는 기능들이 많았다.

    문제는 분기에서 생겼다. SpeakNode에서도 사용자의 메시지에 따라 분기에서 답변할 수 있는 설정이 있다. Split Node도 분기해서 답변을 흐르게 할 수 있다. 하지만 2개를 아무리 조합해도 선택지에 따라 맞게 대답하지 않았다. 결국에는 선택지를 타는 질문은 'Slot Node'를 이용하고 '무조건 물어보기'를 체크해서 가능했다. 버그인지 모르겠지만, 해당 부분에 대한 메뉴얼의 보강이 더 필요해 보인다.


    ( Slot Node에 무조건 물어보기를 체크해서, 선택지를 주는 질문을 처리했다 )


    채널 설정을 해 보자.

    단비의 강점 중 하나는 채널 연결이다. 웹을 포함하여 우리가 사용하는 대부부분의 메신저를 연결할 수 있고, 사용방법도 간단하다. 채널 설정은 [설정] - [대화채널] 에서 가능하다.


    ( 단비에서 적용가능한 채널 )


    필자가 만든 챗봇의 링크를 만들어보았다. 위에서 만든 챗봇을 한 번 해보고 싶다면 참고해보자.
    ( 참조: 성격테스트 봇 바로가기 )


    단비AI를 이용하여 챗봇을 제작해보고 싶다면, 아래 홈페이지 주소를 참조하도록 하자.
    ( 참조: 단비AI 바로가기 )


    오늘은 이렇게 무료 챗봇 제작툴 단비AI를 이용하여 챗봇을 알아보았다. 기능도 많고 사용하기도 어렵지 않아, 챗봇을 만들기에 유용한 도구이다. 하지만 의도기반 챗봇은 질문과 답변을 셋팅하기가 만만치 않으므로, 미리 어느 정도 셋팅해 주면 좋을 듯 하다. 간단한 챗봇은 시나리오 기반으로 제작해 보는 것도 재미있을 듯 하다.


    다음 포스팅에서는 만든 챗봇을 카카오톡에 연결하는 방법에 대해서 알아보도록 하겠다.


    오픈API를 사용하면 다양한 재미있는 일들을 해 볼 수 있다. 파이썬을 활용한 오픈API 사용이 궁금하다면 아래 글을 참조해보자.
    (참조: 오픈API를 활용한 사례는 어떤 것들이 있을까?)