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.git
The following commit(s) were added to refs/heads/master by this push:
new ce4c3ae WIP Javadoc.
ce4c3ae is described below
commit ce4c3aebf00fdcc792578b99b92f88210f6fc2eb
Author: Aaron Radzinski <[email protected]>
AuthorDate: Thu Mar 24 15:21:09 2022 -0700
WIP Javadoc.
---
javadoc/stylesheet.css | 10 ++++--
.../apache/nlpcraft/examples/time/EchoModel.java | 4 +--
.../examples/lightswitch/LightSwitchFrModel.scala | 2 +-
.../examples/lightswitch/LightSwitchRuModel.scala | 2 +-
.../lightswitch/LightSwitchGroovyModel.groovy | 2 +-
.../examples/lightswitch/LightSwitchJavaModel.java | 2 +-
.../examples/lightswitch/LightSwitchKotlinModel.kt | 2 +-
.../lightswitch/LightSwitchScalaModel.scala | 2 +-
.../apache/nlpcraft/examples/time/TimeModel.java | 4 +--
.../main/scala/org/apache/nlpcraft/NCModel.java | 2 +-
.../scala/org/apache/nlpcraft/NCModelAdapter.java | 6 ++--
.../{NCModelPipeline.java => NCPipeline.java} | 2 +-
...PipelineBuilder.java => NCPipelineBuilder.java} | 36 +++++++++++-----------
.../scala/org/apache/nlpcraft/NCPropertyMap.java | 2 ++
.../main/scala/org/apache/nlpcraft/NCToken.java | 20 ++++++++++--
.../scala/org/apache/nlpcraft/NCTokenParser.java | 13 ++++++--
.../internal/impl/NCModelPipelineManager.scala | 2 +-
...nagerSpec.scala => NCPipelineManagerSpec.scala} | 2 +-
.../apache/nlpcraft/nlp/NCEntityEnricherSpec.scala | 8 ++---
.../nlpcraft/nlp/NCEntityValidatorSpec.scala | 6 ++--
.../apache/nlpcraft/nlp/NCTokenEnricherSpec.scala | 8 ++---
.../apache/nlpcraft/nlp/NCTokenValidatorSpec.scala | 6 ++--
.../apache/nlpcraft/nlp/NCVariantFilterSpec.scala | 8 ++---
.../nlp/benchmark/client/NCClientBenchmark.java | 4 +--
.../semantic/NCSemanticEntityParserLemmaSpec.scala | 2 +-
.../nlpcraft/nlp/util/NCTestModelAdapter.scala | 2 +-
.../apache/nlpcraft/nlp/util/NCTestPipeline.scala | 2 +-
27 files changed, 96 insertions(+), 65 deletions(-)
diff --git a/javadoc/stylesheet.css b/javadoc/stylesheet.css
index 526e6bf..3fc68e9 100644
--- a/javadoc/stylesheet.css
+++ b/javadoc/stylesheet.css
@@ -67,8 +67,14 @@ h2 {
font-size:18px;
}
h3 {
- font-size:16px;
- font-style:italic;
+ font-size: 16px;
+}
+span.hdr {
+ font-size: 14px;
+ margin-bottom: 5px;
+ display: block;
+ font-weight: 800;
+ margin-top: 10px;
}
h4 {
font-size:13px;
diff --git
a/nlpcraft-examples/echo/src/main/java/org/apache/nlpcraft/examples/time/EchoModel.java
b/nlpcraft-examples/echo/src/main/java/org/apache/nlpcraft/examples/time/EchoModel.java
index 44d3240..602864f 100644
---
a/nlpcraft-examples/echo/src/main/java/org/apache/nlpcraft/examples/time/EchoModel.java
+++
b/nlpcraft-examples/echo/src/main/java/org/apache/nlpcraft/examples/time/EchoModel.java
@@ -21,7 +21,7 @@ import com.google.gson.GsonBuilder;
import org.apache.nlpcraft.NCContext;
import org.apache.nlpcraft.NCModelAdapter;
import org.apache.nlpcraft.NCModelConfig;
-import org.apache.nlpcraft.NCModelPipelineBuilder;
+import org.apache.nlpcraft.NCPipelineBuilder;
import org.apache.nlpcraft.NCRejection;
import org.apache.nlpcraft.NCRequest;
import org.apache.nlpcraft.NCResult;
@@ -39,7 +39,7 @@ public class EchoModel extends NCModelAdapter {
public EchoModel() {
super(
new NCModelConfig("nlpcraft.echo.ex", "Echo Example Model", "1.0"),
- new NCModelPipelineBuilder().withTokenParser(new
NCOpenNLPTokenParser(NCResourceReader.getPath("opennlp/en-token.bin"))).build()
+ new NCPipelineBuilder().withTokenParser(new
NCOpenNLPTokenParser(NCResourceReader.getPath("opennlp/en-token.bin"))).build()
);
}
diff --git
a/nlpcraft-examples/lightswitch-fr/src/main/java/org/apache/nlpcraft/examples/lightswitch/LightSwitchFrModel.scala
b/nlpcraft-examples/lightswitch-fr/src/main/java/org/apache/nlpcraft/examples/lightswitch/LightSwitchFrModel.scala
index 1f4ff18..7706801 100644
---
a/nlpcraft-examples/lightswitch-fr/src/main/java/org/apache/nlpcraft/examples/lightswitch/LightSwitchFrModel.scala
+++
b/nlpcraft-examples/lightswitch-fr/src/main/java/org/apache/nlpcraft/examples/lightswitch/LightSwitchFrModel.scala
@@ -43,7 +43,7 @@ import scala.jdk.CollectionConverters.*
*/
class LightSwitchFrModel extends NCModelAdapter(
new NCModelConfig("nlpcraft.lightswitch.fr.ex", "LightSwitch Example Model
FR", "1.0"),
- new NCModelPipelineBuilder().
+ new NCPipelineBuilder().
withTokenParser(new NCFrTokenParser()).
withTokenEnricher(new NCFrLemmaPosTokenEnricher()).
withTokenEnricher(new NCFrStopWordsTokenEnricher()).
diff --git
a/nlpcraft-examples/lightswitch-ru/src/main/java/org/apache/nlpcraft/examples/lightswitch/LightSwitchRuModel.scala
b/nlpcraft-examples/lightswitch-ru/src/main/java/org/apache/nlpcraft/examples/lightswitch/LightSwitchRuModel.scala
index d4736c6..821fa49 100644
---
a/nlpcraft-examples/lightswitch-ru/src/main/java/org/apache/nlpcraft/examples/lightswitch/LightSwitchRuModel.scala
+++
b/nlpcraft-examples/lightswitch-ru/src/main/java/org/apache/nlpcraft/examples/lightswitch/LightSwitchRuModel.scala
@@ -36,7 +36,7 @@ import scala.jdk.CollectionConverters.*
*/
class LightSwitchRuModel extends NCModelAdapter(
new NCModelConfig("nlpcraft.lightswitch.ru.ex", "LightSwitch Example Model
RU", "1.0"),
- new NCModelPipelineBuilder().
+ new NCPipelineBuilder().
withTokenParser(new NCRuTokenParser()).
withTokenEnricher(new NCRuLemmaPosTokenEnricher()).
withTokenEnricher(new NCRuStopWordsTokenEnricher()).
diff --git
a/nlpcraft-examples/lightswitch/src/main/java/org/apache/nlpcraft/examples/lightswitch/LightSwitchGroovyModel.groovy
b/nlpcraft-examples/lightswitch/src/main/java/org/apache/nlpcraft/examples/lightswitch/LightSwitchGroovyModel.groovy
index 7beb104..7aaa54e 100644
---
a/nlpcraft-examples/lightswitch/src/main/java/org/apache/nlpcraft/examples/lightswitch/LightSwitchGroovyModel.groovy
+++
b/nlpcraft-examples/lightswitch/src/main/java/org/apache/nlpcraft/examples/lightswitch/LightSwitchGroovyModel.groovy
@@ -35,7 +35,7 @@ class LightSwitchGroovyModel extends NCModelAdapter {
LightSwitchGroovyModel() {
super(
new NCModelConfig("nlpcraft.lightswitch.java.ex", "LightSwitch
Example Model", "1.0"),
- new NCModelPipelineBuilder().withSemantic("en",
"lightswitch_model.yaml").build()
+ new NCPipelineBuilder().withSemantic("en",
"lightswitch_model.yaml").build()
)
}
diff --git
a/nlpcraft-examples/lightswitch/src/main/java/org/apache/nlpcraft/examples/lightswitch/LightSwitchJavaModel.java
b/nlpcraft-examples/lightswitch/src/main/java/org/apache/nlpcraft/examples/lightswitch/LightSwitchJavaModel.java
index d09eb95..b8c4a8f 100644
---
a/nlpcraft-examples/lightswitch/src/main/java/org/apache/nlpcraft/examples/lightswitch/LightSwitchJavaModel.java
+++
b/nlpcraft-examples/lightswitch/src/main/java/org/apache/nlpcraft/examples/lightswitch/LightSwitchJavaModel.java
@@ -38,7 +38,7 @@ public class LightSwitchJavaModel extends NCModelAdapter {
public LightSwitchJavaModel() {
super(
new NCModelConfig("nlpcraft.lightswitch.java.ex", "LightSwitch
Example Model", "1.0"),
- new NCModelPipelineBuilder().withSemantic("en",
"lightswitch_model.yaml").build()
+ new NCPipelineBuilder().withSemantic("en",
"lightswitch_model.yaml").build()
);
}
diff --git
a/nlpcraft-examples/lightswitch/src/main/java/org/apache/nlpcraft/examples/lightswitch/LightSwitchKotlinModel.kt
b/nlpcraft-examples/lightswitch/src/main/java/org/apache/nlpcraft/examples/lightswitch/LightSwitchKotlinModel.kt
index 26a500f..001f6e7 100644
---
a/nlpcraft-examples/lightswitch/src/main/java/org/apache/nlpcraft/examples/lightswitch/LightSwitchKotlinModel.kt
+++
b/nlpcraft-examples/lightswitch/src/main/java/org/apache/nlpcraft/examples/lightswitch/LightSwitchKotlinModel.kt
@@ -37,7 +37,7 @@ import java.util.stream.Collectors
*/
class LightSwitchKotlinModel : NCModelAdapter(
NCModelConfig("nlpcraft.lightswitch.kotlin.ex", "LightSwitch Example
Model", "1.0"),
- NCModelPipelineBuilder().withSemantic("en",
"lightswitch_model.yaml").build()
+ NCPipelineBuilder().withSemantic("en", "lightswitch_model.yaml").build()
) {
/**
* Intent and its on-match callback.
diff --git
a/nlpcraft-examples/lightswitch/src/main/java/org/apache/nlpcraft/examples/lightswitch/LightSwitchScalaModel.scala
b/nlpcraft-examples/lightswitch/src/main/java/org/apache/nlpcraft/examples/lightswitch/LightSwitchScalaModel.scala
index 8f39229..0e15f27 100644
---
a/nlpcraft-examples/lightswitch/src/main/java/org/apache/nlpcraft/examples/lightswitch/LightSwitchScalaModel.scala
+++
b/nlpcraft-examples/lightswitch/src/main/java/org/apache/nlpcraft/examples/lightswitch/LightSwitchScalaModel.scala
@@ -40,7 +40,7 @@ import
org.apache.nlpcraft.nlp.token.parser.NCOpenNLPTokenParser
class LightSwitchScalaModel extends NCModelAdapter(
new NCModelConfig("nlpcraft.lightswitch.java.ex", "LightSwitch Example
Model", "1.0"),
- new NCModelPipelineBuilder().withSemantic("en",
"lightswitch_model.yaml").build()
+ new NCPipelineBuilder().withSemantic("en",
"lightswitch_model.yaml").build()
):
/**
* Intent and its on-match callback.
diff --git
a/nlpcraft-examples/time/src/main/java/org/apache/nlpcraft/examples/time/TimeModel.java
b/nlpcraft-examples/time/src/main/java/org/apache/nlpcraft/examples/time/TimeModel.java
index b03e952..5cbda73 100644
---
a/nlpcraft-examples/time/src/main/java/org/apache/nlpcraft/examples/time/TimeModel.java
+++
b/nlpcraft-examples/time/src/main/java/org/apache/nlpcraft/examples/time/TimeModel.java
@@ -28,7 +28,7 @@ import org.apache.nlpcraft.NCIntentSample;
import org.apache.nlpcraft.NCIntentTerm;
import org.apache.nlpcraft.NCModelAdapter;
import org.apache.nlpcraft.NCModelConfig;
-import org.apache.nlpcraft.NCModelPipelineBuilder;
+import org.apache.nlpcraft.NCPipelineBuilder;
import org.apache.nlpcraft.NCRejection;
import org.apache.nlpcraft.NCResult;
import org.apache.nlpcraft.NCResultType;
@@ -77,7 +77,7 @@ public class TimeModel extends NCModelAdapter {
public TimeModel() {
super(
new NCModelConfig("nlpcraft.time.ex", "Time Example Model", "1.0"),
- new NCModelPipelineBuilder().
+ new NCPipelineBuilder().
withSemantic("en", "time_model.yaml").
withEntityParser(new
NCOpenNLPEntityParser(NCResourceReader.getPath("opennlp/en-ner-location.bin"))).
build()
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModel.java
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModel.java
index 56990e5..43404fc 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModel.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModel.java
@@ -31,7 +31,7 @@ public interface NCModel {
*
* @return
*/
- NCModelPipeline getPipeline();
+ NCPipeline getPipeline();
/**
*
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelAdapter.java
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelAdapter.java
index 45b2e3c..e517ed8 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelAdapter.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelAdapter.java
@@ -24,14 +24,14 @@ import java.util.Objects;
*/
public class NCModelAdapter implements NCModel {
private final NCModelConfig cfg;
- private final NCModelPipeline pipeline;
+ private final NCPipeline pipeline;
/**
*
* @param cfg
* @param pipeline
*/
- public NCModelAdapter(NCModelConfig cfg, NCModelPipeline pipeline) {
+ public NCModelAdapter(NCModelConfig cfg, NCPipeline pipeline) {
Objects.requireNonNull(cfg, "Model config cannot be null.");
Objects.requireNonNull(pipeline, "Model pipeline cannot be null.");
@@ -45,7 +45,7 @@ public class NCModelAdapter implements NCModel {
}
@Override
- public NCModelPipeline getPipeline() {
+ public NCPipeline getPipeline() {
return pipeline;
}
}
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelPipeline.java
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCPipeline.java
similarity index 98%
rename from nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelPipeline.java
rename to nlpcraft/src/main/scala/org/apache/nlpcraft/NCPipeline.java
index cdd0d05..0683aa6 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelPipeline.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCPipeline.java
@@ -24,7 +24,7 @@ import java.util.Optional;
/**
*
*/
-public interface NCModelPipeline {
+public interface NCPipeline {
/**
*
* @return
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelPipelineBuilder.java
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCPipelineBuilder.java
similarity index 86%
rename from
nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelPipelineBuilder.java
rename to nlpcraft/src/main/scala/org/apache/nlpcraft/NCPipelineBuilder.java
index 7c5c0a4..29cc79a 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelPipelineBuilder.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCPipelineBuilder.java
@@ -39,7 +39,7 @@ import java.util.Optional;
/**
*
*/
-public class NCModelPipelineBuilder {
+public class NCPipelineBuilder {
private NCTokenParser tokParser;
private final List<NCTokenEnricher> tokEnrichers = new ArrayList<>();
private final List<NCEntityEnricher> entEnrichers = new ArrayList<>();
@@ -76,7 +76,7 @@ public class NCModelPipelineBuilder {
* @param tokEnrichers
* @return This instance for call chaining.
*/
- public NCModelPipelineBuilder withTokenEnrichers(List<NCTokenEnricher>
tokEnrichers) {
+ public NCPipelineBuilder withTokenEnrichers(List<NCTokenEnricher>
tokEnrichers) {
Objects.requireNonNull(tokEnrichers, "List of token enrichers cannot
be null.");
tokEnrichers.forEach(p -> Objects.requireNonNull(p, "Token enricher
cannot be null."));
@@ -89,7 +89,7 @@ public class NCModelPipelineBuilder {
* @param tokEnricher
* @return This instance for call chaining.
*/
- public NCModelPipelineBuilder withTokenEnricher(NCTokenEnricher
tokEnricher) {
+ public NCPipelineBuilder withTokenEnricher(NCTokenEnricher tokEnricher) {
Objects.requireNonNull(tokEnricher, "Token enricher cannot be null.");
this.tokEnrichers.add(tokEnricher);
@@ -101,7 +101,7 @@ public class NCModelPipelineBuilder {
* @param entEnrichers
* @return This instance for call chaining.
*/
- public NCModelPipelineBuilder withEntityEnrichers(List<NCEntityEnricher>
entEnrichers) {
+ public NCPipelineBuilder withEntityEnrichers(List<NCEntityEnricher>
entEnrichers) {
Objects.requireNonNull(entEnrichers, "List of entity enrichers cannot
be null.");
entEnrichers.forEach(p -> Objects.requireNonNull(p, "Entity enrichers
cannot be null."));
@@ -114,7 +114,7 @@ public class NCModelPipelineBuilder {
* @param entEnricher
* @return This instance for call chaining.
*/
- public NCModelPipelineBuilder withEntityEnricher(NCEntityEnricher
entEnricher) {
+ public NCPipelineBuilder withEntityEnricher(NCEntityEnricher entEnricher) {
Objects.requireNonNull(entEnricher, "Entity enricher cannot be null.");
this.entEnrichers.add(entEnricher);
@@ -126,7 +126,7 @@ public class NCModelPipelineBuilder {
* @param entParsers
* @return This instance for call chaining.
*/
- public NCModelPipelineBuilder withEntityParsers(List<NCEntityParser>
entParsers) {
+ public NCPipelineBuilder withEntityParsers(List<NCEntityParser>
entParsers) {
Objects.requireNonNull(entParsers, "List of entity parsers cannot be
null.");
entParsers.forEach(p -> Objects.requireNonNull(p, "Entity parser
cannot be null."));
@@ -139,7 +139,7 @@ public class NCModelPipelineBuilder {
* @param entParser
* @return This instance for call chaining.
*/
- public NCModelPipelineBuilder withEntityParser(NCEntityParser entParser) {
+ public NCPipelineBuilder withEntityParser(NCEntityParser entParser) {
Objects.requireNonNull(entParser, "Entity parser cannot be null.");
this.entParsers.add(entParser);
@@ -151,7 +151,7 @@ public class NCModelPipelineBuilder {
* @param tokVals
* @return This instance for call chaining.
*/
- public NCModelPipelineBuilder withTokenValidators(List<NCTokenValidator>
tokVals) {
+ public NCPipelineBuilder withTokenValidators(List<NCTokenValidator>
tokVals) {
Objects.requireNonNull(tokVals, "List of token validators cannot be
null.");
tokVals.forEach(p -> Objects.requireNonNull(p, "Token validator cannot
be null."));
@@ -164,7 +164,7 @@ public class NCModelPipelineBuilder {
* @param tokVal
* @return This instance for call chaining.
*/
- public NCModelPipelineBuilder withTokenValidator(NCTokenValidator tokVal) {
+ public NCPipelineBuilder withTokenValidator(NCTokenValidator tokVal) {
Objects.requireNonNull(tokVal, "Token validator cannot be null.");
this.tokVals.add(tokVal);
@@ -176,7 +176,7 @@ public class NCModelPipelineBuilder {
* @param entVals
* @return This instance for call chaining.
*/
- public NCModelPipelineBuilder withEntityValidators(List<NCEntityValidator>
entVals) {
+ public NCPipelineBuilder withEntityValidators(List<NCEntityValidator>
entVals) {
Objects.requireNonNull(entVals, "List of entity validators cannot be
null.");
entVals.forEach(p -> Objects.requireNonNull(p, "Entity validators
cannot be null."));
@@ -189,7 +189,7 @@ public class NCModelPipelineBuilder {
* @param entVal
* @return This instance for call chaining.
*/
- public NCModelPipelineBuilder withEntityValidator(NCEntityValidator
entVal) {
+ public NCPipelineBuilder withEntityValidator(NCEntityValidator entVal) {
Objects.requireNonNull(entVal, "Entity validator cannot be null.");
this.entVals.add(entVal);
@@ -201,7 +201,7 @@ public class NCModelPipelineBuilder {
* @param varFilter
* @return This instance for call chaining.
*/
- public NCModelPipelineBuilder withVariantFilter(NCVariantFilter varFilter)
{
+ public NCPipelineBuilder withVariantFilter(NCVariantFilter varFilter) {
this.varFilter = Optional.of(varFilter);
return this;
@@ -212,7 +212,7 @@ public class NCModelPipelineBuilder {
* @param tokParser
* @return
*/
- public NCModelPipelineBuilder withTokenParser(NCTokenParser tokParser) {
+ public NCPipelineBuilder withTokenParser(NCTokenParser tokParser) {
Objects.requireNonNull(tokParser, "Token parser cannot be null.");
this.tokParser = tokParser;
@@ -245,7 +245,7 @@ public class NCModelPipelineBuilder {
* @param elms
* @return
*/
- public NCModelPipelineBuilder withSemantic(String lang, Map<String,
String> macros, List<NCSemanticElement> elms) {
+ public NCPipelineBuilder withSemantic(String lang, Map<String, String>
macros, List<NCSemanticElement> elms) {
Objects.requireNonNull(lang, "Language cannot be null.");
Objects.requireNonNull(elms, "Model elements cannot be null.");
if (elms.isEmpty()) throw new IllegalArgumentException("Model elements
cannot be empty.");
@@ -271,7 +271,7 @@ public class NCModelPipelineBuilder {
* @param elms
* @return
*/
- public NCModelPipelineBuilder withSemantic(String lang,
List<NCSemanticElement> elms) {
+ public NCPipelineBuilder withSemantic(String lang, List<NCSemanticElement>
elms) {
return withSemantic(lang, null, elms);
}
@@ -281,7 +281,7 @@ public class NCModelPipelineBuilder {
* @param src
* @return
*/
- public NCModelPipelineBuilder withSemantic(String lang, String src) {
+ public NCPipelineBuilder withSemantic(String lang, String src) {
Objects.requireNonNull(lang, "Language cannot be null.");
Objects.requireNonNull(src, "Model source cannot be null.");
@@ -304,10 +304,10 @@ public class NCModelPipelineBuilder {
/**
* @return
*/
- public NCModelPipeline build() {
+ public NCPipeline build() {
Objects.requireNonNull(tokParser, "Token parser cannot be null.");
- return new NCModelPipeline() {
+ return new NCPipeline() {
@Override public NCTokenParser getTokenParser() {
return tokParser;
}
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCPropertyMap.java
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCPropertyMap.java
index 18630d5..f13fa17 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCPropertyMap.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCPropertyMap.java
@@ -24,6 +24,8 @@ import java.util.Set;
* Map-like container that provides support for mutable runtime-only propertes
or metadata.
*
* @see NCPropertyMapAdapter
+ * @see NCToken
+ * @see NCEntity
*/
public interface NCPropertyMap {
/**
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCToken.java
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCToken.java
index e812d93..6ed7398 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCToken.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCToken.java
@@ -18,33 +18,47 @@
package org.apache.nlpcraft;
/**
+ * Represents a contiguous substring of the original input text produced by
{@link NCTokenParser}.
+ *
+ * <span class="hdr">Metadata</span>
+ * Note that both {@link NCToken} and {@link NCEntity} interfaces extend
{@link NCPropertyMap} interface
+ * that allows them to store custom metadata properties. Parser, enrichers and
validators for tokens
+ * and entities use this capability to store and check their properties in
tokens and entities.
*
* @see NCEntity
* @see NCTokenParser
* @see NCTokenEnricher
* @see NCTokenValidator
+ * @see NCPipeline
*/
public interface NCToken extends NCPropertyMap {
/**
+ * Gets the text of this token.
*
- * @return
+ * @return Text of this token.
*/
String getText();
/**
+ * Gets the index of this token in the list returned bu {@link
NCTokenParser#tokenize(String)} method.
*
- * @return
+ * @return Zero-based index of this token in the list returned bu {@link
NCTokenParser#tokenize(String)} method.
*/
int getIndex();
/**
+ * Gets the inclusive start position of this token's text in the original
input text supplied to
+ * {@link NCTokenParser#tokenize(String)} method.
*
- * @return
+ * @return Start position (inlcusive) of this token's text in the original
input text.
*/
int getStartCharIndex();
/**
+ * Gets the inclusive end position of this token's text in the original
input text supplied to
+ * {@link NCTokenParser#tokenize(String)} method.
*
+ * @return End position (invlusvie) of this token's text in the original
input text.
* @return
*/
int getEndCharIndex();
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCTokenParser.java
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCTokenParser.java
index 82c5a6e..5fb158a 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCTokenParser.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCTokenParser.java
@@ -20,13 +20,22 @@ package org.apache.nlpcraft;
import java.util.List;
/**
+ * A tokenizer that splits a text into the list of {@link NCToken tokens}.
*
+ * See {@link NCPipeline} for documentation on the token parser place
+ * in the overall processing pipeline.
+ *
+ * @see NCToken
+ * @see NCTokenEnricher
+ * @see NCTokenValidator
+ * @see NCPipeline
*/
public interface NCTokenParser {
/**
+ * Splits given text into list of tokens. Can return an empty list but
never {@code null}.
*
- * @param text
- * @return
+ * @param text A text to split into tokens. Can be empty but never {@code
null}.
+ * @return List of tokens. Can be empty but never {@code null}.
*/
List<NCToken> tokenize(String text);
}
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/impl/NCModelPipelineManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/impl/NCModelPipelineManager.scala
index 2b0dc51..df3e55d 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/impl/NCModelPipelineManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/impl/NCModelPipelineManager.scala
@@ -49,7 +49,7 @@ case class NCPipelineData(request: NCRequest, variants:
Seq[NCVariant], tokens:
* @param cfg
* @param pipeline
*/
-class NCModelPipelineManager(cfg: NCModelConfig, pipeline: NCModelPipeline)
extends LazyLogging:
+class NCModelPipelineManager(cfg: NCModelConfig, pipeline: NCPipeline) extends
LazyLogging:
private val pool = new java.util.concurrent.ForkJoinPool()
private val tokParser = pipeline.getTokenParser
private val tokEnrichers = nvl(pipeline.getTokenEnrichers)
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/NCModelPipelineManagerSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/NCPipelineManagerSpec.scala
similarity index 98%
rename from
nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/NCModelPipelineManagerSpec.scala
rename to
nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/NCPipelineManagerSpec.scala
index bb78d4d..5c50dd2 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/NCModelPipelineManagerSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/NCPipelineManagerSpec.scala
@@ -34,7 +34,7 @@ import scala.jdk.CollectionConverters.*
/**
*
*/
-class NCModelPipelineManagerSpec:
+class NCPipelineManagerSpec:
/**
*
*/
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/NCEntityEnricherSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/NCEntityEnricherSpec.scala
index 8f05dde..c6f50f7 100644
--- a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/NCEntityEnricherSpec.scala
+++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/NCEntityEnricherSpec.scala
@@ -31,20 +31,20 @@ import scala.util.Using
*
*/
class NCEntityEnricherSpec:
- private def test0(pipeline: NCModelPipeline, ok: Boolean): Unit =
+ private def test0(pipeline: NCPipeline, ok: Boolean): Unit =
val mdl: NCModel = new NCModelAdapter(new NCModelConfig("test.id",
"Test model", "1.0"), pipeline):
@NCIntent("intent=i term(any)={meta_ent('k1') == 'v1'}")
def onMatch(): NCResult = new NCResult("OK",
NCResultType.ASK_RESULT)
NCTestUtils.askSomething(mdl, ok)
- private def mkBuilder(): NCModelPipelineBuilder =
- new NCModelPipelineBuilder().
+ private def mkBuilder(): NCPipelineBuilder =
+ new NCPipelineBuilder().
withTokenParser(new
NCOpenNLPTokenParser(NCResourceReader.getPath("opennlp/en-token.bin"))).
// For intents matching, we have to add at least one entity
parser.
withEntityParser(new NCNLPEntityParser)
- private def mkPipeline(apply: NCModelPipelineBuilder =>
NCModelPipelineBuilder): NCModelPipeline = apply(mkBuilder()).build()
+ private def mkPipeline(apply: NCPipelineBuilder => NCPipelineBuilder):
NCPipeline = apply(mkBuilder()).build()
@Test
def test(): Unit =
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/NCEntityValidatorSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/NCEntityValidatorSpec.scala
index 0b40526..068d2e1 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/NCEntityValidatorSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/NCEntityValidatorSpec.scala
@@ -30,14 +30,14 @@ import scala.util.Using
*
*/
class NCEntityValidatorSpec:
- private def test0(pipeline: NCModelPipeline, ok: Boolean): Unit =
+ private def test0(pipeline: NCPipeline, ok: Boolean): Unit =
val mdl: NCModel = new NCModelAdapter(new NCModelConfig("test.id",
"Test model", "1.0"), pipeline):
override def onContext(ctx: NCContext): NCResult = new
NCResult("OK", NCResultType.ASK_RESULT)
NCTestUtils.askSomething(mdl, ok)
- private def mkBuilder(): NCModelPipelineBuilder = new
NCModelPipelineBuilder().withTokenParser(new
NCOpenNLPTokenParser(NCResourceReader.getPath("opennlp/en-token.bin")))
- private def mkPipeline(apply: NCModelPipelineBuilder =>
NCModelPipelineBuilder): NCModelPipeline = apply(mkBuilder()).build()
+ private def mkBuilder(): NCPipelineBuilder = new
NCPipelineBuilder().withTokenParser(new
NCOpenNLPTokenParser(NCResourceReader.getPath("opennlp/en-token.bin")))
+ private def mkPipeline(apply: NCPipelineBuilder => NCPipelineBuilder):
NCPipeline = apply(mkBuilder()).build()
@Test
def test(): Unit =
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/NCTokenEnricherSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/NCTokenEnricherSpec.scala
index 802742c..a1e4603 100644
--- a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/NCTokenEnricherSpec.scala
+++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/NCTokenEnricherSpec.scala
@@ -31,20 +31,20 @@ import scala.util.Using
*
*/
class NCTokenEnricherSpec:
- private def test0(pipeline: NCModelPipeline, ok: Boolean): Unit =
+ private def test0(pipeline: NCPipeline, ok: Boolean): Unit =
val mdl: NCModel = new NCModelAdapter(new NCModelConfig("test.id",
"Test model", "1.0"), pipeline):
@NCIntent("intent=i term(any)={meta_ent('nlp:token:k1') == 'v1'}")
def onMatch(): NCResult = new NCResult("OK",
NCResultType.ASK_RESULT)
NCTestUtils.askSomething(mdl, ok)
- private def mkBuilder(): NCModelPipelineBuilder =
- new NCModelPipelineBuilder().
+ private def mkBuilder(): NCPipelineBuilder =
+ new NCPipelineBuilder().
withTokenParser(new
NCOpenNLPTokenParser(NCResourceReader.getPath("opennlp/en-token.bin"))).
// For intents matching, we have to add at least one entity
parser.
withEntityParser(new NCNLPEntityParser)
- private def mkPipeline(apply: NCModelPipelineBuilder =>
NCModelPipelineBuilder): NCModelPipeline = apply(mkBuilder()).build()
+ private def mkPipeline(apply: NCPipelineBuilder => NCPipelineBuilder):
NCPipeline = apply(mkBuilder()).build()
@Test
def test(): Unit =
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/NCTokenValidatorSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/NCTokenValidatorSpec.scala
index e9c938c..5483512 100644
--- a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/NCTokenValidatorSpec.scala
+++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/NCTokenValidatorSpec.scala
@@ -30,14 +30,14 @@ import scala.util.Using
*
*/
class NCTokenValidatorSpec:
- private def test0(pipeline: NCModelPipeline, ok: Boolean): Unit =
+ private def test0(pipeline: NCPipeline, ok: Boolean): Unit =
val mdl: NCModel = new NCModelAdapter(new NCModelConfig("test.id",
"Test model", "1.0"), pipeline):
override def onContext(ctx: NCContext): NCResult = new
NCResult("OK", NCResultType.ASK_RESULT)
NCTestUtils.askSomething(mdl, ok)
- private def mkBuilder(): NCModelPipelineBuilder = new
NCModelPipelineBuilder().withTokenParser(new
NCOpenNLPTokenParser(NCResourceReader.getPath("opennlp/en-token.bin")))
- private def mkPipeline(apply: NCModelPipelineBuilder =>
NCModelPipelineBuilder): NCModelPipeline = apply(mkBuilder()).build()
+ private def mkBuilder(): NCPipelineBuilder = new
NCPipelineBuilder().withTokenParser(new
NCOpenNLPTokenParser(NCResourceReader.getPath("opennlp/en-token.bin")))
+ private def mkPipeline(apply: NCPipelineBuilder => NCPipelineBuilder):
NCPipeline = apply(mkBuilder()).build()
@Test
def test(): Unit =
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/NCVariantFilterSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/NCVariantFilterSpec.scala
index d5b7142..9ada5dc 100644
--- a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/NCVariantFilterSpec.scala
+++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/NCVariantFilterSpec.scala
@@ -32,20 +32,20 @@ import scala.util.Using
*
*/
class NCVariantFilterSpec:
- private def test0(pipeline: NCModelPipeline, ok: Boolean): Unit =
+ private def test0(pipeline: NCPipeline, ok: Boolean): Unit =
val mdl: NCModel = new NCModelAdapter(new NCModelConfig("test.id",
"Test model", "1.0"), pipeline):
@NCIntent("intent=i term(any)={true}")
def onMatch(): NCResult = new NCResult("OK",
NCResultType.ASK_RESULT)
NCTestUtils.askSomething(mdl, ok)
- private def mkBuilder(): NCModelPipelineBuilder =
- new NCModelPipelineBuilder().
+ private def mkBuilder(): NCPipelineBuilder =
+ new NCPipelineBuilder().
withTokenParser(new
NCOpenNLPTokenParser(NCResourceReader.getPath("opennlp/en-token.bin"))).
// For intents matching, we have to add at least one entity
parser.
withEntityParser(new NCNLPEntityParser)
- private def mkPipeline(apply: NCModelPipelineBuilder =>
NCModelPipelineBuilder): NCModelPipeline = apply(mkBuilder()).build()
+ private def mkPipeline(apply: NCPipelineBuilder => NCPipelineBuilder):
NCPipeline = apply(mkBuilder()).build()
@Test
def test(): Unit =
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/benchmark/client/NCClientBenchmark.java
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/benchmark/client/NCClientBenchmark.java
index fe6474d..04ab609 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/benchmark/client/NCClientBenchmark.java
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/benchmark/client/NCClientBenchmark.java
@@ -26,7 +26,7 @@ import org.apache.nlpcraft.NCModel;
import org.apache.nlpcraft.NCModelAdapter;
import org.apache.nlpcraft.NCModelClient;
import org.apache.nlpcraft.NCModelConfig;
-import org.apache.nlpcraft.NCModelPipelineBuilder;
+import org.apache.nlpcraft.NCPipelineBuilder;
import org.apache.nlpcraft.NCRequest;
import org.apache.nlpcraft.NCResult;
import org.apache.nlpcraft.NCResultType;
@@ -87,7 +87,7 @@ public class NCClientBenchmark {
NCModel mdl =
new NCModelAdapter(
new NCModelConfig("testId", "test", "1.0", "Test description",
"Test origin"),
- new NCModelPipelineBuilder().withSemantic("en",
"models/lightswitch_model.yaml").build()
+ new NCPipelineBuilder().withSemantic("en",
"models/lightswitch_model.yaml").build()
) {
private final NCResult res = new NCResult("OK",
NCResultType.ASK_RESULT);
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/semantic/NCSemanticEntityParserLemmaSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/semantic/NCSemanticEntityParserLemmaSpec.scala
index 73f0fd8..cd54ddb 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/semantic/NCSemanticEntityParserLemmaSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/semantic/NCSemanticEntityParserLemmaSpec.scala
@@ -57,7 +57,7 @@ class NCSemanticEntityParserLemmaSpec:
private def ask(txt: String, elems: Seq[NCSemanticTestElement], expVrnts:
Seq[Seq[Data]]): Unit =
val mgr = new NCModelPipelineManager(
CFG,
- new NCModelPipelineBuilder().
+ new NCPipelineBuilder().
withTokenParser(EN_TOK_PARSER).
withTokenEnricher(EN_TOK_LEMMA_POS_ENRICHER).
withTokenEnricher(EN_TOK_STOP_ENRICHER).
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestModelAdapter.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestModelAdapter.scala
index 8393aef..a5412b0 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestModelAdapter.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestModelAdapter.scala
@@ -25,4 +25,4 @@ import org.apache.nlpcraft.nlp.util.*
*/
abstract class NCTestModelAdapter extends NCModel:
override val getConfig: NCModelConfig = CFG
- override val getPipeline: NCModelPipeline = mkEnPipeline
\ No newline at end of file
+ override val getPipeline: NCPipeline = mkEnPipeline
\ No newline at end of file
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestPipeline.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestPipeline.scala
index d022757..85dec0d 100644
--- a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestPipeline.scala
+++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestPipeline.scala
@@ -27,7 +27,7 @@ import java.util.{Optional, ArrayList as JList}
*
* @param tokParser
*/
-case class NCTestPipeline(tokParser: NCTokenParser) extends
NCPropertyMapAdapter with NCModelPipeline:
+case class NCTestPipeline(tokParser: NCTokenParser) extends
NCPropertyMapAdapter with NCPipeline:
require(tokParser != null)
var variantFilter: Optional[NCVariantFilter] = Optional.empty()