Twilio Studio Say/Gather 提示
Twilio Studio Say/Gather Hints
我们正在使用 Twilio Studio 来管理我们的 IVR 流程,并且在识别特定号码时遇到了问题。
示例:一个包含 22 的验证码被 Twilio 识别为“tutu”
除了更改“识别语言”等设置外,我还想让 Twilio 比其他输入更能识别数字。有一个“语音识别提示”选项,它是一个逗号分隔的值列表——但是你应该在里面放什么?文档只讨论逗号分隔列表,没有别的!
感谢收到的任何帮助。
提前致谢
您可以查看在提示部分输入 $OOV_CLASS_DIGIT_SEQUENCE
是否对捕获的 SpeechResult
有任何影响。
另一种选择是 运行 通过将 tutu 转换为 22 的规范化 Twilio 函数的结果。
我建议在捕获数字时使用 DTMF,以避免这种情况。
// converts number words to integers (e.g. "one two three" => 123)
function convertStringToInteger( str ) {
let resultValue = "";
let arrInput = [];
let valuesToConvert = {
"one": "1",
"two": "2",
"to": "2",
"three": "3",
"four": "4",
"five": "5",
"six": "6",
"seven": "7",
"eight": "8",
"nine": "9",
"zero": "0"
};
str = str.replace(/[.,-]/g," "); // sanitize string for punctuation
arrInput = str.split(" "); // split input into an array
// iterate through array and convert values
arrInput.forEach( thisValue => {
if( ! isNaN(parseInt(thisValue)) ) { // value is already an integer
resultValue += `${parseInt(thisValue)}`;
} else { // non-integer
if( valuesToConvert[thisValue] !== undefined) {
resultValue += valuesToConvert[thisValue];
} else {
// we don't know how to interpret this number..
return false;
}
}
});
console.log('value converted!', str, ' ====> ', resultValue);
return resultValue;
}
我们正在使用 Twilio Studio 来管理我们的 IVR 流程,并且在识别特定号码时遇到了问题。
示例:一个包含 22 的验证码被 Twilio 识别为“tutu”
除了更改“识别语言”等设置外,我还想让 Twilio 比其他输入更能识别数字。有一个“语音识别提示”选项,它是一个逗号分隔的值列表——但是你应该在里面放什么?文档只讨论逗号分隔列表,没有别的!
感谢收到的任何帮助。
提前致谢
您可以查看在提示部分输入 $OOV_CLASS_DIGIT_SEQUENCE
是否对捕获的 SpeechResult
有任何影响。
另一种选择是 运行 通过将 tutu 转换为 22 的规范化 Twilio 函数的结果。
我建议在捕获数字时使用 DTMF,以避免这种情况。
// converts number words to integers (e.g. "one two three" => 123)
function convertStringToInteger( str ) {
let resultValue = "";
let arrInput = [];
let valuesToConvert = {
"one": "1",
"two": "2",
"to": "2",
"three": "3",
"four": "4",
"five": "5",
"six": "6",
"seven": "7",
"eight": "8",
"nine": "9",
"zero": "0"
};
str = str.replace(/[.,-]/g," "); // sanitize string for punctuation
arrInput = str.split(" "); // split input into an array
// iterate through array and convert values
arrInput.forEach( thisValue => {
if( ! isNaN(parseInt(thisValue)) ) { // value is already an integer
resultValue += `${parseInt(thisValue)}`;
} else { // non-integer
if( valuesToConvert[thisValue] !== undefined) {
resultValue += valuesToConvert[thisValue];
} else {
// we don't know how to interpret this number..
return false;
}
}
});
console.log('value converted!', str, ' ====> ', resultValue);
return resultValue;
}