PyTorch の NLP ベースのチャットボット。 ボーナス Flask と JavaScript のデプロイメント

ソースノード: 1123050
ビクトリア・マスロワ

顧客満足度を向上させるさまざまな方法の中でも、チャットボットは 顧客ベースを支援する強力なソリューション。チャットボットは手頃な価格で、ビジネスの拡大に役立ち、完全にカスタマイズ可能で、顧客が適切な製品/サービスを見つけやすく、ビジネスの信頼を築くのに役立ちます。これを証明するために、次の内容を見ていきます。

  1. 機械学習チャットボットとは何ですか?
  2. チャットボットがさまざまなビジネス分野で重要なのはなぜですか?
  3. PyTorch を使用して独自の NLP ベースのチャットボットを構築します。
  4. Javascript と Flask でチャットボットをデプロイします。

チャットボット(会話型AI) は、テキスト メッセージ、音声チャット、またはその両方を通じて人間の会話をシミュレートする自動プログラムです。多くの入力に基づいてそれを行う方法を学習します。 自然言語処理(NLP).

意味論のため、この記事ではチャットボットと会話アシスタントを同じ意味で使用します。これらは同じ意味です。

Business Insider の報告によると、世界のチャットボット市場は 2.6 年の 2019 億ドルから 9.4 年には 2024 億ドルに成長し、年平均成長率は 29.7% になると予測されています。同レポートでは、顧客にシームレスなオムニチャネル体験を提供する需要が高まっているため、チャットボットの導入が最も伸びるのは小売業界と電子商取引業界になるだろうとも示唆している。

それだけでも十分納得していただけるはずです チャットボットは顧客関係を扱う方法です しかし、エンタープライズ ツールの内部ツールとしても成長し続けるため、ほぼすべての業界がこのテクノロジーをまだ導入していない場合は採用するでしょう。

以下に、チャットボット戦略を採用する企業が増えている主な理由と、チャットボット戦略が顧客を獲得し維持するための双方にとって有利な方式である理由を示します。

  • 顧客の待ち時間を短縮 - 消費者の21% チャットボットをビジネスに連絡する最も簡単な方法として見る。ボットは、顧客を行列で待たせることなく、求めている応答を即座に受け取ることができる、より賢い方法です。
  • 24時間7日の可用性 — ボットは常に利用可能であり、顧客からのよくある質問に即座に答えて顧客と関わることができます。チャットボットを使用することで得られる最大のメリットは、24 時間対応のカスタマー サービスです。
  • より良い顧客エンゲージメント — 会話型ボットは、プロアクティブな保全を開始し、顧客エクスペリエンスを向上させるパーソナライズされた推奨事項を提供することで、24 時間顧客と関わることができます。
  • 顧客サービスコストを節約する — チャットボットは企業がより多くのコストを節約するのに役立ちます 2022年の174億4000万ドル 1年当たり。ボットは簡単に拡張できるため、より多くのリソースを雇用するためのカスタマー サポート コストやインフラストラクチャ コストなどを節約できます。
  • リードの評価と販売を自動化する — チャットボットを使用してセールスファネルを自動化し、リードを事前に評価し、さらなる育成のために適切なチームにリードすることができます。顧客を即座に引き付けることができると、見込み顧客の数とコンバージョン率が向上します。

1. 会話型 AI が顧客サービスを自動化する方法

2. 自動チャット vs ライブチャット: カスタマーサービスの未来はどうなる?

3. COVID-19パンデミックにおける医療アシスタントとしてのチャットボット

4. チャットボット対。 インテリジェント仮想アシスタント — 違いと注意点は?

開発者、データ サイエンティスト、機械学習エンジニアが次のようなチャットボットを作成および維持できるプラットフォームは数多くあります。 ダイアログフロー & Amazon Lex。しかし、この記事の私の目的は、自然言語処理のためのフィードフォワード ネットワークの概念を理解するのに役立つように、チャットボットをゼロから作成する方法を示すことです。

始めましょう!

私の完全なコードは簡単に見つけることができます GitHubレポ.

モデルを構築するために従うべき短い計画を次に示します。

  1. 理論 + NLP の概念 (ステミング、トークン化、バッグ オブ ワード)
  2. トレーニングデータを作成する
  3. PyTorch モデルとトレーニング
  4. モデルを保存/ロードしてチャットを実装する

コーヒーと紅茶のサプライヤーが営業時間や予約オプションなどに関する簡単な質問に対応できるよう、チャットボットを構築します。

チャットボット フレームワークには、会話の意図を定義する構造が必要です。これを行うきれいな方法の 1 つは、次のような JSON ファイルを使用することです。

チャットボットの意図

各会話の意図には次のものが含まれます。

  • a タグ (ユニークな名前)
  • パターン (ニューラル ネットワーク テキスト分類器の文パターン)
  • 回答 (1 つは応答として使用されます)

NLP パイプラインは次のようになります

  • トークン化
  • ロア+ステム
  • 句読点文字を除外する
  • 言葉の袋

文書(文)のリストを作成します。各文は次のリストです。 語幹のある言葉 そして各ドキュメントはインテント (クラス) に関連付けられます。完全なコードが入っています このファイル.

次に、トレーニング データとハイパーパラメータを設定する必要があります。

必要な前処理ステップをすべて完了した後、 モデル.py フィードフォワード ニューラル ネットワークを定義するファイル。

フィードフォワードニューラルネットワークは、 人工神経回路網 ユニット間の接続が形成されていない場合 サイクル。フィードフォワード ニューラル ネットワークは、発明された最初のタイプの人工ニューラル ネットワークであり、対応するものよりも単純です。 リカレントニューラルネットワーク。 They are calledという フィードフォワード なぜなら、情報はネットワーク内を前方にのみ移動し (ループなし)、最初に入力ノードを通過し、次に入力ノードを通過するからです。 隠しノード (存在する場合)、最後に出力ノードを経由します。

気をつけて!後でクロスエントロピー損失を使用し、自動的に活性化関数が適用されるため、最終的には活性化関数は必要ありません。

ReLU を使用する理由

これらはシンプルで計算が速く、シグモイド関数 (ロジスティック、tanh、erf など) のような勾配消失の影響を受けません。実装が簡単なため、GPU での使用に適しています。GPU は、行列演算 (3D グラフィックスにも必要) 用に最適化されているため、今日では非常に一般的です。

CrossEntropy Loss と Adam を定義した後、バックワード ステップとオプティマイザー ステップを実装します。

これらすべての行は何を意味するのでしょうか?

PyTorch では、トレーニング フェーズ中のすべてのミニバッチについて、逆伝播 (つまり、重みとバイアスの更新) を開始する前に勾配を明示的にゼロに設定する必要があるため、zero_grad() をオプティマイザーに設定します。これは、PyTorch が勾配を累積するためです。その後の後方パス。

.backward() を複数回呼び出すと、各パラメーターの勾配が (加算により) 累積されます。これが、各 .step() 呼び出しの後に optimizer.zero_grad() を呼び出す必要がある理由です。最初の .backward 呼び出しに続いて、2 番目の呼び出しは別の forward パスを実行した後にのみ可能であることに注意してください。

optimizer.step は、現在の勾配 (パラメーターの .grad 属性に保存されている) と更新ルールに基づいてパラメーターの更新を実行します。

最後に、train.py スクリプトを実行すると、なんと素晴らしい結果が得られました。

そして最後の部分では、モデルを保存する必要があります。ここでは私が簡単にやった方法を紹介します。

私はさらに進んで、ChatBot の素晴らしい視覚化を作成することにしました。

私の HTML、CSS、JavaScript スクリプトはすべて GitHub リポジトリにあります。

お楽しみください!

さて、チャットボットとは何か、そしてボット テクノロジーがあらゆる種類のビジネスにとってどれほど重要であるかはご存知でしょう。ボットによって企業が顧客とやり取りする方法が劇的に変わったことに、あなたもきっと同意するでしょう。

チャットボット テクノロジーは、今後の顧客エンゲージメント戦略の重要な部分になるでしょう。近い将来、ボットは人間の能力を強化するために進歩し、人間のエージェントは戦略的活動を処理する上でより革新的になるでしょう。

Source: https://chatbotslife.com/nlp-based-chatbot-in-pytorch-bonus-flask-and-javascript-deployment-474c4e59ceff?source=rss—-a49517e4c30b—4

タイムスタンプ:

より多くの チャットボットの生活