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 4db1dde  WIP.
4db1dde is described below

commit 4db1dde650b39548c854f5ee4dabed901b137169
Author: Sergey Kamov <[email protected]>
AuthorDate: Sat Jun 26 09:34:57 2021 +0300

    WIP.
---
 .../nlp/enrichers/ctxword/NCContextWordEnricher.scala | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 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 792dbf5..0ee5932 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
@@ -34,12 +34,13 @@ import scala.concurrent.duration.Duration
   */
 object NCContextWordEnricher extends NCServerEnricher {
     private final val MAX_CTXWORD_SCORE = 2
-    private final val NOT_SCORE = -1.0
+    private final val EXCLUSIVE_MIN_SCORE = -1.0
 
     private case class ModelProbeKey(probeId: String, modelId: String)
     private case class WordIndex(word: String, index: Int)
     private case class ElementValue(elementId: String, value: String)
     private case class ElementScore(elementId: String, score: Double)
+
     private type ElementStemScore = Map[/** Element ID */String, Map[/** Stem 
*/String,/** Score */Double]]
 
     @volatile private var samples: mutable.HashMap[ModelProbeKey, 
ElementStemScore] = _
@@ -123,9 +124,7 @@ object NCContextWordEnricher extends NCServerEnricher {
             case None =>
                 val res = askSamples(cfg)
 
-                samples.synchronized {
-                    samples += key -> res
-                }
+                samples.synchronized { samples += key -> res }
 
                 res
         }
@@ -194,7 +193,7 @@ object NCContextWordEnricher extends NCServerEnricher {
                     for (
                         nounTok <- nounToks;
                         (elemId, suggs) <- mdlSamples;
-                        score = suggs.getOrElse(nounTok.stem, NOT_SCORE)
+                        score = suggs.getOrElse(nounTok.stem, 
EXCLUSIVE_MIN_SCORE)
                         if score >= cfg.levels(elemId)
                     )
                         add(nounTok, elemId, score)
@@ -208,16 +207,16 @@ object NCContextWordEnricher extends NCServerEnricher {
                         // separated by space, and Suggestion Manager uses 
space tokenizer.
                         (sugg, tokIdx) <- getSentenceData(reqs);
                         suggStem = stem(sugg.word);
-                        suggScore = normalizeScore(sugg.score);
+                        senSuggScore = normalizeScore(sugg.score);
                         (elemId, mdlSamplesSuggs) <- mdlSamples
                         if mdlSamplesSuggs.contains(suggStem);
                         elemScore = cfg.levels(elemId);
-                        sampleScore = mdlSamplesSuggs(suggStem);
-                        avg = (sampleScore + suggScore) / 2
-                        if avg >= elemScore
+                        sampleSuggScore = mdlSamplesSuggs(suggStem);
+                        score = (sampleSuggScore + senSuggScore) / 2
+                        if score >= elemScore
                     )
                         //println(s"elemId=$elemId, 
word=${ns.tokens(tokIdx).origText}, sampleScore=$sampleScore, 
suggScore=$suggScore, avg=$avg, suggStem=$suggStem, ")
-                        add(ns.tokens(tokIdx), elemId, avg)
+                        add(ns.tokens(tokIdx), elemId, score)
                 }
             case None => // No-op.
         }

Reply via email to