Jump to: navigation, search

Installing the SpeechMiner Components

The setup wizard is used to install all SpeechMiner components. You can run it separately on each machine on which you are installing SpeechMiner components. If you are installing multiple SpeechMiner components on the same machine, you can install them at the same time. For example, if you are installing the database server and the web server on the same machine, you can select both of them in the setup wizard. In most systems, SMConfig is installed on all server machines.



Installing Using the Wizard

To install components using the setup wizard:

Important
Hosts on which the Indexer will be installed must have .NET Core Runtime & Hosting version 6.0 (see: https://dotnet.microsoft.com/en-us/download/dotnet/6.0).
If the system does not have an Internet connection, obtain and install Microsoft Visual C++ 2015 Redistributable (64-bit), before installing the ASP.NET Core/.NET Core: Runtime & Hosting Bundle.

  1. Open the installation package.
  2. From the FullInstaller folder, run SpeechMinerInstall.exe. The setup wizard opens, with the Welcome screen displayed.
  3. Click Next. The License Agreement screen opens.
  4. Select I accept the terms of the license agreement, and then click Next. The Installation Type screen opens.
  5. Sm installtype-new2.png

  6. Select the installation mode:
    • Analytics and Recording UI: SpeechMiner plays back and analyzes interactions recorded with Genesys Interaction Recording.
    • Recording UI Only: SpeechMiner plays back the call audio for each interaction in the search results. The contents of the interactions are not processed by the speech-analytics system.
    • Analytics Only: SpeechMiner imports interactions and their recorded call audio from any recording system. Once the interactions and their audio is imported SpeechMiner processes the contents of each interaction.
  7. Click Next. The Choose Components screen opens.
  8. Installcomponentswithindexer2.png

  9. In the list of components , select the components you want to install on the machine.
  10. Click Next. Which screen you see next depends on the components you selected in the previous screen.
  11. Important
    By default, 64-bit SpeechMiner is installed in the following location: C:\Program Files (x86)\Genesys\Software.


    Chooseinstalllocation2.png

  12. Modify the default installation location if necessary and then click Next.
  13. If you selected Indexer, define a user and password in the Authentication tab and click Next
  14. Authenticationtab2.png

  15. In the field provided enter the Elasticsearch data nodes (:9200) you created when installing Elasticsearch add click the + button to add the datanode to the list.
    Do not add Master nodes to this list.
  16. Important
    If you want to edit, add and/or remove a data node, you must configure the esNodes environment variable. The value of the esNodes environment variable, must be a list of data node url's separated by a semicolon ;. For example, http://dataNode1:9200;http://dataNode2:9200;http://dataNode3:9200;

    ESnodes2.png

  17. Click Install. The installation process begins. When the process is completed, the following screen appears:

  18. Installcomplete2.png

  19. Select Restart Now, and then click Finish. A warning message appears, and reminds you to configure SpeechMiner before you open it.

  20. Click OK. The server restarts.

Installing the SpeechMiner Database

The SpeechMiner database stores the interaction data and the results of interaction processing. It is usually installed on a dedicated machine. The following sections explain how to install the SpeechMiner database:


Running the Setup Wizard

Important
If you are installing SpeechMiner 8.5.512.28, refer to the Known Issues.

To begin the installation of the database server, run the setup wizard as described under Installing the Components.

To install the database server:

  1. On the database server machine, run the Setup Wizard, as described under Install Using the wizard.
  2. Follow the instructions there, until the Database Credentials screen opens.

    Installdatabase.PNG


  3. In the Database Credentials screen, fill in the fields as follows:
    Field Description
    Windows Authenticated User Select this option to use the Windows username and password you used to log into the machine as the DB User and DB Password. When you select this option, the DB User and DB Password become unavailable.
    DB Server Enter the name of the server on which you want to install the SpeechMiner database. If you want to install the database on an SQL Named Instance, the server name should be entered as server_name\instance_name.
    DB Name Enter the name of the database in the format speechminer_verX_Y (for example, speechminer_ver8_5).
    DB User Enter SA. (The credentials of the user name entered here will be used for the process of creating the SpeechMiner database.)

    Note: This field is not available when Windows Authenticated User is selected.

    DB Password Enter the DB password. Only a user with Administrator permissions can enter password credentials.

    Note: This field is not available when Windows Authenticated User is selected. In addition, when creating a DB Password you cannot use = and ; as part of the DB Password.

  4. Click Next. The Choose Install Location screen opens.
  5. Modify the default installation location if necessary, and then click Install. The installation process begins. When the process is completed select Restart Now, and then click Finish. A warning message appears.
  6. From the warning message, click OK. The server restarts.
  7. After the database-server installation is completed, check that the speechminer_verX_Y database is present. This can be done by opening SQL Server Management Studio on the SQL server (for example, in the Start menu, under All Programs, select Microsoft SQL Server 2008 R2 > SQL Server Management Studio) and reviewing the list of databases on the server.

    Sm installdb.png


Manually Installing the SpeechMiner Database

An alternative way to perform the database installation is to use the SQL backup file (for example, data_sql_2008.bak) deployed in C:\Program Files (x86)\Genesys\Software\Support during any regular install. Restore this backup on the SQL server and choose settings based on the settings in the steps above. After restoration is complete, update the database properties as follows:

  • For both the Data and Log files, change Options\Recovery Mode to Simple and change the Files\Autogrowth\File Growth parameter to 1024 MB for Data files and 256 MB for Log files.


Important
When you manually install the SpeechMiner Database, you must enable the SQL Server Service Broker to allow purging interactions from the database.

To enable the SQL Server Service Broker:

  1. Run the SP command: EXEC sp_enableServiceBroker
  2. The SP will try to enable the service broker with ENABLE_BROKER. If it does not succeed, it will run the command with NEW_BROKER. This SP will also use the current DB name correctly.

  3. If sp_enableServiceBroker does not enable the Service Broker, run the following query:
  4. ALTER DATABASE [DB_NAME] SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE

  5. Run the following query to verify that SQL Server Service Broker is enabled:
  6. SELECT is_broker_enabled FROM sys.databases WHERE database_id=DB_ID()

    A value of 1 indicates that the Service Broker is enabled.


If the enable SQL Server Service Broker query fails:

  1. Close all connections to the database.
  2. Run the following query:
  3. ALTER DATABASE [DB_NAME] SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE

  4. Run the following query to verify that SQL Server Service Broker is enabled:
  5. SELECT is_broker_enabled FROM sys.databases WHERE database_id=DB_ID()


To disable the SQL Server Service Broker:

  1. Run the following query:
  2. ALTER DATABASE [DB_NAME] SET DISABLE_BROKER WITH ROLLBACK IMMEDIATE

Creating the Storage Partitions

If the database server is an Enterprise Edition, you must create the storage partitions on the database. To do this, after you install the database server, run the following SQL query on the SpeechMiner database:

EXEC sp_create_DB_storage_partitions

Important
For information about how to open SQL Server Management Studio and run a query, see Setting the Maximum Memory Usage.


Configuring the Database Maintenance Jobs

When the database is installed, a database maintenance job (SpeechMiner_Maintenance_job - <database>) is automatically created. If the maintenance job doesn’t exist, you should execute sp_createMaintenanceJob stored procedure to create it. You should schedule the job to run daily or weekly at a time when call volume is expected to be low. In addition to scheduling the job to run, you can also modify it to suit your requirements.

By default, the maintenance job does the following:

  • Shuts down the SpeechMiner UPlatform service
  • Rebuilds fragmented database table indexes
  • Restarts the system
  • Purges logs of messages that are older than one month
  • Purges logs of user events that are older than one year
  • Purges the report agent filter by removing entries that are older than 30 days and creating a new list of agents
Important
  • When working with a system that includes text interactions, it is recommended to configure the system to purge text interactions older than # years.
  • It is recommended to delete (or archive) interactions whose topics/terms do not meet the strictness threshold after a configurable number of days. Doing this will reduce the number of interactions waiting to be re-indexed after SMART topic or program changes are applied. For additional assistance, contact Genesys Customer Care.

To open the maintenance-job script:

  • From SQL Server Management Studio, under Databases > SQL Server Agent > Jobs, double-click the job.

Sm sqlstudio.png

Sm dbjob.png

The job may optionally include the sp_updateUntilYesterdayMaxChannels and sp_agentFilterCleanByDays steps. In addition, any procedure that rebuilds indexes and purges old calls should be added as a step in the maintenance job.

Important
  • When creating an Agent, if you create a username but you do not enter a firstname and lastname in the fields provided, the specific Agent's name will appear blank in the Search Filter > Agents & Work Groups list.
  • When creating an agent hierarchy it is recommended that the hierarchy be created in the Configuration Server if you have the Genesys Interaction Recording (GIR) system or through the UConnector if you are working with an external recording system.
  • Creating the agent hierarchy in both the Configuration Server and through the UConnector at the same time is not supported. You must work with one or the other.
  • If both GIR and UConnector are not available you can use the stored procedure sp_createAgentsFromPartitions as a step in the maintenance job to create agents according to work group and agent partitions.
  • The stored procedure is supplied as is. You may need to change it if it does not work well with your data. For example, if the names of work groups are repeated, you will not get the results you expect.
  • For example, if your system has the following partitions:
    • /WGA/WGB/AgentA
    • /WGC/WGB/AgentB
    You will see the following in the Agents filter after executing sp_createAgentsFromPartitions:
    • WGA/WGB/AgentA
    • WGA/WGB/AgentB
    • WGC/WGB/AgentA
    • WGC/WGB/AgentB

Changing the Job Owner

  1. Open the SQL Management Tool.
  2. Alter the Stored procedure called sp_createMaintenanceJob.
  3. In the following procedure text replace dbuser with an existing database user.
  4. @owner_login_name=N'dbuser'

  5. Execute the updated Stored procedure to create the correct job.


Cleaning Low Strictness Events

When there are search/index performance issues, it is recommended that you delete old events using found=0 by performing one or both of the following procedures:

Initial Cleanup

Delete all the events using found=0 (low strictness events) older than x=days.

  1. Create a SQL job to run the following command. For example purposes the parameter in the following code is 30 days.
    declare @maxCallID int 
    select  @maxCallID= max(callID) from callmetatbl with (nolock) where dbo.tod2time(calltime)< dateadd (d,-30,GETUTCDATE())
    DECLARE @counter INT; 
    SET @counter = 1;
    deletemore: 
    SELECT TOP 100000 EntryID   
    INTO #Temp  
    FROM callEventsTbl 
    WHERE callID < @maxCallID and found=0  
    DELETE FROM callEventsTbl where EntryID in (select EntryID from #temp)
    SET @counter = @@ROWCOUNT
    IF @counter > 0 
    BEGIN 
    DROP TABLE #Temp  
    WAITFOR DELAY '00:00:01' 
    GOTO deletemore ;
    END 
    ELSE 
    BEGIN    
    DROP TABLE #Temp
    END

To ensure that older events are deleted, modify the maintenance job as follows:

  1. Connect to the SpeechMiner database.
  2. Go to SQL Server Agent and find the Speechminer Maintenance job.
  3. Click Properties.
  4. Under steps click New to add a step after the last step. The name of the step should be Cleanup unfound Events.
  5. Add the following command to the new step:
     
    declare @maxCallID int 
    select  @maxCallID= max(callID) from callmetatbl with (nolock) where dbo.tod2time(calltime)< dateadd (d,-30,GETUTCDATE())
    DECLARE @counter INT; 
    SET @counter = 1;
    WHILE @counter > 0
    BEGIN
      BEGIN TRANSACTION;
      DELETE TOP (100000) callEventsTbl
        WHERE callID < @maxCallID and found=0
      SET @counter = @@ROWCOUNT;
      COMMIT TRANSACTION;
    END


Deploying the SQL CLR

After you install the database, you should deploy the SQL Common Language Runtime (CLR) assembly on the SQL server. To do this, on the Master, you must set the permissions of the XmlSerializers.dll and enable CLR integration, as explained below.

Important
In order to set the permissions, the user running the SQL services must have modify permissions on sqlclr.XmlSerializers.dll.

To deploy the SQL CLR:

  1. On the SQL server, open the SQL Server Management Studio. (For example, in the Start menu, under All Programs, select Microsoft SQL Server 2008 R2 > SQL Server Management Studio.)
  2. On the left side of the window, right-click the SQL server and then select New Query. A blank text area opens on the right side of the window.
  3. Copy the following commands and paste them into the text area:
    use [master]
    CREATE ASYMMETRIC KEY SQLCLRTestKey FROM EXECUTABLE FILE =
    '\\<Machine_Name>\c$\Program Files (x86)\Genesys\Software\Support\sqlclr.XmlSerializers.dll'
    GO
    use [master]
    CREATE LOGIN SQLCLRTestLogin FROM ASYMMETRIC KEY SQLCLRTestKey
    GO
    use [master]
    GRANT  EXTERNAL ACCESS ASSEMBLY TO SQLCLRTestLogin 
  4. In the text area, change <Machine_Name> to the name of the machine on which the SpeechMiner database was installed.

    Sm sqlstudiotxt.png

  5. Above the text area, select Execute. The commands are executed. When the process is completed successfully, Query executed successfully appears at the bottom of the window.
    Important
    If you get an error message that says, "The certificate, asymmetric key, or private key file does not exist or has invalid format," try changing the path to point at the local drive—for example, C:\Program Files (x86)\Genesys\Software\Support\sqlclr.XmlSerializers.dll.
  6. Open another New Query.
  7. Copy the following commands and paste them into the New Query text area:
    EXEC sp_configure 'show advanced options', 1
    GO
    RECONFIGURE
    GO
    EXEC sp_configure 'clr_enabled', 1
    GO
    RECONFIGURE
    GO
  8. Above the text area, select Execute. The commands are executed. When the process is completed successfully, CLR integration is enabled, and Query executed successfully appears at the bottom of the window.
  9. Open another New Query.
  10. Browse to C:\Program Files (x86)\Genesys\Software\Support.
  11. Run the SQLCLR.sql script.
  12. The clr assembly is created with EXTERNAL_ACCESS. To create an EXTERNAL_ACCESS or UNSAFE assembly in SQL Server refer to: http://msdn.microsoft.com/en-us/library/ms345106.aspx

    Important
    The sqlclr.sql script should be deployed in a SpeechMiner database or the SpeechMiner database should be selected in the Available Databases section when running the sqlclr.sql script.
Important
If a major change is made to the SQL Server (for example, a disk is moved), the .dll assembly changes its ID. This change may cause a sequence of SQL errors. To fix this issue, you must do the following:
  1. Copy the following commands and paste them into the New Query text area:
    EXEC sp_configure 'clr_enabled', 0
    GO
    RECONFIGURE
    GO
    EXEC sp_configure 'clr_enabled', 1
    GO
    RECONFIGURE
    GO


Configuring the Recovery Model

In order to save disk space, it is recommended to set the recovery model of the SpeechMiner database to Simple.

Important
If you use Log Shipping, set the recovery model to a full or bulk-logged recovery model. Ensure that logs are not written to the same hard drive as the database files.

To set the recovery model to Simple:

  1. On the SQL server, open the SQL Server Management Studio. (For example, in the Start menu, under All Programs, select Microsoft SQL Server 2008 R2 > SQL Server Management Studio.)
  2. On the left side of the window, right-click the database and then select Properties. The Database Properties window opens.
  3. On the left side of the window, select Options.
  4. On the right side of the screen, under Recovery model, select Simple.

    Sm dbproperties.png

  5. Click OK. The setting is implemented, and the window closes.


Configuring the Autogrowth

Important
It is recommended that you enable instant file initialization. For details refer to: http://msdn.microsoft.com/en-us/library/ms175935.aspxshould

To modify the Autogrowth settings:

  1. On the SQL server, open the SQL Server Management Studio. (For example, in the Start menu, under All Programs, select Microsoft SQL Server 2008 R2 > SQL Server Management Studio.)
  2. On the left side of the window, right-click the database and then select Properties. The Database Properties window opens.
  3. On the left side of the window, select Files.

    Sm dbautogrowth.png

  4. On the right side of the screen select Autogrowth Sm browseicon.png in the Data File row. The Change Autogrowth dialog box opens.
  5. Sm autogrowthdialog.png

  6. Verify that Enable Autogrowth is selected.
  7. Under File Growth, select Megabytes, and then, in the text box on the right enter 1024.
  8. Click OK. The setting is changed in the Properties window.
  9. On the right side of the screen select Autogrowth Sm browseicon.png in the Log File row. The Change Autogrowth dialog box opens.
  10. Verify that Enable Autogrowth is selected.
  11. Under File Growth, select Megabytes, and then, in the text box on the right enter 256.
  12. Click OK. The setting is changed in the Properties window.
  13. In the Properties window, click OK. The setting is implemented, and the window closes.

</tabber>

Creating the Required Folders

After you install the SpeechMiner components, manually create the shared folders as listed in the table. These folders will be used by SpeechMiner to store the audio, index, and backup files used by the system.

Important
Ensure that enough storage space is available to manually create the folders. By default, the minimum space required for each folder is 15GB. This minimum value is set in the minimumFolderSpaceMB field in the SpeechMiner database monitorTbl table. The recommended default value for free space is 25GB. This value is configured in the desiredFolderspaceMB field. If the free space is less than 25GB, the system will show a warning to let you know that you are reaching the recommended minimum value for the minimumFolderSpaceMB field.

All SpeechMiner machines should have access to these shared folders, and they should be shared with all groups and users that require access to them. It is recommended to create the folders on the same LAN as the SpeechMiner system components.

The folder names listed below are recommended, for convenience, but you can actually use any names you choose. In addition, you can create multiple folders for most of the folder types, as explained below. For information about configuring SpeechMiner to use these folders, see Sites & Machines.

Important
When you configure the shares, make sure to specifically give write permissions to the user installing SpeechMiner and to the system user (SMUSER), both under Sharing and under Security.
Folder Name Description Quantity
Input Folder in which interactions data and metadata will be placed by Uconnector when it retrieves them from the recording system; fetchers collect the data from input folders, prepare it for processing by SpeechMiner, and then place it into store folders. One folder for each fetcher task; if there are multiple recording systems, or multiple storage media used for storing the unprocessed data, a fetcher task must be created for each data source and for each input folder. For information about deciding how many fetchers to create, see Configuring Machines and Tasks.
Interaction Receiver Input Folder in which the audio files that are received from the Genesys Interaction Recording solution will be placed, and later processed by the Interaction Receiver.

Note: This is a different folder than the Input folder which is used by fetchers.

One for the entire system.
Store Folder in which interactions will be placed by fetchers to await processing by SpeechMiner. The system can have multiple store folders—for example, if there are multiple storage media used for storing the processed data, you can create a folder on each of them.
Filtered Folder in which interactions with non-existant or inactive Programs will be placed. One for each site in the system.
Grammar The "package" folder, in which the rules for processing voice interactions, including those defined in SMART, are stored. One for the entire system.

Note: If you want to have more than one copy of the folder, you can create additional folders and configure SpeechMiner to use them. If you do this, SpeechMiner will save the same content in each of the folders, so that you will have backups.

Index Folder in which the system will store an index of calls, metadata, and events, so that they can be found quickly during searches. One for the entire system.
Backup Folder in which SpeechMiner will store backups of SMART definition sets (Program, Topic, and Category definitions). One for the entire system.

Note: If you want to have more than one copy of the folder, you can create additional folders and configure SpeechMiner to use them. If you do this, SpeechMiner will save the same content in each of the folders, so that you will have backups.


This page was last edited on October 13, 2023, at 12:45.
Comments or questions about this documentation? Contact us for support!