This is an automated email from the ASF dual-hosted git repository.
aradzinski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft-website.git
The following commit(s) were added to refs/heads/master by this push:
new 6674ed3 WIP.
6674ed3 is described below
commit 6674ed3beca55f236ae1057ba16d7b215a5bf69f
Author: Aaron Radzinzski <[email protected]>
AuthorDate: Sat Apr 17 17:15:57 2021 +0300
WIP.
---
blogs/composable_named_entities.html | 8 +++---
community.html | 12 ++++----
data-model.html | 54 ++++++++++++++++++------------------
download.html | 4 +--
getting-started.html | 2 +-
integrations.html | 4 +--
intent-matching.html | 25 +++++++++++------
server-and-probe.html | 12 ++++----
tools/script.html | 10 +++----
tools/syn_tool.html | 6 ++--
tools/test_framework.html | 2 +-
using-rest.html | 6 ++--
12 files changed, 77 insertions(+), 68 deletions(-)
diff --git a/blogs/composable_named_entities.html
b/blogs/composable_named_entities.html
index 5cf932f..98b2f8f 100644
--- a/blogs/composable_named_entities.html
+++ b/blogs/composable_named_entities.html
@@ -66,7 +66,7 @@ publish_date: January 20, 2021
<p>
Let's take a look at several well-known NLP libraries that provide
built-in NER components.
</p>
- <h3 class="section-sub-title">Apache OpenNLP</h3>
+ <h2 class="section-sub-title">Apache OpenNLP <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
<img class="img-title" src="/images/opennlp-logo.png" height="48px"
alt="">
</p>
@@ -88,7 +88,7 @@ publish_date: January 20, 2021
Built-in models don’t see much of the development, if any at all, in
the last several years.
It appears that the main usage pattern of Apache OpenNLP is to build
and train your own models from scratch.
</p>
- <h3 class="section-sub-title">Stanford NLP</h3>
+ <h2 class="section-sub-title">Stanford NLP <a href="#"><i class="top-link
fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
<img class="img-title" src="/images/corenlp-logo.png" height="64px"
alt="">
</p>
@@ -122,7 +122,7 @@ publish_date: January 20, 2021
license if you intend to use it in any serious way. Documentation is
adequate at best and can be a
frustrating experience (like many academically driven software
projects).
</p>
- <h3 class="section-sub-title">Google Language API</h3>
+ <h2 class="section-sub-title">Google Language API <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<img class="img-title" src="/images/google-cloud-logo-small.png"
height="56px" alt="">
<p>
<a target="_blank"
href="https://cloud.google.com/natural-language">Google Language API</a>
supports the
@@ -142,7 +142,7 @@ publish_date: January 20, 2021
REST API inherently limits the performance of the final solution -
making it almost impossible to be used
in any “real-time” applications. Free only for a small number of
transactions, paid after that. Not open source.
</p>
- <h3 class="section-sub-title">spacy</h3>
+ <h2 class="section-sub-title">spacy <a href="#"><i class="top-link fas
fa-fw fa-angle-double-up"></i></a></h2>
<img id="spacy" class="img-title" src="/images/spacy-logo.png"
height="48px" alt="">
<p>
<a target="_blank" href="https://spacy.io">spaCy</a> is a Python
library that provides one of the best, if not the best, collection of NER
components.
diff --git a/community.html b/community.html
index 34a92a3..bb4bb5f 100644
--- a/community.html
+++ b/community.html
@@ -57,7 +57,7 @@ layout: interior
One of our community members will add you to the contributors'
list and you will be able to
go ahead and book NLPCraft tasks you would like to work on.
</p>
- <h3 class="section-sub-title">Dev List</h3>
+ <h2 class="section-sub-title">Dev List <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
This list is the primary and the default communication
channel: <a href="mailto:[email protected]">[email protected]</a>
</p>
@@ -80,13 +80,13 @@ layout: interior
dev list letting other contributors share their opinions. As a
summary, final decisions are made only
on the dev list.
</p>
- <h3 class="section-sub-title">Contribution Process</h3>
+ <h2 class="section-sub-title">Contribution Process <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
Before you start contributing, spend some time to get to know
how <a target="asf"
href="https://apache.org/foundation/how-it-works.html">Apache Software
Foundation</a>
works and <a target="asf"
href="https://www.apache.org/theapacheway/index.html">The Apache Way</a> that
helps
us, as a group of professionals, drive the project forward in
a respectful and inclusive way.
</p>
- <h3 class="section-sub-title">JIRA Tickets</h3>
+ <h2 class="section-sub-title">JIRA Tickets <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
<a target="jira"
href="https://issues.apache.org/jira/projects/NLPCRAFT/issues">NLPCraft JIRA</a>
drives all activities in the project. Any tasks, of any
complexity, for any component
@@ -99,7 +99,7 @@ layout: interior
suited for the quick start.
Still haven't found anything suitable? As always, check the
latest discussions on <a target="asf"
href="https://mail-archives.apache.org/mod_mbox/nlpcraft-dev/">[email protected]</a>
</p>
- <h3 class="section-sub-title">Git Workflow</h3>
+ <h2 class="section-sub-title">Git Workflow <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
NLPCraft project uses Git as its version control system. The
same Git workflow rules apply to all
sub-projects.
@@ -156,7 +156,7 @@ layout: interior
Merging should use Git <code>squashing</code> to minimize
number of intermittent commits.
</li>
</ul>
- <h3 class="section-sub-title">Creating GitHub Pull-Request</h3>
+ <h2 class="section-sub-title">Creating GitHub Pull-Request <a
href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<pre>
+------------+ +---------------+ +-----------------+
| | replica | | fork | |
@@ -241,7 +241,7 @@ layout: interior
than one pull request for one issue.
</p>
</div>
- <h3 class="section-sub-title">Become A Committer And PMC
Member</h3>
+ <h2 class="section-sub-title">Become A Committer And PMC Member <a
href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
We love contributions and gladly promote active contributors
to committers and PMC members!
If you are new to Apache Software Foundation then NLPCraft
will be an excellent starting point.
diff --git a/data-model.html b/data-model.html
index f9ec680..8383f06 100644
--- a/data-model.html
+++ b/data-model.html
@@ -276,7 +276,7 @@ public class AlarmModel extends NCModelFileAdapter {
own data model in the most uses cases.
</p>
</div>
- <h3 id="deployment" class="section-title">Deployment</h3>
+ <h2 id="deployment" class="section-title">Deployment <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
Data models get <a href="/server-and-probe.html">deployed</a> to
and hosted by the data probes - a lightweight
container whose job is to host data models and securely transfer
requests between REST server and the data
@@ -288,7 +288,7 @@ public class AlarmModel extends NCModelFileAdapter {
the data probe. Note also that data probe can be started in
embedded mode, i.e. it can be started
from within an existing JVM process like user application.
</p>
- <h3 id="callbacks" class="section-title">Callbacks</h3>
+ <h2 id="callbacks" class="section-title">Callbacks <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
There are two lifecycle callbacks on
<a target="javadoc"
href="/apis/latest/org/apache/nlpcraft/model/NCModel.html">NCModel</a> interface
@@ -564,7 +564,7 @@ intents:
built-in elements. You can, however, "wrap" built-in entity into
your own one using <code>^^id == 'external.id'^^</code>
<a href="#dsl">token DSL</a> expression where you can define all
necessary additional configuration properties (more on that below).
</p>
- <span id="synonyms" class="section-sub-title">Synonyms</span>
+ <span id="synonyms" class="section-sub-title">Synonyms <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></span>
<p>
NLPCraft uses fully deterministic named entity recognition and is
not based on statistical approaches that
would require pre-existing marked up data sets and extensive
training. For each model element you can either provide a
@@ -633,7 +633,7 @@ intents:
<li><code>getSynonyms()</code> - gets synonyms to match on.</li>
<li><code>getValues()</code> - get values to match on (see <a
href="#values">below</a>).</li>
</ul>
- <span id="macros" class="section-sub-title">Macros</span>
+ <span id="macros" class="section-sub-title">Macros <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></span>
<p>
Listing all possible multi-word synonyms for a given element can
be a time-consuming task. Macros
together with option groups allow for significant simplification
of this task.
@@ -665,7 +665,7 @@ intents:
}
]
</pre>
- <span id="option-groups" class="section-sub-title">Option Groups</span>
+ <span id="option-groups" class="section-sub-title">Option Groups <a
href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></span>
<p>
Option groups are similar to wildcard patterns that operates on a
single word base. One line of
option group expands into one or more individual synonyms. Option
groups is the key mechanism for shortened
@@ -811,7 +811,7 @@ intents:
]
...
</pre>
- <span id="regex" class="section-sub-title">Regular Expressions</span>
+ <span id="regex" class="section-sub-title">Regular Expressions <a
href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></span>
<p>
Any individual synonym word that starts and ends with
<code>//</code> (two forward slashes) is
considered to be Java regular expression as defined in
<code>java.util.regex.Pattern</code>. Note that
@@ -841,7 +841,7 @@ intents:
of your model to ensure it meets your expectations.
</p>
</div>
- <span id="values" class="section-sub-title">Element Values</span>
+ <span id="values" class="section-sub-title">Element Values <a
href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></span>
<p>
Model element can have an optional set of special synonyms called
<em>values</em> or proper nouns for this element.
Unlike basic synonyms, each value is a pair of a name and a set of
standard synonyms by which that value,
@@ -911,7 +911,7 @@ intents:
<p>
Note that element value can be used in token and intent DSLs.
</p>
- <span id="groups" class="section-sub-title">Element Groups</span>
+ <span id="groups" class="section-sub-title">Element Groups <a
href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></span>
<p>
Each model element belongs to one or more groups. Model element
provides its groups via
<a target="javadoc"
href="/apis/latest/org/apache/nlpcraft/model/NCElement.html#getGroups()">getGroups()</a>
method.
@@ -937,7 +937,7 @@ intents:
<p>
Note that token's groups can be used in token and intent DSLs.
</p>
- <span id="parent" class="section-sub-title">Element Parent</span>
+ <span id="parent" class="section-sub-title">Element Parent <a
href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></span>
<p>
Each model element can form an optional hierarchical relationship
with other element by specifying its
parent element ID via <a target="javadoc"
href="/apis/latest/org/apache/nlpcraft/model/NCElement.html#getParentId()">getParentID()</a>
method. The main idea here is that sometimes model elements can act not only
individually but
@@ -1041,7 +1041,7 @@ intents:
]
...
</pre>
- <span id="dsl-syntax" class="section-sub-title">Token DSL Syntax</span>
+ <span id="dsl-syntax" class="section-sub-title">Token DSL Syntax <a
href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></span>
<p>
Token DSL is a simple expression language for defining a single
predicate over a token - a detected model
element. Remember that unlike token DSL all other types of
synonyms work with simple words (vs. tokens).
@@ -1701,7 +1701,7 @@ intents:
</tr>
</tbody>
</table>
- <span id="combinators" class="section-sub-title">Logical
Combinators</span>
+ <span id="combinators" class="section-sub-title">Logical Combinators
<a href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></span>
<p>
Individual token expressions can be combined with <code>&&</code>,
<code>||</code> and <code>!</code>
logical combinators and <code>( )</code> brackets that obey
standard precedence rules as well as short-cut
@@ -2163,7 +2163,7 @@ intents:
metadata name with some unique prefix based on the token ID.
</p>
</div>
- <span id="nlpcraft:nlp" class="section-sub-title">Token ID
<code>nlpcraft:nlp</code></span>
+ <span id="nlpcraft:nlp" class="section-sub-title">Token ID
<code>nlpcraft:nlp</code> <a href="#"><i class="top-link fas fa-fw
fa-angle-double-up"></i></a></span>
<p>
This token's metadata provides common basic NLP properties that
are part of any token.
<b>All tokens</b> without exception have these metadata
properties. This metadata
@@ -2370,7 +2370,7 @@ intents:
</tbody>
</table>
<br/>
- <span id="nlpcraft:date" class="section-sub-title">Token ID
<code>nlpcraft:date</code></span>
+ <span id="nlpcraft:date" class="section-sub-title">Token ID
<code>nlpcraft:date</code> <a href="#"><i class="top-link fas fa-fw
fa-angle-double-up"></i></a></span>
<p>
This token denotes a date range including single days.
Additionally to <code><b>nlpcraft:nlp:xxx</b></code> properties
this type of token will have the following
@@ -2402,7 +2402,7 @@ intents:
</tbody>
</table>
<br/>
- <span id="nlpcraft:num" class="section-sub-title">Token ID
<code>nlpcraft:num</code></span>
+ <span id="nlpcraft:num" class="section-sub-title">Token ID
<code>nlpcraft:num</code> <a href="#"><i class="top-link fas fa-fw
fa-angle-double-up"></i></a></span>
<p>
This token denotes a single numerical value or a numeric condition.
Additionally to <code><b>nlpcraft:nlp:xxx</b></code> properties
this type of token will have the following
@@ -2566,7 +2566,7 @@ intents:
</tbody>
</table>
<br/>
- <span id="nlpcraft:city" class="section-sub-title">Token ID
<code>nlpcraft:city</code></span>
+ <span id="nlpcraft:city" class="section-sub-title">Token ID
<code>nlpcraft:city</code> <a href="#"><i class="top-link fas fa-fw
fa-angle-double-up"></i></a></span>
<p>
This token denotes a city.
Additionally to <code><b>nlpcraft:nlp:xxx</b></code> properties
this type of token will have the following
@@ -2751,7 +2751,7 @@ intents:
</tbody>
</table>
<br/>
- <span id="nlpcraft:continent" class="section-sub-title">Token ID
<code>nlpcraft:continent</code></span>
+ <span id="nlpcraft:continent" class="section-sub-title">Token ID
<code>nlpcraft:continent</code> <a href="#"><i class="top-link fas fa-fw
fa-angle-double-up"></i></a></span>
<p>
This token denotes a continent.
Additionally to <code><b>nlpcraft:nlp:xxx</b></code> properties
this type of token will have the following
@@ -2774,7 +2774,7 @@ intents:
</tbody>
</table>
<br/>
- <span id="nlpcraft:subcontinent" class="section-sub-title">Token ID
<code>nlpcraft:subcontinent</code></span>
+ <span id="nlpcraft:subcontinent" class="section-sub-title">Token ID
<code>nlpcraft:subcontinent</code> <a href="#"><i class="top-link fas fa-fw
fa-angle-double-up"></i></a></span>
<p>
This token denotes a subcontinent.
Additionally to <code><b>nlpcraft:nlp:xxx</b></code> properties
this type of token will have the following
@@ -2802,7 +2802,7 @@ intents:
</tbody>
</table>
<br/>
- <span id="nlpcraft:metro" class="section-sub-title">Token ID
<code>nlpcraft:metro</code></span>
+ <span id="nlpcraft:metro" class="section-sub-title">Token ID
<code>nlpcraft:metro</code> <a href="#"><i class="top-link fas fa-fw
fa-angle-double-up"></i></a></span>
<p>
This token denotes a metro area.
Additionally to <code><b>nlpcraft:nlp:xxx</b></code> properties
this type of token will have the following
@@ -2825,7 +2825,7 @@ intents:
</tbody>
</table>
<br/>
- <span id="nlpcraft:region" class="section-sub-title">Token ID
<code>nlpcraft:region</code></span>
+ <span id="nlpcraft:region" class="section-sub-title">Token ID
<code>nlpcraft:region</code> <a href="#"><i class="top-link fas fa-fw
fa-angle-double-up"></i></a></span>
<p>
This token denotes a geographical region.
Additionally to <code><b>nlpcraft:nlp:xxx</b></code> properties
this type of token will have the following
@@ -2963,7 +2963,7 @@ intents:
</tbody>
</table>
<br/>
- <span id="nlpcraft:country" class="section-sub-title">Token ID
<code>nlpcraft:country</code></span>
+ <span id="nlpcraft:country" class="section-sub-title">Token ID
<code>nlpcraft:country</code> <a href="#"><i class="top-link fas fa-fw
fa-angle-double-up"></i></a></span>
<p>
This token denotes a country.
Additionally to <code><b>nlpcraft:nlp:xxx</b></code> properties
this type of token will have the following
@@ -3101,7 +3101,7 @@ intents:
</tbody>
</table>
<br/>
- <span id="nlpcraft:coordinate" class="section-sub-title">Token ID
<code>nlpcraft:coordinate</code></span>
+ <span id="nlpcraft:coordinate" class="section-sub-title">Token ID
<code>nlpcraft:coordinate</code> <a href="#"><i class="top-link fas fa-fw
fa-angle-double-up"></i></a></span>
<p>
This token denotes a latitude and longitude coordinate.
Additionally to <code><b>nlpcraft:nlp:xxx</b></code> properties
this type of token will have the following
@@ -3129,7 +3129,7 @@ intents:
</tbody>
</table>
<br/>
- <span id="nlpcraft:sort" class="section-sub-title">Token ID
<code>nlpcraft:sort</code></span>
+ <span id="nlpcraft:sort" class="section-sub-title">Token ID
<code>nlpcraft:sort</code> <a href="#"><i class="top-link fas fa-fw
fa-angle-double-up"></i></a></span>
<p>
This token denotes a sorting or ordering function.
Additionally to <code><b>nlpcraft:nlp:xxx</b></code> properties
this type of token will have the following
@@ -3164,7 +3164,7 @@ intents:
</tbody>
</table>
<br/>
- <span id="nlpcraft:limit" class="section-sub-title">Token ID
<code>nlpcraft:limit</code></span>
+ <span id="nlpcraft:limit" class="section-sub-title">Token ID
<code>nlpcraft:limit</code> <a href="#"><i class="top-link fas fa-fw
fa-angle-double-up"></i></a></span>
<p>
This token denotes a numeric limit value (like in "top 10" or
"bottom five").
Additionally to <code><b>nlpcraft:nlp:xxx</b></code> properties
this type of token will have the following
@@ -3201,7 +3201,7 @@ intents:
</tbody>
</table>
<br/>
- <span id="nlpcraft:relation" class="section-sub-title">Token ID
<code>nlpcraft:relation</code></span>
+ <span id="nlpcraft:relation" class="section-sub-title">Token ID
<code>nlpcraft:relation</code> <a href="#"><i class="top-link fas fa-fw
fa-angle-double-up"></i></a></span>
<p>
This token denotes a numeric limit value (like in "top 10" or
"bottom five").
Additionally to <code><b>nlpcraft:nlp:xxx</b></code> properties
this type of token will have the following
@@ -3235,7 +3235,7 @@ intents:
</tbody>
</table>
<br/>
- <span id="google:xxx" class="section-sub-title">Token ID
<code>google:xxx</code></span>
+ <span id="google:xxx" class="section-sub-title">Token ID
<code>google:xxx</code> <a href="#"><i class="top-link fas fa-fw
fa-angle-double-up"></i></a></span>
<p>
These tokens denote <code>xxx</code> that is a lower case name of
the named entity
in <a target=_
href="https://cloud.google.com/natural-language/">Google APIs</a>, i.e.
@@ -3288,7 +3288,7 @@ intents:
</tbody>
</table>
<br/>
- <span id="stanford:xxx" class="section-sub-title">Token ID
<code>stanford:xxx</code></span>
+ <span id="stanford:xxx" class="section-sub-title">Token ID
<code>stanford:xxx</code> <a href="#"><i class="top-link fas fa-fw
fa-angle-double-up"></i></a></span>
<p>
These tokens denote <code>xxx</code> that is a lower case name of
the named entity
in <a target=_
href="https://stanfordnlp.github.io/CoreNLP">Stanford CoreNLP</a>, i.e.
@@ -3320,7 +3320,7 @@ intents:
</tbody>
</table>
<br/>
- <span id="spacy:xxx" class="section-sub-title">Token ID
<code>spacy:xxx</code></span>
+ <span id="spacy:xxx" class="section-sub-title">Token ID
<code>spacy:xxx</code> <a href="#"><i class="top-link fas fa-fw
fa-angle-double-up"></i></a></span>
<p>
These tokens denote <code>xxx</code> that is a lower case name of
the named entity
in <a target=_ href="https://spacy.io/">spaCy</a>, i.e.
diff --git a/download.html b/download.html
index 36fa14a..65f2041 100644
--- a/download.html
+++ b/download.html
@@ -202,7 +202,7 @@ layout: interior
signatures. Following instructions assume binary release on
Mac OS/Linux environment but the verification steps are
similar for Windows.
</p>
- <h3 class="section-sub-title">Mac OS</h3>
+ <h2 class="section-sub-title">Mac OS <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<nav>
<div class="nav nav-tabs" role="tablist">
<a class="nav-item nav-link active" data-toggle="tab"
href="#nav-macos-sha256" role="tab">SHA256</a>
@@ -224,7 +224,7 @@ layout: interior
</pre>
</div>
</div>
- <h3 class="section-sub-title">Linux</h3>
+ <h2 class="section-sub-title">Linux <a href="#"><i class="top-link
fas fa-fw fa-angle-double-up"></i></a></h2>
<nav>
<div class="nav nav-tabs" role="tablist">
<a class="nav-item nav-link active" data-toggle="tab"
href="#nav-linux-sha256" role="tab">SHA256</a>
diff --git a/getting-started.html b/getting-started.html
index 0f7cdf8..463bb0c 100644
--- a/getting-started.html
+++ b/getting-started.html
@@ -136,7 +136,7 @@ id: getting_started
through command history.
</li>
</ul>
- <h2 class="section-sub-title">Asking</h2>
+ <h2 class="section-sub-title">Asking <a href="#"><i class="top-link
fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
While in REPL mode lets use <code>ask</code> command to issue REST
requests to our data model.
</p>
diff --git a/integrations.html b/integrations.html
index cb93c8d..c2fcc0d 100644
--- a/integrations.html
+++ b/integrations.html
@@ -24,12 +24,12 @@ id: integrations
<!--suppress CheckImageSize -->
<div id="integrations" class="col-md-8 second-column">
<section>
- <span id="overview" class="section-title">Overview</span>
+ <span id="overview" class="section-title">Overview <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></span>
<p>
NLPCraft provides several integration points for a underlying SQL
storage, <a href="#gridgain">GridGain Control Center</a> and
<a href="#nlp">NLP functionality</a>.
</p>
- <span id="nlp" class="section-title">NLP Functionality</span>
+ <span id="nlp" class="section-title">NLP Functionality <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></span>
<p>
NLPCraft comes with integrations for several 3rd party NLP
libraries and projects. External
integrations can be used for two distinct purposes inside of
NLPCraft:
diff --git a/intent-matching.html b/intent-matching.html
index 457977d..2b6f3c1 100644
--- a/intent-matching.html
+++ b/intent-matching.html
@@ -448,7 +448,7 @@ id: intent_matching
<p></p>
</li>
</ul>
- <h2 class="section-sub-title">Intent Lifecycle</h2>
+ <h2 class="section-sub-title">Intent Lifecycle <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
During NLPCraft data probe start it scans the models provided in
its configuration for the intents. The
scanning process goes through JSON/YAML external configurations as
well as model classes when looking
@@ -468,7 +468,7 @@ id: intent_matching
user and company metadata, as well as request data all of which
can change at runtime and
are accessible through <a href="#idl_functions">IDL functions.</a>
</p>
- <h2 class="section-sub-title">Intent Examples</h2>
+ <h2 class="section-sub-title">Intent Examples <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
Here's number of intent examples with explanations:
</p>
@@ -542,7 +542,7 @@ id: intent_matching
this string, list or map should be greater than
<code>10</code>.
</li>
</ul>
- <h2 id="idl_functions" class="section-title">IDL Functions</h2>
+ <h2 id="idl_functions" class="section-title">IDL Functions <a
href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
IDL provides over 50 built-in functions that can be used in IDL
intent definitions.
IDL function call takes on traditional
@@ -554,7 +554,7 @@ id: intent_matching
cases you need to use the term with the user-defined callback
method.
</p>
<p>
- Note also that when chaining the function
+ When chaining the function
calls IDL uses mathematical notation (a-la Python) rather than
object-oriented one: IDL <code>length(trim(" text "))</code> vs. OOP-style
<code>" text ".trim().length()</code>.
</p>
<p>
@@ -591,10 +591,19 @@ id: intent_matching
</tbody>
</table>
<p>
+ Some IDL functions are polymorphic, i.e. they can accept arguments
of multiple type
Encountering other incompatible types will result in a runtime
error during intent matching. It is
especially important to watch out for the types when adding
objects to various metadata containers
and using that metadata in the IDL expressions.
</p>
+ <div class="bq warn">
+ <p><b>Unsupported Types</b></p>
+ <p>
+ Detection of the unsupported types by IDL functions cannot be
done during IDL compilation and
+ can <em>only be done during runtime execution</em>. This means
that even though the data probe compiles IDL
+ intents and starts successfully - it does not guarantee that
intents will operate correctly.
+ </p>
+ </div>
<p>
IDL functions can be organized into the following groups:
</p>
@@ -1392,7 +1401,7 @@ id: intent_matching
</div>
</section>
<section>
- <h2 id="idl_location" class="section-title">IDL Location</h2>
+ <h2 id="idl_location" class="section-title">IDL Location <a
href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
IDL declarations can be placed in different locations based on
user preferences:
</p>
@@ -1694,7 +1703,7 @@ id: intent_matching
</ul>
</section>
<section id="logic">
- <h2 class="section-title">Intent Matching Logic</h2>
+ <h2 class="section-title">Intent Matching Logic <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
In order to understand the intent matching logic lets review the
overall user request processing workflow:
</p>
@@ -1908,7 +1917,7 @@ id: intent_matching
parameter.
</li>
</ul>
- <h3 class="section-sub-title"><code>NCRejection</code> and
<code>NCIntentSkip</code> Exceptions</h3>
+ <h2 class="section-sub-title"><code>NCRejection</code> and
<code>NCIntentSkip</code> Exceptions <a href="#"><i class="top-link fas fa-fw
fa-angle-double-up"></i></a></h2>
<p>
There are two exceptions that can be used by intent callback logic
to control intent matching process.
</p>
@@ -1958,7 +1967,7 @@ id: intent_matching
that type of matching.
</p>
</div>
- <h3 class="section-sub-title"><code>NCIntentMatch</code> Interface</h3>
+ <h2 class="section-sub-title"><code>NCIntentMatch</code> Interface <a
href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
<a target="javadoc"
href="/apis/latest/org/apache/nlpcraft/model/NCIntentMatch.html">NCIntentMatch</a>
interface
can be passed into intent callback as its first parameter. This
interface provide runtime information
diff --git a/server-and-probe.html b/server-and-probe.html
index 662d440..fe7ae09 100644
--- a/server-and-probe.html
+++ b/server-and-probe.html
@@ -29,7 +29,7 @@ id: server_and_probe
Data probes are used to deploy and host data model, while REST
server (or a cluster of servers) is used
to accept client REST call and route them to the data models via
data probes.
</p>
- <h3 class="section-sub-title">REST Server vs. Data Probe <a
href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h3>
+ <h2 class="section-sub-title">REST Server vs. Data Probe <a
href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
It's important to remember why REST server is a separate component
from a data probe. While a
typical deployment would have only one REST server (or a cluster
of REST servers behind a single
@@ -44,7 +44,7 @@ id: server_and_probe
frequently redeploy data models by restarting the data probe. If
the REST server and the data probe
would be one component - this process would be very inefficient.
</p>
- <h3 class="section-sub-title">All-Inclusive JAR</h3>
+ <h2 class="section-sub-title">All-Inclusive JAR <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
<a href="/download.html#zip">Binary</a> NLPCraft ZIP download
comes with a single executable JAR file that includes all
necessary dependencies:
<code>build/<b>apache-nlpcraft-incubating-{{site.latest_version}}-all-deps.jar</b></code>.
@@ -164,7 +164,7 @@ id: server_and_probe
</pre>
</div>
</div>
- <h3 class="section-sub-title">JVM Memory</h3>
+ <h2 class="section-sub-title">JVM Memory <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
Make sure to allocate enough memory for server JVM using
<code>-Xms</code> JVM option, i.e. <code>-Xms1024m</code>.
Many 3rd party NLP engines like Stanford CoreNLP are very memory
intensive and may require several GBs
@@ -189,7 +189,7 @@ id: server_and_probe
The abnormally long GC pauses (over 5s) can be caused by the
excessive memory swapping performed by OS due to
insufficient JVM heap memory.
</p>
- <h3 class="section-sub-title">Apache Ignite 2.x and JDK 11</h3>
+ <h2 class="section-sub-title">Apache Ignite 2.x and JDK 11 <a
href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
NLPCraft REST server uses Apache Ignite 2.x as its distributed
in-memory computing plane. Apache Ignite
<a target=_new
href="https://apacheignite.readme.io/docs/getting-started#running-ignite-with-java-11-and-later-versions">recommends</a>
@@ -325,7 +325,7 @@ id: server_and_probe
as
<code>apache-nlpcraft-incubating-<b>{{site.latest_version}}</b>-all-deps.jar</code>
file and the on their classpath. You can change this behavior with
<code>-config=path</code> parameter.
</p>
- <h3 class="section-sub-title">Separate Configurations</h3>
+ <h2 class="section-sub-title">Separate Configurations <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
Default configuration is available in
<code>build/<b>nlpcraft.conf</b></code> file and it is extensively documented.
It has subsections
for the server and probe configuration. You can also separate
server and probe configurations into their own
@@ -353,7 +353,7 @@ nlpcraft {
</pre>
</section>
<section id="override">
- <h3 class="section-sub-title">Custom Configuration</h3>
+ <h2 class="section-sub-title">Custom Configuration <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
While you can change configuration file or files for your own
needs (and use <code>-config=...</code>
parameter described above to provide path to that file) it is
often more convenient to use the default configuration file and
diff --git a/tools/script.html b/tools/script.html
index 45738da..4986128 100644
--- a/tools/script.html
+++ b/tools/script.html
@@ -93,7 +93,7 @@ id: script
upon the server start and the access token is obtained. You
can sign in with different user account, if necessary.
</p>
</div>
- <h2 class="section-sub-title">Get Command List</h2>
+ <h2 class="section-sub-title">Get Command List <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
Type <code>help</code> to list all supported commands (or run
<code>bin/nlpcraft.{sh|cmd} help</code> if in command line mode):
</p>
@@ -141,7 +141,7 @@ id: script
NLPCraft CLI is standard command line utility that can be used in
the familiar ways both in
Linux/Unix/MacOS and Window environments.
</p>
- <span class="section-sub-title">Typical Development Workflow</span>
+ <span class="section-sub-title">Typical Development Workflow <a
href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></span>
<p>
Here's the typical workflow of working with NLPCraft using
NLPCraft CLI. Note that although all of these
steps can be performed from IDE or a command line - NLPCraft CLI
in REPL model provides the easiest
@@ -180,13 +180,13 @@ id: script
to restart the server between multiple sessions.
</p>
</div>
- <span class="section-sub-title">Using <code>start-server</code>
Command</span>
+ <span class="section-sub-title">Using <code>start-server</code>
Command <a href="#"><i class="top-link fas fa-fw
fa-angle-double-up"></i></a></span>
<p>
REST server is a fire-and-forget component in NLPCraft. You can
start it once and you only need to restart it
if you change the server configuration. It is customary to add
<code>bin/nlpcraft.{sh|cmd} start-server</code>
call to the OS init script to have it started automatically on
boot up.
</p>
- <span class="section-sub-title">Using Default
<code>nlpcraft.conf</code></span>
+ <span class="section-sub-title">Using Default
<code>nlpcraft.conf</code> <a href="#"><i class="top-link fas fa-fw
fa-angle-double-up"></i></a></span>
<p>
It is recommended to modify the standard
<code>nlpcraft.conf</code> configuration file, i.e. <em>in a standard
installation location</em>. Commands like
<code>start-server</code>, <code>start-probe</code> and
@@ -195,7 +195,7 @@ id: script
If you keep all your configuration modifications in the standard
<code>nlpcraft.conf</code> file you can simply
run these commands without any additional arguments -
significantly simplifying their usage.
</p>
- <span class="section-sub-title">Using NLPCraft CLI In Scripts</span>
+ <span class="section-sub-title">Using NLPCraft CLI In Scripts <a
href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></span>
<p>
NLPCraft CLI can be used in your own scripts to automate your own
specific workflow and tasks.
All of the commands that utilize REST API produce JSON responses,
for a example:
diff --git a/tools/syn_tool.html b/tools/syn_tool.html
index 9ae3c3d..2b02ba9 100644
--- a/tools/syn_tool.html
+++ b/tools/syn_tool.html
@@ -42,7 +42,7 @@ id: syn_tool
In order to use this tool the <code>ctxword</code> server and
NLPCraft server should be started as well as
the server's configuration should potentially be updated.
</p>
- <h3 class="section-sub-title"><code>ctxword</code> Server</h3>
+ <h2 class="section-sub-title"><code>ctxword</code> Server <a
href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<div class="bq warn">
<b>Python 3.6-3.8</b>
<p>
@@ -107,11 +107,11 @@ id: syn_tool
</div>
</li>
</ol>
- <h3 class="section-sub-title">REST Server</h3>
+ <h2 class="section-sub-title">REST Server <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
REST server should be <a
href="/server-and-probe.html#server">started</a>.
</p>
- <h3 class="section-sub-title">Running</h3>
+ <h2 class="section-sub-title">Running <a href="#"><i class="top-link
fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
Synonyms tool can be run in two different ways:
</p>
diff --git a/tools/test_framework.html b/tools/test_framework.html
index 626a479..b4bb6d4 100644
--- a/tools/test_framework.html
+++ b/tools/test_framework.html
@@ -178,7 +178,7 @@ public class AlarmModel extends NCModelFileAdapter {
sample input sentences from <a target="javadoc"
href="/apis/latest/org/apache/nlpcraft/model/NCIntentSample.html">@NCIntentSample</a>
annotation and checking that resulting
intent matches the intent the sample was attached to.
</p>
- <h3 class="section-sub-title">Running</h3>
+ <h2 class="section-sub-title">Running <a href="#"><i class="top-link
fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
Auto mode validator can be executed in two different ways:
</p>
diff --git a/using-rest.html b/using-rest.html
index 3962c93..cd88f96 100644
--- a/using-rest.html
+++ b/using-rest.html
@@ -102,7 +102,7 @@ id: rest
has administrative privileges flag. The notion of the user and
company IDs additionally to the model ID provide
necessary attributes for proper probe authentication, conversation
maintenance, and security.
</p>
- <h3 class="section-sub-title">Default Account</h3>
+ <h2 class="section-sub-title">Default Account <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
NLPCraft comes with the default account:
</p>
@@ -121,13 +121,13 @@ id: rest
administrative account that can act as a bootstrap account.
</p>
</div>
- <h3 class="section-sub-title">Admins</h3>
+ <h2 class="section-sub-title">Admins <a href="#"><i class="top-link
fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
Many operations are only available to the users with
administrative privileges. Note
also that some operations will implicitly behave differently based
on whether the currently signed in user
have administrative privileges or not.
</p>
- <h3 class="section-sub-title">External User ID</h3>
+ <h2 class="section-sub-title">External User ID <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
Many calls on REST API accept external "on-behalf-of" user ID
(<code>usrExtId</code>) additionally to the regular
user ID (<code>usrID</code>). In these methods zero, one or both
IDs must be provided. If none are provided