Setting Up Natural Language Processing

This chapter provides an overview of natural language processing (NLP) and discusses how to:

Click to jump to parent topicUnderstanding NLP

This section discusses:

Click to jump to top of pageClick to jump to parent topicNLP Overview

NLP enables CRM applications to automate certain business tasks by running concept-based content analysis on information that it receives and providing appropriate suggestions that can be used to drive business processes.

For example, in a call center environment where agents manage a large number of customer cases a day, you can eliminate manual agent tasks and increase the productivity of agents by enabling the call center system to automatically suggest solutions for cases.

You can use NLP to accomplish the solution suggestion piece of the process. At a high level, NLP is about categorizing contents—it analyzes information that comes in, suggests the most appropriate category for it, and returns the result back to the calling application.

PeopleSoft CRM integrates with the Banter Relationship Model Engine (RME) Server through Integration Broker to build the natural language processing framework.

This diagram illustrates the interaction between these two systems at a high level:

PeopleSoft CRM interacts with the Banter RME server

The CRM NLP Framework provides user interfaces that enable application administrators to easily set up knowledge bases to work with their applications without knowing the technical complexities of the integration. The NLP framework Application Programming Interfaces (APIs) provide an entry point for CRM application developers to integrate their applications with the third-party NLP technology.

See Also

Supplemental Installation Instructions for PeopleSoft 9 Applications

Click to jump to top of pageClick to jump to parent topicHow the NLP Server Works

NLP performs concept-based content analysis as opposed to traditional searching, which often requires some textual commonality between the source object (basis of the search) and the target (result of the search). For example, searching a case for solutions.

If a target object does not contain any of the source's keywords, the system does not returns it as a search result even if it is the perfect match for the source. NLP takes a different content analysis approach: it extracts concepts from the source object, looks for categories within the system that have the most similar concepts, and suggests them (target objects).

To better explain how NLP works from a CRM perspective, this chapter overview uses the example of case and solution.

A case consists of numerous concepts. Its elements, such as case summary, product description, and case notes, are all sources from which concepts can be derived. When a case is submitted to NLP for analysis, the NLP server uses the name value pairs (NVP) to identify which case field values to analyze and extracts concepts from them.

In the knowledge base where these concepts are stored, the system finds the categories (solutions) with the most matched concepts. It then uses the categories to represent the intention or result of the contents.

The contents and their categories indicate what kind of contents the knowledge base is expected to manage. When the applications send the contents and their names, the NLP server uses natural processing and semantic analysis techniques to analyze the contents against the assigned knowledge base and also calculate the relevancy score for each content set that is stored in the knowledge base.

It tries to return the categories that are most matched in the descending order of the relevancy score. The applications can also send feedback to the NLP server as an ongoing learning process. The feedback request consists of contents, content names, and the category to which the contents belong. The NLP server uses this feedback to teach the knowledge base, which learns and becomes more efficient in providing suggestions over time.

Training, Feedback, and Suggestion in Knowledge Base

Before a knowledge base goes into production, it has to be trained with sufficient training data that are properly categorized. The data can come from different applications that use NLP, such as PeopleSoft Support or PeopleSoft Email Response Management System (ERMS). The data can come in a flat file format: .csv or .kb (the data file format that is specific to the NLP server).

The concept of training is very similar to that of feedback. Training is the initial learning process that the knowledge base undertakes, whereas feedback is the incremental learning that the knowledge base receives from the system over time.

The goal of both processes is to teach the knowledge base more about their categories (discover concepts that can apply to categories) and be able to provide more accurate suggestions in the future.

This is an example of a feedback process that takes place in the PeopleSoft Support application:

  1. An agent solves a case using a solution that is suggested by the NLP system and wants to send feedback.

  2. The NLP system receives the feedback about the case and solution.

    It extracts concepts from the case, and adds them to the list of concepts for that solution in the knowledge base.

  3. The solution has learned about other kinds of cases (cases with the newly added concepts) that it can solve.

With the training and feedback processes in place, the knowledge base matures over time. It has established numerous categories (in our case, solutions) and each category is associated with a significant number of concepts.

When the NLP system receives a request to suggest a category, such as possible solutions to solve a case, the NLP system:

  1. Extracts concepts from the case.

  2. Scans the knowledge base for categories (solutions) that have matching concepts.

  3. Sends the solutions back to the case as suggestions.

Click to jump to top of pageClick to jump to parent topicNLP Usage In CRM

PeopleSoft CRM uses NLP to:

Click to jump to top of pageClick to jump to parent topicSystem-Delivered Knowledge Bases

PeopleSoft CRM delivers a number of knowledge bases to support natural language processing in several areas:

Knowledge Base ID

Knowledge Base Name

Application That Uses It

CASE

Case Knowledge Base

Call Center Support

Used to suggest solutions for cases.

CHAT_DEMO

CHAT_DEMO

Chat

Used to suggest solutions before chat sessions begin.

DEFECT

Defect Knowledge Base

Quality

Used to suggest solutions for defects.

ERMS_CATEGORY

ERMS_CATEGORY

ERMS

Used to identify email category.

ERMS_DOCUMENT

ERMS_DOCUMENT

ERMS

Used to identify template packages for emails.

ERMS_GRPWL

ERMS Group Worklists

ERMS

Used to identify group worklists for emails.

ERMS_MOOD

ERMS_MOOD

ERMS

Used to identify email sender's mood.

ERMS_PRIORITY

ERMS_PRIORITY

ERMS

Used to identify email priority.

ERMS_PRODGRP

ERMS_PRODUCTGROUP

ERMS

Used to identify the product groups for emails.

ERMS_PRODUCT

ERMS_PRODUCT

ERMS

Used to identify the products for emails.

ERMS_SOLUTION

ERMS_SOLUTION

ERMS

Used to identify solutions for emails.

ERMS_TYPE

ERMS_TYPE

ERMS

Used to identify email type.

KB_DEMO

DemoKnowledgeBase

Used for demonstration purposes.

SO

Service Order Knowledge Base

FieldService

Used to suggest solutions for service orders.

Click to jump to top of pageClick to jump to parent topicSetting Up NLP

If you plan to enable natural language processing for an application, here are the high level steps for setting up the Banter RME server to work with the CRM system:

  1. Install all required software on a Microsoft Windows 2000 machine where the NLP system resides.

    This software include MS SQL Server with case-insensitive collation settings, Microsoft .Net Framework, Banter Server, Microsoft IIS server, and PeopleSoft web service software.

  2. Create an integration broker node for the NLP server.

  3. Define the NLP server.

  4. Verify that the NLP server is up and running.

    If the server isn't running, you can review the server detail and ping, stop, and start it as needed.

  5. Define a knowledge base for the application that uses natural language processing (for example, Case).

    Prior to that, define content fields that you need to reference in the knowledge base definition.

  6. Create an application definition (for example, Case).

  7. Define and analyze data that is used to train the knowledge base.

  8. Build the knowledge base structure after you've created the definition and identified and analyzed the training data for it.

    The batch process performs these tasks:

  9. Verify that the knowledge base structure is set up correctly and running.

  10. Define feedback queue.

    This is required if you want to enable the self-learning capability of the knowledge base.

  11. Analyze the knowledge base.

    This is optional. To analyze the built knowledge base, you have to prepare a set of data for the purpose of analyzing it. The data used for analysis should be current to your implementation. You should not use old data or data that was used to build the knowledge base in the analysis.

  12. Test the knowledge base and check whether it returns suggestions.

The length restriction for setting up a new knowledge base is 128 characters. When you are training a knowledge base by kicking off a run control, the system creates a category file.

There is, however, a length restriction on this category file. The system formulates the name of this file by concatenating the user ID, the knowledge base name, and the run control name.

An example of a failed attempt where there is one character too many: D:\PS84\appserv\prcs\CRM\log_output\AE_RBN_SETUP_KB_9697\sunderwoodserviceorderknowledgebasetrainsocsv200408190552179697.categor

In this example, the user ID is sunderwood, the knowledge base name is service order knowledge base, and the run control name is train_so_csv Note that the system strips out spaces and other special characters like underscores (_).

The NLP system generates the category file using following logic:

This PeopleCode has been added on to application class: RBN_NLP:Utilities.

Click to jump to parent topicDefining the Building Blocks for the Knowledge Base

This section discusses how to:

To define the building blocks for the Knowledge Base, use the Define Application (RBN_DFN_APP), Define Feedback Queue (RBN_DEFN_FDBKQUEUE), Define Sample Data (RBN_DEFN_SAMPLEDATA), Define Knowledge Base (RBN_DEFN_KB), and Define Content Fields (RBN_DEFN_CNTNTFLD) components.

Click to jump to top of pageClick to jump to parent topicPages Used to Define the Building Blocks for the Knowledge Base

Page Name

Object Name

Navigation

Usage

Server

RBN_DFN_SERVER

Set Up CRM, Common Definitions, Knowledge Base, Define, Server, Server

Define NLP servers.

KB Settings

RBN_SRVRCNFG

Set Up CRM, Common Definitions, Knowledge Base, Define, Server, KB Settings

Specify knowledge-base settings. You can enter how often the feedback server saves processed feedbacks and how many composite knowledge bases are run per process.

Languages

RBN_SRVRLANG

Set Up CRM, Common Definitions, Knowledge Base, Define, Server, Languages

Map the languages that the NLP server supports.

Machines

RBN_SRVRMACHINE

Set Up CRM, Common Definitions, Knowledge Base, Define, Server, Machines

Register other server machines.

Content Fields

RBN_MNG_CNTNT

Set Up CRM, Common Definitions, Knowledge Base, Define, Content Fields, Content Fields

Define content fields for the knowledge base.

Knowledge Base

RBN_DFN_KB

Set Up CRM, Common Definitions, Knowledge Base, Define, Knowledge Base, Knowledge Base

Define knowledge bases.

Application Definition

RBN_DFN_APP

Set Up CRM, Common Definitions, Knowledge Base, Define, Application, Application Definition

Set up the application definition.

Applications

RBN_DFN_KBAPP

Set Up CRM, Common Definitions, Knowledge Base, Define, Knowledge Base, Applications

Review applications that are associated with the knowledge base.

Training Source

RBN_DFN_SAMPLEDATA

Set Up CRM, Common Definitions, Knowledge Base, Define, Training Source, Training Source

Define data sources for the knowledge-base training process.

Feedback Queue

RBN_DFN_FDBKQUEUE

Set Up CRM, Common Definitions, Knowledge Base, Define, Feedback Queue, Feedback Queue

Define feedback queues for knowledge bases.

Category Set

RBN_DFN_CATGSET

Set Up CRM, Common Definitions, Knowledge Base, Define, Category Set, Category Set

Define categories sets. You can manually create categories in the knowledge base without running the training data process.

Click to jump to top of pageClick to jump to parent topicDefining NLP Servers

Access the Server page.

Server Node

Enter the integration broker node that is created for the NLP server. PeopleSoft delivers a predefined server node called NLP_DEFAULT. Use it as an example when you define your own server node.

Server Usage

Select whether this server definition is for production or development.

  • Production Environment: The server is used to deploy the knowledge base in a production environment. The knowledge base has a one-to-one mapping with the production server. You cannot configure the same knowledge base on the two production machines.

  • Development Environment: The server is used for testing. In this case, one knowledge base can be associated with multiple development servers.

Authentication

Specify whether server authentication is required. If it is, specify the user ID and password that are used.

FTP Server URL (file transfer protocol server uniform resource locator)

Enter the URL identifier for the FTP server. It is the location where the transaction-related data files are posted. Establish URLs on the URL Maintenance page.

The administrator configures a file for the web service to assign the location for the FTP server folder. Refer to the PeopleSoft NLP web service configuration utility for more information.

Note. The FTP server should reside on the same machine where the NLP server is installed.

Server Detail

Server Machine

Displays the machine name of the NLP server.

Database Server

Displays the database server name of the NLP server database.

Version and Database

Displays the NLP server version and its database name.

License Detail

Max. Machines (maximum machines)

Displays the maximum number of licensed machines.

Expiration DateTime

Displays the date and time the NLP server expires.

Knowledge Bases

Displays the maximum number of knowledge bases that you can create in each NLP server database.

Accumulated Requests

Displays the number of requests that the system has received so far.

Requests per Year

Displays the number of requests that the license allows per year. It returns errors after this number is reached.

Span of Days

Displays the number of days that the accumulated requests are distributed.

Support system level APIs (support system level application programming interfaces)

Indicates whether the license supports the low-level API calls.

Refresh

Click to call the NLP server to retrieve the server definition and synchronize the current data on the page. Save the page if there are any changes.

New License

Click to access the Server Definition - Register New License page (RBN_NEWLICENSE_SEC) and renew the license by entering the old and new license code.

Click to jump to top of pageClick to jump to parent topicSpecifying Settings for the Knowledge Base

Access the KB Settings page.

Feedback Threshold

Specify the number of feedback items that should be processed before the feedback information is saved to the database. The instance server then reloads the knowledge base and the feedback takes effect. The default value is 500.

Time Threshold (minutes)

Specify the time interval during which the feedback server saves the feedback information to the database and communicates with the instance server to reload the knowledge base. The default value is 30 minutes.

Knowledge Bases per Process

Specify the number of composite knowledge bases that can run in a process. The default value is 3.

Click to jump to top of pageClick to jump to parent topicMapping NLP-Supported Languages

Access the Languages page.

Based on the license agreement, the Supported Languages column lists the languages that NLP supports. Map each language with a three-letter language code that is used in the PeopleSoft system.

Click to jump to top of pageClick to jump to parent topicRegistering Other Server Machines

Access the Machines page.

The NLP server allows multiple machines to be registered when these machines have the NLP server software installed and are connected to the same NLP server database. NLP uses this mapping table to translate the language code into the NLP language name before sending any request to the NLP server. Specify the network machine name in the Registered Machine Detail grid.

Click to jump to top of pageClick to jump to parent topicDefining Content Fields for the Knowledge Base

Access the Content Fields page.

Content Field Detail

Define the content fields that knowledge bases reference in their definitions. A content field identifies the concept set that NLP uses to perform content analysis. When you associate a knowledge base with an application definition, you need to map each content field of the knowledge base to a page field of the application.

Content Field

Enter the name of the content field. The system uses it to identify the contents for analysis.

Content Type

Specify the type of content. The NLP server processes contents in different ways. If the content type is one of the email types, the NLP server calls its text processor to process the content.

For example, it might remove signature from email body or remove the term Re from the email subject.

Four types of contents exist:

  • Email Subject.

  • Email Body.

  • Email Sender.

  • Other.

    No text processing is performed for this type of content.

Click to jump to top of pageClick to jump to parent topicDefining Knowledge Bases

Access the Knowledge Base page.

Knowledge Base Detail

Knowledge Base ID and Knowledge Base Name

Enter a unique ID and name for the knowledge base.

If you select single language as the knowledge base type, the system uses the knowledge base name to name the language-specific knowledge bases that are generated. The system uses this format: <knowledge base name>_<3-letter language code>. Examples include: Case Knowledge Base_KOR and Case Knowledge Base_FRA.

If you select multiple languages, as the knowledge base type the knowledge base name is used as the related knowledge base name.

Category Detail

Sequence and Field Name

Enter the CRM field that is used to generate the category and its order. The sequence and field name are used to determine the category value.

For example, two items are in the Category Detail grid: the CASE_TYPE field in sequence 1 and SOLUTION_ID in sequence 2. In this case, the category value becomes CASE_TYPE:SOLUTION_ID.

Content Field Detail

Content Field

Enter the content fields for the knowledge base. A content field identifies the concept set that NLP uses to perform content analysis. When you associate a knowledge base with an application definition, you need to map each content field of the knowledge base to a page field of the application.

For example, you map the Summary content field to the Case Summary application field. When the CRM system sends a case to NLP for a suggestion on solutions, the associated knowledge base knows which concept set (the one that is related to the Summary content field) it should use to analyze the value that is entered in the Case Summary field of the case.

Content fields are dictionary fields in the NLP server. Establish content fields on the Content Fields page.

International Support Detail

Knowledge Base Type

Select whether the knowledge base supports a single language or multiple languages for each knowledge base. If you select multiple languages, the system adds a language rule layer in the knowledge base structure before you add any category to the knowledge base.

Language

Select the languages that the knowledge base supports if you select multiple languages as the type. The related knowledge base name for each selected language is the knowledge base name. If you select single language as the type, the related knowledge base name for each language is named in this format: <knowledge base name>_<three letter language code>, for example, case knowledge base_FRA.

Click to jump to top of pageClick to jump to parent topicSetting Up the Application Definition

Access the Application Definition page.

Application Detail

Application ID

Enter the name of the application that takes advantage of the suggestion and categorization functionality that NLP offers.

Status

Select the status of the application definition. Options are active and inactive. Only active application definitions are used in NLP.

Knowledge Base ID

Enter the knowledge base that the application uses for suggestion and categorization. When you select a knowledge base, the system automatically populates the Content Fields grid and the Category field with the information that you defined for that knowledge base.

Threshold (%)

Enter the minimum score that the NLP server uses to compare with the calculated relevancy score for each category. The NLP server returns the categories with scores that are equal to or higher than this threshold value.

Maximum Return

Specify the maximum number of suggested items the knowledge base should return to the CRM system.

Description

Enter descriptive text about the usage of the application definition. The text is displayed on the Applications page of the knowledge base record with which it is associated.

Content Field Mapping Detail

Relationship Record

Select the record that the application uses to submit suggestions and feedback requests. This record should have the Category field and CRM application fields that can be mapped to the knowledge base content fields that are specified in the Content Fields grid. The record can be a view or a work record.

Content Field

Displays the content fields that are defined for the selected knowledge base.

CRM Application Field

Select the name of the CRM application field (available in the relationship record) that maps to the corresponding content field. The mapping indicates where the content data originates.

Click to jump to top of pageClick to jump to parent topicReviewing Associated Applications in the Knowledge Base

Access the Applications page.

Application Reference Detail

This grid lists the application definitions in the system that are associated with the knowledge base. Click the View Detail button to access any given application definition.

Click to jump to top of pageClick to jump to parent topicDefining Training Data Sources

Access the Training Source page.

Your IT personnel use this page to specify the data source for any associated application that the knowledge base can leverage for training purposes. Typically, this data comes from the CRM system. Specify a training source profile for each knowledge base.

Data Source Information

Application ID

Enter the ID of the application definition from which the data that is used for training originates.

Data Source

Specify the method that is used to retrieve data for the given application. The four options are:

  • Application Class: If you select this option, enter the application class that runs in the Class ID field. PeopleSoft delivers several application classes.

  • PS Query: If you select this option, enter the query that is used and click the Bind Prompts button to enter appropriate bind values on the Training Sources - Bind Prompt Fields page (RBN_BIND_DATA_SEC).

  • Simple SQL: If you select this option, select the record from which the data is retrieved and specify the where clause of the SQL statement on the Training Source - Edit Where Clause page (RBN_KBDATA_WHERE). The prompt button appears based on the prompt record definition. If the record definition has more than one key, the button does not appear. If the key is a translated field, the prompt button is shown against the translated table.

  • Text File (CSV Format): If you select this option, enter a file name with .csv extension that has the data, and upload it to the system's FTP server.

Consider these restrictions when you are creating the text file format:

  • Each value must be separated by a comma with no space in between.

  • For values that contain double quotes or commas, precede each of the values with an open double quote.

  • Column headers are required. These headers can be either the knowledge base's content field names or the CRM record field names that are mapped to the content field names. If you use content field names, the column heading for category must be called _Categories.

Click to jump to top of pageClick to jump to parent topicDefining Feedback Queues

Access the Feedback Queue page.

When users provide feedback on suggestions that are returned from the NLP server, feedback entries are queued in the CRM system until they've reached a certain number (specified on the KB Settings page), which causes the daemon process to submit them to the NLP server for teaching purposes automatically. If the feedback process is not configured to be automatic, feedback submission becomes a manual process. Use this page to define the feedback queue for any given knowledge base.

Queue ID and Queue Name

Displays the automatically assigned ID that uniquely identifies the queue and the name that you entered for the queue when you first accessed the page.

Feedback Process is Automated

Select to automate the feedback process. A daemon process runs periodically to check whether the total counts of feedback in the queue have reached the defined threshold. If they have, the system takes care of the feedback automatically. By default, the feedback process is automated.

If you don't want the process to run automatically, clear this check box. You can access the Feedback Runner page to perform this process manually.

Click to jump to top of pageClick to jump to parent topicDefining Category Sets

Access the Category Set page.

If you cannot get data to train the knowledge base and obtain categories, you can define categories manually and use them to build the knowledge base without sample data training.

Click to jump to parent topicSetting Up System Installation Options and Knowledge Bases

This section discusses how to:

Click to jump to top of pageClick to jump to parent topicPages Used to Setting Up System Installation Options and Knowledge Bases

Page Name

Object Name

Navigation

Usage

System Installation

RBN_DFN_SYSTEM

Set Up CRM, Common Definitions, Knowledge Base, Setup, System Installation, System Installation

Set up NLP system installation options.

Setup Knowledge Base

RBN_SETUP_KB

Set Up CRM, Common Definitions, Knowledge Base, Setup, Knowledge Base, Setup Knowledge Base

Specify configuration options for a knowledge base and set it up through a batch process.

Click to jump to top of pageClick to jump to parent topicSetting Up NLP System Installation Options

Access the System Installation page.

Knowledge Base Daemon Process

This Application Engine program triggers teaching processes based on the system installation setting (number of maximum parallel processes) and the number of current queue definitions. If the number of defined feedback queues is fewer than the maximum parallel processes specified on the system installation and the feedback process is automated for those queues, the daemon process triggers the same number of teaching processes as the feedback queue count.

Teaching Process

The teaching process is triggered by the knowledge base daemon process. It is capable of processing multiple queues simultaneously as long as the feedback process for these queues is automated. The teaching process manages the feedback in the asynchronous mode.

The NLP feedback server does not process feedback requests immediately. Feedback entries for existing categories are in fact queued when they are submitted to the NLP server until the next time the teaching process runs. When the teaching process runs, it checks for the status of feedback entries. If an entry has been processed, the system archives it in the feedback history table. Users can review the history of feedback that the knowledge base has adopted since it went into production.

For feedback entries with new categories, when the teaching process first runs, an add new category request is submitted to the NLP server if the number of feedback entries for any new category is greater than or equal to the minimum items per new category setting.

The next time the teaching process runs, it checks for the add new category request status. If the request fails, the overall status is updated accordingly. If it succeeds, the new categories are updated to become existing categories.

The process then counts the total number of feedback entries. If it is greater than the minimum feedbacks to submit setting, a teaching knowledge base request is then sent to the NLP server. When the teaching process runs the third time, it checks for the teaching knowledge base request status. If the request is completed successfully, the processed feedback is archived in the feedback history.

NLP Server Vendor Setting

NLP Server Vendor

Specify the NLP server vendor. PeopleSoft CRM uses the Banter Server.

Feedback Process Settings

Feedback Process is Automated

Select to run the feedback process in a batch mode and to run it automatically as scheduled. If this check box is cleared, the daemon process does not trigger any feedback process. You can run the feedback process manually.

Minimum Items Per Category

Specify the minimum number of feedback items to receive before a new category can be added to the knowledge base.

Maximum Parallel Processes

Specify the maximum number of parallel teach processes that the system can run simultaneously. This value applies when the feedback process is automated.

Minimum Feedbacks To Submit

Specify the minimum number of feedback items that should be queued before they are sent to the NLP server for teaching purposes.

Notification and Notification Email Address

Select when an administrator receives notification about the status of the daemon process and teaching process. Options are Always, On Failure, or On Success.

Specify the email address to which the system sends the notification.

KB analysis Settings

Analysis Data Chunk Size

Specify how many rows of data can be submitted at one time to the NLP server doing the analysis. If the amount of data you are sending to the NLP server becomes too great, transferring the data takes longer and can cause the connection with integration broker to time out. This does not become an issue if the data can be divided into manageable chunks.

The default value is 100 rows of data.

Server Object Lock Settings

Maximum Object Lock Retries

Specify the maximum number of times that the knowledge base Application Engine process can reschedule if the process is locked. Because the administration object cannot be accessed by more than one application, any access to the locked object generates system errors. The system uses the retry mechanism to avoid the user object lock issues that can be created by multiple users.

Interval For Retry Attempt

Specify the time period in seconds in which the system reschedules each knowledge base Application Engine process to avoid the server object lock.

Environment Settings

Sample & KB Files URL

Specify the URL identifier of the FTP server where the sample data and knowledge base files are stored.

Temporary Files URL

Specify the URL identifier of the FTP server where the temporary files are stored.

Refresh Time (in Seconds)

Enter the minimum interval for refreshing pages (for example, pages for running processes). Users can click the Refresh button on a page more frequently, but the refresh command will not be carried out unless the specified interval has passed since the last refresh. This setting helps you avoid performance degradation when users repeatedly click the Refresh button.

Click to jump to top of pageClick to jump to parent topicSetting Up Knowledge Bases

To set up Knowledge Base, use the Set Up Knowledge Base (RBN_SETUP_KB) component.

Access the Setup Knowledge Base page.

Data Source Type

Specify the source of the data that you want to use to build the knowledge base structure. The system displays a different field in this grid based on your selection. Select one of these values:

  • Training Source: If you select this option, enter the ID of the training source that you want to use in the Training Source ID field.

  • Knowledge Base File (*.kb): If you select this option, enter the knowledge base file (with .kb extension) in the Knowledge Base File field and upload it to the FTP server.

  • Category File (.txt). If you select this option, enter the category file (with .txt extension) in the Category File field and upload it to the FTP server.

Run Mode

Select the knowledge base deployment mode. Values are Composite, Distributed, and Not in Use.

When the knowledge base is running, it has three server objects that are available to calling applications. They are Instance Server Object, Configuration Server Object, and Feedback Server Object.

In the composite mode, the instance server object, feedback server object, and configuration object are run in the same process. These objects share the same knowledge base data that is loaded in memory. Any processed feedback (that is, online learning) takes effect immediately. You can determine the number of composite knowledge bases that can run in one process on the KB Settings page.

In Distributed mode, each object runs in its individual process. Each object loads its own knowledge base data in memory. The processed feedback (online learning) does not take effect until the feedback entries are saved in the NLP database and each instance object has reloaded its knowledge base data into the memory.

Feedback Machine

Select the machine name that you want to use for your knowledge base configuration.

Lock Status

Select whether the process is locked when in progress. When an instance is locked by an administrator, only that administrator can unlock it.

Notification

Select one of these available options to indicate when the system sends a notification about the process: Always, On Failure, and On Success.

Run Date and Run Time

Use these fields to schedule the setup job to run on a specific date and time.

Knowledge Base Process Monitor

Click to access the Knowledge Base Process Monitor page (RBN_MONITOR_TXN) and review the schedule.

Click to jump to parent topicMaintaining Knowledge Bases

This section discusses how to:

Note. When you run the knowledge base setup process, it performs some of the functions that can also be managed by utilities that are provided in the NLP framework. For example, the setup process imports categories to the CRM system and inserts content fields in the dictionary repository in the NLP server. If the setup process fails to finish any of these tasks for some reason, you can perform the tasks manually using the system-provided utilities.

Click to jump to top of pageClick to jump to parent topicPages Used to Maintain Knowledge Bases

Page Name

Object Name

Navigation

Usage

Knowledge Base Configurator

RBN_CONFG_KB

Set Up CRM, Common Definitions, Knowledge Base, Utilities, KB Configurator, Knowledge Base Configurator

Maintain the knowledge base configuration that is established by the knowledge-base setup process.

Category Manager

RBN_MANAGE_KBCATG

Set Up CRM, Common Definitions, Knowledge Base, Utilities, Category Manager, Category Manager

Manage categories manually and enter threshold values for them if necessary.

Category Importer

RBN_SYNCH_CATEGORY

Set Up CRM, Common Definitions, Knowledge Base, Utilities, Category Importer, Category Importer

Import categories manually to the CRM database.

Knowledge Base Exporter

RBN_EXPORT_KB

Set Up CRM, Common Definitions, Knowledge Base, Utilities, KB Exporter, Knowledge Base Exporter

Export a knowledge base from the NLP server to the .kb file format that is stored in the FTP server for download.

Dictionary Manager

RBN_MNG_DICTIONARY

Set Up CRM, Common Definitions, Knowledge Base, Utilities, Dictionary Manager, Dictionary Manager

Manage dictionary entries that are available on the NLP server.

Training Source Analyzer

RBN_ANLAYZE_SAMPLE

Set Up CRM, Common Definitions, Knowledge Base, Utilities, Training Source Analyzer, Training Source Analyzer

Analyze the training data and view the analysis report that gets generated.

Feedback Runner

RBN_SBMT_FEEDBACK

Set Up CRM, Common Definitions, Knowledge Base, Utilities, Feedback Runner, Feedback Runner

Run the feedback process manually.

Knowledge Base Analyzer

RBN_ANALYZE_KB

Set Up CRM, Common Definitions, Knowledge Base, Utilities, KB Analyzer, Knowledge Base Analyzer

Analyze the knowledge base and view analysis reports that it generates.

Knowledge Base Tester

RBN_KB_TESTER

Set Up CRM, Common Definitions, Knowledge Base, Utilities, KB Tester, Knowledge Base Tester

Test the knowledge base.

Create Server Node

RBN_COPY_IBNODE

Set Up CRM, Common Definitions, Knowledge Base, Utilities, Server Node Creation, Create Server Node

Define an integration broker node for the NLP server.

Click to jump to top of pageClick to jump to parent topicManaging Knowledge Base Configuration

Access the Knowledge Base Configurator page.

Part of the knowledge-base setup process is to configure the knowledge base using the run mode and machine name that are provided on the Setup Knowledge Base page. You can modify the configuration settings after the setup process using the Knowledge Base page.

Run Mode

Select one of these values to indicate the run mode that you want to use for the knowledge base: Composite, Not In Use, or Distributed. If you select Distributed the system displays the Instance Servers grid.

Machine Name

Select the name of the machine in which the knowledge-base server resides. This field appears if you selected Composite as the run mode.

Feedback Machine

Select the name of the machine in which the knowledge-base feedback server resides. This field appears if you selected Distributed as the run mode.

Instance Servers

The system displays this section only when you select Distributed as the run mode.

Machine

Select the name of the machine that runs the knowledge base instances.

Minimum Instances and Maximum Instances

Enter the minimum and maximum number of instances that must be created during runtime. The NLP server uses the load-balancing technique to distribute the request to a different instance.

Idle Time (minutes)

Enter the time in minutes that you will allow the instance servers to be idle.

Click to jump to top of pageClick to jump to parent topicManaging Categories

To manage categories, use the Category Manager (RBN_MANAGE_KBCAT) component.

Access the Category Manager page.

The Category Detail grid lists the categories that have been added to the knowledge base as learning nodes. You can review the feedback statistics for each category and decide to remove obsolete categories.

Threshold (%)

Enter a new threshold value for the category, if necessary.

If you want to set up applications that support auto-response or auto-routing, specify the threshold value for each category. The value is between 0.00 and 100. Changes to threshold values apply to the knowledge base on the NLP server immediately. The NLP server uses these values to determine the best matching suggestion to return for applications that support auto-routing and auto-response.

Feedbacks

Displays the total number of feedbacks from which the specified category has learned.

Click to jump to top of pageClick to jump to parent topicImporting Categories

To import categories, use the Category Importer (RBN_SYNCH_CATEGORY) component.

Access the Category Importer page.

If the knowledge-base setup process is unable to complete the knowledge base configuration due to object lock issue, configure the knowledge base manually. In this case, you can run this process that imports categories to the CRM database from the knowledge base on the NLP server.

Click the Run Import Process button to start the Category Import process. You can access the Knowledge Base Process Monitor page to check the status of the process. Run this process if you want to synchronize the CRM category repository with the one on the knowledge base as well.

After the import, you can manage categories from the CRM side through the category manager. If the knowledge base is monolingual, it imports categories to the CRM database under the root node. If the knowledge base is multilingual, it imports categories to the CRM database under language specific nodes.

Click to jump to top of pageClick to jump to parent topicExporting Knowledge Bases

Access the Knowledge Base Exporter page.

Use this utility to export a knowledge base from the NLP server to a special knowledge-base file format (with .kb extension). The system stores the .kb file in the FTP server that is specified when you set up the NLP server.

Click the Run Export Process button to start the Knowledge Base Export process. You can access the Knowledge Base Process Monitor page to check the status of the process.

Run this process if:

Click to jump to top of pageClick to jump to parent topicManaging Dictionary Entries

To manage dictionaries, use the Dictionary Manager (RBN_MNG_DICTIONARY) component.

Access the Dictionary Manager page.

Use this page to add, delete, or load dictionary entries on the NLP server. Add a new dictionary entry from the PeopleSoft content field definition table or delete the dictionary entry from the NLP server directly.

Delete Selected Entries

Click to remove selected dictionary entries from the NLP server. The deletion doesn't affect the content field repository in the CRM system.

Add

Click to access the Dictionary Manager - Select Content Fields page to add content fields (available in the CRM system) to be dictionary entries on the NLP server.

Load Dictionary Entries

Click to load dictionary entries from the NLP server.

Click to jump to top of pageClick to jump to parent topicAnalyzing Training Sources

Access the Training Source Analyzer page.

One of the ways to set up the knowledge base is to use training data. The key factor in building a good knowledge base in the initial phase is having a sufficient amount of data to train the knowledge base. As the knowledge base administrator, consider the right list of categories to include in the training data when you build and train a knowledge base. The list should be based on the current business environment. You may want to involve a business analyst to help you collect categories that suit your business needs.

Consider these issues when you are setting up your knowledge base to use training data:

Click to jump to top of pageClick to jump to parent topicRunning Manual Feedback Processes

Access the Feedback Runner page.

If the feedback process is not set to run automatically, you can perform the process manually by clicking the Run Feedback Process button. The NLP server uses feedback in the queue to teach the knowledge base immediately.

The batch process performs several tasks, which include adding and training new categories, training existing categories with feedback entries, and archiving feedback into the feedback history. When the new categories and feedback are committed on the knowledge base, the knowledge base is then saved in the database. Note that if the knowledge base is run in the distributed mode, all its instance servers are notified to reload the knowledge base.

Click to jump to top of pageClick to jump to parent topicAnalyzing Knowledge Bases

Access the Knowledge Base Analyzer page.

Use the knowledge base analyzer to run an analysis on the performance of the knowledge base. This process is useful especially during the initial training of the knowledge base, before the knowledge base is used in a real-life environment, or when you analyze the performance of a live knowledge base.

The analysis helps you to:

Training Source Detail

When selecting a training source to run the analysis, make sure that the dataset reflects your real business data as much as possible to produce meaningful analysis.

Click the Run Analysis Process button to start running the application engine process.

Analysis Report Detail

The knowledge base analysis process generates reports (in .csv file format) for you to measure the performance of the knowledge base based on the specified data set.

They are:

Click to jump to top of pageClick to jump to parent topicTesting Knowledge Bases

Access the Knowledge Base Tester page.

Use this page to verify that the knowledge base that you built is up and running. You can perform basic knowledge-base performance tests by entering content and searching for suggestions. Take advantage of the knowledge base analyzer if you want to run analysis on the performance of the knowledge base.

Test Data Information

Specify the knowledge base on which you want to test. The page dynamically generates the Content Detail area with content fields based on the selected knowledge base. To test the knowledge base, enter content in this area, and specify the maximum suggestions to return and the threshold for the suggestions. Matching suggestions are listed in the Returned Suggestions grid.

Search Content

Click to access the Knowledge Base Tester - Search Content page, where you can look for test content (to complete the Content Detail area) from the CRM system or external CSV file.

Suggest

Click to call the NLP framework API to process the search request and return matching suggestions.

Suggest For Auto Route

Click to call the NLP framework API to process the search request and return matching suggestions. If you specify a positive threshold value on this page, the NLP server calls the suggestion method with this threshold value. If you don't specify a threshold value here, the NLP server calls the API with the threshold that is set up at the category level. You can change the threshold values for categories on the Category Manager page.

Suggest For Auto Response

Click to call the NLP framework API to process the search request with category-level threshold values.

Identify Language

Click to obtain the language code in which the content is written.

Submit Feedback

Click to send feedback to the knowledge base queue. Define feedback queues for the knowledge bases before submitting feedback to them.

Click to jump to top of pageClick to jump to parent topicCreating an Integration Broker Node for the NLP Server

Access the Create Server Node page.

PeopleSoft CRM delivers an integration broker node, NLP_DEFAULT, to integrate with the NLP server. Use this page to define a new node for the NLP server based on this existing node. After you save the new node, the Go to New Node Definition link appears. You can click it to access the new node in the Node Definitions component.

Server Node and Description

Enter the name and short description for the new integration broker node.

Integration Gateway ID

Select the web server gateway identifier for your CRM system or use the default value.

Connector ID

Enter the PeopleSoft connector identifier; always use HTTPTARGET.

Web Service URL

Enter the NLP web service HTTP link, which is based on the NLP web service installation in this format:

http://<YourNLPWebServiceInstallationSite>/psftnlpservice.asmx

Click to jump to parent topicMonitoring Knowledge Bases

This section discusses how to:

Click to jump to top of pageClick to jump to parent topicPages Used to Monitor Knowledge Bases

Page Name

Object Name

Navigation

Usage

Knowledge Bases

RBN_MONITOR_KB

Set Up CRM, Common Definitions, Knowledge Base, Monitor, Server, Knowledge Bases

Verify the knowledge base setup.

Servers

RBN_MONITOR_SERVER

Set Up CRM, Common Definitions, Knowledge Base, Monitor, Server, Servers

View server running status.

Knowledge Base Process Monitor

RBN_MONITOR_TXN

Set Up CRM, Common Definitions, Knowledge Base, Monitor, Process Monitor, Knowledge Base Process Monitor

Monitor various knowledge base-related processes.

Feedback Queue Monitor

RBN_FDBK_QUEUE

Set Up CRM, Common Definitions, Knowledge Base, Monitor, Feedback Queue, Feedback Queue Monitor

Monitor feedback queues.

Feedback History

RBN_FDBK_HISTORY

Set Up CRM, Common Definitions, Knowledge Base, Monitor, Feedback History, Feedback History

Review information of past feedback processes.

Server Lock Viewer

RBN_SERVER_LOCK

Set Up CRM, Common Definitions, Knowledge Base, Monitor, Server Lock Viewer, Server Lock Viewer

View server lock statuses.

Click to jump to top of pageClick to jump to parent topicVerifying Knowledge Base Setup

Access the Knowledge Bases page.

After you run the job to set up a knowledge base, you can access this page to make sure that the knowledge base is up and running.

Click to jump to top of pageClick to jump to parent topicViewing Server Status

Access the Servers page.

This page provides status information about NLP servers and machines that are registered in them.

Click to jump to top of pageClick to jump to parent topicMonitoring Knowledge Base Processes

Access the Knowledge Base Process Monitor page.

Use this page to review the status of different types of batch processes that have run for knowledge bases in the system. Enter criteria to refine search results if necessary. Click the Details link to access the Detail page for the corresponding process. This page lists the steps in the process and provides status information and a description for each of them. If the process is not completed for some reason, the page may help you identify the issue.

Click to jump to top of pageClick to jump to parent topicMonitoring Feedback Queues

Access the Feedback Queue Monitor page.

You can review feedback status for each queue that you set up in the specified knowledge base.

Feedback ID and Category

Identifies the feedback item in the queue and the associated category value (suggested by the NLP server) for which the feedback was made.

New

Indicates whether the category value is new.

Task ID

Displays the task identifier that is provided by the NLP server. The feedback queuing process is asynchronous, which means that the NLP server doesn't process feedback immediately. It returns a task ID for each feedback, which you can use to further query the system and determine the progress of the submitted request.

Task Status

Displays the current status of the feedback. Values are:

  • Queue

  • Processing

  • Submitted

  • Failed

Click the Detail button to see the category content for which the feedback was made.

Click to jump to top of pageClick to jump to parent topicReviewing Feedback History

Access the Feedback History page.

Use this page to view a list of feedback entries that have been submitted since the knowledge base was in production.

Click to jump to top of pageClick to jump to parent topicViewing Server Lock Status

Access the Server Lock Viewer page.

Use this page to monitor the lock status of the server object. There are two Banter server objects that do not support multiple user access: Administration and Configuration.

Process Instance and Run Control ID

Displays the number of the process instance for the Application Engine and the run control ID for the process that the specific locked server is running.

Administration

If the server is locked by an administration server object, this check box is selected.

Configuration

If the server is locked by a configuration server object, this check box is selected.

Refresh

Click to refresh the grid. The frequency is based on the refresh time setting for the NLP system installation.