You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nlpcraft.apache.org by se...@apache.org on 2020/09/18 07:35:21 UTC

[incubator-nlpcraft] branch master updated: Suggestion manager minor fix.

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 db1f7ae  Suggestion manager minor fix.
db1f7ae is described below

commit db1f7ae121d769aa512d78cd6f4c8fc11edc7bf7
Author: Sergey Kamov <se...@apache.org>
AuthorDate: Fri Sep 18 10:35:15 2020 +0300

    Suggestion manager minor fix.
---
 .../server/sugsyn/NCSuggestSynonymManager.scala    | 24 ++++++++++++++--------
 1 file changed, 15 insertions(+), 9 deletions(-)

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 13d6c58..2d29192 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
@@ -408,19 +408,25 @@ object NCSuggestSynonymManager extends NCService {
 
                                 val resJ: util.Map[String, util.List[util.HashMap[String, Any]]] =
                                     res.map { case (id, data) ⇒
-                                        val factors = data.map(_.score)
+                                        val norm =
+                                            if (data.nonEmpty) {
+                                                val factors = data.map(_.score)
 
-                                        val min = factors.min
-                                        val max = factors.max
-                                        var delta = max - min
+                                                val min = factors.min
+                                                val max = factors.max
+                                                var delta = max - min
 
-                                        if (delta == 0)
-                                            delta = max
+                                                if (delta == 0)
+                                                    delta = max
 
-                                        def normalize(v: Double): Double = (v - min) / delta
+                                                def normalize(v: Double): Double = (v - min) / delta
 
-                                        val norm = data.map(s ⇒ SuggestionResult(s.synonym, normalize(s.score))).
-                                            filter(_.score >= minScore)
+                                                data.
+                                                    map(s ⇒ SuggestionResult(s.synonym, normalize(s.score))).
+                                                    filter(_.score >= minScore)
+                                            }
+                                            else
+                                                Seq.empty
 
                                         id → norm.map(d ⇒ {
                                             val m = new util.HashMap[String, Any]()