Dialogue Cloud

How to configure transcription in Plugin Framework

Note: This feature is only available to Enterprise Plus License users.

Note: Available in Core 8.0 or higher.

Introduction

The transcription feature allows transcribe conversion for customer voice/spoken dialogues in our Plugin Framework. Anywhere365 Dialogue Studio in combination with transcription, can be used to write the text to CRM Customer Relationship Management, or CRM, is (usually) a software-based, data management method to deal with interactions with customers and potential customers. or a database.

 

Requirements

  • Core v 8.0 or higher

  • SharePoint Template 6.0 or higher

  • Google Cloud, with "Cloud Speech-to-Text API" enabled and json credentials

 

​​Transcription in Plugin Framework

There are a few settings required t​o allow plugins to use transcription functionalities. First two optional settings can be set in the general SharePoint UCC A Unified Contact Center, or UCC, is a queue of interactions (voice, email, IM, etc.) that are handled by Agents. Each UCC has its own settings, IVR menus and Agents. Agents can belong to one or several UCCs and can have multiple skills (competencies). An UCC can be visualized as a contact center “micro service”. Customers can utilize one UCC (e.g. a global helpdesk), a few UCC’s (e.g. for each department or regional office) or hundreds of UCC’s (e.g. for each bed at a hospital). They are interconnected and can all be managed from one central location. Setting list and allow transcribed text to be written to the general UCC log file for developer debug reasons. The other settings are plugin specific and go into the "Plugin Settings" list. See table below.

Settings

Setting

​Description

​Example value

​EnableTranscriptLogging

​Enables the visibility of the transcripted text in the logs. This setting can impact privacy and should only be set to true for debugging purposes.

​True

default: False

​EnableTranscriptIntermediateLogging

​Enables logging of intermediate results. Some transcriptors are able to provide incomplete results while listening. When this setting is set to True all intermediate results are written to the log. When set to False it will only log final messages. This setting only has effect when EnableTranscriptLogging is set to True.

​True

default: False

 

Plugin Settings

Setting

​Description

​Example value

Scope

​PluginPath

​Full path to the dll of the transcriptor plugin.

C:\Program Files\Anywhere365\Core\uccplugins\Wsp.Anywhere365.SpeechToTextEngine.Impl.GoogleSpeech\Wsp.Anywhere365.SpeechToTextEngine.Impl.GoogleSpeech.dll

​Transcriptor​​​​

Note: Since 8.0 these are bundled with the Core installer in the uccplugins folder.

 

​​​Plugin specific settings

​​​​Google Speech

To setup Google Cloud follow this guide: https://cloud.google.com/speech-to-text/docs/quickstart-client-libraries​.

Make sure the "Cloud Speech-to-Text API" is enabled.

The following settings need to be added in the "pluginsettings" list.

​Setting​​

​Description

Scope

​GoogleCredentialJson

​​The plain text JSON of the credential. Do not enter the path to the file, but the content of the file.

Transcriptor

Proxy server with Google Speech

To use a proxy server with Google Speech you will need to add an Environment Variable to your system (not to user only). Add the variable http_proxy​ with the value http://proxyserver.local:8080 .

 

Transcription Recording

Note: Available in Core 8.0 or higher.

Introduction

The transcriptions can also be recorded in a text file.

 

Settings

Setting

Value

Description

UseTranscriptRecording

true

If true, transcript will be recorded

 

Location

The Recording will be stored at the same location as the audio recordings, Learn More

 

Data Format

In the example transcription below, you see that transcriptions have an "IsFinal" flag that indicates if the transcription has completed. Intermediate results are also logged. To determine the name or uri of the participant for which audio was transcribed, the TranscriptHistoryMessage.ParticipantId can be joined with the HistoryParticipant.Id.

Copy

JSON

{
   "Version":"1.0",
   "DialogueId":"f748e530-6955-47a6-b7da-0de1fe0d8ea3",
   "HistoryParticipants":[
      {
         "Id":0,
         "ParticipantUri":"sip:ucctestuser1406@anywhere365.net",
         "ParticipantDisplayName":"ucctestuser1406@anywhere365.net",
         "ParticipantType":"Customer"
      }
   ],
   "ChatHistoryMessages":[
      
   ],
   "TranscriptHistoryMessages":[
      {
         "Language":"nl",
         "Transcript":"Hello",
         "IsFinal":false,
         "ParticipantId":0,
         "Timestamp":"2020-01-06T11:38:34.8081659+01:00",
         "Index":0
      },
      {
         "Language":"nl",
         "Transcript":"Hello world",
         "IsFinal":true,
         "ParticipantId":0,
         "Timestamp":"2020-01-06T11:38:34.8236803+01:00",
         "Index":0
      }
   ],
   "TranslationHistoryMessages":[
      
   ]
}