Rasa 모델

2023. 10. 17. 10:39파이썬/자연어 처리

https://roytravel.tistory.com/360

 

[자연어처리] 챗봇 시스템 구축 (Rasa 활용)

Rasa 개요 챗봇을 구축하기 위해 사용할 수 있는 라이브러리로는 Rasa가 있고, 한글 버전으로는 Kochat이 있다. 웹 인터페이스 기반으로 코드를 사용하지 않고 쉽게 챗봇을 만들 수 있는 DialogFlow라는

roytravel.tistory.com

 

 

 

✔️ Python 버전 :3.7 ~ 3.10 지원 

 

✔️ annotion 도구 지원 : https://rasahq.github.io/rasa-nlu-trainer/ (json으로 변환)

 

✔️ 파일 

config.yml - NLU  파이프라인 및 정책 앙상블에 대한 교육 구성

domain.yml - 인텐트(분류)를 등록하고, 버전을 지정하는 파일 / 봇 응답 템플릿을 포함한 도메인 파일

 

✔️ 분류

1.Rasa NLU

- 인텐트 분류와 엔티티 추출에 사용되는 것 

 

cf) 엔터티

엔티티는 범주를 의미하는 것

예시) 음식 주문 할 때 A라는 음식  2개를 가져달라고 요청

"음식 종류"라는 엔티티는 "A"

"음식 수량"이란 엔티티는 '2'

 

이처럼 하나의 인텐트에는 여러 엔티티를 가질 수 있는 것이 특징이다. 

 

2.Rasa Core

- 인텐트 추가와 같은 파인튜닝, 업스케일링을 도와주는 라이브러리

- domain.yml 파일이 필요  구성( 1. 인텐트 2. 엔티티 3. 슬롯 4. 템플릿 5. 액션)

1. 인텐트는 발화의 의도
2. 엔티티는 발화 속 캐치해야 할 핵심 키워드
3. 슬롯은 키워드가 채워질 공간을 말한다.
별자리 별 운세를 알려주는 태스크에서는 월/일을 알아야 하므로 MM, DD같은 슬롯이 정의될 수 있다. 
4. 템플릿은 말 그대로 인텐트에 대한 기본 응답을 뜻한다.
여러 개의 기본 응답을 만들어 랜덤으로 사용한다면 다양하기에 사용자 경험에 있어 친근감을 줄 수 있는 요소가 될 것이다.
5. 액션은 사용자 발화에 따라 어떤 행동을 취할 수 있을지를 정의하는 것이다. 

 

 

 

 

728x90