チャット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. Natural Language
  5. NLPの詳細設定

NLPの詳細設定

自然言語 > トレーニングの下にある しきい値および設定 セクションを使用して、次のようにカスタマイズすることで、Botで有効になっている各言語のインテント検出の調整を行うことができます。

これらとは別に、NLPの詳細設定の下には、特定のユースケースや要件に使用できる詳細設定があります。

警告:ほとんどのユースケースにとって、これらの設定にはデフォルト設定が理想的です。設定が適切に行われていない場合、Botのパフォーマンスに悪影響を及ぼす可能性があるため、設定している機能について十分な理解が得られていない限りは、これらの設定を変更しないでください。

 

このセクションから設定可能な各種設定の詳細については、以下の表を参照してください。

設定 説明 影響を受けるNLPエンジン 有効な入力 注釈
複合語の分割 この設定により、複合語を複数のステムに分割し、個々のステムを処理することができるようになります。 ML 有効、
無効(デフォルト)
ドイツ語のBotのみサポート
Noneインテント 有効にすると、ダミーのプレースホルダインテントが作成され、MLエンジンを使用したインテント一致の偽陽性の可能性を減らすことができます。 ML 有効(デフォルト)、
無効
コサイン類似度の減衰 コサイン類似度の減衰を使用して、短い質問でのペナルティを回避します。 KG 有効(デフォルト)、
無効
ネットワークタイプ インテントトレーニングに利用可能なニューラルネットワーク ML 標準(デフォルト)、
MLP-BOW、
MLP-WordEmbeddings、
LSTM、
CNN
Transformer
エポック ニューラルネットワークをトレーニングするための反復回数 ML 20~300の間、
10刻み
(デフォルト設定では20)
ネットワークタイプがMLP-BOW、MLP-WordEmbeddings、LSTM、CNNに設定されている場合のみ有効
バッチサイズ トレーニング中にそれぞれのバッチに使用したトレーニングサンプル数 ML 10~30の間、
5刻み
(デフォルト設定は10)
ネットワークタイプがMLP-BOW、MLP-WordEmbeddings、LSTM、CNNに設定されている場合のみ有効
学習率 ネットワークの重みが損失勾配に対してどの程度調整されるかを制御するためのハイパーパラメータ ML 1e-4~1e-3の間、
1e-2刻み
(デフォルト設定は1.00E-03)
ネットワークタイプがMLP-BOW、MLP-WordEmbeddings、LSTM、CNNに設定されている場合のみ有効
ドロップアウト モデルのオーバーフィッティングを避けるための正則化パラメータ ML 0~0.8の間、
0.1刻み
(デフォルト設定は0)
ネットワークタイプがMLP-BOW、MLP-WordEmbeddings、LSTM、CNNに設定されている場合のみ有効
ベクタライザ トレーニングデータの機能抽出手法 ML カウント(デフォルト)、
tfidf
ネットワークタイプがMLP-BOWに設定されている場合のみ有効
最大シーケンス長 トレーニングサンプルまたはユーザ入力の長さ ML 10~30の間、
5刻み
(デフォルト設定は20)
ネットワークタイプがMLP-WordEmbeddings、LSTM、CNNに設定されている場合のみ有効
埋め込みタイプ トレーニングデータの機能抽出手法 ML 生成、
ランダム(デフォルト)
ネットワークタイプがMLP-WordEmbeddings、LSTM、CNNに設定されている場合のみ有効
埋め込み次元 特徴量化に使用される埋め込み次元 ML 100~400の間、
50刻み
(デフォルト設定は300)
ネットワークタイプがMLP-WordEmbeddings、LSTM、CNNに設定されている場合のみ有効
K-分割交差検証 交差検証用のK-分割パラメータ ML 2~10の間、
1刻み
(デフォルト設定は2)
インテント名としてのFAQ名 FAQがダイアログにリンクされている場合でも、FAQの主質問をインテント名として使用する KG 有効、
無効(デフォルト)
あいまい一致 この設定により、インテント識別にあいまい一致アルゴリズムを使用することが可能 ML 有効(デフォルト)、
無効
否定の処理 この設定により、インテント識別における否定語の処理が可能 ML 有効(デフォルト)、
無効
多重出現の無視 有効にした場合、単語の出現頻度はベクトル化のために無視される ML 有効(デフォルト)、
無効
ネットワークタイプがMLP-BOWに設定されている場合のみ有効
ユーザーの発話内のエンティティプレースホルダ ユーザーの発話の中に存在するエンティティを、対応するプレースホルダに置き換えることを可能にします。 ML 有効(デフォルト)、
無効
ネットワークタイプがMLP-BOWに設定されている場合にのみ有効です。
文章の分割 ユーザーの発話内の文章を分割して、ユーザーの完全な入力を使用してインテントの検出を行います ML 有効 (デフォルト)、
無効
インテント排除のルール あらかじめ用意されたルールを適用してインテントの一致を排除することを有効化します。 RR 有効 (デフォルト)、
無効
英語、スペイン語、フランス語、ドイツ語のボットにのみ適用できます。
複数インテント モデル すべてのサブインテントを構成するプライマリ インテントごとに、個別の ML モデルを有効化します ML 有効、
無効 (デフォルト)

複合語の分割

複合語とは、2つ以上の単語を結合して、全く新しい意味を持つ新しい単語を作る際に形成されるものです。特にドイツ語では、2つ(またはそれ以上)の単語を組み合わせて複合語を形成し、無限に新しい複合語を生み出すことができます。例えば、Bilder | buch(「picture book」)の-erのように、コンポーネントを移行要素と接続したり、あるいは修飾語の一部を削除したりすることもできます。例えば、Kirch | turm(「church tower」)では、Kircheの最後の-eが削除されます。複合語は、Grunder(「founder」)と語幹grun | der(「green | the」)のように、語幹とは全く異なる意味を持つことが多々あります。NLPの観点からは、NLPエンジンが単語を分割して処理すべきタイミングと、単語全体を処理すべきタイミングを理解しておくことが重要です。

この設定は、複合語の処理方法を選択するのに使用することができます。この設定を有効にした場合、ユーザーの発話に含まれる複合語が語幹に分割され、インテント検出のために考慮されます。

Noneインテント

機械学習(ML)エンジンは、トレーニングする発話を使用して、そのトレーニングに基づいてユーザーの発話を評価するためのモデルを構築します。MLモデルは、ユーザー入力をいずれかの入力に分類しようとします。しかし、語彙が不足する単語があった場合には、それらも分類しようとするため、あるエンティティに対するインテントが阻害される場合があります。例えば、エンティティノードに人の名前があったとしても、インテントがトリガーされることはありません。

その他のNoneインテントを追加することで、Bot内のランダムな入力を分類することができます。この機能を有効にすると、Botのトレーニングで使用されていない単語がユーザーの発話に含まれている場合、MLモデルはこれらのNoneインテントを識別するよう調整が行われます。

コサイン類似度の減衰

FAQの識別は、単語の一致に基づいて行われます。このアプローチを使用することの問題点は、対応するトレーニングされた発話よりも少ない単語を持つユーザーの発話のスコアが悪くなることです。このスコアリングは、インテントの識別が失敗する原因となります。

コサイン類似度の減衰設定を有効にした場合、トレーニングされた発話よりも単語数の少ないユーザーの発話(主質問や代替質問など)は、設定を無効にした場合よりも高い「一致スコア」になります。

MLエンジンの外部化

機械学習において、ハイパーパラメータとは、その値が学習プロセスを制御するために使用されるパラメータを指します。ハイパーパラメータは、追加のBot用カスタマイズオプションを提供します。カスタマイズ可能なMLの設定は以下の通りです。

ネットワークタイプ

使用するニューラル ネットワークを選択できます。v8.1 以降、この設定は機械学習セクションに移動されました。詳しくは、こちらをご覧ください。

エポック

人工ニューラルネットワークにおいて、エポックとは、完全なトレーニングデータセットの1サイクルを指します。トレーニングされていないデータで優れたパフォーマンスを得るためには、通常(常にではないが)トレーニングデータを1回以上パスする必要があります。エポック数は、トレーニングデータセットを完全にパスする回数を制御するハイパーパラメータです。

バッチサイズ

バッチサイズとは、機械学習で使用される用語で、1回の反復で利用されるトレーニング例の数を指します。これは、ニューラルネットワークをトレーニングする際の誤差勾配の推定精度を制御します。バッチサイズは、モデルの内部パラメータが更新される前に処理するトレーニングサンプル数を制御するハイパーパラメータです。

学習率

機械学習や統計学において、学習率とは最適化アルゴリズムの調整パラメータであり、損失関数の最小値に向かって移動しつつ、それぞれの反復のステップサイズを決定します。損失に基づいてニューラルネットワークの重みの更新を制御するためのパラメータと見なすことができます。

ドロップアウト

ドロップアウトという用語は、ニューラルネットワークの中の単位(隠れているもの、見えているもの両方)を落とすことを指します。簡単に言えば、ドロップアウトとは、ランダムに選択された特定のニューロンのトレーニング段階において、単位(つまりニューロン)を無視することを指します。これは、データのオーバーフィッティングを防ぐための正則化手法です。

ベクタライザ

ベクトル化とは、要素ごとの演算ではなく、ベクトル演算を用いてアルゴリズムを最適化する方法を指します。これを使用してトレーニングデータ上での特徴抽出手法を決定することができます。以下のいずれかに設定することが可能です。

  • カウントベクタライザは、与えられたテキスト文書を、テキスト内のそれぞれの単語の出現頻度(カウント)に基づいて、用語/トークンカウントのベクトルに変換するために使用されます。これは、複数のテキストがあり、さらにテキスト分析に使用するためにテキスト内の各単語をベクトルに変換する必要がある場合に便利です。ベクトル表現を生成する前に、テキストデータを事前に処理することができます。
  • TFIDFベクタライザとは、ある単語がドキュメントコレクション内のドキュメントに対してどれだけ関連性があるかを評価する統計的尺度です。これは、単語がドキュメント内に出現する回数(単語の出現頻度)、および一連のドキュメント全体における単語の逆文書頻度(IDF)の、2つのメトリックを乗算することによって行われます。

最大シーケンス長

(トレーニングや予測のために)文を処理する場合、シーケンス長とは文中の単語数を指します。最大シーケンス長パラメータは、トレーニングに考慮される単語数の最大値です。ユーザー入力またはトレーニングするフレーズセンテンスのシーケンス長がセンテンスの長さの最大を超えている場合は、その長さにトリミングされ、それより短い場合は、そのセンテンスに特別なトークンが埋め込まれます。

埋め込みタイプ

(単語の)埋め込みとは、入力/トレーニングテキスト中の単語やフレーズをベクトル表現したものです。似た意味を持つ単語は、n次元空間で同様のベクトル表現を持ち、そのベクトル値はニューラルネットワークに似た方法で学習されます。

埋め込みタイプは、以下のいずれかに設定することができます。

  • ランダム(デフォルト設定):最初にすべての単語にランダムな埋め込みが割り当てられ、その後トレーニング中に特定のトレーニングデータに合わせて埋め込みが最適化されます。
  • 生成:単語の埋め込みは、トレーニング開始直前に生成されます。単語の埋め込みの生成には、Word2Vecモデルが使用されます。これらの生成された埋め込みは、トレーニング中に使用されます。トレーニング中に特定のトレーニングデータに合わせて、これらの生成された単語の埋め込みが最適化されます。

埋め込み次元

埋め込み次元は、埋め込みベクトルのサイズを定義します。単語の埋め込みがランダムまたは生成されたものである場合、埋め込み次元として任意の数値を使用することが可能です。

K-分割交差検証

交差検証は、限られたデータサンプルで機械学習モデルを評価するために使用されるリサンプリング手順です。この手順には、与えられたデータサンプルが分割されるグループの数を指す、Kと呼ばれる単一のパラメータが含まれます。この設定により、Kパラメータを設定することができます。交差検証の詳細については、こちらを参照してください

インテント名としてのFAQ名

このオプションでは、以下のシナリオで主質問またはダイアログタスクの名前を表示するかどうかを制御します。

  • インテント名がユーザーに存在する場合
    • あいまい性の解消フロー
    • フォローアップ
  • 発話テスト
  • バッチテスト
  • NLP分析
  • 分析(ダッシュボード、カスタムダッシュボード、会話フロー、メトリック)
  • インテント検出 – ランキングフロー

あいまい一致

あいまい一致は、システムが不正確な一致を識別するのに役立つ近似的パターン照合の手法です。MLエンジンは、あいまい一致のロジックを使用して、完全一致を識別します。あいまい一致のアルゴリズムは、ユーザーの発言との類似性に基づいて、インテントに「あいまい検索スコア」を割り当てます。あいまい検索スコアが95以上(0~100の尺度)のインテントは、完全一致として識別されます。

ただしあいまい一致は、possibleとimpossible、availableとunavailableなど、スペルが似ているが意味が異なる単語があった場合に、偽陽性を生じさせる可能性があります。この動作は、場合によっては問題となる場合があります。このオプションを無効にすることで、MLエンジンがこの一致のアルゴリズムを使用しないようにすることができます。

否定の処理

この設定では、否定された単語がユーザーの発話に含まれている場合の動作を選択することができます。否定の処理設定を有効にした場合、ユーザーの発話内に否定された任意の単語が存在する場合、インテントのMLスコアにペナルティが課せられます。

多重出現の無視

同じ単語が複数出現すると、インテントの識別が定まらない場合があります。多重出現の無視の設定を有効にすると、ユーザーの発話内に同じ単語が複数出現した場合、その単語は破棄されます。繰り返される単語は、ベクトル化およびそれに続くインテント一致のために、一度だけ考慮されます。

ユーザー発話内のエンティティプレースホルダ

インテント検出が改善されるよう、システムに、ユーザーの発話に存在するエンティティ値を「エンティティプレースホルダ」に置き換えさせる場合があります。NERモデルによって解決されないエンティティは置き換えに使用されないことにご注意ください。そのため、このオプションを有効にする場合は、すべてのトレーニング発話に注釈を付けることを強くお勧めします。これらのエンティティは、エンドユーザーの対話、バッチテスト、発話テスト、会話テストにおけるユーザーの発話内で置き換えられます。

MLのインテント検出のための文の分割を無効にする

ユーザー入力に複数の文が含まれている場合、CSはそれぞれの文に対してMLのインテント呼び出しを行います。これは、場合によっては理想的な状況ではないかもしれません。例えば、「チケットを予約したいです。『Book My Show』にリダイレクトしてください。」の場合、「チケットを予約したいです。」と「『Book My Show』にリダイレクトしてください。」のMLスコアは0.6になり、合計のMLスコアは0.6になります。

この設定を無効にした場合、元のユーザー入力をMLに送信してインテント識別を行うため、上記の例では0.99のような明確なスコアが得られます。

文章の分割

ユーザーの入力が複数の文章で構成されている場合、文章ごとに複数のインテント呼び出しが行われます。これは、場合によっては理想的な状況ではないかもしれません。たとえば、「チケットを予約したいです。ショーの予約ページにリダイレクトしてください。」というユーザーの発話では、「チケットを予約したいです。」と「ショーの予約ページにリダイレクトしてください。」の ML スコアは 0.6 で、合計の ML スコアも 0.6 となります。

この設定を無効にすると、インテントを特定するために元のユーザー入力が ML に送信され、上記の例では 0.99 のような確定的なスコアが得られます。

インテント排除のルール

R&R エンジンには、ML に一致する可能性のあるものを拒否するいくつかの安全ルールがあります。たとえば、ユーザーの入力に動詞しか含まれていない場合にはインテントを拒否する、といったようなものです。しかし、R&R エンジンに排除ルールを適用させて、すべての特定/優先インテントをユーザーに提示してあいまいさを解決させたくない場合もあるかもしれません。この設定を無効にすると、単一の動詞に一致するもの (ML および FM)、CR 文でエンティティのみに一致するもの (ML)、以前のパターンに一致するもの (複数文シナリオ) (FM)、以前の完全一致 (複数文シナリオ) (すべて) などのルールに一致するインテントを排除することなく、柔軟に対応できます。

複数インテント モデル

この機能を有効にすると、ボットに複数の ML インテント モデルが作成されます。すべてのプライマリ ダイアログ インテントがボット レベルのインテント モデルの一部となります。その他のダイアログ タスクとサブダイアログ タスクには、それぞれのタスクの定義で使用されているすべてのサブインテントからなる、別のダイアログ レベルの ML モデルが作成されます。詳しくは、こちらをご覧ください。

メニュー