실습 내용은 유튜브 동빈나님 강의를 참고하였다
https://www.youtube.com/watch?v=WLUEghtVS9k
agent - 다이얼로그 플로우 프로젝트 단위
intent - 의도. 사용자의 의도를 단위로 나누어서 로직을 처리함.
강의 예약 서비스를 만들어보자
intent를 Course Reservation으로 설정한다(사용자의 의도 - 강의를 예약하는 것이기 때문)
Training phrases는 사용자가 챗봇에다가 입력할 예시 문장을 넣어준다 그러면 얘가 알아서 학습함
Response - Training phrases에 등록한 문장에 해당하는, 또한 이와 유사한 문장을 사용자가 챗봇에 입력하면 응답 값으로 챗봇이 답장할 내용을 여기에 정해주면 된다. Response에 내가 지정해준 답변으로 챗봇이 답장하는 것이다.
ex)
Training phrases에 강의를 신청할래요 등록
-> Response에 '어떤 강의를 들으시겠어요?' 등록
-> 사용자가 챗봇에 '강의 신청' 메시지 입력
-> 챗봇이 '어떤 강의를 들으시겠어요?'라고 답장
연계형 챗봇? 대화의 연계적 상황이란?
사용자: 강의를 예약하고 싶습니다.
챗봇: 몇 시 강의를 예약하고 싶으신가요?
사용자: 오후 7시 강의를 예약하고 싶습니다.
챗봇: (오후 7시 강의 목록을 보여준다)
만드는 방법
intent -> 팔로우업을 만들고 싶은 해당 intent에 마우스를 가져다 대면 add follow-up 어쩌구가 뜬다 -> 클릭 -> custom 클릭
이러면 Contexts에 CourseReservation-followup 이라는 태그가 붙는다. CourseReservation이라는 이름의 intent에서 이어지는 intent라는 뜻이다.
새로운 홈페이지 창에서 챗봇 테스트하는 방법
왼쪽 메뉴 클릭 -> integrations 클릭 -> enable 클릭하고 해당 url 접속하면 이렇게 챗봇에서 대화할 수 있음
엔티티: 객체. 엔티티(객체)를 정의해서 그 객체별로 로직을 처리하고자 할 때 사용함
ex) 강의명(CourseName)이라는 엔티티 안에 자바, html, spring 이렇게 세부적으로 지정해줄 수 있음
설정 방법
왼쪽 메뉴창에서 Entity 들어간 다음에 Create Entity로 엔티티 만들어줌. 여기서는 CourseName이라는 엔티티를 만들었음
해당 엔티티가 만들어졌으면 그 엔티티를 클릭하면 안에 Edit 어쩌구가 있음 거기에 각각 Python, Java 이런 식으로 등록 가능
다시 intent로 돌아와서 Training phrase에 등록한 문장에서 엔티티를 찾아 드래그함. 드래그하면 옆에 창이 뜨는데 거기에 우리가 설정해준 @CourseName 엔티티를 클릭해서 등록하면 됨.
사용자가 답변한 엔티티를 답장으로 쓰고싶을 땐? Response에서 $ 키워드로 써줄 수 있음
ex) 정말로 $CourseName을 예약하시겠습니까?
이렇게 설정해준 경우 사용자가 HTML 예약하고 싶습니다 이렇게 입력했을 때
정말로 HTML을 예약하시겠습니까?
이렇게 답변을 줄 수 있음
여기서 팔로우업을 해서 연계되는 인텐트를 하나 더 만든 경우 사용자가 답변한 엔티티를 답장으로 쓸 때는
ex) 강의 신청이 완료되었습니다. (강의 이름: #CourseReservation-custom-2-followup.CourseName)
이렇게 #intent contexts 이름.엔티티이름 키워드로 해줄 수 있음