봇 학습시키기는 기계 학습 및 Fundamental Meaning Engine으로 제한되지 않습니다. 지식 그래프 엔진도 학습시켜야 합니다. 지식 그래프 엔진은 지식 그래프에서 적절한 질문을 식별하여 사용자의 의도에 응답합니다.

지식 그래프

지식 그래프에서 다음 단계에 따라 해당 지식 그래프를 구축하고 학습시킵니다.

  1. 각 FAQ 질문에서 고유한 단어를 그룹화하여 용어를 식별합니다. 이러한 고유한 단어를 기반으로 계층을 구축합니다.
  2. 각 노드에 질문이 25개 이하인지 확인합니다.
  3. 특성을 용어와 연결하여 식별된 여러 결과에서 FAQ를 필터링할 수 있습니다.
  4. 계층의 각 용어/노드에 동의어를 정의합니다. 용어를 호출하는 다양한 방법이 모두 정의되어 있는지 확인합니다.
  5. 경로에서 각 용어의 중요성에 따라, 필수 또는 일반으로 표시하세요.
  6. 더 나은 적용 범위를 위해 각 FAQ에 대한 대체 질문을 정의합니다.
  7. 정확한 응답을 위해 컨텍스트를 관리합니다.
  8. 불용어는 원치 않는 발화를 필터링하는 데 사용합니다.

지식 그래프 학습 및 테스트는 효율적인 지식 그래프를 구축하는 데 있어 매우 중요합니다. 학습시키기 전에, 태그 및 동의어, 특성을 사용하여 성능을 향상시킬 수 있습니다.

용어 유형

일치 경로를 선정하는 데 있어 중요도에 따라 지식 그래프의 용어 및 태그를 기본값, 필수 또는 구성자로 지정합니다.

  • 기본값: 기본 용어는 검증 경로를 선정할 때 특별히 염두에 두어야 할 사항이 없습니다.
  • 필수: 용어를 필수로 표시하면, 사용자의 발화에 필수 용어 또는 그 동의어가 포함된 경우에만 해당 용어와 연결된 모든 경로를 선정할 수 있습니다.
  • 구성자: 용어는 질문 구성을 위해서만 지식 그래프의 일부로 표시될 수 있습니다(이 옵션은 태그가 아닌 용어에만 사용할 수 있음).

태그

의도 이름 질문 추가 필드에 질문을 입력하면, 지식 그래프에서 텍스트를 기반으로 그래프에 추가할 수 있는 몇 가지 태그를 제시합니다. 제시된 용어를 경로에 포함시키려면, 커서가 용어 추가 필드에 있을 때 나타나는 드롭 다운 목록에서 태그를 선택합니다. 용어 추가 필드에 태그를 입력하고 Enter 키를 눌러 맞춤형 태그를 추가할 수도 있습니다.

태그를 추가하면 질문이 나타나는 모든 곳에서 태그처럼 질문 아래에 표시됩니다. 태그는 용어와 정확히 같게 작동하지만 혼란을 피하기 위해 지식 그래프에는 나타나지 않습니다. 용어와 마찬가지로 동의어와 특성을 태그에 추가할 수 있습니다.

동의어

지식 그래프의 각 용어에 여러 동의어를 추가하여 다양한 사용자 발화에 대한 경로를 검색할 수 있습니다. 설정 창에서 용어의 동의어를 추가할 수 있습니다. 지식 그래프에서 용어의 동의어를 추가할 때, 로컬(경로 수준) 또는 전역(지식 그래프) 동의어로 추가할 수 있습니다. 로컬 동의어는 해당 특정 경로의 용어에만 적용되는 반면, 전역 동의어는 계층의 다른 경로에 나타나는 경우에도 용어에 적용됩니다. 용어에 동의어를 추가하려면 다음 단계를 따르세요.

  1. 봇의 지식 그래프 왼쪽 상단에서 동의어를 추가하려는 노드/용어 위로 마우스를 이동합니다.
  2. 톱니바퀴 아이콘을 클릭하여 설정 창을 엽니다.
  3. 동의어를 추가하려면 다음을 수행하세요.
    • 로컬 동의어를 추가하려면, 경로 수준 동의어에서 상자에 입력합니다.
    • 전역 동의어를 추가하려면 지식 그래프 동의어에서 수정 또는 새로 추가를 클릭하고 입력합니다.
    • 지식 그래프 페이지의 오른쪽 상단에 있는 추가 옵션 아이콘의 동의어 관리 옵션에서도 이러한 그래프 동의어에 액세스할 수 있습니다.

      참고: 동의어 상자에 각 동의어를 입력한 후 Enter 키를 누릅니다. 각 동의어 다음에 Enter 키를 누르지 않고 여러 동의어를 입력하면 공백으로 분리되어 있는 경우에도 모든 동의어가 단일 엔티티로 간주됩니다.
    • KG 용어 식별에 봇 동의어를 사용할 수 있습니다. 임곗값 및 설정 또는 지식 그래프 페이지의 오른쪽 상단에 있는 추가 옵션 아이콘의 동의어 관리 옵션에서도 이를 활성화할 수 있습니다.

      활성화되면, KG 용어(또는 태그)와 일치하는 봇 수준 동의어는 동의어 섹션의 봇 동의어 제목에 자동으로 표시되며 KG 엔진이 이를 사용합니다. KG 그래프 수준 동의어와 유사하게, 봇 동의어를 경로 제한 및 질문 일치에 사용하게 됩니다. 노드가 봇 동의어 및 봇 개념과 모두 일치하는 경우 봇 개념이 우선시됩니다.
  4. 자식 노드에 대한 동의어를 추가하려면, 설정 창 하단에 나열된 자식 용어 옆에 있는 동의어 상자에 입력합니다.

태그에 동의어를 추가하려면 다음 단계를 따르세요.

  1. 지식 그래프의 왼쪽 상단에서, 질문을 추가한 용어/노드를 클릭합니다.
  2. 질문 패널의 질문 목록에서, 질문 위로 마우스를 이동합니다.
  3. 편집 아이콘을 클릭하고 Q&A 편집 창에서, 태그를 더블 클릭합니다. (기본 태그가 아닌 맞춤형 태그만 편집할 수 있음)
  4. 열린 태그 설정 창에서, 각 동의어를 입력하고 Enter 키를 눌러 추가합니다.
참고: 동의어 상자에 각 동의어를 입력한 후 Enter 키를 누릅니다. Enter 키를 누르지 않고 여러 동의어를 입력하면 공백으로 분리되어 있는 경우에도 모든 동의어가 단일 엔티티로 간주됩니다.

특성

일반적인 사용자 발언으로 특성을 만든 다음 지식 그래프의 관련 용어(노드 및 태그)에 추가할 수 있습니다. 특성에 대해 자세히 알아보려면 여기를 클릭하세요. 특성을 생성하려면 다음 단계를 따르세요. 여기서 사용할 수 있는 자연어 섹션에서 특성을 만든 경우, 특성은 봇 빌더에서 공통적인 것이 됩니다.

  1. 지식 그래프 창의 오른쪽 상단에서, 추가 옵션 아이콘을 클릭한 다음 특성 관리를 선택합니다.
  2. 특성 관리 창에서 새 특성을 클릭합니다.
  3. 특성 유형특성 이름 필드에 특성과 관련된 이름을 입력합니다. 예를 들어, 문제라고 해봅시다.
  4. 발화 필드에, 특성에 포함하려는 모든 발화를 입력합니다. 문제 특성의 예: 작동하지 않습니다, 작동하지 않는, 작동하지 않고 있는 중, 보이지 않습니다.
  5. 저장을 클릭합니다.

특성을 생성한 후, 지식 그래프의 여러 노드와 태그에 지정할 수 있습니다. 노드/용어에 특성을 추가하려면 다음 단계를 따르세요.

  1. 지식 그래프의 왼쪽 상단에서, 특성을 추가하려는 용어 위로 마우스를 이동합니다.
  2. 톱니바퀴 아이콘을 클릭하여 설정 창을 엽니다.
  3. 특성 드롭 다운 목록에서 특성 이름을 선택하고 저장을 클릭합니다.
참고: 노드에 특성을 추가한다고 해서 같은 이름을 가진 다른 노드에 추가되는 것은 아닙니다. 각 관련 노드에 개별적으로 특성을 추가해야 합니다.
태그에 특성을 추가하려면 다음 단계를 따르세요.
  1. 지식 그래프의 왼쪽 상단에서, 질문을 추가한 용어를 클릭합니다.
  2. 질문 패널의 질문 목록에서 질문 위로 마우스를 이동합니다.
  3. 편집 아이콘을 클릭하고 Q&A 편집 창에서, 용어를 더블 클릭합니다. (기본 용어가 아닌 맞춤형 용어만 편집할 수 있음)
  4. 태그 설정 창의 특성 드롭 다운 목록에서, 특성 이름을 선택한 다음 저장을 클릭합니다.

컨텍스트

다음을 설정하여 용어 및 태그에 대한 컨텍스트를 관리할 수 있습니다.

  • 의도 전제 조건 – 이 노드 또는 태그에 대한 한정자로 존재해야 하는 컨텍스트
  • 컨텍스트 출력 – 이 작업의 실행을 나타내기 위해 채워야 하는 컨텍스트

플랫폼의 v8.0 출시 이후에는 구성자 노드의 컨텍스트도 활성화할 수 있습니다. 컨텍스트 관리 옵션을 활성화하면 위에서 언급한 컨텍스트 전제 조건 및 컨텍스트 출력을 설정할 수 있습니다. 참고: 컨텍스트 관리 옵션을 활성화하면 기본적으로 용어/노드 이름이 생성되지 않습니다. 컨텍스트 관리에 대한 자세한 내용을 보려면 여기를 클릭하세요.

불용어

사용자 발화에 있는 불용어는 불용어를 사용하여 노드(또는 노드 동의어)를 정의하는 경우에도 스코어링을 위해 삭제됩니다. 지식 그래프에는 언어별로 미리 정의된 불용어 집합이 있습니다. 이 목록은 요구 사항에 맞게 사용자 정의할 수 있습니다. 불용어 목록을 편집하려면 다음 단계를 따르세요.

  1. 지식 그래프 페이지에서, 추가 옵션 아이콘을 클릭하고 불용어 관리를 선택합니다.
  2. 불용어 관리 창에서 불용어를 삭제하거나 추가합니다.

학습 및 테스트

지식 그래프 생성/편집을 완료한 후, 지식 그래프 창의 오른쪽 상단에 있는 학습 버튼을 클릭합니다. 이 작업을 수행하면, 모든 경로, 동의어 및 질문 답변 집합이 그래프 DB 엔진으로 전송됩니다.

참고: 용어에 동의어를 추가하거나 용어 이름을 편집하는 등 지식 그래프를 변경할 때마다 학습 버튼을 클릭해야 변경 사항이 봇 응답에 반영됩니다.

단일 노드에 100개 이상의 질문이 있는 경우 학습되지 않습니다. 이 제한은 응답 시간을 개선하여 보다 효율적인 지식 그래프 이용을 위해 v7.3에 도입되었습니다. 이렇게 작동하지 않는 경우 100개 이상의 질문이 있는 경로를 나열하는 다운로드 오류 CSV 파일을 사용할 수 있습니다. 이 파일을 통해 지식 그래프를 수정할 수 있습니다.

지식 그래프 테스트

지식 그래프 생성 및 학습을 완료하면, 봇과 상호 작용해보고 지식 그래프에 연결된 질문을 해보는 것이 좋습니다. 다양한 발화를 통해 봇 응답을 테스트하여 누락된 용어, 질문, 대체 질문, 동의어 및 특성을 식별할 수 있습니다.

참고: 게시될 때까지 지식 그래프는 설정된 상태를 유지합니다.

FAQ 탐지 단계

다음 FAQ 탐지 단계는 지식 그래프(KG) 엔진이 지식 그래프의 질문을 선정하는 과정에 대한 개요를 보여줍니다.

  1. 노드 추출: KG 엔진은 사용자 발화를 처리하여 지식 그래프에 있는 용어(노드)를 추출합니다. 또한, 용어와 관련된 동의어, 특성 및 태그를 고려합니다.
  2. 그래프 질의: KG 엔진은 추출 노드로 구성된 모든 경로를 가져옵니다.
  3. 경로 후보 선정: 사용자 발화와 50% 이상 일치하는 용어로 구성된 모든 경로는 추가 처리를 위해 선정됩니다. 예를 들어, 엔진은 이와 같은 용어 중 사용자 발화에서 2개 이상이 발생하는 경우 개인 은행 업무 > 공동 계좌 > 추가 > 계좌 소유주와 같은 4개의 노드가 있는 경로를 선정합니다. 참고: 경로 범위 계산은 루트 노드를 고려하지 않습니다.
  4. 특성으로 필터링: 지식 그래프에서 특성을 정의하면, 위 단계에서 선정된 경로가 사용자 발화에서 분류 알고리즘의 신뢰도 점수를 기반으로 추가로 필터링됩니다.
  5. 랭커로 보내기: 그런 다음 KG 엔진은 선정된 경로를 랭커 프로그램으로 보냅니다.
  6. 코사인 유사도 기반 점수 계산: 랭커는 사용자 정의 동의어, 기본형 단어, n-그램, 불용어를 통해 사용자 발화와 선정된 질문 간의 코사인 유사성을 계산합니다. 코사인 유사성 점수가 증가하지 않는 순서대로 경로의 순위를 매깁니다.
  7. 일치 규정: 그런 다음 랭커는 다음과 같이 경로를 규정합니다.
    • 점수를 가진 경로(paths with score) >= 임곗값 상한(upper_threshold)인 경로를 답변으로 규정합니다(확실한 일치).
    • 임곗값 하한(lower_threshold) < 점수(score) < 임곗값 상한(upper_threshold)인 경로는 제안으로 표시됩니다(가능한 일치).
    • 점수를 가진 경로(paths with score) < 임곗값 하한(lower_threshold)인 경로는 무시합니다.

임곗값 & 설정

학습 및 성능 향상을 위해 세 가지 NLP 엔진(FM, KG, ML)의 임곗값 및 설정을 지정할 수 있습니다. 자연어 > 학습 > 임곗값 및 설정에서 이 같은 설정 사항에 액세스할 수 있습니다. 참고: 봇이 다국어인 경우 다른 언어에 다른 임곗값을 설정할 수 있습니다. 설정하지 않으면, 모든 언어에 기본 설정이 적용됩니다. 이 기능은 v7.0부터 사용할 수 있습니다. 지식 그래프 엔진 설정에 대해서는 다음 섹션에 자세하게 설명되어 있습니다.

임곗값 및 설정으로 이동합니다.

  1. 지식 그래프 설정을 위해 봇을 엽니다.
  2. 왼쪽 창 위로 마우스를 가져간 다음 자연어 > 학습을 클릭합니다.
  3. 임곗값 및 설정 탭을 클릭합니다.
  4. 다음은 이 페이지의 지식 그래프 섹션에 대한 자세한 설명입니다.

자동 교정은 사용자 입력에 있는 단어들을 봇의 지식 그래프 도메인 사전에서 가장 근접하게 일치하는 단어로 교정합니다. 지식 그래프 도메인 사전은 지식 그래프의 질문, 대체 질문, 노드 및 동의어에서 추출한 단어로 구성됩니다. 봇 동의어를 통해 봇 플랫폼은 지식 그래프에서도 봇 동의어를 사용할 수 있습니다. KG 엔진의 의도 탐지로 봇 동의어를 포함시키려면 학습이 필요합니다. 이 설정을 활성화하고 학습을 시작하려면 계속을 클릭하세요. 품사를 사용하여 표제어 추출을 하면 발화에 있는 단어와 관련된 품사를 통해 표제어 추출을 할 수 있습니다. (자세한 내용은 아래 참조) 추가 스코어링을 위해 경로에 존재하는 사용자 발화 용어의 최소 백분율을 정의하는 데 경로 범위를 사용할 수 있습니다. 기본 설정은 50%입니다. 즉, 사용자 발화에 있는 용어의 절반 이상이 노드 이름 및 용어와 일치해야 합니다. 지식 그래프 의도의 최소 수준 및 확실한 수준을 통해 지식 그래프 의도의 신뢰 수준을 설정할 수 있습니다. 다음 세 가지 범위 중 하나에서 그래프의 신뢰 수준 백분율을 보고 조정할 수 있습니다.

  • 확실한 범위 – 이 범위(녹색 영역)의 일치 항목이 선택되고 기타 가능한 일치 항목은 삭제되며 기본값은 93-100%로 설정됩니다.
  • 가능한 범위 – 이 범위(회색 영역)의 일치 항목은 기본값으로 80-93%로 설정되어 재채점 및 순위를 매길 때 고려됩니다.
  • 낮은 신뢰 범위 – 일치하는 다른 의도가 없으면, 최종 사용자의 의도 확인을 위해 낮은 신뢰도 일치(주황색 영역)로 표시되며 기본값은 60-80%로 설정됩니다.
  • 의도와 일치하지 않음밝은 회색 영역 지식 그래프 의도와 일치하기에는 너무 낮은 지식 그래프 의도 NLP 인터프리터 신뢰 수준을 나타내며 기본값은 60%로 설정됩니다.

KG 제안 수: 명확한 KG 의도 일치가 없을 때 나타날 최대 KG/FAQ 제안 수(최대 5개)를 정의하세요. 기본값은 3으로 설정됩니다. 제안된 일치에 근접함: 똑같이 중요한 것으로 취급하기 위해 최고-스코어링과 바로 다음에 제안된 질문 사이에 허용되는 최대 차이(최대 50%까지)를 정의하세요. 기본값은 5%로 설정됩니다. 가능한 범위에 있는 일치에 이를 적용합니다. 응답 크기가 채널별 제한을 초과한 경우 긴 응답 관리. 응답을 자르거나 더 읽어보기 링크와 함께 전체 응답을 표시하도록 선택할 수 있습니다. 더 읽어보기 링크는 메시지 끝에 포함되어 있습니다. 이 링크를 선택하면, 전체 응답이 브라우저에서 답변으로 열립니다. 웹 브라우저에서 긴 응답을 여는 URL은 기본적으로 플랫폼에 의해 설정됩니다. 그러나 맞춤형 URL을 제공할 수도 있습니다. 주어진 FAQ의 답변에서 검색(자세한 내용은 아래 참조) 컨텍스트에서 사용할 수 있는 컨텍스트 태그로 지식 그래프에서 컨텍스트 경로를 선정하세요. 이 옵션을 활성화하면 컨텍스트의 용어나 태그를 통해 경로를 선정합니다. 이러한 태그는 이전에 일치된 경로 또는 의도 또는 맞춤형 태그에서 가져올 수 있습니다. 또한 플랫폼은 일부 고급 설정을 제공합니다. 자세한 내용은 여기를 참조하세요.

답변에서 검색

이 기능을 사용하면 질문하고 만 일치시키는 대신 답변 섹션에 사용자 입력을 검색하여 FAQ를 식별할 수 있습니다. 폴백 메커니즘에서만 그렇습니다. 즉, 질문에서 FAQ가 식별되지 않은 경우에만 답변 섹션의 검색을 수행합니다. 참고: 이 기능은 일부 언어에서는 지원되지 않습니다. 자세한 내용은 여기를 참조하세요. 답변에서 검색 플래그가 활성화되면, 지식 그래프 엔진은 의도를 식별하기 위해 답변의 텍스트도 고려합니다. 이 옵션이 활성화되면 최종 사용자에게 그 답변이 가능한 답변임을 알릴지 여부를 결정할 수 있습니다. 선택하면 효과에 대한 표준 메시지가 표시되며, 이는 응답 관리 링크를 통해 사용자 정의할 수 있습니다. 더 알아보기. 응답을 표현할 수 있는 세 가지 방법이 있습니다.

  1. 완전한 응답 표시: 전체 응답을 사용자에게 응답으로 전송합니다.
  2. 관련 단락만 표시합니다: 질문이 식별된 관련 단락만 응답으로 전송합니다.
  3. 더 읽어보기 링크가 있는 관련 단락만 표시합니다. 질문이 식별된 관련 단락만 응답으로 전송합니다. 추가적인 더 읽어보기 링크는 메시지 끝에 포함되어 있습니다. 이 링크를 선택하면 전체 응답이 브라우저에서 답변으로 열립니다. 웹 브라우저에서 긴 응답을 여는 URL은 기본적으로 플랫폼에 의해 설정됩니다. 그러나 맞춤형 URL을 제공할 수도 있습니다(자세한 내용은 아래 참조).

맞춤형 URL 설정 웹 브라우저에서 긴 응답을 여는 URL은 기본적으로 플랫폼에 의해 설정됩니다. FAQ 답변을 표현하는 맞춤형 URL을 제공할 수 있는 옵션이 있습니다. 플랫폼은 관련 메시지 템플릿(템플릿 ID) 및 기타 필요한 정보의 세부 사항과 함께 제공된 URL을 호출합니다. 다음 API는 FAQ의 전체 정보를 제공합니다.

URL:
https://{{host-name}}/api/1.1/public/users/{{userId}}/faqs/resolvedResponse/{{respId}}

메소드: get

헤더: {auth : JWT}

샘플 응답:
{
"response": "You can contact our Branch officials wherein you have submitted your documents.If the documents are in order, the account will be opened within 2 working days.",
"primaryQuestion": "How to check the status of my account opening?"
}

표제어 추출

언어학의 표제어 추출은 단어의 기본형 또는 사전 형식으로 식별된 단일 항목으로 분석할 수 있도록 단어의 변형을 함께 그룹화하는 과정입니다. 표제어 추출 과정에서 사용자 발화의 품사 정보를 통해 보다 정확한 FAQ 식별이 되도록 향상시킬 수 있습니다. 다음은 품사를 사용하거나 사용하지 않고 KG 엔진으로 인식하는 문구의 몇 가지 예입니다.

사용자 발화 품사를 사용하지 않음 품사를 사용함
내 미지불 잔고는 얼마입니까(What is my outstanding leave balance) outstand outstanding
여행을 가려고 비자를 신청 중입니다(I am filing for a visa so that I can travel) file filing
퇴직 시 초과 연차 및 병가는 어떻게 됩니까?(What happens to my excess annual leave and sick leave hours when I retire?) excess, happen excess happens

Botのトレーニングは、機械学習やファンダメンタルミーニングのエンジンに限定されるものではありません。ナレッジグラフエンジンもトレーニングする必要があります。

ナレッジグラフエンジンは、ナレッジグラフから適切な質問を特定することで、ユーザーインテントに応答します。

ナレッジグラフ

ナレッジグラフから、以下の手順に従って対応するナレッジグラフを構築およびトレーニングします。

  1. それぞれのFAQの質問に含まれるユニークな単語をグループ化して用語を特定します。これらすべてのユニークな単語に基づいて階層を構築します。
  2. それぞれのノードの質問数は、25問を超えないようにします。
  3. 特性を用語に関連付け、検出された複数の結果からFAQをフィルタリングできるようにします。
  4. 階層内のそれぞれの用語/ノードの同義語を定義します。用語を呼び出すためのすべての方法が定義されていることを確認します。
  5. パス内のそれぞれの用語の重要度に応じて、それらの用語を必須または通常の用語としてマークします。
  6. 可能な限りカバーできるよう、それぞれのFAQの代替質問を定義します。
  7. 正確な応答ができるようコンテキストを管理します。
  8. ストップワードは、不要な発話をフィルタリングするために使用することができます。

ナレッジグラフのトレーニングやテストは、効率的なナレッジグラフを構築するのに不可欠です。

トレーニングの前に、タグ、同義語、特性を使用してパフォーマンスを向上させることができます。

用語のタイプ

(バージョン7.2以前は、「使用法の管理」の「用語の使用法」と呼ばれていました)

一致するパスを指定する際の重要性に応じて、デフォルト、必須、オーガナイザーとしてナレッジグラフの用語とタグを指定します。

  • デフォルト:デフォルトの用語は、適格なパスの候補選択において特に考慮すべき点はありません。
  • 必須:用語を必須としてマークすると、ユーザーの発話に必須の用語またはその同義語が含まれている場合にのみ、その用語に関連付けられているすべてのパスがランキング用に絞り込まれます。
  • オーガナイザー:用語は、質問を整理するためにのみ、ナレッジグラフの一部としてマークすることができます(このオプションはタグではなく用語に対してのみ利用可能です)。

タグ

ユーザーの発言フィールドに質問が入力されると、ナレッジグラフは、テキストに基づいてグラフに追加可能なタグを提案します。提案された用語をパスに追加するには、カーソルが用語の追加フィールドにあるときに表示されるドロップダウンリストからタグを選択します。また、用語の追加フィールドにタグを入力してエンターキーを押すことで、カスタムタグを追加することもできます。

タグを追加すると、質問が表示される場所すべてで、質問の下にタグのように表示されるようになります。タグは用語とまったく同じように機能しますが、ナレッジグラフには表示されません。用語と同様に、タグにも同義語や特性を追加することができます。

同義語

ナレッジグラフにそれぞれの用語に対する複数の同義語を追加することができ、これによりさまざまなユーザーの発話に対してパスを検出できるようになります。用語の同義語は設定ウィンドウから追加することができます。

ナレッジグラフに用語の同義語を追加すると、ローカル(パスレベル)またはグローバル(ナレッジグラフ)の同義語として追加することができます。

ローカルの同義語は、特定のパスでのみその用語に適用され、グローバルの同義語は、階層内の他のパスに現れた場合でもその用語に適用されます。

用語の同義語を追加する

  1. Botのナレッジグラフの左上で、同義語を追加したいノード/用語にカーソルを合わせます。
  2. ギアアイコンをクリックして設定ウィンドウを開きます。
  3. 同義語を追加するには、以下を実行します。
    • ローカルの同義語を追加するには、パスレベルの同義語のボックスに入力します。
    • グローバルの同義語を追加するには、ナレッジグラフの同義語編集または新規追加をクリックして入力します。これらのグラフの同義語は、ナレッジグラフページの右上にあるその他のオプションアイコンの下にある同義語の管理オプションからもアクセスすることができます。

      :同義語ボックスにそれぞれの同義語を入力した後に[Enter]キーを押します。それぞれの同義語の入力後に[Enter]キーを押さずに複数の同義語を入力した場合、スペースで区切られていたとしても、同義語はすべて1つのエンティティとみなされます。
    • リリース7.2以降では、KGの用語の識別に Botの同義語 を使用できるようになりました。このオプションは、しきい値および設定、またはナレッジグラフページの右上にあるその他のオプションアイコンの下にある
      同義語の管理オプションから有効にすることができます。

      有効にすると、KGの用語(またはタグ)と一致するBotレベルの同義語は、同義語セクションのBot同義語の見出しの下に自動的に表示され、KGエンジンによって使用されます。Botの同義語は、KGグラフレベルの同義語と同様に、パスの設定と質問の照合に使用されます。ノードがBotの同義語とBotの概念の両方に一致した場合、Botの概念が優先されます。
  4. 子ノードに同義語を追加するには、設定ウィンドウの下部にリスト表示されている子ノードの用語の横にある同義語ボックスに入力します。

タグの同義語を追加する

  1. ナレッジグラフの左上で質問を追加した用語/ノードをクリックします。
  2. 質問パネルの質問一覧から、質問にカーソルを合わせます
  3. 編集アイコンをクリックし、Q&A編集ウィンドウでタグをダブルクリックします。(デフォルトのタグではなくカスタムタグのみでも編集可能)
  4. 開いたタグ設定ウィンドウで、それぞれの同義語を入力し、Enterを押して追加します。
:同義語ボックスにそれぞれの同義語を入力した後に[Enter]キーを押します。それぞれの同義語の入力後に[Enter]キーを押さずに複数の同義語を入力した場合、スペースで区切られていたとしても、同義語はすべて1つのエンティティとみなされます。

特性

:特性はバージョン6.4以前のクラスに置き換わります。

一般的なユーザーの発話から特性を作成し、ナレッジグラフの関連する用語(ノードやタグ)に追加することができます。特性の詳細については、こちらをクリックしてください。

特性を作成する

自然言語セクションから特性を作成した場合、当該特性はBotビルダー全体で共通であり、ここで使用することができます。

  1. ナレッジグラフウィンドウの右上にあるその他のオプションアイコンをクリックして、特性の管理を選択します。
  2. 特性の管理のポップアップウィンドウで新しい特性をクリックします。
  3. 特性タイプおよび特性名フィールドに、特性に関連する名前を入力します。
  4. 特性に含めるすべての発話を発話 ボックスに入力します。Issues特性の例には、it is not workingnot workingis not workingI cannot seeなどがあります。
  5. 保存をクリックします。

特性を作成したら、ナレッジグラフの複数のノードやタグに割り当てることができます。

ノード/用語に特性を追加する

  1. ナレッジグラフの左上で、特性を追加する用語にカーソルを合わせます
  2. ギアアイコンをクリックして設定画面を開きます。
  3. 特性ドロップダウンリストで特性の名前を選択し、保存をクリックします。
:ノードに特性を追加しても、同じ名前の他のノードには追加されません。関連するノードごとに個別に追加する必要があります。
タグに特性を追加する
  1. ナレッジグラフの左上で、質問を追加した用語をクリックします
  2. 質問パネルの質問一覧から質問にカーソルを合わせます
  3. 編集アイコンをクリックし、Q&A編集ウィンドウで用語をダブルクリックします。(デフォルトの用語ではなくカスタム用語のみでも編集可能)
  4. タグ設定ウィンドウの特性ロップダウンリストで、特性の名前を選択して保存をクリックします。

コンテキスト

以下の設定を行うことで、用語やタグのコンテキスト管理を行うことができます。

  • インテントの前提条件 – このノードまたはタグの修飾子として存在すべきコンテキストです。
  • コンテキスト出力 – このタスクの実行を示すために生成されるコンテキストです。

バージョン8.0のプラットフォームリリース後、オーガナイザーノードでもコンテキストを有効にできるようになりました。コンテキスト管理オプションを有効にすると、上記のコンテキスト前提条件とコンテキスト出力を設定することができます。コンテキスト管理のオプションを有効にすると、デフォルトでは用語/ノード名が表示されないことにご注意ください。

コンテキスト管理の詳細については、こちらを参照してください

ストップワード

ユーザー発話に存在するストップワードは、たとえストップワードがノード(またはノードの同義語)を定義するために使用されていたとしても、スコアリングのために削除されます。

ナレッジグラフには、言語固有の事前定義されたストップワードがあります。このリストは、お客様の要件に合わせてカスタマイズすることができます。

ストップワードリストを編集する:

  1. ナレッジグラフページでその他のオプションアイコンをクリックし、ストップワードの管理を選択します。
  2. ストップワードの管理ウィンドウから、ストップワードを削除または追加します。

トレーニング及びテスト

ナレッジグラフの作成/編集が完了したら、ナレッジグラフウィンドウの右上にあるトレーニングボタンをクリックします。これを行うことで、パス、同義語、および質問と回答の組み合わせがすべてグラフDBエンジンに送信されます。

:同義語の用語への追加や用語の名前の編集など、ナレッジグラフに変更を加えるたびに、変更がBotの応答に反映されるようにトレーニングボタンをクリックする必要があります。

1つのノードに100問以上の質問がある場合、トレーニングは失敗します。この制限はバージョン7.3以降導入されたもので、ナレッジグラフの応答速度を向上させて効率化を図るために導入されたものです。このようなエラーが発生した場合には、100問以上の問題があるパスを一覧にしたエラーCSVファイルをダウンロードすることができます。このファイルを使用してナレッジグラフを修正することができます。

ナレッジグラフのテスト

ナレッジグラフの作成とトレーニングが完了したら、Botと対話し、ナレッジグラフに関連する質問を投げかけることをお勧めします。不足している用語、質問、代替質問、同義語、特性を識別できるよう、さまざまな発話を使用してBotの応答をテストします。

注:ナレッジグラフは、公開されるまで設定済みの状態のままです。

FAQの検出手順

以下のFAQ検出手順では、ナレッジグラフ(KG)エンジンがナレッジグラフから質問を絞り込むプロセスの概要について説明します。

  1. ノードの抽出:KGエンジンは、ユーザーの発話を処理して、ナレッジグラフに存在する用語(ノード)を抽出します。さらに、用語に関連付けられた同義語、特性、タグも考慮します。
  2. クエリグラフ:KGエンジンは、抽出されたノードを構成するすべてのパスを取得します。
  3. 絞り込みパス:ユーザーの発話と50%以上一致する用語からなるパスはすべて、その後の処理のために絞り込まれます。例えば、ユーザーの発話でこれらの用語の少なくとも2つが発生した場合、エンジンは、パーソナルバンキング→共同アカウント→追加→アカウントホルダーなどの4つのノードを持つパスを絞り込みます。
    :パスカバレッジの計算ではルートノードは考慮されません。
  4. 特性を使用したフィルタリング:ナレッジグラフに特性を定義すると、上記のステップで絞り込まれたパスは、ユーザーの発話内の分類アルゴリズムの信頼度スコアに基づいて、さらにフィルタリングされます。
  5. ランカーへの送信:KGエンジンは、次にショートリストに含まれるパスをランカープログラムに送信します。
  6. コサイン類似度に基づくスコア:ランカーは、ユーザー定義の同義語、単語のレンマ形、n-gram、ストップワードを使用して、ユーザーの発話と絞り込まれた質問との間のコサイン類似度を計算します。パスはコサイン類似度スコアの高い順にランク付けされます。
  7. 修飾一致:ランカーは、次のようにパスを修飾します。
    • score >= upper_thresholdのパスは、回答として修飾されます(確実に一致)。
    • lower_threshold < score < upper_thresholdのパスは、サジェスト(一致の可能性が高い)としてマークされます。
    • score < lower_thresholdのパスは無視されます。

しきい値および設定

トレーニングやパフォーマンスを向上させるために、FM、KG、MLの3つのNLPエンジンすべてに対して、しきい値および設定を指定することができます。これらの設定は、自然言語 > トレーニング > しきい値および設定からアクセスすることが可能です。

:お客様のBotが多言語の場合、言語ごとに異なるしきい値を設定することができます。設定が行われていない場合は、すべての言語でデフォルト設定が使用されます。この機能はバージョン7.0以降で利用可能です。

ナレッジグラフエンジンの設定については、以下のセクションで詳しく説明します。

しきい値および設定への移動

  1. ナレッジグラフの設定を行うBotを開きます。
  2. サイドナビゲーションパネルにカーソルを合わせ、自然言語 > トレーニングをクリックします。
  3. しきい値および設定タブをクリックします。
  4. 以下に、このページのナレッジグラフセクションについて詳述しています。

自動補正は、ユーザーが入力した単語を、Botのナレッジグラフドメイン辞書から最も近く一致する単語に修正します。ナレッジグラフドメイン辞書は、ナレッジグラフの質問、代替質問、ノード、および同義語から抽出された単語で構成されています。

Botの同義語(バージョン7.2で導入)により、BotプラットフォームはナレッジグラフでもBotの同義語を使用できるようになります。KGエンジンがインテントを検出するためにBotの同義語を含めるには、トレーニングが必要です。この設定を有効にしてトレーニングを開始するには、プロンプトの表示後「続行」をクリックしてください。

音声の一部を使用したレンマ化(バージョン7.3で導入)により、発話内の単語に関連する言葉の一部を使用して、レンマ化を行うことができます。(詳細は以下を参照

パスカバレッジを使用して、パス内に存在するユーザーの発話に含まれる用語の最小割合を定義し、その後のスコアリングのためにパスを修飾することができます。デフォルトの設定は50%です。つまり、ユーザーの発話の用語の少なくとも半分がノード名および用語に一致している必要があります。

ナレッジグラフインテントの最小レベルおよび確定レベルでは、ナレッジグラフインテントの信頼度を設定することができます。グラフの信頼度の割合は、以下の3つの範囲のいずれかで表示および調整することができます。

  • 確定範囲 – この範囲(緑の領域)の一致が選択され、その他の可能性のある一致はすべて破棄されます。デフォルトでは93〜100%に設定されています。
  • 可能性の高い範囲 – この範囲(ダークグレーの領域)の一致は、再スコアリングおよびランク付けの対象と見なされます。デフォルトでは80~93%に設定されています。
  • 信頼度の低い範囲 – 他のインテントが一致しなかった場合、信頼度の低い一致(オレンジの領域)がエンドユーザーに提示され、インテント確認用に使用されます。デフォルトでは60~80%に設定されています。
  • インテントとの一致なし – ライトグレーの領域は、ナレッジグラフインテントのNLPインタプリタの信頼度が低すぎるため、ナレッジグラフインテントと一致しないことを表しています。デフォルトでは60%に設定されています。

KGの提案数:明確なKGインテントの一致がない場合に表示される、KG/FAQの最大提案数(5つまで)を定義します。デフォルトでは3に設定されています。

提案された一致の近似度:最高スコアの質問と次に提案される質問の間で許容される最大差(最大50%)を定義して、それらを同じように重要な質問と見なします。デフォルトでは5%に設定されています。これは可能性の高い範囲の一致に適用されます。

応答サイズがチャネル固有の制限を超えている場合、長い応答を管理します。応答を省略するか、続きを読むリンクで応答全文を表示するかを選択することができます。「続きを読む」リンクはメッセージの最後に含まれます。このリンクを選択した場合、応答全文がブラウザで開かれます。ウェブブラウザで長い応答を開くためのURLは、プラットフォームによってデフォルトで設定されていますが、カスタムURLを指定することも可能です。

対象となるFAQを回答で検索詳細は以下を参照

コンテキストで利用可能なコンテキストタグを使用して、ナレッジグラフ内のコンテキストパスを修飾します。このオプションを有効にすると、コンテキストからの用語またはタグを使用して、パスを絞り込むことができます。これらのタグは、以前一致したパスやインテント、あるいはカスタム定義済みのタグに由来するものです。

プラットフォームのバージョン8.0では、詳細設定が導入されています。詳細はこちらを参照してください

回答で検索

この機能により、質問との照合のみではなく、回答セクションに対してユーザー入力を検索することでFAQを特定できるようになります。つまり、質問からFAQが特定されなかった場合にのみ、回答セクションでの検索が行われます。

:この機能はすべての言語でサポートされているわけではありません。詳細はこちらを参照してください。

回答で検索」フラグが有効になっている場合は、ナレッジグラフエンジンはインテントを識別するための回答テキストを考慮します。

このオプションを有効にすると、回答が有力な回答であることをエンドユーザーに知らせるかどうかを指定することができます。選択した場合、その旨の標準メッセージが表示され、応答の管理リンクを使用してカスタマイズすることができます。詳細はこちら

応答をレンダリングする方法は3つあります。

  1. 回答全文を表示する:応答全文がユーザーへの回答として送信されます。
  2. 関連する段落のみを表示する:質問が特定された関連する段落のみが応答として送信されます。
  3. 「続きを読む」リンクを含む関連する段落のみを表示する:質問が特定された関連する段落のみが応答として送信されます。
    メッセージの最後に「続きを読む」リンクが追加されます。このリンクを選択すると、ブラウザで回答全文が開かれます。ウェブブラウザで長い応答を開くためのURLは、プラットフォームによってデフォルトで設定されていますが、カスタムURLを適用することも可能です(詳細は以下を参照)。

カスタムURLの設定:

デフォルトでは、Webブラウザで長文の回答を開くURLがプラットフォームによって設定されています。FAQの回答をレンダリングするためのカスタムURLを提供するオプションも選択することができます。

プラットフォームは、関連するメッセージテンプレート(テンプレートID)の詳細およびその他の必要な情報を含むURLを呼び出します。

以下のAPIは、FAQの全情報を提供します。

URL:
https://{{host-name}}/api/1.1/public/users/{{userId}}/faqs/resolvedResponse/{{respId}}

メソッド: get

ヘッダー: {auth : JWT}

サンプルの応答:
{
"response": "You can contact our Branch officials wherein you have submitted your documents.If the documents are in order, the account will be opened within 2 working days.",
"primaryQuestion": "How to check the status of my account opening?"
}

レンマ化

言語学におけるレンマ化とは、単語の屈折形をグループ化して、単語のレンマ形または辞書形式で識別される単一の項目として分析できるようにするプロセスです。レンマ化の過程において、ユーザーの発話からの音声の一部の情報を使用することで、より正確なFAQの識別を向上させることができます。

以下は、音声の一部を使用している場合と使用していない場合のKGエンジンで認識されたフレーズの例です。

ユーザーの発話 POSを不使用 POSを使用
What is my outstanding leave balance outstand outstanding
I am filing for a visa so that I can travel file filing
What happens to my excess annual leave and sick leave hours when I retire? exces, happen excess, happens

Training your Bot is not restricted to Machine Learning and Fundamental Meaning engines. You must train the Knowledge Graph engine, too.

Knowledge Graph engine responds to users’ intents by identifying the appropriate questions from the Knowledge Graph.

Knowledge Graph

From the Knowledge Graph, follow these steps to build and train the corresponding Knowledge Graph:

  1. Identify terms by grouping the unique words in each FAQ question. Build a hierarchy based on all such unique words.
  2. Ensure that each node has not more than 25 questions.
  3. Associate traits with terms to enable filtering FAQs from multiple identified results.
  4. Define synonyms for each term/node in the hierarchy. Ensure that all the different ways to call the term are defined.
  5. Depending on the importance of each term in a path, mark them as either mandatory or regular.
  6. Define alternative questions for each FAQ to ensure better coverage.
  7. Manage context for accurate response.
  8. Stop Words are used to filter unwanted utterances.

Training and testing your Knowledge Graph is crucial to building an efficient Knowledge Graph.

Before training, you can improve performance by using tags, synonyms, and traits.

Term Type

Designate the terms and tags in Knowledge Graph as Default, or Mandatory, or Organizer depending on their importance in qualifying matching paths:

  • Default: Default terms do not have any particular considerations in shortlisting qualified paths.
  • Mandatory: When you mark a term as Mandatory, all paths associated with the term are shortlisted for ranking only if the user’s utterance includes the mandatory term or its synonyms.
  • Organizer: Term can be marked as being a part of the Knowledge Graph only for organizing questions (this option is available only for terms, not tags).

Tags

When you type a question in the Intent Name Add Question field, the Knowledge Graph suggests some tags that you can add to the graph based on the text. To include a suggested term to the path, select the tag from the drop-down list that appears when the cursor is in the Add Term field. You can also add custom tags by typing them in the add term field and hitting the enter key.

After you add a tag, it is visible below the question like a tag everywhere the question appears. Tags work exactly like terms but are not displayed in the Knowledge Graph to avoid clutter. You can add synonyms and traits to tags as you do to terms.

Synonyms

You can add multiple synonyms for each term in your Knowledge Graph, making the path discoverable for varied user utterances. You can add synonyms for a term from the Settings window.

When you add a synonym for a term in the Knowledge Graph, you can add them as local (Path Level) or global (Knowledge Graph) synonyms.

Local Synonyms apply to the term only in that particular path, whereas Global Synonyms apply to the term even if it appears on any other path in the hierarchy.

To add synonyms for a term, follow the below steps:

  1. On the top left of the bot’s Knowledge Graph, hover over the node/term for which you want to add synonyms.
  2. Click the gear icon to open the Settings window.
  3. To add synonyms,  do the following:
    • To add local synonyms, type them in the box under Path Level Synonyms.
    • To add Global synonyms, click Edit or Add New under Knowledge Graph Synonyms and enter them.
    • These Graph Synonyms can also be accessed from the Manage Synonyms option under the more options icon on the top-right of the Knowledge Graph page.

      Note: Press Enter after typing each synonym in the Synonyms box. If you type multiple synonyms without pressing Enter after each synonym, all the synonyms are considered as a single entity, even if they are separated by spaces.
    • You can use Bot Synonyms in the identification of KG terms. This option can be enabled either from the Threshold and Configurations or from the Manage Synonyms option under the more options icon on the top-right of the Knowledge Graph page.

      Once enabled, the bot-level synonyms that match with KG terms (or tags) are automatically displayed under the Bot Synonyms heading in the Synonyms section and are used by the KG engine. The Bot Synonyms are used similar to that of KG graph level synonyms, for path qualification and for question matching. When a node matches both with a bot synonym and a bot concept, the bot concept takes priority.
  4. To add synonyms for a child node, enter them in the Synonyms box next to the Child Terms listed at the bottom of the settings window.

To add synonyms for a tag, follow the below steps:

  1. On the top-left side of the Knowledge Graph, click the term/node to which you have added the question.
  2. From the list of questions on the Questions panel, hover over the question.
  3. Click the edit icon and in the Edit Q&A window, double-click the tag. (You can edit custom tags alone not the default ones)
  4. On the Tag Settings window that opens, type each synonym and press Enter to add it.
Note: Press Enter after typing each synonym in the Synonyms box. If you type multiple synonyms, and without pressing Enter, all the synonyms are considered as a single entity, even if they are separated by spaces.

Traits

You can create traits with common user utterances and then add them to the relevant terms (nodes and tags) in your Knowledge Graph. To know more about Traits, click here.

To create a trait, follow the below steps:

Traits are common across the Bot Builder if you have created Traits from the Natural Language section they are available for use here.

  1. On the top-right of the Knowledge Graph window, click the more options icon and then select Manage Traits.
  2. On the Manage Traits window, click New Trait.
  3. In the Trait Type and Trait Name field, enter a relevant name for the trait. For example, Issues.
  4. In the Utterances field, enter all the utterances that you want to include in the trait. Examples of the Issues trait: it is not working, not working, is not working, and I cannot see.
  5. Click Save.

After you create a trait, you can assign it to multiple nodes and tags in the Knowledge Graph.

To add a trait to a node/term, follow the below steps:

  1. On the top-left of your Knowledge Graph, hover over the terms to which you want to add the trait.
  2. Click the gear icon to open the Settings window.
  3. Select the name of a trait from the Trait drop-down list and click Save.
Note: Adding a trait to a node doesn’t add it to other nodes with the same name. You must add traits to each relevant node separately.
To add a trait to a tag, follow the below steps:
  1. On the top left side of your Knowledge Graph, click the term to which you have added the question.
  2. From the list of questions on the Questions panel, hover over the question.
  3. Click the edit icon and in the Edit Q&A window, double-click the term. (You can edit custom terms but not the default ones)
  4. From the Tag Settings window, in the Traits drop-down list, select the name of a trait and then click Save.

Context

You can Manage Context for the terms and tags by setting:

  • Intent Precondition – the context that should be present as a qualifier for this node or tag
  • Context Output – the context that should be populated to signify the execution of this task

Post the release of v8.0 of the platform, context can be enabled for Organizer nodes as well. Enabling the Manage Context option allows you to set the context precondition and context output mentioned above.

Note: Enabling the manage context option will not emit the term/node name by default.

Click here for more on Context Management.

Stop Words

Stop words present in the user utterance are discarded for scoring even if the stop word is used to define a node (or node synonyms).

Knowledge Graph has a language-specific predefined set of stop words. This list can be customized to suit your requirements.

To edit the stop words list, follow the below steps:

  1. From the Knowledge Graph page, click on the more options icon and select Manage Stop Words.
  2. From the Manage Stop Words window, delete or add stop words.

Train & Test

After you complete creating/editing the Knowledge Graph, click the Train button on the top-right of the Knowledge Graph window. When you perform this action, all the paths, synonyms, and question-answer sets are sent to the Graph DB engine.

Note: After every change that you make to the Knowledge Graph such as adding synonyms to a term or editing the name of a term, you must click the Train button for the changes to reflect in the bot responses.

The training fails if any single node has more than 100 questions. This limit was introduced in v7.3 to make Knowledge Graph more efficient by improving the response times. In such failure cases, you can Download Errors CSV file which lists the path with more than 100 questions. You can use this file to rectify your Knowledge Graph.

Test the Knowledge Graph

When you complete creating the Knowledge Graph and training it, we recommend you to interact with the bot and ask questions connected to the Knowledge Graph. Test the bot responses by using a variety of utterances so that you can identify missing terms, questions, alternative questions, synonyms, and traits.

Note: The Knowledge Graph remains in the Configured status until it is published.

FAQ Detection Steps

The following FAQ Detection steps give you an overview of the process in which the Knowledge Graph(KG) engine shortlists the questions from a Knowledge Graph:

  1. Extract Nodes: The KG engine processes the user utterance to extract the term (nodes) present in the Knowledge Graph. It also takes into consideration the synonyms, traits, and tags associated with the terms.
  2. Query Graph: The KG engine fetches all the paths that consist of the extracted nodes.
  3. Shortlist Paths: All the paths consisting of 50% or more matching terms with the user utterance are shortlisted for further processing. For example, the engine shortlists a path with four nodes such as Personal Banking > Joint Account > Add > Account Holder if at least two of these terms occur in the user utterance.
    Note: Path coverage computation does not consider the root node.
  4. Filter with Traits: If you define any traits in the Knowledge Graph, paths shortlisted in the above step are further filtered based on the confidence score of a classification algorithm in user utterance.
  5. Send to Ranker: The KG engine then sends the shortlisted paths to the Ranker Program.
  6. Score based on Cosine Similarity: Ranker makes use of user-defined synonyms, lemma forms of word, n-grams, stop words, to compute the cosine similarity between user utterance and the shortlisted questions. Paths are ranked in non-increasing order of cosine similarity score.
  7. Qualify Matches: The ranker then qualifies the paths as follows:
    • Paths with score >= upper_threshold are qualified as an answer (definitive match).
    • Paths with lower_threshold < score < upper_threshold are marked as suggestion (probable match).
    • Paths with score < lower_threshold are ignored.

Threshold & Configurations

To train and improve the performance, Threshold and Configurations can be specified for all three NLP engines – FM, KG, and ML. You can access these settings from Natural Language > Training > Thresholds & Configurations.

NOTE: If your bot is multilingual, you can set the Thresholds differently for different languages. If not set, the Default Settings will be used for all languages. This feature is available from v7.0 onwards.

The settings for the Knowledge Graph engine are discussed in detail in the following sections.

Navigate to Threshold and Configurations

  1. Open the bot for which you want to configure Knowledge Graph settings.
  2. Hover over the left pane and click Natural Language > Training.
  3. Click the Thresholds & Configurations tab.
  4. Below is a detailed discussion about the Knowledge Graph section on this page.

Auto-Correction will spell correct the words in the user input to the closest matching word from the bot’s Knowledge Graph domain dictionary. Knowledge Graph domain dictionary comprises of the words extracted from Knowledge Graph’s questions, alternate questions, nodes, and synonyms.

Bot Synonyms will enable the Bots platform to use the Bot Synonyms in Knowledge Graph as well. Inclusion of Bot Synonyms for intent detection by the KG engine requires training. Click Proceed when prompted to enable this setting and initiate training.

Lemmatization using Parts of Speech will enable the use of parts of speech associated with the words in the utterance to lemmatize. (see below for more)

Path Coverage can be used to define the minimum percentage of terms in the user’s utterance to be present in a path to qualify it for further scoring. The default setting is 50% i.e. at least half of the terms in the user utterance should match the node names and terms.

Minimum and Definitive Level for Knowledge Graph Intent allows you to set the confidence levels for a Knowledge Graph intent. You can view and adjust the confidence level percentages for the graph in one of three ranges:

  • Definitive Range – Matches in this range (green area) are picked and any other probable matches are discarded, default set to 93-100%.
  • Probable Range – Matches in this range (dark gray area) are considered for rescoring and ranking, by default set to 80-93%
  • Low Confidence Range – If no other intents have matched, low confidence matches (orange area) are presented to end-user for intent confirmation, by default set to 60-80%
  • Not Matching an Intent – The light gray area represents the knowledge graph intent NLP interpreter confidence levels as too low to match the knowledge graph intent, default set to 60%.

KG Suggestions Count: Define the maximum number of KG/FAQ suggestions (up to 5) to be presented when a definite KG intent match is not available. Default set to 3.

Proximity of Suggested Matches: Define the maximum difference (up to 50%) to be allowed between top-scoring and immediate next suggested questions to consider them as equally important. Default set to 5%. This applies to the matches in the probable range.

Manage Long Responses when the response size exceeds channel-specific limitations. You can choose to truncate the response or display the full response with a Read More link. The link is included at the end of the message. On clicking this link, the complete response is displayed as an answer in the browser. The URL that displays the long response in a web browser is set by default by the platform, but you can provide a custom URL too.

The following table provides the channel-specific limitations set for the length of the response messages. The Read More link is displayed at the end of the message if the complete response crosses the set limit.

Channel Message Limit (in characters)
Facebook 1900
Google Assistant 540
Web/Mobile Client 900

Note: For all other channels, there is no restriction to the length of the message. The entire response would be displayed on the same page.

Search in Answer for the qualifying FAQs (see below for more)

Qualify Contextual Paths in the Knowledge Graph using the context tags available in the context. Enabling this option will ensure that the paths are shortlisted using terms or tags from the context. These tags can come from previous matched paths or intent or custom-defined tags.

The platform also offers some advanced configurations. Refer here for more details.

Search in Answer

This feature enables identifying FAQs by searching the user input against the answer section, instead of only matching with questions. This is a fallback mechanism only i.e. search in the answer section will be done only if no FAQs are identified from questions.

Note: This feature is not supported in all languages, refer here for details.

When the Search in Answer flag is enabled, the Knowledge Graph engine considers the answer text for identifying the intents also.

Once this option is enabled, you can specify whether to Inform the end-user that the answer is a probable answer. If selected a Standard Message to the effect is displayed, which can be customized using the Manage Response link. Know more.

There are three ways in which you can render the response:

  1. Show Complete Response: Full response is sent as the answer to the user.
  2. Show only the Relevant Paragraph: Only the relevant paragraph from which the question was identified is sent as the response.
  3. Show only the Relevant Paragraph with Read More link: Only the relevant paragraph from which the question was identified is sent as the response.
    An additional Read More link is included at the end of the message. On selecting this link, the full response is opened as an answer in the browser. The URL to open the long response in a web browser is set by default by the platform. But you can provide a custom URL (see below for details).

Custom URL Configuration

By default, the URL to open the long response in the web browser is set by the platform. You have an option to provide a custom URL for rendering the FAQ answers.

The platform will call the provided URL with details of the relevant message template (template id) and other necessary information.

The following API gives the full information of the FAQ:

URL:
https://{{host-name}}/api/1.1/public/users/{{userId}}/faqs/resolvedResponse/{{respId}}

Method: get

Headers: {auth : JWT}

Sample Response:
{
"response": "You can contact our Branch officials wherein you have submitted your documents.If the documents are in order, the account will be opened within 2 working days.",
"primaryQuestion": "How to check the status of my account opening?"
}

Lemmatization

Lemmatization in linguistics is the process of grouping together the inflected forms of a word so they can be analyzed as a single item, identified by the word’s lemma, or dictionary form. Using Parts of Speech information from the user utterance in the process of lemmatization can improve identifying a more accurate FAQ.

Following are some examples of the phrases as recognized by the KG engine with and without using parts of speech:

User Utterance not using POS using POS
What is my outstanding leave balance outstand outstanding
I am filing for a visa so that I can travel file filing
What happens to my excess annual leave and sick leave hours when I retire? excess, happen excess happens