ChatterBot은 Python으로 구축된 기계 학습 기반 대화 엔진으로, 알려진 대화 모음을 기반으로 응답을 생성할 수 있습니다. ChatterBot의 언어 독립적 설계를 통해 모든 언어를 구사하도록 훈련할 수 있습니다.
일반적인 입력의 예는 다음과 같습니다.
사용자: 안녕하세요! 어떻게 지내세요?
bot: 저는 아주 잘 지내고 있습니다. 물어봐주셔서 감사합니다.
사용자: 천만에요.
봇: 모자를 좋아하시나요?
훈련되지 않은 ChatterBot 인스턴스는 통신 방법에 대한 지식 없이 시작됩니다. 사용자가 명령문을 입력할 때마다 라이브러리는 사용자가 입력한 텍스트와 명령문에 대한 응답 텍스트를 저장합니다. ChatterBot이 더 많은 입력을 받으면 회신할 수 있는 응답 수가 늘어나고 입력 문과 관련된 각 응답의 정확도가 높아집니다. 프로그램은 입력과 일치하는 가장 가까운 일치하는 알려진 문을 검색하여 가장 가까운 일치 응답을 선택한 다음 봇과 통신하는 사람들이 각 응답을 발행하는 빈도를 기반으로 해당 문에 가장 가능성이 높은 응답을 반환합니다.
이 패키지는 다음을 실행하여 PyPi에서 설치할 수 있습니다.
pip install chatterbot
from chatterbot import ChatBot
from chatterbot.trainers import ChatterBotCorpusTrainer
chatbot = ChatBot('Ron Obvious')
# Create a new trainer for the chatbot
trainer = ChatterBotCorpusTrainer(chatbot)
# 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?")
ChatterBot에는 채팅 봇을 교육하는 데 사용할 수 있는 데이터 유틸리티 모듈이 함께 제공됩니다. 현재 이 모듈에는 12개 이상의 언어에 대한 훈련 데이터가 있습니다. 추가 훈련 데이터나 다른 언어로 된 훈련 데이터를 제공해 주시면 감사하겠습니다. 기여에 관심이 있다면 chatterbot-corpus 패키지의 데이터 파일을 살펴보세요.
from chatterbot.trainers import ChatterBotCorpusTrainer
# Create a new trainer for the chatbot
trainer = ChatterBotCorpusTrainer(chatbot)
# Train based on the english corpus
trainer.train("chatterbot.corpus.english")
# Train based on english greetings corpus
trainer.train("chatterbot.corpus.english.greetings")
# Train based on the english conversations corpus
trainer.train("chatterbot.corpus.english.conversations")
코퍼스 기여를 환영합니다! 풀 요청을 해주세요.
문서 읽기에서 ChatterBot에 대한 설명서를 확인하세요.
Sphinx를 사용하여 문서를 직접 작성하려면 다음을 실행하세요.
sphinx-build -b html docs/ build/
예를 보려면 이 프로젝트의 git 저장소에 있는 예제 디렉터리를 참조하세요.
ChatterBot을 사용하는 Django 프로젝트 예제와 ChatterBot을 사용하는 Flask 프로젝트 예제도 있습니다.
변경 사항은 릴리스 노트를 참조하세요 https://github.com/gunthercox/ChatterBot/releases
master
와는 다른 이름의 브랜치를 변경합니다. 예를 들어 my-pull-request
새 브랜치를 생성합니다.ChatterBot은 BSD 3 조항 라이센스에 따라 라이센스가 부여됩니다.