Article. Building Single Base-Language Bots. Oracle Intelligent Bots TechExchange. Frank Nimphius, Marcelo Jabali - April 2018

Size: px
Start display at page:

Download "Article. Building Single Base-Language Bots. Oracle Intelligent Bots TechExchange. Frank Nimphius, Marcelo Jabali - April 2018"

Transcription

1 Oracle Intelligent Bots TechExchange Article. Building Single Base-Language Bots Frank Nimphius, Marcelo Jabali - April 2018 Contributors: Grant Ronald, Dan Nguyen, Martin Cookson, Tamer Qumhieh, Linus Hakansson Chatbot support for multiple languages is a worldwide requirement. Almost every country has the need for supporting foreign languages, be it to support immigrants, refugees, tourists, or even employees crossing borders on a daily basis for their jobs. According to the Linguistic Society of America1, as of 2009, 6,909 distinct languages were classified, a number that since then has been grown. Although no bot needs to support all languages, you can tell that for developers building multi-language bots, understanding natural language in multiple languages is a challenge, especially if the developer does not speak all of the languages he or she needs to implement support for. This article explores Oracle's approach to multi language support in chatbots. It explains the tooling and practices for you to use and follow to build bots that understand and "speak" foreign languages Oracle Intelligent Bots TechExchange

2 BUILDING MULTI LANGUAGE BOTS IN ENGLISH... 3 HOW GOOD ARE SINGLE BASE-LANGUAGE BOTS?... 3 ENABLING TRANSLATION SERVICES FOR A BOT... 4 REGISTER ONE OR MORE TRANSLATION SERVICES... 4 REFERENCE A TRANSLATION SERVICE IN THE BOT SETTINGS... 5 ENABLING TRANSLATIONS FOR A BOT... 6 ENABLING AUTO-TRANSLATION... 6 SETTING THE UI COMPONENT TRANSLATE PROPERTY... 6 BOT LANGUAGE COMPONENTS... 7 SYSTEM.DETECTLANGUAGE... 7 SYSTEM.TRANSLATEINPUT... 8 DIRECT INPUT TRANSLATION... 8 STRING TRANSLATION FROM A SOURCE VARIABLE... 8 SYSTEM.TRANSLATEOUTPUT... 9 RESOURCE BUNDLES... 9 CREATING RESOURCE BUNDLES USING RESOURCE BUNDLES IN A CONVERSATION ABOUT AUTO-TRANSLATION OF RESOURCE BUNDLES WHAT YOU SHOULD KNOW ABOUT PROFILE.LOCALE AND PROFILE.LANGUAGETAG TRANSLATION OVERVIEW AND COMPARISON TRANSLATING CUSTOM COMPONENT RESPONSES STORING DATA IN A CONTEXT VARIABLE SAVING MESSAGES IN A CONTEXT VARIABLE SENDING RESPONSES DIRECTLY TO THE USER TRANSLATION STRATEGIES AND PRACTICES OPT-IN VS. OPT-OUT USE RESOURCE BUNDLES FOR PROMPTS AND RESPONSES USE RESOURCE BUNDLES FOR CONTENT THAT SHOULD NOT BE TRANSLATED TEST YOUR TRANSLATION SERVICE USING BACKWARD TRANSLATIONS BE AWARE OF THE LIMITATIONS OF LANGUAGE DETECTION LIMIT THE SET OF LANGUAGES SUPPORTED BY A BOT SAVE AND REMEMBER SUMMARY

3 Building Multi Language Bots in English There exist two broad approaches for developers to build multi-language bots. Native language bots use a specific language for its utterances, entities, prompts, titles, descriptions and labels. To support multiple languages you create separate bots, each using a language specific natural language processing engine for the intent resolution and entity extraction that you train and test with language specific utterances. Single Base-Language are bots that serve multiple languages from a single base language for natural language understanding, entity extraction as well as for designing prompts, titles, descriptions and labels during development. A translation service is used at runtime to detect and translate foreign language user input into the base language for intent resolution and entity extraction. Response messages as well as label and prompts are either auto-translated to the detected user language or reference language specific strings in resource bundles. From a bot user perspective the bot appears as a native language bot. As of today, Oracle Intelligent Bots have superior support for the English language. So whatever the languageprocessing engine receives in English it knows to handle the best. From a development perspective, creating bots in English is more likely to give better results. As such, Oracle Intelligent Bots approach to multi-language chatbot applications is to build single base-language in English and use translation services and resource bundles to support foreign languages. Note: It is possible to also build native language bots with Oracle Intelligent Bots today, which may require you to provide more training data than for English. Oracle continues to work on native language support for intent resolution and entity extraction as well as translation service support. How good are Single Base-Language Bots? If no mistake have you made, yet losing you are a different game you should play" - Yoda The above quote from Star Wars' Yoda does not use correct grammar yet you still understand it. And even if Yoda had left more words out, the sentence still could be understood. If no mistake you made, yet losing a different game play" Yoda (revised) While grammar is important for speaking, vocabulary is key when it comes to understanding, as the human brain is able to compensate for missing words and grammar mistakes. Natural language processing behaves in a similar way to the human brain in that it can rely less on grammar in its understanding. So a sentence doesn't need to be perfect to be understood by the intent resolution and entity extraction. For building single base-language this means that the intent engine understands foreign language input if the translation service does a good job in translating the words. Both, Google and Microsoft translation services provide outstanding translation support. Note: We'll get back to this in the "Translation Strategies and Practices" section later in this paper. While the order of words matters less for the intent resolution it does for entity extraction. 3

4 Enabling Translation Services for a Bot Oracle Intelligent Bots uses configurable translation services to translate user messages into English, the bot base language, and bot response to the preferred user language. The preferred user language can be detected from user input or read from the user profile settings. It is also possible to have a user select a preferred language from a list in case language support should be limited to a specific set of languages. To enable the translation feature for a bot you need to Register one or more translation services with the Oracle Intelligent Bots cloud instance Select a translation service in the bot settings Register One or More Translation Services At current, Oracle Intelligent Bots supports two translation services, Google and Microsoft for which you need to bring your own license. Note: You can reduce the cost of translation by using resource bundles and by saving the user detected language in a user scope variable. The Base URLs for these services are Google - Microsoft - To register a translation service in Oracle Intelligent Bots, you select the menu icon on the upper right corner of the dashboard and choose the "Translation Services" menu item (Figure 1). Figure 1: Registration Menu for Translation Services You create new translation service registrations by pressing the "+ Service" button shown in Figure 2 and providing the translation service base URL and authorization key. 4

5 Figure 2: Translation Service Configuration Dialog Reference a Translation Service in the Bot Settings To enable translation for a bot you need to enable one of the registered translation services from the bot's "Settings" panel. For this, select the "Settings" icon in the left hand menu (highlighted in blue in Figure 3) and select the "General" tab. In here, you now select a value for the "Translation Service" field. Figure 3: Enabling Translation Service for a Bot 5

6 Enabling Translations for a Bot Still, with translation services enabled for a bot, nothing happens by itself. To leverage a configured translation services in your bot conversations you either need to enable auto-translation or set the translate property on a UI system component to true. Enabling Auto-Translation When enabled for a bot, auto-translation impacts all conversations defined in BotML for a bot. With auto-translation enabled, Oracle Intelligent Bots translates all component label, title, description, prompt and text strings. The auto-translate feature is disabled by default. To enable auto-translation, you define a context variable with the name autotranslate of type boolean and set its value to true. The example below shows how to define the autotranslate context variable and how to use the System.SetVariable to set the variable value to true. variables: autotranslate: "boolean" states: enableautotranslation: component: "System.SetVariable" variable: "autotranslate" value: true transitions: {} You can enable or disable auto-translation at any time in a conversation. Note however that a change in the autotranslation setting only impacts conversations that happen after the change. It s not that a change in the translation setting will change previous user-bot and bot-user conversations that may still show in the messenger window. Setting the UI Component translate Property Every user interface and input component has a translate property that can be used to override the global autotranslation setting for a component. If, for example, auto-translation is enabled for a bot, then setting the "translate" property to false on a component will exclude its prompt, title, description, label and text strings from translation. Conversely, if the auto-translate feature is not enabled for a bot but a component's "translate" property is set to true, then the component prompt, title, description, label and text string is translated into the detected user language using the configured translation service. Input components translate user input into English. If the "autotranslate" variable is set to false, which also is the default, then no auto-translation occurs on the component unless the "translate" property explicitly is set to true. If you set "autotranslate" to true then the translate property implicitly is set to true as well, which means that all component label, title, description, prompt and text strings will be translated. Table 1 below shows the different combinations of the "autotranslate" context variable and the component "translate" property settings along with their impact to string translation. 6

7 autotranslate variable setting Component "translate" property setting Component prompt, label, text, title, description, input translated? true not set yes true true yes true false no false not set no false false no false true yes Table 1: Combination of "autotranslate" context variable setting and "translate" component property setting and their impact to translation Bot Language Components Oracle Intelligent Bots provides specific language components that you can use to detect a bot user's preferred language and to translate user input and output messages. System.DetectLanguage The System.DetectLanguage component uses the configured translation service to detect the user language based on a provided input string. As a result, the "profile.languagetag" variable is set to the locale string of the detected user language. Note: The "profile.languagetag" takes precedence over the "profile.locale" variable, which holds the language setting detected in the messenger used by a user. The System.DetectLanguage component detects the user language either from direct user input, as shown in the code sample below, or from content saved in a source variable. detectlanguagefromdirectinput: component: "System.DetectLanguage" To detect language from content saved in a context variable, you use the component source property, as shown in the code below. context: variables: sourcestring: string states: detectlanguagefromsourcevariable: component: "System.DetectLanguage" source: "sourcestring" 7

8 System.TranslateInput The System.TranslateInput component leverages the configured translation service to translate the user input of any language to English. For this, there is no need to set or detect the user language prior to using the component. The translation service is able to tell the user language by the string provided for translation. The result always is returned in English. To use the component in BotML, you have two options: 1. Direct input translation 2. String translation from a source variable Direct Input Translation The System.TranslateInput component is an input component comparable to the System.Text component. The difference between System.Text and System.TranslateInput is that for System.TranslateInput the user input that is saved in a referenced context variable is always English for while the System.Text component holds the user value in the language it is provided. context: variables: translatedstring: string sourcestring: string states: translateinput: component: "System.TranslateInput" variable: "translatedstring" The BotML sample code above waits for a user to provide text input on a messenger console to then translate the input and save it into the transatedstring variable. If, for example the user types the German string Hallo, ich bin ein Mensch, then the content in the translatedstring variable is Hello, I am a human. String Translation from a Source Variable Consider the BotML definition below in which two variables, sourcestring and translatedstring, are defined as context variables. The sourcestring variable holds the user input, for example added through a System.Text component. At the end of the System.TranslateInput component processing, the translatedstring variable holds the English text. context: variables: translatedstring: string sourcestring: string states: translateinputstring: component: System.TranslateInput 8

9 source: sourcestring variable: translatedstring Note that System.TranslateInput does not translate data objects or data arrays that were saved in a context variable through a custom component. For example, assume the following object to be assigned to a variable: { product : scissors, color : silver }. Passing the variable to the System.TranslateInput component does not translate the "scissors" and "silver" string values. Instead the content gets translated when a variable object property is referenced from a component that uses auto-translation. System.TranslateOutput The System.TranslateOutput component translates any string to the bot-user's language, which may be the language detected by the System.DetectLanguage component or a language setting in the user profile.locale variable. context: variables: translatedstring: string sourcestring: string states: translateoutputstring: component: System.TranslateOutput source: sourcestring variable: translatedstring Resource Bundles There are two possibly problems with auto translation: The first is that the translation my not be perfect. And second, sometimes a word or sentence could be translated differently based on context. In German, to give an example, the "Sie" and "Du" makes a difference when speaking to someone. "Sie" is more formal than "Du" and is used e.g. in customer conversations, when talking to strangers, when talking to people deserving respect, or when talking to people who are not a friend or family. In English there is only "you" to address a person. Chances therefore are very likely that messages use "Du" where it should be "Sie" when translated by Google or Microsoft APIs. Similar nuances in the translation apply for other languages as well. Instead of auto-translating bot responses, you can use resource bundles in Oracle Intelligent Bots. Resource bundles are language templates that you provide at design time for the languages supported by a bot. Optionally, at runtime, you can add data content to resource bundle strings. The benefit of using resource bundles is that you, as the bot designer, control the translated strings. Using a translation service to translate user messages, chances are that the translated string does not match your preferred tone or business wording. 9

10 Another benefit of resource bundles is that they don't require a translation service, which means that they are free to use at runtime. Like in Java, a resource bundle holds key-string pairs for the default language and any other language supported in a bot. Resource bundle strings can be parameterized allowing bot designers to insert values referenced from context variables at runtime. Note: Resource bundles in Oracle Intelligent Bots are defined on the individual bot level. At current there is no option available to share resource bundles across bots. Creating Resource Bundles To get started with resource bundles, select the Resource Bundle menu icon of your bot. Figure 4 shows the Recourse Bundle menu icon highlighted in "blue". Click the green "+ Bundle" button to start creating resource bundles. Figure 4: Getting started with resource bundles You first create key-value pairs for the default language, which we recommend to be English to go along with the default language used by the auto-translation feature. 10

11 Figure 5: Defining a first language key and string value Once the first resource is created you can use the green "+ Key" button to create more. Figure 6 shows a resource message containing parameters for bot designers to pass values in at runtime. Note: Given the state names in a conversation are unique, it helps if you use key names that align to the state names. In the examples shown in Figure 5 and 4 the key names are the same as the state names, except that the key names always start with an uppercase letter. Figure 6: Creating a resource bundle with parameters 11

12 To create a translation, select a message bundle entry and click the "+ Language" button. In the opened dialog, define or select a language code and provide the translated text. Figure 7 shows a translation to German for the "AskBalanceAccountPrompt" key. Figure 7: Creating a translation Using Resource Bundles in a Conversation With the resource bundles in place, you can now enable the use of resource bundles for a conversation and then reference resource keys from UI components. To enable resource bundles for a conversation you need to define a context variable of type "resourcebundle". variables: rb: "resourcebundle" Note: The name of the resource bundle variable is up to you. In this paper we use "rb". Next you then reference resource bundle keys from components in the dialog flow. For example, a message string that does not contain parameters can be referenced as shown below 12

13 askbalancesaccounttype: component: "System.List" options: "${accounttype.type.enumvalues}" prompt: "${rb('askbalancesaccounttype')}" variable: "accounttype" transitions: {} Note: An alternative option to reference the message bundle key is "${rb.askbalancesaccounttype}. This however only works for resource bundle strings that don't use parameters For resource bundle strings that contain parameters you use the ${rb('key_name','${p0.value}', '$(p1.value)', )} synatx where "p0" and "p1" need to be substituted with the context variable names that hold the values for the configured parameters. If you want to add two variable references, like when welcoming a user, you can do this as follows: ${rb("welcomekey, '${profile.firstname} ${profile.lastname}'). Note: Though referencing context variables in resource bundle parameters is a more common use case, it is also possible to directly type text that should be added to the resource string. The sample below references the "DisputeResponse" message bundle key and passes two parameters values. The parameter values are read from the "disputeid" and "reason" attributes of a data object saved in the "dispute" context variable. disputeresponse: component: "System.Output" text: "${rb('disputeresponse', '${dispute.value.disputeid}', '${dispute.value.reason}')}" transitions: return: "instantappoutput" About auto-translation of Resource Bundles Resource bundles are applied based on the profile.locale or profile.languagetag setting. Content referenced at runtime through parameters is displayed as is. However, if a resource bundle is referenced from an output component that has its translate property set to "true", then the whole resource bundle text will be translated to the user language. So resource bundles can be used in cases where you need strong control over the response message but also want to translate content that id dynamically added, for example information queried from a custom component, What You Should Know About profile.locale and profile.languagetag Component message and label translations, as well as the use of resource bundles, depend on knowing what the user language is. The user language is saved in two profile variables, profile.locale and profile.languagetag. The profile.languagetag variable is set by the System.DetectLanguage component, whereas the messenger client that is used for the bot conversation sets the profile.locale variable. 13

14 What you should know is that you can set the values of the profile variables using the System.SetVariable component. The examples below show the code required to set the value of each of the variables and how to even set the value of one for the other. Example: 1 setlocaletogerman: component: "System.SetVariable" variable: "profile.locale" value: "de" Example: 2 setlanguagetagtogerman: component: "System.SetVariable" variable: "profile.languagetag" value: "de" Example: 3 setlanguagetagtovariablevalue: component: "System.SetVariable" variable: "profile.languagetag" value: "${language_preference_var.value}" Example: 4 setlocaletolanguagetag: component: "System.SetVariable" variable: "profile.locale" value: "${profile.languagetag}" Example: 5 setlanguagetagtolocale: component: "System.SetVariable" variable: "profile.languagetag" value: "${profile.locale}" With this knowledge and the samples it is easy to see how you can implement support for only a choice of languages. You would detect the user language from profile.locale, profile.translatetag or a custom user profile database table to then compare it with a list languages supported by your bot. If the user preferred language does 14

15 not match you can show a list of supported languages for the user to choose from. Once the user selected a language, you set the profile.languagetag to the user selected language. Translation Overview and Comparison Now that you know about all the tools you can use in Oracle Intelligent Bots to build multi language and multi language bots, let s show them in a single view for simple comparison. Component / Feature Description Reads language settings from Requires translation service System.DetectLanguage Detects the user language from user input and sets the language code to the bot internal profile.languagetag variable. NA Yes System.TranslateInput Translates all user input to English. NA Yes You use this component to build multi language bot that use English for the intent resolution. System.TranslateOutput Translates strings to the user preferred language profile.languagetag Yes Resource Bundle Substitutes resource bundle references in component properties with pre-defined translations strings. profile.languagetag profile.locale (second) No Falls back to default language is translation for a language doesn't exist UI component "translate" property Overrides global translation settings. If set to true, leads to labels, titles, descriptions, text and prompts to be translated to user language. profile.languagetag profile.locale (second) Yes Note: Does not translate user input strings Table 2: Translation features overview and the feature's dependency to a translation service Translating Custom Component Responses As a custom component developer you have 3 options available to return information to a user: 15

16 You can store data objects in a context variable, which then is referenced by an output component or system component label or prompt. You can save string messages in a context variable for display by system components like System.Output, System.List, System.CommonResponse or System.TranslateOutput. You can send responses directly to the user, not requiring any help from system components. Storing Data in a Context Variable Custom components that query backend services usually return data in a simple format like text or number, or in a complex format like object or array of objects. If the data queried from a remote backend service requires translation then one option is to save the data in a context variable defined in the bot dialog flow and use the translate property on an output component, or the System.TranslateOutput component, to translate it to the user preferred language. To write data to a context variable you use the following code line within a custom component. conversation.variable('data', dataobject); conversation.transition(); done(); For this code to work, you need to define a context variable with the name "data" of type "string" in the variables section of the dialog flow. data: "string" Hint: Avoid making assumptions about the existing of context variables when developing custom components. We recommend to pass the name of the context variable the component should write the data object to as an input parameter to the custom component. Oracle Intelligent Bots system components don't translate data objects as a whole. To translate data objects stored in a context variable, you reference the context variable including the name of the data object attribute to display and translate. For example, let s assume the data object passed from a custom component to the "data" context variable is {product: "an apple", type: "fruit", origin: "Spain" } You then reference the data object as follows in a System.Output component for translation printproduct: component: "System.Output" Properties: text: "The product in your cart is a ${data.value.type}. It is ${data.value.product} from ${data.value.origin" translate: true If translation service is enabled for the bot then this message gets translated to the user language, including translations of the content of the data object passed from the custom component. 16

17 Saving Messages in a Context Variable The BotML sample below references a custom component in its "initializereceipe" state and passes the name of the variable to hold the component response and the purchaseid as input parameters. Note: It is good programming practice to pass the name of the context variable to hold the component response as an input parameter to the custom component. This ensures that custom components are not dependent on a specific BotML implementation code and remain reusable. To display messages in the detected user language you either use the System.TranslateOutput component or set the translate property on an output component like System.Output or System.CommonResponse, as shown in the "printreceipe" state below initializereceipe: component: "sample.receipe.dataresponse" datavariable: "receipe" purchaseid: "${purchaseid.value} printreceipe: component: "System.Output" text:"${receipe.value}" translate: true The custom component code would look as shown below... invoke: (conversation, done) => { var responsevariable = conversation.properties().datavariable; var purchaseid = conversation.properties().purchaseid; var message = queryremoteserviceforreceipe(purchaseid); conversation.variable(responsevariable, message); conversation.transition(); done(); } If a custom component returns a message in a non-english language that should be processed by the natural language processing engine (NLP) engine, then you use the System.TranslateInput component to translate the message into English before calling System.Intent. translatemessage: component: " System.TranslateInput " source: "variable_populated_by_custom_component" variable: "translationstringvar" getintent: component: "System.Intent" 17

18 variable: "iresult" sourcevariable: "translationstringvar" Sending Responses Directly to the User Without going into a longer discussion of when custom components should write message responses directly to a message channel and when they should save messages or data in a context variable, we simply accept the fact that there are use cases for custom components to be self-contained. Custom components use the conversation.reply() function in the bot custom component SDK to return responses directly to the user. Responses that are directly sent to a user cannot be translated by the translation service feature of Oracle Intelligent Bots and therefore need to be translated by the component before sending them. To translate bot responses sent directly from a custom component, you have two options Call a translation service from the custom component implementation code before sending a message. This option is suitable if the messages are not composed in the custom component but queried from a remote backend. Here auto-translation will help making the strings available in the bot user preferred language. Use message bundles to provide translated responses for the languages you want the bot to support. Message bundles can use placeholders in the translated strings for the custom component to insert data value at runtime. Message bundles in custom components are a viable option if the custom component queries data from a remote service to integrate in a bot response. To know about the user preferred language in the custom component you can either pass the locale as an input parameter to the component or access the profile.locale and profile.languagetag variables from the component as shown below. //detect user locale. If not set, define a default var locale = conversation.variable('profile.locale')? conversation.variable('profile.locale') : 'en'; //when profile languagetag is set, use it. If not, use profile.locale var languagetag = conversation.variable('profile.langagetag')? conversation.variable('profile.langagetag') : locale; Note: We provide a sample that shows a simple solution for using resource bundles in custom component on the Oracle TechExchange blog. 18

19 Translation Strategies and Practices Tooling is not enough for building multi language bots. Without a plan the success of your translations is determined by luck and coincidence. Below are suggestions of good practices we found when working with translation services. Opt-in vs. Opt-out There exist two implementation strategies for adding translations to a bot Disabling auto-translation and selectively enable translation on individual components using the "translate" property (opt-in). Enabling auto-translation so that all content is translated by a translation service except those marked not to be translated (opt-out) Both strategies lead to equally good results. We the authors prefer the opt-in approach to building multi language bots for the following reasons Not all translations are expected be handled by the translation service. Developers will use the resource bundle feature provided by Oracle Intelligent Bots or even create their own, custom component based resource bundle mechanism. When testing bots it is easier to spot if a component is not translated than badly translated. Opt-in allows an incremental approach to adding translations, which we feel give developers more control. Translation opt-out is a good technique for prototyping and layout testing. As many know, German words and sentences are usually longer than the same in English. So to test the bot response layout in German you would use auto-translation and disable translation for some components, which should not have their content translated. Use Resource Bundles for Prompts and Responses It is not only the grammar and the wording you want to be in control of for output messages but also the tone in which things are said. If you are in the banking and insurance business then your business tone most likely is more formal than if you run a radio station. Resource bundles allow you to define the tone and ensure that the language used fits the business. Use Resource Bundles for Content that Should not be Translated What does 'Summer' mean to you? Well, in the US 'Summer' could be both, a time of the season and a female first name. The point is that some words or names need to stand as they are because they reflect names or business terminology. If you enable auto-translation then those strings will be translated with the sentence they are surrounded by. The option for you to choose here is to use Resource bundles and to set the translate property on a component to "false". Resource bundles translate component output based on the following criteria The profile.locale or profile.languagetag variables are set to the user preferred language code A bundle exists for the detected user language 19

20 Using placeholders (e.g. {0}) in the resource bundle text, you can pass content in at runtime. The content that is passed in at runtime will not be translated and thus remains the name or business term you want to display. What if a resource bundle is referenced from a component that has its translate property set to true? In this case all resource bundle content, including the content passed in at runtime, is getting auto-translated. Test Your Translation Service Using backward Translations So what about entity extraction? This indeed is where you need to pay some extra attention. Translation services may not translate a foreign word exactly to the matching English word but to one that is close. Especially business terminology may be subject to an incorrect translation. For example, Google translates the English word "checking", as a bank account type, to "Überprüfung" in German, which is not the proper translation. However, the phrase "checking account" is translated properly to "Girokonto" in German. The term "Giro" entered by a German-speaking user is translated to "giro" instead of checking. However, "Girokonto" gets translated to "checking account", which is correct. As design practices you should therefore consider test the translation service and optionally create synonyms for entity values where the translation service deviates from the expected word. consider "blind testing" testing. The bot developer usually knows about the utterances that were used to train the bot and for this reason is not the best person to test multi-language bots. Good testing aims for the bot to fail, not to succeed. avoid use of abbreviations or slang even if understood in a region. So instead of displaying a list of value with the word "checking" in it, use the words "checking account". The more clues you give for a translation service the better is the quality Whenever there is a fixed set of choice, use lists or card layouts for the user to select from. This allows you to control the input strings to work with. Be Aware of the Limitations of Language Detection The Oracle Intelligent Bots System.DetectLanguage component uses the configured translation service to detect the user language from a sample sentence. While this automatic language detection works well for many languages, you need to be aware of limitations that exist for languages that are closely related. For example, lets consider the Swedish, Danish and Norwegian translation of "Good morning my friend". Swedish: God morgon min vän! Danish: God morgen min ven! Norwegian: God morgen min venn! Imagine the Swedish, Norwegian or Danish sentence to be the sample phrase used for detecting the user languages. Chances are indeed good that the translation service picks the wrong language. In such cases, beside of testing the bot, you may consider to verify the detected language with the user. You could, for example, show a message asking the user to confirm the detected language. Once the user confirms the language, you save the language code to a user scope variable for next time. 20

21 Limit the Set of Languages Supported by a Bot Using a translation service your bot probably understands more languages than you need support for. It is a good practice to limit the bot to the languages you need to support and that you frequently test. If you work with resource bundles then the list of languages should be reduced to those that you have support bundles for. To limit the set of languages for a bot you should implement one of the following approaches Detect a user language and compare it to a list of supported languages. If the language doesn't match a supported language, display a list of supported languages for the user to select from. Based on the userselected language you then set the pofile.languagetag variable. Don't detect the user language at all but have her selecting a preferred language the first time she uses a bot. You then save this information in a database or the user scope so that each time the user accesses the bot the profile.languagetag is set to the preferred language. Save and Remember Consider leveraging user scope variables for language related settings. Save the user detected language in a user scope variable and provide the user an option to reset or change this setting. User variables are created with a "user." Prefix in front of the variable names. User scope variables are not pre-defined in BotML and are created at runtime upon its first use. For example, you can use the following BotML code to save the user detected language: #save detected user language in user scope variable saveuserlanguagestate: component: "System.SetVariable" variable: "user.languagesetting" #access language detected by System.DetectLanguage value: "${profile.languagetag}" Summary This article explored Oracle Intelligent Bots capabilities to leverage translation services for building multi-language bots. It explained the components and configuration, as well as best practices you can use to build a bot that works with and in foreign languages. 21

Using Apache FreeMarker Template Language in BotML

Using Apache FreeMarker Template Language in BotML Oracle Intelligent Bots TechExchange Article. Using Apache FreeMarker Template Language in BotML Frank Nimphius, January 2018 As a bot designer, how do you deal with the problem of users providing a "Yes"

More information

Oracle Digital Assistant: Strategies for Escaping the Validation Loop

Oracle Digital Assistant: Strategies for Escaping the Validation Loop Oracle Digital Assistant TechExchange Article. Oracle Digital Assistant: Strategies for Escaping the Validation Loop Frank Nimphius, February 2019 Dialog flows in Oracle Digital Assistant intelligently

More information

How-to Build Card Layout Responses from Custom Components

How-to Build Card Layout Responses from Custom Components Oracle Intelligent Bots TechExchange Article. How-to Build Card Layout Responses from Custom Components Frank Nimphius, June 2018 Using the Common Response component (CR component) in Oracle Intelligent

More information

Exsys RuleBook Selector Tutorial. Copyright 2004 EXSYS Inc. All right reserved. Printed in the United States of America.

Exsys RuleBook Selector Tutorial. Copyright 2004 EXSYS Inc. All right reserved. Printed in the United States of America. Exsys RuleBook Selector Tutorial Copyright 2004 EXSYS Inc. All right reserved. Printed in the United States of America. This documentation, as well as the software described in it, is furnished under license

More information

Shopping Cart: Queries, Personalizations, Filters, and Settings

Shopping Cart: Queries, Personalizations, Filters, and Settings Shopping Cart: Queries, Personalizations, Filters, and Settings on the Shopping Cart Home Page Use this Job Aid to: Learn how to organize the Shopping Cart home page so that it is easier to use. BEFORE

More information

Oracle Warehouse Builder 10g Runtime Environment, an Update. An Oracle White Paper February 2004

Oracle Warehouse Builder 10g Runtime Environment, an Update. An Oracle White Paper February 2004 Oracle Warehouse Builder 10g Runtime Environment, an Update An Oracle White Paper February 2004 Runtime Environment, an Update Executive Overview... 3 Introduction... 3 Runtime in warehouse builder 9.0.3...

More information

Authoring Business Rules in IBM Case Manager 5.2

Authoring Business Rules in IBM Case Manager 5.2 Authoring Business Rules in IBM Case Manager 5.2 Create and use text-based rules and tablebased business rules in IBM Case Manager 5.2 This article covers creating Business Rules in IBM Case Manager, the

More information

ADF Mobile Code Corner

ADF Mobile Code Corner ADF Mobile Code Corner m03. Abstract: Dependent lists is a common functional requirement for web, desktop and also mobile applications. You can build dependent lists from dependent, nested, and from independent,

More information

Integration Service. Admin Console User Guide. On-Premises

Integration Service. Admin Console User Guide. On-Premises Kony MobileFabric TM Integration Service Admin Console User Guide On-Premises Release 7.3 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and

More information

Getting Started Reliance Communications, Inc.

Getting Started Reliance Communications, Inc. Getting Started Reliance Communications, Inc. 603 Mission Street Santa Cruz, CA 95060 888-527-5225 www.schoolmessenger.com Contents Before you Begin... 3 Bookmark Your Login Page... 3 Setting your Password...

More information

CS103 Spring 2018 Mathematical Vocabulary

CS103 Spring 2018 Mathematical Vocabulary CS103 Spring 2018 Mathematical Vocabulary You keep using that word. I do not think it means what you think it means. - Inigo Montoya, from The Princess Bride Consider the humble while loop in most programming

More information

MAVEN INTERVIEW QUESTIONS

MAVEN INTERVIEW QUESTIONS MAVEN INTERVIEW QUESTIONS http://www.tutorialspoint.com/maven/maven_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Maven Interview Questions have been designed specially to get

More information

Watson Conversation Cheat Sheet

Watson Conversation Cheat Sheet Watson Conversation Cheat Sheet This cheat sheet assumes a Watson Conversation Service and a Conversation Workspace have been created and you can access the service. Open the service and click the Launch

More information

Oracle Adapter for Salesforce Lightning Winter 18. What s New

Oracle Adapter for Salesforce Lightning Winter 18. What s New Oracle Adapter for Salesforce Lightning Winter 18 What s New TABLE OF CONTENTS REVISION HISTORY... 3 OVERVIEW... 4 RELEASE FEATURE SUMMARY... 5 PRE-UPGRADE CONSIDERATIONS... 6 POST-UPGRADE REQUIREMENTS...

More information

CSCI 161: Introduction to Programming I Lab 1b: Hello, World (Eclipse, Java)

CSCI 161: Introduction to Programming I Lab 1b: Hello, World (Eclipse, Java) Goals - to learn how to compile and execute a Java program - to modify a program to enhance it Overview This activity will introduce you to the Java programming language. You will type in the Java program

More information

User Manual - Contractors

User Manual - Contractors www.gfi.be www.gfi.be User Manual - Contractors Contractors Portal Total Created for: Total Date: 23/03/2015 Version: 1.1 1. Document Management Revision history Version Date Object Updated by 1.0 06/02/2015

More information

The Definitive Guide to Office 365 External Sharing. An ebook by Sharegate

The Definitive Guide to Office 365 External Sharing. An ebook by Sharegate The Definitive Guide to Office 365 External Sharing An ebook by Sharegate The Definitive Guide to External Sharing In any organization, whether large or small, sharing content with external users is an

More information

PEGACUIS71V1 pegasystems

PEGACUIS71V1 pegasystems PEGACUIS71V1 pegasystems Number: PEGACUIS71V1 Passing Score: 800 Time Limit: 120 min Exam A QUESTION 1 Which of the following rule types does the Localization wizard translate? (Choose Two) A. Field Value

More information

COPYRIGHTED MATERIAL. Starting Strong with Visual C# 2005 Express Edition

COPYRIGHTED MATERIAL. Starting Strong with Visual C# 2005 Express Edition 1 Starting Strong with Visual C# 2005 Express Edition Okay, so the title of this chapter may be a little over the top. But to be honest, the Visual C# 2005 Express Edition, from now on referred to as C#

More information

Major League Baseball Club Accreditation System

Major League Baseball Club Accreditation System Functional Specifications User Guide System Administrator Major League Baseball Club Accreditation System Club Accreditation User Guide System Administrator - v1.4 Page 1 Date Versio n Revision History

More information

Accessible PDF Documents with Adobe Acrobat 9 Pro and LiveCycle Designer ES 8.2

Accessible PDF Documents with Adobe Acrobat 9 Pro and LiveCycle Designer ES 8.2 Accessible PDF Documents with Adobe Acrobat 9 Pro and LiveCycle Designer ES 8.2 Table of Contents Accessible PDF Documents with Adobe Acrobat 9... 3 Application...3 Terminology...3 Introduction...3 Word

More information

Hotmail Documentation Style Guide

Hotmail Documentation Style Guide Hotmail Documentation Style Guide Version 2.2 This Style Guide exists to ensure that there is a consistent voice among all Hotmail documents. It is an evolving document additions or changes may be made

More information

Introduction to the Internet. Part 1. What is the Internet?

Introduction to the Internet. Part 1. What is the Internet? Introduction to the Internet Part 1 What is the Internet? A means of connecting a computer to any other computer anywhere in the world via dedicated routers and servers. When two computers are connected

More information

With IBM BPM 8.5.5, the features needed to express both BPM solutions and case management oriented solutions comes together in one offering.

With IBM BPM 8.5.5, the features needed to express both BPM solutions and case management oriented solutions comes together in one offering. Case Management With the release of IBM BPM 8.5.5, case management capabilities were added to the product. It must be noted that these functions are only available with IBM BPM Advanced and the Basic Case

More information

INBUSINESS BANKING SYSTEM

INBUSINESS BANKING SYSTEM Introducing your new INBUSINESS BANKING SYSTEM Companion Guide to Business Banking Video Tutorials Updated 0.09.8 WELCOME TO THE INBUSINESS SYSTEM The InBusiness System will help you efficiently and securely

More information

Digital control options for adjustable beds. Adjust your bed with a mobile device LINAK.COM/HOMELINE

Digital control options for adjustable beds. Adjust your bed with a mobile device LINAK.COM/HOMELINE Digital control options for adjustable beds Adjust your bed with a mobile device LINAK.COM/HOMELINE Join our digital journey It is a fact that nowadays a phone is the remote to your life. So why not let

More information

Internationalization Guide. i-net Designer

Internationalization Guide. i-net Designer Guide i-net Designer 1 Introduction... 2 2 How are reports localized?... 2 2.1 Individual (report-based) translations... 4 2.1.1 Via i-net Designer... 4 2.1.2 Via API... 6 2.2 Resource Bundles for multiple

More information

Oracle. Engagement Cloud Using Service Request Management. Release 12

Oracle. Engagement Cloud Using Service Request Management. Release 12 Oracle Engagement Cloud Release 12 Oracle Engagement Cloud Part Number E73284-05 Copyright 2011-2017, Oracle and/or its affiliates. All rights reserved. Author: Joseph Kolb This software and related documentation

More information

11 MOST COMMON MARKETING BLUNDERS AND HOW TO OVERCOME THEM

11 MOST COMMON  MARKETING BLUNDERS AND HOW TO OVERCOME THEM GOOGLE WEBMASTER TOOLS GETS A NEW NAME GOOGLE SEARCH CONSOLE GOOGLE WEBMASTER TOOLS REPLACES SEARCH QUERIES WITH SEARCH ANALYTICS REPORT GOOGLE TESTING "VALUE ALERT" NOTICE IN GOOGLE SHOPPING ADS PROMOTED

More information

Making you aware. CS577a 17Fall Team 04

Making you aware. CS577a 17Fall Team 04 1 Making you aware CS577a 17Fall Team 04 2 :.: Outline 1. Operational Concept Overview 2. UI Demo 3. Test Cases and Results 4. Quality Focal Point 5. Transition Plan 3 :.: Operational Concept Overview

More information

5 MANAGING USER ACCOUNTS AND GROUPS

5 MANAGING USER ACCOUNTS AND GROUPS MANAGING USER ACCOUNTS AND GROUPS.1 Introduction to user accounts Objectives.2 Types of User Accounts.2.1 Local User Account.2.2 Built-in User Account.2.3 Domain User Account.3 User Profile.3.1 Content

More information

Searching Guide. September 16, Version 9.3

Searching Guide. September 16, Version 9.3 Searching Guide September 16, 2016 - Version 9.3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

More information

Oracle Cloud. Content and Experience Cloud ios Mobile Help E

Oracle Cloud. Content and Experience Cloud ios Mobile Help E Oracle Cloud Content and Experience Cloud ios Mobile Help E82090-01 February 2017 Oracle Cloud Content and Experience Cloud ios Mobile Help, E82090-01 Copyright 2017, 2017, Oracle and/or its affiliates.

More information

Introduction. Watch the video below to learn more about getting started with PowerPoint. Getting to know PowerPoint

Introduction. Watch the video below to learn more about getting started with PowerPoint. Getting to know PowerPoint PowerPoint 2016 Getting Started With PowerPoint Introduction PowerPoint is a presentation program that allows you to create dynamic slide presentations. These presentations can include animation, narration,

More information

OPEN THE HOTLINE CLIENT

OPEN THE HOTLINE CLIENT OPEN THE HOTLINE CLIENT Everything in the Hotline universe starts with the Client Toolbar; it launches all of the Client s major functions. 1 Double-click the Hotline icon on your desktop. The Hotline

More information

(Photos and Instructions Based on Microsoft Outlook 2007, Gmail, Yahoo! Mail, and Hotmail)

(Photos and Instructions Based on Microsoft Outlook 2007, Gmail, Yahoo! Mail, and Hotmail) Specific instructions on how to compose a professional e-mail using send and reply options, basic e-mail components, appropriate wording, content, tone, and examples of what not to do. (Photos and Instructions

More information

Harvard Phone. Introduction to Contact Center CONTACT CENTER CLIENT QUICK REFERENCE QUIDE

Harvard Phone. Introduction to Contact Center CONTACT CENTER CLIENT QUICK REFERENCE QUIDE Introduction to Contact Center Interaction Desktop is an interaction and communications manager for desktop or laptop PCs, and offers more functionality than your office telephone. Use it to manage all

More information

Bots. Table of Contents

Bots. Table of Contents Bots 101 Table of Contents What is a bot?.... 2 How are bots different than apps?... 2 What makes a bot intelligent?... 3 How do I engage with a bot?.... 5 How can bots help my business?.... 6 Bot benefits...

More information

The Jobseeker's Guide to Using the Preptel Resumeter

The Jobseeker's Guide to Using the Preptel Resumeter The Jobseeker's Guide to Using the Preptel Resumeter By Joellyn Wittenstein Schwerdlin Certified Career Management Coach http://www.career-success-coach.com joellyn@career-success-coach.com Phone: 508-459-2854

More information

Relay For Life Fundraising

Relay For Life Fundraising Relay For Life Fundraising The Art and Science of Asking for Donations Relay For Life Online Committee Table of Contents TABLE OF CONTENTS... 2 INTRODUCTION... 3 THE ART OR HUMAN SIDE OF ASKING... 4 THERE

More information

OTRS Quick Reference

OTRS Quick Reference OTRS Quick Reference WWW.IXIASOFT.COM / OTRS / Copyright 2015 IXIASOFT Technologies. All rights reserved. Last revised: March 02, 2015 2 OTRS Quick Reference Table of contents Using OTRS OTRS overview

More information

RolePoint Apply. Product Overview.

RolePoint Apply. Product Overview. RolePoint Apply Product Overview www.rolepoint.com Contents Introduction High Level Architecture Building an Apply Process - Creating an Account - Building Process - Preview Jobs Managing Your RolePoint

More information

GSCCCA Notary Online. User Manual

GSCCCA Notary Online. User Manual GSCCCA Notary Online User Manual Created By: Richard McPhaul Last Edited: November 2, 2009 History and Overview of Notary Online The Notary Online program is a voluntary program developed by the GSCCCA

More information

Symplicity Employer Manual

Symplicity Employer Manual Symplicity Employer Manual Your Account We have already set you up with an account in Symplicity. Each contact person within your organization may set up a separate account and all information pertaining

More information

Team Manatee Group Heuristic Evaluation

Team Manatee Group Heuristic Evaluation Team Manatee Group Heuristic Evaluation by Andy Barry, Greg Marra, Brad Powers, Will Yarak. Identified Issues Team Manatee's prototype performs well in the given scenarios but still has a number of major

More information

Switchvox PBX User Manual

Switchvox PBX User Manual Switchvox PBX User Manual Welcome to the Switchvox PBX, the worlds most powerful, yet easy to configure IP- PBX on the market today. We have tried to make all the operations you do often easy to use and

More information

The first program: Little Crab

The first program: Little Crab Chapter 2 The first program: Little Crab topics: concepts: writing code: movement, turning, reacting to the screen edges source code, method call, parameter, sequence, if-statement In the previous chapter,

More information

Integration Service. Admin Console User Guide. On-Premises

Integration Service. Admin Console User Guide. On-Premises Kony Fabric Integration Service Admin Console User Guide On-Premises Release V8 SP1 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the

More information

ABOUT RATZ PACK MEDIA

ABOUT RATZ PACK MEDIA ABOUT RATZ PACK MEDIA With years of experience working in online marketing Azriel Ratz saw that too many businesses focused on the wrong things when getting into the industry. Most agencies focus on racking

More information

Visual Workflow Implementation Guide

Visual Workflow Implementation Guide Version 30.0: Spring 14 Visual Workflow Implementation Guide Note: Any unreleased services or features referenced in this or other press releases or public statements are not currently available and may

More information

UXD. using the elements: structure

UXD. using the elements: structure using the elements: structure defining structure you are here structure essentially defines how users get to a given screen and where they can go when they re done. structure also defines categories of

More information

R EIN V E N TIN G B U S I N E S S I L E M A. MARK5 Basic guide. - All rights reserved

R EIN V E N TIN G B U S I N E S S I L E M A. MARK5 Basic guide.   - All rights reserved R EIN V E N TIN G B U S I N E S S I L E M A MARK5 Basic guide 0.0 Welcome In this brief guide we will cover the basics of MARK5 such as starting up, understanding the MARK5 interface basics and sending

More information

User Guide HWeb Agent

User Guide HWeb Agent Table of Contents OVERVIEW... 1 GENERAL KEYBOARD NAVIGATION TOOLS... 2 FREQUENTLY USED HOT KEYS... 2 BASIC TERMS... 2 ENTERING A NEW RESERVATION... 2 CHECK PRICE AND AVAILABILITY... 3 ADDITIONAL AGENT

More information

TABLE OF CONTENTS DOCUMENT HISTORY

TABLE OF CONTENTS DOCUMENT HISTORY TABLE OF CONTENTS DOCUMENT HISTORY 4 UPDATE 18B 4 Revision History 4 Overview 5 Feature Summary 6 Application Security 9 Link Standalone User Accounts to Person Records on the Create User Page 9 Securing

More information

BE Share. Microsoft Office SharePoint Server 2010 Basic Training Guide

BE Share. Microsoft Office SharePoint Server 2010 Basic Training Guide BE Share Microsoft Office SharePoint Server 2010 Basic Training Guide Site Contributor Table of Contents Table of Contents Connecting From Home... 2 Introduction to BE Share Sites... 3 Navigating SharePoint

More information

2012 Microsoft Corporation. All rights reserved. Microsoft, Active Directory, Excel, Lync, Outlook, SharePoint, Silverlight, SQL Server, Windows,

2012 Microsoft Corporation. All rights reserved. Microsoft, Active Directory, Excel, Lync, Outlook, SharePoint, Silverlight, SQL Server, Windows, 2012 Microsoft Corporation. All rights reserved. Microsoft, Active Directory, Excel, Lync, Outlook, SharePoint, Silverlight, SQL Server, Windows, Windows Server, and other product names are or may be registered

More information

Business Letter. Assignment

Business Letter. Assignment Assignment 2 Business Letter Sometimes you need to communicate a message to a superior or authority figure with whom you do not have an informal relationship. For the purpose of this lesson, we draft a

More information

Access Intermediate

Access Intermediate Access 2013 - Intermediate 103-134 Advanced Queries Quick Links Overview Pages AC124 AC125 Selecting Fields Pages AC125 AC128 AC129 AC131 AC238 Sorting Results Pages AC131 AC136 Specifying Criteria Pages

More information

Customize Your Application

Customize Your Application Customize Your Application Pega Customer Service 7.4 April 2018 Core features for initial implementation (approximately 8-10 weeks) Stated durations are estimates, and assume that installation tasks are

More information

Section 2. Sending s

Section 2. Sending  s Start IT (itq) Using E-mail Section 2 Sending E-mails Topics contained within this section: Composing E-mail Using Addressing Using Spell Checking Sending Messages Understanding Guidelines Outlook 2007

More information

PEOPLEADMIN USER S GUIDE. Sam Houston State University

PEOPLEADMIN USER S GUIDE. Sam Houston State University PEOPLEADMIN USER S GUIDE Sam Houston State University Revised 05/2015 PeopleAdmin, Inc. 816 Congress Avenue Suite 1800 Austin, TX 78701 TABLE OF CONTENTS INTRODUCTION... 5 GETTING STARTED... 6 SYSTEM

More information

Top Producer 7i Tips & Tricks Volume 1

Top Producer 7i Tips & Tricks Volume 1 Top Producer 7i Tips & Tricks Volume 1 TOP PRODUCER Systems Inc. 1 Table of Contents 1 Using Quick Action Commands...3 1.1 Use the Commands Instead of the Menu s...3 2 Scrolling Within a Long List...5

More information

InForm Functionality Reference Manual for Sites. Version 1.0

InForm Functionality Reference Manual for Sites. Version 1.0 InForm Functionality Reference Manual for Sites Version 1.0 1-Mar-2012 2012 by Merck & Co., Inc., Whitehouse Station, New Jersey, USA All Rights Reserved No part of this book may be reproduced in any form

More information

Alfresco Voice Writing for the user interface

Alfresco Voice Writing for the user interface Alfresco Voice Writing for the user interface One day I will find the right words, and they will be simple. Jack Kerouac Contents Writing Tone - how to write Language - what to write Capitalization Abbreviations

More information

Akeneo PIM Enterprise Edition 1.6

Akeneo PIM Enterprise Edition 1.6 Release Notes User guides on http://www.akeneo.com/doc/user-guide/ Akeneo PIM Enterprise Edition 1.6 Summary Excel, please meet Akeneo. Akeneo, this is Excel...2 Only XLSX? Come on! As Julia, I want to

More information

Learning and Development. UWE Staff Profiles (USP) User Guide

Learning and Development. UWE Staff Profiles (USP) User Guide Learning and Development UWE Staff Profiles (USP) User Guide About this training manual This manual is yours to keep and is intended as a guide to be used during the training course and as a reference

More information

Proofwriting Checklist

Proofwriting Checklist CS103 Winter 2019 Proofwriting Checklist Cynthia Lee Keith Schwarz Over the years, we ve found many common proofwriting errors that can easily be spotted once you know how to look for them. In this handout,

More information

HTML/CSS Lesson Plans

HTML/CSS Lesson Plans HTML/CSS Lesson Plans Course Outline 8 lessons x 1 hour Class size: 15-25 students Age: 10-12 years Requirements Computer for each student (or pair) and a classroom projector Pencil and paper Internet

More information

Hello World! Computer Programming for Kids and Other Beginners. Chapter 1. by Warren Sande and Carter Sande. Copyright 2009 Manning Publications

Hello World! Computer Programming for Kids and Other Beginners. Chapter 1. by Warren Sande and Carter Sande. Copyright 2009 Manning Publications Hello World! Computer Programming for Kids and Other Beginners by Warren Sande and Carter Sande Chapter 1 Copyright 2009 Manning Publications brief contents Preface xiii Acknowledgments xix About this

More information

Website/Blog Admin Using WordPress

Website/Blog Admin Using WordPress Website/Blog Admin Using WordPress Table of Contents How to login... 2 How to get support... 2 About the WordPress dashboard... 3 WordPress pages vs posts... 3 How to add a new blog post... 5 How to edit

More information

How to post a job on Inside Higher Ed

How to post a job on Inside Higher Ed How to post a job on Inside Higher Ed Start at careers.insidehighered.com. Click the Post Jobs link in the top section. If you ve already registered your recruiter account, log in now using the pop-up

More information

Running and Debugging Custom Components Locally

Running and Debugging Custom Components Locally Oracle Intelligent Bots TechExchange Sample. Running and Debugging Custom Components Locally Martin Deh, May 2018 With Oracle Intelligent Bots, each state in the dialog flow invokes a component to perform

More information

Basics. Setting up an Account. Inbox. Your inbox is your starting place when you open your . Your inbox contains all the s that have

Basics. Setting up an Account. Inbox. Your inbox is your starting place when you open your  . Your inbox contains all the  s that have Email Basics Welcome to Email Basics. Today we will be covering how to send an email, how to add attachments, how to reply or forward an email, and how to use the different folders in your email account.

More information

STUDY NOTES UNIT 1 - INTRODUCTION TO OBJECT ORIENTED PROGRAMMING

STUDY NOTES UNIT 1 - INTRODUCTION TO OBJECT ORIENTED PROGRAMMING OBJECT ORIENTED PROGRAMMING STUDY NOTES UNIT 1 - INTRODUCTION TO OBJECT ORIENTED PROGRAMMING 1. Object Oriented Programming Paradigms 2. Comparison of Programming Paradigms 3. Basic Object Oriented Programming

More information

Tags, Categories and Keywords

Tags, Categories and Keywords Tags, Categories and Keywords Document Management Tip Sheet As more and more content gets added to your repository, it will become harder to find what you need. Documents may become buried in multi-level

More information

ADF Code Corner. 048-How-to build XML Menu Model based site menus and how to protect them with ADF Security and JAAS. Abstract:

ADF Code Corner. 048-How-to build XML Menu Model based site menus and how to protect them with ADF Security and JAAS. Abstract: ADF Code Corner 048-How-to build XML Menu Model based site menus and Abstract: There are different types of menus you can use within an application: breadcrumbs, to navigate a process within unbounded

More information

Enhancing applications with Cognitive APIs IBM Corporation

Enhancing applications with Cognitive APIs IBM Corporation Enhancing applications with Cognitive APIs After you complete this section, you should understand: The Watson Developer Cloud offerings and APIs The benefits of commonly used Cognitive services 2 Watson

More information

FINRA DR Portal. User Guide for Arbitration and Mediation Case Participants

FINRA DR Portal. User Guide for Arbitration and Mediation Case Participants FINRA DR Portal for Arbitration and Mediation Case Participants April 2014 Disclaimer These materials are for training and instructional purposes only. No part of this publication may be reproduced, stored

More information

CAREER SERVICES MANAGER, Powered by Symplicity STUDENT AND ALUMNI INSTRUCTION MANUAL

CAREER SERVICES MANAGER, Powered by Symplicity STUDENT AND ALUMNI INSTRUCTION MANUAL CAREER SERVICES MANAGER, Powered by Symplicity STUDENT AND ALUMNI INSTRUCTION MANUAL HOME TAB Log in at https://law-hamline-csm.symplicity.com/students/. Students For students, your login is your email

More information

Troubleshooting. EAP-FAST Error Messages CHAPTER

Troubleshooting. EAP-FAST Error Messages CHAPTER CHAPTER 6 This chapter describes EAP-FAST error messages. This chapter also provides guidelines for creating strong passwords. The following topics are covered in this chapter:, page 6-1 Creating Strong

More information

Assurance Enhancements for the Shibboleth Identity Provider 19 April 2013

Assurance Enhancements for the Shibboleth Identity Provider 19 April 2013 Assurance Enhancements for the Shibboleth Identity Provider 19 April 2013 This document outlines primary use cases for supporting identity assurance implementations using multiple authentication contexts

More information

PERSONIFY: GETTING STARTED MANUAL

PERSONIFY: GETTING STARTED MANUAL Personify Standard Operating Procedures PERSONIFY: GETTING STARTED MANUAL Associated Builders and Contractors... by Pearl Lewis This guide has been created to assist you with the transition from your Access

More information

User s Guide for Suppliers

User s Guide for Suppliers Streamline Collaborate Take Control User s Guide for Suppliers Powered by Johnson & Johnson Global Translation Center Contents Terminology... 1 Conventions... 1 Mandatory vs. Optional Fields... 1 Button

More information

Outlook Integration Guide

Outlook Integration Guide PracticeMaster Outlook Integration Guide Copyright 2012-2015 Software Technology, Inc. 1621 Cushman Drive Lincoln, NE 68512 (402) 423-1440 Tabs3.com Tabs3, PracticeMaster, and the "pinwheel" symbol ( )

More information

Introduction to

Introduction to Introduction to Email gcflearnfree.org/print/email101/introduction-to-email Introduction Do you ever feel like the only person who doesn't use email? You don't have to feel left out. If you're just getting

More information

L.S.A.T. Auto-Analysis User Guide

L.S.A.T. Auto-Analysis User Guide L.S.A.T. Auto-Analysis User Guide Congratulations! You now have access to the LSAT Auto-Analysis Program, the most advanced, comprehensive, and easy-to-use statement analysis application available on-line.

More information

Dreamweaver is a full-featured Web application

Dreamweaver is a full-featured Web application Create a Dreamweaver Site Dreamweaver is a full-featured Web application development tool. Dreamweaver s features not only assist you with creating and editing Web pages, but also with managing and maintaining

More information

Implementing Web Content

Implementing Web Content Implementing Web Content Tonia M. Bartz Dr. David Robins Individual Investigation SLIS Site Redesign 6 August 2006 Appealing Web Content When writing content for a web site, it is best to think of it more

More information

1094C/1095C Processing Manual

1094C/1095C Processing Manual Terminology Configurations 1094C/1095C Processing Manual Setup/Preparation Step 1: Create/Save the Communications Test Files in Skyward PaC Step 2: Upload the Communications Test Files on the IRS AIR Website

More information

Working with the website editor...5. Editing page properties Creating a new page Adding and editing content records...

Working with the website editor...5. Editing page properties Creating a new page Adding and editing content records... About this guide...3 About the structure of web pages in typo3...4 The outer template...4 The page record...4 Page content records...4 Access to editing and publishing records...4 Working with the website

More information

Lecture 05 I/O statements Printf, Scanf Simple statements, Compound statements

Lecture 05 I/O statements Printf, Scanf Simple statements, Compound statements Programming, Data Structures and Algorithms Prof. Shankar Balachandran Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture 05 I/O statements Printf, Scanf Simple

More information

Sample A2J Guided Interview & HotDocs Template Exercise

Sample A2J Guided Interview & HotDocs Template Exercise Sample A2J Guided Interview & HotDocs Template Exercise HotDocs Template We are going to create this template in HotDocs. You can find the Word document to start with here. Figure 1: Form to automate Converting

More information

Chat Reference Assignment

Chat Reference Assignment REFERENCE & INFORMATION RESOURCES & SERVICES ILS 504-70 Fall Dr. Clara Ogbaa Chat Reference Assignment Lucinda D. Mazza CHAT REFERENCE ASSIGNMENT 2 Chat Reference Assignment When first starting this assignment,

More information

Better Translation Technology. XTM Connect for WordPress

Better Translation Technology. XTM Connect for WordPress Better Translation Technology XTM Connect for WordPress Documentation for XTM Connect for WordPress. Published by XTM International Ltd. Copyright XTM International Ltd. All rights reserved. No part of

More information

SCC Banner 9 Admin Pages Navigation Guide

SCC Banner 9 Admin Pages Navigation Guide SCC Banner 9 Admin Pages Navigation Guide 1 Contents Introduction.. 3 Using Banner 9..... 4 Application Navigator.. 5 Basic Navigation.. 7 Page Header. 7 Page Footer.. 8 Key Block 9 Sections.. 10 Bottom

More information

Accounts and Passwords

Accounts and Passwords Accounts and Passwords Hello, I m Kate and we re here to learn how to set up an account on a website. Many websites allow you to create a personal account. Your account will have its own username and password.

More information

Oracle Mobile Cloud, Enterprise

Oracle Mobile Cloud, Enterprise Oracle Mobile Cloud, Enterprise More than 50% of the world s population now carries a smartphone. Mobile is everywhere and continues to be the dominant way we consume information and services, but mobile

More information

Advanced Training Guide

Advanced Training Guide Advanced Training Guide West Corporation 100 Enterprise Way, Suite A-300 Scotts Valley, CA 95066 800-920-3897 www.schoolmessenger.com Contents Before you Begin... 4 Advanced Lists... 4 List Builder...

More information

COMMUNICATE. Advanced Training. West Corporation. 100 Enterprise Way, Suite A-300. Scotts Valley, CA

COMMUNICATE. Advanced Training. West Corporation. 100 Enterprise Way, Suite A-300. Scotts Valley, CA COMMUNICATE Advanced Training West Corporation 100 Enterprise Way, Suite A-300 Scotts Valley, CA 95066 800-920-3897 www.schoolmessenger.com Contents Before you Begin... 4 Advanced Lists... 4 List Builder...

More information

Amber DrupalCon Vienna September 2017

Amber DrupalCon Vienna September 2017 Get Started with Voice User Interfaces Amber Matz @amberhimesmatz DrupalCon Vienna September 2017 About Me Amber Matz Production Manager and Trainer Drupalize.Me Twitter: @amberhimesmatz Drupalize.Me big

More information