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 2021/04/06 16:20:14 UTC

[incubator-nlpcraft] 05/05: WIP.

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

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

commit 91a5253da0614768648df1c488d3c9f46b298328
Author: Sergey Kamov <sk...@gmail.com>
AuthorDate: Tue Apr 6 19:19:48 2021 +0300

    WIP.
---
 .../main/scala/org/apache/nlpcraft/model/impl/NCTokenLogger.scala | 8 ++++++--
 .../nlpcraft/probe/mgrs/nlp/enrichers/model/NCModelEnricher.scala | 5 +++--
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/impl/NCTokenLogger.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/impl/NCTokenLogger.scala
index 7c13efb..76889ca 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/impl/NCTokenLogger.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/impl/NCTokenLogger.scala
@@ -336,8 +336,12 @@ object NCTokenLogger extends LazyLogging {
     
         val v = if (sorted.lengthCompare(1) > 0) vals2String(sorted) else sorted.map(p ⇒ s"${p._2}").mkString(", ")
     
-        if (note.tokenFrom < note.tokenTo)
-            s"$v ${s"<${note.tokenFrom} to ${note.tokenTo}>"}"
+        if (note.tokenFrom < note.tokenTo) {
+            if (note.tokenIndexes.tail.zipWithIndex.forall { case (v, i) ⇒ v == note.tokenIndexes(i) + 1 })
+                s"$v ${s"<${note.tokenFrom} to ${note.tokenTo}>"}"
+            else
+                s"$v ${s"<${note.tokenIndexes.mkString(",")}>"}"
+        }
         else
             s"${if (v.isEmpty) "<>" else v}"
     }
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/model/NCModelEnricher.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/model/NCModelEnricher.scala
index c766237..604adde 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/model/NCModelEnricher.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/enrichers/model/NCModelEnricher.scala
@@ -349,7 +349,8 @@ object NCModelEnricher extends NCProbeEnricher with DecorateAsScala {
             def addMatch(elm: NCElement, toks: Seq[NlpToken], syn: Synonym, parts: Seq[TokType]): Unit = {
                 val toksSet = toks.toSet
 
-                if (!matches.exists(m ⇒ m.element.getId == elm.getId && toksSet.subsetOf(m.tokensSet)))
+                // TODO:
+                //if (!matches.exists(m ⇒ m.element.getId == elm.getId && toksSet.subsetOf(m.tokensSet)))
                     matches += ElementMatch(elm, toks, syn, parts)
             }
 
@@ -581,7 +582,7 @@ object NCModelEnricher extends NCProbeEnricher with DecorateAsScala {
                         ns.map(to).asJava,
                         ns.flatten.distinct.filter(!_.isNlp).map(n ⇒ {
                             val noteId = n.noteType
-                            val words = ns.filter(t ⇒ t.index >= n.tokenFrom && t.index <= n.tokenTo).map(to).asJava
+                            val words = ns.filter(t ⇒ n.tokenIndexes.contains(t.index)).map(to).asJava
                             val md = n.asMetadata()
 
                             new NCCustomElement() {