You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@nlpcraft.apache.org by Kamov Sergey <sk...@gmail.com> on 2021/10/07 06:36:20 UTC
nlpcraft version 2.0
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
Re: nlpcraft version 2.0
Posted by Aaron Radzinski <ar...@apache.org>.
+1
We've discussed this on Slack and it is a good summary. Changes are
big - but the simplifications would be even greater resulting in a
much simpler to use system without loss of any significant
functionality.
On Thu, Oct 7, 2021 at 8:55 AM Nikita Ivanov <ni...@gmail.com> wrote:
>
> +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 <sk...@gmail.com> 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
> >
> >
Re: nlpcraft version 2.0
Posted by Nikita Ivanov <ni...@gmail.com>.
+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 <sk...@gmail.com> 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
>
>