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 8a273487ff2fa20eb5a97b7f7fb3d7a6e3930c63 Author: Sergey Kamov <[email protected]> AuthorDate: Fri Apr 9 14:26:15 2021 +0300 WIP. --- .../org/apache/nlpcraft/probe/mgrs/deploy/NCDeployManager.scala | 4 +--- .../apache/nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala | 2 -- .../nlpcraft/probe/mgrs/nlp/enrichers/model/NCModelEnricher.scala | 7 +++---- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/deploy/NCDeployManager.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/deploy/NCDeployManager.scala index 04ed091..32d2dc5 100644 --- a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/deploy/NCDeployManager.scala +++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/deploy/NCDeployManager.scala @@ -195,7 +195,6 @@ object NCDeployManager extends NCService with DecorateAsScala { val syns = mutable.HashSet.empty[SynonymHolder] - // TODO: Sparse for nonDSL def ok(b: Boolean, exp: Boolean): Boolean = if (exp) b else !b def filterDsl(syns: Set[SynonymHolder], dsl: Boolean): Set[SynonymHolder] = syns.filter(s ⇒ ok(s.syn.exists(_.kind == IDL), dsl)) @@ -504,9 +503,8 @@ object NCDeployManager extends NCService with DecorateAsScala { else logger.warn(s"Model has no intent: $mdlId") - // TODO: sort!!! def toMap(set: Set[SynonymHolder]): Map[String, Seq[NCProbeSynonym]] = - set.groupBy(_.elmId).map(p ⇒ p._1 → p._2.map(_.syn).toSeq.sortBy(-_.size)) + set.groupBy(_.elmId).map(p ⇒ p._1 → p._2.map(_.syn).toSeq.sorted.reverse) val notDsl = filterDsl(syns.toSet, dsl = false) diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala index a1dbdac..4a1466e 100644 --- a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala +++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala @@ -486,8 +486,6 @@ object NCProbeEnrichmentManager extends NCService with NCOpenCensusModelStats { // Loop has sense if model is complex (has user defined parsers or IDL based synonyms) continue = NCModelEnricher.isComplex(mdl) && res.exists { case (_, same) ⇒ !same } - nlpSen.firstProbePhase = false - if (DEEP_DEBUG) if (continue) { val changed = res.filter(!_._2).keys.map(_.getClass.getSimpleName).mkString(", ") 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 d668c02..1da1059 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 @@ -26,7 +26,7 @@ import org.apache.nlpcraft.probe.mgrs.NCProbeSynonymChunkKind.{NCSynonymChunkKin import org.apache.nlpcraft.probe.mgrs.nlp.NCProbeEnricher import org.apache.nlpcraft.probe.mgrs.nlp.impl.NCRequestImpl import org.apache.nlpcraft.probe.mgrs.sentence.NCSentenceManager -import org.apache.nlpcraft.probe.mgrs.{NCProbeModel, NCProbeVariants, NCProbeSynonym ⇒Synonym} +import org.apache.nlpcraft.probe.mgrs.{NCProbeModel, NCProbeVariants, NCProbeSynonym ⇒ Synonym} import java.io.Serializable import java.util @@ -93,7 +93,6 @@ object NCModelEnricher extends NCProbeEnricher with DecorateAsScala { else wordIndexes.subsetOf(indexes) - override def equals(obj: Any): Boolean = obj match { case x: Complex ⇒ hash == x.hash && (isToken && x.isToken && token == x.token || isWord && x.isWord && word == x.word) @@ -618,7 +617,7 @@ object NCModelEnricher extends NCProbeEnricher with DecorateAsScala { def tryScan(syns: Seq[Synonym]): Unit = for (s ← syns if !found) if (s.isMatch(toks)) - add("direct simple2", elm, cacheDirect, toks, tokIdxs, s) + add("scan simple", elm, cacheDirect, toks, tokIdxs, s) tryMap( h.txtDirectSynonyms, @@ -650,7 +649,7 @@ object NCModelEnricher extends NCProbeEnricher with DecorateAsScala { for (s ← get(mdl.synonymsDsl, elemId); comb ← dslCombs if !found) s.trySparseMatch(comb.map(_.data), req) match { case Some(res) ⇒ - add("DSL", elm, cacheSparse, toTokens(res, ns), tokIdxs, s, toParts(res, s)) + add("sparse DSL", elm, cacheSparse, toTokens(res, ns), tokIdxs, s, toParts(res, s)) dslCache += comb case None ⇒ // No-op. }
