This is an automated email from the ASF dual-hosted git repository.

sergeykamov pushed a commit to branch NLPCRAFT-70_NEW
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git


The following commit(s) were added to refs/heads/NLPCRAFT-70_NEW by this push:
     new 101a0e0  WIP.
101a0e0 is described below

commit 101a0e0241d9bea0a94f847a988219e8facab2ad
Author: Sergey Kamov <[email protected]>
AuthorDate: Sat Jun 26 11:11:18 2021 +0300

    WIP.
---
 .../nlp/enrichers/ctxword/NCContextWordEnricher.scala     | 15 ++++++++++-----
 .../apache/nlpcraft/model/ctxword/NCContextWordSpec.scala | 14 +++++++-------
 2 files changed, 17 insertions(+), 12 deletions(-)

diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/ctxword/NCContextWordEnricher.scala
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/ctxword/NCContextWordEnricher.scala
index d60d15b..f734afb 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/ctxword/NCContextWordEnricher.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/nlp/enrichers/ctxword/NCContextWordEnricher.scala
@@ -70,12 +70,19 @@ object NCContextWordEnricher extends NCServerEnricher {
 
     /**
       *
+      * @param awaitable
+      * @tparam T
+      * @return
+      */
+    private def syncExec[T](awaitable : scala.concurrent.Awaitable[T]): T = 
Await.result(awaitable, Duration.Inf)
+
+    /**
+      *
       * @param reqs
       * @return
       */
     private def getSentenceData(reqs: Seq[NCSuggestionRequest]): 
Map[NCWordSuggestion, Int] =
-        Await.result(NCSuggestSynonymManager.suggestWords(reqs), Duration.Inf).
-            flatMap { case (req, suggs) => suggs.map(_ -> req.index) }
+        syncExec(NCSuggestSynonymManager.suggestWords(reqs)).flatMap { case 
(req, suggs) => suggs.map(_ -> req.index) }
 
     /**
       *
@@ -154,9 +161,7 @@ object NCContextWordEnricher extends NCServerEnricher {
         val map = recs.flatMap { case (elemId, recs) => recs.map(p => 
p.request -> ElementValue(elemId, p.value)) }
 
         if (recs.nonEmpty)
-            Await.result(
-                
NCSuggestSynonymManager.suggestWords(recs.flatMap(_._2.map(_.request)).toSeq), 
Duration.Inf
-            ).
+            
syncExec(NCSuggestSynonymManager.suggestWords(recs.flatMap(_._2.map(_.request)).toSeq)).
             map { case (req, suggs) =>
                 map(req).elementId -> suggs.groupBy(p => stem(p.word)).map { 
case (stem, suggs) =>
                     stem -> normalizeScore(suggs.map(_.score).max)
diff --git 
a/nlpcraft/src/test/scala/org/apache/nlpcraft/model/ctxword/NCContextWordSpec.scala
 
b/nlpcraft/src/test/scala/org/apache/nlpcraft/model/ctxword/NCContextWordSpec.scala
index 95e5e6d..ce3ec97 100644
--- 
a/nlpcraft/src/test/scala/org/apache/nlpcraft/model/ctxword/NCContextWordSpec.scala
+++ 
b/nlpcraft/src/test/scala/org/apache/nlpcraft/model/ctxword/NCContextWordSpec.scala
@@ -36,15 +36,15 @@ class NCContextWordSpecModel extends NCModel {
         override def getSynonyms: util.List[String] = (Seq(name) ++ 
syns).asJava
     }
 
-    case class Elem(id: String, level: Double, values: NCValue*) extends 
NCElement {
+    case class Element(id: String, level: Double, values: NCValue*) extends 
NCElement {
         override def getId: String = id
         override def getValues: util.List[NCValue] = values.asJava
         override def getContextWordStrictLevel: Optional[lang.Double] = 
Optional.of(level)
         override def getGroups: util.List[String] = 
Collections.singletonList("testGroup")
     }
 
-    object Elem {
-        def apply(id: String, values: NCValue*): Elem = new Elem(id, LEVEL, 
values: _*)
+    object Element {
+        def apply(id: String, values: NCValue*): Element = new Element(id, 
LEVEL, values: _*)
     }
 
     override def getId: String = this.getClass.getSimpleName
@@ -53,9 +53,9 @@ class NCContextWordSpecModel extends NCModel {
 
     override def getElements: util.Set[NCElement] =
         Set(
-            Elem("class:cars", Value("BMW")),
-            Elem("class:animal", Value("fox"), Value("cat", "tomcat")),
-            Elem("class:weather", Value("temperature"), Value("rain"), 
Value("sun"))
+            Element("class:cars", Value("BMW")),
+            Element("class:animal", Value("fox"), Value("cat", "tomcat")),
+            Element("class:weather", Value("temperature"), Value("rain"), 
Value("sun"))
         ).map(p => {
             val e: NCElement = p
 
@@ -73,7 +73,7 @@ class NCContextWordSpecModel extends NCModel {
             "A fox eats hens",
             "The fox was already in your chicken house",
 
-            "What is the local temperature ?",
+            "What is the local temperature?",
             "This is the first day of heavy rain",
             "It is the beautiful day, the sun is shining ",
         )

Reply via email to