• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    MicrosoftAgentTutorialChapter2

    發布: 2007-5-25 09:21 | 作者: sonicdater | 來源: 互聯網 | 查看: 30次 | 進入軟件測試論壇討論

    領測軟件測試網 Microsoft Agent Tutorial Chapter 2

    Author: Abstractvb
    Date: 4/22/2000 6:54:54 PM
    ID: 84
    Microsoft Agent Version 2 Needed.

    Shows how to recieve input from the user via speech.  This uses the Text to Speech engine and MSAgents commands to determine what the user said and take action. This covers commands, and confidence settings.

     

    Part 1 - Adding Agent Commands

    To get the Agent to respond to userinput you will need to add commands.  Commands are a word or series of words the Agent waits for. Once one of the commands is spoken the agent will call the Commands() Event and return the name of the command that was spoken.

    Name your Agent Control MSAgent.

    Add this to the Form_Load() Event:

    MSAgent.Characters.Load "DefaultCharacter" 
    Set AgentChar= MsAgent.Characters("DefaultCharacter")
    AgentChar.Commands.Add "Notepad", "Notepad", "Notepad", True, True
    	
    Private Sub MsAgent_Command(ByVal UserInput As Object)
        MsgBox UserInput.Name
    End Sub
    

    There, now try running it. Press SCROLLLOCK and then say your agents name to get him to appear. Once the agent has appeared press SCROLLLOCK again to get the agent to listen and then say the word "Notepad". A msgbox should appear with the word notepad in it, since that is the name we gave our command.

    The first parameter listed above is the name that is what the Command() Event will return to you when your command is spoken. The next is the Caption parameter, which will determine how this command is displayed in the Agent Voice Commands Window. The third is the Voice property. The voice property is what the user must say to evoke this command. The voice property does not have to be the same as the Name or the Caption.

    Now take a look at this line of code:

    AgentChar.Commands.Add "notepad", "notepad", "[...] notepad [...]", True, True
    

    Notice the ellipses in brackets? These have a special meaning to the Text to speech engine. These basically mean to ignore any speech before and after the word notepad. So you could say something like this "Open notepad please" and it will still return the "Notepad" command.  Be careful when using the ellipses though, since they slow down processing considerably.

     

    Part 2 - It's all Guesswork!

    When a command is spoken the Agent takes its best guess and then returns you a command. The command may not always be correct, since the Agent is really just making a guess. Imagine this scenario: You have the agent setup to delete a database entry when the user speaks a specific command. Now you would want to ensure that MSAgent is fairly confident in the command before you wipe out valuable data. Thankfully MSAgent has a property designed to let you know just how certain the agent is about a command.

    The UserInput object has a confidence property designed just for this purpose; the Confidence property. Confidence properties in MSAgent can range from -100 to 100. Try this:

    Private Sub MsAgent_Command(ByVal UserInput As Object)
        If UserInput.Confidence > -50 Then
            MsgBox UserInput.Name
        Else
            MsgBox "I have " & UserInput.Confidence & " confidence in that command"
        End If
    End Sub
    

    Sometimes you want to have different confidence levels for different commands. There is a property for this as well. Each command object can have a confidence level specified and a confidence text specified. If the agents confidence level does not meet or exceed the confidence level you set then the confidence text will be displayed in the agents ToolTip. Try adding this to the Form_Load:

    AgentChar.Commands("notepad").Confidence = "50"
    AgentChar.Commands("notepad").ConfidenceText = "Was that notepad you wanted?"
    

    Notice that when the agents confidence level is below 50 it will display the ConfidenceText in the tooltip. But you should also notice that the agent will still proceed with the command and show the msgbox. To avoid that you would need to add code to check the UserInput confidence setting and the Command confidence setting to see if the latter is met or exceeded. Something like this:

    If UserInput.Confidence > AgentChar.Commands(UserInput.Name).Confidence Then
    	MsgBox UserInput.Name
    End If
    

    There is also other parameters to let you know what other commands the agent considered when guessing. You can get the name of the second best match using the UserInput.Alt1Name, and the third best match using the UserInput.Alt2Name properties. Each of these have their own confidence scoring (Alt1Confidence, and Alt2Confidence). I guess one use for this would be to query the user showing all three choices and get the user to clarify the choice.

    Sometimes the agent will get a built in command like "Show" or "Hide". In this case no Command names are returned. So to determine if any command names are returned the best way is to check the Userinput.Count property. This will tell you if 1, 2 or 3 guesses were returned from the agent. If only two are returned then the Alt2Name property will be empty so there will be no use checking it.

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>