+1

Good thoughts and direction. Current version is clearly over-engineered.
Even demos and presentations are taxing...
--
Nikita Ivanov



On Wed, Oct 6, 2021 at 11:36 PM Kamov Sergey <[email protected]> wrote:

> Hi NLPCraft-ers,
>
> When we have been working on new project examples - we found that we
> tried too hard to extend possibilities and configuration flexibility of
> our system.
> Currently the difficulty of usage understanding outweighs the product
> advantages.
> Based on this examples developing experience, I would suggest the bunch
> of changes for nlpcraft version 2.0.
>
> There are 4 goals for improvements
>
> 1) Simplifying
>   - drop server/probe architecture. Server should be deleted, probe
> component should support java API (to be used in embedded mode) and same
> API via REST.
>   - drop (at least in initial 2.0 version) all built enrichers (DATE,
> NUM, GEO, COORDINATE, LIMIT, SORT, RELATION). It is not main part of
> project.
>   - drop (at least in initial 2.0 version) all python related services
> (synonyms suggestion, spacy integration etc)
>   - drop Apache Ignite usage. h2 files based can be used by default
> datasource (few databases should be supported, it is not big headache).
>     Main idea that we should have the possibility to work with zero
> configuration (h2) but can use another db for production.
>   - drop sql utility and example
>   - model enricher is still base component for user defined elements,
> but we should I guess
>     - drop support of sparsity, abstract tokens, and permutations in
> synonyms
>     - drop IDL usage from synonyms, drop support
>   - IDL used for intents only. User defined java functions can be
> supported some way for usage in IDL
>
> Some features can be returned in next versions according to new
> architecture.
>
> 2) New features
>   - confirmation API
>   - curation API ?
>   - multi-language support (usage stop-words, spell-checking, swearword
> and suspicious words should be configured via plugins with default EN
> implementation)
>
> 3) technical issues
>   - scala 3 support (for implementation)
>   - probe IoC friendly design (it shouldn't be not standalone server
> with static lifecycle methods)
>
> 4) Extending user defined components support (pluggability)
>   - It is already described above: multi-language support and IDL user
> defined java functions.
>
> I know that the are big changes, but I guess it can significantly
> improve quitily of project (technical dept should be decreased) and
> refine the focus of the project.
> What do you think?
>
>
> Regards,
>
> Sergey
>
>

Reply via email to