반응형

Opensource python chatbot : ChatterBot 


Opensource url : https://github.com/gunthercox/ChatterBot


실행 환경 : Ubuntu 16.04.3 LTS


설치 방법 : Terminal에 pip install chatterbot 입력. (pip 설치를 따로 해야됨)


* 한글입력을 하기 위해 Ubuntu 한글 세팅을 미리 해줘야 함.


한글 지원이 안되기 때문에 한글 데이터를 추가 해줘야 함.

  ~/.local/lib/python2.7/site-package/ 경로에 chatterbot library가 설치됨.

  ~/.local/lib/python2.7/site-package/chatterbot_corpus/data 경로에 korean 폴더를 만든 후 english폴더 내 있는 파일들 중 .json 파일과 .yml 파일 형식에 맞게 한글로 된 파일을 만들어 추가한다.


실행 소스

# -*- coding: utf-8 -*-

from chatterbot import ChatBot

from chatterbot.trainers import ChatterBotCorpusTrainer

chatbot = ChatBot(

"Name",

input_adapter = 'chatterbot.input.TerminalAdapter',

output_adapter = 'chatterbot.output.TerminalAdapter'

)

chatbot.set_trainer(chatterBotCorpusTrainer)

chatbot.train("chtterbot.corpus.korean")

while True:

try:

b = chatbot.get_response(None)

except(KeyboardInterrupt, EOFError, SystemExit):

break


위 소스를 실행시키면 한국어가 되는 chatterbot이 실행된다.

하지만 원활한 대화를 하기 위해서는 많은 양의 korean corpus data가 필요하다.

실행하면 sqlite로 대화했던 내용과 corpus data에 없는 내용이 입력되면 자동적으로 데이터를 추가하여 답변을 해준다. 하지만 그 답변은 내가 이전에 사용한 대화 내용 중에 있는 내용이다.


위 방식 말고도 다양하게 corpus데이터를 학습하는 방법이 github project에 소개되어 있다.

반응형

+ Recent posts