5분 안에 첫 번째 ChatBot 구축
ChatterBot 작동 방식
이미지 출처: ChatterBot
이 기사에서는 단 5분 만에 ChatterBot으로 챗봇을 구축하는 방법을 살펴봅니다.
시작하자
퍼스트Install ChatterBot
pip install ChatterBot
파일 만들기
chat.py
#import ChatBot
from chatterbot import ChatBot
원하는 이름으로 새 챗봇을 만듭니다(저는 "Candice"를 사용하고 있습니다).
bot = ChatBot('Candice')
귀하의 봇이 생성되었지만 이 시점에서 귀하의 봇은 일부 데이터에 대해 교육해야 하기 때문에 지식이 없습니다.
Also, by default the ChatterBot library will create a sqlite database to build up statements of the chats.
봇 훈련
#import ListTrainer
from chatterbot.trainers import ListTrainer
bot.set_trainer(ListTrainer)
# Training
bot.train(['What is your name?', 'My name is Candice'])
bot.train(['Who are you?', 'I am a bot, created by you' ])
이제 봇이 2개의 문에 대해 학습되었습니다. 봇에게 "당신의 이름은 무엇입니까"라고 물으면 "내 이름은 Candice입니다"라고 대답합니다.
다음과 같은 여러 문장에 대해 훈련할 수도 있습니다.
bot.train(['Do you know me?', 'Yes, you created me', 'No', 'Sahil?', 'No idea'])
보시다시피 모든 단일 명령문에 대해 봇을 훈련시키는 것은 어렵습니다. 따라서
ChatterBotCorpusTrainer
를 사용하여 대규모 데이터 세트에서 봇을 교육합니다.from chatterbot.trainers import ChatterBotCorpusTrainer
# Create a new trainer for the chatbot
trainer = ChatterBotCorpusTrainer(bot)
# Train the chatbot based on the english corpus
trainer.train("chatterbot.corpus.english")
# Get a response to an input statement
chatbot.get_response("Hello, how are you today?")
또는 dataset of your language을 다운로드하고 귀하의 언어로 봇을 교육할 수 있습니다.
english language dataset을 다운로드했고 다음과 같이 봇을 훈련시킬 수 있습니다.
for files in os.listdir('./english/'):
data=open('./english/'+files,'r').readlines()
bot.train(data)
NOTE: Make sure the dataset and the program file is on same folder, otherwise edit the path.
채팅 기능
# To exit say "Bye"
while True:
# Input from user
message=input('\t\t\tYou:')
#if message is not "Bye"
if message.strip()!='Bye':
reply=bot.get_response(message)
print('Candice:',reply)
# if message is "Bye"
if message.strip()=='Bye':
print('Candice: Bye')
break
실행하려면 터미널로 이동하십시오.
python chat.py
먼저 봇을 훈련시킨 다음 채팅을 시작할 수 있습니다.
소스 코드
#import libraries
from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer
import os
#Create a chatbot
bot=ChatBot('Candice')
bot.set_trainer(ListTrainer)
#training on english dataset
for files in os.listdir('./english/'):
data=open('./english/'+files,'r').readlines()
bot.train(data)
#chat feature
while True:
message=input('\t\t\tYou:')
if message.strip()!='Bye':
reply=bot.get_response(message)
print('Candice:',reply)
if message.strip()=='Bye':
print('Candice: Bye')
break
Reference
이 문제에 관하여(5분 안에 첫 번째 ChatBot 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/sahilrajput/build-your-first-chatbot-in-5-minutes--15e3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)