検索
ホームページテクノロジー周辺機器AIステートマシンに基づいたチャットボット設計の経験の概要

インテリジェントロボットプロジェクトのニーズと改善の方向性をより深く理解するために、多くの場合、いくつかのツールを開発する必要があります。私が関わったいくつかのロボットプロジェクトのうち、ほとんどは製品要件を満たすことに成功しています。これらの実践を通じて、私たちは進歩と改善を続けたいのであれば、既存のロボット定義言語を大幅に改善する必要があることを深く認識しました。

  • 複雑な会話フローを必要とするボットの作成プロセスを簡素化します。
  • 過去に定義されたモジュールと会話パスを再利用してボットを作成することで、再利用性を最大限に高める

従来の実践では、インテント定義が混在しているため、これを実現するのは簡単ではありません。部分的な順序の制約により、会話パスの自由が制限されます。これは、ほとんどの質問が自己完結型で常に利用可能な「オープン」ボット (FAQ スタイルのボットに一般的) を処理するのに十分です。しかし、より「クローズド」なボットの場合、潜在的な会話の制限がはるかに大きくなります (オンラインからチケットを注文するボットの場合など)。

ステートマシンに基づいたチャットボット設計の経験の概要

チャットボット定義言語の機能を新しいレベルに引き上げるために、いくつかのプロジェクトでは、ステート マシンのセマンティクスに近く、意図を完全に定義する DSL を導入しました。固定小数点の利用可能なインテンションを実行するようにロボットを制御する変換ルールから分離すると、これには次の利点があります。

  1. 設定された対話パスが異なっていても、以前のインテンションを新しいロボットで再利用できます。 。
  2. ステート マシンを使用して複雑な会話フローを定義できるため、ボットは明確で正確なセマンティクスを維持できます。
  3. 複雑なステート ガードを作成して遷移を制御できます。ユーザー入力、今後のイベントと以前のデータ、会話パラメータなどに基づいてボットを新しい状態に移行します。
  4. 状態ボディは、ユーザーのリクエストに応じて複雑な会話ロジックを保存するために使用できます。
  5. ロボットをモジュール化して、ステート マシンの一部を他のロボットで再利用できます。
  6. ローカル フォールバックは、ステートフルな動作の一部として定義できます。デフォルトのグローバル フォールバックに加えて、ローカル フォールバックを状態に関連付けて、状態のコンテキストでエラーを処理することもできます。たとえば、会話の特定の状態でボットからの質問にユーザーが答えるのに役立つメッセージを表示します。

インテント定義言語

インテント定義は実行部分から切り離されましたが、依然として別個のサブ言語です。ロボットがユーザーの発話の意図を認識し、そこから必要なパラメータを抽出できるように、意図ごとにいくつかのトレーニング文を提供するだけで済みます。

例として、挨拶と名前の述べという 2 種類のユーザー発話のみを理解する単純なボットがあります。発話タイプごとにいくつかの例文を提供し、ロボットにそれらを認識する方法を学習させることができます。ユーザーが発話を入力すると、ロボットはその意図に基づいて対応するアクションを実行し、そこから必要なパラメータを抽出します。

intent Hello {
inputs {
"你好"
"早上好"
}
}
 
intent MyNameIs {
inputs {
"我的名字叫小明"
"我是小明"
"你可以叫我小明"
}
creates context Greetings {
set parameter name from fragment "小明" (entity any)
}
}

ロボットの認識方法を訓練するために、各インテントのサンプル文をいくつか提供します。さらに、場合によっては、将来的にユーザーにさらに個人的に対応できるように、コンテキスト内のパラメーター (ユーザー名など) も収集します。

ボットが最初にどのインテントとの照合を試行するかは指定されていません。これは実行言語の一部です。このアプローチにより、これらのインテントを再利用できます (たとえば、別のボットでは、挨拶インテントの直後ではなく、ユーザーに名前を尋ねる必要がある場合があります)。

実行定義言語

実行ファイルを使用して、ロボットがインテント/イベントにどのように応答し、遷移できるかを記述するステート マシンを定義します。これにより、ボット設計者は実行ファイルを表示して、会話全体のフローを理解できるようになります。

実行言語の各状態には 3 つの部分が含まれます

  • 本文 (オプション): 状態に入るときにロボットが実行する反応。
  • Next (必須): condition –> State として表現される、アウトバウンド変換を定義します。 イベント/インテントを受信すると、条件が評価され、遷移が満たされた場合、実行エンジンは指定された状態に移行し、対応する反応を実行します。 変換条件は非常に複雑になる可能性があることに注意してください。 これらは真のガードです。つまり、条件全体が true でない場合、遷移はナビゲートできず、エンジンは現在の状態のままになります。
  • Fallback (オプション): このセクションには任意のコード (Body セクションと同様) を含めることができ、エンジンがこれらのコードのナビゲート可能な遷移を見つけられない場合に実行されます。 。

実行モデルには 2 つの特別な状態も含まれています:

  • Init:是创建用户会话时进入的常规状态。它可以包含 Body、_Next_和 Fallback 部分。
  • Default_Fallback:它只能包含 Body 部分,并且不能作为转换的目标状态。该状态表示在当前状态中未定义本地回退时执行的默认回退代码。该状态可用于打印通用错误消息(例如,“抱歉,我没明白您的意思”),而本地回退则可以打印针对当前状态的定制消息(例如,“请回答是或否”)。

最后,一个状态可以定义一个单一的通配符转换(使用保留字符___作为转换条件),当计算状态主体时将自动导航。这使我们能够在多个地方重用相同的代码并模块化执行逻辑。下面是一个简单的机器人示例,它只回复问候意图,询问用户名并向用户问好。这个机器人的回复可以通过我们基于 React 的聊天小部件显示。

//We can always have an init state in case we need to initialize some bot parameters (e.g. welcoming message)
Init {
Next { 
//Here we state that the bot will first listen for an utterance matching the Hello intent, it will ignore anything else
intent == Hello --> HandleHello
}
}
HandleHello {
Body {
 ReactPlatform.Reply("你好, 你叫什么名字?")
}
Next {
//We wait for the user to input the name, no other transition is possible at this point
//Obviously, in more complex bots we may have several possible outgoing transitions in a given state
intent == MyNameIs --> HandleMyNameIs
}
}
HandleMyNameIs {
Body {
ReactPlatform.Reply("你好 " + context.get("Greetings").get("name"))
}
Next {
// An automatic transition to the Init state since at this point the conversation is finished and we can start again
_ --> Init
}
}
// Default Fallback state could go here


以上がステートマシンに基づいたチャットボット設計の経験の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は51CTO.COMで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
ChatGPTが使えない!原因とすぐ試せる対処法を解説【2025年最新】ChatGPTが使えない!原因とすぐ試せる対処法を解説【2025年最新】May 14, 2025 am 05:04 AM

ChatGptはアクセスできませんか?この記事では、さまざまな実用的なソリューションを提供しています!多くのユーザーは、ChatGPTを毎日使用する場合、アクセス不能や応答が遅いなどの問題に遭遇する可能性があります。この記事では、さまざまな状況に基づいてこれらの問題を段階的に解決するように導きます。 ChatGPTのアクセス不能性と予備的なトラブルシューティングの原因 まず、問題がOpenaiサーバー側にあるのか、ユーザー自身のネットワークまたはデバイスの問題にあるのかを判断する必要があります。 以下の手順に従って、トラブルシューティングしてください。 ステップ1:OpenAIの公式ステータスを確認してください OpenAIステータスページ(status.openai.com)にアクセスして、ChatGPTサービスが正常に実行されているかどうかを確認してください。赤または黄色のアラームが表示されている場合、それは開くことを意味します

ASIのリスクを計算することは、人間の心から始まりますASIのリスクを計算することは、人間の心から始まりますMay 14, 2025 am 05:02 AM

2025年5月10日、MIT物理学者のMax Tegmarkは、AI Labsが人工的なスーパーインテリジェンスを解放する前にOppenheimerの三位一体計算をエミュレートすべきだとGuardianに語った。 「私の評価では、「コンプトン定数」、競争が

ChatGPTで作詞・作曲する方法とおすすめツールをわかりやすく解説ChatGPTで作詞・作曲する方法とおすすめツールをわかりやすく解説May 14, 2025 am 05:01 AM

AI Music Creation Technologyは、1日ごとに変化しています。この記事では、ChatGPTなどのAIモデルを例として使用して、AIを使用して音楽の作成を支援し、実際のケースで説明する方法を詳細に説明します。 Sunoai、Hugging Face、PythonのMusic21 Libraryを通じて音楽を作成する方法を紹介します。 これらのテクノロジーを使用すると、誰もがオリジナルの音楽を簡単に作成できます。ただし、AIに生成されたコンテンツの著作権問題は無視できないことに注意する必要があります。使用する際には注意する必要があります。 音楽分野でのAIの無限の可能性を一緒に探りましょう! Openaiの最新のAIエージェント「Openai Deep Research」が紹介します。 [chatgpt] ope

ChatGPT-4とは?できることや料金、GPT-3.5との違いを徹底解説!ChatGPT-4とは?できることや料金、GPT-3.5との違いを徹底解説!May 14, 2025 am 05:00 AM

ChATGPT-4の出現により、AIアプリケーションの可能性が大幅に拡大しました。 GPT-3.5と比較して、CHATGPT-4は大幅に改善されました。強力なコンテキスト理解能力を備えており、画像を認識して生成することもできます。普遍的なAIアシスタントです。それは、ビジネス効率の改善や創造の支援など、多くの分野で大きな可能性を示しています。ただし、同時に、その使用における予防策にも注意を払わなければなりません。 この記事では、ChATGPT-4の特性を詳細に説明し、さまざまなシナリオの効果的な使用方法を紹介します。この記事には、最新のAIテクノロジーを最大限に活用するためのスキルが含まれています。参照してください。 Openaiの最新のAIエージェント、「Openai Deep Research」の詳細については、以下のリンクをクリックしてください

ChatGPTのアプリの使い方を解説!日本語対応で音声会話機能もChatGPTのアプリの使い方を解説!日本語対応で音声会話機能もMay 14, 2025 am 04:59 AM

ChatGPTアプリ:AIアシスタントで創造性を解き放つ!初心者向けガイド ChatGPTアプリは、文章作成、翻訳、質問応答など、多様なタスクに対応する革新的なAIアシスタントです。創作活動や情報収集にも役立つ、無限の可能性を秘めたツールです。 この記事では、ChatGPTスマホアプリのインストール方法から、音声入力機能やプラグインといったアプリならではの機能、そしてアプリ利用上の注意点まで、初心者にも分かりやすく解説します。プラグインの制限やデバイス間の設定同期についてもしっかりと触れていきま

ChatGPTの中文版の利用方法は?登録手順や料金について解説ChatGPTの中文版の利用方法は?登録手順や料金について解説May 14, 2025 am 04:56 AM

Chatgpt中国語版:中国語のAIの対話の新しい体験のロックを解除する ChatGptは世界中で人気がありますが、中国語版も提供していることをご存知ですか?この強力なAIツールは、毎日の会話をサポートするだけでなく、プロのコンテンツを処理し、簡素化された伝統的な中国語と互換性があります。中国のユーザーであろうと、中国語を学んでいる友人であろうと、あなたはそれから利益を得ることができます。 この記事では、アカウント設定、中国語の迅速な単語入力、フィルターの使用、さまざまなパッケージの選択を含むChatGpt中国語のバージョンの使用方法を詳細に紹介し、潜在的なリスクと対応戦略を分析します。さらに、ChatGpt中国語版を他の中国のAIツールと比較して、その利点とアプリケーションシナリオをよりよく理解するのに役立ちます。 Openaiの最新のAIインテリジェンス

5 AIエージェントの神話あなたは今信じるのをやめる必要があります5 AIエージェントの神話あなたは今信じるのをやめる必要がありますMay 14, 2025 am 04:54 AM

これらは、生成AIの分野で次の飛躍と考えることができ、ChatGptやその他の大規模なモデルのチャットボットを提供しました。単に質問に答えたり情報を生成したりするのではなく、彼らは私たちに代わって行動を起こすことができます。

ChatGPTで複数アカウントを作成・管理する不法をわかりやすく解説ChatGPTで複数アカウントを作成・管理する不法をわかりやすく解説May 14, 2025 am 04:50 AM

ChatGPTを活用した効率的な複数アカウント管理術|ビジネスとプライベートの使い分けも徹底解説! 様々な場面で活用されているChatGPTですが、複数アカウントの管理に頭を悩ませている方もいるのではないでしょうか。この記事では、ChatGPTの複数アカウント作成方法、利用上の注意点、そして安全かつ効率的な運用方法を詳しく解説します。ビジネス利用とプライベート利用の使い分け、OpenAIの利用規約遵守といった重要な点にも触れ、複数アカウントを安全に活用するためのガイドを提供します。 OpenAI

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。