본 문서는 봇에 대한 Knowledge Graph (KG) 작동 방법을 빠르게 구축하고 이해하는 데 도움이 됩니다. FAQ를 온톨로지로 변환하고, 태그를 추가하고, 용어를 사용하고, 대체 질문, 동의어, 태그 및 특성을 추가하는 방법을 안내합니다. 구축 세부 정보는 여기를 참조하세요. 이 예에서는 뱅킹 봇과 관련된 다음 FAQ를 다루겠습니다.

  • 체크 카드는 어떻게 신청하나요?
  • 수표책을 신청하려면 어떻게 해야 하나요?
  • 공동 계좌를 개설하려면 어떻게 해야 하나요?
  • 공동 계좌 보유자를 추가할 수 있나요?

스태틱 FAQ

온톨로지 없이 스태틱 FAQ를 생성해 보겠습니다. 스태틱 FAQ를 추가하려면 다음 단계를 따르세요:

  1. 봇을 엽니다.
  2. 상단 메뉴에서 구축 탭 선택
  3. 왼쪽 창에서 대화형 스킬 > Knowledge Graph (KG)를 클릭합니다.
  4. 생성을 클릭하여 Knowledge Graph (KG)를 생성합니다.
  5. 이름이 봇 이름으로 설정된 지식 그래프가 생성됩니다.
  6. FAQ 입력을 시작하려면 의도 추가를 클릭합니다.
  7. 의도 유형을 FAQ로 선택
  8. 질문 추가봇 응답을 선택하고 저장을 클릭합니다.
  9. Q&A를 더 추가하려면 오른쪽 상단에서 의도 추가를 클릭합니다.
  10. 모든 Q&A를 입력한 후 학습을 클릭하여 Knowledge Graph (KG)를 학습합니다.
  11. 오른쪽 하단의 봇과 대화를 클릭하여 추가된 Q&A에 대한 봇 응답을 확인합니다.

태그

  • 문제: 발화 신용 카드를 신청하려면 어떻게 해야 하나요?를 시도해봅니다. 이 시나리오에서는 적절하지 않은, 체크 카드와 관련된 질문에 대한 참조 사항이 있는 대화를 의미하는 것인지에 대한 대화를 얻게 될 것입니다. 이상적인 경우, 날씨에 관한 전혀 관련이 없는 질문을 받을 때 “모르겠어요“라는 답변을 확인해야 합니다.

해결 방법 위의 상황을 극복하기 위해 각 질문에 태그를 추가할 수 있습니다. 태그는 사용자 발화에서 일부 주요 문구가 있는지 여부에 따라 FAQ를 필터링하는 데 도움이 됩니다. 태그 추가 단계:

  1. 질문 위로 마우스를 이동하여 편집 아이콘을 찾습니다.
  2. 질문에 태그를 추가하려면 편집 아이콘을 클릭하세요.
  3. 태그 추가 텍스트 상자에서 질문에 있는 문구에 따라 플랫폼이 제안한 몇 가지 제안 사항을 찾을 수 있습니다. 목록에서 하나를 선택하거나 커스텀 태그를 직접 입력할 수 있습니다.
  4. 이 활용 사례에서는 플랫폼이 제안한 체크 카드 태그를 선택하고 변경 사항저장할 수 있습니다.
  5. 마찬가지로, 수표책 신청 방법 질문에 대한 수표책을 추가합니다
  6. 봇을 학습합니다.
  7. 봇과 대화를 합니다. 같은 발화인 신용 카드를 신청하려면 어떻게 해야 하나요?를 사용합니다.

온톨로지

봇 응답을 개선하려면 모든 질문에 태그를 추가해야 합니다. 그러나 FAQ 목록이 많은 경우에는 이 해결 방법을 사용할 수 없습니다. 또한 둘 이상의 질문에는 공통적인 태그가 있을 수 있습니다. 해결 방법: 온톨로지. 결정적인 단어와 자주 나타나는 단어/구절을 기준으로 FAQ는 그룹과 하위 그룹으로 구성됩니다. 온톨로지 예: 뱅킹 봇 FAQ 예시를 계속 진행하면 다음과 같이 질문을 정리할 수 있습니다:

  • 신청
    • 체크 카드
      • 체크 카드는 어떻게 신청하나요?
    • 수표책
      • 신용 카드는 어떻게 신청하나요?
  • 공동 계좌
    • 공동 계좌를 개설하려면 어떻게 해야 하나요?
    • 공동 계좌 보유자를 추가할 수 있나요?

각 그룹은 온톨로지 내의 노드가 될 수 있습니다. 계층 구조를 형성하는 여러 수준의 노드를 보유할 수 있습니다. 관련 FAQ(의도)를 노드로 이동하면 해당 FAQ가 태그로 설정된 해당 노드 이름과 연결됩니다. 온톨로지를 생성하려면 다음 단계를 따르세요:

  1. 왼쪽 창에서 Knowledge Graph (KG) 이름 위에 마우스를 놓고 + 아이콘을 클릭하여 자식 노드 추가를 선택합니다.
  2. 노드를 신청공동 계좌로 추가합니다.
  3. 하위 그룹을 추가하려면 노드 위에 마우스를 놓고 해당 + 아이콘을 사용하여 자식 노드 추가를 합니다.
  4. 공동 계좌와 관련된 질문을 선택하고 공동 계좌 노드에 질문을 드래그 앤 드랍합니다.
  5. 신청, 체크 카드 및 수표책 노드와 관련된 질문에 대해서도 이 과정을 반복합니다.
  6. 그에 따라 경로가 업데이트되는 것을 확인하게 됩니다.
  7. 질문을 편집하고 노드 이름이 태그로 추가되었는지 확인합니다.
  8. 이렇게 하면 용어/노드 이름이 포함된 사용자 발화에 대해 이 질문이 검증됩니다. 이전에 추가한 태그는 유지되므로 삭제할 수 있지만 노드 이름은 삭제할 수 없습니다.
  9. Knowledge Graph (KG)를 학습 하고 봇과 대화합니다.
  10. 봇 응답에 변화가 있어서는 안 됩니다.

용어 사용

기본적으로 노드 이름 또는 용어는 경로를 평가하고 일련의 검증 질문을 표시하는 데 사용됩니다. 발화에서 용어를 필수로 설정하거나 용어/노드를 각각 오거나이저로 표시하여 이 규칙을 강화하거나 완화할 수 있습니다. 계속하기 전에 지식 모음에 다음과 같은 몇 가지 노드 질문을 더 추가해 보겠습니다:

  • 계좌
    • 계좌를 개설하려면 어떻게 해야 하나요?
    • 계좌에 액세스하려면 어떻게 해야 하나요?
    • 계좌 잔액은 어떻게 확인하나요?
    • 계좌에 온라인으로 액세스하려면 어떻게 해야 하나요?
  • 문의
    • 문제가 발생했다면 누구에게 문의해야 하나요?
    • 상담 전화번호는 무엇인가요?
  • 불만
    • 내 문의/불만 사항은 어디에 등록할 수 있나요?
  • 문제
    • 도난당한 카드는 어떻게 신고하나요?

활용 사례 1: 공동 계좌와 관련된 의도는 사용자가 이와 같이 관련하여 직접적인 질문을 할 때만 고려되어야 합니다. 모호한 경우에는 공동 계좌 노드가 아닌 계좌 노드를 고려해야 합니다. 이 사례를 해결하기 위해 공동 계좌라는 용어를 필수로 표시합니다. 이를 통해 봇의 성능을 향상시킬 수 있습니다. 단계:

  1. 노드(이 경우 공동 계좌) 위에 마우스를 놓고 설정 아이콘을 클릭합니다.
  2. 설정 섹션의 용어 이름 옆에 있는 드롭다운에서 필수 옵션을 선택합니다.
  3. 지식 모음을 저장학습합니다.
  4. 이제 이 노드 아래의 질문은 사용자 발화가 노드로 이름 공동 계좌를 갖는 경우에만 고려됩니다.

활용 사례 2: 다음 FAQ를 고려하세요.

  • 문의
    • 문제가 발생했다면 누구에게 문의해야 하나요?
    • 상담 전화번호는 무엇인가요?
  • 불만
    • 내 문의/불만 사항은 어디에 등록할 수 있나요?
  • 문제
    • 도난당한 카드는 어떻게 신고하나요?

공통적인 구문 또는 용어가 없지만 고객 관리와 관련이 있습니다. 이해하기 쉽도록 같은 이름으로 이를 노드 아래에 넣고 오거나이저 노드로 표시할 수 있습니다. 사용자 발화에 문구를 사용하지 않고도 의도와 조건을 확인할 수 있습니다. 단계:

  1. 고객 관리 노드를 생성합니다.
  2. 위 세 개의 노드를 이 새 노드로 드래그 앤 드랍합니다.
  3. 노드(이 경우 고객 관리) 위에 마우스를 놓고 설정 아이콘을 클릭합니다.
  4. 설정 페이지에서 오거나이저 옵션을 선택합니다.
  5. 지식 모음을 저장학습합니다.
  6. 이제 사용자 발화에 노드 이름이 포함되지 않은 경우에도 이 노드 아래의 질문이 고려됩니다.

동의어

활용 사례 : 체크 카드를 수령하려면 어떻게 해야 하나요?를 시도하여 결정적이지 않은 제안적인 일치를 얻게 됩니다. 봇이 수령신청과 동일하게 이해하지 못하는 이유입니다. 해결 방법: 동의어 동의어를 추가하려면 아래 단계를 따릅니다:

  1. 신청 노드 위로 마우스를 올리고 설정 아이콘을 클릭합니다.
  2. 경로 수준 동의어 에서 수령을 추가합니다.
  3. 저장 및 봇 학습을 합니다.
  4. 봇과 대화하고 동일한 쿼리인 체크 카드를 수령하려면 어떻게 해야 하나요?를 사용합니다.
  5. 수표책을 수령하려면 어떻게 해야 하나요를 시도해보면 동의어가 여기에서도 작동하는 것을 확인할 수 있습니다. 이것은 경로 수준에 동의어를 추가했고 이것이 해당 경로/노드 아래의 모든 노드 및 질문에 적용되기 때문입니다.
  6. 마찬가지로 이를 전체 Knowledge Graph (KG)에 적용할 수 있다면 Knowledge Graph (KG) 동의어를 정의할 수 있습니다.

대체 질문

일부 질문에는 사용자가 접근할 수 있는 여러 방법이 있습니다.

  • 노트북에서 내 계좌 세부 정보를 볼 수 있는 방법이 있나요?
  • 계정에 액세스하는 데 사용할 수 있는 모바일 앱이 있나요?
  • 해당 은행은 계좌 세부 정보를 보기 위한 인터넷 뱅킹을 지원하나요?

이 모든 질문은 하나의 의도와 관련이 있습니다. 계좌에 온라인으로 액세스하려면 어떻게 해야 하나요? 그러나 이러한 Q&A를 모두 의도로 추가하고 응답 및 설정을 반복하는 대신 이러한 질문을 대체 질문으로 추가할 수 있습니다. 대체 질문을 추가하려면 다음 단계를 따르세요:

  1. 이 경우 온라인으로 내 계정에 액세스하려면 어떻게 해야 하나요?라는 질문에 마우스를 올리고 편집 아이콘을 클릭합니다.
  2. 대체 질문 추가에 질문을 입력합니다.
  3. 위에 언급된 세 개의 쿼리를 모두 추가합니다.
  4. 저장, 학습, 및 봇과 대화를 합니다.
  5. 위의 세 가지 질문 중 하나를 입력하면 온라인으로 내 계정에 액세스하려면 어떻게 해야 하나요?라는 질문과 동일한 답변이 표시됩니다.

작업 실행

계좌 잔액은 어떻게 확인하나요?라는 쿼리를 고려해봅니다. 봇에 잔액을 부여할 수 있는 작업이 있는 경우 사용자에게 발화 기능을 사용하여 작업을 트리거 하도록 요청하는 대신 사용자에게 동일한 작업을 직접 지시할 수 있습니다. 작업을 트리거하려면 다음 단계를 따르세요:

  1. 계속하기 전에 잔액 확인에 대한 작업이 정의되어 있는지 확인하세요. 메시지를 표시하는 더미 대화를 살펴보겠습니다.
  2. 계좌 잔액은 어떻게 확인하나요?라는 의도 추가를 추가합니다.
  3. 의도작업으로 설정합니다.
  4. 드롭다운 목록에서 대화 작업 이름 잔액 확인을 선택합니다.
  5. Knowledge Graph (KG)을 저장학습합니다.
  6. 발화 계좌 잔액은 어떻게 확인하나요?를 사용하여 봇과 대화하면 잔액 확인 작업을 트리거합니다.

온톨로지 내의 태그

활용 사례 : 은행에서 계정 세부 정보를 볼 수 있는 통장을 제공하나요? 온라인으로 내 계정에 액세스하려면 어떻게 해야 하나요? 라는 뜻인가요를 얻게 됩니다. 온라인 계좌 액세스에 대한 대체 질문이 되는 이유: 해당 은행은 계좌 세부 정보를 보기 위한 인터넷 뱅킹을 지원하나요?는 위 쿼리와 매우 근접하게 일치합니다. 인터넷 뱅킹 태그를 추가하고 대체 질문에 해당 은행은 계좌 세부 정보를 보기 위한 인터넷 뱅킹을 지원하나요?라는 질문을 필수로 표시하면 이러한 상황을 피할 수 있습니다. 해결 방법: 커스텀 태그 태그를 추가하려면 아래 단계를 따릅니다:

  1. 온라인으로 내 계정에 액세스하려면 어떻게 해야 하나요? 질문을 편집합니다.
  2. 대체 질문의 경우, 해당 은행은 계좌 세부 정보를 보기 위한 인터넷 뱅킹을 지원하나요?
    1. 인터넷 뱅킹 태그를 추가합니다.
    2. 태그를 클릭하여 태그 설정을 열고 태그 사용을 필수로 설정합니다.
    3. 완료를 클릭합니다.
  3. 대체 질문인 계좌에 액세스하는 데 사용할 수 있는 모바일 앱이 있나요?모바일 앱 태그와 함께 반복합니다.
  4. 저장 및 봇 학습을 합니다.
  5. 이제 봇과 대화하고 응답을 확인하세요.

특성

활용 사례 : 카드를 분실했습니다. 다른 체크 카드를 신청하려면 어떻게 해야 하나요? 체크 카드를 신청하려면 어떻게 해야 하나요?에 대한 응답을 받게 될 겁니다.

유효한 응답이지만 올바른 응답은 아닙니다. 이상적으로는 사용자가 카드를 분실했습니다라고 말했기 때문에 봇은 사용자에게 도난당한 카드를 신고하도록 지시해야 합니다. 해결 방법: 특성. 특성은 사용자의 발화에서 추가 정보를 얻고 사용자를 더 나은 해결 방법으로 유도하는 데 사용됩니다. 특성을 추가하려면 다음 단계를 따르세요:

  1. 먼저 이 질문을 도난당한 카드를 신고하려면 어떻게 해야 하나요?에 대한 대체 질문으로 추가합니다.
  2. 저장봇 학습을 합니다.
  3. 봇과 대화하고 같은 질문을 묻습니다. 동일한 응답을 받게 됩니다.
  4. 이제 특성을 추가하는 방법을 살펴보겠습니다.
  5. 특성 정의:
    1. 학습 버튼 옆에 있는 기타 옵션에서 특성 관리 옵션을 선택합니다.
    2. 새 특성을 클릭하여 새 특성을 생성합니다.
    3. 특성 유형을 부여하고 특성을 추가합니다. 여기에서, 문제를 유형, lostcard를 특성으로 고려합니다.
    4. 이 특성을 트리거 하는 발화카드 분실을 추가합니다. (발화 추가 후 Enter 키를 누르세요).
    5. 저장특성 훈련을 합니다.
  6. 특성 적용
    1. 온톨로지에서 문제 노드 설정 페이지로 이동합니다.
    2. lostcard특성으로 추가합니다(드롭다운 목록에서 선택).
    3. Knowledge Graph (KG)을 저장학습합니다.
    4. 봇과 대화하고 같은 질문을 합니다. 이제 예상되는 응답을 받을 수 있습니다.

본 문서에서는 Knowledge Graph (KG) 생성 및 관리를 위한 다양한 설정을 살펴보았습니다. Knowledge Graph (KG)의 구현 및 작업에 대한 자세한 내용은 이 문서를 참조하세요.

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.
You need to agree with the terms to proceed

この記事は、ボット用のナレッジグラフを素早く構築し、その仕組みを理解するのに役立ちます。FAQのオントロジーへの変換、タグの追加、用語の使用、代替質問の追加、同義語、タグ、特性の追加などの方法について説明します。

実装の詳細については こちらをご参照ください

この例では、バンキングボットに関する以下のようなFAQを扱っています。

  • デビットカードを申し込むにはどうすればいいですか?
  • 小切手帳を申し込むにはどうすればいいですか?
  • 共同口座を開設するにはどうすればいいですか?
  • 共同名義人を追加できますか?

静的FAQ

まずは、オントロジーのない静的FAQを作成しましょう。静的FAQを追加するには、以下の手順に従います。

  1. ボットを開きます。
  2. トップメニューから構築タブを選択します。
  3. 左側のペインで、会話スキル>ナレッジグラフをクリックします
  4. 作成 をクリックし、ナレッジグラフを作成します。
  5. ボット名に設定された名前を持つナレッジグラフが作成されます。
  6. インテントを追加をクリックし、FAQ入力を開始します。
  7. インテントタイプをFAQとして選択
  8. 質問を追加ボットレスポンス、次に保存をクリックします。
  9. 右上のインテントを追加をクリックし、さらにQ&Aを追加します。
  10. すべてのQ&Aを入力した後、トレーニングをクリックし、ナレッジグラフをトレーニングします。
  11. 右下のボットと会話をクリックし、追加されたQ&Aに対するボットの応答を確認します。

タグ

  • イシュー:クレジットカードを申し込むにはどうすればいいですか?という発話を試してください。このシナリオでは適切ではありませんが、デビットカードに関連する質問については、「ダイアログのことですか」が表示されます。理想的には、全く関係のない天気の問い合わせに対して、わかりません という応答が得られることです。

ソリューション:上記の状況を解決するために、各質問に タグを追加することができます。タグは、ユーザーの発話に含まれるいくつかのキーフレーズの存在に基づいてFAQをフィルタリングするのに役立ちます。
タグ追加の手順:

  1. 質問をポイントすると、編集 アイコンが表示されます。
  2. 編集アイコンをクリックして、質問にタグを追加します。
  3. タグを追加テキストボックスにおいて、質問に含まれるフレーズに基づいて、プラットフォームが提案するいくつかの候補が表示されます。リストから選ぶことも、自分でカスタムタグを入力することもできます。
  4. 今回のケースでは、プラットフォームの提案に従って、デビットカードのタグを選択し、変更保存します。
  5. 同様に、 小切手帳を申し込むにはどうすればいいですかの質問には、小切手帳を追加します。
  6. ボットをトレーニングします。
  7. ボットと会話、同じ発話を使用して、クレジットカードの申し込み方法を教えてくださいませんか

オントロジー

ボットの応答を良くするためには、質問ごとにタグを追加する必要があります。しかし、このソリューションは、大量のFAQリストがある場合には実行できません。また、複数の質問に対して共通のタグを付けることができます。ソリューション:オントロジー。重要な単語および頻出する単語/フレーズに基づいて、FAQはグループとサブグループに分類されます。オントロジーのサンプル:バンキングボットのFAQサンプルを続けると、質問は以下のように整理することができます。

  • 適用
    • デビットカード
      • デビットカードを申し込むにはどうすればいいですか?
    • 小切手帳
      • クレジットカードを申し込むにはどうすればいいですか?
  • 共同口座
    • 共同口座を開設するにはどうすればいいですか?
    • 共同名義人を追加できますか?

各グループは、オントロジーのノードになります。階層構造を形成するノードは、複数のレベルを持つことができます。関連するFAQ(インテント)をノードに移動させた場合、そのFAQとタグとして設定された付随するノード名が関連付けられることになります。オントロジーを作成するには、以下の手順に従います。

  1. 左ペインのナレッジグラフ名をポイントし、+ アイコンをクリックして 子ノードを追加します。
  2. ノードを申し込むおよび共同口座として追加します。
  3. サブグループを追加するには、ノードの上をポイントし、対応するアイコンを使用して子ノードを追加します。
  4. 共同口座に関連する質問を選択し、共同口座ノードにドラッグアンドドロップします。
  5. 「申し込む」「デビットカード」「小切手帳」の各ノードに関する質問についても同様のプロセスを繰り返します。
  6. それに応じてパスが更新されるのがわかります。
  7. 質問を編集して、ノード名がタグとして追加されていることを確認します。
  8. これによって、この質問が、用語/ノード名を含むユーザー発話に対して適格であることが保証されます。なお、先に追加したタグは保持され、削除することができますが、ノード名は削除できないことにご注意ください。
  9. ナレッジグラフトレーニングボットと会話を実行します。
  10. ボットの応答には何の変化もないはずです。

用語の使用方法

デフォルトでは、ノード名や用語は、パスの評価や一連の適正な質問を考え出す際に使用されます。このルールは、発話の中で用語を必須にするか、用語/ノードをそれぞれオーガナイザーとしてマークすることで、強化または緩和することができます。先に進む前に、ナレッジコレクションにノードの質問をいくつか追加してみましょう。

  • 口座
    • 口座を開設するにはどうすればいいですか?
    • 自分の口座にアクセスするにはどうすればいいですか?
    • 口座残高を確認するにはどうすればいいですか?
    • 自分の口座にオンラインでアクセスするにはどうすればいいですか?
  • 連絡先
    • イシューが発生した場合、誰に連絡すればいいですか?
    • ヘルプラインの番号を教えてください。
  • 苦情
    • 問い合わせや苦情はどこに登録すればいいのですか?
  • イシュー
    • 盗難にあったカードを報告するにはどうすればいいですか?

ユースケース 1: 共同口座に関するインテントは、ユーザーが直接質問した場合にのみ考慮されることを希望します。曖昧なケースでは、共同口座ノードではなく、口座ノードを考慮する必要があります。このケースに対応するために、共同口座という言葉を必須と表記しています。これによって、ボットのパフォーマンスを向上させることができます。手順:

  1. ノード(ここでは共同口座)をポイントし、設定アイコンをクリックします
  2. 「設定」セクションで、用語名の横にあるドロップダウンから 必須オプションを選択します。
  3. ナレッジコレクションの保存トレーニングを実行します。
  4. ここで、このノードの質問は、ユーザー発話がノード名(この場合は共同口座)を持つ場合にのみ考慮されます。

ユースケース 2: 以下のFAQをご検討ださい。

  • 連絡先
    • イシューが発生した場合、誰に連絡すればいいですか?
    • ヘルプラインの番号を教えてください。
  • 苦情
    • 問い合わせや苦情はどこに登録すればいいのですか?
  • イシュー
    • 盗難にあったカードを報告するにはどうすればいいですか?

共通するフレーズや用語はありませんが、これらは カスタマーケアに関連しています。理解しやすくするために、これらを同じ名前のノードの下に置き、それを オーガナイザーノードとしてマークすることで、ユーザー発話の中に用語のフレーズがなくてもインテントを確実に適格なものにすることができます。手順:

  1. 顧客ケアノードを作成します。
  2. 上記の3つのノードをこの新しいノードにドラッグアンドドロップします。
  3. ノード(ここでは顧客ケア)をポイントし、設定アイコンをクリックします
  4. 設定ページから オーガナイザーオプションを選択します。
  5. ナレッジコレクションの保存トレーニングを実行します。
  6. これで、たとえユーザー発話にノード名が含まれていなくても、このノードの下の質問が検討されます。

同義語

ユースケースデビットカードを取得するにはどうすればいいですか?を試すと、明確な一致ではなく、示唆に富んだ一致が得られます。その理由は、ボットが取得する申し込むと同じことと理解していないからです。ソリューション:「同義語」に同義語を追加するには、以下の手順に従います。

  1. 申し込むノードにカーソルを合わせ、 設定アイコンをクリックします。
  2. パスレベルの同義語では、取得を追加します。
  3. ボットの保存トレーニングを実行します。
  4. ボットとの会話および同じ問い合わせ デビットカードを作るにはどうすればいいですか?
  5. 小切手帳を取得するにはどうすればいいですか?を試してみると、同義語がここでも通用することがわかります。これは、パスレベルで同義語を追加したこと、およびそのパス/ノードの下にあるすべてのノードと質問に適用されることが原因です。
  6. 同様に、ナレッジグラフ全体に適用できる場合には、ナレッジグラフ同義語を定義することができます。

代替質問

質問によっては、ユーザーがアプローチできる方法が複数あるものもあります。

  • ノートパソコンから自分の口座の詳細を見る方法はありますか?
  • 自分の口座にアクセスするためのモバイルアプリはありますか?
  • あなたの銀行は、口座の詳細を見るためのインターネットバンキングをサポートしていますか?

これらの質問は、すべて1つのインテントに基づいています。自分の口座にオンラインでアクセスするにはどうすればいいですか?しかし、これらのQ&Aをすべてインテントとして追加し、応答や設定があればそれを繰り返すのではなく、これらの質問を代替質問として追加することができます。代替質問を追加するには、以下の手順に従います。

  1. 質問(ここでは自分の口座にオンラインでアクセスするにはどうすればいいですか?)をポイントし、アイコンを編集をクリックします。
  2. 代替質問を追加において質問を入力します。
  3. 上述の3つのクエリをすべて追加します。
  4. 保存してトレーニングし、ボットと会話を実行します。
  5. 上記の3つの質問のいずれかを入力すると、自分の口座にオンラインでアクセスするにはどうすればいいですか?という質問と同じ応答が得られます。

タスクの実行

自分の口座の残高を確認するにはどうすればいいですか?」というクエリを考えてみましょう。ボットが残高を告げることができるタスクを持っている場合、タスクをトリガーするために発話を使用するようにユーザーに求めるのではなく、同じことに誘導することができます。タスクをトリガーするには、以下の手順に従います。

  1. 先に進む前に、残高確認のために定義されたタスクを持っていることを確認します。ここでは、メッセージを表示するダミーのダイアログを検討しましょう。
  2. インテントを追加アカウントの残高を確認するにはどうすればいいですか?を追加します。
  3. インテントタスクに設定します。
  4. ドロップダウンリストから、ダイアログタスク名残高確認を選択します。
  5. ナレッジグラフ保存トレーニングを実行します。
  6. 口座残高を確認するにはどうすればいいですか? という発話が含まれるボットと会話は、残高確認タスクをトリガーします。

オントロジーのタグ

ユースケース:銀行では、口座の詳細を見るために通帳を渡していますか?You will get Did you mean オンラインで口座にアクセスするにはどうすればいいですか?という意味がわかるようになります。その理由は、オンラインアカウントアクセスのための代替質問です。銀行は、口座の詳細を見るためのインターネットバンキングをサポートしていますか? は、上記の質問に非常に近いものです。このような状況を避けるためには、インターネットバンキング というタグを追加し、代替質問である「銀行は口座の詳細を見るためのインターネットバンキングをサポートしていますか」に必須とマークを付けてください。ソリューション:カスタムタグにタグを追加するには、以下の手順に従います。

  1. 質問自分の口座にオンラインでアクセスするにはどうすればいいですか?を編集します
  2. 代替質問あなたの銀行は口座詳細を見るためのインターネットバンキングをサポートしていますか?について
    1. インターネットバンキングタグを追加。
    2. タグをクリックしてタグの設定ダイアログを開き、タグの使用方法を必須に設定します。
    3. 完了をクリックします。
  3. 代替質問自分の口座にアクセスするために使用できるモバイルアプリはありますか? を、モバイルアプリタグで繰り返します。
  4. ボットの保存トレーニングを実行します。
  5. ここでは、ボットと会話を実行し、その応答を見てみましょう。

特性

ユースケースカードを紛失してしまったのですが、別のデビットカードを申し込むにはどうすればいいですか?デビットカードを申し込むにはどうすればいいですか?との応答が得られます。

これは有効な応答ではありますが、正しい応答ではありません。理想的には、ユーザーが カードを紛失しました と言ったので、ボットはユーザーに「盗まれたカードを報告してください」と指示しなければなりません。ソリューション:特性。特性は、ユーザー発話から追加の情報を取得して、さらに優れたソリューションに導くために使用されます。特性を追加するには、以下の手順に従います。

  1. まず、この質問を 「盗まれたカードを報告するにはどうしたらいいですか」の代替質問として追加します。
  2. ボットの保存トレーニングを実行します。
  3. ボットとの会話を実行し、同じ質問をします。同じ応答が返ってくるでしょう。
  4. では、特性を追加する方法を見ましょう。
  5. 特性を定義します。
    1. トレーニングボタンの横にあるその他オプションから、特性を管理オプションを選択します。
    2. 新しい特性をクリックして、新しい特性を作成します。
    3. 特性タイプを指定し、特性をそれに追加します。ここでは、 イシューを特性タイプとし、lostcardを特性とします。
    4. この特性をトリガーする発話として、カードを紛失しましたを追加します。(発話を追加した後にEnterキーを押すのを忘れないでください)。
    5. 保存特性をトレーニングを実行します。
  6. 特性を適用
    1. オントロジーからイシューノードの設定ページに移動します。
    2. lostcard特性(ドロップダウンリストから選択).として追加します。
    3. ナレッジグラフ保存トレーニングを実行します。
    4. ボットとの会話 を実行し、同じ質問を試します。これで想定どおりの応答が返ってきます。

この文書では、ナレッジグラフの構築と管理のためのさまざまな設定について説明しています。ナレッジグラフの実装や動作についての詳細は、この文書をご参照ください

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.
You need to agree with the terms to proceed

This article helps to quickly build and understand the working of a Knowledge Graph for your bot. It shows how to convert an FAQ into ontology, add tags, use terms, add alternate questions, synonyms, tags, and traits.

For the implementation details, refer here.

Throughout this example we will be dealing with the following FAQs related to a banking bot:

  • How do I apply for a debit card?
  • How do I apply for a checkbook?
  • How do I open a joint account?
  • Can I add a joint account holder?

Static FAQ

Let us start by creating a static FAQ without an ontology.

To add a static FAQ, follow the below steps:

  1. Open the bot.
  2. Select the Build tab from the top menu
  3. On the left pane, click Conversational Skills > Knowledge Graph.
  4. Click Create to create a Knowledge Graph.
  5. A Knowledge Graph with the name set to the Bot Name is created.
  6. Click Add Intent to start entering your FAQs.
  7. Select Intent type as FAQ
  8. Add Question and Bot Response; then click Save.
  9. Click Add Intent on the top-right to add more Q&As.
  10. After you enter all the Q&As, click Train to train the Knowledge Graph.
  11. Click Talk to Bot at the bottom-right to check the bot response for the added Q&As.

Tags

  • Issue: Try the utterance how do I apply for a credit card?
    We will get did you mean dialog with reference to a question pertaining to Debit Card, which is not appropriate in this scenario. Ideally, we should see an I don’t know response as you get for a totally unrelated query regarding weather.

Solution

To overcome the above situation, we can add tags to each question. Tags help filter the FAQs based upon the presence of some key phrases in the user utterance.

Steps in adding Tags:

  1. Hover over the Question to find the edit icon.
  2. Click the edit icon to add a tag to the question.
  3. In the add tag text box, you can find some suggestions by the platform based on the phrases present in the question. You can pick one from the list or type your own custom tag.
  4. For this use case, we can pick the debit card tag as suggested by the platform and Save the changes.
  5. Similarly, add a checkbook for the How to apply for checkbook question.
  6. Train the bot.
  7. Talk to the Bot, use the same utterance how do I apply for a credit card?

Ontology

For a better bot response, you must add tags for every question. But this solution is not feasible in case we have a big list of FAQs. Also, more than one question can have a tag(s) in common.

Solution: Ontology. Based on crucial words and frequently occurring words/phrases, FAQs are organized into groups and subgroups.

Example of Ontology: Continuing with the Banking bot FAQ example, we can organize the questions thus:

  • Apply
    • Debit Card
      • How do I apply for a debit card?
    • Checkbook
      • How do I apply for a credit card?
  • Joint account
    • How do I open a Joint account?
    • Can I add a joint account holder?

Each group can be a node in the ontology. You can have multiple levels of the nodes forming a hierarchical structure. Moving the relevant FAQs (intents) to the nodes will associate that FAQ with the corresponding node name set as a tag.

To create an ontology, follow the below steps:

  1. Hover over the Knowledge Graph name on the left pane and click + icon to Add Child Node.
  2. Add the Nodes as Apply and Joint Account.
  3. To add subgroups, hover over the node and use the corresponding + icon to add child nodes.
  4. Select the questions pertaining to Joint Account and drag and drop them to the Joint Account node.
  5. Repeat the process for questions related to Apply, Debit Card, and Checkbook nodes.
  6. You will notice the path gets updated accordingly.
  7. Edit a question and see that the node name is added as a tag.
  8. This ensures that this question is qualified for a user utterance containing the term/node name. Note that the tags you added earlier are retained and you can delete them, whereas the node names cannot be deleted.
  9. Train the Knowledge Graph and Talk to Bot.
  10. There should not be any changes in the bot responses.

Term Usage

By default, the node names or terms are used in evaluating the path and coming up with a set of qualifying questions. You can tighten or relax this rule by either making the term mandatory in the utterance or marking the term/node as organizer respectively.

Before proceeding, let us add a few more nodes questions to our Knowledge Collection:

  • Account
    • How do I open an account?
    • How do I access my account?
    • How do I check my account balance?
    • How do I access my account online?
  • Contact
    • Who do I contact in case of an issue?
    • What is your helpline number?
  • Complaints
    • Where can I register my query/complaints?
  • Issues
    • How do I report a stolen card?

Use Case 1: You want to ensure that the intents regarding Joint Account must be considered only when the user asked a direct question regarding the same. Any ambiguous cases must consider the Account node and not the Joint Account node.

To address this case, we mark the term Joint Account as Mandatory. This helps improve the bot’s performance.

Steps:

  1. Hover over the node, in this case, Joint Account, and click on the settings icon.
  2. From the Settings section, select the Mandatory option from the dropdown next to the term name.
  3. Save and Train the Knowledge Collection.
  4. Now the questions under this node are considered only if the user utterance has the node name, Joint Account in this case.

Use Case 2: Consider the following FAQs.

  • Contact
    • Who do I contact in case of an issue?
    • What is your helpline number?
  • Complaints
    • Where can I register my query/complaints?
  • Issues
    • How do I report a stolen card?

Though they do not have any phrases or terms in common, they are related to Customer Care. For ease of understanding, we can put them under a node by the same name and mark it as Organizer node, ensuring that the intents get qualified without the need to have the term phrase in the user utterance.

Steps:

  1. Create a node Customer Care.
  2. Drag and drop the above three nodes to this new node.
  3. Hover over the node, in this case, Customer Care, and click on the settings icon.
  4. From the Settings page, select the Organizer option.
  5. Save and Train the Knowledge Collection.
  6. Now the questions under this node are considered even if the user utterance does not include the node name.

Synonyms

Use Case: Try How do I get a debit card? you will get a suggestive match not definitive. The reason being the bot does not understand get as being the same as apply.

Solution: Synonyms

To add synonyms, follow the below steps:

  1. Hover over the Apply node and click the settings icon.
  2. In the Path Level Synonyms, add get.
  3. Save and Train the Bot.
  4. Talk to Bot and use the same query How do I get a debit card?
  5. Try How do I get a checkbook and you will see that the synonym works here also. This is because we added the synonym at path level and it is applicable to all nodes and questions under that path/node.
  6. Similarly, we can define Knowledge Graph Synonym if it is applicable to the entire knowledge graph.

Alternate Questions

Some questions have multiple ways the user can approach them.

  • Is there a way to see my account details from my laptop?
  • Is there a mobile app that I can use to access my account?
  • Does your bank support internet banking to view account details?

All these questions pertain to one intent: How do I access my account online?. But instead of adding all these Q&As as intents and repeat the response and the settings, if any, you can add these questions as alternate questions.

To add alternate questions, follow the below steps:

  1. Hover over the question, in this case, How do I access my account online? and click the edit icon.
  2. In the Add alternate question enter the question.
  3. Add all the three queries mentioned above.
  4. Save, Train, and Talk to the Bot.
  5. Entering any of the above three questions will yield the same response as the question How do I access my account online?

Tasks Execution

Consider the query How do I check my account balance?. If the bot has a task that can give the balance, we can direct the user to the same, instead of asking the user to use the utterance to trigger the task.

To trigger a task, follow the below steps:

  1. Before proceeding, ensure that you have a task defined for Check Balance. Let us consider a dummy dialog that displays a message.
  2. Add the Add Intent How do I check my account balance?
  3. Set Intent to Task.
  4. From the drop-down list select the Dialog Task name Check Balance.
  5. Save and Train the Knowledge Graph.
  6. Talk to bot with the utterance How do I check my account balance? will trigger the Check Balance task.

Tags in Ontology

Use Case: Does your bank give a passbook to view account details? You will get Did you mean How do I access my account online?.

The reason being the alternate question for online account access: Does your bank support internet banking to view account details? is a very close match to the above query. You can avoid such situations by adding a tag internet banking and marking it as mandatory to the alternate question Does your bank support internet banking to view account details?.

Solution: Custom Tags

To add tags, follow the below steps:

  1. Edit the question How do I access my account online?
  2. For the alternate question Does your bank support internet banking to view account details?
    1. Add the tag internet-banking.
    2. Click the tag to open the Tag Settings dialog and set Tag Usage to Mandatory.
    3. Click Done.
  3. Repeat for the alternate question Is there a mobile app that I can use to access my account? with the tag mobile app.
  4. Save and Train the bot.
  5. Now Talk to the Bot and see the response.

Traits

Use Case: I lost my card, how do I apply for another debit card?
You will get the response with How do I apply for a debit card?.

While this is a valid response it is not the right one. Ideally, since the user said I lost my card bot must direct the user to report a stolen card.

Solution: Traits. Traits are used to get additional information from user utterance and direct the user to a better solution.

To add traits, follow the below steps:

  1. First, add this question as an alternate question to How do I report a stolen card?.
  2. Save and Train the bot.
  3. Talk to bot and ask the same question. You will get the same response.
  4. Now let us see how to add Trait.
  5. Define Trait:
    1. From the more option next to the Train button, select the Manage Traits option.
    2. Click New Trait to create a New Trait.
    3. Give a Trait Type and add Traits to it. Here, let us consider Issues as Trait Type and lostcard as Trait.
    4. Add lost my card as the utterance that triggers this trait. (Do not forget to hit enter after you add the utterance).
    5. Save and Train the trait.
  6. Apply Trait
    1. From the ontology, go to the Issues node Settings page.
    2. Add lostcard as Trait (pick from the drop-down list).
    3. Save and Train the Knowledge Graph.
    4. Talk to the Bot and try the same question. Now you will get the expected response.

In this document you have seen various settings for building and managing Knowledge Graph. For details regarding the implementation and working of Knowledge Graph, refer to this document.

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.
You need to agree with the terms to proceed