Lucy.net
1.0.12-preview
dotnet add package Lucy.net --version 1.0.12-preview
NuGet\Install-Package Lucy.net -Version 1.0.12-preview
<PackageReference Include="Lucy.net" Version="1.0.12-preview" />
paket add Lucy.net --version 1.0.12-preview
#r "nuget: Lucy.net, 1.0.12-preview"
// Install Lucy.net as a Cake Addin #addin nuget:?package=Lucy.net&version=1.0.12-preview&prerelease // Install Lucy.net as a Cake Tool #tool nuget:?package=Lucy.net&version=1.0.12-preview&prerelease
Lucy Overview
Lucy is an Entity Recognition engine which defines a simple yaml syntax for recognizing entities in text.
Core concept
Lucy's core concept is that:
Entities are cascading patterns of tokens and entities.
Lucy focuses on capturing your knowledge by focusing on token patterns.
Token patterns are a natural way of building a model, because it allows you to focus on the fragments of information you understand in way that is instantly testable and naturally builds up to more complex entities.
Key tenants
Tenant 1: Minimize concept count
Lucy has 2 core concepts:
- Name your Entities - name each entity in your system.
- Define their Patterns - Define entity patterns as simple sequences of tokens and other entities.
Tenant 2: Instant feedback
When authoring you want immediate feedback on the impact of your changes. Lucy acheives this by not requiring any training or even CLI tool to be invoked to see the results of your changes.
Tenant 3: Maximize your input
Traditional ML systems require you to "invent" many permutations of sentence structure and the laboriously label them for the system to understand your patterns.
Lucy focuses on a syntax which needs minimal changes to affect your desired outcome and maximizes the reuse.
Lucy's relationship to ML
The Lucy engine can be run on it's own and work perfectly fine, but it can also be coupled with existing LU engines such as LUIS or Orchestrator to great benefit.
- External Entity Recognizer - Lucy can be used as a runtime source of external entities to a machine learning system such as LUIS.
- Generate LU files - Lucy can be used to generate .LU files which can contain labeled examples and entity references.
Language support
There are 2 factors controlling language support in Lucy.
Tokenizers
Lucy uses off the shelf Lucene token analyzers to tokenize text into tokens. There are currently token analyzers for 29 lanuages:
- Arabic Armenian Basque Catalan Chinese Czech Danish Dutch English Finnish French Galician German Greek Hindi Hungarian Chinese Japanese Korean Indonesian Irish Italian Latvian Norwegian Persian Portuguese Romanian Russian Spanish Swedish Turkish
Microsoft.Text.Recognizers
The Microsoft.Text.Recognizers libraries provide support for core entity types:
- age boolean currency datetime dimension email guid hashtag ip mention number numberrange ordinal percentage phonenumber temperature url
Microsoft.Text.Recognizers support 15 languages
- Arabic Bulgarian Chinese German English Spanish French Hindi Italian Japanese Korean Dutch Portuguese Swedish Turkish
See Microsoft.Text.Recognizers for a complete listing of languages and support.
Product | Versions 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. |
-
.NETStandard 2.1
- Lucene.Net.Analysis.Common (>= 4.8.0-beta00013)
- Lucene.Net.Analysis.Phonetic (>= 4.8.0-beta00013)
- Lucene.Net.QueryParser (>= 4.8.0-beta00013)
- Microsoft.Recognizers.Text (>= 1.8.3)
- Microsoft.Recognizers.Text.Choice (>= 1.8.3)
- Microsoft.Recognizers.Text.DataTypes.TimexExpression (>= 1.8.3)
- Microsoft.Recognizers.Text.DateTime (>= 1.8.3)
- Microsoft.Recognizers.Text.Number (>= 1.8.3)
- Microsoft.Recognizers.Text.NumberWithUnit (>= 1.8.3)
- Microsoft.Recognizers.Text.Sequence (>= 1.8.3)
- Newtonsoft.Json (>= 12.0.3)
- YamlDotNet (>= 11.1.1)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Lucy.net:
Package | Downloads |
---|---|
Iciclecreek.Bot.Builder.Dialogs.Recognizers.Lucy
Adds custom LucyRecognizer (using Lucy.Net entity recognition) to Bot Framework and Bot Composer. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.12-preview | 1,113 | 4/22/2022 |
1.0.11-preview | 132 | 4/22/2022 |
1.0.10-preview | 512 | 4/21/2022 |
1.0.9-preview | 636 | 5/29/2021 |
1.0.8-preview | 670 | 3/14/2021 |
1.0.6-preview | 438 | 3/8/2021 |
1.0.5-preview | 499 | 2/3/2021 |
1.0.4-preview | 246 | 2/3/2021 |
1.0.3-preview | 386 | 12/31/2020 |
1.0.2-preview | 391 | 12/29/2020 |
1.0.1-preview | 314 | 12/28/2020 |
1.0.0-preview | 173 | 12/28/2020 |