Python과 Rasa를 사용한 챗봇

WBOY
풀어 주다: 2023-09-15 11:33:02
앞으로
925명이 탐색했습니다.

Python과 Rasa를 사용한 챗봇

챗봇은 기업이 고객과 상호 작용하는 데 선호하는 커뮤니케이션 도구로 인식되어 보다 효율적이고 편리한 상호 작용 방법을 제공합니다. 개발 리소스를 통해 단순화된 프로그래밍 언어인 Python은 다양한 챗봇을 구축하기 위한 첫 번째 선택이 되었습니다. 반면 Rasa는 자연어 이해 기능을 갖춘 챗봇 구축에 중점을 둔 전문 도구입니다.

이 기사에서는 Python과 Rasa를 사용하여 챗봇 개발의 매혹적인 세계를 탐구하겠습니다. 챗봇의 목적을 정의하고, 자연어를 이해하도록 훈련시키고, 훈련을 통해 응답을 미세 조정하는 과정을 자세히 살펴보겠습니다. 이러한 강력한 도구를 사용하여 개발자는 원활하고 사용자 친화적인 대화형 경험을 제공하는 맞춤형 챗봇을 만들 수 있습니다. 귀하의 목표가 고객 서비스, 전자 상거래 또는 기타 목적을 위한 챗봇을 개발하는 것이라면 이 기사에서는 Python 및 Rasa를 사용하여 챗봇을 구축할 수 있는 흥미로운 가능성을 소개합니다!

Rasa 시작하기

Rasa는 Python 패키지로 제공되며 Python의 패키지 관리자인 pip를 사용하여 설치할 수 있습니다. Rasa를 설치하려면 터미널이나 명령 프롬프트를 열고 다음 명령을 실행하세요.

으아아아

설치가 완료된 후 Rasa init 명령을 사용하여 새 Rasa 프로젝트를 생성할 수 있습니다. 이 명령은 필요한 파일과 폴더가 포함된 챗봇 프로젝트를 위한 새 디렉터리를 생성합니다.

으아아아

이 명령은 다음 디렉터리 구조로 새로운 Rasa 프로젝트를 생성합니다:

으아아아

actions 폴더에는 챗봇에 대한 사용자 정의 작업을 정의하는 Python 스크립트가 포함되어 있습니다. 데이터 폴더에는 NLU(자연어 이해), 스토리 및 규칙에 대한 Markdown 파일 형식의 교육 데이터가 포함되어 있습니다. 모델 폴더에는 챗봇이 쿼리를 이해하고 응답하는 데 사용하는 훈련된 모델이 포함되어 있습니다.

간단한 챗봇 만들기

챗봇을 만들려면 도메인, 의도, 엔터티 및 작업을 정의해야 합니다. domain.yml 파일은 의도, 엔터티, 슬롯 및 작업을 포함하는 챗봇의 도메인을 정의합니다.

인텐트는 사용자의 의도이고 엔터티는 사용자가 의도를 충족시키기 위해 제공하는 데이터입니다. 슬롯은 이름이나 위치와 같은 사용자에 대한 정보를 저장하는 데 사용됩니다. 액션은 챗봇이 사용자에게 제공하는 응답입니다.

다음은 샘플 domain.yml 파일입니다.

으아아아

이 예에서는 인사(인사), 안녕(작별), 확인(확인), 거부(거부)의 네 가지 의도를 정의했습니다. 또한 이름과 위치라는 두 가지 엔터티를 정의합니다. 마지막으로 utter_greet(인사말 답변), utter_goodbye(작별 인사), utter_ask_name(응답 요청 이름) 및 utter_ask_location(응답 요청 위치)의 네 가지 작업을 정의했습니다.

이러한 작업은 챗봇이 사용자에게 제공하는 응답을 정의합니다. 예를 들어, utter_greet 액션은 "안녕하세요, 오늘 무엇을 도와드릴까요?"라고 말할 수 있습니다.

도메인을 정의한 후에는 챗봇에 대한 교육 데이터를 제공해야 합니다. 데이터 폴더에 NLU, 스토리 및 규칙 파일을 생성하면 됩니다.

NLU 파일에는 사용자 쿼리와 해당 의도 및 엔터티의 예가 포함되어 있습니다. 다음은 NLU 파일의 예입니다.

으아아아

NLU 파일은 인사(인사), 안녕(작별), 긍정(확인), 거부(거부)의 네 가지 의도를 정의합니다. 각 인텐트에는 사용자가 입력할 수 있는 예시 쿼리 세트가 있습니다.

스토리 파일은 사용자가 챗봇과 상호작용할 때 취할 수 있는 대화 경로를 정의합니다. 샘플 스토리 파일은 다음과 같습니다.

으아아아

이 특별한 사례는 두 가지 이야기의 정의와 관련이 있습니다. 첫 번째 이야기는 사용자가 챗봇에게 인사하는 것으로 시작하고, 챗봇은 인사말을 반환하고 사용자 이름을 요청합니다. 사용자가 자신의 이름을 입력하면 챗봇이 위치를 묻습니다. 마지막으로 사용자는 자신의 위치를 ​​제공하고 챗봇은 이에 감사합니다.

두 번째 이야기는 사용자가 챗봇에게 인사하는 것으로 시작됩니다. 사용자는 도움이 필요하지 않다고 거부하고 챗봇은 작별 메시지로 응답합니다.

규칙 파일은 특정 작업을 트리거하는 조건을 정의합니다. 다음은 샘플 규칙 파일입니다.

으아아아

이 예에서는 사용자가 챗봇에게 인사할 때 utter_ask_name 작업을 트리거하는 규칙을 정의했습니다.

챗봇 교육 및 테스트

도메인을 정의하고 교육 데이터를 제공한 후에는 Rasa train 명령을 사용하여 챗봇을 교육할 수 있습니다.

으아아아

이 명령은 훈련 데이터를 기반으로 기계 학습 모델을 훈련하고 모델 디렉터리에 저장합니다.

챗봇을 테스트하려면 Rasa 쉘 명령을 사용할 수 있습니다. 이 명령은 텍스트 입력을 사용하여 챗봇과 상호 작용할 수 있는 셸을 시작합니다.

으아아아

이 명령은 Rasa 셸을 시작하고 챗봇과 상호 작용을 시작할 수 있습니다. 예를 들어 "hello"를 입력하여 챗봇과 대화를 시작할 수 있습니다.

Your input -> hello
Hello, how can I help you today?
로그인 후 복사

结论

总之,Python和Rasa提供了出色的工具,用于创建能够有效理解和回应人类语言和互动的聊天机器人。通过定义聊天机器人的领域、意图、实体和动作,开发人员可以训练他们的聊天机器人以自然而高效的方式与用户进行互动。Rasa的先进的自然语言处理能力简化了开发能够提供出色客户体验的聊天机器人的过程。Python和Rasa为构建能够改善沟通和流程的聊天机器人提供了一个有用和直观的框架,无论是用于客户服务还是特定的业务领域。通过它们用户友好的界面和丰富的功能,Python和Rasa提供了一个可靠和高效的平台,用于构建激励用户和支持业务增长的聊天机器人。

위 내용은 Python과 Rasa를 사용한 챗봇의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿