This is an automated email from the ASF dual-hosted git repository.
sergeykamov 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 71e7974 Model builder refactoring.
71e7974 is described below
commit 71e79741e380dac2dff7136339905342dfae4a56
Author: Sergey Kamov <[email protected]>
AuthorDate: Wed Mar 16 22:08:09 2022 +0300
Model builder refactoring.
---
.../apache/nlpcraft/examples/time/EchoModel.java | 1 -
.../examples/lightswitch/LightSwitchFrModel.scala | 4 +-
.../entity/parser/NCFrSemanticEntityParser.scala | 1 +
.../lightswitch/LightSwitchGroovyModel.groovy | 2 +-
.../examples/lightswitch/LightSwitchJavaModel.java | 2 +-
.../examples/lightswitch/LightSwitchKotlinModel.kt | 2 +-
.../lightswitch/LightSwitchScalaModel.scala | 4 +-
.../apache/nlpcraft/examples/time/TimeModel.java | 2 +-
.../stanford/NCStanfordNLPEntityParserSpec.scala | 3 +-
.../apache/nlpcraft/NCModelPipelineBuilder.java | 95 +++++++++++++++++++++-
.../nlpcraft/internal/util/NCResourceReader.scala | 4 +-
.../impl/semantic/NCSemanticEntityParserImpl.scala | 2 +-
.../nlp/token/parser/NCENOpenNLPTokenParser.java | 30 -------
.../internal/impl/NCModelCallbacksSpec.scala | 9 +-
.../nlpcraft/internal/impl/NCModelClientSpec.scala | 7 +-
.../internal/impl/NCModelPingPongSpec.scala | 7 +-
.../internal/impl/NCModelPipelineManagerSpec.scala | 5 +-
.../impl/scan/NCModelIntentsInvalidArgsSpec.scala | 1 -
.../scan/NCModelIntentsInvalidIntentsSpec.scala | 1 -
.../impl/scan/NCModelIntentsNestedSpec.scala | 1 -
.../internal/impl/scan/NCTestModelJava.java | 2 +-
.../internal/impl/scan/NCTestModelScala.scala | 2 +-
.../intent/compiler/NCIDLCompilerSpec.scala | 2 +-
.../intent/compiler/functions/NCIDLFunctions.scala | 1 -
.../compiler/functions/NCIDLFunctionsModel.scala | 2 +-
.../entity/parser/nlp/NCNLPEntityParserSpec.scala | 1 -
.../parser/opennlp/NCOpenNLPEntityParserSpec.scala | 1 -
.../semantic/NCSemanticEntityParserJsonSpec.scala | 3 +-
.../semantic/NCSemanticEntityParserLemmaSpec.scala | 17 ++--
.../semantic/NCSemanticEntityParserSpec.scala | 11 +--
.../semantic/NCSemanticEntityParserYamlSpec.scala | 3 +-
.../parser/semantic/NCSemanticTestElement.scala | 2 +-
.../enricher/en/NCBracketsTokenEnricherSpec.scala | 1 -
.../en/NCDictionaryTokenEnricherSpec.scala | 7 +-
.../enricher/en/NCQuotesTokenEnricherSpec.scala | 7 +-
.../enricher/en/NCStopWordsEnricherSpec.scala | 8 +-
.../en/NCSwearWordsTokenEnricherSpec.scala | 1 -
.../enricher/en/impl/NCStopWordsImplSpec.scala | 1 -
.../parser/opennlp/NCOpenNLPTokenParserSpec.scala | 7 +-
.../nlp/util/{opennlp => }/NCTestConfig.scala | 2 +-
.../nlp/util/{opennlp => }/NCTestConfigJava.java | 2 +-
.../nlpcraft/nlp/util/NCTestModelAdapter.scala | 2 +-
.../org/apache/nlpcraft/nlp/util/NCTestUtils.scala | 41 +++++++++-
43 files changed, 200 insertions(+), 109 deletions(-)
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 0563885..a514717 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
@@ -28,7 +28,6 @@ import org.apache.nlpcraft.NCRejection;
import org.apache.nlpcraft.NCRequest;
import org.apache.nlpcraft.NCResult;
import org.apache.nlpcraft.NCResultType;
-import org.apache.nlpcraft.nlp.entity.parser.NCEnSemanticEntityParser;
import java.util.HashMap;
import java.util.Map;
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 fb7734f..92cbb35 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
@@ -22,8 +22,8 @@ import org.apache.nlpcraft.*
import
org.apache.nlpcraft.examples.lightswitch.nlp.entity.parser.NCFrSemanticEntityParser
import
org.apache.nlpcraft.examples.lightswitch.nlp.token.enricher.{NCFrLemmaPosTokenEnricher,
NCFrStopWordsTokenEnricher}
import
org.apache.nlpcraft.examples.lightswitch.nlp.token.parser.NCFrTokenParser
-import org.apache.nlpcraft.nlp.entity.parser.{NCNLPEntityParser,
NCSemanticEntityParser}
-import org.apache.nlpcraft.nlp.token.enricher.NCENStopWordsTokenEnricher
+import org.apache.nlpcraft.nlp.entity.parser.*
+import org.apache.nlpcraft.nlp.token.enricher.*
import org.apache.nlpcraft.nlp.token.parser.NCOpenNLPTokenParser
import java.util
diff --git
a/nlpcraft-examples/lightswitch-fr/src/main/java/org/apache/nlpcraft/examples/lightswitch/nlp/entity/parser/NCFrSemanticEntityParser.scala
b/nlpcraft-examples/lightswitch-fr/src/main/java/org/apache/nlpcraft/examples/lightswitch/nlp/entity/parser/NCFrSemanticEntityParser.scala
index 6a70a75..ceeaf10 100644
---
a/nlpcraft-examples/lightswitch-fr/src/main/java/org/apache/nlpcraft/examples/lightswitch/nlp/entity/parser/NCFrSemanticEntityParser.scala
+++
b/nlpcraft-examples/lightswitch-fr/src/main/java/org/apache/nlpcraft/examples/lightswitch/nlp/entity/parser/NCFrSemanticEntityParser.scala
@@ -20,6 +20,7 @@ package
org.apache.nlpcraft.examples.lightswitch.nlp.entity.parser
import opennlp.tools.stemmer.snowball.SnowballStemmer
import
org.apache.nlpcraft.examples.lightswitch.nlp.token.parser.NCFrTokenParser
import org.apache.nlpcraft.nlp.entity.parser.*
+import org.apache.nlpcraft.nlp.entity.parser.semantic.*
/**
*
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 5336e87..27d3999 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().withLanguage("EN").withEntityParser(new
NCEnSemanticEntityParser("lightswitch_model.yaml")).build()
+ new NCModelPipelineBuilder().withLanguage("EN").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 ea1361a..b3058b8 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().withLanguage("EN").withEntityParser(new
NCEnSemanticEntityParser("lightswitch_model.yaml")).build()
+ new NCModelPipelineBuilder().withLanguage("EN").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 c115306..72a4e58 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().withLanguage("EN").withEntityParser(NCEnSemanticEntityParser("lightswitch_model.yaml")).build()
+ NCModelPipelineBuilder().withLanguage("EN").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 fdbbc0e..451dc4d 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
@@ -21,7 +21,7 @@ import org.apache.nlpcraft.*
import org.apache.nlpcraft.internal.util.NCResourceReader
import org.apache.nlpcraft.nlp.*
import org.apache.nlpcraft.nlp.entity.parser.semantic.NCSemanticEntityParser
-import org.apache.nlpcraft.nlp.entity.parser.{NCEnSemanticEntityParser,
NCNLPEntityParser}
+import org.apache.nlpcraft.nlp.entity.parser.*
import org.apache.nlpcraft.nlp.token.enricher.NCEnStopWordsTokenEnricher
import org.apache.nlpcraft.nlp.token.parser.NCOpenNLPTokenParser
@@ -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().withLanguage("EN").withEntityParser(new
NCEnSemanticEntityParser("lightswitch_model.yaml")).build()
+ new NCModelPipelineBuilder().withLanguage("EN").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 e76e667..365f503 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
@@ -75,7 +75,7 @@ public class TimeModel extends NCModelAdapter {
public TimeModel() {
super(
new NCModelConfig("nlpcraft.time.ex", "Time Example Model", "1.0"),
- new
NCModelPipelineBuilder().withLanguage("EN").withEntityParser(new
NCEnSemanticEntityParser("time_model.yaml")).build()
+ new NCModelPipelineBuilder().withLanguage("EN").withSemantic("EN",
"time_model.yaml").build()
);
}
diff --git
a/nlpcraft-stanford/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/stanford/NCStanfordNLPEntityParserSpec.scala
b/nlpcraft-stanford/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/stanford/NCStanfordNLPEntityParserSpec.scala
index d6102fb..49caefa 100644
---
a/nlpcraft-stanford/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/stanford/NCStanfordNLPEntityParserSpec.scala
+++
b/nlpcraft-stanford/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/stanford/NCStanfordNLPEntityParserSpec.scala
@@ -17,7 +17,8 @@
package org.apache.nlpcraft.nlp.entity.parser.stanford
-import org.apache.nlpcraft.nlp.util.*
+import org.apache.nlpcraft.nlp.util.NCTestUtils
+import org.apache.nlpcraft.nlp.util.NCTestRequest
import org.apache.nlpcraft.nlp.util.stanford.*
import org.junit.jupiter.api.Test
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelPipelineBuilder.java
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelPipelineBuilder.java
index 49af889..b8c08fa 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelPipelineBuilder.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCModelPipelineBuilder.java
@@ -17,16 +17,22 @@
package org.apache.nlpcraft;
+import opennlp.tools.stemmer.PorterStemmer;
import org.apache.nlpcraft.internal.util.NCResourceReader;
+import org.apache.nlpcraft.nlp.entity.parser.semantic.NCSemanticElement;
+import org.apache.nlpcraft.nlp.entity.parser.semantic.NCSemanticEntityParser;
+import org.apache.nlpcraft.nlp.entity.parser.semantic.NCSemanticStemmer;
import org.apache.nlpcraft.nlp.token.enricher.NCEnBracketsTokenEnricher;
import org.apache.nlpcraft.nlp.token.enricher.NCEnDictionaryTokenEnricher;
import org.apache.nlpcraft.nlp.token.enricher.NCEnQuotesTokenEnricher;
import org.apache.nlpcraft.nlp.token.enricher.NCEnStopWordsTokenEnricher;
+import org.apache.nlpcraft.nlp.token.enricher.NCOpenNLPLemmaPosTokenEnricher;
import org.apache.nlpcraft.nlp.token.enricher.NСEnSwearWordsTokenEnricher;
-import org.apache.nlpcraft.nlp.token.parser.NCENOpenNLPTokenParser;
+import org.apache.nlpcraft.nlp.token.parser.NCOpenNLPTokenParser;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
import java.util.Objects;
import java.util.Optional;
@@ -195,10 +201,13 @@ public class NCModelPipelineBuilder {
switch (lang.toUpperCase()) {
case "EN":
- tokParser = new NCENOpenNLPTokenParser();
+ tokParser = new
NCOpenNLPTokenParser(NCResourceReader.getPath("opennlp/en-token.bin"));
- //tokEnrichers.add(new NCEnOpenNLPLemmaPosTokenEnricher());
- //tokEnrichers.add(new NCEnStopWordsTokenEnricher());
+ tokEnrichers.add(new NCOpenNLPLemmaPosTokenEnricher(
+ NCResourceReader.getPath("opennlp/en-pos-maxent.bin"),
+ NCResourceReader.getPath("opennlp/en-lemmatizer.dict")
+ ));
+ tokEnrichers.add(new NCEnStopWordsTokenEnricher());
tokEnrichers.add(new
NСEnSwearWordsTokenEnricher(NCResourceReader.getPath("badfilter/swear_words.txt")));
tokEnrichers.add(new NCEnQuotesTokenEnricher());
tokEnrichers.add(new NCEnDictionaryTokenEnricher());
@@ -215,6 +224,84 @@ public class NCModelPipelineBuilder {
}
/**
+ *
+ * @param lang
+ * @param macros
+ * @param elms
+ * @return
+ */
+ public NCModelPipelineBuilder withSemantic(String lang, Map<String,
String> macros, List<NCSemanticElement> elms) {
+ switch (lang.toUpperCase()) {
+ case "EN":
+ this.entParsers.add(
+ new NCSemanticEntityParser(
+ new NCSemanticStemmer() {
+ private final PorterStemmer ps = new
PorterStemmer();
+
+ @Override
+ public synchronized String stem(String txt) {
+ return ps.stem(txt.toLowerCase()); // TODO:
+ }
+ },
+ new
NCOpenNLPTokenParser(NCResourceReader.getPath("opennlp/en-token.bin")),
+ macros,
+ elms
+ )
+ );
+
+ break;
+
+ default:
+ throw new IllegalArgumentException("Unsupported language: " +
lang);
+ }
+
+ return this;
+ }
+
+ /**
+ *
+ * @param lang
+ * @param elms
+ * @return
+ */
+ public NCModelPipelineBuilder withSemantic(String lang,
List<NCSemanticElement> elms) {
+ return withSemantic(lang, null, elms);
+ }
+
+ /**
+ *
+ * @param lang
+ * @param src
+ * @return
+ */
+ public NCModelPipelineBuilder withSemantic(String lang, String src) {
+ switch (lang.toUpperCase()) {
+ case "EN":
+ this.entParsers.add(
+ new NCSemanticEntityParser(
+ new NCSemanticStemmer() {
+ private final PorterStemmer ps = new
PorterStemmer();
+
+ @Override
+ public synchronized String stem(String txt) {
+ return ps.stem(txt.toLowerCase()); // TODO:
+ }
+ },
+ new
NCOpenNLPTokenParser(NCResourceReader.getPath("opennlp/en-token.bin")),
+ src
+ )
+ );
+
+ break;
+
+ default:
+ throw new IllegalArgumentException("Unsupported language: " +
lang);
+ }
+
+ return this;
+ }
+
+ /**
* @return
*/
public NCModelPipeline build() {
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/util/NCResourceReader.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/util/NCResourceReader.scala
index 2f285f4..e4285f0 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/util/NCResourceReader.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/util/NCResourceReader.scala
@@ -47,8 +47,8 @@ object NCResourceReader extends LazyLogging:
val normDir = if dir != null then dir else DFLT_DIR
val f = new File(normDir)
- if f.exists then if !f.isDirectory then E(s"Invalid folder: $normDir")
- else if !f.mkdirs then E(s"Cannot create folder: $normDir")
+ if f.exists && !f.isDirectory then E(s"Invalid folder: $normDir")
+ if !f.exists && !f.mkdirs then E(s"Cannot create folder: $normDir")
f
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/entity/parser/impl/semantic/NCSemanticEntityParserImpl.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/entity/parser/impl/semantic/NCSemanticEntityParserImpl.scala
index 5b637f0..0f4c08b 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/entity/parser/impl/semantic/NCSemanticEntityParserImpl.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/entity/parser/impl/semantic/NCSemanticEntityParserImpl.scala
@@ -178,7 +178,7 @@ class NCSemanticEntityParserImpl(
scrType: NCSemanticSourceType = null
) extends NCEntityParser with LazyLogging:
require(stemmer != null && parser != null)
- require(macros != null && elements != null || mdlSrc != null && scrType !=
null)
+ require(elements != null || mdlSrc != null && scrType != null)
private var synsHolder: NCSemanticSynonymsHolder = _
private var elemsMap: Map[String, NCSemanticElement] = _
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/token/parser/NCENOpenNLPTokenParser.java
b/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/token/parser/NCENOpenNLPTokenParser.java
deleted file mode 100644
index 832c093..0000000
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/nlp/token/parser/NCENOpenNLPTokenParser.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.nlpcraft.nlp.token.parser;
-
-import org.apache.nlpcraft.internal.util.NCResourceReader;
-import org.apache.nlpcraft.nlp.token.parser.NCOpenNLPTokenParser;
-
-/*
- *
- */
-public class NCENOpenNLPTokenParser extends NCOpenNLPTokenParser {
- public NCENOpenNLPTokenParser() {
- super(NCResourceReader.getPath("opennlp/en-token.bin"));
- }
-}
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/NCModelCallbacksSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/NCModelCallbacksSpec.scala
index b749f4e..6da1b1d 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/NCModelCallbacksSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/NCModelCallbacksSpec.scala
@@ -19,10 +19,9 @@ package org.apache.nlpcraft.internal.impl
import org.apache.nlpcraft.*
import org.apache.nlpcraft.NCResultType.*
-import org.apache.nlpcraft.nlp.entity.parser.NCEnSemanticEntityParser
+import org.apache.nlpcraft.nlp.entity.parser.*
import org.apache.nlpcraft.nlp.entity.parser.semantic.*
-import org.apache.nlpcraft.nlp.util.NCTestModelAdapter
-import org.apache.nlpcraft.nlp.util.opennlp.*
+import org.apache.nlpcraft.nlp.util.*
import org.junit.jupiter.api.*
import scala.jdk.CollectionConverters.*
@@ -63,9 +62,7 @@ class NCModelCallbacksSpec:
override def onRejection(ctx: NCIntentMatch, e: NCRejection):
NCResult = getOrElse(RejectionNotNull, RESULT_REJECTION, null)
override def onError(ctx: NCContext, e: Throwable): NCResult =
getOrElse(ErrorNotNull, RESULT_ERROR, null)
- MDL.getPipeline.getEntityParsers.add(
- new NCEnSemanticEntityParser(Seq(NCSemanticTestElement("x")).asJava)
- )
+
MDL.getPipeline.getEntityParsers.add(NCTestUtils.mkENSemanticParser(Seq(NCSemanticTestElement("x")).asJava))
/**
*
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/NCModelClientSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/NCModelClientSpec.scala
index acc0c8f..eb3df69 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/NCModelClientSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/NCModelClientSpec.scala
@@ -18,10 +18,9 @@
package org.apache.nlpcraft.internal.impl
import org.apache.nlpcraft.*
-import org.apache.nlpcraft.nlp.entity.parser.NCEnSemanticEntityParser
+import org.apache.nlpcraft.nlp.entity.parser.*
import org.apache.nlpcraft.nlp.entity.parser.semantic.NCSemanticEntityParser
-import org.apache.nlpcraft.nlp.util.NCTestModelAdapter
-import org.apache.nlpcraft.nlp.util.opennlp.*
+import org.apache.nlpcraft.nlp.util.*
import org.junit.jupiter.api.Test
import scala.jdk.CollectionConverters.*
@@ -30,7 +29,7 @@ import scala.util.Using
class NCModelClientSpec:
private def test0(mdl: NCTestModelAdapter): Unit =
mdl.getPipeline.getEntityParsers.add(
- new NCEnSemanticEntityParser("models/lightswitch_model.yaml")
+ NCTestUtils.mkENSemanticParser("models/lightswitch_model.yaml")
)
Using.resource(new NCModelClient(mdl)) { client =>
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/NCModelPingPongSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/NCModelPingPongSpec.scala
index 42ffc06..2650993 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/NCModelPingPongSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/NCModelPingPongSpec.scala
@@ -19,10 +19,9 @@ package org.apache.nlpcraft.internal.impl
import org.apache.nlpcraft.*
import org.apache.nlpcraft.NCResultType.*
-import org.apache.nlpcraft.nlp.entity.parser.NCEnSemanticEntityParser
+import org.apache.nlpcraft.nlp.entity.parser.*
import org.apache.nlpcraft.nlp.entity.parser.semantic.{NCSemanticTestElement
as STE, *}
-import org.apache.nlpcraft.nlp.util.NCTestModelAdapter
-import org.apache.nlpcraft.nlp.util.opennlp.*
+import org.apache.nlpcraft.nlp.util.*
import org.junit.jupiter.api.*
import scala.jdk.CollectionConverters.*
@@ -61,7 +60,7 @@ class NCModelPingPongSpec:
R(ASK_RESULT, s"Some request by: ${other.mkText()}")
MDL.getPipeline.getEntityParsers.add(
- new NCEnSemanticEntityParser(Seq(STE("command"), STE("confirm"),
STE("other")).asJava)
+ NCTestUtils.mkENSemanticParser(Seq(STE("command"), STE("confirm"),
STE("other")).asJava)
)
@BeforeEach
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/NCModelPipelineManagerSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/NCModelPipelineManagerSpec.scala
index ef7861c..00e3c07 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/NCModelPipelineManagerSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/NCModelPipelineManagerSpec.scala
@@ -18,11 +18,10 @@
package org.apache.nlpcraft.internal.impl
import org.apache.nlpcraft.*
-import org.apache.nlpcraft.nlp.entity.parser.NCEnSemanticEntityParser
+import org.apache.nlpcraft.nlp.entity.parser.*
import org.apache.nlpcraft.nlp.entity.parser.semantic.*
import org.apache.nlpcraft.nlp.entity.parser.impl.NCNLPEntityParserImpl
import org.apache.nlpcraft.nlp.util.*
-import org.apache.nlpcraft.nlp.util.opennlp.*
import org.junit.jupiter.api.*
import org.junit.jupiter.api.function.Executable
@@ -44,7 +43,7 @@ class NCModelPipelineManagerSpec:
def test(txt: String, variantCnt: Int, elements: NCSemanticElement*):
Unit =
val pipeline = EN_PIPELINE.clone()
- val parser = new NCEnSemanticEntityParser(elements.asJava)
+ val parser = NCTestUtils.mkENSemanticParser(elements.asJava)
pipeline.getEntityParsers.clear()
pipeline.getEntityParsers.add(parser)
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/scan/NCModelIntentsInvalidArgsSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/scan/NCModelIntentsInvalidArgsSpec.scala
index ac5f7e7..a91542d 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/scan/NCModelIntentsInvalidArgsSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/scan/NCModelIntentsInvalidArgsSpec.scala
@@ -20,7 +20,6 @@ package org.apache.nlpcraft.internal.impl.scan
import org.apache.nlpcraft.*
import org.apache.nlpcraft.internal.impl.NCModelScanner
import org.apache.nlpcraft.nlp.util.*
-import org.apache.nlpcraft.nlp.util.opennlp.*
import org.junit.jupiter.api.Test
import java.util
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/scan/NCModelIntentsInvalidIntentsSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/scan/NCModelIntentsInvalidIntentsSpec.scala
index b23dc84..222fd61 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/scan/NCModelIntentsInvalidIntentsSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/scan/NCModelIntentsInvalidIntentsSpec.scala
@@ -20,7 +20,6 @@ package org.apache.nlpcraft.internal.impl.scan
import org.apache.nlpcraft.*
import org.apache.nlpcraft.internal.impl.NCModelScanner
import org.apache.nlpcraft.nlp.util.*
-import org.apache.nlpcraft.nlp.util.opennlp.*
import org.junit.jupiter.api.Test
import java.util
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/scan/NCModelIntentsNestedSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/scan/NCModelIntentsNestedSpec.scala
index 833832b..1ae14b9 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/scan/NCModelIntentsNestedSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/scan/NCModelIntentsNestedSpec.scala
@@ -20,7 +20,6 @@ package org.apache.nlpcraft.internal.impl.scan
import org.apache.nlpcraft.*
import org.apache.nlpcraft.internal.impl.NCModelScanner
import org.apache.nlpcraft.nlp.util.*
-import org.apache.nlpcraft.nlp.util.opennlp.*
import org.junit.jupiter.api.Test
/**
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/scan/NCTestModelJava.java
b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/scan/NCTestModelJava.java
index 1f2763e..11ff772 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/scan/NCTestModelJava.java
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/scan/NCTestModelJava.java
@@ -25,7 +25,7 @@ import org.apache.nlpcraft.NCIntentTerm;
import org.apache.nlpcraft.NCModel;
import org.apache.nlpcraft.NCModelAdapter;
import org.apache.nlpcraft.NCResult;
-import org.apache.nlpcraft.nlp.util.opennlp.NCTestConfigJava;
+import org.apache.nlpcraft.nlp.util.*;
import java.util.List;
import java.util.Optional;
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/scan/NCTestModelScala.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/scan/NCTestModelScala.scala
index 8adaa10..4f4cc51 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/scan/NCTestModelScala.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/impl/scan/NCTestModelScala.scala
@@ -19,7 +19,7 @@ package org.apache.nlpcraft.internal.impl.scan
import org.apache.nlpcraft.*
import org.apache.nlpcraft.nlp.util.NCTestModelAdapter
-import org.apache.nlpcraft.nlp.util.opennlp.*
+import org.apache.nlpcraft.nlp.util.*
/**
*
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/NCIDLCompilerSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/NCIDLCompilerSpec.scala
index 6214697..eb18e55 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/NCIDLCompilerSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/NCIDLCompilerSpec.scala
@@ -18,7 +18,7 @@
package org.apache.nlpcraft.internal.intent.compiler
import org.apache.nlpcraft.*
-import org.apache.nlpcraft.nlp.util.opennlp.*
+import org.apache.nlpcraft.nlp.util.*
import org.junit.jupiter.api.Test
/**
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/functions/NCIDLFunctions.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/functions/NCIDLFunctions.scala
index 4fe4b8c..2705f0a 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/functions/NCIDLFunctions.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/functions/NCIDLFunctions.scala
@@ -22,7 +22,6 @@ import org.apache.nlpcraft.internal.intent.*
import org.apache.nlpcraft.internal.intent.compiler.*
import org.apache.nlpcraft.internal.intent.compiler.functions.*
import org.apache.nlpcraft.nlp.util.*
-import org.apache.nlpcraft.nlp.util.opennlp.*
import org.junit.jupiter.api.BeforeEach
import java.util
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/functions/NCIDLFunctionsModel.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/functions/NCIDLFunctionsModel.scala
index 3f9dd12..fa2f41f 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/functions/NCIDLFunctionsModel.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/internal/intent/compiler/functions/NCIDLFunctionsModel.scala
@@ -18,7 +18,7 @@
package org.apache.nlpcraft.internal.intent.compiler.functions
import org.apache.nlpcraft.internal.intent.compiler.functions.NCIDLFunctions.*
-import org.apache.nlpcraft.nlp.util.opennlp.*
+import org.apache.nlpcraft.nlp.util.*
import org.junit.jupiter.api.Test
import scala.language.implicitConversions
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/nlp/NCNLPEntityParserSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/nlp/NCNLPEntityParserSpec.scala
index ba64e56..e59c34a 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/nlp/NCNLPEntityParserSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/nlp/NCNLPEntityParserSpec.scala
@@ -21,7 +21,6 @@ import org.apache.nlpcraft.*
import org.apache.nlpcraft.internal.util.NCUtils
import org.apache.nlpcraft.nlp.entity.parser.*
import org.apache.nlpcraft.nlp.util.*
-import org.apache.nlpcraft.nlp.util.opennlp.*
import org.junit.jupiter.api.*
import java.util
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/opennlp/NCOpenNLPEntityParserSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/opennlp/NCOpenNLPEntityParserSpec.scala
index 1ee651c..0f34c0b 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/opennlp/NCOpenNLPEntityParserSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/opennlp/NCOpenNLPEntityParserSpec.scala
@@ -21,7 +21,6 @@ import org.apache.nlpcraft.*
import org.apache.nlpcraft.internal.util.*
import org.apache.nlpcraft.nlp.entity.parser.NCOpenNLPEntityParser
import org.apache.nlpcraft.nlp.util.*
-import org.apache.nlpcraft.nlp.util.opennlp.*
import org.junit.jupiter.api.*
import java.util
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/semantic/NCSemanticEntityParserJsonSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/semantic/NCSemanticEntityParserJsonSpec.scala
index 178908f..e588f4a 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/semantic/NCSemanticEntityParserJsonSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/semantic/NCSemanticEntityParserJsonSpec.scala
@@ -22,7 +22,6 @@ import org.apache.nlpcraft.internal.util.NCUtils
import org.apache.nlpcraft.nlp.entity.parser.*
import org.apache.nlpcraft.nlp.token.parser.NCOpenNLPTokenParser
import org.apache.nlpcraft.nlp.util.*
-import org.apache.nlpcraft.nlp.util.opennlp.*
import org.junit.jupiter.api.*
import java.util
@@ -35,7 +34,7 @@ import scala.jdk.OptionConverters.RichOptional
*
*/
class NCSemanticEntityParserJsonSpec:
- private val parser = new
NCEnSemanticEntityParser("models/alarm_model.json")
+ private val parser =
NCTestUtils.mkENSemanticParser("models/alarm_model.json")
/**
*
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 8ca532e..1ad67ef 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
@@ -21,11 +21,9 @@ import org.apache.nlpcraft.*
import org.apache.nlpcraft.internal.impl.*
import org.apache.nlpcraft.internal.util.*
import org.apache.nlpcraft.nlp.entity.parser.*
-import
org.apache.nlpcraft.nlp.token.enricher.{NCENOpenNlpLemmaPosTokenEnricher,
NCENStopWordsTokenEnricher}
-import org.apache.nlpcraft.nlp.token.enricher.en.*
-import org.apache.nlpcraft.nlp.token.parser.NCENOpenNLPTokenParser
-import org.apache.nlpcraft.nlp.util.NCTestUtils
-import org.apache.nlpcraft.nlp.util.opennlp.*
+import org.apache.nlpcraft.nlp.token.enricher.*
+import org.apache.nlpcraft.nlp.token.parser.*
+import org.apache.nlpcraft.nlp.util.*
import org.junit.jupiter.api.*
import java.util
@@ -37,9 +35,12 @@ import scala.jdk.CollectionConverters.*
*
*/
class NCSemanticEntityParserLemmaSpec:
- private val lemmaTokEnricher = new NCENOpenNlpLemmaPosTokenEnricher
- private val swTokEnricher = new NCENStopWordsTokenEnricher
- private val tokParser = new NCENOpenNLPTokenParser
+ private val lemmaTokEnricher = new NCOpenNLPLemmaPosTokenEnricher(
+ NCResourceReader.getPath("opennlp/en-pos-maxent.bin"),
+ NCResourceReader.getPath("opennlp/en-lemmatizer.dict")
+ )
+ private val swTokEnricher = new NCEnStopWordsTokenEnricher
+ private val tokParser = new
NCOpenNLPTokenParser(NCResourceReader.getPath("opennlp/en-token.bin"))
private val lemmaStemmer =
new NCSemanticStemmer():
override def stem(txt: String): String = if wrapped(txt) then
unwrap(txt) else UUID.randomUUID().toString
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/semantic/NCSemanticEntityParserSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/semantic/NCSemanticEntityParserSpec.scala
index 2275cab..e54a38a 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/semantic/NCSemanticEntityParserSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/semantic/NCSemanticEntityParserSpec.scala
@@ -21,9 +21,7 @@ import org.apache.nlpcraft.*
import org.apache.nlpcraft.internal.util.*
import org.apache.nlpcraft.nlp.entity.parser.*
import org.apache.nlpcraft.nlp.token.enricher.*
-import org.apache.nlpcraft.nlp.token.enricher.en.*
import org.apache.nlpcraft.nlp.util.*
-import org.apache.nlpcraft.nlp.util.opennlp.*
import org.junit.jupiter.api.*
import java.util
@@ -39,7 +37,7 @@ class NCSemanticEntityParserSpec:
import NCSemanticTestElement as E
private val parser =
- new NCEnSemanticEntityParser(
+ NCTestUtils.mkENSemanticParser(
Seq(
// Standard.
E("t1", synonyms = Set("t1")),
@@ -58,8 +56,11 @@ class NCSemanticEntityParserSpec:
).asJava
)
- private val stopWordsEnricher = new NCENStopWordsTokenEnricher()
- private val lemmaPosEnricher = new NCENOpenNlpLemmaPosTokenEnricher()
+ private val stopWordsEnricher = new NCEnStopWordsTokenEnricher()
+ private val lemmaPosEnricher = new NCOpenNLPLemmaPosTokenEnricher(
+ NCResourceReader.getPath("opennlp/en-pos-maxent.bin"),
+ NCResourceReader.getPath("opennlp/en-lemmatizer.dict")
+ )
/**
*
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/semantic/NCSemanticEntityParserYamlSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/semantic/NCSemanticEntityParserYamlSpec.scala
index e1022e7..9a1df76 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/semantic/NCSemanticEntityParserYamlSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/semantic/NCSemanticEntityParserYamlSpec.scala
@@ -21,7 +21,6 @@ import org.apache.nlpcraft.*
import org.apache.nlpcraft.internal.util.NCUtils
import org.apache.nlpcraft.nlp.entity.parser.*
import org.apache.nlpcraft.nlp.util.*
-import org.apache.nlpcraft.nlp.util.opennlp.*
import org.junit.jupiter.api.*
import java.util
@@ -33,7 +32,7 @@ import scala.jdk.OptionConverters.RichOptional
*
*/
class NCSemanticEntityParserYamlSpec:
- private val parser = new
NCEnSemanticEntityParser("models/lightswitch_model.yaml")
+ private val parser =
NCTestUtils.mkENSemanticParser("models/lightswitch_model.yaml")
/**
*
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/semantic/NCSemanticTestElement.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/semantic/NCSemanticTestElement.scala
index 76528e3..9b24be3 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/semantic/NCSemanticTestElement.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/entity/parser/semantic/NCSemanticTestElement.scala
@@ -17,7 +17,7 @@
package org.apache.nlpcraft.nlp.entity.parser.semantic
-import org.apache.nlpcraft.nlp.entity.parser.NCSemanticElement
+import org.apache.nlpcraft.nlp.entity.parser.*
import org.apache.nlpcraft.*
import java.util
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/en/NCBracketsTokenEnricherSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/en/NCBracketsTokenEnricherSpec.scala
index 78ae9d4..e7cbc3e 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/en/NCBracketsTokenEnricherSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/en/NCBracketsTokenEnricherSpec.scala
@@ -21,7 +21,6 @@ import org.apache.nlpcraft.*
import org.apache.nlpcraft.nlp.token.enricher.*
import org.apache.nlpcraft.nlp.token.enricher.en.*
import org.apache.nlpcraft.nlp.util.*
-import org.apache.nlpcraft.nlp.util.opennlp.*
import org.junit.jupiter.api.*
import scala.jdk.CollectionConverters.*
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/en/NCDictionaryTokenEnricherSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/en/NCDictionaryTokenEnricherSpec.scala
index 3cc706e..86d1eb3 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/en/NCDictionaryTokenEnricherSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/en/NCDictionaryTokenEnricherSpec.scala
@@ -21,7 +21,6 @@ import org.apache.nlpcraft.internal.util.NCResourceReader
import org.apache.nlpcraft.nlp.token.enricher.en.*
import org.apache.nlpcraft.nlp.token.enricher.*
import org.apache.nlpcraft.nlp.util.*
-import org.apache.nlpcraft.nlp.util.opennlp.*
import org.junit.jupiter.api.*
import scala.jdk.CollectionConverters.*
@@ -32,7 +31,11 @@ import scala.jdk.CollectionConverters.*
class NCDictionaryTokenEnricherSpec:
private val dictEnricher = new NCEnDictionaryTokenEnricher()
- private val lemmaPosEnricher = new NCEnOpenNLPLemmaPosTokenEnricher()
+ private val lemmaPosEnricher =
+ new NCOpenNLPLemmaPosTokenEnricher(
+ NCResourceReader.getPath("opennlp/en-pos-maxent.bin"),
+ NCResourceReader.getPath("opennlp/en-lemmatizer.dict")
+ )
@Test
def test(): Unit =
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/en/NCQuotesTokenEnricherSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/en/NCQuotesTokenEnricherSpec.scala
index 28f7547..1aaa7b7 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/en/NCQuotesTokenEnricherSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/en/NCQuotesTokenEnricherSpec.scala
@@ -22,7 +22,6 @@ import org.apache.nlpcraft.internal.util.NCResourceReader
import org.apache.nlpcraft.nlp.token.enricher.en.*
import org.apache.nlpcraft.nlp.token.enricher.*
import org.apache.nlpcraft.nlp.util.*
-import org.apache.nlpcraft.nlp.util.opennlp.*
import org.junit.jupiter.api.*
import scala.jdk.CollectionConverters.*
@@ -31,7 +30,11 @@ import scala.jdk.CollectionConverters.*
*
*/
class NCQuotesTokenEnricherSpec:
- private val lemmaPosEnricher = new NCEnOpenNLPLemmaPosTokenEnricher
+ private val lemmaPosEnricher =
+ new NCOpenNLPLemmaPosTokenEnricher(
+ NCResourceReader.getPath("opennlp/en-pos-maxent.bin"),
+ NCResourceReader.getPath("opennlp/en-lemmatizer.dict")
+ )
private val quoteEnricher = new NCEnQuotesTokenEnricher
/**
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/en/NCStopWordsEnricherSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/en/NCStopWordsEnricherSpec.scala
index 3b0f4a3..3ca27cb 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/en/NCStopWordsEnricherSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/en/NCStopWordsEnricherSpec.scala
@@ -19,10 +19,9 @@ package org.apache.nlpcraft.nlp.token.enricher.en
import org.apache.nlpcraft.*
import org.apache.nlpcraft.internal.util.NCResourceReader
-import org.apache.nlpcraft.nlp.token.enricher.en.*
import org.apache.nlpcraft.nlp.token.enricher.*
+import org.apache.nlpcraft.nlp.token.enricher.en.*
import org.apache.nlpcraft.nlp.util.*
-import org.apache.nlpcraft.nlp.util.opennlp.*
import org.junit.jupiter.api.*
import java.util
@@ -32,7 +31,10 @@ import scala.jdk.CollectionConverters.*
*
*/
class NCStopWordsEnricherSpec:
- private val lemmaPosEnricher = new NCEnOpenNLPLemmaPosTokenEnricher
+ private val lemmaPosEnricher = new NCOpenNLPLemmaPosTokenEnricher(
+ NCResourceReader.getPath("opennlp/en-pos-maxent.bin"),
+ NCResourceReader.getPath("opennlp/en-lemmatizer.dict")
+ )
/**
*
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/en/NCSwearWordsTokenEnricherSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/en/NCSwearWordsTokenEnricherSpec.scala
index 48fb6e8..2f1b242 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/en/NCSwearWordsTokenEnricherSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/en/NCSwearWordsTokenEnricherSpec.scala
@@ -21,7 +21,6 @@ import org.apache.nlpcraft.internal.util.NCResourceReader
import org.apache.nlpcraft.nlp.token.enricher.NСEnSwearWordsTokenEnricher
import org.apache.nlpcraft.nlp.token.enricher.en.*
import org.apache.nlpcraft.nlp.util.*
-import org.apache.nlpcraft.nlp.util.opennlp.*
import org.junit.jupiter.api.*
import scala.jdk.CollectionConverters.*
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/en/impl/NCStopWordsImplSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/en/impl/NCStopWordsImplSpec.scala
index 3cb8bea..e30a6dc 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/en/impl/NCStopWordsImplSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/enricher/en/impl/NCStopWordsImplSpec.scala
@@ -21,7 +21,6 @@ import org.apache.nlpcraft.*
import
org.apache.nlpcraft.nlp.token.enricher.impl.NCEnStopWordsTokenEnricherImpl
import org.apache.nlpcraft.nlp.token.enricher.en.*
import org.apache.nlpcraft.nlp.util.*
-import org.apache.nlpcraft.nlp.util.opennlp.*
import org.junit.jupiter.api.*
import scala.jdk.CollectionConverters.*
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/parser/opennlp/NCOpenNLPTokenParserSpec.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/parser/opennlp/NCOpenNLPTokenParserSpec.scala
index b606464..d558f54 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/parser/opennlp/NCOpenNLPTokenParserSpec.scala
+++
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/token/parser/opennlp/NCOpenNLPTokenParserSpec.scala
@@ -23,7 +23,6 @@ import org.apache.nlpcraft.internal.util.NCResourceReader
import org.apache.nlpcraft.nlp.token.enricher.en.*
import org.apache.nlpcraft.nlp.token.enricher.*
import org.apache.nlpcraft.nlp.util.*
-import org.apache.nlpcraft.nlp.util.opennlp.*
import org.junit.jupiter.api.*
import java.util
@@ -33,7 +32,11 @@ import scala.jdk.CollectionConverters.*
*
*/
class NCOpenNLPTokenParserSpec:
- private val lemmaPosEnricher = new NCEnOpenNLPLemmaPosTokenEnricher
+ private val lemmaPosEnricher =
+ new NCOpenNLPLemmaPosTokenEnricher(
+ NCResourceReader.getPath("opennlp/en-pos-maxent.bin"),
+ NCResourceReader.getPath("opennlp/en-lemmatizer.dict")
+ )
private val stopEnricher = new NCEnStopWordsTokenEnricher(null, null)
private def isStopWord(t: NCToken): Boolean = t.get[Boolean]("stopword")
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/opennlp/NCTestConfig.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestConfig.scala
similarity index 95%
rename from
nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/opennlp/NCTestConfig.scala
rename to
nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestConfig.scala
index 42b885e..bb0dfdf 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/opennlp/NCTestConfig.scala
+++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestConfig.scala
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.nlpcraft.nlp.util.opennlp
+package org.apache.nlpcraft.nlp.util
import org.apache.nlpcraft.NCModelConfig
import org.apache.nlpcraft.nlp.token.parser.NCOpenNLPTokenParser
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/opennlp/NCTestConfigJava.java
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestConfigJava.java
similarity index 96%
rename from
nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/opennlp/NCTestConfigJava.java
rename to
nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestConfigJava.java
index e11b77b..3ddeed2 100644
---
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/opennlp/NCTestConfigJava.java
+++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestConfigJava.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.nlpcraft.nlp.util.opennlp;
+package org.apache.nlpcraft.nlp.util;
import org.apache.nlpcraft.NCModelConfig;
import org.apache.nlpcraft.internal.util.NCResourceReader;
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 2151173..f088130 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
@@ -18,7 +18,7 @@
package org.apache.nlpcraft.nlp.util
import org.apache.nlpcraft.*
-import org.apache.nlpcraft.nlp.util.opennlp.*
+import org.apache.nlpcraft.nlp.util.*
/**
*
diff --git
a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestUtils.scala
b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestUtils.scala
index 971ad4f..cf5aed4 100644
--- a/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestUtils.scala
+++ b/nlpcraft/src/test/scala/org/apache/nlpcraft/nlp/util/NCTestUtils.scala
@@ -19,9 +19,12 @@ package org.apache.nlpcraft.nlp.util
import org.apache.nlpcraft.*
import org.apache.nlpcraft.internal.ascii.NCAsciiTable
+import org.apache.nlpcraft.internal.util.NCResourceReader
+import org.apache.nlpcraft.nlp.entity.parser.semantic.*
+import org.apache.nlpcraft.nlp.token.parser.NCOpenNLPTokenParser
import java.util
-import java.util.List as JList
+import java.util.{Map, List as JList}
import scala.jdk.CollectionConverters.*
import scala.jdk.OptionConverters.RichOptional
import scala.util.Using
@@ -116,4 +119,38 @@ object NCTestUtils:
ask()
require(false)
catch case e: Exception => println(s"Expected error:
${e.getMessage}")
- }
\ No newline at end of file
+ }
+
+ /**
+ *
+ * @param elms
+ * @param macros
+ * @return
+ */
+ def mkENSemanticParser(elms: util.List[NCSemanticElement], macros:
util.Map[String, String] = null): NCSemanticEntityParser =
+ val s = new opennlp.tools.stemmer.PorterStemmer
+
+ new NCSemanticEntityParser(
+ new NCSemanticStemmer():
+ override def stem(txt: String): String =
s.stem(txt.toLowerCase)
+ ,
+ new
NCOpenNLPTokenParser(NCResourceReader.getPath("opennlp/en-token.bin")),
+ macros,
+ elms
+ )
+
+ /**
+ *
+ * @param src
+ * @return
+ */
+ def mkENSemanticParser(src: String): NCSemanticEntityParser =
+ val s = new opennlp.tools.stemmer.PorterStemmer
+
+ new NCSemanticEntityParser(
+ new NCSemanticStemmer():
+ override def stem(txt: String): String =
s.stem(txt.toLowerCase)
+ ,
+ new
NCOpenNLPTokenParser(NCResourceReader.getPath("opennlp/en-token.bin")),
+ src
+ )