チャットBotの概要
会話型ボット
Kore.ai のアプローチ
Kore.ai 会話型プラットフォーム
ボットの概念と用語
自然言語処理 (NLP)
ボットタイプ
ボットタスク
Kore.ai プラットフォームを使う
ボットビルダーのアクセス
Kore.ai ボットビルダーを使う
初めてのボット構築
ボット構築を始める
シンプルなボットを構築
ボットビルダー
標準ボットの構築
設計
開発 - 標準ボット
ストーリーボード
ダイアログタスク
ユーザーインテントノード
ダイアログノード
エンティティノード
サポートするエンティティタイプ
複合エンティティ
サポートする色
サポートする会社名
フォームノード
ロジックノード
メッセージノード
確認ノード
サービスノード
カスタム認証の実装
サービスノード用双方向 SSL
スクリプトノード
エージェント転送ノード
Webフックノード
ノードのグループ化
接続と遷移
ダイアログの管理
プロンプトエディタ
アラートタスク
アラートタスク (英語)
無視する単語 & フィールドメモリ
デジタルフォーム
デジタルビュー
知識グラフ
用語
構築
生成
ボットオントロジーのインポート/エクスポート
解析
知識の抽出
スモールトーク
自然言語
概要
機械学習
ML (機械学習) モデル
基本概念
NLP (自然言語処理) の設定 & ガイドライン
知識グラフのトレーニング
示唆
ランキング & リゾルバ
高度な NLP 設定
インテリジェンス
概要
コンテキスト管理
セッションおよびコンテキスト変数
コンテキストオブジェクト
ダイアログ管理
サブインテント
エンティティの変更
複数インテントの検出
センチメント分析 (英語)
トーン分析
センチメント管理
デフォルトの会話
デフォルトの標準レスポンス
チャネルの有効化
テスト & デバグ
ボットと会話
発話テスト
バッチテスト
会話の記録 & テスト
ボットの公開
ボットの分析
概要
ダッシュボード
カスタムダッシュボード
会話フロー
ボットメトリクス (英語)
アドバンスド トピック (英語)
ボット認証
言語管理
共同開発
IVR 統合
データ テーブル
ユニバーサル ボット
定義
構築
トレーニング
カスタマイズ
言語の有効化
スマート ボット
スマート ボットの定義
イベントベースのボットアクション
koreUtil ライブラリ
ボット設定
ボットの機能
ボット設定
PII 設定
エラーメッセージのカスタマイズ
セッションを管理する
ボット管理
ボットのバージョン
ボット変数
API ガイド (英語)
API 概要
API リスト
API コレクション
SDK (英語)
SDK 概要
SDK セキュリティ
SDK アプリ登録
Web 上の SDK チュートリアル
メッセージ形式とテンプレート
モバイル SDK プッシュ通知
メッセージ形式とテンプレート
ウィジット SDK チュートリアル
WebSocket 接続
BotKit SDK の利用
インストール
設定
イベント
機能
BotKit SDK チュートリアル - エージェント転送
BotKit SDK チュートリアル - フライト検索サンプルボット
外部 NLP エンジンの利用
ボット管理者 (英語)
ボット管理者コンソール
ダッシュボード
ユーザー管理
御社ユーザーの管理
御社グループの管理
ロールを管理
ボット管理
エンロール
ユーザーの招待
一括招待
ユーザーのインポート
AD からユーザーを同期
セキュリティ & コンプライアンス
シングル サインオンを使う
セキュリティの設定
クラウド コネクタ
分析
請求処理
How To
シンプルなボットの構築
バンキングボットの構築
送金タスク
残高の更新タスク
知識グラフを作成
知識グラフへ抽出したFAQを入力
スマート アラートのスケジュール
エージェント転送の設定
パネルやウィジットの設定
デジタル ビューの設定
デジタル フォームの設定
データをデータテーブルに追加
データテーブルのデータを更新
フォームデータをデータテーブルに追加
コンテキストの切り替え
意図を使う
インテントやエンティティのパターン
エンティティ ルール
マルチ言語なボットの動き
カスタム ダッシュボード
ボット メトリクスをフィルターするためのカスタムタグ
グローバル変数
コンテンツ変数
ボット機能を使う
ボットリリースのライフサイクル
グループノードを利用したインテントのスコーピング
Kore-Unblu インテグレーション
  1. Home
  2. Docs
  3. Bots
  4. Chatbot Overview
  5. 自然言語処理(NLP)

自然言語処理(NLP)

会話Botが人間のやり取りを理解するための鍵は、ユーザーインテントを識別し、ユーザーの発話から有用な情報を抽出し、関連するアクションやタスクにマッピングする能力にあります。NLP(自然言語処理)は、自然な会話から意図(インテント)や関連情報(エンティティ)を推測する科学です。

NLPアプローチ

Kore.ai Botプラットフォームは、自然言語に対する多方面からのアプローチを採用しており、最適な結果を得るために以下の2つのモデルを組み合わせています。

  • ファンダメンタルミーニング:ChatScriptをベースに構築された数理言語学的アプローチです。このモデルは、ユーザの発話の構造を分析し、意味、位置、活用、大文字、複数形などから各単語を識別します。
  • カスタム機械学習(ML):Kore.aiは機械学習のために最先端のNLPアルゴリズムとモデルを使用しています。
  • オントロジーベースのナレッジグラフエンジン(KG):Kore.aiのナレッジグラフは、お客様の静的なFAQテキストをインテリジェントでパーソナライズされた会話体験に変えるのに役立ちます。

3つのアプローチにより、Kore.ai Botプラットフォームはお客様が言語トレーニングなしで会話の70%に応答できる会話型Botを即座に構築できるようにします。すべての組み込みBotおよびカスタムBotに自動でNLP機能を有効化し、チャットBotのコミュニケーション、理解、ユーザーのリクエストへの応答を強化します。

Kore.aiチームは、サードパーティベンダーのサービスなしでハイブリッドNLP戦略を開発しました。この戦略は、タスク(ファンダメンタルミーニング)を検出して実行することに加えて、静的な応答を返すFAQ Botを構築する機能を与えます。

このプラットフォームでは、ナレッジグラフベースのモデルを使用して、ユーザーインテント(この場合、最も適切な質問)を特定する際に、主要なドメイン用語やその関係を示すのに必要なインテリジェンスを提供します。

機械学習モデルは、正しいナレッジクエリに達することができるよう、ナレッジグラフを追加します。

すべてのエンジンがスコアおよび推奨事項を返すと、Kore.aiはランキング及び解決エンジンによって、ユーザーの発話に基づいて適したインテントを決定します。

Kore.aiアプローチの利点

ほとんどの商品では、自然言語処理に機械学習(ML)のみを使用しています。MLのみのアプローチで高い成功率を得るには、Botの大規模なトレーニングが必要です。トレーニングが不十分な場合、不正確な結果に繋がる可能性があります。トレーニングデータとして、チャットBotの意図した目的と一致するまとまった文(発話)を提供し、最終的には一致しない文も提供する必要があります。BotがMLを使用する場合、Botは入力された文を理解しません。その代わりに、入力されたデータと、与えられたトレーニングデータとの類似性を測定します。

当社のアプローチは、ファンダメンタルミーニング(FM)、機械学習(ML)、ナレッジグラフ(KG)を組み合わせたもので、Botに提供されるトレーニングの範囲に関係なく、自然言語対応のチャットBotを簡単に構築することができます。エンタープライズの開発者は、これらのアプローチ固有の利点を活用し、個々の欠点を排除することで、実世界の力学を解決することができます。

インテント検出

チャットBotのタスクは、ATMを探すイベントを作成するアイテムを検索するアラートを送信する資金を移動するなどの動詞と名詞で表される、ユーザーが意図する行動を説明する言葉を少なくしています。
Kore.aiのNLPエンジンは、ユーザーの発話の構造を分析し、意味、位置、活用、大文字、複数形、その他の要素から各単語を識別します。この分析は、チャットBotは一般的な動作を表す単語を正しく解釈し、理解するのに役立ちます。

インテント認識の目標は、単に発話とタスクを一致させることではなく、発話と正しく意図されたタスクを一致させることです。これを行うには、動詞と名詞をできるだけ多くの明白な同義語や明白でない同義語と照合します。そうすることで、エンタープライズの開発者は実世界の力学を解決し、それぞれの手法の欠点を取り除きつつ、MLとFM両方のアプローチの利点を得ることができます。

機械学習モデルのトレーニング

開発者は、機械学習モデルをトレーニングするためにBotが識別すべきそれぞれのインテント(タスク)に対して、発話のサンプルを提供する必要があります。プラットフォームのMLエンジンは、ユーザの発話をBotのインテントの1つにマッピングしようとするモデルを構築します。

Kore.aiのBotプラットフォームは、完全に教師なし機械学習を可能にし、人間が介入せずとも常にチャットBotの言語能力を拡張することができます。Kore.aiのBotプラットフォームは、チャットBotが必要な入力と不要な入力両方から学習するその他の教師なしモデルとは違い、チャットBotがインテントを認識して人間がタスクを完了するために要求した内容を抽出することに成功した場合にのみ、それらが自動的に語彙を増やすことができるようになっています。

ただし、Botのパフォーマンスを監視し、必要に応じて手動で調整するために、教師あり学習を有効にすることをお勧めします。Botプラットフォームを使用することで、開発者はより良い会話の実現に向けて、すべてのインタラクションログを評価し、失敗したシナリオのNL設定を簡単に変更し、Botを再度トレーニングするために学習を使用することができます。発話の追加についてはこちらを参照してください。

ファンダメンタルミーニングモデルのトレーニング

ファンダメンタルミーニングモデルは、ユーザーの発話内の各単語の標準バージョンを含む入力フォームを作成します。次のように変換します。

  • 動詞を不定詞に
  • 名詞を単数形に
  • 数字を桁に

インテント認識プロセスは、その後マッチングにこの標準フォームを使用します。元の入力フォームは引き続き利用可能であり、標準フォームがない固有名詞などの特定のエンティティに対して参照されます。
ファンダメンタルミーニングモデルでは、音声の一部と本質的な概念を考慮して、ユーザーの発話の各単語を識別し、Botが実行可能なインテントと関連付けることができます。スコアリングは、一致した単語の数、単語の総数などに基づいて行われます。

プラットフォームは、ファンダメンタルミーニングエンジンをトレーニングするための以下のツールを提供します。

  • パターン:パターンを使うと、タスク名のスラング、比喩、その他の慣用表現を定義することができます。パターンとその例の詳細についてはこちらを参照してください。
  • 同義語:プラットフォームには、一般的な用語の同義語ライブラリが組み込まれています。開発者は、Bot名、タスク名やタスクフィールドの名前に使用される単語、ダイアログタスクのエンティティノードに関連する単語の同義語を追加することで、NLPエンジンの精度をさらに最適化することができます。プラットフォームは、特別にトレーニングされている場合を除いて、パラセタモール、IVRなどのドメイン語を自動補正します。同義語とその例の詳細についてはこちらを参照してください。

このプラットフォームでは、ユーザーの発話からインテントを特定できなかった場合に自動的に開始されるデフォルトのダイアログオプションも用意されています。開発者は、Botの要件に基づいてダイアログを変更することができます。当社はさらに、人間のレビュアー(開発者、顧客、サポート担当者など)が受動的にユーザーの発話をレビューし、さらなるトレーニングを必要とする発話をマークする機能も提供しています。一度トレーニングされると、Botは新たにトレーニングされたモデルに基づいて発話を認識します。

エンティティの検出

ユーザーの発話からインテントが検出されると、Botはタスクをトリガーするために追加の情報を必要とします。この追加情報をエンティティと呼びます。

エンティティとは、日付、時刻、人物、場所、アイテムや商品の説明、その他のタスクをチャットBotが完了させるために必要な、開発者が指定するフィールド、データ、または単語です。Kore.aiのNLPエンジンを介して、Botはユーザーの発話から単語を識別し、一致したタスクのフィールドを識別したり、必要に応じて追加のフィールドデータを収集したりします。
エンティティ抽出の目的は、不要な詳細を無視しつつ、不足を補ってタスクを完了させることです。これは、ユーザーが一度に提供するか、チャットBotとのガイド付きの会話を通じて提供するかに関係なく、必要な情報を取得するための減算プロセスです。このプラットフォームは、20以上のシステムエンティティの識別と抽出をサポートしています。エンティティについての詳細はこちらを参照してください。

以下の2つのアプローチにより、ユーザーの発話に含まれるエンティティを識別できるようBotをトレーニングすることができます。

  1. 機械学習に基づく、名前付きエンティティ認識(NER)
  2. エンティティパターンの定義と同義語。

エンティティのトレーニングは任意で、トレーニングをしなくともKore.aiはエンティティを抽出することが可能です。ただし、トレーニングは入力のどこを調べるかについてエンジンをガイドするのに役立ちます。Kore.aiは検出した値を検証し、その単語が適切でない場合は別の場所に移動します。例えば、数字のエンティティパターンが*人のためにであったが、ユーザーが良い人のためにと言った場合、Botは良いが数字ではないことを理解し、検索を継続します。 詳細についてはこちらを参照してください。

ナレッジグラフ

Kore.aiのナレッジグラフは、FAQを一律の質問と回答の組み合わせ形式で収集するという一般的な慣習を超えたものです。代わりに、ナレッジグラフでは主要なドメイン用語の階層構造を作成し、それらをコンテキスト固有の質問やその代替、同義語、機械学習対応の階層と関連付けることができます。

ナレッジグラフは、トレーニングをあまり必要とせず、必須としてマークされた用語の誤検知を減らして単語の重要性を高めることができます。

以下の画像は、銀行のFAQサンプルのナレッジグラフの概要です。詳細はこちらをクリックしてください

メニュー