ホームページ  >  記事  >  バックエンド開発  >  PythonとRasaを使ったチャットボット

PythonとRasaを使ったチャットボット

WBOY
WBOY転載
2023-09-15 11:33:02892ブラウズ

PythonとRasaを使ったチャットボット

チャットボットは、企業が顧客と対話するための好ましいコミュニケーション ツールとして認識されており、より効率的で便利な対話方法を提供します。 Python は、開発リソースによって簡素化されたプログラミング言語であり、さまざまなチャットボットを構築するための最初の選択肢となっています。一方、Rasa は、自然言語を理解するチャットボットの構築に焦点を当てた特殊なツールです。

この記事では、Python と Rasa を使用したチャットボット開発の魅力的な世界を詳しく掘り下げていきます。チャットボットの目的を定義し、自然言語を理解するようにトレーニングし、トレーニングを通じて応答を微調整するプロセスを詳しく見ていきます。これらの強力なツールを使用すると、開発者は、シームレスでユーザーフレンドリーな対話型エクスペリエンスを提供するカスタマイズされたチャットボットを作成できます。顧客サービス、電子商取引、またはその他の目的でチャットボットを開発することが目標であっても、この記事では、Python と Rasa を使用してチャットボットを構築する刺激的な可能性を紹介します。

Rasa を始めましょう

Rasa は Python パッケージとして入手でき、Python のパッケージ マネージャーである pip を使用してインストールできます。 Rasa をインストールするには、ターミナルまたはコマンド プロンプトを開き、次のコマンドを実行します:

リーリー

インストールが完了したら、Rasa init コマンドを使用して新しい Rasa プロジェクトを作成できます。このコマンドは、必要なファイルとフォルダーを含むチャットボット プロジェクト用の新しいディレクトリを作成します。

リーリー

このコマンドは、次のディレクトリ構造を持つ新しい Rasa プロジェクトを作成します:

リーリー

actions フォルダーには、チャットボットのカスタム アクションを定義する Python スクリプトが含まれています。データ フォルダーには、NLU (自然言語理解)、ストーリー、ルールのマークダウン ファイル形式のトレーニング データが含まれています。モデル フォルダーには、チャットボットがクエリを理解して応答するために使用するトレーニング済みモデルが含まれています。

シンプルなチャットボットを作成する

チャットボットを作成するには、そのドメイン、意図、エンティティ、およびアクションを定義する必要があります。 Domain.yml ファイルは、インテント、エンティティ、スロット、アクションを含むチャットボットのドメインを定義します。

インテントはユーザーの意図であり、エンティティはユーザーの意図を満たすためにユーザーが提供するデータです。スロットは、名前や場所などのユーザーに関する情報を保存するために使用されます。アクションは、チャットボットがユーザーに提供する応答です。

これはサンプルのdomain.ymlファイルです:

リーリー

この例では、greet (挨拶)、goodbye (別れ)、confirm (確認)、deny (拒否) の 4 つの意図を定義します。また、名前と場所という 2 つのエンティティも定義します。最後に、utter_greet (応答の挨拶)、utter_goodbye (さよならの応答)、utter_ask_name (応答要求の名前)、および utter_ask_location (応答要求の場所) の 4 つのアクションを定義しました。

これらのアクションは、チャットボットがユーザーに提供する応答を定義します。たとえば、utter_greet オペレーションは「こんにちは、今日は何かお手伝いできますか?」

と言うかもしれません。

ドメインを定義したら、チャットボットのトレーニング データを提供する必要があります。これを行うには、NLU、ストーリー、およびルール ファイルをデータ フォルダーに作成します。

NLU ファイルには、ユーザー クエリとそれに対応するインテントとエンティティの例が含まれています。 NLU ファイルの例を次に示します:

リーリー

NLU ファイルでは、挨拶 (挨拶)、さようなら (別れ)、肯定 (確認)、拒否 (拒否) の 4 つの意図を定義します。各インテントには、ユーザーが入力できるクエリの例が含まれています。

ストーリー ファイルは、ユーザーがチャットボットと対話するときにたどる会話パスを定義します。ストーリー ファイルのサンプルは次のとおりです:

リーリー

この特定のケースには 2 つのストーリーの定義が含まれます。最初のストーリーは、ユーザーがチャットボットに挨拶するところから始まり、チャットボットは挨拶を返し、ユーザーの名前を要求します。ユーザーが名前を入力すると、チャットボットが位置を尋ねます。最後に、ユーザーが自分の位置情報を提供すると、チャットボットが感謝の意を表します。

2 番目のストーリーは、ユーザーがチャットボットに挨拶するところから始まります。ユーザーは助けが必要であることを否定し、チャットボットは別れのメッセージを返します。

ルール ファイルは、特定のアクションをトリガーする条件を定義します。以下はルール ファイルのサンプルです:

リーリー

この例では、ユーザーがチャットボットに挨拶するときに 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。