[파이썬][AI Chatbot] Rasa 의 NLU (자연어 이해) 예제
Rasa는 대화형 AI 애플리케이션을 개발하기 위한 플랫폼으로, NLU (Natural Language Understanding) 역시 그 중요한 부분입니다. Rasa NLU를 사용하여 사용자의 발화를 이해하고 의도(intent)와 개체(entity)를 추출할 수 있습니다. 아래는 Rasa NLU의 예제 코드입니다.
먼저, Rasa를 설치합니다:
pip install rasa`
다음은 Rasa NLU의 예제 코드입니다:
-
NLU 데이터 설정:
Rasa NLU의 훈련 데이터를 작성합니다. 아래는 NLU 데이터의 예제입니다 (
data/nlu.md
):
## intent:greet
- hey
- hello
- hi
## intent:goodbye
- bye
- goodbye
- see you later
## intent:book_flight
- I want to book a flight to [London](city)
- Can you help me book a flight to [New York](city)?
-
Rasa NLU 모델 훈련:
NLU 데이터를 사용하여 Rasa NLU 모델을 훈련합니다.
`rasa train nlu`
-
Rasa NLU 모델 테스트:
훈련된 모델을 사용하여 사용자의 발화를 인식하고 의도 및 개체를 추출합니다.
`rasa shell nlu`
이후에 사용자의 발화를 입력하면 해당 발화의 의도와 개체가 인식되고 출력됩니다.
위의 예제에서는 사용자의 발화를 “greet”, “goodbye”, “book_flight”의 세 가지 의도로 구분하고, [London](city)
와 [New York](city)
와 같은 개체를 추출하도록 설정되어 있습니다. Rasa NLU를 사용하여 다양한 의도와 개체를 훈련하고 인식할 수 있습니다.