Skip to main content
.NETStandard2.1

Adds custom recognizers (DynamicList) which use Lucene.Net to Bot Framework and Bot Composer.

Published
Apr 15, 2023
3y ago
Total Downloads
3.4K
3,423

Install

dotnet add package Iciclecreek.Bot.Builder.Dialogs.Recognizers.Lucene --version 4.19.0
ProductVersions
.NET Standard
netstandard2.1

README

DynamicListRecognizer

Dynamic lists are lists which are contextual and so not cannot be built into a model like LUIS Recognizer. LUIS Recognizer allows you to define an external recognizer which is executed first. The results of the external recognizer can be passed to a recognizer like LUIS for it to consume.

This is super useful in situations where you need to recognize something contextual, like the names of people partipating in a conversation.

The DyanmicListRecognizer allows you to specify a list of entities to recgonize, and uses Lucene to do the recognition.

Usage

Add nuget package

Add Iciclecreek.Bot.Builder.Dialogs.Recognizers.Lucene nuget reference to your project.

To add to your schema for usage in Bot Framework Composer from cli:

bf dialog:merge -p yourproj.proj -o your.schema

Define a dynamic list recognizer as input to a luis recognizer

{
    "$kind": "Microsoft.LuisRecognizer",
    ...
    "externalEntityRecognizer": {
        "$kind": "Iciclecreek.DynamicListRecognizer",
        "dynamicList": {
        ...
        },
        "fuzzyMatch":false
    }
}

See https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.cognitiveservices.language.luis.runtime.models.dynamiclist.-ctor?view=azure-dotnet for shape of dynamiclist

Changes from Previous Version

No structural changes between v4.16.0 and v4.19.0.

Adoption Assessment

Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.

Compatibility metadata lists 1 target framework; confirm the exact target used by your application.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.