あなたのChatbotを取得してDeepl


チャボットの偉大な強みの一つは、それぞれのユーザーに適応する能力です.チャットボットは、ユーザーの詳細を覚えて、サードパーティ製のAPIから情報を取得したり、ユーザーに質問をすることができます.ユーザーの言語を理解し理解することができるのは、ユーザーに会話を適応させる際に、確実にリストの一番上にあります.
この記事では、ユーザーを理解するためにチャットボットを取得し、彼/彼女の言語で会話をするために翻訳を使用する方法を参照してください.我々は、使用するつもりですDeepl 利用可能なアプリケーションCSML Studio . Deeplは無料ではありませんが、非常に正確ではないことに注意してください、あなたは無料で使用できる代替アプリがありますFrengly ; それは無料ですが、それはまた、精度の深さに近いもありません.良いニュースは、両方のアプリは同じように動作します.

1つの言語でchatbotを作成する


英語で食物レシピchatbotをつくりましょう.オープンAPIからレシピを得ます.RecipePuppy . Chatbotは、どんな種類の料理とどのような成分がユーザーがレシピで望むかについて尋ねるつもりです、そして、APIから合った料理を得てください.さすが.
start:
  say "Hi, I am the chatbot that find awesome recipes for you!"
  goto dishType

dishType:
  say "What type of dish are you looking for?"
  hold
  remember dType = event
  goto dishIngredient

dishIngredient:
  say "What ingredient would you like in the recipe?"
  hold
  remember dIngredient = event
  say "Ok! Let me find the right recipes for you!"
  goto results

results:
  do response = HTTP("http://www.recipepuppy.com/api/?i={{dIngredient}}&q={{dType}}").get().send()
  do recipes = response.results
  do cards = []
  foreach (recipe, i) in recipes {
    do cards.push(Card(
        title=recipe.title,
        subtitle=recipe.ingredients,
        image_url=recipe.thumbnail,
        buttons=[]))
  }
  say Carousel(
    cards = cards)
  goto end

Step 2 : Deeplアプリのインストール


私たちのチャットボットを持っているので、翻訳を始めましょう.Deeplアプリをインストールする方法です.ヘッドオーバーFunctions メニューは、リスト内のDeeplアプリを見つけ、インストールします.インストールを終了するには、Deepl資格情報を入力します.fringlyに同じプロセスを行うことができます.

完了!

Step 3 :ユーザの言語を設定する


ユーザーが最初にChatbotに話をするとき、我々はこのユーザーに、彼の/彼女の言語がこの言語に変わるために何であるかについて尋ねたいです.論理のこのビットを加えましょう.
まず最初に、ユーザの言語がchatbotによって既に知られているかどうかをチェックします.そして、それがそうでないならば、我々はロボットがステップに行くことを望みますpickLanguage 他に何か言う前に.このようにして、ユーザの言語をメモリに設定することができます.
start:
  if (!language) goto pickLanguage
  say "Hi, I am the chatbot that find awesome recipes for you!"
  goto dishType

pickLanguage:
  do availableLang = ["fr", "en", "de", "es", "pt", "it", "jp", "cn", "ru"]
  say Question("What language should we speak?",
    button_type="quick_reply",
    buttons=availableLang)
  hold
  if (!availableLang.find(event)) {
    say "You should click on one of the buttons 🙃"
    goto pickLanguage
  }
  remember language = event
  say "Ok! Let's spreak {{language}}"
  goto start

Step 4 :コンテンツを翻訳


我々はアプリをインストールし、ユーザーの言語を知っている今、我々は動的にchatbotとユーザーが言うすべてを翻訳する必要があります.この方法では、ユーザが「オムレツデュフロマージュ」を尋ねるとき、chatbotは理解できるでしょう🤣.

翻訳ロジックをラップするCSML関数を作成しましょう.
fn translate(from, to, text):
  if (from == to) return text
  do t = Fn("deepl", from=from, to=to, text=text)
  return t.translations[0].text

// Let's check how transltion work in the `dishType` step for instance
dishType:
  // Translating to the user language
  say translate("en", language, "What type of dish are you looking for (tart, stew, ...)?")
  hold
  // Translating user input to english before placing the value in a variable
  remember dType = translate(language, "en", event)
  goto dishIngredient

画面の右下にあるチャットボットをクリックして結果を参照してください!
以下にchatbotのソースコードを示します:https://github.com/CSML-by-Clevy/recipe-finder

更なる


このchatbotを改善するいくつかのアイデアがあります.
  • いくつかのレシピをCarousel() コンポーネント
  • 他の人に彼/彼女の言語を変更するには、ユーザーに機会を与える
  • ので、ユーザーが実際の単語を使用して言語を選ぶことができるいくつかのNLPプラグイン
  • 複数の成分を提供できるようにする
  • 料理の種類や成分が存在するかどうかを確認する
  • よく、私はchatbotを改善する多くの方法があると思います、しかし、少なくとも、我々は大きなベースを持っています!