안녕하세요, 오늘 포스팅 할 내용은, Machine Learning의 아주 기본이자, 요즘에 많은 기업에서 활용하고 있는 챗봇(Chatbot)를 만드는 과정을 포스팅 해볼려고 합니다.
챗봇(Chatbot)를 만드는 과정은 유튜브나 여러가지 블로그에도 많이 소개되는 것처럼 요즘 핫한 아이템인거 같습니다. 그럼 하나 하나 차근 차근 설명 해볼테니까, 따라오시면 됩니다.
1. Chatbot 라이브러리 설치하기
: 일단 저희가 라이브러리를 만들지 않은 이상, 기존에 만들어 놓은 라이브러리를 사용해야 합니다. 제가 이번에 이용할 라이브러리는 "chatterbot" 입니다. 관련 자료는 아래 링크 참조 하시면 됩니다. 저도 공부하면서 많이 참조한 자료 입니다.
[참조 자료 : https://chatterbot.readthedocs.io/en/stable/index.html]
- 파이참(Pycharm)을 설치하고 나서, 프로젝트 이름은 원하시는 대로 명명한 다음에 만들고 나면 아래 창을 보실 수 있습니다. 여기에서 챗봇의 코드를 입력할 수 있는 python file을 하나 만듭니다. 저는 chatbot이라고 명명하였습니다.
- 여기에서 라이브러리를 설치를 하셔야 합니다. 설치 구문은 아래와 같습니다.
: pip install chatterbot
-설치를 완료하면, successfully installed 라는 문구가 나오면서, 설치가 완료가 될 겁니다.
2. ChatBot 라이브러리 활용하기
: 설치가 완료가 되면, 아래 코드를 통해, "chatterbot"의 라이브러리를 불러와야 합니다. 라이브러리를 불러오는 코드는 아래와 같습니다.
==========================================================================
from chatterbot import ChatBot # 챗봇의 라이브러리를 불러옴
==========================================================================
3. ChatBot 만들기
: 그럼 설치와 라이브러리 Import도 마쳤으니, 이제 나만의 챗봇을 하나 만들어 보겠습니다. 만드는 방법은, 아래 코드 예제를 통해서 설명 드리도록 하겠습니다.
==========================================================================
from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer
chatbot = ChatBot("Davey", # "Davey" 라는 Chatbot을 만듦.
storage_adapter='chatterbot.storage.SQLStorageAdapter', # Storage Type을 선언.
logic_adapters=[
{
'import_path': 'chatterbot.logic.BestMatch', # 가장 매칭이 잘 되는 답변을 출력
'default_response': 'I am sorry, but I do not understand.'} # 맞는 질문이 없을 때 (Exceptional Case)
],
# "Davey" 라는 Chatbot 이 Data를 불러오는 장소를 지정, Question, Answer이 입력된 장소
database_uri='sqlite:///database.sqlite3')
trainer = ListTrainer(bot) # List를 통해서 Chatbot을 Tranining 하겠다라고 선언
trainer.train([ 'Hi, How are you?', # Tranining 할 List를 입력.
'I am Find and you?, ])
input01 = "Hi, How are you?" # input01을 질문으로 선언.
response = chatbot.get_response(input01) # input01에 맞는 답변을 출력하라고 명령
print(response)
==========================================================================
- 위 코드를 실행 해보면 아래와 같은 결과를 보실 수 있습니다. 즉, "Hi, How are you?" 로 물어봤고, 그에 대한 답변으로, "I am Find and you"가 출력이 되는 걸 확인 하실 수 있습니다. 나름 신기하지 않나요?!
- 그럼 여기에서 하나의 의문이 들수가 있습니다. 코드에서는 질문을 입력할 수 있지만, 실시간으로 물어보고 싶을 때는 어떻게 해야 하는지 말이죠. 이럴 때는 Input 함수를 이용하여, 실시간으로 질문과 답변을 받을 수 있습니다. 수정된 코드는 아래와 같습니다.
==========================================================================
input01 = input("질문을 입력하세요?")
#input01 = "Hi, How are you?"
response = chatbot.get_response(input01)
print(response)
==========================================================================
-위 코드를 수정을 해서 실행을 해보면 아래와 같이 질문을 입력하라고 나오고, 거기에다가 "Hi, How are you?"를 입력을 하면, 바로 그에 맞는 답변이 출력이 됩니다. 약간 더 지능적으로 되어 가는거 같지 않나요?! 저만 그런가요?! ㅎㅎ
이상입니다. Chatbot 관련해서는 내용이 너무 방대하여, 여러 파트로 쪼개서 포스팅을 하도록 하겠습니다. 한번에 많은 양의 페이지를 하게 되면, 읽는 사람도 힘들고, 그 많은 글 중에 자신이 원하는 내용을 찾기가 힘들다고 생각합니다. 그러니까, 너무 조바심을 느끼지 마시고, 하나 하나 배워가신다고 생각하고, 봐주시면 감사 드리겠습니다. 그럼 저도 성장하고 이 포스팅을 읽으시는 분들도 성장하면서, 더 좋은 저희가 되기를 바라며, 마무리하도록 하겠습니다. 감사합니다.
제 Posting이 조금이나마 정보 전달에 도움이 되셨길 빌며, 되셨다면, 구독, 댓글, 공감 3종 세트 부탁 드립니다. 감사합니다.
[저작권이나, 권리를 침해한 사항이 있으면 언제든지 Comment 부탁 드립니다. 검토 후 수정 및 삭제 조치 하도록 하겠습니다. 그리고, 기재되는 내용은 개인적으로 습득한 내용이므로, 혹 오류가 발생할 수 있을 가능성이 있으므로, 기재된 내용은 참조용으로만 봐주시길 바랍니다. 게시물에, 오류가 있을때도, Comment 달아 주시면, 검증 결과를 통해, 수정하도록 하겠습니다.]
'파이썬 (Python) > 크롤링 (Crawling)' 카테고리의 다른 글
웹페이지 크롤링 + Link로 연결되어 보여주거나 호출로 보여지는 Data를 크롤링 하는 방법 (1) | 2021.03.04 |
---|---|
Python 파이썬 인스타그램 사진 크롤링 구현하기 (0) | 2021.02.28 |
Python 파이썬 HTTP Error 406 : Not Acceptable 솔루션 User Agent 선언 + 멜론 차트 크롤링 하기 (0) | 2021.02.27 |
파이썬 Python 웹사이트 이미지 파일을 가져 오는 크롤링하기 (2) | 2021.02.27 |
파이썬 Python 별도의 URL 없이 검색어로 크롤링 하는 방법 (0) | 2021.02.27 |
댓글