はじめに
対話型AIプラットフォーム
チャットボットの概要
自然言語処理(NLP)
ボットの概念と用語
クイックスタートガイド
プラットフォームへのアクセス
ボットビルダーの操作
リリースノート
最新バージョン(英語)
以前のバージョン(英語)
コンセプト
設計
ストーリーボード
ダイアログタスク
ダイアログタスクとは
ダイアログビルダー
ノードタイプ
インテントノード
ダイアログノード
エンティティノード
フォームノード
確認ノード
ロジックノード
ボットアクションノード
サービスノード
Webhookノード
スクリプトノード
グループノード
エージェント転送ノード
ユーザープロンプト
音声通話プロパティ
イベント ハンドラー
ナレッジグラフ
ナレッジグラフの抽出
ナレッジグラフの構築
ボットにナレッジグラフを追加
グラフの作成
ナレッジグラフの構築
既存のソースからFAQを構築
通知タスク
スモールトーク
デジタルスキル
デジタルフォーム
デジタルビュー
デジタルビューとは
パネル
ウィジェット
トレーニング
トレーニングとは
機械学習
機械学習とは
モデル検証
ファンダメンタルミーニング
ナレッジグラフ
示唆
ランキングおよび解決
NLPの詳細設定
NLPのガイドライン
インテリジェンス
インテリジェンスとは
コンテキスト
コンテキストインテント
割り込み
複数インテントの検出
エンティティの変更
デフォルトの会話
センチメント管理
トーン分析
テストとデバッグ
ボットと会話
発話テスト
バッチテスト
会話テスト
デプロイ
チャネル
公開
LLM and Generative AI
Introduction
LLM Integration
Kore.ai XO GPT Module
Prompts & Requests Library
Co-Pilot Features
Dynamic Conversations Features
分析
ボットの分析
NLPメトリクス
会話フロー
Usage Metrics
封じ込め測定
カスタムダッシュボード
カスタムダッシュボードとは
メタタグ
カスタムダッシュボードとウィジェット
ユニバーサルボット
ユニバーサルボットとは
ユニバーサルボットの定義
ユニバーサルボットの作成
ユニバーサルボットのトレーニング
ユニバーサルボットのカスタマイズ
他言語の有効化
ストア
プラントと使用
Overview
Usage Plans
Support Plans
Invoices
管理
ボット認証
複数言語対応ボット
個人を特定できる情報の編集
ボット変数の使用
IVRのシステム連携
一般設定
ボット管理
ハウツー
Integrations
Actions
Actions Overview
Asana
Configure
Templates
Azure OpenAI
Configure
Templates
BambooHR
Configure
Templates
Bitly
Configure
Templates
Confluence
Configure
Templates
DHL
Configure
Templates
Freshdesk
Configure
Templates
Freshservice
Configure
Templates
Google Maps
Configure
Templates
Here
Configure
Templates
HubSpot
Configure
Templates
JIRA
Configure
Templates
Microsoft Graph
Configure
Templates
Open AI
Configure
Templates
Salesforce
Configure
Templates
ServiceNow
Configure
Templates
Stripe
Configure
Templates
Shopify
Configure
Templates
Twilio
Configure
Templates
Zendesk
Configure
Templates
Agents
Agent Transfer Overview
Custom (BotKit)
Drift
Genesys
Intercom
NiceInContact
NiceInContact(User Hub)
Salesforce
ServiceNow
Configure Tokyo and Lower versions
Configure Utah and Higher versions
Unblu
External NLU Adapters
Overview
Dialogflow Engine
Test and Debug
会話スキルの設計
バンキングボットを作成
バンキングボット – 資金の振り替え
バンキングボット – 残高を更新
ナレッジグラフを構築
スマートアラートの予約方法
デジタルスキルの設計
デジタルフォームの設定方法
デジタルビューの設定方法
データテーブルのデータの追加方法
データテーブルのデータの更新方法
Add Data from Digital Forms
ボットのトレーニング
示唆の使用方法
インテントとエンティティのパターンの使用方法
コンテキスト切り替えの管理方法
ボットのデプロイ
エージェント転送の設定方法
ボット関数の使用方法
コンテンツ変数の使用方法
グローバル変数の使用方法
ボットの分析
カスタムダッシュボードの作成方法
カスタムタグを使ってフィルタリング
Data
Overview
Data Table
Table Views
App Definitions
Data as Service
Build a Travel Planning Assistant
Travel Assistant Overview
Create a Travel Virtual Assistant
Design Conversation Skills
Create an ‘Update Booking’ Task
Create a Change Flight Task
Build a Knowledge Graph
Schedule a Smart Alert
Design Digital Skills
Configure Digital Forms
Configure Digital Views
Train the Assistant
Use Traits
Use Patterns
Manage Context Switching
Deploy the Assistant
Use Bot Functions
Use Content Variables
Use Global Variables
Use Web SDK
Build a Banking Assistant
Migrate External Bots
Google Dialogflow Bot
APIs & SDKs
API Reference
API Introduction
Rate Limits
API List
koreUtil Libraries
SDK Reference
SDK Introduction
Web SDK
How the Web SDK Works
SDK Security
SDK Registration
Web Socket Connect and RTM
Tutorials
Widget SDK Tutorial
Web SDK Tutorial
BotKit SDK
BotKit SDK Deployment Guide
Installing the BotKit SDK
Using the BotKit SDK
SDK Events
SDK Functions
Tutorials
BotKit - Blue Prism
BotKit - Flight Search Sample VA
BotKit - Agent Transfer
  1. ホーム
  2. Docs
  3. Virtual Assistants
  4. Overview
  5. 自然言語処理(NLP)

自然言語処理(NLP)

Kore.aiバーチャルアシスタントプラットフォームを使用すると、対話型AIバーチャルアシスタントを構築できます。対話型AIとは、機械がユーザーと自然に会話できるようにすることです。対話型ボットが人間との相互作用を理解するための鍵は、ユーザーの意図を識別し(インテント検出)、発話から有用な情報を抽出し(エンティティ抽出)、関連するアクション又はタスクにマッピングする(ダイアログタスクの実行)能力にあります。ここで重要な条件は、自然言語を理解することです。

NLP(自然言語処理)は、自然な会話から意図と関連情報を推測するサイエンスです。Kore.aiバーチャルアシスタントの会話フローは、アクションと応答を決定する前に、さまざまなNLUエンジンと会話エンジンを通過します。

このドキュメントは、Kore.aiバーチャルアシスタント内のNLPフローの概要の提供と、開発者としてその機能を活用して効率的で正確なボット応答を実現し、ユーザーエクスペリエンスを向上させる方法を提供することを目的としています。

NLP Approach

The Kore.ai Bots platform employs a multi-pronged approach to natural language, which combines the following three models for optimal outcomes:

  • Fundamental Meaning: A computational linguistics approach that is built on ChatScript. The model analyzes the structure of a user’s utterance to identify each word by meaning, position, conjugation, capitalization, plurality, and other factors.
  • Custom Machine Learning (ML): Kore.ai uses state-of-the-art NLP algorithms and models for machine learning.
  • Ontology-based Knowledge Graph Engine (KG): Kore.ai Knowledge Graph helps you turn your static FAQ text into an intelligent and personalized conversational experience.

With its three-fold approach, the Kore.ai Bots platform enables you to accelerate the NLU performance of the virtual assistant and achieve optimal NLU accuracy with relatively less training data. It automatically enables the NLP capabilities to all built-in and custom bots, and powers the way chatbots communicate, understand, and respond to a user request.

Kore.aiNLPビルディングブロック

Kore.aiバーチャルアシスタントがユーザーの発話を受信すると、ユーザーのインテントを識別し、追加情報を抽出して処理され、タスクの実行を介してユーザーに応答します。NLPは、主に最初の2つ-インテント検出とエンティティ抽出に関係しています。 会話フローにおけるステップ

  1. ユーザーの発話は、エンティティの抽出とインテントの検出のために一連のNLUエンジンを通過します。Kore.aiプラットフォームが提供するさまざまなNLUエンジンは次のとおりです:
    • 文法構成に基づいて発話を分割するファンダメンタル ミーニング エンジン
    • 例に基づく自動学習トレーニングプロセスに沿って、発話内の個々の単語を分類する機械学習エンジン
    • 主にFAQタイプのユーザー問い合わせを処理するナレッジコレクションエンジンで、ユーザー問い合わせに応答してタスクをトリガーするように構成することもできます
    • マルチクラス分類が可能であり、ユーザーの発話の複数のカテゴリを識別できるため、ユーザーのインテントの検出を改善するのに役立つ示唆エンジン
    • 会話に人間味を加えるためのスモールトークエンジン
    • 上記のエンジンからの結果をスコアリングし、設定されたビジネスルールに従ってランク付けするためのランキングおよび解決
  2. 上記のすぐに使用できるNLU機能を拡張して、独自のNLUエンジンを使用できます。ボットキットSDKをインストールして、バーチャルアシスタントをサードパーティのNLPエンジンと簡単に統合できます。サードパーティのNLPエンジンからの出力は、Kore.ai NLUエンジンからの出力を補完するため、エンジンの効率と精度が向上します。
  3. 識別されたインテントは、抽出されたエンティティとともに、実際のタスク実行のために会話エンジンに移行します。このエンジンは、ユーザーの詳細、以前ユーザーが要求したインテント、および人間に近い会話体験を提供するのに役立つビジネスルールによってタグ付けされたその他の情報などを使用して、会話の状態またはコンテキストを維持します。会話エンジンは、この状態情報と次の条件を使用して、NLUエンジンによって識別されたインテントを受け入れるか拒否を判断します。
    • 前提条件-インテントに事前定義された条件のセットが構成されていて、これらの条件のいずれかが満たされていない場合、識別されたインテントは拒否されます。たとえば、請求書の支払いインテントでは、受取人の詳細が必要になります。
    • ネガティブパターン-特定のインテントを特定してはならないパターンの存在をキャプチャします。たとえば、「カードを紛失しました。新しいカードを申請するにはどうすればよいですか」は、「カードを申請」インテントをトリガーする代わりに、まず現在のカードを無効にして、「カードを紛失した」というフレーズが存在するために不正行為を報告する必要があります。
    • イベント処理-ウェルカムメッセージ、感情分析などのために定義されたイベント
  4. 割り込み設定(進行中のタスクの過程で別のインテントが識別された状況を処理するため)や感情分析設定(ユーザーが怒っているように聞こえるので、エージェントに転送する必要がある)などの他の条件も、実行するアクションとして重要です。
  5. インタラクションのチャネルに基づいて、レスポンスが生成され、ユーザーに提示されます。レスポンスは、成功メッセージ、ユーザーが要求した情報、又は不足している情報のプロンプトである可能性があります。

NLPトレーニング

前のセクションでは、Kore.aiバーチャルアシスタントのNLPプロセスについて説明しましたが、プロセスが要求どおりに進行するようにするには、トレーニングが必要です。では、最高の結果を達成するためにボットを完全に機能するようにトレーニングする方法は?上記の機能を最大限に活用する方法は?各NLUエンジンの詳細に入る前に、このセクションでNLPトレーニングのいくつかの基本的なガイドラインを見て行きます。

スコープ

NLPトレーニングの最初のステップは、ボットの範囲を定義することで、ボットが解決する必要のある問題を絞り込むことで、さまざまなトレーニングのニュアンスを構成するのに役立ちます。これには、SME / BA、会話エクスペリエンスデザイナー、ボット開発者、NLPアナリスト/データエンジニア、NLPトレーナー、テスターなどのさまざまな利害関係者とのブレインストーミングセッションが含まれます。ボットのスコーピング中に提案される基本的なガイドラインは次のとおりです;

  • 解決すべき問題から始めます-ボットが何を達成することになっているのかを明確に把握します。ボットの要件と実際の機能を理解するには、ビジネスアナリストとボット開発者に相談してください。
  • ユースケースのインテントのリストを作成します-これにより、全体のプロセスが合理化されます
    • インテントごとに、ボットが達成しようとしている主要な結果を特定します
    • プラットフォームの要件ではなく、ユーザーのニーズに焦点を当てる必要があります
  • 会話の例を詳しく説明する-発話とレスポンスの両方
    • 部屋の結果の理想的な人は何ですか
    • エッジケース、フォローアップ、質問の明確化について考えます
    • このために、プラットフォームのストーリーボード機能を活用できます。それはボット開発フェーズでまだ使用されていない場合は、今すぐ使用できます
  • アクションを達成する一環として人が何を尋ねるかを自問します-これらはすべてのインテントの代替発話になります。慣用句や俗語の使用も含めるようにしてください。

どのエンジン?

Kore.aiプラットフォームがNLU用に3つのメインエンジンを提供することをこれまで見てきました

  • 機械学習(ML)
  • ファンダメンタルミーニング(FM)
  • ナレッジ収集(KG)

どのエンジンをいつ使用しますか?これらの各エンジンには、設定と構成があります。これらは他の場所で詳細に扱われます(詳細についてはここを参照)。ここでは、どのエンジンをいつ使用するかについての幅広いガイドラインを上げます。

機械学習エンジン

MLは、ボットのトレーニングに推奨されるエンジンです。理由は、その柔軟性と自動学習機能です。いくつかの例を挙げれば、エンジンは似たような新しい発話を学習し、理解することができます。又、トレーニングの発話は完全な文章である必要はありません。MLはフレーズからも学習できます。実装を計画しているインテントごとに大きな言語集がある場合は、機械学習に進みます。言語集がない場合でも、それをを開発することをお勧めします。長期的には、時間のかからない簡単な他のオプションを選択するよりも、大規模な言語集の構築に時間を費やしてMLを使用する方が適切です。

大きな言語集の定義は、インテントによって異なる場合があります。たとえば、インテントが共通性を持たずに互いに大きく異なり、「バランスを入手」や「資金を移動」などのサンプルデータを使用して理解できる場合は、インテントごとに200〜300の言語集で十分です。但し、[資金を移動]と[請求書を支払う]のように意図が互いに近い場合(通常、「支払いたい…」という非常によく似た発話で始まります)、言語集は1000位になります。

同様に、ディープニューラルネットワークの使用を計画している場合、これらのネットワークはデータを大量に消費するため、真のポジティブと真のネガティブの両方をより正確に予測するには、より多くのサンプルが必要です。

ナレッジ収集エンジン

インテントがトランザクションタスクよりも本質的に問い合わせに似ている場合、またはコンテンツがドキュメント内にあり、ボットがドキュメントからユーザー問い合わせに応答するようにしたい場合は、ナレッジコレクションに進みます。ナレッジ収集は、ユーザーの問い合わせに応じてダイアログタスクをトリガーするためにも使用できるため、両刃の剣として機能します。

インテントがたくさんあるが、別の発話を準備する時間がなく、いくつかの重要な用語に手動で注釈を付けることができる場合は、ナレッジコレクションにアクセスしてください。

但し、KGでの注釈は、MLの自動学習プロセスと同じように機能するため、言語集の構築とMLの取得に時間をかけることをお勧めします。

ファンダメンタルミーニングエンジン

ユーザーが慣用的な文やコマンドのような文を使用できる場合、又は厳密すぎず、誤検知が発生する可能性がある場合は、FMエンジンを使用してください。

自然言語処理(NLP)

Kore.aiバーチャルアシスタントプラットフォームを使用すると、対話型AIバーチャルアシスタントを構築できます。対話型AIとは、機械がユーザーと自然に会話できるようにすることです。対話型ボットが人間との相互作用を理解するための鍵は、ユーザーの意図を識別し(インテント検出)、発話から有用な情報を抽出し(エンティティ抽出)、関連するアクション又はタスクにマッピングする(ダイアログタスクの実行)能力にあります。ここで重要な条件は、自然言語を理解することです。

NLP(自然言語処理)は、自然な会話から意図と関連情報を推測するサイエンスです。Kore.aiバーチャルアシスタントの会話フローは、アクションと応答を決定する前に、さまざまなNLUエンジンと会話エンジンを通過します。

このドキュメントは、Kore.aiバーチャルアシスタント内のNLPフローの概要の提供と、開発者としてその機能を活用して効率的で正確なボット応答を実現し、ユーザーエクスペリエンスを向上させる方法を提供することを目的としています。

NLP Approach

The Kore.ai Bots platform employs a multi-pronged approach to natural language, which combines the following three models for optimal outcomes:

  • Fundamental Meaning: A computational linguistics approach that is built on ChatScript. The model analyzes the structure of a user’s utterance to identify each word by meaning, position, conjugation, capitalization, plurality, and other factors.
  • Custom Machine Learning (ML): Kore.ai uses state-of-the-art NLP algorithms and models for machine learning.
  • Ontology-based Knowledge Graph Engine (KG): Kore.ai Knowledge Graph helps you turn your static FAQ text into an intelligent and personalized conversational experience.

With its three-fold approach, the Kore.ai Bots platform enables you to accelerate the NLU performance of the virtual assistant and achieve optimal NLU accuracy with relatively less training data. It automatically enables the NLP capabilities to all built-in and custom bots, and powers the way chatbots communicate, understand, and respond to a user request.

Kore.aiNLPビルディングブロック

Kore.aiバーチャルアシスタントがユーザーの発話を受信すると、ユーザーのインテントを識別し、追加情報を抽出して処理され、タスクの実行を介してユーザーに応答します。NLPは、主に最初の2つ-インテント検出とエンティティ抽出に関係しています。 会話フローにおけるステップ

  1. ユーザーの発話は、エンティティの抽出とインテントの検出のために一連のNLUエンジンを通過します。Kore.aiプラットフォームが提供するさまざまなNLUエンジンは次のとおりです:
    • 文法構成に基づいて発話を分割するファンダメンタル ミーニング エンジン
    • 例に基づく自動学習トレーニングプロセスに沿って、発話内の個々の単語を分類する機械学習エンジン
    • 主にFAQタイプのユーザー問い合わせを処理するナレッジコレクションエンジンで、ユーザー問い合わせに応答してタスクをトリガーするように構成することもできます
    • マルチクラス分類が可能であり、ユーザーの発話の複数のカテゴリを識別できるため、ユーザーのインテントの検出を改善するのに役立つ示唆エンジン
    • 会話に人間味を加えるためのスモールトークエンジン
    • 上記のエンジンからの結果をスコアリングし、設定されたビジネスルールに従ってランク付けするためのランキングおよび解決
  2. 上記のすぐに使用できるNLU機能を拡張して、独自のNLUエンジンを使用できます。ボットキットSDKをインストールして、バーチャルアシスタントをサードパーティのNLPエンジンと簡単に統合できます。サードパーティのNLPエンジンからの出力は、Kore.ai NLUエンジンからの出力を補完するため、エンジンの効率と精度が向上します。
  3. 識別されたインテントは、抽出されたエンティティとともに、実際のタスク実行のために会話エンジンに移行します。このエンジンは、ユーザーの詳細、以前ユーザーが要求したインテント、および人間に近い会話体験を提供するのに役立つビジネスルールによってタグ付けされたその他の情報などを使用して、会話の状態またはコンテキストを維持します。会話エンジンは、この状態情報と次の条件を使用して、NLUエンジンによって識別されたインテントを受け入れるか拒否を判断します。
    • 前提条件-インテントに事前定義された条件のセットが構成されていて、これらの条件のいずれかが満たされていない場合、識別されたインテントは拒否されます。たとえば、請求書の支払いインテントでは、受取人の詳細が必要になります。
    • ネガティブパターン-特定のインテントを特定してはならないパターンの存在をキャプチャします。たとえば、「カードを紛失しました。新しいカードを申請するにはどうすればよいですか」は、「カードを申請」インテントをトリガーする代わりに、まず現在のカードを無効にして、「カードを紛失した」というフレーズが存在するために不正行為を報告する必要があります。
    • イベント処理-ウェルカムメッセージ、感情分析などのために定義されたイベント
  4. 割り込み設定(進行中のタスクの過程で別のインテントが識別された状況を処理するため)や感情分析設定(ユーザーが怒っているように聞こえるので、エージェントに転送する必要がある)などの他の条件も、実行するアクションとして重要です。
  5. インタラクションのチャネルに基づいて、レスポンスが生成され、ユーザーに提示されます。レスポンスは、成功メッセージ、ユーザーが要求した情報、又は不足している情報のプロンプトである可能性があります。

NLPトレーニング

前のセクションでは、Kore.aiバーチャルアシスタントのNLPプロセスについて説明しましたが、プロセスが要求どおりに進行するようにするには、トレーニングが必要です。では、最高の結果を達成するためにボットを完全に機能するようにトレーニングする方法は?上記の機能を最大限に活用する方法は?各NLUエンジンの詳細に入る前に、このセクションでNLPトレーニングのいくつかの基本的なガイドラインを見て行きます。

スコープ

NLPトレーニングの最初のステップは、ボットの範囲を定義することで、ボットが解決する必要のある問題を絞り込むことで、さまざまなトレーニングのニュアンスを構成するのに役立ちます。これには、SME / BA、会話エクスペリエンスデザイナー、ボット開発者、NLPアナリスト/データエンジニア、NLPトレーナー、テスターなどのさまざまな利害関係者とのブレインストーミングセッションが含まれます。ボットのスコーピング中に提案される基本的なガイドラインは次のとおりです;

  • 解決すべき問題から始めます-ボットが何を達成することになっているのかを明確に把握します。ボットの要件と実際の機能を理解するには、ビジネスアナリストとボット開発者に相談してください。
  • ユースケースのインテントのリストを作成します-これにより、全体のプロセスが合理化されます
    • インテントごとに、ボットが達成しようとしている主要な結果を特定します
    • プラットフォームの要件ではなく、ユーザーのニーズに焦点を当てる必要があります
  • 会話の例を詳しく説明する-発話とレスポンスの両方
    • 部屋の結果の理想的な人は何ですか
    • エッジケース、フォローアップ、質問の明確化について考えます
    • このために、プラットフォームのストーリーボード機能を活用できます。それはボット開発フェーズでまだ使用されていない場合は、今すぐ使用できます
  • アクションを達成する一環として人が何を尋ねるかを自問します-これらはすべてのインテントの代替発話になります。慣用句や俗語の使用も含めるようにしてください。

どのエンジン?

Kore.aiプラットフォームがNLU用に3つのメインエンジンを提供することをこれまで見てきました

  • 機械学習(ML)
  • ファンダメンタルミーニング(FM)
  • ナレッジ収集(KG)

どのエンジンをいつ使用しますか?これらの各エンジンには、設定と構成があります。これらは他の場所で詳細に扱われます(詳細についてはここを参照)。ここでは、どのエンジンをいつ使用するかについての幅広いガイドラインを上げます。

機械学習エンジン

MLは、ボットのトレーニングに推奨されるエンジンです。理由は、その柔軟性と自動学習機能です。いくつかの例を挙げれば、エンジンは似たような新しい発話を学習し、理解することができます。又、トレーニングの発話は完全な文章である必要はありません。MLはフレーズからも学習できます。実装を計画しているインテントごとに大きな言語集がある場合は、機械学習に進みます。言語集がない場合でも、それをを開発することをお勧めします。長期的には、時間のかからない簡単な他のオプションを選択するよりも、大規模な言語集の構築に時間を費やしてMLを使用する方が適切です。

大きな言語集の定義は、インテントによって異なる場合があります。たとえば、インテントが共通性を持たずに互いに大きく異なり、「バランスを入手」や「資金を移動」などのサンプルデータを使用して理解できる場合は、インテントごとに200〜300の言語集で十分です。但し、[資金を移動]と[請求書を支払う]のように意図が互いに近い場合(通常、「支払いたい…」という非常によく似た発話で始まります)、言語集は1000位になります。

同様に、ディープニューラルネットワークの使用を計画している場合、これらのネットワークはデータを大量に消費するため、真のポジティブと真のネガティブの両方をより正確に予測するには、より多くのサンプルが必要です。

ナレッジ収集エンジン

インテントがトランザクションタスクよりも本質的に問い合わせに似ている場合、またはコンテンツがドキュメント内にあり、ボットがドキュメントからユーザー問い合わせに応答するようにしたい場合は、ナレッジコレクションに進みます。ナレッジ収集は、ユーザーの問い合わせに応じてダイアログタスクをトリガーするためにも使用できるため、両刃の剣として機能します。

インテントがたくさんあるが、別の発話を準備する時間がなく、いくつかの重要な用語に手動で注釈を付けることができる場合は、ナレッジコレクションにアクセスしてください。

但し、KGでの注釈は、MLの自動学習プロセスと同じように機能するため、言語集の構築とMLの取得に時間をかけることをお勧めします。

ファンダメンタルミーニングエンジン

ユーザーが慣用的な文やコマンドのような文を使用できる場合、又は厳密すぎず、誤検知が発生する可能性がある場合は、FMエンジンを使用してください。

メニュー