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 79ca3c2  NCSuggestSynonymManager fixed (examples usage)
79ca3c2 is described below

commit 79ca3c2091ae2eb55eca4a441621d6525fe7026e
Author: Sergey Kamov <[email protected]>
AuthorDate: Thu Oct 15 07:59:59 2020 +0300

    NCSuggestSynonymManager fixed (examples usage)
---
 nlpcraft/pom.xml                                                  | 8 ++++++++
 .../org/apache/nlpcraft/probe/mgrs/cmd/NCCommandManager.scala     | 2 +-
 .../apache/nlpcraft/server/sugsyn/NCSuggestSynonymManager.scala   | 4 +++-
 .../scala/org/apache/nlpcraft/server/rest/NCRestModelSpec.scala   | 5 +++--
 4 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/nlpcraft/pom.xml b/nlpcraft/pom.xml
index 5608abb..a4b8cda 100644
--- a/nlpcraft/pom.xml
+++ b/nlpcraft/pom.xml
@@ -371,8 +371,16 @@
                                 <include>**/*.*</include>
                             </includes>
                             <excludes>
+                                <!--
+                                    Some tests skipped on maven `verify` phase.
+                                    ===========================================
+                                -->
+                                <!-- Reason: weather service is not stable 
enough and can be used for local tests only. -->
                                 <exclude>**/NCConversationSpec.*</exclude>
+                                <!-- Reason: output is to big. -->
                                 <exclude>**/NCDateGeneratorSpec.*</exclude>
+                                <!-- Reason: 'contextWordServer' should be 
started. -->
+                                <exclude>**/NCRestModelSpec.*</exclude>
                             </excludes>
                         </configuration>
                     </execution>
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/cmd/NCCommandManager.scala
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/cmd/NCCommandManager.scala
index 7742287..eaa2557 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/cmd/NCCommandManager.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/cmd/NCCommandManager.scala
@@ -112,7 +112,7 @@ object NCCommandManager extends NCService {
 
                         val macros = 
mdlData.model.getMacros.asInstanceOf[Serializable]
                         val syns = mdlData.model.getElements.asScala.map(p ⇒ 
p.getId → p.getSynonyms).toMap.asJava.asInstanceOf[Serializable]
-                        val samples = mdlData.samples.map(p ⇒ p._1 → 
p._2.asJava).asJava.asInstanceOf[Serializable]
+                        val samples = mdlData.samples.map(p ⇒ p._1 → 
p._2.map(_.asJava).asJava).asJava.asInstanceOf[Serializable]
 
                         NCConnectionManager.send(
                             NCProbeMessage(
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/sugsyn/NCSuggestSynonymManager.scala
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/sugsyn/NCSuggestSynonymManager.scala
index f17892a..e9c97dc 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/sugsyn/NCSuggestSynonymManager.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/sugsyn/NCSuggestSynonymManager.scala
@@ -186,7 +186,8 @@ object NCSuggestSynonymManager extends NCService {
                         val mdlSyns = m.get("synonyms").
                             asInstanceOf[util.Map[String, 
util.List[String]]].asScala.map(p ⇒ p._1 → p._2.asScala)
                         val mdlExs = m.get("samples").
-                            asInstanceOf[util.Map[String, 
util.List[String]]].asScala.map(p ⇒ p._1 → p._2.asScala)
+                            asInstanceOf[util.Map[String, 
util.List[util.List[String]]]].asScala.
+                            map(p ⇒ p._1 → 
p._2.asScala.flatMap(_.asScala.toSeq).distinct)
 
                         val minScore = minScoreOpt.getOrElse(DFLT_MIN_SCORE)
 
@@ -237,6 +238,7 @@ object NCSuggestSynonymManager extends NCService {
 
                             // Note that we don't use system tokenizer, 
because 'ctxword' module' doesn't have this tokenizer.
                             // We split examples words by spaces. We also 
treat separator as separate words.
+
                             val exs = mdlExs.
                                 flatMap { case (_, samples) ⇒ samples }.
                                 map(ex ⇒ SEPARATORS.foldLeft(ex)((s, ch) ⇒ 
s.replaceAll(s"\\$ch", s" $ch "))).
diff --git 
a/nlpcraft/src/test/scala/org/apache/nlpcraft/server/rest/NCRestModelSpec.scala 
b/nlpcraft/src/test/scala/org/apache/nlpcraft/server/rest/NCRestModelSpec.scala
index e34eb84..5c337ce 100644
--- 
a/nlpcraft/src/test/scala/org/apache/nlpcraft/server/rest/NCRestModelSpec.scala
+++ 
b/nlpcraft/src/test/scala/org/apache/nlpcraft/server/rest/NCRestModelSpec.scala
@@ -24,8 +24,9 @@ import org.junit.jupiter.api.{Disabled, Test}
 
 import scala.collection.JavaConverters._
 
-// Enable it and run if context word server started.
-@Disabled
+/**
+  * Note that context word server should be started.
+  */
 @NCTestEnvironment(model = classOf[AlarmModel], startClient = false)
 class NCRestModelSpec extends NCRestSpec {
     @Test

Reply via email to