<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Windows Live Agents Team Blog : Best Practices</title><link>http://blogs.msdn.com/windowsliveagents/archive/tags/Best+Practices/default.aspx</link><description>Tags: Best Practices</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Guidelines for Testing your Agent</title><link>http://blogs.msdn.com/windowsliveagents/archive/2008/08/11/guidelines-for-testing-your-agent.aspx</link><pubDate>Mon, 11 Aug 2008 21:57:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8848828</guid><dc:creator>imiluk</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/windowsliveagents/comments/8848828.aspx</comments><wfw:commentRss>http://blogs.msdn.com/windowsliveagents/commentrss.aspx?PostID=8848828</wfw:commentRss><description>&lt;DIV&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;As compared to Web sites and traditional software applications, conversational agents are subject to some unique policy compliance risks. These risks arise because:&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&lt;/FONT&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;End users’ interactions with agents are freeform and unpredictable.&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Agents often engage in human-like interactions and operate in messaging environments normally used for human-to-human communications, making end users and outside observers especially sensitive to inappropriate content or behavior.&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&lt;/FONT&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;Because of these unique risks, the Windows Live Agents team highly recommends that each Agent undergo manual testing for policy compliance prior to launching. Once testers have acquainted themselves with the task, approximately &lt;B&gt;4 to 8 hours of manual testing&lt;/B&gt; should provide a reasonable evaluation of the Agent’s policy compliance. Testers should:&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&lt;/FONT&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Be native speakers&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Have a good understanding of cultural and political factors that might determine whether an Agent’s content/behavior is appropriate&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Be able to make judgments in the best interest of your public image and business interests in the market where the Agent will be released&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Be willing to provoke the Agent to behave inappropriately (this requires creativity, persistence, and willingness/ability to imagine offensive and provocative user inputs)&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Understand the Agent’s feature set&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Ideally &lt;I&gt;not&lt;/I&gt;&lt;/FONT&gt;&lt;FONT size=3&gt; have been directly involved in the Agent’s development&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&lt;/FONT&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;If your testing uncovers any issues that you need help triaging or fixing, please contact Windows Live Agents Partner Support (agentsu@microsoft.com). Send a transcript illustrating each issue, along with a description (in English) of what the issue is.&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&lt;/FONT&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Cambria color=#365f91 size=5&gt;Overview for Testers&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&lt;/FONT&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;This document is intended to provide guidelines and advice for manual testing of Agents for policy compliance. It outlines specific types of subject matter to focus on, common Agent vulnerabilities, and specific tactics that you can use in an attempt to uncover issues in a given Agent.&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&lt;/FONT&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;This document is &lt;B&gt;&lt;I&gt;not&lt;/I&gt;&lt;/B&gt; &lt;B&gt;&lt;I&gt;a step-by-step test plan&lt;/I&gt;&lt;/B&gt;; nor is it by any means exhaustive. When performing compliance testing, there &lt;B&gt;&lt;I&gt;is no substitute for your own persistence and imagination&lt;/I&gt;&lt;/B&gt;. Furthermore, these guidelines &lt;I&gt;do not&lt;/I&gt; currently prescribe any specific standards. You should apply your language and market expertise and your business judgment to determine whether the Agent’s behavior and content are acceptable. We strongly advise erring on the side of caution.&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&lt;/FONT&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;You should read this document to acquaint yourself with the subject of Agent policy compliance. You may find the specific examples to be a helpful starting point, but effective testing will require you to apply your knowledge of the language and market for which the Agent is intended, and of the specific Agent’s content and features.&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&lt;/FONT&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;In order to test effectively, &lt;B&gt;&lt;I&gt;you must be willing and able to imagine and try highly offensive and provocative user inputs&lt;/I&gt;&lt;/B&gt;. If you’re not comfortable with this task, then you should attempt to find someone who is.&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&lt;/FONT&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;Once you have acquainted yourself with the task, approximately 4-8 hours of manual testing should provide a reasonable evaluation of the Agent’s policy compliance.&lt;/FONT&gt; 
&lt;H1 style="MARGIN: 24pt 0in 0pt"&gt;&lt;FONT face=Cambria color=#365f91 size=5&gt;Sensitive/Inappropriate subject matter to test&lt;/FONT&gt;&lt;/H1&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&lt;/FONT&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Profanity&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Hate/Intolerance (with respect to race, gender, sexual orientation, religion, etc.)&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Violence and criminal behavior&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Drug use&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Sexual content&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Suicide&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Culturally/Politically sensitive subjects in your market&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;H1 style="MARGIN: 24pt 0in 0pt"&gt;&lt;FONT face=Cambria color=#365f91 size=5&gt;Scenarios to test&lt;/FONT&gt;&lt;/H1&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&lt;/FONT&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Imagine you are one of the Agent’s target users&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Imagine you are a child&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Imagine you are a malicious user attempting to provoke inappropriate Agent behavior&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;H1 style="MARGIN: 24pt 0in 0pt"&gt;&lt;FONT face=Cambria color=#365f91 size=5&gt;Common Agent vulnerabilities&lt;/FONT&gt;&lt;/H1&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&lt;/FONT&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Agent may repeat (or “mirror”) user language without employing adequate safeguards&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Agent may respond to the form of a user input without understanding the content&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Agent may fail to recognize inappropriate or sensitive subject matter if the user employs creative/subtle phrasing&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Agent may incorrectly determine an input to be inappropriate and in turn respond inappropriately&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Agent may have “unsafe” catch-all responses (responses used when the user input is not understood at all)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/FONT&gt; 
&lt;H1 style="MARGIN: 24pt 0in 0pt"&gt;&lt;FONT face=Cambria color=#365f91 size=5&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/H1&gt;
&lt;H1 style="MARGIN: 24pt 0in 0pt"&gt;&lt;FONT face=Cambria color=#365f91 size=5&gt;Some specific tactics to try&lt;/FONT&gt;&lt;/H1&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&lt;/FONT&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;See how the Agent responds to blatant abuse and provocation&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Try to trick the agent into repeating an inappropriate word or phrase&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Try to elicit an inappropriate opinion from the Agent&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Try to elicit the Agent’s approval (explicit or implicit) of an inappropriate statement&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Try to elicit inappropriate answers to formulaic questions (yes/no, how many, etc.)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Try to elicit inappropriate responses to commands/requests/statements&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/FONT&gt; 
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Symbol"&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Try to trick the Agent into inferring inappropriate intent where there is none (and responding inappropriately)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8848828" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/windowsliveagents/archive/tags/Compliance/default.aspx">Compliance</category><category domain="http://blogs.msdn.com/windowsliveagents/archive/tags/Best+Practices/default.aspx">Best Practices</category><category domain="http://blogs.msdn.com/windowsliveagents/archive/tags/Debugging/default.aspx">Debugging</category><category domain="http://blogs.msdn.com/windowsliveagents/archive/tags/Testing/default.aspx">Testing</category></item><item><title>Best Practices for Developing a Windows Live Agent: part 3</title><link>http://blogs.msdn.com/windowsliveagents/archive/2008/08/08/best-practices-for-developing-a-windows-live-agent-part-3.aspx</link><pubDate>Fri, 08 Aug 2008 22:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8844080</guid><dc:creator>imiluk</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/windowsliveagents/comments/8844080.aspx</comments><wfw:commentRss>http://blogs.msdn.com/windowsliveagents/commentrss.aspx?PostID=8844080</wfw:commentRss><description>&lt;DIV&gt;
&lt;P style="LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 14pt"&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Times New Roman"&gt;Use Dialogs&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="LINE-HEIGHT: normal"&gt;&lt;FONT face="Times New Roman" color=#000000 size=3&gt;Dialogs create a more interactive experience and help the user to feel like he/she is driving the conversation.&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Example:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt; 
&lt;P style="LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;- Hey, I have really cool games. You wanna see them?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;? Yes.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;- Here are my games:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;empty/&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Hangman {*}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Word Scramble {*}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Reversi {*}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;? No.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;- OK! Next time you want to see my games, just type “games.”&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8844080" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/windowsliveagents/archive/tags/Getting+Started+with+WLA/default.aspx">Getting Started with WLA</category><category domain="http://blogs.msdn.com/windowsliveagents/archive/tags/Best+Practices/default.aspx">Best Practices</category></item><item><title>Best Practices for Developing a Windows Live Agent: part 4</title><link>http://blogs.msdn.com/windowsliveagents/archive/2008/08/08/best-practices-for-developing-a-windows-live-agent-part-4.aspx</link><pubDate>Fri, 08 Aug 2008 22:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8844082</guid><dc:creator>imiluk</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/windowsliveagents/comments/8844082.aspx</comments><wfw:commentRss>http://blogs.msdn.com/windowsliveagents/commentrss.aspx?PostID=8844082</wfw:commentRss><description>&lt;DIV&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 14pt"&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Calibri&gt;Use Canonical Questions&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Calibri&gt;A canonical question establishes the most concise, “representative” question for a topic.&amp;nbsp; If a user asks an ambiguous question, the agent responds with a clarification request using the canonicals for each matched topic. Note that only one question should be marked as a canonical in a topic.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&amp;nbsp;&lt;/FONT&gt;&amp;nbsp;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Example:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt; 
&lt;P&gt;&lt;B&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp; &lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;+- What is my horoscope?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&amp;nbsp;? What is my horoscope?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&amp;nbsp;? Zodiac&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&amp;nbsp;+- What is my Zodiac sign?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&amp;nbsp;? What is my Zodiac sign?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&amp;nbsp;? Zodiac&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000 size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;User:&lt;/B&gt; zodiac&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;&amp;nbsp;&amp;nbsp; Agent:&lt;/B&gt; What did you mean?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&amp;nbsp;&lt;/FONT&gt;&amp;nbsp; &lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Calibri&gt;1 What is my horoscope?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&amp;nbsp; 2 What is my Zodiac sign&lt;EM&gt;?&lt;/EM&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8844082" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/windowsliveagents/archive/tags/Getting+Started+with+WLA/default.aspx">Getting Started with WLA</category><category domain="http://blogs.msdn.com/windowsliveagents/archive/tags/Best+Practices/default.aspx">Best Practices</category></item><item><title>Best Practices for Developing a Windows Live Agent: part 2</title><link>http://blogs.msdn.com/windowsliveagents/archive/2008/08/08/best-practices-for-developing-a-windows-live-agent-part-2.aspx</link><pubDate>Fri, 08 Aug 2008 21:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8844042</guid><dc:creator>imiluk</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/windowsliveagents/comments/8844042.aspx</comments><wfw:commentRss>http://blogs.msdn.com/windowsliveagents/commentrss.aspx?PostID=8844042</wfw:commentRss><description>&lt;DIV&gt;
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 14pt"&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Times New Roman"&gt;Create Good Subpatterns&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt;Subpatterns&lt;/SPAN&gt; are one of the most powerful NL recognition features in the BuddyScript language. They allow you to write efficient, reusable code. Many subpatterns are defined in various packages in the Vocabulary directories for each language in BuddyScriptLib. Have a look at the subpatterns created there before you create your own. Many general parts-of-speech and “chat” subpatterns, as well as subpatterns for industry-specific terminology, are defined there.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Create subpatterns for anything else you foresee your end users chatting about – product names, peoples’ names, place names, etc. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT face="Times New Roman" color=#000000 size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Times New Roman"&gt;NL-brick Subpatterns&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT face="Times New Roman" color=#000000 size=3&gt;When you define a subpattern as an NL-brick, every element of the subpattern that is recognized at maximum strength is a candidate to replace sections of your NL handles.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;This is a very useful property, but use it carefully. If you want only certain elements to replace the natural language in an NL-brick subpattern, make the other elements score lower. &lt;/FONT&gt;
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Define subpatterns as NL-bricks by putting them within NL-brick zones. If your project is derived from the WLATemplate, add NL-bricks in “YourAgent/YourLanguage/CustomSubpatterns.pkg,” which already contains an NL-brick zone.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Example:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;begin properties SubpatternsAreNLBricks // Start of NL brick zone&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;…&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;### “n” prefix: Noun Stems&lt;BR&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;subpattern nBike + (bike|bikes)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;subpattern nMotorcycle &lt;BR&gt;+ (motorcycle|motorcycles)&lt;BR&gt;+ motor (cycle|cycles)&lt;BR&gt;&lt;BR&gt;subpattern nMotorbike&lt;BR&gt;+ (motorbike|motorbikes)&lt;BR&gt;+ motor =nBike&lt;BR&gt;&lt;BR&gt;### “ns” prefix: Noun Senses&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;subpattern nsMotorcycle&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;+ (=nMotorcycle|=nMotorbike)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;+ =nBike {score=MACRO_ MEDIUM_SCORE}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;…&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;end properties SubpatternsAreNLBricks // End of NL brick zone&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT face="Times New Roman" color=#000000 size=3&gt;In the above example, the word “motorcycles” in the natural language handle “? How much do motorcycles cost?” will be replaced by = nsMotorcycle, but the word “bike” in the natural language handle &lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;“? Can I ride my bike to work?” will &lt;B&gt;not&lt;/B&gt; be replaced by =nsMotorcycle as “bike” does not match at maximum strength in the subpattern. Therefore, if the user types “How much do bikes cost?” it will match on “? How much do motorcycles cost?” (albeit with a lower score), but if the user types “Can I ride my motorcycle to work?” it will &lt;B&gt;not&lt;/B&gt; match on “? Can I ride my bike to work?”&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Times New Roman"&gt;&lt;B&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Example:&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;begin properties SubpatternsAreNLBricks&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;subpattern nsNewYorkCity&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;+ (new york [city]|manhattan)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;+ nyc&lt;SPAN&gt; &lt;/SPAN&gt;{spellcorrect=no}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;return “New York City”&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;end properties SubpatternsAreNLBricks&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000 size=3&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;subpattern ACity&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;+ CITY=NewYorkCity&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;+ CITY=SanFrancisco&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;+ CITY=Chicago&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;return CITY&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000 size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT face="Times New Roman" color=#000000 size=3&gt;In the above example, the &lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;=ACity &lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;subpattern should &lt;B&gt;not&lt;/B&gt; be an NL-brick because you would not want “New York City” in a natural language handle such as “? What are some good restaurants in New York City?” to be replaced by =ACity (if it were, the user query “What are some good restaurants in Chicago?” would match on “? What are some good restaurants in New York City?”)&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT face="Times New Roman" color=#000000 size=3&gt;&amp;nbsp;&lt;/FONT&gt; &lt;FONT face="Times New Roman" color=#000000 size=3&gt;In general, specifying some subpatterns as NL-bricks and leaving others as non-NL-bricks (the default behavior) allows you great control over how subpatterns are used in your matching.&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT face="Times New Roman" color=#000000 size=3&gt;&amp;nbsp;&lt;/FONT&gt; &lt;B&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Times New Roman"&gt;Binding Subpatterns to Variables&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT face="Times New Roman" color=#000000 size=3&gt;Bind subpatterns to variables whenever you need to use the value returned by a subpattern, either as a parameter in a data request, to store interesting user data, or simply to make the agent’s response “smarter.”&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT face="Times New Roman" color=#000000 size=3&gt;&amp;nbsp;&lt;/FONT&gt;&amp;nbsp;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Example:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;- Where do you live?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;? I live in CITY=ACity&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;? CITY=ACity&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;STATE = GetStateForCity(CITY)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;USER_LOCATION = CITY&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;- Wow! I love CITY! That’s in the state of STATE, right?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman" color=#000000 size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Times New Roman"&gt;&lt;B&gt;User:&lt;/B&gt; I live in nyc&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;B&gt;Agent:&lt;/B&gt; Wow! I love New York City! That’s in the state of New York, right?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8844042" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/windowsliveagents/archive/tags/Getting+Started+with+WLA/default.aspx">Getting Started with WLA</category><category domain="http://blogs.msdn.com/windowsliveagents/archive/tags/Best+Practices/default.aspx">Best Practices</category></item><item><title>Best Practices for Developing a Windows Live Agent: Part 1</title><link>http://blogs.msdn.com/windowsliveagents/archive/2008/08/08/best-practices-for-developing-a-windows-live-agent-part-1.aspx</link><pubDate>Fri, 08 Aug 2008 21:49:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8844039</guid><dc:creator>imiluk</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/windowsliveagents/comments/8844039.aspx</comments><wfw:commentRss>http://blogs.msdn.com/windowsliveagents/commentrss.aspx?PostID=8844039</wfw:commentRss><description>&lt;DIV&gt;&lt;FONT face="Geneva, Arial, Sans-serif" size=3&gt;Today we will start a series on best practices for developing a Windows Live Agent (WLA). Here we go:&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 14pt"&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Geneva, Arial, Sans-serif"&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 14pt"&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Geneva, Arial, Sans-serif"&gt;&lt;FONT size=3&gt;Use the WLATemplate Project as a Starting Point&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt; &lt;/DIV&gt;
&lt;DIV&gt;
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT face="Geneva, Arial, Sans-serif" color=#000000 size=3&gt;The WLATemplate Project (“C:\Program&amp;nbsp;Files\Colloquis\Colloquis&amp;nbsp;SDK\Projects\WLATemplate“) is a generic project you can quickly customize into your own Agent. Simply launch the instantiation script “StartInstantiation.bat” and follow the instructions to start a new Agent in the right directory. &lt;/FONT&gt;
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 14pt"&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Geneva, Arial, Sans-serif"&gt;&lt;FONT size=3&gt;Use Natural Language Handles&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT face="Geneva, Arial, Sans-serif" color=#000000 size=3&gt;The fastest and most efficient way to get your Agent to recognize User questions is to add Natural Language Handles. NL Handles are analyzed against the libraries of rephrase rules and synonym subpatterns defined in your project and in the BuddyScriptLib packages (included in the SDK) and are transformed into regular “+” style matching patterns. &lt;/FONT&gt;
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;B&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Geneva, Arial, Sans-serif"&gt;&lt;FONT size=3&gt;Example:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Geneva, Arial, Sans-serif"&gt;&lt;FONT size=3&gt;This natural language handle:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT face="Geneva, Arial, Sans-serif"&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;? What can you do?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Geneva, Arial, Sans-serif"&gt;&lt;FONT size=3&gt;is rephrased as:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;FONT size=3&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;? What do you do?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Geneva, Arial, Sans-serif"&gt;&lt;FONT size=3&gt;and “patternized” into these subpatterns:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman, Times, Serif"&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;+ =qsWhat =vDo =You =vDo&lt;/FONT&gt;&lt;SPAN&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;&amp;nbsp;&lt;/FONT&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Geneva, Arial, Sans-serif"&gt;&lt;FONT size=3&gt;This user query:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;FONT size=3&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;Tell me what you do&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Geneva, Arial, Sans-serif"&gt;&lt;FONT size=3&gt;is rephrased as:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;FONT size=3&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;What do you do?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Geneva, Arial, Sans-serif"&gt;&lt;FONT size=3&gt;Case and punctuation are stripped from queries, so:&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;FONT size=3&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;what do you do&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT face="Geneva, Arial, Sans-serif" color=#000000 size=3&gt;matches perfectly on the patternized natural language in the agent.&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;U&gt;&lt;FONT face="Geneva, Arial, Sans-serif" color=#000000 size=3&gt;Natural language handles should be:&lt;/FONT&gt; &lt;/U&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Geneva, Arial, Sans-serif"&gt;&lt;FONT size=3&gt;Concise—ideally 15 words or less and one sentence&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;LI&gt;
&lt;DIV style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Geneva, Arial, Sans-serif"&gt;&lt;FONT size=3&gt;Unambiguous&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;LI&gt;
&lt;DIV style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT face="Geneva, Arial, Sans-serif" color=#000000 size=3&gt;Grammatically correct and properly punctuated (including question marks or periods)&lt;/FONT&gt;&lt;/DIV&gt;
&lt;LI&gt;
&lt;DIV style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT face="Geneva, Arial, Sans-serif" color=#000000 size=3&gt;Free of spelling mistakes&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8844039" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/windowsliveagents/archive/tags/Getting+Started+with+WLA/default.aspx">Getting Started with WLA</category><category domain="http://blogs.msdn.com/windowsliveagents/archive/tags/Best+Practices/default.aspx">Best Practices</category></item></channel></rss>