Home
Home
German Version
Support
Impressum
23.1 Release ►

    Main Navigation

    • Preparation
      • Connectors
      • Create an InSpire VM on Hyper-V
      • Initial Startup for G7 appliances
      • Setup InSpire G7 primary and Standby Appliances
    • Datasources
      • Configuration - Atlassian Confluence Connector
      • Configuration - Best Bets Connector
      • Configuration - Box Connector
      • Configuration - COYO Connector
      • Configuration - Data Integration Connector
      • Configuration - Documentum Connector
      • Configuration - Dropbox Connector
      • Configuration - Egnyte Connector
      • Configuration - GitHub Connector
      • Configuration - Google Drive Connector
      • Configuration - GSA Adapter Service
      • Configuration - HL7 Connector
      • Configuration - IBM Connections Connector
      • Configuration - IBM Lotus Connector
      • Configuration - Jira Connector
      • Configuration - JiveSoftware Jive Connector
      • Configuration - JVM Launcher Service
      • Configuration - LDAP Connector
      • Configuration - Microsoft Azure Principal Resolution Service
      • Configuration - Microsoft Dynamics CRM Connector
      • Configuration - Microsoft Exchange Connector
      • Configuration - Microsoft File Connector (Legacy)
      • Configuration - Microsoft File Connector
      • Configuration - Microsoft Graph Connector
      • Configuration - Microsoft Project Connector
      • Configuration - Microsoft SharePoint Connector
      • Configuration - Microsoft SharePoint Online Azure Principal Resolution Service
      • Configuration - Microsoft SharePoint Online Connector
      • Configuration - Microsoft Stream Connector
      • Configuration - Microsoft Teams Connector
      • Configuration - Salesforce Connector
      • Configuration - SAP KMC Connector
      • Configuration - SemanticWeb Connector
      • Configuration - ServiceNow Connector
      • Configuration - Sitecore Connector
      • Configuration - Web Connector
      • Configuration - Yammer Connector
      • Configuration - Zoho Connector
      • Data Integration Guide with SQL Database by Example
      • Indexing user-specific properties (Documentum)
      • Installation & Configuration - Atlassian Confluence Sitemap Generator Add-On
      • Installation & Configuration - Caching Principal Resolution Service
      • Installation & Configuration - Jive Sitemap Generator
      • Installation & Configuration - Mindbreeze InSpire Insight Apps in Microsoft SharePoint On-Prem
      • Mindbreeze InSpire Insight Apps in Microsoft SharePoint Online
      • Mindbreeze Web Parts for Microsoft SharePoint
      • User Defined Properties (SharePoint 2013 Connector)
      • Whitepaper - Mindbreeze InSpire Insight Apps in Salesforce
      • Whitepaper - Web Connector - Setting Up Advanced Javascript Usecases
    • Configuration
      • CAS_Authentication
      • Cognito JWT Authentication
      • Configuration - Alternative Search Suggestions and Automatic Search Expansion
      • Configuration - Back-End Credentials
      • Configuration - Chinese Tokenization Plugin (Jieba)
      • Configuration - CJK Tokenizer Plugin
      • Configuration - Collected Results
      • Configuration - CSV Metadata Mapping Item Transformation Service
      • Configuration - Entity Recognition
      • Configuration - Exporting Results
      • Configuration - External Query Service
      • Configuration - Filter Plugins
      • Configuration - GSA Late Binding Authentication
      • Configuration - Identity Conversion Service - Replacement Conversion
      • Configuration - InceptionImageFilter
      • Configuration - Index-Servlets
      • Configuration - Item Property Generator
      • Configuration - Japanese Language Tokenizer
      • Configuration - Kerberos Authentication
      • Configuration - Management Center Menu
      • Configuration - Metadata Enrichment
      • Configuration - Metadata Reference Builder Plugin
      • Configuration - Mindbreeze Proxy Environment (Remote Connector)
      • Configuration - NLQA Plugin
      • Configuration - Notifications
      • Configuration - Personalized Relevance
      • Configuration - Plugin Installation
      • Configuration - Principal Validation Plugin
      • Configuration - Profile
      • Configuration - QueryExpr Label Transformer Service
      • Configuration - Reporting Query Logs
      • Configuration - Reporting Query Performance Tests
      • Configuration - Request Header Session Authentication
      • Configuration - Shared Configuration (Windows)
      • Configuration - Vocabularies for Synonyms and Suggest
      • Configuration of Thumbnail Images
      • Cookie-Authentication
      • Documentation - Mindbreeze InSpire
      • I18n Item Transformation
      • Installation & Configuration - Outlook Add-In
      • Installation - GSA Base Configuration Package
      • Language detection - LanguageDetector Plugin
      • Mindbreeze Personalization
      • Mindbreeze Property Expression Language
      • Mindbreeze Query Expression Transformation
      • Non-Inverted Metadata Item Transformer
      • SAML-based Authentication
      • Trusted Peer Authentication for Mindbreeze InSpire
      • Using the InSpire Snapshot for Development in a CI_CD Scenario
      • Whitepaper - MMC_ Services
      • Whitepaper - SSO with Microsoft AAD or AD FS
      • Whitepaper - Text Classification Insight Services
    • Operations
      • app.telemetry Statistics Regarding Search Queries
      • Configuration - app.telemetry dashboards for usage analysis
      • Configuration Usage Analysis
      • Deletion of Hard Disks
      • Handbook - Backup & Restore
      • Handbook - Command Line Tools
      • Handbook - Distributed Operation (G7)
      • Handbook - Filemanager
      • Handbook - Indexing and Search Logs
      • Handbook - Updates and Downgrades
      • Index Operating Concepts
      • Inspire Diagnostics and Resource Monitoring
      • InSpire Support Documentation
      • Mindbreeze InSpire SFX Update
      • Provision of app.telemetry Information on G7 Appliances via SNMPv3
      • Restoring to As-Delivered Condition
    • User Manual
      • Browser Extension
      • Cheat Sheet
      • iOS App
      • Keyboard Operation
    • SDK
      • api.v2.alertstrigger Interface Description
      • api.v2.export Interface Description
      • api.v2.personalization Interface Description
      • api.v2.search Interface Description
      • api.v2.suggest Interface Description
      • api.v3.admin.SnapshotService Interface Description
      • Debugging (Eclipse)
      • Developing an API V2 search request response transformer
      • Developing Item Transformation and Post Filter Plugins with the Mindbreeze SDK
      • Development of Insight Apps
      • Embedding the Insight App Designer
      • Java API Interface Description
    • Release Notes
      • Release Notes 20.1 Release - Mindbreeze InSpire
      • Release Notes 20.2 Release - Mindbreeze InSpire
      • Release Notes 20.3 Release - Mindbreeze InSpire
      • Release Notes 20.4 Release - Mindbreeze InSpire
      • Release Notes 20.5 Release - Mindbreeze InSpire
      • Release Notes 21.1 Release - Mindbreeze InSpire
      • Release Notes 21.2 Release - Mindbreeze InSpire
      • Release Notes 21.3 Release - Mindbreeze InSpire
      • Release Notes 22.1 Release - Mindbreeze InSpire
      • Release Notes 22.2 Release - Mindbreeze InSpire
      • Release Notes 22.3 Release - Mindbreeze InSpire
      • Release Notes 23.1 Release - Mindbreeze InSpire
    • Security
      • Known Vulnerablities
    • Product Information
      • Product Information - Mindbreeze InSpire - Standby
      • Product Information - Mindbreeze InSpire
    Home

    Path

    Sure, you can handle it. But should you?
    Let our experts manage the tech maintenance while you focus on your business.
    See Consulting Packages

    Installation and Configuration

    NLQA Plugin

    Copyright ©

    Mindbreeze GmbH, A-4020 Linz, 2023.

    All rights reserved. All hardware and software names used are brand names and/or trademarks of their respective manufacturers.

    These documents are strictly confidential. The submission and presentation of these documents does not confer any rights to our software, our services and service outcomes, or any other protected rights. The dissemination, publication, or reproduction hereof is prohibited.

    For ease of readability, gender differentiation has been waived. Corresponding terms and definitions apply within the meaning and intent of the equal treatment principle for both sexes.

    IntroductionPermanent link for this heading

    This document covers the installation and configuration of the NLQA (Natural Language Question Answering) plugin and describes the general functionality of this service.

    NLQA has the task of parsing a natural language query into a lower-level search query, specifying the named entities to search for.

    For example, a search for “Who is the head of mindbreeze academy?” gives you following results:

    InstallationPermanent link for this heading

    The plugin can be installed in the MMC by selecting and uploading the File “mindbreeze.plugins.nlqa.base” in the “Configuration” -> “Plugins” area.

    ConfigurationPermanent link for this heading

    To use the NLQA functionality, you must ensure that NER (Named Entity Recognition) is enabled for the used indices.
    For more details on NER and how to enable it, see this documentation.

    Configuring the pluginPermanent link for this heading

    After installing the plugin, navigate to the “Services” section within the “Indices” tab and add a service by clicking “Add Service”. Then select “QueryServicePlugin.NLQA” from the “Service” drop-down menu. “Display name“ can be chosen freely.

    Now configure the settings in the respective areas.

    Legend:

    • Properties marked with *: mandatory field, these must be configured explicitly
    • Properties not specially marked: optional fields
    • Fields marked with (Advanced Settings) are only displayed if the "Advanced Settings" view is enabled in the configuration. This is only necessary in special use cases.

    Base ConfigurationPermanent link for this heading

    Bind Port

    Specifies the TCP port on which this Service will be accessible. It is important that the port is not already in use by another service (e.g. principal resolution, index or client service).

    Bind address

    Here you configure on which IP address the service is accessible. By default (value not set) the IP address 0.0.0.0 (all IP addresses) is used. If, for example, the service should only be accessible on localhost, this option must be set to the value 127.0.0.1.

    Backend Threads

    The number of threads that process HTTP requests in parallel.

    Query Transformation Services ConfigurationPermanent link for this heading

    Path to the Service Config JSON*

    With this option, you must configure the path to your Service Config JSON file that contains the following entries:

    • defaultProjectPath: Specifies the path for the pipeline config JSON.
    • termsExprDistance: Specifies the maximum number of unrelated terms between two important terms (15 is recommended)
    • logRequests: Specifies whether the Request should be logged (to /tmp) or not (false by default)

    Path to the Query-Expr Templates*

    This option defines the path to all Query-Expression templates that can be used by this service.

    Path to Environment Config JSON

    With this option, you can configure the path to your Environment Config JSON file that contains optional key-value pairs of variables to be used in the pipeline config.

    Query Service ConfigurationPermanent link for this heading

    URLs of the Indices to query*

    With this option, you have to configure the URLs of all indices to be searchable by the NLQA plugin.

    E.g. https://localhost:<index port number>/find

    Query Expression Transformation Project ID

    The “Query Expression Transformation” pipeline is used for processing the natural language query and transforming it into a lower-level search query.

    This option allows you to specify the project by defining the project ID to be used for this function.

    default is used as the default value for your default project.

    Query Expression Transformation Pipeline ID

    This option allows you to specify the Query Expression Transformation pipeline of your specified project by defining the pipeline ID to be used.

    If not set, the default Query Expression Transformation pipeline of your specified project will be used.

    Search Response Transformation Project ID

    The “Search Response Transformation” pipeline is used for processing the answers returned by the index.

    This option allows you to specify the project by defining the project ID to be used for this function.

    default is used as the default value for your default project.

    Search Response Transformation Pipeline ID

    This option allows you to specify the Search Response Transformation pipeline of your specified project by defining the pipeline ID to be used.

    If not set, the default Search Response Transformation pipeline of your specified project will be used.

    Search Request Configuration (Advanced Settings)Permanent link for this heading

    Metadata Sample Length

    The maximum length of the metadata in the search result. (in bytes)

    Content Sample Length

    The maximum length of the sample text. (in bytes)

    Max content bytes

    The specified amount of text (in bytes) corresponds to the maximum amount of text that is considered for answer extraction from the beginning of the document. The amount of text in the document that exceeds this is therefore not relevant for the answer extraction.

    Max Search Results

    This option allows you to specify the number of results to be used to get the final answer.

    Default: 3

    Path to JSON with custom Relevance Factors

    This option allows you to specify a Path to a custom JSON File, that contains relevance factors.

    All of the configured “Relevance Factors” will override the default values. More information about Relevance Factors can be found here.

    SampleText from Beginning

    When enabled, the content of the document is returned to the response extraction service from the beginning.

    Detail Limit

    Overrides the “Detail Limit” in the search request. If the override is not desired, the “Don’t change” option can be selected.

    Note: The "Detail Limit" "Content" is required for extracting answers from text.

    Fallback OAuth Configuration (Advanced Settings)Permanent link for this heading

    OAuth authentication should only be required, if JWT authentication is disabled/not possible.

    OAuth-Token URL

    The URL of the Keycloak, where the OAuth-Token can be obtained.

    OAuth Username

    Username of your OAuth account.
    Default: admin

    OAuth Password

    Password of your OAuth account.

    OAuth Client-ID

    OAuth Client-ID.
    Default: mindbreeze-inspire-public

    Configuring the Client ServicePermanent link for this heading

    Note: All these client service settings are mandatory for the NLQA plugin.

    • In the MMC -> “Configuration” -> “Client Services”, select a Client Service, or add a new one by clicking on “Add Client Service”.
    • Under the section “Query Engines” select the index/indices to be searchable by this client service. Note: Adding an index to be searched by the client service, doesn’t affect the NLQA data sources.
    • To connect the Client Service to the NLQA service, enable “Advanced Settings”, and add the URL (https://localhost:<service bind port number>) of the NLQA service under the section “Federated Query Engines”.

    Pipeline ConfigurationPermanent link for this heading

    The NLQA Plugin uses two pipelines for text processing. A “Query Result Transformation Pipeline” is used for processing the answer returned by the index, and a “Query Expression Transformation Pipeline” is used for processing the natural language query and transforming it into a lower-level search query.

    Query Result Transformation PipelinePermanent link for this heading

    Template Definitions:

    When executing sub-queries with values from aggregations, this processor can be used to define the required aggregated metadata for a specific query template. The template file should then be located under: <query_templates_dir>/<template_name>.txt. These aggregated values can then be used inside of these query templates. The templates are processed by the templating engine Jinja (https://jinja.palletsprojects.com/en/3.0.x/).

    Normalize Text:

    This processor is responsible for normalizing the text and defining the importance of each infinitive word by its part of speech (PoS).
    Example: Verbs are usually important, but the verb "to be" does not contain any information. By adding "be" to the ignored patterns under the "Verb" entry, all variations of the verb (is, am, were, etc.) are ignored.

    Find Answers in Search Result: Is a processer responsible for extracting an answer from the search result text.

    Query Expression Transformation PipelinePermanent link for this heading

    Recognize Query Keywords: Similar processor to “Normalize Text” with more options to choose for the word importance:

    • Mandatory: Terms that must match.
    • Optional: Terms that do not necessarily have to match, but increase the score if they do match.
    • Ignored: Terms that are not necessary and not included in the search.

    These extracted keywords are then used for the actual search.

    Recognize Query Question Type: This processor determines which named entities (e.g. Person, Location) to search for, based on a question phrase.
    Example: Question Phrase=Who -> named entity=Person or Organization

    Entity Catalogs: This functionality is provided by two processors, “Recognize Entities from Catalogs”, and “Recognize Entities with Patterns and Keywords”. These processors can be used to define more detailed rules for recognizing entities.

    Recognize Question Intent:

    In this processor all intents + their requirements and a priority are configured. If multiple intents match, the one with the highest priority wins. Configurable criteria consist of:

    • Extracted entities (white- and blacklist)
    • Keywords in the question (white-and blacklist)
    • Required labels

    Extract Values from Spans:

    In order to use some data in the query-template, that is coming from spans, this processor can be used.

    The “Label Type” defines the type of the labels to use. There is also the option to filter for a specific “Label Value”. The “New Label Type” can be used to override the existing one. To add one value only once, the “Unique Values” option can be used. With “Use Label Data instead of Label Value” the label data of the original label is used as label value of the new one.

    Download PDF

    • Configuration - NLQA Plugin

    Content

    • Introduction
    • Installation
    • Configuration

    Download PDF

    • Configuration - NLQA Plugin