AccessibleAI.Bots.LanguageUnderstanding 0.0.14-dev

This is a prerelease version of AccessibleAI.Bots.LanguageUnderstanding.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package AccessibleAI.Bots.LanguageUnderstanding --version 0.0.14-dev                
NuGet\Install-Package AccessibleAI.Bots.LanguageUnderstanding -Version 0.0.14-dev                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AccessibleAI.Bots.LanguageUnderstanding" Version="0.0.14-dev" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add AccessibleAI.Bots.LanguageUnderstanding --version 0.0.14-dev                
#r "nuget: AccessibleAI.Bots.LanguageUnderstanding, 0.0.14-dev"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install AccessibleAI.Bots.LanguageUnderstanding as a Cake Addin
#addin nuget:?package=AccessibleAI.Bots.LanguageUnderstanding&version=0.0.14-dev&prerelease

// Install AccessibleAI.Bots.LanguageUnderstanding as a Cake Tool
#tool nuget:?package=AccessibleAI.Bots.LanguageUnderstanding&version=0.0.14-dev&prerelease                

AccessibleAI.Bots.LanguageUnderstanding

The CLU Helpers project is designed to make interacting with Conversational Language Understanding (CLU) and Orchestration easier while the new version of the .NET SDK is still in development.

This package also includes logic for working with CLU-based chit-chat libraries in an object-oriented manner.

Intent Resolvers

IIntentResolvers map an utterance string to a LanguageResult for that utterance.

CluIntentResolver

The CluIntentResolver class allows you to match an intent with its entities from an utterance using Conversational Language Understanding (CLU).

Its usage is as follows:

CluIntentResolver clu = new CluIntentResolver(_config["CluEndpoint"], _config["CluToken"], _config["CluProject"], _config["CluDeployment"]);

string utterance = context.Activity.Text;

CluResult cluResult = clu.FindIntent(utterance);

switch (cluResult.TopIntent) 
{
	case "Hello":
		await turnContext.SendActivityAsync(MessageFactory.Text("Hi there!"), cancellationToken);
		break;

	case "WantToBuy":
		EntityMatch? entity = intent.GetEntity("ItemToPurchase");
		if (entity != null)
		{
			await turnContext.SendActivityAsync(MessageFactory.Text($"You want to buy {entity.ListKey}"), cancellationToken);
		} else {
			await turnContext.SendActivityAsync(MessageFactory.Text("What exactly do you want to buy?"), cancellationToken);
		}
		break;

	default:
		await turnContext.SendActivityAsync(MessageFactory.Text("I don't know how to reply to " + cluResult.TopIntent), cancellationToken);
		break;
}

OrchestrationIntentResolver

TODO: This class is currently undocumented, but behaves similarly to CluIntentResolver.

LayeredOrchestrationIntentResolver

This class is an IIntentResolver that allows you to use multiple IIntentResolvers to resolve intents in a prioritized order. This can help with class imbalances between CLU projects or can help prioritize one layer over another.

PooledOrchestrationIntentResolver

This is a multiple IIntentResolver that pools the results of multiple IIntentResolvers and returns the most common intent, with optional weighting by layer priority. Under this model all layers will be asked for their opinion and the highest confidence wins.

Conversation

ChitChatHandlerBase

TODO: This class is currently early in development and is undocumented as a result

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.0.15-dev 135 9/22/2022
0.0.14-dev 110 9/22/2022
0.0.13-dev 96 9/21/2022
0.0.12-dev 105 9/21/2022
0.0.11-dev 123 9/20/2022
0.0.10-dev 125 9/20/2022
0.0.9-dev 124 9/20/2022
0.0.8-dev 119 9/19/2022

Using new core