api.ai를 사용하는 경우 두 개의 매개 변수를 문자와 숫자로 제한하도록 지정할 수 있습니다. @sys.number
및 @sys.ordinal
엔티티는 숫자로 제한되도록 정의되어 있지만 글자를 추측하여 자신의 @letter
엔티티를 만들어야합니다.
이 스크린 샷에서는 이미 @letter
엔티티를 만든 다음 몇 가지 예시 문구를 정의했습니다. 당신이 "무작위 실험"과 같이 이것을 테스트하는 경우

, 당신은 여전히 일치됩니다 것을 볼 수있다 :이 경우 접두사 "실험"으로, 그것은 음성 문자 및 숫자 쌍을 반환합니다 그러나 매개 변수는 비어 있습니다. 이것에 대한 몇 가지 접근법이 있습니다. 이 매개 변수를 요구할 수 있습니다. 그러나 쌍을 입력하지 않으면 메시지가 표시됩니다. 또는 좀 더 일반적으로 일치하는 낮은 우선 순위로 인 텐트를 설정할 수 있습니다. 이런 식으로 보일 수도 있습니다. (우선 순위는 다음 의도 이름으로 색깔의 점을 클릭하여 설정할 수 있습니다.)

@sys.any
실체는 아무것도 일치해야 와일드 카드입니다. 그러나 우선 순위가 낮기 때문에 문자 - 숫자 쌍을 먼저 일치시킨 다음이 문자를 시도하여 대체 문자로 일치하는지 확인합니다.
이 질문에 답변 해 주셔서 감사합니다.하지만 촬영 한 문제는 해결되지 않습니다. 실제로 이런 식으로 내 api.ai 설정이 있지만 문제는 Google 홈을 음성 입력으로 사용할 때 Google 홈 자체가 자동으로 소리와 함께 문자와 숫자 조합을 자동 수정한다는 것입니다. 따라서 진정한 말의 의도를 납치합니다. 예를 들어 사용자가 '실험 P 7'이라고 말하면 대부분 Google 홈에서 자동 수정하여 api.ai 'Experiment Pizza Oven'에 전송합니다. Google에서 자동 수정되지 않도록하는 방법을 알아야합니다. 편지 - # –
을 찾고 있음을 알기 위해 Intent와 폴백 의도 설정을 어떻게 구성했는지 질문에 포함시킬 수 있습니까? 내가 게시 한 의도는 "실험 P7"과 "실험 피자 오븐"과 내가 시도한 다른 모든 문자 조합을 정확하게 구별 한 것입니다. – Prisoner
죄수 : 나는 그 의도가 그 입력을 구별 할 수 없다고 말하는 것이 아닙니다. 나는 특별히 api.ai의 범위를 벗어나는 좀 더 많은 메타 질문을하고있다. Google 홈에서 사전 단어에 대한 자동 수정을 중단하고 대신 문자 번호 조합을 백엔드로 보내도록 할 수 있습니다. 백엔드 레이어에서 구문 분석을 수행하기 전에 Google에서 거의 모든 문자 번호 조합을 자동 수정합니다. 직접 사용해보고 마이크를 사용하여 '기사를 E 6으로 이동'할 수 있습니다. 실제로 올바른 것을 복사하십시오. –