8월 말부터 제작은 해오고 있는데 정말 모듈 제작 까다롭네요...

아직 실력이 많이 부족하다는 걸 느꼈습니다. 모듈 제작하시는 분들 존경합니다.

 

XE에서 채팅 관련 모듈은 존재하는 것으로 알고 있는데 아직 챗봇 관련 모듈은 제작된 바가 없는 것 같더라구요. PHP 자체가 무겁고 AI 관련 라이브러리가 많지 않은 것도 한몫하는 것 같습니다. 그래서 챗봇이란 게 요즘 화제가 되고 있기도 하고, 저희 사이트에서 이용자들이 자주 묻는 질문들은 언제든지 빠르게 답장줄 수 있도록 하기 위해서 한 번 시도해보고 있긴 한데... 아직 갈 길이 먼 것 같아요.

 

처음에 구상할 때는 구름이님께서 제작하신 구글 자연어 분석 API 기반 인공지능 모듈(https://xetown.com/rxe_market/815098)의 텍스트 분석 기능을 이용해서 키워드를 뽑아 DB에 저장된 그에 맞는 답변을 출력하는 식으로 제작해보려고 했습니다.

그런데 아쉽게도 구글 자연어 분석 API(https://cloud.google.com/natural-language/)로만은 모든 대화의 중요한 키워드를 딱 골라 뽑지 못하더라구요.

 

예를 들어서 인삿말로 '만나서 반가워'라는 문장에서 키워드를 뽑으라고 하면 '만나' 또는 '반가워' 같이 중요한 용언을 뽑아야 되는데 구글 자연어 분석 API은 아래처럼

 

20180903_7.jpg

 

'만나서 반가워'에서 가워를 핵심 entity로 뽑았고 심지어 사람 관련 키워드로 인식을 하더군요... ^^;;

또 한 가지 문제점이 인공지능 모듈로 키워드를 추출하는 데 대략 1~2초 정도 소요되는데 챗봇과 대화하는 상황에서 이 시간이 꽤나 길게 느껴지더라구요.

그래서 구름이님께서 제작하신 인공지능 모듈뿐만이 아니라 ETRI에서 개발한 공공 인공지능 오픈 API(http://aiopen.etri.re.kr/)의 질문 분석 기능도 같이 사용하기로 결정했습니다. 이 API가 좋은 점이 질문의 의도와 정답 형태를 추출해서 답변의 정확도를 높일 수 있다는 것입니다.

20180903_8.jpg

이 API는 상업적 목적으로 사용하지 않는 이상 API Key를 신청하면 누구나 이용 가능하고, 1일 사용 가능한 횟수가 5,000건이어서 비상업적인 소규모 사이트에서는 충분히 활용 가능하다고 생각됩니다.

 

20180903_9.jpg

 

질문에 대하여 챗봇이 할 수 있는 답변들은 모듈 설정에서 의미 정답(intention), 어휘 정답, 필수 단어(entity), 키워드(keyword), 답변, 트리거를 입력할 수 있도록 했습니다. 이렇게 의도와 예상 답변 유형을 미리 추출하고 거기서 신뢰도가 높은 답변을 추출하니까 예전보다 좀 더 정확도가 높아진 것 같네요.

 

그래도 아직 많이 부족하다고 느끼는 게... 입력한 데이터량이 너무 적어서 예상에서 벗어난 질문을 이용자가 입력했을때 어떻게 답변할지에 관해서 잘 모르겠다는 점입니다. 또 만일 데이터량이 많아지면 답변 목록에서 정확한 답변을 추출하는 데 부하도 심할 것 같고 시간도 많이 들어서... 실제로 정말 비즈니스용으로 쓰기에는 턱없이 부족할 것 같습니다. 그냥 소규모 사이트에서 재미삼아 시범용(?)으로 사용하는 정도의 퀄리티만 나와도 만족할 것 같습니다.

 

 

20180903_1.gif

 

20180903_2.gif

 

20180903_3.gif

 

20180903_5.gif

 

20180903_6.gif

20180903_8.gif

예상 답변 목록에 트리거 이름을 입력하면 답변을 출력하면서 다른 모듈과 연계하여 추가적인 정보를 출력합니다.

또한 원하는 추가 정보 출력 형태도 답변 등록 시 입력 가능하도록 했습니다.

 

API로 받은 데이터를 잘 처리하는 것도 많이 어렵네요...;;

계속 데이터를 입력해보면서 최대한 정확도를 끌어올려봐야겠습니다.

Atachment
첨부
  • profile

    수고 많으세요.
    이런 챗봇은 https://dialogflow.com/ 서비스가 잘 맞는것 같은데 혹시 아직 못 보셨다면 참고 해보세요.(한국어 지원)
    http://codevkr.tistory.com/74?category=748958