Alexa Skill Not Distinguishing Letters&数字

时间:2017-05-30 22:57:07

标签: node.js aws-lambda alexa-skills-kit alexa-voice-service

我们正在以Alexa Skill为基础,以字母+数字序列引用信息。例如,我们想问一下"给我项目B1和#34;的状态。

我们已经尝试了几种方法来理清" B1"在我们的Alexa意图配置中,但我们得到的结果非常不一致(通常是错误的)。

我们最近的尝试是创建一个"字母"插槽和"数字"插槽并创建我们的调用,例如:give me the status of {letter} {number}但是,我们通常会在JSON中返回没有value的插槽 - 或者通常Alexa将发送包含不在我们的插槽定义中的值的JSON。如果我说" B1",Alexa可能会回复" viva"或其他一些随机词。

问题在于Alexa对声音的解释。如果我们在开发人员控制台中使用测试文本条目,它(通常)将按预期工作。

有没有人成功使用这样的字母/数字组合?

2 个答案:

答案 0 :(得分:0)

进入类似的问题开发类似“战舰”的游戏:https://www.amazon.com/Josep-Valls-Vargas-Audio-Battleship/dp/B01KJ91K5U/ref=sr_1_3

你正在以正确的方式做,单独插入字母和数字。虽然数字通常被识别为正确,但字母更加棘手(特别是字母E由于某种原因)。唯一有效的方法是允许用户使用任意单词和/或拼音字母。然后在我的技巧中,我只是将识别出的单词的第一个字母切成薄片。

    <html>
    <head>
    	<title></title>
    	<link rel="stylesheet" type="text/css" href="style.css" />
    </head>
    <body>
        <div id="sidebar">

    			<ul>
    				

    <li><a href="#">Link 1</a></li>
        				<li><a href="#">Link 1</a></li>
        				<li><a href="#">Link 1</a></li>
        				<li><a href="#">Link 1</a></li>
        				<li><a href="#">Link 1</a></li>
    			   </ul>
                   <div id="sidebar-btn">
                       <span></span>
                       <span></span>
                       <span></span>
            </div>
           </div>
            
            <script 
    src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3s/jquery.min.js"></script>
        
           <script>
             
            $(document).ready(function()
                $('#sidebar-btn').click(function(){
                $('#sidebar').addClass('visible');
                });
            
            
            </script>
            
            
            
                </div>
        
        
            </div>

        </body>
        </html>

然后,cellForRowAt indexPath类似于: func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { //the .dequeReusableCell method creates the instance for the table //view cell you created in the storyboard. Make sure you copy the //identifier exactly as it appears in the storyboard. let cell = tableView.dequeueReusableCell(withIdentifier: "whateverCellIdentifierYouChoose", for: indexPath) //The .viewWithTag method creates the instance for the objects //you created in the table view cell. Copy the tag number //exactly as you specified it in the storyboard. let bananaImage = cell.viewWithTag(1) as! UIImageView let appleImage = cell.viewWithTag(2) as! UIImageView let pearImage = cell.viewWithTag(3) as! UIImageView //code below specifies the image you are going to populate //each UIImageView with bananaImage.image = UIImage(named: "banana") appleImage.image = UIImage(named: "apple") pearImage.image = UIImage(named: "pear") return cell }

在另一个类似的游戏中,我在示例话语中添加了几个替代方案,并添加了游戏中使用的单词:https://www.amazon.com/Josep-Valls-Vargas-Easy-Hangman/dp/B06VY1TK8L/ref=sr_1_2

答案 1 :(得分:0)

尝试使用正确的插槽类型。 AMAZON.Number和AMAZON.firstName是两种不同的插槽类型。 另外,您可以使用SSML来使Alexa说出数字和单词。