Re: Good first issue

2020-05-18 Thread Ifropc
Hi guys,

Thanks for your feedback. The idea sounds great!
Sergey, could you copy body of your last reply to the ticket?

I have questions regarding notation, should we support only prefix notation for 
now? I believe some functions might be written in infix and (probably) postfix 
notations in natural language.

Thanks,
Gleb.


Sent with ProtonMail Secure Email.

‐‐‐ Original Message ‐‐‐
On Monday, May 18, 2020 1:17 PM, Nikita Ivanov  wrote:

> Just a quick note:
> " temperature average" is a proper English and synonymous to "average
> temperature" and the "average of temperature". In other words, the word
> 'average' can be a noun, adjective or verb based on the context:
> https://www.merriam-webster.com/dictionary/average
>
> Thanks,
>
> --
>
> Nikita Ivanov
>
> On Mon, May 18, 2020 at 12:55 PM Sergey Kamov skhdlem...@gmail.com wrote:
>
> > Hi Gleb
> > What do you think about developing new probe side function enricher -
> > 'nlpcraft:function'?
> > Base idea of function enricher is search of maximum count of various
> > functions, with references to another elements.
> > For example:
> > Some model has user element 'x:temp' with synonym 'temperature'
> > So, for sentence 'show me average temperature', token 'average' should
> > be detected as element 'nlpcraft:function' with type 'avg' and relation
> > to 'x:temp' element.
> >
> > 1.  In general functions can be
> >
> > -   without argument
> > -   with one argument
> > -   with many arguments
> > (We can start from first two variants - as first step.)
> >
> >
> > 2.  Functions with arguments should have references to some another elements
> > It can be user element or some predefined elements like 'nlp:geo' etc.
> > Look at supported elements in the documentation.
> > (I suggest to define table, which describes, which functions can be
> > related with which elements)
> >
> > 3.  How to detect
> > Example:
> >
> >
> > -   average temperature - ok (element 'x:temp' is after word 'average')
> > -   temperature average - skipped(such functions cannot be after their
> > references)
> >
> > -   average - skipped (it doesn't have sense without any references)
> > -   average  temperature - skipped (references should
> > be after word without such gaps)
> >
> > -   average the temperature - ok (gaps which contain only stopwords are
> > possible)
> >
> >
> > 4.  This enricher should create token with
> >
> > -   name 'nlpcraft:function',
> > -   mandatory String property 'type' (function name),
> > -   optional java.util.List property 'indexes', which
> > -   omitted for function without arguments
> > -   has one length list of indexes for function with one argument
> > ("indexes" field name is hardcoded for internal enrichers and used 
> > in
> > some related components)
> > Maybe some additional optional parameters can be passed.
> >
> >
> > 5.  Supported functions kinds can be
> >
> > -   main math
> > -   sql
> > -   etc
> > (We can start from math and sql functions, and extend supported kinds
> > on next steps)
> >
> >
> > 6.  Look at Limit, Relation and Sort enrichers as examples,
> >
> > -   they have such references to another elements via 'indexes' fields.
> > -   also note please that this enricher also should be called in loop
> > (like mentioned above) because can have references to nested elements.
> >
> > -   look also please, how stop-words processed in these enrichers.
> > (if functions with multiple word-names exist, stopwords are suitable
> > inside these names, like 'X the Y' is ok as 'X Y' , where 'X Y' is
> > multiple words valid function name)
> >
> >
> > 7.  Functions names and all their synonyms (I guess mostly it can be
> > shortcuts) can be hardcoded.
> > Look at
> > 
> > org.apache.nlpcraft.server.nlp.enrichers.coordinate.NCCoordinatesEnricher
> > as example for numeric measures.
> >
> >
> > What do you think?
> > I suppose it can be good start for development.
> >
> > -   there are a lot of examples
> > -   such task can help to dip in the project structure.
> >
> > Please ask questions.
> > As result I think, we can create ticker with detailed described task.
> > What is your opinion on this task?
> > Sergey Kamov
> > 18.05.2020 22:37, Nikita Ivanov пишет:
> >
> > > Gleb Privet,
> > > Per our off-line discussion, I think functional enricher would be really
> > > great problem to tackle. I think Sergey K. will provide more details as
> > > he
> > > developed previous versions.
> > >
> > > Thank you and thank you for your contribution to the project so far!
> > >
> > > -
> 

[jira] [Commented] (NLPCRAFT-49) Probe hangs on stop

2020-05-18 Thread Sergey Makov (Jira)


[ 
https://issues.apache.org/jira/browse/NLPCRAFT-49?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17110860#comment-17110860
 ] 

Sergey Makov commented on NLPCRAFT-49:
--

Done.

> Probe hangs on stop
> ---
>
> Key: NLPCRAFT-49
> URL: https://issues.apache.org/jira/browse/NLPCRAFT-49
> Project: NLPCraft
>  Issue Type: Bug
>  Components: probe
>Reporter: Sergey Makov
>Assignee: Sergey Makov
>Priority: Major
>  Labels: pull-request-available
> Fix For: 0.6.0
>
>
> While setting up Github Actions I noticed that build frequently hangs on 
> Linux+JDK 11.
> Here are the last lines of build output:
> {code}
> 2020-05-14T15:14:35.5993184Z May-14 15:14:35 [INFO ] Dialog flow manager GC 
> stopped
> 2020-05-14T15:14:35.5994606Z May-14 15:14:35 [INFO ] NCDialogFlowManager 
> stopped.
> {code}
> Looks like there is some issue with threads/sockets termination in 
> {{NCCommandManager}} as it stops next after {{NCDialogFlowManager}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Closed] (NLPCRAFT-49) Probe hangs on stop

2020-05-18 Thread Sergey Makov (Jira)


 [ 
https://issues.apache.org/jira/browse/NLPCRAFT-49?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Makov closed NLPCRAFT-49.


> Probe hangs on stop
> ---
>
> Key: NLPCRAFT-49
> URL: https://issues.apache.org/jira/browse/NLPCRAFT-49
> Project: NLPCraft
>  Issue Type: Bug
>  Components: probe
>Reporter: Sergey Makov
>Assignee: Sergey Makov
>Priority: Major
>  Labels: pull-request-available
> Fix For: 0.6.0
>
>
> While setting up Github Actions I noticed that build frequently hangs on 
> Linux+JDK 11.
> Here are the last lines of build output:
> {code}
> 2020-05-14T15:14:35.5993184Z May-14 15:14:35 [INFO ] Dialog flow manager GC 
> stopped
> 2020-05-14T15:14:35.5994606Z May-14 15:14:35 [INFO ] NCDialogFlowManager 
> stopped.
> {code}
> Looks like there is some issue with threads/sockets termination in 
> {{NCCommandManager}} as it stops next after {{NCDialogFlowManager}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[GitHub] [incubator-nlpcraft] syermakov merged pull request #2: NLPCRAFT-49: Probe hangs on stop.

2020-05-18 Thread GitBox


syermakov merged pull request #2:
URL: https://github.com/apache/incubator-nlpcraft/pull/2


   



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org




[jira] [Assigned] (NLPCRAFT-49) Probe hangs on stop

2020-05-18 Thread Aaron Radzinski (Jira)


 [ 
https://issues.apache.org/jira/browse/NLPCRAFT-49?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aaron Radzinski reassigned NLPCRAFT-49:
---

Assignee: Sergey Makov  (was: Aaron Radzinski)

> Probe hangs on stop
> ---
>
> Key: NLPCRAFT-49
> URL: https://issues.apache.org/jira/browse/NLPCRAFT-49
> Project: NLPCraft
>  Issue Type: Bug
>  Components: probe
>Reporter: Sergey Makov
>Assignee: Sergey Makov
>Priority: Major
>  Labels: pull-request-available
> Fix For: 0.6.0
>
>
> While setting up Github Actions I noticed that build frequently hangs on 
> Linux+JDK 11.
> Here are the last lines of build output:
> {code}
> 2020-05-14T15:14:35.5993184Z May-14 15:14:35 [INFO ] Dialog flow manager GC 
> stopped
> 2020-05-14T15:14:35.5994606Z May-14 15:14:35 [INFO ] NCDialogFlowManager 
> stopped.
> {code}
> Looks like there is some issue with threads/sockets termination in 
> {{NCCommandManager}} as it stops next after {{NCDialogFlowManager}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (NLPCRAFT-49) Probe hangs on stop

2020-05-18 Thread Aaron Radzinski (Jira)


[ 
https://issues.apache.org/jira/browse/NLPCRAFT-49?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17110804#comment-17110804
 ] 

Aaron Radzinski commented on NLPCRAFT-49:
-

Please proceed with merge to master & close the ticket.

> Probe hangs on stop
> ---
>
> Key: NLPCRAFT-49
> URL: https://issues.apache.org/jira/browse/NLPCRAFT-49
> Project: NLPCraft
>  Issue Type: Bug
>  Components: probe
>Reporter: Sergey Makov
>Assignee: Aaron Radzinski
>Priority: Major
>  Labels: pull-request-available
> Fix For: 0.6.0
>
>
> While setting up Github Actions I noticed that build frequently hangs on 
> Linux+JDK 11.
> Here are the last lines of build output:
> {code}
> 2020-05-14T15:14:35.5993184Z May-14 15:14:35 [INFO ] Dialog flow manager GC 
> stopped
> 2020-05-14T15:14:35.5994606Z May-14 15:14:35 [INFO ] NCDialogFlowManager 
> stopped.
> {code}
> Looks like there is some issue with threads/sockets termination in 
> {{NCCommandManager}} as it stops next after {{NCDialogFlowManager}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


Re: Good first issue

2020-05-18 Thread Nikita Ivanov
Just a quick note:
" temperature average" is a proper English and synonymous to "average
temperature" and the "average of temperature". In other words, the word
'average' can be a noun, adjective or verb based on the context:
https://www.merriam-webster.com/dictionary/average

Thanks,
--
Nikita Ivanov



On Mon, May 18, 2020 at 12:55 PM Sergey Kamov  wrote:

> Hi Gleb
> What do you think about developing new probe side function enricher -
> 'nlpcraft:function'?
>
> Base idea of function enricher is search of maximum count of various
> functions, with references to another elements.
> For example:
> Some model has user element 'x:temp'  with synonym 'temperature'
> So, for sentence 'show me average temperature', token 'average' should
> be detected as element 'nlpcraft:function' with type 'avg' and relation
> to 'x:temp' element.
>
> 1. In general functions can be
>   - without argument
>   - with one argument
>   - with many arguments
> (We can start from first two variants - as first step.)
>
> 2. Functions with arguments should have references to some another elements
> It can be user element or some predefined elements like 'nlp:geo' etc.
> Look at supported elements in the documentation.
> (I suggest to define table, which describes, which functions can be
> related with which elements)
>
> 3. How to detect
> Example:
>   - average temperature - ok (element 'x:temp' is after word 'average')
>   - temperature average - skipped(such functions cannot be after their
> references)
>   - average - skipped (it doesn't have sense without any references)
>   - average  temperature - skipped (references should
> be after word without such gaps)
>   - average the temperature - ok (gaps which contain only stopwords are
> possible)
>
>
> 4. This enricher should create token with
>   - name 'nlpcraft:function',
>   - mandatory String property 'type' (function name),
>   - optional java.util.List property 'indexes', which
>  - omitted for function without arguments
>  - has one length list of indexes for function with one argument
>("indexes" field name is hardcoded for internal enrichers and used in
> some related components)
>Maybe some additional optional parameters can be passed.
>
> 5. Supported functions kinds can be
>   - main math
>   - sql
>   - etc
>   (We can start from math and sql functions, and extend supported kinds
> on next  steps)
>
> 6. Look at Limit, Relation and Sort enrichers as examples,
>   - they have such references to another elements via 'indexes' fields.
>   - also note please that this enricher also should be called in loop
> (like mentioned above) because can have references to nested elements.
>   - look also please, how stop-words processed in these enrichers.
>   (if functions with multiple word-names exist, stopwords are suitable
> inside these names, like 'X the Y' is ok as 'X Y' , where 'X Y' is
> multiple words valid function name)
>
> 7. Functions names and all their synonyms  (I guess mostly it can be
> shortcuts) can be hardcoded.
> Look at
> org.apache.nlpcraft.server.nlp.enrichers.coordinate.NCCoordinatesEnricher
> as example for numeric measures.
>
> What do you think?
> I suppose it can be good start for development.
>   - there are a lot of examples
>   - such task can help to dip in the project structure.
>
> Please ask questions.
> As result I think, we can create ticker with detailed described task.
>
>
> What is your opinion on this task?
>
>
> Sergey Kamov
>
>
> 18.05.2020 22:37, Nikita Ivanov пишет:
> > Gleb Privet,
> > Per our off-line discussion, I think functional enricher would be really
> > great problem to tackle. I think Sergey K. will provide more details as
> he
> > developed previous versions.
> >
> > Thank you and thank you for your contribution to the project so far!
> > --
> > Nikita Ivanov
> >
> >
> >
> > On Sun, May 17, 2020 at 12:35 PM Ifropc 
> > wrote:
> >
> >> Hello everybody!
> >>
> >> First of all, thank you for your feedback on my pull request!
> >> During working on my first issue, I was getting to know some high-level
> >> abstractions of Scala implementation. But I would like to dig a little
> bit
> >> deeper and get more in-depth knowledge of NLPCraft.
> >> Could you recommend some Jira issue which is good for starters?
> >>
> >> Thanks,
> >> Gleb.
>


Re: Good first issue

2020-05-18 Thread Sergey Kamov

Hi Gleb
What do you think about developing new probe side function enricher -  
'nlpcraft:function'?


Base idea of function enricher is search of maximum count of various 
functions, with references to another elements.

For example:
Some model has user element 'x:temp'  with synonym 'temperature'
So, for sentence 'show me average temperature', token 'average' should 
be detected as element 'nlpcraft:function' with type 'avg' and relation 
to 'x:temp' element.


1. In general functions can be
 - without argument
 - with one argument
 - with many arguments
(We can start from first two variants - as first step.)

2. Functions with arguments should have references to some another elements
It can be user element or some predefined elements like 'nlp:geo' etc. 
Look at supported elements in the documentation.
(I suggest to define table, which describes, which functions can be 
related with which elements)


3. How to detect
Example:
 - average temperature - ok (element 'x:temp' is after word 'average')
 - temperature average - skipped(such functions cannot be after their 
references)

 - average - skipped (it doesn't have sense without any references)
 - average  temperature - skipped (references should 
be after word without such gaps)
 - average the temperature - ok (gaps which contain only stopwords are 
possible)



4. This enricher should create token with
 - name 'nlpcraft:function',
 - mandatory String property 'type' (function name),
 - optional java.util.List property 'indexes', which
    - omitted for function without arguments
    - has one length list of indexes for function with one argument
  ("indexes" field name is hardcoded for internal enrichers and used in 
some related components)

  Maybe some additional optional parameters can be passed.

5. Supported functions kinds can be
 - main math
 - sql
 - etc
 (We can start from math and sql functions, and extend supported kinds 
on next  steps)


6. Look at Limit, Relation and Sort enrichers as examples,
 - they have such references to another elements via 'indexes' fields.
 - also note please that this enricher also should be called in loop 
(like mentioned above) because can have references to nested elements.

 - look also please, how stop-words processed in these enrichers.
 (if functions with multiple word-names exist, stopwords are suitable 
inside these names, like 'X the Y' is ok as 'X Y' , where 'X Y' is 
multiple words valid function name)


7. Functions names and all their synonyms  (I guess mostly it can be 
shortcuts) can be hardcoded.
Look at 
org.apache.nlpcraft.server.nlp.enrichers.coordinate.NCCoordinatesEnricher 
as example for numeric measures.


What do you think?
I suppose it can be good start for development.
 - there are a lot of examples
 - such task can help to dip in the project structure.

Please ask questions.
As result I think, we can create ticker with detailed described task.


What is your opinion on this task?


Sergey Kamov


18.05.2020 22:37, Nikita Ivanov пишет:

Gleb Privet,
Per our off-line discussion, I think functional enricher would be really
great problem to tackle. I think Sergey K. will provide more details as he
developed previous versions.

Thank you and thank you for your contribution to the project so far!
--
Nikita Ivanov



On Sun, May 17, 2020 at 12:35 PM Ifropc 
wrote:


Hello everybody!

First of all, thank you for your feedback on my pull request!
During working on my first issue, I was getting to know some high-level
abstractions of Scala implementation. But I would like to dig a little bit
deeper and get more in-depth knowledge of NLPCraft.
Could you recommend some Jira issue which is good for starters?

Thanks,
Gleb.


Re: Good first issue

2020-05-18 Thread Nikita Ivanov
Gleb Privet,
Per our off-line discussion, I think functional enricher would be really
great problem to tackle. I think Sergey K. will provide more details as he
developed previous versions.

Thank you and thank you for your contribution to the project so far!
--
Nikita Ivanov



On Sun, May 17, 2020 at 12:35 PM Ifropc 
wrote:

> Hello everybody!
>
> First of all, thank you for your feedback on my pull request!
> During working on my first issue, I was getting to know some high-level
> abstractions of Scala implementation. But I would like to dig a little bit
> deeper and get more in-depth knowledge of NLPCraft.
> Could you recommend some Jira issue which is good for starters?
>
> Thanks,
> Gleb.


[jira] [Closed] (NLPCRAFT-46) Release instructions

2020-05-18 Thread Sergey Kamov (Jira)


 [ 
https://issues.apache.org/jira/browse/NLPCRAFT-46?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Kamov closed NLPCRAFT-46.


> Release instructions
> 
>
> Key: NLPCRAFT-46
> URL: https://issues.apache.org/jira/browse/NLPCRAFT-46
> Project: NLPCraft
>  Issue Type: Bug
>  Components: docs
>Reporter: Sergey Kamov
>Assignee: Sergey Kamov
>Priority: Major
> Fix For: 0.6.0
>
>
> Prepare release instructions



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (NLPCRAFT-49) Probe hangs on stop

2020-05-18 Thread Sergey Kamov (Jira)


 [ 
https://issues.apache.org/jira/browse/NLPCRAFT-49?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Kamov updated NLPCRAFT-49:
-
Fix Version/s: 0.6.0

> Probe hangs on stop
> ---
>
> Key: NLPCRAFT-49
> URL: https://issues.apache.org/jira/browse/NLPCRAFT-49
> Project: NLPCraft
>  Issue Type: Bug
>  Components: probe
>Reporter: Sergey Makov
>Assignee: Aaron Radzinski
>Priority: Major
>  Labels: pull-request-available
> Fix For: 0.6.0
>
>
> While setting up Github Actions I noticed that build frequently hangs on 
> Linux+JDK 11.
> Here are the last lines of build output:
> {code}
> 2020-05-14T15:14:35.5993184Z May-14 15:14:35 [INFO ] Dialog flow manager GC 
> stopped
> 2020-05-14T15:14:35.5994606Z May-14 15:14:35 [INFO ] NCDialogFlowManager 
> stopped.
> {code}
> Looks like there is some issue with threads/sockets termination in 
> {{NCCommandManager}} as it stops next after {{NCDialogFlowManager}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Closed] (NLPCRAFT-48) Add java client project to Jenkins and update README badges.

2020-05-18 Thread Sergey Makov (Jira)


 [ 
https://issues.apache.org/jira/browse/NLPCRAFT-48?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Makov closed NLPCRAFT-48.


> Add java client project to Jenkins and update README badges.
> 
>
> Key: NLPCRAFT-48
> URL: https://issues.apache.org/jira/browse/NLPCRAFT-48
> Project: NLPCraft
>  Issue Type: Task
>  Components: build, java-client
>Reporter: Aaron Radzinski
>Assignee: Sergey Makov
>Priority: Major
>  Labels: pull-request-available
> Fix For: 0.6.0
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (NLPCRAFT-48) Add java client project to Jenkins and update README badges.

2020-05-18 Thread Sergey Makov (Jira)


[ 
https://issues.apache.org/jira/browse/NLPCRAFT-48?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17110358#comment-17110358
 ] 

Sergey Makov commented on NLPCRAFT-48:
--

Done.

> Add java client project to Jenkins and update README badges.
> 
>
> Key: NLPCRAFT-48
> URL: https://issues.apache.org/jira/browse/NLPCRAFT-48
> Project: NLPCraft
>  Issue Type: Task
>  Components: build, java-client
>Reporter: Aaron Radzinski
>Assignee: Sergey Makov
>Priority: Major
>  Labels: pull-request-available
> Fix For: 0.6.0
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[GitHub] [incubator-nlpcraft-java-client] syermakov merged pull request #1: NLPCRAFT-48: Setup automated builds.

2020-05-18 Thread GitBox


syermakov merged pull request #1:
URL: https://github.com/apache/incubator-nlpcraft-java-client/pull/1


   



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org




Re: [VOTE] Release Apache NLPCraft - Java Client 0.5.0

2020-05-18 Thread Sergey Makov
+1

Tested on MacOS only:
 - maven checked (mvn clean package verify)
 - signatures checked

 Regards,
 Sergey

On Sun, May 17, 2020 at 4:10 AM Aaron Radzinski  wrote:
>
> NLPCraft-ers,
> This is the vote for release of NLPCraft Java Client v0.5.0. Note that this
> is the first ASF release of Java Client sub-project within Apache NLPCraft.
>
> Quick links:
> 1. Apache dist location
> 
> 1. Link for ZIP tarball
> 
> (SHA256
> ,
> PGP
> 
> )
> 2. GitHub v0.5.0 tag
> 
>
> The vote is formal, see voting guidelines here:
> https://www.apache.org/foundation/voting.html
> +1 - to accept Apache NLPCraft - Java Client 0.5.0
> 0 - don't care either way
> -1 - DO NOT accept Apache NLPCraft 0.5.0 - Java Client (explain why)
>
> See notes on how to verify release here:
> https://www.apache.org/info/verification.html
>
> The vote will be held for 72 hours and will end on May 19, 2020 at midnight
> MSK.
>
> Thank you!


Re: [VOTE] Release Apache NLPCraft - Java Client 0.5.0

2020-05-18 Thread Sergey Kamov

+1

 - Files checked

 - maven checked

 - project created and tests executed


Some remarks:

 - pom.ml scm tag is incorrect (set as HEAD but should be same as tag 
name, see bin/MAVEN-RELEASE.md, "Make Apache Release")

 - I guess better to configure tests execution on maven verify phase


Regards,

Sergey


+1 from me:

Checked:
- LICENSE
- NOTICE
- DISCLAIMER
- Apache RAT
- mvn clean package
- mvn clean verify

BTW: link to Git tag should be:
https://gitbox.apache.org/repos/asf?p=incubator-nlpcraft-java-client.git;a=tag;h=refs/tags/v0.5.0

Thanks,
--
Nikita Ivanov


Sergey

17.05.2020 04:10, Aaron Radzinski пишет:

NLPCraft-ers,
This is the vote for release of NLPCraft Java Client v0.5.0. Note that this
is the first ASF release of Java Client sub-project within Apache NLPCraft.

Quick links:
1. Apache dist location

1. Link for ZIP tarball

(SHA256
,
PGP

)
2. GitHub v0.5.0 tag


The vote is formal, see voting guidelines here:
https://www.apache.org/foundation/voting.html
+1 - to accept Apache NLPCraft - Java Client 0.5.0
0 - don't care either way
-1 - DO NOT accept Apache NLPCraft 0.5.0 - Java Client (explain why)

See notes on how to verify release here:
https://www.apache.org/info/verification.html

The vote will be held for 72 hours and will end on May 19, 2020 at midnight
MSK.

Thank you!