봇에 활성화된 각 언어의 의도 탐지를 미세 조정할 수 있습니다. 이 작업을 수행하려면, 다음 단계를 따르세요.

  1. 왼쪽 창에서, 자연어 > 학습 > 임곗값 및 설정을 클릭합니다.
  2. 임곗값 및 설정 섹션에서 사용자 정의하여 수행할 수 있습니다.

이 외에도 고급 NLP 설정> 섹션에는 특정 사용 사례 및 요구 사항에 사용할 수 있는 고급 설정이 있습니다.

경고: 이러한 구성의 기본 설정은 대부분의 사용 사례에 적합합니다. 귀하가 설정하는 기능을 충분히 숙지하지 않은 경우, 이 같은 설정을 변경하지 마세요. 제대로 하지 않으면 봇 성능에 부정적인 영향을 미칠 수 있습니다.

 

다음 표는 이 섹션에서 설정할 수 있는 다양한 설정에 대한 세부 정보를 제공합니다. 이 외에도 맞춤형 설정을 추가할 수 있습니다. 방법을 알아보려면 지원팀에 문의하세요.

구성 설명 영향을 받는 NLP 엔진 유효한 입력 참고 사항
복합어 분할 이 설정을 통해 복합어를 여러 어간으로 분할한 다음 개별 어간을 처리할 수 있습니다. ML 활성화, 비활성화(기본값) 독일어 봇에 대해서만 지원됩니다.
의도 없음 활성화되고 나면 ML 엔진을 사용한 일치 의도에 긍정 오류가 생길 가능성을 줄이는 더미 플레이스 홀더 의도가 생성됩니다. ML 활성화(기본값), 비활성화
에포크(Epoch) 신경망 학습을 위한 반복 횟수. 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)
퍼지 일치 이 설정은 의도 식별을 위한 퍼지 일치 알고리즘을 사용을 활성화합니다. ML 활성화(기본값), 비활성화
부정어 처리 이 설정을 통해 의도 식별에서 부정어를 처리할 수 있습니다. ML 활성화(기본값), 비활성화
다중 발생 무시 활성화되고 나면, 벡터화를 위해 단어의 빈도는 무시됩니다. ML 활성화(기본값), 비활성화 네트워크 유형이 MLP-BOW로 설정된 경우에만 유효합니다.
사용자 발화의 엔티티 플레이스 홀더 사용자 발화에 있는 엔티티를 해당 플레이스 홀더로 대체할 수 있습니다. ML 활성화(기본값), 비활성화 네트워크 유형이 MLP-BOW로 설정된 경우에만 유효합니다.
문장 분할 사용자 발화의 문장을 분할하고 완전한 사용자 입력을 통해 의도 탐지를 수행합니다. ML 활성화(기본값), 비활성화
다중 의도 모델 모든 하위 의도를 구성하는 각 기본 의도에 별도의 ML 모델을 활성화합니다. ML 활성화, 비활성화(기본값)
은닉층의 뉴런 은닉층에 사용되는 뉴런 수를 설정하는 데 사용합니다 ML 범위: 0 ~ 1000 표준 네트워크 유형에만 적용 가능
Softmax 온도 ML 엔진이 ML 모델에서 최상의 의도를 얼마나 확실하게 식별해야 하는지 정의하려면 사용합니다. 온도는 softmax에서 최종 확률에 영향을 주는 로짓(모델 출력)에 적용되는 하이퍼 매개변수입니다. ML 범위: 0 ~ 100 표준 네트워크를 제외한 모든 네트워크 유형
ML의 철자 수정 예측하는 동안 ML 봇 사전에서 철자 수정을 지원하려면 활성화합니다. 사용자 정의(ML) 활성화, 비활성화(기본값) 영문 봇에만 적용 가능합니다.
의도 제거 규칙 의도 일치를 제거하기 위해 사전 구축된 규칙을 적용하려면 활성화합니다. RR 활성화(기본값), 비활성화 영어, 스페인어, 프랑스어 및 독일어 봇에만 적용됩니다.
코사인 유사도 감소 코사인 유사도 감소를 통해 길이가 짧은 질문에 대한 불이익을 방지합니다. KG 활성화(기본값), 비활성화
의도 이름으로서의 FAQ 이름 FAQ가 대화와 연결되어 있어도 FAQ의 1차 질문을 의도 이름으로 사용 KG 활성화, 비활성화(기본값)
모호성 해소를 위한 FAQ 순서 모호성 해결을 위해 표시될 FAQ 순서 설정 KG 계층별 순서, 기본 순서(기본값)
전체 일치하는 경로에서 FAQ 자동 자격 부여 해당 경로에서 사용자 질의와 일치하는 질문이 없더라도 경로가 전체 일치하는 경우 경로의 모든 FAQ에 자동으로 자격을 부여합니다. KG 활성화, 비활성화(기본값)
분류법 기반 KG 경로에 있는 모든 용어의 전체 일치만 경로 자격으로 간주해야 하는 경우 이 옵션을 활성화합니다. 사용자 정의(KG) 활성화, 비활성화(기본값)
의도 패턴을 위한 기본 최대 와일드카드 의도 패턴의 단어 사이에 기본적으로 허용되는 최대 와일드카드 수를 정의하려면 이 옵션을 사용합니다. 이 옵션은 추가적인 와일드카드를 포함하는 패턴을 명시적으로 작성하는 것을 제한하지 않습니다. FM 0~9 사이의 임의의 숫자, 기본적으로 3으로 설정됨
엔티티 패턴을 위한 기본 최대 와일드카드 엔티티 패턴의 단어 사이에 기본적으로 허용되는 최대 와일드카드 수를 정의하려면 이 옵션을 사용합니다. 이 옵션은 추가적인 와일드카드를 포함하는 패턴을 명시적으로 작성하는 것을 제한하지 않습니다. FM 0~5 사이의 임의의 숫자, 기본적으로 2으로 설정됨
의도 패턴의 일치 순서 의도의 첫 번째 패턴 일치를 선택할지(패턴이 정의된 순서에 따라) 또는 의도에 대해 정의된 모든 패턴을 살펴보고 최상의 패턴을 찾을지 선택합니다. FM 첫 번째(기본값), 최상
패턴 일치의 등급 분류 패턴 정의와 비교해 볼 때 사용자 입력에 있는 와일드카드 수에 따라 패턴 일치를 유망한 일치로 분류할지 여부를 선택합니다. FM  0~9 사이의 임의의 숫자, 기본적으로 3으로 설정됨
문장에서 첫 번째 패턴 일치만 선호 단일 문장에서 여러 패턴이 일치하는 경우 문장에서 첫 번째 패턴 일치만 선호할지 또는 문장에서 모든 패턴 일치를 선택할지 여부를 선택합니다. FM 활성화(기본값), 비활성화
정확한 작업 이름 일치 '작업 이름 단어를 사용한 의도 탐지'가 비활성화된 경우 시스템이 엄격한 패턴을 자동으로 생성할지 여부를 선택합니다. FM 활성화(기본값), 비활성화

ML 엔진 관련

복합어 분할

복합어는 두 개 이상의 단어가 결합되어 완전히 새로운 의미를 가진 새로운 단어를 만들 때 형성됩니다. 특히 두 개(또는 그 이상) 단어가 결합하여 합성어를 형성하며 무한한 양의 새로운 합성어로 이어지는 독일어의 경우입니다. 예를 들어, Bilder | buch(그림책)의 -er처럼 구성 요소는 전환 요소와 연결됩니다. 혹은 수식어의 일부를 삭제할 수 있습니다. 예를 들어, Kirch | turm(교회 탑), 여기서 기본형 Kirche의 마지막 -e가 삭제됩니다. 종종 합성어가 어간과는 완전히 다른 것을 의미하기도 합니다. 예를 들어, 어간 grun | der(green|the))을 가진 Grunder입니다. NLP 관점에서, NLP 엔진이 단어와 프로세스를 분할하여야 하는 시점과 전체 단어를 처리해야 하는 시점을 이해하는 것이 중요합니다. 이 설정을 통해 복합어를 처리하는 방법을 선택합니다. 활성화되고 나면, 사용자 발화에 있는 복합어가 어간으로 분할된 다음 의도를 탐지를 위한 평가 대상이 됩니다.

의도 없음

기계 학습(ML) 엔진은 학습 발화를 통해 학습 기반 사용자 발화를 평가하는 모델을 구축합니다. ML 모델은 사용자 입력을 이와 같은 입력으로 분류하려고 합니다. 그러나 어휘가 범위 밖에 있는 경우에도 ML은 이것 역시 분류하려고 하며 이는 경우에 따라 엔티티의 의도에 방해가 될 수도 있습니다. 예를 들어, 엔티티 노드에 있는 사람의 이름이 의도를 트리거해서는 안 됩니다. 의도 없음을 추가하면 봇에서 이러한 의도에 대한 임의의 입력을 분류하도록 할 수 있습니다. 활성화되고 나면 사용자 발화에 봇 학습, 즉, 봇 어휘에서 사용되지 않은 단어가 포함된 경우 ML 모델이 이러한 의도 없음을 식별하도록 조정됩니다.

ML 엔진 외부화

기계 학습에서 하이퍼 매개 변수는 학습 프로세스를 제어하는 데 그 값을 사용하는 매개 변수입니다. 하이퍼 매개 변수는 봇의 추가 사용자 정의 옵션을 제공합니다. 다음은 사용자 정의할 수 있는 ML 설정입니다.

네트워크 유형

사용하려는 신경망을 선택할 수 있습니다. 이 설정은 v8.1 이후 기계 학습 섹션으로 이동되었습니다. 자세한 내용은 여기를 참조하세요.

에포크(Epoch)

인공 신경망 관점에서 에포크(Epoch)는 전체 학습 데이터 세트를 통한 한 주기를 의미합니다. 비 학습 데이터에서 좋은 성과를 얻으려면, 일반적으로(항상 그런 것은 아님) 학습 데이터에 대하여 두 번 이상은 통과해야 합니다. 에포크(Epoch) 수는 학습 데이터 세트를 통한 완전한 통과 수를 제어하는 하이퍼 매개 변수입니다.

배치 크기

배치 크기는 기계 학습에서 사용하는 용어이며 1회 반복에서 사용하는 학습 예제의 수를 의미합니다. 신경망을 학습시킬 때 오차 기울기 추정치의 정확도를 제어합니다. 배치 크기는 모델의 내부 매개 변수가 업데이트되기 전에 학습시킬 학습 샘플의 수를 제어하는 하이퍼 매개 변수입니다.

학습률

기계 학습 및 통계에서, 학습률은 손실 함수의 최소값을 향해 이동하면서 각 반복에서 단계 크기를 결정하는 최적화 알고리즘의 조정 매개변수입니다. 손실을 기반으로 신경망에서 가중치 업데이트를 제어하는 매개 변수로 생각할 수 있습니다.

드롭아웃

드롭아웃이라는 용어는 신경망에서 단위(숨김 및 표시)를 누락시키는 것을 의미합니다. 간단히 말해서, 드롭아웃은 무작위로 선택된 특정 뉴런 세트의 학습 단계에서 단위(즉, 뉴런)를 무시하는 것을 의미합니다. 이는 데이터의 과최적화를 방지하기 위한 정규화 기법입니다.

벡터화

벡터화는 요소별 연산 대신 계산에 벡터 연산을 사용하여 알고리즘을 최적화하는 방법입니다. 학습 데이터에 대한 특징 추출 기법을 결정하는 데 사용됩니다. 다음 중 하나로 설정할 수 있습니다.

  • 카운트 벡터화는 주어진 텍스트 문서를 텍스트의 각 단어 발생 빈도(개수)를 기반으로 하는 용어/토큰 수의 벡터로 변환하는 데 사용됩니다. 텍스트가 여러 개 있고, 텍스트의 각 단어를 추가 텍스트 분석에 사용하기 위해 벡터로 변환해야 할 때 유용합니다. 벡터 표현을 생성하기 전에 텍스트 데이터의 사전 처리를 가능하게 합니다.
  • TFIDF 벡터화는 문서 모음에서 문서와 단어의 관련성을 평가하는 통계적 측정입니다. 이는 문서에 단어가 나타나는 횟수(용어 빈도 TF)와 문서 집합에서 단어의 역 문서 빈도(IDF), 두 가지 지표를 곱한 것입니다.

최대 시퀀스 길이

문장을 처리할 때(학습 또는 예측을 위해) 시퀀스의 길이는 문장의 단어 수입니다. 최대 시퀀스 길이 매개 변수는 학습 대상으로 고려할 최대 단어 수입니다. 사용자 입력 또는 학습 구문 문장 시퀀스 길이가 최대 문장 길이보다 길면 이 길이로 자르고 그보다 작으면 문장을 특수 토큰으로 채웁니다.

임베딩 유형

(단어) 임베딩은 입력/학습 텍스트에서의 단어 또는 구의 벡터 표현입니다. 유사한 의미를 가진 단어는 n차원 공간에서 유사한 벡터 표현을 가지며 벡터 값은 신경망과 유사한 방식으로 학습됩니다. 임베딩 유형은 다음 중 하나로 설정할 수 있습니다.

  • 무작위(기본 설정): 처음에는, 모든 단어에 무작위로 임베딩이 할당된 다음 임베딩이 학습하는 동안 주어진 학습 데이터에 최적화됩니다.
  • 생성됨: 학습이 시작되기 직전에 단어 임베딩이 생성됩니다. Word2Vec 모델은 단어 임베딩을 생성하는 데 사용됩니다. 이렇게 생성된 임베딩을 학습 중에 사용합니다. 이렇게 생성된 단어 임베딩은 학습하는 동안 주어진 학습 데이터에 최적화됩니다.

임베딩 차원

임베딩 차원은 임베딩 벡터의 크기를 정의합니다. 단어 임베딩이 무작위 혹은 생성된 경우, 임의의 숫자를 임베딩 차원으로 사용할 수 있습니다.

K Fold 교차 검증

교차 검증은 제한된 데이터 샘플에서 기계 학습 모델을 평가하는 데 사용되는 리샘플링 절차입니다. 이 절차에는 주어진 데이터 샘플이 분할된 그룹의 수를 의미하는 k라는 단일 매개 변수가 있습니다. 이 설정을 통해 K 매개 변수를 설정할 수 있습니다. 교차 검증에 대한 자세한 내용은 여기를 참조하세요.

퍼지 일치

퍼지 일치는 시스템이 정확하지 않은 일치를 식별하게 하는 대략적인 문자열 일치 기술입니다. ML 엔진은 퍼지 일치 논리로 확실한 일치를 식별합니다. 퍼지 일치 알고리즘은 사용자 발화와의 유사성을 기반으로 의도에 퍼지 검색 점수를 할당합니다. 퍼지 일치 점수가 95점 이상(0-100점 만점)인 의도는 최종 일치로 식별됩니다. 그러나, 퍼지 일치는 철자가 비슷하지만 의미가 다른 단어가 있는 경우 긍정 오류를 생성할 수 있습니다. 예를 들어 가능(possible) 대 불가능(impossible) 또는 가능(available) 대 불가능(unavailable)의 경우를 들 수 있습니다. 이 동작은 경우에 따라 문제가 됩니다. 이 옵션을 비활성화하고 ML 엔진이 이 일치 알고리즘을 사용하지 않도록 할 수 있습니다.

부정어 처리

사용자 발화에 부정어가 있을 때 ML 엔진의 동작을 선택하도록 설정됩니다. 부정어 처리 구성이 활성화된 경우, 사용자 발화에 부정어 경향의 단어가 있다면 의도의 ML 점수에 불이익을 적용합니다.

다중 발생 무시

사용자 발화에 같은 단어가 여러 번 나타나는 경우 의도 식별이 왜곡되는 경우가 있습니다. 다중 발생 무시 설정을 활성화하면 사용자 발화에 있는 같은 단어의 다중 발생이 무시됩니다. 벡터화 및 후속 의도 일치를 위해 반복되는 단어를 두고 한 번만 더 평가하게 됩니다.

사용자 발화의 엔티티 플레이스 홀더

의도 탐지 기능을 향상시킬 수 있도록 시스템이 사용자 발화에 있는 엔티티 값을 엔티티 플레이스 홀더로 대체하려는 경우가 있습니다. NER 모델로 해결되지 않은 엔티티는 대체에 사용되지 않으므로, 이 옵션을 활성화하면 모든 학습 발화에 주석을 달 것을 강력하게 권장합니다. 최종 사용자 상호 작용, 배치 테스트, 발화 테스트, 대화 테스트의 사용자 발화에서 이러한 엔티티가 대체됩니다.

문장 분할

사용자 입력에 여러 개의 문장이 있는 경우 각 문장에 하나씩 여러 개의 의도 호출이 이루어집니다. 어떤 경우에는 적합하지 않을 수도 있습니다. 예를 들어 사용자 발화, 티켓을 예약하고 싶습니다의 경우입니다. 쇼 예약으로 리디렉션하기티켓을 예약하고 싶습니다쇼 예약으로 리디렉션하고 싶습니다에 대해 0.6 ML 점수를 얻고 총 ML 점수 0.6이 됩니다. 이 설정을 비활성화하면 의도 식별을 위해 원래의 사용자 입력을 ML로 보내게 되고 위의 예에 대해서는 0.99 같은 확실한 점수를 얻게 됩니다.

다중 의도 모델

이 기능을 활성화하면, 귀하의 봇에 사용할 수 있는 여러 ML 의도 모델을 생성할 수 있습니다. 모든 기본 대화 의도는 봇 수준 의도 모델의 일부가 됩니다. 별도의 대화 수준 ML 모델은 각각 다른 대화 작업, 하위 대화 작업에서 작성되며 각 작업 지정에서 사용된 하위 의도를 구성합니다. 자세한 내용은 여기를 참조하세요.

은닉층의 뉴런

은닉층의 뉴런은 ML 모델에서 의도 식별을 수행하는 동안 채택할 강도/엄격성을 결정합니다. 뉴런 수가 많을 수록 정확도가 높아지지만 학습을 완료하려면 더 긴 시간이 필요합니다. 뉴런 수가 적으면 정확도는 떨어지지만 학습 시간은 빨라집니다. 기본적으로 1000으로 고정되어 있습니다. 이상적으로, 이 값은 봇의 의도 수의 1배여야 하며 정확도를 높이려면 최대 2배까지 올릴 수 있습니다. 이는 일반적인 권장 사항이며 학습의 품질에 따라 다릅니다

Softmax 온도

Softmax 온도를 사용하면 ML 엔진이 ML 모델에서 최상의 의도를 얼마나 확실하게 식별해야 하는지 정의할 수 있습니다. 온도는 softmax에서 최종 확률에 영향을 주는 로짓(모델 출력)에 적용되는 하이퍼 매개변수입니다. 0에서 1 사이의 어떤 값은 ML 엔진이 신뢰도가 낮은 최상의 의도를 식별해야 함을 나타냅니다. 0은 신뢰도가 매우 낮고 1은 일반적인 신뢰도입니다. 1에서 100 사이의 값은 ML 엔진이 최상의 의도에 대해 높은 신뢰도를 보임을 나타냅니다. 1은 일반적인 신뢰도이며 가능한 경우 100은 높은 신뢰도입니다.

ML에서 철자 수정

영어로 된 봇의 경우, ML 봇 사전에서 철자 수정이 발생하지 않습니다. 이로 인해, ML 학습에 크게 의존하는 봇은 문제가 발생할 수 있습니다. 이 문제는 예측하는 동안 ML 봇 사전에서 철자 수정을 활성화하여 해결할 수 있습니다. NLP 고급 설정에서 사용자 정의 구성을 추가하여 달성할 수 있습니다. 이것은 사용자 정의 설정이며, 활성화하려면 다음 단계를 따르세요.

  1. 사용자 정의 추가
  2. 이름을 ML_spell_correction으로 입력
  3. 값을 사용 함 또는 사용 안 함으로 입력

RR 엔진 관련

의도 제거 규칙

R&R 엔진에는 가능한 ML 일치를 거부하는 몇 가지 보호 규칙이 있습니다. 예를 들어, 사용자 입력에 동사 단어만 포함된 경우 의도를 거부하는 것입니다. 그러나, R&R 엔진이 제거 규칙을 적용하고 모호성을 해결하기 위해 최종 사용자에게 모든 조건에 맞는/최상의 의도를 제시하는 것을 원하지 않을 가능성이 있습니다. 이 설정을 비활성화하면 유연성이 생기며, 단일 동사 일치(ML 및 FM), 엔티티가 CR 문장과만 일치(ML), 이전의 패턴 일치(다중 문장 시나리오)(FM), 또는 이전의 확실한 일치(다중 문장 시나리오)(전체)와 같은 규칙과 일치하는 의도가 제거되지 않습니다.

KG 엔진 관련

코사인 유사도 감소

단어 일치를 기반으로 FAQ 식별이 수행됩니다. 이 접근 방식의 문제점은 해당 학습된 발화보다 적은 수의 단어를 가진 사용자 발화는 낮은 점수를 받는다는 것입니다. 이 같은 스코어링으로 인해 의도 식별에 실패하게 됩니다. 코사인 유사성 감소 설정이 활성화되면 학습된 발화보다 적은 수의 단어를 가진 사용자 발화(즉, 1차 및 대체 질문)가 설정이 비활성화된 경우보다 일치 점수가 더 높게 됩니다.

의도 이름으로서의 FAQ 이름

이 옵션은 다음 시나리오에서 1차 질문 또는 대화 작업 이름을 표시할지 여부를 관리합니다.

  • 의도 이름이 사용자에게 표시되는 경우
    • 모호성 해소 흐름
    • 후속 조치
  • 발화 테스트
  • 배치 테스트
  • NLP 분석
  • 분석(대시보드, 맞춤형 대시보드, 대화 흐름 및 지표)
  • 의도 탐지 – 순위 흐름

FAQ 순서

사용자가 모호한 경우 질의를 하면 사용자에게 무작위로 FAQ를 제시하여 모호성을 해소합니다. 그러나 질문이 KG에 나타나는 위치에 따라 순서대로 질문을 제시함으로써 최종 사용자에게 향상된 경험을 제시해야 합니다. 즉, 일반적인 질문으로 시작한 다음 더 구체적인 질문으로 이어집니다. 단지 이 목적을 위해 "모호성 해소를 위한 FAQ 순서" 옵션을 사용할 수 있습니다. 이 옵션을 계층별 순서로 설정함으로써, 상위 수준의 FAQ를 먼저 표시한 다음 바로 다음 수준에 추가된 FAQ가 이어지며 이 순서는 R&R 엔진에서도 적용됩니다.

FAQ 자동 자격 부여

사용자 질의가 KG의 특정 경로와 일치하지만 해당 경로에 추가된 질문과 일치하지 않는 경우, 일치하는 경로의 질문을 사용자에게 모호한 것으로 표시하도록 선택할 수 있습니다. 일치하는 경로에 FAQ가 하나만 포함된 경우, '최상의' FAQ로 간주합니다. 루트 용어 일치는 고려되지 않음을 유의하세요.

분류법 기반 KG

지식 그래프 모델은 경로 자격 및 질문 일치의 2단계 모델로 작동합니다. 기본적으로, 경로는 항상 완전한 자격을 부여받을 필요는 없습니다. 부분 경로 일치(임곗값 이상)도 적격한 것으로 간주하며 이러한 경로의 질문은 사용자 입력을 일치시키는 데 사용됩니다. '분류법' 기반 접근 방법에서는 '경로'가 항상 완전히 일치해야 합니다. 이는 경로의 모든 용어가 동등하게 중요하며 경로의 모든 용어가 완전히 일치하는 경우에만 적격한 것으로 간주되어야 하는 상황을 충족하기 위함입니다. 경로가 적격한 경우, 사용자 입력에 대한 의도 식별을 위해 해당 경로 또는 경로들의 질문을 고려해야 합니다. 이것은 사용자 정의 설정이며, 활성화하려면 다음 단계를 따르세요.

  1. 사용자 정의 추가
  2. 이름을 KG_taxonomy_based로 입력
  3. 값을 사용함으로 입력

참고: 이 설정을 활성화하면 용어 설정에 용어 표시 이름, 경로 자동 자격 부여 설정을 추가할 수 있지만 지식 작업에 경로 범위 및 최소 수준 및 명확한 수준 설정은 사용할 수 없습니다. 자세한 내용은 여기를 참조하세요.

FM 엔진 관련

의도 패턴을 위한 기본 최대 와일드카드

기본적으로, 의도 패턴에서 허용되는 최대 와일드카드 수를 정의합니다. FM 엔진은 패턴 정의에 사용된 단어 사이에서 사용자 입력의 와일드카드가 최대 X개인 경우에만 의도 패턴과 일치시킵니다. 와일드카드가 X개 더 많은 발화에는 의도 패턴 일치로 자격을 부여하지 않습니다. 예를 들어, 값이 4로 설정되면 ‘Book Ticket to *’ 패턴은 ‘Book a direct oneway flight ticket to Chicago’과 일치합니다. 더 많은 수의 와일드카드를 포함하는 엔티티 패턴(예: *~Y)을 명시적으로 작성하는 경우에는 영향을 미치지 않습니다

엔티티 패턴에서 허용되는 최대 와일드카드

기본적으로 엔티티 패턴에서 허용되는 최대 와일드카드 수를 정의합니다. FM 엔진은 패턴 정의에 사용된 단어 사이에서 사용자 입력의 와일드카드가 최대 X개인 경우에만 엔티티 패턴과 일치시킵니다. 와일드카드가 X개 더 많은 발화에는 엔티티 패턴 일치로 자격을 부여하지 않습니다. 예를 들어, 값이 4로 설정되면 ‘Book Ticket to *’ 패턴은 ‘Book a direct oneway flight ticket to Chicago’과 일치합니다. 더 많은 수의 와일드카드를 포함하는 엔티티 패턴(예: *~Y)을 명시적으로 작성하는 경우에는 영향을 미치지 않습니다

의도 패턴 일치 순서

첫 번째 패턴 일치를 선택할지 또는 모든 패턴을 평가하고 최상의 패턴을 선택할지를 정의합니다. "First"는 의도에 대해 발견된 첫 번째 의도 패턴 일치를 고려한다는 의미이며 "Best"는 모든 패턴을 처리하고 가장 좋은 점수를 얻은 패턴을 사용한다는 의미입니다. FM 범위는 최상의 일치를 결정하는 데 사용되며 R&R 점수는 '최상의 패턴'을 식별하는 데 사용됩니다. 의도 패턴에 대한 최상의 순서를 결정하는 것이 어려울 수 있으므로, 플랫폼이 최상의 순서를 찾도록 하는 것이 종종 도움이 됩니다.

패턴 일치의 등급 분류

기본적으로, 모든 패턴 일치는 확실한 일치입니다. 그러나, 패턴 일치에 와일드카드가 너무 많은 경우 패턴 일치를 가능한 일치로 표시하는 것이 도움이 될 수 있습니다. 패턴 일치를 가능한 일치로 간주하려면 사용자 입력에 표시할 와일드카드 임곗값 수를 선택합니다. 사용자 입력에 임곗값보다 더 많은 와일드카드(> = X)가 포함된 경우, 해당 패턴 일치는 확실한 일치로 분류됩니다. 임곗값 제한(< X) 내의 패턴 일치는 계속 확실한 일치로 처리됩니다.

문장에서 첫 번째 패턴 일치만 선호

한 문장에서 여러 패턴이 식별되는 경우, 첫 번째 패턴 일치만 고려해야 하는지 또는 모든 패턴 일치를 고려해야 하는지를 정의합니다. 활성화된 경우, FM 엔진은 첫 번째 패턴 일치만 사용하고 다른 모든 패턴 일치는 버립니다. 비활성화된 경우 FM 엔진은 문장에서 모든 패턴 일치에 자격을 부여하고 모호성 해소를 위해 고려됩니다.

정확한 작업 이름 일치

FM 엔진 설정 작업 이름을 사용한 의도 탐지 단어(자세한 내용은 여기를 참조하세요)를 사용하면 작업 이름에 있는 단어를 사용하여 작업을 일치시킬지 여부를 선택할 수 있습니다. 이 설정이 다른 학습과 충돌하는 경우 비활성화하는 것이 좋습니다. 비활성화되면, 플랫폼은 '정확한 일치'를 수행하는 엄격한 패턴을 생성합니다. 즉, 사용자 입력이 작업 이름과 정확히 일치하는 경우 일치로 간주합니다. 정확한 작업 이름 일치 설정을 사용하여 플랫폼이 엄격한 패턴을 자동으로 생성할지 여부를 선택할 수 있습니다.

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

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

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

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

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

設定 説明 影響を受けるNLPエンジン 有効な入力 注釈
複合語の分割 この設定により、複合語を複数のステムに分割し、個々のステムを処理することができるようになります。 ML 有効、 無効(デフォルト) ドイツ語のBotのみサポート
Noneインテント 有効にすると、ダミーのプレースホルダインテントが作成され、MLエンジンを使用したインテント一致の偽陽性の可能性を減らすことができます。 ML 有効(デフォルト)、 無効
コサイン類似度の減衰 コサイン類似度の減衰を使用して、短い質問でのペナルティを回避します。 KG 有効(デフォルト)、 無効
ネットワークタイプ インテントトレーニングに利用可能なニューラルネットワーク ML 標準 (デフォルト)、MLP-BOW、MLP-WordEmbeddings、LSTM、CNN トランスフォーマー
エポック ニューラルネットワークをトレーニングするための反復回数 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のインテント検出のための文の分割を無効にする MLエンジンが、複数の文を含むユーザー入力に対して複数のインテント呼び出しを行わないよう、無効にします。 ML 有効、 無効(デフォルト)
再スコアリングを無効にする 複数のエンジンから得られる可能性のあるインテントが再スコアリングされないよう、無効にします。 RR 有効、 無効(デフォルト)

複合語の分割

複合語とは、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の設定は以下の通りです。

ネットワークタイプ

使用するニューラルネットワークを、以下のいずれかから選択することができます。

  • スタンダード
  • MLP-BOW – bag-of-wordsモデルは、自然言語処理や情報検索で使用される単純化された表現です。このモデルでは、テキストはその単語の袋として表され、多様性は維持しつつ文法や語順を無視します。
  • MLP-WordEmbeddings – 単語の埋め込みとは、語彙からの単語またはフレーズが実数のベクトルにマッピングされる、自然言語処理における言語のモデ化と機能学習手法の総称です。
  • LSTM(長・短期記憶)は、深層学習の分野で使用される人工回帰型ニューラルネットワーク(RNN)アーキテクチャです。LSTMはフィードバック接続を有しているため、任意の長さのテキストの長期依存性を追跡する能力があり、長いテキストに適しています。
  • 畳み込みニューラルネットワーク(CNN)は、深層学習における深層ニューラルネットワークの一種であり、視覚画像の解析にもっとも広く応用されています。特定の領域サイズに対する語順を利用し、様々なテキスト分類タスクで目立った成果を挙げています。
  • トランスフォーマーは、トレーニングパイプラインのベクトル化の段階で、ユニバーサルセンテンスエンコーダを使用しています。センテンスエンコーダの出力は、トレーニングのために多層パーセプトロンネットワークに入力されます。センテンスエンコーダには、同一文の同義語や様々な使用パターンを考慮して、文間の意味的類似性を理解する機能が組み込まれています。 ユニバーサルセンテンスエンコーダは、テキストを高次元のベクトルにエンコードします。このベクトルは、テキストの分類、意味的類似性、クラスタリング、およびその他の自然言語タスクに使用することができます。このモデルは、文、フレーズ、短い段落など、単語以上の長さのテキスト用にトレーニングおよび最適化されています。様々な自然言語理解タスクに動的に対応することを目的として、様々なデータソースおよびタスクでトレーニングされています。入力は長さを変更できる英文、出力は512次元のベクトルです。

エポック

人工ニューラルネットワークにおいて、エポックとは、完全なトレーニングデータセットの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のような明確なスコアが得られます。

再スコアリングを無効にする

複数のエンジンからの可能性のあるインテントがある場合、これらは再スコアリングされ、結果は可能性のある一致の近似度内でトリミングされます。これは、入力で2つ以上の文を処理する場合に問題になる可能性があり、仮にMLエンジンが完全一致を返した場合、MLの発話で再スコアリングされ、他のFMラベルの完全一致よりも、単語の一致に基づいて可能性のあるものに設定される場合があります。 この設定を無効にすると、再スコアリングのロジックが無効になり、エンジン内での可能性のある一致の近似度のために結果をトリミングすることができなくなります。そのため、すべてのエンジンから完全一致が返されるか、MLおよびFAQエンジンから累積的な可能性のある一致が返され、それらの一致は個別に近接するようになります。

複数のインテントモデル

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

You can fine-tune intent detection for each languages enabled for your bot. To perform this action, follow the below steps:

  1. On the left pane, click Natural Language > Training > Thresholds & Configurations.
  2. Under the Thresholds & Configurations section, you can perform by customizing

Apart from these, under the Advanced NLP Configurations section, there are advanced settings that you can use for specific use cases and requirements.

Warning: The default settings for these configurations are ideal for most use cases. Do not change these settings unless you are fully acquainted with the functionality you are setting, as they might have a detrimental effect on the bot performance if not done properly.

 

The following table gives the details of the various configurations that can be set from this section. Apart from these you can add Custom configurations, reach out to our support team to know how.

Configuration Description Affected NLP Engine Valid Inputs Notes
Split Compound Words The setting enables the splitting of the compound words into multiple stems and then processing the individual stem. ML Enable,
Disable (default)
Supported only for German language bots
None Intent Once enabled, a dummy, placeholder intent is created which reduces the chances of getting a false positive for an intent match using the ML engine. ML Enable (default),
Disable
Epochs Number iterations for training the neural network. ML Between 20 and 300,
increments of 10
(default setting 20)
Valid only when Network Type is set to MLP-BOW,
MLP-WordEmbeddings,
LSTM,
CNN
Batch Size Number of training samples used for each batch while training ML Between 10 and 30,
increments of 5
(default setting 10)
Valid only when Network Type is set to MLP-BOW,
MLP-WordEmbeddings,
LSTM,
CNN
Learning rate A hyper-parameter to control how much the weights of the network are adjusted with respect to the loss gradient ML Between 1e-4 and 1e-3,
increments of 1e-2
(default setting 1.00E-03)
Valid only when Network Type is set to MLP-BOW,
MLP-WordEmbeddings,
LSTM,
CNN
Dropout Regularization parameter to avoid overfitting of the model ML Between 0 and 0.8,
increments of 0.1
(default setting 0)
Valid only when Network Type is set to MLP-BOW,
MLP-WordEmbeddings,
LSTM,
CNN
Vectorizer Feature extraction technique on training data ML count (default),
tfidf
Valid only when Network Type is set to MLP-BOW
Maximum sequence length Length of the training sample or user input ML Between 10 and 30,
increments of 5
(default setting 20)
Valid only when Network Type is set to MLP-WordEmbeddings,
LSTM,
CNN
Embeddings Type Feature extraction technique on training data ML generated,
random (default)
Valid only when Network Type is set to MLP-WordEmbeddings,
LSTM,
CNN
Embeddings Dimensions Embeddings Dimensions to be used in featurization ML Between 100 and 400,
increments of 50
(default setting 300)
Valid only when Network Type is set to MLP-WordEmbeddings,
LSTM,
CNN
K Fold kfold parameter for Cross-validation ML Between 2 and 10,
increments of 1
(default setting 2)
Fuzzy Match This setting enables the use of the fuzzy matching algorithm for intent identification ML Enable (default),
Disable
Handle Negation This setting enables the handling of negated words in intent identification ML Enable (default),
Disable
Ignore Multiple Occurences Once enabled, the frequency of the words are disregarded for vectorization ML Enable (default),
Disable
Valid only when Network Type is set to MLP-BOW
Entity Placeholders in User Utterances Enable to replace entities present in user utterances with corresponding placeholders ML Enable (default),
Disable
Valid only when Network Type is set to MLP-BOW
Sentence Split Split the sentences in user utterance and perform intent detection using the complete user input ML Enable (default),
Disable
Multiple Intent Models Enable separate ML models for each of the primary intents constituting all its sub-intents ML Enable,
Disable (default)
Neurons in Hidden Layer Use to configure the number of Neuros used in the Hidden Layer ML Range – 0 to 1000 Applicable only for Standard Network Type
Softmax Temperature Use to define how confidently the ML Engine should identify the winning intent from the ML Model. Temperature is a hyperparameter that is applied to logits(Model outputs) to affect the final probabilities from the softmax. ML Range 0 to 100 Any Network Type, except Standard Network
Spell Correction for ML Enable to support spell correction on the ML bot dictionary while predicting. Custom (ML) Enable,
Disable (default)
Applicable only for English language bots.
Intent Elimination Rules Enable to apply prebuilt rules to eliminate intent matches. RR Enable (default),
Disable
Applicable only for English, Spanish, French, and German language bots.
Cosine similarity dampening Avoid penalty on short length questions using Cosine Similarity Dampening KG Enable (default),
Disable
FAQ Name as Intent Name To use the Primary Question of the FAQ as the intent name even when the FAQ is linked to a Dialog KG Enable,
Disable (default)
FAQs Order for Disambiguation Configure the order in which the FAQs are to be presented for resolving the ambiguity KG Order by Hierarchy,
Default Order (default)
Auto qualify FAQs from fully matched Paths Automatically qualify all FAQs from the path if the path is fully matched even if no question from that path has matched the user query. KG Enable,
Disable (default)
Taxonomy based KG Enable this option if only a full match of all the terms in the path should be considered as a path qualification. Custom
(KG)
Enable,
Disable (default)
Default Max. Wildcards for Intent Patterns Use this option to define the maximum number of wildcards to be allowed by default between words for intent patterns. This does not limit you from explicitly writing patterns containing more wildcards. FM any number from 0-9;
set to 3 by default
Default Max. Wildcards for Entity Patterns Use this option to define the maximum number of wildcards to be allowed by default between words for entity patterns. This does not limit you from explicitly writing patterns containing more wildcards. FM any number from 0-5;
set to 2 by default
Matching Order of Intent Patterns Choose whether to pick the first pattern match of the intent (as per the order in which patterns are defined) or to go through all the patterns defined for the intent and find the best one. FM First (default),
Best
Grading of Pattern Matches Choose whether the Pattern Matches should be classified as Probable matches, based on the number of wildcards present in the user input when compared to the pattern definition. FM  any number from 0-9;
set to 3 by default
Prefer Only the First Pattern Match in a Sentence Choose whether to prefer only the first pattern match from a sentence or to pick all the pattern matches in a sentence, when multiple patterns are matched in a single sentence FM Enable (default),
Disable
Exact Task Name Match Choose whether the system should auto-generate the strict pattern when ‘Intent Detection using Task Name Words’ is Disabled. FM Enable (default),
Disable

ML Engine related

Split Compound Words

Compound words are formed when two or more words are joined together to create a new word that has an entirely new meaning. This is particularly the case with the German language, where two (or more) words are combined to form a compound, leading to an infinite amount of new compounds. For example, the components are connected with a transitional element, as the -er in Bilder | buch (picture book); or parts of the modifier can be deleted. For example, Kirch | turm (church tower), where the final -e of the lemma Kirche is deleted. Often the compound words mean something entirely different from the stem words. For example, Grunder (founder) with stem words grun | der (green|the). From an NLP perspective, it is important to understand when the NLP engines should split the words and process and when the entire word should be processed.

This setting is used to choose how the compound words should be processed. Once enabled, compound words present in the user utterance splits into their stem words and then considered for Intent Detection.

None Intent

The Machine Learning (ML) engine uses the training utterances to build a model to evaluate user utterances based on its training. The ML model tries to classify user input into one of these inputs. However, when there is an out of vocabulary word, ML tries to classify that too and this might hamper intent over an entity in some cases. For example, a person’s name at the entity node should not trigger any intent.

Adding an extra None Intent ensures classifying random input to these intents in the bot. Once enabled, the ML Model is tuned to identify these none intents when a user utterance contains the words that are not used in the bot’s training. i.e., bot vocabulary.

Externalization of ML Engine

In machine learning, a hyperparameter is a parameter whose value is used to control the learning process. The hyperparameters provide you with additional customization options for your bots. The following are the ML configurations that can be customized.

Network Type

You can choose the Neural Network that you want to use. This setting is moved to the Machine Learning section post v8.1. Refer here for details.

Epochs

In terms of artificial neural networks, an epoch refers to one cycle through the full training dataset. To get a good performance on non-training data, it usually (but not always) takes more than one pass over the training data. The number of epochs is a hyperparameter that controls the number of complete passes through the training dataset.

Batch Size

Batch size is a term used in machine learning and refers to the number of training examples utilized in one iteration. It controls the accuracy of the estimate of the error gradient when training neural networks. The batch size is a hyperparameter that controls the number of training samples to work through before the model’s internal parameters are updated.

Learning Rate

In machine learning and statistics, the learning rate is a tuning parameter in an optimization algorithm that determines the step size at each iteration while moving toward a minimum of a loss function. It can be thought of as a parameter for controlling the weight update in the neural network based on the loss.

Dropout

The term dropout refers to dropping out units (both hidden and visible) in a neural network. Simply put, dropout refers to ignoring units (i.e. neurons) during the training phase of a certain set of neurons which is chosen at random. It is a regularization technique to prevent overfitting of data.

Vectorizer

Vectorization is a way to optimize algorithms by using vector operations for computations instead of element-by-element operations. It is used to determine the feature extraction technique on training data. It can be set to one of the following:

  • Count Vectorizer is used to convert the given text documents to a vector of term/token counts based on the frequency (count) of each word occurrence in the text. This is helpful when there are multiple texts, and each word in the text needs to be converted into vectors for use in further text analysis. It enables the ​pre-processing of text data prior to generating the vector representation.
  • TFIDF Vectorizer is a statistical measure that evaluates how relevant a word is to a document in a collection of documents. This is done by multiplying two metrics: how many times a word appears in a document (Term Frequency TF), and the Inverse Document Frequency (IDF) of the word across a set of documents.

Maximum Sequence Length

When processing a sentence (for training or prediction), the length of the sequence is the number of words in the sentence. The maximum sequence length parameter is the maximum number of words to be considered for training. If the user input or training phrase sentence sequence length is more than the maximum sentence length it is trimmed to this length and if it is less than then the sentence is padded with special tokens.

Embeddings Type

A (word) embedding is a vector representation of a word or phrase in an input/training text. Words with similar meaning will have similar vector representations in n-dimensional space and the vector values are learned in a way that resembles a neural network.

Embeddings Type can be set to one of the following:

  • Random (default setting): At first, all the words are assigned random embeddings, then the embeddings are optimized for the given training data while training.
  • Generated: Word Embeddings are generated just before the training starts. Word2Vec model is used for generating word embeddings. These generated embeddings are used while training. These generated word embeddings are optimized for the given training data while training.

Embeddings Dimensions

The embedding dimension defines the size of the embedding vector. If the word embeddings are random or generated, any number can be used as an embedding dimension.

K Fold Cross-Validation

Cross-validation is a resampling procedure used to evaluate machine learning models on a limited data sample. The procedure has a single parameter called k that refers to the number of groups that a given data sample is to be split into. This setting allows you to configure the K parameter. Refer here for more on cross-validation.

Fuzzy Match

Fuzzy matching is an approximate string matching technique that helps the system identify non-exact matches. The ML Engine uses fuzzy matching logic to identify definitive matches. The fuzzy match algorithm assigns a Fuzzy Search score to the intents based on their similarity with the user utterance. Any intent with a fuzzy match score of 95 or higher (on a scale of 0-100) is identified as a definitive match.

However, fuzzy matching can produce false positives when there are words with similar spellings but different meanings. For example, possible vs. impossible or available vs. unavailable. This behavior is problematic in some cases. You can disable this option and discourage the ML engine from using this matching algorithm.

Negation Handling

This setting is configured to choose the ML engine’s behavior when negated words are present in the user utterance. When the Negation Handling configuration is enabled, the intent’s ML score would be penalized if there are any negated predilection words present in the user utterance.

Ignore Multiple Occurences

Sometimes the intent identification gets skewed if multiple occurrences of the same word are present in the user utterance. When the Ignore Multiple Occurrences configuration is enabled, then multiple occurrences of the same word present in the user utterance are discarded. The repeated word is considered only once for the vectorization and the subsequent intent matching.

Entity Placeholders in User Utterances

Sometimes you want the system to replace the entity values present in the user utterance with entity placeholders so that the intent detection can be improved. Note that the entities that are not resolved by the NER model would not be used for replacement, so if you enable this option we strongly urge that you annotate all the training utterances. These entities are replaced in user utterance in End-user interactions, Batch testing, Utterance testing, Conversation testing.

Sentence Split

If the user input has multiple sentences, multiple intent calls are made, one for each sentence. This might not be an ideal situation in some cases. For example user utterance, I want to book tickets. Redirect me to Book My Show. will result in a 0.6 ML score for I want to book tickets and Redirect me to Book My Show and the total ML score of 0.6.

Disabling this configuration sends the original user input to ML for intent identification and results in a definite score like 0.99 for the above example.

Multiple Intent Model

Enabling this feature creates multiple ML intent models for your bot. All the Primary Dialog Intents will be part of the Bot Level Intent Model. Separate Dialog Level ML Models are created for each of the other Dialog Tasks and Sub Dialog Tasks, consisting of all the sub-intents used in the respective task definition. Refer here for details.

Neurons in Hidden Layer

Neurons in Hidden Layer determine the intensity/rigor to be adopted while performing intent identification by the ML Model. A higher number of neurons increases the accuracy but would require a longer duration for completing the training. A lower number of neurons decreases the accuracy but would speed up the training time. By default, it is fixed as 1000. Ideally, it should be 1x times the number of intents in a bot and can go up to 2x for better accuracy. This is a general recommendation and would vary depending on the quality of the training

Softmax Temperature

Softmax temperature allows you to define how confidently the ML Engine should identify the winning intent from the ML Model. Temperature is a hyperparameter that is applied to logits (Model outputs) to affect the final probabilities from the softmax. Any value between 0 to 1 indicates that the ML Engine should identify the winning intent with lower confidence. 0 being very low confidence and 1 being regular confidence. Any value between 1 to 100 indicates that the ML Engine should associate a high amount of confidence for the winning intent. 1 being regular confidence and 100 being the higher confidence possible.

Spell Correction in ML

For bots in the English language, spell correction does not happen on the ML bot dictionary. This might cause an issue for bots that are heavily dependent on ML training. The issue can be rectified by enabling spell correction on the ML bot dictionary while predicting. This is achieved by adding custom config in NLP Advanced Settings.

This is a Custom configuration, to enable follow these steps:

  1. Add Custom
  2. Enter name as ML_spell_correction
  3. Enter the value as enabled or disabled

RR Engine related

Intent Elimination Rules

There are a few safeguard rules in the R&R engine that reject a possible ML match. For example, rejection of intent when the user input contains only a verb word. But chances are that you do not want the R&R engine to apply any elimination rules and present all the qualified/winning intents to the end-users for resolving any ambiguity. Disabling this setting gives you that flexibility and NOT eliminate the intents that match the rules like single verb match (ML & FM), an entity only match with CR sentence (ML), earlier pattern match (multi-sentence scenario) (FM), or earlier definitive match (multi-sentence scenario) (All).

KG Engine related

Cosine Similarity Dampening

FAQ identification is done based on word match. The problem with this approach is that a user utterance with fewer words than the corresponding trained utterance is scored poorly. This scoring causes failure in Intent Identification.

When the Cosine Similarity Dampening configuration is enabled, the user utterances that have fewer words than the trained utterances (i.e. Primary and Alternate Questions) results in a higher match score than when the configuration is disabled.

FAQ Name as Intent Name

This option controls whether you see the Primary Question or Dialog Task name in the following scenarios:

  • Where intent names are present to the user
    • Disambiguation flow
    • Follow-ups
  • Utterance testing
  • Batch testing
  • NLP Analysis
  • Analytics (Dashboards, Custom Dashboards, Conversation Flows, and Metrics)
  • Intent detection – ranking flows

FAQs Order

When a user asks a query in case of ambiguity, the FAQs are presented to the user to disambiguate in random order. But you might want to provide a better experience for the end-user by presenting the questions in the order based on where they appear in the KG i.e. start with generic ones and then followed by more specific ones. You can use this option “FAQs Order for Disambiguation” for just that purpose. By setting this option to Order by Hierarchy, the FAQs at the parent level will be presented first, followed by the FAQs added to the immediate next level and so on and this order will be honored by the R&R Engine as well.

Auto qualify FAQs

When a user query matches a specific path in KG but does not match with any of the questions added to that path, you can choose to present the questions in the matched path to the user as ambiguous. If the matched path contains only one FAQ, then it would be considered as the ‘winning’ FAQ. Note that the root term match will not be considered.

Taxonomy based KG

The Knowledge Graph model works on a two-step model i.e. path qualification and followed by question matching. By default, the path need not be fully qualified at all times. Even a partial path match (above a threshold) is considered as a qualification and the questions in these paths are used for matching the user input.

In the ‘taxonomy’ based approach, the ‘path’ should fully match at all times. This is to cater to situations where every term in the path is equally important and only a full match of all the terms in the path should be considered as a qualification. Once a path is qualified, the questions in that path or paths should be considered for intent identification against user input.

This is a Custom configuration, to enable follow these steps:

  1. Add Custom
  2. Enter name as KG_taxonomy_based
  3. Enter the value as Enable

Note: Enabling this setting would add the following configurations for Term settings – Term Display Name, Auto Qualify Path, and the following configurations would not be available – Path Coverage and Minimum and Definitive Level for Knowledge Tasks. Refer here for more details.

FM Engine related

Default Maximum Wildcards for Intent Patterns

Define the maximum number of wildcards to be allowed in intent patterns by default. FM Engine will match intent patterns only if the user input has a maximum of X wildcards between the words used in the pattern definition.  Any utterance with more X wildcards will not be qualified as an intent pattern match. For example, if the value is set as 4, then the ‘Book Ticket to *’ pattern will match with ‘Book a direct oneway flight ticket to Chicago’.
This will have no impact when you explicitly write an entity pattern containing a higher number of wildcards (for example, *~Y)

Maximum Allowed Wildcards in Entity Patterns

Define the maximum number of wildcards to be allowed in entity patterns by default. FM Engine will match entity patterns only if the user input has a maximum of X wildcards between the words used in the pattern definition.  Any utterance with more X wildcards will not be qualified as an entity pattern match. For example, if the value is set as 4, then the ‘Book Ticket to *’ pattern will match with ‘Book a direct oneway flight ticket to Chicago’.
This will have no impact when you explicitly write an entity pattern containing a higher number of wildcards (for example, *~Y)

Intent Pattern Matching Order

Define whether to choose the first pattern match or to evaluate all the patterns and choose the best. “First” means to consider the first intent pattern match found for an intent, “Best” means to process all of the intent’s patterns and use the best scoring one. Note that FM scope is used for determining the best match, the R&R score is used for identifying the ‘best pattern’.
It may be difficult to determine the best order for intent patterns, so allowing the platform to find the best is often helpful.

Grading of Pattern Matches

By default, all pattern matches are Definitive Matches. However, it might be helpful to mark pattern matches as Probable matches if they contain too many wildcards. Choose the threshold number of wildcards to be present in user input to consider a pattern match as a probable match. If the user input contains more wildcards (> = X) than the threshold, then those pattern matches will be classified as Probable matches. Pattern matches within the threshold limit (< X ) will continue to be treated as Definite Matches.

Prefer Only the First Pattern Match in a Sentence

When multiple patterns are identified in a sentence, define whether the FM Engine should consider only the first pattern match or all the pattern matches. If enabled, the FM Engine will only use the first pattern match and discards all other pattern matches. If disabled, then the FM Engine will qualify all the pattern matches from the sentence, and they will be considered for disambiguation.

Exact Task Name Match

The FM Engine configuration Intent Detection using Task Name Words (see here for details) allows you to choose whether to match a task by using the words present in the task name. It is advised that this configuration be disabled if it conflicts with other training. When disabled, the platform generates a strict pattern that does ‘exact matching’ i.e. if the user input exactly matches with the task name then it will consider as a match. The Exact Task Name Match configuration allows you to choose whether the platform should auto-generate the strict pattern when ‘Intent Detection using Task Name Words’ is Disabled.

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