This is an automated email from the ASF dual-hosted git repository.
sergeykamov pushed a commit to branch NLPCRAFT-513
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft-website.git
The following commit(s) were added to refs/heads/NLPCRAFT-513 by this push:
new 959892c WIP.
959892c is described below
commit 959892c58b59c8340f0e4e20cc5be19842f11c90
Author: skhdl <[email protected]>
AuthorDate: Sun Oct 23 11:08:09 2022 +0400
WIP.
---
api-review.html | 175 +++++++++++++++++++++++++++++++++++++++++---------
built-components.html | 77 +++++++++++++---------
2 files changed, 192 insertions(+), 60 deletions(-)
diff --git a/api-review.html b/api-review.html
index 4aa04d1..2138b8f 100644
--- a/api-review.html
+++ b/api-review.html
@@ -26,18 +26,23 @@ id: overview
<h2 class="section-title">Library API review <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
- NlpCraft library contains two base elements: <code>Model</code>
and <code>Client</code>.
- When you work with the system - you should prepare model,
configuring its parameters and defining its components.
+ NlpCraft library contains two base concepts: <code>Model</code>
and <code>Client</code> which have API representations
+ <a href="apis/latest/org/apache/nlpcraft/NCModel.html">NCModel</a>
and
+ <a
href="apis/latest/org/apache/nlpcraft/NCModelClient.html">NCModelClient</a>.
+ When you work with the system - you should prepare model
configuring its parameters and defining its components.
After you just communicate with this model via client's methods.
</p>
<ul>
<li>
- <code>Model</code> is domain specific object which responsible
for user input interpretation. Model contains intents, defined via NlpCraft IDL
with related code callbacks. Intent is user defined callback and rule,
according to which this callback should be called. Rule is most often some
template, based on expected set of entities in user input, but it can be more
flexible.
+ <code>Model</code> is domain specific object which responsible
for user input interpretation.
+ <code>Model</code> contains intents, defined via NlpCraft IDL
with related code callbacks.
+ Intent is user defined callback and rule, according to which
this callback should be called.
+ Rule is most often some template, based on expected set of
entities in user input, but it can be more flexible.
</li>
<li>
- <code>Client</code> is object, which allows to communicate
with given model. Main methods are user input processing and control of
communication session.
+ <code>Client</code> is object, which allows to communicate
with the given model.
</li>
</ul>
@@ -58,7 +63,7 @@ id: overview
</pre>
<p>
- Model definition includes two parts:
+ <code>Model</code> definition includes two parts:
</p>
<ul>
<li>
@@ -75,81 +80,132 @@ id: overview
</p>
<ul>
<li>
- <code>ask</code> - sends user input to the model and receives
triggered callback result or
- rejection exception if there isn't any winning intents.
+ <code>ask</code> passes user text input to the model and
receives back triggered callback method execution result or
+ rejection exception if there isn't any triggered intents.
</li>
<li>
- <code>debugAsk</code>> - sends user input to the model and
receives callback and its parameters or
- rejection exception if there isn't any winning intents.
- Main difference from <code>ask</code> that callback of
triggered intent is not called.
- This method can be useful for tests scenarios.
+ <code>debugAsk</code> passes user text input to the model and
receives back callback and its parameters or
+ rejection exception if there isn't any triggered intents.
+ Main difference from <code>ask</code> that triggered intent
callback method is not called.
+ This method and this parameter can be useful for tests
scenarios.
</li>
<li>
- <code>clearStm</code> - clears STM state. Read more .. TODO
+ <code>clearStm</code> clears STM state. Memory is cleared
wholly or with some predicate.
+ Loot at <a href="short-term-memory.html">Conversation</a>
chapter to get more details.
</li>
<li>
- <code>clearDialog</code> - clears dialog state. Read more ..
TODO
+ <code>clearDialog</code> clears dialog state. Dialog is
cleared wholly or with some predicate.
+ Loot at <a href="short-term-memory.html">Conversation</a>
chapter to get more details.
</li>
<li>
- <code>close</code> - Closes client.
+ <code>close</code> - Closes client. You can't call another
client's methods after this method was closed.
</li>
</ul>
</section>
<section id="model-configuration">
<h2 class="section-title">Model configuration <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
+
+ <p>
+ <code>Model configuration</code> which is represented as is set of
model parameter values.
+ Its API representation is <a
href="apis/latest/org/apache/nlpcraft/NCModelConfig.html">NCModelConfig</a>.
+ </p>
+ <ul>
+ <li>
+ <code>id</code>, <code>name</code> and <code>version</code>
are mandatory model descriptors.
+ </li>
+ <li>
+ <code>description</code> and <code>origin</code> are optional
model descriptors.
+ </li>
+ <li>
+ <code>conversationTimeout</code> - timeout of the user's
conversation.
+ If user doesn't communicate with the model this time period
STM is going to be cleared.
+ Loot at <a href="short-term-memory.html">Conversation</a>
chapter to get more details.
+ Mandatory parameter with default value.
+ </li>
+ <li>
+ <code>conversationDepth</code> - maximum supported depth the
user's conversation.
+ Loot at <a href="short-term-memory.html">Conversation</a>
chapter to get more details.
+ Mandatory parameter with default value.
+ </li>
+ </ul>
</section>
+
<section id="model-pipeline">
<h2 class="section-title">Model pipeline <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
- Before looking at pipeline elements more throughly, let's start
with terminology.
+ Before looking at <code>Pipeline</code> elements more throughly,
let's start with terminology.
</p>
<ul>
<li>
- <code>Token</code>. It is simple string, part of user input,
which split according to some rules, for instance by spaces and some additional
conditions, which depends on language and some expectations.
+ <code>Token</code> represented as <a
href="apis/latest/org/apache/nlpcraft/NCToken.html">NCToken</a>.
+ It is simple string, part of user input, which split according
to some rules, for instance by spaces and some additional conditions, which
depends on language and some expectations.
So user input "<b>Where is it?</b>" contains four tokens:
"<b>Where</b>", "<b>is</b>", "<b>it</b>", "<b>?</b>".
</li>
<li>
- <code>Entity</code>. According to wikipedia, named entity is a
real-world object, such as a person, location, organization, product, etc.,
that can be denoted with a proper name. It can be abstract or have a physical
existence. Each entity can contain one or more tokens.
+ <code>Entity</code> represented as <a
href="apis/latest/org/apache/nlpcraft/NCEntity.html">NCEntity</a>.
+ According to wikipedia, named entity is a real-world object,
such as a person, location, organization, product, etc., that can be denoted
with a proper name. It can be abstract or have a physical existence. Each
entity can contain one or more tokens.
</li>
<li>
- <code>Variant</code>. List of entities. Potentially, each
token can be recognized as different entities, so user input can be processed
as set of variants. For example user input "Mercedes" can be processed as 2
variants, both of them contains single element list of entities: car brand or
Spanish family name.
+ <code>Variant</code> represented as <a
href="apis/latest/org/apache/nlpcraft/NCVariant.html">NCVariant</a>.
+ List of entities. Potentially, each token can be recognized as
different entities, so user input can be processed as set of variants. For
example user input "Mercedes" can be processed as 2 variants, both of them
contains single element list of entities: car brand or Spanish family name.
</li>
</ul>
<p>
- Back to pipeline. Pipeline should be created based in following
components:
+ Back to <code>Pipeline</code> represented as <a
href="apis/latest/org/apache/nlpcraft/NCPipeline.html">pipeline</a>.
+ Pipeline should be created based in following components:
</p>
<ul>
<li>
- <code>Token parser</code>. Mandatory NLP component, it is
required for parsing plain text, user input, and split this text into tokens
list. NlpCraft provides default EN implementation of token parser. Also,
project contain various examples for FR and RU languages.
+ <code>Token parser</code> represented as <a
href="apis/latest/org/apache/nlpcraft/NCTokenParser.html">NCTokenParser</a>.
+ Mandatory pipeline component, it is required for parsing plain
text, user input, and split this text
+ into tokens list. NlpCraft provides default EN implementation
of token parser.
+ Also, project contain various examples for <a
href="examples/light_switch_fr.html">French</a> and
+ <a href="examples/light_switch_ru.html">Russia</a> languages.
</li>
<li>
- <code>Tokens enrichers</code> optional list. Tokens enricher
is component which allows to add additional properties to prepared tokens, like
part of speech, quote, stop-words flags or any other. NlpCraft provides default
set of EN tokens enrichers implementations.
+ <code>Tokens enrichers</code> represented as <a
href="apis/latest/org/apache/nlpcraft/NCTokenEnricher.html">NCTokenEnricher</a>
optional list.
+ Tokens enricher is component which allows to add additional
properties to prepared tokens,
+ like part of speech, quote, stop-words flags or any other.
+ NlpCraft provides default set of EN tokens enrichers
implementations.
</li>
<li>
- <code>Tokens validators</code> optional list. Tokens validator
is user defined component, where tokens are inspected and exception can be
thrown from user code to break user input processing.
+ <code>Tokens validators</code> represented as <a
href="apis/latest/org/apache/nlpcraft/NCTokenValidator.html">NCTokenValidator</a>
optional list.
+ Tokens validator is user defined component, where tokens are
inspected and exception can be thrown
+ from user code to break user input processing.
</li>
<li>
- <code>Entity parsers</code> mandatory list. At least one
entity parser must be defined. Having prepared tokens as input, each entity
parser tries to find user defined named entities. NlpCraft provides wrappers
for named-entity recognition components of OpenNLP and Stanford libraries.
+ <code>Entity parsers</code> represented as <a
href="apis/latest/org/apache/nlpcraft/NCEntityParser.html">NCEntityParser</a>
mandatory list.
+ At least one entity parser must be defined. Having prepared
tokens as input,
+ each entity parser tries to find user defined named entities.
+ NlpCraft provides wrappers for named-entity recognition
components of OpenNLP and Stanford libraries.
</li>
<li>
- <code>Entity enrichers</code> optional list. Entity enricher
is component which allows to add additional properties to prepared entities.
Can be useful for extending existing entity enrichers functionality.
+ <code>Entity enrichers</code> represented as <a
href="apis/latest/org/apache/nlpcraft/NCEntityEnricher.html">NCEntityEnricher</a>
optional list.
+ Entity enricher is component which allows to add additional
properties to prepared entities.
+ Can be useful for extending existing entity enrichers
functionality.
</li>
<li>
- <code>Entity mappers</code> optional list. Entity mapper is
component which allows to map one set of entities into another after the
entities were parsed and enriched. Can be useful for building complex parsers
based on existed.
+ <code>Entity mappers</code> represented as <a
href="apis/latest/org/apache/nlpcraft/NCEntityMapper.html">NCEntityMapper</a>
optional list.
+ Entity mapper is component which allows to map one set of
entities into another after the entities
+ were parsed and enriched. Can be useful for building complex
parsers based on existing.
</li>
<li>
- <code>Entity validators</code> optional list. Entities
validator is user defined component, where prepared entities are inspected and
exceptions can be thrown from user code to break user input processing.
+ <code>Entity validators</code> represented as <a
href="apis/latest/org/apache/nlpcraft/NCEntityValidator.html">NCEntityValidator</a>
optional list.
+ Entities validator is user defined component, where prepared
entities are inspected and
+ exceptions can be thrown from user code to break user input
processing.
</li>
<li>
- <code>Variant filter</code>. Optional component which allows
filtering detected variants, rejecting undesirable.
+ <code>Variant filter</code> represented as <a
href="apis/latest/org/apache/nlpcraft/NCVariantFilter.html">NCVariantFilter</a>.
+ Optional component which allows filtering detected variants,
rejecting undesirable.
</li>
</ul>
<p>
- Below example if <code>Model</code> creation.
<code>Pipeline</code> is prepared using <code>NCPipelineBuilder</code> class
helper.
+ Below <code>Model</code> creation example.
+ <code>Pipeline</code> is prepared using
<code>NCPipelineBuilder</code> class helper.
</p>
<pre class="brush: scala, highlight: []">
@@ -166,11 +222,71 @@ id: overview
</pre>
<p>
- This flexible system allows to create any pipelines on any
language. You can collect NlpCraft predefined components, write your own and
easy reuse custom components.
+ This flexible system allows to create any pipelines on any
language.
+ You can collect NlpCraft predefined components, write your own and
easy reuse custom components.
</p>
</section>
<section id="model-intents">
<h2 class="section-title">Model intents and callbacks <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
+
+ <p>
+ Each model class should contain one or more callback methods which
are mapped on their intents definitions.
+ </p>
+
+ <pre class="brush: scala, highlight: [1, 2, 4, 5]">
+ @NCIntent("intent=ls term(act)={# == 'ls:on'} term(loc)={# ==
'ls:loc'}*")
+ def onMatch(
+ ctx: NCContext,
+ im: NCIntentMatch,
+ @NCIntentTerm("act") act: NCEntity,
+ @NCIntentTerm("loc") locs: List[NCEntity]
+ ): NCResult = NCResult("OK")
+ </pre>
+
+ <ul>
+ <li>
+ <code>Line 1</code> defines intent <code>ls</code> with two
conditions.
+ </li>
+ <li>
+ <code>Line 2</code> defines related callback method.
+ </li>
+ <li>
+ <code>Lines 4 and 5</code> define two callback method's
arguments which are corresponded to
+ <code>ls</code> intent conditions.
+ </li>
+ </ul>
+
+ <p>
+ Note that there are a lot of options of defining intents and their
callback methods.
+ They can be defined in configuration files, nested classes, etc.
+ Look at the chapter <a href="intent-matching.html">Intent
Matching</a> content for get more details.
+ </p>
+ </section>
+
+ <section id="model-behavior">
+ <h2 class="section-title">Model behavior overriding<a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
+
+ <p>
+ There are also several <a
href="/apis/latest/org/apache/nlpcraft/NCModel.html">NCModel</a>
+ callbacks that you can override to affect model behavior during
+ <a href="/intent-matching.html#model_callbacks">intent matching</a>
+ to perform logging, debugging, statistic or usage collection,
explicit update or initialization of
+ conversation context, security audit or validation:
+ </p>
+ <ul>
+ <li>
+ Overriding <code>onMatchedIntent()</code> allows to reject
matched intent and continue matching process.
+ </li>
+ <li>
+ Overriding <code>onResult()</code> allows to replace callback
method execution result.
+ </li>
+ <li>
+ Overriding <code>onRejection()</code> allows to change
operation result when rejection occurs.
+ </li>
+ <li>
+ Overriding <code>onError()</code> allows to change operation
result when any error occurs.
+ </li>
+ </ul>
</section>
</div>
<div class="col-md-2 third-column">
@@ -180,6 +296,7 @@ id: overview
<li><a href="#model-configuration">Model configuration</a></li>
<li><a href="#model-pipeline">Model pipeline</a></li>
<li><a href="#model-intents">Model intents and callbacks</a></li>
+ <li><a href="#model-behavior">Model behavior overriding</a></li>
{% include quick-links.html %}
</ul>
</div>
diff --git a/built-components.html b/built-components.html
index a98a9cb..6cef122 100644
--- a/built-components.html
+++ b/built-components.html
@@ -26,7 +26,7 @@ id: overview
<h2 class="section-title">Built components <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
- Model pipeline <code>NCPipeline</code> is base component which
responsible for sentence processing.
+ Model <a
href="apis/latest/org/apache/nlpcraft/NCPipeline.html">NCPipeline</a> is base
component which responsible for sentence processing.
It is consists of a number of traits, some built implementations
of them are described below.
</p>
@@ -43,10 +43,11 @@ id: overview
<ul>
<li>
- <code>NCTokenParser</code>. There are provided two built
implementations, both for English language.
+ <a
href="apis/latest/org/apache/nlpcraft/NCTokenParser.html">NCTokenParser</a>.
There are provided two built implementations, both for English language.
<ul>
<li>
- <code>NCOpenNLPTokenParser</code>. It is token parser
implementation which is wrapper on
+ <a
href="apis/latest/org/apache/nlpcraft/nlp/parsers/NCOpenNLPTokenParser.html">NCOpenNLPTokenParser</a>.
+ It is token parser implementation which is wrapper on
<a href="https://opennlp.apache.org/">Apache
OpenNLP</a> project tokenizer.
</li>
<li>
@@ -57,10 +58,11 @@ id: overview
</li>
<li>
- <code>NCTokenEnricher</code>. There are provided a number of
built implementations, all of them for English language.
+ <a
href="apis/latest/org/apache/nlpcraft/NCTokenEnricher.html">NCTokenEnricher</a>.
+ There are provided a number of built implementations, all of
them for English language.
<ul>
<li>
- <code>NCOpenNLPLemmaPosTokenEnricher</code> -
+ <a
href="apis/latest/org/apache/nlpcraft/nlp/enrichers/NCOpenNLPLemmaPosTokenEnricher.html">NCOpenNLPLemmaPosTokenEnricher</a>
-
this component allows to add <code>lemma</code> and
<code>pos</code> values to processed token.
Look at these links fpr more details: <a
href="https://www.wikiwand.com/en/Lemma_(morphology)">Lemma</a> and
<a
href="https://www.wikiwand.com/en/Part-of-speech_tagging">Part of speech</a>.
@@ -72,40 +74,41 @@ id: overview
<a
href="https://opennlp.apache.org/docs/2.0.0/apidocs/opennlp-tools/opennlp/tools/lemmatizer/DictionaryLemmatizer.html">DictionaryLemmatizer</a>
components.
</li>
<li>
- <code>NCEnBracketsTokenEnricher</code> -
+ <a
href="apis/latest/org/apache/nlpcraft/nlp/enrichers/NCEnBracketsTokenEnricher.html">NCEnBracketsTokenEnricher</a>
-
this component allows to add <code>brackets</code>
boolean flag to processed token.
</li>
<li>
- <code>NCEnQuotesTokenEnricher</code> -
+ <a
href="apis/latest/org/apache/nlpcraft/nlp/enrichers/NCEnQuotesTokenEnricher.html">NCEnQuotesTokenEnricher</a>
-
this component allows to add <code>quoted</code>
boolean flag to processed token.
</li>
<li>
- <code>NCEnDictionaryTokenEnricher</code> -
+ <a
href="apis/latest/org/apache/nlpcraft/nlp/enrichers/NCEnDictionaryTokenEnricher.html">NCEnDictionaryTokenEnricher</a>
-
this component allows to add <code>dict</code> boolean
flag to processed token.
Note that it requires already defined
<code>lemma</code> token property,
- You can use
<code>NCOpenNLPLemmaPosTokenEnricher</code> or any another component which sets
+ You can use <a
href="apis/latest/org/apache/nlpcraft/nlp/enrichers/NCOpenNLPLemmaPosTokenEnricher.html">NCOpenNLPLemmaPosTokenEnricher</a>
or any another component which sets
<code>lemma</code> into the token.
</li>
<li>
- <code>NCEnStopWordsTokenEnricher</code> -
+ <a
href="apis/latest/org/apache/nlpcraft/nlp/enrichers/NCEnStopWordsTokenEnricher.html">NCEnStopWordsTokenEnricher</a>
-
this component allows to add <code>stopword</code>
boolean flag to processed token.
It is based on predefined rules for English language,
but it can be also extended by custom user word list and excluded list.
Note that it requires already defined
<code>lemma</code> token property,
- You can use
<code>NCOpenNLPLemmaPosTokenEnricher</code> or any another component which sets
+ You can use <a
href="apis/latest/org/apache/nlpcraft/nlp/enrichers/NCOpenNLPLemmaPosTokenEnricher.html">NCOpenNLPLemmaPosTokenEnricher</a>
or any another component which sets
<code>lemma</code> into the token.
</li>
<li>
- <code>NCEnSwearWordsTokenEnricher</code> -
+ <a
href="apis/latest/org/apache/nlpcraft/nlp/enrichers/NCEnSwearWordsTokenEnricher.html">NCEnSwearWordsTokenEnricher</a>
-
this component allows to add <code>swear</code>
boolean flag to processed token.
</li>
</ul>
</li>
<li>
- <code>NCEntityParser</code>. There are provided a number of
built implementations, all of them for English language.
+ <a
href="apis/latest/org/apache/nlpcraft/NCEntityParser.html">NCEntityParser</a>.
+ There are provided a number of built implementations, all of
them for English language.
<ul>
<li>
- <code>NCNLPEntityParser</code> converts NLP tokens
into entities with four mandatory properties:
+ <a
href="apis/latest/org/apache/nlpcraft/NCEntityParser.html">NCEntityParser</a>
converts NLP tokens into entities with four mandatory properties:
<code>nlp:token:text</code>,
<code>nlp:token:index</code>, <code>nlp:token:startCharIndex</code> and
<code>nlp:token:endCharIndex</code>. However, if any
other properties were added into
processed tokens by <code>NCTokenEnricher</code>
components, they will be copied also with names
@@ -113,7 +116,7 @@ id: overview
Note that converted tokens set can be restricted by
predicate.
</li>
<li>
- <code>NCOpenNLPEntityParser</code> is wrapper on <a
href="https://opennlp.apache.org/">Apache OpenNLP</a> NER components.
+ <a
href="apis/latest/org/apache/nlpcraft/nlp/parsers/NCOpenNLPTokenParser.html">NCOpenNLPTokenParser</a>
is wrapper on <a href="https://opennlp.apache.org/">Apache OpenNLP</a> NER
components.
Look at the supported <b>Name Finder</b> models <a
href="https://opennlp.sourceforge.net/models-1.5/">here</a>.
For example for English language are accessible:
<code>Location</code>, <code>Money</code>,
<code>Person</code>, <code>Organizationon</code>,
<code>Date</code>, <code>Time</code> and <code>Percentage</code>.
@@ -123,7 +126,7 @@ id: overview
Look at the detailed information <a
href="https://nlp.stanford.edu/software/CRF-NER.shtml">here</a>.
</li>
<li>
- <code>NCSemanticEntityParser</code> is entity parser
which is based on list of synonyms elements.
+ <a
href="apis/latest/org/apache/nlpcraft/nlp/parsers/NCSemanticEntityParser.html">NCSemanticEntityParser</a>
is entity parser which is based on list of synonyms elements.
This component is described with more details below in
<a href="#semantic">Semantic enrichers</a> section.
</li>
</ul>
@@ -132,31 +135,43 @@ id: overview
<p>
Following pipeline components cannot have build implementation
because their logic are depend on concrete user model:
- <code>NCTokenValidator</code>, <code>NCEntityEnricher</code>,
<code>NCEntityValidator</code>,
- <code>NCEntityMapper</code> and <code>NCVariantFilter</code>.
+ <a
href="apis/latest/org/apache/nlpcraft/NCTokenValidator.html">NCTokenValidator</a>,
+ <a
href="apis/latest/org/apache/nlpcraft/NCEntityEnricher.html">NCEntityEnricher</a>,
+ <a
href="apis/latest/org/apache/nlpcraft/NCEntityValidator.html">NCEntityValidator</a>,
+ <a
href="apis/latest/org/apache/nlpcraft/NCEntityMapper.html">NCEntityMapper</a>
and
+ <a
href="apis/latest/org/apache/nlpcraft/NCVariantFilter.html">NCVariantFilter</a>.
</p>
<p>
- <code>NCPipelineBuilder</code> class is designed for simplifying
preparing <code>NCPipeline</code> instance.
+ <a
href="apis/latest/org/apache/nlpcraft/NCPipelineBuilder.html">NCPipelineBuilder</a>
class
+ is designed for simplifying preparing <a
href="apis/latest/org/apache/nlpcraft/NCPipeline.html">NCPipeline</a> instance.
It contains a number of methods <code>withSemantic()</code> which
allow to prepare pipeline instance based on
- <code>NCSemanticEntityParser</code> and configured language.
+ <a
href="apis/latest/org/apache/nlpcraft/nlp/parsers/NCSemanticEntityParser">NCSemanticEntityParser</a>
and configured language.
Currently only one language is supported - English.
It also adds following English components into pipeline:
</p>
<ul>
- <li><code>NCOpenNLPTokenParser</code></li>
- <li><code>NCOpenNLPLemmaPosTokenEnricher</code></li>
- <li><code>NCEnStopWordsTokenEnricher</code></li>
- <li><code>NCEnSwearWordsTokenEnricher</code></li>
- <li><code>NCEnQuotesTokenEnricher</code></li>
- <li><code>NCEnDictionaryTokenEnricher</code></li>
- <li><code>NCEnBracketsTokenEnricher</code></li>
+ <li><a
href="apis/latest/org/apache/nlpcraft/nlp/parsers/NCOpenNLPTokenParser.html">NCOpenNLPTokenParser</a></li>
+ <li><a
href="apis/latest/org/apache/nlpcraft/nlp/enrichers/NCOpenNLPLemmaPosTokenEnricher.html">NCOpenNLPLemmaPosTokenEnricher</a></li>
+ <li><a
href="apis/latest/org/apache/nlpcraft/nlp/enrichers/NCEnStopWordsTokenEnricher.html">NCEnStopWordsTokenEnricher</a></li>
+ <li><a
href="apis/latest/org/apache/nlpcraft/nlp/enrichers/NCEnSwearWordsTokenEnricher.html">NCEnSwearWordsTokenEnricher</a></li>
+ <li><a
href="apis/latest/org/apache/nlpcraft/nlp/enrichers/NCEnQuotesTokenEnricher.html">NCEnQuotesTokenEnricher</a></li>
+ <li><a
href="apis/latest/org/apache/nlpcraft/nlp/enrichers/NCEnDictionaryTokenEnricher.html">NCEnDictionaryTokenEnricher</a></li>
+ <li><a
href="apis/latest/org/apache/nlpcraft/nlp/enrichers/NCEnBracketsTokenEnricher.html">NCEnBracketsTokenEnricher</a></li>
</ul>
</section>
<section id="semantic">
- <h2 class="section-title">Semantic enrichers <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
+ <h2 class="section-title">Semantic entity parser <a href="#"><i
class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
+
+ <p>
+ Semantic entity parser <a
href="apis/latest/org/apache/nlpcraft/nlp/parsers/NCSemanticEntityParser.html">NCSemanticEntityParser</a>
+ is the implementation of <a
href="apis/latest/org/apache/nlpcraft/NCEntityParser.html">NCEntityParser</a>
+ which deserves a special mention.
+ It describes list of <a
href="apis/latest/org/apache/nlpcraft/nlp/parsers/NCSemanticElement.html">NCSemanticElement</a>
+ which are represented <a
href="https://en.wikipedia.org/wiki/Named-entity_recognition">Named
entities</a>.
+ </p>
</section>
<section id="examples">
@@ -211,11 +226,11 @@ id: overview
<code>Line 13</code> defines configured
<code>NCEnStopWordsTokenEnricher</code> token enricher.
</li>
<li>
- <code>Line 14</code> defines
<code>NCStanfordNLPEntityParse</code> entity parser based on Stanford NER
+ <code>Line 14</code> defines
<code>NCStanfordNLPEntityParser</code> entity parser based on Stanford NER
configured for number values detection.
</li>
<li>
- <code>Line 14</code> defines
<code>NCStanfordNLPEntityParse</code> entity parser based on Stanford NER
+ <code>Line 14</code> defines
<code>NCStanfordNLPEntityParser</code> entity parser based on Stanford NER
configured for number values detection.
</li>
<li>
@@ -251,7 +266,7 @@ id: overview
<ul class="side-nav">
<li class="side-nav-title">On This Page</li>
<li><a href="#overview">Overview</a></li>
- <li><a href="#semantic">Semantic enrichers</a></li>
+ <li><a href="#semantic">Semantic entity parsers</a></li>
<li><a href="#examples">Examples</a></li>
{% include quick-links.html %}
</ul>