5분 안에 첫 번째 ChatBot 구축

7366 단어 easychatbotpython
"챗봇 만드는 방법"에 대해 인터넷을 검색하고 있었습니다. 그리고 챗봇 생성을 위한 기계 학습 대화형 대화 엔진인 ChatterBot을 발견했습니다.

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

좋은 웹페이지 즐겨찾기