안녕하세요! 이것은 생성 및 배포와 관련된 3 부작 시리즈의 첫 번째 부분입니다. 채팅 봇 Docker 및 Heroku를 사용하는 비즈니스 또는 개인 웹 사이트 용. 제가 사용할 대화 형 AI 플랫폼은 라사. Rasa는 챗봇을 만드는 데 도움이되는 오픈 소스 기계 학습 프레임 워크입니다. 또한 오픈 소스이고 널리 사용되며 잘 문서화되어있는 등 여러 가지 이유로 제가 가장 좋아하는 챗봇 플랫폼입니다.
이 게시물에서는 컴퓨터에서 로컬로 Rasa를 설정하는 방법에 대해 설명합니다. 내 OS는 Windows이지만이 전체 프로세스는 모든 시스템에 복제 할 수 있습니다.
선수 과목 :
- Anaconda Prompt 다운로드 여기에서 지금 확인해 보세요..
- Microsoft 빌드 도구 다운로드 여기에서 지금 확인해 보세요..
- Rasa 프로젝트를 저장할 시스템에 디렉토리를 만듭니다.
모든 작업이 완료되면 아나콘다 신속한 응용 프로그램 및 'CD' 생성 한 디렉토리에 내 이름을 'Rasa Project'라고합니다.
그런 다음 Anaconda Prompt에서 다음 명령을 실행하십시오.
- 아래 명령을 사용하여 가상 환경을 만듭니다.
conda create -n rasavirtualenv python = 3.6
2. 명령을 사용하여 환경 활성화
conda rasavirtualenv 활성화
3. Ujson 설치
conda 설치 ujson == 1.35
4. Tensorflow 설치
conda tensorflow 설치
5. Rasa 오픈 소스를 설치합니다.
핍 설치 rasa
6. 프로젝트 디렉토리에 새 rasa 프로젝트를 만듭니다.
라사 초기화
2. 챗봇 NLP 모델 훈련을위한 4 가지해야 할 일과하지 말아야 할 것 3 가지
위 화면의 마지막 부분에서 프로젝트를 생성 할 경로를 입력하라는 메시지가 표시되면 마침표 (.)를 입력하면 현재 디렉터리에 프로젝트를 생성하고자 함을 나타냅니다. 모델 학습 여부를 묻는 메시지가 표시되면 'y'또는 'n'을 선택할 수 있습니다.
위의 명령이 실행을 마치고 새 프로젝트가 생성되면 다음과 같이 대화 할 것인지 묻는 메시지가 표시됩니다. 채팅 봇 터미널에서. 예라고 답하면 새로 생성 된 챗봇과 대화가 시작됩니다.
이제 프로젝트가 생성되었으므로 프로젝트 디렉토리를 확인하면 여러 파일이 추가 된 것을 볼 수 있습니다. 내용을 이해하는 데 필요한 3 개의 파일에 대해 빠르게 논의하겠습니다. 파일 도메인.yml 기본 디렉토리 및 파일 nlu.yml 및 이야기.yml FBI 증오 범죄 보고서 데이터 폴더에 있습니다.
XNUMXD덴탈의 nlu.yml 파일은 모든 훈련 데이터가 저장되는 곳입니다. 훈련 데이터는 사용자가 사용자에게 보낼 수있는 샘플 메시지입니다. 채팅 봇. 이 파일에서 메시지는 의도에 따라 분류됩니다. 파일에서 발췌 한 내용은 아래에서 볼 수 있습니다. 보시다시피 의도 : 인사 'hi', 'hello', 'hey'등과 같은 몇 가지 예가 있습니다. 의도 : 안녕 'bye', 'goodbye', 'cu'등의 예가 있습니다.
nlu :
-의도 : 인사
예 : |
- 야
- 안녕하세요
- 안녕하세요
- 안녕하십니까
- 좋은 아침
— 좋은 저녁
— 안녕하세요
- 가자
— 안녕 친구
- 좋은 아침
— 좋은 저녁
- 안녕하세요
- 안녕-의도 : 안녕
예 : |
- 안녕하세요
— 큐
— 좋은 사람
— cee 나중에
- 안녕히 주무세요
- 안녕
- 안녕
— 좋은 하루 되세요
- 주위에 당신을보고
- 안녕
— 나중에 보자
— 아디오스
XNUMXD덴탈의 도메인.yml 파일은 프로젝트의 범위를 정의합니다. 인 텐트, 엔터티, 슬롯, 작업, 특히 샘플 r과 같은 프로젝트에 대한 중요한 정보가 포함됩니다.지지하다 봇이 메시지를 받으면 사용자에게 다시 보내야합니다. 비슷하다 nlu.yml, 봇 응답은 의도에 따라 분류됩니다. 예를 들어 응답 : utter_greet 봇이 사용자에게 인사말을 보내려고 할 때마다 전송됩니다.. 이것은 아래 코드 세그먼트에 나와 있습니다.
의도 :
-인사 :
use_entities : true
- 안녕:
use_entities : true
-확인 :
use_entities : true
-거부 :
use_entities : true
-기분 좋은 :
use_entities : true
-기분 _ 불행 :
use_entities : true
-bot_challenge :
use_entities : true엔티티 : []
슬롯 : {}응답 :
utter_greet :
— 텍스트 : Hey! 어떻게 지내세요?
— 텍스트 : 안녕하세요! 오늘 어떠세요?
utter_cheer_up :
— 이미지 : https://i.imgur.com/nGF1K8f.jpg
텍스트 : '기운을 북돋아 줄 무언가가 있습니다.'
utter_did_that_help :
— 텍스트 : 도움이 되었습니까?
utter_happy :
— 텍스트 : 좋아요, 계속하세요!
utter_goodbye :
— 텍스트 : 안녕
utter_iamabot :
— 텍스트 : 저는 Rasa가 제공하는 봇입니다.작업 : []
양식 : {}
e2e_actions : []
XNUMXD덴탈의 이야기.yml 파일 사용자의 메시지와 봇 응답을 함께 가져옵니다. 봇과 사용자간에 발생할 수있는 여러 상호 작용의 줄거리 또는 플롯을 만듭니다. 사용자가 보낸 메시지의 의도에 따라 챗봇이 제공해야하는 응답을 지정합니다. 이는 챗봇에게 다양한 시나리오에서 수행 할 작업을 가르치는 데 도움이됩니다. 예를 들어 아래 코드 세그먼트를 보면 챗봇이 의도가있는 메시지를 수신하는 경우 '인사', 응답을 보내는 작업을 수행해야합니다.완전 인사'다시 사용자에게.
이야기 :-이야기 : 행복한 길
단계 :
— 의도 : 인사
— 액션 : utter_greet
— 의도 : mood_great
— 액션 : utter_happy
이 시점에서 챗봇은 매우 기본적이고 일반적인 대화 만 처리 할 수 있습니다. 개인 또는 비즈니스 요구 사항에 맞게 기본 챗봇을 변경해야합니다. 내용을 수정하여이를 수행 할 수 있습니다. nlu.yml, 스토리.yml, 도메인.yml 텍스트 편집기를 사용하여 위에서 언급 한 파일. 그러나 이러한 변경을 수행하는 가장 좋은 방법은 플랫폼을 사용하는 것입니다. 라사 X.
이 XNUMX 부 시리즈의 다음 부분에서는 Rasa X를 사용하여 챗봇을 수정, 훈련 및 테스트하는 방법에 대해 설명합니다. 게시물을 찾을 수 있습니다. 여기에서 지금 확인해 보세요.!
이 게시물이 마음에 들면 HIT Buy me a coffee! 읽어 주셔서 감사합니다.
여러분의 기여로 인해 이와 같은 콘텐츠를 더 많이 만들 수 있습니다.