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() {