[파이썬][AI Chatbot] Rasa 의 NLU (자연어 이해) 예제

Rasa는 대화형 AI 애플리케이션을 개발하기 위한 플랫폼으로, NLU (Natural Language Understanding) 역시 그 중요한 부분입니다. Rasa NLU를 사용하여 사용자의 발화를 이해하고 의도(intent)와 개체(entity)를 추출할 수 있습니다. 아래는 Rasa NLU의 예제 코드입니다.

먼저, Rasa를 설치합니다:

pip install rasa` 

다음은 Rasa NLU의 예제 코드입니다:

  1. 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)?
  1. Rasa NLU 모델 훈련:

    NLU 데이터를 사용하여 Rasa NLU 모델을 훈련합니다.

    `rasa train nlu` 
  1. Rasa NLU 모델 테스트:

    훈련된 모델을 사용하여 사용자의 발화를 인식하고 의도 및 개체를 추출합니다.

    `rasa shell nlu` 
이후에 사용자의 발화를 입력하면 해당 발화의 의도와 개체가 인식되고 출력됩니다.

위의 예제에서는 사용자의 발화를 “greet”, “goodbye”, “book_flight”의 세 가지 의도로 구분하고, [London](city)[New York](city)와 같은 개체를 추출하도록 설정되어 있습니다. Rasa NLU를 사용하여 다양한 의도와 개체를 훈련하고 인식할 수 있습니다.