Changelog
- [x]: feat: xlmr.py, adding support for feature engineering with prompts.
- [x]: feat: AddressParser plugin using google maps and map my india.
- fix: Stanza download instructions removed from
ListSearchPlugin
.
- feat: A DSL for error-recovery and transitions.
- update: multiple slots can be filled if multiple entities are supposed to fill each slot.
- fix: Filling multiple slots with multiple entities was disabled.
- feat: We fill slots using
expected_slots
if present.
- fix: slots returned in sorted order of scores.
- fix: duckling datetime parsing for year > 9999. We won't return entities in these cases.
- feat: A rule engine to define intent transitions.
- fix: #148
- add: Support python for 3.10.
- fix:
XLMRMultiClass::inference
type signature forstate
.
- fix: Exceptions that leak over turns. #136
- add: Support for grouping by regex match. #135
- fix: Remove zen of python from all commands.
- refactor: Faster test runs.
- refactor: Deserializer avoids if-else hell.
- update: Plugin debug flags are anded with Workflow's debug flags.
- feat: XLMR plugin now supports state as a feature.
- add:
original_intent
to store the initial classifier output. - add: plugin to track
original_intent
.
- fix: DucklingPlugin's unreliable use of latent entities.
- feat: Temperature scaling for XLMR classifier.
- fix: Slot structure need not be redefined in templates.
- update: Type-casted Time entities acquire score from the original (Numerical, Duration) entities.
- update: Numerical entities can be casted as time.
- fix: Plugins don't overwrite the Output object unless they are meant to.
- feat:
DurationEntity
are cast asTimeEntity
by default.-
DucklingPlugin
uses temporal intents to understand cast direction i.e. add duration to reference time or subtract.
-
- [x]: docs: Heavy addition of examples for types, plugins and base types.
- [x]: fix: Entity structures are uniform in terms of
value
andvalues
attributes. - [x]: feat: Guards prevent plugins from running.
- fix:
entity.entity_type
andentity.type
hold separate meaning. - update: Plugins no longer need
access
ormutate
functions. - update:
Workflow
hasInput
andOutput
objects.
- feat: plugin to merge previously tracked datetime entities with currently extracted datetime entities.
- feat: New entity type credit-card / debit-card supported via
PlasticCurrencyEntity
.
- feat: Sklearn based MLP classifier added as a plugin with gridsearch.
- fix: XLM classifier wasn't using xlmrobert, but bert instead.
- feat: ListSearchPlugin can find keyword entities via fuzzy search.
- feat: LBPlugin a Duckling extension that has dedicated selection strategies for date, time and datetime.
- feat: conditional latent entities.
- feat: WER calibration plugin.
- fix: ListEntityPlugin performed aggregation over entities twice leading to lesser than actual scores.
- fix: Workflow is thread safe.
- fix: Merge asr plugin on non-json inputs crashes workflow runs.
- feat: Canonicalization plugin.
- update: DucklingPlugin, ListEntityPlugin have transform methods.
- docs: Explain plugins in terms of workflow lifecycle.
- update: dialogy cli has updated project creation and migration.
- add: dialogy cli can also train and test workflows.
- update: WER calibration refactored to contain core logic.
- update: Deprecated post-processors and pre-processors.
- feat: trainable plugins.
- update: Drop support for python 3.7
- update: WER calibration as a plugin.
- add: WER calibration. This plugin can eliminate ASR alternatives if acoustic model and language model scores are available.
- add: Template migration
dialogy update <project>
. - add:
DucklingPlugin
tracks network issues and optionally returns entities collected till failure.
- fix: Entity scoring within
EntityExtractor
andDucklingPlugin
. - fix: CurrencyEntity added to operate on
amount-of-money
dimension. - add: TimeIntervalEntities sometimes may contain a hybrid structure that resembles some values as
TimeEntities
.
- add:
KeywordEntity
entity-type class. - refactor:
ListEntityPlugin
doesn't need an entity map. UsesKeywordEntity
instead. - refactor: breaking All plugins are now available under:
dialogy.plugins
. - refactor:
Workflow
can be serialized.
- docs: Better error message for --
DucklingPlugin
comparison requires reference time to be unix timestamp. - fix:
DucklingPlugin
doesn't return duplicate entities when a list of strings is input. - add:
DucklingPlugin
produces a score that can be compared against a threshold. - fix:
DucklingPlugin
doesn't remove other entities ifdatetime_filter
is used.
- fix: #46
ListEntityPlugin
overwrites if there are mutlipleentity_value
patterns for the sameentity_type
. - fix: #47
DucklingPlugin
compares int vs int forDuckling.FUTURE
andDuckling.PAST
feature comparison.
- fix:
ListEntityPlugin
- Now supports a map for entity-type, entity-values for keyword based entities.
- Fixed bug that returns
None
when custom entity classes are required.
- feat: future or past datetime only support from
DucklingPlugin
.
- feat: spacy, pattern entity parsing from list support.
- refactor: Plugin class to prevent repeated code in subclasses.
- refactor: @debug -> @dbg to prevent name collisions.
- feat: support for building from local git templates optionally,
--vcs
takes"TAG"
or"HEAD"
. if the user provides--vcs
as"TAG"
, thendialogy
takes the template's latest released tag commit. if the user provides--vcs
as"HEAD"
, thendialogy
takes the template's present git branch's recent commit. - update: [BREAKING]
DucklingPlugin
expects the locale from the access method as well.
- feat:
dialogy create <project-name>
, we can drop the template name! - deprecate: DucklingParser set for deprecation.
- add: DucklingPlugin. (#28)
- add: DucklingPlugin supports association of custom entities with dimensions. (8d7fbc47)
- refactor: DucklingParser had methods that parsed and restructured json to be compatible with a certain class structure. This made it hard to execute
BaseEntity.from_dict(duckling_json)
. These methods are now part of individualEntity
class. (#28)
- fix:
entity.entity_type
andentity.type
mirror each other till one of them is deprecated. (#15) - update: Slot filling doesn't require entities to contain slot related information. (#16)
- add:
debug_logs
decorators available to all plugin methods.
- docs: moved from pycco to sphinx. (bed0a6)
- update: reference time made to be an optional parameter for
DucklingParser
. (d7d8b39) - add: Means to
normalize
4 formats in which alternatives are usually presented. (5b6c8c) - update: Prevents accidental loss of data if template fails. (e2be8c)
- add: Slot filler plugin via (#7).