Skill - Translation

Skill Type

Pre-Post Process

Overview

This skill allows end-users to interact with the Digital Person in a different language than the corpus is written in. This Skill can function as a pre-processor (translating user language into corpus language), a post-processor (translating corpus output back into user language), or both. This requires a Microsoft Cognitive Services key, for more information, see Create a Translator resource.

This Skill is:

  • Built and owned by Soul Machines Ltd.

  • Powered by the Microsoft Azure Cognitive Services

Limitation

Demo Video

https://drive.google.com/file/d/1FRCscHS4OZBXdWIwnmE75iLfzvgXEnIz/view?usp=sharing

Translation Skill Demo

Configurations

Refer to Creating a Project | 3. Connect conversation and add skills for detailed instructions on adding Skills to your project. Provide the following information in the Translation Skill configuration screen:

Translation Skill Configuration

Field

Type

Description

Microsoft Cognitive API KEY

required

TEXT

Enter your Microsoft Translator API Key.

Region the Microsoft Cognitive Service is Deployed to
required

TEXT

 

Resource Region. This should match the Microsoft Translator set up, see step 6 below.

Options are global and westUS2, with global being the default.

Two-letter Code for the End User Language

required

TEXT

Enter the two-letter code of the language the end-users are expected to speak. ISO language codes can be found here https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes.

Two-letter Code for the Corpus Language

required

TEXT

Specify the language code of the corpus. By default, this is set to English (en).

Obtaining Microsoft Translator API Key

The Translation Skill utilizes Microsoft Cognitive API to power the translations. To use this skill you will need to obtain an API key from Microsoft. These keys are free at the time of this document for up to 2M characters translated per month, but it is highly recommended to get a paid account so the skill will not stop working unexpectedly. To get an API key, do the following:

  1. Visit https://azure.microsoft.com/en-us/free/cognitive-services/

  2. Click on the Pay as you go link (or Start Free if you want to try a limited use access)

  3. Either sign in if you already have a Microsoft account or click Create One

  4. Create a subscription (if you don’t already have one)

  5. Once you’ve created the subscription, you should be at the screen that shows services. Click the All Services link (or go to https://portal.azure.com/#allservices) and choose Cognitive Services from the list (It should take you here: https://portal.azure.com/#blade/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/overview)

  6. From there, click Translator and click +Create

    1. From the subscription, pick one (Development, Production, Sandbox)

    2. For the region, Choose Global

    3. For the Name, give it something unique, keeping in mind it will form part of a URL so can not have spaces or special characters. “sm-translation-service” for example

  7. Once the resource is created, select it

  8. Go to Keys and Endpoint from the left NAV window and you can see the APIs keys, region, and endpoint.

Supported Languages

  • Works best with STT supported languages. The STT, TTS, and the language code in the translator skill must be the same.

  • For best results, please choose languages that Soul Machines officially supports with Lip Sync.

Limitations

  • This skill relies on machine translation and may make grammatical or linguistic mistakes. This can also cause some skills to not behave as expected as the skill routing is based around trained phrases in the corpus language (English for all current cases)

  • Most proper names such as “Wolfram Alpha” do not have a direct translation, so may appear unaltered in the output

  • This skill does not work with certain skills that rely on replying with a specific language in mind such as Skill - Spelling. For example, If you ask to spell some word in a non-corpus language, your request will get translated to English first, the Spelling skill will spell the translated word (in English), then the output is translated back to the user’s language. The spelled word will still be English