You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nlpcraft.apache.org by ar...@apache.org on 2021/02/09 02:13:58 UTC
[incubator-nlpcraft-website] branch master updated: WIP.
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 84442ba WIP.
84442ba is described below
commit 84442ba1ed8ae9a862eadba451e0d016fb1b3528
Author: Aaron Radzinski <ar...@datalingvo.com>
AuthorDate: Mon Feb 8 18:13:49 2021 -0800
WIP.
---
data-model.html | 36 ++++++++++++++++++------------------
tools/embedded_probe.html | 2 +-
2 files changed, 19 insertions(+), 19 deletions(-)
diff --git a/data-model.html b/data-model.html
index 3d0f0f1..5873d6e 100644
--- a/data-model.html
+++ b/data-model.html
@@ -562,7 +562,7 @@ intents:
<p>
Note that you can't directly change group membership, parent-child relationship or metadata of the
built-in elements. You can, however, "wrap" built-in entity into your own one using <code>^^id == 'external.id'^^</code>
- token DSL expression where you can define all necessary additional configuration properties (more on that below).
+ <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>
<p>
@@ -619,6 +619,7 @@ intents:
<li><a href="#regex">Regular expressions</a></li>
<li><a href="#option-groups">Option Groups</a></li>
<li><a href="#dsl">Token DSL</a></li>
+ <li><a href="#programmable_ners">Programmable NERs</a> - to provide custom NER logic and bypass declarative synonym representation all together.</li>
</ul>
<p>
Each whitespace separated string in the synonym can be either a regular word (like in the above transportation example
@@ -1710,22 +1711,19 @@ intents:
<code>^^[alias](my:list[0] >= 1_000_000 <b>&&</b> alias1.groups @@ 'clients')^^</code><br>
<code>^^<b>(</b>id == 'myid' && ~score > 10<b>)</b> <b>||</b> <b>(</b>alias1.groups @@ 'clients' && ~score <= 10<b>)</b>^^</code><br>
</p>
- <span id="custom" class="section-sub-title">Custom Parsers</span>
+ </section>
+ <section id="programmable_ners">
+ <h2 class="section-title">Programmable NERs</h2>
<p>
- In cases when declarative synonyms (macros, option groups, regexp and token DSL) are not expressive enough
- you create your model element recognizer programmatically:
+ By default, the data model detects its elements by their synonyms, regexp or DSL expressions. However, in some cases
+ these methods are either not expressive enough or cannot be used. For example, detecting model elements based
+ on neural networks or integrating with a non-standard 3rd-party NER components. In such cases, a user-defined parser
+ can be defined for the model that would allow the user to define its own arbitrary NER logic to detect the model elements
+ in the user input programmatically. Note that a custom parser can detect any number of model elements.
+ </p>
+ <p>
+ Model provides its custom parsers via <a target="javadoc" href="/apis/latest/org/apache/nlpcraft/model/NCModelView.html#getParsers()">getParsers()</a> method.
</p>
- <ul>
- <li>
- Model provides its custom parsers via <a target="javadoc" href="/apis/latest/org/apache/nlpcraft/model/NCModelView.html#getParsers()">getParsers()</a> method.
- </li>
- <li>
- Custom parser is defined by the following classes:
- <a target="javadoc" href="/apis/latest/org/apache/nlpcraft/model/NCCustomElement.html">NCCustomElement</a>,
- <a target="javadoc" href="/apis/latest/org/apache/nlpcraft/model/NCCustomParser.html">NCCustomParser</a> and
- <a target="javadoc" href="/apis/latest/org/apache/nlpcraft/model/NCCustomWord.html">NCCustomWord</a>.
- </li>
- </ul>
</section>
<section id="logic">
<h2 class="section-title">Model Logic</h2>
@@ -1832,9 +1830,10 @@ intents:
</p>
<h3 class="section-title">Class <a target="javadoc" href="/apis/latest/org/apache/nlpcraft/model/NCResult.html">NCResult</a></h3>
<p>
- This class defines data model result returned from model's intent callbacks. Result consists of the
- text body and the type. The type is similar in notion to MIME types. Intent callbacks must use this class
- to provide their results.
+ This class defines the result returned from model's intent callbacks. Result consists of the
+ text body and the type. The result types are similar in notion to MIME type and have specific meaning only for REST applications
+ that interpret them accordingly. For example, the REST client interfacing between NLPCraft and Amazon Alexa or Apple HomeKit could
+ only accept text result type and ignore everything else.
</p>
</section>
<section id="builtin">
@@ -3388,6 +3387,7 @@ intents:
<li><a href="#config">Model Configuration</a></li>
<li><a href="#elements">Model Elements</a></li>
<li><a href="#dsl">Token DSL</a></li>
+ <li><a href="#programmable_ners">Programmable NERs</a></li>
<li><a href="#logic">Model Logic</a></li>
<li><a href="#builtin">Built-In Tokens</a></li>
<li><a href="#meta">Token Metadata</a></li>
diff --git a/tools/embedded_probe.html b/tools/embedded_probe.html
index aaf653f..b4af1dc 100644
--- a/tools/embedded_probe.html
+++ b/tools/embedded_probe.html
@@ -29,7 +29,7 @@ id: embedded_probe
</p>
<p>
Typically, data probes are launched in their own independent JVMs. However, when a client application is
- itself a JVM-based process, it is sometimes preferable for performance reasons to to host
+ itself a JVM-based process, it is sometimes preferable for performance reasons to host
a data model - and hence the data probe - in the same "client" JVM.
</p>
<p>