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 <[email protected]> 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() {
